Kaldıraçlı işlemleri nasıl simüle edebilirim?

Temel bilgiler

Pine Script® v4 ve üzeri sürümlerde yazılan tüm strateji komut dosyaları, kaldıraç alım satım simülasyonunu, yani daha küçük miktarlarda sermaye ile daha büyük pozisyonlar açmak için bir komisyoncudan borç almayı yerel olarak destekler. 

Kaldıraç işlemi ile, yatırımcının hesabı krediyi sürdürmek için gerekli marjı koruduğu sürece, yatırımcıların hesap bakiyelerinin izin verdiğinden daha büyük boyutlarda emirler vermeleri mümkündür. 

NOT: Kaldıraçlı alım satım, potansiyel kâr ve zararları artırır. Yatırımcılar, canlı işlemlerde kaldıraç kullanmadan önce her zaman dikkatli olmalı ve risk isteklerini iyice değerlendirmelidir. 

Pine Script® stratejileri, simüle edilmiş uzun ve kısa işlemlere uygulanan kaldıraç miktarlarını, komut dosyasının ayarlarının “Özellikler” sekmesindeki “Uzun pozisyonlar için marj” ve “Kısa pozisyonlar için marj” girdileri aracılığıyla belirler. Bu girdiler, stratejinin pozisyonu açmayı ve sürdürmeyi simüle etmesi için hesap bakiyesinde gereken pozisyon değerinin minimum yüzdesini tanımlar.

Örneğin, %20'lik bir “Uzun pozisyonlar için marj” değeri, simülasyonun herhangi bir uzun pozisyonun %20'sinin stratejinin mevcut bakiyesi tarafından, kalan %80'inin ise taklit edilen aracı kurum tarafından karşılanmasını gerektireceği anlamına gelir. Herhangi bir uzun pozisyon, değerinin yalnızca beşte birinin hesap tarafından finanse edilmesini gerektirdiğinden, strateji mevcut bakiyesinin beş katına kadar uzun pozisyonları simüle edebilir. Başka bir deyişle, bu marj seviyesi (1:5) stratejinin kaldıracını 5:1'e çıkarır.

Bu marj seviyesine sahip bir işlem, aracı kurumun fonlarını riske atacak kadar para kaybederse, ima edilen aracı kurum bir Marj Çağrısı olayını tetikleyecek ve sermayeyi serbest bırakmak için açık pozisyonun bir kısmını veya tamamını tasfiye edecektir. Daha fazla bilgi için aşağıdaki bölümlere bakın.

 NOT: Programcılar, `strategy()` fonksiyonunun `margin_long` ve `margin_short` parametreleri aracılığıyla strateji komut dosyalarında varsayılan marj değerlerini tanımlayabilir.

Detaylar

Bir yatırımcı satın alma gücünü artırmak için bir aracıdan borç aldığında, aracı, teminat olarak kullanmak için hesabında minimum miktarda sermaye bulundurmasını isteyecektir, diğer adıyla marj olarak bilinir. Başka bir deyişle, marj, komisyoncunun geri kalanını karşılaması için yatırımcının pozisyonun kendi öz sermayesiyle karşılaması gereken kısmıdır.

Bir işleme tahsis edilen marjin, pozisyonun piyasa değeri ile marjin oranının (yani istenen kaldıraç oranının tersi) çarpımıdır.

Mevcut EURUSD kurunun 1,05 olduğunu ve aracıdan borç almadan (yani 1:1 kaldıraç kullanarak) standart bir lot (100.000 birim) satın almayı simüle etmek istediğimizi varsayalım. Bu durumda, stratejiye yalnızca mevcut fonlarını kullanarak emir vermesi talimatını vererek “Uzun pozisyonlar için marjı” %100 olarak ayarlıyoruz. Bu nedenle, ticareti kolaylaştırmak için hesapta en az 105.000 USD (1,05 * 100.000) bulunmalıdır. 

Şimdi, aynı işlemi 20:1 kaldıraçla simüle etmek istediğimizi varsayalım. Bu durumda, marj oranı 1:20'dir (%5). “Uzun pozisyonlar için marjın” %5 olarak ayarlanması, diğer %95‘in komisyoncudan alınmasını simüle etmek için hesap bakiyesinin pozisyon değerinin en az %5’i olması gerektiğini belirtir. Bu işlemi kolaylaştırmak için gereken minimum hesap bakiyesi (marj) 105.000'in %5'idir (5.250 USD). 

