forked from mmdfish/StockIndicatorAnalyzer
/
run_first_time.py
46 lines (39 loc) · 1.53 KB
/
run_first_time.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import parse_stock_data
import calculate_stock_spec
import datetime
import os
import baostock as bs
import createDB
if __name__=='__main__':
createDB.createDB()
current_date = datetime.date.today().strftime('%Y-%m-%d')
hour = datetime.datetime.now().hour
#baostock data maybe not update right after the trade market close.
if hour < 20:
dd = datetime.date.today() + datetime.timedelta(-1)
current_date = dd.strftime('%Y-%m-%d')
start_date = "2017-01-01"
data_list = []
bs.login()
rs = bs.query_trade_dates(start_date=start_date, end_date=current_date)
while (rs.error_code == '0') & rs.next():
data_list.append(rs.get_row_data())
bs.logout()
lastTradeDate = current_date
for i in range(len(data_list)-1,-1,-1):
if data_list[i][1] == '1':
lastTradeDate = data_list[i][0]
break
if start_date <= lastTradeDate:
print("start to refresh all stock")
parse_stock_data.refresh_all_stock(lastTradeDate)
print("start to refresh all stock day K")
parse_stock_data.refresh_all_stock_day_k(start_date, lastTradeDate)
print("start to calculate sh")
calculate_stock_spec.calculate_all_spec('sh', 'sh.000001')
print("start to calculate sz")
calculate_stock_spec.calculate_all_spec('sz', 'sz.399001')
folderpath = os.path.dirname(os.path.realpath(__file__))
file_path = os.path.join(folderpath, "date.txt")
with open(file_path,"w") as f:
f.write(current_date)