features

package
v0.8.7 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2023 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//FeatureHistory          = baseFeature + 1 // 特征数据-历史
	//FeatureNo1              = baseFeature + 2 // 特征数据-1号策略
	FeatureExchange         = baseFeature + 3 // exchange
	FeatureBreaksThroughBox = baseFeature + 4 // 特征数据-有效突破平台
	FeatureKLineShap        = baseFeature + 5 // 特征数据-K线形态等

)

登记所有的特征数据

View Source
const (
	CacheL5KeyBox = "box"
)
View Source
const (
	CacheL5KeyExchange = "exchange"
)

Variables

This section is empty.

Functions

func CacheBox added in v0.8.6

func CacheBox() *cachel5.Cache1D[*Box]

func CacheExchange added in v0.8.6

func CacheExchange() *cachel5.Cache1D[*Exchange]

func RefreshL5Exchange added in v0.8.6

func RefreshL5Exchange()

RefreshL5Exchange 刷新缓存

func UpdateL5Exchange added in v0.8.6

func UpdateL5Exchange(extension *Exchange)

UpdateL5Exchange 更新当日exchange

Types

type Box added in v0.1.5

type Box struct {
	cache.DataSummary `dataframe:"-"`
	Code              string  `name:"证券代码" dataframe:"证券代码"`                 // 证券代码
	Date              string  `name:"数据日期" dataframe:"数据日期"`                 // 数据日期
	DoubletPeriod     int     `name:"倍量周期" dataframe:"倍量周期"`                 // 倍量周期
	DoubleHigh        float64 `name:"倍量最高" dataframe:"倍量最高"`                 // 倍量最高
	DoubleLow         float64 `name:"倍量最低" dataframe:"倍量最低"`                 // 倍量最低
	Buy               bool    `name:"买入信号" dataframe:"买入信号"`                 // 买入信号
	HalfPeriod        int     `name:"半量周期" dataframe:"半量周期"`                 // 半量周期
	HalfHigh          float64 `name:"半量最高" dataframe:"半量最高"`                 // 半量最高
	HalfLow           float64 `name:"半量最低" dataframe:"半量最低"`                 // 半量最低
	Sell              bool    `name:"卖出信号" dataframe:"卖出信号"`                 // 卖出信号
	TendencyPeriod    int     `name:"趋势周期" dataframe:"趋势周期"`                 // 趋势周期
	QSFZ              bool    `name:"QSFZ" dataframe:"QSFZ"`                 // QSFZ
	QSCP              float64 `name:"QSCP" dataframe:"QSCP"`                 // QSFZ: QSCP
	QSCV              float64 `name:"QSCV" dataframe:"QSCV"`                 // QSFZ: QSCV
	QSVP              float64 `name:"QSVP" dataframe:"QSVP"`                 // QSFZ: QSVP
	QSVP3             float64 `name:"QSVP3" dataframe:"QSVP3"`               // QSFZ: QSVP3
	QSVP5             float64 `name:"QSVP5" dataframe:"QSVP5"`               // QSFZ: QSVP5
	DkCol             float64 `name:"DkCol" dataframe:"DkCol"`               // dkqs: 能量柱
	DkD               float64 `name:"dkd" dataframe:"dkd"`                   // dkqs: 多头力量
	DkK               float64 `name:"dkk" dataframe:"dkk"`                   // dkqs: 空头力量
	DkB               bool    `name:"dkb" dataframe:"dkb"`                   // dkqs: buy
	DkS               bool    `name:"dks" dataframe:"dks"`                   // dkqs: sell
	DxDivergence      float64 `name:"dxdivergence" dataframe:"dxdivergence"` // madx: 综合发散度评估值
	DxDm0             float64 `name:"dxdm0" dataframe:"dxdm0"`               // madx: 超短线均线发散度
	DxDm1             float64 `name:"dxdm1" dataframe:"dxdm1"`               // madx: 短线均线发散度
	DxDm2             float64 `name:"dxdm2" dataframe:"dxdm2"`               // madx: 中线均线发散度
	DxB               bool    `name:"dxb" dataframe:"dxb"`                   // madx: 买入
	State             uint64  `name:"样本状态" dataframe:"样本状态"`                 // 样本状态
}

Box 平台特征数据

func GetL5Box added in v0.8.6

func GetL5Box(securityCode string, date ...string) *Box

GetL5Box 获取平台数据

func NewBox added in v0.1.5

func NewBox(date, code string) *Box

func (*Box) Factory added in v0.1.5

func (this *Box) Factory(date string, code string) factors.Feature

func (*Box) FromHistory added in v0.1.5

