Add script for generating Double 5's swing trading signals
This commit is contained in:
parent
c09d469894
commit
0f5335cfe2
22
strategies/double_5s.py
Normal file
22
strategies/double_5s.py
Normal file
@ -0,0 +1,22 @@
|
||||
import pandas as pd
|
||||
|
||||
def signals(data: pd.DataFrame) -> pd.Series:
|
||||
"""
|
||||
Generate trading signals based on the following rules:
|
||||
1. SPY is above its 200-day moving average.
|
||||
2. Enter a long position if SPY closes at a 5-day low.
|
||||
|
||||
This strategy is based on the Double 7's strategy by Larry Connors.
|
||||
|
||||
Returns a Series with 'L' for long signals and 'N' for no signal.
|
||||
"""
|
||||
ma_200 = data['Close'].rolling(window = 200).mean()
|
||||
low_5_day = data['Close'].rolling(window = 5).min()
|
||||
|
||||
above_200_ma = data['Close'] > ma_200
|
||||
at_5_day_low = data['Close'] == low_5_day
|
||||
|
||||
signals = pd.Series('N', index = data.index)
|
||||
signals[above_200_ma & at_5_day_low] = 'L'
|
||||
|
||||
return signals
|
Loading…
Reference in New Issue
Block a user