Types of Orders
Initiativ supports three main types of trading orders. Each order type is designed to meet specific needs around execution speed, price sensitivity, and liquidity behavior within the emissions market. Understanding how each order works will help users make informed trading decisions.
1. Market Order
A market order is an instruction to buy or sell a specified quantity of emission rights at the best available price in the market at the time of execution.
This type of order prioritizes speed over price. It is typically used when the user wants to ensure that the order is executed immediately, regardless of minor price fluctuations.
Use Case: A compliance buyer needs to quickly acquire 500 EUAs before a quarterly regulatory deadline. They place a market order to secure the required volume without delay, even if the price is slightly higher than expected.
Key Characteristics:
Executes immediately at the best available price.
May result in multiple partial fills if the full quantity is not available at a single price level.
Useful when timing is more critical than price optimization.
2. Limit Order
A limit order is an instruction to buy or sell emission rights at a specific price or better. The user defines the maximum price they are willing to pay (in the case of a buy) or the minimum price they are willing to accept (in the case of a sell).
This type of order prioritizes price over speed. It will only be executed if the market reaches the specified limit price.
Use Case: A trading desk expects EUA prices to drop slightly during the day. They place a buy limit order at €84.50 per EUA, knowing that the order will only execute if the price falls to that level.
Key Characteristics:
Only executes if the market reaches the specified price.
Offers more control over pricing.
May remain unfilled or partially filled depending on market conditions.
Suitable for users managing cost exposure or pursuing strategic accumulation.
# Buyer places a limit order
order = {
"type": "limit",
"side": "buy",
"instrument": "EUA",
"quantity": 100,
"price": 80.00
}
# Submit to on-chain order book
on_chain_order_book.submit(order)
# Matching logic (simplified)
for sell_order in order_book.get_sell_orders():
if sell_order.price <= order.price:
match_quantity = min(order.quantity, sell_order.quantity)
execute_trade(buyer=order.user, seller=sell_order.user, quantity=match_quantity, price=sell_order.price)
order.quantity -= match_quantity
sell_order.quantity -= match_quantity
if order.quantity == 0:
break # Order fully matched
Execution Mechanics: Partial Fills and Delivery
Regardless of the order type, Initiativ uses a partial-fill matching system. This means that large orders can be filled incrementally across multiple counterparties or price levels.
Once an order is fully filled -- or reaches a threshold defined by the platform — the corresponding emission rights are delivered in bulk. This ensures operational efficiency and reduces fragmentation in settlement.
Last updated