# -*- coding: utf-8 -*-
# @Time : 2022/11/2 23:28
# @Author : xxxd39
# @FileName: 人数分布.py
# @Software: PyCharm
# @Blog :https://blog.csdn.net/weixin_33595571?type=blog
from jqdatasdk import *
import pymongo
# 初始化数据库
mongo_client = pymongo.MongoClient('mongodb://localhost:27017/')
auth('', '') # ID是申请时所填写的手机号;Password为聚宽官网登录密码
def SearchOneStock(stock):
mongo_db = mongo_client['JoinQuantDB']
mongo_collection = mongo_db['NUMshareHolders' + stock]
# mydoc = mongo_collection.find()
rows = mongo_collection.find().sort('_id', -1).limit(1)
for row in rows:
print(str(row['code']) + ':' + str(row['end_date']) + ':' + str(row['share_holders']))
# print(row) # 此时会倒序输出内容
return row['code'], row['end_date'], row['share_holders']
# for x in mydoc:
# print(x)
def SearchHolders(stocklist, allcodes, allnames):
codelist = []
datelist = []
holderslist = []
print('查询股票数:'+str(len(stocklist)))
for num in range(len(stocklist)):
print(stocklist[num])
code, date, holders = SearchOneStock(stocklist[num])
codelist.append(code)
datelist.append(date)
holderslist.append(holders)
return codelist,datelist,holderslist
def FindDBCodeName(DBname, collectionName):
codes = []
names = []
mongo_db = mongo_client[DBname]
mongo_collection = mongo_db[collectionName]
allDate = mongo_collection.find()
for eve in allDate:
codes.append(eve['sec_code'])
names.append(eve['display_name'])
return codes, names
def main():
# 查询所有股票代码 名称
allcodes, allnames = FindDBCodeName('JoinQuantDB', 'all_securities')
print(allcodes)
print(allnames)
codelist,datelist,holderslist = SearchHolders(allcodes[:800], allcodes, allnames)
print('++++++++++++++++++++++++')
print(holderslist)
print(len(holderslist))
if __name__ == '__main__':
main()
[67 量化交易] 人数统计
最新推荐文章于 2024-04-26 19:00:53 发布