北向资金进行股票、期货指数、基金策略
#%%导入包
import tushare as ts
import datetime
import pandas as pd
import numpy as np
import akshare as ak
import warnings
warnings.filterwarnings("ignore")#获取北向资金数据
df_data2= ak.stock_em_hsgt_north_acc_flow_in(indicator="北上")
df_data2['value']=df_data2['value'].astype(float)#指定策略
df_data2['signal']= 0
df_data2['up_line']= 0
df_data2['down_line']= 0
for index,row in df_data2.iterrows():if index<252:continuedf_data_temp = df_data2.iloc[index-252:index]average = df_data_temp['value'].sum()/252std = df_data_temp['value'].std()df_data2['up_line'][index]= float(format(average + std * 1,'.4f'))df_data2['down_line'][index] = float(format(average - std * 1,'.4f'))if df_data2['value'][index] > df_data2['up_line'][index]:df_data2['signal'][index] = 1elif df_data2['value'][index] < df_data2['down_line'][index]:df_data2['signal'][index] = 0#获取IF指数期货
# IF = ak.get_futures_daily(start_date='20180101',end_date=datetime.datetime.today().strftime('%Y%m%d'),market='CFFEX',index_bar=True)
# IF = IF[IF.symbol=='IC99']#股票数据,采用北上资金信号
# stock = ak.stock_zh_a_daily(symbol="sz000001", start_date='20180101', end_date = datetime.datetime.today().strftime('%Y%m%d'), adjust="hfq").reset_index()
# stock['date'] = stock['date'].apply(lambda x : datetime.datetime.strptime(str(x),'%Y-%m-%d %H:%M:%S').strftime('%Y%m%d'))
# last = pd.merge(df_data2,stock,on='date')#etf基金
etf = ak.fund_etf_hist_sina(symbol="sz159801")
etf2= ak.fund_etf_hist_sina(symbol="sz159807")
etf['date'] =etf['date'].apply(lambda x:str(x))
etf2['date'] =etf2['date'].apply(lambda x:str(x))
# etf['date'] = etf['date'].apply(lambda x : datetime.datetime.strptime(str(x),'%Y-%m-%d').strftime('%Y%m%d'))
# etf2['date'] = etf2['date'].apply(lambda x : datetime.datetime.strptime(str(x),'%Y-%m-%d').strftime('%Y%m%d'))
# etf['date'] = etf['date'].apply(lambda x : datetime.datetime.strptime(str(x),'%Y-%m-%d %H:%M:%S').strftime('%Y%m%d'))
# etf2['date'] = etf2['date'].apply(lambda x : datetime.datetime.strptime(str(x),'%Y-%m-%d %H:%M:%S').strftime('%Y%m%d'))
last = pd.merge(pd.merge(df_data2,etf,on='date'),etf2,on='date')#画图查看资金曲线
last['returns'] = (last['close_x']/last['open_x']-1)+(last['close_y']/last['open_y']-1)
(last['returns']/2 * last['signal'].shift(-1)).cumsum().plot()
北向资金进行股票、期货指数、基金策略相关推荐
- 根据北上资金操作上证50指数基金
1. 上证50指数 上证50指数是根据科学客观的方法,挑选上海证券市场规模大.流动性好的最具代表性的50只股票组成样本股,以综合反映上海证券市场最具市场影响力的一批优质大盘企业的整体状况.上证50指数 ...
- 基于北向资金指数择时策略验证与思考
基于北向资金指数择时策略验证与思考 本文思路华泰金工研量化资产配置7月月报<北向资金走向预示市场短期或震荡>关于北上资金的择时思路,构建基于北向资金的股市择时策略,并进行历史回测.结果表明 ...
- 2019读书计划(3)——《指数基金投资指南》
原文地址:2019读书计划(3)--<指数基金投资指南> 这本书其实已经读完有一段时间了,现在进行下回顾 为了节约你的时间,你也可以快速浏览黄色标记的内容 从书的名字就能知道,这本书的主要 ...
- 《指数基金投资指南》读书笔记---指数基金入门知识
什么是消费? 什么是资产? 假如单位给你发了1 000元的奖金, 你拿1 000元买烟抽, 这就是消费: 如果你拿这1 000元转入了余额宝, 就是买了资产. 你买了烟等你抽完就什么都不剩了, 而余额 ...
- 上证50基金有哪些_上证50指数基金哪个好?怎么选?
大家好,我是小希师妹. 上证50指数是投资者在选择股票型指数基金的重要选择标的,因为指数基金的收益能力更容易估算分析,受到投资者欢迎.那么上证50指数哪个好?投资上证50指数基金时需要哪些投资技巧呢? ...
- (策略)盈利收益率法挑选指数基金(ETF)
盈利收益率 盈利收益率是市盈率的变种.市盈率是用公司市值除以盈利,而盈 利收益率则是用公司盈利除以公司市值.也就是盈利收益率=E/P. 换句话说,盈利收益率也约等于市盈率的倒数. 例如市盈率是8,那盈 ...
- 投资理财核心概念:股票、基金、创业板、科创板、上证指数、北向资金等
" 每天进步一点点,从投资基本概念开始." 01 - 什么是证券 首先要明确的是,证券不是债券,不是一个维度的东西,证券包含了债券,债券只是它很小的一部分.证券是一种法律凭证,证 ...
- 北上资金 python_股票数据抓取——北上基金持股数据(selenium抓取数据),爬取,之,北向,资金,通过...
目前很多网站对爬虫都有防范措施,传统的爬数据方法不一定有效.我们只能曲线救国,通过模拟网页浏览方式爬取数据,虽然速度慢,既能达到目标又不会网站服务器增加压力,双赢吧. Python环境要先下载sele ...
- 【Tushare金融数据实战】北向资金因子计算—指数衰减法
[Tushare金融数据实战]北向资金因子计算-指数衰减法 Tushare ID : 459953 1.Tushare接口包简介 Tushare是一个免费,开源的python财经数据接口包.拥有丰富的 ...
最新文章
- opencv-python 9.3 图像 ROI
- Windows Azure-2.5天免费深度技术训练营——面向软件工程师和架构师
- 树莓派的九周年: 9 件事你可能不知道
- 深度学习在CTR预估中的应用 | CTR深度模型大盘点
- 常用的函数式接口_Predicate接口_默认方法and
- 报错apachectl -t
- python删除文件夹中的jpg_Python简单删除目录下文件以及文件夹的方法
- python递归查找_Python程序使用递归查找数字的幂
- C++ opengl 对OpenGL中矩阵设置的初步认识
- 从大数据到深度学习,这些年度开源“新秀”你可用过?
- Java中 IO 常用操作
- 学习笔记-----usart串口调试助手一直打印00的解决方案
- python运动目标检测_运动目标检测ViBe算法
- 王海婷也可以编程,厚脸皮谈自己的一些事情
- 其他总结(三)--window关闭或打开资源管理器
- 故事会-设计模式-策略模式
- Spring Boot系列六 Spring boot集成mybatis、分页插件pagehelper
- rk3288 linux烧录工具,Firefly-RK3288开发板烧写教程
- 在64位总线下,安装了8G内存条,却显示可用内存不到8G的原因
- 系统设计 - 短链接系统 short url