700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python股票交易时间_Python量化交易 轻松获取股市每日龙虎榜详情数据

python股票交易时间_Python量化交易 轻松获取股市每日龙虎榜详情数据

时间:2020-03-06 20:54:41

相关推荐

python股票交易时间_Python量化交易 轻松获取股市每日龙虎榜详情数据

炒股的朋友,应该都知道股市龙虎榜数据,龙虎榜数据是沪深交易两个市场中,每日两市中涨跌幅、换手率,振幅等的前几名股票排行,我们也可以看到龙虎榜单中的股票在哪个证券营业部的成交量较大。

从这些数据,我们有助于我们分析股票的异动。比如,一只表现平平的股票,突然某一天换手率排行出现在龙虎榜,股票出现异动,那么未来应该有一波行情,我们就可以将这只股票纳入自选股参考。

此外,我们收集历史龙虎榜的证券营业部的净买入和净卖出席位,统计这些数据后进行分析,可以形成对证券营业部的跟踪策略。例如某个营业部的出现在龙虎榜净多头排行上后,该只股票随后几天就有表现,那么我们可以跟踪该营业部,跟随其进行适当操作。

龙虎榜数据,还有很多用途,我们这里先不做深究,后续可以慢慢研究。我们今天先来看下,如何获取每日龙虎榜详情数据,获得龙虎榜数据的其中一种。

首先,我们看下进入龙虎榜数据。

在沪深证券交易所,具备以下任一条件的股票即可:

日价格涨幅偏离值±7%

日换手率达到20%

日价格振幅达到15%

连续三个交易日内,涨幅偏离值累计达到20%

以上4个条件中,每个条件都选前3名的上榜,深市是分主板、中小板、创业板分别取前3的。

下面,我们来仔细看看,如何用python,利用tushare包来获取这个数据。

导入python依赖

安装python后,我们需要安装三个依赖:tushare,pandas,sqlalchemy

安装完成后import下面几个包:

from sqlalchemy.ext.declarative import declarative_base

from sqlalchemy import Column, Integer, String, Numeric

from sqlalchemy.orm import sessionmaker

from sqlalchemy import create_engine

import tushare as ts

tushare获取数据

我们先用tushare获取数据,tushare提供了获取龙虎榜的数据,接口调用需要指定日期,这里我们拆开3月25号的数据,我们调用接口并返回打印出返回的数据字段:

data = ts.top_list('-03-24')

print(data)

返回数据如下:

龙虎榜数据详情

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

code:代码

name:名称

pchange:当日涨跌幅

amount:龙虎榜成交额(万)

buy:买入额(万)

bratio:买入占总成交比例

sell:卖出额(万)

sratio:卖出占总成交比例

reason:上榜原因

date:日期

下载数据并存入mysql数据库

我们通过接口下载数据后,要将数据存入mysql数据库,我们采用追加入库的方式进行存储,表名为:top_list

engine = create_engine('mysql://root:admin@127.0.0.1:3306/tushare?charset=utf8')

data.to_sql('top_list', engine, if_exists='append')

入库完成后,我们打开数据库表查看数据:

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))

pchange = Column(String(120))

amount = Column(String(120))

buy = Column(String(120))

sell = Column(String(120))

reason = Column(String(120))

bratio = Column(String(120))

sratio = Column(String(120))

date = Column(String(120))

根据过滤条件查询数据,我们根据上榜原因查出我们所需要的数据,我们选择上榜原因:

【连续三个交易日内,跌幅偏离值累计达到20%的证券】

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

Base = declarative_base()

Session = sessionmaker(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%的证券").all()

prn_obj(lists)

看控制台输出,根据我们需要的条件,输出对应的股票的龙虎榜信息:

条件过滤查询

以上就是我们今天讲的量化交易的一部分,获取股票龙虎榜数据,并存入mysql数据库进行过滤查询。

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。