Documentation ¶
Index ¶
- Constants
- Variables
- func CrontabConfig() map[string]JobParameter
- func GetConfigFilename() string
- func QmtStrategyNameFromId(strategyCode int) string
- func StartPprof()
- type JobParameter
- type OrderParameter
- type PprofParameter
- type Quant1XConfig
- type RuleParameter
- type RuntimeParameter
- type TimeRange
- type TradeRule
- type TraderParameter
- type TraderRole
- type TradingSession
- type ValueRange
- type ValueType
Constants ¶
View Source
const (
// ResourcesPath 资源路径
ResourcesPath = "resources"
)
Variables ¶
View Source
var (
ErrTimeFormat = exception.New(errnoConfig+1, "时间格式错误")
)
Functions ¶
func CrontabConfig ¶ added in v0.7.7
func CrontabConfig() map[string]JobParameter
CrontabConfig 获取定时任务配置
func QmtStrategyNameFromId ¶ added in v0.7.9
QmtStrategyNameFromId 通过策略ID返回用于在QMT系统中表示的string类型的策略名称
Types ¶
type JobParameter ¶ added in v0.7.7
type JobParameter struct { Name string `yaml:"name" default:""` // 任务名称 Trigger string `yaml:"trigger" default:""` // 触发条件 Enable bool `yaml:"enable" default:"true"` // 任务是否有效 }
JobParameter 定时任务配置
func GetJobParameter ¶ added in v0.7.7
func GetJobParameter(name string) *JobParameter
GetJobParameter 获取计划执行任务
type OrderParameter ¶
type OrderParameter struct { AccountId string `yaml:"account_id"` // 账号ID OrderPath string `yaml:"order_path"` // 订单路径 TopN int `yaml:"top_n" default:"3"` // 最多输出前多少名个股 HaveETF bool `yaml:"have_etf" default:"false"` // 是否包含ETF }
OrderParameter 订单参数
type PprofParameter ¶
type Quant1XConfig ¶
type Quant1XConfig struct { BaseDir string `yaml:"basedir"` // 基础路径 Runtime RuntimeParameter `yaml:"runtime"` // 运行时参数 Rules RuleParameter `yaml:"rules"` // 规则参数 Order OrderParameter `yaml:"order"` // 订单参数 Trader TraderParameter `yaml:"trader"` // 预览交易参数 }
Quant1XConfig Quant1X基础配置
var ( // GlobalConfig engine配置信息 GlobalConfig Quant1XConfig )
type RuleParameter ¶
type RuleParameter struct { SectorsFilter bool `yaml:"sectors_filter" default:"false"` // 是否启用板块过滤, false代表全市场扫描 SectorsTopN int `yaml:"sectors_top_n" default:"3"` // 最多关联多少个板块, 默认3个 StockTopNInSector int `yaml:"stock_top_n_in_sector" default:"5"` // 板块内个股排名前N IgnoreCodes []string `yaml:"ignore_codes" default:"[\"sh68\",\"bj\"]"` // 忽略的证券代码段, 默认忽略科创板和北交所全部 CapitalMin float64 `yaml:"capital_min" default:"2"` // 2 * 亿 流通股本最小值 CapitalMax float64 `yaml:"capital_max" default:"20"` // 20 * 亿 流通股本最大值 MarketCapMin float64 `yaml:"market_cap_min" default:"0.5"` // 流通市值-最小 MarketCapMax float64 `yaml:"market_cap_max" default:"100"` // 流通市值-最大 PriceMin float64 `yaml:"price_min" default:"2.00"` // 2.00 股价最低 PriceMax float64 `yaml:"price_max" default:"30.00"` // 30.00 股价最高 MaximumIncreaseWithin5days float64 `yaml:"maximum_increase_within_5_days" default:"20.00"` // 20.00 5日累计最大涨幅 MaximumIncreaseWithin10days float64 `yaml:"maximum_increase_within_10_days" default:"70.00"` // 70.00 10日累计最大涨幅 MaxReduceAmount float64 `yaml:"max_reduce_amount" default:"-1000"` // -1000 最大流出1000万 TurnZMax float64 `yaml:"turn_z_max" default:"200.00"` // 200.00 换手最大值 TurnZMin float64 `yaml:"turn_z_min" default:"1.50"` // 1.50 换手最小值 OpenRateMax float64 `yaml:"open_rate_max" default:"2.00"` // 2.00 最大涨幅 OpenRateMin float64 `yaml:"open_rate_min" default:"-2.00"` // -2.00 最低涨幅 QuantityRatioMax float64 `yaml:"quantity_ratio_max" default:"9.99"` // 9.99 最大开盘量比 QuantityRatioMin float64 `yaml:"quantity_ratio_min" default:"1.00"` // 1.00 最小开盘量比 SafetyScoreMin float64 `yaml:"safety_score_min" default:"80"` // 80 通达信安全分最小值 VolumeRatioMax float64 `yaml:"volume_ratio_max" default:"3.82"` // 1.800 成交量放大不能超过1.8 VixMax float64 `yaml:"vix_max" default:"100"` // 波动率最大值100 VixMin float64 `yaml:"vix_min" default:"0"` // 波动率最小值0 TurnoverRateMax float64 `yaml:"turnover_rate_max" default:"20.00"` // 换手率最大20% TurnoverRateMin float64 `yaml:"turnover_rate_min" default:"1.00"` // 换手率最小1% AmplitudeRatioMax float64 `yaml:"amplitude_ratio_max" default:"15"` // 振幅 最大 AmplitudeRatioMin float64 `yaml:"amplitude_ratio_min" default:"0"` // 振幅 最小 BiddingVolumeMax int `yaml:"bidding_volume_max" default:"5000"` // 5档行情委托平均最大值 BiddingVolumeMin int `yaml:"bidding_volume_min" default:"100"` // 5档行情委托平均最小值 SentimentHigh float64 `yaml:"sentiment_high" default:"61.8"` // 情绪值最高 SentimentLow float64 `yaml:"sentiment_low" default:"38.2"` // 情绪值最低 }
RuleParameter 规则参数
type RuntimeParameter ¶
type RuntimeParameter struct { Pprof PprofParameter `name:"性能分析" yaml:"pprof"` Debug bool `name:"业务调试开关" yaml:"debug" default:"false"` Crontab map[string]JobParameter `name:"定时任务" yaml:"crontab" default:"{}"` }
RuntimeParameter 运行时配置参数
type TimeRange ¶
type TimeRange struct {
// contains filtered or unexported fields
}
TimeRange 时间范围
func ParseTimeRange ¶
type TradeRule ¶
type TradeRule struct { Id int `name:"策略编码" yaml:"id" default:"-1"` // 策略ID, -1无效 Auto bool `name:"是否自动执行" yaml:"auto" default:"false"` // 是否自动执行 Name string `name:"策略名称" yaml:"name"` // 策略名称 Flag string `name:"订单标识" yaml:"flag"` // 订单标识,分早盘,尾盘和盘中 Time string `name:"时间范围" yaml:"time" default:"09:30:00~11:30:00,13:00:00~14:56:30"` // 预览-执行操作的时间段 Session TradingSession `name:"交易时段" yaml:"-"` // 可操作的交易时段 Weight float64 `name:"持仓占比" yaml:"weight" default:"0"` // 策略权重, 默认0, 由系统自动分配 Total int `name:"订单数上限" yaml:"total" default:"3"` // 订单总数, 默认是3 FeeMax float64 `name:"最大费用" yaml:"fee_max" default:"20000.00"` // 可投入资金-最大 FeeMin float64 `name:"最小费用" yaml:"fee_min" default:"10000.00"` // 可投入资金-最小 Sectors []string `name:"板块" yaml:"sectors" default:""` // 板块, 策略适用的板块列表, 默认板块为空, 即全部个股 IgnoreMarginTrading bool `name:"剔除两融" yaml:"ignore_margin_trading" default:"true"` // 剔除两融标的, 默认是剔除 HoldingPeriod int `name:"持仓周期" yaml:"holding_period" default:"1"` // 持仓周期, 默认为1天, 即T+1日触发117号策略 SellStrategy int `name:"卖出策略" yaml:"sell_strategy" default:"117"` // 卖出策略, 默认117 }
TradeRule 交易规则
func (*TradeRule) IsCookieCutterForSell ¶ added in v0.7.7
IsCookieCutterForSell 是否一刀切卖出
func (*TradeRule) NumberOfTargets ¶ added in v0.7.7
NumberOfTargets 获得可买入标的总数
func (*TradeRule) QmtStrategyName ¶ added in v0.7.9
func (*TradeRule) SellEnable ¶ added in v0.7.7
SellEnable 获取可卖出状态
type TraderParameter ¶ added in v0.7.6
type TraderParameter struct { AccountId string `name:"账号ID" yaml:"account_id" dataframe:"888xxxxxxx"` // 账号ID StampDutyRateForBuy float64 `name:"买入印花税" yaml:"stamp_duty_rate_for_buy" default:"0.0000"` // 印花说-买入, 没有 StampDutyRateForSell float64 `name:"卖出印花税" yaml:"stamp_duty_rate_for_sell" default:"0.0010"` // 印花说-卖出, 默认是千分之1 TransferRate float64 `name:"过户费" yaml:"transfer_rate" default:"0.0006"` // 过户费, 双向, 默认是万分之6 CommissionRate float64 `name:"佣金率" yaml:"commission_rate" default:"0.00025"` // 券商佣金, 双向, 默认万分之2.5 CommissionMin float64 `name:"佣金最低" yaml:"commission_min" default:"5.0000"` // 券商佣金最低, 双向, 默认5.00 PositionRatio float64 `name:"持仓占比" yaml:"position_ratio" default:"0.5000"` // 当日持仓占比, 默认50% KeepCash float64 `name:"保留现金" yaml:"keep_cash" default:"10000.00"` // 保留现金, 默认10000.00 BuyAmountMax float64 `name:"可买最大金额" yaml:"buy_amount_max" default:"250000.00"` // 买入最大金额, 默认250000.00 BuyAmountMin float64 `name:"可买最小金额" yaml:"buy_amount_min" default:"1000.00"` // 买入最小金额, 默认1000.00 Role TraderRole `name:"角色" yaml:"role" default:"3"` // 交易员角色, 默认是需要人工干预, 系统不做自动交易处理 ProxyUrl string `name:"代理URL" yaml:"proxy_url" default:"http://127.0.0.1:18168/qmt"` // 禁止使用公网地址 Strategies []TradeRule `name:"策略集合" yaml:"strategies"` // 策略集合 ReservedOfCancel string `name:"撤单保留字段" yaml:"cancel" default:"09:15:00~09:19:59,09:25:00~11:29:59,13:00:00~14:59:59"` // 预览-可撤单配置 CancelSession TradingSession `name:"撤单时段" yaml:"-" default:""` // 可撤单配置 }
TraderParameter 预览交易通道参数
func (TraderParameter) ResetPositionRatio ¶ added in v0.7.7
func (t TraderParameter) ResetPositionRatio()
ResetPositionRatio 重置仓位占比
func (TraderParameter) TotalNumberOfTargets ¶ added in v0.7.7
func (t TraderParameter) TotalNumberOfTargets() int
TotalNumberOfTargets 统计标的总数
type TraderRole ¶ added in v0.7.7
type TraderRole int
TraderRole 交易员角色
const ( RoleDisable TraderRole = iota // 禁止自动化交易 RolePython // python脚本自动化交易 RoleProxy // 代理交易模式 RoleManual // 人工干预, 作用同 )
type TradingSession ¶
type TradingSession struct {
// contains filtered or unexported fields
}
TradingSession 交易时段
func ParseTradingSession ¶
func ParseTradingSession(text string) TradingSession
func (TradingSession) Index ¶ added in v0.7.9
func (s TradingSession) Index(timestamp ...string) int
Index 判断timestamp是第几个交易时段
func (TradingSession) IsTodayLastSession ¶ added in v0.7.9
func (s TradingSession) IsTodayLastSession(timestamp ...string) bool
IsTodayLastSession 当前时段是否今天最后一个交易时段
备选函数名 IsTodayFinalSession
func (TradingSession) IsTrading ¶
func (s TradingSession) IsTrading(timestamp ...string) bool
IsTrading 是否交易时段
func (TradingSession) String ¶
func (s TradingSession) String() string
type ValueRange ¶
type ValueRange[T ValueType] struct { // contains filtered or unexported fields }
ValueRange 数值范围
func ParseRange ¶
func ParseRange[T ValueType](text string) ValueRange[T]
Click to show internal directories.
Click to hide internal directories.