cache

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KBarIndex = "barIndex"
	KLineMin  = 120 // K线最少记录数
)
View Source
const (
	TDX_FORMAT_PROTOCOL_DATE = "20060102"   // 通达信协议的日期字符串格式
	CACHE_DATE               = "20060102"   // 缓存日期
	INDEX_DATE               = "2006-01-02" // 索引日期格式
	TDX_DATE                 = "20060102"   // 通达信日期
	YearOnly                 = "2006"       // 仅年份
	TimeStampMilli           = "2006-01-02 15:04:05.000"
	TimeStampMicro           = "2006-01-02 15:04:05.000000"
	TimeStampNano            = "2006-01-02 15:04:05.000000000"
)
View Source
const (
	// DefaultDataProvider 默认数据提供者
	DefaultDataProvider = "engine"
)
View Source
const (
	FilenameDate = "20060102" // 缓存文件相关的日期格式
)
View Source
const (
	UseGoroutine = false // 更新和修复数据是否启用协程
)

Variables

View Source
var (
	ErrAlreadyExists = errors.New("the plugin already exists")
)

Functions

func CacheId

func CacheId(code string) string

CacheId 通过代码构建目录结构

func CacheIdPath

func CacheIdPath(code string) string

CacheIdPath code从后保留3位, 市场缩写+从头到倒数第3的代码, 确保每个目录只有000~999个代码

func CorrectDate added in v0.1.5

func CorrectDate(date string) (cacheDate, resourcesDate string)

CorrectDate 校正日期

func DefaultCanReadDate added in v0.1.5

func DefaultCanReadDate() string

DefaultCanReadDate 获取默认可以读缓存文件的日期

func DefaultCanUpdateDate added in v0.1.5

func DefaultCanUpdateDate() string

DefaultCanUpdateDate 获取默认可以更新缓存文件的日期

func FeatureFilename added in v0.5.4

func FeatureFilename(code string) string

FeatureFilename 特征数据缓存路径

func FundFlowFilename added in v0.5.1

func FundFlowFilename(securityCode string) string

FundFlowFilename 通过证券代码获取资金流向的缓存文件路径

func GetDayPath

func GetDayPath() string

GetDayPath 历史数据-日线缓存路径

func GetFeaturesPath

func GetFeaturesPath() string

GetFeaturesPath 获取特征路径

func GetFundFlowPath

func GetFundFlowPath() string

GetFundFlowPath 资金流向目录

func GetHoldingPath

func GetHoldingPath() string

GetHoldingPath 十大流通股股东数据路径

func GetInfoPath added in v0.1.5

func GetInfoPath() string

GetInfoPath 信息路径

func GetLoggerPath

func GetLoggerPath() string

GetLoggerPath 获取日志路径

func GetMetaPath

func GetMetaPath() string

GetMetaPath 元数据路径

func GetMinutePath added in v0.5.3

func GetMinutePath() string

GetMinutePath 分时路径

func GetQmtCachePath added in v1.0.7

func GetQmtCachePath() string

GetQmtCachePath QMT订单文件路径

func GetQuarterlyPath deprecated added in v0.1.5

func GetQuarterlyPath() string

GetQuarterlyPath 季报路径

Deprecated: 不推荐

func GetRootPath

func GetRootPath() string

GetRootPath 获取缓存根路径

func GetSnapshotPath

func GetSnapshotPath() string

GetSnapshotPath 快照路径

func GetTickPath

func GetTickPath() string

GetTickPath tick数据路径

func GetVariablePath

func GetVariablePath() string

GetVariablePath 获取VAR路径

func GetXdxrPath

func GetXdxrPath() string

GetXdxrPath 除权除息文件存储路径

func GetZxgFile added in v0.2.3

func GetZxgFile() string

GetZxgFile 自选股文件路径

func KLineFilename

func KLineFilename(code string) string

KLineFilename 基础K线缓存路径

func MinuteFilename added in v0.5.3

func MinuteFilename(code, date string) string

func PreviewReportFilename added in v0.6.2

func PreviewReportFilename(date string) string

PreviewReportFilename 业绩预告文件名

func QuarterlyReportFilename added in v0.1.5

func QuarterlyReportFilename(code, date string) string

QuarterlyReportFilename 季报存储路径

info
  |-- YYYYQ1
        |--  sh600105.report
  |-- YYYYQ2
  |-- YYYYQ3
  |-- YYYYQ4
Deprecated: 不推荐使用

func Register added in v0.1.7

func Register(plugin DataAdapter) error

Register 注册插件

func ReportsFilename added in v0.1.5

func ReportsFilename(date string) string

ReportsFilename 报告数据文件名

func Reset

func Reset()

Reset 重置日志记录器

func SnapshotFilename added in v0.5.1

func SnapshotFilename(securityCode string) string

SnapshotFilename 快照数据文件

