import tushare as ts
import pymongo
import json
import time
import random
import sys
# 初始化数据库
mongo_client = pymongo.MongoClient('mongodb://localhost:27017/')
# 计算 涨跌 比例 Calculate the ratio of rise and fall
def CalRiseFall(tradeDateList, tradeCloseList, tradeChange):
dayNum = 0
add = []
drop = [] #下跌
for addDay in tradeChange:
if addDay > 0 :
dayNum = dayNum + 1
add.append(addDay)
else:
drop.append(addDay)
print(add)
print(drop)
print('上涨天数:'+str(len(add)))
print('下跌天数:'+str(len(drop)))
print('上涨概率: {:.2%}'.format(dayNum / len(tradeChange)))
# 字符串转float
add_float = []
drop_float = []
for num in add:
add_float.append(float(num))
for num in drop:
drop_float.append(float(num))
# print(type(add_float[0]))
print('上涨点数'+str(sum(add_float)))
print('下跌点数'+str(sum(drop_float)))
print('比值'+str(sum(add_float)/(sum(add_float)+abs(sum(drop_float)))))
# 读取上证指数
def Read000001(DBname, collection, startDate, endDate):
mongo_db = mongo_client[DBname]
mongo_collection = mongo_db[collection]
tradeDateList = []
tradeCloseList = []
tradeChange = []
# 查找时间大于2020年的数据
FindResult = mongo_collection.find({'trade_date': {'$lte': endDate, '$gte': startDate}})
print(FindResult)
for m in FindResult:
# print(m['trade_date'])
tradeDateList.append(m['trade_date'])
tradeCloseList.append(m['close'])
tradeChange.append(m['change'])
return tradeDateList, tradeCloseList, tradeChange
def main():
# 读取数据 DJI道琼斯指数(类似上证指数) 和SPX标普500
tradeDateList, tradeCloseList, tradeChange = Read000001('TushreDB', "sh.000001", '20141103', '20150612')
print(tradeDateList)
print(tradeCloseList)
print(tradeChange)
#计算涨跌天数
CalRiseFall(tradeDateList, tradeCloseList, tradeChange)
if __name__ == '__main__':
main()
[66 量化交易]大盘在牛市中上涨天数概率
最新推荐文章于 2024-07-21 22:27:18 发布