Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 3184

 

Zaman serilerinin çeşitli simülasyon türlerine ve özelliklerine baktım, sinüzoidlerden ve gürültüden sentetik bir seri oluşturdum (daha iyi netlik için sinüzoidleri aldım).

Sonuç şu. Bu simülasyon hala tam olarak anlaşılamamıştır...


İlk satır orijinaldir (sol üst), diğer tüm satırlar ilk satırın özellikleri üzerine inşa edilmiş simülasyonlardır.

başka bir çalışma


par(mar=c(2,2,2,2),mfrow=c(3,2))

n <- 1:1000
#  original series
s <- sin(n/50+1) + sin(n/20+15)/2 + rnorm(n,sd = 0.1) 
s |> plot(t="l", main = "original series (2 sin + noise)")

s |> rnorm(mean = mean(s),sd = sd(s)) |> cumsum() |> plot(t="l",main = "random generation")
library(forecast)
s |> ets() |> simulate() |> plot(t="l",main = "Exponential smoothing state space model")
s |> ar() |> simulate() |> plot(t="l",main = "Fit Autoregressive Models to Time Series")
s |> nnetar() |> simulate() |> plot(t="l",main = "Neural Network Time Series Forecasts")
s |> Arima() |> simulate() |> cumsum() |> plot(t="l",main = "ARIMA model to univariate time series")
 
Maxim Dmitrievsky #:

Sorunun ne olduğunu anlamıyorum.

İlk etapta ortada bir sorun yoktu. Yani çözülmesi gereken bir sorun yoktu. Sadece ara sonuçlar paylaşılıyor ve farklı yorumlar tartışılıyordu.


Ben de varsayımım konusunda oldukça üzgünüm.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi üzerine forum

Ticarette makine öğrenimi: teori, modeller, uygulama ve algo-ticaret

fxsaber, 2023.08.19 00:50

Monte Carlo için dopilivayut ise, muhtemelen istenen statüye sahip rastgele bir sembol oluşturmak için en iyi seçenektir. özellikleri.

Mükemmel ölçeklenebilir gerçek tik geçmişinin bu şekilde rastgele hale getirilmesiyle, uygun ayarlama ile mükemmel ölçeklenebilir bir sembol elde edeceğimi düşündüm. Ancak tam bir başarısızlık elde ettim, bu da en azından beni meraklandırdı, gerçek geçmişte mükemmel bir şekilde ölçeklenmesini sağlayan ne vardı?

 
Maxim Dmitrievsky #:

Yine de kenelerde daha fazla alfa var demektir.

Kesin olarak söyleyebileceğimiz tek şey, kenelerle çalışırken çubuklarla çalışmaktan daha fazla bilgi olduğudur. Bu nedenle, uygun hesaplama yeteneklerine sahip kenelerle çalışmak mantıklıdır.

 
mytarmailS #:

İlk satır orijinaldir (sol üst), diğer tüm satırlar ilk satırın özelliklerine dayanan simülasyonlardır

Ben olsam hiçbir simülasyonu kullanmazdım. Ne yapıyorlar?

  1. Çubuk geçmişinde birkaç (100 olsun) istatistik özelliği bulun.
  2. Bu 100 istatistiksel özellik eşleşecek şekilde çubuk serileri oluşturun.

100 değerin milyonlarca değerden oluşan orijinal bir seriyi tanımlayabilmesi çok saçma! Teorisyenlerin bir aracı gibi görünüyor ama uygulayıcıların değil.


Önerilen algoritma tiklerle çalışır. Alınan çubuklarda tik hacimleri çakışır, spreadler çakışır. Haberlere aynı keskin tepki, aynı rollover davranışı, vb.

Her şey yolunda gibi görünüyor. Ancak böyle bir rastgeleleştirmeden sonra bile scalping öğretemiyorum. Ve şu ana kadar bunun için bir açıklamam yok.


Gerekli rastgele sembolü oluşturan bir EX5 komut dosyası gönderirdim, ancak forum kuralları bunu yasaklıyor. Henüz bunun için bir blog girişi oluşturmaya hazır değilim. Döndürmekle ilgilenen biri varsa, lütfen benimle iletişime geçin.

 
fxsaber #:

çözülmesi gereken bir şey değildi.

Aşağıdakileri çözmek istiyorum.


Görev.

Gerçek bir ölçeklenebilir sembolü, ölçeklenebilir kalması için rastgele hale getirin.


Amaç.

Monte Carlile.

 
fxsaber #:
Ancak tam bir başarısızlık yaşadım, bu da beni en azından meraklandırdı, gerçek hikayenin mükemmel bir şekilde kafa derisi yapmasını sağlayan şey neydi?

Bence fark, ardışık çubukların / tiklerin seriliği veya tekrarlanabilirliği. Bir trend sırasında çoğu aynı yöndedir, randomizer bunları ortalama olarak 1'de yapar.

 
Forester #:

