voly 0.0.27__py3-none-any.whl → 0.0.28__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
voly/core/charts.py CHANGED
@@ -46,47 +46,41 @@ def plot_volatility_smile(moneyness: np.ndarray,
46
46
  y=iv * 100, # Convert to percentage
47
47
  mode='lines',
48
48
  name='Model',
49
- line=dict(color='#00FFC1', width=2)
49
+ line=dict(color='#636EFA', width=2)
50
50
  )
51
51
  )
52
52
 
53
- # Add market data if provided
54
- if market_data is not None and expiry is not None:
55
- # Filter market data for the specific expiry
56
- expiry_data = market_data[market_data['yte'] == expiry]
53
+ # Filter market data for the specific expiry
54
+ expiry_data = market_data[market_data['yte'] == expiry]
57
55
 
58
- if not expiry_data.empty:
59
- # Add bid IV
60
- fig.add_trace(
61
- go.Scatter(
62
- x=expiry_data['log_moneyness'],
63
- y=expiry_data['bid_iv'] * 100, # Convert to percentage
64
- mode='markers',
65
- name='Bid IV',
66
- marker=dict(size=8, symbol='circle', opacity=0.7)
67
- )
56
+ if not expiry_data.empty:
57
+ # Add bid IV
58
+ fig.add_trace(
59
+ go.Scatter(
60
+ x=expiry_data['log_moneyness'],
61
+ y=expiry_data['bid_iv'] * 100, # Convert to percentage
62
+ mode='markers',
63
+ name='Bid IV',
64
+ marker=dict(size=8, symbol='circle', opacity=0.7)
68
65
  )
66
+ )
69
67
 
70
- # Add ask IV
71
- fig.add_trace(
72
- go.Scatter(
73
- x=expiry_data['log_moneyness'],
74
- y=expiry_data['ask_iv'] * 100, # Convert to percentage
75
- mode='markers',
76
- name='Ask IV',
77
- marker=dict(size=8, symbol='circle', opacity=0.7)
78
- )
68
+ # Add ask IV
69
+ fig.add_trace(
70
+ go.Scatter(
71
+ x=expiry_data['log_moneyness'],
72
+ y=expiry_data['ask_iv'] * 100, # Convert to percentage
73
+ mode='markers',
74
+ name='Ask IV',
75
+ marker=dict(size=8, symbol='circle', opacity=0.7)
79
76
  )
77
+ )
80
78
 
81
- # Get maturity name and DTE for title if not provided
82
- if title is None:
83
- maturity_name = expiry_data['maturity_name'].iloc[0]
84
- dte_value = expiry_data['dte'].iloc[0]
85
- title = f'Volatility Smile for {maturity_name} (DTE: {dte_value:.1f}, YTE: {expiry:.4f})'
86
-
87
- # Use default title if not provided
88
- if title is None:
89
- title = 'Volatility Smile'
79
+ # Get maturity name and DTE for title if not provided
80
+ if title is None:
81
+ maturity_name = expiry_data['maturity_name'].iloc[0]
82
+ dte_value = expiry_data['dte'].iloc[0]
83
+ title = f'Vol Smile for {maturity_name} (DTE: {dte_value:.1f})'
90
84
 
91
85
  # Update layout
92
86
  fig.update_layout(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: voly
3
- Version: 0.0.27
3
+ Version: 0.0.28
4
4
  Summary: Options & volatility research package
5
5
  Author-email: Manu de Cara <manu.de.cara@gmail.com>
6
6
  License: MIT
@@ -4,15 +4,15 @@ voly/exceptions.py,sha256=PBsbn1vNMvKcCJwwJ4lBO6glD85jo1h2qiEmD7ArAjs,92
4
4
  voly/formulas.py,sha256=aG_HSq_a4j7TcuKiINlHSpmNdmfZa_fzYbAk8EGt954,7427
5
5
  voly/models.py,sha256=YJ12aamLz_-aOni4Qm0_XV9u4bjKK3vfJz0J2gc1h0o,3565
6
6
  voly/core/__init__.py,sha256=bu6fS2I1Pj9fPPnl-zY3L7NqrZSY5Zy6NY2uMUvdhKs,183
7
- voly/core/charts.py,sha256=aPvdv8agudljFnVZ27BURIxp3o-cvYucRtYnDUOQBUI,26809
7
+ voly/core/charts.py,sha256=yChNwpIXX7SdOH0ezrX_dWzQGggO-cA6haOxJ90G3YY,26484
8
8
  voly/core/data.py,sha256=Dfk-ByHpdteUiLXr0p-wRLr3VAmdyjdDBKwjwdTgCjA,9939
9
9
  voly/core/fit.py,sha256=y0NSpNGwkm7xd_Feb6wWB3t12oXEbGVvjfXVwNV8Q-M,9971
10
10
  voly/core/interpolate.py,sha256=ztVIePJZOh-CIbn69wkh1JW2rKywNe2FEewRN0zcSAo,8185
11
11
  voly/core/rnd.py,sha256=-xBVzvM9sMIBtfOfWyBJKtiVcBShSGTNNp2PZFOD5j0,12155
12
12
  voly/utils/__init__.py,sha256=E05mWatyC-PDOsCxQV1p5Xi1IgpOomxrNURyCx_gB-w,200
13
13
  voly/utils/logger.py,sha256=4-_2bVJmq17Q0d7Rd2mPg1AeR8gxv6EPvcmBDMFWcSM,1744
14
- voly-0.0.27.dist-info/LICENSE,sha256=wcHIVbE12jfcBOai_wqBKY6xvNQU5E909xL1zZNq_2Q,1065
15
- voly-0.0.27.dist-info/METADATA,sha256=smzZW44EecovIH0hxdYNfGIvRPh4M8xmHRIFmwSrXrM,4092
16
- voly-0.0.27.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
17
- voly-0.0.27.dist-info/top_level.txt,sha256=ZfLw2sSxF-LrKAkgGjOmeTcw6_gD-30zvtdEY5W4B7c,5
18
- voly-0.0.27.dist-info/RECORD,,
14
+ voly-0.0.28.dist-info/LICENSE,sha256=wcHIVbE12jfcBOai_wqBKY6xvNQU5E909xL1zZNq_2Q,1065
15
+ voly-0.0.28.dist-info/METADATA,sha256=oD7vNf1zMf1mPxSZE-PNmtMFSecaMT3tz7lwTKkouHg,4092
16
+ voly-0.0.28.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
17
+ voly-0.0.28.dist-info/top_level.txt,sha256=ZfLw2sSxF-LrKAkgGjOmeTcw6_gD-30zvtdEY5W4B7c,5
18
+ voly-0.0.28.dist-info/RECORD,,
File without changes
File without changes