2 Star 3 Fork 10

王布衣 / engine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
feature_f10_base.go 1.97 KB
一键复制 编辑 原始数据 按行查看 历史
王布衣 提交于 2023-12-20 07:47 . 统一数据到factors目录
package factors
import (
"gitee.com/quant1x/engine/datasource/base"
"gitee.com/quant1x/gotdx/quotes"
"gitee.com/quant1x/gotdx/securities"
"gitee.com/quant1x/gox/api"
"gitee.com/quant1x/gox/concurrent"
)
func checkoutCapital(list []quotes.XdxrInfo, date string) *quotes.XdxrInfo {
for _, v := range list {
if v.IsCapitalChange() && date >= v.Date {
return &v
}
}
return nil
}
type f10SecurityInfo struct {
TotalCapital float64
Capital float64
VolUnit int
DecimalPoint int
Name_ string
IpoDate string
SubNew bool
UpdateDate string
}
var (
//__mapListingDate = map[string]string{}
__mapListingDate = concurrent.NewHashMap[string, string]()
)
func checkoutSecurityBasicInfo(securityCode, featureDate string) f10SecurityInfo {
list := base.GetCacheXdxrList(securityCode)
api.SliceSort(list, func(a, b quotes.XdxrInfo) bool {
return a.Date > b.Date
})
// 计算流通盘
cover := checkoutCapital(list, featureDate)
var f10 f10SecurityInfo
if cover != nil {
f10.TotalCapital = cover.HouZongGuBen * 10000
f10.Capital = cover.HouLiuTong * 10000
} else {
f10.Capital, f10.TotalCapital, f10.IpoDate, f10.UpdateDate = getFinanceInfo(securityCode, featureDate)
}
if len(f10.IpoDate) == 0 {
ipoDate, ok := __mapListingDate.Get(securityCode)
if !ok {
ipoDate = getIpoDate(securityCode, featureDate)
}
f10.IpoDate = ipoDate
if len(f10.IpoDate) > 0 {
__mapListingDate.Set(securityCode, f10.IpoDate)
}
}
if len(f10.UpdateDate) == 0 || f10.UpdateDate > featureDate {
f10.UpdateDate = featureDate
}
if len(f10.IpoDate) > 0 {
f10.SubNew = IsSubNewStockByIpoDate(securityCode, f10.IpoDate, featureDate)
}
securityInfo, found := securities.CheckoutSecurityInfo(securityCode)
if found {
f10.VolUnit = int(securityInfo.VolUnit)
f10.DecimalPoint = int(securityInfo.DecimalPoint)
f10.Name_ = securityInfo.Name
} else {
f10.VolUnit = 100
f10.DecimalPoint = 2
f10.Name_ = securities.GetStockName(securityCode)
}
return f10
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/quant1x/engine.git
git@gitee.com:quant1x/engine.git
quant1x
engine
engine
v1.0.7

搜索帮助

344bd9b3 5694891 D2dac590 5694891