func TickFilename added in v0.2.0

func TickFilename(code, date string) string

TickFilename tick文件比较多, 目录结构${tick}/${YYYY}/${YYYYMMDD}/${CacheIdPath}

func Today added in v0.5.4

func Today() string

func Top10HoldersFilename added in v0.1.5

func Top10HoldersFilename(code, date string) string

Top10HoldersFilename 前十大流通股股东缓存文件名

func XdxrFilename

func XdxrFilename(code string) string

XdxrFilename XDXR缓存路径

Types

type DataAdapter added in v0.3.2

type DataAdapter interface {
	// Schema 继承基础特性接口
	Schema
	// Print 控制台输出指定日期的数据
	Print(code string, date ...string)
}

DataAdapter 数据插件

func Plugins added in v0.1.7

func Plugins(mask ...Kind) (list []DataAdapter)

Plugins 按照类型标志位捡出数据插件

func PluginsWithName added in v0.2.0

func PluginsWithName(pluginType Kind, keywords ...string) (list []DataAdapter)

type DataFile added in v0.3.2

type DataFile interface {
	// Checkout 捡出指定日期的缓存数据
	Checkout(securityCode, date string)
	// Filename 缓存文件名
	//	接受两个参数 日期和证券代码
	// 	文件名为空不缓存
	Filename(date, securityCode string) string
	// Check 数据校验
	Check(cacheDate, featureDate string) error
}

DataFile 基础数据文件接口

type DataSummary added in v0.3.2

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

DataSummary 数据概要

func Summary added in v0.3.2

func Summary(kind Kind, key, name, owner string) DataSummary

func (DataSummary) Key added in v0.3.2

func (d DataSummary) Key() string

func (DataSummary) Kind added in v0.3.2

func (d DataSummary) Kind() Kind

func (DataSummary) Name added in v0.3.2

func (d DataSummary) Name() string

func (DataSummary) Owner added in v0.3.2

func (d DataSummary) Owner() string

func (DataSummary) Usage added in v0.3.4

func (d DataSummary) Usage() string

type Depend added in v0.1.7

type Depend interface {
	DependOn() []Kind
}

type Future added in v0.3.2

type Future interface {
	// Update 更新数据
	//	whole 是否完整的数据, false是加工成半成品数据, 为了配合Increase
	Update(securityCode, cacheDate, featureDate string, whole bool)
	// Repair 回补数据
	Repair(securityCode, cacheDate, featureDate string, whole bool)
}

Future 预备数据的接口

type Handover added in v0.1.7

type Handover interface {
	// ChangingOverDate 缓存数据转换日期
	//	数据集等基础数据不需要切换日期
	ChangingOverDate(date string)
}

Handover 缓存切换接口

type Increase added in v0.3.2

type Increase[T any] interface {
	Add(data T) T
}

Increase 增量数据计算接口

deprecated: 不推荐

type Initialization added in v0.3.4

type Initialization interface {
	// Init 初始化, 接受context, 日期和证券代码作为入参
	Init(ctx context.Context, date string) error
}

Initialization 初始化接口

type Kind added in v0.1.7

type Kind = uint64
const (
	PluginMaskBaseData Kind = 0x1000000000000000
	PluginMaskFeature  Kind = 0x2000000000000000
)

type Manifest added in v0.3.8

type Manifest interface {
	Schema
	Properties
	Initialization
}

Manifest 提要

type OpKind added in v0.2.7

type OpKind int
const (
	OpUpdate OpKind = iota + 1 // 更新
	OpRepair                   // 修复
	OpIncr                     // 增量
)

type Operator added in v0.3.2

type Operator interface {
	// Pull 拉取数据
	Pull(date, securityCode string) Operator
}

Operator 缓存操作接口

数据操作, 包含初始化和拉取两个接口

type Properties added in v0.3.4

type Properties interface {
	// GetDate 日期
	GetDate() string
	// GetSecurityCode 证券代码
	GetSecurityCode() string
}

Properties 属性接口

type Schema added in v0.3.9

type Schema interface {
	// Kind 数据类型
	Kind() Kind
	// Owner 提供者
	Owner() string
	// Key 数据关键词, key与cache落地强关联
	Key() string
	// Name 特性名称
	Name() string
	// Usage 控制台参数提示信息, 数据描述(data description)
	Usage() string
}

Schema 缓存的概要信息

type ScoreBoard added in v0.3.2

type ScoreBoard struct {
	Kind      Kind          `name:"kind"`       // 类型
	Count     int           `name:"count"`      // 总数
	Max       time.Duration `name:"max"`        // 最大值
	Min       time.Duration `name:"min"`        // 最小值
	CrossTime time.Duration `name:"cross_time"` // 总耗时
	Speed     float64       `name:"speed"`      // 速度
	// contains filtered or unexported fields
}

