Learn practical skills, build real-world projects, and advance your career

benchmark-bond-trade-price-challenge

Use the "Run" button to execute the code.

!pip install jovian --upgrade --quiet
import jovian
# Execute this to save new versions of the notebook
jovian.commit(project="benchmark-bond-trade-price-challenge")
[jovian] Detected Colab notebook... [jovian] Uploading colab notebook to Jovian... Committed successfully! https://jovian.ai/adeneyeoluwafunbi/benchmark-bond-trade-price-challenge

#Problem Statement
The Benchmark Bond Trade Price Challenge is a competition to predict the next price that a US corporate bond might trade at. Contestants are given information on the bond including current coupon, time to maturity and a reference price computed by Benchmark Solutions.

US corporate bond trade data is provided. Each row includes trade details, some basic information about the traded bond, and information about the previous 10 trades. Contestants are asked to predict trade price.

id: The row id.

bond_id: The unique id of a bond to aid in timeseries reconstruction. (This column is only present in the train data)

trade_price: The price at which the trade occured. (This is the column to predict in the test data)

weight: The weight of the row for evaluation purposes. This is calculated as the square root of the time since the last trade and then scaled so the mean is 1.

current_coupon: The coupon of the bond at the time of the trade.

time_to_maturity: The number of years until the bond matures at the time of the trade.

is_callable: A binary value indicating whether or not the bond is callable by the issuer.

reporting_delay: The number of seconds after the trade occured that it was reported.

trade_size: The notional amount of the trade.

trade_type: 2=customer sell, 3=customer buy, 4=trade between dealers. We would expect customers to get worse prices on average than dealers.

curve_based_price: A fair price estimate based on implied hazard and funding curves of the issuer of the bond.

received_time_diff_last{1-10}: The time difference between the trade and that of the previous {1-10}.

trade_price_last{1-10}: The trade price of the last {1-10} trades.

trade_size_last{1-10}: The notional amount of the last {1-10} trades.

trade_type_last{1-10}: The trade type of the last {1-10} trades.

curve_based_price_last{1-10}: The curve based price of the last {1-10} trades.

This is definately a regression supervised machine learning problem. We will use several regression machine learning model, tune each model's hyperparameters and select the model that has the best prediction.