init
This commit is contained in:
@@ -86,8 +86,6 @@ if __name__ == "__main__":
|
|||||||
while True:
|
while True:
|
||||||
print("insert...", stock["stock_code"], stock["stock_name"], this_day.strftime('%Y%m%d'))
|
print("insert...", stock["stock_code"], stock["stock_name"], this_day.strftime('%Y%m%d'))
|
||||||
hts.insertStockData(this_day, stock["stock_code"], stock["stock_name"])
|
hts.insertStockData(this_day, stock["stock_code"], stock["stock_name"])
|
||||||
print("updateDisparity...", stock["stock_code"], stock["stock_name"], this_day.strftime('%Y%m%d'))
|
|
||||||
hts.updateDisparity(stock["stock_code"])
|
|
||||||
this_day = this_day + timedelta(days=1)
|
this_day = this_day + timedelta(days=1)
|
||||||
if this_day > stock["end_date"]:
|
if this_day > stock["end_date"]:
|
||||||
break
|
break
|
||||||
|
|||||||
46
hts/HTS.py
46
hts/HTS.py
@@ -475,7 +475,7 @@ class HTS:
|
|||||||
def insertStockData(self, this_day, stock_code, stock_name=''):
|
def insertStockData(self, this_day, stock_code, stock_name=''):
|
||||||
|
|
||||||
# 테이블 생성
|
# 테이블 생성
|
||||||
self.cursor.execute("CREATE TABLE IF NOT EXISTS hts (CODE text, NAME text, ymd text, hms text, close REAL, open REAL, high REAL, low REAL, volume REAL, disparity_avg5 REAL, disparity_avg20 REAL, disparity_avg60 REAL, disparity_avg120 REAL, disparity_avg240 REAL, disparity_avg480 REAL, disparity_avg1500 REAL)")
|
self.cursor.execute("CREATE TABLE IF NOT EXISTS hts (CODE text, NAME text, ymd text, hms text, close REAL, open REAL, high REAL, low REAL, volume REAL)")
|
||||||
|
|
||||||
# 키 생성
|
# 키 생성
|
||||||
create_key = "CREATE INDEX IF NOT EXISTS hts_idx on hts(CODE, ymd, hms) "
|
create_key = "CREATE INDEX IF NOT EXISTS hts_idx on hts(CODE, ymd, hms) "
|
||||||
@@ -498,50 +498,6 @@ class HTS:
|
|||||||
self.conn.commit()
|
self.conn.commit()
|
||||||
return
|
return
|
||||||
|
|
||||||
def getQ(self):
|
|
||||||
q_5 = MovingAverage(5)
|
|
||||||
q_20 = MovingAverage(20)
|
|
||||||
q_60 = MovingAverage(60)
|
|
||||||
q_120 = MovingAverage(120)
|
|
||||||
q_240 = MovingAverage(240)
|
|
||||||
q_480 = MovingAverage(480)
|
|
||||||
q_1500 = MovingAverage(1500)
|
|
||||||
q = {'q_5': q_5, 'q_20': q_20, 'q_60': q_60, 'q_120': q_120, 'q_240': q_240, 'q_480': q_480, 'q_1500': q_1500}
|
|
||||||
|
|
||||||
return q
|
|
||||||
|
|
||||||
def updateDisparity(self, ticker_code):
|
|
||||||
|
|
||||||
self.cursor.execute('SELECT ymd, hms, close FROM hts WHERE CODE=? order by ymd, hms', (ticker_code,))
|
|
||||||
|
|
||||||
q = self.getQ()
|
|
||||||
db_result = self.cursor.fetchall()
|
|
||||||
for rows in db_result:
|
|
||||||
ymd = rows[0]
|
|
||||||
hms = rows[1]
|
|
||||||
close = rows[2]
|
|
||||||
|
|
||||||
q['q_5'].enqueue(close)
|
|
||||||
q['q_20'].enqueue(close)
|
|
||||||
q['q_60'].enqueue(close)
|
|
||||||
q['q_120'].enqueue(close)
|
|
||||||
q['q_240'].enqueue(close)
|
|
||||||
q['q_480'].enqueue(close)
|
|
||||||
q['q_1500'].enqueue(close)
|
|
||||||
|
|
||||||
disparity_avg5 = close / q['q_5'].avg()
|
|
||||||
disparity_avg20 = close / q['q_20'].avg()
|
|
||||||
disparity_avg60 = close / q['q_60'].avg()
|
|
||||||
disparity_avg120 = close / q['q_120'].avg()
|
|
||||||
disparity_avg240 = close / q['q_240'].avg()
|
|
||||||
disparity_avg480 = close / q['q_480'].avg()
|
|
||||||
disparity_avg1500 = close / q['q_1500'].avg()
|
|
||||||
|
|
||||||
self.cursor.execute( "update hts set disparity_avg5=?, disparity_avg20=?, disparity_avg60=?, disparity_avg120=?, disparity_avg240=?, disparity_avg480=?, disparity_avg1500=? where CODE=? and ymd=? and hms=?", (disparity_avg5, disparity_avg20, disparity_avg60, disparity_avg120, disparity_avg240, disparity_avg480, disparity_avg1500, ticker_code, ymd, hms, ))
|
|
||||||
self.conn.commit()
|
|
||||||
|
|
||||||
return
|
|
||||||
|
|
||||||
def write(self, day, result):
|
def write(self, day, result):
|
||||||
#날짜,시간,시가,고가,저가,종가,거래량
|
#날짜,시간,시가,고가,저가,종가,거래량
|
||||||
#20210909,900,2070,2070,2070,2070,0
|
#20210909,900,2070,2070,2070,2070,0
|
||||||
|
|||||||
Reference in New Issue
Block a user