python的金融衍生品和投资组合分析工具
derp的Python项目详细描述
德比
python的金融衍生品和投资组合分析工具
- 自由软件:麻省理工学院许可证
- 文档:https://derpy.readthedocs.io。
如何启动和运行
要在项目中包含该模块,只需在python项目中使用pip install derpy
importderpyprint(derpy.__version__)# returns '0.0.1'
示例使用
债券
fromderpyimportbondasbdpx=95.0428face_val=100.0mat=1.5cpn_frq=2cpn_rate=5.25ytm=5.5print(' Price: {}'.format(bd.bond_price(face_val,mat,ytm,cpn_rate,cpn_frq)))print(' Yield: {}'.format(bd.bond_ytm(px,face_val,mat,cpn_rate,cpn_frq)))print(' ModDur: {}'.format(bd.bond_duration(px,face_val,mat,cpn_rate,cpn_frq)[0]))print(' MacDur: {}'.format(bd.bond_duration(px,face_val,mat,cpn_rate,cpn_frq)[1]))print('Convexity: {}'.format(bd.bond_convexity(px,face_val,mat,cpn_rate,cpn_frq)))
选项
fromderpy.optionsimportblack_scholes_mertonasbsm# usage method 1: use function wrapperinput=['call',20,21,0.20,0.1,0.0002,0]call_price=bsm.option_pricing(bsm.euro_option,input)call_gamma=bsm.option_pricing(bsm.gamma,input)# usage method 2: call individual functionsput_price=bsm.euro_option('put',20,21,0.2,0.1,0.0002)# div_yield is optionalput_gamma=bsm.gamma('put',20,21,0.2,0.1,0.0002,0.0001)print(call_price)# return 0.16384395..print(call_gamma)# return 0.23993880..print(put_price)# return 1.16342..print(put_gamma)# return 0.2399107..
投资组合分析
fromderpyimportportfolioasptsecurities=['AAA','BBB']positions=[[11,10],[12,10],[13,10],[13,11],[13,12]]prices=[[10,10],[11,10],[12,10],[12,10],[12,10]]dates=['2018-07-01','2018-08-01','2018-09-01','2018-10-01','2018-11-01']df_positions=pd.DataFrame(data=positions,columns=securities,index=dates)df_prices=pd.DataFrame(data=prices,columns=securities,index=dates)p=pt.Portfolio(names=securities,positions=df_positions,prices=df_prices)print(p.sec_values())print(p.sec_weights())print(p.portfolio_value())print(p.portfolio_returns())
历史记录
0.1.0(2018-09-19)
- 发行期权定价
- 发布的投资组合分析
- 增加了对期权和投资组合的测试