diff options
| -rw-r--r-- | python/calibrate_swaption.py | 7 |
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) |
