This commit is contained in:
2026-05-09 14:46:04 +09:00
parent b1b851dd8d
commit 79d99ab799

23
prac.py
View File

@@ -11,7 +11,7 @@ team_name = "HanyangFloorFunction"
# ==================== 설정 ====================
ORDER_SIZE = 2
MAX_POS = 20
ARB_THRESHOLD = 40 # 🔥 보수적으로 (중요)
ARB_THRESHOLD = 40
# ====================
class Dir(str, Enum):
@@ -47,7 +47,7 @@ def main():
if bid is None or ask is None:
return
if ask - bid <= 2: # 🔥 스프레드 너무 좁으면 패스
if ask - bid <= 2:
return
pos = positions.get(sym, 0)
@@ -113,16 +113,13 @@ def main():
pos = positions.get("XLF", 0)
# 🔥 포지션 제한
if abs(pos) > 10:
return
# 🔥 케이스 1
profit1 = xlf_bid * 10 - basket_ask
if profit1 > ARB_THRESHOLD:
exchange.send_add_message_ioc(next_id(), "XLF", Dir.SELL, xlf_bid, 10)
# 🔥 케이스 2
profit2 = basket_bid - xlf_ask * 10
if profit2 > ARB_THRESHOLD:
exchange.send_add_message_ioc(next_id(), "XLF", Dir.BUY, xlf_ask, 10)
@@ -159,7 +156,6 @@ def main():
state.update_bid_ask_price(sym, bid, ask)
# 🔥 모든 주문 취소 (핵심)
for oid in list(active_orders.keys()):
exchange.send_cancel_message(oid)
del active_orders[oid]
@@ -212,11 +208,20 @@ class ExchangeConnection:
# ====================
def parse_arguments():
parser = argparse.ArgumentParser()
parser.add_argument("--test", default="prod-like")
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument("--production", action="store_true")
group.add_argument("--test", type=str, default="prod-like")
args = parser.parse_args()
args.exchange_hostname = "test-exch-" + team_name
args.port = 22000
if args.production:
args.exchange_hostname = "production"
args.port = 25000
else:
args.exchange_hostname = "test-exch-" + team_name
args.port = 22000
return args
if __name__ == "__main__":