Bence fark, ardışık çubukların / tiklerin seriliği veya tekrarlanabilirliğidir. Bir trend sırasında çoğu tek yöndedir, randomizer onları ortalama olarak 1 yapar.

Birkaç hipotez var. Her ihtimale karşı MathRand'i gerçek ve rastgele bir sembol üzerinde çalıştırarak kontrol ettim.

#property script_show_inputs

input datetime inFrom = D'2023.01.01';

double GetAvgPrice( const MqlTick &Tick )
{
  return((Tick.bid + Tick.ask) / 2);
}

void OnStart()
{
  MqlTick Ticks[];
  
  int Amount1 = 0;
  int Amount2 = 0;
  
  for (uint i = CopyTicksRange(_Symbol, Ticks, COPY_TICKS_INFO, inFrom * 1000) - 1; (bool)i--;)
  {
    const double Diff = NormalizeDouble(GetAvgPrice(Ticks[i]) - GetAvgPrice(Ticks[i + 1]), 8);
    
    if (Diff > 0)
      Amount1++;
    else if (Diff < 0)
      Amount2++;
  }
  
  Print(Amount1);
  Print(Amount2);
}

Her iki sembol de neredeyse aynı değerleri gösterdi. İlginç bir şekilde, Miktar1 ~ Miktar2. Yani eğilim, bir karakterin artış sayısına göre değil, artışların mutlak değerlerine göre şekilleniyor.

Mevcut rastgeleleştirme algoritmasında, artışların mutlak değerlerinin sırası değişmez.

 
fxsaber #:

Birkaç hipotez var. Her ihtimale karşı bu betiği gerçek ve rastgele bir sembol üzerinde çalıştırarak MathRand'i kontrol ettim.

Her iki sembol de neredeyse aynı değerleri göstermiştir. İlginç bir şekilde, Miktar1 ~ Miktar2. Yani eğilim, bir sembolün artış sayısına göre değil, artışların mutlak değerlerine göre şekillenir.

Miktar1 - Miktar2 oldukça oynaktır. Eğilimlilik, eğer birçoğunu toplarsanız ortaya çıkar. Gerçek verilerde trendler tektir, rastgele verilerde (yaklaşık 1'e kadar), trendler artan volatilite ile daha çok rastgele aykırı değerlere benzer. Gerçek olanlardan çok daha küçük genlikte olduklarını varsayıyorum.

UPD: Orada - yerine ~ olduğunu görmedim.

Hakkında ~. Yaklaşık övgüleri sadece bu anlama geliyor, gerçekten iyi karıştırılmış, ortalama 1.
 
fxsaber #:

Kullanacağım tek bir simülasyon bile yok. Ne yapıyorlar?

  1. Çubuk geçmişinde birkaç (100 olsun) istatistiksel özellik bulun.
  2. Bu 100 istatistiksel özellik çakışacak şekilde bir dizi çubuk oluşturun.

100 değerin milyonlarca değerden oluşan orijinal bir seriyi tanımlayabilmesi çok saçma! Teorisyenlerin bir aracı gibi görünüyor ama uygulayıcıların değil.

Aşina olmadığınız bir şey karşısında şaşırmak ve buna saçma demek saçmadır.....

Boyut azaltma algoritmalarına aşina mısınız? Sıkıştırma algoritmaları?

fxsaber #:

Önerilen algoritma tiklerle çalışır. Alınan çubuklarda tik hacimleri çakışır, spreadler çakışır. Haberlere aynı keskin tepki, aynı rollover davranışı vb.

Her şey yolunda gibi görünüyor. Ancak böyle bir rastgeleleştirmeden sonra bile scalping öğretemiyorum. Ve şu ana kadar bunun için bir açıklamam yok.

İşte rastgeleleştirmenizin gerçek piyasa sürecini ne kadar iyi simüle ettiğinin cevabı.....

fxsaber #:

Görev.

Bisturi uygulanabilir gerçek bir sembolü bisturi uygulanabilir olarak kalacak şekilde rastgele ayarlayın.

Ve işte uygun bir satır simülasyonu oluşturmak için bir kriter/uygunluk fonksiyonu

 
mytarmailS #:

Bilmediğiniz bir şey karşısında şaşırmak ve bunu absürt olarak adlandırmak saçmadır ....

Bu yapay verilerde sinyal olarak - analiz için 1-2-10 periyodun yeterli olduğu periyodik fonksiyonlar (örneğin her 50 barda bir, aynı fonksiyon (kesinlikle), ancak farklı gürültü ile, 50'den sonra tekrar, vb.) Piyasa verilerinde periyodik bir fonksiyon yoktur, bu nedenle her şeyi analiz etmemiz gerekir....