Для проекта "Абсолютный курс" - http://www.abscur.ru
Расчет статистик для рублевых курсов акций (за последний год).
Расчитаны средние значения и стандартные отклонения для всех акций. Рассчитана корреляция между курсами акций. Показаны разброс значений акций на логарифмической шкале в осях стандартных отклоений и средних. Дана диаграмма относительных стандартных отклонений (отнесено к среднему). В цвете отображена корреляционная матрица. Приводится график одной из акций за расчетный период. Расчеты на языке WolframLang.
Источник данных по адресу https://docs.google.com/spreadsheets/d/1VBGp8VfbJUb2C-jslQRO83vo-v5GMQ19erPDrN_8MYw/edit#gid=1121754431
Расчет статистик для рублевых курсов акций (за последний год).
Расчитаны средние значения и стандартные отклонения для всех акций. Рассчитана корреляция между курсами акций. Показаны разброс значений акций на логарифмической шкале в осях стандартных отклоений и средних. Дана диаграмма относительных стандартных отклонений (отнесено к среднему). В цвете отображена корреляционная матрица. Приводится график одной из акций за расчетный период. Расчеты на языке WolframLang.
Источник данных по адресу https://docs.google.com/spreadsheets/d/1VBGp8VfbJUb2C-jslQRO83vo-v5GMQ19erPDrN_8MYw/edit#gid=1121754431
In[]:=
(*загрузка данных*)
ClearAll[rubData,rubList,datesList,rubVals];
rubData=Module[{sid,gid,range,url},
sid="1VBGp8VfbJUb2C-jslQRO83vo-v5GMQ19erPDrN_8MYw";
gid="1121754431";
range=URLEncode["A:AY"];
url="https://docs.google.com/spreadsheets/d/"<>sid<>"/export?format=xlsx&gid="<>gid<>"&headers=1&range="<>range;
Import[url,"XLSX"][[1]]
];
rubList=Drop[rubData//First,1];
rubData=Take[rubData,-1*52*5];
datesList=Table[rubData[[i,1]],{i,2,Length[rubData]}];
rubVals=Table[rubData[[i,j]],{i,2,Length[rubData]},{j,2,Length[rubList]+1}];
In[]:=
(*смотрим статистику по всему периоду*)
ClearAll[rubMean,rubStd,gr,per,rubStdProc];
per=" с "<>First[datesList]<>" по "<>Last[datesList];
rubMean=Mean[rubVals];
rubStd=StandardDeviation[rubVals];
gr=ListLogLogPlot[({rubStd,rubMean}//Transpose)rubList,LabelingFunctionCallout[Automatic,Automatic]];
Show[gr,AxesLabel{HoldForm[StdDev],HoldForm[Mean]},PlotLabel"Разброс акций по осям
отклоения и среднего (за последний год)"<>per,LabelStyle{GrayLevel[0]}]
rubStdProc=rubStd/rubMean;
BarChart[ Quantity[rubStdProc*100,"Percent"],ChartLabelsPlaced[(Rotate[#,90Degree]&/@rubList),Top],
PlotLabel"процент среднеквадратичных отклоенний(за последний год)"<>per]
(*расчет корреляции*)
ClearAll[corr,labels];
corr=Correlation[rubVals];
labels=Transpose@{Range@Length[rubList],rubList};
MatrixPlot[corr,FrameTicks{labels,{#[[1]],Rotate[#[[2]],Pi/2]}&/@labels},PlotLabel"Корреляция
рублевых курсов акций (за последний год)"<>per,PlotTheme"Detailed"]
Out[]=