記事"三角裁定"についてのディスカッション - ページ 4

 

仲裁は時に非常にネガティブな状況に満ちているため、戦闘用の緊急シャットダウン条件が必要な場合がほとんどである。

 
fxsaber:

仲裁は時に非常にネガティブな状況に満ちているため、戦闘用の緊急シャットダウン条件はほぼ常に必要である。


これには誰も異論はない。しかし、これは誰もが自分で追加できるものだ。

 

一般論としての通貨裁定取引の数学的解釈は非常に単純である。


検索してみると、まさにこのフォーラムで提案されていることがわかりました。

取引、自動売買システムとテスト取引戦略に関するフォーラム。

フラット構造が、どのようにそれにオープンするには?

匿名, 2014.09.23 22:30

1) グラフの頂点はすべて使用中の通貨である。

2) グラフの辺の重みは、対応する為替レートの対数である(取引コストも考慮できる)。

3) 解はベルマン・フォード・アルゴリズムで 求めることができる。

4) 負のコストを持つパスがない場合、裁定取引は成立しない。

ブルートフォースなしで高速。

始めるためのいくつかの写真

Bellman-Fordによる 負のループの探索(裁定)の実装は難しくない。しかし、このかなり最近の記事に よると、最適な負のサイクル、つまり最短(辺の和が最小)のサイクルは見つからないという。これは本当なのだろうか?


現在の最強の裁定を決定するために、2017年に独自のサイクルを作ることが本当に必要なのだろうか?

 

ベルマン・フォードは、シンセティック・ヴィンテージを段階的に入手するのに適している。

  1. BFによる現在の価格(bestprice)を使って、最高の合成価格を見つける。それを合成カップのベストプライスに乗せる。ベスト合成の組み合わせに含まれるリアル・シンボルのbestpriceの全ボリュームが食われていることに基づいてボリュームを計算する。
  2. 次に、ステップ2の実シンボルのベストプライスが次のバンドに変更される。この「新しい価格」に、項目1を適用する。
最終的に、「流動性」がゼロでないシンボル(合成組み合わせに参加できる)が存在しないことが判明するまで、両方のポイントをループする。この時点で、合成ガラスが形成される。

 
fxsaber:

最適な負のサイクル、つまり最短(辺の和が最小)のサイクルは見つからない。これは本当だろうか?


https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%91%D0%B5%D0%BB%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0_%E2%80%94_%D0%A4%D0%BE%D1%80%D0%B4%D0%B0: "Bellman-Ford algorithm is an algorithm for finding theshortest path in a weighted graph"(ベルマン・フォード・アルゴリズムは重み付きグラフの最短経路を 求めるアルゴリズムである)。

この長さの経路が唯一のものでない場合,同じコストでより多くの頂点を通る経路を選ぶチャンスがある.この問題を解決する方法は2つある(仮定、確認するのは面倒だ):

1) 通貨の数だけN回繰り返し、負のループがないかチェックするのではなく、N回繰り返し、3回目から負のループがないかチェックする。

2)最短経路の回復には、returnを使った探索を使う。最悪のケースは、すべての経路が負で同じコストの場合である。正しいデータでは非現実的であり、安全カウンタを追加することで簡単に防御できる。

 
anonymous:

EURUSDと GBPUSDにはマイナスのスプレッドがある。しかしGBPUSDの裁定取引の方が有利です。しかし、BFは負のEUR->USD->EURサイクルを示すことができるが、GBP->USD->GBPは示さない。2番目のサイクルのコストは少ないが、BFは「最高の」負のサイクルを示すことを意図していない。

言及された記事は、最高の負のサイクルを見つけるための不正確な方法を示唆している。これまで明確なサイクルは確立されていないのですか?


ZY 例は悪いが、BFがUSDで始まるなら、GBPUSDを表示すべきだ。しかし、ポイントはまだ明確です。

 

この写真は4つの通貨ペア(青い矢印の数)からの裁定取引です。より多くの参加者からの最適な裁定取引は可能でしょうか?

 

> そしてその存在は、BFの最後の反復で緩和条件が満たされたかどうかで決定されます。

それでも、各反復の後にチェックを開始することをお勧めします。)

> しかし、BFは「最良の」負のサイクルを示すことを意図していません。

それは、あなたの実装が単に負のコストを持つ最初のサイクルを取ることを意味します。最初に来たものを取らないように...。

  for (unsigned int i = 0; i < n; i++) {
    for (unsigned int j = 0; j < n; j++) {
      // 以下の3つの変数を入力する 1) 左右の部分の差の最良の値;
      // 2-3)この値に達したiとjのインデックス。
      if ((dis[i] + weights(i, j)) < dis[j]) { 
        // ループの回収は、i/j回の反復が完了した後に行う。
        return extract_cycle(pre, j, n);
      }
    }
  }


 
anonymous:

> そしてその存在は、BFの最後の反復で緩和条件が満たされたかどうかによって決定されます。

それでも、各反復の後にチェックを開始することをお勧めします。)

> しかし、BFは「最良の」負のサイクルを示すことを意図していません。

それは、あなたの実装が単に負のコストを持つ最初のサイクルを取ることを意味します。最初のサイクルを取らないように...。

そう、一度にすべてのサイクルを通過するというアイデアが現れた。しかし、その中に可能な限り小さなサイクルが含まれることはまったく明らかではない。

正直なところ、BFの正しさの証明は(私が読んだ限りでは)曖昧だ。負のサイクルに関しては、おまけ程度にしか出てこない。そして、負のサイクルの存在を決定する以外の具体的なことは、BFでは何も保証されていない。

もし単純な総当たり解があったとしても、おそらくこの記事では最適なサイクルを見つけるための近似アルゴリズムは出てこないだろう。私自身はまだこのサイクルを取り上げていないが、今のところ何がそんなに克服できないのか分からない。検索しても、量子資源に対する原始的なHFTの推論しか出てこない。

 

ロボットを動かして、ロボットが何を見つけて取引するかを見る方が簡単ではないか?
私は理論家を尊敬している。理論家なしではどこにも行けない。しかし、私は実務家であり、少なくとも市場での取引においては、この考え方はそれほど深刻な数学的準備を必要としない。

a)提示された価格にはすでにマークアップがある。

b)対抗入札は、我々に届く前にすでに照合されている。

c)裁定取引には確率的な性格がある。


なぜこのような単純なアイデアにこのような複雑な解決策が必要なのか、ご意見をお聞かせいただければ幸いです。