Python, FpML, 與QuantLib結合的第一次嚐試

本文介绍了将FpML文件解析并利用QuantLib进行股票期权估值的尝试。通过导入和解析FpML XML文件,提取交易细节,如股票代码、行权方式等,然后使用QuantLib构建模型,设定日期、获取市场数据,最终计算期权的波动率和价值。文章以一个2001年的股票期权为例,展示了整个流程和技术应用。
摘要由CSDN通过智能技术生成

股票期權 – 從 FpML 到 QuantLib

2019 Alvin Cho. Provided ‘AS IS’. 29 April 2019. No copyright!

版權沒有, 歡迎使用, 沒有任何保證. 裡面使用的估值方法可以因為任何理由不正確或是不適用你的情況, 請完全理解再使用.

計劃將 FpML 和 QuantLib 結合, 將 FpML 文件描述的產品進行估值. 這是第一個嚐試.
這篇文章的目的不是教程, 只是一次實驗, 所以沒有說明很詳細.

導入 FpML 文件

from lxml import etree

利用 etree.parse 將 xml 檔案載入並 parse. 這個文檔是 FpML 5.11 Comfirmation View 裡的 eqd-ex13. 將 FpML.org 下載的最新版規格解壓後就可以找到.

fp=etree.parse('FpML/confirmation/products/equity-options/eqd-ex13-1996-american-call-stock.xml')

Confirmation View 的 namespace 一律是這個, 在任何 xpath 搜尋都需要指定 namespace.
在 FpML 裡面 namespace 用得不是很複雜, 同一個 view 裡的都用一樣

ns={
   "ns":"http://www.fpml.org/FpML-5/confirmation"}
asset=fp.xpath('//ns:trade/*',namespaces=ns)[1].tag

找到 tag 為 trade 的 node, 裡面有交易的細節. 第二個子節點就是這筆交易的產品. 這個文檔是做 equityOption

asset
'{http://www.fpml.org/FpML-5/confirmation}equityOption'
instrument=fp.xpath('//ns:instrumentId/text()',namespaces=ns)[0]
instrument
'STM-FP'

股票代碼是 FpML instrumentScheme 的代碼, 因為要取用 Yahoo 數據, 所以需要轉換.
-FP 表示是法國巴黎交易所. Yahoo 使用路透社的數據, 代碼為 Reuters Instrument Code, RIC, 巴黎交易所股票在代碼後加上 .PA

ric=instrument.replace('-FP','.PA')
ric
'STM.PA'
exercise=fp.xpath('//ns:equityExercise/*',namespaces=ns)[0].tag

找到 行權方式, equityAmericanExercise 是美式期權. 其他要素一一提出

exercise
'{http://www.fpml.org/FpML-5/confirmation}equityAmericanExercise'
expiration=fp.xpath('//ns:expirationDate//ns:unadjustedDate/text
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值