func (this *Box) FromHistory(history factors.History) factors.Feature

func (*Box) GetDate added in v0.1.5

func (this *Box) GetDate() string

func (*Box) GetSecurityCode added in v0.1.5

func (this *Box) GetSecurityCode() string

func (*Box) Increase added in v0.1.5

func (this *Box) Increase(snapshot factors.QuoteSnapshot) factors.Feature

func (*Box) Init added in v0.1.5

func (this *Box) Init(ctx context.Context, date string) error

func (*Box) Repair added in v0.1.5

func (this *Box) Repair(code, cacheDate, featureDate string, complete bool)

func (*Box) Update added in v0.1.5

func (this *Box) Update(code, cacheDate, featureDate string, complete bool)

func (*Box) ValidateSample added in v0.8.6

func (this *Box) ValidateSample() error

ValidateSample 验证样本数据

type DuoKongQuShi added in v0.8.6

type DuoKongQuShi struct {
	Col float64 // 多空能量
	K0  float64
	K   float64
	D   float64
	B   bool
	S   bool
}

DuoKongQuShi 多空趋势

type Exchange added in v0.8.6

type Exchange struct {
	cache.DataSummary     `dataframe:"-"`
	Date                  string  `name:"日期" dataframe:"日期"`           // 数据日期
	Code                  string  `name:"证券代码" dataframe:"证券代码"`       // 证券代码
	Shape                 uint64  `name:"K线形态" dataframe:"K线形态"`       // K线形态
	MV3                   float64 `name:"前3日分钟均量" dataframe:"前3日分钟均量"` // 前3日分钟均量
	MA3                   float64 `name:"3日均线" dataframe:"3日均线"`       // 3日均价
	MV5                   float64 `name:"前5日分钟均量" dataframe:"前5日分钟均量"` // 前5日每分钟均量, 量比(QuantityRelativeRatio)需要
	MA5                   float64 `name:"5日均线" dataframe:"5日均线"`       // 5日均价
	MA10                  float64 `name:"10日均线" dataframe:"10日均线"`     // 10日均价
	MA20                  float64 `name:"20日均线" dataframe:"20日均线"`     // 生命线(MA20)/20日线
	FundFlow              float64 `name:"资金流向" dataframe:"资金流向"`       // 资金流向, 暂时无用
	VolumeRatio           float64 `name:"成交量比" dataframe:"成交量比"`       // 成交量放大比例, 相邻的两个交易日进行比对
	TurnoverRate          float64 `name:"换手率" dataframe:"换手率"`         // 换手率
	AmplitudeRatio        float64 `name:"振幅" dataframe:"振幅"`           // 振幅
	BidOpen               float64 `name:"竞价开盘" dataframe:"竞价开盘"`       // 竞价开盘价
	BidClose              float64 `name:"竞价结束" dataframe:"竞价结束"`       // 竞价结束
	BidHigh               float64 `name:"竞价最高" dataframe:"竞价最高"`       // 竞价最高
	BidLow                float64 `name:"竞价最低" dataframe:"竞价最低"`       // 竞价最低
	BidMatched            float64 `name:"竞价匹配量" dataframe:"竞价匹配量"`     // 竞价匹配量
	BidUnmatched          float64 `name:"竞价未匹配" dataframe:"竞价未匹配"`     // 竞价未匹配量
	BidDirection          int     `name:"竞价方向" dataframe:"竞价方向"`       // 竞价方向
	OpenBiddingDirection  int     `name:"开盘竞价" dataframe:"开盘竞价"`       // 竞价方向, 交易当日集合竞价开盘时更新
	OpenVolumeDirection   int     `name:"开盘竞量" dataframe:"开盘竞量"`       // 委托量差, 交易当日集合竞价开盘时更新
	CloseBiddingDirection int     `name:"收盘竞价" dataframe:"收盘竞价"`       // 竞价方向, 交易当日集合竞价收盘时更新
	CloseVolumeDirection  int     `name:"收盘竞量" dataframe:"收盘竞量"`       // 委托量差, 交易当日集合竞价收盘时更新
	OpenVolume            int64   `name:"开盘量" dataframe:"开盘量"`         // 开盘量
	OpenTurnZ             float64 `name:"开盘换手z" dataframe:"开盘换手z"`     // 开盘换手z
	CloseVolume           int64   `name:"收盘量" dataframe:"收盘量"`         // TODO:快照数据实际上有好几条, 应该用当日成交记录修订
	CloseTurnZ            float64 `name:"收盘换手z" dataframe:"收盘换手z"`     // 收盘换手z
	LastSentiment         float64 `name:"昨日情绪" dataframe:"昨日情绪"`       // 昨日情绪
	LastConsistent        int     `name:"昨日情绪一致" dataframe:"昨日情绪一致"`   // 昨日情绪一致
	OpenSentiment         float64 `name:"开盘情绪值" dataframe:"开盘情绪值"`     // 开盘情绪值, 个股没有
	OpenConsistent        int     `name:"开盘情绪一致" dataframe:"开盘情绪一致"`   // 开盘情绪一致, 个股没有
	CloseSentiment        float64 `name:"收盘情绪值" dataframe:"收盘情绪值"`     // 收盘情绪值
	CloseConsistent       int     `name:"收盘情绪一致" dataframe:"收盘情绪一致"`   // 收盘情绪一致
	AveragePrice          float64 `name:"均价线" dataframe:"均价线"`         // 均价线
	Volume                int64   `name:"成交量" dataframe:"成交量"`         // 成交量
	InnerVolume           int64   `name:"内盘" dataframe:"内盘"`           // 内盘
	OuterVolume           int64   `name:"外盘" dataframe:"外盘"`           // 外盘
	Change5               float64 `name:"5日涨幅" dataframe:"5日涨幅"`       // 5日涨幅
	Change10              float64 `name:"10日涨幅" dataframe:"10日涨幅"`     // 10日涨幅
	InitialPrice          float64 `name:"启动价格" dataframe:"启动价格"`       // 短线底部(Short-Term Bottom),股价最近一次上穿5日均线
	ShortIntensity        float64 `name:"短线强度" dataframe:"短线强度"`       // 短线强度,Strength
	ShortIntensityDiff    float64 `name:"短线强度增幅" dataframe:"短线强度增幅"`   // 短线强度
	MediumIntensity       float64 `name:"中线强度" dataframe:"中线强度"`       // 中线强度
	MediumIntensityDiff   float64 `name:"中线强度增幅" dataframe:"中线强度增幅"`   // 中线强度
	Vix                   float64 `name:"波动率" dataframe:"波动率"`         // 波动率
	State                 uint64  `name:"样本状态" dataframe:"样本状态"`
}

