Type/to search
0
Follow
1
Followers
契約ヘッジ戦略による資産移動の考察
Discussions
Created 2020-10-20 16:48:32  Updated 2023-09-26 20:59:29
 2
 2787

img

契約ヘッジ戦略による資産移動の考察

最近、仮想通貨の世界ではニュースが多く、取引所に関するニュースも飛び交っています。一時期、暗号通貨の愛好家は皆、ブロックチェーン資産の安全性を心配してパニックに陥っていました。さまざまな暗号通貨グループには、使用されていない中古コインを 10% または 20% 割引で提供する小さな広告がたくさんあります。 「安定した損失と安定した利益を同時に求める」ために、さまざまな戦略を模索する人がたくさんいます。多くのコイン友達も、「お金を稼ぐ安定した方法があるのなら、なぜお金を失う安定した方法が必要なのか!」と冗談を言っていました。
確かに、着実に利益を生み、着実に損失を被るものはmoney printer、見つけるのは簡単ではありません。
私の下手な英語をお許しください。

しかし、契約ヘッジなどにより損失と利益を同時に得ることができるなど、不安定さは依然として存在します。

DEMO戦略

javascript
/*backtest start: 2020-09-30 00:00:00 end: 2020-10-19 00:00:00 period: 1d basePeriod: 1m exchanges: [{"eid":"Futures_OKCoin","currency":"BTC_USD"},{"eid":"Futures_HuobiDM","currency":"BTC_USD"}] */ var step = 20 // 加仓价格步长 function main() { var pos1 = [] var pos2 = [] var ct = "quarter" // 例如用季度合约 exchanges[0].SetContractType(ct) exchanges[1].SetContractType(ct) var diff = 0 while (true) { var r1 = exchanges[0].Go("GetDepth") // A交易所 var r2 = exchanges[1].Go("GetDepth") // B交易所 var depth1 = r1.wait() var depth2 = r2.wait() if(depth1.Bids[0].Price - depth2.Asks[0].Price > diff) { if(pos1.length == 0 && pos2.length == 0) { var info1 = $.OpenShort(exchanges[0], ct, 10) var info2 = $.OpenLong(exchanges[1], ct, 10) pos1 = _C(exchanges[0].GetPosition) pos2 = _C(exchanges[1].GetPosition) diff = depth1.Bids[0].Price - depth2.Asks[0].Price } else if(depth1.Bids[0].Price - depth2.Asks[0].Price > diff + step) { var info1 = $.OpenShort(exchanges[0], ct, 10) var info2 = $.OpenLong(exchanges[1], ct, 10) pos1 = _C(exchanges[0].GetPosition) pos2 = _C(exchanges[1].GetPosition) diff = depth1.Bids[0].Price - depth2.Asks[0].Price } } if(pos1.length != 0 && pos1[0].Profit < -0.001) { var info1 = $.CoverShort(exchanges[0], ct, pos1[0].Amount) var info2 = $.CoverLong(exchanges[1], ct, pos2[0].Amount) pos1 = _C(exchanges[0].GetPosition) pos2 = _C(exchanges[1].GetPosition) diff = 0 } LogStatus(_D(), diff) Sleep(500) } }

img

img

戦略ロジック:
この戦略は、位置変数 pos1 と pos2 を空の配列として初期化することから始まります。この戦略はメインループに入り、各ループの開始時に 2 つの取引所の契約の深度データ (注文書データ) を取得し、価格差を計算します。価格差が「前回の価格差プラス1歩」を超えて拡大し続ける場合は、ヘッジを継続してポジションを増やします。ポジションを保有している場合、最初の取引ポジションの損失が一定値(例:-0.001)を超えると、ポジションはクローズされます。このプロセスは繰り返し繰り返されます。

原理は実は非常に単純で、価格差が大きい場合はヘッジに反対するということです。損失が予想される取引所が損失を抱えるまで待ってから、ポジションをクローズします。スプレッドが拡大し続ける場合は、損失が予想される取引所が損失を抱えるまで、ヘッジのためにポジションを増やし続けます。より重要なパラメータは、ポジションをクローズするために必要な損失額、ポジションを追加するための価格差のステップサイズ、およびヘッジ額です。

この戦略は比較的単純で、アイデアを検証するためにのみ使用されます。実際の取引には適用できません。実際の取引では、取引する契約が通貨ベースか U ベースか、取引所 A と B の異なる契約の乗数は同じかなど、考慮する必要がある問題がまだたくさんあります。

このように、ある取引所が損失を出した場合、その損失はほぼ別の取引所の利益になります(価格差により、ヘッジ損失が発生する場合があり、つまり損失が利益よりも大きくなります)。この戦略では先物取引ライブラリを使用します。$.CoverShort,$.OpenShortこれらはテンプレートのインターフェース関数です。上記の DEMO をバックテストして実行するには、このクラス ライブラリを参照する必要があります。

上記の戦略プロトタイプは、最も単純な検討に過ぎません。実際の運用では、さらに詳細を考慮する必要がある場合があります。たとえば、ポジションの増加量を増分的に設計できます。これは単なる出発点です。同様の戦略をさらに最適化できるはずです。専門家からの提案を歓迎します。

Related Recommendations
Comment
All comments (2)

    请尽快实装吧,要是管用我想租用,把我的游戏币提出来

    6 years ago

    作者开头其实说了,不稳定,搞不好是有可能反搬回去的。

    6 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)