fix: ewm bug and new collector
This commit is contained in:
parent
91f297f308
commit
e86ada382c
11
gen.py
11
gen.py
@ -103,6 +103,9 @@ def collect(data: DataStore, collector: OutputCollector, corp: database.KRXCorp
|
|||||||
d60 = stock["CLOSE"].loc[::-1].rolling(window=60
|
d60 = stock["CLOSE"].loc[::-1].rolling(window=60
|
||||||
).mean().dropna().loc[::-1]
|
).mean().dropna().loc[::-1]
|
||||||
|
|
||||||
|
if (d60.iloc[nday+2] > d60.iloc[nday+1] and d60.iloc[nday+1] < d60.iloc[nday]):
|
||||||
|
collector.collect("60일선반등",corp, stock.index[nday])
|
||||||
|
|
||||||
if (isRelativeDiffLessThan(d5, d20, 0.01, nday) and
|
if (isRelativeDiffLessThan(d5, d20, 0.01, nday) and
|
||||||
isRelativeDiffLessThan(d5, d60, 0.01, nday)):
|
isRelativeDiffLessThan(d5, d60, 0.01, nday)):
|
||||||
collector.collect("cross 2", corp, stock.index[nday])
|
collector.collect("cross 2", corp, stock.index[nday])
|
||||||
@ -133,10 +136,10 @@ def collect(data: DataStore, collector: OutputCollector, corp: database.KRXCorp
|
|||||||
if (isVolumeNTimes(stock, 5, nday)):
|
if (isVolumeNTimes(stock, 5, nday)):
|
||||||
collector.collect("volumeX5", corp, stock.index[nday])
|
collector.collect("volumeX5", corp, stock.index[nday])
|
||||||
|
|
||||||
ewm12 = stock["CLOSE"].loc[::-1].ewm(span=12).mean().loc[::-1]
|
ewm5 = stock["CLOSE"].loc[::-1].ewm(span=5).mean().loc[::-1]
|
||||||
ewm26 = stock["CLOSE"].loc[::-1].ewm(span=26).mean().loc[::-1]
|
ewm10 = stock["CLOSE"].loc[::-1].ewm(span=10).mean().loc[::-1]
|
||||||
macd = (ewm12 - ewm26)
|
macd = (ewm5 - ewm10)
|
||||||
signal = macd.ewm(span=9).mean()
|
signal = macd.loc[::-1].ewm(span=4).mean().loc[::-1]
|
||||||
|
|
||||||
if (isMACDCrossSignal(macd, signal, nday)):
|
if (isMACDCrossSignal(macd, signal, nday)):
|
||||||
collector.collect("macd", corp, stock.index[nday])
|
collector.collect("macd", corp, stock.index[nday])
|
||||||
|
7
pages.py
7
pages.py
@ -35,6 +35,11 @@ d20d5의 조건에서 더해서 거래량이 이전 날짜보다 5배 증가한
|
|||||||
"""},
|
"""},
|
||||||
{name:"macd",desc: """\
|
{name:"macd",desc: """\
|
||||||
signal과 macd가 서로 교차한 시점을 찾습니다. 즉 signal이 아래로 떨어지고
|
signal과 macd가 서로 교차한 시점을 찾습니다. 즉 signal이 아래로 떨어지고
|
||||||
macd가 위로 올라가는 시점을 찾습니다.
|
macd가 위로 올라가는 시점을 찾습니다. macd 는 5일선과 10일선으로 이루어지고
|
||||||
|
시그널을 구하기 위한 이동 평균은 4일입니다.
|
||||||
"""},
|
"""},
|
||||||
|
{
|
||||||
|
name:"60일선반등",desc: """\
|
||||||
|
60일선이 반등하는 시점을 찾습니다."""
|
||||||
|
}
|
||||||
]
|
]
|
657
test.ipynb
657
test.ipynb
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user