This commit is contained in:
dosangyoon
2022-07-08 03:21:23 +09:00
parent bf11e5fbbe
commit a432ad2939
5 changed files with 15 additions and 35 deletions

View File

@@ -1,9 +1,5 @@
import pandas as pd
from stockpredictor.analysis.Common import Common
from plotly import tools, subplots
import plotly.offline as offline
import plotly.graph_objs as go
import plotly.io as po
# [청송촌놈] 파생을 알아야 시장이 보인다. 청송이 종목 고르는법! https://www.youtube.com/watch?v=weABtgZDeGg
# 6. Pandas와 Plotly를 이용한 MACD 차트 그리기 https://excelsior-cjh.tistory.com/110
@@ -20,31 +16,6 @@ class MACD:
self.common = Common()
return
def draw(self, stock):
item_name = stock["NAME"]
item_code = stock["CODE"]
df = pd.DataFrame(stock["PRICE"])
macd = go.Scatter(x=df.DATE, y=df['macd'], name="MACD")
signal = go.Scatter(x=df.DATE, y=df['macds'], name="Signal")
oscillator = go.Bar(x=df.DATE, y=df['macdo'], name="oscillator")
trade_volume = go.Bar(x=df.DATE, y=df['volume'], name="volume")
data = [macd, signal, oscillator]
layout = go.Layout(title='{} MACD 그래프'.format(item_name))
fig = subplots.make_subplots(rows=2, cols=1, shared_xaxes=True)
for trace in data:
fig.append_trace(trace, 1,1)
fig.append_trace(trade_volume, 2,1)
fig = go.Figure(data=data, layout=layout)
path = "/Users/dsyoon/workspace/StockPredictor/resources/analysis/html"
po.write_html(fig, file=path + "/macd_" + item_code+'.html', auto_open=False)
return fig
# macd 0선 위에서 매수를 한다. 0이하는 절대 처다보지 않는다.
def apply(self, df, short=12, long=26, t=9):
# 입력받은 값이 dataframe이라는 것을 정의해줌