Makalede sorumun cevabını bulamadım, ancak Sharpe.mqh koduna bakılırsa Sortino içinde yok. Bu yüzden Sortino hesaplama seçeneği ile değiştirilmiş kodu aşağıya ekledim. Aynı zamanda kodu gereksiz fonksiyon çağrıları açısından optimize ettim.
Bence Sortino katsayısının dezavantajı, hesaplanması için yalnızca risksiz oranın (bu durumda sıfır) altındaki getirilerin alınmasıdır. Ancak, test edilen strateji için hesaplanan ortalamanın altındaki dönemlerden birinde pozitif bir getiri de bir risktir. Bu yüzden sadece ortalamanın altındaki getirileri dikkate alan bir katsayı hesaplaması ekledim. Bir benzerini bulamadım, bu yüzden mütevazı bir şekilde Titov'un katsayısı olarak adlandırdım)). Bulduğumda adını değiştireceğim.
Orijinalinde, hesaplama döneminin mevcut zaman dilimine bağlı olması sakıncalıdır. Bu yüzden hesaplama periyodunu ayarlamayı ekledim (açıkça ayarlanmamışsa, mevcut zaman dilimi alınır):
Returns.SetTF(PERIOD_MN1);
Sharpe oranını hesaplarken getirinin logaritmasını kullanma ve bunu yıllık değere getirme gerekliliğini herhangi bir kaynakta bulamadım. Bu nedenle, bu seçenekleri devre dışı bırakma imkanı ekledim.
Bazı nedenlerden dolayı, makaledeki örnekler sıfır getirili dönemleri göz ardı ediyor. Bu da sonucu bozuyor. Bu nedenle, bu tür dönemleri hesaplamaya dahil etmek için bir seçenek ekledim.
Orijinal makalede olduğu gibi Sharpe oranı hesaplamasını kullanma örneği:
Ivan Titov #: Sharpe oranını hesaplarken getirilerin logaritmasını kullanma ihtiyacını hiçbir kaynakta bulamadım
Bir alıntı ile cevap vermek gerekirse
Sharpe oranının hesaplanmasında getirilerin logaritmasının kullanılması kesinlikle gerekli değildir, ancak hesaplamaları basitleştirmek ve özellikle uzun zaman dilimleri veya yüksek derecede değişken varlıklarla uğraşırken verilerin istatistiksel özelliklerini iyileştirmek için yararlı olabilir. Logaritmik getiriler, getirilerin normal dağılımına daha iyi bir yaklaşım sağladıkları ve portföyleri derlerken hesaplamaları basitleştirdikleri için sıklıkla kullanılır.
Eklemek isterim - logaritma olmadan deneyin ve bana olağandışı yan etkiyi söyleyin. Bununla karşılaşmalısınız.
Ivan Titov #: Hiçbir kaynakta Sharpe oranının hesaplanması ve yıllık bir değere getirilmesi gerekliliğine rastlamadım.
Başka bir alıntı
Sharpe oranının yıllık bir değere getirilmesine gelince, bu, yatırımın orijinal zaman ölçeğinden bağımsız olarak farklı yatırım stratejileri ve portföyler arasında karşılaştırma yapılmasına olanak sağlamak için oranı standartlaştırmak amacıyla yapılır. Bu, özellikle farklı varlık türleri veya farklı işlem sıklıklarına sahip stratejiler arasında karşılaştırmalar yapıldığında, yatırımcıların yatırım performansını ortak bir standarda göre ölçmelerine yardımcı olan yaygın bir uygulamadır
Kaynak derken, Sharpe ve Sortino oranları hakkında bu makale dışındaki bilgileri kastetmiştim.
Rashid Umarov #: Sharpe oranının yıllık bir değere getirilmesine gelince, bu, yatırımın orijinal zaman ölçeğinden bağımsız olarak farklı yatırım stratejileri ve portföyler arasında karşılaştırılmasına olanak tanıyacak şekilde oranı standartlaştırmak için yapılır.
Sharpe oranı, belirli bir dönemdeki segmentlerin ortalama getirisinin aynı segmentlerdeki standart sapmaya oranıdır. Yani, stratejileri birbirleriyle karşılaştırma imkanı açısından segmentlerin uzunluğu çok önemli değildir. Bence, gereksiz gürültüyü ortadan kaldırmak için bir ticaretin ortalama süresinden birkaç kat daha uzun olacak şekilde seçilmesi tavsiye edilir.
Rashid Umarov #: logaritma olmadan deneyin ve bana olağandışı yan etkiden bahsedin. Bununla karşılaşmalısınız
Denedim: olağandışı bir şey yok. Ama bir hata buldum, düzeltilmiş versiyonu ekliyorum.
Buna ek olarak, logaritma üzerindeki Sharpe, ilk depozitonun büyüklüğüne önemli ölçüde bağlıdır. Yukarıdaki örnekte (öz sermaye 1) 4000'lik bir ilk depozito ile 2,08 verir. 400000'lik bir depozito ile 3,83 verir. Öz sermayenin şekli hiçbir şekilde değişmemiş olsa da (sabit bir lot ile işlem yapmak).
Sharpe.mqh'nin yalnızca yıllık Sharpe oranını hesapladığını doğru anladım mı? Aylık Sortino çalışmayacak mı?
Makale sorunuzun cevabını içeriyor.
Tekrar soruyorum, "düşük sayı" nedir? Bana 70-80 düşük gibi geliyor, ancak bu tür paslarda cezanız yok.
Rakamlar diğer geçişlerle karşılaştırıldı mı?
Test aralığının uzunluğuna göre normalize edilmiş mi?
Büyük olasılıkla sabit bir değer ayarlanmıştır, aksi takdirde tüm sonuç tablosunu birçok kez yeniden hesaplamanız gerekir.
Yukarıdaki argümanlarınıza katılıyorum.
Aynı zamana denk gelirler, ancak her zaman değil
Test cihazında haftalık zaman dilimini ayarlarsanız, neredeyse her zaman eşleşmezler:
Aylık zaman diliminde fark daha da büyüktür:
Makale sorunuzun cevabını içeriyor.
Makalede sorumun cevabını bulamadım, ancak Sharpe.mqh koduna bakılırsa Sortino içinde yok. Bu yüzden Sortino hesaplama seçeneği ile değiştirilmiş kodu aşağıya ekledim. Aynı zamanda kodu gereksiz fonksiyon çağrıları açısından optimize ettim.
Bence Sortino katsayısının dezavantajı, hesaplanması için yalnızca risksiz oranın (bu durumda sıfır) altındaki getirilerin alınmasıdır. Ancak, test edilen strateji için hesaplanan ortalamanın altındaki dönemlerden birinde pozitif bir getiri de bir risktir. Bu yüzden sadece ortalamanın altındaki getirileri dikkate alan bir katsayı hesaplaması ekledim. Bir benzerini bulamadım, bu yüzden mütevazı bir şekilde Titov'un katsayısı olarak adlandırdım)). Bulduğumda adını değiştireceğim.
Orijinalinde, hesaplama döneminin mevcut zaman dilimine bağlı olması sakıncalıdır. Bu yüzden hesaplama periyodunu ayarlamayı ekledim (açıkça ayarlanmamışsa, mevcut zaman dilimi alınır):
Returns.SetTF(PERIOD_MN1);Sharpe oranını hesaplarken getirinin logaritmasını kullanma ve bunu yıllık değere getirme gerekliliğini herhangi bir kaynakta bulamadım. Bu nedenle, bu seçenekleri devre dışı bırakma imkanı ekledim.
Bazı nedenlerden dolayı, makaledeki örnekler sıfır getirili dönemleri göz ardı ediyor. Bu da sonucu bozuyor. Bu nedenle, bu tür dönemleri hesaplamaya dahil etmek için bir seçenek ekledim.
Orijinal makalede olduğu gibi Sharpe oranı hesaplamasını kullanma örneği:
Diğer her şeyin eşit olduğu Sortino katsayısı hesaplama örneği:
Kendi adıma, ortalamanın altında getiri riskini aylık aralıklarla değerlendirmeye karar verdim:
Sharpe oranını hesaplarken getirilerin logaritmasını kullanma ihtiyacını hiçbir kaynakta bulamadım
Bir alıntı ile cevap vermek gerekirse
Eklemek isterim - logaritma olmadan deneyin ve bana olağandışı yan etkiyi söyleyin. Bununla karşılaşmalısınız.
Hiçbir kaynakta Sharpe oranının hesaplanması ve yıllık bir değere getirilmesi gerekliliğine rastlamadım.
Başka bir alıntı
Sharpe oranının yıllık bir değere getirilmesine gelince, bu, yatırımın orijinal zaman ölçeğinden bağımsız olarak farklı yatırım stratejileri ve portföyler arasında karşılaştırma yapılmasına olanak sağlamak için oranı standartlaştırmak amacıyla yapılır. Bu, özellikle farklı varlık türleri veya farklı işlem sıklıklarına sahip stratejiler arasında karşılaştırmalar yapıldığında, yatırımcıların yatırım performansını ortak bir standarda göre ölçmelerine yardımcı olan yaygın bir uygulamadır
Bir alıntıyla cevap vereceğim
Kaynak derken, Sharpe ve Sortino oranları hakkında bu makale dışındaki bilgileri kastetmiştim.
Sharpe oranının yıllık bir değere getirilmesine gelince, bu, yatırımın orijinal zaman ölçeğinden bağımsız olarak farklı yatırım stratejileri ve portföyler arasında karşılaştırılmasına olanak tanıyacak şekilde oranı standartlaştırmak için yapılır.
logaritma olmadan deneyin ve bana olağandışı yan etkiden bahsedin. Bununla karşılaşmalısınız
Denedim: olağandışı bir şey yok. Ama bir hata buldum, düzeltilmiş versiyonu ekliyorum.
Bir alıntıyla cevap vereceğim
Kendim için ekleyeceğim - logaritma olmadan deneyin ve daha sonra bana olağandışı yan etkiyi anlatın. Bununla karşılaşmalısınız.
İlginçtir ki, böyle bir öz sermaye için bu senaryo 2,08'lik bir Sharpe verir:
Ve bunun için (yeniden yatırımla aynı) 3,66:
Her ne kadar 2. öz sermayenin kalitesinin daha kötü olduğu açık olsa da (yeniden yatırım her zaman öz sermayenin kalitesini kötüleştirir).
Eğer özkaynak artışlarının logaritması yerine artışların kendisini kullanırsak:
Birincisi için 3,85 ve ikincisi için 2,1 elde ederiz. Çok daha uygun.
Logaritma üzerindeki Sharpe, yalnızca yeniden yatırımla işlem yapılması durumunda mevduat büyüklüğüne bağlı değildir.
Ancak bu durumda basit artışlar üzerindeki Sharpe, mevduat büyüklüğüne bağlı değildir.
Bu nedenle, neden logaritma üzerinden Sharpe kullanmam gerektiğini anlamıyorum.