送书,量化投资以python为工具,附代码

每周星期四坚持分析一本好书,包括数据分析,股票财经,技术分析等书籍,

有很多好的书籍还没有时间去阅读,学习,有时间去研究研究

分享的书籍仅供学习,交流,不得用于商业用途,如果作者认为侵权可以联系我删除。

需要书籍关注微信公众号,数据分析与运用,回复量化投资以python为工具就可以了

现在量化投资支持的比较少,有很多库在现在的编译器下运行不了,比如zipline,阿布,abu,,只能在量化平台运行,比如国泰君安,聚宽等,今天在朋友的介绍下在研究金字塔,因为它下面直接有一个用python写的程序支持自动交易,在研究,刚刚开始,还有一个目前知道天勤量化有交易支持,刚刚开始学习,虽然一直写模拟策略,但是没有实盘对接,还是缺少了灵魂,感谢这一路的帮助者。我们看一下这本书,写得非常不错,内容用金融知识,但是有一点,其中有一些编写比较老,但是思想很宝贵。

我们看一下有时间系列分析,金融模型,技术指标分析,交易策略。

下面为我跟书写的一下代码,供学习

import tkinterimport akshare as akimport archimport easyquantimport fintafrom finta import TAimport matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport quantstatsimport scipyimport seabornimport statsmodelsimport MyTTimport statsmodels.api as smfrom arch.unitroot import ADFfrom statsmodels.formula.api import olsfrom statsmodels.stats import anovafrom statsmodels.tsa import stattoolsfrom statsmodels.tsa.api import ARIMA, ExponentialSmoothing,arma_order_select_ic#paf中国银河plt.rcParams['font.family']='SimHei'plt.rcParams['axes.unicode_minus']=Falseimport akshare as akdf=ak.stock_zh_a_daily(symbol='sh600031',start_date='20210101')df.index=pd.to_datetime(df['date'])#rsi指标写def rsi(price,period=6):    clprchange=price-price.shift(1)    clprchange=clprchange.dropna()    indexprc=clprchange.index    upprc=pd.Series(0,index=indexprc)    upprc[clprchange>0]=clprchange[clprchange>0]    downprc=pd.Series(0,indexprc)    downprc[clprchange<0]=-clprchange[clprchange<0]    rsidata=pd.concat(df.close,clprchange,upprc,downprc)    rsidata.columns=['close','prcchange','upprc','downprc']    rsidata.dropna()    print(rsidata)#检测超卖和超卖,大于80超买,可能下降,#小于20超卖,困难回归上升log=[]rsi_data=TA.RSI(df)def cover_buy_sell():    for i in rsi_data:        if i>=80:            log.append('超买,注意风险')        elif i<=20:            log.append('超卖,关注回升')        else:            log.append('指标无效')    df['rsi_log']=log    df['RSI']=rsi_data    print(df)#检测黄金交叉和死亡交叉#我们定义6日为短期,24日为长期def check_buy_sell_hj():    rsi_6=TA.RSI(df,period=6)    rsi_24=TA.RSI(df,period=24)    lagrsi6=rsi_6.shift(1)    lagrsi24=rsi_24.shift(1)    #买卖记录    buy_sell_log=[]    for i in range(len(rsi_6.tolist())):        if rsi_6.tolist()[i]>rsi_24.tolist()[i] and lagrsi6.tolist()[i]<lagrsi24.tolist()[i]:            buy_sell_log.append('黄金交叉,买入')        elif rsi_6.tolist()[i]<rsi_24.tolist()[i] and lagrsi6.tolist()[i]>lagrsi24.tolist()[i]:            buy_sell_log.append('死叉,卖出')        else:            buy_sell_log.append('无')    df['金叉和死叉']=buy_sell_log    print(df)check_buy_sell_hj()
量化投资是一种利用数学和统计学方法来分析和决策投资的方法。而MATLAB是一款广泛应用于科学、工程和金融领域的数学计算软件,在量化投资中被广泛使用。以下是使用MATLAB进行量化投资的一些常见代码示例。 首先,我们可以使用MATLAB来获取金融数据。MATLAB提供了许多函数和工具箱,可以从各种来源获取股票、期货、外汇等金融数据。例如,我们可以使用"yahoo"函数从Yahoo Finance获取股票数据。以下是获取某支股票的日线数据的示例代码: ```matlab ticker = 'AAPL'; % 股票代码 start_date = '01-01-2021'; % 起始日期 end_date = '12-31-2021'; % 结束日期 data = yahoo(ticker, start_date, end_date); % 获取股票数据 ``` 接下来,我们可以使用MATLAB进行技术分析。技术分析是量化投资中常用的一种分析方法,它基于历史价格和交易量数据,通过使用各种指标和图表来预测市场趋势和价格走向。以下是使用MATLAB计算移动平均线指标(Moving Average)的示例代码: ```matlab prices = data.Close; % 获取收盘价数据 window = 20; % 移动平均线窗口大小 ma = movmean(prices, window); % 计算移动平均线 ``` 最后,我们可以使用MATLAB进行策略回测和优化。回测是量化投资中评估投资策略有效性的重要环节,而优化则是通过调整策略参数来寻找最佳投资组合的过程。以下是使用MATLAB进行策略回测和优化的示例代码: ```matlab signal = diff(prices) > 0; % 生成买入/卖出信号,当价格上涨时为1,下跌时为0 returns = zeros(size(prices)); % 初始化收益率数组 for i = 2:length(prices) returns(i) = signal(i-1) * (prices(i) - prices(i-1)); % 根据信号计算当天收益率 end total_returns = cumsum(returns); % 计算累积收益率 % 进行策略优化,例如通过调整移动平均线窗口大小来找到最佳投资效果 % 优化代码省略 % 绘制收益曲线 plot(total_returns); xlabel('日期'); ylabel('累积收益率'); title('策略回测结果'); ``` 综上所述,以上是使用MATLAB进行量化投资的一些常见代码示例。通过MATLAB强大的数学计算和数据分析功能,量化投资者可以方便地进行数据获取、技术分析、策略回测和优化等一系列操作,以提高投资决策的准确性和效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_50882340

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值