-1

価格 (たとえば日足) と単純な移動平均を使用して、単純な移動平均戦略をバックテストしています。株式 X の過去のデータで、価格が移動平均線を超えた、または下回った頻度を調べたいと考えています。つまり、交差の総数を調べたいと考えています。

また、各クロスオーバー間の最大/最小ポイントを見つけたいと考えています。価格は移動平均線の周りを移動するため、平均を上回ることもあれば、下回ることもあります。これらの変化を測定したい。これは、クロスオーバー A をベースラインとして使用した、クロスオーバー A とクロスオーバー B の間のティックまたはパーセントでの最大距離を意味します。

私が言いたいことを明確にするために、この写真を見てください:

ここに画像の説明を入力

これをPythonでコーディングする方法について正しい方向に向けてくれる助けがあれば幸いです:-)

4

1 に答える 1

0

最初のステップとして、クロスの数とクロスが発生したタイミングを計算するには、次のようにします。アイデアを得るために疑似コードとして扱ってください..

# MA: list containing the values of the moving average for each time period
# High: list containing the highs of each bar 
# Low: list containing the lows of each bar
MA = [...]
High = [...]
Low = [...]
count = 0  # the number of crosses
index_cross = []  # the indices where crosses occur
for i in range(len(MA)):
    if Low[i] < MA[i] and High[i] > MA[i]:
        index_cross.append(i)
        count += 1 

これで、クロスの数とそれらがいつ発生したかがわかります。これは、バーが MA を横切ることを前提としています。(つまり、前のバーの安値が MA を上回り、現在のバーの高値が MA を下回っているギャップはありません)。次に、index_cross インデックスを使用して、クロスが発生した場所からの価格の最大偏差を見つけることができます。終値を使用するか、上昇トレンドの高値と下降トレンドの安値を使用するかを検討する必要があります。

補足として、関心のあるポイントでグラフに注釈を付けるには、pandas (データ分析用のライブラリ) を調べることができます。また、市場が変動している場合、そのような注釈は非常に乱雑になる傾向があります。これが何らかの方向性を与えることを願っています..

于 2018-11-09T13:09:09.247 に答える