{
  "id": 1315,
  "title": "Clarifications of received_time_diff, reporting_delay and curve_based_price",
  "url": "/competitions/benchmark-bond-trade-price-challenge/discussion/1315",
  "author_name": "",
  "post_date": "2012-01-29T11:06:46.347Z",
  "votes": null,
  "comment_count": 18,
  "views": 8582,
  "content": "<p>For those of us who know nothing about bond trading, could you please clarify the time-related quantities and the trading behavior:</p>\r\n<p>Q1) Please define the following two quantities and how they are interrelated to each other (show us an example with sample times in seconds, labeling each event):</p>\r\n<p>&nbsp;&nbsp;&nbsp; * <strong>reporting_delay</strong>: The number of seconds after the trade occured that it was reported<em> (reported to whom? all other traders? What sort of effect would this have on trading in the bond? Would other (human) traders have guessed or interpolated\r\n the trading behavior, or stopped trading this bond? reporting_delay is negative for 30759 records, and for a few outliers it's &gt; &#43;873500000 sec (2.77 years?!), are those meaningful or dirty data? How to treat them?)</em></p>\r\n<p>&nbsp;&nbsp;&nbsp; * <strong>received_time_diff_last{1-10}</strong>: The time difference between the trade and that of the previous {1-10}.\r\n<em>(How is that related to reporting_delay, should we offset by reporting_delay, which reported prices are other traders seeing at which exact time? Or is that not relevant?)</em></p>\r\n<p>( <strong>weight</strong>: This one is clear. The <a href=\"http://www.kaggle.com/c/benchmark-bond-trade-price-challenge/details/Evaluation\">\r\nweight of the row for evaluation purposes with Mean Absolute Error</a>. <em>I would have called that Weighted MAE, but hey. (Also the\r\n<a href=\"http://www.kaggle.com/c/benchmark-bond-trade-price-challenge/forums/t/1311/column-weight/8326#post8326\">\r\nclarification about this</a>, that it's a proxy for the normalized value of: constant * sqrt(received<em>time</em>diff1&#43;1)</em> )</p>\r\n<p>&nbsp;</p>\r\n<p>Q2) For rows with <em>NA</em> for some or all previous trades, does that mean <strong>\r\nreceived_time_diff</strong> &gt; some large threshold? or just that the data is missing?</p>\r\n<p>Q3) Also, how do these timings affect when <strong>curve_based_price</strong> is calculated, and at what time it is provided and to whom? Is it retroactively calculated for trades with large reporting_delay? Is curve_based_price your suggested fair price\r\n of what trade would be accepted at that time? If we graph curve_based_price vs trade_price over the window (received_time_diff), what does that tell us?</p>\r\n<p>&nbsp;</p>\r\n<p>Thanks</p>",
  "messages": [
    {
      "id": "8332",
      "postDate": "01/29/2012 11:06:46",
      "content": "<p>For those of us who know nothing about bond trading, could you please clarify the time-related quantities and the trading behavior:</p>\r\n<p>Q1) Please define the following two quantities and how they are interrelated to each other (show us an example with sample times in seconds, labeling each event):</p>\r\n<p>&nbsp;&nbsp;&nbsp; * <strong>reporting_delay</strong>: The number of seconds after the trade occured that it was reported<em> (reported to whom? all other traders? What sort of effect would this have on trading in the bond? Would other (human) traders have guessed or interpolated\r\n the trading behavior, or stopped trading this bond? reporting_delay is negative for 30759 records, and for a few outliers it's &gt; &#43;873500000 sec (2.77 years?!), are those meaningful or dirty data? How to treat them?)</em></p>\r\n<p>&nbsp;&nbsp;&nbsp; * <strong>received_time_diff_last{1-10}</strong>: The time difference between the trade and that of the previous {1-10}.\r\n<em>(How is that related to reporting_delay, should we offset by reporting_delay, which reported prices are other traders seeing at which exact time? Or is that not relevant?)</em></p>\r\n<p>( <strong>weight</strong>: This one is clear. The <a href=\"http://www.kaggle.com/c/benchmark-bond-trade-price-challenge/details/Evaluation\">\r\nweight of the row for evaluation purposes with Mean Absolute Error</a>. <em>I would have called that Weighted MAE, but hey. (Also the\r\n<a href=\"http://www.kaggle.com/c/benchmark-bond-trade-price-challenge/forums/t/1311/column-weight/8326#post8326\">\r\nclarification about this</a>, that it's a proxy for the normalized value of: constant * sqrt(received<em>time</em>diff1&#43;1)</em> )</p>\r\n<p>&nbsp;</p>\r\n<p>Q2) For rows with <em>NA</em> for some or all previous trades, does that mean <strong>\r\nreceived_time_diff</strong> &gt; some large threshold? or just that the data is missing?</p>\r\n<p>Q3) Also, how do these timings affect when <strong>curve_based_price</strong> is calculated, and at what time it is provided and to whom? Is it retroactively calculated for trades with large reporting_delay? Is curve_based_price your suggested fair price\r\n of what trade would be accepted at that time? If we graph curve_based_price vs trade_price over the window (received_time_diff), what does that tell us?</p>\r\n<p>&nbsp;</p>\r\n<p>Thanks</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8370",
      "postDate": "01/31/2012 14:58:31",
      "content": "<p>First off, I'd recommend that everyone read the &quot;Background&quot; section for a basic explanation of this competition and some market terms.</p>\r\n<p>As for your specific questions, reporting delay is the time the trade was reported - the time the trade occurred. &nbsp;These values are reported by TRACE. &nbsp;Negative values obviously make no sense, but likely result from clock timing or reporting errors. &nbsp;There\r\n do not seem to be any negative values greater than 1 minute. &nbsp;Extremely large delays could also be errors or they could reflect trades whose reporting was delayed for some reason.</p>\r\n<p>Received_time_diff is the difference in time between the time this trade was reported and when previous trades were reported. &nbsp;Note that this is not the difference in trade times.</p>\r\n<p>Rows with NaNs occur when the dataset has no previous trades to report. &nbsp;The dataset does not look back infinitely, so this does not mean the bond has never traded before.</p>\r\n<p><span style=\"font-family:Arial,Helvetica,sans-serif\"><span>Curve_based_price is calculated at the time of the trade to be predicted, based on the current conditions. &nbsp;The meaning is not&nbsp;</span><span>dependent</span><span>&nbsp;on any timing.</span></span></p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8399",
      "postDate": "02/02/2012 10:02:19",
      "content": "<p>[Dan: I had already read the Background four times, and discussed it with two other people who do have bond trading experience. It doesn't contain the answers to any of my questions, which is why I asked them. Here are the unclear parts again, Q3 seems to\r\n be the most important:]<br>\r\n<br>\r\nQ1) You haven't told us how to use reporting_delay other than as just another feature. Specifically, if a trade was reported (say) 1000 sec late, should we assume that new price was not known to customers (trade_type=2/3) until 1000 secs later, and hence that\r\n a discrepancy existed between the trade-price as known to the trading system (trade_type=4) vs the apparent price to customers? If not, did the customers still get real-time price updates within the usual 15 minutes, regardless of the value of reporting_delay?</p>\r\n<p>&nbsp;</p>\r\n<p>Q2) Ok, so I asked what range of lookback threshold <strong>should</strong> we reasonably assume when we see NAs? 1 day? 1 month? 24 months? the median interval between trades for that particular bond? Please give me a ballpark range of numbers (when we\r\n use linear regression, we need to have some rough numbers for these. )</p>\r\n<p>&nbsp;</p>\r\n<p>Q3) &quot;<span><span>Curve_based_price is calculated at the time of the trade to be predicted, based on the current conditions. &nbsp;The meaning is not&nbsp;</span><span>dependent</span><span>&nbsp;on any&nbsp; timing.&quot;</span></span></p>\r\n<p><span><span>That is not an answer to the question <em>&quot;What is the meaning of curve_based_price?&quot;</em></span></span></p>\r\n<p><span><span>The current definition: <em><em><span class=\"x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_Apple-style-span\" style=\"white-space:pre\">&quot;A fair price estimate based on implied hazard and funding curves of the issuer of the\r\n bond&quot; </span></em></em><span class=\"x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_Apple-style-span\" style=\"white-space:pre\">is pretty unclear.</span><em><br>\r\n</em></span></span></p>\r\n<p><span><span>When I plot some trades, for some examples, I see Dealer Trade and Customer Buy &amp; Sell prices all far above the curve_based_price level; and for others, far below. That makes no sense at all to me, specifically how does cbp represent a 'fair\r\n price estimate' when it's below(/above) all traded buys and sells? I had asked: <em>\r\n&quot;If we graph curve_based_price vs trade_price, what does that tell us?</em><span><span><em>&quot;</em></span></span><br>\r\n</span></span></p>\r\n<p>I don't see how cbp is going to vary dynamically during a very short interval (absent macroevents like the interest rate changes which we are not allowed to infer). So, what are the the short-term dynamics of trading prices, specifically is cbp supposed\r\n to somehow track or average trade_prices, or not - and over a timescale of minutes or months? If there's some introductory link for non-bond-traders like us to read, please post it. Otherwise we're at a huge disadvantage and we might as well ignore curve_based_price.)</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8401",
      "postDate": "02/02/2012 10:23:02",
      "content": "<p>I agree that the explanation for Question 3 is not clear. We would appreciate more detail on the derivation of curve<em>based</em>price.\r\n</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8407",
      "postDate": "02/02/2012 17:26:26",
      "content": "<p>I believe cbp is largely a function of a couple things, both variations of relative value.&nbsp;</p>\r\n<p>I think one part is where the bond should theoretically trade based on the issuer's other bonds.&nbsp; For instance say the bond is a 5yr bond from XYZ corp.&nbsp; If XYZ also has bonds with 2yr and 10yr maturities trading at 3% and 7% respectively, you would expect\r\n the 5yr bond to be trading somewhere between 3 - 7%.&nbsp; This expected yield can be used to figure what the price of the 5yr bond should be.&nbsp; There are lots of formulas to give pretty exact guesses (approximately right/precisely wrong, take your choice).\r\n</p>\r\n<p>The second part would be relative either to similar issues based on credit quality, time to maturity, issue size, or many other features.&nbsp; One common valuation tool is to find the yield on a bond and its peers (usually similar rating and time to maturity)\r\n and find the difference between the average of that groups yield and the yield on government bonds of a similar maturity.&nbsp; For instance, AA bonds w/ 5yr maturity trade at a 5% yield, while gov't bonds w/ 5yr maturity trade at 3.5%.&nbsp; These bonds would trade\r\n at 1.5% over or 150 basis points(bps) over treasuries.&nbsp; So if gov't bond prices drop and yields go up to 4%, it's expected that AA bonds w/ 5 yr maturities would move to a 5.5% (4% &#43; 1.5% = 5.5%) and there would be a matching drop in price for the AA bonds.&nbsp;\r\n I think that these are some of the factors that go into the cbp prices.&nbsp; They're kind of a rational/theoretical expected value for where the bonds should be trading.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8411",
      "postDate": "02/02/2012 18:57:33",
      "content": "<p>Thanks BW. But we can'd directly apply either of those here because the rules prevent us deanonymizing the bond or trading date or using other data sources.</p>\r\n<p>How can we apply curve_based_price to understanding trading dynamics, under the rules of this competition?</p>\r\n<p>I guess we could compare trade_prices, curve_based_prices between bonds grouped by a window of {ttm, current_coupon, is_callable}?</p>\r\n<p>&nbsp;</p>\r\n<p>Also, what does it mean when computer trades occur with a trade_price at a distinct premium/discount to curve_based_price?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8415",
      "postDate": "02/02/2012 20:20:14",
      "content": "<p>[quote=Stephen McInerney;8411]</p>\r\n<p>Also, what does it mean when computer trades occur with a trade_price at a distinct premium/discount to curve_based_price?</p>\r\n<p>[/quote]</p>\r\n<p>Wild guess - just like with stocks, the market may decide that the estimated &quot;<em>fair price</em>&quot; does not reflect the true value of a company's bond and is willing to pay a premium or buy at discount. Personally, I don't find the curve_based_price particularly\r\n insightful as a proxy for the actual trading price of the bonds in this competition.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8416",
      "postDate": "02/02/2012 20:33:33",
      "content": "<p>@ Stephen McInerney</p>\r\n<p>I have a dumb question ... you mentioned 'computer trades'. What do you mean by this? I have skimmed the contest info, but may have missed something. Are some of these trades computer trades and others verbal/phone/etc?&nbsp; Or is it just an assumption based\r\n on reporting delay?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8428",
      "postDate": "02/03/2012 10:59:49",
      "content": "<p>Guys, let's not speculate, please wait for the admins (or else people with bond-trading experience) to answer my questions.</p>\r\n<p><br>\r\n<br>\r\n@BarrenWuffet: read the <a href=\"http://www.kaggle.com/c/benchmark-bond-trade-price-challenge/data\">\r\nData</a> page, you'll see the 11 columns<strong> </strong><span class=\"x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_Apple-style-span\" style=\"white-space:pre\"><strong>trade_type, trade_type_last{1..10}</strong> which have the encoding: 2=customer\r\n sell (CS), 3=customer buy (CB), 4=trade between dealers (T)</span>. T trades are what I meant by 'computer trades', or 'dealer trades' if you like.</p>\r\n<p>If you analyze these you'll see that CS/CB trade_prices, T trade_prices and curve_based_price happen at different values.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8432",
      "postDate": "02/03/2012 18:01:16",
      "content": "<p>@ Stephen McInerney</p>\r\n<p>Thanks for the answer, I appreciate it.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8453",
      "postDate": "02/06/2012 01:06:28",
      "content": "<p>@Dan and Benchmark Solutions, I'm still waiting on answers to #3, it's been a week since the original question...</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8466",
      "postDate": "02/06/2012 19:22:55",
      "content": "<p>I'm unable to desribe curve_based_price fully, partially because it is proprietary, but more because it is the result of many years of quantitative and engineering work. &nbsp;Let me try to outline what it does. &nbsp;We build a curve to determine the expected fair\r\n price of a bond based on that bond's recent trades or quotes, related bond's trades or quotes, cds quotes from the issuing entity, and interest rate data. &nbsp;This curve attempts to assimilate all of this data despite the fact that not all of it is necessarily\r\n in full agreement at all times.</p>\r\n<p>We believe that curve_based_price is a good medium term estimate of price. &nbsp;However in the short term, trading dynamics can be of greater importance than a fair medium term price. &nbsp;I'm sure you've seen how good of an indicator trade_price_last1 is when the\r\n time difference is small and the trade_type is the same. &nbsp;In some sense that is the whole point of this competition - to determine how (and in what time interval) to merge curve_based_price and recent trades to predict short term price action.</p>\r\n<p>In other cases, the curve_based_price might be rich or cheap consistently over a series of trades. &nbsp;This could be because the value of the bond in question really is richer or cheaper than its being traded for a time or because the model was not perfect\r\n and the curve_based_price is slightly off. &nbsp;I understand that it can be hard to use a variable that is not fully described to you. &nbsp;You are certainly welcome to ignore it, but I think you will find it useful to consider mentally as a modelled price based on\r\n the 10 trades that you can see, but also many more trades and quotes that cannot fit in 1 row.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8551",
      "postDate": "02/13/2012 18:17:46",
      "content": "<p>&gt;&gt;&gt;&gt;Received_time_diff is the difference in time between the time this trade was reported and when previous trades were reported.&nbsp; Note that this is not the difference in trade times.</p>\r\n<p>I am still confused about how this time can be so big. Some of these deltas are more than few months and one over an year. Anyone understand these numbers better than me ?</p>\r\n<p>&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8554",
      "postDate": "02/14/2012 02:27:59",
      "content": "<p>I suspect that those delays exceeding 3 days are due to mistakes on the data gathering process.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8584",
      "postDate": "02/15/2012 22:28:35",
      "content": "<p>I would agree that the most likely explanation is simple error. &nbsp;Much of this data is gathered from a feed that occasionally sends corrections, however not all of the corrections are applied to this dataset. &nbsp;This was done in order to simulate the real situation\r\n that data arrives and it must be determined in real time whether it is an error or not. Just because it is corrected 2 hours (or 2 days or 2 months) later does not mean that decision did not have to get made at the time it came in. &nbsp;Obviously errors in received_time\r\n are the smallest example of these potential errors as I believe many of you have determined the field is not the most useful.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8734",
      "postDate": "02/28/2012 16:57:25",
      "content": "<p>Hello Dan,</p>\r\n<p>I wanted to clarify two points regarding the timing:<br>\r\n(1) Does the order in which the trades are listed depend on the actual trade time or on the reporting time?\r\n<br>\r\n(2) Is the curved-based price computed from the yield curve at the time of reporting or retroactively from the curve as it was at the actual trade time?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8761",
      "postDate": "02/29/2012 20:36:37",
      "content": "<p>The order is relative to the reporting time as is the curve_based_price. &nbsp;This is the time that a trade becomes public and is therefore the most relevant time to us.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8765",
      "postDate": "03/01/2012 00:48:10",
      "content": "<p>@Dan,</p>\r\n<p>I'm confused. You said:</p>\r\n<blockquote>\r\n<p><em>Received_time_diff is the difference in time between the time this trade was reported and when previous trades were reported. Note that this is not the difference in trade times.</em></p>\r\n</blockquote>\r\n<p>So the description on the data page is wrong? It says:<em> </em></p>\r\n<blockquote>\r\n<p><em><span class=\"x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_Apple-style-span\" style=\"white-space:pre\">received_time_diff_last{1-10}: The time difference between the trade and that of the previous {1-10}.</span><br>\r\n</em></p>\r\n</blockquote>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "8879",
      "postDate": "03/02/2012 17:23:19",
      "content": "<p>It is the difference between the reporting times of the previous trades, not the trade times. All times in the dataset are relative to the reporting time of a trade. Reporting delay measures the time between trade time and reporting time.</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 8370,
      "author_name": "danglaser",
      "author_url": "",
      "post_date": "01/31/2012 14:58:31",
      "content": "<p>First off, I'd recommend that everyone read the &quot;Background&quot; section for a basic explanation of this competition and some market terms.</p>\r\n<p>As for your specific questions, reporting delay is the time the trade was reported - the time the trade occurred. &nbsp;These values are reported by TRACE. &nbsp;Negative values obviously make no sense, but likely result from clock timing or reporting errors. &nbsp;There\r\n do not seem to be any negative values greater than 1 minute. &nbsp;Extremely large delays could also be errors or they could reflect trades whose reporting was delayed for some reason.</p>\r\n<p>Received_time_diff is the difference in time between the time this trade was reported and when previous trades were reported. &nbsp;Note that this is not the difference in trade times.</p>\r\n<p>Rows with NaNs occur when the dataset has no previous trades to report. &nbsp;The dataset does not look back infinitely, so this does not mean the bond has never traded before.</p>\r\n<p><span style=\"font-family:Arial,Helvetica,sans-serif\"><span>Curve_based_price is calculated at the time of the trade to be predicted, based on the current conditions. &nbsp;The meaning is not&nbsp;</span><span>dependent</span><span>&nbsp;on any timing.</span></span></p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8399,
      "author_name": "smcinerney",
      "author_url": "",
      "post_date": "02/02/2012 10:02:19",
      "content": "<p>[Dan: I had already read the Background four times, and discussed it with two other people who do have bond trading experience. It doesn't contain the answers to any of my questions, which is why I asked them. Here are the unclear parts again, Q3 seems to\r\n be the most important:]<br>\r\n<br>\r\nQ1) You haven't told us how to use reporting_delay other than as just another feature. Specifically, if a trade was reported (say) 1000 sec late, should we assume that new price was not known to customers (trade_type=2/3) until 1000 secs later, and hence that\r\n a discrepancy existed between the trade-price as known to the trading system (trade_type=4) vs the apparent price to customers? If not, did the customers still get real-time price updates within the usual 15 minutes, regardless of the value of reporting_delay?</p>\r\n<p>&nbsp;</p>\r\n<p>Q2) Ok, so I asked what range of lookback threshold <strong>should</strong> we reasonably assume when we see NAs? 1 day? 1 month? 24 months? the median interval between trades for that particular bond? Please give me a ballpark range of numbers (when we\r\n use linear regression, we need to have some rough numbers for these. )</p>\r\n<p>&nbsp;</p>\r\n<p>Q3) &quot;<span><span>Curve_based_price is calculated at the time of the trade to be predicted, based on the current conditions. &nbsp;The meaning is not&nbsp;</span><span>dependent</span><span>&nbsp;on any&nbsp; timing.&quot;</span></span></p>\r\n<p><span><span>That is not an answer to the question <em>&quot;What is the meaning of curve_based_price?&quot;</em></span></span></p>\r\n<p><span><span>The current definition: <em><em><span class=\"x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_Apple-style-span\" style=\"white-space:pre\">&quot;A fair price estimate based on implied hazard and funding curves of the issuer of the\r\n bond&quot; </span></em></em><span class=\"x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_Apple-style-span\" style=\"white-space:pre\">is pretty unclear.</span><em><br>\r\n</em></span></span></p>\r\n<p><span><span>When I plot some trades, for some examples, I see Dealer Trade and Customer Buy &amp; Sell prices all far above the curve_based_price level; and for others, far below. That makes no sense at all to me, specifically how does cbp represent a 'fair\r\n price estimate' when it's below(/above) all traded buys and sells? I had asked: <em>\r\n&quot;If we graph curve_based_price vs trade_price, what does that tell us?</em><span><span><em>&quot;</em></span></span><br>\r\n</span></span></p>\r\n<p>I don't see how cbp is going to vary dynamically during a very short interval (absent macroevents like the interest rate changes which we are not allowed to infer). So, what are the the short-term dynamics of trading prices, specifically is cbp supposed\r\n to somehow track or average trade_prices, or not - and over a timescale of minutes or months? If there's some introductory link for non-bond-traders like us to read, please post it. Otherwise we're at a huge disadvantage and we might as well ignore curve_based_price.)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8401,
      "author_name": "lourdesmontenegro",
      "author_url": "",
      "post_date": "02/02/2012 10:23:02",
      "content": "<p>I agree that the explanation for Question 3 is not clear. We would appreciate more detail on the derivation of curve<em>based</em>price.\r\n</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8407,
      "author_name": "barrenwuffet",
      "author_url": "",
      "post_date": "02/02/2012 17:26:26",
      "content": "<p>I believe cbp is largely a function of a couple things, both variations of relative value.&nbsp;</p>\r\n<p>I think one part is where the bond should theoretically trade based on the issuer's other bonds.&nbsp; For instance say the bond is a 5yr bond from XYZ corp.&nbsp; If XYZ also has bonds with 2yr and 10yr maturities trading at 3% and 7% respectively, you would expect\r\n the 5yr bond to be trading somewhere between 3 - 7%.&nbsp; This expected yield can be used to figure what the price of the 5yr bond should be.&nbsp; There are lots of formulas to give pretty exact guesses (approximately right/precisely wrong, take your choice).\r\n</p>\r\n<p>The second part would be relative either to similar issues based on credit quality, time to maturity, issue size, or many other features.&nbsp; One common valuation tool is to find the yield on a bond and its peers (usually similar rating and time to maturity)\r\n and find the difference between the average of that groups yield and the yield on government bonds of a similar maturity.&nbsp; For instance, AA bonds w/ 5yr maturity trade at a 5% yield, while gov't bonds w/ 5yr maturity trade at 3.5%.&nbsp; These bonds would trade\r\n at 1.5% over or 150 basis points(bps) over treasuries.&nbsp; So if gov't bond prices drop and yields go up to 4%, it's expected that AA bonds w/ 5 yr maturities would move to a 5.5% (4% &#43; 1.5% = 5.5%) and there would be a matching drop in price for the AA bonds.&nbsp;\r\n I think that these are some of the factors that go into the cbp prices.&nbsp; They're kind of a rational/theoretical expected value for where the bonds should be trading.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8411,
      "author_name": "smcinerney",
      "author_url": "",
      "post_date": "02/02/2012 18:57:33",
      "content": "<p>Thanks BW. But we can'd directly apply either of those here because the rules prevent us deanonymizing the bond or trading date or using other data sources.</p>\r\n<p>How can we apply curve_based_price to understanding trading dynamics, under the rules of this competition?</p>\r\n<p>I guess we could compare trade_prices, curve_based_prices between bonds grouped by a window of {ttm, current_coupon, is_callable}?</p>\r\n<p>&nbsp;</p>\r\n<p>Also, what does it mean when computer trades occur with a trade_price at a distinct premium/discount to curve_based_price?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8415,
      "author_name": "sirguessalot",
      "author_url": "",
      "post_date": "02/02/2012 20:20:14",
      "content": "<p>[quote=Stephen McInerney;8411]</p>\r\n<p>Also, what does it mean when computer trades occur with a trade_price at a distinct premium/discount to curve_based_price?</p>\r\n<p>[/quote]</p>\r\n<p>Wild guess - just like with stocks, the market may decide that the estimated &quot;<em>fair price</em>&quot; does not reflect the true value of a company's bond and is willing to pay a premium or buy at discount. Personally, I don't find the curve_based_price particularly\r\n insightful as a proxy for the actual trading price of the bonds in this competition.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8416,
      "author_name": "barrenwuffet",
      "author_url": "",
      "post_date": "02/02/2012 20:33:33",
      "content": "<p>@ Stephen McInerney</p>\r\n<p>I have a dumb question ... you mentioned 'computer trades'. What do you mean by this? I have skimmed the contest info, but may have missed something. Are some of these trades computer trades and others verbal/phone/etc?&nbsp; Or is it just an assumption based\r\n on reporting delay?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8428,
      "author_name": "smcinerney",
      "author_url": "",
      "post_date": "02/03/2012 10:59:49",
      "content": "<p>Guys, let's not speculate, please wait for the admins (or else people with bond-trading experience) to answer my questions.</p>\r\n<p><br>\r\n<br>\r\n@BarrenWuffet: read the <a href=\"http://www.kaggle.com/c/benchmark-bond-trade-price-challenge/data\">\r\nData</a> page, you'll see the 11 columns<strong> </strong><span class=\"x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_Apple-style-span\" style=\"white-space:pre\"><strong>trade_type, trade_type_last{1..10}</strong> which have the encoding: 2=customer\r\n sell (CS), 3=customer buy (CB), 4=trade between dealers (T)</span>. T trades are what I meant by 'computer trades', or 'dealer trades' if you like.</p>\r\n<p>If you analyze these you'll see that CS/CB trade_prices, T trade_prices and curve_based_price happen at different values.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8432,
      "author_name": "barrenwuffet",
      "author_url": "",
      "post_date": "02/03/2012 18:01:16",
      "content": "<p>@ Stephen McInerney</p>\r\n<p>Thanks for the answer, I appreciate it.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8453,
      "author_name": "smcinerney",
      "author_url": "",
      "post_date": "02/06/2012 01:06:28",
      "content": "<p>@Dan and Benchmark Solutions, I'm still waiting on answers to #3, it's been a week since the original question...</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8466,
      "author_name": "danglaser",
      "author_url": "",
      "post_date": "02/06/2012 19:22:55",
      "content": "<p>I'm unable to desribe curve_based_price fully, partially because it is proprietary, but more because it is the result of many years of quantitative and engineering work. &nbsp;Let me try to outline what it does. &nbsp;We build a curve to determine the expected fair\r\n price of a bond based on that bond's recent trades or quotes, related bond's trades or quotes, cds quotes from the issuing entity, and interest rate data. &nbsp;This curve attempts to assimilate all of this data despite the fact that not all of it is necessarily\r\n in full agreement at all times.</p>\r\n<p>We believe that curve_based_price is a good medium term estimate of price. &nbsp;However in the short term, trading dynamics can be of greater importance than a fair medium term price. &nbsp;I'm sure you've seen how good of an indicator trade_price_last1 is when the\r\n time difference is small and the trade_type is the same. &nbsp;In some sense that is the whole point of this competition - to determine how (and in what time interval) to merge curve_based_price and recent trades to predict short term price action.</p>\r\n<p>In other cases, the curve_based_price might be rich or cheap consistently over a series of trades. &nbsp;This could be because the value of the bond in question really is richer or cheaper than its being traded for a time or because the model was not perfect\r\n and the curve_based_price is slightly off. &nbsp;I understand that it can be hard to use a variable that is not fully described to you. &nbsp;You are certainly welcome to ignore it, but I think you will find it useful to consider mentally as a modelled price based on\r\n the 10 trades that you can see, but also many more trades and quotes that cannot fit in 1 row.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8551,
      "author_name": "karmicmenace",
      "author_url": "",
      "post_date": "02/13/2012 18:17:46",
      "content": "<p>&gt;&gt;&gt;&gt;Received_time_diff is the difference in time between the time this trade was reported and when previous trades were reported.&nbsp; Note that this is not the difference in trade times.</p>\r\n<p>I am still confused about how this time can be so big. Some of these deltas are more than few months and one over an year. Anyone understand these numbers better than me ?</p>\r\n<p>&nbsp;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8554,
      "author_name": "glenr12293",
      "author_url": "",
      "post_date": "02/14/2012 02:27:59",
      "content": "<p>I suspect that those delays exceeding 3 days are due to mistakes on the data gathering process.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8584,
      "author_name": "danglaser",
      "author_url": "",
      "post_date": "02/15/2012 22:28:35",
      "content": "<p>I would agree that the most likely explanation is simple error. &nbsp;Much of this data is gathered from a feed that occasionally sends corrections, however not all of the corrections are applied to this dataset. &nbsp;This was done in order to simulate the real situation\r\n that data arrives and it must be determined in real time whether it is an error or not. Just because it is corrected 2 hours (or 2 days or 2 months) later does not mean that decision did not have to get made at the time it came in. &nbsp;Obviously errors in received_time\r\n are the smallest example of these potential errors as I believe many of you have determined the field is not the most useful.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8734,
      "author_name": "teaserebotier",
      "author_url": "",
      "post_date": "02/28/2012 16:57:25",
      "content": "<p>Hello Dan,</p>\r\n<p>I wanted to clarify two points regarding the timing:<br>\r\n(1) Does the order in which the trades are listed depend on the actual trade time or on the reporting time?\r\n<br>\r\n(2) Is the curved-based price computed from the yield curve at the time of reporting or retroactively from the curve as it was at the actual trade time?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8761,
      "author_name": "danglaser",
      "author_url": "",
      "post_date": "02/29/2012 20:36:37",
      "content": "<p>The order is relative to the reporting time as is the curve_based_price. &nbsp;This is the time that a trade becomes public and is therefore the most relevant time to us.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8765,
      "author_name": "thesuffocated",
      "author_url": "",
      "post_date": "03/01/2012 00:48:10",
      "content": "<p>@Dan,</p>\r\n<p>I'm confused. You said:</p>\r\n<blockquote>\r\n<p><em>Received_time_diff is the difference in time between the time this trade was reported and when previous trades were reported. Note that this is not the difference in trade times.</em></p>\r\n</blockquote>\r\n<p>So the description on the data page is wrong? It says:<em> </em></p>\r\n<blockquote>\r\n<p><em><span class=\"x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_x_Apple-style-span\" style=\"white-space:pre\">received_time_diff_last{1-10}: The time difference between the trade and that of the previous {1-10}.</span><br>\r\n</em></p>\r\n</blockquote>",
      "votes": null,
      "replies": []
    },
    {
      "id": 8879,
      "author_name": "danglaser",
      "author_url": "",
      "post_date": "03/02/2012 17:23:19",
      "content": "<p>It is the difference between the reporting times of the previous trades, not the trade times. All times in the dataset are relative to the reporting time of a trade. Reporting delay measures the time between trade time and reporting time.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "8332": "",
    "8370": "",
    "8399": "",
    "8401": "",
    "8407": "",
    "8411": "",
    "8415": "",
    "8416": "",
    "8428": "",
    "8432": "",
    "8453": "",
    "8466": "",
    "8551": "",
    "8554": "",
    "8584": "",
    "8734": "",
    "8761": "",
    "8765": "",
    "8879": ""
  },
  "source": "meta"
}