|
@@ -205,18 +205,9 @@ func GetChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *models.ChartEdbInfo
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 若不同频, 则需要将低频指标变为高频
|
|
|
- frequencyIntMap := map[string]int{
|
|
|
- "日度": 1, "周度": 2, "旬度": 3, "月度": 4, "季度": 5, "年度": 6,
|
|
|
- }
|
|
|
- baseEdbInfo := edbInfoMappingA
|
|
|
- changeEdbInfo := edbInfoMappingB
|
|
|
- if edbInfoMappingA.Frequency != edbInfoMappingB.Frequency {
|
|
|
- if frequencyIntMap[edbInfoMappingA.Frequency] >= frequencyIntMap[edbInfoMappingB.Frequency] {
|
|
|
- baseEdbInfo = edbInfoMappingB
|
|
|
- changeEdbInfo = edbInfoMappingA
|
|
|
- }
|
|
|
- }
|
|
|
+ // 2023-03-02 时间序列始终以指标B为基准, 始终是A进行平移
|
|
|
+ baseEdbInfo := edbInfoMappingB
|
|
|
+ changeEdbInfo := edbInfoMappingA
|
|
|
|
|
|
// 获取时间基准指标在时间区间内的值
|
|
|
baseDataList := make([]*models.EdbDataList, 0)
|
|
@@ -276,9 +267,6 @@ func GetChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *models.ChartEdbInfo
|
|
|
}
|
|
|
moveUnitDays := frequencyDaysMap[leadUnit]
|
|
|
|
|
|
- // 此处需注意, 图表代表的意思是A领先/滞后B指标的相关系数, 只是时间序列以高频的为基准
|
|
|
- // 所以需要判断高频指标是A还是B
|
|
|
- // 举例: 当高频指标为A时, 即B为变频, newChangeDataList为B的值, A领先B三天则mDays应为+3, 取B滞后三天的值与基准日期的时间相比较
|
|
|
for i := range xData {
|
|
|
if xData[i] == 0 {
|
|
|
yData = append(yData, zeroRatio)
|
|
@@ -287,12 +275,7 @@ func GetChartDataByEdbInfo(edbInfoMappingA, edbInfoMappingB *models.ChartEdbInfo
|
|
|
yCalculateData := make([]float64, 0)
|
|
|
|
|
|
// 判断是向前平移还是向后平移
|
|
|
- mDays := 0
|
|
|
- if baseEdbInfo.EdbInfoId == edbInfoMappingA.EdbInfoId {
|
|
|
- mDays = int(moveUnitDays) * -xData[i]
|
|
|
- } else {
|
|
|
- mDays = int(moveUnitDays) * xData[i]
|
|
|
- }
|
|
|
+ mDays := int(moveUnitDays) * xData[i]
|
|
|
_, dMap := MoveDataDaysToNewDataList(newChangeDataList, mDays)
|
|
|
|
|
|
// 取出对应的基准日期的值
|