python构建股票投资组合
『壹』 如何用Python和机器学习炒股赚钱
相信很多人都想过让人工智能来帮你赚钱,但到底该如何做呢?瑞士日内瓦的一位金融数据顾问 Gaëtan Rickter 近日发表文章介绍了他利用 Python 和机器学习来帮助炒股的经验,其最终成果的收益率跑赢了长期处于牛市的标准普尔 500 指数。虽然这篇文章并没有将他的方法完全彻底公开,但已公开的内容或许能给我们带来如何用人工智能炒股的启迪。
我终于跑赢了标准普尔 500 指数 10 个百分点!听起来可能不是很多,但是当我们处理的是大量流动性很高的资本时,对冲基金的利润就相当可观。更激进的做法还能得到更高的回报。
这一切都始于我阅读了 Gur Huberman 的一篇题为《Contagious Speculation and a Cure for Cancer: A Non-Event that Made Stock Prices Soar》的论文。该研究描述了一件发生在 1998 年的涉及到一家上市公司 EntreMed(当时股票代码是 ENMD)的事件:
「星期天《纽约时报》上发表的一篇关于癌症治疗新药开发潜力的文章导致 EntreMed 的股价从周五收盘时的 12.063 飙升至 85,在周一收盘时接近 52。在接下来的三周,它的收盘价都在 30 以上。这股投资热情也让其它生物科技股得到了溢价。但是,这个癌症研究方面的可能突破在至少五个月前就已经被 Nature 期刊和各种流行的报纸报道过了,其中甚至包括《泰晤士报》!因此,仅仅是热情的公众关注就能引发股价的持续上涨,即便实际上并没有出现真正的新信息。」
在研究者给出的许多有见地的观察中,其中有一个总结很突出:
「(股价)运动可能会集中于有一些共同之处的股票上,但这些共同之处不一定要是经济基础。」
我就想,能不能基于通常所用的指标之外的其它指标来划分股票。我开始在数据库里面挖掘,几周之后我发现了一个,其包含了一个分数,描述了股票和元素周期表中的元素之间的「已知和隐藏关系」的强度。
我有计算基因组学的背景,这让我想起了基因和它们的细胞信号网络之间的关系是如何地不为人所知。但是,当我们分析数据时,我们又会开始看到我们之前可能无法预测的新关系和相关性。
如果你使用机器学习,就可能在具有已知和隐藏关系的上市公司的寄生、共生和共情关系之上抢占先机,这是很有趣而且可以盈利的。最后,一个人的盈利能力似乎完全关乎他在生成这些类别的数据时想出特征标签(即概念(concept))的强大组合的能力。
我在这类模型上的下一次迭代应该会包含一个用于自动生成特征组合或独特列表的单独算法。也许会基于近乎实时的事件,这可能会影响那些具有只有配备了无监督学习算法的人类才能预测的隐藏关系的股票组。
『贰』 如何用python实现Markowitz投资组合优化
m投资组合模型的一个很有力的替代是Index model,或者我们说的single factor model,因为markowitz是需要计算全部股票的协方差和方差的,如果证券的数量很多,计算量会非常大(这些在investment的参考书里面有),我下面就把原话打给你 first,the model requires a huge number of estimates to fill the covariance matrix.second ,the model does not provide any guideline to the forecasting to the security risk premiums that are essential to construct the efficient frontier of risky assets.第一个是硬伤,单单计算NYSE的股票就要4.5百万的估计量,而同等条件下index model才需要9002个估计量,这就是为什么markowitz模型很多人不愿意用的愿意,而优点也很直接,如果你的估算值是准确的,那么m模型的结果比其他都准确
『叁』 如何构建投资组合
全民投基热情不减,持有人散户化程度越来越高。近期大盘高位震荡,在基金高收益背后也蕴含着高风险。不要把鸡蛋放在同一个篮子里,控制风险是资本市场投资的首当其冲的考虑。散户投资基金最好作配置组合,有效地分散风险。
构建基金核心组合
理性投资是成功理财第一步。在震荡市场里,从300多只基金中选择出能够获得收益的基金越来越难。有效地进行挑选配置组合不仅能分散风险,也可能获得不错收益。理财专家表示,在建立基金配置组合时,最好有一个核心组合。这个核心组合是对投资者最终投资目标的实现起决定性作用的。他表示这一核心组合可以占到整个基金投资组合的60-80%。
核心基金最好是业绩稳定、特点鲜明的基金。特别是专门投资某一行业、如服务、资源等基金。
另外,作投资组合并不是购买的基金多了就是在做组合,理财专家表示,构建基金核心组合才是最重要的。目前牛市情况下,偏股性基金肯定是核心组合中主要的投资品种,而为了分散风险,也不妨在核心组合之外,买点债券或者货币型基金。
在选择基金核心组合的时候,最好在偏股型基金中选择不同的投资标的基金。投资者在投资前应该对基金的股票仓位、十大重仓股等有所研究。特别同时炒股的基民,可以重仓配置自己看好行业的基金。最好选择2-3家优秀的基金公司的3-5只基金产品,新老基金搭配着进行也不错。
一次性投资与定投相组合
除了要构建基金核心组合外,投资基金在方式还需要注意一次性投资和定投相结合的方式。
理财专家建议,进行投资组合时,基金的数量太少,容易造成投资组合的剧烈波动,影响收益的稳定性,无法有效地分散风险;基金的数量太多,则无法提高分散风险的效率,基金组合的安全性并不会因基金数量的增加而增加。
就目前我国的市场情况而言,老基民推荐基金组合里基金数量最好在5只之内。而这些基金有的适合做一次性投资,有的可以做定投,需要区别对待。
在投资配置比例上,和股票市场关联度高的基金可以配置在总资金的80%以上。如股票基金配置40%,而指数基金配置20%,偏股型基金配置20%,而债券基金可以配置在总资产的10-20%。
数据显示,上涨行情中,基金定投收益较高。而目前大盘高位震荡的行情下,指数型基金定投就比一次性投入的风险小很多。而在股市长期看好的情况下,股票型基金在大盘一个大跌日一次性买入将获得不菲收益。在投资数量在5只基金的基础上,有理财专家表示可以选取一两只指数型基金做定投。而股票型基金,关注其风格和仓位变化,可以分批买入。
『肆』 怎样用 Python 写一个股票自动交易的程序
方法一
前期的数据抓取和分析可能python都写好了,所以差这交易指令接口最后一步。对于股票的散户,正规的法子是华宝,国信,兴业这样愿意给接口的券商,但貌似开户费很高才给这权利,而且只有lts,ctp这样的c++接口,没python版就需要你自己封装。
方法二
是wind这样的软件也有直接的接口,支持部分券商,但也贵,几万一年是要的。
方法三
鼠标键盘模拟法,很复杂的,就是模拟键盘鼠标去操作一些软件,比如券商版交易软件和大智慧之类的。
方法四
就是找到这些软件的关于交易指令的底层代码并更改,不过T+1的规则下,预测准确率的重要性高于交易的及时性,花功夫做数据分析就好,交易就人工完成吧
『伍』 简述投资基金经理构造股票投资组合的一般流程
一、要有自己的投资理念。
许多投资人盲目地跟着市场、他人买卖基金,哪只基金涨幅居前就追买哪只,完全没有把资金的安全边际放在第一位。建议入市之前,好好学一学基金理财知识,权衡自己的风险承受能力,同时了解国家的经济动向或趋势,然后把握投资策略。
二、明确目标持续性投资。
各类股票基金各有其特色,各有其特点。如果你正处于生命的积累阶段,要投资未来购房、孩子上学费用,那么,你就首选成长型股票基金为主;如果你正处于生命周期的分配阶段,既要供孩子上学,又要自己养老,那么,你就选收入型股票基金(价值型基金)为主。总之,一定要清楚自己持有基金组合所期望达到的目标,坚持持续性地投资。
三、投资一定要有核心组合。
你的投资组合的核心部分应当有哪些主流基金组成?我非常认同股票投资的“核心——卫星”策略,在投资基金时也同样适用。你应从股票基金中(主动型、偏股票型、平衡型)选择适合自己的、业绩稳定的优秀基金公司的基金构成核心组合。年轻的可占你基金组合资金的80%,年老的可占40%——50%,另用10%投资防守型基金(债券基金和货币基金),用10%投资在市场中业绩表现出色的为你的卫星基金,获得较高收益。
四、投资指数基金
“不投资指数基金是你的错。”借用巴菲特的话来指导自己的投资技巧。今年的市场也证明了他的经验。因而,在每种组合投资中,应拥有1——2只股票市场的指数基金。如嘉实300和中小板ETF,这种拥有整个市场法不失为明智的方法。
五、不要将同类型基金做组合。
尽管各基金的名称不同,但注意“不管切得多薄,香肠片也还是香肠。”将同类型基金做组合是无效的。如果持有同类基金只数过多,会使你的组合失衡,不知不觉中让你放大了市场风险,阻碍了你的投资目标的实现。有效的基金组合应是不同类型如股票型(主动型、偏股型和平衡型)、债券型、货币型等不同类型。
六、投资的期望值不要过高。
市场经历了2005年的股改,助推了基金翻番的业绩,在很大程度上可以说是对股改前市场的补涨。这样的业绩在成熟市场是不可遇见的。投资者应降低对市场的投资收益。针对我们的新兴市场,把预期收益调整约为30%左右就行了。
『陆』 股票投资组合如何建立
股票投资组合,是指投资者在进行股票投资时,根据各种股票的风险程度、获利能力等方面的因素,按照一定的规律和原则进行股票的选择、搭配以降低投资风险的一种方法。其理论依据就是股市内各类股票的涨跌一般不是同步的,总是有涨有跌,此起彼伏。因此,当在一种股票上的投资可能因其价格的暂时跌落而不能盈利时,还可以在另外一些有涨势的股票上获得一定的收益,从而可以达到回避风险的目的。应当明确的是,这一种方法只适用于资金投入量较大的投资者。
一、分散风险
股票与其他任何金融产品一样,都是有风险的。所谓风险就是指预期投资收益的不确定性。我们常常会用篮子装鸡蛋的例子来说明分散风险的重要性。如果我们把鸡蛋放在一个篮子里,万一这个篮子不小心掉在地上,那么所有的鸡蛋都可能被摔碎;而如果我们把鸡蛋分散在不同的篮子里,那么一个篮子掉了不会影响其他篮子里的鸡蛋。资产组合理论表明,证券组合的风险随着组合所包含的证券数量的增加而降低,资产间关联性低的多元化证券组合可以有效地降低个别风险。
我们一般用股票投资收益的方差或者股票的p值来衡量一只股票或股票组合的风险。通常股票投资组合的方差是由组合中各股票的方差和股票之间的协方差两部分组成,组合的期望收益率是各股票的期望收益率的加权平均。除去各股票完全正相关的情况,组合资产的标准差将小于各股票标准差的加权平均。当组合中的股票数目N增加时,单只股票的投资比例减少,方差项对组合资产风险的影响下降;当N趋向无穷大时,方差项将档近0,组合资产的风险仅由各股票之间的协方差所决定。也就是说,通过组合投资,能够减少直至消除各股票自身特征所产生的风险(非系统性风险),而只承担影响所有股票收益率的因素所产生的风险(系统性风险)。
二、实现收益最大化
股票投资组合管理的目标之一就是在投资者可接受的风险水平内,通过多样化的股票投资使投资者获得最大收益。从市场经验来看,单只股票受行业政策和基本面的影响较大,相应的收益波动往往也很大。在公司业绩快速增长时期可能给投资者带来可观的收益,但是如果因投资者未观察到的信息而导致股票价格大幅下跌,则可能给投资者造成很大的损失。因此,在给定的风险水平下,通过多样化的股票选择,可以在一定程度上减轻股票价格的过度波动,从而在一个较长的时期内获得最大收益。
股票的投资组合时的基本原则
1.在风险水平基本相同的情况下,投资者应当选择相对利润率较高的股票。
2,在利润率水平基本相同的情况下,投资者应当选择相对风险较高的股票。
3.在选择股票组合时,应当使股票可能造成的损失尽可能减小到最低限度。我们可以用数学公式表示为:式中:
n表示所选股票的总个数
i表示所选股票中的第i种股票
Fi表示第i种股票的风险概率
Gi表示第i种股票在发生风险时可能造成的损失
当然,在考虑减小损失的同时,也应当考虑要使股票带来的利润尽可能地大,用数学公式表示即为:式中:
n表示所选股票的总个数
i表示所选股票中的第i种股票
Hi表示第i种股票的获利概率
Li表示第i种股票在市场条件有利时可能获得的利润
股票投资组合应当注意的几个问题[1]
1.在购买股票时,应注意不要购买同一公司或企业的股票,即使该企业经营有方、业绩优良时也要将资金留出一部分投入到其他种类的股票上去。这样做可以使投资者不会因某一种股票的突然性暴跌而造成惨重的损失。
2.股票投资组合时,应选择两个或两个以上不同行业的股票进行投资,即不要只购买同一行业或同一板块中的不同股票。这样做可以使投资者避免在碰到行业性不景气,所有同行业股票全部跌落时,可能产生的风险。
3.投资时要注意尽量不购买同一地区的股票。同样,这类股票同涨同跌的可能性较大一些。因此,如果购买同一地区的股票就无法起到躲避风险的作用。
4.购买股票时,应当购买具有不同题材的股票。这样可以使投资者避免在某一种题材股遇到利空消息时所产生的风险。
5.对购进股票的时间上要注意合理安排,不要集中在同一时期将所有的投资全部投入股市中,要留有一定的后续力量。有时,投资者认为某一股票已跌至极限而放心买入,却不想该股票的价格继续下跌,而此时投资者手中若留有一部分资金,还可以进行低价补进,以摊平成本的操作;否则,只有无可奈何地等待该股票涨潮期的到来,这就可能使投入的资金积压很长一段时间,从而减缓了资金的周转速度。
股票投资组合的几种方式
1.保守型投资组合。采用这种类型的投资组合方式,其资金的分配情况应当是,将80%或全部的资金用于购买不同的具有中、长期投资价值的股票,而只将约20%或20%以下的少量资金用于对短线股票的炒作。这种投资组合方式需要投资者选择那些有较高股息的股票作为投资对象,这可以使投资者在经济呈现稳定增长的情形下,从那些经营情况良好、投资回报安全稳定的公司的股票中,获取较为满意的投资回报。
但是,采用这种保守型的投资组合方式,也要求投资者时刻注意公司的经营情况的变化和国家有关的政策动向,因为任何一种股票都绝对不可能永葆青春,常胜不衰,它完全有可能在国家方针政策转向、产业结构调整、市场环境变化等因素的影响下由盛转衰,由盈转亏。所以,保守型投资组合虽然可以较大限度地降低投资风险,但也并不是说就能够完全消除风险。
2.投机型投资组合。这种投资组合方式正好与保守型投资组合方式相反;是将大部分或全部的资金都用于投机性股票炒作的一种资金组合方式。采用这种方式的盈利情况,基本上取决于投资者对各种股票涨跌形势的准确判断。如果投资者有较强的分析判断能力、充裕的时间以及敏锐的洞察力,则采用这种投资组合方式往往能够获得比其他形式的资金组合方式更为可观的利润和收益,但同时它也比其他的资金组合方式有着更大的风险性。
3.随机应变型投资组合。这是投资者根据市场的具体情况来决定采用何种投资组合方式的一种投资方法。这种方法认为,在股市不太活跃的情况下,应采用保守型投资组合,即将资金投入到长线昅中,以获取较为稳定的收入;而在股市十分活跃的情况下,应采用投机型投资组合,以便能从各种股票的跌涨差价中获取更大的收益。这一投资组合方式因能够较好地适应股市的变化,而被多数投资者所采用,采用这一方法的关键一点,是投资者要有能力对股市的大势有一个比较准确的形势判断。
4.市场分散型投资组合。这是投资者根据不同的市场情况采用不同投资组合方式的一种投资方法。这种方法认为,在有新股上市时,即将资金投入到一级市场上进行炒作;在大势上涨时,即将资金投入到二级市场上进行炒作;在无新股上市、大势下跌的情况下,即将资金投入到一级半市场上进行炒作。这样,分散市场投资的组合型式,已被实践证明是可行的,而且已被好多投资者所采用
『柒』 如何用python实现Markowitz投资组合优化
看这个文章
https://zhuanlan.hu.com/p/20604930?refer=quantstory
用python实现Markowitz投资组合优化
『捌』 如何用python实现Markowitz投资组合优化
多股票策略回测时常常遇到问题。
仓位如何分配?
你以为基金经理都是一拍脑袋就等分仓位了吗?
或者玩点玄乎的斐波拉契数列?
OMG,谁说的黄金比例,让我看到你的脑袋(不削才怪)!!
其实,这个问题,好多好多年前马科维茨(Markowitz)我喜爱的小马哥就给出答案——投资组合理论。
根据这个理论,我们可以对多资产的组合配置进行三方面的优化。
1.找到有效前沿。在既定的收益率下使组合的方差最小。
2.找到sharpe最优的组合(收益-风险均衡点)
3.找到风险最小的组合
跟着我,一步两步,轻松实现。
该理论基于用均值和方差来表述组合的优劣的前提。将选取几只股票,用蒙特卡洛模拟初步探究组合的有效前沿。
通过最大Sharpe和最小方差两种优化来找到最优的资产组合配置权重参数。
最后,刻画出可能的分布,两种最优以及组合的有效前沿。
注:
文中的数据API来自量化平台聚宽,在此表示感谢。
原文见【组合管理】——投资组合理论(有效前沿)(包含正态检验部分)
0.导入需要的包
import pandas as pd
import numpy as np
import statsmodels.api as sm #统计运算
import scipy.stats as scs #科学计算
import matplotlib.pyplot as plt #绘图
1.选取几只感兴趣的股票
000413 东旭光电,000063 中兴通讯,002007 华兰生物,000001 平安银行,000002 万科A
并比较一下数据(2015-01-01至2015-12-31)
In[1]:
stock_set = ['000413.XSHE','000063.XSHE','002007.XSHE','000001.XSHE','000002.XSHE']
noa = len(stock_set)
df = get_price(stock_set, start_date = '2015-01-01', end_date ='2015-12-31', 'daily', ['close'])
data = df['close']
#规范化后时序数据
(data/data.ix[0]*100).plot(figsize = (8,5))
Out[1]:
2.计算不同证券的均值、协方差
每年252个交易日,用每日收益得到年化收益。计算投资资产的协方差是构建资产组合过程的核心部分。运用pandas内置方法生产协方差矩阵。
In [2]:
returns = np.log(data / data.shift(1))
returns.mean()*252
Out[2]:
000413.XSHE 0.184516
000063.XSHE 0.176790
002007.XSHE 0.309077
000001.XSHE -0.102059
000002.XSHE 0.547441
In [3]:
returns.cov()*252
Out[3]:
3.给不同资产随机分配初始权重
由于A股不允许建立空头头寸,所有的权重系数均在0-1之间
In [4]:
weights = np.random.random(noa)
weights /= np.sum(weights)
weights
Out[4]:
array([ 0.37505798, 0.21652754, 0.31590981, 0.06087709, 0.03162758])
4.计算预期组合年化收益、组合方差和组合标准差
In [5]:
np.sum(returns.mean()*weights)*252
Out[5]:
0.21622558669017816
In [6]:
np.dot(weights.T, np.dot(returns.cov()*252,weights))
Out[6]:
0.23595133640121463
In [7]:
np.sqrt(np.dot(weights.T, np.dot(returns.cov()* 252,weights)))
Out[7]:
0.4857482232609962
5.用蒙特卡洛模拟产生大量随机组合
进行到此,我们最想知道的是给定的一个股票池(证券组合)如何找到风险和收益平衡的位置。
下面通过一次蒙特卡洛模拟,产生大量随机的权重向量,并记录随机组合的预期收益和方差。
In [8]:
port_returns = []
port_variance = []
for p in range(4000):
weights = np.random.random(noa)
weights /=np.sum(weights)
port_returns.append(np.sum(returns.mean()*252*weights))
port_variance.append(np.sqrt(np.dot(weights.T, np.dot(returns.cov()*252, weights))))
port_returns = np.array(port_returns)
port_variance = np.array(port_variance)
#无风险利率设定为4%
risk_free = 0.04
plt.figure(figsize = (8,4))
plt.scatter(port_variance, port_returns, c=(port_returns-risk_free)/port_variance, marker = 'o')
plt.grid(True)
plt.xlabel('excepted volatility')
plt.ylabel('expected return')
plt.colorbar(label = 'Sharpe ratio')
Out[8]:
6.投资组合优化1——sharpe最大
建立statistics函数来记录重要的投资组合统计数据(收益,方差和夏普比)
通过对约束最优问题的求解,得到最优解。其中约束是权重总和为1。
In [9]:
def statistics(weights):
weights = np.array(weights)
port_returns = np.sum(returns.mean()*weights)*252
port_variance = np.sqrt(np.dot(weights.T, np.dot(returns.cov()*252,weights)))
return np.array([port_returns, port_variance, port_returns/port_variance])
#最优化投资组合的推导是一个约束最优化问题
import scipy.optimize as sco
#最小化夏普指数的负值
def min_sharpe(weights):
return -statistics(weights)[2]
#约束是所有参数(权重)的总和为1。这可以用minimize函数的约定表达如下
cons = ({'type':'eq', 'fun':lambda x: np.sum(x)-1})
#我们还将参数值(权重)限制在0和1之间。这些值以多个元组组成的一个元组形式提供给最小化函数
bnds = tuple((0,1) for x in range(noa))
#优化函数调用中忽略的唯一输入是起始参数列表(对权重的初始猜测)。我们简单的使用平均分布。
opts = sco.minimize(min_sharpe, noa*[1./noa,], method = 'SLSQP', bounds = bnds, constraints = cons)
opts
Out[9]:
status: 0
success: True
njev: 4
nfev: 28
fun: -1.1623048291871221
x: array([ -3.60840218e-16, 2.24626781e-16, 1.63619563e-01, -2.27085639e-16, 8.36380437e-01])
message: 'Optimization terminated successfully.'
jac: array([ 1.81575805e-01, 5.40387481e-01, 8.18073750e-05, 1.03137662e+00, -1.60038471e-05, 0.00000000e+00])
nit: 4
得到的最优组合权重向量为:
In [10]:
opts['x'].round(3)
Out[10]:
array([-0. , 0. , 0.164, -0. , 0.836])
sharpe最大的组合3个统计数据分别为:
In [11]:
#预期收益率、预期波动率、最优夏普指数
statistics(opts['x']).round(3)
Out[11]:
array([ 0.508, 0.437, 1.162])
7.投资组合优化2——方差最小
接下来,我们通过方差最小来选出最优投资组合。
In [12]:
#但是我们定义一个函数对 方差进行最小化
def min_variance(weights):
return statistics(weights)[1]
optv = sco.minimize(min_variance, noa*[1./noa,],method = 'SLSQP', bounds = bnds, constraints = cons)
optv
Out[12]:
status: 0
success: True
njev: 7
nfev: 50
fun: 0.38542969450547221
x: array([ 1.14787640e-01, 3.28089742e-17, 2.09584008e-01, 3.53487044e-01, 3.22141307e-01])
message: 'Optimization terminated successfully.'
jac: array([ 0.3851725 , 0.43591119, 0.3861807 , 0.3849672 , 0.38553924, 0. ])
nit: 7
方差最小的最优组合权重向量及组合的统计数据分别为:
In [13]:
optv['x'].round(3)
Out[13]:
array([ 0.115, 0. , 0.21 , 0.353, 0.322])
In [14]:
#得到的预期收益率、波动率和夏普指数
statistics(optv['x']).round(3)
Out[14]:
array([ 0.226, 0.385, 0.587])
8.组合的有效前沿
有效前沿有既定的目标收益率下方差最小的投资组合构成。
在最优化时采用两个约束,1.给定目标收益率,2.投资组合权重和为1。
In [15]:
def min_variance(weights):
return statistics(weights)[1]
#在不同目标收益率水平(target_returns)循环时,最小化的一个约束条件会变化。
target_returns = np.linspace(0.0,0.5,50)
target_variance = []
for tar in target_returns:
cons = ({'type':'eq','fun':lambda x:statistics(x)[0]-tar},{'type':'eq','fun':lambda x:np.sum(x)-1})
res = sco.minimize(min_variance, noa*[1./noa,],method = 'SLSQP', bounds = bnds, constraints = cons)
target_variance.append(res['fun'])
target_variance = np.array(target_variance)
下面是最优化结果的展示。
叉号:构成的曲线是有效前沿(目标收益率下最优的投资组合)
红星:sharpe最大的投资组合
黄星:方差最小的投资组合
In [16]:
plt.figure(figsize = (8,4))
#圆圈:蒙特卡洛随机产生的组合分布
plt.scatter(port_variance, port_returns, c = port_returns/port_variance,marker = 'o')
#叉号:有效前沿
plt.scatter(target_variance,target_returns, c = target_returns/target_variance, marker = 'x')
#红星:标记最高sharpe组合
plt.plot(statistics(opts['x'])[1], statistics(opts['x'])[0], 'r*', markersize = 15.0)
#黄星:标记最小方差组合
plt.plot(statistics(optv['x'])[1], statistics(optv['x'])[0], 'y*', markersize = 15.0)
plt.grid(True)
plt.xlabel('expected volatility')
plt.ylabel('expected return')
plt.colorbar(label = 'Sharpe ratio')
Out[16]:
『玖』 如何构建投资组合,如何建立投资组合
关于证券投资,很多人都有一个基本的风险意识,那就是“不能将鸡蛋放在一个篮子里”。简单的说,就是持仓必须要适当的分散化,以此来抵御不可预测的系统风险和非系统风险。
既然意识到了分散投资的必要性,那就要面临如何构建投资组合这一现实问题。虽然不同风格的投资者有不同的经验和偏好,但是在我看来,“安全”应该是任何一个优秀投资组合的首要特征。
构建投资组合的基本原则
1、组合内部具备稳定的现金流收入(安全边际)
2、保住本金,永远只用利润去冒险(风险控制)
3、“本金低风险+利润高风险”,回避中等风险(标的选择)
如何构建投资组合?
(1)定投指数基金,目标10%;
(2)找一家你信得过的资产管理机构,同样不要预期太高,扣除各种费用和提成后,大部分专业投资机构能给你带来的平均回报水平,也就是略高于指数的回报率;而且要从几万家资产管理机构中挑选出优胜者,难度不小于选择股票;
(3)自己建立一个投资组合,长期收益率目标是15%,需要申明下,这是个很高的目标了,除了要具备正确的投资理念,付出很艰苦的努力外,还需要一点点运气。
『拾』 如何构建股票最佳投资组合
几步走
1.板块,选定国家政策风口导向板块,现阶段如混改
2.基本面,分析财务数据,经营情况,缩小股票池范围
3.就是技术分析了,个人建议采用MACD+KDJ的综合分析法。
通过这几步,相信选出来的潜力不会太差,
有兴趣多多交流