FinanceDataReader
FinanceDataReader copied to clipboard
Fix: change graphing library from 'bokeh' to 'plotly'
bokeh에서 plotly로 라이브러리 전환하는 과정에서 시각화하는 기본적인 틀을 작성하였습니다.
기술적 지표는 pandas-ta 라이브러리를 통해 값을 계산하여 결합된 형태의 데이터를 반환하는 것까지만 구성되어있습니다. 이후, 각 기술적 지표에 맞는 그래프 시각화를 할 필요가 있습니다.
주요 함수는 다음과 같습니다
def plot(df: pd.DataFrame, start: str = None, end: str = None, indicators: list = None, **kwargs):
df = df.loc[start:end].copy()
# 1. 기술적 지표에 대한 데이터프레임 만들기
for indicator in indicators:
if indicator in dir(df.ta):
continue
else:
raise AttributeError(f"indicator {indicator} is invalid")
else:
df = calculate_indicator_value(df, indicators)
# 2. 각 기술적 지표에 대한 데이터프레임에 맞는 Chart 그림 그리기.
# plotly_chart(df)
plotly_chart(df, n=len(indicators))
# 3. 어노테이션
그 외 함수 목록은 다음과 같습니다.
calculate_indicator_value(df: pd.DataFrame, indicators: list)
plotly_chart(df: pd.DataFrame, n: int = 2)
plotly_subplot(rows: int = 2, cols: int = 1)
plotly_candlestick(df: pd.DataFrame, config: dict = None)
plotly_bar(df: pd.DataFrame, config: dict = None)
plotly_scatter(df: pd.DataFrame, config: dict = None)
plotly_xaxes(df, fig)
plotly_yaxes(df, fig)
plotly_layout(df, fig)