config

package
v0.7.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2023 License: Apache-2.0 Imports: 16 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// ResourcesPath 资源路径
	ResourcesPath = "resources"
)

Variables

View Source
var (
	ErrTimeFormat = exception.New(errnoConfig+1, "时间格式错误")
)

Functions

func GetConfigFilename

func GetConfigFilename() string

GetConfigFilename 获取配置文件路径

func StartPprof

func StartPprof()

StartPprof 启动性能分析工具

Types

type Job

type Job struct {
	Name    string `yaml:"name" default:""`     // 任务名称
	Trigger string `yaml:"trigger"  default:""` // 触发条件
	Enable  bool   `yaml:"enable" default:"true"`
}

Job 定时任务配置

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 PprofParameter struct {
	Enable bool `yaml:"enable" default:"true"` // 是否开启go tool pprof
	Port   int  `yaml:"port" default:"6060"`   // pprof web端口
}

type PreviewTraderParameter

type PreviewTraderParameter struct {
	Head TradeRule `name:"早盘" yaml:"head" default:"{\"Time\":\"09:30:00~11:30:00\"}"`
	Tail TradeRule `name:"尾盘" yaml:"tail" default:"{\"Time\":\"14:50:00~14:56:30\"}"`
	Tick TradeRule `name:"盘中" yaml:"tick" default:""`
	Sell TradeRule `name:"卖出" yaml:"sell" default:""`
}

PreviewTraderParameter 预览交易通道参数

type Quant1XConfig

type Quant1XConfig struct {
	BaseDir string                 `yaml:"basedir"` // 基础路径
	Runtime RuntimeParameter       `yaml:"runtime"` // 运行时参数
	Rules   RuleParameter          `yaml:"rules"`   // 规则参数
	Order   OrderParameter         `yaml:"order"`   // 订单参数
	Trader  PreviewTraderParameter `yaml:"trader"`  // 预览交易参数
}

Quant1XConfig Quant1X基础配置

var (
	// EngineConfig engine配置信息
	EngineConfig Quant1XConfig
)

func LoadConfig

func LoadConfig() (config Quant1XConfig, found bool)

LoadConfig 加载配置文件

func ReadConfig

func ReadConfig(rootPath string) (config Quant1XConfig)

ReadConfig 读取配置文件

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
	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 `yaml:"pprof"`
	Crontab map[string]Job `yaml:"crontab"`
}

RuntimeParameter 运行时配置参数

type TimeRange

type TimeRange struct {
	// contains filtered or unexported fields
}

TimeRange 时间范围

func ParseTimeRange

func ParseTimeRange(text string) TimeRange

func (TimeRange) IsTrading

func (r TimeRange) IsTrading(timestamp ...string) bool

func (TimeRange) String

func (r TimeRange) String() string

type TradeRule

type TradeRule struct {
	Auto    bool           `name:"是否自动执行" yaml:"auto" default:"false"`
	Time    string         `name:"时间范围" yaml:"time" default:"09:30:00~11:30:00,13:00:00~14:56:30"`
	Session TradingSession `name:"交易时段" yaml:"-"`
	Total   int            `name:"订单数上限" yaml:"total" default:"3"`
	FeeMax  float64        `name:"最大费用" yaml:"fee_max" default:"20000.00"`
	FeeMin  float64        `name:"最小费用" yaml:"fee_min" default:"10000.00"`
}

TradeRule 交易规则

type TradingSession

type TradingSession struct {
	// contains filtered or unexported fields
}

TradingSession 交易时段

func ParseTradingSession

func ParseTradingSession(text string) TradingSession

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]

func (ValueRange[T]) In

func (r ValueRange[T]) In(v T) bool

In 检查是否包含在范围内

type ValueType

type ValueType interface {
	~int | ~float64 | ~string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL