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  }