使用MATLAB

%清除工作空間已有變量
clear;
%從“IGE.xis”讀入數據
[num,txt]=xlsread('IGE');
%第一列(從第二行開始)是交易日,格式爲mm/dd/yyyy.
tday=txt(2:end,1);
%將時間格式轉化爲yyyymmdd.
tday=datestr(datenum(tday,'mm/dd/yyyy'),Iyyyymmdd');
%將數據字符串轉化爲單元型數組,再轉化爲數值型變量
tday=str2double(cellstr(tday));
%最後一列是調整後的收盤價
cls=num(:,end);
%將tday按時間升序排列
cls=num(:,end);
%將tday按時間升序排列
[tday sortIndex]=sort( tday, 'ascend');
%將cls按時間升序排列
cls=cls(sortlndex);
%計算日收益率
dailyret= (cls(2:end)-cls(1:end-1))./cls(1:end-1);
%假設無風險利率爲4%/年,每年252個交易日,計算超額收益率;
excessRet=dailyret-0.04/252;
%輸出結果應該是0.7893
sharpeRatio=sqrt(252 )*mean(excess Ret)/std(excessRet)
MATLAB代碼可以從我的個人網站上下載epchan.com/book/example3 4. m。