利用tushare选股票

本文介绍了一种使用Python和tushare库进行量化选股的方法,通过获取股票基本信息和日线数据,结合天眼地量理论,准备对股票进行筛选分析。代码实现了股票列表获取及日线数据下载,为后续分析打下基础。

听完朋友的“天眼地量”选股理论后,热血沸腾,打算找一只股票试试。可以整个股票市场有3600+只股票怎么找呢?不急,我们有python3和tushare。先上代码

import time
import datetime
import tushare as ts
import numpy as np
import pandas as pd
import csv 
import pandas_datareader.data as web 
from sqlalchemy import create_engine 
import pymysql
import winsound

duration = 500  # millisecond
freq = 440  # Hz
path = 'C:/Users/Administrator/Desktop/stockpy/'
csv_file = path + 'StockList.csv'

ts.set_token('sfdsdfs')
pro = ts.pro_api()

def get_stock_list():
    data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
    # data.to_csv(csv_file)

def get_daily_data():
    csv_data = pd.read_csv(csv_file, low_memory = False)#防止弹出警告
    list_df = pd.DataFrame(csv_data)
    row = list_df.shape[0] #
    today = datetime.datetime.today().date()
    # for i in range(3):
    for i in range(row):
        bar_df = ts.pro_bar(ts_code=str(list_df.iloc[i,1]), start_date='20180701', end_date=str(today),
                            ma=[5, 10, 20, 30, 60])
        print(list_df.iloc[i,1])
        tmp_df = bar_df.sort_values(axis = 0, ascending = True, by = 'trade_date')
        # print(tmp_df.head(3))
        tmp_df = tmp_df.reset_index(drop = True)
        # print(tmp_df.head(3))
        tmp_df.to_csv(path + 'bar_' + str(list_df.iloc[i,1]) + '.csv')
        winsound.Beep(freq, duration)

def run():
    get_stock_list()
    get_daily_data()
    winsound.Beep(880, 1000)

if __name__ == '__main__':
    run()

两个function,get_stock_list用来获取当天有效的股票列表信息,保存到csv文件。get_daily_data用来获取所有有效股票的日线数据。因为“天眼地量”理论要用到日线、均线和量能,所以选择了5日、10日、20日、30日和60日的均线数据和对应的量能。每次下载完一只股票后,就提示一声winsound.Beep(freq,duration)。因为tushare设定每分钟只能获取不超过200只股票的数据,我就是设定了提示音响的时间为500ms。经过实测,在半小时左右就可以获取完所有股票的数据了。

后面就是对每只股票进行分析筛选了,代码还没有想出来:(。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值