init
This commit is contained in:
@@ -30,7 +30,7 @@ class HTS_DAILY (HTS):
|
||||
self.dailyStatus = DailyStatus(RESOURCE_PATH)
|
||||
self.buySellChecker = BuySellChecker()
|
||||
|
||||
self.analyzed_day = 60
|
||||
self.analyzed_day = 120
|
||||
self.MAX_BUY_PRICE = 100000
|
||||
return
|
||||
|
||||
@@ -94,7 +94,7 @@ class HTS_DAILY (HTS):
|
||||
# 분석일 데이터만 활용한다 (이전 데이터는 제거)
|
||||
data.drop(data.index[:self.analyzed_day], inplace=True)
|
||||
|
||||
bsLine, data = self.buySellChecker.checkTransactionWithEnvelope(data, stock_code, isRealTime=False)
|
||||
bsLine, data = self.buySellChecker.checkTransactionWithEnvelope(data, stock_code, self.analyzed_day, isRealTime=False)
|
||||
|
||||
if len(data.index) > 10 and max(bsLine['buy'][len(bsLine['buy']) - 2:]) > 0:
|
||||
last_index = len(bsLine['buy'])-1
|
||||
|
||||
@@ -1061,7 +1061,7 @@ class BuySellChecker:
|
||||
return False
|
||||
return True
|
||||
|
||||
def checkWithEnvelope(self, data, isRealTime=False):
|
||||
def checkWithEnvelope(self, data, analyzed_day=120, isRealTime=False):
|
||||
|
||||
bsLine = {}
|
||||
size = len(data["close"])
|
||||
@@ -1071,7 +1071,7 @@ class BuySellChecker:
|
||||
bsLine['sell'] = [-1 for i in range(size)]
|
||||
bsLine['sell_weight'] = [-1 for i in range(size)]
|
||||
|
||||
gap_interval = 60
|
||||
gap_interval = analyzed_day
|
||||
gap_state = False
|
||||
for i in range(size):
|
||||
if isRealTime:
|
||||
@@ -1080,7 +1080,7 @@ class BuySellChecker:
|
||||
|
||||
if i > 10:
|
||||
# 만약 전일 저가와 오늘 종의 차이가 1만원이 넘으면 향후 60일은 분석하지 않는다.
|
||||
if data['low'][i-1] - data['high'][i] > 10000:
|
||||
if data['high'][i] < int(data['low'][i-1] * 0.7):
|
||||
gap_state = True
|
||||
gap_interval -= 1
|
||||
continue
|
||||
@@ -1223,14 +1223,14 @@ class BuySellChecker:
|
||||
|
||||
return bsLine, data
|
||||
|
||||
def checkTransactionWithEnvelope(self, data, stock_code, isRealTime=False):
|
||||
def checkTransactionWithEnvelope(self, data, stock_code, analyzed_day, isRealTime=False):
|
||||
if isRealTime:
|
||||
if stock_code == "252670":
|
||||
bsLine, data = self.checkWithEnvelope_252670(data, isRealTime)
|
||||
elif stock_code == "122630":
|
||||
bsLine, data = self.checkWithEnvelope_122630(data, isRealTime)
|
||||
else:
|
||||
bsLine, data = self.checkWithEnvelope(data, isRealTime)
|
||||
bsLine, data = self.checkWithEnvelope(data, analyzed_day, isRealTime)
|
||||
else:
|
||||
# 사야 할 시점과 팔아야 할 시점을 체크한다.
|
||||
if stock_code == "252670":
|
||||
@@ -1238,6 +1238,6 @@ class BuySellChecker:
|
||||
elif stock_code == "122630":
|
||||
bsLine, data = self.checkWithEnvelope_122630(data, isRealTime)
|
||||
else:
|
||||
bsLine, data = self.checkWithEnvelope(data, isRealTime)
|
||||
bsLine, data = self.checkWithEnvelope(data, analyzed_day, isRealTime)
|
||||
|
||||
return bsLine, data
|
||||
Reference in New Issue
Block a user