python
神出鬼没,指的就是我!
akshare如果遇到无法运行,可以私聊我。然后有些是开发把接口改了。自己找材料改下。
展开
-
非标准化套利
本人使用的期货交易公司:中信期货(幸亏资金量大,返还高,不然就是给期货公司打工。4.难以入门,使得其成为很多高玩的选择,因为要考虑一边成交,另一边未成交等单边敞口问题。3.但是,很多品种不是,比如农产品,会因为交通,运输,上下游波动等导致价差会变化。5.统计学套利和基本面套利,是套利的两大主流方向,如有其他的,欢迎补充。基本面套利,则是更具当前期货价格,现货价格,预测价差是拉大还是缩小。2.底层逻辑来自基本面上,本月的黄金,10年后,他还是黄金。统计套利,就是根据k线图,选择做多,做空价差。原创 2023-09-23 21:44:50 · 355 阅读 · 0 评论 -
标准化套利的使用
本人使用的期货交易公司:中信期货(幸亏资金量大,返还高,不然就是给期货公司打工。套利的间接成本很高,滑点,手续费。4.波动小,是其主要特征,极少情况出现极端行情,风险小使得其成为很多人的热门选择。3.但是,很多品种不是,比如农产品,会变成陈货。交割旺季和淡季的价差会拉大。5.统计学套利和基本面套利,是套利的两大主流方向,如有其他的,欢迎补充。基本面套利,则是更具当前期货价格,现货价格,预测价差是拉大还是缩小。特点:1.远近月合约,双边收手续费,只收保证金。统计套利,就是根据k线图,选择做多,做空价差。原创 2023-09-23 20:54:01 · 398 阅读 · 0 评论 -
三重预测指数炒股
预测指数,预测板块,预测个股,进行股票交易。原创 2023-07-23 01:58:28 · 205 阅读 · 0 评论 -
tsfresh学习
如果不做特殊处理,直接把沪深300因子数据输入进去,那么它只会把每个因子序列数据转化为单个值,这样一个4334x13的因子矩阵,最终就会变为1x13的因子向量,相当于只是一个样本,这样是无法建模的。一般来说,将完整数据集80%的样本作为训练集,剩余20%的样本作为测试集,要注意的是,在这里使用tsfresh的select_features函数对之前的8000+因子进行有效因子筛选,获得基础因子数据,然后放入写好的所有的函数中,计算新的因子,注意,他只能单个因子,如果用两个参数的函数,无效。原创 2023-07-22 22:42:19 · 111 阅读 · 0 评论 -
机器学习预测指数
假设指数可以多空交易,如果模型预测为1(上涨),第二天策略的收益率就是指数的涨幅,如果模型预测为0(下跌),第二天策略的收益率就是指数的涨幅的相反数,有了每天的日收益率之后,通过dataframe自带的累乘函数cumprod,就可以得到择时策略和沪深300指数的净值曲线,为了方(tou)便(lan)起见,不考虑交易费率,以及按照收盘价成交。原创 2023-07-22 22:10:11 · 138 阅读 · 0 评论 -
统计春节前后10天股票收益率
检验不同参数下牛熊指标与中证指数的相关度。原创 2023-06-11 13:47:14 · 84 阅读 · 0 评论 -
研究打板策略
根据当前最强势板块以及前一天的涨停股票池,以及股票个股热度名单小于50。原创 2023-02-16 23:20:23 · 509 阅读 · 0 评论 -
Python绘制双坐标图
【代码】Python绘制双坐标图。原创 2023-01-30 01:14:38 · 472 阅读 · 0 评论 -
多线程学习
【代码】多线程学习。原创 2023-01-30 01:12:52 · 249 阅读 · 0 评论 -
易盛极星多合约回测(问题很多)
注意,使用此函数,在考虑手续费时,无法做到统一。import talibimport numpy as npimport EsTalibfrom EsSeries import NumericSeries# 策略参数字典g_params['p1'] = 5g_params['p2'] = 10g_params['p3'] = 120g_params['ZQ'] = 5 #交易周期# 合约名称列表HYMCLB = [ "INE|Z|SC|MAIN","INE|Z|N.原创 2022-03-24 15:36:29 · 1368 阅读 · 1 评论 -
使用pandas进行量化回测(akshare)
本人看法,也就比excel高级一点,距离backtrader这些框架又差一点。做最基础的测试可以,如果后期加入加仓功能,或者是止盈止损等功能,很不合适。只能做最简单的技术指标测试。所以别太当回事。导包,常用包导入:import osimport akshare as akimport requestsimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport talib as ta%matplo原创 2022-03-23 21:46:00 · 2328 阅读 · 0 评论 -
akshare分析涨停板股票数据
导入包,获取日期数据import pandas as pdimport numpy as npimport akshare as ak#画图import matplotlib.pyplot as plt#正确显示中文和负号plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False#处理时间from dateutil.parser import parsefrom datetim原创 2022-02-08 15:11:47 · 1768 阅读 · 2 评论 -
akshare写etf动量滚动策略
导入包:import akshare as akimport pandas as pdimport numpy as npimport matplotlib日线换周线:#日线换为周线数据def transferToWeekLine(df,period='W'): data1=df stock_data = pd.DataFrame(data1) #设定转换周期period_type 转换为周是'W',月'M',季度线'Q',五分钟'5min',12原创 2022-03-14 22:54:44 · 4998 阅读 · 2 评论 -
akshare改写公募基金轮动策略
群友说,行业指数不行,没办法跟买。这次我换成了etf进行动量策略,选择本周上涨最强的5个etf,平均持仓,一周后移仓。查看回测效果。 不废话,上传代码,但还是有点毛糙。下次加上日期这些数据,做成df格式,然后用pyfolio进行查看。导包:import akshare as akimport pandas as pdimport numpy as npimport matplotlib换成周线(也可以换成月线,年线):#日线换为周线数据def transferT...原创 2022-03-14 20:57:02 · 5920 阅读 · 2 评论 -
行业指数动量策略+akshare
以周为单位,获取本周最强的5只行业指数,进行均值购买。数据源采用akshare。导入包import akshare as akimport pandas as pdimport numpy as npimport matplotlib日线换为周线#日线换为周线数据def transferToWeekLine(df): data1=df stock_data = pd.DataFrame(data1) #设定转换周期period_type .原创 2022-03-12 10:25:14 · 2990 阅读 · 1 评论 -
python根据财务指标寻找价值股票
确定股票池from concurrent.futures import ThreadPoolExecutorimport urllibimport osfrom time import sleepimport pandas as pd# 上证代码shanghaicode = []for i in range(600000, 606000, 1): shanghaicode.append(str(i))# 深证代码shenzhencode = []for i in rang原创 2022-03-09 18:09:25 · 424 阅读 · 0 评论 -
日期格式转化
# str2datetimedatetime.datetime.strptime('20200101','%Y%m%d')#datetime2datedatetime.datetime.now().date()# datetime2strstr(datetime.datetime.now())# date2strstr(datetime.date.today())# date initdatetime.date(2020,1,1)# str2datedatetim.原创 2022-03-09 15:25:41 · 298 阅读 · 0 评论 -
价值投资/指标选股(akshare)
利用akshare的数据源,可以获取所有的股票数据以及公开的财务数据,可以进行条件筛选,获取满足条件的股票。 这套模板可以用于价值投资,指标选股。选股周期为日线级别。然后结果可以邮箱发送。import timeimport akshare as ak## A 股上市公司的实时行情数据stock_zh_a_spot_df = ak.stock_zh_a_spot()#print(stock_zh_a_spot_df)##取前300测试##取前300测试df_stock =...原创 2022-03-09 14:56:10 · 5623 阅读 · 3 评论 -
易盛极星期货量化教学
我目前量化实盘做期货交易用的是这个软件。主要就是因为它可以做套利合约,还有就是国企的外包,安全(vnpy的狗咬狗害怕)。策略模板:设置全局参数变量:#导入包import talib#选择合约代码code1 = ''#设置可调参数g_params['FastLength'] = 5 g_params['SlowLength'] = 20#开仓标志BKFLG = 0SKFLG = 0#平仓标志BPFLG = 0SPFLG = 0#开仓委托BKID = 0SKID =原创 2022-02-27 00:49:18 · 2892 阅读 · 2 评论 -
指标研究与多周期
哪些地方会用到指标 ?回顾一下 Backtrader 的主要功能模块和回测流程(见:Backtrader 来了!)可以发现,只有在编写策略Strategy 时才会涉及到指标的计算和使用,而且是 Strategy 中的 __init__() 和 next() 方法涉及的最多。建议在 __init__() 中提前计算指标Strategy 中的 __init__() 函数在回测过程中只会在最开始的时候调用一次,而 next() 会每个交易日依次循环调用多次,所以为了提高回测效率,建议先在 __ini原创 2022-02-21 21:39:00 · 638 阅读 · 0 评论 -
backtrader数据基础
cerebro = bt.Cerebro()cerebro.addstrategy(TestStrategy2)codes=['600862.SH','300326.SZ','300394.SZ']#加载最近两日交易数据for code in codes: feed = Addmoredata(dataname = get_data(code,'20200506'),name=code) cerebro.adddata(feed)cerebro.run()数据查看:cl.原创 2022-02-21 19:31:30 · 1251 阅读 · 0 评论 -
Backtrader交易基础2
成交价格确定:Order.Market市价单,以当时市场价格成交的订单,不需要自己设定价格。市价单能被快速达成交易,防止踏空,尽快止损/止盈;按下一个 Bar (即生成订单的那个交易日的下一个交易日)的开盘价来执行成交;例:self.buy(exectype=bt.Order.Market) 。Order.Close和 Order.Market 类似,也是市价单,只是成交价格不一样;按下一个 Bar 的收盘价来执行成交;例:self.buy(exectype=bt.Order.Clo原创 2022-02-21 18:56:39 · 1249 阅读 · 0 评论 -
Backtrader交易基础
查看账户情况:class TestStrategy(bt.Strategy): def next(self): print('当前可用资金', self.broker.getcash()) print('当前总资产', self.broker.getvalue()) print('当前持仓量', self.broker.getposition(self.data).size) print('当前持仓成本', self.broker原创 2022-02-21 18:43:58 · 1591 阅读 · 0 评论 -
backtrader指标
添加分析指标# 添加分析指标# 返回年初至年末的年度收益率cerebro.addanalyzer(bt.analyzers.AnnualReturn, _name='_AnnualReturn')# 计算最大回撤相关指标cerebro.addanalyzer(bt.analyzers.DrawDown, _name='_DrawDown')# 计算年化收益:日度收益cerebro.addanalyzer(bt.analyzers.Returns, _name='_Returns', tan原创 2022-02-21 17:25:12 · 1308 阅读 · 0 评论 -
backtrader2
backtrader的基本策略构成:#构成#Backtrader 回测代码编写流程如下: import backtrader as bt # 导入 Backtrader import backtrader.indicators as btind # 导入策略分析模块import backtrader.feeds as btfeeds # 导入数据模块# 创建策略class TestStrategy(bt.Strategy): # 可选,设置回测的可变参数:如移动均线的周期原创 2022-02-21 14:07:57 · 547 阅读 · 0 评论 -
akshare双均线backtrader
# -*- coding: utf-8 -*-"""Created on Tue Aug 4 16:52:23 2020@author: 四屏"""from datetime import datetime%matplotlib inlineimport backtrader as btimport matplotlib.pyplot as pltimport akshare as akplt.rcParams["font.sans-serif"] = ["SimHei"].原创 2022-02-20 00:43:40 · 1050 阅读 · 2 评论 -
凯特勒通道(backtrader)
import backtrader as btimport datetimeimport pandas as pdimport matplotlib.pyplot as pltimport backtrader.analyzers as btanalyzers#定义指标class Ketler(bt.Indicator): params = dict(ema=20,atr= 17) lines = ('expo','atr','upper','lower') plot.原创 2022-02-20 00:40:25 · 738 阅读 · 2 评论 -
期权制作回测数据
将指定的档位的期权,指定阶段剩余到期日的期权数据合并,用于回测import pandas as pdimport numpy as npimport akshare as akpd.set_option("display.max_rows",None)pd.set_option("display.max_columns",None)nh_price = ak.nh_price_index('RM')nh_price.head()nh_return = ak.nh_return_ind原创 2022-02-20 00:22:23 · 713 阅读 · 0 评论 -
指数定投(行不行学习)
import tushare as tsimport pandas as pd import numpy as npfrom scipy import statsimport tushare as ts import matplotlib.pyplot as plt%matplotlib inline #正常显示画图时出现的中文和负号from pylab import mplmpl.rcParams['font.sans-serif']=['SimHei']mpl.rcPara.原创 2022-02-20 00:04:36 · 859 阅读 · 0 评论 -
期权数据计算
判断是否为调仓日ef is_adjust_day(self, dom=1): ''' 判断是否是每月的调仓日。 :params int dom: 每月第几个交易日进行调仓,缺省是第1个交易日。 :return: 如果是调仓日,返回True,否则返回False。 ''' ret = False today = self.datetime.date()原创 2022-02-19 23:54:24 · 379 阅读 · 0 评论 -
期权计算隐含波动率
牛顿迭代法from scipy.stats import normimport numpy as npdef bscall(S,K,r,sigma,t): d1=(np.log(S/K)+(r+0.5*sigma**2)*t)/(sigma*np.sqrt(t)) d2=d1-sigma*np.sqrt(t) return S*norm.cdf(d1)-K*np.exp(-r*t)*norm.cdf(d2)def bsput(S,K,r,sigma,t): ..原创 2022-02-19 23:36:56 · 878 阅读 · 0 评论 -
多股票投资组合+马科维茨计算组合
import matplotlib.pyplot as pltfrom pandas import read_excelimport numpy as npimport tushare as tsimport pandas as pdimport datetimetoken=''pro=ts.pro_api(token)获取财务数据#获取财务数据ticker_list = ['601318.SH','601336.SH','601398.SH','601888.SH','6039.原创 2022-02-19 23:07:11 · 1729 阅读 · 5 评论 -
mysql+tushare搭建本地数据库
创建股票数据库#!/usr/bin/env python# -*- coding: utf-8 -*-# @Date : 2018-09-04 14:34:59# @Author : Michael Li # @Version : $V2.0$ import pandas as pdimport numpy as npimport datetimeimport randomimport pymssqlfrom sqlalchemy import create_engi.原创 2022-02-19 22:56:14 · 453 阅读 · 0 评论 -
mysql数据库操作
连接mysqlfrom sqlalchemy import create_engineimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport pymssqlfrom scipy.interpolate import interp1dfrom datetime import timedelta#正常显示画图时出现的中文和负号from pylab import mplmpl.rcParams[原创 2022-02-19 22:47:24 · 439 阅读 · 0 评论 -
akshare做mfi策略
#!/usr/bin/env python# coding: utf-8#先引入后面可能用到的包(package)import pandas as pd import numpy as npimport matplotlib.pyplot as plt#正常显示画图时出现的中文和负号from pylab import mplmpl.rcParams['font.sans-serif']=['SimHei']mpl.rcParams['axes.unicode_minus']=.原创 2022-02-19 21:39:57 · 2957 阅读 · 0 评论 -
获取指数成分股,并区别‘sz’,‘sh’
def get_index_list(index_symbol = 'sh000068'): stocks2 = [] stocks = ak.index_stock_hist(index_symbol).stock_code for stock in stocks[:]: if int(stock) < 100000: stock = 'sz' + stock else: stock = 'sh.原创 2022-02-19 21:19:31 · 493 阅读 · 0 评论 -
股票代码前面为0,补齐6位数
df['code'] = df['code'].apply(lambda x:str(x).zfill(6))原创 2022-02-19 21:11:50 · 853 阅读 · 0 评论 -
获取所有股票数据
#%%#先引入后面可能用到的包(package)import pandas as pd import numpy as npimport matplotlib.pyplot as pltimport seaborn as sns sns.set() %matplotlib inline #正常显示画图时出现的中文和负号from pylab import mplmpl.rcParams['font.sans-serif']=['SimHei']mpl.rcParams['axes.u.原创 2022-02-17 00:12:07 · 1322 阅读 · 0 评论 -
【无标题】
常见的t检验包括单样本t检验、独立样本t检验和配对(重复)样本t检验。单样本t检验:检验单个变量的均值与目标值之间是否存在差异。如果总体均值已知,则样本均值与总体均值之间的差异显著性检验属于单样本t检验。独立样本t检验:检验两组来自独立总体的样本其独立总体的均值是否一样,比如A股过去30个交易日的涨跌幅与美股过去30个交易日的涨跌幅就属于两个独立样本。配对样本t检验:检验两个相关的样本是否来自具有相同均值的总体,比如A股过去30个交易日的涨跌幅与再往前的30个交易日的涨跌幅数据就属于两个相关样本。.原创 2022-02-16 02:15:11 · 65 阅读 · 0 评论 -
数据中心化
import numpy as npimport pandas as pdfrom sklearn import preprocessingimport matplotlib.pyplot as pltimport matplotlib as mplimport seaborn as snsfrom seaborn import load_datasetsns.set()mpl.rcParams['font.family'] = 'sans-serif'mpl.rcParams['fon.原创 2022-02-16 02:09:00 · 1542 阅读 · 0 评论