Skip to content

Commit

Permalink
feat: Updates
Browse files Browse the repository at this point in the history
  • Loading branch information
TomMcL committed Apr 7, 2024
1 parent 3b3b33f commit 9662971
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 12 deletions.
1 change: 1 addition & 0 deletions vega_sim/devops/registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -301,5 +301,6 @@
initial_price=4,
base_balance=3000,
position_offset=0,
order_validity_length=60,
),
}
21 changes: 12 additions & 9 deletions vega_sim/scenario/common/agents.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

import time
from collections import namedtuple
from dataclasses import dataclass
from enum import Enum
from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Union

Expand Down Expand Up @@ -61,7 +62,15 @@ class MarketHistoryData:
AUCTION2_WALLET = WalletConfig("AUCTION2", "AUCTION2pass")

ITOrder = namedtuple("ITOrder", ["side", "size"])
MMOrder = namedtuple("MMOrder", ["size", "price", "side"])


@dataclass
class MMOrder:
size: float
price: float
side: vega_protos.Side
time_in_force: vega_protos.Order.TimeInForce = vega_protos.Order.TIME_IN_FORCE_GTT


LiquidityProvision = namedtuple("LiquidityProvision", ["amount", "fee"])

Expand Down Expand Up @@ -1541,9 +1550,7 @@ def _move_side(
order_id=order_to_amend.id,
price=order.price,
time_in_force=(
"TIME_IN_FORCE_GTT"
if self.order_validity_length is not None
else "TIME_IN_FORCE_GTC"
order.time_in_force
),
size_delta=order.size - order_to_amend.remaining,
expires_at=expires_at,
Expand All @@ -1557,11 +1564,7 @@ def _move_side(
price=order.price,
size=order.size,
order_type="TYPE_LIMIT",
time_in_force=(
"TIME_IN_FORCE_GTT"
if self.order_validity_length is not None
else "TIME_IN_FORCE_GTC"
),
time_in_force=order.time_in_force,
side=order.side,
expires_at=expires_at,
post_only=True,
Expand Down
20 changes: 17 additions & 3 deletions vega_sim/scenario/constant_function_market/agents.py
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ def __init__(
wallet_name: str = None,
orders_from_stream: Optional[bool] = True,
state_update_freq: Optional[int] = None,
order_validity_length: Optional[float] = None,
order_validity_length: Optional[float] = 5,
price_process_generator: Optional[Iterable[float]] = None,
use_last_price_as_ref: bool = False,
position_offset: float = 0,
Expand Down Expand Up @@ -403,13 +403,27 @@ def _add_orders_at_bounds(
required_vol = self.commitment_amount * 24

buy_orders = (
[MMOrder((required_vol - buy_vol) / lower, lower, vega_protos.SIDE_BUY)]
[
MMOrder(
(required_vol - buy_vol) / lower,
lower,
vega_protos.SIDE_BUY,
time_in_force=vega_protos.Order.TIME_IN_FORCE_GFN,
)
]
if buy_vol < required_vol
else []
)

sell_orders = (
[MMOrder((required_vol - sell_vol) / upper, upper, vega_protos.SIDE_SELL)]
[
MMOrder(
(required_vol - sell_vol) / upper,
upper,
vega_protos.SIDE_SELL,
time_in_force=vega_protos.Order.TIME_IN_FORCE_GFN,
)
]
if sell_vol < required_vol
else []
)
Expand Down

0 comments on commit 9662971

Please sign in to comment.