Для проекта "Абсолютный курс" - http://www.abscur.ru​
​​
​Расчет статистик для рублевых курсов акций (за последний год).​
​​
​Расчитаны средние значения и стандартные отклонения для всех акций. Рассчитана корреляция между курсами акций. Показаны разброс значений акций на логарифмической шкале в осях стандартных отклоений и средних. Дана диаграмма относительных стандартных отклонений (отнесено к среднему). В цвете отображена корреляционная матрица. Приводится график одной из акций за расчетный период.  Расчеты на языке 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,LabelingFunctionCallout[Automatic,Automatic]];​
​Show[gr,AxesLabel{HoldForm[StdDev],HoldForm[Mean]},PlotLabel"Разброс акций по осям
отклоения и среднего (за последний год)"<>per,LabelStyle{GrayLevel[0]}]​
​rubStdProc=rubStd/rubMean;​
​BarChart[ Quantity[rubStdProc*100,"Percent"],ChartLabelsPlaced[(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[]=
MSNG
AVAZ
AVAZP
AFLT
VZRZ
VZRZP
VSMO
DASB
IRKT
LKOH
MGNT
MGTSP
MSRS
OGKB
ROSB
SVAV
TGKA
TGKB
TRNFP
ENRU
0.01
1
100
10
4
StdDev
0.001
1
1000
10
6
Mean
Разброс акций по осям отклоения и среднего (за последний год) с 2016-10-11 по 2017-10-18