前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序猿怎么利用技术挣钱?——python量化实践

程序猿怎么利用技术挣钱?——python量化实践

作者头像
诡途
发布2020-10-16 09:41:07
5110
发布2020-10-16 09:41:07
举报
文章被收录于专栏:诡途的python路诡途的python路

阅前提醒:本文仅作技术交流,不做投资建议,投资有风险,入市须谨慎

1.什么是量化交易?

我们利用计算机技术,通过建模分析、优化参数等手段,从历史金融数据中挖掘出影响投资的指标,使用程序进行自动交易来获得“超额”的收益,这种投资方法就叫做量化交易。

现在,很多量化机构将人工智能和机器学习与量化策略相结合。国内的一些顶尖私募,比如:九坤、幻方、朱雀等都在使用AI量化策略,从各大公司的招聘公告上也可以看出这点。

2.分析展示

在这里插入图片描述
在这里插入图片描述

3.逻辑解读

4.代码展示

数据来源:Tushare金融大数据开放社区 运行准备:点击上方官网,注册tushare账户,获取token

获取数据

代码语言:javascript
复制
#导入库
import tushare  as ts
import pandas as pd
import numpy as np
import time,random
pro = ts.pro_api(token='你自己的token')

# L上市 D退市 P暂停上市
# ts_code 股票代码 exchange 交易所 SSE上交所 SZSE 深交所 
# list_date 上市日期 delist_date 退市日期
stock_L = pro.stock_basic(exchange='', list_status='L', fields='ts_code,exchange,list_date,delist_date')
stock_D = pro.stock_basic(exchange='', list_status='D', fields='ts_code,exchange,list_date,delist_date')
stock_P = pro.stock_basic(exchange='', list_status='P', fields='ts_code,exchange,list_date,delist_date')

#整合所有股票
data=pd.concat([stock_L,stock_D,stock_P],axis=0).reset_index(drop=True)

result = pd.DataFrame()
count=0
for ts_code in data.ts_code.tolist():
    start_time=time.time()
    df = pro.daily_basic(ts_code=ts_code, trade_date='', start_date='20060101',fields='ts_code,trade_date,pe')
    result=pd.concat([result,df],axis=0).reset_index(drop=True)
    count+=1
    if count%200:
        pass
    else:
        end_time=time.time()
        tm=end_time-start_time
        
        #限制60秒内最多请求200次
        while tm<=60 :
            time.sleep(60-tm+1)
            end_time=time.time()
            tm=end_time-start_time
        print(count,"耗时 %s 秒"%tm)
        
#获取到的数据保存到本地,也可以存到数据库里持续更新        
result.to_csv("PE监控.csv",index=False)

注意:做这个图的时候还是沿用原来的指数规则,2020/7/22上证指数进行了修正

可视化绘图

代码语言:javascript
复制
#导入库
import warnings
warnings.filterwarnings("ignore")
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('seaborn')
%matplotlib inline

#导入之前获取的数据
result=pd.read_csv("PE监控.csv")
#等权重处理
data=pd.pivot_table(result,values='pe',index='trade_date',aggfunc='mean')
#绘图
data.plot(figsize=(15,6),subplots=True)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 阅前提醒:本文仅作技术交流,不做投资建议,投资有风险,入市须谨慎
  • 1.什么是量化交易?
  • 2.分析展示
  • 3.逻辑解读
  • 4.代码展示
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档