|
@@ -20,9 +20,11 @@ class BondHistData:
|
|
|
def toGet(self):
|
|
|
try:
|
|
|
db = dbOperation(db_config.db_zhaiquan)
|
|
|
- stockPojoList = db.query_list("select id, code, name, list_date listDate from t_stock_base_info where list_date != '待上市'")
|
|
|
+ stockPojoList = db.query_list("select id, code, name, list_date listDate from t_stock_base_info where 1=1")
|
|
|
getDataTime = time.strftime('%Y-%m-%d',time.localtime(time.time()))
|
|
|
for stockPojo in stockPojoList:
|
|
|
+ if(stockPojo['listDate'] == '待上市'):
|
|
|
+ stockPojo['listDate'] = '1991-01-01'
|
|
|
if stockPojo['listDate'] > getDataTime:
|
|
|
continue
|
|
|
isAdd = False
|
|
@@ -34,76 +36,81 @@ class BondHistData:
|
|
|
dd = datetime.datetime.strptime(startDate, "%Y-%m-%d")
|
|
|
dd = (dd + datetime.timedelta(days=1)).strftime("%Y-%m-%d")
|
|
|
startDate = dd
|
|
|
- data = c.csd(
|
|
|
- str(stockPojo['code']),
|
|
|
- "OPEN,CLOSE,HIGH,LOW,PRECLOSE,AVERAGE,CHANGE,PCTCHANGE,VOLUME,AMOUNT",
|
|
|
- startDate,
|
|
|
- getDataTime,
|
|
|
- "Period=1,adjustflag=1,curtype=1,Ispandas=1")
|
|
|
- print("返回数据:" + str(data))
|
|
|
- data.reset_index(inplace=True)
|
|
|
- # print(data)
|
|
|
- jsonData = data.to_json()
|
|
|
- text = json.loads(jsonData)
|
|
|
stockHistPojoList = []
|
|
|
- for i in range(len(text['CODES'])):
|
|
|
- isAdd = True
|
|
|
- stockHistPojo = StockHistPojo()
|
|
|
- stockHistPojo.codes = text['CODES'][str(i)].replace(".", "_")
|
|
|
- stockHistPojo.open = text['OPEN'][str(i)]
|
|
|
- stockHistPojo.close = text['CLOSE'][str(i)]
|
|
|
- stockHistPojo.high = text['HIGH'][str(i)]
|
|
|
- stockHistPojo.low = text['LOW'][str(i)]
|
|
|
- stockHistPojo.preclose = text['PRECLOSE'][str(i)]
|
|
|
- if "None".strip() == str(text['AVERAGE'][str(i)]).strip():
|
|
|
- continue
|
|
|
- stockHistPojo.average = text['AVERAGE'][str(i)]
|
|
|
- stockHistPojo.change = text['CHANGE'][str(i)]
|
|
|
- stockHistPojo.pctchange = text['PCTCHANGE'][str(i)]
|
|
|
- stockHistPojo.volume = text['VOLUME'][str(i)]
|
|
|
- stockHistPojo.highlimit = "0"
|
|
|
- stockHistPojo.amount = text['AMOUNT'][str(i)]
|
|
|
- stockHistPojo.turn = "0"
|
|
|
- stockHistPojo.tradestatus = "0"
|
|
|
- stockHistPojo.lowlimit = "0"
|
|
|
- stockHistPojo.amplitude = "0"
|
|
|
- stockHistPojo.tnum = "0"
|
|
|
- stockHistPojo.tafactor = "0"
|
|
|
- stockHistPojo.fronttafactor = "0"
|
|
|
- stockHistPojo.isststock = "0"
|
|
|
- stockHistPojo.isxststock = "0"
|
|
|
- stockHistPojo.dates = text['DATES'][str(i)]
|
|
|
+ try :
|
|
|
+ data = c.csd(
|
|
|
+ str(stockPojo['code']),
|
|
|
+ "OPEN,CLOSE,HIGH,LOW,PRECLOSE,AVERAGE,CHANGE,PCTCHANGE,VOLUME,AMOUNT",
|
|
|
+ startDate,
|
|
|
+ getDataTime,
|
|
|
+ "Period=1,adjustflag=1,curtype=1,Ispandas=1")
|
|
|
+ print("返回数据:" + str(data))
|
|
|
+ data.reset_index(inplace=True)
|
|
|
+ # print(data)
|
|
|
+ jsonData = data.to_json()
|
|
|
+ text = json.loads(jsonData)
|
|
|
+ for i in range(len(text['CODES'])):
|
|
|
+ isAdd = True
|
|
|
+ stockHistPojo = StockHistPojo()
|
|
|
+ stockHistPojo.codes = text['CODES'][str(i)].replace(".", "_")
|
|
|
+ stockHistPojo.open = text['OPEN'][str(i)]
|
|
|
+ stockHistPojo.close = text['CLOSE'][str(i)]
|
|
|
+ stockHistPojo.high = text['HIGH'][str(i)]
|
|
|
+ stockHistPojo.low = text['LOW'][str(i)]
|
|
|
+ stockHistPojo.preclose = text['PRECLOSE'][str(i)]
|
|
|
+ if "None".strip() == str(text['AVERAGE'][str(i)]).strip():
|
|
|
+ continue
|
|
|
+ stockHistPojo.average = text['AVERAGE'][str(i)]
|
|
|
+ stockHistPojo.change = text['CHANGE'][str(i)]
|
|
|
+ stockHistPojo.pctchange = text['PCTCHANGE'][str(i)]
|
|
|
+ stockHistPojo.volume = text['VOLUME'][str(i)]
|
|
|
+ stockHistPojo.highlimit = "0"
|
|
|
+ stockHistPojo.amount = text['AMOUNT'][str(i)]
|
|
|
+ stockHistPojo.turn = "0"
|
|
|
+ stockHistPojo.tradestatus = "0"
|
|
|
+ stockHistPojo.lowlimit = "0"
|
|
|
+ stockHistPojo.amplitude = "0"
|
|
|
+ stockHistPojo.tnum = "0"
|
|
|
+ stockHistPojo.tafactor = "0"
|
|
|
+ stockHistPojo.fronttafactor = "0"
|
|
|
+ stockHistPojo.isststock = "0"
|
|
|
+ stockHistPojo.isxststock = "0"
|
|
|
+ stockHistPojo.dates = text['DATES'][str(i)]
|
|
|
|
|
|
- datTime = time.mktime(time.strptime(stockHistPojo.dates, "%Y/%m/%d"))
|
|
|
- year = time.localtime(datTime).tm_year # 获取年份
|
|
|
- yearDatTime = time.mktime(time.strptime(str(year) + "/01/01", "%Y/%m/%d"))
|
|
|
+ datTime = time.mktime(time.strptime(stockHistPojo.dates, "%Y/%m/%d"))
|
|
|
+ year = time.localtime(datTime).tm_year # 获取年份
|
|
|
+ yearDatTime = time.mktime(time.strptime(str(year) + "/01/01", "%Y/%m/%d"))
|
|
|
|
|
|
- month = time.localtime(datTime).tm_mon # 获取月份
|
|
|
- monthDatTime = ""
|
|
|
- if 10 > month:
|
|
|
- datTime = time.mktime(time.strptime(str(year) + "/0" + str(month) + "/01", "%Y/%m/%d"))
|
|
|
- monthDatTime = int(datTime)
|
|
|
- else:
|
|
|
- datTime = time.mktime(time.strptime(str(year) + "/" + str(month) + "/01", "%Y/%m/%d"))
|
|
|
- monthDatTime = int(datTime)
|
|
|
+ month = time.localtime(datTime).tm_mon # 获取月份
|
|
|
+ monthDatTime = ""
|
|
|
+ if 10 > month:
|
|
|
+ datTime = time.mktime(time.strptime(str(year) + "/0" + str(month) + "/01", "%Y/%m/%d"))
|
|
|
+ monthDatTime = int(datTime)
|
|
|
+ else:
|
|
|
+ datTime = time.mktime(time.strptime(str(year) + "/" + str(month) + "/01", "%Y/%m/%d"))
|
|
|
+ monthDatTime = int(datTime)
|
|
|
|
|
|
- weekDatTime = time.mktime(time.strptime(stockHistPojo.dates, "%Y/%m/%d"))
|
|
|
- wday = time.localtime(weekDatTime).tm_wday # 获取周
|
|
|
- dt = datetime.datetime.strptime(stockHistPojo.dates, "%Y/%m/%d")
|
|
|
- out_date = (dt + datetime.timedelta(days=-wday)).strftime("%Y/%m/%d")
|
|
|
- weekDatTime1 = time.mktime(time.strptime(out_date, "%Y/%m/%d"))
|
|
|
+ weekDatTime = time.mktime(time.strptime(stockHistPojo.dates, "%Y/%m/%d"))
|
|
|
+ wday = time.localtime(weekDatTime).tm_wday # 获取周
|
|
|
+ dt = datetime.datetime.strptime(stockHistPojo.dates, "%Y/%m/%d")
|
|
|
+ out_date = (dt + datetime.timedelta(days=-wday)).strftime("%Y/%m/%d")
|
|
|
+ weekDatTime1 = time.mktime(time.strptime(out_date, "%Y/%m/%d"))
|
|
|
|
|
|
- #获取日
|
|
|
- dayDatTime = time.mktime(time.strptime(stockHistPojo.dates, "%Y/%m/%d"))
|
|
|
+ #获取日
|
|
|
+ dayDatTime = time.mktime(time.strptime(stockHistPojo.dates, "%Y/%m/%d"))
|
|
|
|
|
|
- stockHistPojo.dateYear = str(int(yearDatTime))
|
|
|
- stockHistPojo.dateMonth = str(int(monthDatTime))
|
|
|
- stockHistPojo.dateWeek = str(int(weekDatTime1))
|
|
|
- stockHistPojo.dateDay = str(int(dayDatTime))
|
|
|
-
|
|
|
- stockHistPojoList.append(stockHistPojo)
|
|
|
+ stockHistPojo.dateYear = str(int(yearDatTime))
|
|
|
+ stockHistPojo.dateMonth = str(int(monthDatTime))
|
|
|
+ stockHistPojo.dateWeek = str(int(weekDatTime1))
|
|
|
+ stockHistPojo.dateDay = str(int(dayDatTime))
|
|
|
+
|
|
|
+ stockHistPojoList.append(stockHistPojo)
|
|
|
+ except Exception as ee:
|
|
|
+ print("数据解析错误")
|
|
|
i = 0
|
|
|
key = "`realTime`,`dates`,`open`,`close`,`high`,`low`,`preclose`,`average`,`change`,`pctchange`,`volume`,`highlimit`,`amount`,`turn`,`tradestatus`,`lowlimit`,`amplitude`,`tnum`,`tafactor`,`fronttafactor`,`isststock`,`isxststock`,`date_year`,`date_month`,`date_week`"
|
|
|
+ if len(stockHistPojoList) == 0:
|
|
|
+ continue
|
|
|
while True :
|
|
|
vlues = ""
|
|
|
# print(i)
|
|
@@ -131,4 +138,4 @@ class BondHistData:
|
|
|
print("error >>>",ee)
|
|
|
traceback.print_exc()
|
|
|
else:
|
|
|
- print("demo end")
|
|
|
+ print("获取债券历史结束")
|