Pair trading e arbitraggio multicurrency. La resa dei conti. - pagina 85

 
Roman Poshtar #:
Ho trovato tutti i tacchini sull'argomento. Domani li inserirò e vedremo. Per ora.

Come hai calcolato i volumi?

Non puoi fare trading sui cross e sulle divergenze, dovresti fare così: https://www.mql5.com/ru/forum/448777/page84#comment_50303521.

altrimenti è rumore. Più precisamente, allora non viene scambiata tanta divergenza, ma 1 coppia su due.

Парный трейдинг и мультивалютный арбитраж. Разборки.
Парный трейдинг и мультивалютный арбитраж. Разборки.
  • 2023.11.02
  • www.mql5.com
Добрый день уважаемые форумчане. Немного почитав форум, наткнулся на несколько тем по арбитражу и парному трейдингу...
 
Maxim Kuznetsov #:


Secondo i miei calcoli, in ogni momento i coefficienti sono i seguenti

0
0.3280
0.6720 

E il coefficiente zero cammina lungo il triangolo, a seconda del segno della redditività (+ -) di questo o quello strumento.

0.6316
0.3684
0


Sono giunto alla conclusione che lo zero viene sostituito da uno.
Pertanto, in un momento diverso, qualsiasi simbolo può avere una quantità con coefficiente 1.

 

Oggi ho fatto un test di scorrimento su una coppia.
Lo scorrimento non è ancora crollato, sto guardando ))
E questo senza applicare la formula, in quanto non ho ancora implementato il calcolo.
Solo sul rendimento di due strumenti.

te

In linea di principio, coloro che trovano difficile implementare la formula di calcolo, possono anche catturare gli slider senza di essa.
Calcolate solo il rendimento e vedrete tutto.
 
Maxim Kuznetsov #:

VolumeA=LgA/(LgA+LgB)

Il tasso di variazione del prezzo del triangolo cambia continuamente. Naturalmente, al momento dell'ingresso è possibile scegliere una quantità simile al tasso di variazione del prezzo al momento dell'ingresso, ma questa quantità sarà rilevante solo al momento dell'ingresso. In un secondo tutto può cambiare, e molto probabilmente cambierà.

 
Maxim Kuznetsov tasso di cambio dollaro-dollaro = 1, LgU=Ln(1)

VolumeA*=LgA^2/(LgA^2+LgB^2+LgU^2) ; (* non normalizzato)

Corretto, anche se sembra essere corretto

Certo che è strano: rigorosamente al contrario... dovrebbe essere "il volume è inversamente proporzionale al logaritmo del prezzo"

e la formula corretta di come dovrebbe essere pensata esattamente "inversamente proporzionale", forse qualcuno può dirvela :-)



 
Maxim Kuznetsov #:

Il calcolo del volume per il trade di discrepanza sta diventando strano:

...

Correggerlo, anche se sembra essere corretto

Idealmente, si dovrebbe anche tenere conto della volatilità degli strumenti,
poiché la performance di trading dell'USDCHF è quasi 2 volte inferiore a quella del GBPUSD.

 
Grigori.S.B #:

Idealmente, si dovrebbe prendere in considerazione anche la volatilità degli strumenti,
poiché le qualità di corsa di USDCHF sono quasi 2 volte inferiori a quelle di GBPUSD.

se convertito in una base comune - lo stesso :-) USDCHF e USDGBP hanno le stesse percentuali.

 
Maxim Kuznetsov #:

se convertiti in una base comune, sono uguali :-) USDCHF e USDGBP hanno le stesse percentuali.

Se in % allora sì, sono d'accordo.

 
Roman #:

Calcolare il rendimento.
Quindi applicare le formule trovando le formule mancanti.
Sì, c'è della matematica, ma non è complicato e la stessa soluzione è disponibile con metodi diversi.

Matematica in un solo passaggio.

Ma non l'ho ancora vista,

Non ho visto nessuno capire quale.

quindi sembrerebbe molto strano se ti dicessi "al punto".

;))))

 

Ecco quello che ho, criticatelo.

   double lgS=MathLog(priceS);   // это продаём
   double lgB=MathLog(priceB);   // это покупаем
   double lgU=MathLog(1.0);      // через USD торгуем (const 0)
   // если пивот не дали, считаем сами
   if (pivot==0) {
      // равновесие, приблизительно средне-квадратичное
      double lgMin=MathMin(lgS,MathMin(lgB,lgU));
      double pivot=lgMin+MathSqrt((MathPow(lgS-lgMin,2.0)+MathPow(lgB-lgMin,2.0)+MathPow(lgU-lgMin,2.0))/3.0);
   }
   // амплитуды, у металлов вдвое выше
   double ampS=(SymbolInfoString(symS,SYMBOL_CURRENCY_BASE)=="XAU"||SymbolInfoString(symS,SYMBOL_CURRENCY_BASE)=="XAG")?2.0:1.0;
   double ampB=(SymbolInfoString(symB,SYMBOL_CURRENCY_BASE)=="XAU"||SymbolInfoString(symB,SYMBOL_CURRENCY_BASE)=="XAG")?2.0:1.0;
   // весовые коэфф.
   double weightS=1.0/(MathSqrt(MathAbs(pivot-lgS))+ampS);   // ?? 1.0/MathAbs(pivot-lgS)*ampS)
   double weightB=1.0/(MathSqrt(MathAbs(pivot-lgB))+ampB);
   // нормированные веса
   double normS=weightS/(weightS+weightB);
   double normB=weightB/(weightS+weightB);
   // инвест в продажу/покупку
   double investS=invest*normS;
   double investB=invest*normB;

il principio del volume inversamente proporzionale al prezzo log è rispettato e i numeri sono ragionevoli.

Sono disponibili i punti centrali e le ampiezze. Non sono sicuro di sqrt() in weightS.