Exchange 上一个交易日的数据快照

func GetL5Exchange added in v0.8.6

func GetL5Exchange(securityCode string, date ...string) (exchange *Exchange)

GetL5Exchange 获取扩展信息

func NewExchange added in v0.8.6

func NewExchange(date, code string) *Exchange

func (*Exchange) Factory added in v0.8.6

func (this *Exchange) Factory(date string, code string) factors.Feature

func (*Exchange) FromHistory added in v0.8.6

func (this *Exchange) FromHistory(history factors.History) factors.Feature

func (*Exchange) GetDate added in v0.8.6

func (this *Exchange) GetDate() string

func (*Exchange) GetSecurityCode added in v0.8.6

func (this *Exchange) GetSecurityCode() string

func (*Exchange) Increase added in v0.8.6

func (this *Exchange) Increase(snapshot factors.QuoteSnapshot) factors.Feature

func (*Exchange) Init added in v0.8.6

func (this *Exchange) Init(ctx context.Context, date string) error

func (*Exchange) Repair added in v0.8.6

func (this *Exchange) Repair(code, cacheDate, featureDate string, complete bool)

func (*Exchange) Update added in v0.8.6

func (this *Exchange) Update(code, cacheDate, featureDate string, complete bool)

func (*Exchange) ValidateSample added in v0.8.6

func (this *Exchange) ValidateSample() error

ValidateSample 验证样本数据

type ExchangeKLine added in v0.8.6

type ExchangeKLine struct {
	Date                string  // 日期
	Code                string  // 证券代码
	Shape               uint64  // K线形态
	MV3                 float64 // 3日均量
	MA3                 float64 // 3日均价
	MV5                 float64 // 5日均量
	MA5                 float64 // 5日均价
	MA10                float64 // 10日均价
	MA20                float64 // 20日均价
	VolumeRatio         float64 // 成交量比
	TurnoverRate        float64 // 换手率
	AmplitudeRatio      float64 // 振幅
	AveragePrice        float64 // 均价线
	Change5             float64 // 5日涨幅
	Change10            float64 // 10日涨幅
	InitialPrice        float64 // 短线底部(Short-Term Bottom),股价最近一次上串5日均线
	ShortIntensity      float64 // 短线强度
	ShortIntensityDiff  float64 // 短线强度增幅
	MediumIntensity     float64 // 中线强度
	MediumIntensityDiff float64 // 中线强度增幅
	Vix                 float64 // 波动率
	Sentiment           float64 // 情绪值
	Consistent          int     // 情绪一致
}

