Skip to content

4. Trading Specification

Yves-Laurent Kom Samo edited this page Sep 6, 2018 · 37 revisions

Leptons Specification

Historical portfolio weights, historical returns and ongoing portfolio weights updates always contain a date field in the format YYYYMMDD. The market state representation consumed by the corresponding lepton to generate the associated update is as of the end of that trading day Eastern Time.

Portfolio weights updates are usually available shortly after exchange close on the associated date, and in any case before 7AM ET on the business day following the associated date field.

Here is what a series of portfolio weights updates of a lepton over a week might look like

Date CME_BO_1_F ICE_BP_1_F CME_US_1_F CME_C_1_F
20180608 0.1 0.4 -0.3 -0.2
20180611 0.2 -0.1 -0.4 0.3
20180612 0.5 0.0 -0.1 -0.4
20180613 -0.5 0.2 0.2 0.1
20180614 -0.1 -0.1 -0.3 0.5

In this simplistic example we assume that the lepton only trade 4 assets so as to ease illustration. However, leptons on the Devise exchange trade far more assets.

All leptons currently on the Devise exchange are futures trading strategies. This is however not a set requirement, as the Devise marketplace can accommodate trading strategies trading on any exchange-traded assets.

Other asset classes will be considered in the future.

All future contracts traded by leptons on the Devise blockchain are front-month, with rolling taking place on the first day of the delivery month. For backtesting, front-month contracts are adjusted using the backward-ratio method.

Continuous symbols included in downloaded data take the form [CME|ICE|CBOE]_<Ticker Symbol>_1_F. [CME|ICE|CBOE] corresponds to the exchange on which the contract trades, '1' stands for front-month, and 'F' stands for rolling on the first day of the month.

For instance, CME_BO_1_F is the soybean continuous future contract, ICE_BP_1_F is the British pound continuous future contract, CME_US_1_F is the 30 year US treasury bond continuous future contract, and CME_C_1_F is the corn continuous future contract trading on CME.

The gross leverage [1] of portfolio weights suggested by Devise leptons is always 1. Their net exposure [2] is always 0; portfolio weights updates suggested by leptons on the Devise exchange are always long/short and dollar-balanced.

Portfolio weights should be understood as the dollar exposures one should have in each exchange-traded asset, long if the weight is positive and short otherwise, for 1 dollar of capital.

For instance, the portfolio weight

Date CME_BO_1_F ICE_BP_1_F CME_US_1_F CME_C_1_F
20180608 0.1 0.4 -0.3 -0.2

means that, at the end of the trading day 20180608, the associated lepton decided that its target portfolio should consist of 10% long of soybean front-month futures, 40% long of British pound front-month futures, 30% short of 30 year US treasury bond front-month futures, and 20% short of corn front-month futures, where percentages represent dollar exposure per unit of capital.

Let's assume we would like to buy 10,000,000 USD worth of a lepton on Monday 11th June 2018, and hold our position until market open on Monday 17th June 2018.

To do so, we need to have access to the latest target portfolio weights on Monday 11th June 2018, and all target portfolio weights updates until we exit our positions.

Let's reuse our example above:

Date CME_BO_1_F ICE_BP_1_F CME_US_1_F CME_C_1_F
20180608 0.1 0.4 -0.3 -0.2
20180611 0.2 -0.1 -0.4 0.3
20180612 0.5 0.0 -0.1 -0.4
20180613 -0.5 0.2 0.2 0.1
20180614 -0.1 -0.1 -0.3 0.5

Buying a lepton is done by following its investment decisions. It entails three steps:

  1. Entering into the positions,
  2. Rebalancing to closely follow the investment decisions made by the lepton as they change,
  3. Flattening all positions to exit the lepton position.

To complete Step 1, throughout the trading day on Monday 11th June 2018, we should be targeting the allocation

Date CME_BO_1_F ICE_BP_1_F CME_US_1_F CME_C_1_F
20180608 0.1 0.4 -0.3 -0.2

which is the last decision made by the lepton at the time. To do so, we need to:

  • Buy 1,000,000 USD worth of soybean front-month futures,
  • Buy 4,000,000 USD worth of British pound front-month futures,
  • Short-Sell 3,000,000 USD worth of 30 Year US treasury bond front-month futures,
  • Short-Sell 2,000,000 USD worth of corn front-month futures.

All amounts are USD exposure; the exact number of contracts we need to buy/sell in each transaction depends on the price of the future contract and contract specifications.

Unlike securities, which require a single transaction to be bought, to buy a Devise lepton, we need to make sure to closely follow all portfolio updates made by the lepton from this point until we flatten our positions.

The following day (on Tuesday 12th June 2018), a new portfolio update is available (by 7 AM ET), so we need to rebalance our portfolio to the allocation

Date CME_BO_1_F ICE_BP_1_F CME_US_1_F CME_C_1_F
20180611 0.2 -0.1 -0.4 0.3

Doing so requires:

  • Calculating our new dollar exposures marked-to-market in each of the 4 futures, and infering our total wealth marked-to-market,
  • Estimating what dollar exposure we should be having in each of the 4 futures to follow the new update,
  • Placing trades to bring us in line with the new allocation.

This needs to be repeated every day until, on Monday 17th June 2018, we flatten all our positions in all 4 futures.

