Data(7/3 : 日経225先物1限月(2009/09)(1分足), .txt→.datファイルへ変換が必要)  (出典:株価データダウンロードサイト)
/* ここでやること。 1。データを読み込む。 2。平均を求める。 3。平均との距離を求める。 4。ヒストグラムを作る。 理論的には、正規分布となる。しかし現実のデータはFat-Tailが出るとされている。 */ #include <stdio.h> #include <stdlib.h> #include <math.h> #define Count 435 main(void) { FILE *fp; double x[Count]; int nx = sizeof(x)/sizeof(x[0]); int ave=0, i=0, cnt=0, wa=0, val=0, histo[Count+1],histo2[Count+1],rank=0,rank2=0; for (cnt=0;cnt<=Count;cnt++){ histo[cnt]=0; x[cnt]=0; } if(( fp= fopen("n225-1-20090703.dat", "r") ) == NULL ) { printf( "ファイルが見つかりません。 --- n225-1-20090703.dat\n"); exit( EXIT_FAILURE); } for(cnt = 0; cnt < Count ; cnt++) { fscanf(fp,"%ld",&val); if(val == 0) { break; } x[cnt]=val; wa+=x[cnt]; /*printf("%d\n", wa);*/ /*OK*/ } ave=wa/Count; /*printf("%f\n", ave);*/ /*OK*/ for (cnt=0;cnt<Count;cnt++){ rank=x[cnt]-ave; if (rank>=0) histo[rank]++; else { rank2=-rank; histo2[rank2]++; } } for(i=0;i<120;i++){ /*printf("%d %d\n", i*10, histo[i]);*/ printf("%d %d\n", -i*10, histo2[i]); } fclose(fp); return 0; }
出力結果
平均からの乖離。
正規分布はもちろんのこと、Fat-Tailも出てこない。
Back to C Language