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

 
Konstantin Nikitin :

Benim gözlemlerime göre keskinliği 1'den fazla yükseltmek henüz mümkün değildi. Evet ve henüz başkalarının hesaplarını / çizelgelerini büyük bir göstergeyle görmedim. Her ne kadar yanılıyor olsam da.

Alexey Vyazmikin :

Formülün açıklamasından nasıl kontrol edileceği açık değil, örneğin, " pozisyonun tutulduğu zaman için kârın aritmetik ortalamasının " nasıl hesaplanacağı?

Belki biraz matematiksel bir beklentidir?

Her durumda, bu gösterge ne kadar yüksek olursa o kadar iyi olduğunu ve bunun yeterli olmadığını ve ana raporun anladığım göstergelerle bir dosyaya yazıldığını fark ettim.

Peki, size ne diyeyim, sevgili baylar...

Bunlar kara kutular, yabancı kütüphaneler vb. kullanmanın yan etkileridir.

Ben sadece araştırmanızın özsermayesini CSV'de yayınlamayı teklif edebilirim ve size modellerinizin doğru Sharp Oranının ne olduğunu söyleyeceğim, kodu kendiniz hesaplayabilirsiniz (python)

import random

import csv

import matplotlib

import matplotlib.pyplot as plt


def rndWalk(length, start, var):

    rndwalk = []

    curent = start

    for _ in range(length):

        curent*= 1 + random.gauss(0,3) * var

        rndwalk.append(curent)

    return rndwalk


def ParseCsv(path, columnName):

    tab = csv.DictReader(open(path))

    price = []

    for row in tab: price.append(float(row[columnName]))

    return price


def diff(ts):

    return [ts[n] - ts[n - 1] for n in range(1, len(ts))]


def SharpRatio(PnL):

    ret = sum(PnL) / len(PnL)

    var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))) ** 0.5

    return len(PnL) ** 0.5 * ret / var


rw = rndWalk(10000,100,0.001)

sr = SharpRatio(diff(rw))

print(sr)


plt.plot(rw)

plt.show()


kendini kodla SharpRatio kodu sadece 3 satır

def SharpRatio(PnL):

ret = toplam(PnL) / len(PnL)

