注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

QuantsGeek量化极客

量化投资日记

 
 
 

日志

 
 

通过蒙特卡洛模拟路径法划有效前沿,仅供大家参考。  

2012-12-06 23:07:44|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

'''

Created on 2012-11-27


@author: Skywalker

'''

import rpy2.robjects as robjects

import rpy2

import xlrd as xl

import numpy as np

import scipy as sp

import matplotlib.pyplot as plt

 

 

filename='/Users/Skywalker/Documents/pythonsourcecode/exceldatabase/3parameters.xlsx'

wb=xl.open_workbook(filename)

 

#specify portfolio and hs300

nrow=wb.sheet_by_index(4).rows

ncol=wb.sheet_by_index(4).cols

 

portfolio=[]

 

for i in range(0,ols):

    portfolio += wb.sheet_by_index(1).col_values(i,2)

 

pathPort = robjects.r.matrix(robjects.FloatVector(portfolio), ncol=ncols)

 

w1=[]

w2=[]

w3=[]

 

for p1 in np.arange(0.01,1,0.01):

    for p2 in np.arange(0.01,1,0.01):

        p3=1-p1-p2

        if p3>0:

            w1.append(p1)

            w2.append(p2)

            w3.append(p3)

W = robjects.r.matrix(robjects.FloatVector(w1+w2+w3), ncol=4)

#print(robjects.r.dim(W))

tpathPort=robjects.r.t(pathPort)

portReturn=robjects.r['%*%'](W,tpathPort)

#print(max(portReturn))

#print(robjects.r.dim(portReturn))

rmean=robjects.r.application(portReturn,1,robjects.r.mean)

rsigma=robjects.r.application(portReturn,1,robjects.r.sd)

 

Mean=[]

Sigma=[]

 

for i in range(0,len(rmean)):

    Mean.append(rmean[i])

    Sigma.append(rsigma[i])

print(len(Mean))

plt.plot(Sigma,Mean,marker='o')

plt.grid(True)

plt.show()通过蒙特卡洛模拟路径法划有效前沿,仅供大家参考。 - Loki - Yggdrasil-世界树
  评论这张
 
阅读(366)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017