diff --git a/Algorithm/QCAlgorithm.Indicators.cs b/Algorithm/QCAlgorithm.Indicators.cs
index 5a3b41179413..00d605aa9ded 100644
--- a/Algorithm/QCAlgorithm.Indicators.cs
+++ b/Algorithm/QCAlgorithm.Indicators.cs
@@ -2811,6 +2811,24 @@ public ZeroLagExponentialMovingAverage ZLEMA(Symbol symbol, int period, Resoluti
return zeroLagExponentialMovingAverage;
}
+ ///
+ /// Creates a ZigZag indicator for the specified symbol, with adjustable sensitivity and minimum trend length.
+ ///
+ /// The symbol for which to create the ZigZag indicator.
+ /// The sensitivity for detecting pivots.
+ /// The minimum number of bars required for a trend before a pivot is confirmed.
+ /// The resolution
+ /// Selects a value from the BaseData to send into the indicator, if null defaults to the Value property of BaseData (x => x.Value)
+ /// The configured ZigZag indicator.
+ [DocumentationAttribute(Indicators)]
+ public ZigZag ZZ(Symbol symbol, decimal sensitivity = 0.05m, int minTrendLength = 1, Resolution? resolution = null, Func selector = null)
+ {
+ var name = CreateIndicatorName(symbol, $"ZZ({sensitivity},{minTrendLength})", resolution);
+ var zigZag = new ZigZag(name, sensitivity, minTrendLength);
+ InitializeIndicator(zigZag, resolution, selector, symbol);
+ return zigZag;
+ }
+
///
/// Creates a new name for an indicator created with the convenience functions (SMA, EMA, ect...)
///
diff --git a/Indicators/ZigZag.cs b/Indicators/ZigZag.cs
new file mode 100644
index 000000000000..b8e2562bf082
--- /dev/null
+++ b/Indicators/ZigZag.cs
@@ -0,0 +1,208 @@
+/*
+ * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
+ * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+using System;
+using QuantConnect.Data;
+using QuantConnect.Data.Market;
+
+namespace QuantConnect.Indicators
+{
+ ///
+ /// The ZigZag indicator identifies significant turning points in price movements,
+ /// filtering out noise using a sensitivity threshold and a minimum trend length.
+ /// It alternates between high and low pivots to determine market trends.
+ ///
+ public class ZigZag : BarIndicator, IIndicatorWarmUpPeriodProvider
+ {
+ ///
+ /// The most recent pivot point, represented as a bar of market data.
+ /// Used as a reference for calculating subsequent pivots.
+ ///
+ private IBaseDataBar _lastPivot;
+
+ ///
+ /// The minimum number of bars required to confirm a valid trend.
+ /// Ensures that minor fluctuations in price do not create false pivots.
+ ///
+ private readonly int _minTrendLength;
+
+ ///
+ /// The sensitivity threshold for detecting significant price movements.
+ /// A decimal value between 0 and 1 that determines the percentage change required
+ /// to recognize a new pivot.
+ ///
+ private readonly decimal _sensitivity;
+
+ ///
+ /// A counter to track the number of bars since the last pivot was identified.
+ /// Used to enforce the minimum trend length requirement.
+ ///
+ private int _count;
+
+ ///
+ /// Tracks whether the most recent pivot was a low pivot.
+ /// Used to alternate between identifying high and low pivots.
+ ///
+ private bool _lastPivotWasLow;
+
+ ///
+ /// Stores the most recent high pivot value in the ZigZag calculation.
+ /// Updated whenever a valid high pivot is identified.
+ ///
+ public IndicatorBase HighPivot { get; }
+
+ ///
+ /// Stores the most recent low pivot value in the ZigZag calculation.
+ /// Updated whenever a valid low pivot is identified.
+ ///
+ public IndicatorBase LowPivot { get; }
+
+ ///
+ /// Represents the current type of pivot (High or Low) in the ZigZag calculation.
+ /// The value is updated based on the most recent pivot identified:
+ ///
+ public PivotPointType PivotType { get; private set; }
+
+ ///
+ /// Initializes a new instance of the class with the specified parameters.
+ ///
+ /// The name of the indicator.
+ /// The sensitivity threshold as a decimal value between 0 and 1.
+ /// The minimum number of bars required to form a valid trend.
+ public ZigZag(string name, decimal sensitivity = 0.05m, int minTrendLength = 1) : base(name)
+ {
+ if (sensitivity <= 0 || sensitivity >= 1)
+ {
+ throw new ArgumentException("Sensitivity must be between 0 and 1.", nameof(sensitivity));
+ }
+
+ if (minTrendLength < 1)
+ {
+ throw new ArgumentException("Minimum trend length must be greater than 0.", nameof(minTrendLength));
+ }
+ HighPivot = new Identity(name + "_HighPivot");
+ LowPivot = new Identity(name + "_LowPivot");
+ _sensitivity = sensitivity;
+ _minTrendLength = minTrendLength;
+ PivotType = PivotPointType.Low;
+ }
+
+ ///
+ /// Initializes a new instance of the class using default parameters.
+ ///
+ /// The sensitivity threshold as a decimal value between 0 and 1.
+ /// The minimum number of bars required to form a valid trend.
+ public ZigZag(decimal sensitivity = 0.05m, int minTrendLength = 1)
+ : this($"ZZ({sensitivity},{minTrendLength})", sensitivity, minTrendLength)
+ {
+ }
+
+ ///
+ /// Indicates whether the indicator has enough data to produce meaningful output.
+ /// The indicator is considered "ready" when the number of samples exceeds the minimum trend length.
+ ///
+ public override bool IsReady => Samples > _minTrendLength;
+
+ ///
+ /// Gets the number of periods required for the indicator to warm up.
+ /// This is equal to the minimum trend length plus one additional bar for initialization.
+ ///
+ public int WarmUpPeriod => _minTrendLength + 1;
+
+ ///
+ /// Computes the next value of the ZigZag indicator based on the input bar.
+ /// Determines whether the input bar forms a new pivot or updates the current trend.
+ ///
+ /// The current bar of market data used for the calculation.
+ ///
+ /// The value of the most recent pivot, either a high or low, depending on the current trend.
+ ///
+ protected override decimal ComputeNextValue(IBaseDataBar input)
+ {
+ if (_lastPivot == null)
+ {
+ UpdatePivot(input, true);
+ return decimal.Zero;
+ }
+
+ var currentPivot = _lastPivotWasLow ? _lastPivot.Low : _lastPivot.High;
+
+ if (_lastPivotWasLow)
+ {
+ if (input.High >= _lastPivot.Low * (1m + _sensitivity) && _count >= _minTrendLength)
+ {
+ UpdatePivot(input, false);
+ currentPivot = HighPivot;
+ }
+ else if (input.Low <= _lastPivot.Low)
+ {
+ UpdatePivot(input, true);
+ currentPivot = LowPivot;
+ }
+ }
+ else
+ {
+ if (input.Low <= _lastPivot.High * (1m - _sensitivity) && _count >= _minTrendLength)
+ {
+ UpdatePivot(input, true);
+ currentPivot = LowPivot;
+ }
+ else if (input.High >= _lastPivot.High)
+ {
+ UpdatePivot(input, false);
+ currentPivot = HighPivot;
+ }
+ }
+ _count++;
+ return currentPivot;
+ }
+
+ ///
+ /// Updates the pivot point based on the given input bar.
+ /// If a change in trend is detected, the pivot type is switched and the corresponding pivot (high or low) is updated.
+ ///
+ /// The current bar of market data used for the update.
+ /// Indicates whether the trend has reversed.
+ private void UpdatePivot(IBaseDataBar input, bool pivotDirection)
+ {
+ _lastPivot = input;
+ _count = 0;
+ if (_lastPivotWasLow == pivotDirection)
+ {
+ //Update previous pivot
+ (_lastPivotWasLow ? LowPivot : HighPivot).Update(input.EndTime, _lastPivotWasLow ? input.Low : input.High);
+ }
+ else
+ {
+ //Create new pivot
+ (_lastPivotWasLow ? HighPivot : LowPivot).Update(input.EndTime, _lastPivotWasLow ? input.High : input.Low);
+ PivotType = _lastPivotWasLow ? PivotPointType.High : PivotPointType.Low;
+ }
+ _lastPivotWasLow = pivotDirection;
+ }
+
+ ///
+ /// Resets this indicator to its initial state
+ ///
+ public override void Reset()
+ {
+ _lastPivot = null;
+ PivotType = PivotPointType.Low;
+ HighPivot.Reset();
+ LowPivot.Reset();
+ base.Reset();
+ }
+ }
+}
diff --git a/Tests/Indicators/ZigZagTests.cs b/Tests/Indicators/ZigZagTests.cs
new file mode 100644
index 000000000000..45a11e2b69d0
--- /dev/null
+++ b/Tests/Indicators/ZigZagTests.cs
@@ -0,0 +1,77 @@
+/*
+ * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
+ * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+using System;
+using NUnit.Framework;
+using QuantConnect.Data.Market;
+using QuantConnect.Indicators;
+
+namespace QuantConnect.Tests.Indicators
+{
+ [TestFixture]
+ public class ZigZagTests : CommonIndicatorTests
+ {
+ protected override IndicatorBase CreateIndicator()
+ {
+ return new ZigZag("ZigZag", 0.05m, 10);
+ }
+ protected override string TestFileName => "spy_zigzag.csv";
+
+ protected override string TestColumnName => "zigzag";
+
+ [Test]
+ public void HighPivotShouldBeZeroWhenAllValuesAreEqual()
+ {
+ var zigzag = new ZigZag("ZigZag", 0.05m, 5);
+ var date = new DateTime(2024, 12, 2, 12, 0, 0);
+
+ for (int i = 0; i < 10; i++)
+ {
+ var data = new TradeBar
+ {
+ Symbol = Symbol.Empty,
+ Time = date,
+ Open = 5,
+ Low = 5,
+ High = 5,
+ };
+ zigzag.Update(data);
+ }
+ Assert.AreEqual(0m, zigzag.HighPivot.Current.Value);
+ }
+
+ [Test]
+ public void LowPivotReflectsInputWhenValuesAreEqual()
+ {
+ var zigzag = new ZigZag("ZigZag", 0.05m, 5);
+ var date = new DateTime(2024, 12, 2, 12, 0, 0);
+ var value = 5m;
+
+ for (int i = 0; i < 10; i++)
+ {
+ var data = new TradeBar
+ {
+ Symbol = Symbol.Empty,
+ Time = date,
+ Open = value,
+ Low = value,
+ High = value,
+ };
+ zigzag.Update(data);
+ }
+ Assert.AreEqual(value, zigzag.LowPivot.Current.Value);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Tests/QuantConnect.Tests.csproj b/Tests/QuantConnect.Tests.csproj
index c18980710c7a..04d86fb0a8e3 100644
--- a/Tests/QuantConnect.Tests.csproj
+++ b/Tests/QuantConnect.Tests.csproj
@@ -626,6 +626,9 @@
PreserveNewest
+
+ PreserveNewest
+
diff --git a/Tests/TestData/spy_zigzag.csv b/Tests/TestData/spy_zigzag.csv
new file mode 100644
index 000000000000..10e9c3925c56
--- /dev/null
+++ b/Tests/TestData/spy_zigzag.csv
@@ -0,0 +1,501 @@
+date,open,high,low,close,volume,zigzag,type
+19980102 00:00,973100,975300,965300,973600,2150000,,
+19980105 00:00,978400,984400,967800,977500,4030800,,
+19980106 00:00,972500,972800,961900,966300,2821800,,
+19980107 00:00,960900,965000,952200,964700,5225400,,
+19980108 00:00,963100,963100,955000,957800,3249100,,
+19980109 00:00,952500,955000,919100,924700,10000200,,
+19980112 00:00,911300,941900,909100,940600,11953200,909100,Low
+19980113 00:00,946300,956300,942200,952200,5006400,,
+19980114 00:00,956900,959700,947200,958100,3738000,,
+19980115 00:00,955000,957500,948100,949400,2726400,,
+19980116 00:00,962500,966900,956600,962300,4185400,,
+19980120 00:00,966900,980000,965000,980000,4373400,,
+19980121 00:00,972200,976900,961600,971600,4526300,,
+19980122 00:00,961600,968800,958800,963000,4484300,,
+19980123 00:00,965000,967800,950000,956600,6231300,,
+19980126 00:00,963800,967300,937500,957500,4280800,,
+19980127 00:00,958100,980000,956600,970000,6639000,,
+19980128 00:00,974100,981100,971700,978800,4089900,,
+19980129 00:00,978400,995600,975600,987500,7706300,,
+19980130 00:00,987800,989700,980000,983100,3333000,,
+19980202 00:00,999100,1005000,997500,1002500,5587200,,
+19980203 00:00,1000000,1008100,997200,1006900,2656800,,
+19980204 00:00,1002800,1011600,998800,1005900,3283800,,
+19980205 00:00,1013100,1015900,1000300,1003800,4970800,,
+19980206 00:00,1010000,1015000,1006900,1012800,5531800,,
+19980209 00:00,1017200,1017500,1007200,1011400,2277100,,
+19980210 00:00,1014400,1024700,1011900,1020500,3624500,,
+19980211 00:00,1020900,1031900,1017000,1021300,4020500,,
+19980212 00:00,1017200,1029400,1008800,1026600,5102800,,
+19980213 00:00,1021900,1029400,1018800,1021600,1889500,,
+19980217 00:00,1028100,1030900,1021600,1023400,2945300,,
+19980218 00:00,1023100,1034700,1022800,1034100,2919600,,
+19980219 00:00,1032500,1034100,1027500,1030000,3330600,,
+19980220 00:00,1030800,1037500,1023800,1035600,3594700,,
+19980223 00:00,1042500,1042500,1033400,1040000,3131700,,
+19980224 00:00,1039100,1040900,1029400,1031900,3241700,,
+19980225 00:00,1037500,1048800,1036300,1044800,3348400,,
+19980226 00:00,1044400,1051600,1041900,1050600,3604100,,
+19980227 00:00,1049700,1055300,1043100,1052000,3335400,,
+19980302 00:00,1052500,1057500,1046300,1048100,4126000,,
+19980303 00:00,1045300,1054700,1045000,1054100,3177500,,
+19980304 00:00,1050900,1054100,1040600,1049700,4395900,,
+19980305 00:00,1035000,1044400,1031600,1037500,7153500,,
+19980306 00:00,1045600,1058800,1044400,1057500,6702600,,
+19980309 00:00,1055300,1062200,1052500,1054400,3282800,,
+19980310 00:00,1062200,1068400,1053800,1066600,5582900,,
+19980311 00:00,1069700,1073100,1067300,1072500,3426500,,
+19980312 00:00,1070900,1075900,1065000,1072500,3057400,,
+19980313 00:00,1078400,1080000,1068800,1072200,2743800,,
+19980316 00:00,1078400,1082800,1075300,1082500,3073800,,
+19980317 00:00,1083100,1085000,1076600,1084700,4577900,,
+19980318 00:00,1082500,1089400,1080000,1087800,1820900,,
+19980319 00:00,1089700,1093800,1086600,1093400,2450000,,
+19980320 00:00,1095600,1101900,1088800,1100000,2828600,,
+19980323 00:00,1097200,1103100,1094100,1095000,4383400,,
+19980324 00:00,1100600,1108100,1099400,1105900,3293800,,
+19980325 00:00,1114100,1115300,1091900,1101900,4484900,,
+19980326 00:00,1098800,1107500,1096300,1101300,3319600,,
+19980327 00:00,1107500,1107800,1090000,1095300,2512200,,
+19980330 00:00,1096300,1100900,1089700,1093400,2776500,,
+19980331 00:00,1101600,1111900,1097500,1100900,5726500,,
+19980401 00:00,1103100,1110800,1094100,1109800,2828500,,
+19980402 00:00,1109400,1122500,1107500,1120300,3947500,,
+19980403 00:00,1123400,1128100,1118400,1121900,3726100,,
+19980406 00:00,1132500,1133800,1120600,1122500,4029500,,
+19980407 00:00,1117500,1119400,1101600,1110000,5200100,,
+19980408 00:00,1112200,1112800,1097500,1101300,4762900,,
+19980409 00:00,1105600,1112800,1105300,1110000,4367800,,
+19980413 00:00,1113800,1113800,1100000,1110000,4216000,,
+19980414 00:00,1111300,1117200,1109100,1116900,3219500,,
+19980415 00:00,1119700,1121300,1111600,1120200,3811700,,
+19980416 00:00,1113100,1115000,1105000,1109100,7242500,,
+19980417 00:00,1107200,1124100,1104400,1122200,5414800,,
+19980420 00:00,1120000,1125600,1118800,1124100,3606300,,
+19980421 00:00,1124400,1131600,1119100,1126300,4573300,,
+19980422 00:00,1128800,1134400,1128100,1130000,2288400,1134400,High
+19980423 00:00,1126300,1130000,1117500,1120900,4848500,,
+19980424 00:00,1117500,1124700,1103400,1108800,11129100,,
+19980427 00:00,1093800,1106600,1076300,1085900,14372900,,
+19980428 00:00,1097800,1098100,1081300,1086300,6213200,,
+19980429 00:00,1090300,1099700,1084400,1095300,7582100,,
+19980430 00:00,1105600,1119200,1104100,1114400,8226200,,
+19980501 00:00,1117500,1123100,1113100,1121900,3768600,,
+19980504 00:00,1127200,1133100,1121600,1122500,4332900,,
+19980505 00:00,1120000,1121600,1111300,1116600,4969800,,
+19980506 00:00,1121300,1121300,1104700,1105000,5221600,,
+19980507 00:00,1105000,1105600,1094100,1095900,6769900,,
+19980508 00:00,1100000,1113800,1100000,1110000,7888200,,
+19980511 00:00,1115600,1122200,1103800,1108600,6219300,,
+19980512 00:00,1108100,1118800,1102500,1116400,5983800,,
+19980513 00:00,1120600,1125600,1115900,1120600,4355500,,
+19980514 00:00,1115300,1126900,1113400,1119700,4229300,,
+19980515 00:00,1120000,1122200,1108100,1110000,6807000,,
+19980518 00:00,1107200,1115900,1098300,1108400,4751100,,
+19980519 00:00,1110000,1116900,1107800,1110600,5877900,,
+19980520 00:00,1120900,1125000,1108800,1122800,5775400,,
+19980521 00:00,1123800,1127800,1113100,1116900,6427100,,
+19980522 00:00,1117500,1120600,1109400,1111600,4659700,,
+19980526 00:00,1120900,1120900,1094400,1095300,6262300,,
+19980527 00:00,1093100,1099100,1075800,1096300,10286000,1075800,Low
+19980528 00:00,1098800,1103800,1087300,1100000,4778900,,
+19980529 00:00,1106300,1108100,1093800,1093800,4583900,,
+19980601 00:00,1089700,1102200,1085600,1095000,5829200,,
+19980602 00:00,1100000,1103400,1091600,1095900,6477900,,
+19980603 00:00,1098800,1101900,1082200,1085000,6262700,,
+19980604 00:00,1082500,1100600,1080600,1099100,6317300,,
+19980605 00:00,1103800,1118800,1098800,1118100,8140300,,
+19980608 00:00,1119400,1124700,1116600,1118800,4056700,,
+19980609 00:00,1117200,1124200,1114100,1122800,2680400,,
+19980610 00:00,1116300,1130600,1112500,1113800,6336300,,
+19980611 00:00,1114400,1118800,1092800,1096600,7897100,,
+19980612 00:00,1098800,1104400,1082500,1102500,9700700,,
+19980615 00:00,1088100,1099100,1078800,1080000,9754800,,
+19980616 00:00,1084100,1091600,1077500,1090600,7245000,,
+19980617 00:00,1101600,1117800,1099400,1112500,11964800,,
+19980618 00:00,1111900,1114400,1107500,1111600,3749600,,
+19980619 00:00,1110600,1112300,1096300,1100300,3538200,,
+19980622 00:00,1102500,1110600,1100600,1103800,5357100,,
+19980623 00:00,1110900,1121900,1110000,1119700,5205600,,
+19980624 00:00,1121600,1136900,1116100,1134700,8222700,,
+19980625 00:00,1139100,1144700,1128100,1130000,5837700,,
+19980626 00:00,1133100,1138400,1131300,1134100,4753900,,
+19980629 00:00,1142500,1146900,1138000,1138900,6537200,,
+19980630 00:00,1139100,1141900,1130600,1133600,4126100,,
+19980701 00:00,1140600,1149400,1136300,1149400,3241200,,
+19980702 00:00,1147200,1148800,1142500,1146300,3432900,,
+19980706 00:00,1147800,1158400,1145600,1157800,3042100,,
+19980707 00:00,1159800,1161300,1152800,1155600,4847300,,
+19980708 00:00,1158800,1169400,1157500,1168100,6773100,,
+19980709 00:00,1162800,1167200,1156300,1160000,7258600,,
+19980710 00:00,1160300,1169100,1150600,1165300,7739800,,
+19980713 00:00,1165600,1168400,1160600,1167500,6846100,,
+19980714 00:00,1169400,1181600,1169400,1178100,7119900,,
+19980715 00:00,1180600,1182800,1174400,1175600,4908000,,
+19980716 00:00,1176900,1185900,1170600,1184400,6239600,,
+19980717 00:00,1186300,1190000,1183100,1187500,3478600,,
+19980720 00:00,1187500,1192300,1179400,1185000,2238300,,
+19980721 00:00,1190000,1190000,1162800,1165300,5107200,,
+19980722 00:00,1163400,1195900,1155300,1166300,10611500,1195900,High
+19980723 00:00,1163100,1168400,1138800,1141900,14881000,,
+19980724 00:00,1149700,1150900,1128800,1141600,11706000,,
+19980727 00:00,1136300,1150000,1128400,1149800,9360300,,
+19980728 00:00,1144400,1146600,1118800,1133100,13422500,,
+19980729 00:00,1137200,1141300,1122500,1126600,6932100,,
+19980730 00:00,1136300,1145900,1134100,1143400,6617400,,
+19980731 00:00,1143400,1145000,1113100,1120600,7679600,,
+19980803 00:00,1117800,1124200,1110300,1113800,10349100,,
+19980804 00:00,1122200,1122200,1072500,1076100,14468800,,
+19980805 00:00,1079400,1088800,1055900,1081600,21457200,,
+19980806 00:00,1081300,1095200,1075600,1090900,13163000,,
+19980807 00:00,1096900,1105900,1084700,1090300,11718400,,
+19980810 00:00,1087500,1096600,1081900,1085900,6055400,,
+19980811 00:00,1067800,1074400,1055000,1070600,14385600,,
+19980812 00:00,1077500,1088100,1075000,1085000,10997500,,
+19980813 00:00,1088100,1096600,1076300,1076400,8529600,,
+19980814 00:00,1083400,1087200,1057800,1064800,7995800,,
+19980817 00:00,1060000,1089400,1055000,1085000,11035000,,
+19980818 00:00,1090000,1105900,1087800,1102500,7245000,,
+19980819 00:00,1110900,1110900,1096300,1100000,6054300,,
+19980820 00:00,1096900,1104100,1091600,1092500,7590600,,
+19980821 00:00,1081900,1087200,1055000,1083800,16427600,,
+19980824 00:00,1092500,1099400,1083100,1090600,7902200,,
+19980825 00:00,1103800,1112500,1086400,1095000,9623400,,
+19980826 00:00,1082800,1096300,1077500,1085000,9090300,,
+19980827 00:00,1070000,1078400,1038900,1042500,24042400,,
+19980828 00:00,1049700,1057200,1021600,1030000,23196400,,
+19980831 00:00,1037500,1040200,950000,962500,22799800,,
+19980901 00:00,960600,1005600,936300,996900,24391500,936300,Low
+19980902 00:00,998100,1017500,987800,990000,13984400,,
+19980903 00:00,976300,993800,966900,985200,16873300,,
+19980904 00:00,994400,998100,957800,976300,16414800,,
+19980908 00:00,1008800,1029700,998100,1025900,14307900,,
+19980909 00:00,1027500,1031300,1004800,1007500,12026000,,
+19980910 00:00,984400,993400,968100,982500,19666100,,
+19980911 00:00,981900,1015000,970000,1012500,20203300,,
+19980914 00:00,1028800,1044500,1020900,1031600,10318300,,
+19980915 00:00,1028800,1043100,1022800,1042000,8166200,,
+19980916 00:00,1047500,1052500,1031600,1050000,11125300,,
+19980917 00:00,1022500,1030300,1017800,1022300,12549700,,
+19980918 00:00,1023800,1024100,1010900,1019700,6667900,,
+19980921 00:00,996300,1034100,989400,1021900,8552400,,
+19980922 00:00,1035000,1036600,1021600,1030000,7070200,,
+19980923 00:00,1038800,1070000,1037800,1066300,12804500,1070000,High
+19980924 00:00,1063100,1068100,1032500,1043800,10809300,,
+19980925 00:00,1031300,1054200,1026300,1043000,10051500,,
+19980928 00:00,1053100,1063100,1042500,1049100,8368600,,
+19980929 00:00,1053800,1059400,1033800,1049400,10488400,,
+19980930 00:00,1035000,1043100,1013800,1018400,7537300,,
+19981001 00:00,1000300,1015500,980900,986300,12833400,,
+19981002 00:00,988800,1008800,972200,1003100,14014100,,
+19981005 00:00,995900,1000000,963400,990000,12408900,,
+19981006 00:00,1007500,1012800,975300,985300,12216900,,
+19981007 00:00,986300,1000300,957500,972200,13942400,,
+19981008 00:00,945600,967500,922200,962200,20019400,922200,Low
+19981009 00:00,970000,995600,940600,986300,11865900,,
+19981012 00:00,1006300,1014400,996900,997800,9127600,,
+19981013 00:00,995600,1004100,987500,995300,5916200,,
+19981014 00:00,989400,1018100,988400,1005000,8056200,,
+19981015 00:00,1001300,1072500,999400,1050300,19735400,,
+19981016 00:00,1061300,1067500,1050000,1056600,16305900,,
+19981019 00:00,1056900,1068100,1055000,1063400,7627400,,
+19981020 00:00,1075600,1088000,1060900,1065000,14236900,,
+19981021 00:00,1068800,1076300,1058800,1071300,8997900,,
+19981022 00:00,1067800,1084700,1061600,1080000,8012900,,
+19981023 00:00,1079700,1080000,1067800,1071300,6188800,,
+19981026 00:00,1077200,1085600,1067800,1075500,5654900,,
+19981027 00:00,1084400,1089700,1062800,1066300,9865800,,
+19981028 00:00,1065600,1078100,1060300,1067800,5499700,,
+19981029 00:00,1070900,1089700,1066300,1089700,8847200,,
+19981030 00:00,1101300,1109100,1095000,1100000,9498800,,
+19981102 00:00,1108100,1117500,1101900,1114800,6351000,,
+19981103 00:00,1115900,1118100,1107500,1111300,6573900,,
+19981104 00:00,1124700,1130900,1110900,1118400,7788100,,
+19981105 00:00,1115300,1138100,1111300,1137300,6686200,,
+19981106 00:00,1134700,1145000,1133100,1142800,5136100,,
+19981109 00:00,1139400,1142500,1125000,1131400,5908800,,
+19981110 00:00,1130000,1139400,1125000,1126900,9142100,,
+19981111 00:00,1138100,1140600,1118900,1123800,10735000,,
+19981112 00:00,1123100,1131300,1116900,1120300,5396300,,
+19981113 00:00,1122200,1130600,1121300,1127700,5531900,,
+19981116 00:00,1142200,1143600,1128900,1138400,5934200,,
+19981117 00:00,1136600,1156300,1130000,1143400,8944500,,
+19981118 00:00,1143100,1149400,1135000,1147500,4538000,,
+19981119 00:00,1152800,1159100,1146300,1155000,5115600,,
+19981120 00:00,1163600,1167500,1158400,1166300,5351500,,
+19981123 00:00,1174700,1192200,1171600,1191600,6442400,,
+19981124 00:00,1190000,1196600,1184500,1186900,5121600,,
+19981125 00:00,1189400,1191900,1181600,1188800,4268500,,
+19981127 00:00,1194700,1197200,1190000,1195000,4562000,,
+19981130 00:00,1190200,1193800,1166600,1166900,7991700,,
+19981201 00:00,1161300,1180300,1152200,1178100,8773600,,
+19981202 00:00,1172200,1179100,1160000,1175000,7322100,,
+19981203 00:00,1172500,1183100,1151900,1152800,11737800,,
+19981204 00:00,1166300,1188800,1155900,1179700,10616800,,
+19981207 00:00,1180600,1195300,1180000,1192500,4105700,,
+19981208 00:00,1185300,1197500,1175000,1184700,9996400,,
+19981209 00:00,1186900,1189700,1178800,1188100,5259600,,
+19981210 00:00,1188400,1188400,1167200,1168100,5844400,,
+19981211 00:00,1164400,1173400,1155600,1170600,8669100,,
+19981214 00:00,1161600,1164100,1139100,1144700,9276400,,
+19981215 00:00,1146900,1167500,1145300,1166300,9482100,,
+19981216 00:00,1171300,1171300,1157500,1164100,7183500,,
+19981217 00:00,1172200,1185600,1170200,1185000,6720200,,
+19981218 00:00,1183100,1191300,1178800,1190200,4027900,,
+19981221 00:00,1192500,1213400,1190000,1203100,8465700,,
+19981222 00:00,1204100,1212200,1191900,1205300,5581100,,
+19981223 00:00,1211900,1231900,1208100,1228100,7558200,,
+19981224 00:00,1231600,1238800,1222800,1226900,1557500,,
+19981228 00:00,1232500,1233100,1220000,1226300,4031000,,
+19981229 00:00,1227200,1244400,1221300,1243100,3747300,,
+19981230 00:00,1239400,1247500,1230300,1233800,6962800,,
+19981231 00:00,1233100,1239400,1224700,1228800,6480500,,
+19990104 00:00,1233800,1252200,1217200,1228800,9480700,,
+19990105 00:00,1229400,1248800,1229400,1244400,7840800,,
+19990106 00:00,1258100,1276300,1257500,1275000,7648500,,
+19990107 00:00,1263800,1272200,1257800,1269400,5364300,,
+19990108 00:00,1281900,1285000,1259700,1275000,6076900,1285000,High
+19990111 00:00,1276900,1276900,1252200,1262800,7455600,,
+19990112 00:00,1262200,1262200,1238100,1240000,7434300,,
+19990113 00:00,1204100,1251300,1203800,1233100,10563100,,
+19990114 00:00,1236300,1239100,1209100,1211600,11370000,,
+19990115 00:00,1223800,1247800,1220300,1243100,7757900,,
+19990119 00:00,1253000,1274700,1235000,1252800,6270400,,
+19990120 00:00,1260900,1279400,1250300,1256300,6222800,,
+19990121 00:00,1255800,1258400,1232200,1235900,6408000,,
+19990122 00:00,1221300,1238400,1217800,1225600,7249900,,
+19990125 00:00,1232800,1240000,1219100,1236300,5008100,,
+19990126 00:00,1241300,1257200,1236300,1255000,5893300,,
+19990127 00:00,1263800,1266300,1244100,1244700,7089500,,
+19990128 00:00,1252500,1269700,1251900,1266600,5763500,,
+19990129 00:00,1273400,1283000,1254100,1278800,5990400,,
+19990201 00:00,1286900,1286900,1270000,1270900,9098500,,
+19990202 00:00,1270800,1272200,1247700,1262800,9197400,,
+19990203 00:00,1256900,1279400,1256600,1271900,10155700,,
+19990204 00:00,1273800,1275000,1248100,1248400,6727600,,
+19990205 00:00,1256600,1256600,1232200,1240000,7444000,,
+19990208 00:00,1250900,1250900,1233400,1243800,8364900,,
+19990209 00:00,1243800,1245000,1215600,1218600,8502300,,
+19990210 00:00,1221300,1230000,1213300,1226900,6492100,,
+19990211 00:00,1230600,1256900,1225000,1256900,8880800,,
+19990212 00:00,1248100,1255000,1226300,1235000,10496300,,
+19990216 00:00,1247500,1256300,1233800,1243800,6590400,,
+19990217 00:00,1231900,1253600,1222500,1227500,7447000,,
+19990218 00:00,1231900,1243800,1222200,1239400,8844800,,
+19990219 00:00,1240000,1257500,1233800,1239400,5219200,,
+19990222 00:00,1244400,1277200,1242800,1276900,10212200,,
+19990223 00:00,1275900,1285000,1265900,1275000,7631500,,
+19990224 00:00,1278400,1288400,1254100,1254100,6777300,,
+19990225 00:00,1245300,1252800,1225900,1247500,11219400,,
+19990226 00:00,1247500,1248400,1228100,1239100,9233600,,
+19990301 00:00,1236600,1243100,1208800,1237800,7594300,1208800,Low
+19990302 00:00,1245000,1253100,1223100,1228100,9311200,,
+19990303 00:00,1230900,1235600,1217800,1231300,7558900,,
+19990304 00:00,1240600,1252300,1232700,1250000,7787300,,
+19990305 00:00,1275000,1281300,1259200,1278100,10091200,,
+19990308 00:00,1282800,1288000,1272500,1285200,4553000,,
+19990309 00:00,1281300,1299400,1274400,1282500,7703600,,
+19990310 00:00,1284700,1292200,1277800,1290300,3748200,,
+19990311 00:00,1296900,1311900,1288800,1302200,6543200,,
+19990312 00:00,1310000,1310300,1292200,1295300,4963300,,
+19990315 00:00,1299400,1311900,1295000,1311600,5257400,,
+19990316 00:00,1311300,1316600,1304700,1309800,4422900,,
+19990317 00:00,1306900,1309400,1296300,1302500,4380300,,
+19990318 00:00,1297800,1323400,1297500,1321600,3537400,,
+19990319 00:00,1323100,1326300,1298400,1300600,5265200,,
+19990322 00:00,1300600,1305900,1294200,1299100,4422000,,
+19990323 00:00,1293100,1296300,1257000,1264100,9302400,,
+19990324 00:00,1268400,1271600,1256300,1269400,5950500,,
+19990325 00:00,1280600,1292500,1277500,1291300,6432000,,
+19990326 00:00,1286300,1291300,1277200,1284700,5881500,,
+19990329 00:00,1291600,1314400,1291600,1312200,5395500,,
+19990330 00:00,1299400,1312200,1295600,1303400,5090200,,
+19990331 00:00,1311600,1316100,1284400,1286300,7029600,,
+19990401 00:00,1296900,1296900,1281300,1293800,7473900,,
+19990405 00:00,1309400,1323800,1302500,1323800,5533700,,
+19990406 00:00,1321900,1329800,1311600,1319400,5022000,,
+19990407 00:00,1326900,1333800,1313800,1328800,6056300,,
+19990408 00:00,1331900,1347800,1322800,1345300,5645500,,
+19990409 00:00,1344400,1356900,1335900,1348800,4132000,,
+19990412 00:00,1334700,1362500,1332200,1360600,7944600,,
+19990413 00:00,1362500,1364700,1340300,1351900,10581100,,
+19990414 00:00,1360600,1360600,1326900,1330300,11566600,,
+19990415 00:00,1334400,1335600,1310000,1326300,11010600,,
+19990416 00:00,1329100,1329100,1311900,1321300,6139800,,
+19990419 00:00,1326900,1345300,1283800,1289100,12557100,,
+19990420 00:00,1298100,1310300,1288800,1306300,8576400,,
+19990421 00:00,1310600,1337800,1257800,1336900,5330700,,
+19990422 00:00,1351300,1362500,1343900,1359700,6576600,,
+19990423 00:00,1358800,1367500,1350000,1357500,4218900,,
+19990426 00:00,1365000,1368100,1354700,1361300,3304000,,
+19990427 00:00,1371300,1375000,1358400,1365600,4907600,1375000,High
+19990428 00:00,1364400,1372500,1350000,1353400,5446900,,
+19990429 00:00,1355600,1360600,1338100,1345600,9593600,,
+19990430 00:00,1350900,1356300,1315000,1334700,10538700,,
+19990503 00:00,1334400,1357200,1330300,1356300,10658900,,
+19990504 00:00,1351300,1358100,1331300,1333100,10221800,,
+19990505 00:00,1339400,1350000,1318400,1349700,9747000,,
+19990506 00:00,1344400,1351300,1323800,1335000,13134000,,
+19990507 00:00,1345000,1349800,1334400,1346300,8344100,,
+19990510 00:00,1348400,1357200,1335300,1342200,5372100,,
+19990511 00:00,1353100,1368800,1257800,1357200,6679600,,
+19990512 00:00,1357500,1372200,1315000,1366300,15070800,,
+19990513 00:00,1372500,1380000,1368100,1370200,4174600,,
+19990514 00:00,1345600,1362500,1333100,1343000,8210400,,
+19990517 00:00,1336300,1344800,1323100,1343100,6277500,,
+19990518 00:00,1345300,1349800,1326300,1336300,8114700,,
+19990519 00:00,1344700,1348800,1332500,1348100,4273700,,
+19990520 00:00,1351300,1355900,1300600,1343100,4349700,,
+19990521 00:00,1341300,1346900,1195800,1334200,6117400,1195800,Low
+19990524 00:00,1338400,1338400,1303900,1310900,7687100,,
+19990525 00:00,1313800,1323400,1286900,1288400,9523800,,
+19990526 00:00,1293100,1310000,1280900,1306600,12776900,,
+19990527 00:00,1298400,1302800,1280000,1284400,13998900,,
+19990528 00:00,1290000,1307500,1285900,1305900,8348100,,
+19990601 00:00,1301300,1301600,1283800,1298800,6391500,,
+19990602 00:00,1297500,1301900,1206300,1297800,6812100,,
+19990603 00:00,1306900,1309100,1297800,1302800,5933500,,
+19990604 00:00,1314700,1331900,1309400,1319400,9507800,,
+19990607 00:00,1334400,1341900,1329100,1337500,5078600,,
+19990608 00:00,1333800,1338000,1315900,1321600,5000500,,
+19990609 00:00,1324100,1330900,1318100,1321600,7428700,,
+19990610 00:00,1314400,1315000,1295900,1309100,6785900,,
+19990611 00:00,1312200,1322200,1290900,1298100,12587100,,
+19990614 00:00,1306900,1307500,1295500,1297800,6542000,,
+19990615 00:00,1304700,1316600,1300800,1305900,5438900,,
+19990616 00:00,1323800,1338800,1321600,1334800,7562200,,
+19990617 00:00,1328800,1355600,1326300,1346600,8476400,,
+19990618 00:00,1340600,1346900,1333800,1343100,2601000,,
+19990621 00:00,1344700,1350000,1336600,1349400,4452000,,
+19990622 00:00,1340000,1351900,1333400,1337000,5603600,,
+19990623 00:00,1330000,1336300,1321300,1332800,9474700,,
+19990624 00:00,1328800,1338100,1306600,1316900,9029400,,
+19990625 00:00,1325900,1330200,1312500,1316600,3966300,,
+19990628 00:00,1326900,1336300,1324700,1333800,5175700,,
+19990629 00:00,1330000,1351300,1327800,1351300,6514400,,
+19990630 00:00,1346300,1375000,1338400,1367500,16362400,,
+19990701 00:00,1370000,1385000,1360600,1380600,9586200,,
+19990702 00:00,1381300,1393000,1379100,1391900,3637300,,
+19990706 00:00,1392500,1407500,1385900,1387200,10954800,,
+19990707 00:00,1390600,1397200,1385200,1395600,3052600,,
+19990708 00:00,1390600,1406300,1387500,1395600,7133500,,
+19990709 00:00,1400000,1404700,1393800,1402200,2770400,,
+19990712 00:00,1409400,1409400,1395000,1400600,4233900,,
+19990713 00:00,1393800,1399200,1386600,1395000,6359600,,
+19990714 00:00,1400000,1402200,1387500,1398400,4246900,,
+19990715 00:00,1407800,1488800,1403100,1411300,3236000,1488800,High
+19990716 00:00,1412500,1421600,1407500,1420000,2078000,,
+19990719 00:00,1421900,1422500,1405600,1410000,4029000,,
+19990720 00:00,1401300,1404100,1375300,1378000,6843600,,
+19990721 00:00,1380900,1389100,1370000,1378800,4599000,,
+19990722 00:00,1374400,1380000,1354700,1361400,7580400,,
+19990723 00:00,1366600,1370000,1351300,1357500,4432000,,
+19990726 00:00,1348800,1361300,1346300,1350000,4026700,,
+19990727 00:00,1360000,1372000,1353800,1365000,5722800,,
+19990728 00:00,1362500,1373100,1355900,1367300,3803200,,
+19990729 00:00,1349400,1352500,1333100,1343800,7638800,,
+19990730 00:00,1348100,1353400,1328800,1330900,5569700,,
+19990802 00:00,1327500,1347500,1325000,1329400,5783300,,
+19990803 00:00,1337200,1338400,1313800,1323600,5268700,,
+19990804 00:00,1327200,1338800,1305300,1306900,5986000,,
+19990805 00:00,1308800,1317200,1288400,1315600,9910600,,
+19990806 00:00,1312200,1320000,1295000,1300600,7129800,,
+19990809 00:00,1305900,1318000,1297200,1300500,5162600,,
+19990810 00:00,1298800,1301600,1270000,1282200,9971000,1270000,Low
+19990811 00:00,1296900,1305300,1286300,1305300,7796900,,
+19990812 00:00,1306900,1318100,1300000,1300200,6292100,,
+19990813 00:00,1316300,1332500,1311300,1331900,5609100,,
+19990816 00:00,1331300,1339700,1322500,1333800,3637600,,
+19990817 00:00,1344400,1351600,1331300,1347000,4708500,,
+19990818 00:00,1342000,1343800,1334100,1335600,4046500,,
+19990819 00:00,1323800,1332300,1316900,1328800,6345700,,
+19990820 00:00,1330600,1339100,1326900,1338800,3054700,,
+19990823 00:00,1348100,1364500,1346600,1363900,5284900,,
+19990824 00:00,1360600,1379700,1353800,1365000,9108100,,
+19990825 00:00,1371900,1387800,1279100,1384400,5894000,1387800,High
+19990826 00:00,1382800,1384200,1365000,1365000,4057900,,
+19990827 00:00,1368800,1370600,1351300,1351600,5935300,,
+19990830 00:00,1353400,1355000,1323900,1326600,4286300,,
+19990831 00:00,1329400,1337500,1307500,1325000,11968000,,
+19990901 00:00,1329400,1335600,1323100,1335600,6137800,,
+19990902 00:00,1321300,1326700,1306600,1322500,11370700,,
+19990903 00:00,1348800,1362800,1346900,1361900,9796800,,
+19990907 00:00,1360600,1366300,1342800,1355200,4507400,,
+19990908 00:00,1348400,1360600,1335000,1349100,6999800,,
+19990909 00:00,1347500,1352500,1336900,1351300,5950500,,
+19990910 00:00,1362500,1363600,1349400,1354500,2671700,,
+19990913 00:00,1351300,1354700,1345000,1348100,2130600,,
+19990914 00:00,1340600,1345600,1333800,1340600,3558700,,
+19990915 00:00,1354400,1354400,1320600,1320800,6522800,,
+19990916 00:00,1325000,1328100,1303100,1323800,15114200,,
+19990917 00:00,1326300,1339400,1321600,1337200,8371300,,
+19990920 00:00,1339400,1340000,1330900,1336300,2602800,,
+19990921 00:00,1322500,1324700,1301600,1309100,9018700,,
+19990922 00:00,1312500,1318400,1297500,1311600,12758600,,
+19990923 00:00,1318100,1342500,1237800,1280000,11455200,1237800,Low
+19990924 00:00,1277500,1283800,1263100,1280600,13686000,,
+19990927 00:00,1287500,1297500,1282800,1282800,6797200,,
+19990928 00:00,1279400,1288100,1255600,1281900,11184900,,
+19990929 00:00,1284400,1291300,1267800,1267800,7351000,,
+19990930 00:00,1274400,1294400,1269700,1283800,7185300,,
+19991001 00:00,1279400,1285600,1266300,1283400,10818900,,
+19991004 00:00,1291900,1306300,1287500,1306300,6202900,,
+19991005 00:00,1307200,1319700,1286900,1301900,11376700,,
+19991006 00:00,1307500,1328100,1306900,1326300,11399000,,
+19991007 00:00,1328600,1330000,1315000,1320000,5986000,,
+19991008 00:00,1317500,1338800,1312300,1337200,9560400,,
+19991011 00:00,1335900,1341300,1333100,1338100,3970800,,
+19991012 00:00,1331300,1333100,1311900,1314100,8223800,,
+19991013 00:00,1306900,1313100,1282500,1286600,10731100,,
+19991014 00:00,1284800,1291900,1267500,1284100,10461400,,
+19991015 00:00,1260000,1267500,1245000,1248100,14030700,,
+19991018 00:00,1249400,1257500,1234400,1255600,9088500,,
+19991019 00:00,1271900,1282500,1259400,1260800,17208700,,
+19991020 00:00,1277500,1292500,1271300,1292200,8467400,,
+19991021 00:00,1272200,1288800,1266300,1286300,9352900,,
+19991022 00:00,1297500,1312200,1295600,1303400,8087900,,
+19991025 00:00,1293100,1304700,1287500,1295000,7667400,,
+19991026 00:00,1301900,1306900,1281900,1282500,5696200,,
+19991027 00:00,1283800,1303100,1282500,1301300,5049600,,
+19991028 00:00,1324400,1345000,1321900,1345000,10053700,,
+19991029 00:00,1358400,1376900,1357200,1365600,10480000,,
+19991101 00:00,1365000,1370000,1356300,1359400,3631400,,
+19991102 00:00,1359700,1372500,1347500,1348100,5787700,,
+19991103 00:00,1360000,1363800,1351300,1356900,7310900,,
+19991104 00:00,1367500,1373600,1357700,1364700,7695600,,
+19991105 00:00,1386300,1391100,1367800,1372200,7618700,,
+19991108 00:00,1370000,1383800,1367500,1379400,4517900,,
+19991109 00:00,1385000,1386900,1362800,1367200,4361300,,
+19991110 00:00,1362500,1383900,1360800,1377500,6173600,,
+19991111 00:00,1381900,1385600,1374700,1383800,4724400,,
+19991112 00:00,1392500,1399700,1371300,1397500,15589200,,
+19991115 00:00,1398400,1402500,1394100,1398100,2101000,,
+19991116 00:00,1405600,1426300,1400900,1424400,7442900,,
+19991117 00:00,1422500,1429400,1413100,1415600,9129600,,
+19991118 00:00,1424400,1430000,1416300,1428100,11360400,,
+19991119 00:00,1424100,1429700,1420000,1425000,4641100,,
+19991122 00:00,1424400,1430000,1415000,1424700,4149600,,
+19991123 00:00,1428400,1428400,1400600,1408800,5948300,,
+19991124 00:00,1407500,1424400,1400000,1420600,4357200,,
+19991126 00:00,1424700,1428800,1412500,1414400,1694900,,
+19991129 00:00,1408800,1419200,1404400,1410000,7653200,,
+19991130 00:00,1407500,1423100,1390000,1392500,8403900,,
+19991201 00:00,1393100,1405000,1390000,1401300,6790400,,
+19991202 00:00,1406300,1413600,1403800,1411300,6706200,,
+19991203 00:00,1430300,1454100,1430300,1436900,9860300,,
+19991206 00:00,1435300,1437200,1422500,1427500,2950200,,
+19991207 00:00,1432800,1433100,1413800,1419400,10334900,,
+19991208 00:00,1413400,1420600,1406300,1406300,4357000,,
+19991209 00:00,1418100,1422200,1393800,1410000,6029100,,
+19991210 00:00,1422800,1428100,1408800,1420000,4698200,,
+19991213 00:00,1414400,1427200,1412800,1421300,3919800,,
+19991214 00:00,1416300,1424800,1406300,1408100,5625700,,
+19991215 00:00,1403800,1422000,1400000,1418000,6539200,,
+19991216 00:00,1421900,1426600,1411600,1423800,5503200,,
+19991217 00:00,1430000,1433100,1420600,1423800,4355000,,
+19991220 00:00,1425600,1431900,1410900,1416900,4888100,,
+19991221 00:00,1415900,1440600,1413400,1433400,7829500,,
+19991222 00:00,1436300,1441900,1429700,1437500,5250700,,
+19991223 00:00,1450200,1464400,1449700,1460900,5566200,,
+19991227 00:00,1465000,1467800,1450600,1458100,2602500,,
\ No newline at end of file