As always, it is impossible to simultaneously guarantee order completion and average price. For that reason, we provide backtesting data under two delayed execution assumptions in the Understanding Historical Returns section below.

Assumption 1: we assume that we will execute all trades at the open price of the trading day following receipt of the update. We call this entry point o1.

Assumption 2: we assume that we will execute all trades at the close price of the trading day following receipt of the update. We call this entry point c1.

Although we provide historical data under both assumptions, proof-of-usefulness is always based on the most conservative, namely c1.

Selling a lepton is done by buying the lepton whose portfolio weights are the opposite of those of the lepton we want to sell.

For instance, let's assume that we would like to sell 10,000,000 USD worth of the lepton above on Monday 11th June 2018, and hold our position until market open on Monday 17th June 2018.

Recalling that the lepton that we want to sell has portfolio weights updates

Date CME_BO_1_F ICE_BP_1_F CME_US_1_F CME_C_1_F
20180608 0.1 0.4 -0.3 -0.2
20180611 0.2 -0.1 -0.4 0.3
20180612 0.5 0.0 -0.1 -0.4
20180613 -0.5 0.2 0.2 0.1
20180614 -0.1 -0.1 -0.3 0.5

it follows that we need to buy the lepton that has portfolio weights updates

Date CME_BO_1_F ICE_BP_1_F CME_US_1_F CME_C_1_F
20180608 -0.1 -0.4 0.3 0.2
20180611 -0.2 0.1 0.4 -0.3
20180612 -0.5 0.0 0.1 0.4
20180613 0.5 -0.2 -0.2 -0.1
20180614 0.1 0.1 0.3 -0.5

Let us generically denote

Date CME_BO_1_F ICE_BP_1_F CME_US_1_F CME_C_1_F
20180608 w11 w12 w13 w14
20180611 w21 w22 w23 w24
20180612 w31 w32 w33 w34
20180613 w41 w42 w43 w44
20180614 w51 w52 w53 w54

the time series of portfolio weights updates made by a lepton between Friday 08th June 2018 and Friday 11th June 2018.

Let us also denote

Date CME_BO_1_F ICE_BP_1_F CME_US_1_F CME_C_1_F
20180608 r11 r12 r13 r14
20180611 r21 r22 r23 r24
20180612 r31 r32 r33 r34
20180613 r41 r42 r43 r44
20180614 r51 r52 r53 r54

the time series of returns of the future contracts between two entry points. For instance, r32 is the return between the exchange open (resp. close) of ICE_BP_1_F on Wednesday 13th June 2018 and the exchange open (resp. close) of ICE_BP_1_F on Thursday 14th June 2018, when the entry point is o1 (resp. c1).

The time series of returns (marked-to-market between two entry points) we would obtain by buying this lepton as described above reads

Date  
20180608 r1b = r11 w11 + ... + r14 w14
20180611 r2b = r21 w21 + ... + r24 w24
20180612 r3b = r31 w31 + ... + r34 w34
20180613 r4b = r41 w41 + ... + r44 w44
20180614 r5b = r51 w51 + ... + r54 w54

and if we were to sell it, we would obtain returns

Date  
20180608 r1s = -r1b
20180611 r2s = -r2b
20180612 r3s = -r3b
20180613 r4s = -r4b
20180614 r5s = -r5b

Thus, from an investment perspective, following (resp. betting against) the investment decisions made by our lepton is virtually equivalent to buying (resp. selling) an exchange-traded asset with identical returns time series (rib) = (ri1 wi1 + ... + ri4 wi4).

Assuming that all assets that have identical (net) returns time series are identical for investment purposes, we identify the aforementioned virtual exchange-traded asset to the lepton with identical time series of returns, and we simply say buying/selling leptons.

Like exchange-traded assets, leptons can be bought, sold, ignored, and a combination of these across time. Choosing to buy, sell or ignore a specific lepton is ultimately the investment manager's responsibility, similarly to how he/she chooses to buy, sell or ignored other assets.

Leptons on the Devise exchange differ from exchange-traded assets in that they are engineered to make it easier for investment managers to look for alpha/mispricings.

Like electrons, exchanged-traded symbols are very easy to access but carry less (alpha-revealing) information or weight. Like tauons and muons, leptons on the Devise alternative exchange are much harder to find or access, and are a lot more (alpha-revealing) information heavy.

To get historical performance or trading characteristics of leptons on the Devise exchange, we invite you to download historical data.

Returns associated to a certain date correspond to portfolio weights with the same date. They represent the marked-to-market returns of the portfolios defined by associated portfolio weights between two consecutive entry points. They are also the marked-to-market returns you would get between two consecutive entry points/rebalancing, if you were to buy the corresponding leptons.

Entry points represent the prices at which clients are expected to act on portfolio updates. We provide returns for two entry points: the next exchange open (o1), and the next exchange close (c1).

o1 returns assume that clients will act on each portfolio weights update at or around the exchange open following the publication of the portfolio weights update on the API. Returns correspond to the evolution of the associated set of portfolio weights, marked-to-market between the next exchange open and the exchange open after next.

c1 returns assume that clients will act on each portfolio update at or around the exchange close following the publication of the portfolio weights update on the API. Returns correspond to the evolution of the associated sets of portfolio weights, marked-to-market between the next exchange close and the exchange close after next.

[1] That is, the sum of the absolute values of all weights in an update.
[2] That is, the sum of all weights in an update.