聚宽数据与mongo数据核对

代码:

	import sys
	import datetime
	import pymongo
	import pprint
	
	import pandas as pd
	import jqdatasdk as jqsdk
	
	# 聚宽数据
	jqsdk.auth(' ', ' ')  # 申请聚宽数据账号
	df1 = jqsdk.get_price("002694.XSHE", start_date="2013-03-25", end_date="2019-05-01",
	                      frequency='daily', fields=['paused'])
	df1.rename(index={}, columns={"paused": "ok"})
	df1.index.name = "date"
	df1['paused'] = df1['paused'].map({0: True, 1: False})
	
	# mongo 数据
	MongoUri = "mongodb://127.0.0.1:27017"
	db = pymongo.MongoClient(MongoUri)
	cld = db.JQdata.calendar
	res_info = list(cld.find({"code": "SZ002694",
	                          "date_int": {"$gte": 20130325, "$lte": 20190501}},
	                         {"_id": 0, "date": 1, "ok": 1}))
	
	
	# (1)
	dates = [res.get("date") for res in res_info]
	dates = sorted(list(set(dates)))
	dates_index = pd.DatetimeIndex(dates)
	
	oks = [res.get("ok") for res in res_info]
	
	data = {
	    "date": dates_index,
	    "ok": pd.Series(oks),
	}
	
	df = pd.DataFrame(data)
	df = df.set_index("date")
	
	# merge 解决冲突
	ddf = pd.merge(df, df1, how="right", on="date")
	
	print(ddf[ddf['ok'] != ddf['paused']])
	
	
	# (2)
	# dates = [res.get("date") for res in res_info]
	# dates = sorted(list(set(dates)))
	# oks = [res.get("ok") for res in res_info]
	# data = {
	#     "date": dates,
	#     "ok": pd.Series(oks),
	# }
	# df = pd.DataFrame(data)
	# df["date"] = pd.to_datetime(df["date"])
	# df = df.set_index("date")
	#
	# # merge 解决冲突
	# ddf = pd.merge(df, df1, how="right", on="date")
	# print(ddf[ddf['ok'] != ddf['paused']])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值