Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f8d7bd1

Browse files
style: format code with autopep8
Format code with autopep8 This commit fixes the style issues introduced in faf42a4 according to the output from Autopep8. Details: None
1 parent fd2d8fe commit f8d7bd1

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

‎Algorithmic Trading Simulation/algorithmic_trading_simulation.py‎

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,25 @@
1616
df.set_index('Date', inplace=True)
1717

1818
# Example trading strategy
19+
20+
1921
def simple_moving_average_strategy(data, short_window, long_window):
2022
signals = pd.DataFrame(index=data.index)
2123
signals['Signal'] = 0.0
22-
23-
signals['Short_MA'] = data['Close'].rolling(window=short_window, min_periods=1, center=False).mean()
24-
signals['Long_MA'] = data['Close'].rolling(window=long_window, min_periods=1, center=False).mean()
25-
26-
signals['Signal'][short_window:] = np.where(signals['Short_MA'][short_window:] > signals['Long_MA'][short_window:], 1.0, 0.0)
27-
24+
25+
signals['Short_MA'] = data['Close'].rolling(
26+
window=short_window, min_periods=1, center=False).mean()
27+
signals['Long_MA'] = data['Close'].rolling(
28+
window=long_window, min_periods=1, center=False).mean()
29+
30+
signals['Signal'][short_window:] = np.where(
31+
signals['Short_MA'][short_window:] > signals['Long_MA'][short_window:], 1.0, 0.0)
32+
2833
signals['Positions'] = signals['Signal'].diff()
29-
34+
3035
return signals
3136

37+
3238
# Define strategy parameters
3339
short_window = 10
3440
long_window = 50
@@ -45,8 +51,10 @@ def simple_moving_average_strategy(data, short_window, long_window):
4551
portfolio_value = []
4652
for index, row in signals.iterrows():
4753
if row['Positions'] == 1:
48-
max_position_size = (risk_per_trade * initial_portfolio_value) / (row['Close'] - row['Low'])
49-
position = min(max_position_size, initial_portfolio_value / row['Close'])
54+
max_position_size = (
55+
risk_per_trade * initial_portfolio_value) / (row['Close'] - row['Low'])
56+
position = min(max_position_size,
57+
initial_portfolio_value / row['Close'])
5058
initial_portfolio_value -= position * row['Close']
5159
elif row['Positions'] == -1:
5260
initial_portfolio_value += position * row['Close']
@@ -66,7 +74,8 @@ def simple_moving_average_strategy(data, short_window, long_window):
6674
plt.title('Price Data and Moving Averages')
6775

6876
plt.subplot(2, 1, 2)
69-
plt.plot(signals.index, signals['PortfolioValue'], label='Portfolio Value', linestyle='--', color='green')
77+
plt.plot(signals.index, signals['PortfolioValue'],
78+
label='Portfolio Value', linestyle='--', color='green')
7079
plt.legend()
7180
plt.title('Portfolio Value')
7281

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /