Định hướng ETF theo chiến lược

Tác giả:ChaoZhang, Ngày: 2023-12-05 15:13:25
Tags:

img

Tổng quan

Đây là một xu hướng ETF chỉ số động lực theo chiến lược dựa trên trung bình động. Nó sử dụng sự chéo chéo và độ nghiêng của trung bình động nhanh và chậm để xác định hướng xu hướng cho xu hướng động lực rủi ro thấp theo xu hướng của tài sản ETF chỉ số.

Chiến lược logic

Chiến lược này sử dụng trung bình di chuyển 50 giai đoạn và 150 giai đoạn. Khi trung bình di chuyển nhanh vượt qua trung bình di chuyển chậm, và độ nghiêng của trung bình di chuyển nhanh lớn hơn ngưỡng, nó báo hiệu sự đảo ngược xu hướng tăng cho bước vào dài. Khi trung bình di chuyển nhanh vượt dưới trung bình di chuyển chậm, hoặc độ nghiêng của trung bình di chuyển nhanh thấp hơn ngưỡng, nó báo hiệu sự đảo ngược xu hướng giảm cho các vị trí ra.

Chiến lược chỉ đơn giản là sử dụng hướng và độ nghiêng của đường trung bình động để xác định xu hướng thị trường, tránh quá mức và kiểm soát hiệu quả rủi ro.

Phân tích lợi thế

Đây là xu hướng ETF chỉ số đà rủi ro thấp theo chiến lược với những lợi thế sau:

  1. Khả năng kiểm soát rủi ro mạnh mẽ. Trung bình động lọc tiếng ồn thị trường để kiểm soát rủi ro hiệu quả.
  2. Chi phí thực hiện thấp. Chỉ sử dụng các đường trung bình di chuyển đơn giản, dẫn đến chi phí thấp và dễ thực hiện.
  3. Lợi nhuận ổn định. Các quỹ ETF chỉ số có biến động thấp, kết hợp với xu hướng theo dõi, lợi nhuận vượt quá ổn định có thể đạt được.
  4. Khả năng thích nghi cao. Nhiều thông số điều chỉnh cho phép tối ưu hóa cho các ETF chỉ số khác nhau.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro:

  1. Sử dụng trung bình động để xác định xu hướng có thể bỏ lỡ sự đảo ngược nhanh chóng.
  2. Nhạy cảm đối với các tham số. Các thiết lập tham số không chính xác có thể dẫn đến giao dịch quá mức hoặc bỏ lỡ cơ hội.
  3. Sự phụ thuộc hiệu suất vào điều kiện thị trường. Có thể hoạt động kém hơn trong các thị trường hỗn loạn / bên cạnh.

Giải pháp:

  1. Bao gồm các chỉ số khác để xác định sự đảo ngược nhanh chóng.
  2. Kiểm tra và tối ưu hóa các thông số.
  3. Điều chỉnh động các tham số dựa trên các điều kiện thị trường thay đổi.

Hướng dẫn tối ưu hóa

Có một vài lĩnh vực mà chiến lược này có thể được tối ưu hóa thêm:

  1. Sử dụng các chỉ số khác như MACD, KD để bổ sung cho chiến lược.
  2. Kết hợp logic dừng lỗ để kiểm soát rủi ro hơn nữa.
  3. Tối ưu hóa thời gian trung bình động để điều chỉnh nhiều ETF chỉ số hơn.
  4. Điều chỉnh động các tham số để phù hợp với môi trường thị trường khác nhau.

Kết luận

Tóm lại, đây là một chiến lược theo xu hướng ETF chỉ số đà giảm rủi ro, dễ thực hiện. Nó xác định hướng xu hướng bằng cách sử dụng đường chéo trung bình động và có những ưu điểm như kiểm soát rủi ro mạnh mẽ, chi phí thực hiện thấp và lợi nhuận ổn định. Mặc dù có một số lỗ hổng, chiến lược có thể được cải thiện thêm trong nhiều khía cạnh để trở thành một công cụ hiệu quả cho phân bổ tài sản ETF chỉ số.


/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//please use on daily SPY, or other indexes only
strategy("50-150 INDEX TREND FOLLOWING", overlay=true)

//user input
fastSMA = input(title="Fast Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=50,confirm=false)
slowSMA = input(title="Slow Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=150,confirm=false)
longSlopeThreshold = input(title="Bullish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=5,confirm=false)
shortSlopeThreshold = input(title="Bearish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=-5,confirm=false)
atrValue = input(title="Average True Range (Int)",type=input.integer,minval=1,maxval=100,step=1,defval=14,confirm=false)
risk = input(title="Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=100,confirm=false)

//create indicator
shortSMA = sma(close, fastSMA)
longSMA = sma(close, slowSMA)

//calculate ma slope
angle(_source) =>
    rad2degree=180/3.14159265359
    ang=rad2degree*atan((_source[0] - _source[1])/atr(atrValue)) 

shortSlope=angle(shortSMA)
longSlope=angle(longSMA)

//specify crossover conditions
longCondition = (crossover(shortSMA, longSMA) and (shortSlope > longSlopeThreshold)) or ((close > shortSMA) and (shortSMA > longSMA) and (shortSlope > longSlopeThreshold))
exitCondition = crossunder(shortSMA, longSMA) or (shortSlope < shortSlopeThreshold)
strategy.initial_capital = 50000
//units to buy
amount = (risk / 100) * (strategy.initial_capital + strategy.netprofit)
units = floor(amount / close)

//long trade
if (longCondition and strategy.position_size == 0)
    strategy.order("Long", strategy.long, units)

//close long trade
if (exitCondition and strategy.position_size > 0)
    strategy.order("Exit", strategy.short, strategy.position_size)

// Plot Moving Average's to chart
plot(shortSMA, color=color.blue)
plot(longSMA, color=color.green)

Thêm nữa