-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindicator_engineering.py
More file actions
41 lines (33 loc) · 986 Bytes
/
indicator_engineering.py
File metadata and controls
41 lines (33 loc) · 986 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# ============================================================
# TECHNICAL INDICATOR ENGINEERING
# ============================================================
import pandas as pd
import stockstats
DATA_FILE = "data/ohlcv_data.csv"
OUTPUT_FILE = "data/indicator_data.csv"
df = pd.read_csv(DATA_FILE, parse_dates=["Date"])
frames = []
for ticker in df["ticker"].unique():
subset = df[df["ticker"] == ticker]
stock = stockstats.StockDataFrame.retype(subset)
stock["close_14_sma"]
stock["boll"]
stock["boll_ub"]
stock["boll_lb"]
stock["stochrsi_14"]
stock["rsi_14"]
stock["vwma_14"]
stock["atr_14"]
stock["kdjk_14"]
stock["kdjd_14"]
stock["kdjj_14"]
stock["trix_14"]
stock["macd"]
stock["macds"]
stock["macdh"]
stock["close_14_roc"]
stock["cci_14"]
frames.append(stock)
final_df = pd.concat(frames, ignore_index=True)
final_df.to_csv(OUTPUT_FILE, index=False)
print("Indicator engineering complete.")