如何使字典只输出最大值(隐含波动率)?

问题描述 投票:1回答:2

因此,以 "期权 "为标题的字典按照行权价,卖出价,德尔塔和隐含波动率吐出了下面的结果(可交易期权)。但我不需要它吐出所有的可交易选项。我只想让输出结果显示1个隐含波动率(IV)最高的可交易期权,所以例如,结果应该只显示IV最高的期权。

行权价:43.0000,要价:0.030000,出价。0.000000,Delta:0.008705,IV:1.449510。 - 因为这里的IV是下面整个输出中最高的。

如何才能做到这一点?

import config 
import robin_stocks as r 

r.login(config.USERNAME,config.PASSWORD)


#specify criteria to search for options of a given symbol and its exp date
symbol = 'GDX'
expirationDate = '2020-06-19'


search_option = r.find_options_for_stock_by_expiration(symbol,expirationDate,optionType='call')


for option in search_option:

        print("Strike Price: {}, Ask: {}, Bid: {}, Delta: {}, IV: {}".format(option['strike_price'],option['ask_price'],option['bid_price'],option['delta'], option['implied_volatility']))


**OUTPUT**:
Strike Price: 42.0000, Ask: 0.030000, Bid: 0.000000, Delta: 0.009354, IV: 1.335719
Strike Price: 43.0000, Ask: 0.030000, Bid: 0.000000, Delta: 0.008705, IV: 1.449510
Strike Price: 35.5000, Ask: 0.060000, Bid: 0.040000, Delta: 0.073395, IV: 0.634361
Strike Price: 36.5000, Ask: 0.030000, Bid: 0.020000, Delta: 0.041370, IV: 0.743600
python dictionary finance computational-finance
2个回答
0
投票

取而代之的是 for 循环替换掉这个代码。

highest_IV, highest_idx = 0, None
for idx, option in enumerate(search_option):
    if option['implied_volatility'] and highest_IV < float(option['implied_volatility']):
        highest_IV = float(option['implied_volatility'])
        highest_idx = idx
if highest_idx is not None:
    print("Strike Price: {strike_price}, Ask: {ask_price}, Bid: {bid_price}, Delta: {delta}, IV: {implied_volatility}".format(**search_option[highest_idx]))

在这里,你可能需要考虑以下情况 search_option 是空的。

希望对你有所帮助。


0
投票

你可以用最高的IV值来返回选项,就像这样做。

def find_highest_iv(search_option):
    max_iv = max([option['implied_volatility'] for option in search_option ])
    for option in search_option:
        for k,v in option.items():
            if k == 'implied_volatility' and v == max_iv:
                return option

如果有两个选项有相同的IV,将返回第一个在 search_options. 可能有更多的pythonic速记方法,但这个应该可以。

© www.soinside.com 2019 - 2024. All rights reserved.