Files

155 lines
5.2 KiB
Python

"""
订单流交易系统配置
所有敏感配置和参数都在此文件中管理
"""
import os
# ============ SMTP邮件配置 ============
SMTP_CONFIG = {
"server": "smtp.qq.com",
"port": 465,
"sender": "240884432@qq.com",
"receivers": ["240884432@qq.com"],
"username": "240884432@qq.com",
"password": os.getenv("SMTP_PASSWORD", "osjyjmbqrzxtbjbf"), # 从环境变量读取
}
# ============ 飞书通知配置 ============
FEISHU_CONFIG = {
"enabled": True, # 是否启用飞书通知
"webhook_url": "https://open.feishu.cn/open-apis/bot/v2/hook/8608dfa4-e599-462a-8dba-6ac72873dd27",
"receivers": ["240884432@qq.com"], # 备用接收人列表
}
# ============ 信号通知阈值配置 ============
SIGNAL_THRESHOLD = {
"time_period": 30, # 平滑周期
"delta_sum_trend": 0, # delta累计趋势(保留字段)
"delta_trend": 0, # delta趋势(保留字段)
"dj_trend": 0, # dj趋势(保留字段)
"delta_rate": 0.8, # delta信号阈值比例(0.8倍前120根最大值)
"dj_rate": 0.8, # dj信号阈值比例(0.8倍前120根极值)
"min_delta_abs": 350, # delta最小绝对值
"min_dj_abs": 8, # dj最小绝对值
}
# ============ 交易参数配置 ============
# key: 合约代码, value: 交易参数
TRADING_PARAMS = {
"IM2606": {
"lots": 1,
"price_offset": 5,
"delta_threshold": 200,
"imbalance_ratio": 3,
"accumulation_threshold": 3,
"period": "1min",
"min_volume": 20,
"merge_price": 5,
"mini_price": 0.2,
},
# "jm2609": {
# "lots": 1,
# "price_offset": 1, # 黄金波动较小,价格偏移也小
# "delta_threshold": 300,
# "imbalance_ratio": 3,
# "accumulation_threshold": 3,
# "period": "1min",
# "min_volume": 10, # 黄金成交量较大,可适当调高
# "merge_price": 2,
# "mini_price": 0.5, # 黄金最小变动价位
# },
}
# ============ SimNow模拟账户配置 ============
SIMNOW_CONFIG = {
"investor_id": "223828",
"password": os.getenv("SIMNOW_PASSWORD", "Zj1234!@#%"),
"server_name": "TEST", # 交易服务器(电信1、电信2、移动、TEST、N视界、TEST环境)
}
# ============ 实盘账户配置(注释备用) ============
# LIVE_ACCOUNT_CONFIG = {
# "broker_id": "",
# "td_server": "121.37.80.177:20002",
# "md_server": "121.37.80.177:20004",
# "investor_id": "1114",
# "password": os.getenv("LIVE_PASSWORD", ""),
# "app_id": "",
# "auth_code": "",
# }
# ============ 系统常量 ============
SYSTEM_CONFIG = {
"queue_timeout": 5,
"queue_max_size": 10,
"queue_share_size": 200,
"queue_warning_size": 5, # 超过此数量才警告
"json_save_interval": 10,
"json_records_limit": 20,
"stops_load_interval": 60,
"data_dir": "traderdata",
# === 回测/录制配置 ===
"mode": "backtest", # "live" | "backtest"
"backtest_mode": "ofdata", # "ofdata" | "tick"
"backtest_results_dir": "backtest_results",
"initial_equity": 1000000.0,
"contract_multiplier": {
"im2606": 300,
"jm2609": 60, # 焦煤:吨/手
"au2608": 1000, # 黄金:克/手
},
"record_tick": True, # 是否录制 tick 数据
"tick_record_interval": 1, # 录制间隔(每N个tick录一个)
}
# ============ 夜盘收盘时间字典 ============
# key: 品种代码(去掉数字), value: 夜盘收盘时间
NIGHT_CLEARING_TIME = {
"sc": (2, 30), # SC 原油
"bc": (1, 0), # BC 碳酸锂
"lu": (23, 0), # LU 低硫燃料油
"nr": (23, 0), # NR 天然橡胶
"au": (2, 30), # AU 黄金
"ag": (2, 30), # AG 白银
"ss": (1, 0), # SS 不锈钢
"sn": (1, 0), # SN 锡
"ni": (1, 0), # NI 镍
"pb": (1, 0), # PB 铅
"zn": (1, 0), # ZN 锌
"al": (1, 0), # AL 铝
"cu": (1, 0), # CU 铜
"ru": (23, 0), # RU 橡胶
"rb": (23, 0), # RB 螺纹钢
"hc": (23, 0), # HC 热卷
"fu": (23, 0), # FU 燃料油
"bu": (23, 0), # BU 沥青
"sp": (23, 0), # SP 纸浆
"PF": (23, 0), # PF 短纤维
"SR": (23, 0), # SR 白糖
"CF": (23, 0), # CF 棉花
"CY": (23, 0), # CY 棉纱
"RM": (23, 0), # RM 菜籽粕
"MA": (23, 0), # MA 甲醇
"TA": (23, 0), # TA PTA
"ZC": (23, 0), # ZC 动力煤
"FG": (23, 0), # FG 玻璃
"OI": (23, 0), # OI 菜籽油
"SA": (23, 0), # SA 纯碱
"p": (23, 0), # P 棕榈油
"j": (23, 0), # J 焦炭
"jm": (23, 0), # JM 焦煤
"i": (23, 0), # I 铁矿石
"l": (23, 0), # L 塑料
"v": (23, 0), # V PVC
"pp": (23, 0), # PP 聚丙烯
"eg": (23, 0), # EG 乙二醇
"c": (23, 0), # C 玉米
"cs": (23, 0), # CS 玉米淀粉
"y": (23, 0), # Y 豆油
"m": (23, 0), # M 豆粕
"a": (23, 0), # A 大豆
"b": (23, 0), # B 豆二
"rr": (23, 0), # RR 粳米
"eb": (23, 0), # EB 苯乙烯
"pg": (23, 0), # PG 液化石油气
}