gitee.com/quant1x/engine@v1.8.4/cache/data.go (about) 1 package cache 2 3 import "context" 4 5 const ( 6 KBarIndex = "barIndex" 7 KLineMin = 120 // K线最少记录数 8 ) 9 10 // Schema 缓存的概要信息 11 type Schema interface { 12 // Kind 数据类型 13 Kind() Kind 14 // Owner 提供者 15 Owner() string 16 // Key 数据关键词, key与cache落地强关联 17 Key() string 18 // Name 特性名称 19 Name() string 20 // Usage 控制台参数提示信息, 数据描述(data description) 21 Usage() string 22 } 23 24 // Initialization 初始化接口 25 type Initialization interface { 26 // Init 初始化, 接受context, 日期作为入参 27 Init(ctx context.Context, date string) error 28 } 29 30 // Properties 属性接口 31 type Properties interface { 32 // GetDate 日期 33 GetDate() string 34 // GetSecurityCode 证券代码 35 GetSecurityCode() string 36 } 37 38 // Manifest 提要 39 type Manifest interface { 40 Schema 41 Properties 42 Initialization 43 } 44 45 // Validator 验证接口 46 type Validator interface { 47 // Check 数据校验 48 Check(featureDate string) error 49 } 50 51 // DataFile 基础数据文件接口 52 type DataFile interface { 53 // Checkout 捡出指定日期的缓存数据 54 Checkout(securityCode, date string) 55 // Filename 缓存文件名 56 // 接受两个参数 日期和证券代码 57 // 文件名为空不缓存 58 Filename(date, securityCode string) string 59 // Check 数据校验 60 Check(cacheDate, featureDate string) error 61 // Print 控制台输出指定日期的数据 62 //Print(code string, date ...string) 63 } 64 65 // Swift 快速接口 66 // 67 // securityCode 证券代码, 2位交易所缩写+6位数字代码, 例如sh600600, 代表上海市场的青岛啤酒 68 // cacheDate 缓存日期 69 // featureDate 特征数据的日期 70 type Swift interface { 71 } 72 73 // Future 预备数据的接口 74 type Future interface { 75 // Update 更新数据 76 // whole 是否完整的数据, false是加工成半成品数据, 为了配合Increase 77 Update(securityCode, cacheDate, featureDate string, whole bool) 78 // Repair 回补数据 79 Repair(securityCode, cacheDate, featureDate string, whole bool) 80 // Increase 增量计算, 用快照增量计算特征 81 //Increase(securityCode string, snapshot quotes.Snapshot) 82 //Assign(target *cachel5.CacheAdapter) bool // 赋值 83 } 84 85 // Operator 缓存操作接口 86 // 87 // 数据操作, 包含初始化和拉取两个接口 88 type Operator interface { 89 // Pull 拉取数据 90 Pull(date, securityCode string) Operator 91 }