yazhoubao 发表于 2017-12-9 10:26:59

建议在系统函数增加属性函数DFSymbol ()用于期货主力连续合约

DFSymbol () 意思就是data from symbol,数据来自于合约()。
实现的功能是主力连续合约的每个bar都知道来自哪个合约。
主要用于日线级别的趋势跟踪策略的历史回测。用版主老师说的检测持仓量的不连续性来解决,不能很好的实现,因为有时候有的品种主力合约一天的持仓量增减就远超前一天持仓量的10%,而没有换合约,要解决这个问题只能自己写主力合约代码,这样会在本地端引用大量数据浪费资源,而且大部分人是不会写的,既然贵公司有主力合约代码,只需在其中加入一个函数就行了。
以rb为例,
definty DFSymbol ()
……
if(rb1805的持仓量>(rb1801的持仓量*1.1))
{

     DFSymbol=rb1805;

}
现在rb888主力连续合约中,
Symbol()返回值为rb888,
SymbolName()返回值为螺纹钢连续,
SymbolType()为rb,
RelativeSymbol()返回值为rb1805,为当前的主力合约,这个功能类似,但是该函数只显示当前主力连续与主力合约的对应关系,不显示每个bar的对应关系,即现在所有bar都显示rb1805。
DFSymbol()功能:假设11月8日主力合约为rb1801,11月9日主力合约变为rb1805。那么在11月8日及以前这段主力合约为rb1801,则该段rb888的每个bar的DFSymbol()返回值为rb1801,11月9日及以后这段主力合约为rb1805,则该段rb888的每个bar的DFSymbol()返回值为rb1805。

seymourzxm 发表于 2020-2-9 14:01:47

我现在也有和你一模一样的需求,不知道TB最后解决了吗? 或者你找到其它方法来满足了?
页: [1]
查看完整版本: 建议在系统函数增加属性函数DFSymbol ()用于期货主力连续合约