使用tushare获取股票数据的方式,如何升级tushare

  

  从事股票交易的朋友应该都知道股市龙虎榜的数据。龙虎榜的数据是沪深两市排名靠前的股票的每日排名,如波动、换手率、振幅等。我们还可以看到龙虎榜的股票在哪个证券营业部的成交量较大。   

  

  从这些数据中,我们可以帮助我们分析股票走势。比如一只业绩平平的股票,突然有一天出现在龙虎榜上,股票发生变化,那么未来应该会有一波行情,我们可以把这只股票纳入选股参考。   

  

  另外,我们收集龙虎榜历史上证券营业部的净买入卖出席位,并对这些数据进行分析,形成对证券营业部的跟踪策略。比如某营业部出现在龙虎榜的净多头位置后,该股在接下来的几天会有表现,我们可以跟踪该营业部,跟随其进行适当的操作。   

  

  虎榜数据有很多用途,先不深究,以后可以研究。今天我们就来看看如何获取每日龙虎榜的详细数据以及龙虎榜的其中一个数据。   

  

  先来看进入龙虎榜的数据。   

  

  在上海和深圳证券交易所,可以使用符合下列条件之一的股票:   

  

  日价格涨幅偏离值7%,日换手率达到20%,日价格振幅达到15%。连续三个交易日累计涨幅偏离值达到20%以上,各项条件均列前3名。深交所分为主板、中小板和创业板,分别为。   

  

  现在,让我们仔细看看如何使用python和tushare包来获取这些数据。   

  

  导入python依赖项安装python后,我们需要安装三个依赖项:tushare、pandas和sqlalchemy。   

  

  安装后,导入以下软件包:   

  

  从sqlalchemy . ext . declarative import declarative _ base from sqlalchemy从sqlalchemy导入列、整数、字符串、数值。ORM import session maker from sqlalchemy import create _ engine import tu share as tstush hare获取数据。tushare提供获取龙虎榜的数据,接口调用需要指定日期。这里,我们解包2020年3月25日的数据,调用接口并打印出返回的数据字段:   

  

  data=ts . top _ list(' 2020-03-24 ')print(data)返回的数据如下:   

  

  龙虎榜数据详情   

  

  返回的字段及其含义如下:   

  

  代码:代码   

  

  名称:名称   

  

  Pchange:当日涨跌互现   

  

  金额:龙虎榜成交额(万)   

  

  购买:购买金额(万)   

  

  布拉西奥:买入占总交易的比例。   

  

  卖出:卖出金额(万)   

  

  比例:卖出占总交易的比例。   

  

  原因:上榜的原因   

  

  日期:日期   

  

  下载数据并存储在mysql数据库中。我们通过接口下载数据后,会通过额外的入库将数据存储在mysql数据库中。表名是:top_list。   

  

  engine=create _ engine(' MySQL ://root : admin @ 127 . 0 . 0 . 1:3306/tu share?charset=UTF8 ')data . to _ SQL(' top _ list ',engine,if _ exists=' append ')入库完成后,我们打开数据库表查看数据:   

  

   2020年3月26日龙虎榜数据详情   

  

  我们可以看到数据已经存储。通过分析这些数据,我们可以看到有几种包括:   

  

  日振幅15%的前五名证券ST、*ST、S证券连续三个交易日收盘价累计跌幅达到15%;日涨幅7%的前五只证券,连续三个交易日累计跌幅达到20%.根据条件查询龙虎榜数据。根据上面返回的字段,我们定义一个实体类来承担返回的数据。   

  

  class TopList(Base): _ _ tablename _ _=' top _ list ' index=Column(Integer,primary _ key=True)code=Column(Integer)name=Column(String(120))p change=Column(String(120))amount=Column(String(120))buy=Column(String(120))Sell=Column(String(120))reason=Column(String(120))b ratio=Column(String(120))s ratio=Column(String(120))date=Column   

  

  [连续三个交易日累计跌幅偏离度达到20%的证券]   

  

  通过过滤条件查询我们需要的数据,并在控制台上打印出来。   

  

  base=declarative _ base()Session=Session maker(bind=engine)Session=Session()def prn _ obj(obj): for v in obj : print(' \ N '。join(' % s :[% s]' % item for item in v . _ _ dict _ _。items()))lists=session . query(toplist)。filter (toplist.reason=='连续三个交易日涨幅偏离20%的证券'。   

  

  条件过滤查询   

  

  以上是我们今天讲的量化交易的一部分。获取股票列表的数据,存储在mysql数据库中,用于过滤查询。   

  

  欢迎关注我,重金投资,一起学习量化交易知识!带你从小白到大神!   

相关文章