Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共1 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:期权平价公式

1楼
yukizzc 发表于:2020/11/13 13:38:38

根据平价公式C + K*e^-rt = S + P ,左边是持有一份认购期权和到期行权价折现后的现值,右边是标的物的现价和持有一份认沽期权

这个模块只需要传入一个月份参数就能得到一个pandas格式,字段分别是strick_price、left、   right  、left-right

其中left-right就是等式左边-右边后套利的价差。

 

 

# 该Python代码用于模块定义,供其他Python代码或VBA调用。

from PythonApi import *
import numpy as np
import pandas as pd
def cal(month):
    # 分别保存认购代码、认沽代码、行权价
    call_list = optionlabel_book('510050','QQ',str(month), 1)
    put_list = optionlabel_book('510050','QQ',str(month), 2)
    K_list = [float(format(get_option_info(i,5), '.2f')) for i in call_list]
   
   
   
    # 平价公式 C + K*e^-rt = S + P
    # 期权到期天数到期天数
    t = get_option_info(call_list[0],4)
    data = []
    for i in range(len(call_list)):
        a = get_dynainf(call_list[i],7) + K_list[i]*np.e**(-0.04*t/365)
        b = get_dynainf('510050',7) + get_dynainf(put_list[i],7)
        data.append([K_list[i],a,b])
       
    df = pd.DataFrame(data,columns=['strick_price','left','right'])
    df['left-right'] = df['left'] - df['right']
    df.sort_values(by='strick_price',inplace=True)
    return df
   
   

# 通过传入年月,2011表示20年的11月
a = cal(2011)
b = cal(2012)

print(a)
print(b)

[此贴子已经被作者于2020/11/13 13:48:39编辑过]
共1 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.