diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4fc01dc..dac0982 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,6 +34,13 @@ jobs: python -m tiny_anomaly_lab --output ci_output test -f ci_output/report.html test -f ci_output/model_card.md + test -f ci_output/scores.csv + test -f ci_output/flagged_rows.csv + - name: Run the Mahalanobis detector demo + run: | + python -m tiny_anomaly_lab --detector mahalanobis --output ci_output_mah + test -f ci_output_mah/report.html + test -f ci_output_mah/flagged_rows.csv - name: Upload artifacts if: always() diff --git a/README.md b/README.md index 9be9af4..8fd0383 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ An explainable anomaly-detection workbench for small time-series datasets. It runs one leakage-safe experiment on bundled data and writes a reproducible interactive report. The lab shows feature pipelines, evaluation without leakage, -model cards and interactive visualization. +model cards, per-feature contributions and interactive visualization. ## Scope @@ -28,8 +28,9 @@ secret or network call is needed for the demo or for the tests. | `data.py` | Loads the bundled CSV and validates the schema. | | `features.py` | Builds causal rolling and lag features. | | `split.py` | Splits the feature frame by time only. | -| `models.py` | Holds the detector registry and the scorers. | +| `models.py` | Holds the detector registry, scorers and contributions. | | `evaluate.py` | Computes ranking and threshold metrics. | +| `export.py` | Writes scores and flagged rows to CSV. | | `model_card.py` | Renders a Markdown model card. | | `report.py` | Writes a self-contained Plotly HTML report. | | `experiment.py` | Runs one experiment from start to finish. | @@ -37,8 +38,8 @@ secret or network call is needed for the demo or for the tests. The experiment pulls these modules into one pipeline. The data step loads the CSV. The feature step adds causal rows. The split step cuts by time. The model -step fits the detector. The evaluate step scores and flags rows. The report step -writes the artifacts. +step fits the detector and the contribution method. The evaluate step scores +and flags rows. The report and export steps write the artifacts. ## Leakage-safety model @@ -87,22 +88,47 @@ Or call the package as a module. python -m tiny_anomaly_lab --output output ``` -The command writes `output/report.html` and `output/model_card.md`. Open the -report in a web browser. No server and no network are needed. +The command writes `output/report.html`, `output/model_card.md`, +`output/scores.csv` and `output/flagged_rows.csv`. Open the report in a web +browser. No server and no network are needed. ## Detectors -Two detectors ship with the lab. +Three detectors ship with the lab. - `isolation_forest` wraps the scikit-learn Isolation Forest. - `zscore_rule` scores the largest standardised residual. +- `mahalanobis` scores the correlation-aware Mahalanobis distance. Pick the detector with a flag. ```bash -tiny-anomaly-lab --detector zscore_rule --output output +tiny-anomaly-lab --detector mahalanobis --output output ``` +## Local feature contribution + +Each detector can attribute its row score to the input features. The lab uses +this in two places: a contribution panel in the report and a `top_feature` +column in the flagged-rows CSV. + +- `zscore_rule`: contribution is the absolute standardised residual. The + largest value marks the feature that drove the score. +- `mahalanobis`: contribution is a signed exact split of the squared distance. + Row contributions sum to the squared score. A negative value shows a feature + that offsets the distance through correlation. +- `isolation_forest`: no additive decomposition ships with the lab. The report + omits the contribution panel for this detector. + +## CSV export + +Two CSV files sit next to the report. + +- `scores.csv` holds every feature-frame row with its score, flag and a + `contrib_` column per feature. +- `flagged_rows.csv` holds the flagged evaluation rows with the raw value + columns, the score, the threshold and the dominant contributor. + ## Configuration | Flag | Default | Meaning | @@ -139,6 +165,8 @@ ROC AUC: 0.7082 Average precision: 0.3970 Flagged 9 rows in evaluation (TP=3, FP=6). Report: output\report.html Model card: output\model_card.md +Scores: output\scores.csv +Flagged rows: output\flagged_rows.csv ``` This output comes from the z-score rule run. @@ -149,11 +177,22 @@ ROC AUC: 0.7151 Average precision: 0.5175 Flagged 4 rows in evaluation (TP=3, FP=1). ``` +This output comes from the Mahalanobis run. + +```text +Detector: mahalanobis +ROC AUC: 0.6938 Average precision: 0.4756 +Flagged 6 rows in evaluation (TP=3, FP=3). +``` + A committed sample lives under `examples/sample_run/`. Open -`examples/sample_run/report.html` to view the interactive figure. +`examples/sample_run/report.html` to view the interactive figure. The +`examples/sample_run_mahalanobis/` folder holds the same artifacts for the +Mahalanobis detector, including a contribution panel and signed contributions +in `flagged_rows.csv`. The model card records the detector, the data windows, the leakage controls, the -metrics, the intended use and the limitations. +metrics, the per-feature contribution method, the intended use and the limitations. ## Tests @@ -170,14 +209,18 @@ ruff check . ``` The suite covers data loading, causal features, the split, the metrics, the -detectors, the experiment, the model card and the report. +detectors, the per-feature contributions, the CSV export, the experiment, the +model card and the report. ## Limitations The bundled dataset is synthetic and small. Results are illustrative. Isolation Forest scores shift when the random state or the scikit-learn version changes. Causal rolling features lag true change points by the window length. The -detector assumes the calibration window is close to normal operation. +detector assumes the calibration window is close to normal operation. The +Mahalanobis covariance uses a shrinkage estimate that trades bias for stability +on small windows, and its signed contributions can hide a feature behind a +correlated partner. ## Project layout @@ -194,10 +237,15 @@ examples/ Committed sample artifacts. Later releases stay independent of this one. +Done in this release: + - Add a multivariate detector beside the two current scorers. -- Add a stream evaluation that replays rows one at a time. -- Add local feature contribution for the z-score rule. +- Add local feature contribution for the z-score rule and the new detector. - Add CSV export of the flagged rows and the scores. + +Still open: + +- Add a stream evaluation that replays rows one at a time. - Add a container image for a fully reproducible run. ## License diff --git a/examples/sample_run/flagged_rows.csv b/examples/sample_run/flagged_rows.csv new file mode 100644 index 0000000..7a9d148 --- /dev/null +++ b/examples/sample_run/flagged_rows.csv @@ -0,0 +1,10 @@ +timestamp,temperature,pressure,is_anomaly,score,threshold,top_feature,top_contribution +2024-05-08T23:00:00.000000,20.6558,100.7938,0,0.009341502065532858,-1.973247953923618e-17,temperature_resid,0.0 +2024-05-11T22:00:00.000000,17.4403,102.5557,1,0.05595914490488485,-1.973247953923618e-17,temperature_resid,0.0 +2024-05-11T23:00:00.000000,18.0048,98.5259,1,0.06060271102137793,-1.973247953923618e-17,temperature_resid,0.0 +2024-05-12T00:00:00.000000,19.062,102.5169,1,0.014676161592953041,-1.973247953923618e-17,temperature_resid,0.0 +2024-05-12T21:00:00.000000,15.7843,100.8118,0,0.03643460189011305,-1.973247953923618e-17,temperature_resid,0.0 +2024-05-12T22:00:00.000000,17.0782,100.4592,0,0.025249986865079732,-1.973247953923618e-17,temperature_resid,0.0 +2024-05-12T23:00:00.000000,17.6438,100.8774,0,0.005199350558301674,-1.973247953923618e-17,temperature_resid,0.0 +2024-05-13T17:00:00.000000,14.0389,99.96,0,0.03554997145410932,-1.973247953923618e-17,temperature_resid,0.0 +2024-05-13T18:00:00.000000,14.735,100.764,0,0.013833939210193269,-1.973247953923618e-17,temperature_resid,0.0 diff --git a/examples/sample_run/model_card.md b/examples/sample_run/model_card.md index b87f375..6a8c113 100644 --- a/examples/sample_run/model_card.md +++ b/examples/sample_run/model_card.md @@ -1,6 +1,6 @@ # Model card: isolation_forest -Generated: 2026-07-28 UTC. +Generated: 2026-07-29 UTC. ## Overview @@ -54,6 +54,10 @@ Derived features (8): temperature_resid, temperature_z, temperature_lag_1, tempe | true_positives | 3 | | false_positives | 6 | +## Local feature contribution + +No native additive decomposition ships with the lab. The contribution panel is omitted for this detector. + ## Intended use Use this card to reproduce a leakage-safe anomaly experiment on small time-series datasets. Treat the output as a teaching and review artifact, not as a production control. @@ -64,3 +68,4 @@ Use this card to reproduce a leakage-safe anomaly experiment on small time-serie - Isolation Forest scores shift when the random state or scikit-learn version changes. - Causal rolling features lag true change points by the window length. - The detector assumes the calibration window is close to normal operation. +- Mahalanobis contributions are signed; correlated features can offset each other. diff --git a/examples/sample_run/report.html b/examples/sample_run/report.html index 9b56c1d..4898044 100644 --- a/examples/sample_run/report.html +++ b/examples/sample_run/report.html @@ -2,6 +2,6 @@
-
+
\ No newline at end of file diff --git a/examples/sample_run/scores.csv b/examples/sample_run/scores.csv new file mode 100644 index 0000000..93e4ef2 --- /dev/null +++ b/examples/sample_run/scores.csv @@ -0,0 +1,313 @@ +timestamp,temperature,pressure,is_anomaly,temperature_resid,temperature_z,temperature_lag_1,temperature_lag_24,pressure_resid,pressure_z,pressure_lag_1,pressure_lag_24,score,flagged,contrib_temperature_resid,contrib_temperature_z,contrib_temperature_lag_1,contrib_temperature_lag_24,contrib_pressure_resid,contrib_pressure_z,contrib_pressure_lag_1,contrib_pressure_lag_24 +2024-05-02T00:00:00.000000,20.5663,100.8903,0,2.684799999999999,1.9152824690282304,20.1527,19.8365,0.4365499999999969,2.5223011108063456,100.6187,101.2285,-0.0839214097377079,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T01:00:00.000000,21.6645,100.821,0,3.0912000000000006,1.9943330948135574,20.5663,20.6042,0.29648333333332744,1.1903942839891573,100.8903,100.9012,-0.10676404177119869,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T02:00:00.000000,24.0833,101.3597,0,4.657600000000002,2.8758247296773343,21.6645,22.3594,0.7781999999999982,2.8358456925441415,100.821,101.2777,-0.007233633359902902,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T03:00:00.000000,24.0261,101.2684,0,3.576116666666664,1.5592936907998083,24.0833,23.2089,0.49815000000000964,1.3893068755517677,101.3597,101.3932,-0.09642213420466433,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T04:00:00.000000,24.5763,101.628,0,3.047766666666668,1.3991242719061852,24.0261,23.4671,0.7552166666666835,1.871504072985597,101.2684,101.7941,-0.07632005716349272,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T05:00:00.000000,26.2643,101.4356,0,3.752766666666666,1.920428527257316,24.5763,24.0927,0.33791666666665776,0.8855705993459047,101.628,101.6392,-0.07172346923433914,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T06:00:00.000000,25.8497,101.2372,0,2.3195666666666632,1.1215454679850805,26.2643,23.4319,0.0033666666666647416,0.01062975537932433,101.4356,101.6988,-0.06598707876732818,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T07:00:00.000000,25.5268,101.5192,0,1.1160999999999994,0.6835363862345665,25.8497,23.8107,0.2275499999999937,0.8439356379151726,101.2372,101.4433,-0.09257523218454472,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T08:00:00.000000,25.2943,101.5521,0,0.23988333333333145,0.25150648296010997,25.5268,24.0145,0.14408333333331313,0.9604663928399272,101.5192,101.3238,-0.09463900617740312,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T09:00:00.000000,24.5281,101.6822,0,-0.7281499999999994,-0.8806069393664074,25.2943,23.6216,0.24211666666666076,1.5326494073860186,101.5521,101.4037,-0.05842080397595023,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T10:00:00.000000,23.4989,101.6595,0,-1.8410166666666683,-2.6608696261337,24.5281,22.5435,0.1504499999999922,0.95007238899011,101.6822,101.537,-0.05704484462906695,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T11:00:00.000000,21.3153,100.936,0,-3.845049999999997,-3.8426324401151875,23.4989,21.2237,-0.5782999999999845,-3.536432269118203,101.6595,101.2346,0.011283681775957288,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T12:00:00.000000,21.7874,100.8884,0,-2.5481166666666653,-1.4968271762074534,21.3153,20.4733,-0.5426333333333275,-1.871502010016435,100.936,101.3044,-0.10057740905718443,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T13:00:00.000000,20.369,100.7608,0,-3.289466666666666,-1.8423447743071937,21.7874,19.9283,-0.6120999999999981,-1.6886635418631752,100.8884,100.7695,-0.09439245926607082,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T14:00:00.000000,20.2442,100.3825,0,-2.554633333333335,-1.3162000381366836,20.369,18.0666,-0.8640000000000185,-2.0204292628376113,100.7608,100.6363,-0.08180144353162644,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T15:00:00.000000,19.161,100.2742,0,-2.7961499999999972,-1.6206375819637493,20.2442,18.572,-0.7773666666666657,-1.5019197238649182,100.3825,100.9332,-0.07401594031083503,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T16:00:00.000000,18.7107,100.6342,0,-2.351933333333335,-1.5650582128535084,19.161,17.2666,-0.18269999999998277,-0.37052715683428517,100.2742,100.2993,-0.07552789353190892,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T17:00:00.000000,17.434,100.4136,0,-2.8306000000000004,-2.3809694577796843,18.7107,16.6245,-0.2324166666666514,-0.8615786788558039,100.6342,100.2779,-0.08664247935708863,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T18:00:00.000000,17.7278,100.8416,0,-1.889916666666668,-1.2481117642916673,17.434,16.4155,0.28265000000000384,1.1771218088958155,100.4136,100.4657,-0.05237826159478132,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T19:00:00.000000,18.2922,100.5363,0,-0.6489166666666648,-0.5269703491400414,17.7278,16.5501,-0.014849999999995589,-0.06521244779018608,100.8416,100.4791,-0.09417904960906792,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T20:00:00.000000,17.5332,100.3704,0,-1.0617833333333309,-1.0366637219822077,18.2922,17.9376,-0.14333333333333087,-0.7042015122264328,100.5363,100.2272,-0.1109491957283093,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T21:00:00.000000,18.5946,100.3231,0,0.4514499999999977,0.6478710513792187,17.5332,17.5548,-0.1886166666666611,-0.9193903095004033,100.3704,100.6532,-0.09885208458225114,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T22:00:00.000000,19.2126,100.8089,0,1.1638499999999965,2.0956727391640952,18.5946,18.6783,0.2890333333333359,1.4858233794328088,100.3231,100.2786,-0.06782398268010215,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-02T23:00:00.000000,20.538,100.6177,0,2.4055999999999997,3.460309160805791,19.2126,20.1527,0.06871666666665988,0.304529828380367,100.8089,100.6187,-0.04704836343935348,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T00:00:00.000000,21.4217,100.8205,0,2.7719666666666676,2.507597472944315,20.538,20.5663,0.23749999999998295,1.0977584790128376,100.6177,100.8903,-0.0876525515248377,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T01:00:00.000000,22.3097,101.0323,0,3.044316666666667,2.0840208553815196,21.4217,21.6645,0.45281666666667775,2.1417751744868574,100.8205,100.821,-0.09408587692221321,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T02:00:00.000000,23.8496,101.407,0,3.9146333333333345,2.168097378785406,22.3097,24.0833,0.7448499999999996,2.6819202108646563,101.0323,101.3597,-0.04992079724924997,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T03:00:00.000000,24.5026,101.2228,0,3.514900000000001,1.793379381618272,23.8496,24.0261,0.3878833333333347,1.0546979759848791,101.407,101.2684,-0.09527166150213068,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T04:00:00.000000,25.2737,101.609,0,3.301333333333332,1.6499724608451904,24.5026,24.5763,0.6241333333333188,2.1286463954944983,101.2228,101.628,-0.06591470343975186,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T05:00:00.000000,34.5679,97.7122,1,11.585349999999998,6.2506735323479115,25.2737,26.2643,-3.406016666666673,-9.224095442667963,101.609,101.4356,0.19297588343066896,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T06:00:00.000000,24.6937,101.4882,0,-0.627166666666664,-0.13215101473028532,34.5679,25.8497,0.8542333333333403,0.5859942736452836,97.7122,101.2372,0.14515403341470712,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T07:00:00.000000,25.2775,101.304,0,-0.5887000000000029,-0.1343376685778786,24.6937,25.5268,0.5587500000000034,0.37256962180126696,101.4882,101.5192,-0.08139826663935379,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T08:00:00.000000,24.4122,101.3681,0,-1.9486333333333334,-0.48044866313055395,25.2775,25.2943,0.5775666666666694,0.38144538552022844,101.304,101.5521,-0.052863042574292196,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T09:00:00.000000,24.8803,101.7417,0,-1.574300000000001,-0.3943442367788941,24.4122,24.5281,0.957650000000001,0.6337580612903166,101.3681,101.6822,-0.04847019122876034,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T10:00:00.000000,23.2005,101.4236,0,-3.3170499999999983,-0.8380422689346727,24.8803,23.4989,0.5530666666666804,0.3555789136314717,101.7417,101.6595,-0.029373540545935106,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T11:00:00.000000,22.8008,101.564,0,-3.3712166666666654,-0.807853886434475,23.2005,21.3153,0.7243666666666684,0.47050422552649346,101.4236,100.936,-0.03865008558061578,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T12:00:00.000000,21.5063,101.1137,0,-2.7045333333333375,-2.740775903340138,22.8008,21.7874,-0.3679000000000059,-2.3526043854948027,101.564,100.8884,-0.06876769406462596,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T13:00:00.000000,20.1635,100.874,0,-3.516099999999998,-2.454945337698112,21.5063,20.369,-0.5451833333333269,-2.5190068821948985,101.1137,100.7608,-0.07490493793391834,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T14:00:00.000000,18.4265,100.5736,0,-4.400766666666662,-2.4828978786378992,20.1635,20.2442,-0.7739166666666648,-2.4789081347421336,100.874,100.3825,-0.01264363415186115,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T15:00:00.000000,18.0921,100.6041,0,-3.7375500000000024,-1.6207116457806432,18.4265,19.161,-0.61099999999999,-1.3796407027375022,100.5736,100.2742,-0.06614738392802261,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T16:00:00.000000,17.7539,100.6222,0,-2.944383333333331,-1.356016924566507,18.0921,18.7107,-0.40330000000000155,-0.9718840233434245,100.6041,100.6342,-0.11089122812782193,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T17:00:00.000000,17.5921,100.7296,0,-2.1984166666666667,-1.0717532757890316,17.7539,17.434,-0.16233333333332212,-0.4168932982441693,100.6222,100.4136,-0.10994580801398329,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T18:00:00.000000,17.8067,100.4227,0,-1.1157000000000004,-0.7117126249811122,17.5921,17.7278,-0.3301666666666563,-1.5857382714572694,100.7296,100.8416,-0.11103406514630404,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T19:00:00.000000,17.2632,100.3798,0,-1.0425999999999966,-1.0900292252329955,17.8067,18.2922,-0.25789999999999225,-1.6932963007621533,100.4227,100.5363,-0.10698137703131905,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T20:00:00.000000,18.426,100.4908,0,0.6035833333333294,1.5011386580963737,17.2632,17.5332,-0.06453333333334399,-0.492189600655486,100.3798,100.3704,-0.08514899486684901,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T21:00:00.000000,17.7865,100.5127,0,-0.03583333333333272,-0.08915240392354215,18.426,18.5946,-0.028833333333352584,-0.21654890030347565,100.4908,100.3231,-0.1007151287580279,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T22:00:00.000000,18.9018,100.8033,0,1.1304000000000016,2.9774242524479586,17.7865,19.2126,0.2769999999999868,2.1349659739651927,100.5127,100.8089,-0.059959395045150576,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-03T23:00:00.000000,19.4902,101.2308,0,1.5274833333333362,2.5610876664487567,18.9018,20.538,0.6743166666666696,3.9429798301728156,100.8033,100.6177,-0.002079790138958759,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T00:00:00.000000,20.3049,100.9298,0,2.0258333333333347,2.466143091576148,19.4902,21.4217,0.2897833333333324,0.8908184466104582,101.2308,100.8205,-0.1108498128821857,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T01:00:00.000000,20.7859,101.0698,0,2.090466666666668,1.8750773597188974,20.3049,22.3097,0.3452666666666744,1.0675614055821117,100.9298,101.0323,-0.12037841031605911,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T02:00:00.000000,21.6011,101.4679,0,2.3185499999999983,2.0389694082652796,20.7859,23.8496,0.6283666666666647,2.1086409153932073,101.0698,101.407,-0.09497553689027582,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T03:00:00.000000,24.0091,101.461,0,4.197366666666667,3.0568605647360387,21.6011,24.5026,0.4586166666666571,1.372688897973998,101.4679,101.2228,-0.051097071273358274,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T04:00:00.000000,23.1035,101.4561,0,2.2546666666666653,1.2415355295573647,24.0091,25.2737,0.2956666666666621,1.0742245048654335,101.461,101.609,-0.09991600020689434,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T05:00:00.000000,23.8228,102.0672,0,2.2736833333333344,1.3197675265208524,23.1035,34.5679,0.7979666666666674,3.4490868424850785,101.4561,97.7122,0.18065923318110333,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T06:00:00.000000,23.6845,101.7789,0,1.413283333333336,0.8888058315716474,23.8228,24.6937,0.37026666666665164,0.9336916082364837,102.0672,101.4882,-0.06026796244425475,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T07:00:00.000000,24.1445,101.187,0,1.310016666666666,0.9835957580957306,23.6845,25.2775,-0.3631499999999903,-1.071839212428617,101.7789,101.304,-0.03938438523683985,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T08:00:00.000000,22.9705,101.4752,0,-0.4237499999999983,-0.44623866980595095,24.1445,24.4122,-0.09448333333332926,-0.30725220878531584,101.187,101.3681,-0.09366631314003648,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T09:00:00.000000,22.3147,101.5597,0,-1.3077833333333366,-2.714701349594944,22.9705,24.8803,-0.011199999999988108,-0.03647715271871859,101.4752,101.7417,-0.06288682929596412,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T10:00:00.000000,22.3007,101.103,0,-1.0393833333333369,-1.5519412149134593,22.3147,23.2005,-0.4843500000000063,-1.600693525981049,101.5597,101.4236,-0.0963130195638549,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T11:00:00.000000,21.1665,101.3963,0,-2.039783333333336,-2.5659660556194703,22.3007,22.8008,-0.13220000000001164,-0.36542637992858723,101.103,101.564,-0.09171327309082133,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T12:00:00.000000,19.7965,101.0144,0,-2.967066666666664,-2.763378205136219,21.1665,21.5063,-0.40228333333332955,-1.6244201580224158,101.3963,101.1137,-0.09151253767747142,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T13:00:00.000000,19.5046,100.9433,0,-2.610966666666666,-1.744509312871458,19.7965,20.1635,-0.3459666666666692,-1.579552444236936,101.0144,100.874,-0.11801282321726342,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T14:00:00.000000,18.5837,100.5656,0,-2.758549999999996,-1.9207916424651899,19.5046,18.4265,-0.6830499999999944,-2.622452128446442,100.9433,100.5736,-0.07675820590367866,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T15:00:00.000000,17.1936,100.698,0,-3.417516666666664,-2.2001623216926824,18.5837,18.0921,-0.3990500000000168,-1.13640105080566,100.5656,100.6041,-0.1029463999435169,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T16:00:00.000000,15.9384,100.25,0,-3.8192000000000004,-2.1043132517550287,17.1936,17.7539,-0.7034333333333365,-2.3767309778074326,100.698,100.6222,-0.06166633544222666,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T17:00:00.000000,16.191,100.5551,0,-2.506216666666667,-1.3267103695990214,15.9384,17.5921,-0.2561666666666724,-0.6447994031185754,100.25,100.7296,-0.078239193015749,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T18:00:00.000000,15.8843,100.4088,0,-1.9836666666666645,-1.1897114176978467,16.191,17.8067,-0.26226666666666176,-0.9335960965640443,100.5551,100.4227,-0.10736037710885549,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T19:00:00.000000,16.868,100.4203,0,-0.34793333333333365,-0.22877376483841302,15.8843,17.2632,-0.14983333333333348,-0.6282846462760497,100.4088,100.3798,-0.09715898513268584,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T20:00:00.000000,16.2957,100.7102,0,-0.48079999999999856,-0.4674549038649327,16.868,18.426,0.22723333333334494,1.4548787571432722,100.4203,100.4908,-0.08563725800944982,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T21:00:00.000000,17.1103,100.3542,0,0.7151333333333341,1.3601171464454478,16.2957,17.7865,-0.15286666666666804,-0.8458877704814237,100.7102,100.5127,-0.09274245910529222,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T22:00:00.000000,17.4076,100.3311,0,1.0263166666666663,2.0485168789640134,17.1103,18.9018,-0.11866666666666958,-0.7345088275351316,100.3542,100.8033,-0.09015465710492238,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-04T23:00:00.000000,19.5154,101.0092,0,2.8892500000000005,4.8803075933809374,17.4076,19.4902,0.5459166666666704,3.7928123078753995,100.3311,101.2308,0.04426540714691396,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T00:00:00.000000,19.3441,100.9339,0,2.1638833333333345,1.703378233228075,19.5154,20.3049,0.39493333333332714,1.4742628370602278,101.0092,100.9298,-0.10940642251737759,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T01:00:00.000000,21.2324,101.2546,0,3.4755499999999984,2.579528455711869,19.3441,20.7859,0.6281166666666564,2.089347001820876,100.9339,101.0698,-0.06687455619760346,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T02:00:00.000000,22.4786,101.3115,0,3.9943500000000007,2.154134905440655,21.2324,21.6011,0.5459666666666578,1.4719385421273763,101.2546,101.4679,-0.0855982539710955,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T03:00:00.000000,21.6217,101.5033,0,2.106966666666665,1.004792440970686,22.4786,24.0091,0.6375499999999903,1.4841571210177764,101.3115,101.461,-0.10059110014089823,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T04:00:00.000000,22.0123,101.1157,0,1.745666666666665,0.9398026975380561,21.6217,23.1035,0.05843333333332623,0.1419415349069504,101.5033,101.4561,-0.1191493476684215,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T05:00:00.000000,22.5244,101.5328,0,1.4903166666666685,1.1369772252830372,22.0123,23.8228,0.3447666666666578,1.640387292438285,101.1157,102.0672,-0.09562024810017367,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T06:00:00.000000,22.591,101.1362,0,1.055416666666666,0.8922299904438411,22.5244,23.6845,-0.1390999999999991,-0.6075970524302579,101.5328,101.7789,-0.09795105322639258,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T07:00:00.000000,22.7975,101.4882,0,0.7207666666666661,1.2943354883696125,22.591,24.1445,0.17918333333334147,1.0078916539841443,101.1362,101.187,-0.1162685774768204,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T08:00:00.000000,21.675,101.5101,0,-0.6625833333333304,-1.5210091623431414,22.7975,22.9705,0.1621499999999827,0.8592003810083733,101.4882,101.4752,-0.10549924556569851,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T09:00:00.000000,22.1056,101.4926,0,-0.09805000000000064,-0.19529471384431202,21.675,22.3147,0.11154999999999404,0.5627378515407175,101.5101,101.5597,-0.12966254731641164,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T10:00:00.000000,21.066,101.4027,0,-1.2183000000000028,-2.8840025949553167,22.1056,22.3007,0.02343333333331543,0.11898019615701226,101.4926,101.103,-0.10951658094656286,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T11:00:00.000000,19.3436,101.3058,0,-2.782983333333334,-4.240781198299966,21.066,21.1665,-0.12129999999999086,-0.813002973141124,101.4027,101.3963,-0.06908418326167665,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T12:00:00.000000,18.6499,101.1873,0,-2.946550000000002,-2.321663864200457,19.3436,19.7965,-0.20196666666667795,-1.3854397857624985,101.3058,101.0144,-0.0942440423090275,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T13:00:00.000000,18.8573,100.7522,0,-2.0823,-1.283606861036172,18.6499,19.5046,-0.6455833333333345,-5.023766684197734,101.1873,100.9433,-0.0156399017278408,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T14:00:00.000000,16.8089,100.9107,0,-3.4739999999999966,-2.295209574445714,18.8573,18.5837,-0.3644166666666422,-1.2869785241628533,100.7522,100.5656,-0.10312062795494409,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T15:00:00.000000,16.0583,100.7994,0,-3.413583333333335,-1.8174346672238926,16.8089,17.1936,-0.37581666666665114,-1.2988711796869954,100.9107,100.698,-0.09673441973855357,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T16:00:00.000000,15.4287,100.6881,0,-3.0352999999999994,-1.6831589084045726,16.0583,15.9384,-0.3715833333333194,-1.3496348697987812,100.7994,100.25,-0.07628859358755169,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T17:00:00.000000,14.0244,100.6317,0,-3.500049999999998,-2.137500642975086,15.4287,16.191,-0.30888333333334117,-1.231962489220334,100.6881,100.5551,-0.08348310818211202,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T18:00:00.000000,15.1085,100.1354,0,-1.5294166666666662,-0.8144508935561889,14.0244,15.8843,-0.6928333333333399,-3.458941098511904,100.6317,100.4088,-0.013227777906508087,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T19:00:00.000000,15.3883,100.3259,0,-0.6593833333333361,-0.39643715202723123,15.1085,16.868,-0.3270166666666654,-1.2065831326947636,100.1354,100.4203,-0.06549227562123339,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T20:00:00.000000,14.1577,100.5074,0,-1.3118166666666653,-1.4035832124724958,15.3883,16.2957,-0.07446666666666601,-0.2527352525142986,100.3259,100.7102,-0.0736450296071019,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T21:00:00.000000,16.0749,100.4869,0,1.04725,1.3251002531988736,14.1577,17.1103,-0.0277499999999975,-0.11247123488798183,100.5074,100.3542,-0.04803355062954501,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T22:00:00.000000,16.085,100.5201,0,1.0545833333333352,1.3270803576506818,16.0749,17.4076,0.05753333333333899,0.2822233449521868,100.4869,100.3311,-0.0680958727616306,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-05T23:00:00.000000,17.5221,100.8848,0,2.382299999999997,2.6505414736266832,16.085,19.5154,0.4502333333333297,2.552791840674564,100.5201,101.0092,-0.04931614289108388,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T00:00:00.000000,18.2745,100.8389,0,2.55175,2.2499306575126017,17.5221,19.3441,0.36214999999999975,1.4574838782370756,100.8848,100.9339,-0.09553701979140128,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T01:00:00.000000,19.4078,101.0264,0,3.1573833333333354,2.138943528759126,18.2745,21.2324,0.432399999999987,1.9701435310631772,100.8389,101.2546,-0.09365919128023925,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T02:00:00.000000,19.2955,101.0771,0,2.3751666666666686,1.272197475997926,19.4078,22.4786,0.36634999999999707,1.564518007234041,101.0264,101.3115,-0.10999685871992304,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T03:00:00.000000,20.575,101.6473,0,2.7983666666666664,1.8834218239712905,19.2955,21.6217,0.8415999999999997,3.364106192461764,101.0771,101.5033,-0.04255364417377999,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T04:00:00.000000,22.0188,101.4002,0,3.4921499999999988,2.200053035664218,20.575,22.0123,0.40109999999999957,1.0757085818901015,101.6473,101.1157,-0.09161944288232488,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T05:00:00.000000,21.8055,101.7275,0,2.289883333333332,1.4221629766682158,22.0188,22.5244,0.5817166666666793,1.84415419372149,101.4002,101.5328,-0.11481951040834099,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T06:00:00.000000,22.6164,101.384,0,2.3868833333333335,1.5966355149656428,21.8055,22.591,0.09776666666667211,0.27127469980806174,101.7275,101.1362,-0.08743873122570439,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T07:00:00.000000,21.9491,101.6663,0,0.9959333333333369,0.7075139619146051,22.6164,22.7975,0.2892166666666611,1.0107777310855446,101.384,101.4882,-0.1288814341934283,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T08:00:00.000000,21.8172,101.6079,0,0.4404833333333329,0.3612272773348698,21.9491,21.675,0.12416666666665321,0.5054094057520583,101.6663,101.5101,-0.11441582972813058,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T09:00:00.000000,21.6942,101.1597,0,-0.10279999999999845,-0.15367230136635843,21.8172,22.1056,-0.4125000000000085,-2.8480039506298453,101.6079,101.4926,-0.07345443040993221,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T10:00:00.000000,21.0083,101.3766,0,-0.9752333333333318,-2.951119966542998,21.6942,21.066,-0.11433333333333451,-0.5333355961086158,101.1597,101.4027,-0.11083102132422756,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T11:00:00.000000,19.3589,101.2279,0,-2.4562166666666663,-4.770158006820658,21.0083,19.3436,-0.25910000000000366,-1.1963412159098716,101.3766,101.3058,-0.06370175191398236,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T12:00:00.000000,19.589,101.1852,0,-1.8183499999999988,-1.6121361767268199,19.3589,18.6499,-0.21853333333334035,-1.0866509565048443,101.2279,101.1873,-0.1164932577964527,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T13:00:00.000000,17.5163,100.523,0,-3.386483333333331,-2.9302880744882,19.589,18.8573,-0.8476000000000141,-3.844783450234991,101.1852,100.7522,-0.020534692686035583,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T14:00:00.000000,16.8024,100.6797,0,-3.361583333333332,-2.0251566890745836,17.5163,16.8089,-0.5003499999999974,-1.3812208734198232,100.523,100.9107,-0.07620213728240471,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T15:00:00.000000,15.5345,100.8853,0,-3.793683333333332,-1.991041296185812,16.8024,16.0583,-0.14005000000000223,-0.41125965426534294,100.6797,100.7994,-0.07416088508354335,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T16:00:00.000000,14.6944,100.8535,0,-3.607166666666666,-1.776147451392853,15.5345,15.4287,-0.12611666666667531,-0.37390293013744264,100.8853,100.6881,-0.05417431665404421,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T17:00:00.000000,16.0028,100.4544,0,-1.2464499999999994,-0.6285322650818695,14.6944,14.0244,-0.4380333333333226,-1.585676264292916,100.8535,100.6317,-0.04684075716914471,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T18:00:00.000000,13.715,100.6634,0,-2.974899999999998,-1.7239237320992526,16.0028,15.1085,-0.10011666666666486,-0.372507113129132,100.4544,100.1354,-0.044262286637576476,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T19:00:00.000000,14.1882,100.2482,0,-1.5227000000000004,-1.0998279332942946,13.715,15.3883,-0.4283500000000089,-2.489742760839141,100.6634,100.3259,-0.03340094439866487,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T20:00:00.000000,20.6993,102.9279,1,5.543083333333334,4.7541484769268285,14.1882,14.1577,2.297150000000002,9.452104279764692,100.2482,100.5074,0.13511586073946624,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T21:00:00.000000,20.0823,103.1042,1,4.2766,1.6830737758168957,20.6993,16.0749,2.0987500000000097,2.158408215050137,102.9279,100.4869,0.055692591329670416,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T22:00:00.000000,21.7687,103.2047,1,5.205033333333333,1.6967794524348476,20.0823,16.085,1.829433333333327,1.420159484055305,103.1042,100.5201,0.0562462616576872,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-06T23:00:00.000000,22.4612,103.4069,1,4.718483333333335,1.3366435318740133,21.7687,17.5221,1.6397666666666595,1.134229753157282,103.2047,100.8848,0.04932050070684313,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T00:00:00.000000,22.7419,103.5716,1,3.922783333333335,1.015618233017384,22.4612,18.2745,1.3123833333333437,0.9297135111096162,103.4069,100.8389,0.03883702843558223,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T01:00:00.000000,25.5054,103.8579,1,5.181799999999999,1.6329508200560505,22.7419,19.4078,1.113983333333337,0.895977051207027,103.5716,101.0264,0.047695578049796405,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T02:00:00.000000,21.5917,101.2475,0,-0.6181000000000019,-0.3238857080770841,25.5054,19.2955,-2.098033333333319,-6.214465309253994,103.8579,101.0771,0.17684485719466014,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T03:00:00.000000,21.3016,101.5542,0,-1.0569333333333368,-0.5875941920156978,21.5917,20.575,-1.5112666666666712,-1.6246258993237734,101.2475,101.6473,-0.030943678848305844,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T04:00:00.000000,22.2979,101.5703,0,-0.2638500000000015,-0.1712767022054623,21.3016,22.0188,-1.2368333333333084,-1.1099398374146214,101.5542,101.4002,-0.07025073275523569,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T05:00:00.000000,22.6211,101.2712,0,-0.02885000000000204,-0.01922516987627783,22.2979,21.8055,-1.263533333333342,-1.0577235074943392,101.5703,101.7275,-0.07238282979672805,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T06:00:00.000000,23.1955,101.6981,0,0.5189000000000021,0.34638777691050204,22.6211,22.6164,-0.4806833333333316,-0.40027147795133483,101.2712,101.384,-0.10580392371998487,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T07:00:00.000000,22.6228,101.4595,0,-0.12939999999999685,-0.08550544100533422,23.1955,21.9491,-0.4070333333333309,-0.4104609838457761,101.6981,101.6663,-0.09522360454910139,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T08:00:00.000000,22.7705,101.7872,0,0.49873333333333036,0.704901304565905,22.6228,21.8172,0.32040000000000646,1.8009333349459338,101.4595,101.6079,-0.10707940663107574,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T09:00:00.000000,22.4624,101.2539,0,-0.005833333333331581,-0.009093322811335739,22.7705,21.6942,-0.3028500000000065,-1.670816793085712,101.7872,101.1597,-0.09748192094312724,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T10:00:00.000000,21.274,101.5137,0,-1.3876999999999953,-4.516519563115823,22.4624,21.0083,0.006999999999990791,0.03188709684105689,101.2539,101.3766,-0.07291164471021505,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T11:00:00.000000,19.954,101.4715,0,-2.537049999999997,-3.9235023145226333,21.274,19.3589,-0.02576666666666938,-0.11849399628356155,101.5137,101.2279,-0.06671238252703388,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T12:00:00.000000,19.6139,101.3063,0,-2.4326333333333316,-2.0098527693997856,19.954,19.589,-0.22435000000000116,-1.1847463902571786,101.4715,101.1852,-0.11047992594943984,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T13:00:00.000000,18.686,100.6867,0,-2.7636000000000003,-1.9755742224695707,19.6139,17.5163,-0.778649999999999,-4.150157195020038,101.3063,100.523,-0.021397091103499744,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T14:00:00.000000,17.1561,100.9025,0,-3.6373666666666686,-2.2167192491745586,18.686,16.8024,-0.43404999999999916,-1.1746276511492888,100.6867,100.6797,-0.08923607160841973,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T15:00:00.000000,16.3791,100.4037,0,-3.478633333333331,-1.857784027178296,17.1561,15.5345,-0.7853999999999957,-2.395235612800712,100.9025,100.8853,-0.036765293935367704,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T16:00:00.000000,15.7608,100.6161,0,-3.08305,-1.688008889897642,16.3791,14.6944,-0.43129999999999313,-0.9503708311373306,100.4037,100.8535,-0.05724439078610849,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T17:00:00.000000,15.2333,100.5007,0,-2.6916833333333336,-1.5431203894772678,15.7608,16.0028,-0.3971000000000089,-0.9552304962224559,100.6161,100.4544,-0.0907491798295551,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T18:00:00.000000,16.6852,100.4836,0,-0.45300000000000296,-0.26485157206017024,15.2333,13.715,-0.2524000000000086,-0.771205640170121,100.5007,100.6634,-0.0606465815683338,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T19:00:00.000000,16.3095,100.3115,0,-0.34058333333333124,-0.2823764512002987,16.6852,14.1882,-0.287383333333338,-1.6004414996675036,100.4836,100.2482,-0.057903175368570425,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T20:00:00.000000,15.3389,100.6987,0,-0.9151000000000007,-1.3482092303124873,16.3095,20.6993,0.16234999999998934,0.787267002172548,100.3115,102.9279,-0.013065008685272939,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T21:00:00.000000,16.734,100.9198,0,0.7828666666666688,1.3132769621888143,15.3389,20.0823,0.4174166666666679,2.981514026498026,100.6987,103.1042,0.0013865267593058395,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T22:00:00.000000,17.718,100.7697,0,1.7077166666666663,2.5830003501342174,16.734,21.7687,0.18130000000000734,0.8680559642738341,100.9198,103.2047,-0.02820332405678405,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-07T23:00:00.000000,18.0027,101.1057,0,1.6662166666666671,1.7759658701008194,17.718,22.4612,0.4917000000000087,2.215505459906935,100.7697,103.4069,-0.012765914544685286,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T00:00:00.000000,20.4779,100.994,0,3.679850000000002,3.8027127835313825,18.0027,22.7419,0.27916666666666856,0.9699307081449209,101.1057,103.5716,0.03898647053003823,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T01:00:00.000000,21.5887,100.9313,0,4.158533333333331,2.338376819439544,20.4779,25.5054,0.1313999999999993,0.4673508690567669,100.994,103.8579,0.03299863061396613,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T02:00:00.000000,22.2394,101.2459,0,3.9293666666666667,1.6845233178302923,21.5887,21.5917,0.34269999999999357,2.310918262633143,100.9313,101.2475,-0.07631986299602495,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T03:00:00.000000,23.4131,101.5607,0,3.952983333333332,1.737447978451904,22.2394,21.3016,0.5662999999999982,3.4377834122001714,101.2459,101.5542,-0.041436943517134506,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T04:00:00.000000,23.6036,101.6427,0,3.0303000000000004,1.312785049875185,23.4131,22.2979,0.541483333333332,1.9581244650311682,101.5607,101.5703,-0.0910388748682554,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T05:00:00.000000,24.4477,101.78,0,2.8934666666666686,1.382620896618808,23.6036,22.6211,0.5332833333333298,1.800506914606069,101.6427,101.2712,-0.09209289118518099,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T06:00:00.000000,24.2188,101.6901,0,1.5904000000000025,1.0854736710639967,24.4477,23.1955,0.33099999999998886,0.9344517054870223,101.78,101.6981,-0.0964792931477616,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T07:00:00.000000,23.8171,101.4398,0,0.5652166666666645,0.5032993282737761,24.2188,22.6228,-0.03531666666665956,-0.10921270366468379,101.6901,101.4595,-0.10693701605714473,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T08:00:00.000000,25.2973,101.2831,0,1.6740166666666667,2.149865595498785,23.8171,22.7705,-0.27676666666665994,-1.43778273881894,101.4398,101.7872,-0.06276981504227885,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T09:00:00.000000,22.9134,101.7282,0,-1.219533333333338,-1.7749845613358033,25.2973,22.4624,0.16213333333331548,0.8977900500105573,101.2831,101.2539,-0.07527550983659131,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T10:00:00.000000,21.4798,101.3601,0,-2.569849999999999,-3.1691349103262576,22.9134,21.274,-0.23388333333332412,-1.2170566977297579,101.7282,101.5137,-0.07131896580621006,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T11:00:00.000000,22.1115,100.715,0,-1.5841833333333355,-1.184656480891118,21.4798,19.954,-0.8318833333333515,-3.933207240922618,101.3601,101.4715,-0.04568252698332215,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T12:00:00.000000,21.1957,101.1832,0,-2.1106166666666724,-1.4942499511274336,22.1115,19.6139,-0.18618333333334647,-0.5077374531237928,100.715,101.3063,-0.10263484869785588,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T13:00:00.000000,20.0863,101.1183,0,-2.7161666666666626,-1.7478563344270592,21.1957,18.686,-0.1665999999999883,-0.49723763784174113,101.1832,100.6867,-0.10142688511739206,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T14:00:00.000000,19.0527,100.7863,0,-3.1279666666666657,-1.7429944557212738,20.0863,17.1561,-0.4450166666666604,-1.3444298293642518,101.1183,100.9025,-0.08903879655821689,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T15:00:00.000000,17.3956,100.4938,0,-3.744299999999999,-2.6918008039439547,19.0527,16.3791,-0.6547166666666868,-1.7472424818205385,100.7863,100.4037,-0.043615488675259106,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T16:00:00.000000,16.6736,100.3256,0,-3.5466666666666704,-2.01602651232447,17.3956,15.7608,-0.6171833333333439,-1.8767821460520633,100.4938,100.6161,-0.054159664107421346,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T17:00:00.000000,17.4238,100.2184,0,-1.9954333333333345,-0.9382189958125904,16.6736,15.2333,-0.5519666666666723,-1.6360550346389005,100.3256,100.5007,-0.057406061488117666,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T18:00:00.000000,17.2946,100.4099,0,-1.343350000000001,-0.7583840922907792,17.4238,16.6852,-0.27769999999999584,-0.681746133424755,100.2184,100.4836,-0.08469228913867372,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T19:00:00.000000,17.0944,99.925,0,-0.8933666666666689,-0.6886671854605816,17.2946,16.3095,-0.6337166666666718,-1.89114888976194,100.4099,100.3115,-0.059623133175850496,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T20:00:00.000000,17.7668,100.2765,0,0.27768333333333217,0.3409527266526309,17.0944,15.3389,-0.0833333333333286,-0.29010027971862606,99.925,100.6987,-0.044674257007248086,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T21:00:00.000000,18.6752,100.1254,0,1.4003999999999976,3.8163981003134912,17.7668,16.734,-0.14946666666665465,-0.7581428275926161,100.2765,100.9198,-0.00898097928360786,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T22:00:00.000000,18.3568,100.5209,0,0.8687333333333349,1.268023404916606,18.6752,17.718,0.30743333333333567,1.7983402357960692,100.1254,100.7697,-0.0687531895512748,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-08T23:00:00.000000,20.6558,100.7938,0,2.8872,4.604351690954643,18.3568,18.0027,0.5477833333333422,2.6013608469011396,100.5209,101.1057,0.009341502065532858,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T00:00:00.000000,21.0535,101.3248,0,2.7462333333333326,2.1134777631316153,20.6558,20.4779,0.9828833333333193,3.220116280022452,100.7938,100.994,-0.03587827127558735,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T01:00:00.000000,22.7883,101.2384,0,3.8545499999999997,2.427801441760162,21.0535,21.5887,0.7439999999999998,1.466019363639228,101.3248,100.9313,-0.058271445243458786,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T02:00:00.000000,22.83,101.4742,0,2.947266666666664,1.5250384255110407,22.7883,22.2394,0.7608999999999924,1.5343838847879459,101.2384,101.2459,-0.0903590580544974,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T03:00:00.000000,24.3792,101.5827,0,3.6525999999999996,1.8932267302098997,22.83,23.4131,0.6697833333333421,1.2755234581620822,101.4742,101.5607,-0.07719391096855172,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T04:00:00.000000,25.5303,101.7101,0,3.8530333333333324,1.8235807634981815,24.3792,23.6036,0.5542999999999978,1.3418924442284503,101.5827,101.6427,-0.06904291477851615,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T05:00:00.000000,24.6243,101.4362,0,1.751450000000002,0.9344433388920611,25.5303,24.4477,0.08220000000000027,0.25450039046314654,101.7101,101.78,-0.05898947410303296,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T06:00:00.000000,25.8622,101.9322,0,2.327933333333334,1.4385921839900968,24.6243,24.2188,0.4711333333333272,2.759442472690862,101.4362,101.6901,-0.07512080145025352,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T07:00:00.000000,24.4924,101.7362,0,0.1566833333333335,0.12014213335855053,25.8622,23.8171,0.17389999999998906,0.7250101072515234,101.9322,101.4398,-0.06691032346271508,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T08:00:00.000000,23.5734,101.4305,0,-1.0463333333333331,-0.9842996410616459,24.4924,25.2973,-0.21476666666666233,-1.1589883843069366,101.7362,101.2831,-0.052403878113060354,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T09:00:00.000000,24.0532,101.1252,0,-0.6904333333333348,-0.8312259611976415,23.5734,22.9134,-0.5127833333333314,-2.642841837165828,101.4305,101.7282,-0.052275604340077164,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T10:00:00.000000,23.7104,101.1613,0,-0.978900000000003,-1.1264640651767106,24.0532,21.4798,-0.4004333333333392,-1.3928828048966282,101.1252,101.3601,-0.0961029273379061,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T11:00:00.000000,21.9555,101.3413,0,-2.4304833333333313,-2.915504576107876,23.7104,22.1115,-0.12896666666665624,-0.4072682816101232,101.1613,100.715,-0.07817183570238223,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T12:00:00.000000,21.0826,100.976,0,-2.858583333333332,-2.2406439133684892,21.9555,21.1957,-0.47845000000000937,-1.4902928851896442,101.3413,101.1832,-0.10096654060293542,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T13:00:00.000000,20.0758,100.6793,0,-3.0687833333333323,-2.3116173167263248,21.0826,20.0863,-0.6157833333333258,-2.2834054778611623,100.976,101.1183,-0.08024440666606875,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T14:00:00.000000,19.3014,100.8583,0,-3.107083333333332,-1.915059154199471,20.0758,19.0527,-0.26063333333334526,-0.9685527702162162,100.6793,100.7863,-0.10643043104905342,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T15:00:00.000000,19.2847,100.3671,0,-2.4117833333333323,-1.256650130256556,19.3014,17.3956,-0.6564666666666739,-2.782290539729663,100.8583,100.4938,-0.06667718397535827,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T16:00:00.000000,18.7581,100.1713,0,-2.1436333333333373,-1.2421997533843125,19.2847,16.6736,-0.725916666666663,-2.090005050481716,100.3671,100.3256,-0.05088928456222852,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T17:00:00.000000,17.4053,100.5364,0,-2.671050000000001,-2.17962712189382,18.7581,17.4238,-0.19581666666665853,-0.46230318970114287,100.1713,100.2184,-0.0607585605611447,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T18:00:00.000000,17.4053,100.5364,1,-1.9126833333333337,-1.5451652095637027,17.4053,17.2946,-0.061666666666667425,-0.2041020783535136,100.5364,100.4099,-0.10240031311696052,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T19:00:00.000000,17.4053,100.5364,1,-1.2997999999999976,-1.191314751208465,17.4053,17.0944,0.011600000000015598,0.04857059668236085,100.5364,99.925,-0.07918703628421864,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T20:00:00.000000,17.4053,100.5364,1,-0.8547166666666648,-0.8936167742827302,17.4053,17.7668,0.03541666666666288,0.15589684675268942,100.5364,100.2765,-0.08875471177006217,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T21:00:00.000000,17.4053,100.5364,1,-0.5387000000000022,-0.6330181356636441,17.4053,18.6752,0.08906666666666752,0.5889208260505331,100.5364,100.1254,-0.08092915025899633,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T22:00:00.000000,19.9709,100.8255,0,2.340133333333334,4.2372358048085585,17.4053,18.3568,0.34995000000000687,2.3478469884606703,100.5364,100.5209,-0.002729483943226363,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-09T23:00:00.000000,20.0709,100.7779,0,2.238000000000003,2.136715795271578,19.9709,20.6558,0.1933166666666608,1.6379356351055543,100.8255,100.7938,-0.10819425378153696,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T00:00:00.000000,21.8622,100.9566,0,3.5850333333333353,2.6534964414367392,20.0709,21.0535,0.33176666666665255,2.407162889132606,100.7779,101.3248,-0.06668607606068894,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T01:00:00.000000,22.2601,101.0202,0,3.240116666666669,1.7120498248985652,21.8622,22.7883,0.32533333333333303,1.7759015634812143,100.9566,101.2384,-0.10904812948024967,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T02:00:00.000000,23.2852,101.1291,0,3.456083333333332,1.652458188954145,22.2601,22.83,0.3535999999999859,1.7273720329171034,101.0202,101.4742,-0.10446282136379292,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T03:00:00.000000,24.1858,101.5738,0,3.3766999999999996,1.6032742734703527,23.2852,24.3792,0.6995166666666819,3.3436877991845204,101.1291,101.5827,-0.040291229561317254,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T04:00:00.000000,23.8115,101.5669,0,1.8723166666666664,1.1058648913596596,24.1858,25.5303,0.5197166666666675,1.8047765047046942,101.5738,101.7101,-0.07873955157170809,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T05:00:00.000000,24.3824,101.5909,0,1.8031166666666678,1.188648195170968,23.8115,24.6243,0.4201500000000067,1.2737954757281906,101.5669,101.4362,-0.10540975058691676,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T06:00:00.000000,25.2984,101.8866,0,2.0005333333333333,1.9309742305826372,24.3824,25.8622,0.5803500000000099,1.921712140633343,101.5909,101.9322,-0.054784789714938,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T07:00:00.000000,25.4068,101.2942,0,1.5362333333333353,1.4865506734967446,25.2984,24.4924,-0.16705000000000325,-0.5148366551295182,101.8866,101.7362,-0.02897181374823049,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T08:00:00.000000,25.9704,101.6237,0,1.5753833333333347,1.8949128989275383,25.4068,23.5734,0.11678333333333057,0.4431261103680438,101.2942,101.4305,-0.09400077159527909,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T09:00:00.000000,23.5113,101.4638,0,-1.3312500000000007,-1.5901612214533918,25.9704,24.0532,-0.12555000000000405,-0.6665394708149831,101.6237,101.1252,-0.052975378591747224,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T10:00:00.000000,23.1676,101.3342,0,-1.5625333333333309,-1.5998571641077788,23.5113,23.7104,-0.23681666666666956,-1.2119655233552147,101.4638,101.1613,-0.08423057336243706,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T11:00:00.000000,22.1918,101.0883,0,-2.4310166666666646,-2.1660744698541556,23.1676,21.9555,-0.44393333333333374,-2.0350051507986526,101.3342,101.3413,-0.07749141829338468,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T12:00:00.000000,20.724,101.0211,0,-3.533716666666667,-2.345389219428182,22.1918,21.0826,-0.4273666666666571,-1.5312437164460093,101.0883,100.976,-0.08372228665286802,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T13:00:00.000000,20.1448,100.9861,0,-3.3505166666666675,-1.7068362610904733,20.724,20.0758,-0.3181166666666684,-1.4077865381053392,101.0211,100.6793,-0.10245792630011463,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T14:00:00.000000,19.0739,100.7909,0,-3.5444166666666703,-1.6811884669244335,20.1448,19.3014,-0.46196666666666886,-1.7700319903358004,100.9861,100.8583,-0.09849857353196773,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T15:00:00.000000,18.3386,100.193,0,-3.130300000000002,-1.7708384322487605,19.0739,19.2847,-0.9210666666666611,-3.7546675398362814,100.7909,100.3671,-0.024969657968478776,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T16:00:00.000000,16.9631,100.172,0,-3.643683333333332,-1.9882884630388078,18.3386,18.7581,-0.7302666666666653,-1.8758288461266976,100.193,100.1713,-0.014891887265508774,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T17:00:00.000000,15.6659,100.447,0,-3.906799999999997,-2.112908210646198,16.9631,17.4053,-0.26156666666666695,-0.6237010034873787,100.172,100.5364,-0.05390037655639662,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T18:00:00.000000,17.4403,100.4155,0,-1.044749999999997,-0.5446165803927591,15.6659,17.4053,-0.18618333333333226,-0.48558198770466676,100.447,100.5364,-0.10548289746771927,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T19:00:00.000000,17.2539,100.0957,0,-0.6838666666666633,-0.4294125583176735,17.4403,17.4053,-0.4050500000000028,-1.240950251130294,100.4155,100.5364,-0.10148090791716191,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T20:00:00.000000,17.0524,100.3729,0,-0.40355000000000274,-0.3438965194142839,17.2539,17.4053,0.020550000000000068,0.08010488621002661,100.0957,100.5364,-0.08240751217849362,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T21:00:00.000000,18.272,100.4848,0,1.1529666666666643,1.3314917591389488,17.0524,17.4053,0.20211666666666872,1.3750009084667252,100.3729,100.5364,-0.06707836546166362,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T22:00:00.000000,19.1581,100.5893,0,2.050166666666666,2.41939081455754,18.272,19.9709,0.25798333333332835,1.6209487143070136,100.4848,100.8255,-0.0880047667819075,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-10T23:00:00.000000,19.8146,100.749,0,2.3408333333333324,1.9826825193583042,19.1581,20.0709,0.34813333333333674,2.089444852042944,100.5893,100.7779,-0.08660579173065436,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T00:00:00.000000,21.1038,100.9745,0,2.9385833333333338,2.6153983655356874,19.8146,21.8622,0.5233000000000203,2.375345354727517,100.749,100.9566,-0.07254042723370835,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T01:00:00.000000,21.6525,100.9113,0,2.8766999999999996,1.8427558588444486,21.1038,22.2601,0.36693333333332134,1.2056104019634335,100.9745,101.0202,-0.11857293945686609,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T02:00:00.000000,21.769,101.449,0,2.2600999999999978,1.3083825332182102,21.6525,23.2852,0.7686999999999955,3.216175318928298,100.9113,101.1291,-0.05858235145790869,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T03:00:00.000000,23.069,101.5633,0,2.774000000000001,1.934099762518037,21.769,24.1858,0.7036500000000103,2.0500785615117163,101.449,101.5738,-0.07624980797441311,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T04:00:00.000000,24.1203,101.5959,0,3.0258000000000003,2.133933279037978,23.069,23.8115,0.5564999999999998,1.4370807480895236,101.5633,101.5669,-0.09425822792981803,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T05:00:00.000000,24.0208,101.5099,0,2.0992666666666686,1.3930404012830726,24.1203,24.3824,0.3027333333333502,0.8161051946835639,101.5959,101.5909,-0.10537293692457983,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T06:00:00.000000,23.8652,101.6626,0,1.242633333333334,0.9602098168293675,24.0208,25.2984,0.3286166666666759,1.0681410659396824,101.5099,101.8866,-0.09028753548043683,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T07:00:00.000000,24.201,101.9956,0,1.118199999999998,0.992991455316316,23.8652,25.4068,0.5469333333333282,2.002200876608192,101.6626,101.2942,-0.0618270808834146,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T08:00:00.000000,22.836,101.4205,0,-0.6715499999999999,-0.7108393798910106,24.201,25.9704,-0.20888333333333264,-1.0786097936633932,101.9956,101.6237,-0.03735107315188996,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T09:00:00.000000,23.2082,101.345,0,-0.4771833333333326,-0.8180663170110751,22.836,23.5113,-0.2796333333333365,-1.403512746618217,101.4205,101.4638,-0.09047510242280604,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T10:00:00.000000,21.5869,101.0027,0,-2.1216833333333334,-3.8158562917859986,23.2082,23.1676,-0.5855499999999978,-2.543611537500628,101.345,101.3342,-0.027577546247163465,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T11:00:00.000000,21.2425,101.1527,0,-2.043849999999999,-2.0842331562250473,21.5869,22.1918,-0.3366833333333261,-1.0159400719813416,101.0027,101.0883,-0.10204624859002526,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T12:00:00.000000,19.3883,101.1419,0,-3.4349999999999987,-2.870577728541795,21.2425,20.724,-0.28794999999998083,-0.8043410216950061,101.1527,101.0211,-0.09187050604212182,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T13:00:00.000000,18.3993,101.2605,0,-3.6778499999999994,-2.1572718212115816,19.3883,20.1448,-0.08256666666667911,-0.23365413941738206,101.1419,100.9861,-0.08685184309710403,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T14:00:00.000000,18.1614,100.6768,0,-2.9487999999999985,-1.556809203889185,18.3993,19.0739,-0.5437500000000028,-3.5805294911998335,101.2605,100.7909,-0.05557448944466409,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T15:00:00.000000,16.5082,100.6024,0,-3.8229000000000006,-1.9107952262934007,18.1614,18.3386,-0.4942000000000064,-2.092811945158862,100.6768,100.193,-0.06591249054350717,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T16:00:00.000000,15.6571,100.2318,0,-3.557333333333336,-1.8312019564904587,16.5082,16.9631,-0.7410333333333199,-2.7261702791384796,100.6024,100.172,-0.036517779834212616,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T17:00:00.000000,16.7221,100.3235,0,-1.5040333333333322,-0.7513688239754437,15.6571,15.6659,-0.52085000000001,-1.2872256254403354,100.2318,100.447,-0.05193860579811049,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T18:00:00.000000,14.1797,100.4129,0,-3.2930333333333337,-2.3530693411441743,16.7221,17.4403,-0.29325000000000045,-0.6989133843136368,100.3235,100.4155,-0.063728022918216,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T19:00:00.000000,15.4184,100.6234,0,-1.1862333333333357,-0.7518786162196247,14.1797,17.2539,0.03875000000000739,0.10447967345943267,100.4129,100.0957,-0.0571816722005572,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T20:00:00.000000,20.2094,100.3241,1,4.1015833333333305,3.0318235609078483,15.4184,17.0524,-0.1543666666666752,-0.8501229340732024,100.6234,100.3729,-0.00602484607133591,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T21:00:00.000000,13.2289,99.7037,1,-3.22025,-1.569168310318233,20.2094,18.272,-0.715983333333341,-4.464107328480982,100.3241,100.4848,-0.003639943909494625,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T22:00:00.000000,17.4403,102.5557,1,1.537700000000001,0.6316507195925508,13.2289,19.1581,2.2857999999999947,7.4297673031927385,99.7037,100.5893,0.05595914490488485,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-11T23:00:00.000000,18.0048,98.5259,1,1.8049999999999997,0.7202026983034518,17.4403,19.8146,-2.1313166666666774,-2.176036615016715,102.5557,100.749,0.06060271102137793,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T00:00:00.000000,19.062,102.5169,1,2.648416666666666,1.0138758704232524,18.0048,21.1038,2.1592833333333346,1.637966991884212,98.5259,100.9745,0.014676161592953041,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T01:00:00.000000,20.0158,100.0505,1,2.7884999999999955,1.099365213110655,19.062,21.6525,-0.6577833333333274,-0.414186599865196,102.5169,100.9113,-0.013147518830195826,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T02:00:00.000000,21.5637,101.1315,0,3.5701666666666654,1.386555127080213,20.0158,21.769,0.5186999999999955,0.32191197176991043,100.0505,101.449,-0.06119344644039382,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T03:00:00.000000,22.3293,101.4242,0,4.110050000000001,1.4409345318420588,21.5637,23.069,0.6768333333333345,0.41881048152405076,101.1315,101.5633,-0.06637488138146808,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T04:00:00.000000,22.7769,101.49,0,3.040916666666668,1.5655062538816509,22.3293,24.1203,0.45588333333333253,0.29508200651093547,101.4242,101.5959,-0.10073161927143087,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T05:00:00.000000,22.6073,101.8824,0,1.9818833333333323,1.0417695727336,22.7769,24.0208,1.0259000000000071,0.7389380631120511,101.49,101.5099,-0.07722029543118353,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T06:00:00.000000,23.1179,101.4325,0,1.725399999999997,1.1315259214360425,22.6073,23.8652,0.01658333333334383,0.020167914933296772,101.8824,101.6626,-0.08114063153392498,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T07:00:00.000000,22.0433,101.4519,0,-0.025183333333334446,-0.02220750196827708,23.1179,24.201,0.216716666666656,0.3450213953248485,101.4325,101.9956,-0.10687461324678432,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T08:00:00.000000,22.9544,101.3703,0,0.5479999999999983,0.9900692546311735,22.0433,22.836,-0.0984499999999997,-0.40958438084803983,101.4519,101.4205,-0.11607195482671934,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T09:00:00.000000,21.5205,101.717,0,-1.117683333333332,-2.794885741429182,22.9544,23.2082,0.20844999999999914,1.1131670738546007,101.3703,101.345,-0.09217347625893535,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T10:00:00.000000,21.0506,101.2598,0,-1.4527833333333326,-2.3919885878006144,21.5205,21.5869,-0.2975500000000011,-1.4976045556112714,101.717,101.0027,-0.09174033164329481,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T11:00:00.000000,19.4131,101.0708,0,-2.8025666666666638,-3.406900195296064,21.0506,21.2425,-0.4481833333333327,-1.9196495650711805,101.2598,101.1527,-0.07655242517242011,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T12:00:00.000000,19.0235,101.2521,0,-2.6598000000000006,-1.941512244208971,19.4131,19.3883,-0.13161666666665894,-0.6115969248913764,101.0708,101.1419,-0.1084796984899481,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T13:00:00.000000,18.2244,100.5443,0,-2.7764999999999986,-1.8223562455700544,19.0235,18.3993,-0.8093499999999949,-3.685892916994453,101.2521,101.2605,-0.04799520388775613,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T14:00:00.000000,16.4011,100.8724,0,-3.9633166666666675,-2.2296723183460445,18.2244,18.1614,-0.3299833333333311,-0.8524779799602435,100.5443,100.6768,-0.08538501987938962,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T15:00:00.000000,15.0124,100.472,0,-4.2597999999999985,-2.267881927661198,16.4011,16.5082,-0.6474000000000046,-1.6301997666611663,100.8724,100.6024,-0.03206690883280067,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T16:00:00.000000,14.7456,100.3267,0,-3.4419166666666676,-1.5818533928602199,15.0124,15.6571,-0.5852000000000004,-1.700384622066743,100.472,100.2318,-0.033278733571038555,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T17:00:00.000000,14.5914,100.1294,0,-2.545283333333334,-1.2510527575383796,14.7456,16.7221,-0.6269833333333423,-1.7146652393449002,100.3267,100.3235,-0.039012386070798155,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T18:00:00.000000,14.4276,100.1188,0,-1.9054666666666638,-1.0009985351389235,14.5914,14.1797,-0.4806833333333458,-1.1905411160392316,100.1294,100.4129,-0.018399972904103834,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T19:00:00.000000,15.2324,100.597,0,-0.3346833333333308,-0.22574810176010932,14.4276,15.4184,0.1863999999999919,0.6540030586584609,100.1188,100.6234,-0.022812806981962586,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T20:00:00.000000,15.1095,100.3142,0,0.04108333333333114,0.05754538583904074,15.2324,20.2094,-0.10518333333332919,-0.36181119532290107,100.597,100.3241,-0.08463958387515452,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T21:00:00.000000,15.7843,100.8118,0,0.9311500000000006,2.956167856525779,15.1095,13.2289,0.48545000000000016,2.583940472941694,100.3142,99.7037,0.03643460189011305,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T22:00:00.000000,17.0782,100.4592,0,2.0963999999999974,4.21229897665283,15.7843,17.4403,0.07621666666665305,0.27954292551750254,100.8118,102.5557,0.025249986865079732,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-12T23:00:00.000000,17.6438,100.8774,0,2.273233333333332,2.3519989472316696,17.0782,18.0048,0.4723333333333386,1.733060188436216,100.4592,98.5259,0.005199350558301674,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T00:00:00.000000,17.6352,100.7956,0,1.7559000000000005,1.4169378463724789,17.6438,19.062,0.2658666666666534,0.9116424493620742,100.8774,102.5169,-0.06351055002157191,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T01:00:00.000000,19.4459,101.3136,0,3.032,2.573687082914786,17.6352,20.0158,0.6710666666666611,2.9967285358346962,100.7956,100.0505,-0.027343798862818403,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T02:00:00.000000,21.2196,101.6276,0,4.103449999999999,2.6736719523449524,19.4459,21.5637,0.8656333333333208,2.4714202154870777,101.3136,101.1315,-0.023468058960354532,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T03:00:00.000000,21.4801,101.1901,0,3.345600000000001,1.7455849315673422,21.2196,22.3293,0.20923333333334426,0.5002421726206903,101.6276,101.4242,-0.09683573774552706,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T04:00:00.000000,21.3036,101.8239,0,2.2197999999999993,1.1500015451920826,21.4801,22.7769,0.7799833333333197,1.8741073638292431,101.1901,101.49,-0.0901736722987691,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T05:00:00.000000,23.3611,101.7667,0,3.5730666666666657,1.9634073085712231,21.3036,22.6073,0.49533333333333474,1.2215404631325943,101.8239,101.8824,-0.07692628628217946,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T06:00:00.000000,21.9079,101.596,0,1.1669833333333344,0.5942861512354077,23.3611,23.1179,0.17641666666666822,0.4465219872316538,101.7667,101.4325,-0.10393518618007647,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T07:00:00.000000,22.4517,101.8,0,0.998666666666665,0.7918069432343559,21.9079,22.0433,0.2470166666666671,0.9833930011834809,101.596,101.4519,-0.12289317397813948,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T08:00:00.000000,22.1594,101.5449,0,0.20540000000000447,0.24847440490736186,22.4517,22.9544,-0.08915000000000362,-0.376889434667481,101.8,101.3703,-0.10340555751343034,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T09:00:00.000000,20.9476,101.337,0,-1.1630333333333347,-1.56190040122389,22.1594,21.5205,-0.28326666666666256,-1.1833104181031042,101.5449,101.717,-0.10416839371132725,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T10:00:00.000000,20.3653,101.3629,0,-1.6565833333333337,-1.9309223227779035,20.9476,21.0506,-0.2818500000000057,-1.4932746984968752,101.337,101.2598,-0.11039752536560016,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T11:00:00.000000,20.4048,101.2342,0,-1.4606999999999992,-1.3607183846714883,20.3653,19.4131,-0.33371666666667466,-1.7117039607163889,101.3629,101.0708,-0.10708458224246709,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T12:00:00.000000,18.5667,100.9534,0,-2.8060833333333335,-3.0609693845639128,20.4048,19.0235,-0.5257666666666694,-2.5375802984340896,101.2342,101.2521,-0.06665852675964185,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T13:00:00.000000,18.405,100.6837,0,-2.4109166666666653,-1.7108492995785887,18.5667,18.2244,-0.688366666666667,-2.407992473232444,100.9534,100.5443,-0.07888753836710793,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T14:00:00.000000,16.4338,101.1647,0,-3.707666666666668,-2.578681513546661,18.405,16.4011,-0.021316666666663764,-0.06798026478222138,100.6837,100.8724,-0.061879571691426216,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T15:00:00.000000,15.3718,100.5942,0,-3.8154000000000003,-2.23681571512498,16.4338,15.0124,-0.5284500000000065,-2.028900827936014,101.1647,100.472,-0.011630292776470486,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T16:00:00.000000,15.7522,100.0984,0,-2.5057000000000027,-1.2278057397755047,15.3718,14.7456,-0.9004500000000064,-2.904510905888149,100.5942,100.3267,-0.009371038224784856,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T17:00:00.000000,14.0389,99.96,0,-3.4501500000000025,-1.7645649368514478,15.7522,14.5914,-0.8281000000000063,-1.9602105536110275,100.0984,100.1294,0.03554997145410932,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T18:00:00.000000,14.735,100.764,0,-1.6930666666666667,-0.9535517412827058,14.0389,14.4276,0.1882666666666637,0.3998464715227747,99.96,100.1188,0.013833939210193269,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T19:00:00.000000,15.2555,100.5035,0,-0.5339500000000026,-0.3504285242770455,14.735,15.2324,-0.04066666666666663,-0.09114697365820669,100.764,100.597,-0.06601021981595179,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T20:00:00.000000,14.7227,100.4446,0,-0.5418333333333347,-0.6571492915601187,15.2555,15.1095,-0.06953333333333944,-0.157697337005515,100.5035,100.3142,-0.06509849604100659,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T21:00:00.000000,16.248,100.6357,0,1.2686500000000027,2.0926755049390917,14.7227,15.7843,0.24158333333333815,0.7902598434969386,100.4446,100.8118,-0.037271113813500734,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T22:00:00.000000,15.4895,100.9939,0,0.364116666666666,0.4576485264370173,16.248,17.0782,0.5928666666666658,1.9029758916156874,100.6357,100.4592,-0.030859813502796818,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-13T23:00:00.000000,17.4149,100.9855,0,2.3332999999999995,3.0673307109230166,15.4895,17.6438,0.43521666666667613,1.2444328633775947,100.9939,100.8774,-0.04159403418801605,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T00:00:00.000000,18.8462,100.8109,0,3.2019333333333346,3.0952002890386785,17.4149,17.6352,0.08970000000000766,0.3809181842626188,100.9855,100.7956,-0.03799676987518735,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T01:00:00.000000,18.956,100.9701,0,2.6265333333333345,1.6982956063256893,18.8462,19.4459,0.24108333333333576,1.0131512914853198,100.8109,101.3136,-0.09547438465060071,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T02:00:00.000000,20.9297,101.2871,0,3.9834833333333357,2.2681523412447055,18.956,21.2196,0.48031666666666695,2.1306921754413892,100.9701,101.6276,-0.07021319263962578,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T03:00:00.000000,21.905,101.0553,0,3.924283333333335,1.9658134161758423,20.9297,21.4801,0.1080999999999932,0.4982951771536111,101.2871,101.1901,-0.08252644478470744,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T04:00:00.000000,22.3131,101.4318,0,3.3895499999999963,1.4589153460331472,21.905,21.3036,0.41466666666666185,2.6697353555268464,101.0553,101.8239,-0.08083989565134708,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T05:00:00.000000,22.4023,100.978,0,2.3414833333333327,1.2035162062563296,22.3131,23.3611,-0.11211666666667952,-0.4915953571993273,101.4318,101.7667,-0.08917108155257908,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T06:00:00.000000,22.5132,101.4507,0,1.62115,0.9954320711105799,22.4023,21.9079,0.36183333333332257,1.5816156845480431,100.978,101.596,-0.11446226560373834,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T07:00:00.000000,23.7982,101.5021,0,2.294983333333331,1.6682083790763598,22.5132,22.4517,0.3066000000000031,1.3791160011361552,101.4507,101.8,-0.11393554145778789,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T08:00:00.000000,23.1714,101.7069,0,0.8611499999999985,0.9249724967199261,23.7982,22.1594,0.4227333333333547,1.9169639099398892,101.5021,101.5449,-0.09745106050599756,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T09:00:00.000000,21.7789,101.6752,0,-0.9049666666666702,-1.3251325001260132,23.1714,20.9476,0.32106666666666683,1.1459750027335651,101.7069,101.337,-0.08202147197044701,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T10:00:00.000000,21.0537,101.1747,0,-1.6091500000000032,-2.256973678390613,21.7789,20.3653,-0.28274999999999295,-1.080790230638897,101.6752,101.3629,-0.10151417391608797,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T11:00:00.000000,20.7691,100.9258,0,-1.6838499999999996,-1.7286297873203853,21.0537,20.4048,-0.4888000000000119,-1.705959752073824,101.1747,101.2342,-0.10657016602469838,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T12:00:00.000000,19.0489,100.7796,0,-3.13185,-2.6221889093297954,20.7691,18.5667,-0.6262999999999863,-2.068598366067979,100.9258,100.9534,-0.07479917059236207,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T13:00:00.000000,18.3416,100.7479,0,-3.261766666666663,-1.8939276785791554,19.0489,18.405,-0.5461500000000115,-1.3885519710409269,100.7796,100.6837,-0.0992191431492459,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T14:00:00.000000,17.4723,100.6,0,-3.221633333333333,-1.8186705453391234,18.3416,16.4338,-0.5683499999999952,-1.3152102460385486,100.7479,101.1647,-0.08830785356861759,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T15:00:00.000000,16.6462,100.8566,0,-3.097883333333332,-1.818044674590754,17.4723,15.3718,-0.12726666666665665,-0.32589875379588107,100.6,100.5942,-0.07869918821784333,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T16:00:00.000000,15.7558,100.324,0,-3.132833333333334,-1.7745787215857336,16.6462,15.7522,-0.5234333333333439,-2.6918209478820936,100.8566,100.0984,-0.039254381193091936,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T17:00:00.000000,16.6069,100.51,0,-1.3987499999999997,-0.7811374354069851,15.7558,14.0389,-0.19564999999998633,-0.901844220914944,100.324,99.96,-0.04846472390691148,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T18:00:00.000000,16.4249,100.0889,0,-0.8870499999999986,-0.7259785404366084,16.6069,14.735,-0.5474499999999978,-2.762770192311617,100.51,100.764,-0.04039044379252443,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T19:00:00.000000,16.558,100.6408,0,-0.31661666666666477,-0.35019564035969997,16.4249,15.2555,0.11956666666665683,0.42486591274549246,100.0889,100.5035,-0.04404662021413658,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T20:00:00.000000,17.0211,100.638,0,0.4437500000000014,0.808796778601288,16.558,14.7227,0.13461666666667327,0.503791110612534,100.6408,100.4446,-0.048558768135381736,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T21:00:00.000000,17.1767,100.5359,0,0.67455,1.6197583888136469,17.0211,16.248,0.026183333333321457,0.09683660508010054,100.638,100.6357,-0.07646904168803931,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T22:00:00.000000,18.0278,100.4574,0,1.4372333333333316,2.869284330985094,17.1767,15.4895,0.0011333333333283235,0.005298484151961758,100.5359,100.9939,-0.035322096607543596,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +2024-05-14T23:00:00.000000,18.3084,100.773,0,1.3391666666666673,2.2552481478061663,18.0278,17.4149,0.2944999999999993,1.4428582425687555,100.4574,100.9855,-0.07089966977481837,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/examples/sample_run_mahalanobis/flagged_rows.csv b/examples/sample_run_mahalanobis/flagged_rows.csv new file mode 100644 index 0000000..a1e0a3e --- /dev/null +++ b/examples/sample_run_mahalanobis/flagged_rows.csv @@ -0,0 +1,7 @@ +timestamp,temperature,pressure,is_anomaly,score,threshold,top_feature,top_contribution +2024-05-11T22:00:00.000000,17.4403,102.5557,1,6.257610975292394,3.919082400694897,pressure_z,23.088030964190335 +2024-05-11T23:00:00.000000,18.0048,98.5259,1,5.255534519474889,3.919082400694897,pressure_resid,18.74729217811018 +2024-05-12T00:00:00.000000,19.062,102.5169,1,6.241559301673764,3.919082400694897,pressure_resid,20.604638383906018 +2024-05-12T21:00:00.000000,15.7843,100.8118,0,4.645462844869839,3.919082400694897,temperature_lag_24,14.339393868995243 +2024-05-12T22:00:00.000000,17.0782,100.4592,0,4.103897328234859,3.919082400694897,temperature_z,13.356168623472573 +2024-05-12T23:00:00.000000,17.6438,100.8774,0,4.103791516001944,3.919082400694897,pressure_lag_24,13.187861934327385 diff --git a/examples/sample_run_mahalanobis/model_card.md b/examples/sample_run_mahalanobis/model_card.md new file mode 100644 index 0000000..cd415ec --- /dev/null +++ b/examples/sample_run_mahalanobis/model_card.md @@ -0,0 +1,71 @@ +# Model card: mahalanobis + +Generated: 2026-07-29 UTC. + +## Overview + +Use this card to reproduce a leakage-safe anomaly experiment on small time-series datasets. Treat the output as a teaching and review artifact, not as a production control. + +## Identity + +| Field | Value | +| --- | --- | +| Detector | mahalanobis | +| Random state | 7 | +| Rolling window (hours) | 6 | +| Lags (hours) | 1, 24 | +| Contamination | 0.05 | +| Threshold source | calibration quantile | +| Calibration anomalies dropped | True | + +## Data windows + +| Field | Value | +| --- | --- | +| Calibration rows | 156 | +| Calibration start | 2024-05-02 00:00:00 | +| Calibration end | 2024-05-08 11:00:00 | +| Evaluation rows | 156 | +| Evaluation start | 2024-05-08 12:00:00 | +| Evaluation end | 2024-05-14 23:00:00 | +| Evaluation anomalies | 10 | + +## Features + +Derived features (8): temperature_resid, temperature_z, temperature_lag_1, temperature_lag_24, pressure_resid, pressure_z, pressure_lag_1, pressure_lag_24. + +## Leakage controls + +- The detector is fit on the calibration window only. +- The scaler is fit on the calibration window only. +- The threshold comes from calibration scores, not evaluation labels. +- All features use past and current rows only; future rows are never read. + +## Metrics (evaluation window) + +| Field | Value | +| --- | --- | +| roc_auc | 0.6938 | +| average_precision | 0.4756 | +| precision_at_k | 0.5 | +| recall_at_k | 0.5 | +| threshold | 3.919082 | +| flagged | 6 | +| true_positives | 3 | +| false_positives | 3 | + +## Local feature contribution + +Per-feature contribution equals deviation times precision-weighted deviation. Row contributions sum to the squared Mahalanobis distance. Negative values show features that offset the distance through correlation. + +## Intended use + +Use this card to reproduce a leakage-safe anomaly experiment on small time-series datasets. Treat the output as a teaching and review artifact, not as a production control. + +## Limitations + +- The bundled dataset is synthetic and small; results are illustrative. +- Isolation Forest scores shift when the random state or scikit-learn version changes. +- Causal rolling features lag true change points by the window length. +- The detector assumes the calibration window is close to normal operation. +- Mahalanobis contributions are signed; correlated features can offset each other. diff --git a/examples/sample_run_mahalanobis/report.html b/examples/sample_run_mahalanobis/report.html new file mode 100644 index 0000000..693b59b --- /dev/null +++ b/examples/sample_run_mahalanobis/report.html @@ -0,0 +1,7 @@ + + + +
+
+ + \ No newline at end of file diff --git a/examples/sample_run_mahalanobis/scores.csv b/examples/sample_run_mahalanobis/scores.csv new file mode 100644 index 0000000..e1c5e69 --- /dev/null +++ b/examples/sample_run_mahalanobis/scores.csv @@ -0,0 +1,313 @@ +timestamp,temperature,pressure,is_anomaly,temperature_resid,temperature_z,temperature_lag_1,temperature_lag_24,pressure_resid,pressure_z,pressure_lag_1,pressure_lag_24,score,flagged,contrib_temperature_resid,contrib_temperature_z,contrib_temperature_lag_1,contrib_temperature_lag_24,contrib_pressure_resid,contrib_pressure_z,contrib_pressure_lag_1,contrib_pressure_lag_24 +2024-05-02T00:00:00.000000,20.5663,100.8903,0,2.684799999999999,1.9152824690282304,20.1527,19.8365,0.4365499999999969,2.5223011108063456,100.6187,101.2285,2.072398244272585,0,1.600918229830237,-0.35964787117817726,-0.08728491660857862,0.5721310705127125,-0.3360566595912703,2.688526008263043,0.213732139249624,0.002516482386504115 +2024-05-02T01:00:00.000000,21.6645,100.821,0,3.0912000000000006,1.9943330948135574,20.5663,20.6042,0.29648333333332744,1.1903942839891573,100.8903,100.9012,1.7863005944975303,0,3.67203348779976,-0.625436214352583,0.06072053108395798,-0.017060009224557963,0.02674550847629311,-0.157983133032934,0.05418129531771345,0.17766834783458219 +2024-05-02T02:00:00.000000,24.0833,101.3597,0,4.657600000000002,2.8758247296773343,21.6645,22.3594,0.7781999999999982,2.8358456925441415,100.821,101.2777,2.319634995006946,0,6.262042168323614,-1.717174721699789,0.3758951472743697,-0.7546783616094357,0.40849262713725354,0.7264995087594136,0.14989190115030906,-0.0702617592748616 +2024-05-02T03:00:00.000000,24.0261,101.2684,0,3.576116666666664,1.5592936907998083,24.0833,23.2089,0.49815000000000964,1.3893068755517677,101.3597,101.3932,2.155127983947563,0,5.377956890319088,-1.386911075932544,1.9842067858514263,-1.3192392813495915,0.38479841918066365,-0.3178288994831404,0.024244569802919773,-0.10265078119493089 +2024-05-02T04:00:00.000000,24.5763,101.628,0,3.047766666666668,1.3991242719061852,24.0261,23.4671,0.7552166666666835,1.871504072985597,101.2684,101.7941,1.973822080372134,0,2.7934067976553285,-0.8995095340437268,1.6926780879417944,-1.2769705800470807,1.2725907584750533,-0.04340822355009869,0.0035168033116431013,0.35366949522166474 +2024-05-02T05:00:00.000000,26.2643,101.4356,0,3.752766666666666,1.920428527257316,24.5763,24.0927,0.33791666666665776,0.8855705993459047,101.628,101.6392,2.1668624518044104,0,4.814634402511497,-0.7985910454781099,1.8359873283194559,-1.0248374883909277,0.15834237715694838,-0.529854569653029,0.25766800112206917,-0.018056120548082696 +2024-05-02T06:00:00.000000,25.8497,101.2372,0,2.3195666666666632,1.1215454679850805,26.2643,23.4319,0.0033666666666647416,0.01062975537932433,101.4356,101.6988,2.4539783717971124,0,1.9478111668205214,0.07654627507066285,5.928232105577122,-1.9372168528886782,-0.01407837946022881,-0.036613717999529005,-0.12765271789032567,0.18498197001846506 +2024-05-02T07:00:00.000000,25.5268,101.5192,0,1.1160999999999994,0.6835363862345665,25.8497,23.8107,0.2275499999999937,0.8439356379151726,101.2372,101.4433,1.9048953527074883,0,-0.2065737857035905,0.33771635932826033,4.633699785264615,-1.2212685616338785,-0.06365277976262611,0.2242358046595647,-0.0663154696212272,-0.009215047764529827 +2024-05-02T08:00:00.000000,25.2943,101.5521,0,0.23988333333333145,0.25150648296010997,25.5268,24.0145,0.14408333333331313,0.9604663928399272,101.5192,101.3238,1.92038495032138,0,-0.30712538206000867,0.25222488162490675,3.5071525897053264,-0.694989467954078,-0.12509276097695654,0.7632332469888613,0.3442364434472349,-0.05176119335443658 +2024-05-02T09:00:00.000000,24.5281,101.6822,0,-0.7281499999999994,-0.8806069393664074,25.2943,23.6216,0.24211666666666076,1.5326494073860186,101.5521,101.4037,2.3380093653546674,0,0.47358526663423267,-0.05122971223707633,3.1839861348885123,-0.9163198560228193,-0.20655301706819537,2.394275602209774,0.582335107958498,0.0062082661232089045 +2024-05-02T10:00:00.000000,23.4989,101.6595,0,-1.8410166666666683,-2.6608696261337,24.5281,22.5435,0.1504499999999922,0.95007238899011,101.6822,101.537,2.688753004365537,0,0.33038209641858934,2.9916186723208322,2.023136064490161,-0.7570067909278888,-0.058875657102553,1.5571150704194365,0.9441533143226073,0.1988699485435161 +2024-05-02T11:00:00.000000,21.3153,100.936,0,-3.845049999999997,-3.8426324401151875,23.4989,21.2237,-0.5782999999999845,-3.536432269118203,101.6595,101.2346,2.617522991325962,0,-0.5308270537757733,2.9097743359636157,0.5806057453081445,0.10924427852948747,-0.6999070559759825,4.19007088341158,0.2504134704954553,0.04205200616348315 +2024-05-02T12:00:00.000000,21.7874,100.8884,0,-2.5481166666666653,-1.4968271762074534,21.3153,20.4733,-0.5426333333333275,-1.871502010016435,100.936,101.3044,1.534611688394229,0,1.6955688831503681,-0.7432114594220267,0.11483411679441564,-0.019920864326446734,0.3764215557763153,0.7096180632218687,0.09149431517093569,0.13022842379075608 +2024-05-02T13:00:00.000000,20.369,100.7608,0,-3.289466666666666,-1.8423447743071937,21.7874,19.9283,-0.6120999999999981,-1.6886635418631752,100.8884,100.7695,1.8190875306939347,0,3.3329631838306892,-1.3384088939196546,0.5927097694286969,0.015300995987206386,0.7863743215732951,-0.266755877540888,0.0927867959314542,0.0941091490353585 +2024-05-02T14:00:00.000000,20.2442,100.3825,0,-2.554633333333335,-1.3162000381366836,20.369,18.0666,-0.8640000000000185,-2.0204292628376113,100.7608,100.6363,1.864231586793865,0,1.1338484158577689,-0.7877678363769359,0.010488721908107766,0.9672390955623881,1.8507233085323274,-0.09601328181285075,0.211145612549229,0.18569537297993682 +2024-05-02T15:00:00.000000,19.161,100.2742,0,-2.7961499999999972,-1.6206375819637493,20.2442,18.572,-0.7773666666666657,-1.5019197238649182,100.3825,100.9332,1.9520845868806644,0,1.3999324699625502,-0.5228207268464571,-0.037921194304485414,0.25368935503384765,1.9168860925146005,-0.44180852379060376,1.2955543095730486,-0.05287754780544562 +2024-05-02T16:00:00.000000,18.7107,100.6342,0,-2.351933333333335,-1.5650582128535084,19.161,17.2666,-0.18269999999998277,-0.37052715683428517,100.2742,100.2993,1.872713933910708,0,0.4365493517235313,0.21686747262220843,-0.537146628049989,1.8150084382430896,0.061088474345817455,-0.18140286298085687,0.9656792826242319,0.7304139497352866 +2024-05-02T17:00:00.000000,17.434,100.4136,0,-2.8306000000000004,-2.3809694577796843,18.7107,16.6245,-0.2324166666666514,-0.8615786788558039,100.6342,100.2779,1.902615028381552,0,-0.3034042756713625,1.506222999032036,-0.586091868007309,2.6228359340756735,-0.0396611269656369,-0.4093072190075214,0.06455354177962808,0.7647959609878248 +2024-05-02T18:00:00.000000,17.7278,100.8416,0,-1.889916666666668,-1.2481117642916673,17.434,16.4155,0.28265000000000384,1.1771218088958155,100.4136,100.4657,2.409541364444584,0,0.659451150373134,0.3803708712746167,-0.7699204390510102,3.322948294869786,0.20035916870088483,1.737271913836854,-0.06725810924073529,0.3426667362059393 +2024-05-02T19:00:00.000000,18.2922,100.5363,0,-0.6489166666666648,-0.5269703491400414,17.7278,16.5501,-0.014849999999995589,-0.06521244779018608,100.8416,100.4791,1.7369832100095075,0,-0.18344472802263187,0.132398286535126,-0.6841038371613412,3.401651059188842,0.007201682360555009,0.0020070081722870993,-0.1416406595902413,0.4830418603723376 +2024-05-02T20:00:00.000000,17.5332,100.3704,0,-1.0617833333333309,-1.0366637219822077,18.2922,17.9376,-0.14333333333333087,-0.7042015122264328,100.5363,100.2272,1.467080179496521,0,-0.542625667119519,0.5995645958326057,-0.03683653699314801,0.47951552437264233,-0.030243870795308825,0.09814341774511039,0.4367139081881476,1.1480928818410139 +2024-05-02T21:00:00.000000,18.5946,100.3231,0,0.4514499999999977,0.6478710513792187,17.5332,17.5548,-0.1886166666666611,-0.9193903095004033,100.3704,100.6532,1.7616237448164487,0,0.44402537497592864,0.035660953322929075,-0.05362983567699821,0.8144452080855679,-0.042245483462538654,0.7034918752763112,0.9918186126095514,0.20975151317037743 +2024-05-02T22:00:00.000000,19.2126,100.8089,0,1.1638499999999965,2.0956727391640952,18.5946,18.6783,0.2890333333333359,1.4858233794328088,100.3231,100.2786,2.188946162788159,0,-0.6714047160231662,2.6432777506176808,-0.5946018525527913,0.8890624517412439,-0.0536657629113012,0.8683546063286804,0.5131797293630027,1.1972830970216566 +2024-05-02T23:00:00.000000,20.538,100.6177,0,2.4055999999999997,3.460309160805791,19.2126,20.1527,0.06871666666665988,0.304529828380367,100.8089,100.6187,2.500352373171308,0,-1.2814382647001454,7.3141994670915285,-0.16917186626896888,0.052690230859563335,0.002000656700795373,-0.24509049807205555,0.030865830933254075,0.5477064334794239 +2024-05-03T00:00:00.000000,21.4217,100.8205,0,2.7719666666666676,2.507597472944315,20.538,20.5663,0.23749999999998295,1.0977584790128376,100.6177,100.8903,1.8074914362031638,0,1.3741885905852256,1.4893612554384357,0.06783061139006515,0.00034375100671018633,-0.059977168907691114,-0.20355349205244166,0.44058228182970743,0.1582494626577612 +2024-05-03T01:00:00.000000,22.3097,101.0323,0,3.044316666666667,2.0840208553815196,21.4217,21.6645,0.45281666666667775,2.1417751744868574,100.8205,100.821,1.8044163727877796,0,2.2429451349058525,-0.32207530226171,0.35851960992966847,-0.38201071675040305,-0.18758933144368853,1.1179903079951892,0.10123657186278057,0.3269021721469167 +2024-05-03T02:00:00.000000,23.8496,101.407,0,3.9146333333333345,2.168097378785406,22.3097,24.0833,0.7448499999999996,2.6819202108646563,101.0323,101.3597,1.9667038261871208,0,4.114113188536827,-1.6593186129373105,-0.08275830966236981,0.5713748233609514,0.3012652045897114,0.7202233752926163,0.0052166210394415935,-0.10219235028081074 +2024-05-03T03:00:00.000000,24.5026,101.2228,0,3.514900000000001,1.793379381618272,23.8496,24.0261,0.3878833333333347,1.0546979759848791,101.407,101.2684,1.943027446742881,0,4.456517833751764,-0.9664345547393175,0.9462521380300731,-0.18732907920907266,0.18337675247626797,-0.5533843200343418,-0.0013029394591250747,-0.10234017202009048 +2024-05-03T04:00:00.000000,25.2737,101.609,0,3.301333333333332,1.6499724608451904,24.5026,24.5763,0.6241333333333188,2.1286463954944983,101.2228,101.628,1.8790859816206402,0,2.7660517537290574,-0.9225288940816907,1.5405375900248284,-0.46957850026518405,0.21941058664733906,0.4475891505765047,-0.06857153197224082,0.01805397166458984 +2024-05-03T05:00:00.000000,34.5679,97.7122,1,11.585349999999998,6.2506735323479115,25.2737,26.2643,-3.406016666666673,-9.224095442667963,101.609,101.4356,13.757148205197142,0,91.35960390316156,-9.521417405667828,-0.8830788660039555,8.306738769300287,32.41621191176302,71.68687585485512,-3.6179074903074464,-0.4878999373417997 +2024-05-03T06:00:00.000000,24.6937,101.4882,0,-0.627166666666664,-0.13215101473028532,34.5679,25.8497,0.8542333333333403,0.5859942736452836,97.7122,101.2372,8.896960802049696,0,0.1900644395856342,-0.00554547808096003,41.88691439359256,-3.89066223478147,1.3479558633957796,-0.7089925047869639,40.308553668076044,0.027623366208133337 +2024-05-03T07:00:00.000000,25.2775,101.304,0,-0.5887000000000029,-0.1343376685778786,24.6937,25.5268,0.5587500000000034,0.37256962180126696,101.4882,101.5192,2.319959355295632,0,0.5136960985761162,-0.006917430357340979,-0.11007750985245987,3.518681179275034,1.370672922988999,-0.16679808249172842,0.18049055089209182,0.08246368119301202 +2024-05-03T08:00:00.000000,24.4122,101.3681,0,-1.9486333333333334,-0.48044866313055395,25.2775,25.2943,0.5775666666666694,0.38144538552022844,101.304,101.5521,3.006090305649849,0,3.9680043974778654,-0.5742021745090373,1.0399369337908695,2.8805831727853213,1.4736593184276172,-0.017561359673100078,0.04546513825573335,0.22069349916673156 +2024-05-03T09:00:00.000000,24.8803,101.7417,0,-1.574300000000001,-0.3943442367788941,24.4122,24.5281,0.957650000000001,0.6337580612903166,101.3681,101.6822,3.070673141038663,0,2.7836321192335443,-0.36256442882930195,0.5897041353881337,1.5009524626314095,4.43474302156199,-0.22493065001929766,0.24314108063037385,0.46435579849939995 +2024-05-03T10:00:00.000000,23.2005,101.4236,0,-3.3170499999999983,-0.8380422689346727,24.8803,23.4989,0.5530666666666804,0.3555789136314717,101.7417,101.6595,3.861860207901095,0,10.372992178689131,-1.7955176179635963,2.356873269632311,-0.11243576591321851,1.6559782014263322,0.27190909403153735,1.6341659936656192,0.5299989118017712 +2024-05-03T11:00:00.000000,22.8008,101.564,0,-3.3712166666666654,-0.807853886434475,23.2005,21.3153,0.7243666666666684,0.47050422552649346,101.4236,100.936,3.696119192857596,0,9.636318487742525,-1.6154843417545324,1.8098237740356975,-0.30265524397473653,2.90764220445627,0.3327719743933621,0.8652196092742914,0.027660623637410914 +2024-05-03T12:00:00.000000,21.5063,101.1137,0,-2.7045333333333375,-2.740775903340138,22.8008,21.7874,-0.3679000000000059,-2.3526043854948027,101.564,100.8884,1.938031955101118,0,-0.1847004094737721,1.5490490164928925,0.048574022026496994,0.4250625659752609,-0.30172014382118384,1.84575461459399,0.2609572026748331,0.1129909905245431 +2024-05-03T13:00:00.000000,20.1635,100.874,0,-3.516099999999998,-2.454945337698112,21.5063,20.369,-0.5451833333333269,-2.5190068821948985,101.1137,100.7608,1.7726190300032931,0,2.1658786693476957,-0.6217079812533098,0.10046050670491644,-0.05940081701344794,-0.07240436943585112,1.529616491596117,-0.021018035552363513,0.12075376113605879 +2024-05-03T14:00:00.000000,18.4265,100.5736,0,-4.400766666666662,-2.4828978786378992,20.1635,20.2442,-0.7739166666666648,-2.4789081347421336,100.874,100.3825,2.4073924877473734,0,5.593351286005002,-1.8363122466954633,0.03765286916330853,-0.2462671240923784,0.9325680862731329,0.5509613081612473,0.11614765273484405,0.6474367585127923 +2024-05-03T15:00:00.000000,18.0921,100.6041,0,-3.7375500000000024,-1.6207116457806432,18.4265,19.161,-0.61099999999999,-1.3796407027375022,100.5736,100.2742,2.2559999767828733,0,5.22454083736842,-1.4754577682145986,0.5091068917259376,-0.860961735513387,0.9395357011475151,-0.43139371370940655,0.38098027077767205,0.8031854116621712 +2024-05-03T16:00:00.000000,17.7539,100.6222,0,-2.944383333333331,-1.356016924566507,18.0921,18.7107,-0.40330000000000155,-0.9718840233434245,100.6041,100.6342,1.5882089330063658,0,2.888729175567339,-0.7481483949495334,0.5360201223318644,-0.621326795939889,0.31390587643914536,-0.25513442431232264,0.27480028669415135,0.13356176905046493 +2024-05-03T17:00:00.000000,17.5921,100.7296,0,-2.1984166666666667,-1.0717532757890316,17.7539,17.434,-0.16233333333332212,-0.4168932982441693,100.6222,100.4136,1.3959780735871028,0,1.1615299003793653,-0.26678948672834074,-0.07571547385390177,0.7729854392739897,-0.0011340286425529282,-0.15979913828356804,0.019655576982650677,0.4980219928083149 +2024-05-03T18:00:00.000000,17.8067,100.4227,0,-1.1157000000000004,-0.7117126249811122,17.5921,17.7278,-0.3301666666666563,-1.5857382714572694,100.7296,100.8416,1.2642216131771697,0,-0.3503650906700858,0.085384903858972,0.48813478731037635,0.20797968488394433,-0.14379526748231777,1.1353108577366364,0.1772192235974795,-0.0016128120107195478 +2024-05-03T19:00:00.000000,17.2632,100.3798,0,-1.0425999999999966,-1.0900292252329955,17.8067,18.2922,-0.25789999999999225,-1.6932963007621533,100.4227,100.5363,1.791797215148948,0,-0.7852217372494782,0.747441073893141,0.7226227404787355,-0.4997733419009353,-0.17765125097364343,1.7529563873853309,1.088823971720032,0.36133941686234355 +2024-05-03T20:00:00.000000,18.426,100.4908,0,0.6035833333333294,1.5011386580963737,17.2632,17.5332,-0.06453333333334399,-0.492189600655486,100.3798,100.3704,1.9720726711956174,0,0.03650089951439734,1.5197019843934367,-0.21395539028154584,0.8866993018227313,-0.017688970727687544,0.2786804178867823,0.6465199634131863,0.7526124144553177 +2024-05-03T21:00:00.000000,17.7865,100.5127,0,-0.03583333333333272,-0.08915240392354215,18.426,18.5946,-0.028833333333352584,-0.21654890030347565,100.4908,100.3231,1.3872431207330307,0,0.08237805322499551,-0.014877207473592058,0.013626538843939138,0.22601831542689765,-0.00022507568559255336,0.031570128917461006,0.5851783095485704,1.000774413218439 +2024-05-03T22:00:00.000000,18.9018,100.8033,0,1.1304000000000016,2.9774242524479586,17.7865,19.2126,0.2769999999999868,2.1349659739651927,100.5127,100.8089,2.6825378301287546,0,-2.115947058666182,7.063941158372772,-0.2251028872641747,0.3306357078414342,-0.27884859790585614,2.371594971632532,-0.06801999523780256,0.11775591129916113 +2024-05-03T23:00:00.000000,19.4902,101.2308,0,1.5274833333333362,2.5610876664487567,18.9018,20.538,0.6743166666666696,3.9429798301728156,100.8033,100.6177,3.1334431863397745,0,-2.5554702538200273,3.9398698450422893,-0.16520764699067936,0.009145215792205768,-0.6890904425996951,9.017290318777311,-0.29787966644745384,0.5598088322652114 +2024-05-04T00:00:00.000000,20.3049,100.9298,0,2.0258333333333347,2.466143091576148,19.4902,21.4217,0.2897833333333324,0.8908184466104582,101.2308,100.8205,1.724174586480828,0,-0.8932838335899564,3.1383227397870166,0.16198413943160012,0.13919385059540845,0.1948867587993103,-0.22478978225295335,0.18523612587576205,0.2712280060201454 +2024-05-04T01:00:00.000000,20.7859,101.0698,0,2.090466666666668,1.8750773597188974,20.3049,22.3097,0.3452666666666744,1.0675614055821117,100.9298,101.0323,1.2742456307822148,0,0.2623902203254867,0.7752756948261751,0.009840414571459566,0.6375326592524961,0.1565138537340175,-0.31060483351232754,0.0455033963074907,0.04725052206276647 +2024-05-04T02:00:00.000000,21.6011,101.4679,0,2.3185499999999983,2.0389694082652796,20.7859,23.8496,0.6283666666666647,2.1086409153932073,101.0698,101.407,1.6950996501399571,0,-0.7195966419315242,0.8891828002761207,-0.1862028750849561,2.070655834476161,0.4271435936364374,0.39731123903173116,-0.0005249259124728208,-0.004606200586890743 +2024-05-04T03:00:00.000000,24.0091,101.461,0,4.197366666666667,3.0568605647360387,21.6011,24.5026,0.4586166666666571,1.372688897973998,101.4679,101.2228,2.228310415913961,0,3.0980100453147794,0.7306701212452362,-0.4485352073135481,2.2154891917077757,0.26087249995768913,-1.0093019871956446,0.20180923731839528,-0.0836465913640369 +2024-05-04T04:00:00.000000,23.1035,101.4561,0,2.2546666666666653,1.2415355295573647,24.0091,25.2737,0.2956666666666621,1.0742245048654335,101.461,101.609,1.5926926826186731,0,0.6849379536865197,-0.10434179678579951,-0.11025251022194897,2.294448301504918,-0.054566048033575114,-0.1842346532038591,-0.009678420321349997,0.020357154642158554 +2024-05-04T05:00:00.000000,23.8228,102.0672,0,2.2736833333333344,1.3197675265208524,23.1035,34.5679,0.7979666666666674,3.4490868424850785,101.4561,97.7122,9.228699230247292,0,-0.9418640575486378,-1.0008157622128602,-6.44665049112394,63.58010322261761,-1.2817290204625096,1.4743768191620918,-0.12391063425255627,29.909379406187764 +2024-05-04T06:00:00.000000,23.6845,101.7789,0,1.413283333333336,0.8888058315716474,23.8228,24.6937,0.37026666666665164,0.9336916082364837,102.0672,101.4882,1.872802216972733,0,-0.5470897363365409,0.39747011235319857,0.01735653029769953,0.957324358269631,0.3342433213963771,0.0867456489960812,2.3287712123532365,-0.0674333034316999 +2024-05-04T07:00:00.000000,24.1445,101.187,0,1.310016666666666,0.9835957580957306,23.6845,25.2775,-0.3631499999999903,-1.071839212428617,101.7789,101.304,2.4259766409706813,0,0.11987348692963991,0.6195489229952552,-0.8322600119479391,4.379780656294333,0.3880910802550779,1.056690726918321,0.24580970011519038,-0.09217189902448769 +2024-05-04T08:00:00.000000,22.9705,101.4752,0,-0.4237499999999983,-0.44623866980595095,24.1445,24.4122,-0.09448333333332926,-0.30725220878531584,101.187,101.3681,1.6445805232723179,0,0.09266249256841985,-0.05717277617248101,0.2445110629950873,2.4466799284684817,0.04393572065436104,0.05361400034648572,-0.12636715907433715,0.00678182774063388 +2024-05-04T09:00:00.000000,22.3147,101.5597,0,-1.3077833333333366,-2.714701349594944,22.9705,24.8803,-0.011199999999988108,-0.03647715271871859,101.4752,101.7417,2.814610512031233,0,-0.6305087512071805,5.094127411551117,-1.6441982518203202,4.778104488246607,-0.006175141637084516,0.006760746933039071,-0.1322688272325732,0.4561906596031132 +2024-05-04T10:00:00.000000,22.3007,101.103,0,-1.0393833333333369,-1.5519412149134593,22.3147,23.2005,-0.4843500000000063,-1.600693525981049,101.5597,101.4236,1.8711083300774976,0,-0.30482487625430654,0.9722643389622472,-0.693938162303419,2.0520308569903603,0.41907271658706313,0.9663989982004658,0.007100399038870064,0.08294211166412195 +2024-05-04T11:00:00.000000,21.1665,101.3963,0,-2.039783333333336,-2.5659660556194703,22.3007,22.8008,-0.13220000000001164,-0.36542637992858723,101.103,101.564,2.011793097470425,0,-0.14938441173575012,3.0115233237610703,-0.4862605841960784,1.3998248770790316,0.054062538628128265,-0.0872346231380755,-0.048097233395105486,0.3528775800264267 +2024-05-04T12:00:00.000000,19.7965,101.0144,0,-2.967066666666664,-2.763378205136219,21.1665,21.5063,-0.40228333333332955,-1.6244201580224158,101.3963,101.1137,1.7608649218835275,0,0.7175779380084014,1.6659383810961292,-0.26084586822837963,0.5629112358417595,0.05852636874880673,0.23068542470387995,0.12629109859153653,-0.00043930564225188234 +2024-05-04T13:00:00.000000,19.5046,100.9433,0,-2.610966666666666,-1.744509312871458,19.7965,20.1635,-0.3459666666666692,-1.579552444236936,101.0144,100.874,1.2628193540927952,0,1.302312582194797,-0.1920183586202863,0.133944830482038,-0.17679047650726396,-0.053934667242889776,0.5457621874039996,0.005609432215885902,0.029827191145064123 +2024-05-04T14:00:00.000000,18.5837,100.5656,0,-2.758549999999996,-1.9207916424651899,19.5046,18.4265,-0.6830499999999944,-2.622452128446442,100.9433,100.5736,1.523327342841252,0,0.147904724542571,-0.09970976555058753,-0.04471036363904852,-0.04774344399740935,0.21667457400590107,1.820991177712681,0.0392381417090694,0.2878811486646136 +2024-05-04T15:00:00.000000,17.1936,100.698,0,-3.417516666666664,-2.2001623216926824,18.5837,18.0921,-0.3990500000000168,-1.13640105080566,100.5656,100.6041,1.5448867560354156,0,2.210719412672722,-0.06046679820013741,0.050546251945692185,-0.11512188069626471,0.2130939726778765,-0.4006425733630965,0.3570565621807657,0.1314901417560717 +2024-05-04T16:00:00.000000,15.9384,100.25,0,-3.8192000000000004,-2.1043132517550287,17.1936,17.7539,-0.7034333333333365,-2.3767309778074326,100.698,100.6222,1.9031985861694516,0,3.0318640059780315,-0.9017371256372553,1.2599653210538557,-1.2169570986562044,0.410572165890752,0.8062715753345199,0.18912378203003705,0.04306223240366094 +2024-05-04T17:00:00.000000,16.191,100.5551,0,-2.506216666666667,-1.3267103695990214,15.9384,17.5921,-0.2561666666666724,-0.6447994031185754,100.25,100.7296,1.8455211016988562,0,1.123642576290396,0.058181826300656006,2.4310307397970248,-1.2082293436246552,0.07477658229270358,-0.0994989400019877,1.0716840839825548,-0.04563938822093477 +2024-05-04T18:00:00.000000,15.8843,100.4088,0,-1.9836666666666645,-1.1897114176978467,16.191,17.8067,-0.26226666666666176,-0.9335960965640443,100.5551,100.4227,1.5911897218208253,0,0.14758359483553943,0.25159531729108475,2.3248870387057248,-1.045475245652944,-0.011239318415663436,0.10979537897457574,0.28324408577918575,0.47149387931073194 +2024-05-04T19:00:00.000000,16.868,100.4203,0,-0.34793333333333365,-0.22877376483841302,15.8843,17.2632,-0.14983333333333348,-0.6282846462760497,100.4088,100.3798,1.7446854134472223,0,-0.12883419175015695,0.05587340544612192,1.9081244340142114,-0.2658753569252788,-0.031840356991820334,0.23421903848108871,0.6301590286663061,0.6421011909550332 +2024-05-04T20:00:00.000000,16.2957,100.7102,0,-0.48079999999999856,-0.4674549038649327,16.868,18.426,0.22723333333334494,1.4548787571432722,100.4203,100.4908,1.9304794070246978,0,-0.04539374366111606,0.2532904701687343,1.1754022507199833,-0.04137474763796636,-0.07800810917211366,1.6287903564818453,0.3189500005546072,0.5150942634924544 +2024-05-04T21:00:00.000000,17.1103,100.3542,0,0.7151333333333341,1.3601171464454478,16.2957,17.7865,-0.15286666666666804,-0.8458877704814237,100.7102,100.5127,1.924764833467408,0,0.23066924680230372,0.971915152455305,1.3535497464036397,-0.03007457119408174,-0.07117944253475565,0.7012946342552218,0.06072061660288275,0.4878242813623028 +2024-05-04T22:00:00.000000,17.4076,100.3311,0,1.0263166666666663,2.0485168789640134,17.1103,18.9018,-0.11866666666666958,-0.7345088275351316,100.3542,100.8033,2.226837130796473,0,-0.11934365961259336,2.6483009570010947,0.9657548038466763,-0.4455808969060486,-0.028818699568098394,0.7655991461189554,1.09063227645636,0.08225967975752044 +2024-05-04T23:00:00.000000,19.5154,101.0092,0,2.8892500000000005,4.8803075933809374,17.4076,19.4902,0.5459166666666704,3.7928123078753995,100.3311,101.2308,3.790123264836912,0,-6.084599238199787,14.86766557413693,-0.48516115435781354,0.4724141191032353,-0.8752998554701645,6.438993514732223,-0.004106749995203342,0.03512815270858645 +2024-05-05T00:00:00.000000,19.3441,100.9339,0,2.1638833333333345,1.703378233228075,19.5154,20.3049,0.39493333333332714,1.4742628370602278,101.0092,100.9298,1.343275221938164,0,0.9116325744765331,0.14239336555976576,-0.04604175692838187,0.0857134193117054,0.21227249831087405,0.4011778865888057,-0.01681185139540019,0.11405218594911995 +2024-05-05T01:00:00.000000,21.2324,101.2546,0,3.4755499999999984,2.579528455711869,19.3441,20.7859,0.6281166666666564,2.089347001820876,100.9339,101.0698,1.8316817692305503,0,2.6846224438564663,-0.13100290580488608,0.02598484906357023,-0.0652351821550561,0.6361983803038305,0.20716199347870162,-0.02650151498709918,0.02383003997603138 +2024-05-05T02:00:00.000000,22.4786,101.3115,0,3.9943500000000007,2.154134905440655,21.2324,21.6011,0.5459666666666578,1.4719385421273763,101.2546,101.4679,2.119966967346068,0,6.314807694778372,-1.6658709699317549,0.15729806231650223,-0.5056509429274306,0.6844130118095283,-0.5717852025452695,0.07519828502996707,0.005850004108569804 +2024-05-05T03:00:00.000000,21.6217,101.5033,0,2.106966666666665,1.004792440970686,22.4786,24.0091,0.6375499999999903,1.4841571210177764,101.3115,101.461,1.4442609285807728,0,0.962954547068264,-0.485836582196366,-0.3136980887537865,1.1279411815045202,0.9804865444233055,-0.22717807426439082,0.0542970208507802,-0.01307691880732976 +2024-05-05T04:00:00.000000,22.0123,101.1157,0,1.745666666666665,0.9398026975380561,21.6217,23.1035,0.05843333333332623,0.1419415349069504,101.5033,101.4561,1.2710207360674715,0,0.9718783712682425,-0.16720269137957064,-0.30291442217118036,0.9675538295821156,0.0013326086406084188,-0.10649961432369213,0.22744236175353905,0.023903268143435172 +2024-05-05T05:00:00.000000,22.5244,101.5328,0,1.4903166666666685,1.1369772252830372,22.0123,23.8228,0.3447666666666578,1.640387292438285,101.1157,102.0672,1.6047907046276637,0,-0.5520157543203038,0.25173702787150315,-0.31048576815428097,1.3572313204680924,-0.14657851844449155,0.7117566707363738,-0.02665677990633312,1.2903650074087927 +2024-05-05T06:00:00.000000,22.591,101.1362,0,1.055416666666666,0.8922299904438411,22.5244,23.6845,-0.1390999999999991,-0.6075970524302579,101.5328,101.7789,1.6645324348885684,0,-0.08787319323010863,0.5434262852897186,-0.36034274685142004,1.622701642978818,0.026586933971300346,0.435390425337055,0.09168362082475456,0.499095258475949 +2024-05-05T07:00:00.000000,22.7975,101.4882,0,0.7207666666666661,1.2943354883696125,22.591,24.1445,0.17918333333334147,1.0078916539841443,101.1362,101.187,1.6912215414237066,0,-0.8832202517222958,1.5958580335559687,-0.153567037553421,2.2214483881259763,-0.13134837848102898,0.25309928588778685,-0.01697874222623502,-0.025060995411174177 +2024-05-05T08:00:00.000000,21.675,101.5101,0,-0.6625833333333304,-1.5210091623431414,22.7975,22.9705,0.1621499999999827,0.8592003810083733,101.4882,101.4752,1.7233334566122942,0,-0.04042410183331728,1.4475102242721773,-0.05466452856874852,0.42035879976254575,-0.04704806524056094,0.7911301063861551,0.3445015736116625,0.10851419428936403 +2024-05-05T09:00:00.000000,22.1056,101.4926,0,-0.09805000000000064,-0.19529471384431202,21.675,22.3147,0.11154999999999404,0.5627378515407175,101.5101,101.5597,1.070889572994739,0,-0.028317587079971396,-0.0043007363217680795,-0.09619300848554338,0.2370912856822567,-0.0016015337453289377,0.27346807279783414,0.5199707164225484,0.24668726827882695 +2024-05-05T10:00:00.000000,21.066,101.4027,0,-1.2183000000000028,-2.8840025949553167,22.1056,22.3007,0.02343333333331543,0.11898019615701226,101.4926,101.103,2.40296505795299,0,-1.0966443017734866,6.373152203081425,-0.38298980485155976,0.5052321680818903,-0.0031264735812587745,0.10794942420444299,0.2654959069409175,0.005171947640647012 +2024-05-05T11:00:00.000000,19.3436,101.3058,0,-2.782983333333334,-4.240781198299966,21.066,21.1665,-0.12129999999999086,-0.813002973141124,101.4027,101.3963,2.885762561521013,0,-2.63867866809086,11.043194615058692,-0.28501835234767303,0.21574169413804856,-0.04466118143648998,-0.24762237710346857,0.11692578433423043,0.16774404692384198 +2024-05-05T12:00:00.000000,18.6499,101.1873,0,-2.946550000000002,-2.321663864200457,19.3436,19.7965,-0.20196666666667795,-1.3854397857624985,101.3058,101.0144,1.5144765327741476,0,1.3537508177048774,0.5944376273026115,0.350118060296904,-0.24339240413722,-0.17142725374094173,0.1908190124368473,0.23634901307331554,-0.017015704612791324 +2024-05-05T13:00:00.000000,18.8573,100.7522,0,-2.0823,-1.283606861036172,18.6499,19.5046,-0.6455833333333345,-5.023766684197734,101.1873,100.9433,3.69976002275923,0,-0.852770199391415,-0.40110725709105377,1.0322426235965596,-0.8570448988160885,-1.8026358938277371,16.692631747990358,-0.1026287745828745,-0.02046312187037188 +2024-05-05T14:00:00.000000,16.8089,100.9107,0,-3.4739999999999966,-2.295209574445714,18.8573,18.5837,-0.3644166666666422,-1.2869785241628533,100.7522,100.5656,1.4950336368043333,0,2.356902069100637,-0.06832768781854731,0.15467006749843007,-0.3139173291937351,0.0578244353084421,-0.2775593497458006,0.09139247353708271,0.23414089648988115 +2024-05-05T15:00:00.000000,16.0583,100.7994,0,-3.413583333333335,-1.8174346672238926,16.8089,17.1936,-0.37581666666665114,-1.2988711796869954,100.9107,100.698,1.7145231785714201,0,3.211453072065285,-0.7650531603530385,1.0780922855406887,-0.11059657246628617,-0.04915232929334988,-0.3225337837780975,-0.09543452718749613,-0.007185254669059045 +2024-05-05T16:00:00.000000,15.4287,100.6881,0,-3.0352999999999994,-1.6831589084045726,16.0583,15.9384,-0.3715833333333194,-1.3496348697987812,100.7994,100.25,1.805685844904386,0,1.458638820579896,-0.29990538298319014,0.7840562790658093,1.168570596448653,-0.10806223572940114,-0.24343994369169222,-0.17848058135974304,0.6791238181577351 +2024-05-05T17:00:00.000000,14.0244,100.6317,0,-3.500049999999998,-2.137500642975086,15.4287,16.191,-0.30888333333334117,-1.231962489220334,100.6881,100.5551,1.947210375657608,0,2.040076918698549,0.13145879701450264,2.2734310822388064,-0.1489648055929508,-0.14604314421297648,-0.2775525984706549,-0.12757148618290784,0.0467934835762749 +2024-05-05T18:00:00.000000,15.1085,100.1354,0,-1.5294166666666662,-0.8144508935561889,14.0244,15.8843,-0.6928333333333399,-3.458941098511904,100.6317,100.4088,3.006225188629019,0,-1.1516031662525539,0.14251227357736168,5.2361141509639415,-2.001103768599601,-0.6872970462842507,6.844427846125978,0.3201366544051464,0.3342029408115633 +2024-05-05T19:00:00.000000,15.3883,100.3259,0,-0.6593833333333361,-0.39643715202723123,15.1085,16.868,-0.3270166666666654,-1.2065831326947636,100.1354,100.4203,2.186483254723354,0,-0.4105899862098428,0.1624805560792229,3.0265920742154266,-1.088311452196808,0.023728827315917737,0.8651112968373433,1.7762873982558463,0.4254103088885236 +2024-05-05T20:00:00.000000,14.1577,100.5074,0,-1.3118166666666653,-1.4035832124724958,15.3883,16.2957,-0.07446666666666601,-0.2527352525142986,100.3259,100.7102,2.003310303740489,0,-0.8688932418019406,1.5608133608263532,2.042181013389944,0.6603429929270959,-0.01783688395877872,-0.03292875491258109,0.6729878035705342,-0.003414116967814129 +2024-05-05T21:00:00.000000,16.0749,100.4869,0,1.04725,1.3251002531988736,14.1577,17.1103,-0.0277499999999975,-0.11247123488798183,100.5074,100.3542,2.3546080846778508,0,0.7739102354450061,0.005667562666870802,4.510564196920269,-0.7213046491988865,-0.00004677194034283066,0.023774699444768874,0.1774311350518972,0.7741828240407169 +2024-05-05T22:00:00.000000,16.085,100.5201,0,1.0545833333333352,1.3270803576506818,16.0749,17.4076,0.05753333333333899,0.2822233449521868,100.4869,100.3311,1.8827089851670287,0,0.5813668355771953,0.25723375699078194,0.9768820592218234,0.6374601084700933,0.026326654863819087,-0.07256778974961897,0.22723337645132152,0.9106581210032489 +2024-05-05T23:00:00.000000,17.5221,100.8848,0,2.382299999999997,2.6505414736266832,16.085,19.5154,0.4502333333333297,2.552791840674564,100.5201,101.0092,2.271483788541425,0,-0.5086458535684268,1.524733422195621,2.2806237126179956,-0.14977715175535802,-0.21882218560755753,2.1378472118977534,0.07750600804587618,0.016173437780600514 +2024-05-06T00:00:00.000000,18.2745,100.8389,0,2.55175,2.2499306575126017,17.5221,19.3441,0.36214999999999975,1.4574838782370756,100.8848,100.9339,1.728113022299813,0,1.255137486798489,0.4822443792254108,0.6181745728286282,0.27997662339738144,0.187582889286298,0.15348602791719604,-0.07190915968413704,0.08168179807292604 +2024-05-06T01:00:00.000000,19.4078,101.0264,0,3.1573833333333354,2.138943528759126,18.2745,21.2324,0.432399999999987,1.9701435310631772,100.8389,101.2546,1.812654943713735,0,2.844298732851234,-1.0718324447730792,1.0028511270133456,0.1562356928282925,-0.026683612346300765,0.32897479130625235,0.06277935402111208,-0.010905695931011306 +2024-05-06T02:00:00.000000,19.2955,101.0771,0,2.3751666666666686,1.272197475997926,19.4078,22.4786,0.36634999999999707,1.564518007234041,101.0264,101.3115,1.6198510120056833,0,1.9315388083387237,-1.0044625522025925,0.5470389120462156,1.0497304691745628,-0.013378948318909987,0.12468244245874076,0.0039027214129783625,-0.015134551813883162 +2024-05-06T03:00:00.000000,20.575,101.6473,0,2.7983666666666664,1.8834218239712905,19.2955,21.6217,0.8415999999999997,3.364106192461764,101.0771,101.5033,2.171666833174208,0,0.5685625103044175,-0.7177594685384132,0.26429079018083584,-0.13466754385708057,0.5623390761004935,4.018120830397113,0.03166421615612642,0.1235864235653985 +2024-05-06T04:00:00.000000,22.0188,101.4002,0,3.4921499999999988,2.200053035664218,20.575,22.0123,0.40109999999999957,1.0757085818901015,101.6473,101.1157,1.9797049274838658,0,3.6566874228147337,-0.48172231154772904,-0.0281625806608339,-0.1770097790464748,0.4343279203833516,-0.46679937680696654,0.9802669608406391,0.0016433439271806617 +2024-05-06T05:00:00.000000,21.8055,101.7275,0,2.289883333333332,1.4221629766682158,22.0188,22.5244,0.5817166666666793,1.84415419372149,101.4002,101.5328,1.4004998227091074,0,0.5603863908726648,-0.09327203140252624,0.25831907586061936,-0.5065959814838541,0.5782481257376149,0.7159354825391611,0.36033182317854,0.08804686810602104 +2024-05-06T06:00:00.000000,22.6164,101.384,0,2.3868833333333335,1.5966355149656428,21.8055,22.591,0.09776666666667211,0.27127469980806174,101.7275,101.1362,1.6024243374037421,0,1.377176801469256,0.311861583802594,0.003660158111923005,0.025859494737422623,0.025117253392821386,-0.15654898004837736,0.9928123581344792,-0.012174912496297288 +2024-05-06T07:00:00.000000,21.9491,101.6663,0,0.9959333333333369,0.7075139619146051,22.6164,22.7975,0.2892166666666611,1.0107777310855446,101.384,101.4882,0.9888443625759871,0,-0.2755020818864308,0.222695446461193,0.3974799662161576,-0.09449260617351299,0.08339936549773262,0.32143823427600093,0.2314670107162928,0.09132783829087673 +2024-05-06T08:00:00.000000,21.8172,101.6079,0,0.4404833333333329,0.3612272773348698,21.9491,21.675,0.12416666666665321,0.5054094057520583,101.6663,101.5101,1.213853201815846,0,-0.21262604668141902,0.1861891514885472,0.3208826859032707,-0.30966132135833185,0.03823280755603557,0.20210839288217822,1.0854808015924382,0.1628331241758625 +2024-05-06T09:00:00.000000,21.6942,101.1597,0,-0.10279999999999845,-0.15367230136635843,21.8172,22.1056,-0.4125000000000085,-2.8480039506298453,101.6079,101.4926,2.4687032664420934,0,0.026537176507441005,-0.008929349785034338,-0.27847143514463596,0.7218565769260048,-0.47603309338107797,5.827467670171967,0.09675749954903493,0.18531077289816167 +2024-05-06T10:00:00.000000,21.0083,101.3766,0,-0.9752333333333318,-2.951119966542998,21.6942,21.066,-0.11433333333333451,-0.5333355961086158,101.1597,101.4027,2.475489191625407,0,-1.3460490969492442,7.528474050977786,-0.09517054384827281,0.011412087213148538,0.003153998942960712,-0.031857227446617425,-0.06973316020908,0.12781662917353515 +2024-05-06T11:00:00.000000,19.3589,101.2279,0,-2.4562166666666663,-4.770158006820658,21.0083,19.3436,-0.25910000000000366,-1.1963412159098716,101.3766,101.3058,3.479481391484698,0,-4.702694708826542,16.68007477026962,-0.025746623455389066,0.372458699351079,-0.07173869352388948,-0.33769158026740287,0.09528220498821655,0.09684668515260302 +2024-05-06T12:00:00.000000,19.589,101.1852,0,-1.8183499999999988,-1.6121361767268199,19.3589,18.6499,-0.21853333333334035,-1.0866509565048443,101.2279,101.1873,1.0841327607455182,0,-0.027507659403029395,0.5433366281831379,-0.008713870408630826,0.5544486991308486,-0.11020755126193195,0.03927606523176761,0.15039696851050333,0.03431456293903358 +2024-05-06T13:00:00.000000,17.5163,100.523,0,-3.386483333333331,-2.9302880744882,19.589,18.8573,-0.8476000000000141,-3.844783450234991,101.1852,100.7522,2.2561234498602887,0,-1.2274613286084488,1.5071884317071016,0.16729562958888808,-0.58868681982427,-0.24867502975640848,5.455111920344307,-0.04485388993295381,0.07017410749127626 +2024-05-06T14:00:00.000000,16.8024,100.6797,0,-3.361583333333332,-2.0251566890745836,17.5163,16.8089,-0.5003499999999974,-1.3812208734198232,100.523,100.9107,1.6396721723217587,0,2.0087037695574526,-0.2609786249315468,0.04251989174383987,0.7450649691165361,0.3070985556524573,-0.3965318792220053,0.3537505133208078,-0.11110236255118479 +2024-05-06T15:00:00.000000,15.5345,100.8853,0,-3.793683333333332,-1.991041296185812,16.8024,16.0583,-0.14005000000000223,-0.41125965426534294,100.6797,100.7994,2.2638325896799065,0,4.750521389152304,-0.9521488332368414,-0.10815431460370027,2.207001675297161,-0.053254665072580545,-0.3318323281823123,-0.2537850798682591,-0.1334098493889397 +2024-05-06T16:00:00.000000,14.6944,100.8535,0,-3.607166666666666,-1.776147451392853,15.5345,15.4287,-0.12611666666667531,-0.37390293013744264,100.8853,100.6881,2.4805821839492133,0,4.445897907810932,-0.9016364889630976,0.7811158770160554,2.5535202118172773,-0.07179339217371568,-0.30135334879236514,-0.25724650512498926,-0.0952162902638456 +2024-05-06T17:00:00.000000,16.0028,100.4544,0,-1.2464499999999994,-0.6285322650818695,14.6944,14.0244,-0.4380333333333226,-1.585676264292916,100.8535,100.6317,2.3588408604982636,0,-0.5396117472092592,0.053818073101874746,0.3325102234541898,5.6500347523179135,-0.19988554780113002,0.4483704327297578,-0.1852287656435575,0.0041227842064057605 +2024-05-06T18:00:00.000000,13.715,100.6634,0,-2.974899999999998,-1.7239237320992526,16.0028,15.1085,-0.10011666666666486,-0.372507113129132,100.4544,100.1354,2.2284856951838243,0,1.3506972866805498,0.05273511431710081,-0.35473485848053504,3.4840368180516736,-0.044667035813339244,-0.22974491379247344,-0.15685227793249862,0.8646783606084515 +2024-05-06T19:00:00.000000,14.1882,100.2482,0,-1.5227000000000004,-1.0998279332942946,13.715,15.3883,-0.4283500000000089,-2.489742760839141,100.6634,100.3259,2.632413998859858,0,-1.2205249333163497,0.612634130967383,5.093467041386281,-0.8279247127520966,-0.5795249326478084,3.294257752114226,0.06228437543055175,0.4949347402111631 +2024-05-06T20:00:00.000000,20.6993,102.9279,1,5.543083333333334,4.7541484769268285,14.1882,14.1577,2.297150000000002,9.452104279764692,100.2482,100.5074,7.735272446204017,0,-0.6094467852474629,-0.11485457860798402,-5.107156732639084,18.023759311606174,5.119727466299134,44.401029859866895,-2.5150324831386386,0.6364137588640227 +2024-05-06T21:00:00.000000,20.0823,103.1042,1,4.2766,1.6830737758168957,20.6993,16.0749,2.0987500000000097,2.158408215050137,102.9279,100.4869,7.755469876732458,0,8.700202530161041,-1.870192420414108,0.44438221273845185,14.528936126549782,22.98498713476436,-1.1211514306258905,15.290659143658493,1.189489712072428 +2024-05-06T22:00:00.000000,21.7687,103.2047,1,5.205033333333333,1.6967794524348476,20.0823,16.085,1.829433333333327,1.420159484055305,103.1042,100.5201,7.842205909676101,0,16.267950047383184,-3.3403756873097388,-0.26938610838762084,13.730289833734819,18.94239690599967,-1.6138482496811102,16.603177219546964,1.1799895684726034 +2024-05-06T23:00:00.000000,22.4612,103.4069,1,4.718483333333335,1.3366435318740133,21.7687,17.5221,1.6397666666666595,1.134229753157282,103.2047,100.8848,7.2293230477107615,0,13.237978509685508,-2.431960910200826,1.534198127367513,8.680095358483483,15.474149540271336,-1.228021151857375,16.67323097986531,0.32344127454707194 +2024-05-07T00:00:00.000000,22.7419,103.5716,1,3.922783333333335,1.015618233017384,22.4612,18.2745,1.3123833333333437,0.9297135111096162,103.4069,100.8389,6.695428363871828,0,8.76017935339537,-1.4373465584934393,2.2597269792996926,6.034508299413969,10.214776418680259,-0.5742763794792767,19.142561939502656,0.4286309234201504 +2024-05-07T01:00:00.000000,25.5054,103.8579,1,5.181799999999999,1.6329508200560505,22.7419,19.4078,1.113983333333337,0.895977051207027,103.5716,101.0264,6.5899407216945045,0,14.498148193401043,-2.7311654918658044,2.125066315782501,2.747475580271479,7.278655182993884,-0.7377924515163107,20.111873024413356,0.1350583619673416 +2024-05-07T02:00:00.000000,21.5917,101.2475,0,-0.6181000000000019,-0.3238857080770841,25.5054,19.2955,-2.098033333333319,-6.214465309253994,103.8579,101.0771,6.574016555121286,0,-0.1783556527117685,-0.34812946438962544,6.7315165165299975,1.8870965839233644,6.7152499299808435,10.704428806794887,17.675864109541585,0.030022837339458014 +2024-05-07T03:00:00.000000,21.3016,101.5542,0,-1.0569333333333368,-0.5875941920156978,21.5917,20.575,-1.5112666666666712,-1.6246258993237734,101.2475,101.6473,3.071519094538663,0,0.16397988470126962,-0.20636202482709648,0.3273101602858924,0.00027536094077377116,9.86368107092097,-1.1522598382710596,-0.11717763056966841,0.5547825649345306 +2024-05-07T04:00:00.000000,22.2979,101.5703,0,-0.2638500000000015,-0.1712767022054623,21.3016,22.0188,-1.2368333333333084,-1.1099398374146214,101.5542,101.4002,2.6701158988936133,0,0.004903784253840016,-0.011176834729879487,-0.1391453329772065,0.7066987157403422,6.961876600075374,-0.6130265586827579,0.1491178020623955,0.07027073778234234 +2024-05-07T05:00:00.000000,22.6211,101.2712,0,-0.02885000000000204,-0.01922516987627783,22.2979,21.8055,-1.263533333333342,-1.0577235074943392,101.5703,101.7275,2.807779100952034,0,-0.0043846630129130105,0.038844238112362164,0.38134165739167997,0.11371255215064324,7.392099503853045,-0.6884615767440179,0.12108713230317561,0.5293846356890375 +2024-05-07T06:00:00.000000,23.1955,101.6981,0,0.5189000000000021,0.34638777691050204,22.6211,22.6164,-0.4806833333333316,-0.40027147795133483,101.2712,101.384,1.4239506707557008,0,0.042540087006038195,0.11689425180464723,0.3301524970295008,0.4638663314533115,1.1369632341168985,-0.012167500686206492,-0.08407652775080152,0.033463139772221845 +2024-05-07T07:00:00.000000,22.6228,101.4595,0,-0.12939999999999685,-0.08550544100533422,23.1955,21.9491,-0.4070333333333309,-0.4104609838457761,101.6981,101.6663,1.5863689968678387,0,-0.014002716315746257,0.02001539617948447,1.1705309222219449,-0.3784910203633043,0.6700503987318684,-0.12232791170486171,0.7777277375751707,0.3930637878989168 +2024-05-07T08:00:00.000000,22.7705,101.7872,0,0.49873333333333036,0.704901304565905,22.6228,21.8172,0.32040000000000646,1.8009333349459338,101.4595,101.6079,1.903692523118272,0,-0.6004028670672036,0.6017571342811775,1.0977153163481883,-0.6779602057856352,-0.11994883854267509,2.3757795590216855,0.6484900522689426,0.2986150720519331 +2024-05-07T09:00:00.000000,22.4624,101.2539,0,-0.005833333333331581,-0.009093322811335739,22.7705,21.6942,-0.3028500000000065,-1.670816793085712,101.7872,101.1597,1.7270614153568824,0,0.012074687347998495,0.059748030131235585,0.6734101483910454,-0.13595514544265513,-0.12973900697683555,1.5342572874601386,0.9801923750756374,-0.011247243572046752 +2024-05-07T10:00:00.000000,21.274,101.5137,0,-1.3876999999999953,-4.516519563115823,22.4624,21.0083,0.006999999999990791,0.03188709684105689,101.2539,101.3766,3.934018290103232,0,-2.9988089395973057,18.425832458460192,0.07008538342372139,-0.09725766522795978,-0.0017999202440549915,0.07450906003946704,-0.07901406103991183,0.08295359105260984 +2024-05-07T11:00:00.000000,19.954,101.4715,0,-2.537049999999997,-3.9235023145226333,21.274,19.3589,-0.02576666666666938,-0.11849399628356155,101.5137,101.2279,2.934737001915878,0,-2.148435984003103,9.234258090894512,0.17342286355692446,0.6901989969699951,0.0007773329563005666,-0.051638008387000896,0.6761092779468947,0.037988700479666286 +2024-05-07T12:00:00.000000,19.6139,101.3063,0,-2.4326333333333316,-2.0098527693997856,19.954,19.589,-0.22435000000000116,-1.1847463902571786,101.4715,101.1852,1.335587317281368,0,0.8563545513273559,0.40788475257126056,0.040356083507337485,0.04432365294448559,-0.13026944180983288,-0.05473569147124086,0.5929975509290425,0.026882024084433836 +2024-05-07T13:00:00.000000,18.686,100.6867,0,-2.7636000000000003,-1.9755742224695707,19.6139,17.5163,-0.778649999999999,-4.150157195020038,101.3063,100.523,2.53047146170025,0,-0.8071010058904666,-0.37646658548921275,-0.13728244826157882,0.816767119137898,-0.9652671927603929,7.392425846614846,0.12178361609652517,0.35842646903178194 +2024-05-07T14:00:00.000000,17.1561,100.9025,0,-3.6373666666666686,-2.2167192491745586,18.686,16.8024,-0.43404999999999916,-1.1746276511492888,100.6867,100.6797,1.80172019081039,0,2.9120360272499908,-0.6125544988636242,-0.5300832507085157,1.9685646928182094,0.20464536419181376,-0.701345973272303,0.009739814199665232,-0.00480652964140815 +2024-05-07T15:00:00.000000,16.3791,100.4037,0,-3.478633333333331,-1.857784027178296,17.1561,15.5345,-0.7853999999999957,-2.395235612800712,100.9025,100.8853,1.9774122193958246,0,2.1557124019003666,-1.0356696662028881,-0.4678784299803157,2.843172103468511,0.5262888021498725,0.08949375661866278,-0.07168598629111593,-0.12927389624717356 +2024-05-07T16:00:00.000000,15.7608,100.6161,0,-3.08305,-1.688008889897642,16.3791,14.6944,-0.43129999999999313,-0.9503708311373306,100.4037,100.8535,2.1887100903948027,0,1.5604130202648854,-0.317831844257817,-1.0095810042574898,4.925795618016362,0.21644035634822828,-0.6003653872173257,0.185421294400682,-0.16984019350149582 +2024-05-07T17:00:00.000000,15.2333,100.5007,0,-2.6916833333333336,-1.5431203894772678,15.7608,16.0028,-0.3971000000000089,-0.9552304962224559,100.6161,100.4544,1.7123417007606145,0,0.8849788689249573,0.044208387374587994,1.1333004199604966,0.8952508866114963,0.15163413822273736,-0.36682178039368274,-0.058004011280233796,0.24756719074339495 +2024-05-07T18:00:00.000000,16.6852,100.4836,0,-0.45300000000000296,-0.26485157206017024,15.2333,13.715,-0.2524000000000086,-0.771205640170121,100.5007,100.6634,2.6015172455232056,0,-0.24871557376995174,0.05729942261621934,-1.3113155959983007,8.412365336007218,-0.08285836300211716,-0.0004962267920304784,-0.040931158127834794,-0.017455862178556276 +2024-05-07T19:00:00.000000,16.3095,100.3115,0,-0.34058333333333124,-0.2823764512002987,16.6852,14.1882,-0.287383333333338,-1.6004414996675036,100.4836,100.2482,2.8025317673709518,0,-0.2057300049263318,0.0585312908067706,-1.8598199259724923,8.031656478327445,-0.2665905030593326,1.1006460722006675,0.22010984895882282,0.7753810507878004 +2024-05-07T20:00:00.000000,15.3389,100.6987,0,-0.9151000000000007,-1.3482092303124873,16.3095,20.6993,0.16234999999998934,0.787267002172548,100.3115,102.9279,4.026137819041213,0,-0.13995447497458785,1.804780982803501,5.146761139839297,0.13882786505063238,0.0030187554935805962,0.19737084930624493,1.7231072435543509,7.335873376840917 +2024-05-07T21:00:00.000000,16.734,100.9198,0,0.7828666666666688,1.3132769621888143,15.3389,20.0823,0.4174166666666679,2.981514026498026,100.6987,103.1042,4.146972056346682,0,-1.0479455933867827,0.44540732802976823,5.221209464202726,-0.21091778530609495,-0.4138655383437497,4.827667219001865,-0.020725282796582766,8.396547424719078 +2024-05-07T22:00:00.000000,17.718,100.7697,0,1.7077166666666663,2.5830003501342174,16.734,21.7687,0.18130000000000734,0.8680559642738341,100.9198,103.2047,3.8966785665823958,0,-1.9162092928439607,3.6929057128789617,3.994113412868041,1.0768329931889078,0.03099979406682896,-0.43697754255017685,0.0586656037594579,8.683773169894575 +2024-05-07T23:00:00.000000,18.0027,101.1057,0,1.6662166666666671,1.7759658701008194,17.718,22.4612,0.4917000000000087,2.215505459906935,100.7697,103.4069,3.8580310939727953,0,-1.3729894354983896,0.7124931229165216,2.6417173921026476,1.480367092995802,0.03653565079144632,0.9454885916145921,0.2379992139899173,10.202792293148386 +2024-05-08T00:00:00.000000,20.4779,100.994,0,3.679850000000002,3.8027127835313825,18.0027,22.7419,0.27916666666666856,0.9699307081449209,101.1057,103.5716,4.19413901821303,0,-1.4583414741631087,5.2327860333418625,2.1823502330029054,1.5301387679925536,0.134583102721507,-1.0504467584918324,-0.031167639737934415,11.050899839431011 +2024-05-08T01:00:00.000000,21.5887,100.9313,0,4.158533333333331,2.338376819439544,20.4779,25.5054,0.1313999999999993,0.4673508690567669,100.994,103.8579,4.680928817373595,0,5.479136300097574,-1.8739090377744214,-0.14518378625353853,6.491503353250781,-0.06006461536427247,-0.8329151765811637,0.12304346701543534,12.72948408892816 +2024-05-08T02:00:00.000000,22.2394,101.2459,0,3.9293666666666667,1.6845233178302923,21.5887,21.5917,0.34269999999999357,2.310918262633143,100.9313,101.2475,2.422672262700779,0,7.408570901916771,-2.4981998450555243,0.4050117101046924,-0.5531231556071458,-0.46027800422129633,1.5572541284109198,0.06483902616642266,-0.05473386925513036 +2024-05-08T03:00:00.000000,23.4131,101.5607,0,3.952983333333332,1.737447978451904,22.2394,21.3016,0.5662999999999982,3.4377834122001714,101.2459,101.5542,2.984412858997085,0,5.581175175255989,-2.2397926995967445,1.1920757941982125,-0.8036364284937214,-0.6935671242476179,5.649966640162109,0.17457201125555338,0.045926744413371426 +2024-05-08T04:00:00.000000,23.6036,101.6427,0,3.0303000000000004,1.312785049875185,23.4131,22.2979,0.541483333333332,1.9581244650311682,101.5607,101.5703,2.144126602088999,0,3.073147902562511,-0.9483947514270504,1.7683901780020914,-1.3862097169340573,0.3141017095527536,1.085912081087986,0.6467652520748979,0.043566230866584524 +2024-05-08T05:00:00.000000,24.4477,101.78,0,2.8934666666666686,1.382620896618808,23.6036,22.6211,0.5332833333333298,1.800506914606069,101.6427,101.2712,2.05306763685068,0,2.424179494931277,-0.6386580269445538,1.8141501557562538,-1.4012584912049626,0.38209840042113247,0.8144006340375254,0.9034434495919182,-0.08326889510495583 +2024-05-08T06:00:00.000000,24.2188,101.6901,0,1.5904000000000025,1.0854736710639967,24.4477,23.1955,0.33099999999998886,0.9344517054870223,101.78,101.6981,1.8011269968548012,0,-0.34975627966734957,0.6424432846617631,2.4083239587714,-1.322532810419867,0.22896008037574986,0.2094834061241522,1.187528862985363,0.23960795596798404 +2024-05-08T07:00:00.000000,23.8171,101.4398,0,0.5652166666666645,0.5032993282737761,24.2188,22.6228,-0.03531666666665956,-0.10921270366468379,101.6901,101.4595,1.5914918081945744,0,-0.23671182435672009,0.44082221393423926,2.2840978831081875,-0.7812055648666696,0.0010448652801947655,0.0007804404364564908,0.7758113695278004,0.04820679248694587 +2024-05-08T08:00:00.000000,25.2973,101.2831,0,1.6740166666666667,2.149865595498785,23.8171,22.7705,-0.27676666666665994,-1.43778273881894,101.4398,101.7872,2.727368364167048,0,-0.5717090542563783,4.009217098327981,1.7629080017122876,-0.2710837234046511,-0.0010176006268393818,2.015644794006401,-0.05623649501875979,0.5508151731191988 +2024-05-08T09:00:00.000000,22.9134,101.7282,0,-1.219533333333338,-1.7749845613358033,25.2973,22.4624,0.16213333333331548,0.8977900500105573,101.2831,101.2539,2.3430928927846515,0,0.21014070785280523,1.0600715568523253,4.116636175163386,-1.043593979659555,-0.08285775836244791,1.1734055421395215,0.06569643101858365,-0.009414370786673397 +2024-05-08T10:00:00.000000,21.4798,101.3601,0,-2.569849999999999,-3.1691349103262576,22.9134,21.274,-0.23388333333332412,-1.2170566977297579,101.7282,101.5137,2.0931549331186807,0,-0.4628587983731969,3.6640246573008737,0.4405061498670062,-0.09652594602321936,-0.08352187176546441,-0.22586584375939353,0.8620252255501123,0.28351400124235 +2024-05-08T11:00:00.000000,22.1115,100.715,0,-1.5841833333333355,-1.184656480891118,21.4798,19.954,-0.8318833333333515,-3.933207240922618,101.3601,101.4715,2.6558602866376644,0,-0.510704453502998,-0.3550332022575457,0.16239177195388219,-0.027859372626376878,-0.28682451441561985,7.889361096234689,-0.13456829860014857,0.3168308353532128 +2024-05-08T12:00:00.000000,21.1957,101.1832,0,-2.1106166666666724,-1.4942499511274336,22.1115,19.6139,-0.18618333333334647,-0.5077374531237928,100.715,101.3063,1.658461010851529,0,1.017646480264207,-0.20986556707560594,1.1287079363303623,0.5001517379139335,0.0649584285441675,-0.19432514213565263,0.30775789463973974,0.13546115603352354 +2024-05-08T13:00:00.000000,20.0863,101.1183,0,-2.7161666666666626,-1.7478563344270592,21.1957,18.686,-0.1665999999999883,-0.49723763784174113,101.1832,100.6867,1.8449630693017496,0,2.2244279260168085,-0.6403567308237378,0.5047548447846907,1.302130427801752,-0.00742426609660137,-0.3445756721843834,0.16030578662535436,0.20462641096344833 +2024-05-08T14:00:00.000000,19.0527,100.7863,0,-3.1279666666666657,-1.7429944557212738,20.0863,17.1561,-0.4450166666666604,-1.3444298293642518,101.1183,100.9025,1.9873357184929272,0,2.792564194904728,-1.1649131921703602,-0.1639241732998425,3.01285366243485,0.11180549485519084,-0.6685522507567698,0.07940702435047696,-0.04973750232047347 +2024-05-08T15:00:00.000000,17.3956,100.4938,0,-3.744299999999999,-2.6918008039439547,19.0527,16.3791,-0.6547166666666868,-1.7472424818205385,100.7863,100.4037,1.9769896906807498,0,1.2276687400622293,0.3242747971013719,-0.5908727673818568,2.8118511944047158,0.6482082518324289,-0.8941657086168865,-0.017312751955481005,0.39883648161144686 +2024-05-08T16:00:00.000000,16.6736,100.3256,0,-3.5466666666666704,-2.01602651232447,17.3956,15.7608,-0.6171833333333439,-1.8767821460520633,100.4938,100.6161,1.8404278481484624,0,1.917381364183733,-0.6266886341330217,-0.5995748453176116,2.3070566953723564,0.35593678241362126,-0.2504682611026416,0.3212534853740595,-0.03772192255011387 +2024-05-08T17:00:00.000000,17.4238,100.2184,0,-1.9954333333333345,-0.9382189958125904,16.6736,15.2333,-0.5519666666666723,-1.6360550346389005,100.3256,100.5007,1.922443161584352,0,-0.16860964814717763,-0.15732299387588713,-0.8401494269938334,3.4131409145188454,0.3010367127870796,0.27821798006187504,0.7281918332098938,0.14128233796164516 +2024-05-08T18:00:00.000000,17.2946,100.4099,0,-1.343350000000001,-0.7583840922907792,17.4238,16.6852,-0.27769999999999584,-0.681746133424755,100.2184,100.4836,1.606076180601771,0,-0.29806849981677863,0.1206893735467753,-0.407513340213916,1.5540734021950817,0.11479466342241916,-0.04129009906200524,1.2226788801312984,0.31411631769349835 +2024-05-08T19:00:00.000000,17.0944,99.925,0,-0.8933666666666689,-0.6886671854605816,17.2946,16.3095,-0.6337166666666718,-1.89114888976194,100.4099,100.3115,2.058270990764812,0,-0.6895987901008029,0.23214180969691173,-0.36489993107391294,1.6961716910994742,0.5678777649585633,1.181529156994669,0.8830747384453028,0.730183031403756 +2024-05-08T20:00:00.000000,17.7668,100.2765,0,0.27768333333333217,0.3409527266526309,17.0944,15.3389,-0.0833333333333286,-0.29010027971862606,99.925,100.6987,2.5576286752154664,0,0.4255548518863007,-0.14685095152743072,-1.5724091875117083,5.405425925443644,-0.010134595846396312,0.04605955021392424,2.3783963519961366,0.015422495629953141 +2024-05-08T21:00:00.000000,18.6752,100.1254,0,1.4003999999999976,3.8163981003134912,17.7668,16.734,-0.14946666666665465,-0.7581428275926161,100.2765,100.9198,3.755039114778287,0,-1.8131007749519037,12.818455931798972,-1.5947298595840838,3.280447624519709,-0.05033678072082059,0.7159652332041172,0.7833687967293531,-0.039751417480440907 +2024-05-08T22:00:00.000000,18.3568,100.5209,0,0.8687333333333349,1.268023404916606,18.6752,17.718,0.30743333333333567,1.7983402357960692,100.1254,100.7697,2.243451871664779,0,-0.09180544542641021,0.5548305846931207,-0.8967706354530542,2.4936005796514262,-0.13659787334225057,1.8465714962335167,1.16035744333344,0.10289015078641152 +2024-05-08T23:00:00.000000,20.6558,100.7938,0,2.8872,4.604351690954643,18.3568,18.0027,0.5477833333333422,2.6013608469011396,100.5209,101.1057,3.6063110060532795,0,-4.366448540990275,13.625371016228625,-1.3764657834496852,3.009387855260664,0.10190205936743037,2.279793768872976,-0.2664145408260338,-0.0016467620826844432 +2024-05-09T00:00:00.000000,21.0535,101.3248,0,2.7462333333333326,2.1134777631316153,20.6558,20.4779,0.9828833333333193,3.220116280022452,100.7938,100.994,2.39991236820654,0,0.4756875876475144,0.17016865646181673,0.14430491213345292,0.07399239847141104,1.591758328064241,3.344096825110039,-0.1099682511154648,0.06953891829771229 +2024-05-09T01:00:00.000000,22.7883,101.2384,0,3.8545499999999997,2.427801441760162,21.0535,21.5887,0.7439999999999998,1.466019363639228,101.3248,100.9313,2.268474928427249,0,4.771549973307288,-0.712594284199666,0.11889168817870614,-0.4507705196509786,1.842326354765491,-0.8827060371283679,0.26455623340796175,0.19472509222257678 +2024-05-09T02:00:00.000000,22.83,101.4742,0,2.947266666666664,1.5250384255110407,22.7883,22.2394,0.7608999999999924,1.5343838847879459,101.2384,101.2459,1.929512527066052,0,2.9529743145439844,-0.7538916298672275,1.0432732322696134,-0.8964308086894665,1.7729777759506864,-0.4205724664463365,0.0766478254634814,-0.05195965111991191 +2024-05-09T03:00:00.000000,24.3792,101.5827,0,3.6525999999999996,1.8932267302098997,22.83,23.4131,0.6697833333333421,1.2755234581620822,101.4742,101.5607,1.9987518989009512,0,4.5570477235124605,-1.1293179185396751,0.31489560544551276,-0.4742404676454715,1.3873328790430468,-0.8850758600214761,0.22963191128797633,-0.005264719722214348 +2024-05-09T04:00:00.000000,25.5303,101.7101,0,3.8530333333333324,1.8235807634981815,24.3792,23.6036,0.5542999999999978,1.3418924442284503,101.5827,101.6427,2.266023921447415,0,5.399549460812843,-1.2398751349677768,2.0587678079207343,-1.5691581155215653,0.6809319532415925,-0.533623988399528,0.3310633377071935,0.007209091778423681 +2024-05-09T05:00:00.000000,24.6243,101.4362,0,1.751450000000002,0.9344433388920611,25.5303,24.4477,0.08220000000000027,0.25450039046314654,101.7101,101.78,1.833345768090855,0,0.3269075318279779,0.3033971209812657,2.734525660192592,-0.5560008497586724,-0.02414038057808591,-0.08461575412673783,0.38083380480419915,0.28024957203410944 +2024-05-09T06:00:00.000000,25.8622,101.9322,0,2.327933333333334,1.4385921839900968,24.6243,24.2188,0.4711333333333272,2.759442472690862,101.4362,101.6901,2.1210607439825355,0,-0.46511422994587287,0.19595966044365956,2.300133088421531,-1.2347668886475265,-0.5734102453134026,3.843025171267472,0.29608594814471967,0.13698617529316842 +2024-05-09T07:00:00.000000,24.4924,101.7362,0,0.1566833333333335,0.12014213335855053,25.8622,23.8171,0.17389999999998906,0.7250101072515234,101.9322,101.4398,2.227607076046483,0,-0.2628873863944161,0.18470609765181958,4.223988660982085,-1.4470472246993566,-0.010449972803157792,0.5410430625370782,1.7638292334857553,-0.03094918550744445 +2024-05-09T08:00:00.000000,23.5734,101.4305,0,-1.0463333333333331,-0.9842996410616459,24.4924,25.2973,-0.21476666666666233,-1.1589883843069366,101.7362,101.2831,2.231453615774345,0,0.46182758704738397,-0.210642406384343,-0.7469164904940346,4.547765326937059,0.028712727515355606,0.6696955296583338,0.27674811354401296,-0.0478051484713655 +2024-05-09T09:00:00.000000,24.0532,101.1252,0,-0.6904333333333348,-0.8312259611976415,23.5734,22.9134,-0.5127833333333314,-2.642841837165828,101.4305,101.7282,2.33593433581077,0,-0.15005168167515573,-0.07238140418700353,0.23996276284180587,1.014466242754104,-0.07673063608358653,4.220823008506245,-0.28625154645937523,0.5667524755226677 +2024-05-09T10:00:00.000000,23.7104,101.1613,0,-0.978900000000003,-1.1264640651767106,24.0532,21.4798,-0.4004333333333392,-1.3928828048966282,101.1252,101.3601,1.701447539585795,0,-0.1529087948040896,0.08026513714616827,2.4424337776141614,-0.2789166904582914,0.28036295117635496,0.5067425710198231,-0.0692529088343085,0.08619768710273622 +2024-05-09T11:00:00.000000,21.9555,101.3413,0,-2.4304833333333313,-2.915504576107876,23.7104,22.1115,-0.12896666666665624,-0.4072682816101232,101.1613,100.715,2.1014942579154905,0,-0.2813024284320377,3.288374593089235,1.089631257910907,0.1422435015906678,0.04556689241941726,-0.1997247636027967,-0.03403878273508852,0.36552784581147185 +2024-05-09T12:00:00.000000,21.0826,100.976,0,-2.858583333333332,-2.2406439133684892,21.9555,21.1957,-0.47845000000000937,-1.4902928851896442,101.3413,101.1832,1.5025718614251034,0,1.7074544827841067,-0.020193992355087006,0.08541787376957125,0.15715242826600923,0.350954212750486,-0.13292299877363084,0.09283009359059674,0.017030098714449014 +2024-05-09T13:00:00.000000,20.0758,100.6793,0,-3.0687833333333323,-2.3116173167263248,21.0826,20.0863,-0.6157833333333258,-2.2834054778611623,100.976,101.1183,1.5679953835471077,0,1.0356206209107266,0.04596995091836431,0.03973100281033832,-0.11410379233544965,0.33974570970237405,1.0584369489601633,0.05306363398498597,0.00014544787353805636 +2024-05-09T14:00:00.000000,19.3014,100.8583,0,-3.107083333333332,-1.915059154199471,20.0758,19.0527,-0.26063333333334526,-0.9685527702162162,100.6793,100.7863,1.4204061478679972,0,2.482756952641623,-0.5099915073656691,-0.04696227277526035,0.06665877895374794,0.02446804675001648,-0.2618688388373875,0.23696669022584613,0.025525775308285974 +2024-05-09T15:00:00.000000,19.2847,100.3671,0,-2.4117833333333323,-1.256650130256556,19.3014,17.3956,-0.6564666666666739,-2.782290539729663,100.8583,100.4938,1.829288462939425,0,0.3353636005057858,-0.6573020681223712,-0.3262433319220765,1.1148060819178323,-0.07382453160184094,2.525559649309332,0.0643700511212269,0.3635668294353939 +2024-05-09T16:00:00.000000,18.7581,100.1713,0,-2.1436333333333373,-1.2421997533843125,19.2847,16.6736,-0.725916666666663,-2.090005050481716,100.3671,100.3256,2.109689461186155,0,-0.3446839835983023,-0.22414617886602722,-0.602739023593842,2.342554018621667,0.9240987619666087,0.6349168531493693,1.081701239518222,0.6390879354422327 +2024-05-09T17:00:00.000000,17.4053,100.5364,0,-2.671050000000001,-2.17962712189382,18.7581,17.4238,-0.19581666666665853,-0.46230318970114287,100.1713,100.2184,2.00610106994592,0,-0.2394754396329836,1.4847886407732358,-0.38494604976503494,0.9356750752991453,0.06914659490952016,-0.2214152903553742,1.4692415454857,0.9114264261239551 +2024-05-09T18:00:00.000000,17.4053,100.5364,1,-1.9126833333333337,-1.5451652095637027,17.4053,17.2946,-0.061666666666667425,-0.2041020783535136,100.5364,100.4099,1.5301945747521395,0,-0.21655245155946226,0.9037800707860423,0.23893982800475294,0.7766963480773244,-0.00982053163600816,-0.061481783298048924,0.18866824655545922,0.5212657096708215 +2024-05-09T19:00:00.000000,17.4053,100.5364,1,-1.2997999999999976,-1.191314751208465,17.4053,17.0944,0.011600000000015598,0.04857059668236085,100.5364,99.925,1.9563566915563717,0,-0.5024977122766437,0.8122141703218424,-0.061356123370271014,1.2798612800558453,0.014291245401584862,0.05770873871335944,0.09255346917021853,2.1345564365814553 +2024-05-09T20:00:00.000000,17.4053,100.5364,1,-0.8547166666666648,-0.8936167742827302,17.4053,17.7668,0.03541666666666288,0.15589684675268942,100.5364,100.2765,1.5740166279060674,0,-0.34249320939441535,0.6054030501026517,0.394974736588077,0.4991748698879188,0.018520937667392007,0.07741376094389295,0.2289052078365853,0.9956289912926853 +2024-05-09T21:00:00.000000,17.4053,100.5364,1,-0.5387000000000022,-0.6330181356636441,17.4053,18.6752,0.08906666666666752,0.5889208260505331,100.5364,100.1254,1.7625834334406205,0,-0.16192932723917244,0.4037540919008599,0.9130413882784996,-0.2291578087107306,-0.007647873016148232,0.3259783210494688,0.2554653142981207,1.6071962532784283 +2024-05-09T22:00:00.000000,19.9709,100.8255,0,2.340133333333334,4.2372358048085585,17.4053,18.3568,0.34995000000000687,2.3478469884606703,100.5364,100.5209,3.3321803122175266,0,-3.7346860047141233,12.067021885808815,-0.9314282912387601,1.4082864127412897,-0.2548063724927057,2.2382965668283905,-0.2906228881147525,0.6013643243119429 +2024-05-09T23:00:00.000000,20.0709,100.7779,0,2.238000000000003,2.136715795271578,19.9709,20.6558,0.1933166666666608,1.6379356351055543,100.8255,100.7938,1.5427811940168032,0,0.2301503672193128,1.1919686628167394,-0.06763692611776298,-0.022400641048260114,-0.22813170756583262,0.9615799524527047,0.02478903825394986,0.28985506660106075 +2024-05-10T00:00:00.000000,21.8622,100.9566,0,3.5850333333333353,2.6534964414367392,20.0709,21.0535,0.33176666666665255,2.407162889132606,100.7779,101.3248,1.9168076357687542,0,2.6134085251375527,-0.10616974443363313,-0.043403035822688014,-0.17833190512684066,-0.4644033363104086,1.7315357395777793,0.12713405022991858,-0.005618780710283065 +2024-05-10T01:00:00.000000,22.2601,101.0202,0,3.240116666666669,1.7120498248985652,21.8622,22.7883,0.32533333333333303,1.7759015634812143,100.9566,101.2384,1.6709506933104228,0,3.841005772443476,-1.2972275850765835,0.13639715934948823,-0.019486406575512365,-0.27352459423715464,0.3922517063170476,0.06577121380963676,-0.05311104655581265 +2024-05-10T02:00:00.000000,23.2852,101.1291,0,3.456083333333332,1.652458188954145,22.2601,22.83,0.3535999999999859,1.7273720329171034,101.0202,101.4742,1.804513067076723,0,4.841677760043027,-1.5969301290876878,0.31417599088640763,-0.3137489063129437,-0.20736033733939643,0.2102068355955421,0.016595610155331144,-0.008349414689639824 +2024-05-10T03:00:00.000000,24.1858,101.5738,0,3.3766999999999996,1.6032742734703527,23.2852,24.3792,0.6995166666666819,3.3436877991845204,101.1291,101.5827,2.1871219622903135,0,2.49250307251262,-1.4899323193669163,0.4458316430412335,-0.09334454566183503,-0.5165541323899542,3.971065184243352,-0.014551113335283247,-0.011515311110584625 +2024-05-10T04:00:00.000000,23.8115,101.5669,0,1.8723166666666664,1.1058648913596596,24.1858,25.5303,0.5197166666666675,1.8047765047046942,101.5738,101.7101,1.7372414857130176,0,-0.49720568269234333,0.13500539835091344,-0.06693133781260614,2.1181567883664902,0.1497712483638997,0.6905503404663845,0.3512248516170165,0.1374363730226167 +2024-05-10T05:00:00.000000,24.3824,101.5909,0,1.8031166666666678,1.188648195170968,23.8115,24.6243,0.4201500000000067,1.2737954757281906,101.5669,101.4362,1.4490954767672266,0,-0.26934422241047096,0.3567653306288159,0.3175699926247311,1.0219502966899663,0.2089692254920811,0.11971794055137538,0.41020668700390844,-0.06595754979316991 +2024-05-10T06:00:00.000000,25.2984,101.8866,0,2.0005333333333333,1.9309742305826372,24.3824,25.8622,0.5803500000000099,1.921712140633343,101.5909,101.9322,2.115150021644457,0,-2.0575253205420503,2.1906844411318365,0.1572182309567045,2.2978779250239403,0.29215353501193536,0.6006397348024295,0.4475870891219661,0.5452239785557886 +2024-05-10T07:00:00.000000,25.4068,101.2942,0,1.5362333333333353,1.4865506734967446,25.2984,24.4924,-0.16705000000000325,-0.5148366551295182,101.8866,101.7362,2.265828223158187,0,-0.6478853550546423,1.9782130745096531,2.3122882099954656,0.05408324089556232,0.08365821553560854,0.27710638536506177,0.8520649252443591,0.22444884036911808 +2024-05-10T08:00:00.000000,25.9704,101.6237,0,1.5753833333333347,1.8949128989275383,25.4068,23.5734,0.11678333333333057,0.4431261103680438,101.2942,101.4305,2.245215354220629,0,-1.1538554701152193,3.101248728704931,4.397296175578606,-1.1527756177086441,-0.04436733979836342,-0.0798859483638649,-0.016268782761384888,-0.01039975870799709 +2024-05-10T09:00:00.000000,23.5113,101.4638,0,-1.3312500000000007,-1.5901612214533918,25.9704,24.0532,-0.12555000000000405,-0.6665394708149831,101.6237,101.1252,2.024513037614768,0,0.34490411114350883,0.18849458313815354,3.031654461934236,0.30639974758596084,0.022755953325078924,-0.03882104099024874,0.247070690025077,-0.003805466689592527 +2024-05-10T10:00:00.000000,23.1676,101.3342,0,-1.5625333333333309,-1.5998571641077788,23.5113,23.7104,-0.23681666666666956,-1.2119655233552147,101.4638,101.1613,1.7394200219427696,0,0.3362374616218067,0.3125649312685454,-0.31160405853555534,2.18735651732542,0.020726327387396482,0.5045259416954402,-0.013466092515878048,-0.010759015511790562 +2024-05-10T11:00:00.000000,22.1918,101.0883,0,-2.4310166666666646,-2.1660744698541556,23.1676,21.9555,-0.44393333333333374,-2.0350051507986526,101.3342,101.3413,1.6970082973319065,0,0.5729600072145115,0.2671822327537923,0.453124991930326,0.3836738756557532,0.027013152005800914,1.159752214722713,-0.0816176368561834,0.09774832378662271 +2024-05-10T12:00:00.000000,20.724,101.0211,0,-3.533716666666667,-2.345389219428182,22.1918,21.0826,-0.4273666666666571,-1.5312437164460093,101.0883,100.976,1.7973117507689431,0,3.7009115080446255,-0.9575732779847154,0.31982909033999224,0.14068847520959044,0.20545602467301652,-0.16737302108836455,-0.011054513234508798,-0.0005547565075140467 +2024-05-10T13:00:00.000000,20.1448,100.9861,0,-3.3505166666666675,-1.7068362610904733,20.724,20.0758,-0.3181166666666684,-1.4077865381053392,101.0211,100.6793,1.697443177907887,0,4.277745817961435,-1.4429260067466803,0.03299837478193505,-0.10288292805883877,-0.03667083724394612,-0.03556282908151034,-0.0033087440796419837,0.19192049469327246 +2024-05-10T14:00:00.000000,19.0739,100.7909,0,-3.5444166666666703,-1.6811884669244335,20.1448,19.3014,-0.46196666666666886,-1.7700319903358004,100.9861,100.8583,1.7468438679340321,0,4.763971308869578,-1.6974805731318934,-0.0208486677205208,-0.12912376911976958,0.0573517180389883,0.09914258656323592,-0.005964526705842845,-0.015584577855045464 +2024-05-10T15:00:00.000000,18.3386,100.193,0,-3.130300000000002,-1.7708384322487605,19.0739,19.2847,-0.9210666666666611,-3.7546675398362814,100.7909,100.3671,2.5723416482824986,0,0.7147674359622964,-0.8221291040732682,0.3954252911630185,-0.9310242911651454,0.4013248733728394,5.855242308614748,0.3361951338259359,0.6671399077882986 +2024-05-10T16:00:00.000000,16.9631,100.172,0,-3.643683333333332,-1.9882884630388078,18.3386,18.7581,-0.7302666666666653,-1.8758288461266976,100.193,100.1713,2.362275819361084,0,2.6082655362248857,-0.6575822534802424,0.4742068778326911,-1.1782364787178268,1.293547786521569,0.1322750749240766,1.9122801224406982,0.9955903809922301 +2024-05-10T17:00:00.000000,15.6659,100.447,0,-3.906799999999997,-2.112908210646198,16.9631,17.4053,-0.26156666666666695,-0.6237010034873787,100.172,100.5364,2.1915317601803017,0,4.307899043838891,-0.5694893133864783,0.8236672621911553,-0.7147412856933938,0.0924734119025673,-0.36099879457284095,1.1614399279420855,0.06256120365698742 +2024-05-10T18:00:00.000000,17.4403,100.4155,0,-1.044749999999997,-0.5446165803927591,15.6659,17.4053,-0.18618333333333226,-0.48558198770466676,100.447,100.5364,1.5986457592682062,0,-0.2032413003265696,0.14356866131069013,2.509334396485928,-0.6791412689850802,0.011592278890153759,0.03338555554658491,0.4594936253313564,0.28067631537315607 +2024-05-10T19:00:00.000000,17.2539,100.0957,0,-0.6838666666666633,-0.4294125583176735,17.4403,17.4053,-0.4050500000000028,-1.240950251130294,100.4155,100.5364,1.5412145038476546,0,-0.33228690232494623,0.0912336077706884,0.19059194969564267,0.42218681771808203,0.2015139623102765,0.5927246769980036,0.8757289387261759,0.3336490959764492 +2024-05-10T20:00:00.000000,17.0524,100.3729,0,-0.40355000000000274,-0.3438965194142839,17.2539,17.4053,0.020550000000000068,0.08010488621002661,100.0957,100.5364,1.7108290283180492,0,-0.1431394274959141,0.13107764965846871,0.0883422772298432,0.7591730031685013,0.007596099194546323,0.00524829845549965,1.7644835082315424,0.3141545556931934 +2024-05-10T21:00:00.000000,18.272,100.4848,0,1.1529666666666643,1.3314917591389488,17.0524,17.4053,0.20211666666666872,1.3750009084667252,100.3729,100.5364,1.9266385767317458,0,0.36269566556600275,0.19035157526155624,-0.3889222996929044,1.8792008870061372,-0.06888006559711515,0.948945214826248,0.3325429351207599,0.4560022928602436 +2024-05-10T22:00:00.000000,19.1581,100.5893,0,2.050166666666666,2.41939081455754,18.272,19.9709,0.25798333333332835,1.6209487143070136,100.4848,100.8255,1.7147719813586602,0,-0.3234562670648668,2.035148044660515,0.17752827953366834,0.01713594367594887,-0.1706821825540196,0.5931138991724308,0.443423387725818,0.1682318429032085 +2024-05-10T23:00:00.000000,19.8146,100.749,0,2.3408333333333324,1.9826825193583042,19.1581,20.0709,0.34813333333333674,2.089444852042944,100.5893,100.7779,1.707730644757921,0,0.8955880304532489,0.18257461878516568,-0.13199854772760114,0.15141386416848665,-0.26355583514433367,1.560525395664845,0.2446634139272554,0.27713301491824 +2024-05-11T00:00:00.000000,21.1038,100.9745,0,2.9385833333333338,2.6153983655356874,19.8146,21.8622,0.5233000000000203,2.375345354727517,100.749,100.9566,1.7011792973023219,0,0.2930786094672535,1.1439316856809245,0.05474212357682013,0.12468359213731552,-0.11601843616365312,1.1604205652170103,0.11587987472220894,0.1172929869321386 +2024-05-11T01:00:00.000000,21.6525,100.9113,0,2.8766999999999996,1.8427558588444486,21.1038,22.2601,0.36693333333332134,1.2056104019634335,100.9745,101.0202,1.4494391576623025,0,2.6359276499594873,-0.5087259279310952,-0.0035423234244788574,0.10717024041836687,0.12067084671943175,-0.3558813941187763,0.03346097661787077,0.07179380352399929 +2024-05-11T02:00:00.000000,21.769,101.449,0,2.2600999999999978,1.3083825332182102,21.6525,23.2852,0.7686999999999955,3.216175318928298,100.9113,101.1291,1.9796059953454739,0,0.3195503102126536,-0.6603068064189958,-0.033074106690154786,0.3293712365605781,-0.00010929089325341883,3.9527456042672555,0.017163860725558876,-0.006500910955896135 +2024-05-11T03:00:00.000000,23.069,101.5633,0,2.774000000000001,1.934099762518037,21.769,24.1858,0.7036500000000103,2.0500785615117163,101.449,101.5738,1.680437877986701,0,0.21440807497896108,0.18089849958331775,-0.4089119256799612,1.389495445103946,0.89874409780359,0.15214805334373327,0.35190708378732316,0.04518213285153624 +2024-05-11T04:00:00.000000,24.1203,101.5959,0,3.0258000000000003,2.133933279037978,23.069,23.8115,0.5564999999999998,1.4370807480895236,101.5633,101.5669,1.625822358724417,0,0.8203388074485803,0.7429293709708197,0.41241368712858306,-0.18163391020963648,0.6759417179473047,-0.34296553671786356,0.5038176057939565,0.012456599766481837 +2024-05-11T05:00:00.000000,24.0208,101.5099,0,2.0992666666666686,1.3930404012830726,24.1203,24.3824,0.3027333333333502,0.8161051946835639,101.5959,101.5909,1.48520122858641,0,0.16090186813450005,0.5222016928853295,0.8358256480598543,0.36871368830779805,0.12423411584687767,-0.20198576845701727,0.3549465609936109,0.04098488362362887 +2024-05-11T06:00:00.000000,23.8652,101.6626,0,1.242633333333334,0.9602098168293675,24.0208,25.2984,0.3286166666666759,1.0681410659396824,101.5099,101.8866,1.7126711579844118,0,-0.7634387106293701,0.5397695347887235,-0.17851756877493075,2.516945238887846,0.0463167293084895,0.0604313932303869,0.1461956396658936,0.5655402389146265 +2024-05-11T07:00:00.000000,24.201,101.9956,0,1.118199999999998,0.992991455316316,23.8652,25.4068,0.5469333333333282,2.002200876608192,101.6626,101.2942,2.058578062350821,0,-1.152166924337119,0.6707540545175641,-0.1645498343734104,2.4152844882084747,0.15887906837570376,1.5431359044444544,0.8575541152573228,-0.09114723330092897 +2024-05-11T08:00:00.000000,22.836,101.4205,0,-0.6715499999999999,-0.7108393798910106,24.201,25.9704,-0.20888333333333264,-1.0786097936633932,101.9956,101.6237,2.561977706915575,0,0.2935516750430826,-0.16940789933605344,-1.6746951460289508,6.337458115161696,0.028737172527055467,0.6860800161847027,0.9366852207422507,0.12532061643860745 +2024-05-11T09:00:00.000000,23.2082,101.345,0,-0.4771833333333326,-0.8180663170110751,22.836,23.5113,-0.2796333333333365,-1.403512746618217,101.4205,101.4638,1.6907816816016132,0,-0.061815071808864426,0.16760522486163637,-0.5154624288039721,2.0532864266557658,0.024538992901180855,1.225691853398441,-0.1401485553760538,0.10504625301144688 +2024-05-11T10:00:00.000000,21.5869,101.0027,0,-2.1216833333333334,-3.8158562917859986,23.2082,23.1676,-0.5855499999999978,-2.543611537500628,101.345,101.3342,3.147122111425239,0,-3.066025008282045,9.252665420640685,-1.0043561338262896,2.269763593470352,0.2741013976636318,2.5367250685500577,-0.39893497643007086,0.04043822243533036 +2024-05-11T11:00:00.000000,21.2425,101.1527,0,-2.043849999999999,-2.0842331562250473,21.5869,22.1918,-0.3366833333333261,-1.0159400719813416,101.0027,101.0883,1.6216091117120266,0,0.032222626721740276,1.3804168584166872,-0.3231928740082117,1.1546887698631831,0.2646320175350327,0.0803444732858239,0.03916357022134965,0.0013406691518636487 +2024-05-11T12:00:00.000000,19.3883,101.1419,0,-3.4349999999999987,-2.870577728541795,21.2425,20.724,-0.28794999999998083,-0.8043410216950061,101.1527,101.0211,1.7697411214031753,0,2.2626778881588208,1.1741982644372124,-0.027142270958084577,0.0390460136864812,0.1326299903029885,-0.4649193395092554,0.023960884211718273,-0.00846779354450979 +2024-05-11T13:00:00.000000,18.3993,101.2605,0,-3.6778499999999994,-2.1572718212115816,19.3883,20.1448,-0.08256666666667911,-0.23365413941738206,101.1419,100.9861,2.1793518245887276,0,5.6822072682139355,-0.9760266007104755,0.28726214476152007,-0.16145925029354455,-0.009862996930860804,-0.14372229896946398,0.09784330475390125,-0.026667195486798054 +2024-05-11T14:00:00.000000,18.1614,100.6768,0,-2.9487999999999985,-1.556809203889185,18.3993,19.0739,-0.5437500000000028,-3.5805294911998335,101.2605,100.7909,2.4640128759563527,0,1.377882202192338,-0.9979912215652212,0.934389308742338,-0.8490542005908304,-0.953735011511349,6.444285972613774,0.08522059135628475,0.030361811641359086 +2024-05-11T15:00:00.000000,16.5082,100.6024,0,-3.8229000000000006,-1.9107952262934007,18.1614,18.3386,-0.4942000000000064,-2.092811945158862,100.6768,100.193,1.988901365614233,0,3.9663001313683393,-1.3525703277027386,0.4851787015341694,-0.9101320512848233,-0.053774612920176795,0.6967357474466521,0.17061625985328252,0.9533747938474522 +2024-05-11T16:00:00.000000,15.6571,100.2318,0,-3.557333333333336,-1.8312019564904587,16.5082,16.9631,-0.7410333333333199,-2.7261702791384796,100.6024,100.172,2.0920278093768188,0,1.8747367421811938,-0.8293179670776583,1.4454848372803837,-1.3088089536270795,0.24664734081205855,1.8060833060840655,0.2843234394669797,0.8574316100860264 +2024-05-11T17:00:00.000000,16.7221,100.3235,0,-1.5040333333333322,-0.7513688239754437,15.6571,15.6659,-0.52085000000001,-1.2872256254403354,100.2318,100.447,1.878774812702339,0,-0.49479269823820843,0.11075095305964512,0.6348299974328541,1.2907268715225448,0.4463470453619476,0.19753222231909556,1.0807013218953965,0.2636990834914304 +2024-05-11T18:00:00.000000,14.1797,100.4129,0,-3.2930333333333337,-2.3530693411441743,16.7221,17.4403,-0.29325000000000045,-0.6989133843136368,100.3235,100.4155,1.9404522341793904,0,1.0270024575653618,1.2330395610199822,1.3543114357330162,-0.7916313907635925,0.1249604853602809,-0.32517273554824994,0.7966655892325711,0.3461794705324177 +2024-05-11T19:00:00.000000,15.4184,100.6234,0,-1.1862333333333357,-0.7518786162196247,14.1797,17.2539,0.03875000000000739,0.10447967345943267,100.4129,100.0957,2.3889865730951874,0,-0.25292545308411074,0.4333083346051138,5.521258762108628,-1.6272129186097855,0.03678772058732156,0.02890806144348389,0.2324243613356687,1.334707978042765 +2024-05-11T20:00:00.000000,20.2094,100.3241,1,4.1015833333333305,3.0318235609078483,15.4184,17.0524,-0.1543666666666752,-0.8501229340732024,100.6234,100.3729,3.7494121187681384,0,9.78195407244078,-1.0826217039625041,1.5135093750940274,1.1194881232678227,-0.06046578504715802,1.4041549006786773,0.33959505214876917,1.0424772017449637 +2024-05-11T21:00:00.000000,13.2289,99.7037,1,-3.22025,-1.569168310318233,20.2094,18.272,-0.715983333333341,-4.464107328480982,100.3241,100.4848,3.2851671469070727,0,0.5810214548722924,-1.3223657456671807,-0.03574051324256884,-0.4336950727499289,-1.0435954293641871,10.822102577388423,1.9617047688324132,0.26289114304829525 +2024-05-11T22:00:00.000000,17.4403,102.5557,1,1.537700000000001,0.6316507195925508,13.2289,19.1581,2.2857999999999947,7.4297673031927385,99.7037,100.5893,6.257610975292394,1,-0.20045284871424918,-1.5062211056149257,8.186533939930136,-0.36936200476826614,9.187942754449514,23.088030964190335,0.4074362037136379,0.3637872149136454 +2024-05-11T23:00:00.000000,18.0048,98.5259,1,1.8049999999999997,0.7202026983034518,17.4403,19.8146,-2.1313166666666774,-2.176036615016715,102.5557,100.749,5.255534519474889,1,3.138545035260307,-0.47263083609048584,2.111036738264602,-0.3220210297918329,18.74729217811018,-1.026925743374615,4.965683061910343,0.4796636811036536 +2024-05-12T00:00:00.000000,19.062,102.5169,1,2.648416666666666,1.0138758704232524,18.0048,21.1038,2.1592833333333346,1.637966991884212,98.5259,100.9745,6.241559301673764,1,5.896998622861509,-2.3147996176711794,1.4171300666768616,0.4009456532161001,20.604638383906018,-4.89303979238155,17.860224902957977,-0.015035703255449305 +2024-05-12T01:00:00.000000,20.0158,100.0505,1,2.7884999999999955,1.099365213110655,19.062,21.6525,-0.6577833333333274,-0.414186599865196,102.5169,100.9113,3.4665280488213233,0,4.5224308146395416,-1.064768020790379,0.8514593445776627,0.32858502884898266,1.7825338895594376,0.01921228058624963,5.316216737347054,0.2611466384964197 +2024-05-12T02:00:00.000000,21.5637,101.1315,0,3.5701666666666654,1.386555127080213,20.0158,21.769,0.5186999999999955,0.32191197176991043,100.0505,101.449,3.3958018769279588,0,9.192315926311638,-2.6237519495225103,0.09829617126644341,0.4569409607601436,1.0656647501535021,-0.698264449664623,3.9170563640485336,0.12321261399431874 +2024-05-12T03:00:00.000000,22.3293,101.4242,0,4.110050000000001,1.4409345318420588,21.5637,23.069,0.6768333333333345,0.41881048152405076,101.1315,101.5633,3.009344741846931,0,10.379136007721685,-2.688468974809964,-0.30803495919684964,0.4500462848767202,2.1110032655815996,-0.8440925791329583,-0.08470377743503298,0.04127050767656638 +2024-05-12T04:00:00.000000,22.7769,101.49,0,3.040916666666668,1.5655062538816509,22.3293,24.1203,0.45588333333333253,0.29508200651093547,101.4242,101.5959,2.067645074706719,0,3.5254385440812905,-0.806490321933117,-0.532069592099411,1.6185206747525598,0.9218405821887536,-0.47467485082736127,-0.03548243109911669,0.05807354989535631 +2024-05-12T05:00:00.000000,22.6073,101.8824,0,1.9818833333333323,1.0417695727336,22.7769,24.0208,1.0259000000000071,0.7389380631120511,101.49,101.5099,2.348458510942993,0,0.7387751122701524,-0.15629369720212122,-0.33804454465383316,0.8941339839433529,5.019288790273777,-1.0031873561041111,0.329313852037456,0.03127123705590587 +2024-05-12T06:00:00.000000,23.1179,101.4325,0,1.725399999999997,1.1315259214360425,22.6073,23.8652,0.01658333333334383,0.020167914933296772,101.8824,101.6626,1.6494637259819915,0,0.2234084067372846,0.38597838173631593,-0.36118403122804354,1.155966872699133,-0.0008593710555811996,-0.04348320808784335,1.1920859964261463,0.16881753610298247 +2024-05-12T07:00:00.000000,22.0433,101.4519,0,-0.025183333333334446,-0.02220750196827708,23.1179,24.201,0.216716666666656,0.3450213953248485,101.4325,101.9956,1.6627185418425363,0,-0.09299087515478907,0.034507097645554125,-0.4067649876015488,1.939216721952468,0.14062245115522368,-0.041750184330103066,0.08101757592003313,1.1107751498001308 +2024-05-12T08:00:00.000000,22.9544,101.3703,0,0.5479999999999983,0.9900692546311735,22.0433,22.836,-0.0984499999999997,-0.40958438084803983,101.4519,101.4205,1.3893232593650926,0,-0.4059111468059094,1.153669630323709,-0.06108749462229477,0.7858156870478323,0.010252386580242702,0.16977369703100365,0.21375410092803546,0.06395225853022507 +2024-05-12T09:00:00.000000,21.5205,101.717,0,-1.117683333333332,-2.794885741429182,22.9544,23.2082,0.20844999999999914,1.1131670738546007,101.3703,101.345,2.6908470154345165,0,-0.6937202370462738,6.106948632259185,-0.35736870654065,0.8157805638398651,-0.09730275175795279,1.3732480788151462,0.08449714745874053,0.008574933444785444 +2024-05-12T10:00:00.000000,21.0506,101.2598,0,-1.4527833333333326,-2.3919885878006144,21.5205,21.5869,-0.2975500000000011,-1.4976045556112714,101.717,101.0027,1.8653492097173046,0,-1.0169954691012448,3.155264062770967,-0.2947275166228449,0.33848701028010425,-0.0871041128949182,0.5989129193797169,0.7361033310058859,0.04958744937530548 +2024-05-12T11:00:00.000000,19.4131,101.0708,0,-2.8025666666666638,-3.406900195296064,21.0506,21.2425,-0.4481833333333327,-1.9196495650711805,101.2598,101.1527,2.135060934306497,0,-1.6144481877474794,5.314040721355954,-0.26214766637129105,0.4054725119383185,0.04872154599973547,0.7388630536995637,-0.07879100373087566,0.006774218057802803 +2024-05-12T12:00:00.000000,19.0235,101.2521,0,-2.6598000000000006,-1.941512244208971,19.4131,19.3883,-0.13161666666665894,-0.6115969248913764,101.0708,101.1419,1.295468667717261,0,1.6147339377371877,0.21510506070645802,0.12486188916065968,-0.05170939377021612,-0.03856718756028482,-0.21154251123616666,0.01401497991056564,0.011342294088931507 +2024-05-12T13:00:00.000000,18.2244,100.5443,0,-2.7764999999999986,-1.8223562455700544,19.0235,18.3993,-0.8093499999999949,-3.685892916994453,101.2521,101.2605,2.215509469835775,0,0.21894978519057917,-0.5332467753903702,0.23263895403110527,-0.2943915981119486,-0.3753266598474502,5.5181085731118085,0.019873177355799392,0.12187675459247295 +2024-05-12T14:00:00.000000,16.4011,100.8724,0,-3.9633166666666675,-2.2296723183460445,18.2244,18.1614,-0.3299833333333311,-0.8524779799602435,100.5443,100.6768,1.932127208390167,0,4.827191727056227,-0.8864669292589072,0.2574289213952472,-0.38343430135779827,0.14584964470869277,-0.5083011173605281,0.27221172713790714,0.008635877080739417 +2024-05-12T15:00:00.000000,15.0124,100.472,0,-4.2597999999999985,-2.267881927661198,16.4011,16.5082,-0.6474000000000046,-1.6301997666611663,100.8724,100.6024,2.109422566539294,0,5.128182763161383,-1.289600544773474,1.09942819759369,-0.06216105731691956,0.5693864591985728,-0.8698583820160475,-0.12417107304204236,-0.0015427985799438418 +2024-05-12T16:00:00.000000,14.7456,100.3267,0,-3.4419166666666676,-1.5818533928602199,15.0124,15.6571,-0.5852000000000004,-1.700384622066743,100.472,100.2318,2.0754352779074066,0,2.460860700107919,-0.7230607862113138,2.048952403726092,-0.3419346492716329,0.2991688971810149,-0.11783739655090336,0.13891832030188606,0.5423641034995305 +2024-05-12T17:00:00.000000,14.5914,100.1294,0,-2.545283333333334,-1.2510527575383796,14.7456,16.7221,-0.6269833333333423,-1.7146652393449002,100.3267,100.3235,2.180552896842954,0,0.4138468969776244,-0.022454604385740096,3.9884244586011084,-2.0717816959600865,0.5935766717000424,0.5223417292206142,0.8590177208308711,0.4718397589457652 +2024-05-12T18:00:00.000000,14.4276,100.1188,0,-1.9054666666666638,-1.0009985351389235,14.5914,14.1797,-0.4806833333333458,-1.1905411160392316,100.1294,100.4129,2.235785323285924,0,-0.5797209368001917,0.20987729922310322,0.41117083152683315,3.583155924804169,0.2671428079577747,-0.06987215472060813,1.0215985783236192,0.1553836615060477 +2024-05-12T19:00:00.000000,15.2324,100.597,0,-0.3346833333333308,-0.22574810176010932,14.4276,15.4184,0.1863999999999919,0.6540030586584609,100.1188,100.6234,2.336780112288886,0,-0.10306689429950519,0.07719337017026429,1.7812791437778566,2.3676287102678306,0.17296999094483848,0.2892923257526575,0.8230956916015121,0.05214895497340162 +2024-05-12T20:00:00.000000,15.1095,100.3142,0,0.04108333333333114,0.05754538583904074,15.2324,20.2094,-0.10518333333332919,-0.36181119532290107,100.597,100.3241,2.8283244920471664,0,0.11679369634301531,-0.12012915580772814,6.785691909734512,-0.48063572030038826,0.005437438913777898,0.19465388305826542,0.44828573355039153,1.0493216468220152 +2024-05-12T21:00:00.000000,15.7843,100.8118,0,0.9311500000000006,2.956167856525779,15.1095,13.2289,0.48545000000000016,2.583940472941694,100.3142,99.7037,4.645462844869839,1,-1.3404233954937668,6.763918623495056,-4.7024839486498236,14.339393868995243,0.22910359203180852,4.782500339092286,-1.2354027727888932,2.7437187363842646 +2024-05-12T22:00:00.000000,17.0782,100.4592,0,2.0963999999999974,4.21229897665283,15.7843,17.4403,0.07621666666665305,0.27954292551750254,100.8118,102.5557,4.103897328234859,1,-3.352425253165638,13.356168623472573,0.5927408092896265,1.7430370770444892,0.08106834858551631,-0.22058755559459076,-0.1265556512172822,4.768526882278524 +2024-05-12T23:00:00.000000,17.6438,100.8774,0,2.273233333333332,2.3519989472316696,17.0782,18.0048,0.4723333333333386,1.733060188436216,100.4592,98.5259,4.103791516001944,1,1.511184051195401,0.8021397755784685,-0.4275416650509544,0.973422444808876,0.3119505088081161,0.6593277663646766,-0.17724000922243785,13.187861934327385 +2024-05-13T00:00:00.000000,17.6352,100.7956,0,1.7559000000000005,1.4169378463724789,17.6438,19.062,0.2658666666666534,0.9116424493620742,100.8774,102.5169,2.4672954390915147,0,0.6194074219789014,-0.028784073711054837,0.7271786888579685,0.5380503766324763,0.22250070737340308,-0.07906903592940523,0.016546571347793637,4.071716127211708 +2024-05-13T01:00:00.000000,19.4459,101.3136,0,3.032,2.573687082914786,17.6352,20.0158,0.6710666666666611,2.9967285358346962,100.7956,100.0505,2.7226856800254637,0,1.2053868959809984,0.10636836596733405,0.5584242654647998,0.08020850278452568,0.11092194846113113,3.004139382448884,-0.1950130657253589,2.5425810168334086 +2024-05-13T02:00:00.000000,21.2196,101.6276,0,4.103449999999999,2.6736719523449524,19.4459,21.5637,0.8656333333333208,2.4714202154870777,101.3136,101.1315,2.2865472682311645,0,4.226177777964399,-1.1340495926027532,0.18799760419336678,-0.22261846212410755,1.7210665635750984,0.10264228888723517,0.35554807791212323,-0.00846584794996313 +2024-05-13T03:00:00.000000,21.4801,101.1901,0,3.345600000000001,1.7455849315673422,21.2196,22.3293,0.20923333333334426,0.5002421726206903,101.6276,101.4242,1.9280895460446918,0,4.663188680505469,-1.0461253072419836,-0.09162187393949107,-0.10496348384108749,0.1283512946890709,-0.3810751117530637,0.5941092055283419,-0.044334106380428645 +2024-05-13T04:00:00.000000,21.3036,101.8239,0,2.2197999999999993,1.1500015451920826,21.4801,22.7769,0.7799833333333197,1.8741073638292431,101.1901,101.49,1.4984846639969456,0,1.075258218379768,-0.5909953431132703,-0.09646249472166755,0.048390196465216875,1.5863869219087978,0.10180254454257497,0.05285266830644324,0.0682235764661766 +2024-05-13T05:00:00.000000,23.3611,101.7667,0,3.5730666666666657,1.9634073085712231,21.3036,22.6073,0.49533333333333474,1.2215404631325943,101.8239,101.8824,2.1312317845630417,0,3.8018534485676883,-0.9072215472627627,-0.1185352125653822,-0.407145083001729,0.7306864084416288,-0.49662553384453406,1.4128881160877027,0.5262483231091575 +2024-05-13T06:00:00.000000,21.9079,101.596,0,1.1669833333333344,0.5942861512354077,23.3611,23.1179,0.17641666666666822,0.4465219872316538,101.7667,101.4325,1.3129913230322205,0,0.03066663332659774,0.12211185027161409,0.7155202336915548,-0.28963848904605255,0.07919512442719671,0.0012054152395564676,1.0769858349133294,-0.012100388465896478 +2024-05-13T07:00:00.000000,22.4517,101.8,0,0.998666666666665,0.7918069432343559,21.9079,22.0433,0.2470166666666671,0.9833930011834809,101.596,101.4519,1.1879435225098005,0,-0.337140646427752,0.3424282563412495,0.2501044464874229,-0.3228908398727453,0.07529191515307566,0.4524418437267884,0.8800478206921205,0.07092701657283329 +2024-05-13T08:00:00.000000,22.1594,101.5449,0,0.20540000000000447,0.24847440490736186,22.4517,22.9544,-0.08915000000000362,-0.376889434667481,101.8,101.3703,1.3462297966384698,0,-0.14230914456501007,0.1985409947459673,-0.07582707419395551,0.6022910126252811,0.0008184336866999499,0.07146809751746097,1.1551106163980027,0.0022417291428096313 +2024-05-13T09:00:00.000000,20.9476,101.337,0,-1.1630333333333347,-1.56190040122389,22.1594,21.5205,-0.28326666666666256,-1.1833104181031042,101.5449,101.717,1.3896932898977754,0,-0.19877562807717672,0.791975732048281,0.06711172522536206,0.035940109609378434,0.006489944917382875,0.30939608693013215,0.2906593055988177,0.6284501637347247 +2024-05-13T10:00:00.000000,20.3653,101.3629,0,-1.6565833333333337,-1.9309223227779035,20.9476,21.0506,-0.2818500000000057,-1.4932746984968752,101.337,101.2598,1.2944838064101813,0,-0.46080188647717646,1.3762040100835122,-0.12730045973828116,0.15611543404384054,-0.09589258734257232,0.7339359129882987,0.04868417832919111,0.044743723171379146 +2024-05-13T11:00:00.000000,20.4048,101.2342,0,-1.4606999999999992,-1.3607183846714883,20.3653,19.4131,-0.33371666666667466,-1.7117039607163889,101.3629,101.0708,1.101426320912568,0,-0.26219520487062625,0.27111973911949994,0.001369859939426094,0.22324821875333656,-0.1776541202846936,0.9264022488741624,0.23517021470096766,-0.004321015833077267 +2024-05-13T12:00:00.000000,18.5667,100.9534,0,-2.8060833333333335,-3.0609693845639128,20.4048,19.0235,-0.5257666666666694,-2.5375802984340896,101.2342,101.2521,1.8516189056628776,0,-1.6284346176376996,3.3802386341689,-0.00023796651001063975,0.1245622931434544,-0.2546248030253758,1.7228537820049783,-0.004351399996647703,0.08848664966059037 +2024-05-13T13:00:00.000000,18.405,100.6837,0,-2.4109166666666653,-1.7108492995785887,18.5667,18.2244,-0.688366666666667,-2.407992473232444,100.9534,100.5443,1.455279086658234,0,-0.21445220758198635,0.14953255765383724,0.24323301901339822,-0.27972082860075126,0.37879960211458596,1.4804249996123857,0.021325480621456634,0.3386945972318978 +2024-05-13T14:00:00.000000,16.4338,101.1647,0,-3.707666666666668,-2.578681513546661,18.405,16.4011,-0.021316666666663764,-0.06798026478222138,100.6837,100.8724,2.418607810392121,0,3.0949539307142135,0.37814289981755717,-0.6840773595873101,3.338794016847333,0.0037998332069876664,0.0030144902245525856,-0.17826871428708355,-0.10669535644647779 +2024-05-13T15:00:00.000000,15.3718,100.5942,0,-3.8154000000000003,-2.23681571512498,16.4338,15.0124,-0.5284500000000065,-2.028900827936014,101.1647,100.472,2.2397696435124144,0,2.628572765626915,-0.8341049421215717,-0.20230043058713498,3.706706320675306,-0.27742380239889275,-0.3935875033273774,0.22799190874574568,0.16071373938673794 +2024-05-13T16:00:00.000000,15.7522,100.0984,0,-2.5057000000000027,-1.2278057397755047,15.3718,14.7456,-0.9004500000000064,-2.904510905888149,100.5942,100.3267,2.269111845439945,0,-0.4200335450221211,-0.2970723104164575,0.5932389669185635,1.8975801426560994,0.6772306309374625,2.1379788844781737,0.17773367155445896,0.38221212600969623 +2024-05-13T17:00:00.000000,14.0389,99.96,0,-3.4501500000000025,-1.7645649368514478,15.7522,14.5914,-0.8281000000000063,-1.9602105536110275,100.0984,100.1294,2.3529183697055798,0,1.098691754466391,-0.4658316622328494,-0.43158444992086514,2.3088113873553815,1.3844091655725612,-0.38520289051814915,1.360485336914932,0.6664462128605612 +2024-05-13T18:00:00.000000,14.735,100.764,0,-1.6930666666666667,-0.9535517412827058,14.0389,14.4276,0.1882666666666637,0.3998464715227747,99.96,100.1188,2.651733848595911,0,-0.2650424458868807,0.45953071376259863,1.2305120209095575,3.3198726827963756,0.266117155636397,0.27158688372585416,0.9292658352229154,0.8198495576224619 +2024-05-13T19:00:00.000000,15.2555,100.5035,0,-0.5339500000000026,-0.3504285242770455,14.735,15.2324,-0.04066666666666663,-0.09114697365820669,100.764,100.597,2.143960851775658,0,-0.19410464698356752,0.11460242726012324,1.4028044349738096,3.3943737343626963,-0.009373283633473237,-0.005745934191685235,-0.2534959695634012,0.14750737172210718 +2024-05-13T20:00:00.000000,14.7227,100.4446,0,-0.5418333333333347,-0.6571492915601187,15.2555,15.1095,-0.06953333333333944,-0.157697337005515,100.5035,100.3142,2.2387964610423965,0,-0.34772113821137857,0.48571902745346845,0.4188296768976556,3.854156961216698,-0.019755996899823006,-0.021436245098050054,-0.01493168021711438,0.6573489888345023 +2024-05-13T21:00:00.000000,16.248,100.6357,0,1.2686500000000027,2.0926755049390917,14.7227,15.7843,0.24158333333333815,0.7902598434969386,100.4446,100.8118,2.4421796950789103,0,-0.051190393296755225,1.8938223794959677,0.6658403717640308,3.278019827232227,0.28172115064825065,0.024620186892340568,-0.11884188210614856,-0.00974997757419246 +2024-05-13T22:00:00.000000,15.4895,100.9939,0,0.364116666666666,0.4576485264370173,16.248,17.0782,0.5928666666666658,1.9029758916156874,100.6357,100.4592,2.3511340237786373,0,0.04397165949151909,-0.1740994677600251,0.3993031067292459,2.147226902435265,0.9605853375793849,1.92683962837228,-0.3480517140572274,0.5720557449790836 +2024-05-13T23:00:00.000000,17.4149,100.9855,0,2.3332999999999995,3.0673307109230166,15.4895,17.6438,0.43521666666667613,1.2444328633775947,100.9939,100.8774,2.6034916759446434,0,-0.7250222618595585,4.165741536631002,1.4598695002178206,1.27135791559569,0.7288031763369563,-0.11066392279198115,-0.07868320674011776,0.06676616932323816 +2024-05-14T00:00:00.000000,18.8462,100.8109,0,3.2019333333333346,3.0952002890386785,17.4149,17.6352,0.08970000000000766,0.3809181842626188,100.9855,100.7956,2.632521654027172,0,2.513262131489909,2.5900666382066317,-0.5603539014557605,2.4227187162068113,0.05465249443399185,-0.24839030578066607,-0.04574790003853732,0.20396238585957555 +2024-05-14T01:00:00.000000,18.956,100.9701,0,2.6265333333333345,1.6982956063256893,18.8462,19.4459,0.24108333333333576,1.0131512914853198,100.8109,101.3136,1.6581956475179616,0,2.969219582675966,-0.734628278644762,-0.05754788622152139,0.5097045903335409,0.058012803866700616,-0.1278813789760902,0.08090641801412372,0.05182695439955284 +2024-05-14T02:00:00.000000,20.9297,101.2871,0,3.9834833333333357,2.2681523412447055,18.956,21.2196,0.48031666666666695,2.1306921754413892,100.9701,101.6276,2.1397155671205854,0,5.8511747811005055,-2.2040684780687374,0.42662828046355716,-0.06034590560788587,0.01319927133144588,0.2806104430084433,0.012067272293152562,0.25911704365768784 +2024-05-14T03:00:00.000000,21.905,101.0553,0,3.924283333333335,1.9658134161758423,20.9297,21.4801,0.1080999999999932,0.4982951771536111,101.2871,101.1901,2.308221002722132,0,7.885697678133644,-1.8996753680215486,0.03729086890178518,-0.24186687262014872,-0.01862366117477368,-0.40478895658764696,0.008489180258285035,-0.038638671482032864 +2024-05-14T04:00:00.000000,22.3131,101.4318,0,3.3895499999999963,1.4589153460331472,21.905,21.3036,0.41466666666666185,2.6697353555268464,101.0553,101.8239,2.4559649480302435,0,4.487385303648311,-1.7345724645257947,0.7396499667560896,-0.6100634219043718,-0.4964997261737586,3.0785686569670725,-0.00023114651175998918,0.5675266576974063 +2024-05-14T05:00:00.000000,22.4023,100.978,0,2.3414833333333327,1.2035162062563296,22.3131,23.3611,-0.11211666666667952,-0.4915953571993273,101.4318,101.7667,1.886190826466308,0,2.438732718277662,-0.3479695662227142,-0.2662618789683616,0.9844476197724102,0.025356493300513552,0.44881358287177964,-0.1222716418572024,0.39686850667156626 +2024-05-14T06:00:00.000000,22.5132,101.4507,0,1.62115,0.9954320711105799,22.4023,21.9079,0.36183333333332257,1.5816156845480431,100.978,101.596,1.3029430345053374,0,0.30402848911879693,-0.05760196558069584,0.8334856905624998,-0.5270464841311251,-0.04576199065674995,0.9003858500206496,0.021206368830510504,0.2689645930020905 +2024-05-14T07:00:00.000000,23.7982,101.5021,0,2.294983333333331,1.6682083790763598,22.5132,22.4517,0.3066000000000031,1.3791160011361552,101.4507,101.8,1.4468990964622173,0,0.19455251757199674,0.6184966702177781,0.6717579807909269,-0.6933034489182681,-0.015920316968641896,0.44956315413340386,0.3604236003956815,0.5079468381203036 +2024-05-14T08:00:00.000000,23.1714,101.7069,0,0.8611499999999985,0.9249724967199261,23.7982,22.1594,0.4227333333333547,1.9169639099398892,101.5021,101.5449,2.159752533705153,0,-0.8533428780430101,0.8465182124914015,2.5874303799952134,-1.2091914422519598,0.005066124757172276,2.4052156332325474,0.7298342461263542,0.15300073053811025 +2024-05-14T09:00:00.000000,21.7789,101.6752,0,-0.9049666666666702,-1.3251325001260132,23.1714,20.9476,0.32106666666666683,1.1459750027335651,101.7069,101.337,2.367108583482517,0,0.24792815329412252,0.5101063519056483,1.768167189198645,-0.3186559872435005,0.23359943587479948,1.6032159188753312,1.5192406994437673,0.03960128464779479 +2024-05-14T10:00:00.000000,21.0537,101.1747,0,-1.6091500000000032,-2.256973678390613,21.7789,20.3653,-0.28274999999999295,-1.080790230638897,101.6752,101.3629,1.6385299525354748,0,-0.6459790710603248,2.1937230454762977,0.2388194932503536,0.061298237517120414,-0.012023397143383435,-0.13031596876552978,0.8726871122809786,0.10657095380039483 +2024-05-14T11:00:00.000000,20.7691,100.9258,0,-1.6838499999999996,-1.7286297873203853,21.0537,20.4048,-0.4888000000000119,-1.705959752073824,101.1747,101.2342,1.1588627232939206,0,-0.3990877964453961,0.7889154255248003,0.005845697989717741,-0.019333573893843162,0.2604571740707501,0.7028851748493865,-0.03918024988903495,0.042460959233821365 +2024-05-14T12:00:00.000000,19.0489,100.7796,0,-3.13185,-2.6221889093297954,20.7691,18.5667,-0.6262999999999863,-2.068598366067979,100.9258,100.9534,1.559679319895951,0,0.12453568036697572,0.9462109664727418,0.14202975633901652,0.5868679860485094,0.44932697054288645,0.15576067950364736,0.06112037641078821,-0.033252834773469964 +2024-05-14T13:00:00.000000,18.3416,100.7479,0,-3.261766666666663,-1.8939276785791554,19.0489,18.405,-0.5461500000000115,-1.3885519710409269,100.7796,100.6837,1.4516897403780447,0,2.5994673154061534,-0.6891545017554793,-0.038992659618871675,-0.05741667845202319,0.5582109905499733,-0.4297489803253177,0.07804522056468914,0.08699239594975144 +2024-05-14T14:00:00.000000,17.4723,100.6,0,-3.221633333333333,-1.8186705453391234,18.3416,16.4338,-0.5683499999999952,-1.3152102460385486,100.7479,101.1647,1.8953503446648292,0,2.4166269293972507,-0.7536967431100215,-0.6437981190788167,2.703401369145735,0.5434532390047182,-0.7114740672494645,-0.008309864646802383,0.04615018555848749 +2024-05-14T15:00:00.000000,16.6462,100.8566,0,-3.097883333333332,-1.818044674590754,17.4723,15.3718,-0.12726666666665665,-0.32589875379588107,100.6,100.5942,2.2671736367311675,0,2.0677493418973247,-0.28746680354839554,-1.180393858908805,5.023308736920491,-0.03989806137773739,-0.24888919226125633,-0.2159889510684031,0.021655087435608802 +2024-05-14T16:00:00.000000,15.7558,100.324,0,-3.132833333333334,-1.7745787215857336,16.6462,15.7522,-0.5234333333333439,-2.6918209478820936,100.8566,100.0984,2.042668334623105,0,0.5714248512064201,-0.5042889817136421,0.2172232082004781,1.385833008145578,-0.5521545201390293,2.0573128258570157,-0.08878077620507721,1.0859243099201867 +2024-05-14T17:00:00.000000,16.6069,100.51,0,-1.3987499999999997,-0.7811374354069851,15.7558,14.0389,-0.19564999999998633,-0.901844220914944,100.324,99.96,2.512178797910863,0,-0.6632769744526369,0.16629911214454537,-1.4608259749441082,6.723391153016311,-0.12000408527719776,-0.020225979477897053,0.20365570583887146,1.4820293558249817 +2024-05-14T18:00:00.000000,16.4249,100.0889,0,-0.8870499999999986,-0.7259785404366084,16.6069,14.735,-0.5474499999999978,-2.762770192311617,100.51,100.764,2.692319731942613,0,-0.8770491574738699,0.23518656514906702,-0.8514970515252458,4.922964453700607,-0.49873210802308054,3.84857190271847,0.537750249870567,-0.06860931540897107 +2024-05-14T19:00:00.000000,16.558,100.6408,0,-0.31661666666666477,-0.35019564035969997,16.4249,15.2555,0.11956666666665683,0.42486591274549246,100.0889,100.5035,2.3933800004481687,0,-0.11672013744367661,0.16321271472805166,-1.1430275277319728,5.163333449551988,0.08794686215495844,0.20787041738493564,1.1174817211791341,0.24817032672186154 +2024-05-14T20:00:00.000000,17.0211,100.638,0,0.4437500000000014,0.808796778601288,16.558,14.7227,0.13461666666667327,0.503791110612534,100.6408,100.4446,2.7258468264317632,0,0.22549319989139632,0.2243358799522128,-2.0631783938507327,8.507637875103145,0.14423004143707593,0.2784063998710743,-0.34311980791755536,0.4564357266815033 +2024-05-14T21:00:00.000000,17.1767,100.5359,0,0.67455,1.6197583888136469,17.0211,16.248,0.026183333333321457,0.09683660508010054,100.638,100.6357,2.1810818450503637,0,-0.13650066922179002,1.9058457533827946,-1.1536100423003741,4.055586771451953,0.03129636911452845,-0.004104914067357236,-0.14605957027878289,0.2046643167273267 +2024-05-14T22:00:00.000000,18.0278,100.4574,0,1.4372333333333316,2.869284330985094,17.1767,15.4895,0.0011333333333283235,0.005298484151961758,100.5359,100.9939,3.164818732921981,0,-0.7400537997519288,6.0886125019141915,-2.1722493683124418,6.976963208955393,0.017493987928439314,-0.02056086629630597,-0.09096564639814607,-0.043162405785306904 +2024-05-14T23:00:00.000000,18.3084,100.773,0,1.3391666666666673,2.2552481478061663,18.0278,17.4149,0.2944999999999993,1.4428582425687555,100.4574,100.9855,2.292625166167762,0,-0.764549610581401,3.069400013893198,-1.0932876438044203,3.0180661398977326,0.06553786532057787,0.8940559571276098,0.08059225512810796,-0.01368482443564801 diff --git a/examples/sample_run_zscore/flagged_rows.csv b/examples/sample_run_zscore/flagged_rows.csv new file mode 100644 index 0000000..f1f95a7 --- /dev/null +++ b/examples/sample_run_zscore/flagged_rows.csv @@ -0,0 +1,5 @@ +timestamp,temperature,pressure,is_anomaly,score,threshold,top_feature,top_contribution +2024-05-11T22:00:00.000000,17.4403,102.5557,1,4.647355196239226,2.926876779210376,pressure_resid,4.647355196239226 +2024-05-11T23:00:00.000000,18.0048,98.5259,1,4.225955964723405,2.926876779210376,pressure_resid,4.225955964723405 +2024-05-12T00:00:00.000000,19.062,102.5169,1,4.438379286773366,2.926876779210376,pressure_lag_1,4.438379286773366 +2024-05-12T23:00:00.000000,17.6438,100.8774,0,3.714792648278521,2.926876779210376,pressure_lag_24,3.714792648278521 diff --git a/examples/sample_run_zscore/model_card.md b/examples/sample_run_zscore/model_card.md index 3bec220..d01e019 100644 --- a/examples/sample_run_zscore/model_card.md +++ b/examples/sample_run_zscore/model_card.md @@ -1,6 +1,6 @@ # Model card: zscore_rule -Generated: 2026-07-28 UTC. +Generated: 2026-07-29 UTC. ## Overview @@ -54,6 +54,10 @@ Derived features (8): temperature_resid, temperature_z, temperature_lag_1, tempe | true_positives | 3 | | false_positives | 1 | +## Local feature contribution + +Per-feature contribution is the absolute standardised residual. The largest value marks the feature that drove the row score. + ## Intended use Use this card to reproduce a leakage-safe anomaly experiment on small time-series datasets. Treat the output as a teaching and review artifact, not as a production control. @@ -64,3 +68,4 @@ Use this card to reproduce a leakage-safe anomaly experiment on small time-serie - Isolation Forest scores shift when the random state or scikit-learn version changes. - Causal rolling features lag true change points by the window length. - The detector assumes the calibration window is close to normal operation. +- Mahalanobis contributions are signed; correlated features can offset each other. diff --git a/examples/sample_run_zscore/report.html b/examples/sample_run_zscore/report.html index 2f5f83f..ec0298e 100644 --- a/examples/sample_run_zscore/report.html +++ b/examples/sample_run_zscore/report.html @@ -2,6 +2,6 @@
-
+
\ No newline at end of file diff --git a/examples/sample_run_zscore/scores.csv b/examples/sample_run_zscore/scores.csv new file mode 100644 index 0000000..884a7a1 --- /dev/null +++ b/examples/sample_run_zscore/scores.csv @@ -0,0 +1,313 @@ +timestamp,temperature,pressure,is_anomaly,temperature_resid,temperature_z,temperature_lag_1,temperature_lag_24,pressure_resid,pressure_z,pressure_lag_1,pressure_lag_24,score,flagged,contrib_temperature_resid,contrib_temperature_z,contrib_temperature_lag_1,contrib_temperature_lag_24,contrib_pressure_resid,contrib_pressure_z,contrib_pressure_lag_1,contrib_pressure_lag_24 +2024-05-02T00:00:00.000000,20.5663,100.8903,0,2.684799999999999,1.9152824690282304,20.1527,19.8365,0.4365499999999969,2.5223011108063456,100.6187,101.2285,1.4695117516361051,0,1.1914523337979042,1.0688470128270169,0.06046209174331664,0.23721193366643445,0.932495050425379,1.4695117516361051,0.7477106405628248,0.1584611461953957 +2024-05-02T01:00:00.000000,21.6645,100.821,0,3.0912000000000006,1.9943330948135574,20.5663,20.6042,0.29648333333332744,1.1903942839891573,100.8903,100.9012,1.36112956603534,0,1.36112956603534,1.1102399626004065,0.0672954352533496,0.01200789018698675,0.6511225600876724,0.7146111512353637,0.26874198406877403,0.3106115863330168 +2024-05-02T02:00:00.000000,24.0833,101.3597,0,4.657600000000002,2.8758247296773343,21.6645,22.3594,0.7781999999999982,2.8358456925441415,100.821,101.2777,2.0151217328087614,0,2.0151217328087614,1.5718117541592291,0.40652008744807766,0.5818016049551601,1.618817596764331,1.647223126216175,0.3909530587927721,0.22897253770287468 +2024-05-02T03:00:00.000000,24.0261,101.2684,0,3.576116666666664,1.5592936907998083,24.0833,23.2089,0.49815000000000964,1.3893068755517677,101.3597,101.3932,1.5635885174767825,0,1.5635885174767825,0.8824420923003214,1.1536668628338063,0.8575763090889125,1.056240019998006,0.8273511956397552,0.5590484701223796,0.3945023287417728 +2024-05-02T04:00:00.000000,24.5763,101.628,0,3.047766666666668,1.3991242719061852,24.0261,23.4671,0.7552166666666835,1.871504072985597,101.2684,101.7941,1.5726475986473183,0,1.3429955901818806,0.7985732469163377,1.1359982686746921,0.9413962368197359,1.5726475986473183,1.1006518098608093,0.39804022881932377,0.9690555168586302 +2024-05-02T05:00:00.000000,26.2643,101.4356,0,3.752766666666666,1.920428527257316,24.5763,24.0927,0.33791666666665776,0.8855705993459047,101.628,101.6392,1.6373421667748713,0,1.6373421667748713,1.0715416218537175,1.305950375428962,1.1444858835602612,0.7343557836692376,0.5418426227464397,1.0321975516295805,0.747059286279188 +2024-05-02T06:00:00.000000,25.8497,101.2372,0,2.3195666666666632,1.1215454679850805,26.2643,23.4319,0.0033666666666647416,0.01062975537932433,101.4356,101.6988,1.8273592380265757,0,1.0389627148981675,0.6532258144992177,1.8273592380265757,0.9299691978726988,0.06229605038168965,0.04594204237036244,0.6928986948200775,0.832475524771994 +2024-05-02T07:00:00.000000,25.5268,101.5192,0,1.1160999999999994,0.6835363862345665,25.8497,23.8107,0.2275499999999937,0.8439356379151726,101.2372,101.4433,1.699292819523631,0,0.5364998874129036,0.42387294422057614,1.699292819523631,1.0529397192686565,0.5126460465183319,0.5182446827487679,0.34301879257994966,0.4663035627768297 +2024-05-02T08:00:00.000000,25.2943,101.5521,0,0.23988333333333145,0.25150648296010997,25.5268,24.0145,0.14408333333331313,0.9604663928399272,101.5192,101.3238,1.5995517521463987,0,0.17066814814048364,0.19765092625191735,1.5995517521463987,1.119099677717696,0.34497429120997386,0.5842921983006371,0.8403279278204668,0.29504113828205225 +2024-05-02T09:00:00.000000,24.5281,101.6822,0,-0.7281499999999994,-0.8806069393664074,25.2943,23.6216,0.24211666666666076,1.5326494073860186,101.5521,101.4037,1.527734476936715,0,0.23349823156812352,0.3951529075267142,1.527734476936715,0.9915518481071585,0.5419082498209447,0.9085951394096229,0.8983473269318575,0.409550491563502 +2024-05-02T10:00:00.000000,23.4989,101.6595,0,-1.8410166666666683,-2.6608696261337,24.5281,22.5435,0.1504499999999922,0.95007238899011,101.6822,101.537,1.3273444397849734,0,0.6981343926146308,1.3273444397849734,1.291061804826352,0.641566317175318,0.35776394986171245,0.5784010656862447,1.1277796620197706,0.6005905014811346 +2024-05-02T11:00:00.000000,21.3153,100.936,0,-3.845049999999997,-3.8426324401151875,23.4989,21.2237,-0.5782999999999845,-3.536432269118203,101.6595,101.2346,1.9644682941774356,0,1.5348441104088246,1.9461459776252341,0.9731506665648211,0.21311728301907665,1.106183234814106,1.9644682941774356,1.0877480401404795,0.16720341221563717 +2024-05-02T12:00:00.000000,21.7874,100.8884,0,-2.5481166666666653,-1.4968271762074534,21.3153,20.4733,-0.5426333333333275,-1.871502010016435,100.936,101.3044,1.0345343617390803,0,0.9933577462442811,0.7178217423336134,0.29865517345572773,0.030486410897307956,1.0345343617390803,1.0208160604661976,0.1881496880386419,0.2672378660209661 +2024-05-02T13:00:00.000000,20.369,100.7608,0,-3.289466666666666,-1.8423447743071937,21.7874,19.9283,-0.6120999999999981,-1.6886635418631752,100.8884,100.7695,1.3028809158289822,0,1.3028809158289822,0.8987436824432823,0.44448285356966977,0.20741073550342295,1.1740822603263725,0.9171865372846992,0.27209264845513226,0.4993585428682976 +2024-05-02T14:00:00.000000,20.2442,100.3825,0,-2.554633333333335,-1.3162000381366836,20.369,18.0666,-0.8640000000000185,-2.0204292628376113,100.7608,100.6363,1.6801107966143731,0,0.9960785384770924,0.6232407067048951,0.006351141064659752,0.8117777357221482,1.6801107966143731,1.1052253226661652,0.49711621461361205,0.6902552369495077 +2024-05-02T15:00:00.000000,19.161,100.2742,0,-2.7961499999999972,-1.6206375819637493,20.2442,18.572,-0.7773666666666657,-1.5019197238649182,100.3825,100.9332,1.5060776927619577,0,1.0969148562408975,0.7826520691777129,0.032198518918860684,0.6477088299314501,1.5060776927619577,0.8113435327369342,1.1642511290160766,0.2647505186858802 +2024-05-02T16:00:00.000000,18.7107,100.6342,0,-2.351933333333335,-1.5650582128535084,19.161,17.2666,-0.18269999999998277,-0.37052715683428517,100.2742,100.2993,1.3552389990392986,0,0.9114486787956748,0.753549275731593,0.36678979851941435,1.07148316633663,0.3114833977536946,0.1700907732016835,1.3552389990392986,1.1732296056084734 +2024-05-02T17:00:00.000000,17.434,100.4136,0,-2.8306000000000004,-2.3809694577796843,18.7107,16.6245,-0.2324166666666514,-0.8615786788558039,100.6342,100.2779,1.279929237583578,0,1.1112981747708683,1.1807814809830508,0.5058836437964919,1.279929237583578,0.41135656989522185,0.44840985779379394,0.7203762732003085,1.2038991945974993 +2024-05-02T18:00:00.000000,17.7278,100.8416,0,-1.889916666666668,-1.2481117642916673,17.434,16.4155,0.28265000000000384,1.1771218088958155,100.4136,100.4657,1.3477772813316113,0,0.7185507721825701,0.587587927597526,0.9002454298618787,1.3477772813316113,0.6233335111847539,0.7070885533966615,1.1094060435338606,0.9347520538433426 +2024-05-02T19:00:00.000000,18.2922,100.5363,0,-0.6489166666666648,-0.5269703491400414,17.7278,16.5501,-0.014849999999995589,-0.06521244779018608,100.8416,100.4791,1.304081842630725,0,0.200417294803984,0.2099796534018899,0.8094931053173422,1.304081842630725,0.025701555862532092,0.002956059000043118,0.354624802814206,0.9155477317660958 +2024-05-02T20:00:00.000000,17.5332,100.3704,0,-1.0617833333333309,-1.0366637219822077,18.2922,17.9376,-0.14333333333333087,-0.7042015122264328,100.5363,100.2272,1.2765603236509484,0,0.3727944436304987,0.47686827031403334,0.6351547391739211,0.8536552364087338,0.23240179111668843,0.3592113379079984,0.8930236644770891,1.2765603236509484 +2024-05-02T21:00:00.000000,18.5946,100.3231,0,0.4514499999999977,0.6478710513792187,17.5332,17.5548,-0.1886166666666611,-0.9193903095004033,100.3704,100.6532,1.1855895706345345,0,0.2589999553100209,0.40519765354890436,0.8696033924390807,0.9779242849577631,0.32336907529654096,0.4811764401140032,1.1855895706345345,0.6660348605983717 +2024-05-02T22:00:00.000000,19.2126,100.8089,0,1.1638499999999965,2.0956727391640952,18.5946,18.6783,0.2890333333333359,1.4858233794328088,100.3231,100.2786,1.2690034787795,0,0.5564361271750518,1.1633040182860175,0.5417459476753915,0.6132004708385504,0.6361566506182759,0.8820549971830587,1.2690034787795,1.2028959837427255 +2024-05-02T23:00:00.000000,20.538,100.6177,0,2.4055999999999997,3.460309160805791,19.2126,20.1527,0.06871666666665988,0.304529828380367,100.8089,100.6187,1.8778629012650008,0,1.0748827392095879,1.8778629012650008,0.3508509967954598,0.1345633622160611,0.1935741958617043,0.212519266166484,0.4122915004112551,0.715478824155438 +2024-05-03T00:00:00.000000,21.4217,100.8205,0,2.7719666666666676,2.507597472944315,20.538,20.5663,0.23749999999998295,1.0977584790128376,100.6177,100.8903,1.3789984501313175,0,1.2278455393672039,1.3789984501313175,0.05855380562567696,0.0002956545883744758,0.5326340732593393,0.6621068593530696,0.7494741481346081,0.3262330125003339 +2024-05-03T01:00:00.000000,22.3097,101.0323,0,3.044316666666667,2.0840208553815196,21.4217,21.6645,0.45281666666667775,2.1417751744868574,100.8205,100.821,1.3415551707645104,0,1.3415551707645104,1.1572027909347338,0.3315212297237292,0.35621497528765583,0.9651722934727178,1.2538365617415617,0.39183481257866376,0.4255508871236728 +2024-05-03T02:00:00.000000,23.8496,101.407,0,3.9146333333333345,2.168097378785406,22.3097,24.0833,0.7448499999999996,2.6819202108646563,101.0323,101.3597,1.70492358407679,0,1.70492358407679,1.2012274305350474,0.6058168872987768,1.1414343447505413,1.5518225523609854,1.5599809586732003,0.018323908876719606,0.3464915235486865 +2024-05-03T03:00:00.000000,24.5026,101.2228,0,3.514900000000001,1.793379381618272,23.8496,24.0261,0.3878833333333347,1.0546979759848791,101.407,101.2684,1.5380297710033548,0,1.5380297710033548,1.005015407140751,1.0814789178165882,1.1228654064616053,0.8347311675379431,0.6377009482676499,0.6424623782673199,0.2156441649179297 +2024-05-03T04:00:00.000000,25.2737,101.609,0,3.301333333333332,1.6499724608451904,24.5026,24.5763,0.6241333333333188,2.1286463954944983,101.2228,101.628,1.4488629380846165,0,1.4488629380846165,0.9299238387977408,1.2831850714162585,1.3014778163667151,1.3093212497055586,1.2463954082432014,0.3176242835464001,0.731007912602685 +2024-05-03T05:00:00.000000,34.5679,97.7122,1,11.585349999999998,6.2506735323479115,25.2737,26.2643,-3.406016666666673,-9.224095442667963,101.609,101.4356,6.786633119174615,0,4.907546549818826,3.33896976959466,1.5213713119073844,1.849456274963271,6.786633119174615,5.188132486101594,0.9986909077658476,0.45526824337423655 +2024-05-03T06:00:00.000000,24.6937,101.4882,0,-0.627166666666664,-0.13215101473028532,34.5679,25.8497,0.8542333333333403,0.5859942736452836,97.7122,101.2372,5.873345397926602,0,0.19133638978143389,0.0032420505501788567,4.3922707495583,1.7148639355473159,1.7715569233850759,0.3720482020078129,5.873345397926602,0.17092962396196892 +2024-05-03T07:00:00.000000,25.2775,101.304,0,-0.5887000000000029,-0.1343376685778786,24.6937,25.5268,0.5587500000000034,0.37256962180126696,101.4882,101.5192,1.6100403311155467,0,0.17527606120515668,0.0043870389925349754,1.3422142382660236,1.6100403311155467,1.1779761426619488,0.25108298539249085,0.7856591930954594,0.5750802826024001 +2024-05-03T08:00:00.000000,24.4122,101.3681,0,-1.9486333333333334,-0.48044866313055395,25.2775,25.2943,0.5775666666666694,0.38144538552022844,101.304,101.5521,1.5345634403432125,0,0.7430657364694989,0.18561969681415152,1.522545099631241,1.5345634403432125,1.2157759453263055,0.2561136070737917,0.46082109837451446,0.6222311927771147 +2024-05-03T09:00:00.000000,24.8803,101.7417,0,-1.574300000000001,-0.3943442367788941,24.4122,24.5281,0.957650000000001,0.6337580612903166,101.3681,101.6822,1.9793051745208843,0,0.5867767504109038,0.14053319484363405,1.2552612792487077,1.285830564172192,1.9793051745208843,0.3991198493968521,0.5738619337252794,0.8086850959300235 +2024-05-03T10:00:00.000000,23.2005,101.4236,0,-3.3170499999999983,-0.8380422689346727,24.8803,23.4989,0.5530666666666804,0.3555789136314717,101.7417,101.6595,1.3998533933375366,0,1.3143973126200317,0.3728649465169392,1.3998533933375366,0.9517195276866618,1.1665591960644972,0.24145296057366566,1.2327083625403772,0.7761524010678318 +2024-05-03T11:00:00.000000,22.8008,101.564,0,-3.3712166666666654,-0.807853886434475,23.2005,21.3153,0.7243666666666684,0.47050422552649346,101.4236,100.936,1.5106746715155548,0,1.3370125933275312,0.3570575295843525,0.8809774410914047,0.2428535548244347,1.5106746715155548,0.3065905401730698,0.6717366039587778,0.26073767526674424 +2024-05-03T12:00:00.000000,21.5063,101.1137,0,-2.7045333333333375,-2.740775903340138,22.8008,21.7874,-0.3679000000000059,-2.3526043854948027,101.564,100.8884,1.3691854307464715,0,1.0586637183796315,1.3691854307464715,0.7575135060320044,0.396112222065806,0.6835218452350039,1.2934961494861872,0.9193330670359738,0.32895601339187147 +2024-05-03T13:00:00.000000,20.1635,100.874,0,-3.516099999999998,-2.454945337698112,21.5063,20.369,-0.5451833333333269,-2.5190068821948985,101.1137,100.7608,1.3975032503091591,0,1.3975032503091591,1.2195171627247905,0.357653451154865,0.06434550641367051,1.0396569213561269,1.387810062545157,0.1252256074657364,0.5118270206348505 +2024-05-03T14:00:00.000000,18.4265,100.5736,0,-4.400766666666662,-2.4828978786378992,20.1635,20.2442,-0.7739166666666648,-2.4789081347421336,100.874,100.3825,1.7668629733719472,0,1.7668629733719472,1.2341538352579255,0.05712606347551209,0.1048595535895298,1.499147170927127,1.3650828207306929,0.2974871574887069,1.0539908297259182 +2024-05-03T15:00:00.000000,18.0921,100.6041,0,-3.7375500000000024,-1.6207116457806432,18.4265,19.161,-0.61099999999999,-1.3796407027375022,100.5736,100.2742,1.4899614763893283,0,1.4899614763893283,0.7826908509055266,0.5936706098807579,0.45650070664153725,1.1718725287268454,0.7420380042968646,0.8272448320498819,1.2092018805442133 +2024-05-03T16:00:00.000000,17.7539,100.6222,0,-2.944383333333331,-1.356016924566507,18.0921,18.7107,-0.40330000000000155,-0.9718840233434245,100.6041,100.6342,1.158804181352436,0,1.158804181352436,0.6440898570278564,0.6969639295801912,0.6026824008986642,0.754635025801068,0.5109289237708802,0.7734578511107411,0.6932648695138495 +2024-05-03T17:00:00.000000,17.5921,100.7296,0,-2.1984166666666667,-1.0717532757890316,17.7539,17.434,-0.16233333333332212,-0.4168932982441693,100.6222,100.4136,1.0171398049805496,0,0.8473534939966659,0.4952420671545653,0.8014310370034801,1.0171398049805496,0.27056988238094726,0.1963702600875867,0.7415383640616082,1.009419604606339 +2024-05-03T18:00:00.000000,17.8067,100.4227,0,-1.1157000000000004,-0.7117126249811122,17.5921,17.7278,-0.3301666666666563,-1.5857382714572694,100.7296,100.8416,0.921762985587382,0,0.3953053461193492,0.3067154814733553,0.851409682719295,0.921762985587382,0.6077213552153906,0.8588503632660556,0.5521376508529862,0.3960278248258228 +2024-05-03T19:00:00.000000,17.2632,100.3798,0,-1.0425999999999966,-1.0900292252329955,17.8067,18.2922,-0.25789999999999225,-1.6932963007621533,100.4227,100.5363,1.0933581246307027,0,0.36478515498608854,0.5048118264054203,0.7851215654719914,0.7385408042888644,0.4625486852839024,0.919812300892134,1.0933581246307027,0.8335710733468378 +2024-05-03T20:00:00.000000,18.426,100.4908,0,0.6035833333333294,1.5011386580963737,17.2632,17.5332,-0.06453333333334399,-0.492189600655486,100.3798,100.3704,1.1690125994598515,0,0.32251758063249836,0.8519906148597732,0.9530040991341965,0.9849363315843539,0.07410465471539994,0.23904683682237998,1.1690125994598515,1.0713320459299787 +2024-05-03T21:00:00.000000,17.7865,100.5127,0,-0.03583333333333272,-0.08915240392354215,18.426,18.5946,-0.028833333333352584,-0.21654890030347565,100.4908,100.3231,1.13912043654592,0,0.05555289006535804,0.019273132849917822,0.5938250556338978,0.6403721515165908,0.0023888200767504583,0.08281869383143346,0.9732632589928546,1.13912043654592 +2024-05-03T22:00:00.000000,18.9018,100.8033,0,1.1304000000000016,2.9774242524479586,17.7865,19.2126,0.2769999999999868,2.1349659739651927,100.5127,100.8089,1.625011888899028,0,0.5424703215196843,1.625011888899028,0.7913611738988109,0.43974970636690414,0.611983526150869,1.249977230549201,0.9346424431709802,0.44289210332775364 +2024-05-03T23:00:00.000000,19.4902,101.2308,0,1.5274833333333362,2.5610876664487567,18.9018,20.538,0.6743166666666696,3.9429798301728156,100.8033,100.6177,2.27472664852882,0,0.70825772547543,1.407007297260637,0.4468544769467257,0.009482734196361111,1.4101318837378185,2.27472664852882,0.4221671428131966,0.716911982519418 +2024-05-04T00:00:00.000000,20.3049,100.9298,0,2.0258333333333347,2.466143091576148,19.4902,21.4217,0.2897833333333324,0.8908184466104582,101.2308,100.8205,1.3572918651572872,0,0.9163252665323331,1.3572918651572872,0.2651027146526284,0.277394377096161,0.6376632857997533,0.5448170072687337,0.3317323441205915,0.42626746630566276 +2024-05-04T01:00:00.000000,20.7859,101.0698,0,2.090466666666668,1.8750773597188974,20.3049,22.3097,0.3452666666666744,1.0675614055821117,100.9298,101.0323,1.0477945789753957,0,0.9433105153273122,1.0477945789753957,0.013448804487773292,0.565667405078235,0.74912080844782,0.6449917065479184,0.19908343498365844,0.12272452481612807 +2024-05-04T02:00:00.000000,21.6011,101.4679,0,2.3185499999999983,2.0389694082652796,20.7859,23.8496,0.6283666666666647,2.1086409153932073,101.0698,101.407,1.3178253682855194,0,1.0385382434756583,1.1336126894121323,0.135128010032045,1.065567895832285,1.3178253682855194,1.2350566654455097,0.04780762506482932,0.4142799141646075 +2024-05-04T03:00:00.000000,24.0091,101.461,0,4.197366666666667,3.0568605647360387,21.6011,24.5026,0.4586166666666571,1.372688897973998,101.4679,101.2228,1.8229683908220264,0,1.8229683908220264,1.6666067940886857,0.3869363659500389,1.2775524535713565,0.9768236055428239,0.8179324277512516,0.7498599893884182,0.15029214352076253 +2024-05-04T04:00:00.000000,23.1035,101.4561,0,2.2546666666666653,1.2415355295573647,24.0091,25.2737,0.2956666666666621,1.0742245048654335,101.461,101.609,1.52787602550489,0,1.0118661293366293,0.7160557104377442,1.1307471130679627,1.52787602550489,0.6494820017789474,0.6487682302117616,0.7376917871431684,0.7037779036871868 +2024-05-04T05:00:00.000000,23.8228,102.0672,0,2.2736833333333344,1.3197675265208524,23.1035,34.5679,0.7979666666666674,3.4490868424850785,101.4561,97.7122,4.880953609043492,0,1.0198058325019401,0.7570200050124075,0.8510149649824182,4.545068792026284,1.6585258039919077,1.9947970728015505,0.7290506000414853,4.880953609043492 +2024-05-04T06:00:00.000000,23.6845,101.7789,0,1.413283333333336,0.8888058315716474,23.8228,24.6937,0.37026666666665164,0.9336916082364837,102.0672,101.4882,1.8067300771531183,0,0.6605777551961113,0.5313573285178407,1.073200625448333,1.3395895883093902,0.7993419811639275,0.5691167366498844,1.8067300771531183,0.5306523733192435 +2024-05-04T07:00:00.000000,24.1445,101.187,0,1.310016666666666,0.9835957580957306,23.6845,25.2775,-0.3631499999999903,-1.071839212428617,101.7789,101.304,1.5291096263003083,0,0.6174625923457511,0.5809917827508768,1.0304809301300566,1.5291096263003083,0.6739798224189035,0.5675817096372133,1.2983108442104012,0.26666460267537817 +2024-05-04T08:00:00.000000,22.9705,101.4752,0,-0.4237499999999983,-0.44623866980595095,24.1445,24.4122,-0.09448333333332926,-0.30725220878531584,101.187,101.3681,1.248205739911919,0,0.10640731253988678,0.1677064605637672,1.1725710230180324,1.248205739911919,0.13426961962932185,0.1342276817971307,0.2544907124768427,0.3585300538060535 +2024-05-04T09:00:00.000000,22.3147,101.5597,0,-1.3077833333333366,-2.714701349594944,22.9705,24.8803,-0.011199999999988108,-0.03647715271871859,101.4752,101.7417,1.4001658800002177,0,0.4755026107820981,1.3555321208224065,0.809932394647417,1.4001658800002177,0.033033847079105484,0.01924270237883005,0.7627335946623763,0.8939580185864274 +2024-05-04T10:00:00.000000,22.3007,101.103,0,-1.0393833333333369,-1.5519412149134593,22.3147,23.2005,-0.4843500000000063,-1.600693525981049,101.5597,101.4236,0.9174520677468462,0,0.36344215523946144,0.7466808767592108,0.6073613448301676,0.854849402067461,0.9174520677468462,0.8673267299246197,0.9117499844773657,0.4380703430065577 +2024-05-04T11:00:00.000000,21.1665,101.3963,0,-2.039783333333336,-2.5659660556194703,22.3007,22.8008,-0.13220000000001164,-0.36542637992858723,101.103,101.564,1.2776504786229352,0,0.7811220349892889,1.2776504786229352,0.6030368637422728,0.7250940762966996,0.2100366288671232,0.16719974548781316,0.10635607644774504,0.6392857773083914 +2024-05-04T12:00:00.000000,19.7965,101.0144,0,-2.967066666666664,-2.763378205136219,21.1665,21.5063,-0.40228333333332955,-1.6244201580224158,101.3963,101.1137,1.3810205798514117,0,1.1682747650579455,1.3810205798514117,0.25269211732153,0.30485822638364185,0.7525926981106005,0.8807745540613253,0.6235928472493285,0.006065433988728667 +2024-05-04T13:00:00.000000,19.5046,100.9433,0,-2.610966666666666,-1.744509312871458,19.7965,20.1635,-0.3459666666666692,-1.579552444236936,101.0144,100.874,1.0195984304128907,0,1.0195984304128907,0.8475145074553027,0.1704892462796134,0.1310573389027657,0.6394611363720254,0.8553443487396761,0.049890694411510825,0.34959349383309823 +2024-05-04T14:00:00.000000,18.5837,100.5656,0,-2.758549999999996,-1.9207916424651899,19.5046,18.4265,-0.6830499999999944,-2.622452128446442,100.9433,100.5736,1.4464409494297177,0,1.0812163721559376,0.9398204891261507,0.2606546769622227,0.6949427551244584,1.3166099484948077,1.4464409494297177,0.17527608276470885,0.7801142663706355 +2024-05-04T15:00:00.000000,17.1936,100.698,0,-3.417516666666664,-2.2001623216926824,18.5837,18.0921,-0.3990500000000168,-1.13640105080566,100.5656,100.6041,1.35634343942151,0,1.35634343942151,1.0861061937431506,0.5451128650938238,0.8034996251213123,0.7460974264393526,0.6041741871082331,0.8413528926240733,0.7364029362694485 +2024-05-04T16:00:00.000000,15.9384,100.25,0,-3.8192000000000004,-2.1043132517550287,17.1936,17.7539,-0.7034333333333365,-2.3767309778074326,100.698,100.6222,1.5240514026004164,0,1.5240514026004164,1.0359171446579525,0.9745029479711601,0.9132900959135835,1.3575569446493956,1.3071706638408824,0.6078644901210937,0.7104627698815283 +2024-05-04T17:00:00.000000,16.191,100.5551,0,-2.506216666666667,-1.3267103695990214,15.9384,17.5921,-0.2561666666666724,-0.6447994031185754,100.25,100.7296,1.3979158822762394,0,0.9758639567985423,0.628744187771619,1.3622235666515663,0.9658155192553634,0.4590666839756096,0.32554330127982756,1.3979158822762394,0.5565415615908113 +2024-05-04T18:00:00.000000,15.8843,100.4088,0,-1.9836666666666645,-1.1897114176978467,16.191,17.8067,-0.26226666666666176,-0.9335960965640443,100.5551,100.4227,1.2841975721656913,0,0.7576926041763176,0.5570079974667861,1.2841975721656913,0.8961495374930285,0.4713206501183296,0.4892280222273964,0.8598697221277231,0.996377863494178 +2024-05-04T19:00:00.000000,16.868,100.4203,0,-0.34793333333333365,-0.22877376483841302,15.8843,17.2632,-0.14983333333333348,-0.6282846462760497,100.4088,100.3798,1.3789345971412172,0,0.07475287809729855,0.0538362185590914,1.3789345971412172,1.0725869144167413,0.24545929602289351,0.3161830370294469,1.1178708798783856,1.0578603573086316 +2024-05-04T20:00:00.000000,16.2957,100.7102,0,-0.48079999999999856,-0.4674549038649327,16.868,18.426,0.22723333333334494,1.4548787571432722,100.4203,100.4908,1.0975905428029775,0,0.1302264220358162,0.17881582879532038,1.075078022415345,0.6951050710185932,0.5120099116639633,0.8645161472611251,1.0975905428029775,0.8987797789076233 +2024-05-04T21:00:00.000000,17.1103,100.3542,0,0.7151333333333341,1.3601171464454478,16.2957,17.7865,-0.15286666666666804,-0.8458877704814237,100.7102,100.5127,1.2518566314583626,0,0.36909114179412894,0.7781481083553181,1.2518566314583626,0.9027070996160438,0.25155279831245586,0.4395165358930733,0.5863496977454273,0.8673936107366075 +2024-05-04T22:00:00.000000,17.4076,100.3311,0,1.0263166666666663,2.0485168789640134,17.1103,18.9018,-0.11866666666666958,-0.7345088275351316,100.3542,100.8033,1.2141583932972841,0,0.49901418982173473,1.138611991709483,1.0002336104441352,0.5406452661606292,0.18285023403676143,0.3763889738074588,1.2141583932972841,0.4509177901660051 +2024-05-04T23:00:00.000000,19.5154,101.0092,0,2.8892500000000005,4.8803075933809374,17.4076,19.4902,0.5459166666666704,3.7928123078753995,100.3311,101.2308,2.62141076333373,0,1.2768128410098722,2.62141076333373,0.9084001656276242,0.349631921943678,1.1521959406676574,2.1896144241145135,1.2548954182052834,0.1617574104325416 +2024-05-05T00:00:00.000000,19.3441,100.9339,0,2.1638833333333345,1.703378233228075,19.5154,20.3049,0.39493333333332714,1.4742628370602278,101.0092,100.9298,0.9739629188708614,0,0.9739629188708614,0.9578884808469645,0.2573186486944182,0.08515440404165579,0.848893538243883,0.8755026917197145,0.05906093378471896,0.2696232571233878 +2024-05-05T01:00:00.000000,21.2324,101.2546,0,3.4755499999999984,2.579528455711869,19.3441,20.7859,0.6281166666666564,2.089347001820876,100.9339,101.0698,1.5216006393878443,0,1.5216006393878443,1.4166633708990994,0.3102317637198747,0.07099348611530182,1.3173231565583412,1.2241212256335237,0.19185305393939192,0.06898108616714203 +2024-05-05T02:00:00.000000,22.4786,101.3115,0,3.9943500000000007,2.154134905440655,21.2324,21.6011,0.5459666666666578,1.4719385421273763,101.2546,101.4679,1.738206318730319,0,1.738206318730319,1.1939163187996253,0.2730480675852636,0.3356333199114577,1.1522963830130646,0.8741853235637821,0.37370382432882415,0.5015592585305794 +2024-05-05T03:00:00.000000,21.6217,101.5033,0,2.106966666666665,1.004792440970686,22.4786,24.0091,0.6375499999999903,1.4841571210177764,101.3115,101.461,1.3362732790632372,0,0.9501994777582109,0.5920909134774087,0.6579886627091663,1.1173466660610478,1.3362732790632372,0.8811105921746868,0.47404740516281424,0.4916704658191621 +2024-05-05T04:00:00.000000,22.0123,101.1157,0,1.745666666666665,0.9398026975380561,21.6217,23.1035,0.05843333333332623,0.1419415349069504,101.5033,101.4561,0.8233601186054547,0,0.7993520761652354,0.5580606049381983,0.3932995309793705,0.8233601186054547,0.17291655348445933,0.12036717422585111,0.8122881574292422,0.4846479898357048 +2024-05-05T05:00:00.000000,22.5244,101.5328,0,1.4903166666666685,1.1369772252830372,22.0123,23.8228,0.3447666666666578,1.640387292438285,101.1157,102.0672,1.3604510660597045,0,0.69274016363613,0.661306281268502,0.513952553331638,1.0568677639067006,0.7481163849934637,0.9696590160069196,0.12875262260930306,1.3604510660597045 +2024-05-05T06:00:00.000000,22.591,101.1362,0,1.055416666666666,0.8922299904438411,22.5244,23.6845,-0.1390999999999991,-0.6075970524302579,101.5328,101.7789,1.0119711875892217,0,0.5111638144725943,0.5331503065595038,0.6721358936967081,1.0119711875892217,0.22389767253675633,0.304457684549383,0.8643116307965997,0.9472715097262275 +2024-05-05T07:00:00.000000,22.7975,101.4882,0,0.7207666666666661,1.2943354883696125,22.591,24.1445,0.17918333333334147,1.0078916539841443,101.1362,101.187,1.161301810192549,0,0.37144313098770837,0.7437031328514209,0.6927080680148371,1.161301810192549,0.41548481770350987,0.6111719750170646,0.16490452783068582,0.09898507409050995 +2024-05-05T08:00:00.000000,21.675,101.5101,0,-0.6625833333333304,-1.5210091623431414,22.7975,22.9705,0.1621499999999827,0.8592003810083733,101.4882,101.4752,0.7856591930954594,0,0.20612330409018337,0.7304840549667049,0.7564941640612864,0.7801840907657973,0.38126745869285306,0.526896461907793,0.7856591930954594,0.5120213145875847 +2024-05-05T09:00:00.000000,22.1056,101.4926,0,-0.09805000000000064,-0.19529471384431202,21.675,22.3147,0.11154999999999404,0.5627378515407175,101.5101,101.5597,0.8242800089173087,0,0.029576630717328276,0.03630572259536687,0.40976344826399896,0.5672905640195751,0.2796198051153818,0.3588668843237046,0.8242800089173087,0.6331231963433263 +2024-05-05T10:00:00.000000,21.066,101.4027,0,-1.2183000000000028,-2.8840025949553167,22.1056,22.3007,0.02343333333331543,0.11898019615701226,101.4926,101.103,1.4441826264465503,0,0.438142167053309,1.4441826264465503,0.5427721308673946,0.562745718983822,0.10260691168182318,0.10735310442807518,0.7934186264112508,0.021400228483241576 +2024-05-05T11:00:00.000000,19.3436,101.3058,0,-2.782983333333334,-4.240781198299966,21.066,21.1665,-0.12129999999999086,-0.813002973141124,101.4027,101.3963,2.154626952774441,0,1.0914176033919991,2.154626952774441,0.22164852094057008,0.19454834473014065,0.18814019756283867,0.4208780299882933,0.6348792957086867,0.3989451196700946 +2024-05-05T12:00:00.000000,18.6499,101.1873,0,-2.946550000000002,-2.321663864200457,19.3436,19.7965,-0.20196666666667795,-1.3854397857624985,101.3058,101.0144,1.1597087925807377,0,1.1597087925807377,1.1497275401455367,0.31038620947301454,0.25019720519715827,0.3501871815270006,0.7453248192370694,0.4639954120037144,0.14837805953126454 +2024-05-05T13:00:00.000000,18.8573,100.7522,0,-2.0823,-1.283606861036172,18.6499,19.5046,-0.6455833333333345,-5.023766684197734,101.1873,100.9433,2.8074624288522427,0,0.7988732907076973,0.6061740771966048,0.5246642473782069,0.3449572241926178,1.2413451509842133,2.8074624288522427,0.2550197647483677,0.2502756192097593 +2024-05-05T14:00:00.000000,16.8089,100.9107,0,-3.4739999999999966,-2.295209574445714,18.8573,18.5837,-0.3644166666666422,-1.2869785241628533,100.7522,100.5656,1.379925958288499,0,1.379925958288499,1.135875390637164,0.4606001489761068,0.6439106380087128,0.6765243618364922,0.6895187643380141,0.5122823797308785,0.7915795332824146 +2024-05-05T15:00:00.000000,16.0583,100.7994,0,-3.413583333333335,-1.8174346672238926,16.8089,17.1936,-0.37581666666665114,-1.2988711796869954,100.9107,100.698,1.3547012221147519,0,1.3547012221147519,0.8857001068724962,1.0933335104363862,1.0951812868802016,0.6994252165950761,0.6962593055040864,0.23276642960454955,0.6018293658923803 +2024-05-05T16:00:00.000000,15.4287,100.6881,0,-3.0352999999999994,-1.6831589084045726,16.0583,15.9384,-0.3715833333333194,-1.3496348697987812,100.7994,100.25,1.5026591075143234,0,1.1967630602014856,0.8153898508134789,1.3251874750488093,1.5026591075143234,0.6909210980151439,0.7250312431294231,0.42904482234309643,1.2438843129523545 +2024-05-05T17:00:00.000000,14.0244,100.6317,0,-3.500049999999998,-2.137500642975086,15.4287,16.191,-0.30888333333334117,-1.231962489220334,100.6881,100.5551,1.5196655674015687,0,1.3908021686718293,1.0532949200295505,1.5196655674015687,1.420657117797801,0.5649663968430755,0.658336674890344,0.6253232150816433,0.8066276961041438 +2024-05-05T18:00:00.000000,15.1085,100.1354,0,-1.5294166666666662,-0.8144508935561889,14.0244,15.8843,-0.6928333333333399,-3.458941098511904,100.6317,100.4088,1.9534419096680553,0,0.5680373808892738,0.3605118929335479,1.9534419096680553,1.5202216872596277,1.3362631674177534,1.920547706011188,0.7247850421297668,1.0162987647534147 +2024-05-05T19:00:00.000000,15.3883,100.3259,0,-0.6593833333333361,-0.39643715202723123,15.1085,16.868,-0.3270166666666654,-1.2065831326947636,100.1354,100.4203,1.6185726277118506,0,0.2047872628914658,0.14162909933387355,1.6185726277118506,1.200881397140296,0.6013934874531737,0.6439521165314677,1.6000138500016363,0.999817443567726 +2024-05-05T20:00:00.000000,14.1577,100.5074,0,-1.3118166666666653,-1.4035832124724958,15.3883,16.2957,-0.07446666666666601,-0.2527352525142986,100.3259,100.7102,1.5321447842552083,0,0.4771865793763161,0.668996794153769,1.5321447842552083,1.3866681695661303,0.09405920067459543,0.10332846107659559,1.2640656575785165,0.5843448338518974 +2024-05-05T21:00:00.000000,16.0749,100.4869,0,1.04725,1.3251002531988736,14.1577,17.1103,-0.0277499999999975,-0.11247123488798183,100.5074,100.3542,1.91226667188117,0,0.5077541259966947,0.7598123584611708,1.91226667188117,1.122223114842935,0.0002125692590067903,0.023829363250242805,0.9439890333013716,1.094549211426341 +2024-05-05T22:00:00.000000,16.085,100.5201,0,1.0545833333333352,1.3270803576506818,16.0749,17.4076,0.05753333333333899,0.2822233449521868,100.4869,100.3311,1.320059876044591,0,0.5108158870770954,0.7608491923041101,1.320059876044591,1.0257100841908282,0.17110859126670344,0.19987635647211563,0.9801409385227544,1.1276551696341206 +2024-05-05T23:00:00.000000,17.5221,100.8848,0,2.382299999999997,2.6505414736266832,16.085,19.5154,0.4502333333333297,2.552791840674564,100.5201,101.0092,1.486793343576871,0,1.065154689231407,1.4538476215562313,1.3169400718311806,0.34145120087932246,0.9599827722920191,1.486793343576871,0.9215924871398387,0.1558304830239077 +2024-05-06T00:00:00.000000,18.2745,100.8389,0,2.55175,2.2499306575126017,17.5221,19.3441,0.36214999999999975,1.4574838782370756,100.8848,100.9339,1.2440774492729807,0,1.1359022458323762,1.2440774492729807,0.8730320881587695,0.3970606262096479,0.7830368404221129,0.8659926825849423,0.2784412757135322,0.26374730783110634 +2024-05-06T01:00:00.000000,19.4078,101.0264,0,3.1573833333333354,2.138943528759126,18.2745,21.2324,0.432399999999987,1.9701435310631772,100.8389,101.2546,1.3887619597859497,0,1.3887619597859497,1.1859617215308471,0.6406221188350458,0.21594157957700832,0.9241583357544777,1.1565588632872945,0.35938627325800593,0.19586657949509503 +2024-05-06T02:00:00.000000,19.2955,101.0771,0,2.3751666666666686,1.272197475997926,19.4078,22.4786,0.36634999999999707,1.564518007234041,101.0264,101.3115,1.0621764307259292,0,1.0621764307259292,0.7321110976830668,0.29055537476995263,0.6204977141167176,0.7914739974384212,0.9266576830311558,0.028728603550211156,0.2774132904051672 +2024-05-06T03:00:00.000000,20.575,101.6473,0,2.7983666666666664,1.8834218239712905,19.2955,21.6217,0.8415999999999997,3.364106192461764,101.0771,101.5033,1.946631583719745,0,1.2388678792566432,1.0521639560202167,0.3252438909249957,0.34232073474978114,1.7461784907724984,1.946631583719745,0.06068123033878746,0.5522930646152237 +2024-05-06T04:00:00.000000,22.0188,101.4002,0,3.4921499999999988,2.200053035664218,20.575,22.0123,0.40109999999999957,1.0757085818901015,101.6473,101.1157,1.5285313531062041,0,1.5285313531062041,1.2179602379862169,0.06998279135797034,0.4691219112473015,0.8612814275138791,0.6496093781167093,1.0662332477648382,0.003199117260768624 +2024-05-06T05:00:00.000000,21.8055,101.7275,0,2.289883333333332,1.4221629766682158,22.0188,22.5244,0.5817166666666793,1.84415419372149,101.4002,101.5328,1.2241126599972068,0,1.026569541070459,0.8106369078878325,0.5159603481224461,0.6353658500193966,1.2241126599972068,1.0851503950008072,0.6304705267792534,0.5945712363524307 +2024-05-06T06:00:00.000000,22.6164,101.384,0,2.3868833333333335,1.5966355149656428,21.8055,22.591,0.09776666666667211,0.27127469980806174,101.7275,101.1362,1.2076665550211942,0,1.0670682899066584,0.9019952360836568,0.45007378983330437,0.6569863271180526,0.2519311985578989,0.1936708632450664,1.2076665550211942,0.026180629200679248 +2024-05-06T07:00:00.000000,21.9491,101.6663,0,0.9959333333333369,0.7075139619146051,22.6164,22.7975,0.2892166666666611,1.0107777310855446,101.384,101.4882,0.7240227913954151,0,0.4863287569818067,0.43642822225856115,0.7005539122743029,0.7240227913954151,0.636524939218178,0.6128077511034867,0.6019017041165039,0.5306523733192435 +2024-05-06T08:00:00.000000,21.8172,101.6079,0,0.4404833333333329,0.3612272773348698,21.9491,21.675,0.12416666666665321,0.5054094057520583,101.6663,101.5101,1.099739891628571,0,0.2544212307852418,0.25510356860018135,0.49443061013485584,0.35962360906447105,0.30496475694611874,0.3263741624046208,1.099739891628571,0.5620385414902389 +2024-05-06T09:00:00.000000,21.6942,101.1597,0,-0.10279999999999845,-0.15367230136635843,21.8172,22.1056,-0.4125000000000085,-2.8480039506298453,101.6079,101.4926,1.5742796259493201,0,0.027593444562979248,0.014511152191510172,0.45368782045675976,0.4994100570927152,0.7731164173606264,1.5742796259493201,0.996751049436906,0.5369582701207107 +2024-05-06T10:00:00.000000,21.0083,101.3766,0,-0.9752333333333318,-2.951119966542998,21.6942,21.066,-0.11433333333333451,-0.5333355961086158,101.1597,101.4027,1.479327016050693,0,0.33665870433387013,1.479327016050693,0.4156941651845399,0.16192285000919632,0.17414523076595803,0.26236763978416044,0.20634695576739348,0.4081173331995219 +2024-05-06T11:00:00.000000,19.3589,101.2279,0,-2.4562166666666663,-4.770158006820658,21.0083,19.3436,-0.25910000000000366,-1.1963412159098716,101.3766,101.3058,2.4318223250894015,0,0.9549883130685426,2.4318223250894015,0.20382548102831735,0.39722294210378273,0.4649593015743007,0.6381471841033898,0.5888517480853624,0.26924428773053405 +2024-05-06T12:00:00.000000,19.589,101.1852,0,-1.8183499999999988,-1.6121361767268199,19.3589,18.6499,-0.21853333333334035,-1.0866509565048443,101.2279,101.1873,0.7782005137791372,0,0.6886707674570299,0.7782005137791372,0.305660169426958,0.622420013625365,0.3834670786468962,0.5759767371804282,0.3266181721624499,0.09941502159969581 +2024-05-06T13:00:00.000000,17.5163,100.523,0,-3.386483333333331,-2.9302880744882,19.589,18.8573,-0.8476000000000141,-3.844783450234991,101.1852,100.7522,2.139236143603956,0,1.3433866232130904,1.4684188992212248,0.23458423383234242,0.5550913807385607,1.6471657073125678,2.139236143603956,0.25131639884764273,0.5241521825650216 +2024-05-06T14:00:00.000000,16.8024,100.6797,0,-3.361583333333332,-2.0251566890745836,17.5163,16.8089,-0.5003499999999974,-1.3812208734198232,100.523,100.9107,1.3329905526355512,0,1.3329905526355512,0.9944687235896147,0.8748236588951822,1.22006713582694,0.9495936182851664,0.742933616341793,0.9164783151816971,0.2969965818752677 +2024-05-06T15:00:00.000000,15.5345,100.8853,0,-3.793683333333332,-1.991041296185812,16.8024,16.0583,-0.14005000000000223,-0.41125965426534294,100.6797,100.7994,1.513397865750206,0,1.513397865750206,0.9766050225712416,1.0953413052271954,1.463735756100978,0.2258060770999764,0.19317721299417784,0.6401366786845681,0.45650710778548237 +2024-05-06T16:00:00.000000,14.6944,100.8535,0,-3.607166666666666,-1.776147451392853,15.5345,15.4287,-0.12611666666667531,-0.37390293013744264,100.8853,100.6881,1.6681239299945751,0,1.4355247560893987,0.8640810540920876,1.4869848460373343,1.6681239299945751,0.1978161435061866,0.17200410020178614,0.27755952192764055,0.6160176336956971 +2024-05-06T17:00:00.000000,16.0028,100.4544,0,-1.2464499999999994,-0.6285322650818695,14.6944,14.0244,-0.4380333333333226,-1.585676264292916,100.8535,100.6317,2.1240043502594705,0,0.4498951544732972,0.2631600962346351,1.7464846004616563,2.1240043502594705,0.8244089750946856,0.8588152187314252,0.33363906271008964,0.6968477654237996 +2024-05-06T18:00:00.000000,13.715,100.6634,0,-2.974899999999998,-1.7239237320992526,16.0028,15.1085,-0.10011666666666486,-0.372507113129132,100.4544,100.1354,1.7720710285980212,0,1.1715452825756456,0.8367353655763511,1.3423309536472494,1.7720710285980212,0.14558612388136627,0.17121297647120112,1.037454934605437,1.4081242614636749 +2024-05-06T19:00:00.000000,14.1882,100.2482,0,-1.5227000000000004,-1.0998279332942946,13.715,15.3883,-0.4283500000000089,-2.489742760839141,100.6634,100.3259,2.0490129417105325,0,0.5652330860815442,0.5099426830760166,2.0490129417105325,1.6812390542406064,0.8049566408626683,1.3712236900325598,0.668881852104501,1.1351075931267842 +2024-05-06T20:00:00.000000,20.6993,102.9279,1,5.543083333333334,4.7541484769268285,14.1882,14.1577,2.297150000000002,9.452104279764692,100.2482,100.5074,5.397198334192863,0,2.38482242471914,2.55535059089409,1.9028454809396849,2.0807309328833323,4.670155608652374,5.397198334192863,1.4010901959054394,0.8749893500656527 +2024-05-06T21:00:00.000000,20.0823,103.1042,1,4.2766,1.6830737758168957,20.6993,16.0749,2.0987500000000097,2.158408215050137,102.9279,100.4869,4.271600381976998,0,1.8560493275861654,0.9472565424220967,0.10837800558835203,1.4583468684157275,4.271600381976998,1.26326386705669,3.324581044179769,0.9043690965271005 +2024-05-06T22:00:00.000000,21.7687,103.2047,1,5.205033333333333,1.6967794524348476,20.0823,16.085,1.829433333333327,1.420159484055305,103.1042,100.5201,3.7305844286967527,0,2.243682197460614,0.9544331887575456,0.08220805378530224,1.4550680873542192,3.7305844286967527,0.844837893818866,3.635487429083706,0.8567882388432001 +2024-05-06T23:00:00.000000,22.4612,103.4069,1,4.718483333333335,1.3366435318740133,21.7687,17.5221,1.6397666666666595,1.134229753157282,103.2047,100.8848,3.8127199400470784,0,2.0405413083239905,0.7658567173726089,0.4387065824022665,0.9885397444341306,3.3495731316902018,0.6827781151756813,3.8127199400470784,0.3341153835021832 +2024-05-07T00:00:00.000000,22.7419,103.5716,1,3.922783333333335,1.015618233017384,22.4612,18.2745,1.3123833333333437,0.9297135111096162,103.4069,100.8389,4.1693011710599475,0,1.7083263140047802,0.5977595778553864,0.652613950499926,0.7442867869412102,2.6919101345813057,0.5668620234454321,4.1693011710599475,0.39989735240855667 +2024-05-07T01:00:00.000000,25.5054,103.8579,1,5.181799999999999,1.6329508200560505,22.7419,19.4078,1.113983333333337,0.895977051207027,103.5716,101.0264,4.459750868131293,0,2.2339819816740736,0.9210108679610655,0.7393197963122187,0.3763815812969695,2.293354907905901,0.5477408106675689,4.459750868131293,0.13118015916358575 +2024-05-07T02:00:00.000000,21.5917,101.2475,0,-0.6181000000000019,-0.3238857080770841,25.5054,19.2955,-2.098033333333319,-6.214465309253994,103.8579,101.0771,4.964643085930443,0,0.1875509397183959,0.10363928906253275,1.592941473912045,0.41283773111947775,4.15909484344725,3.4823287850066595,4.964643085930443,0.058519030110136754 +2024-05-07T03:00:00.000000,21.3016,101.5542,0,-1.0569333333333368,-0.5875941920156978,21.5917,20.575,-1.5112666666666712,-1.6246258993237734,101.2475,101.6473,2.9803704390173618,0,0.3707695061886912,0.24172386362530468,0.3840327857910239,0.0025286419695583493,2.9803704390173618,0.880891164494424,0.36118292056923273,0.7586678690273692 +2024-05-07T04:00:00.000000,22.2979,101.5703,0,-0.2638500000000015,-0.1712767022054623,21.3016,22.0188,-1.2368333333333084,-1.1099398374146214,101.5542,101.4002,2.4290758857211836,0,0.039647003891350056,0.023729271244767584,0.29442335981971623,0.4712320178710439,2.4290758857211836,0.589176451925839,0.9020506928325824,0.40453443728959226 +2024-05-07T05:00:00.000000,22.6211,101.2712,0,-0.02885000000000204,-0.01922516987627783,22.2979,21.8055,-1.263533333333342,-1.0577235074943392,101.5703,101.7275,2.482712098182103,0,0.058468521639646845,0.05588883902498186,0.6021719675246937,0.4019880574334576,2.482712098182103,0.5595811844387427,0.9304431647381737,0.8736071698180251 +2024-05-07T06:00:00.000000,23.1955,101.6981,0,0.5189000000000021,0.34638777691050204,22.6211,22.6164,-0.4806833333333316,-0.40027147795133483,101.2712,101.384,0.9100862957484609,0,0.28716119870179196,0.2473332228296604,0.7020057023538103,0.6652319745400617,0.9100862957484609,0.18694931421797276,0.40297805002028203,0.38131727179322994 +2024-05-07T07:00:00.000000,22.6228,101.4595,0,-0.12939999999999685,-0.08550544100533422,23.1955,21.9491,-0.4070333333333309,-0.4104609838457761,101.6981,101.6663,1.1558194324109952,0,0.016487602098620237,0.021182776845763526,0.879432983560013,0.448605182228758,0.7621347209266723,0.19272454110518836,1.1558194324109952,0.7858978779428674 +2024-05-07T08:00:00.000000,22.7705,101.7872,0,0.49873333333333036,0.704901304565905,22.6228,21.8172,0.32040000000000646,1.8009333349459338,101.4595,101.6079,1.0606535971899036,0,0.27874135573069003,0.43506016737809117,0.7025308179144842,0.4057862493561948,0.6991674819861504,1.0606535971899036,0.7350465257855184,0.7022014294868252 +2024-05-07T09:00:00.000000,22.4624,101.2539,0,-0.005833333333331581,-0.009093322811335739,22.7705,21.6942,-0.3028500000000065,-1.670816793085712,101.7872,101.1597,1.3129479570561426,0,0.06807827630335815,0.061194135883854514,0.7481540933917745,0.3658565393992179,0.5528463538275745,0.9070713241961809,1.3129479570561426,0.05985985075404682 +2024-05-07T10:00:00.000000,21.274,101.5137,0,-1.3876999999999953,-4.516519563115823,22.4624,21.0083,0.006999999999990791,0.03188709684105689,101.2539,101.3766,2.299010683732051,0,0.5088688480105438,2.299010683732051,0.652984620307459,0.14319159582612667,0.06959486081642262,0.05799031745183557,0.37246936902859085,0.3707118998998226 +2024-05-07T11:00:00.000000,19.954,101.4715,0,-2.537049999999997,-3.9235023145226333,21.274,19.3589,-0.02576666666666938,-0.11849399628356155,101.5137,101.2279,1.9884915329737545,0,0.9887372704320406,1.9884915329737545,0.2858979542464378,0.3922560757432808,0.003771643776464221,0.027242955028624453,0.8306286361757086,0.15760125117702398 +2024-05-07T12:00:00.000000,19.6139,101.3063,0,-2.4326333333333316,-2.0098527693997856,19.954,19.589,-0.22435000000000116,-1.1847463902571786,101.4715,101.1852,0.9864551959022415,0,0.9451419677758924,0.9864551959022415,0.12183883404079608,0.31755830126279044,0.3951518714988428,0.631575447499504,0.7562086166468182,0.09640538903535406 +2024-05-07T13:00:00.000000,18.686,100.6867,0,-2.7636000000000003,-1.9755742224695707,19.6139,17.5163,-0.778649999999999,-4.150157195020038,101.3063,100.523,2.312316436191492,0,1.0833248121726693,0.9685060632130157,0.2268928353260143,0.9904226088060847,1.508655712961387,2.312316436191492,0.46487716578958105,0.8526320795876825 +2024-05-07T14:00:00.000000,17.1561,100.9025,0,-3.6373666666666686,-2.2167192491745586,18.686,16.8024,-0.43404999999999916,-1.1746276511492888,100.6867,100.6797,1.4481336449023192,0,1.4481336449023192,1.0947758286872193,0.5135132640015634,1.2221772424506836,0.8164070682419317,0.6258403299416954,0.6277921256821349,0.6280561639530844 +2024-05-07T15:00:00.000000,16.3791,100.4037,0,-3.478633333333331,-1.857784027178296,17.1561,15.5345,-0.7853999999999957,-2.395235612800712,100.9025,100.8853,1.6337778867958097,0,1.3818604346074794,0.9068280740882985,0.9860863794565934,1.6337778867958097,1.5222154295947414,1.317658754888516,0.24722719169310767,0.33339880432019325 +2024-05-07T16:00:00.000000,15.7608,100.6161,0,-3.08305,-1.688008889897642,16.3791,14.6944,-0.43129999999999313,-0.9503708311373306,100.4037,100.8535,1.9065010521198422,0,1.2166992999636352,0.8179294264126611,1.2260950798347598,1.9065010521198422,0.8108827392431427,0.4987356371340621,1.1268647684944355,0.3789732402945461 +2024-05-07T17:00:00.000000,15.2333,100.5007,0,-2.6916833333333336,-1.5431203894772678,15.7608,16.0028,-0.3971000000000089,-0.9552304962224559,100.6161,100.4544,1.4817528203498573,0,1.05329867794102,0.7420620646927303,1.4170826981665758,1.4817528203498573,0.7421801749674768,0.5014900070469143,0.7522957602494413,0.9509467433562272 +2024-05-07T18:00:00.000000,16.6852,100.4836,0,-0.45300000000000296,-0.26485157206017024,15.2333,13.715,-0.2524000000000086,-0.771205640170121,100.5007,100.6634,2.224445425549621,0,0.11861956412193837,0.07272749041720011,1.5800229677283302,2.224445425549621,0.4515000272863816,0.39718806075045965,0.9558045340322798,0.6514166452858487 +2024-05-07T19:00:00.000000,16.3095,100.3115,0,-0.34058333333333124,-0.2823764512002987,16.6852,14.1882,-0.287383333333338,-1.6004414996675036,100.4836,100.2482,2.070829663341155,0,0.07168415846898762,0.0819039698545926,1.1315433897630014,2.070829663341155,0.5217761883071773,0.8671838859872049,0.9859605135096293,1.2464639980075105 +2024-05-07T20:00:00.000000,15.3389,100.6987,0,-0.9151000000000007,-1.3482092303124873,16.3095,20.6993,0.16234999999998934,0.787267002172548,100.3115,102.9279,2.5939704699314103,0,0.31155226347459175,0.6400015466205451,1.2475939286717235,0.04288037325128396,0.38166922807459563,0.4861259291808279,1.2894601666120913,2.5939704699314103 +2024-05-07T21:00:00.000000,16.734,100.9198,0,0.7828666666666688,1.3132769621888143,15.3389,20.0823,0.4174166666666679,2.981514026498026,100.6987,103.1042,2.846636289499899,0,0.3973706805003687,0.7536213778576194,1.5474040246653513,0.15741744011013528,0.8940591129066251,1.7297852923880708,0.6066300348208353,2.846636289499899 +2024-05-07T22:00:00.000000,17.718,100.7697,0,1.7077166666666663,2.5830003501342174,16.734,21.7687,0.18130000000000734,0.8680559642738341,100.9198,103.2047,2.9906687050791985,0,0.7835074625741665,1.4184813445079745,1.1164694842566238,0.39004160762519163,0.4197368769934759,0.5319156456745512,0.2167185107014165,2.9906687050791985 +2024-05-07T23:00:00.000000,18.0027,101.1057,0,1.6662166666666671,1.7759658701008194,17.718,22.4612,0.4917000000000087,2.215505459906935,100.7697,103.4069,3.2804533262745617,0,0.7661806782782673,0.995897242667548,0.8125202420788682,0.6148491210008531,1.0432829574372366,1.2956255484864836,0.4814209972248206,3.2804533262745617 +2024-05-08T00:00:00.000000,20.4779,100.994,0,3.679850000000002,3.8027127835313825,18.0027,22.7419,0.27916666666666856,0.9699307081449209,101.1057,103.5716,3.5164945088209594,0,1.6068985196686232,2.0571542834255427,0.7245788302414622,0.7059732639677092,0.6163360277862993,0.5896564003320922,0.11111754689154499,3.5164945088209594 +2024-05-08T01:00:00.000000,21.5887,100.9313,0,4.158533333333331,2.338376819439544,20.4779,25.5054,0.1313999999999993,0.4673508690567669,100.994,103.8579,3.926807748426476,0,1.8067549741917257,1.2903901444846935,0.03998942609835716,1.6030932108466094,0.319495416252018,0.3048032749947971,0.08586624887571023,3.926807748426476 +2024-05-08T02:00:00.000000,22.2394,101.2459,0,3.9293666666666667,1.6845233178302923,21.5887,21.5917,0.34269999999999357,2.310918262633143,100.9313,101.2475,1.7110749404292294,0,1.7110749404292294,0.9480155600662818,0.38310611127218924,0.3325817811017377,0.7439647680489332,1.3497037922597757,0.19643817362600852,0.1856911551108939 +2024-05-08T03:00:00.000000,23.4131,101.5607,0,3.952983333333332,1.737447978451904,22.2394,21.3016,0.5662999999999982,3.4377834122001714,101.2459,101.5542,1.9883904938000334,0,1.7209352028176987,0.9757282795687592,0.584101814407419,0.23840609932516169,1.1931429368222166,1.9883904938000334,0.35836130845439945,0.6252408253414564 +2024-05-08T04:00:00.000000,23.6036,101.6427,0,3.0303000000000004,1.312785049875185,23.4131,22.2979,0.541483333333332,1.9581244650311682,101.5607,101.5703,1.3357030319722005,0,1.3357030319722005,0.7533637998626487,0.9466477753261512,0.5618367499766711,1.1432900527059828,1.1497466749411311,0.9135134920491239,0.648314675001437 +2024-05-08T05:00:00.000000,24.4477,101.78,0,2.8934666666666686,1.382620896618808,23.6036,22.6211,0.5332833333333298,1.800506914606069,101.6427,101.2712,1.2785733536311028,0,1.2785733536311028,0.7899316532847209,1.0054916072721498,0.6667577439449216,1.1268175080550802,1.0604119098855773,1.0581211129346801,0.21965700833704527 +2024-05-08T06:00:00.000000,24.2188,101.6901,0,1.5904000000000025,1.0854736710639967,24.4477,23.1955,0.33099999999998886,0.9344517054870223,101.78,101.6981,1.300250702539368,0,0.734526243835679,0.6343376897898055,1.266226927721585,0.8532262431261196,0.720461259217764,0.569547545967204,1.300250702539368,0.8314723139171999 +2024-05-08T07:00:00.000000,23.8171,101.4398,0,0.5652166666666645,0.5032993282737761,24.2188,22.6228,-0.03531666666665956,-0.10921270366468379,101.6901,101.4595,1.1955216619345035,0,0.3064990033436796,0.3294961646143696,1.1955216619345035,0.6673096179849783,0.015412844201086564,0.021982486931746478,1.1417113718368037,0.4895207282732124 +2024-05-08T08:00:00.000000,25.2973,101.2831,0,1.6740166666666667,2.149865595498785,23.8171,22.7705,-0.27676666666665994,-1.43778273881894,101.4398,101.7872,1.1916807978251203,0,0.769437278700147,1.1916807978251203,1.071439943862547,0.715257733112176,0.5004489302936947,0.7749918544181114,0.7003054266215524,0.9591667241472128 +2024-05-08T09:00:00.000000,22.9134,101.7282,0,-1.219533333333338,-1.7749845613358033,25.2973,22.4624,0.16213333333331548,0.8977900500105573,101.2831,101.2539,1.5286611514555497,0,0.43865709959864974,0.8634721348173161,1.5286611514555497,0.615238679146774,0.3812339779110412,0.5487683854631583,0.4239637901244234,0.19486336864032125 +2024-05-08T10:00:00.000000,21.4798,101.3601,0,-2.569849999999999,-3.1691349103262576,22.9134,21.274,-0.23388333333332412,-1.2170566977297579,101.7282,101.5137,1.5934852725884152,0,1.002431692718921,1.5934852725884152,0.7922946896389307,0.22944626196896217,0.41430287869458166,0.6498883429806911,1.2089010103214277,0.5671979116005508 +2024-05-08T11:00:00.000000,22.1115,100.715,0,-1.5841833333333355,-1.184656480891118,21.4798,19.954,-0.8318833333333515,-3.933207240922618,101.3601,101.4715,2.189353142282694,0,0.5909031693215342,0.5543611019707682,0.34946782623849293,0.19906769854493256,1.615593330065021,2.189353142282694,0.5597538731510879,0.5067186286408912 +2024-05-08T12:00:00.000000,21.1957,101.1832,0,-2.1106166666666724,-1.4942499511274336,22.1115,19.6139,-0.18618333333334647,-0.5077374531237928,100.715,101.3063,0.8106958636067894,0,0.8106958636067894,0.7164722407043451,0.5445945907544362,0.30947496973491395,0.3184808811522063,0.24785907723360653,0.5778848614009024,0.2699608669125037 +2024-05-08T13:00:00.000000,20.0863,101.1183,0,-2.7161666666666626,-1.7478563344270592,21.1957,18.686,-0.1665999999999883,-0.49723763784174113,101.1832,100.6867,1.063520784820808,0,1.063520784820808,0.8492670944053122,0.2617117493048535,0.6107008060688861,0.2791409625245031,0.24190797262108726,0.24778938370410117,0.618024055405265 +2024-05-08T14:00:00.000000,19.0527,100.7863,0,-3.1279666666666657,-1.7429944557212738,20.0863,17.1561,-0.4450166666666604,-1.3444298293642518,101.1183,100.9025,1.2354525865810841,0,1.2354525865810841,0.8467212891182118,0.080972487760189,1.107354978940256,0.8384374226734066,0.7220811207409629,0.13333774229591966,0.3087484804598509 +2024-05-08T15:00:00.000000,17.3956,100.4938,0,-3.744299999999999,-2.6918008039439547,19.0527,16.3791,-0.6547166666666868,-1.7472424818205385,100.7863,100.4037,1.4927796882928768,0,1.4927796882928768,1.3435408035305128,0.40024274864934417,1.3595938784245702,1.2596926194165528,0.9503880165881176,0.4521467715333628,1.0236078724096762 +2024-05-08T16:00:00.000000,16.6736,100.3256,0,-3.5466666666666704,-2.01602651232447,17.3956,15.7608,-0.6171833333333439,-1.8767821460520633,100.4938,100.6161,1.5603137131107383,0,1.4102652271761011,0.9896879271837024,0.9121068637029617,1.5603137131107383,1.184293898778682,1.0238087456775335,0.9679727362775297,0.7192050359017698 +2024-05-08T17:00:00.000000,17.4238,100.2184,0,-1.9954333333333345,-0.9382189958125904,16.6736,15.2333,-0.5519666666666723,-1.6360550346389005,100.3256,100.5007,1.731556981422162,0,0.7626053390007789,0.4253200685722777,1.1351265312358279,1.731556981422162,1.0532835995531338,0.8873689908241142,1.2645947098500667,0.8845915111042862 +2024-05-08T18:00:00.000000,17.2946,100.4099,0,-1.343350000000001,-0.7583840922907792,17.4238,16.6852,-0.27769999999999584,-0.681746133424755,100.2184,100.4836,1.453642721544322,0,0.49035215202203664,0.331153867419163,0.9033961232259168,1.2602240880357052,0.5023238540751029,0.3464840370200517,1.453642721544322,0.9090985191282265 +2024-05-08T19:00:00.000000,17.0944,99.925,0,-0.8933666666666689,-0.6886671854605816,17.2946,16.3095,-0.6337166666666718,-1.89114888976194,100.4099,100.3115,1.3821882508880305,0,0.30247831699995265,0.29464829400833115,0.9433049058370615,1.3821882508880305,1.2175068343349538,1.031951555094846,1.115931021549444,1.155745073568011 +2024-05-08T20:00:00.000000,17.7668,100.2765,0,0.27768333333333217,0.3409527266526309,17.0944,15.3389,-0.0833333333333286,-0.29010027971862606,99.925,100.6987,1.9710558431030887,0,0.1864501348003635,0.2444872901111661,1.0051449853939582,1.6972758645810502,0.11187097659791621,0.12450627990191224,1.9710558431030887,0.6008261550375862 +2024-05-08T21:00:00.000000,18.6752,100.1254,0,1.4003999999999976,3.8163981003134912,17.7668,16.734,-0.14946666666665465,-0.7581428275926161,100.2765,100.9198,2.0643202688249893,0,0.6551987976616793,2.0643202688249893,0.7974463365724916,1.2443820567682207,0.24472271882303215,0.3897842958180089,1.351182931624207,0.2839548407631269 +2024-05-08T22:00:00.000000,18.3568,100.5209,0,0.8687333333333349,1.268023404916606,18.6752,17.718,0.30743333333333567,1.7983402357960692,100.1254,100.7697,1.6176489257193944,0,0.4332211193326875,0.729925446236248,0.5168492922693679,0.9249443771124088,0.673119433737364,1.0591838756855778,1.6176489257193944,0.4990719111954935 +2024-05-08T23:00:00.000000,20.6558,100.7938,0,2.8872,4.604351690954643,18.3568,18.0027,0.5477833333333422,2.6013608469011396,100.5209,101.1057,2.4769131240636533,0,1.2759569396169421,2.4769131240636533,0.6152003478683493,0.83252170699248,1.1559457882304738,1.5143213742341848,0.920181681082422,0.017530700900507738 +2024-05-09T00:00:00.000000,21.0535,101.3248,0,2.7462333333333326,2.1134777631316153,20.6558,20.4779,0.9828833333333193,3.220116280022452,100.7938,100.994,2.029995078182358,0,1.2171015413941635,1.1726271887920041,0.09494122506524949,0.028993104671273553,2.029995078182358,1.8650207163801438,0.438920464745038,0.17761449015631034 +2024-05-09T01:00:00.000000,22.7883,101.2384,0,3.8545499999999997,2.427801441760162,21.0535,21.5887,0.7439999999999998,1.466019363639228,101.3248,100.9313,1.6798380188612403,0,1.6798380188612403,1.3372151868350697,0.21778737711209273,0.3316078857369334,1.5501150324886366,0.8708304406961417,0.4975020558674222,0.26747351957743815 +2024-05-09T02:00:00.000000,22.83,101.4742,0,2.947266666666664,1.5250384255110407,22.7883,22.2394,0.7608999999999924,1.5343838847879459,101.2384,101.2459,1.5840645452447413,0,1.3010355462845804,0.8645051504799914,0.7536523622035269,0.5428457903629875,1.5840645452447413,0.9095782097008273,0.34513500166607464,0.18339810172854218 +2024-05-09T03:00:00.000000,24.3792,101.5827,0,3.6525999999999996,1.8932267302098997,22.83,23.4131,0.6697833333333421,1.2755234581620822,101.4742,101.5607,1.5955212938357726,0,1.5955212938357726,1.0572980582165699,0.7665331380153279,0.9238661202532589,1.4010251110853011,0.7628608211077901,0.760970087090593,0.6345563547072859 +2024-05-09T04:00:00.000000,25.5303,101.7101,0,3.8530333333333324,1.8235807634981815,24.3792,23.6036,0.5542999999999978,1.3418924442284503,101.5827,101.6427,1.67920479100143,0,1.67920479100143,1.0208296308843676,1.2450678595415277,0.9857084759183324,1.1690367739184622,0.800477557069131,0.9523106586281816,0.7520753405530978 +2024-05-09T05:00:00.000000,24.6243,101.4362,0,1.751450000000002,0.9344433388920611,25.5303,24.4477,0.08220000000000027,0.25450039046314654,101.7101,101.78,1.600632872418372,0,0.8017666922900069,0.5552543063030213,1.600632872418372,1.2597301683954376,0.22066014834663045,0.1841634893501188,1.1769815232722949,0.9488479839266096 +2024-05-09T06:00:00.000000,25.8622,101.9322,0,2.327933333333334,1.4385921839900968,24.6243,24.2188,0.4711333333333272,2.759442472690862,101.4362,101.6901,1.603919168778237,0,1.0424559059489893,0.8192396652567369,1.3207771677303166,1.1854219520608693,1.001967672682718,1.603919168778237,0.6939567993631525,0.8200070470054208 +2024-05-09T07:00:00.000000,24.4924,101.7362,0,0.1566833333333335,0.12014213335855053,25.8622,23.8171,0.17389999999998906,0.7250101072515234,101.9322,101.4398,1.7031539633521096,0,0.13593107697376552,0.12886515926965722,1.7031539633521096,1.0550173627135722,0.40487140986945785,0.4508398518001178,1.568656554963497,0.4612875085029404 +2024-05-09T08:00:00.000000,23.5734,101.4305,0,-1.0463333333333331,-0.9842996410616459,24.4924,25.2973,-0.21476666666666233,-1.1589883843069366,101.7362,101.2831,1.5355373357080166,0,0.3663438697179298,0.44944908482446266,1.2800343780522205,1.5355373357080166,0.3759004219576397,0.6169762775234555,1.2230090708956192,0.23671159286834234 +2024-05-09T09:00:00.000000,24.0532,101.1252,0,-0.6904333333333348,-0.8312259611976415,23.5734,22.9134,-0.5127833333333314,-2.642841837165828,101.4305,101.7282,1.4579974660300892,0,0.21775103764779483,0.36929575170037815,0.9961630837825476,0.7616476156556881,0.9745702815160012,1.4579974660300892,0.6839048062040276,0.874610380672799 +2024-05-09T10:00:00.000000,23.7104,101.1613,0,-0.978900000000003,-1.1264640651767106,24.0532,21.4798,-0.4004333333333392,-1.3928828048966282,101.1252,101.3601,1.144369228494832,0,0.33818958487407197,0.5238900498199606,1.144369228494832,0.29625548399453755,0.7488763313296245,0.7495433873080625,0.14550594454116947,0.34706478689427445 +2024-05-09T11:00:00.000000,21.9555,101.3413,0,-2.4304833333333313,-2.915504576107876,23.7104,22.1115,-0.12896666666665624,-0.4072682816101232,101.1613,100.715,1.4606778775676639,0,0.9442443150955023,1.4606778775676639,1.038481220142662,0.5013253846434972,0.20354135719578972,0.19091497546135522,0.20916856788222676,0.5774656737048218 +2024-05-09T12:00:00.000000,21.0826,100.976,0,-2.858583333333332,-2.2406439133684892,21.9555,21.1957,-0.47845000000000937,-1.4902928851896442,101.3413,101.1832,1.1229815767117572,0,1.1229815767117572,1.1073034009042175,0.49640751577503617,0.20402759294756906,0.9055998709858403,0.8047536517332446,0.5265999308017217,0.09353907230741439 +2024-05-09T13:00:00.000000,20.0758,100.6793,0,-3.0687833333333323,-2.3116173167263248,21.0826,20.0863,-0.6157833333333258,-2.2834054778611623,100.976,101.1183,1.2542754653753154,0,1.210742782952675,1.1444669083559535,0.22677611994478847,0.15611891295706243,1.181481513106541,1.2542754653753154,0.11760938516765973,0.0005270944855631382 +2024-05-09T14:00:00.000000,19.3014,100.8583,0,-3.107083333333332,-1.915059154199471,20.0758,19.0527,-0.26063333333334526,-0.9685527702162162,100.6793,100.7863,1.2267335260498542,0,1.2267335260498542,0.9368188101830413,0.08421584857611031,0.49165832931097264,0.46803953350090804,0.5090408299979653,0.6408420817132765,0.4752814823535432 +2024-05-09T15:00:00.000000,19.2847,100.3671,0,-2.4117833333333323,-1.256650130256556,19.3014,17.3956,-0.6564666666666739,-2.782290539729663,100.8583,100.4938,1.537034458086135,0,0.9364368243404829,0.5920588365880664,0.3234214310379542,1.0296056656500443,1.2632081015066574,1.537034458086135,0.3251742263655648,0.8944803038157035 +2024-05-09T16:00:00.000000,18.7581,100.1713,0,-2.1436333333333373,-1.2421997533843125,19.2847,16.6736,-0.725916666666663,-2.090005050481716,100.3671,100.3256,1.4027225193121091,0,0.8244807470164982,0.5844922459616535,0.3285799191928003,1.2639898167796144,1.4027225193121091,1.1446596155223714,1.1914091456214095,1.1355375406359904 +2024-05-09T17:00:00.000000,17.4053,100.5364,0,-2.671050000000001,-2.17962712189382,18.7581,17.4238,-0.19581666666665853,-0.46230318970114287,100.1713,100.2184,1.5367039281749206,0,1.0446839956284406,1.0753534326433314,0.49124218639890493,1.0204510492208845,0.33783277303878795,0.22210776186683612,1.5367039281749206,1.2891721172539032 +2024-05-09T18:00:00.000000,17.4053,100.5364,1,-1.9126833333333337,-1.5451652095637027,17.4053,17.2946,-0.061666666666667425,-0.2041020783535136,100.5364,100.4099,1.0623934762651235,0,0.7280561486276295,0.743132785313757,0.9091106160920635,1.0623934762651235,0.06834596024392782,0.07576406119953905,0.8928473137199058,1.014722290553053 +2024-05-09T19:00:00.000000,17.4053,100.5364,1,-1.2997999999999976,-1.191314751208465,17.4053,17.0944,0.011600000000015598,0.04857059668236085,100.5364,99.925,1.7096607812436415,0,0.47216946633320583,0.5578475443118072,0.9091106160920635,1.1273847602763971,0.07883555659624464,0.06744622216934679,0.8928473137199058,1.7096607812436415 +2024-05-09T20:00:00.000000,17.4053,100.5364,1,-0.8547166666666648,-0.8936167742827302,17.4053,17.7668,0.03541666666666288,0.15589684675268942,100.5364,100.2765,1.2059056163070674,0,0.2863414443966614,0.40196519317153445,0.9091106160920635,0.9091023458449256,0.1266795938037943,0.1282767915346705,0.8928473137199058,1.2059056163070674 +2024-05-09T21:00:00.000000,17.4053,100.5364,1,-0.5387000000000022,-0.6330181356636441,17.4053,18.6752,0.08906666666666752,0.5889208260505331,100.5364,100.1254,1.422455845103414,0,0.154400417475157,0.2655090139545981,0.9091106160920635,0.6142068293821815,0.23445423045266833,0.3737069187613763,0.8928473137199058,1.422455845103414 +2024-05-09T22:00:00.000000,19.9709,100.8255,0,2.340133333333334,4.2372358048085585,17.4053,18.3568,0.34995000000000687,2.3478469884606703,100.5364,100.5209,2.28468176238506,0,1.0475495630191092,2.28468176238506,0.9091106160920635,0.7175695907667454,0.7585289081366443,1.370634323388483,0.8928473137199058,0.8556417121520242 +2024-05-09T23:00:00.000000,20.0709,100.7779,0,2.238000000000003,2.136715795271578,19.9709,20.6558,0.1933166666666608,1.6379356351055543,100.8255,100.7938,1.1847952227278018,0,1.0049075814266313,1.1847952227278018,0.11661856758469447,0.028758890461620987,0.4438765206790137,0.9682694611557909,0.3830172747197722,0.4645327946237338 +2024-05-10T00:00:00.000000,21.8622,100.9566,0,3.5850333333333353,2.6534964414367392,20.0709,21.0535,0.33176666666665255,2.407162889132606,100.7779,101.3248,1.5673113406086345,0,1.5673113406086345,1.455394919037162,0.08572941695687328,0.15786495265584527,0.7220013751810535,1.4042534986408226,0.46696023513626256,0.2964742966460119 +2024-05-10T01:00:00.000000,22.2601,101.0202,0,3.240116666666669,1.7120498248985652,21.8622,22.7883,0.32533333333333303,1.7759015634812143,100.9566,101.2384,1.4233041916111888,0,1.4233041916111888,0.9624291502585731,0.46758793823927963,0.7210361789433486,0.7090777934021244,1.0464660437309523,0.15182143206010087,0.17264941399873274 +2024-05-10T02:00:00.000000,23.2852,101.1291,0,3.456083333333332,1.652458188954145,22.2601,22.83,0.3535999999999859,1.7273720329171034,101.0202,101.4742,1.5134730554289646,0,1.5134730554289646,0.931225430249321,0.5904958685873783,0.734573324514128,0.7658611993531607,1.0189603871621975,0.039662350495202614,0.5105881562236047 +2024-05-10T03:00:00.000000,24.1858,101.5738,0,3.3766999999999996,1.6032742734703527,23.2852,24.3792,0.6995166666666819,3.3436877991845204,101.1291,101.5827,1.9350588092329264,0,1.480329491733636,0.905471461535551,0.9071405516731683,1.2374928908990726,1.4607548258357257,1.9350588092329264,0.1523836240710693,0.6660858387147037 +2024-05-10T04:00:00.000000,23.8115,101.5669,0,1.8723166666666664,1.1058648913596596,24.1858,25.5303,0.5197166666666675,1.8047765047046942,101.5738,101.7101,1.6111765423744846,0,0.8522300817333244,0.6450150595023317,1.1853282422273221,1.6111765423744846,1.0995641516611232,1.0628318360125568,0.9366154412393903,0.8486702142848787 +2024-05-10T05:00:00.000000,24.3824,101.5909,0,1.8031166666666678,1.188648195170968,23.8115,24.6243,0.4201500000000067,1.2737954757281906,101.5669,101.4362,1.3170601422035846,0,0.8233381908110059,0.6883625359162728,1.0697101514273886,1.3170601422035846,0.8995499611236021,0.7618814320465117,0.9244472389941405,0.4561281383926286 +2024-05-10T06:00:00.000000,25.2984,101.8866,0,2.0005333333333333,1.9309742305826372,24.3824,25.8622,0.5803500000000099,1.921712140633343,101.5909,101.9322,1.718921832900668,0,0.9057621908049529,1.0770636245416596,1.2460563123616177,1.718921832900668,1.2213672358887182,1.1291088307643045,0.9667714207167398,1.166974686923318 +2024-05-10T07:00:00.000000,25.4068,101.2942,0,1.5362333333333353,1.4865506734967446,25.2984,24.4924,-0.16705000000000325,-0.5148366551295182,101.8866,101.7362,1.529000932112456,0,0.7119109631281795,0.8443519692724855,1.529000932112456,1.2742412093310214,0.28004494363342386,0.251882776000355,1.4882406096905731,0.886075647584578 +2024-05-10T08:00:00.000000,25.9704,101.6237,0,1.5753833333333347,1.8949128989275383,25.4068,23.5734,0.11678333333333057,0.4431261103680438,101.2942,101.4305,1.5624847713930134,0,0.7282565921687687,1.058180979715866,1.5624847713930134,0.9759045959126355,0.29013277060396964,0.29107312172095234,0.44353872417112306,0.4479591357179751 +2024-05-10T09:00:00.000000,23.5113,101.4638,0,-1.3312500000000007,-1.5901612214533918,25.9704,24.0532,-0.12555000000000405,-0.6665394708149831,101.6237,101.1252,1.7365760243314114,0,0.48530024623937673,0.76669385951968,1.7365760243314114,1.1316629279236712,0.1966777969246112,0.3378651768242222,1.024614469070947,0.01041588719698048 +2024-05-10T10:00:00.000000,23.1676,101.3342,0,-1.5625333333333309,-1.5998571641077788,23.5113,23.7104,-0.23681666666666956,-1.2119655233552147,101.4638,101.1613,1.0203791509053657,0,0.5818640155864426,0.7717709055684818,0.9769809212426707,1.0203791509053657,0.42019549629330133,0.6470027578070856,0.7426296083441517,0.062152904136398554 +2024-05-10T11:00:00.000000,22.1918,101.0883,0,-2.4310166666666646,-2.1660744698541556,23.1676,21.9555,-0.44393333333333374,-2.0350051507986526,101.3342,101.3413,1.113486671246725,0,0.9444669886286222,1.0682569139301528,0.8708149105348513,0.4506828256736736,0.83626117185572,1.113486671246725,0.5140790270421053,0.3201214096515804 +2024-05-10T12:00:00.000000,20.724,101.0211,0,-3.533716666666667,-2.345389219428182,22.1918,21.0826,-0.4273666666666571,-1.5312437164460093,101.0883,100.976,1.4048584354500298,0,1.4048584354500298,1.1621507490390877,0.5693985787085766,0.16731173769444696,0.802981274735796,0.8279638391727168,0.08043251514267048,0.20341134070782851 +2024-05-10T13:00:00.000000,20.1448,100.9861,0,-3.3505166666666675,-1.7068362610904733,20.724,20.0758,-0.3181166666666684,-1.4077865381053392,101.0211,100.6793,1.3283700768233122,0,1.3283700768233122,0.8277879243360827,0.11600762579342352,0.15952754673387762,0.5835147499662291,0.7579905526209351,0.03807519368060264,0.6286294272986723 +2024-05-10T14:00:00.000000,19.0739,100.7909,0,-3.5444166666666703,-1.6811884669244335,20.1448,19.3014,-0.46196666666666886,-1.7700319903358004,100.9861,100.8583,1.409325823208251,0,1.409325823208251,0.8143580767521288,0.06290233464291428,0.4109224035686958,0.8724873777749755,0.963304696129524,0.09979795869274337,0.37209408014747053 +2024-05-10T15:00:00.000000,18.3386,100.193,0,-3.130300000000002,-1.7708384322487605,19.0739,19.2847,-0.9210666666666611,-3.7546675398362814,100.7909,100.3671,2.0881600822039177,0,1.2364267832884854,0.8613011145205254,0.3936942487162472,0.41634375443277316,1.7947489935343972,2.0881600822039177,0.4440346367032046,1.0760614685311047 +2024-05-10T16:00:00.000000,16.9631,100.172,0,-3.643683333333332,-1.9882884630388078,18.3386,18.7581,-0.7302666666666653,-1.8758288461266976,100.193,100.1713,1.498435813867413,0,1.4507709345602078,0.975163568021623,0.6208221732826127,0.5872948541347564,1.4114610033647244,1.0232684325929162,1.498435813867413,1.3566738761970405 +2024-05-10T17:00:00.000000,15.6659,100.447,0,-3.906799999999997,-2.112908210646198,16.9631,17.4053,-0.26156666666666695,-0.6237010034873787,100.172,100.5364,1.5606255304153738,0,1.5606255304153738,1.0404176871666564,1.0457024401682868,1.0264567373038442,0.4699144572822877,0.31358511154132623,1.5354694728746874,0.8334277575104357 +2024-05-10T18:00:00.000000,17.4403,100.4155,0,-1.044749999999997,-0.5446165803927591,15.6659,17.4053,-0.18618333333333226,-0.48558198770466676,100.447,100.5364,1.4463965021123775,0,0.36568280766647865,0.2192196759403192,1.4463965021123775,1.0264567373038442,0.31848088115217776,0.23530176180410034,1.0505048906365784,0.8334277575104357 +2024-05-10T19:00:00.000000,17.2539,100.0957,0,-0.6838666666666633,-0.4294125583176735,17.4403,17.4053,-0.4050500000000028,-1.240950251130294,100.4155,100.5364,1.1060553791475025,0,0.2150093697712529,0.15889587392012544,0.8982994133723262,1.0264567373038442,0.7581505078912013,0.66343077511228,1.1060553791475025,0.8334277575104357 +2024-05-10T20:00:00.000000,17.0524,100.3729,0,-0.40355000000000274,-0.3438965194142839,17.2539,17.4053,0.020550000000000068,0.08010488621002661,100.0957,100.5364,1.6700251006011186,0,0.09797355247296888,0.11411746681731573,0.9558767901425838,1.0264567373038442,0.09681473642859628,0.08531928477278151,1.6700251006011186,0.8334277575104357 +2024-05-10T21:00:00.000000,18.272,100.4848,0,1.1529666666666643,1.3314917591389488,17.0524,17.4053,0.20211666666666872,1.3750009084667252,100.3729,100.5364,1.1811808017051013,0,0.5518921953898224,0.763159116082955,1.0181184286576435,1.0264567373038442,0.4615543734751155,0.819242833309622,1.1811808017051013,0.8334277575104357 +2024-05-10T22:00:00.000000,19.1581,100.5893,0,2.050166666666666,2.41939081455754,18.272,19.9709,0.25798333333332835,1.6209487143070136,100.4848,100.8255,1.3328111651603234,0,0.9264847464809319,1.3328111651603234,0.6413943476007417,0.19358142132320175,0.5737819541047984,0.9586415829502096,0.9838443044234794,0.419101674485783 +2024-05-10T23:00:00.000000,19.8146,100.749,0,2.3408333333333324,1.9826825193583042,19.1581,20.0709,0.34813333333333674,2.089444852042944,100.5893,100.7779,1.2241766853623133,0,1.0478418220313284,1.1041394203231067,0.3676855838876213,0.1611182424963911,0.7548795029192635,1.2241766853623133,0.799557763173024,0.48732001261091024 +2024-05-11T00:00:00.000000,21.1038,100.9745,0,2.9385833333333338,2.6153983655356874,19.8146,21.8622,0.5233000000000203,2.375345354727517,100.749,100.9566,1.4354457823090407,0,1.2974101428234717,1.4354457823090407,0.1648983100159788,0.42039467982825995,1.1067625197504776,1.3862198979849343,0.5179256039605701,0.23121461296891466 +2024-05-11T01:00:00.000000,21.6525,100.9113,0,2.8766999999999996,1.8427558588444486,21.1038,22.2601,0.36693333333332134,1.2056104019634335,100.9745,101.0202,1.271573054433642,0,1.271573054433642,1.0308702061572748,0.23332461987788655,0.5495656683801378,0.7926458248017798,0.7232353705600734,0.12025464652530966,0.14006574102020894 +2024-05-11T02:00:00.000000,21.769,101.449,0,2.2600999999999978,1.3083825332182102,21.6525,23.2852,0.7686999999999955,3.216175318928298,100.9113,101.1291,1.8627870512045985,0,1.0141346159552889,0.75105852841099,0.40281338937273903,0.8823457145337685,1.5997335511321873,1.8627870512045985,0.2317083250614996,0.016005204816457754 +2024-05-11T03:00:00.000000,23.069,101.5633,0,2.774000000000001,1.934099762518037,21.769,24.1858,0.7036500000000103,2.0500785615117163,101.449,101.5738,1.4690580597247866,0,1.2286944822122239,1.0787002338047977,0.43879924985414975,1.1747091030480215,1.4690580597247866,1.2018645868286726,0.7165296962818688,0.6533307292753467 +2024-05-11T04:00:00.000000,24.1203,101.5959,0,3.0258000000000003,2.133933279037978,23.069,23.8115,0.5564999999999998,1.4370807480895236,101.5633,101.5669,1.3338242240365006,0,1.3338242240365006,1.183338225347239,0.8403582080158196,1.0531994246992704,1.1734562371174877,0.8544285589628359,0.9180986117357406,0.6434419365639295 +2024-05-11T05:00:00.000000,24.0208,101.5099,0,2.0992666666666686,1.3930404012830726,24.1203,24.3824,0.3027333333333502,0.8161051946835639,101.5959,101.5909,1.2385317126215303,0,0.9469846286237925,0.7953875750936481,1.1650958485660996,1.2385317126215303,0.6636778532667564,0.5024708929596089,0.9755889585756063,0.677837737299287 +2024-05-11T06:00:00.000000,23.8652,101.6626,0,1.242633333333334,0.9602098168293675,24.0208,25.2984,0.3286166666666759,1.0681410659396824,101.5099,101.8866,1.5358944306751119,0,0.5893291831456224,0.5687462997755643,1.1343611436914183,1.5358944306751119,0.715673507418865,0.6453202475112562,0.823927307402967,1.1016226655261507 +2024-05-11T07:00:00.000000,24.201,101.9956,0,1.118199999999998,0.992991455316316,23.8652,25.4068,0.5469333333333282,2.002200876608192,101.6626,101.2942,1.571084516523374,0,0.537376664449563,0.5859116125343097,1.0862976253145291,1.571084516523374,1.1542382683580965,1.1747283845420327,1.0932149136129878,0.25261965070844317 +2024-05-11T08:00:00.000000,22.836,101.4205,0,-0.6715499999999999,-0.7108393798910106,24.201,25.9704,-0.20888333333333264,-1.0786097936633932,101.9956,101.6237,1.7540469923912767,0,0.2098670028657644,0.30625822778566664,1.1900233931227508,1.7540469923912767,0.36408170597844564,0.5714191521191386,1.6804629350140285,0.7248453316375996 +2024-05-11T09:00:00.000000,23.2082,101.345,0,-0.4771833333333326,-0.8180663170110751,22.836,23.5113,-0.2796333333333365,-1.403512746618217,101.4205,101.4638,0.9557449618611861,0,0.12871641713934653,0.36240502205164044,0.7683864870529972,0.9557449618611861,0.5062076247651669,0.7555682452232578,0.6662697304862946,0.49568330923829795 +2024-05-11T10:00:00.000000,21.5869,101.0027,0,-2.1216833333333334,-3.8158562917859986,23.2082,23.1676,-0.5855499999999978,-2.543611537500628,101.345,101.3342,1.9321252946527196,0,0.8153163394190268,1.9321252946527196,0.8833559056897469,0.8441690162334399,1.1207473749018173,1.4017555343221388,0.53312490881728,0.3099459852673589 +2024-05-11T11:00:00.000000,21.2425,101.1527,0,-2.043849999999999,-2.0842331562250473,21.5869,22.1918,-0.3366833333333261,-1.0159400719813416,101.0027,101.0883,1.0254026879100129,0,0.7828199206793274,1.0254026879100129,0.38255010656088867,0.5273933172414261,0.6208123409034076,0.5358990920277119,0.07052373300126046,0.04246765643363384 +2024-05-11T12:00:00.000000,19.3883,101.1419,0,-3.4349999999999987,-2.870577728541795,21.2425,20.724,-0.28794999999998083,-0.8043410216950061,101.1527,101.0211,1.4371530195883018,0,1.3636429561791004,1.4371530195883018,0.27616787179867397,0.05089877842150584,0.5229145348886957,0.4159685932201507,0.19400240276496034,0.13877589849263097 +2024-05-11T13:00:00.000000,18.3993,101.2605,0,-3.6778499999999994,-2.1572718212115816,19.3883,20.1448,-0.08256666666667911,-0.23365413941738206,101.1419,100.9861,1.4650359577757077,0,1.4650359577757077,1.0636476197023708,0.2965787591423779,0.1371279533433789,0.11033086063465537,0.09251363270936036,0.17495652098981068,0.1889364412317077 +2024-05-11T14:00:00.000000,18.1614,100.6768,0,-2.9487999999999985,-1.556809203889185,18.3993,19.0739,-0.5437500000000028,-3.5805294911998335,101.2605,100.7909,1.9894617987944045,0,1.1606481965485862,0.7492298815414985,0.6020724588515254,0.4847761353996899,1.0367775741204193,1.9894617987944045,0.38410851900229065,0.4686889538792718 +2024-05-11T15:00:00.000000,16.5082,100.6024,0,-3.8229000000000006,-1.9107952262934007,18.1614,18.3386,-0.4942000000000064,-2.092811945158862,100.6768,100.193,1.5255962002364365,0,1.5255962002364365,0.9345861073815147,0.6755577481951108,0.7234778893132249,0.9372392097970108,1.1462505124487747,0.6452508506427097,1.3255743396988289 +2024-05-11T16:00:00.000000,15.6571,100.2318,0,-3.557333333333336,-1.8312019564904587,16.5082,16.9631,-0.7410333333333199,-2.7261702791384796,100.6024,100.172,1.505226513594876,0,1.4147186978385005,0.892909015182397,1.186217186374244,1.1700089140759988,1.4330895884144568,1.505226513594876,0.7764558139827576,1.3556706653422668 +2024-05-11T17:00:00.000000,16.7221,100.3235,0,-1.5040333333333322,-0.7513688239754437,15.6571,15.6659,-0.52085000000001,-1.2872256254403354,100.2318,100.447,1.591121269817381,0,0.5574395124223438,0.32748049170405974,1.449114747367626,1.591121269817381,0.9907749799124373,0.6896588168544328,1.4300117200825306,0.9615521152496346 +2024-05-11T18:00:00.000000,14.1797,100.4129,0,-3.2930333333333337,-2.3530693411441743,16.7221,17.4403,-0.29325000000000045,-0.6989133843136368,100.3235,100.4155,1.3043700450817228,0,1.3043700450817228,1.1661722591699109,1.1201452931813347,1.0150946247144605,0.5335614235045595,0.35621412304582584,1.2682980757507916,1.0066966037148015 +2024-05-11T19:00:00.000000,15.4184,100.6234,0,-1.1862333333333357,-0.7518786162196247,14.1797,17.2539,0.03875000000000739,0.10447967345943267,100.4129,100.0957,1.9054710587430495,0,0.42475392087446917,0.327747432092559,1.9054710587430495,1.0756059900476345,0.1333757501659705,0.09913447151012117,1.110640498834119,1.465020648513425 +2024-05-11T20:00:00.000000,20.2094,100.3241,1,4.1015833333333305,3.0318235609078483,15.4184,17.0524,-0.1543666666666752,-0.8501229340732024,100.6234,100.3729,1.7829776159832562,0,1.7829776159832562,1.6534967721041562,1.522847149916234,1.141019295383658,0.25456606867543946,0.44191694970119916,0.7394221549754832,1.067749150020049 +2024-05-11T21:00:00.000000,13.2289,99.7037,1,-3.22025,-1.569168310318233,20.2094,18.272,-0.715983333333341,-4.464107328480982,100.3241,100.4848,2.490257670122932,0,1.2739820663587536,0.7557014289401343,0.04294794333734249,0.7450983664118809,1.3827679733529135,2.490257670122932,1.2672399712077165,0.9073787290914422 +2024-05-11T22:00:00.000000,17.4403,102.5557,1,1.537700000000001,0.6316507195925508,13.2289,19.1581,2.2857999999999947,7.4297673031927385,99.7037,100.5893,4.647355196239226,1,0.7125233153442591,0.39670426880611226,2.1991651029123696,0.45744213882751483,4.647355196239226,4.250974463957883,2.361320068736874,0.7576136800562633 +2024-05-11T23:00:00.000000,18.0048,98.5259,1,1.8049999999999997,0.7202026983034518,17.4403,19.8146,-2.1313166666666774,-2.176036615016715,102.5557,100.749,4.225955964723405,1,0.8241245067248353,0.4430723724194673,0.8982994133723262,0.24432136982950664,4.225955964723405,1.193420743863521,2.668203525965163,0.5287382893297455 +2024-05-12T00:00:00.000000,19.062,102.5169,1,2.648416666666666,1.0138758704232524,18.0048,21.1038,2.1592833333333346,1.637966991884212,98.5259,100.9745,4.438379286773366,1,1.1762618237103748,0.596847231790704,0.7239301580782784,0.17419393160573082,4.393202581513693,0.968287233608457,4.438379286773366,0.20556107825377817 +2024-05-12T01:00:00.000000,20.0158,100.0505,1,2.7884999999999955,1.099365213110655,19.062,21.6525,-0.6577833333333274,-0.414186599865196,102.5169,100.9113,2.5997794321803056,0,1.2347484188939215,0.6416116600651804,0.39737005764095695,0.35231939382843847,1.2658530832696817,0.1948361526033016,2.5997794321803056,0.296136686856896 +2024-05-12T02:00:00.000000,21.5637,101.1315,0,3.5701666666666654,1.386555127080213,20.0158,21.769,0.5186999999999955,0.32191197176991043,100.0505,101.449,1.749735642845334,0,1.5611043158729132,0.7919917179871575,0.10274933895280346,0.39013899716167183,1.0975218239706555,0.22237114935892532,1.749735642845334,0.47447256545148325 +2024-05-12T03:00:00.000000,22.3293,101.4242,0,4.110050000000001,1.4409345318420588,21.5637,23.069,0.6768333333333345,0.41881048152405076,101.1315,101.5633,1.7865125583215378,0,1.7865125583215378,0.8204661791018185,0.3753838236152345,0.8121603219102047,1.415187481791241,0.27729146489341255,0.15661604224334427,0.6382825664536176 +2024-05-12T04:00:00.000000,22.7769,101.49,0,3.040916666666668,1.5655062538816509,22.3293,24.1203,0.45588333333333253,0.29508200651093547,101.4242,101.5959,1.3401356269908706,0,1.3401356269908706,0.8856951508189101,0.6118711608218299,1.1534457209164608,0.9713327573258753,0.2071644123147648,0.6727947085018527,0.6850035291191464 +2024-05-12T05:00:00.000000,22.6073,101.8824,0,1.9818833333333323,1.0417695727336,22.7769,24.0208,1.0259000000000071,0.7389380631120511,101.49,101.5099,2.1164089760359945,0,0.8979755756936627,0.6114530948974881,0.7501309990319559,1.1211448579837848,2.1164089760359945,0.4587339642333373,0.7888335067246343,0.5617519098174552 +2024-05-12T06:00:00.000000,23.1179,101.4325,0,1.725399999999997,1.1315259214360425,22.6073,23.8652,0.01658333333334383,0.020167914933296772,101.8824,101.6626,1.4808338778891235,0,0.7908904819066751,0.6584518377508642,0.6977429995671711,1.0706321517292683,0.08884631035765425,0.05134809798103779,1.4808338778891235,0.7805951919961535 +2024-05-12T07:00:00.000000,22.0433,101.4519,0,-0.025183333333334446,-0.02220750196827708,23.1179,24.201,0.216716666666656,0.3450213953248485,101.4325,101.9956,1.2578369271992196,0,0.05999940217984719,0.05432721289912509,0.8554630026728239,1.1796435062296966,0.4908835383413234,0.23546915093477597,0.6874318213475943,1.2578369271992196 +2024-05-12T08:00:00.000000,22.9544,101.3703,0,0.5479999999999983,0.9900692546311735,22.0433,22.836,-0.0984499999999997,-0.40958438084803983,101.4519,101.4205,0.7365211152437368,0,0.29931082335264997,0.5843814727664557,0.5235281900262622,0.7365211152437368,0.14223804570029244,0.19222769844624232,0.7216438682400104,0.4336275520782563 +2024-05-12T09:00:00.000000,21.5205,101.717,0,-1.117683333333332,-2.794885741429182,22.9544,23.2082,0.20844999999999914,1.1131670738546007,101.3703,101.345,1.3975187397875466,0,0.39613341332063845,1.3975187397875466,0.8049592413963372,0.8573490668371253,0.4742770705632018,0.6708401710706582,0.5777416503831876,0.3254240955982739 +2024-05-12T10:00:00.000000,21.0506,101.2598,0,-1.4527833333333326,-2.3919885878006144,21.5205,21.5869,-0.2975500000000011,-1.4976045556112714,101.717,101.0027,1.1891497255175447,0,0.5360419775990947,1.18655138211883,0.36203971054401524,0.331023548518051,0.5421994652117391,0.8088977737394428,1.1891497255175447,0.1651460123897371 +2024-05-12T11:00:00.000000,19.4131,101.0708,0,-2.8025666666666638,-3.406900195296064,21.0506,21.2425,-0.4481833333333327,-1.9196495650711805,101.2598,101.1527,1.7179853179813216,0,1.0995938971862473,1.7179853179813216,0.2168915917438858,0.21922036063851658,0.844798771217464,1.0481052202533812,0.38287406370205734,0.0498277422062274 +2024-05-12T12:00:00.000000,19.0235,101.2521,0,-2.6598000000000006,-1.941512244208971,19.4131,19.3883,-0.13161666666665894,-0.6115969248913764,101.0708,101.1419,1.0399869757891906,0,1.0399869757891906,0.9506703314738116,0.2889182497866787,0.38271190116819775,0.2088648015037074,0.30672473961782226,0.04957113263661265,0.034349631875332784 +2024-05-12T13:00:00.000000,18.2244,100.5443,0,-2.7764999999999986,-1.8223562455700544,19.0235,18.3993,-0.8093499999999949,-3.685892916994453,101.2521,101.2605,2.04917987500752,0,1.0887107282550084,0.8882771724335166,0.4092623806326688,0.7037727397653509,1.5703273130568147,2.04917987500752,0.3692950553993909,0.20432221384253235 +2024-05-12T14:00:00.000000,16.4011,100.8724,0,-3.9633166666666675,-2.2296723183460445,18.2244,18.1614,-0.3299833333333311,-0.8524779799602435,100.5443,100.6768,1.584221966378185,0,1.584221966378185,1.1015583903216153,0.6560975832995841,0.7810026421943324,0.6073530666154885,0.4432517469394918,0.8789156039028727,0.632212323208602 +2024-05-12T15:00:00.000000,15.0124,100.472,0,-4.2597999999999985,-2.267881927661198,16.4011,16.5082,-0.6474000000000046,-1.6301997666611663,100.8724,100.6024,1.7080075751491701,0,1.7080075751491701,1.1215659288265991,1.2192994666966397,1.3176839145591592,1.244994556201594,0.8840503312730844,0.3003087696035402,0.7388393054882023 +2024-05-12T16:00:00.000000,14.7456,100.3267,0,-3.4419166666666676,-1.5818533928602199,15.0124,15.6571,-0.5852000000000004,-1.700384622066743,100.472,100.2318,1.6482571014651863,0,1.3665307535617512,0.7623436658524348,1.6482571014651863,1.5939780295541404,1.1200442784837963,0.9238298326750853,1.0064172013422208,1.2699677951766566 +2024-05-12T17:00:00.000000,14.5914,100.1294,0,-2.545283333333334,-1.2510527575383796,14.7456,16.7221,-0.6269833333333423,-1.7146652393449002,100.3267,100.3235,1.7306693553402122,0,0.9921747930995819,0.5891279076360855,1.7306693553402122,1.2482451750486114,1.2039805984834109,0.9319238271950593,1.2626548515211,1.138547173200332 +2024-05-12T18:00:00.000000,14.4276,100.1188,0,-1.9054666666666638,-1.0009985351389235,14.5914,14.1797,-0.4806833333333458,-1.1905411160392316,100.1294,100.4129,2.073589033541434,0,0.7250430973825982,0.4581930571453017,1.7783004256083115,2.073589033541434,0.9100862957484894,0.6348597928335413,1.6105948954322862,1.0104228154611332 +2024-05-12T19:00:00.000000,15.2324,100.597,0,-0.3346833333333308,-0.22574810176010932,14.4276,15.4184,0.1863999999999919,0.6540030586584609,100.1188,100.6234,1.828896854336682,0,0.06922083250884752,0.0522519032094377,1.828896854336682,1.6714676374137363,0.42998199622754013,0.4105943462314728,1.6292880756931192,0.7087429798447645 +2024-05-12T20:00:00.000000,15.1095,100.3142,0,0.04108333333333114,0.05754538583904074,15.2324,20.2094,-0.10518333333332919,-0.36181119532290107,100.597,100.3241,1.5803009700839805,0,0.08766658867000593,0.09608788520874063,1.5803009700839805,0.11615673982125994,0.15576428155183528,0.16515072450943613,0.7859787548703575,1.13768727818194 +2024-05-12T21:00:00.000000,15.7843,100.8118,0,0.9311500000000006,2.956167856525779,15.1095,13.2289,0.48545000000000016,2.583940472941694,100.3142,99.7037,2.3822489378267457,0,0.45928088125563626,1.6138814908784043,1.618263736205572,2.3822489378267457,1.030727664258181,1.5044478226490363,1.2846986961682914,2.026818727190905 +2024-05-12T22:00:00.000000,17.0782,100.4592,0,2.0963999999999974,4.21229897665283,15.7843,17.4403,0.07621666666665305,0.27954292551750254,100.8118,102.5557,2.2716241949704665,0,0.9457877583832707,2.2716241949704665,1.4098237477690378,1.0150946247144605,0.20864054767653656,0.19835714341619615,0.40717732845308846,2.0605489268606045 +2024-05-12T23:00:00.000000,17.6438,100.8774,0,2.273233333333332,2.3519989472316696,17.0782,18.0048,0.4723333333333386,1.733060188436216,100.4592,98.5259,3.714792648278521,1,1.019617951708369,1.2975230424966255,1.0101490277956655,0.8318399802371174,1.0043782889731163,1.0221843304066451,1.028990098260937,3.714792648278521 +2024-05-13T00:00:00.000000,17.6352,100.7956,0,1.7559000000000005,1.4169378463724789,17.6438,19.062,0.2658666666666534,0.9116424493620742,100.8774,102.5169,2.0049423823384527,0,0.8036246245819761,0.8079008946843671,0.8354399918447115,0.4886392536800794,0.5896183639012753,0.556619673839268,0.2914912317446737,2.0049423823384527 +2024-05-13T01:00:00.000000,19.4459,101.3136,0,3.032,2.573687082914786,17.6352,20.0158,0.6710666666666611,2.9967285358346962,100.7956,100.0505,1.7384085999662002,0,1.3364128038590204,1.4136046772025572,0.8380964587987034,0.17900545402996448,1.4036031312847017,1.7384085999662002,0.43574615111586307,1.5297994065650042 +2024-05-13T02:00:00.000000,21.2196,101.6276,0,4.103449999999999,2.6736719523449524,19.4459,21.5637,0.8656333333333208,2.4714202154870777,101.3136,101.1315,1.7944577781436026,0,1.7837569733491767,1.465959337742006,0.2787866083807529,0.3234920910302313,1.7944577781436026,1.440673384227756,0.4777507710635392,0.019444784890005732 +2024-05-13T03:00:00.000000,21.4801,101.1901,0,3.345600000000001,1.7455849315673422,21.2196,22.3293,0.20923333333334426,0.5002421726206903,101.6276,101.4242,1.467344841333577,0,1.467344841333577,0.9799889984216424,0.269094256304903,0.5720301881282899,0.4758506673083316,0.3234454685089661,1.0314921486008721,0.43893023802494985 +2024-05-13T04:00:00.000000,21.3036,101.8239,0,2.2197999999999993,1.1500015451920826,21.4801,22.7769,0.7799833333333197,1.8741073638292431,101.1901,101.49,1.6224000404180594,0,0.99730884710891,0.6681261516297021,0.3495604936903762,0.7173353765570928,1.6224000404180594,1.102127307832077,0.259957585949351,0.533232058374379 +2024-05-13T05:00:00.000000,23.3611,101.7667,0,3.5730666666666657,1.9634073085712231,21.3036,22.6073,0.49533333333333474,1.2215404631325943,101.8239,101.8824,1.5623151032092535,0,1.5623151032092535,1.0940464220191106,0.29504114283227234,0.6622778252668219,1.0505817678719696,0.7322642399215716,1.377668684940275,1.0956034003974673 +2024-05-13T06:00:00.000000,21.9079,101.596,0,1.1669833333333344,0.5942861512354077,23.3611,23.1179,0.17641666666666822,0.4465219872316538,101.7667,101.4325,1.2767960518347599,0,0.5577443341821336,0.3771392155766578,0.9305854169996844,0.8280348163565148,0.40992700792290904,0.29299784305401455,1.2767960518347599,0.45082545244593514 +2024-05-13T07:00:00.000000,22.4517,101.8,0,0.998666666666665,0.7918069432343559,21.9079,22.0433,0.2470166666666671,0.9833930011834809,101.596,101.4519,0.9757653093327897,0,0.48746995883904454,0.48056620481537154,0.48170428007619376,0.4791854966836123,0.5517515996733234,0.5972865835348204,0.9757653093327897,0.4786287247070009 +2024-05-13T08:00:00.000000,22.1594,101.5449,0,0.20540000000000447,0.24847440490736186,22.4517,22.9544,-0.08915000000000362,-0.376889434667481,101.8,101.3703,1.3355208539748589,0,0.1562709125146967,0.19606325185592674,0.6496794811902822,0.7749575189746805,0.1235557694498913,0.1736967967308767,1.3355208539748589,0.36168300220679733 +2024-05-13T09:00:00.000000,20.9476,101.337,0,-1.1630333333333347,-1.56190040122389,22.1594,21.5205,-0.28326666666666256,-1.1833104181031042,101.5449,101.717,0.8856500724150828,0,0.41506762218374904,0.7518957639866818,0.5593904939051629,0.30946799777704853,0.5135064351998999,0.6307615645615662,0.8856500724150828,0.858559006996296 +2024-05-13T10:00:00.000000,20.3653,101.3629,0,-1.6565833333333337,-1.9309223227779035,20.9476,21.0506,-0.2818500000000057,-1.4932746984968752,101.337,101.2598,0.9451251750434159,0,0.6211311014425727,0.9451251750434159,0.18507576659723107,0.15692352046986768,0.5106605687460042,0.8064436893624463,0.5190168482430886,0.20331900298775857 +2024-05-13T11:00:00.000000,20.4048,101.2342,0,-1.4606999999999992,-1.3607183846714883,20.3653,19.4131,-0.33371666666667466,-1.7117039607163889,101.3629,101.0708,0.9302454282488213,0,0.5393472878563446,0.6465516629914874,0.005208242491430853,0.37466103281914914,0.6148527617411212,0.9302454282488213,0.5646916943520461,0.067547927803162 +2024-05-13T12:00:00.000000,18.5667,100.9534,0,-2.8060833333333335,-3.0609693845639128,20.4048,19.0235,-0.5257666666666694,-2.5375802984340896,101.2342,101.2521,1.5368470090628141,0,1.1010621507952587,1.5368470090628141,0.017409456989420143,0.5011375775284022,1.0006518105465996,1.3983371375538227,0.33772826986462473,0.19228368358516534 +2024-05-13T13:00:00.000000,18.405,100.6837,0,-2.4109166666666653,-1.7108492995785887,18.5667,18.2244,-0.688366666666667,-2.407992473232444,100.9534,100.5443,1.327290317892455,0,0.9360749798491628,0.82988925495715,0.5503640207005532,0.7605508395334423,1.327290317892455,1.3248891117012036,0.1574646562897674,0.8221058064350384 +2024-05-13T14:00:00.000000,16.4338,101.1647,0,-3.707666666666668,-2.578681513546661,18.405,16.4011,-0.021316666666663764,-0.06798026478222138,100.6837,100.8724,1.4774847999866982,0,1.4774847999866982,1.284308620871615,0.6003117772657393,1.3524519790826726,0.01271101251995077,0.0013873105958624298,0.6330826483974599,0.35188654721545 +2024-05-13T15:00:00.000000,15.3718,100.5942,0,-3.8154000000000003,-2.23681571512498,16.4338,15.0124,-0.5284500000000065,-2.028900827936014,101.1647,100.472,1.803268143450586,0,1.5224648536769365,1.1052988574101978,1.2091987144413416,1.803268143450586,1.0060422164181408,1.1100268519100693,0.21516449362626,0.9257231561503173 +2024-05-13T16:00:00.000000,15.7522,100.0984,0,-2.5057000000000027,-1.2278057397755047,15.3718,14.7456,-0.9004500000000064,-2.904510905888149,100.5942,100.3267,1.8898799045605155,0,0.9756482418133333,0.5769551685960058,1.5372414941087984,1.8898799045605155,1.7533332664345,1.6063067419550603,0.7909165760713157,1.1339610664356083 +2024-05-13T17:00:00.000000,14.0389,99.96,0,-3.4501500000000025,-1.7645649368514478,15.7522,14.5914,-0.8281000000000063,-1.9602105536110275,100.0984,100.1294,1.9399381263114566,0,1.3699682762292917,0.858016150267494,1.4197391651205684,1.9399381263114566,1.6079931925939526,1.0710944519211463,1.6652636301573187,1.4167232116475141 +2024-05-13T18:00:00.000000,14.735,100.764,0,-1.6930666666666667,-0.9535517412827058,14.0389,14.4276,0.1882666666666637,0.3998464715227747,99.96,100.1188,1.9931128132297717,0,0.636363362817562,0.4333486901907351,1.9489629828270212,1.9931128132297717,0.43373184379035656,0.2665430084340525,1.9093330780909732,1.4319146903056454 +2024-05-13T19:00:00.000000,15.2555,100.5035,0,-0.5339500000000026,-0.3504285242770455,14.735,15.2324,-0.04066666666666663,-0.09114697365820669,100.764,100.597,1.7339436053067612,0,0.15241723132080723,0.11753779330452255,1.7339436053067612,1.7318491500316031,0.026160175162357552,0.011743159259587077,0.4914729903839455,0.74657836065367 +2024-05-13T20:00:00.000000,14.7227,100.4446,0,-0.5418333333333347,-0.6571492915601187,15.2555,15.1095,-0.06953333333333944,-0.157697337005515,100.5035,100.3142,1.7717463968097529,0,0.15570862448223663,0.2781447105613416,1.573165576288954,1.7717463968097529,0.08414888925862145,0.04946269656973416,0.9508667128312965,1.1518755459852772 +2024-05-13T21:00:00.000000,16.248,100.6357,0,1.2686500000000027,2.0926755049390917,14.7227,15.7843,0.24158333333333815,0.7902598434969386,100.4446,100.8118,1.737742970833983,0,0.6001914764331331,1.1617345890183532,1.737742970833983,1.5526848660864379,0.5408368648030215,0.4878222172898735,1.0547373088088532,0.4387359440722156 +2024-05-13T22:00:00.000000,15.4895,100.9939,0,0.364116666666666,0.4576485264370173,16.248,17.0782,0.5928666666666658,1.9029758916156874,100.6357,100.4592,1.2665907563078327,0,0.22253716426162265,0.30559222547699383,1.2665907563078327,1.1326437952463408,1.246511303028584,1.1184894650940453,0.7177310118426585,0.944067583209172 +2024-05-13T23:00:00.000000,17.4149,100.9855,0,2.3332999999999995,3.0673307109230166,15.4895,17.6438,0.43521666666667613,1.2444328633775947,100.9939,100.8774,1.6720892331071262,0,1.0446965583760086,1.6720892331071262,1.5008849638198536,0.9490320558019024,0.9298165878805427,0.7452392366267555,0.08604259963289358,0.3447207553955906 +2024-05-14T00:00:00.000000,18.8462,100.8109,0,3.2019333333333346,3.0952002890386785,17.4149,17.6352,0.08970000000000766,0.3809181842626188,100.9855,100.7956,1.6866824641623734,0,1.4073621583493787,1.6866824641623734,0.906145257631793,0.9518238891810074,0.23572650016149124,0.2558147989755912,0.10085606323579333,0.4619531095685983 +2024-05-14T01:00:00.000000,18.956,100.9701,0,2.6265333333333345,1.6982956063256893,18.8462,19.4459,0.24108333333333576,1.0131512914853198,100.8109,101.3136,1.1671252503045457,0,1.1671252503045457,0.9552270861015434,0.4640288446957946,0.3640131101639548,0.5398324413486937,0.614153042031351,0.40876448526768844,0.28042292296950894 +2024-05-14T02:00:00.000000,20.9297,101.2871,0,3.9834833333333357,2.2681523412447055,18.956,21.2196,0.48031666666666695,2.1306921754413892,100.9701,101.6276,1.7336693454929997,0,1.7336693454929997,1.2536187935952614,0.4301125573064475,0.21178629268717708,1.0204155834604647,1.2475549191632604,0.12801407984112623,0.7304346492570971 +2024-05-14T03:00:00.000000,21.905,101.0553,0,3.924283333333335,1.9658134161758423,20.9297,21.4801,0.1080999999999932,0.4982951771536111,101.2871,101.1901,1.7089525833166803,0,1.7089525833166803,1.095306322117787,0.17954660863485086,0.2963528735310178,0.272689283280551,0.32234194683801864,0.4310178204115066,0.10342786501883172 +2024-05-14T04:00:00.000000,22.3131,101.4318,0,3.3895499999999963,1.4589153460331472,21.905,21.3036,0.41466666666666185,2.6697353555268464,101.0553,101.8239,1.5530748039594433,0,1.4856945321722446,0.8298813979100487,0.4808084947079868,0.23905536290169752,0.8885347839078361,1.5530748039594433,0.022236765274096404,1.011763636105023 +2024-05-14T05:00:00.000000,22.4023,100.978,0,2.3414833333333327,1.2035162062563296,22.3131,23.3611,-0.11211666666667952,-0.4915953571993273,101.4318,101.7667,1.0481132053998186,0,1.0481132053998186,0.6961478106054051,0.6068671184201225,0.9069852672633177,0.16969228678514925,0.23871003042360928,0.6861973660473358,0.929786977685765 +2024-05-14T06:00:00.000000,22.5132,101.4507,0,1.62115,0.9954320711105799,22.4023,21.9079,0.36183333333332257,1.5816156845480431,100.978,101.596,0.9363483360182284,0,0.7473647647296277,0.587189582012533,0.6344202407801391,0.43523035255211223,0.782400705567687,0.9363483360182284,0.11408237002411814,0.6851468449555485 +2024-05-14T07:00:00.000000,23.7982,101.5021,0,2.294983333333331,1.6682083790763598,22.5132,22.4517,0.3066000000000031,1.3791160011361552,101.4507,101.8,1.0286988567309183,0,1.0286988567309183,0.9394726366714514,0.6686763088263926,0.6117651190123052,0.6714453946468272,0.8215751930995938,0.7195276591538854,0.9775111512060675 +2024-05-14T08:00:00.000000,23.1714,101.7069,0,0.8611499999999985,0.9249724967199261,23.7982,22.1594,0.4227333333333547,1.9169639099398892,101.5021,101.5449,1.1264176198408682,0,0.4300549800336363,0.5502951286817399,1.0656018943938892,0.5168752473015399,0.9047394823043008,1.1264176198408682,0.8101719483431172,0.6119124525565115 +2024-05-14T09:00:00.000000,21.7789,101.6752,0,-0.9049666666666702,-1.3251325001260132,23.1714,20.9476,0.32106666666666683,1.1459750027335651,101.7069,101.337,1.1713382990426282,0,0.3073214663453131,0.6279179745545022,0.871988698258708,0.12348644627825382,0.7005067132585686,0.6894351093275776,1.1713382990426282,0.31395882868649483 +2024-05-14T10:00:00.000000,21.0537,101.1747,0,-1.6091500000000032,-2.256973678390613,21.7789,20.3653,-0.28274999999999295,-1.080790230638897,101.6752,101.3629,1.1158540877160792,0,0.6013270740907144,1.1158540877160792,0.44185727576630457,0.06554664403026199,0.5124685309637601,0.572654984197481,1.1154351090173624,0.35107763031339 +2024-05-14T11:00:00.000000,20.7691,100.9258,0,-1.6838499999999996,-1.7286297873203853,21.0537,20.4048,-0.4888000000000119,-1.705959752073824,101.1747,101.2342,0.9269897151119936,0,0.6325152858233319,0.8391995776615044,0.2178491554133482,0.052723688393671864,0.9263914364903327,0.9269897151119936,0.23279956934401808,0.16663014887004923 +2024-05-14T12:00:00.000000,19.0489,100.7796,0,-3.13185,-2.6221889093297954,20.7691,18.5667,-0.6262999999999863,-2.068598366067979,100.9258,100.9534,1.3070902172287755,0,1.2370739282441146,1.3070902172287755,0.12993863272657113,0.6494293784092704,1.2026078864291239,1.1325266955679507,0.20613746527076668,0.23580071973361813 +2024-05-14T13:00:00.000000,18.3416,100.7479,0,-3.261766666666663,-1.8939276785791554,19.0489,18.405,-0.5461500000000115,-1.3885519710409269,100.7796,100.6837,1.2913158092025614,0,1.2913158092025614,0.9257538236595356,0.4014165363732019,0.7019223385722224,1.0415988067011872,0.747088749331833,0.4639622722642459,0.6223235304971847 +2024-05-14T14:00:00.000000,17.4723,100.6,0,-3.221633333333333,-1.8186705453391234,18.3416,16.4338,-0.5683499999999952,-1.3152102460385486,100.7479,101.1647,1.341836519606305,0,1.2745596258352834,0.8863472445800294,0.619895498763778,1.341836519606305,1.0861952080730988,0.7055199915749357,0.5198654622895117,0.06702564257390618 +2024-05-14T15:00:00.000000,16.6462,100.8566,0,-3.097883333333332,-1.818044674590754,17.4723,15.3718,-0.12726666666665665,-0.32589875379588107,100.6,100.5942,1.6865954787470296,0,1.2228924076035343,0.8860195224880849,0.8884148851714235,1.6865954787470296,0.20012631745109213,0.14479620486530417,0.7806882321550326,0.7505912040727856 +2024-05-14T16:00:00.000000,15.7558,100.324,0,-3.132833333333334,-1.7745787215857336,16.6462,15.7522,-0.5234333333333439,-2.6918209478820936,100.8566,100.0984,1.5631055464898438,0,1.237484482570805,0.8632596266401348,1.1435901585078507,1.5631055464898438,0.9959645010931075,1.4857579364641658,0.3281721892375814,1.461151120930691 +2024-05-14T17:00:00.000000,16.6069,100.51,0,-1.3987499999999997,-0.7811374354069851,15.7558,14.0389,-0.19564999999998633,-0.901844220914944,100.324,99.96,2.119297189329583,0,0.5134823652748755,0.34306810566116597,1.4186271556979666,2.119297189329583,0.33749796522066916,0.47123163576195976,1.2674163219649,1.6595002385045852 +2024-05-14T18:00:00.000000,16.4249,100.0889,0,-0.8870499999999986,-0.7259785404366084,16.6069,14.735,-0.5474499999999978,-2.762770192311617,100.51,100.764,1.8933210015161575,0,0.29984102734206125,0.31418548333677354,1.1557295947045847,1.8933210015161575,1.0442103076823996,1.5259706796827104,0.9394039136147551,0.507240913870147 +2024-05-14T19:00:00.000000,16.558,100.6408,0,-0.31661666666666477,-0.35019564035969997,16.4249,15.2555,0.11956666666665683,0.42486591274549246,100.0889,100.5035,1.7243501557226102,0,0.061677766574408,0.1174158492693179,1.211947848847218,1.7243501557226102,0.2957240611663538,0.2807235733357692,1.682016952089185,0.8805786676851503 +2024-05-14T20:00:00.000000,17.0211,100.638,0,0.4437500000000014,0.808796778601288,16.558,14.7227,0.13461666666667327,0.503791110612534,100.6408,100.4446,1.8973139725118549,0,0.2557851061756026,0.48946252151135045,1.170834389361589,1.8973139725118549,0.32595720714151105,0.3254569421097359,0.7087371232266088,0.9649916953231825 +2024-05-14T21:00:00.000000,17.1767,100.5359,0,0.67455,1.6197583888136469,17.0211,16.248,0.026183333333321457,0.09683660508010054,100.638,100.6357,1.4021531058665184,0,0.3521470776332791,0.9141029701629044,1.0277867328041508,1.4021531058665184,0.10813124068061214,0.09480251916008364,0.713674944427567,0.6911151319678999 +2024-05-14T22:00:00.000000,18.0278,100.4574,0,1.4372333333333316,2.869284330985094,17.1767,15.4895,0.0011333333333283235,0.005298484151961758,100.5359,100.9939,1.6483863172678743,0,0.6705771885427791,1.5683870324460696,0.9797232144272617,1.6483863172678743,0.05780962561904043,0.04292037466102829,0.8937290675057975,0.1777578059927124 +2024-05-14T23:00:00.000000,18.3084,100.773,0,1.3391666666666673,2.2552481478061663,18.0278,17.4149,0.2944999999999993,1.4428582425687555,100.4574,100.9855,1.2468618245572414,0,0.6296330926403413,1.2468618245572414,0.7168256534338797,1.0233402721364708,0.6471383470522014,0.8577031379073755,1.0321644118901119,0.1897963362500794 diff --git a/tests/test_experiment.py b/tests/test_experiment.py index e3ac27b..b603b1d 100644 --- a/tests/test_experiment.py +++ b/tests/test_experiment.py @@ -40,11 +40,30 @@ def test_run_experiment_writes_artifacts(tmp_path): r = run_experiment(ExperimentConfig(), output_dir=out) assert r.report_path is not None and r.report_path.exists() assert r.card_path is not None and r.card_path.exists() + assert r.scores_csv_path is not None and r.scores_csv_path.exists() + assert r.flagged_csv_path is not None and r.flagged_csv_path.exists() html = r.report_path.read_text(encoding="utf-8") assert "Tiny Anomaly Lab report" in html card = r.card_path.read_text(encoding="utf-8") assert "Model card" in card assert "Leakage controls" in card + assert "Local feature contribution" in card + + +def test_run_experiment_contributions_align_to_features(): + cfg = ExperimentConfig() + r = run_experiment(cfg) + assert r.contributions is not None + assert len(r.contributions) == r.feature_frame.height + assert all(len(row) == len(r.feature_columns) for row in r.contributions) + + +def test_run_experiment_mahalanobis_is_deterministic(): + cfg = ExperimentConfig(detector="mahalanobis") + a = run_experiment(cfg) + b = run_experiment(cfg) + assert a.scores == b.scores + assert a.metrics.as_dict() == b.metrics.as_dict() def test_run_experiment_rejects_bad_fraction(): diff --git a/tests/test_export.py b/tests/test_export.py new file mode 100644 index 0000000..746451a --- /dev/null +++ b/tests/test_export.py @@ -0,0 +1,111 @@ +from datetime import datetime, timedelta + +import polars as pl + +from tiny_anomaly_lab.export import export_flagged_csv, export_scores_csv + + +def _frame(n: int = 6) -> pl.DataFrame: + ts = [datetime(2024, 1, 1) + timedelta(hours=i) for i in range(n)] + return pl.DataFrame( + { + "timestamp": ts, + "temperature": [10.0, 10.1, 50.0, 10.0, 10.1, 10.0], + "pressure": [1.0] * n, + "is_anomaly": [0, 0, 1, 0, 0, 0], + "temperature_resid": [0.0, 0.1, 40.0, 0.0, 0.1, 0.0], + "pressure_resid": [0.0] * n, + } + ) + + +def test_export_scores_csv_writes_all_rows_with_contributions(tmp_path): + frame = _frame() + feat_cols = ["temperature_resid", "pressure_resid"] + scores = [0.1, 0.1, 0.9, 0.1, 0.1, 0.1] + flags = [s > 0.5 for s in scores] + contributions = [ + [0.1, 0.0], + [0.1, 0.0], + [40.0, 0.0], + [0.1, 0.0], + [0.1, 0.0], + [0.1, 0.0], + ] + out = tmp_path / "scores.csv" + path = export_scores_csv(frame, scores, flags, contributions, feat_cols, out) + assert path == out + written = pl.read_csv(out) + assert written.height == frame.height + assert set(written.columns) >= { + "timestamp", + "temperature", + "is_anomaly", + "score", + "flagged", + "contrib_temperature_resid", + "contrib_pressure_resid", + } + assert written["score"].to_list() == scores + assert written["flagged"].to_list() == [int(b) for b in flags] + + +def test_export_scores_csv_omits_contribution_columns_when_none(tmp_path): + frame = _frame() + scores = [0.1] * frame.height + flags = [False] * frame.height + out = tmp_path / "scores.csv" + export_scores_csv(frame, scores, flags, None, [], out) + written = pl.read_csv(out) + assert "contrib_temperature_resid" not in written.columns + + +def test_export_flagged_csv_writes_only_flagged_rows(tmp_path): + frame = _frame() + feat_cols = ["temperature_resid", "pressure_resid"] + scores = [0.1, 0.1, 0.9, 0.1, 0.1, 0.1] + flags = [False, False, True, False, False, False] + contributions = [ + [0.1, 0.0], + [0.1, 0.0], + [40.0, 1.0], + [0.1, 0.0], + [0.1, 0.0], + [0.1, 0.0], + ] + out = tmp_path / "flagged_rows.csv" + path = export_flagged_csv( + frame, scores, flags, contributions, feat_cols, ["temperature", "pressure"], 0.5, out + ) + assert path == out + written = pl.read_csv(out) + assert written.height == 1 + assert written["temperature"].to_list() == [50.0] + assert written["top_feature"].to_list() == ["temperature_resid"] + assert written["top_contribution"].to_list() == [40.0] + + +def test_export_flagged_csv_ignores_high_score_when_not_flagged(tmp_path): + """A calibration row whose score exceeds the threshold is not exported.""" + frame = _frame() + scores = [0.9, 0.1, 0.9, 0.1, 0.1, 0.1] + flags = [False, False, True, False, False, False] + out = tmp_path / "flagged_rows.csv" + export_flagged_csv( + frame, scores, flags, None, [], ["temperature", "pressure"], 0.5, out + ) + written = pl.read_csv(out) + assert written.height == 1 + assert written["temperature"].to_list() == [50.0] + + +def test_export_flagged_csv_empty_when_nothing_flagged(tmp_path): + frame = _frame() + scores = [0.1] * frame.height + flags = [False] * frame.height + out = tmp_path / "flagged_rows.csv" + export_flagged_csv( + frame, scores, flags, None, [], ["temperature", "pressure"], 0.5, out + ) + written = pl.read_csv(out) + assert written.height == 0 diff --git a/tests/test_model_card.py b/tests/test_model_card.py index 49d205b..725d45d 100644 --- a/tests/test_model_card.py +++ b/tests/test_model_card.py @@ -1,3 +1,5 @@ +from dataclasses import replace + from tiny_anomaly_lab.model_card import CardInput, render_card @@ -42,3 +44,9 @@ def test_render_card_markdown_tables(): text = render_card(_card()) assert "| Field | Value |" in text assert "| --- | --- |" in text + + +def test_render_card_includes_explanation_method(): + for detector in ("isolation_forest", "zscore_rule", "mahalanobis"): + card_text = render_card(replace(_card(), detector_name=detector)) + assert "Local feature contribution" in card_text diff --git a/tests/test_models.py b/tests/test_models.py index e9eabd3..c9fd81a 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -1,4 +1,5 @@ import numpy as np +import pytest from tiny_anomaly_lab.models import REGISTRY, make_detector @@ -9,7 +10,7 @@ def _calibration(): def test_registry_exposes_expected_detectors(): - assert set(REGISTRY) == {"isolation_forest", "zscore_rule"} + assert set(REGISTRY) == {"isolation_forest", "zscore_rule", "mahalanobis"} def test_isolation_forest_is_deterministic_with_seed(): @@ -42,7 +43,46 @@ def test_zscore_rule_flags_large_components(): def test_unknown_detector_raises(): - import pytest - with pytest.raises(KeyError): make_detector("nope") + + +def test_zscore_explain_marks_the_driving_feature(): + X = _calibration() + det = make_detector("zscore_rule", random_state=0) + det.fit(X) + extreme = np.array([[0.0, 0.0, 30.0]]) + contrib = det.explain_samples(extreme) + assert contrib.shape == (1, 3) + assert int(np.argmax(contrib[0])) == 2 + scores = det.score_samples(extreme) + assert scores[0] == pytest.approx(contrib[0].max()) + + +def test_isolation_forest_explain_returns_zeros(): + X = _calibration() + det = make_detector("isolation_forest", random_state=0) + det.fit(X) + contrib = det.explain_samples(X[:5]) + assert contrib.shape == (5, 3) + assert np.all(contrib == 0.0) + + +def test_mahalanobis_scores_outliers_higher(): + X = _calibration() + det = make_detector("mahalanobis", random_state=0) + det.fit(X) + normal = np.array([[0.0, 0.0, 0.0]]) + outlier = np.array([[20.0, 0.0, 0.0]]) + assert det.score_samples(outlier)[0] > det.score_samples(normal)[0] + + +def test_mahalanobis_explain_sums_to_squared_score(): + X = _calibration() + det = make_detector("mahalanobis", random_state=0) + det.fit(X) + scores = det.score_samples(X) + contrib = det.explain_samples(X) + assert contrib.shape == X.shape + row_sums = contrib.sum(axis=1) + assert np.allclose(row_sums, scores**2) diff --git a/tests/test_report.py b/tests/test_report.py index 1618386..be41e06 100644 --- a/tests/test_report.py +++ b/tests/test_report.py @@ -29,6 +29,14 @@ def _input(): ) +def _input_with_contributions(): + base = _input() + feats = ["temperature_resid", "pressure_resid"] + contributions = [[0.0, 0.0]] * 10 + contributions[3] = [40.0, 0.5] + return base, feats, contributions + + def test_render_report_writes_self_contained_html(tmp_path): out = tmp_path / "report.html" path = render_report(_input(), out) @@ -43,3 +51,24 @@ def test_render_report_creates_parent_directory(tmp_path): out = tmp_path / "nested" / "deep" / "report.html" render_report(_input(), out) assert out.exists() + + +def test_render_report_omits_contribution_panel_for_isolation_forest(tmp_path): + out = tmp_path / "report.html" + render_report(_input(), out) + html = out.read_text(encoding="utf-8") + assert "Mean abs. contribution" not in html + + +def test_render_report_adds_contribution_panel_when_available(tmp_path): + base, feats, contributions = _input_with_contributions() + out = tmp_path / "report.html" + render_report( + base.__class__( + **{**base.__dict__, "feature_columns": feats, "contributions": contributions} + ), + out, + ) + html = out.read_text(encoding="utf-8") + assert "Mean abs. contribution" in html + assert "temperature_resid" in html diff --git a/tiny_anomaly_lab/__main__.py b/tiny_anomaly_lab/__main__.py index 1bbea03..ac91d51 100644 --- a/tiny_anomaly_lab/__main__.py +++ b/tiny_anomaly_lab/__main__.py @@ -7,7 +7,7 @@ from tiny_anomaly_lab.experiment import ExperimentConfig, run_experiment -DETECTORS = ("isolation_forest", "zscore_rule") +DETECTORS = ("isolation_forest", "zscore_rule", "mahalanobis") def _build_parser() -> argparse.ArgumentParser: @@ -51,6 +51,10 @@ def main(argv: list[str] | None = None) -> int: print(f"Report: {result.report_path}") if result.card_path: print(f"Model card: {result.card_path}") + if result.scores_csv_path: + print(f"Scores: {result.scores_csv_path}") + if result.flagged_csv_path: + print(f"Flagged rows: {result.flagged_csv_path}") return 0 diff --git a/tiny_anomaly_lab/experiment.py b/tiny_anomaly_lab/experiment.py index d868486..19415df 100644 --- a/tiny_anomaly_lab/experiment.py +++ b/tiny_anomaly_lab/experiment.py @@ -20,6 +20,7 @@ from tiny_anomaly_lab.data import load_bundled, load_csv from tiny_anomaly_lab.data import value_columns as _value_cols from tiny_anomaly_lab.evaluate import Metrics, calibration_threshold, evaluate +from tiny_anomaly_lab.export import export_flagged_csv, export_scores_csv from tiny_anomaly_lab.features import FeatureSpec, build_features, feature_columns from tiny_anomaly_lab.model_card import CardInput, render_card from tiny_anomaly_lab.models import make_detector @@ -57,8 +58,12 @@ class ExperimentResult: calibration_size: int threshold: float card: str + feature_columns: list[str] + contributions: list[list[float]] | None = None report_path: Path | None = None card_path: Path | None = None + scores_csv_path: Path | None = None + flagged_csv_path: Path | None = None def _timestamps(frame: pl.DataFrame, start: int, end: int) -> tuple[str, str]: @@ -106,6 +111,8 @@ def run_experiment( ) metrics = evaluate(y_eval, scores_all[cut:], threshold) + contrib_all = detector.explain_samples(X) + flags = [False] * feats.height for i in range(cut, feats.height): flags[i] = bool(scores_all[i] > threshold) @@ -134,6 +141,8 @@ def run_experiment( report_path = None card_path = None + scores_csv_path = None + flagged_csv_path = None if output_dir is not None: out = Path(output_dir) out.mkdir(parents=True, exist_ok=True) @@ -149,8 +158,28 @@ def run_experiment( calibration_end=cal_end, evaluation_start=eval_start, threshold=threshold, + feature_columns=feat_cols, + contributions=contrib_all.tolist(), ) report_path = render_report(report_input, out / "report.html") + scores_csv_path = export_scores_csv( + feats, + scores_all.tolist(), + flags, + contrib_all.tolist(), + feat_cols, + out / "scores.csv", + ) + flagged_csv_path = export_flagged_csv( + feats, + scores_all.tolist(), + flags, + contrib_all.tolist(), + feat_cols, + vals, + threshold, + out / "flagged_rows.csv", + ) return ExperimentResult( metrics=metrics, @@ -160,6 +189,10 @@ def run_experiment( calibration_size=cut, threshold=threshold, card=card, + feature_columns=feat_cols, + contributions=contrib_all.tolist(), report_path=report_path, card_path=card_path, + scores_csv_path=scores_csv_path, + flagged_csv_path=flagged_csv_path, ) diff --git a/tiny_anomaly_lab/export.py b/tiny_anomaly_lab/export.py new file mode 100644 index 0000000..d13fcbc --- /dev/null +++ b/tiny_anomaly_lab/export.py @@ -0,0 +1,99 @@ +"""Write the experiment rows, scores and contributions to CSV. + +The lab ships two artifacts next to the report and the model card: + +- `scores.csv`: every feature-frame row with its score, flag and per-feature + contribution columns. Use it to reproduce plots outside the browser. +- `flagged_rows.csv`: the evaluation rows the detector flagged. Each row keeps + the raw value columns, the score, the dominant feature and its contribution. + +Both functions write with Polars and return the path they wrote to. They never +read the evaluation window to pick a threshold; they only record what the +experiment already produced. +""" + +from __future__ import annotations + +from pathlib import Path + +import polars as pl + + +def _contribution_columns(feature_columns: list[str]) -> list[str]: + return [f"contrib_{c}" for c in feature_columns] + + +def export_scores_csv( + frame: pl.DataFrame, + scores: list[float], + flags: list[bool], + contributions: list[list[float]] | None, + feature_columns: list[str], + out_path: str | Path, +) -> Path: + """Write all rows with score, flag and per-feature contributions.""" + out_path = Path(out_path) + out_path.parent.mkdir(parents=True, exist_ok=True) + cols = ["timestamp", *frame.columns[1:]] + df = frame.select([c for c in cols if c in frame.columns]) + df = df.with_columns( + pl.Series("score", scores), + pl.Series("flagged", [int(b) for b in flags]), + ) + if contributions is not None and feature_columns: + columns = {feat: [row[k] for row in contributions] for k, feat in enumerate(feature_columns)} + for name, feat in zip( + _contribution_columns(feature_columns), feature_columns, strict=True + ): + df = df.with_columns(pl.Series(name, columns[feat])) + df.write_csv(out_path) + return out_path + + +def export_flagged_csv( + frame: pl.DataFrame, + scores: list[float], + flags: list[bool], + contributions: list[list[float]] | None, + feature_columns: list[str], + value_columns: list[str], + threshold: float, + out_path: str | Path, +) -> Path: + """Write the flagged evaluation rows with their dominant contributor. + + The `flags` list is the experiment's evaluation-only flag vector, so + calibration rows are never exported here even if their score exceeds the + threshold. + """ + out_path = Path(out_path) + out_path.parent.mkdir(parents=True, exist_ok=True) + flagged_idx = [i for i, b in enumerate(flags) if b] + n = len(flagged_idx) + keep = ["timestamp", *value_columns, "is_anomaly"] + + def _slice(values: list) -> list: + return [values[i] for i in flagged_idx] + + columns: dict[str, list] = {} + for c in keep: + if c in frame.columns: + columns[c] = _slice(frame[c].to_list()) + columns["score"] = _slice(scores) + columns["threshold"] = [threshold] * n + if contributions is not None and feature_columns: + top_feature: list[str] = [] + top_contribution: list[float] = [] + for i in flagged_idx: + row = contributions[i] + j = int(max(range(len(feature_columns)), key=lambda k: abs(row[k]))) + top_feature.append(feature_columns[j]) + top_contribution.append(float(row[j])) + columns["top_feature"] = top_feature + columns["top_contribution"] = top_contribution + if not columns: + pl.DataFrame().write_csv(out_path) + return out_path + df = pl.DataFrame(columns) + df.write_csv(out_path) + return out_path diff --git a/tiny_anomaly_lab/model_card.py b/tiny_anomaly_lab/model_card.py index 30eb9cd..207559e 100644 --- a/tiny_anomaly_lab/model_card.py +++ b/tiny_anomaly_lab/model_card.py @@ -50,8 +50,25 @@ class CardInput: "Isolation Forest scores shift when the random state or scikit-learn version changes.", "Causal rolling features lag true change points by the window length.", "The detector assumes the calibration window is close to normal operation.", + "Mahalanobis contributions are signed; correlated features can offset each other.", ] +EXPLANATION_METHODS: dict[str, str] = { + "isolation_forest": ( + "No native additive decomposition ships with the lab. The contribution " + "panel is omitted for this detector." + ), + "zscore_rule": ( + "Per-feature contribution is the absolute standardised residual. The " + "largest value marks the feature that drove the row score." + ), + "mahalanobis": ( + "Per-feature contribution equals deviation times precision-weighted " + "deviation. Row contributions sum to the squared Mahalanobis distance. " + "Negative values show features that offset the distance through correlation." + ), +} + def _table(rows: Iterable[tuple[str, str]]) -> str: lines = ["| Field | Value |", "| --- | --- |"] @@ -119,6 +136,13 @@ def render_card(card: CardInput) -> str: "", _table(metrics_rows), "", + "## Local feature contribution", + "", + EXPLANATION_METHODS.get( + card.detector_name, + "This detector ships no per-feature contribution method.", + ), + "", "## Intended use", "", INTENDED_USE, diff --git a/tiny_anomaly_lab/models.py b/tiny_anomaly_lab/models.py index e3f3761..9c1851f 100644 --- a/tiny_anomaly_lab/models.py +++ b/tiny_anomaly_lab/models.py @@ -3,9 +3,25 @@ Each detector exposes a uniform interface: fit(X) - learn parameters from a calibration frame score_samples(X) - return larger-is-more-anomalous scores (float array) + explain_samples(X) - return per-feature contributions to the score -A `StandardScaler` is fit on the calibration frame only, so detectors that rely +A `StandardScaler` is fit on the calibration frame only. Detectors that rely on scaled features never see the evaluation window during fitting. + +Local feature contribution +-------------------------- +`explain_samples` returns an array shaped `(n_rows, n_features)` that +attributes the row score to the input feature columns. Two semantics ship +with the lab: + +- `zscore_rule`: the absolute standardised residual per feature. The largest + contribution marks the feature that drove the score. +- `mahalanobis`: a signed exact decomposition whose row sum equals the squared + Mahalanobis distance. Negative values show features that offset the distance + through correlation. + +`isolation_forest` has no native additive decomposition in this lab. Its +`explain_samples` returns zeros, so reports skip its contribution panel. """ from __future__ import annotations @@ -14,6 +30,7 @@ from typing import Protocol import numpy as np +from sklearn.covariance import LedoitWolf from sklearn.ensemble import IsolationForest from sklearn.preprocessing import StandardScaler @@ -25,6 +42,8 @@ def fit(self, X: np.ndarray) -> Detector: ... def score_samples(self, X: np.ndarray) -> np.ndarray: ... + def explain_samples(self, X: np.ndarray) -> np.ndarray: ... + @dataclass class IsolationForestDetector: @@ -53,6 +72,10 @@ def score_samples(self, X: np.ndarray) -> np.ndarray: # sklearn's decision_function grows with normality; invert it. return -self._model.decision_function(self._scaler.transform(X)) + def explain_samples(self, X: np.ndarray) -> np.ndarray: + # The forest has no native additive per-feature attribution here. + return np.zeros((X.shape[0], X.shape[1]), dtype=float) + @dataclass class ZscoreDetector: @@ -77,10 +100,49 @@ def score_samples(self, X: np.ndarray) -> np.ndarray: scaled = self._scaler.transform(X) return np.max(np.abs(scaled), axis=1) + def explain_samples(self, X: np.ndarray) -> np.ndarray: + # Per-feature anomaly evidence. The score is the max of these values. + scaled = self._scaler.transform(X) + return np.abs(scaled) + + +@dataclass +class MahalanobisDetector: + """Correlation-aware multivariate distance from the calibration norm. + + The score is the Mahalanobis distance under a shrinkage estimate of the + covariance matrix. The shrinkage keeps the estimate stable on the small + calibration windows the lab targets. The detector is explainable: the + squared distance decomposes exactly into signed per-feature contributions + that capture how each feature pulls the row toward, or away from, the norm. + """ + + random_state: int = 0 + name: str = "mahalanobis" + + def __post_init__(self) -> None: + self._cov = LedoitWolf(assume_centered=False) + + def fit(self, X: np.ndarray) -> MahalanobisDetector: + self._cov.fit(X) + return self + + def score_samples(self, X: np.ndarray) -> np.ndarray: + squared = self._cov.mahalanobis(X) + return np.sqrt(np.maximum(squared, 0.0)) + + def explain_samples(self, X: np.ndarray) -> np.ndarray: + precision = self._cov.get_precision() + deviation = X - self._cov.location_ + # d^T S^-1 d = sum_i d_i * (S^-1 d)_i, so the row sum equals the squared score. + projected = deviation @ precision + return deviation * projected + REGISTRY: dict[str, type] = { "isolation_forest": IsolationForestDetector, "zscore_rule": ZscoreDetector, + "mahalanobis": MahalanobisDetector, } diff --git a/tiny_anomaly_lab/report.py b/tiny_anomaly_lab/report.py index 360c423..afbffb8 100644 --- a/tiny_anomaly_lab/report.py +++ b/tiny_anomaly_lab/report.py @@ -1,8 +1,10 @@ """Render a self-contained Plotly HTML report from an experiment run. -The report contains two stacked panels: +The report contains two or three stacked panels: - the value series with true anomalies marked; - - the anomaly score series with flagged evaluation points marked. + - the anomaly score series with flagged evaluation points marked; + - when the detector supplies per-feature contributions, a bar chart of the + mean absolute contribution per feature over the flagged evaluation rows. Plotly offline writes the file with no external network call. """ @@ -28,12 +30,24 @@ class ReportInput: calibration_end: str evaluation_start: str threshold: float + feature_columns: list[str] | None = None + contributions: list[list[float]] | None = None def _row_axis(note: str) -> list[dict]: return [{"text": note, "showarrow": False, "xref": "paper", "yref": "paper"}] +def _has_useful_contributions(contributions: list[list[float]] | None) -> bool: + if not contributions: + return False + total = 0.0 + for row in contributions: + for v in row: + total += abs(v) + return total > 0.0 + + def render_report(data: ReportInput, out_path: str | Path) -> Path: """Write a self-contained HTML report and return its path.""" out_path = Path(out_path) @@ -43,13 +57,19 @@ def render_report(data: ReportInput, out_path: str | Path) -> Path: pl.Series("score", data.scores), pl.Series("flagged", [int(b) for b in data.flags]), ) + show_contrib = _has_useful_contributions(data.contributions) and bool(data.feature_columns) + n_rows = 3 if show_contrib else 2 + row_heights = [0.5, 0.3, 0.2] if show_contrib else [0.62, 0.38] + subplot_titles = ["Sensor values and labelled anomalies", "Anomaly score"] + if show_contrib: + subplot_titles.append("Mean abs. contribution per feature (flagged rows)") fig = make_subplots( - rows=2, + rows=n_rows, cols=1, - shared_xaxes=True, - vertical_spacing=0.12, - row_heights=[0.62, 0.38], - subplot_titles=("Sensor values and labelled anomalies", "Anomaly score"), + shared_xaxes=False, + vertical_spacing=0.10, + row_heights=row_heights, + subplot_titles=tuple(subplot_titles), ) for col in data.value_columns: @@ -113,20 +133,44 @@ def render_report(data: ReportInput, out_path: str | Path) -> Path: annotation_position="top left", ) if data.calibration_end and data.evaluation_start: - fig.add_vrect( - x0=data.calibration_end, - x1=data.evaluation_start, - fillcolor="lightgray", - opacity=0.25, - line_width=0, - annotation_text="split", - annotation_position="top left", + for split_row in (1, 2): + fig.add_vrect( + x0=data.calibration_end, + x1=data.evaluation_start, + fillcolor="lightgray", + opacity=0.25, + line_width=0, + annotation_text="split" if split_row == 1 else "", + annotation_position="top left", + layer="below", + row=split_row, + col=1, + ) + + if show_contrib: + flagged_idx = [i for i, b in enumerate(data.flags) if b] + feats = data.feature_columns or [] + means = [0.0] * len(feats) + if flagged_idx: + for j in range(len(feats)): + means[j] = sum(abs(data.contributions[i][j]) for i in flagged_idx) / len(flagged_idx) + fig.add_trace( + go.Bar( + x=feats, + y=means, + name="mean |contribution|", + marker={"color": "steelblue"}, + showlegend=False, + ), + row=3, + col=1, ) metric_text = " ".join(f"{k}={v}" for k, v in data.metrics.items()) + height = 820 if show_contrib else 720 fig.update_layout( title=f"Tiny Anomaly Lab report - {data.detector_name}", - height=720, + height=height, template="simple_white", legend={"orientation": "h", "y": -0.18}, annotations=[ @@ -146,7 +190,7 @@ def render_report(data: ReportInput, out_path: str | Path) -> Path: ), ], ) - fig.update_xaxes(matches="x") + fig.update_xaxes(matches="x", row=2, col=1) html = fig.to_html( full_html=True, include_plotlyjs="cdn",