Aracı fonlarına dayanmayan örnekten farklı olarak, gerçek dünya ortamında 20:1 kaldıraçla bir pozisyon açmak, hesap sahibi ve aracı için kayıp riski taşır. Açık pozisyon, hesap bakiyesinin karşılayabileceğinden daha fazla kaybederse, komisyoncu ya yatırımcıdan daha fazla para talep edecek ya da kayıpları karşılamak için açık pozisyonun bir kısmını / tamamını zorla tasfiye edecektir. Strateji Test Cihazı, zorunlu likidasyon mekanizmalarını “Marj Çağrısı” olayları olarak temsil eder.

Aracı Emülatörümüz, simülasyondaki zararı karşılamak için gereken miktarın dört katını tasfiye ederek ve sonraki grafik çubuklarında sürekli Teminat Çağrısı olaylarını önleyerek bu strateji sonuçlarındaki komutları ele alır.

NOT: Kısa işlemler tipik olarak aracıdan hisse, birim vb. ödünç almayı ve bunları daha sonra başka bir fiyattan satmayı gerektirir. Pozisyonun değeri, bunları iade etmek için eşdeğer sayıda hisse, birim vb. satın alma maliyetini temsil eder. Bu nedenle, kısa pozisyonlar fiyatlar yükseldiğinde para kaybeder. Uzun pozisyonların aksine, bir yatırım aracının fiyatının ne kadar yükselebileceğine dair kesin bir sınır olmadığından, kısa pozisyondaki potansiyel kayıp sınırsızdır. Bu nedenle, %100 marjla bile kısa pozisyon zorunlu likidasyon riskiyle karşı karşıyadır. 

Stratejiler ayrıca alışılmadık teminat gereksinimlerini de simüle edebilir. Örneğin, %200'lük bir “Uzun pozisyonlar için teminat” değeri kullanılabilir; bu, simüle edilen hesabın işlemi kolaylaştırmak ve pozisyonu korumak için pozisyon değerinin en az iki katına sahip olması gerektiği anlamına gelir. Bu ayar, maksimum pozisyon boyutunu stratejinin öz sermayesinin %50'si ile etkin bir şekilde sınırlar.

Bir strateji komut dosyasının marj ayarlarının, pozisyon boyutlarını doğrulamasına izin verdiğini unutmamak önemlidir. Teminat gereksinimlerini %0 olarak ayarlayarak devre dışı bıraktığınızda, komut dosyası simülasyonda mevcut olan gerçek sermayeden bağımsız olarak herhangi bir boyuttaki pozisyonları simüle edebilir ve bu da yanıltıcı sonuçlar üretebilir. Bu nedenle, “Uzun pozisyonlar için marj” veya “Kısa pozisyonlar için marj” değerlerinin %0 olarak ayarlanmasını önermiyoruz.

Fonların tükenmesi

Kaldıraçlı yatırımın birincil uyarısı, fonların tükenme riskini artırmasıdır. Bir komisyoncu tarafından zorla kapatılan pozisyonlar, bir yatırımcının kayıplardan kurtulma yeteneğini önemli ölçüde azaltır ve hesaplarını tükenmeye doğru hızlandırabilir. Strateji Test Cihazı, zorla kapatılan pozisyonları “Marj Çağrısı” olayları olarak temsil eder. 

Bir Teminat Çağrısı olayının ne zaman gerçekleşeceğini belirleyen formül şöyledir:

CurrentEquity <= MarginRequired

(Güncel Özkaynak <= MarjGerekli)

Güncel Özkaynak değeri, açık pozisyondan elde edilen kar veya zarar dahil olmak üzere, simüle edilen stratejinin belirli bir anda sahip olduğu sermaye miktarıdır. Gerekli Teminat, hesabın pozisyonu sürdürmek için ihtiyaç duyduğu sermayedir. Güncel Özkaynak açık pozisyonu finanse etmek için yeterli olmadığında, bir Marjin Çağrısı olayı meydana gelecektir.

Güncel Özkaynak formülü CurrentEquity is PriceChange * Direction * PointValue * Mevcut PozisyonBoyutu+ InitialCapital + NetProfit (Fiyat Değişikliği * Yön * Puan Değeri * Mevcut Pozisyon Boyutu + Başlangıç Sermayesi + Net Kar)dır, burada:

  • FiyatDeğişimi, mevcut fiyat ile açık pozisyonun giriş fiyatı arasındaki farktır.
  • Yön, pozisyon uzunsa 1 veya kısaysa -1'dir.
  • Puan Değeri, tam sayı fiyat hareketinin ifade ettiği para miktarıdır. Çoğu sembol için değer 1'dir, bunun ana istisnası vadeli işlemlerdir, burada 100'den 101'e bir değişiklik, değerin 1 USD yerine 50 USD değiştiği anlamına gelebilir, bu durumda PointValue 50 olacaktır. 
  • Mevcut Pozisyon Boyutu mevcut pozisyonun boyutudur. Strateji komut dosyaları kısa işlemleri grafikte negatif sayılarla gösterse de bu değer her zaman pozitiftir. 
  • İlk Sermaye + NetKâr, stratejinin mevcut pozisyonu açmadan önceki toplam öz sermaye tutarıdır. 

