Skip to content

Copying and countering an algo

An algorithm publishes a target exposure for a market on every 15-minute bar — a number between −1 and +1, where +1 is fully long and −1 fully short.

Your position in that market is its target, scaled by the margin you allocated and the multiplier you chose:

your notional = margin × allocation × multiplier × algo's target

A multiplier of +1 copies the algo. −1 counters it. 0 is out.

Why copy and counter, and not long and short

Section titled “Why copy and counter, and not long and short”

Because the algo is already long and short things.

“Long SAYL” has to be read twice: the algo goes long and short BTC by itself, so the word could describe your side or its side, and on a platform whose whole subject is algorithms taking both sides that ambiguity never resolves from context. Copy and counter name the only choice you actually make — take the algo’s side, or the opposite one — and leave long and short to mean what they mean everywhere else: a position in a market.

The sign is unchanged. Countering is still a multiplier of −1.

Not a metaphor. Countering an algo is holding the mirrored target sequence: when it goes long a market, you go short that market, bar for bar.

That sentence is the reason for the vocabulary. Both senses appear in it, and only one set of words keeps them apart.

It is how you express this edge is crowded or this works until it doesn’t without needing the algo’s author to agree with you, and without waiting for them to change their mind.

Positions net before they reach the exchange

Section titled “Positions net before they reach the exchange”

If you hold two algos and they disagree about BTC, you trade the difference — and pay fees on the difference.

algo A wants +0.6 BTC
algo B wants −0.4 BTC
you hold +0.2 BTC and pay fees on 0.2, not on 1.0

That netting is the reason to run a basket on one account rather than opening a separate position per algo. Two products that each hold their own position would have you paying both sides of a trade against yourself.

Fees are attributed to the algos that caused the trade, in proportion to how much each one moved:

contribution c_i = margin × allocation × multiplier × (targetᵢ,now − targetᵢ,before)
fee share φ_i = total fee × |c_i| / Σ|c_j|

This is exact — the shares sum to the fee actually paid — and an algo that did not move is charged nothing. When two algos cancel each other out, both are charged less, which is correct: together they caused less trading.