当前位置:首页 » 股票区块 » tushare选择板块股票
扩展阅读
设计总院股票历史股价 2023-08-31 22:08:17
股票开通otc有风险吗 2023-08-31 22:03:12
短线买股票一天最好时间 2023-08-31 22:02:59

tushare选择板块股票

发布时间: 2023-06-14 18:09:43

1. 股票池如何用python构建

股票池用python构建的方法是:使用第三方平台,目前可以使用的是聚宽,对比一下聚宽、优矿、大宽网(已经倒闭了),都大同小异,选哪个都一样。

虽然这些平台都大同小异,但是代码可不能简单复制粘贴,因为底层函数库是不一样的,有可能在别的平台根本用不了某个函数,并且简单复制到自己电脑中的python的话百分之百用不了。

代码的思路是,每个月底进行调仓,选出市值最小的股票交易,去掉ST/*ST/停牌/涨停的股票,然后选择最小市值的10只,基准是创业板综指,看看结果。

python构建数据获取方法是:

这里使用为了接下来的操作需要将一定历史范围的股票数据下载下来,这里下载起始时间为20160101,截至时间为运行代码的时间范围的历史日线数据。

这里以tushare为例, tushare获取历史数据有两种方式。

第一种是以迭代历史交易日的方式获取所有历史数据,假设获取三年的历史数据,一年一般220个交易日左右,那么3年需要请求660多次左右,如果以这种方式的话,就下载数据的时间只需要1分钟多点的样子。

第二种是以迭代所有股票代码的方式获取所有历史数据,股票数量有大概3800多个,需要请求3800多次,但是在积分有限的情况下一分钟最多请求500次,也就意味着仅下载数据的时间至少需要大概8分钟时间。

理论上,你获取的历史范围超过17.3年,那么使用第一种方式才比第二种方式快。

2. 报错TypeError: 'NoneType' object is not subscriptable寻求解决办法

该错误意味着您正在尝试使用方括号(例如 )访问对象的元素,但该对象支持且不支持此操作。TypeError: 'NoneType' object is not subscriptableobject[index]None

在这种特定情况下,看起来函数正在返回而不是预期的数据框。这可能是由于Tushare API或网络连接出现问题。ts.get_hs300s()None

要修复此错误,您可以尝试以下操作:

  • 查看图共享API文档,以确保您正确使用该函数。get_hs300s()

  • 检查您的网络连接并确保其稳定可靠。

  • 在交互式 Python shell 中使用该函数以查看它是否返回预期的数据框。ts.get_hs300s()

  • 如果函数仍返回 ,请尝试使用其他 API 或数据集来获取所需的股票代码。ts.get_hs300s()None

  • 下面是如何修改代码以处理返回的情况的示例:ts.get_hs300s()None

在这个例子中,我们在尝试访问它的“code”列之前检查变量是否不是。如果数据框是 ,我们通过打印消息来处理这种情况。这可以防止发生错误。hs300NoneNoneTypeError: 'NoneType' object is not subscriptable

回答不易望请采纳

3. python用什么方法或者库可以拿到全部股票代码

首先你需要知道哪个网站上有所有股票代码,然后分析这个网站股票代码的存放方式,再利用python写一个爬虫去爬取所有的股票代码

4. 100银子求助如何遍历读取TuShare的分笔股票数据

import tushare as ts
import time

while True:
df = ts.get_realtime_quotes('000581') #Single stock symbol
print df[['code','name','price','bid','ask','volume','amount','time']]
time.sleep(2)

根据 http://tushare.org/trading.html#id6 提供的例子,你可以包装成函数,传入你要获取的股票代码,df包含30个列的内容,你可以输出你想要的列,也可以保存到数据库里。
tushare.org上都写得很清楚了。
遍历读取无非就是
import tushare as ts

df = ts.get_tick_data('600848',date='2014-01-09')

for i in df.index:

print df.loc[i]
print df.loc[i]['price']
其中i就是序号,以i为基础你可以获取所有row的数据,包括具体某一行某一列。python根据坐标读取数据有多重方法,你学明白python后,tushare用起来就方便了。

5. tushare的接口怎么样使用

Tushare简介
Tushare金融大数据开放社区,免费提供各类金融数据和区块链数据,助力智能投资与创新型投资。网址:https://tushare.pro/register?reg=527754
注:推广一下分享链接,帮我攒点积分,你好我也好 ^_^ 。

python环境安装

强烈建议使用Anaconda,Anaconda的安装见:https://tushare.pro/document/1?doc_id=29
python的IDE我使用vscode,在Anaconda主界面中直接打开vscode,它会帮你设置好环境,简单方便。

tushare库安装
打开vscode的[查看]->[终端],输入 pip install tushare 即可安装tushare。输入 pip install tushare --upgrade 即可更新tushare。缺少或者更新其他python库,参照这个方法即可。
环境安装好后,就可以开工了。直接上代码,这份代码从Tushare下载股票列表数据,保存为csv文件,同时保存在mssql数据库中。

注意:在to_sql中的schema参数为数据库名,需要带上该数据库的角色,我使用sa登录,数据库隶属于dbo。使用to_sql不需要创建表,pandas会自动帮你创建好,也不需要自己写插入数据的代码,还是很方便的。如果你在表中增加了主键或者唯一索引,有重复数据时批量入库会失败。tushare本身是有少量重复数据的。采用逐行入库的方式速度会比较慢,需要根据业务自己衡量选择。

#!/usr/bin/python3
# coding:utf-8
# -*- coding: utf-8 -*-
import time

import datetime
import random
import tushare

import pandas
import pymssql
import sqlalchemy
#需修改的参数

stock_list_file = 'stock_list.csv' #股票列表文件csv
#tushare token

tushare_token='你自己的token'

#数据库参数
db_host = '127.0.0.1'
db_user = 'sa'
db_password = 'pwd'
db_db = 'quantum'
db_charset = 'utf8'
db_url = 'mssql+pymssql://sa:[email protected]:1433/quantum'
#股票列表

def get_stock_basic() :
print('开始下载股票列表数据')
#获取tushare

pro = tushare.pro_api()
#下载

data = pro.stock_basic(fields='ts_code,symbol,name,fullname,list_status,list_date,delist_date')
#保存到csv文件
data.to_csv(stock_list_file)
#入库

engine = sqlalchemy.create_engine(db_url)
try:

#先一次性入库,异常后逐条入库
pandas.io.sql.to_sql(data, 'stock_basic', engine, schema='quantum.dbo', if_exists='append', index=False)
except :
#逐行入库
print('批量入库异常,开始逐条入库.')
for indexs in data.index :
line = data.iloc[indexs:indexs+1, :]
try:

pandas.io.sql.to_sql(line, 'stock_basic', engine, schema='quantum.dbo', if_exists='append', index=False, chunksize=1)
except:
print('股票列表数据入库异常:')
print(line)
finally:
pass
finally:
pass
print('完成下载股票列表数据')
return 1
#全量下载所有股票列表数据

if __name__ == '__main__':
print('开始...')
#初始化tushare

tushare.set_token(tushare_token)
print('获取股票列表')
get_stock_basic()
print('结束')

6. 如何从tushare获得某一日的所有涨停股票

你可以在你交易软件上查看就可以的啊

7. python读取财经数据

提取日期数据基本语法
from WindPy import w
w.start()
当出现.ErrorCode==-103说明没连接上,要start一下

w.wsd(security, fields, startDate = None, endDate= None , options = None)
opion 可选(period, 日期类型, 货币类型,前后复权)

提取财务数据基本语法
w.wss(security, fields, options = None)

提取板块日序列基本语法
w.wses(sectorCode, fields, startDate = None, endDate = None, options = None)

提取板块日截面数据基本语法
w.wsee(sectorCode, fields, options=None)

提取宏观数据基本语法
w.edb(codes, startDate =None, endDate =None, options=None)

1.日期序列基本语法
ts.get_hist_data(stock,start,end)
注意:1.stock不能是集合,只能单个股票 2.需要带上.sz或.sh 3.没有field,只能取出数据后再切除.

2.pro用法
pro.daily(code, start, end, fields)

tushare引用语句

弊端也很明显,一方面不能stock集合输入,一次只能调取一个股票对应数据,另一方面tushare虽是免费试用,但有权限限制。

基本语法
wb.get_data_yahoo(code, start, end)
wb.DataReader(code, 'yahoo', start, end)

没法添加fields, 虽能集合适用,但出来的索引挺奇怪的

推荐使用定义函数或用for循环批量获取数据

总体感觉wind api最舒服,但需要账号,mac也不能直接调用wind api。还是推荐tushare的pro用法。

小白学习中,请指教=v=