-
阅前提醒:本文仅作技术交流,不做投资建议,投资有风险,入市须谨慎
1.什么是量化交易?
我们利用计算机技术,通过建模分析、优化参数等手段,从历史金融数据中挖掘出影响投资的指标,使用程序进行自动交易来获得“超额”的收益,这种投资方法就叫做量化交易。
现在,很多量化机构将人工智能和机器学习与量化策略相结合。国内的一些顶尖私募,比如:九坤、幻方、朱雀等都在使用AI量化策略,从各大公司的招聘公告上也可以看出这点。
2.分析展示
指标解读:
-
P/E =
P
r
i
c
e
E
P
S
E
P
S
P
r
i
c
e
-
Price:当前股价-每日PE->每日的收盘价
-
EPS :每股收益
分析目的:
-
辅助判断整个全A市场什么时候来大牛市
-
time-series分析
图解:
-
分析日期:2006-01-01 ~ 2020-06-29
-
X轴:by_day 时间轴
-
Y轴:沪深在流通股等权重P/E ratio(市盈率)
-
上图走势基本类似于沪深指数,但是又有点儿区别,
-
每次牛市爆发的点以及牛市结束的点都分别位于等权重PE的相对低位和相对高位
交易策略:
-
market neutal市场中性的多因子策略是剔除了大盘(
β
β
)风险的
-
当处于如图等权重PE低位的状态时候,就可以不用对冲
β
β
风险了,
-
相反可以多配点儿
β
β
产品,以获得
β
β
收益
3.逻辑解读
市场上券商披露的PE,都是按市值加权的
容易被大市值股影响,中国A股市场上的大市值股
传统金融、石油能源等,这些股票的PE本身就很低,所以会拉低整个A股的PE
等权还原PE,不区分大盘小盘股
15年的指数没有破07、08的6124高位,但是PE已经破了
可以用来,辅助牛市抄底逃顶
比如前段时间做完这张图之后,下跌风险很低了,最多就是损失时间成本,
但是上涨空间是巨大的,配点儿
β
β
产品,比如上证50etf,沪深300etf等
还是可以获得比较可观的收益的,我自己买的比较少没挣多少,上一波也得了30%的收益
4.代码展示
数据来源:
Tushare金融大数据开放社区
运行准备:点击上方官网,注册tushare账户,获取token
获取数据
import tushare as ts
import pandas as pd
import numpy as np
import time,random
pro = ts.pro_api(token='你自己的token')
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
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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
注意:做这个图的时候还是沿用原来的指数规则,2020/7/22上证指数进行了修正
可视化绘图
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)