


FXのシステムトレードと聞くとMT4やMT5が有名ですが、Tradingviewでも ストラテジーのシグナルを利用してアラートを発動させて売買することができます。 アラートをWebhookやGmailに飛ばし、APIを使うかPythonでアラートを検知して ブローカーに注文を送ります。 私のトレードではストラテジーにシグナルがトリガーされると同時に 売買シグナル、注文数、ターゲット、トレイリングストップ、ロスカットポイント をアラートで出すようにしており全て同時に注文を出すように設定しています。 チャートの画面にも注文価格を表示しているので現在の損益状況や ストップやターゲットに掛かりそうか一目瞭然でわかります。 今現在で含み益があることも確認できます。
皆さんは相場のトレンドをどのように測っているでしょうか? 裁量トレーダーならダウ理論で高値の切り上げ、安値の切り下げやトレンドラインを 使っていると思います。私はシステムトレーダーなので全て数値化してトレンド を測定しています。 有名なADXというインジケータがありますが、ADXはトレンドの強さを測れますが トレンドの方向性は測定することが出来ません。 上昇トレンドなのか下降トレンドなのか、その強さはどれくらいなのか明確に知ること ができたら便利なので2つのインジケータを作成しました。 ひとつは「ブルベア指数」と言い単純に一定本数のローソク足で新高値をつけた回数と新安値をつけた回数を計算し、その差の数値をグラフとして表示するもの。 上昇トレンドならグラフの数値はプラスになり、下降トレンドならマイナスになり 絶対値の大き...
FXってブローカーによっては取扱い通貨ペアが多くてどれをトレードするか迷いますよね。 個人的にはFOREXとOANDAがTradingviewから直接トレードすることができて沢山の通貨ペアがあるので好きです。 トレードするにあたっては同じような値動きをする通貨でトレードしてもドローダウンが増えてリスクリワードレシオが 悪化するので相関が高い通貨でトレードするのは好ましくありません。 pineスクリプトには任意のインプットデータの相関係数を計算してくれる便利なta.correlationというのがあり、 matrix関数を用いて各通貨ペアの相関係数を表示しました。 それぞれの通貨ペアはinput.symbolで自由に選択できるようにしてあります。 この表でみるとAUD/USDとUSD/CADの相関係数が-0.73と非常に逆...
ポジションサイジングの方法は様々で、仕掛け値から損切水準までの価格差を基にしたり市場のボラティリティ を計算したり資産の割合でサイズを変えたりしますが、私はバックテストでの1取引単位での最大損失を トレードリスクとして固定比率法でポジションサイジングを行っています。 計算式は単純で(保有資産×リスク率÷トレードリスク)です。 100万円を持っているとして1トレードあたりの許容リスク率が5%でバックテストでのトレードリスクが 2000円だったとしたら(1,000,000×0.05÷2000)=25枚が最初のポジションサイズです。 これは保有資産が増加するにつれてポジションサイズを大きくしていき、ドローダウンが発生したら ポジションサイズを小さくしていきます。保有資産が150万円に増えたら37枚になり、80万円に ドローダウ...
コンピュータの発展と共に急拡大してきているクオンツトレーダー。 市場の様々なデータを定量解析して自動取引している人たちで、個人トレーダーでもその数は増えてきました。 私が行っているクオンツトレードを少し紹介します。 たくさんのデータを処理するのでPythonとVBAを用いて統計解析をします。 例としてリターンが222%、ドローダウンが27%のトレンドの変換点を予測して天井と底を狙うシステムで 定量解析します。 重要な統計量はチャートの右上のボックスに自動で表示できるようにプログラムを組んで、パラメータを 変化させていったときの数値を比較検討しやすいようにしています。このシステムでは期待値が52.4% リスクリワードレシオが4.8%、年平均リターンが21.57%、幾何平均値が1.1%、リカバリーファクターは8.2 MARレ...
今回もトレンド状態にある市場が勢いを失って価格が反転する動きを狙った カウンタートレンドシステムを紹介します。 このシステムでは英ポンド/米ドルが最も機能しました。 まず100日ケルトナーチャネルの1ATR以上に価格があることが第一条件です。 そして価格が7本のバーの5パーセンタイル以下になり、ボラティリティが70%以上であれば ショートエントリーします。ロングエントリーはこの逆条件です。 ボラティリティは30本のバーの標準偏差の200日平均で算出しております。 パラメータ(0.01, 0.04,...
先日、PineスクリプトがバージョンアップされてV4からV5になりました。 ユーザー定義関数のデフォルト値を設定できたり、ランタイムエラー関数でデバッグを行うことができたり 何よりもストラテジー関数がさらに増えたことでシステムの統計解析やパラメータの参照を細かく出来るように なったのでシステムトレーダーにとっては強力なツールとなったのではないでしょうか。 今回はトレンドフォローシステムと組み合わせて使う逆相関のカウンタートレンドシステムで チャート画面に期待値や線形回帰分析で得られる残差平方和を使用したリスクリワードレシオ、 1トレードあたりの成長率を示す幾何平均値を表示してシステム間の比較をしやすくしています。 リスクリワードレシオはシャープレシオに似ていて資産曲線の標準誤差と平均リターンの比率を示しています。 10...
インジケータを使用したテクニカル分析で優位性が高いものに価格が高値を更新しながらインジケータが 高値を更新出来ず下降していくと上昇トレンドが終わって相場が反転するというものがあります。 実際のチャートを見て価格やインジケータの高値と安値を決めることは主観的な分析で検証ができないのでシステム化 する上では終値の線形回帰直線とストキャスティクスの線形回帰直線のトレンドが逆相関になった時をダイバージェンスの 発生と定義し、米ドル/円の4時間足で検証しました。 まず、linreg関数を使用して終値の20期間の線形回帰直線と10期間のストキャスティクスの20期間の線形回帰直線を作成します。 終値の線形回帰の傾きが下向きの時を下降トレンドとし、ストキャスティクスの線形回帰の傾きが下向きから上向きに変化した瞬間を 上向きのダイバージェ...
現在の相場がトレンド状態にあるのか横ばい状態にあるのかを測るインジケータで有名なのはADXがあります。 ADXはDMIの派生指標で、2重に平滑化されているという点で滑らかではありますが遅延が発生しやすいという弱点があります。 今回は遅延を発生を抑えてより敏感に反応するトレンド測定用のインジケータを作りました。 著名なシステムトレーダーであるペリーカウフマンが開発した効率レシオをヒントにしています。 カウフマンの効率レシオは一定期間の価格の最高値と最安値の差と価格変動の比率を表しており 価格が上昇または下降するときにどれだけ価格変動が大きかったかを測定し、価格変動が少なく直線的に上昇または下降 していればトレンド状態にあると定義されています。 私が作成したインジケータは一定期間の終値の最高値と最安値の差と現在の終値と前日の...
よくトレンドの方向に沿ってトレードを行うことが利益につながりやすいと言われます。 トレンドの方向の測定方法は移動平均線や高値安値の更新、モメンタムオシレータなど色々ありますが、 今回は最小二乗法による線形回帰曲線の傾きをトレンドの方向と定義してシステムを構築しました。 Pineスクリプトにはlinregという回帰曲線のビルトイン関数があり変数を入れるだけで簡単に線形回帰分析が行えます。 ユーロ/円の4時間足で検証しました。 まず、線形回帰曲線が上向きなら上昇トレンド、下向きなら下降トレンドとして押しや戻りを待って仕掛けます。 押しや戻りを測定するには終値のパーセンタイルを調べ、上昇トレンドの時に20パーセンタイルを上回ったらロングエントリー 下降トレンドの時に80パーセンタイルを下回ったらショートエントリーします。 エ...
資金管理の本としては非常に素晴らしい「ラルフビンスの資金管理大全」で説明されているオプティマルfですが。 オプティマルfをそのまま使用するとリスクが高すぎて強烈なドローダウンで破産しかねません。 しかし、レバレッジスペース理論では何百万回のシミュレーションで予測されるドローダウンとリターンの関係から 自分の許容できるドローダウンでリターンを最大化できるf値、つまり一回のトレードでリスクに晒す資金量の最適値を計算できます。 この書籍には高性能なコンピュータを必要とすると書いてありますが、現在のパソコンの性能は本の発売当初に比べて 圧倒的な性能の向上がみられており、遺伝的アルゴリズムと合わせて実装すると10億回ほどのシミュレーションを10分程度で測定できました。 先日掲載した騙しのブレイクアウト手法に新たなマネーマネジメントシ...
直近のレジスタンスラインやサポートラインをブレイクしたものの、ブレイクした方向に相場が動かず反転したら 騙しのブレイクアウトの可能性が高いということですね。今回はそんなスタンダードな手法を検証してみました。 ロジックはとてもシンプルで終値が過去10日間のピボットハイポイントをブレイクしたらセットアップとして直近の ピボットローポイントをトリガーする価格に設定します。セットアップが完了してから5日以内にトリガーポイントを終値が 下抜けしたらショートエントリーします。ロングエントリーはこの逆です。 トレイリングストップとして過去3日の最安値を設定し、過去30日の終値の標準偏差の値を仕掛け値からロスカットとします。 フィルターとして過去100日の終値の標準偏差のより150%高いボラティリティの時はトレードを見送ることとします。...
トレンドラインを使ったトレード手法は多くのトレーダーがトレードしている手法だと思いますが 人によってトレンドラインの引き方って全く異なってくる非常に主観的なトレード手法なんですね。 普段システム開発においてはオシレータなどの指標を使ったり、バーのパターンを組み合わせたパターントレード でシステム作っているのですが、今回は少しコンセプトを変えてトレンドラインを使ってシステムを検証してみました。 繰り返しますがトレンドラインの引き方は人によって違うので、どのように疑似コードでプログラムに落とし込んでいくか 少々悩みました。いろいろと調べた結果、ピボットポイントの3つの点を使ってトレンドラインを引くのが有効そうだったので まず、ピボットポイントが発生したら頂点の価格をarray関数に格納していきます。 そして、アップトレンドな...
はい、難しい説明は不要ですね。 だれもが知っているMACDのダイバージェンスで仕掛けるシステムです。 ピボットハイポイントが形成されたら前回のピボットハイポイントより高く、 MACDヒストグラムがダイバージェンスで下降していたらショートエントリー ピボットローポイントが形成されたら前回のピボットローポイントより低く、 MACDヒストグラムがダイバージェンスで上昇していたらロングエントリー 投資資金の2%の損失か含み損で10本のバーが経過したらロスカット、最高値から1ATRのところにトレイリングストップを置きます。 一応、利益は出ていますね。 10分で書いたお粗末なストラテジーなので、もっとちゃんと作れば更に良い結果がでるかもしれません。 裁量トレーダーの方々はもっと細かいところを見ているんでしょうね 私はシステムトレ...
tradingviewって日々進化していて益々つかいやすくなってますね。 最近のアップデートでこれは素晴らしいと思ったのは「array関数」のリリースと、 アラートの発動にストラテジーの売買シグナルを使えるようになったことです。 array関数に関してはよくぞやってくれたと称賛に値します。と言うのもarrayの配列は本当に ありとあらゆるデータが格納でき、終値や出来高だけでなく、ストラテジーで作成した損益や TrueかFalseのbool値やインジケーターの値、if文で配列の操作が出来るのでシステムを作成したり システムの統計量を表示して評価するのがものすごく楽になりました。 今までは各システムの損益データをトレード毎にPythonでスクレイピングしてmatplotlibやpandasで評価 していましたが、label_...
今回は一般的なテクニカルインジケーターは使わず、終値の標準偏差とパーセンタイルを使って 市場のモメンタムの方向に仕掛けるシステムを検証していきたいと思います。 海外でもヘッジファンドの多くは統計学的手法を使っているところが多く、マーケットの魔術師の ラリーハイトはベイズ統計を使ってますし、近年ジョージ・ソロスやウォーレン・バフェットを上回る リターンを記録したルネッサンステクノロジーのジェームズシモンズは元数学者でトレードでは 全て統計解析でアルゴリズム化したシステムトレードを行っており、トレードに統計学を使うことには優位性があるとみています。 では、ポンド円の8時間足で2016年~現在までの5年間で検証していきます。 まず仕掛けのシグナルに終値の10本のバーの標準偏差を計算します。 標準偏差とは分散の正の平方根で、デー...
マーケットが今トレンドを形成しているのか、していないのかを測るインジケータを作ってみました。 名前は’choppy market...
今月から新たにpineスクリプトに配列を扱えるarray関数がリリースされました。 どんなもんだろうとユーザーマニュアルを読んでみたら衝撃が走りました。 あらゆるデータを配列を使って要素を参照したり、追加したり削除したり、メジアンを求めたり更には 共分散や標準偏差を求めることができるようになったのです! これはpythonでいうとNumpyやPandasのデータフレームのようなもので、今までコーディングが難しかった テクニカル分析ができるのではないかとテンションが上がりました。 試しにピボットハイポイントの価格を配列にいれてみたらバッチリ格納されていたので 今回はヘッド&ショルダのチャートパターンを簡易的ながらスクリプトで書いてみました。 ヘッド&ショルダは左ショルダ、ヘッド、右ショルダから形成されるので配列データ数は3に...