Gerekli Teminat için formül SonFiyat * PuanDeğeri * MevcutPozisyonBoyutu * (TeminatYüzdesi / 100) şeklindedir; burada SonFiyat hesaplama için grafik fiyatıdır ve (Teminat Yüzdesi / 100) hesap sahibinin açık pozisyonun gerekli kısmını elde etmek için çarptığımız katsayıdır. 

Bu hesaplamaları göstermek için, “İlk sermaye” olarak 1.000 USD ve “Uzun pozisyonlar için Marjin” değeri %20 (5:1 kaldıraç) olan bir stratejiyi simüle ederek 100 USD fiyatından 40 adet NASDAQ:GOOG hissesi satın aldığımızı düşünün.

Hisse senedinin fiyatı 95 USD'ye düşerse, Güncel Özkaynak FiyatDeğişimi * Yön * NoktaDeğeri * Mevcut PozisyonBoyutu  + BaşlangıçSermayesi + NetKâr = (95 - 100) * 1 * 1 * 40 + 1000 + 0 = 800 ve Gereken Marj SonFiyat * NoktaDeğeri * Mevcut PozisyonBoyutu* (MarjYüzdesi / 100) = 95 * 1 * 40 * 0,2 = 760 olur. Strateji hala bu fiyattan açık pozisyonu sürdürebilir, bu nedenle Margin Call olayı gerçekleşmez.

Ardından, fiyatın daha da düşerek 90 USD değerine gerilediğini varsayalım. Yeni Mevcut Özkaynak değeri (90 - 100) * 1 * 1 * 40 + 1000 + 0 = 600'dür ve Gerekli Marj artık 90 * 1 * 40 * 0,2 = 720'dir. Mevcut Özkaynak artık Gerekli Teminatı karşılamak için yeterli olmadığından, strateji bir Teminat Çağrısı olayı oluşturur ve pozisyonun bir kısmını zorla likide eder. 

