トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 1138 1...113111321133113411351136113711381139114011411142114311441145...3399 新しいコメント pantural 2018.10.28 13:10 #11371 コンスタンチン・ニキーチン私の観察では、1以上のシャープニングはまだうまくいきませんでした。はい、他の方のアカウント/チャートは、大きなインデックスは見ていません。私の勘違いかもしれませんが。アレクセイ・ヴャジミキン計算式の説明では確認方法がよくわからないのですが、例えば「ポジションを保有している時間の算術平均利益」はどのように算出するのでしょうか?もしかしたら、数学的な小さな期待値の問題なのでしょうか?とにかく、このインデックスが高ければ高いほど良いということに気がつきましたし、これは少なからず、メインのレポートは、私が理解しているこれらのインデックスを持つファイルに書き込まれます。さて、尊敬する諸君に何と言えばいいのか...。 これらは、ブラックボックスや他人のライブラリなどを使用することによる副作用です。 私はあなたの研究のCSVで株式を公開することを提供することができ、私はあなたのモデルの正しいシャープ比が何であるかを教えてくれます、あなたは添付のコード(python)を自分で計算することができます。 import randomimport csvimport matplotlibimport matplotlib.pyplot as pltdef rndWalk(length, start, var): rndwalk = [] curent = start for _ in range(length): curent*= 1 + random.gauss(0,3) * var rndwalk.append(curent) return rndwalkdef ParseCsv(path, columnName): tab = csv.DictReader(open(path)) price = [] for row in tab: price.append(float(row[columnName])) return pricedef diff(ts): return [ts[n] - ts[n - 1] for n in range(1, len(ts))]def SharpRatio(PnL): ret = sum(PnL) / len(PnL) var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))) ** 0.5 return len(PnL) ** 0.5 * ret / varrw = rndWalk(10000,100,0.001)sr = SharpRatio(diff(rw))print(sr)plt.plot(rw)plt.show() SharpRatioのコード自体は、わずか3行です。 def SharpRatio(PnL):ret = sum(PnL) / len(PnL)var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))** 0.5戻り値 len(PnL) ** 0.5 * ret / var PnLが「アンロード」、つまり取引と取引の間にギャップがある状態(もちろんこれは正しくありません)で使用され、そのためにスケーリングが行われていると推測できます。 私はこれが問題だと100ドルを賭けるつもりです。 Machine learning in trading: Python in algorithmic trading Quantitative trading Aleksey Vyazmikin 2018.10.28 13:15 #11372 pantural。皆さん、何と申し上げたらよいのでしょう...。 これらは、ブラックボックスやエイリアンライブラリなどを使用した場合の副作用です。 私はあなたの研究のCSVで株式を公開し、私はあなたのモデルの正しいシャープ比が何であるかを教えてくれます、あなたは添付のコード(python)を自分で計算することができますだけ提供できます。シャープの比率を、時間単位、分単位であげるには? pantural 2018.10.28 13:15 #11373 アレクセイ・ヴャジミキン時間単位、分単位で、どのようにエクイティを与えるのですか?どっちでもいい、どっちでもいい ちなみに、シャープの計算が誤っている兆候として、異なるスケールの株式が、通常は非常に近いはずのシャープ比の数値を著しく異ならせている場合があります。 Aleksey Vyazmikin 2018.10.28 17:00 #11374 pantural。気にしないで、両方やってみよう。 ちなみに、シャッフル計算が誤っている兆候として、異なるスケールでのエクイティで、通常は非常に近いはずのシャッフル比の数値が大きく異なる場合があります。でも、もう少し後にしましょう。今、すべての機械がストーリーフィットに喘いでいますよ。) Aleksey Vyazmikin 2018.10.31 06:40 #11375 pantural: 気にしないで、両方やってみよう。 ところで、シャープの推定が誤っている兆候として、異なるスケールの株式が、通常は非常に近いはずのシャープ比の数値を本質的に異なるものとして出していることがある。分刻みでお伝えしていますし、テスターの 取引報告 書も添付しています。確かにインジケータを少し改良したのは事実です。 シャープレシオは0.29となりました。 ファイル: KS.zip 102 kb pantural 2018.10.31 13:23 #11376 Aleksey Vyazmikin: 分単位のバリアントを出して、テスターの取引報告書を同封しています。でも、指標は少し改善しました。シャープレシオは0.29となりました。 実質シャープ比=〜3.79 この数字を計算しようとした人の間違いは明らかで、帰国子女と変動の比率を系列の長さの平方根で 表すことを忘れてしまっただけです。 def SharpRatio(PnL):PnL = [x for x in PnL if abs(x) > 0] とする。ret = sum(PnL) / len(PnL)var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))** 0.5戻り値 len(PnL) ** 0.5 * ret / var 追記:SR=3.79は非常に楽観的です。もちろん、スウェットショップでなく、正しくテストされた場合です。 Aleksey Vyazmikin 2018.10.31 21:57 #11377 pantural。 実質シャープ比=〜3.79 この数字を計算するアルゴリズムを作った人たちの間違いは明らかです。 彼らは愚かにも、帰国子女と変動の比率をシリーズ長の平方根でスケーリングすることを忘れてしまったのです。 def SharpRatio(PnL):PnL = [x for x in PnL if abs(x) > 0] とする。ret = sum(PnL) / len(PnL)var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))** 0.5戻り値 len(PnL) ** 0.5 * ret / var 追記:SR=3.79は非常に楽観的、もちろん(ある程度)汗をかかず、正しくテストすればの話ですが再計算してくれてありがとうございます 本当にエラーなら、端末のグローバルエラーなので、専用スレッドで 報告した方がいいのかも? フィッティングに関しては、私なりのアプローチがあります。木の葉を集めて、訓練したサンプルと未知のサンプルで履歴のパフォーマンスを調べ、両方のサンプルにプラスの効果があった場合は、次のグループへ移動して詳細な選択と分析を行います。これは一部あてはまりますが、このような「葉っぱ」が以前も今も機能していること、そして次に何が起こるか--誰にもわからないということを調整した上で、「葉っぱ」を使っています。 pantural 2018.11.01 14:09 #11378 アレクセイ・ヴャジミキン再計算してくれてありがとうございます 本当にエラーなら、端末のグローバルエラーなので、専用スレッドで 報告した方がいいのでは?はい、間違いなくエラーです、報告されるべきです。 アレクセイ・ヴャジミキンフィッティングに関しては、私なりのアプローチがあります。木の葉を集めて、訓練したサンプルと未知のサンプルで履歴のパフォーマンスを調べ、両方のサンプルにプラスの効果があった場合は、次のグループへ移動して詳細な選択と分析を行います。これはこれでアリなのだが、このような「シート」は以前も今も通用し、次に何が起こるかは誰にもわからないという調整も入っている。 調整はどう考えてもどこにでもあることで、問題はそれをいかに許容できるレベルまで減らすかです。 Yuriy Asaulenko 2018.11.01 14:24 #11379 pantural。フィットはどう考えてもどこにでもあるもので、問題はそれをいかに許容範囲内に抑えるかということです。無理でしょう。どんな最適化も、どんなチューニングも、どんなトレーニングも、フィットするものです。それを必然として受け入れて、仕事をしていくしかないのです。 ここでは、質問の仕方を変えなければならない。残念ながら一般的なレシピはないでしょうし、配合自体もシステムによって異なる可能性があります。 Renat Akhtyamov 2018.11.01 14:31 #11380 ユーリイ・アサウレンコ無理でしょう。最適化、チューニング、トレーニングは、すべてフィッティングです。 ここで、質問の仕方を変えなければならない。残念ながら一般的なレシピ はないでしょうし、配合自体もシステムによって異なる可能性があります。参照 調整が必要な数値は使用しない 1...113111321133113411351136113711381139114011411142114311441145...3399 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私の観察では、1以上のシャープニングはまだうまくいきませんでした。はい、他の方のアカウント/チャートは、大きなインデックスは見ていません。私の勘違いかもしれませんが。
計算式の説明では確認方法がよくわからないのですが、例えば「ポジションを保有している時間の算術平均利益」はどのように算出するのでしょうか?
もしかしたら、数学的な小さな期待値の問題なのでしょうか?
とにかく、このインデックスが高ければ高いほど良いということに気がつきましたし、これは少なからず、メインのレポートは、私が理解しているこれらのインデックスを持つファイルに書き込まれます。
さて、尊敬する諸君に何と言えばいいのか...。
これらは、ブラックボックスや他人のライブラリなどを使用することによる副作用です。
私はあなたの研究のCSVで株式を公開することを提供することができ、私はあなたのモデルの正しいシャープ比が何であるかを教えてくれます、あなたは添付のコード(python)を自分で計算することができます。
import random
import csv
import matplotlib
import matplotlib.pyplot as plt
def rndWalk(length, start, var):
rndwalk = []
curent = start
for _ in range(length):
curent*= 1 + random.gauss(0,3) * var
rndwalk.append(curent)
return rndwalk
def ParseCsv(path, columnName):
tab = csv.DictReader(open(path))
price = []
for row in tab: price.append(float(row[columnName]))
return price
def diff(ts):
return [ts[n] - ts[n - 1] for n in range(1, len(ts))]
def SharpRatio(PnL):
ret = sum(PnL) / len(PnL)
var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))) ** 0.5
return len(PnL) ** 0.5 * ret / var
rw = rndWalk(10000,100,0.001)
sr = SharpRatio(diff(rw))
print(sr)
plt.plot(rw)
plt.show()
SharpRatioのコード自体は、わずか3行です。
def SharpRatio(PnL):
ret = sum(PnL) / len(PnL)
var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))** 0.5
戻り値 len(PnL) ** 0.5 * ret / var
PnLが「アンロード」、つまり取引と取引の間にギャップがある状態(もちろんこれは正しくありません)で使用され、そのためにスケーリングが行われていると推測できます。 私はこれが問題だと100ドルを賭けるつもりです。
皆さん、何と申し上げたらよいのでしょう...。
これらは、ブラックボックスやエイリアンライブラリなどを使用した場合の副作用です。
私はあなたの研究のCSVで株式を公開し、私はあなたのモデルの正しいシャープ比が何であるかを教えてくれます、あなたは添付のコード(python)を自分で計算することができますだけ提供できます。
シャープの比率を、時間単位、分単位であげるには?
時間単位、分単位で、どのようにエクイティを与えるのですか?
どっちでもいい、どっちでもいい
ちなみに、シャープの計算が誤っている兆候として、異なるスケールの株式が、通常は非常に近いはずのシャープ比の数値を著しく異ならせている場合があります。気にしないで、両方やってみよう。
ちなみに、シャッフル計算が誤っている兆候として、異なるスケールでのエクイティで、通常は非常に近いはずのシャッフル比の数値が大きく異なる場合があります。でも、もう少し後にしましょう。今、すべての機械がストーリーフィットに喘いでいますよ。)
気にしないで、両方やってみよう。
ところで、シャープの推定が誤っている兆候として、異なるスケールの株式が、通常は非常に近いはずのシャープ比の数値を本質的に異なるものとして出していることがある。分刻みでお伝えしていますし、テスターの 取引報告 書も添付しています。
確かにインジケータを少し改良したのは事実です。
シャープレシオは0.29となりました。
分単位のバリアントを出して、テスターの取引報告書を同封しています。
でも、指標は少し改善しました。
シャープレシオは0.29となりました。
実質シャープ比=〜3.79
この数字を計算しようとした人の間違いは明らかで、帰国子女と変動の比率を系列の長さの平方根で 表すことを忘れてしまっただけです。
def SharpRatio(PnL):
PnL = [x for x in PnL if abs(x) > 0] とする。
ret = sum(PnL) / len(PnL)
var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))** 0.5
戻り値 len(PnL) ** 0.5 * ret / var
追記:SR=3.79は非常に楽観的です。もちろん、スウェットショップでなく、正しくテストされた場合です。
実質シャープ比=〜3.79
この数字を計算するアルゴリズムを作った人たちの間違いは明らかです。 彼らは愚かにも、帰国子女と変動の比率をシリーズ長の平方根でスケーリングすることを忘れてしまったのです。
def SharpRatio(PnL):
PnL = [x for x in PnL if abs(x) > 0] とする。
ret = sum(PnL) / len(PnL)
var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))** 0.5
戻り値 len(PnL) ** 0.5 * ret / var
追記:SR=3.79は非常に楽観的、もちろん(ある程度)汗をかかず、正しくテストすればの話ですが
再計算してくれてありがとうございます
本当にエラーなら、端末のグローバルエラーなので、専用スレッドで 報告した方がいいのかも?
フィッティングに関しては、私なりのアプローチがあります。木の葉を集めて、訓練したサンプルと未知のサンプルで履歴のパフォーマンスを調べ、両方のサンプルにプラスの効果があった場合は、次のグループへ移動して詳細な選択と分析を行います。これは一部あてはまりますが、このような「葉っぱ」が以前も今も機能していること、そして次に何が起こるか--誰にもわからないということを調整した上で、「葉っぱ」を使っています。
再計算してくれてありがとうございます
本当にエラーなら、端末のグローバルエラーなので、専用スレッドで 報告した方がいいのでは?
はい、間違いなくエラーです、報告されるべきです。
アレクセイ・ヴャジミキン
フィッティングに関しては、私なりのアプローチがあります。木の葉を集めて、訓練したサンプルと未知のサンプルで履歴のパフォーマンスを調べ、両方のサンプルにプラスの効果があった場合は、次のグループへ移動して詳細な選択と分析を行います。これはこれでアリなのだが、このような「シート」は以前も今も通用し、次に何が起こるかは誰にもわからないという調整も入っている。
調整はどう考えてもどこにでもあることで、問題はそれをいかに許容できるレベルまで減らすかです。
フィットはどう考えてもどこにでもあるもので、問題はそれをいかに許容範囲内に抑えるかということです。
無理でしょう。どんな最適化も、どんなチューニングも、どんなトレーニングも、フィットするものです。それを必然として受け入れて、仕事をしていくしかないのです。
ここでは、質問の仕方を変えなければならない。残念ながら一般的なレシピはないでしょうし、配合自体もシステムによって異なる可能性があります。
無理でしょう。最適化、チューニング、トレーニングは、すべてフィッティングです。
ここで、質問の仕方を変えなければならない。残念ながら一般的なレシピ はないでしょうし、配合自体もシステムによって異なる可能性があります。
参照
調整が必要な数値は使用しない