Fetch the repository succeeded.
package sample
import (
"gitee.com/quant1x/num"
"gitee.com/quant1x/pandas"
. "gitee.com/quant1x/pandas/formula"
)
// ConfidenceInterval 置信区间(Confidence Interval, CI)
//
// df必须要用一个字段为N, 作为时间序列
func ConfidenceInterval(df pandas.DataFrame, argv ...int) pandas.DataFrame {
var (
LEN = df.Nrow()
CLOSE = df.ColAsNDArray("close")
HIGH = df.ColAsNDArray("high")
LOW = df.ColAsNDArray("low")
N = df.ColAsNDArray("N").DTypes()
CI = 0.9500 // 95%的置信区间
)
if len(argv) > 0 {
__n := argv[0]
N = num.Repeat[num.DType](num.DType(__n), LEN)
}
mid := MA(CLOSE, N)
variance := STD(CLOSE, N)
Z := num.ConfidenceIntervalToZscore(CI)
sd := variance.Mul(Z)
UP := mid.Add(sd)
LOWER := mid.Sub(sd)
B := LOW.Gt(LOWER).And(HIGH.Lt(UP))
df = pandas.NewDataFrame(df.Col("date"))
ob := pandas.NewSeriesWithType(pandas.SERIES_TYPE_BOOL, "cib", B)
df = df.Join(ob)
return df
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。