ScoreBoard 记分牌

func (*ScoreBoard) Add added in v0.3.2

func (this *ScoreBoard) Add(delta int, take time.Duration)

func (*ScoreBoard) String added in v0.3.2

func (this *ScoreBoard) String() string

type SecurityFeature added in v0.2.0

type SecurityFeature struct {
	Date           string  `json:"Date" array:"0" name:"日期" dataframe:"date,string"`
	Open           float64 `json:"Open" array:"1" name:"开盘" dataframe:"open,float64"`
	Close          float64 `json:"Close" array:"2" name:"收盘" dataframe:"close,float64"`
	High           float64 `json:"High" array:"3" name:"最高" dataframe:"high,float64"`
	Low            float64 `json:"Low" array:"4" name:"最低" dataframe:"low,float64"`
	Volume         int64   `json:"Volume" array:"5" name:"成交量" dataframe:"volume,int64"`
	Amount         float64 `json:"Amount" array:"6" name:"成交额" dataframe:"amount,float64"`
	Up             int     `json:"Up" array:"7" name:"上涨家数" dataframe:"up,int64"`
	Down           int     `json:"Down" array:"8" name:"下跌家数" dataframe:"down,int64"`
	LastClose      float64 `json:"LastClose" array:"9" name:"昨收" dataframe:"last_close,float64"`
	ChangeRate     float64 `json:"ChangeRate" array:"10" name:"涨跌幅" dataframe:"change_rate,float64"`
	OpenVolume     int64   `json:"OpenVolume" array:"11" name:"开盘量" dataframe:"open_volume,int64"`
	OpenTurnZ      float64 `json:"OpenTurnZ" array:"12" name:"开盘换手z" dataframe:"open_turnz,float64"`
	OpenUnmatched  int64   `json:"OpenUnmatched" array:"13" name:"开盘未匹配" dataframe:"open_unmatched,int64"`
	CloseVolume    int64   `json:"CloseVolume" array:"14" name:"收盘量" dataframe:"close_volume,int64"`
	CloseTurnZ     float64 `json:"CloseTurnZ" array:"15" name:"收盘换手z" dataframe:"close_turnz,float64"`
	CloseUnmatched int64   `json:"CloseUnmatched" array:"16" name:"收盘未匹配" dataframe:"close_unmatched,int64"`
	InnerVolume    int64   `json:"InnerVolume" array:"17" name:"内盘" dataframe:"inner_volume,int64"`
	OuterVolume    int64   `json:"OuterVolume" array:"18" name:"外盘" dataframe:"outer_volume,int64"`
	InnerAmount    float64 `json:"InnerAmount" array:"19" name:"流出金额" dataframe:"inner_amount,float64"`
	OuterAmount    float64 `json:"OuterAmount" array:"20" name:"流入金额" dataframe:"outer_amount,float64"`
}

SecurityFeature 证券特征信息

type Swift added in v0.3.2

type Swift interface {
}

Swift 快速接口

securityCode 证券代码, 2位交易所缩写+6位数字代码, 例如sh600600, 代表上海市场的青岛啤酒
cacheDate 缓存日期
featureDate 特征数据的日期

type TurnoverDataSummary added in v0.2.0

type TurnoverDataSummary struct {
	OpenVolume     int64   `json:"OpenVolume" array:"0" name:"开盘量" dataframe:"open_volume,int64"`
	OpenTurnZ      float64 `json:"OpenTurnZ" array:"1" name:"开盘换手z" dataframe:"open_turnz,float64"`
	OpenUnmatched  int64   `json:"OpenUnmatched" array:"2" name:"开盘未匹配" dataframe:"open_unmatched,int64"`
	CloseVolume    int64   `json:"CloseVolume" array:"3" name:"收盘量" dataframe:"close_volume,int64"`
	CloseTurnZ     float64 `json:"CloseTurnZ" array:"4" name:"收盘换手z" dataframe:"close_turnz,float64"`
	CloseUnmatched int64   `json:"CloseUnmatched" array:"5" name:"收盘未匹配" dataframe:"close_unmatched,int64"`
	InnerVolume    int64   `json:"InnerVolume" array:"6" name:"内盘" dataframe:"inner_volume,int64"`
	OuterVolume    int64   `json:"OuterVolume" array:"7" name:"外盘" dataframe:"outer_volume,int64"`
	InnerAmount    float64 `json:"InnerAmount" array:"8" name:"流出金额" dataframe:"inner_amount,float64"`
	OuterAmount    float64 `json:"OuterAmount" array:"9" name:"流入金额" dataframe:"outer_amount,float64"`
}

TurnoverDataSummary 换手数据概要

type Validator added in v0.3.4

type Validator interface {
	// Check 数据校验
	Check(featureDate string) error
}

Validator 验证接口

Jump to

Keyboard shortcuts

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