Strategi penurunan melampau pasaran berdasarkan sisihan statistik

STD SMA MA SD
Tarikh penciptaan: 2024-11-29 16:46:33 Akhirnya diubah suai: 2024-11-29 16:46:33
Salin: 0 Bilangan klik: 444
1
fokus pada
1617
Pengikut

Strategi penurunan melampau pasaran berdasarkan sisihan statistik

Gambaran keseluruhan

Strategi ini berdagang berdasarkan ciri-ciri statistik semasa penurunan pasaran yang melampau. Dengan menggunakan analisis statistik untuk penarikan balik, mengukur tahap ekstrem turun naik pasaran dengan menggunakan standard deviation, dan membeli apabila pasaran turun di luar julat biasa. Gagasan utama strategi ini adalah untuk menangkap peluang untuk turun lebih tinggi yang disebabkan oleh perasaan panik pasaran, dan menggunakan kaedah statistik matematik untuk mengenal pasti peluang pelaburan yang disebabkan oleh tingkah laku tidak rasional di pasaran.

Prinsip Strategi

Strategi ini menggunakan ciri statistik untuk mengira pulangan maksimum dan pulangan harga dalam jendela masa bergulir. Pertama, harga tertinggi dalam 50 kitaran terakhir dikira, kemudian peratusan pulangan berbanding harga tertinggi penutupan semasa dikira. Kemudian, nilai rata-rata dan standard deviasi pulangan dikira, dan set - 1 kali standard deviasi sebagai had trigger. Apabila pulangan pasaran melebihi nilai rata-rata tolak kali ganda standard deviasi ditetapkan, ia menunjukkan bahawa pasaran mungkin mengalami penurunan yang melampau.

Kelebihan Strategik

  1. Strategi berdasarkan prinsip statistik, mempunyai asas teori yang kukuh. Mengukur tahap ekstrem turun naik pasaran melalui perbezaan piawai, kaedah sains objektif.
  2. Strategi ini dapat menangkap peluang pelaburan yang berkesan pada masa panik pasaran. Ia sesuai dengan falsafah pelaburan nilai dengan memasuki pasaran apabila terdapat penurunan yang tidak rasional.
  3. Menggunakan kaedah pemadaman berkala tetap, ia mengelakkan masalah yang mungkin terlewatkan oleh penangguhan.
  4. Parameter strategi boleh disesuaikan dan boleh disesuaikan secara fleksibel mengikut keadaan pasaran yang berbeza dan ciri-ciri jenis perdagangan.
  5. Pengiraan penarikan balik dan standard deviation adalah mudah, logik strategi jelas, mudah difahami dan dilaksanakan.

Risiko Strategik

  1. Pasaran mungkin mengalami penurunan yang berterusan, menyebabkan strategi sering masuk tetapi tetap rugi. Disarankan untuk menetapkan had jumlah maksimum pegangan.
  2. Penutupan berkala tetap mungkin terlepas ruang kenaikan yang lebih besar. Cara penutupan yang mengikuti trend boleh dipertimbangkan.
  3. Ciri-ciri statistik penarikan balik mungkin berubah mengikut perubahan keadaan pasaran. Ia disyorkan untuk mengemas kini tetapan parameter secara berkala.
  4. Strategi ini tidak mengambil kira maklumat pasaran lain seperti jumlah dagangan. Ia disyorkan untuk menyelaraskan beberapa petunjuk.
  5. Dalam keadaan pasaran yang tidak menentu, perbezaan piawaian boleh menjadi tidak nyata.

Arah pengoptimuman strategi

  1. Ia juga turut diperkenalkan untuk mengukuhkan tahap panik di pasaran.
  2. Meningkatkan indikator trend dan mengelakkan kerap masuk dalam trend menurun.
  3. Mengoptimumkan mekanisme penyelesaian kedudukan, menyesuaikan masa memegang kedudukan mengikut pergerakan pasaran.
  4. Tambah seting stop loss untuk mengawal risiko transaksi tunggal.
  5. Pertimbangkan untuk menggunakan parameter penyesuaian untuk meningkatkan kebolehsesuaian strategi terhadap perubahan pasaran.

ringkaskan

Strategi ini menggunakan kaedah statistik untuk menangkap peluang melepasi pasaran, mempunyai asas teori yang baik dan nilai praktikal. Logik strategi mudah dan jelas, parameter yang boleh disesuaikan, sesuai untuk memperluas dan mengoptimumkan strategi asas. Dengan menambah petunjuk teknikal dan langkah-langkah kawalan risiko lain, anda dapat meningkatkan lagi kestabilan dan keuntungan strategi. Dalam perdagangan langsung, disarankan untuk menggabungkan ciri-ciri persekitaran pasaran dan jenis perdagangan, menetapkan parameter dengan berhati-hati, dan melakukan kawalan risiko yang baik.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy When There's Blood in the Streets Strategy", overlay=false, shorttitle="BloodInTheStreets")


//This strategy identifies opportunities to buy during extreme market drawdowns based on standard deviation thresholds. 
//It calculates the maximum drawdown over a user-defined lookback period, identifies extreme deviations from the mean, 
//and triggers long entries when specific conditions are met. The position is exited after a defined number of bars.


// User Inputs
lookbackPeriod = input.int(50, title="Lookback Period", minval=1, tooltip="Period to calculate the highest high for drawdown")
stdDevLength = input.int(50, title="Standard Deviation Length", minval=1, tooltip="Length of the period to calculate standard deviation")
stdDevThreshold = input.float(-1.0, title="Standard Deviation Threshold", tooltip="Trigger level for long entry based on deviations")
exitBars = input.int(35, title="Exit After (Bars)", minval=1, tooltip="Number of bars after which to exit the trade")

// Drawdown Calculation
peakHigh = ta.highest(high, lookbackPeriod)
drawdown = ((close - peakHigh) / peakHigh) * 100

// Standard Deviation Calculation
drawdownStdDev = ta.stdev(drawdown, stdDevLength)
meanDrawdown = ta.sma(drawdown, stdDevLength)

// Define Standard Deviation Levels
stdDev1 = meanDrawdown - drawdownStdDev
stdDev2 = meanDrawdown - 2 * drawdownStdDev
stdDev3 = meanDrawdown - 3 * drawdownStdDev

// Plot Drawdown and Levels
plot(drawdown, color=color.red, linewidth=2, title="Drawdown (%)")
plot(meanDrawdown, color=color.blue, linewidth=2, title="Mean Drawdown")
plot(stdDev1, color=color.green, linewidth=1, title="1st Std Dev")
plot(stdDev2, color=color.orange, linewidth=1, title="2nd Std Dev")
plot(stdDev3, color=color.purple, linewidth=1, title="3rd Std Dev")

// Entry Condition
var float entryBar = na
goLong = drawdown <= meanDrawdown + stdDevThreshold * drawdownStdDev

if (goLong and strategy.position_size == 0)
    strategy.entry("Long", strategy.long)
    entryBar := bar_index

// Exit Condition
if (strategy.position_size > 0 and not na(entryBar) and bar_index - entryBar >= exitBars)
    strategy.close("Long")