請問一個基本的問題:
我想用標準差的公式,透過迴圈計算標準差(因為最終我想要用量加權的均價去畫布林通道),但是不知道為什麼,用公式算出來的標準差跟內建函數的標準差在每日開盤時會很接近,但隨著時間,差距會擴大,0不知道能否幫我看看我的問題在哪裡?最後附上今日的列印值。感謝!(順便上傳給您看圖上有明顯的差異,綠色是正常布林通道,白色是我用迴圈畫的)
——————————————————————
以下是我寫的程式:
input: a2(20,"週期1"),a3(2,"倍數");
vars:mid(0),Sum(0), sqrDiff(0),std(0), std1(0),i(0),ub1(0),lb1(0),ub2(0),lb2(0);
mid=average(close,a2); //20根k的收盤價均價
Sum=0;
sqrDiff=0;
for i=0 to a2-1
begin
sqrDiff=square(mid[i]-close[i]); //收盤價與20均差的平方
sum=sum+sqrDiff; //收盤價與20均差的平方加總
end;
std=squareroot(sum/a2); //標準差:差的平方加總之20均開平方根
std1=standardDev(close,a2,1); //內建函數的標準差
print(time,"std=",std,"std1=",std1);
——————————————————————
以下為部分列印出來的兩個標準差,前者是我用公式算的,後者是我用內建函數算的:
90000.000000 std= 0.840182 std1= 0.825757 //開盤時很接近
90500.000000 std= 0.867558 std1= 0.864219
91000.000000 std= 0.898697 std1= 0.893029
91500.000000 std= 0.950756 std1= 0.954921
92000.000000 std= 0.968343 std1= 0.978200
92500.000000 std= 1.048526 std1= 1.053565
93000.000000 std= 1.082084 std1= 1.077033
93500.000000 std= 1.089381 std1= 1.085127
94000.000000 std= 1.087672 std1= 1.082532
94500.000000 std= 1.086738 std1= 1.079352
95000.000000 std= 1.091000 std1= 1.066243
95500.000000 std= 1.087773 std1= 1.072381
100000.000000 std= 1.092188 std1= 1.071214
100500.000000 std= 1.091745 std1= 1.047318
101000.000000 std= 1.087083 std1= 0.993730
101500.000000 std= 1.098237 std1= 0.943398
102000.000000 std= 1.103276 std1= 0.864581
102500.000000 std= 1.116580 std1= 0.810478
103000.000000 std= 1.145712 std1= 0.762807
103500.000000 std= 1.192961 std1= 0.724569
104000.000000 std= 1.015689 std1= 0.724569
104500.000000 std= 1.005547 std1= 0.746241
105000.000000 std= 0.981342 std1= 0.739510
105500.000000 std= 0.942487 std1= 0.762807
110000.000000 std= 0.921565 std1= 0.749583
110500.000000 std= 0.845817 std1= 0.766485
111000.000000 std= 0.844060 std1= 0.810478
111500.000000 std= 0.831922 std1= 0.788591
112000.000000 std= 0.839699 std1= 0.732718
112500.000000 std= 0.844763 std1= 0.657172
113000.000000 std= 0.837033 std1= 0.609816
113500.000000 std= 0.832241 std1= 0.556776
114000.000000 std= 0.827666 std1= 0.486698
114500.000000 std= 0.835183 std1= 0.414578
115000.000000 std= 0.827364 std1= 0.384057
115500.000000 std= 0.819489 std1= 0.432290
120000.000000 std= 0.797163 std1= 0.426468
120500.000000 std= 0.798475 std1= 0.450000
121000.000000 std= 0.806109 std1= 0.535607
121500.000000 std= 0.825719 std1= 0.659545
122000.000000 std= 0.769476 std1= 0.675925
122500.000000 std= 0.754217 std1= 0.686932
123000.000000 std= 0.759564 std1= 0.668954
123500.000000 std= 0.745256 std1= 0.670820
124000.000000 std= 0.748770 std1= 0.637868
124500.000000 std= 0.754093 std1= 0.653835
125000.000000 std= 0.729126 std1= 0.678233
125500.000000 std= 0.730325 std1= 0.621993
130000.000000 std= 0.735336 std1= 0.614410
130500.000000 std= 0.740418 std1= 0.597390
131000.000000 std= 0.747475 std1= 0.511737
131500.000000 std= 0.749812 std1= 0.463681
132000.000000 std= 0.769212 std1= 0.430116
132500.000000 std= 0.772435 std1= 0.430116
2 評論