ExchangeKLine K线特征

func NewExchangeKLine added in v0.8.6

func NewExchangeKLine(code, date string) *ExchangeKLine

NewExchangeKLine 构建制定日期的K线数据

func (*ExchangeKLine) Kind added in v0.8.6

func (k *ExchangeKLine) Kind() cache.Kind

func (*ExchangeKLine) Name added in v0.8.6

func (k *ExchangeKLine) Name() string

type JuXianDongXiang added in v0.8.6

type JuXianDongXiang struct {
	Dm0       float64
	Dm1       float64
	Dm2       float64
	Diverging float64
	B         bool
}

type KLineBox added in v0.8.6

type KLineBox struct {
	Code           string  // 证券代码
	Date           string  // 数据日期
	DoubletPeriod  int     // box: 倍量周期
	DoubleHigh     float64 // box: 倍量最高
	DoubleLow      float64 // box: 倍量最低
	Buy            bool    // box: 买入
	HalfPeriod     int     // box: 半量周期
	HalfHigh       float64 // box: 半量最高
	HalfLow        float64 // box: 半量最低
	Sell           bool    // box: 卖出
	TendencyPeriod int     // box: 趋势周期
	QSFZ           bool    // qsfz: 信号
	QSCP           float64 // qsfz: cp
	QSCV           float64 // qsfz: cv
	QSVP           float64 // qsfz: vp
	QSVP3          float64 // qsfz: vp3
	QSVP5          float64 // qsfz: vp5
	DkCol          float64 // dkqs: 能量柱, 通达信分时指标DkCol
	DkD            float64 // dkqs: 多头力量
	DkK            float64 // dkqs: 空头力量
	DkB            bool    // dkqs: 买入
	DkS            bool    // dkqs: 卖出
	DxDivergence   float64 // madx: 综合发散度评估值
	DxDm0          float64 // madx: 均线发散度-超短线
	DxDm1          float64 // madx: 均线发散度-短线
	DxDm2          float64 // madx: 均线发散度-中线
	DxB            bool    // madx: 买入
}

KLineBox 有效突破(BreaksThrough)平台

func NewKLineBox added in v0.8.6

func NewKLineBox(code, date string) *KLineBox

NewKLineBox 构建有效突破数据

func (*KLineBox) Kind added in v0.8.6

func (k *KLineBox) Kind() cache.Kind

func (*KLineBox) Name added in v0.8.6

func (k *KLineBox) Name() string

type QuShiFanZhuan

type QuShiFanZhuan struct {
	QSFZ bool    // 反转信号
	CP   float64 // 股价涨幅
	CV   float64 // 成交量涨幅
	VP   float64 // 价量比
	VP3  float64 // 3日价量比
	VP5  float64 // 5日价量比
}

QuShiFanZhuan 趋势反转

type ShapeType added in v0.8.6

type ShapeType = uint64

ShapeType K线形态类型

const (
	KLineShapeYiZi                 ShapeType = 1 << iota // 1一字
	KLineShapeLimitUp                                    // 2涨停板
	KLineShapeLimitDown                                  // 3跌停板
	KLineShapeNoChanged                                  // 4平盘
	KLineShapeUp                                         // 5上涨
	KLineShapeDown                                       // 6下跌
	KLineShapeDoji                                       // 7十字星
	KLineShapeLongUpShadow                               // 8长上影线
	KLineShapeLongDownShadow                             // 9长下影线
	KLineShapeDaYangLine                                 // 10大阳线
	KLineShapeDaYinLine                                  // 11大阴线
	KLineShapeZhongYangLine                              // 12中阳线
	KLineShapeZhongYinLine                               // 13中阴线
	KLineShapeXiaoYangLine                               // 14小阳线
	KLineShapeXiaoYinLine                                // 15小阴线
	KLineShapeNotLimitUp                                 // 16炸板, 曾涨停
	KLineShapeNotLimitDown                               // 17曾跌停
	KLineShapeShrinkToHalf                               // 18第3日缩量到一半
	KLineShapeGrabChipInFinalRound                       // 19尾盘抢筹
	KLineShapeChant                                      // 20吟唱, 蓄力 配合大阳线
	KLineShapeStepBackDailyMA                            // 21日线-连续2个周期回踩均线
	KLineShapeStepBackWeeklyMA                           // 22周线-连续2个周期回踩均线
	KLineShapeStepBackMonthlyMA                          // 23月线-连续2个周期回踩均线
)

func KLineShape added in v0.8.6

func KLineShape(df pandas.DataFrame, securityCode string) (shape ShapeType)

KLineShape K线形态

Jump to

Keyboard shortcuts

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