Trading Strategies
๐ฅ Vibe Prompt
"Implement three trading strategies in Python: Golden Cross, RSI Mean Reversion, and Breakout. Backtest each and compare performance."
Strategy 1: Golden/Death Cross
def golden_cross_strategy(data):
"""Buy when MA5 > MA20, sell when MA5 < MA20"""
data['Signal'] = 0
data.loc[data['MA5'] > data['MA20'], 'Signal'] = 1
data.loc[data['MA5'] <= data['MA20'], 'Signal'] = -1
data['Position'] = data['Signal'].shift(1)
data['Return'] = data['Close'].pct_change()
data['Strategy_Return'] = data['Position'] * data['Return']
return data['Strategy_Return'].cumsum()
Strategy 2: RSI Mean Reversion
def rsi_mean_reversion(data):
"""Buy when RSI < 30 (oversold), sell when RSI > 70 (overbought)"""
data['Signal'] = 0
data.loc[data['RSI'] < 30, 'Signal'] = 1
data.loc[data['RSI'] > 70, 'Signal'] = -1
data['Position'] = data['Signal'].shift(1)
data['Return'] = data['Close'].pct_change()
data['Strategy_Return'] = data['Position'] * data['Return']
return data['Strategy_Return'].cumsum()
Strategy 3: Breakout
def breakout_strategy(data, window=20):
"""Buy when price breaks above recent high"""
data['High_20'] = data['High'].rolling(window).max()
data['Low_20'] = data['Low'].rolling(window).min()
data['Signal'] = 0
data.loc[data['Close'] > data['High_20'].shift(1), 'Signal'] = 1
data.loc[data['Close'] < data['Low_20'].shift(1), 'Signal'] = -1
data['Position'] = data['Signal'].shift(1)
data['Return'] = data['Close'].pct_change()
data['Strategy_Return'] = data['Position'] * data['Return']
return data['Strategy_Return'].cumsum()
Compare All Strategies
import matplotlib.pyplot as plt
results = pd.DataFrame({
'Golden Cross': golden_cross_strategy(data),
'RSI Reversion': rsi_mean_reversion(data),
'Breakout': breakout_strategy(data),
'Buy & Hold': data['Close'].pct_change().cumsum()
})
results.plot(figsize=(14, 6))
plt.title('Strategy Comparison')
plt.ylabel('Cumulative Return')
plt.grid(True, alpha=0.3)
plt.show()
print('Final Returns:')
print(results.iloc[-1])
Practice Exercise
๐ก Vibe Practice: Ask AI to create a strategy backtest report with Sharpe Ratio, Max Drawdown, Win Rate, and Profit Factor for each strategy.
Chapter Summary
- Understand core concepts and principles
- Master implementation methods and techniques
- Familiar with common issues and solutions
- Able to apply in real projects
Further Reading
- Official documentation and API references
- Open source examples on GitHub
- Technical books and online courses
- Community discussions and tech blogs