var = ((toplam([(x - ret) ** PnL'de x için 2)) / len(PnL))) ** 0,5

dönüş len(PnL) ** 0,5 * geri / var


Hisse senedini veya PnL'yi kaybederseniz, sorunun ne olduğunu anlarım, tahmin edebilirim ki PnL “boşaltılmış” olarak kullanılırsa, yani buradan anlaşmalar arasındaki boşluklar (ki bu elbette doğru değildir) ve ölçekleme, Sorun olan 100$'a bahse girerim.

 
pantural :

Peki, size ne diyeyim, sevgili baylar...

Bunlar kara kutular, yabancı kütüphaneler vb. kullanmanın yan etkileridir.

Ben sadece araştırmanızın özsermayesini CSV'de yayınlamayı teklif edebilirim ve size modellerinizin doğru Sharp Oranının ne olduğunu söyleyeceğim, kodu kendiniz hesaplayabilirsiniz (python)

Saat dakika size eşitlik nasıl verilir?

 
Alexey Vyazmikin :

Saat dakika size eşitlik nasıl verilir?

önemli değil yine de yapalım

bu arada, keskin yanlış hesaplandığındaki işaretlerden biri, farklı ölçeklerdeki eşitliğin önemli ölçüde farklı keskin oran sayıları vermesidir, normalde çok yakın olmaları gerekir
 
pantural :

önemli değil yine de yapalım

bu arada, keskin yanlış hesaplandığındaki işaretlerden biri, farklı ölçeklerdeki eşitliğin önemli ölçüde farklı keskin oran sayıları vermesidir, normalde çok yakın olmaları gerekir

Tamam, ama biraz sonra - şimdi tüm arabalar hikayeyi uydurmaya çalışıyor :)

 
pantural :

önemli değil yine de yapalım

bu arada, keskin yanlış hesaplandığındaki işaretlerden biri, farklı ölçeklerdeki eşitliğin önemli ölçüde farklı keskin oran sayıları vermesidir, normalde çok yakın olmaları gerekir

Dakika başına bir seçenek veriyorum ve testçinin işlem raporunu ekliyorum.

Gerçek performans biraz arttı.

Sharpe oranı şu an 0.29.

Dosyalar:
KS.zip  102 kb
 
Alexey Vyazmikin :

Dakika başına bir seçenek veriyorum ve test cihazının işlem raporunu ekliyorum.

Gerçek performans biraz arttı.

Sharpe oranı şu an 0.29.

gerçek Keskin oran = ~3.79

sayınızı hesaplamak için algoritmayı yapanların hatası açıktır, geri dönüşün varyasyona oranını seri uzunluğunun karekökü üzerinde ölçeklendirmeyi aptalca unuttular

def SharpRatio(PnL):

PnL = [eğer abs(x) > 0 ise PnL'de x için x]

ret = toplam(PnL) / len(PnL)

var = ((toplam([(x - ret) ** PnL'de x için 2)) / len(PnL))) ** 0,5

dönüş len(PnL) ** 0,5 * geri / var


Not: SR=3.79, elbette, bir sweatshop değilse (bir dereceye kadar) ve doğru bir şekilde test edilmişse çok iyimserdir.

 
pantural :

gerçek Keskin oran = ~3.79

sayınızı hesaplamak için algoritmayı yapanların hatası açıktır, geri dönüşün varyasyona oranını seri uzunluğunun karekökü üzerinde ölçeklendirmeyi aptalca unuttular

def SharpRatio(PnL):

PnL = [eğer abs(x) > 0 ise PnL'de x için x]

ret = toplam(PnL) / len(PnL)

var = ((toplam([(x - ret) ** PnL'de x için 2)) / len(PnL))) ** 0,5

dönüş len(PnL) ** 0,5 * geri / var


Not: SR=3.79, elbette, bir sweatshop değilse (bir dereceye kadar) ve doğru bir şekilde test edilmişse çok iyimserdir.

Yeniden hesaplama için teşekkürler!

Bu gerçekten bir hataysa, özel bir konuda bildirmeye değer olabilir, çünkü bu terminalde genel bir hatadır?

Ve yerleştirme ile ilgili olarak, MO'ya kendi yaklaşımım var, ağaçlardan yapraklar topluyorum ve sonra her iki numune üzerinde de olumlu bir etkinin olduğu eğitimli ve bilinmeyen numuneler bağlamında tarihteki etkinliklerine bakıyorum, ayrıntılı seçim ve analiz için bir sonraki gruba girerler. Kısmen, bu bir düzenlemedir, ancak böyle bir "sayfanın" daha önce çalıştığı ve şimdi çalıştığı ve bundan sonra ne olacağını kimse bilmediği gerçeğinde yapılan değişikliklerle.

 
Alexey Vyazmikin :

Yeniden hesaplama için teşekkürler!

Bu gerçekten bir hataysa, özel bir konuda bildirmeye değer olabilir, çünkü bu terminalde genel bir hatadır?

Evet, hata mutlaka bildirilmelidir, raporunuzu örnek olarak kullanmamda bir sakınca var mı?

Alexey Vyazmikin :

Ve yerleştirme ile ilgili olarak, MO'ya kendi yaklaşımım var, ağaçlardan yapraklar topluyorum ve sonra her iki numune üzerinde de olumlu bir etkinin olduğu eğitimli ve bilinmeyen numuneler bağlamında tarihteki etkinliklerine bakıyorum, ayrıntılı seçim ve analiz için bir sonraki gruba girerler. Kısmen, bu bir düzenlemedir, ancak böyle bir "sayfanın" daha önce çalıştığı ve şimdi çalıştığı ve bundan sonra ne olacağını kimse bilmediği gerçeğinde yapılan değişikliklerle.

Uyum her yerdedir, kim ne derse desin, soru kabul edilebilir bir düzeye nasıl indirilebileceğidir.

 
pantural :

Uyum her yerdedir, kim ne derse desin, soru kabul edilebilir bir düzeye nasıl indirilebileceğidir.

Mümkün değil. Herhangi bir optimizasyon, herhangi bir ayar, herhangi bir eğitim uygundur. Sadece bunu bir kaçınılmazlık olarak kabul etmeli ve onunla çalışmalısın.

Burada soru farklı sorulmalıdır. Ne yazık ki, muhtemelen ortak tarifler yoktur ve farklı sistemler için aşamalandırmanın kendisi olabilir. farklı.

 
Yuri Asaulenko :

Mümkün değil. Herhangi bir optimizasyon, herhangi bir ayar, herhangi bir eğitim uygundur.

Burada soru farklı sorulmalıdır. Ne yazık ki, muhtemelen ortak tarifler yoktur ve farklı sistemler için ayarın kendisi olabilir. farklı.

orada

ayarlanacak sayıları kullanmayın