部落格完整文章:
https://blog.zmcx16.moe/2024/10/gpt-norn-stockscreener_20.html
之前寫了一篇用GPT幫忙分析整理美股公司資料, 這次想到也可以用GPT幫忙分析美股選擇
權估值, 畢竟之前做了不少美股選擇權估值的模型, 如果能把這些資料交給GPT來幫忙分
析, 或許可以在做選擇權交易之前看下分析報告, 讓GPT幫忙簡單整理買賣方建議。
關於之前寫的選擇權估值模型的文章, 有興趣的可以也可以參考下:
[網站開發] 美股選擇權定價模型 - 新增隱含波動率計算凱利公式
https://blog.zmcx16.moe/2022/08/blog-post.html
這次做好的功能如下:
https://i.imgur.com/vHvDAh4.png
Norn-StockScreener投資網站:
https://norn-stockscreener.zmcx16.moe/gpt-investing-assistant/
Github:
https://github.com/zmcx16/Norn-StockScreener
https://github.com/zmcx16/Norn-Finance-API-Server
這個頁面的功能參數如下:
* Symbol: 美股選擇權合約的股票代號
* GPT Model Name: 選要使用的GPT的model name, 預設是目前CP值最高的gpt-4o, 如果
選gpt-3.5-turbo的話產出的報告就會簡單不少, 另外也支援使用者自己輸入OpenAI其他
支援的model, 不過不一定能用, 只有ChatGPT相關的model才能跑。
* OpenAI API Key: 考慮到自己的錢包, 有想使用的人得輸入自己的OpenAI API Key, 我
想會有人擔心輸入了API Key會不會被我偷偷拿去用, 我說不會也拿不出證明, 所以真的
有想用這功能的話, 建議申請5美元免洗帳號的API Key, 或是用自己帳號新產生的key,用
完就趕緊銷毀吧~ 申請API Key可以參考這個文章:
如何免費申請ChatGPT (OpenAI) 的API Key
https://today.line.me/tw/v2/article/mWE3Ylm
* Expriation Date: 選擇權合約到期日
* Strike Price: 選擇權合約履約價
* Call / Put Option: 選擇Call or Put合約
* Valuation Data: 選擇權估值模型參數選擇, 在使用GPT模型之前, 會先用自己做的估
值模型跑估值結果, 使用者可以決定要不要讓GPT模型也參考這些估值結果, 目前總共有
以下參數:
'Black Scholes Merton EWMA Historical Volatility', 'Monte Carlo EWMA
Historical Volatility', 'Binomial Tree EWMA Historical Volatility', 'Kelly
Criterion', 'Probability of Exercise of Option', 'Delta', 'Gamma', 'Vega',
'Theta', 'Rho'
使用以上參數輸入給GPT模型的Prompt範例如下, 其中大部分的資料都是從
Norn-Finance-API-Server取得:
{{"model":"o1-preview","messages":[{"role":"user","content":"Please analyze
the option contract for the company with the symbol DIS. Provide a detailed
and comprehensive analysis, focusing on the risks—particularly the impact of
the earnings date and ex-dividend date—and valuation for both the buyer and
the seller. Your task is to thoroughly evaluate the data and generate a
report in Markdown format (No need to wrap in code blocks). Here’s the
data:\n```{option contract & valuation data}```"}]}}
至於結果就像上面demo圖看到的, 照慣例我直接Google翻譯頁面了, 比較好解釋XD:
https://i.imgur.com/zebjKh4.png
上面的資料是程式使用yfinance從Yahoo財經取得的選擇權合約資料, 包含報價資料以及
隱含波動率等等, 其中只有歷史波動率不是Yahoo財經給的, 是Norn-Finance-API-Server
用歷史股價計算出來的。
https://i.imgur.com/1Xqd87O.png
上圖的凱利公式也是Norn-Finance-API-Server透過蒙地卡羅模擬計算出來, 可以看出該
put交易用凱利公式分析對賣方有利(不過該公式只單純用歷史波動率做蒙地卡羅模擬未來
的股價變化, 並沒有考慮到消息面, 財報公布日, 除權息等等, 只能當作參考不能只看這
個參數是決定交易與否), 至於風險分析這邊感覺有些廢話, 除了行權機率也是透過程式
估算以外, 其他的文字敘述基本上看合約報價就懂的意思差不多...。
https://i.imgur.com/o1biI9g.png
分析結果該合約簡單總結對賣方有利, 其他的文字敘述一樣有些雞肋就是..., 另外來看
看, 如果選擇權履約日在財報日之後, GPT會怎麼回覆吧, DIS下次財報日是11/14, 我們
挑11/15到期, 行權價90元的迪士尼賣權合約看看:
https://i.imgur.com/GH4SPxl.png
https://i.imgur.com/Rxm22y9.png
可以看出因為是價外合約+離目前股票落差不小, 所以行權機率低(7.34%), 凱利公式算出
來也是對賣方略為有利(不過也只有0.98%, 跟不建議交易基本上也差不多了), 可是這些
公式都是透過歷史波動率計算, 如果加上考慮財報日的影響, 基本上是完全不建議做賣方
交易的, 而因為我們在GPT prompt有註明要考慮行權日以及除息日的風險, 所以有特別敘
述賣方的風險, 算是有達到我想要的警告這樣。
這次的結果感覺沒有上次的公司分析整理報告好, 給的建議大多數都是看我原本程式的數
據就能得到, 這塊我可能要再思考一下, 繼續改進prompt是否可以得到更有價值的建議.
..。
--