⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uifun.m

📁 Simple VaR Calculator provides: - Evaluation of return distribution of single asset or portfolio
💻 M
字号:
function uifun(action)

WIDTH=590;
HEIGHT=340;

if nargin < 1,
	action='initialize';
end;

if strcmp(action, 'initialize'),

	MYFIG = figure( ...
		'NumberTitle','off', ...
		'Color',[.11,.22,.33], ...
		'Resize','off', ...
		'Name','Simple VaR Calculator',...
		'Visible','off');	

	defPos=get(MYFIG,'Position');
	defPos(3:4)=[WIDTH HEIGHT];
	set(MYFIG,'Position',defPos);
	set(MYFIG,'Visible','on');

	set(gca,'position',[0 0 1 1]);

	axis off;
	axHndl1=gca;
	axHndl2=axes( ...
    	'Units','pixels', ...
		'TickDir', 'in', ...
    	'Position',[0 0 WIDTH HEIGHT], ...
		'XGrid', 'on', ...
		'YGrid', 'on', ...
		'XLim', [0 WIDTH], ...
		'YLim', [0 HEIGHT], ...
		'YDir','reverse', ...
    	'Visible','on');
	
	set(gca,'GridLineStyle','-');
	set(gca,'XTick',20:20:WIDTH-20);
	set(gca,'YTick',20:20:HEIGHT-20);
	set(gca,'XColor',[.05,.05,.11]); 
	set(gca,'YColor',[.05,.05,.11]); 

	%Create controls
		
    pxBtnHt = 30;
    pxBtnWid = 190;
	pxGap = 10;
	xRef  = WIDTH-pxBtnWid-20;
	yRef  = HEIGHT;
	
	% Run buttons
	pbLoad = uicontrol(gcf,...
		'Style','push',...
		'Position',[xRef yRef-pxBtnHt-pxGap pxBtnWid pxBtnHt],...
		'String','Load stock/portfolio data',...
		'CallBack','uifun(''load'')');

	pbStat = uicontrol(gcf,...
		'Style','push',...
		'Position',[xRef yRef-2*(pxBtnHt+pxGap) pxBtnWid pxBtnHt],...
		'String','Return statistics',...
		'CallBack','uifun(''stats'')');


	pbVol = uicontrol(gcf,...
		'Style','push',...
		'Position',[xRef yRef-3*(pxBtnHt+pxGap) pxBtnWid pxBtnHt],...
		'String','Volatility forecasts',...
		'CallBack','uifun(''vol'')');

	pbVaR = uicontrol(gcf,...
		'Style','push',...
		'Position',[xRef yRef-4*(pxBtnHt+pxGap) pxBtnWid pxBtnHt],...
		'String','Value at Risk',...
		'CallBack','uifun(''varisk'')');
		
	pbLog = uicontrol(gcf,...
		'Style','push',...
		'Position',[xRef yRef-5*(pxBtnHt+pxGap) pxBtnWid pxBtnHt],...
		'String','Save in loglile',...
		'CallBack','uifun(''logfile'')');
		

	% Quit button
	pbhelp = uicontrol(gcf,...
		'Style','push',...
		'Position',[xRef yRef-6.5*(pxBtnHt+pxGap) pxBtnWid pxBtnHt],...
		'String','Help',...
		'CallBack','uifun(''help'')');		

	% Help button
	pbquit = uicontrol(gcf,...
		'Style','push',...
		'Position',[xRef yRef-7.5*(pxBtnHt+pxGap) pxBtnWid pxBtnHt],...
		'String','Quit',...
		'CallBack','close all');		

				
	frame = uicontrol(gcf,'Style','frame','Position',[10 10 340 HEIGHT-20]);

	yRef = HEIGHT-20;
	xRef = 30;
	pxEdHt = 20;
	pxGap = 25;
		
	uicontrol(gcf,'Style','text', ...
	'Position',[xRef-15 yRef-(pxEdHt+pxGap) 80 pxEdHt], ...
	'String','Data file:');

	edfname = uicontrol(gcf,'Style','text', ...
	'Position',[xRef+60 yRef-(pxEdHt+pxGap) 100 20]);
 	set(edfname,'ForegroundColor','blue');
		 		
	edfrom = editbox(gcf,xRef,yRef-2*(pxEdHt+pxGap),35,pxEdHt,...
		'', 'From:  ');
		
	edto = editbox(gcf,xRef+90,yRef-2*(pxEdHt+pxGap),35,pxEdHt,...
		'', 'to:');
										
	edwin = editbox(gcf,xRef+190,yRef-2*(pxEdHt+pxGap),35,pxEdHt,...
		'20', 'MA window    ');
     
    set(edwin,'ForegroundColor','red');

    txtlabel = uicontrol(gcf,'Style','text', ...
	'Position',[xRef yRef-3.5*(pxEdHt+pxGap) 300 pxEdHt],'Horiz','left', ...
	'String','VaR Calculation:');
	set(txtlabel,'ForegroundColor','black');



    edHolding = editbox(gcf,xRef,yRef-4.15*(pxEdHt+pxGap),40,pxEdHt,...
		'1',   '    Horizon (days):       ');			
     
    edCI = editbox(gcf,xRef,yRef-5*(pxEdHt+pxGap),40,pxEdHt,...
		'0.95','    Confidence Interval:  ');

	
	set(gcf,'UserData',[edfname edfrom edto edwin edHolding edCI]);		



% Callbacks
elseif strcmp(action, 'load'),
	loadData;

elseif strcmp(action, 'stats'),
	Retstats;

elseif strcmp(action, 'vol'),
	VolForec;

elseif strcmp(action, 'varisk'),	
	Runrisk;

elseif strcmp(action, 'logfile'),
	savelog;

elseif strcmp(action, 'help'),
    ttlStr='About Simple VaR Calculator...';
    hlpStr= ...                                              
        ['                                   '  
         ' (c) A. Ivanov                     '  
         '   e-mail: <iae@orgland.ru>        '];
    helpfun(ttlStr,hlpStr);                                  


end		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -