aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/calibrate_swaption.py8
-rw-r--r--python/exploration/option_trades.py2
2 files changed, 6 insertions, 4 deletions
diff --git a/python/calibrate_swaption.py b/python/calibrate_swaption.py
index 087b9c3b..40e6ccd4 100644
--- a/python/calibrate_swaption.py
+++ b/python/calibrate_swaption.py
@@ -1,5 +1,4 @@
import pandas as pd
-import argparse
from analytics import Index, Swaption
import datetime
from db import dbengine
@@ -91,12 +90,13 @@ def calibrate(index_type=None, series=None, date=None, nproc=4, latest=False):
serenitas_engine.execute(sql_str, to_insert)
if __name__ == "__main__":
+ import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--index', required=False, type=lambda s: s.upper(), dest="index_type")
parser.add_argument('--series', required=False, type=int, default=28)
- parser.add_argument('--date', required = False, default=datetime.date.min)
- parser.add_argument('--latest', required = False, action="store_true")
- parser.add_argument('--nproc', required = False, type=int, default=4)
+ parser.add_argument('--date', required=False, default=datetime.date.min)
+ parser.add_argument('--latest', required=False, action="store_true")
+ parser.add_argument('--nproc', required=False, type=int, default=4)
args = parser.parse_args()
if args.latest:
calibrate(latest=True, nproc=args.nproc)
diff --git a/python/exploration/option_trades.py b/python/exploration/option_trades.py
index ab61a520..8562549d 100644
--- a/python/exploration/option_trades.py
+++ b/python/exploration/option_trades.py
@@ -83,10 +83,12 @@ def atm_vol(index, date, series=None, moneyness=0.2):
df = pd.read_sql_query(sql_str, serenitasdb,
index_col=['quotedate', 'expiry', 'series'],
params=params, parse_dates=['quotedate'])
+ df = df.groupby(df.index).filter(lambda x: len(x)>2)
return atm_vol_calc(df, index, moneyness)
def rolling_vol(df, col='atm_vol', term=[3]):
"""compute the rolling volatility for various terms"""
+ df = df.reset_index(level=['expiry', 'series'])
df = df.groupby(df.index).filter(lambda x: len(x)>2)
def aux(s, col, term):
k = s.index[0]