import numpy as np
import random
def autocorr(x, t=1):
return np.corrcoef(np.array([x[:-t], x[t:]]))[0][1]
SB_numbers = []
for i in range (1, 100000):
r = random.randint(0, 1)
if r == 0:
r = -1
SB_numbers.append(r)
#print(SB_numbers)
SB_time_series = []
price = 0for el in SB_numbers:
price = price + el
SB_time_series.append(price)
#print(SB_time_series)
print('numbers autocorr:',autocorr(SB_numbers, 1))
print('time_series autocorr::',autocorr(SB_time_series, 1))
時間制限を設けると確率が下がります。
はい、でも3~5日以内なら100%の確率で発動するパターンを見つけることができます(確認済み)。
ええ、問題の半分は解決しました。残りの半分は、ストップロスをどこに置くかです。
これはTSではなく、単なるアイデアです
あ、誰か来たようだ)SBのACFの計算方法はもう知っていますよね?スマートラボと違って、ここではこの質問で私を禁止することはできません)
アレクセイさん、こんにちは。聞かずに答えてもいいですか?ただ、どうやって聞くのか、いろいろ読んでいると、解決方法がとてもシンプルに思えてきて、我慢できなくなったんです。
ランダムな値(1または-1)から正規化された数値の系列を作成しました。
そして、そこから、現在のポイントに対して、過去のすべての値を合計することで、古典的な株価チャートを作成します。
そうすると正規化された系列では、自己相関はゼロになる傾向があります。
そして、株価チャートの系列については、自己相関がユニティーになる傾向があります。
しかし、それは十分な長さの系列でなければならず、100,000個の数字からなる系列では次のような結果が得られた。
0.0010599888334729966 (正規化データ)
0.9999708433220806 (non-normalized).
100個の数字の羅列の場合。
0.018773466833541926
0.9367627243658354
10点満点中
-0.49999999999999 (これらの値は新しいシリーズごとにランダムに変更されます)
-0.14285714285714285(これらの 値は新しいシリーズごとにランダムに変更されます)
これらは特殊なケースに過ぎませんが、ご覧のように、小さな系列サイズでは、 非常に広いランダム限界内で自己相関を 示すことがあります。
つまり、この自己相関はデータを生成するプロセス(自己相関がない)の性質ではないので、この場合のプロセスを測定・評価 することは困難である。
以下に私のPythonのコードを添付しておきますので、どなたか突然計算を確認したい方はどうぞ。
アレクセイさん、こんにちは。聞かずに答えてもいいですか?ただ、質問されるままにいろいろ読んでいると、解決策がとてもシンプルに思えてきて、我慢できなくなったんです。
ランダムな値(1または-1)から正規化された数値の系列を作成しました。
そして、そこから、現在のポイントに対して、過去のすべての値を合計することで、古典的な株価チャートを作成します。
そうすると正規化された系列では、自己相関はゼロになる傾向があります。
そして、株価チャートの系列については、自己相関がユニティーになる傾向があります。
しかし、十分な長さの系列でなければ、10万個の系列で以下のような結果が得られました。
0.0010599888334729966 (正規化データ)
0.9999708433220806 (non-normalized).
100個の数字の羅列の場合。
0.018773466833541926
0.9367627243658354
10点満点中
-0.49999999999999 (これらの値は新しいシリーズごとにランダムに変更されます)
-0.14285714285714285(これらの 値は新しいシリーズごとにランダムに変化します)
これらは特殊なケースに過ぎませんが、ご覧のように、小さな系列サイズでは、 非常に広いランダム限界内で自己相関を 示すことがあります。
つまり、この自己相関はデータを生成するプロセス(自己相関がない)の性質ではないので、この場合のプロセスを測定・評価 することは困難である。
いきなり計算を確認したい人がいるかもしれないので、以下に私のPythonのコードを添付しておきます。
サンプルACFを 計算しているのですね。問われているのは、ACF です。少し前にこのスレッドでValeriy Yastremskiyが計量経済学のマニュアルのリンクを貼りましたが、そこには白色雑音と定常AR(1)過程の ACFの公式が載っています。私の記憶違いでなければ、この機能はそこでギリシャ文字のガンマで表されていたはずだ。SBの公式はどうなっているのだろうかと疑問に思う。
サンプルで取引するなら、なぜ計算式が必要なのか?
私たちは価格で取引しています。価格がサンプルであるという前提は、抽象的で理論的なものである。
厳選されたACFを カウントしているのですね。問われているのは、ACF です。少し前にこのスレッドでValeriy Yastremskiyが計量経済学のチュートリアルのリンクを貼りましたが、そこでは白色ノイズと定常AR(1) プロセスのACF公式が与えられていました。私の記憶違いでなければ、この機能はそこでギリシャ文字のガンマで表されていたはずだ。問題は、SBにどのような方式を採用するかである
自己相関の有無を評価する基準となっていると思われるピアソンの相関係数について考えて みる。残念ながら、私はあなたが正確に何を意味するのかよく分からない、あなたは非常に短い用語 "AFC"=自己相関関数を書いている?では、具体的にピアソン係数のどこが不満なのでしょうか?私の考えでは、この試算は正しく行われていると思います。
それは、あなたが手に入れたいものなのでしょうか?
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
トレーディングにおける機械学習:理論、実践、取引など
ひみつ, 2021.12.14 19:26
サンプルで取引するのであれば、なぜ計算式が必要なのでしょうか?自己相関の有無を評価する基準になっていると思われるピアソンの相関係数について考えて みる。残念ながら、私はあなたが正確に何を意味するのかよくわからない、あなたは非常に短い用語 "AFC"=自己相関関数を書いている?では、具体的にピアソン係数のどこが不満なのでしょうか?私の考えでは、この試算は正しく行われていると思います。
それを狙いたいのでしょうか?
ACFをそのサンプル推定値に置き換えようとしているのですね。利用可能な実装(サンプル)からどのように近似するかではなく、ACFを定義することから始めます。
例Xiをホワイトノイズとする。とすると、そのACF = COV(Xj,Xk)/sqrt(COV(Xj,Xj)* COV(Xk,Xk)) となります。- は、2つの添字jとkの関数で、j==kのとき1に等しく、j!=kのとき0になる。私たちは価格で取引しています。価格がサンプルであるという前提は、抽象的で理論的なものである。
ACFをそのサンプル推定値に置き換えようとしているのですね。利用可能な実装(サンプル)から近似する方法ではなく、ACFを定義することから始めます。
もう一度、私の結論を説明しましょう。
ランダムウォーク過程に対するAFCの一般的な推定には、以下のことが必要である。
- 取捨選択する
- 正規化されたデータを使用する
結論:ピアソン係数はゼロ、それ以外は標本から過程を推定する際の誤差である。
つまり、ランダムウォーク過程には自己相関が全くないのです。
0に相当します。(0.0010599888334729966 ) ここで、0は実自己相関、0.00105は誤差 である。
理論武装はフォーミュラ・トレーディング)
掛け算の表も計算式である。したがって、あなたの発言は次のように解釈されるべきです:自分がよく知っている数式で取引するのが実用であり、自分が知らない数式で取引するのが理論化です)。