Chiến lược giao dịch đảo ngược phương sai


Ngày tạo: 2023-10-31 14:42:13 sửa đổi lần cuối: 2023-10-31 14:42:13
sao chép: 0 Số nhấp chuột: 650
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch đảo ngược phương sai

Tổng quan

Chiến lược giao dịch đảo ngược chênh lệch bằng cách tính tỷ lệ của quyền chọn mua mua và mua mua, còn được gọi là tỷ lệ quyền chọn mua và mua, tạo ra tín hiệu giao dịch khi tỷ lệ này đảo ngược. Chiến lược này kết hợp với các quy tắc quản lý tiền đơn giản để tạo ra lợi nhuận. Nó áp dụng cho chu kỳ 30 phút của NDX và SPX.

Nguyên tắc chiến lược

Chỉ số cốt lõi của chiến lược này là đường trung bình của tỷ lệ quyền chọn mua và bán và chênh lệch tiêu chuẩn của nó. Đầu tiên, tính trung bình của tỷ lệ quyền chọn mua và bán trong 20 ngày qua, sau đó tính chênh lệch tiêu chuẩn của tỷ lệ trong 30 ngày qua. Khi tỷ lệ trung bình trên tỷ lệ tăng 1,5 lần chênh lệch tiêu chuẩn, làm nhiều hơn; Khi tỷ lệ trung bình dưới tỷ lệ giảm 1,5 lần chênh lệch tiêu chuẩn, làm không.

Sau khi thực hiện thêm, nếu tỷ lệ trở lại trên giá trị trung bình, hãy xóa vị trí trống. Đường dừng lỗ được thiết lập là 1% của giá mở. Đường dừng lỗ được thiết lập là khoảng cách dừng lỗ gấp 3 lần giá mở.

Phân tích lợi thế

Ưu điểm lớn nhất của chiến lược này là nắm bắt các điểm đảo ngược của tâm trạng thị trường. Khi thị trường quá bi quan hoặc quá lạc quan, tỷ lệ quyền chọn mua bán sẽ trở nên bất thường, khi đó việc hoạt động đảo ngược có thể nắm bắt cơ hội đảo ngược địa phương. Ngoài ra, các quy tắc quản lý tiền đặt ra khoảng cách dừng lỗ và dừng để kiểm soát hiệu quả rủi ro và lợi nhuận của một giao dịch.

Phân tích rủi ro

Rủi ro chính của chiến lược này là các vấn đề về cài đặt tham số. Nếu cài đặt tham số không đúng cách, sẽ dẫn đến tín hiệu giao dịch quá thường xuyên, do đó không thể nắm bắt cơ hội đảo ngược lớn hơn. Ngoài ra, tín hiệu đảo ngược có thể bị phá vỡ giả, dẫn đến thua lỗ.

Hướng tối ưu hóa

Bạn có thể xem xét kết hợp với các chỉ số khác để xác minh tín hiệu đảo ngược, để tránh bị sai lệch bởi đột phá giả. Ví dụ: bạn có thể thêm chỉ số khối lượng giao dịch, chỉ khi khối lượng giao dịch tăng lên. Bạn cũng có thể thêm một số chỉ số xu hướng, tránh hoạt động ngược.

Tóm tắt

Chiến lược này cố gắng nắm bắt các điểm đảo ngược thị trường bằng cách tính tỷ lệ quyền chọn giảm giá và giảm giá và kết hợp với các nguyên tắc quản lý tiền đơn giản. Ưu điểm của nó là có thể nắm bắt cơ hội đảo ngược địa phương, nhưng cũng có nguy cơ bị lừa dối bởi phá vỡ giả.

Mã nguồn chiến lược
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © I11L

//@version=5
strategy("I11L Long Put/Call Ratio Inversion", overlay=false, pyramiding=1, default_qty_value=10000, initial_capital=10000, default_qty_type=strategy.cash)

SL = input.float(0.01,step=0.01)
CRV = input.float(3)
TP = SL * CRV

len = input.int(30,"Lookback period in Days",step=10)
ratio_sma_lookback_len = input.int(20,step=10)
mult = input.float(1.5,"Standard Deviation Multiple")

ratio_sma = ta.sma(request.security("USI:PCC","D",close),ratio_sma_lookback_len)

median = ta.sma(ratio_sma,len)
standartDeviation = ta.stdev(ratio_sma,len)
upperDeviation = median + mult*standartDeviation
lowerDeviation = median - mult*standartDeviation


isBuy = ta.crossunder(ratio_sma, upperDeviation)// and close < buyZone
isCloseShort = (ratio_sma > median and strategy.position_size < 0)
isSL = (strategy.position_avg_price * (1.0 - SL) > low and strategy.position_size > 0) or (strategy.position_avg_price * (1.0 + SL) < high and strategy.position_size < 0)
isSell = ta.crossover(ratio_sma,lowerDeviation) 
isTP = strategy.position_avg_price * (1 + TP) < high

if(isBuy)
    strategy.entry("Long", strategy.long)

if(isCloseShort)
    strategy.exit("Close Short",limit=close)

if(isSL)
    strategy.exit("SL",limit=close)

if(isTP)
    strategy.exit("TP",limit=close)
    
plot(ratio_sma,color=color.white)
plot(median,color=color.gray)
plot(upperDeviation,color=color.rgb(0,255,0,0))
plot(lowerDeviation,color=color.rgb(255,0,0,0))

bgcolor(isBuy?color.rgb(0,255,0,90):na)
bgcolor(isSell?color.rgb(255,0,0,90):na)