📄 uifun.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 + -