Bir Marjin Çağrısı olayının gerçekleşebileceği fiyatı görselleştirmenin en kolay yolu, stratejinin Pine Script® kaynak kodundaki `strategy.margin_liquidation_price' yerleşik değişkenini kullanmaktır. Bu kod satırını Pine Script® v5 ve üzeri sürümlerde yazılmış herhangi bir stratejiye eklemek, likidasyon fiyatını grafikte mavi bir çizgi olarak gösterecektir:

plot(strategy.margin_liquidation_price)

Fiyatın manuel olarak hesaplanması gerekiyorsa, bir önceki bölümdeki denklem aşağıdaki formüle dönüştürülebilir:

MarjLikidasyonFiyatıHam = ((BaşlangıçSermayesi + NetKar) / (PuanDeğeri * Mevcut PozisyonBoyutu) - Yön * GirişFiyatı) / (MarjYüzdesi / 100 - Yön)

Ortaya çıkan MarjinLikidasyonFiyatı Ham değeri daha sonra sembolün minimum tik değerine bölünebilen en yakın fiyata yukarı (kısa pozisyonlar için) veya aşağı (uzun pozisyonlar için) yuvarlanır. 

Tüm ifadenin ( MarjinYüzdesi / 100 - Yön) ile nasıl bölündüğüne dikkat edin. Yön Uzun ve MarjinUzun% 100 ise, bölen 0 olacak ve elde edilen MarjinLikidasyonFiyatıHam sıfıra bölünmesi nedeniyle elde edilemeyecektir. Bu davranış, bir aracının %100 marjlı bir Uzun pozisyonu zorla likide edemeyeceği fikriyle tutarlıdır.

Önceki bölümde açıklanan varsayımsal strateji ile bu hesaplama şu sonucu verecektir: ((1000 + 0) / (1 * 40) - 100) / (20 / 100 - 1) = 93,75, bu da bir teminat tamamlama çağrısı gerektirecek ilk fiyattır. 93,75 GOOG'un 0,01'lik adım boyutuna bölünebildiğinden, minimum adıma göre yuvarlamanın bu durumda hiçbir etkisi yoktur.

Marjin Çağrısı olayının simülasyon sırasında hesaplanan bu fiyatta tetiklenmesinin garanti edilmediğini unutmayın.

Likidasyon büyüklüğünün hesaplanması

Bir Teminat Çağrısı olayıyla likide edilen pozisyonun kesin miktarı, olayın gerçekleştiği fiyata bağlıdır. Yukarıda belirtildiği gibi, aracı emülatörü zararı karşılamak için gereken miktarın dört katını likide eder ve bu olayların hızlı bir şekilde art arda tetiklenmemesini sağlamak için bir yastık sağlar. Likidasyon tutarını hesaplamak için aşağıdaki algoritmayı kullanırız:

1. Harcanan Parayı, yani pozisyonu açmak için harcanan sermayeyi hesaplayın.

Pozisyon Büyüklüğü * Giriş Fiyatı

2. Menkul Kıymetin Piyasa Değerini (MVS) hesaplayın.

Pozisyon Büyüklüğü * Güncel Fiyat

3. Açık Kârı hesaplayın. İşlem yönü kısaysa ve Açık Kar pozitif bir sayı ise, sonuç yine de negatif olmalıdır, bu nedenle hesaplamamızın mutlak değerini -1 ile çarpıyoruz.

ABS(MVS - Harcanan Para) * -1

4. Özkaynakları, yani simülasyonda mevcut olan sermayeyi hesaplayın.

Başlangıç Sermayesi + Net Kar + Açık Kar

5. Marj Yüzdesini Marj Oranına Dönüştürün.

Marj Yüzdesi / 100

6. Teminatı, yani yatırımcının açık pozisyondaki payını karşılamak için hesapta gereken tutarı hesaplayın.

MVS * Marjin Oranı

7. Kullanılabilir Fonları, yani yatırımcının mevcut özkaynaklarıyla karşılayamayacağı kayıp para miktarını hesaplayın.

Özkaynak - Marj

8. Yatırımcının kaybettiği toplam para miktarını hesaplayın.

Kullanılabilir Fonlar / Teminat Oranı.

9. Stratejinin zararı karşılamak için kaç hisse, birim vb. likide etmesi gerektiğini hesaplayın. Değeri, mevcut sembol için minimum sözleşme boyutuyla aynı ondalık noktaya göre kırparız.

TRUNCATE(Adım #8 / Mevcut Fiyat)

10. Komisyoncunun zararı karşılamak için kaç hisse, birim vb. tasfiye edeceğini hesaplayın. Taklit komisyoncumuz, kayıplar devam ederse bir Teminat Çağrısı olayının sürekli tetiklenmemesini sağlamak için gerekli miktarın dört katını satar. Bu değer kısa işlemler için pozitif olacaktır çünkü aracı kurum zararı karşılamak için satmak yerine birim satın alır.

Adım #9 * 4

Bu hesaplamayı ayrıntılı olarak incelemek için, yerleşik Süper Trend Stratejisini “1D” zaman diliminde NASDAQ: TSLA grafiğine ekleyelim ve “ Emir boyutu ‘nu öz sermayenin% 300’üne ve” Uzun pozisyonlar için marj “ı% 25'e ayarlayalım:

İlk giriş 16 Eylül 2010 tarihinde çubuğun açılış fiyatından gerçekleşti. Strateji, 4,43 USD'den (Giriş fiyatı) 682.438 hisse (Pozisyon büyüklüğü) satın aldı. Ardından, 23 Eylül 2010'da fiyat 3,9'a (Mevcut fiyat) düştüğünde, emülatör Margin Call olayı aracılığıyla 111.052 hisseyi zorla likide etti.

1. Harcanan para: 682438 * 4.43 = 3023200.34

2. MVS: 682438 * 3.9 = 2661508.2

3. Açık Kâr: -361692.14

4. Özkaynak: 1000000 + 0 - 361692.14 = 638307.86

5. Marj Oranı: 25 / 100 = 0,25

6. Marj: 2661508.2 * 0.25 = 665377.05

7. Kullanılabilir Fonlar: 638307.86 - 665377.05 = -27069.19

8. Kaybedilen Para: -27069.19 / 0.25 = -108276.76

9. Kaybı karşılamak için hisseler: TRUNCATE(-108276.76 / 3.9) = TRUNCATE(-27763.27) = -27763

10. Teminat Çağrısı Boyutu: -27763 * 4 = - 111052