Documentation ¶
Overview ¶
Package factors 特征/因子相关的功能
包括: 基本面, 常用历史特征以及1号策略数据
Index ¶
- Constants
- Variables
- func ComputeFreeCapital(holderList []dfcf.CirculatingShareholder, capital float64) (...)
- func GetTimestamp() string
- func IsSubNewStockByIpoDate(securityCode, ipoDate, date string) bool
- type CompleteData
- type F10
- func (this *F10) Factory(date string, code string) Feature
- func (this *F10) FromHistory(history History) Feature
- func (this *F10) GetDate() string
- func (this *F10) GetSecurityCode() string
- func (this *F10) Increase(snapshot QuoteSnapshot) Feature
- func (this *F10) Init(ctx context.Context, date string) error
- func (this *F10) Repair(code, cacheDate, featureDate string, complete bool)
- func (this *F10) TurnZ(v any) float64
- func (this *F10) Update(code, cacheDate, featureDate string, complete bool)
- func (this *F10) ValidateSample() error
- type Feature
- type History
- func (this *History) Factory(date string, code string) Feature
- func (this *History) FromHistory(history History) Feature
- func (this *History) GetDate() string
- func (this *History) GetMV5() float64
- func (this *History) GetSecurityCode() string
- func (this *History) Increase(snapshot QuoteSnapshot) Feature
- func (this *History) Init(ctx context.Context, date string) error
- func (this *History) Repair(code, cacheDate, featureDate string, complete bool)
- func (this *History) Update(code, cacheDate, featureDate string, complete bool)
- func (this *History) ValidateSample() error
- type HousNo1
- func (this *HousNo1) Factory(date string, code string) Feature
- func (this *HousNo1) FromHistory(history History) Feature
- func (this *HousNo1) GetDate() string
- func (this *HousNo1) GetSecurityCode() string
- func (this *HousNo1) Increase(snapshot QuoteSnapshot) Feature
- func (this *HousNo1) Init(ctx context.Context, date string) error
- func (this *HousNo1) Repair(code, cacheDate, featureDate string, complete bool)
- func (this *HousNo1) Update(code, cacheDate, featureDate string, complete bool)
- func (this *HousNo1) ValidateSample() error
- type IncompleteData
- type QuoteSnapshot
- type Trait
- type Weight
Constants ¶
View Source
const ( FeatureF10 = baseFeature + 1 // 特征数据-基本面 FeatureHistory = baseFeature + 2 // 特征数据-历史 FeatureNo1 = baseFeature + 3 // 特征数据-1号策略 )
登记所有的特征数据
View Source
const (
CacheL5KeyF10 = "f10"
)
View Source
const (
CacheL5KeyHistory = "history"
)
View Source
const (
InvalidPeriod = -1 // 无效的周期
)
View Source
const (
SubNewStockYears = 1 // 次新股几年内
)
Variables ¶
View Source
var (
ErrInvalidFeatureSample = errors.New("无效的特征数据样本")
)
Functions ¶
func ComputeFreeCapital ¶ added in v0.2.0
func ComputeFreeCapital(holderList []dfcf.CirculatingShareholder, capital float64) (top10Capital, freeCapital, capitalChanged, increaseRatio, reductionRatio float64)
ComputeFreeCapital 计算自由流通股本
func GetTimestamp ¶ added in v0.8.1
func GetTimestamp() string
GetTimestamp 时间戳
格式: YYYY-MM-DD hh:mm:ss.SSS
func IsSubNewStockByIpoDate ¶ added in v0.2.0
IsSubNewStockByIpoDate 检查是否次新股
Types ¶
type CompleteData ¶ added in v0.2.0
type CompleteData struct {
No1 HousNo1
}
type F10 ¶ added in v0.2.0
type F10 struct { cache.DataSummary `dataframe:"-"` Date string `name:"日期" dataframe:"Date"` // 日期 Code string `name:"代码" dataframe:"Code"` // 证券代码 SecurityName string `name:"名称" dataframe:"Name"` // 证券名称 SubNew bool `name:"次新股" dataframe:"SubNew"` // 是否次新股 VolUnit int `name:"每手" dataframe:"VolUnit"` // 每手单位 DecimalPoint int `name:"小数点" dataframe:"DecimalPoint"` // 小数点 IpoDate string `name:"上市日期" dataframe:"IpoDate"` // 上市日期 UpdateDate string `name:"更新日期" dataframe:"UpdateDate"` // 更新日期 TotalCapital float64 `name:"总股本" dataframe:"TotalCapital"` // 总股本 Capital float64 `name:"流通股本" dataframe:"Capital"` // 流通股本 FreeCapital float64 `name:"自由流通股本" dataframe:"FreeCapital"` // 自由流通股本 Top10Capital float64 `name:"前十大流通股东总股本" dataframe:"Top10Capital"` // 前十大流通股东股本 Top10Change float64 `name:"前十大流通股东总股本变化" dataframe:"Top10Change"` //前十大流通股东股本变化 ChangeCapital float64 `name:"前十大流通股东持仓变化" dataframe:"ChangeCapital"` // 前十大流通股东持仓变化 IncreaseRatio float64 `name:"当期增持比例" dataframe:"IncreaseRatio"` // 当期增持比例 ReductionRatio float64 `name:"当期减持比例" dataframe:"ReductionRatio"` // 当期减持比例 QuarterlyYearQuarter string `name:"季报期" dataframe:"quarterly_year_quarter"` // 当前市场处于哪个季报期, 用于比较个股的季报数据是否存在拖延的情况 QDate string `name:"新报告期" dataframe:"qdate"` // 最新报告期 TotalOperateIncome float64 `name:"营业总收入" dataframe:"TotalOperateIncome"` // 当期营业总收入 BPS float64 `name:"每股净资产" dataframe:"BPS"` // 每股净资产 BasicEPS float64 `name:"每股收益" dataframe:"BasicEPS"` // 每股收益 DeductBasicEPS float64 `name:"每股收益(扣除)" dataframe:"DeductBasicEPS"` // 每股收益(扣除) SafetyScore int `name:"安全分" dataframe:"SafetyScore"` // 通达信安全分 Increases int `name:"增持" dataframe:"Increases"` // 公告-增持 Reduces int `name:"减持" dataframe:"Reduces"` // 公告-减持 Risk int `name:"风险数" dataframe:"Risk"` // 公告-风险数 RiskKeywords string `name:"风险关键词" dataframe:"RiskKeywords"` // 公告-风险关键词 UpdateTime string `name:"更新时间" dataframe:"update_time"` // 更新时间 State uint64 `name:"样本状态" dataframe:"样本状态"` }
F10 证券基本面
func (*F10) FromHistory ¶ added in v0.2.0
func (*F10) GetSecurityCode ¶ added in v0.2.0
func (*F10) Increase ¶ added in v0.2.0
func (this *F10) Increase(snapshot QuoteSnapshot) Feature
func (*F10) ValidateSample ¶ added in v0.8.1
type Feature ¶
type Feature interface { cache.Manifest cache.Future // Factory 工厂 Factory(date string, code string) Feature Trait }
Feature 特征
type History ¶
type History struct { cache.DataSummary `dataframe:"-"` Date string `name:"日期" dataframe:"date"` // 日期, 数据落地的日期 Code string `name:"代码" dataframe:"code"` // 代码 MA2 float64 `name:"2日均价" dataframe:"ma2"` // 2日均价 MA3 float64 `name:"3日均价" dataframe:"ma3"` // 3日均价 MV3 float64 `name:"3日均量" dataframe:"mv3"` // 3日均量 MA4 float64 `name:"4日均价" dataframe:"ma4"` // 4日均价 MA5 float64 `name:"5日均价" dataframe:"ma5"` // 5日均价 MV5 float64 `name:"5日均量" dataframe:"mv5"` // 5日均量 MA9 float64 `name:"9日均价" dataframe:"ma9"` // 9日均价 MV9 float64 `name:"9日均量" dataframe:"mv9"` // 9日均量 MA10 float64 `name:"10日均价" dataframe:"ma10"` // 10日均价 MV10 float64 `name:"10日均量" dataframe:"mv10"` // 10日均量 MA19 float64 `name:"19日均价" dataframe:"ma19"` // 19日均价 MV19 float64 `name:"19日均量" dataframe:"mv19"` // 19日均量 MA20 float64 `name:"20日均价" dataframe:"ma20"` // 20日均价 MV20 float64 `name:"20日均量" dataframe:"mv20"` // 20日均量 OPEN float64 `name:"开盘" dataframe:"open"` // 昨日开盘 CLOSE float64 `name:"收盘" dataframe:"close"` // 昨日收盘 HIGH float64 `name:"最高" dataframe:"high"` // 昨日最高 LOW float64 `name:"最低" dataframe:"low"` // 昨日最低 VOL float64 `name:"成交量" dataframe:"vol"` // 昨日成交量 AMOUNT float64 `name:"成交额" dataframe:"amount"` // 昨日成交额 AveragePrice float64 `name:"均价" dataframe:"average_price"` // 昨日均价 Payloads IncompleteData `name:"payloads" dataframe:"payloads"` // 扩展的半成品数据 Last CompleteData `name:"last" dataframe:"last"` // 上一个交易日的数据 UpdateTime string `name:"更新时间" dataframe:"update_time"` // 更新时间 State uint64 `name:"样本状态" dataframe:"样本状态"` }
History 历史整合数据
记录重要的截止上一个交易日的数据
func NewHistory ¶ added in v0.2.0
func (*History) FromHistory ¶ added in v0.2.0
func (*History) GetSecurityCode ¶ added in v0.2.0
func (*History) Increase ¶ added in v0.2.0
func (this *History) Increase(snapshot QuoteSnapshot) Feature
func (*History) ValidateSample ¶ added in v0.8.1
type HousNo1 ¶ added in v0.2.0
type HousNo1 struct { cache.DataSummary `dataframe:"-"` MA5 float64 `dataframe:"ma5"` MA10 float64 `dataframe:"ma10"` MA20 float64 `dataframe:"ma20"` }
func (*HousNo1) FromHistory ¶ added in v0.2.0
func (*HousNo1) GetSecurityCode ¶ added in v0.2.0
func (*HousNo1) Increase ¶ added in v0.2.0
func (this *HousNo1) Increase(snapshot QuoteSnapshot) Feature
func (*HousNo1) ValidateSample ¶ added in v0.8.1
type IncompleteData ¶ added in v0.2.0
type IncompleteData struct {
No1 HousNo1
}
IncompleteData 不完整的数据
type QuoteSnapshot ¶ added in v0.8.5
type QuoteSnapshot struct { Date string // 交易日期 ServerTime string // 时间 SecurityCode string // 证券代码 ExchangeState quotes.ExchangeState // 交易状态 State quotes.TradeState // 上市公司状态 Market uint8 // 市场ID Code string `name:"证券代码"` // 代码 Name string `name:"证券名称"` // 证券名称 Active uint16 `name:"活跃度"` // 活跃度 LastClose float64 `name:"昨收"` // 昨收 Open float64 `name:"开盘价"` // 开盘 OpeningChangeRate float64 `name:"开盘涨幅%"` // 开盘 Price float64 `name:"现价"` // 现价 ChangeRate float64 `name:"涨跌幅%"` // 涨跌幅 PremiumRate float64 `name:"溢价率%"` // 集合竞价买入溢价, hedgeRatio High float64 // 最高 Low float64 // 最低 Vol int // 总量 CurVol int // 现量 Amount float64 // 总金额 SVol int // 内盘 BVol int // 外盘 IndexOpenAmount int // 指数-集合竞价成交金额=开盘成交金额 StockOpenAmount int // 个股-集合竞价成交金额=开盘成交金额 OpenVolume int `name:"开盘量"` // 集合竞价-开盘量, 单位是股 CloseVolume int `name:"收盘量"` /// 集合竞价-收盘量, 单位是股 IndexUp int // 指数有效-上涨数 IndexUpLimit int // 指数有效-涨停数 IndexDown int // 指数有效-下跌数 IndexDownLimit int // 指数有效-跌停数 OpenBiddingDirection int `name:"开盘竞价" dataframe:"开盘竞价"` // 竞价方向, 交易当日集合竞价开盘时更新 OpenVolumeDirection int `name:"开盘竞量" dataframe:"开盘竞量"` // 委托量差, 交易当日集合竞价开盘时更新 CloseBiddingDirection int `name:"收盘竞价" dataframe:"收盘竞价"` // 竞价方向, 交易当日集合竞价收盘时更新 CloseVolumeDirection int `name:"收盘竞量" dataframe:"收盘竞量"` // 委托量差, 交易当日集合竞价收盘时更新 Rate float64 // 涨速 TopNo int // 板块排名 TopCode string // 领涨个股 TopName string // 领涨个股名称 TopRate float64 // 领涨个股涨幅 ZhanTing int // 涨停数 Ling int // 平盘数 Count int // 总数 Capital float64 `name:"流通盘"` // 流通盘 FreeCapital float64 `name:"自由流通股本"` // 自由流通股本 OpenTurnZ float64 `name:"开盘换手Z%"` // 开盘换手 OpenQuantityRatio float64 `name:"开盘量比"` QuantityRatio float64 `name:"量比"` ChangePower float64 `name:"涨跌力度"` // 开盘金额除以开盘涨幅 AverageBiddingVolume int `name:"委托均量"` // 委托均量 UpdateTime string // 本地时间戳 }
QuoteSnapshot 即时行情快照
Click to show internal directories.
Click to hide internal directories.