|
@@ -42,6 +42,8 @@ public class IndicatorService {
|
|
|
public Map<String, List<IndicatorCalcPropertyDto>> getMultipleSecTrend(List<String> mainSecIdList, Map<String, String> secBenchmarkIdMap, List<String> indexIdList,
|
|
|
DateIntervalDto dateIntervalDto, BigDecimal fixedIncome, BigDecimal initValue, Frequency frequency,
|
|
|
List<TrendType> trendTypeV2List, Map<String, Frequency> secFreqMap, Map<String, List<DateValue>> allNavMap) {
|
|
|
+ // 实际频率时净值还是取日频的
|
|
|
+ Frequency navFrequency = frequency == null || frequency == Frequency.Default ? Frequency.Daily : frequency;
|
|
|
Map<String, List<IndicatorCalcPropertyDto>> indicatorCalcPropertyDtoListMap = new HashMap<>();
|
|
|
for (String mainSecId : mainSecIdList) {
|
|
|
String benchmarkId = secBenchmarkIdMap.get(mainSecId);
|
|
@@ -67,7 +69,7 @@ public class IndicatorService {
|
|
|
Frequency defaultFrequency = secFreqMap.getOrDefault(mainSecId, Frequency.Daily);
|
|
|
Frequency calcFrequency = frequency == null || frequency == Frequency.Default ? defaultFrequency : frequency;
|
|
|
|
|
|
- List<DateValue> validMainSecNavList = NavUtil.filterFrequencyNav(mainSecIdNavList, indexesTradeDateDoList, calcFrequency);
|
|
|
+ List<DateValue> validMainSecNavList = NavUtil.filterFrequencyNav(mainSecIdNavList, indexesTradeDateDoList, navFrequency);
|
|
|
secAllNavMap.put(mainSecId, validMainSecNavList);
|
|
|
|
|
|
List<IndicatorCalcTimeRangeDto> indicatorCalcTimeRangeDtoList = DateIntervalUtil.getIndicatorCalcTimeRangeDto(dateIntervalDto, validMainSecNavList, indexesTradeDateDoList
|
|
@@ -117,6 +119,9 @@ public class IndicatorService {
|
|
|
boolean needExtraRet = req.isNeedExtraRet();
|
|
|
boolean ifConvertPerformanceConsistencyWord = req.isIfConvertPerformanceConsistencyWord();
|
|
|
Map<String, List<IndicatorCalcPropertyDto>> indicatorCalcPropertyDtoListMap = new HashMap<>();
|
|
|
+
|
|
|
+ Frequency navFrequency = dataFrequency == null || dataFrequency == Frequency.Default ? Frequency.Daily : dataFrequency;
|
|
|
+
|
|
|
for (String mainSecId : mainSecIdList) {
|
|
|
|
|
|
String benchmarkId = secBenchmarkIdMap.get(mainSecId);
|
|
@@ -141,13 +146,12 @@ public class IndicatorService {
|
|
|
theLastNavDate = mainSecIdNavList.get(mainSecIdNavList.size() - 1).getDate();
|
|
|
}
|
|
|
List<IndexesTradeDateDo> indexesTradeDateDoList = TradeDateUtil.listInfoByDateInterval(theFirstNavDate, theLastNavDate);
|
|
|
+ List<DateValue> validMainSecNavList = NavUtil.filterFrequencyNav(mainSecIdNavList, indexesTradeDateDoList, navFrequency);
|
|
|
+ secAllNavMap.put(mainSecId, validMainSecNavList);
|
|
|
|
|
|
Frequency defaultFrequency = secFreqMap.getOrDefault(mainSecId, Frequency.Daily);
|
|
|
Frequency calcFrequency = dataFrequency == null || dataFrequency == Frequency.Default ? defaultFrequency : dataFrequency;
|
|
|
|
|
|
- List<DateValue> validMainSecNavList = NavUtil.filterFrequencyNav(mainSecIdNavList, indexesTradeDateDoList, calcFrequency);
|
|
|
- secAllNavMap.put(mainSecId, validMainSecNavList);
|
|
|
-
|
|
|
List<DateIntervalDto> dateIntervalDtoList = new ArrayList<>();
|
|
|
if (secDateIntervalDtoListMap != null && secDateIntervalDtoListMap.get(mainSecId) != null) {
|
|
|
dateIntervalDtoList = secDateIntervalDtoListMap.get(mainSecId);
|