2 Star 9 Fork 12

王布衣/engine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
cache
command
config
datasource
docs
factors
adapter.go
cache1d.go
dataset.go
dataset_features.go
dataset_kline.go
dataset_margin_trading.go
dataset_minutes.go
dataset_report.go
dataset_report_preview.go
dataset_safetyscore.go
dataset_trans.go
dataset_trans_count.go
dataset_trans_test.go
dataset_wide.go
dataset_wide_old.go
dataset_wide_rotation.go
dataset_wide_test.go
dataset_xdxr.go
doc.go
feature.go
feature_aggregation.go
feature_aggregation_test.go
feature_box.go
feature_box_breaks.go
feature_box_breaks.tdx
feature_box_breaks_test.go
feature_box_dkqs.go
feature_box_dkqs.tdx
feature_box_madx.go
feature_box_madx.tdx
feature_box_qsfz.go
feature_box_qsfz.tdx
feature_datetime.go
feature_f10.go
feature_f10_base.go
feature_f10_capital.go
feature_f10_notice.go
feature_f10_reports.go
feature_f10_shareholder.go
feature_f10_subnew.go
feature_f10_test.go
feature_f10_utils.go
feature_history.go
feature_misc.go
feature_misc_base.go
feature_misc_base_test.go
feature_misc_bdl.tdx
feature_misc_kline_shape.go
feature_misc_kline_shape_test.go
feature_misc_qd.tdx
feature_misc_test.go
feature_no1.go
feature_test.go
kline.go
quote_snapshot.go
labs
market
models
permissions
realtime
rules
services
storages
strategies
tools
tracker
trader
utils
.gitignore
CHANGELOG.md
LICENSE
README.md
go.mod
go.sum
main.go
publish-compile.sh
publish-linux-amd64.sh
publish-mac-amd64.sh
publish-mac-arm64.sh
publish-windows-amd64.sh
publish-windows-arm64.sh
publish-windows.ps1
publish-windows.py
克隆/下载
feature_f10_base.go 1.97 KB
一键复制 编辑 原始数据 按行查看 历史
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
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/quant1x/engine.git
git@gitee.com:quant1x/engine.git
quant1x
engine
engine
v1.3.5

搜索帮助

371d5123 14472233 46e8bd33 14472233