aboutsummaryrefslogtreecommitdiffstats
path: root/python/calibrate_swaption.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/calibrate_swaption.py')
-rw-r--r--python/calibrate_swaption.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/python/calibrate_swaption.py b/python/calibrate_swaption.py
index b5b3e40f..3db3410c 100644
--- a/python/calibrate_swaption.py
+++ b/python/calibrate_swaption.py
@@ -37,7 +37,7 @@ def calib(d, option, expiry, index, series):
r.append(option.sigma)
return [d['quotedate'], index, series, expiry, d['strike']] + r
-def calibrate(index_type, series, date):
+def calibrate(index_type, series, date, nproc):
sql_str = ("INSERT INTO swaption_calib VALUES({}) ON CONFLICT DO NOTHING".
format(",".join(["%s"] * 9)))
data = get_data(index_type, series, date)
@@ -48,7 +48,7 @@ def calibrate(index_type, series, date):
index.trade_date = trade_date
option = Swaption(index, expiry.date(), 100,
strike_is_price = index_type == "HY")
- r = Parallel(n_jobs=4)(
+ r = Parallel(n_jobs=nproc)(
delayed(calib)(d, option, expiry.date(), index_type, series) for d in
v[['ref', 'quotedate', 'strike', 'pay_bid', 'pay_offer', 'rec_bid', 'rec_offer']].
to_dict(orient = 'records'))
@@ -61,5 +61,6 @@ if __name__ == "__main__":
parser.add_argument('--index', required=True, type = lambda s: s.upper())
parser.add_argument('--series', required=True, type=int)
parser.add_argument('--date', required = False, default = datetime.date.min)
+ parser.add_argument('--nproc', required = False, type=int, default = 4)
args = parser.parse_args()
- calibrate(args.index, args.series, args.date)
+ calibrate(args.index, args.series, args.date, args.nproc)