diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..84438d22f10c80452867da9a52d74eb5d19e8728
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,18 @@
+FROM python:3.10
+
+RUN useradd -m -u 1000 user && python -m pip install --upgrade pip
+USER user
+ENV PATH="/home/user/.local/bin:$PATH"
+
+WORKDIR /app
+
+COPY --chown=user ./requirements.txt requirements.txt
+RUN pip install --no-cache-dir --upgrade -r requirements.txt
+
+COPY --chown=user . /app
+ENV MCP_TRANSPORT=http
+ENV MCP_PORT=7860
+
+EXPOSE 7860
+
+CMD ["python", "backtrader/mcp_output/start_mcp.py"]
diff --git a/README.md b/README.md
index 5bc890ce912f564dd2a8da6a2e7af01af0363072..0a8be3a681bf0032509c00de7b0e947554f79bd9 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,32 @@
---
-title: Backtrader
-emoji: 🏆
-colorFrom: gray
-colorTo: green
+title: Backtrader MCP
+emoji: 🤖
+colorFrom: blue
+colorTo: purple
sdk: docker
+sdk_version: "4.26.0"
+app_file: app.py
pinned: false
---
-Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
+# Backtrader MCP Service
+
+Auto-generated MCP service for backtrader.
+
+## Usage
+
+```
+https://None-backtrader-mcp.hf.space/mcp
+```
+
+## Connect with Cursor
+
+```json
+{
+ "mcpServers": {
+ "backtrader": {
+ "url": "https://None-backtrader-mcp.hf.space/mcp"
+ }
+ }
+}
+```
diff --git a/app.py b/app.py
new file mode 100644
index 0000000000000000000000000000000000000000..81820f9f2e073a03a125342e2762550e373e8317
--- /dev/null
+++ b/app.py
@@ -0,0 +1,45 @@
+from fastapi import FastAPI
+import os
+import sys
+
+mcp_plugin_path = os.path.join(os.path.dirname(__file__), "backtrader", "mcp_output", "mcp_plugin")
+sys.path.insert(0, mcp_plugin_path)
+
+app = FastAPI(
+ title="Backtrader MCP Service",
+ description="Auto-generated MCP service for backtrader",
+ version="1.0.0"
+)
+
+@app.get("/")
+def root():
+ return {
+ "service": "Backtrader MCP Service",
+ "version": "1.0.0",
+ "status": "running",
+ "transport": os.environ.get("MCP_TRANSPORT", "http")
+ }
+
+@app.get("/health")
+def health_check():
+ return {"status": "healthy", "service": "backtrader MCP"}
+
+@app.get("/tools")
+def list_tools():
+ try:
+ from mcp_service import create_app
+ mcp_app = create_app()
+ tools = []
+ for tool_name, tool_func in mcp_app.tools.items():
+ tools.append({
+ "name": tool_name,
+ "description": tool_func.__doc__ or "No description available"
+ })
+ return {"tools": tools}
+ except Exception as e:
+ return {"error": f"Failed to load tools: {str(e)}"}
+
+if __name__ == "__main__":
+ import uvicorn
+ port = int(os.environ.get("PORT", 7860))
+ uvicorn.run(app, host="0.0.0.0", port=port)
diff --git a/backtrader/mcp_output/README_MCP.md b/backtrader/mcp_output/README_MCP.md
new file mode 100644
index 0000000000000000000000000000000000000000..da4a266fb45a6111a2a541d44f17b473c7a230aa
--- /dev/null
+++ b/backtrader/mcp_output/README_MCP.md
@@ -0,0 +1,78 @@
+# Backtrader MCP (Model Context Protocol) Service
+
+## Project Introduction
+
+Backtrader is a comprehensive Python framework designed for developing, testing, and executing financial trading strategies. It provides a complete environment for backtesting strategies against historical data, optimizing parameters, and running strategies in live trading environments. The framework supports both backtesting on historical data and live trading through various broker integrations.
+
+## Installation Method
+
+To install Backtrader, ensure you have Python 3.2 or above. The basic installation can be done via pip:
+
+- Basic installation:
+ pip install backtrader
+
+- With plotting support:
+ pip install backtrader[plotting]
+
+### Dependencies
+
+- Required: numpy, pandas, matplotlib
+- Optional: scipy, pyfolio
+- For specific functionalities:
+ - IbPy for Interactive Brokers integration
+ - oandapy for Oanda integration
+ - pytz for timezone support
+ - pandas/blaze for additional data handling
+
+## Quick Start
+
+To get started with Backtrader, you can create a simple strategy and run it using the Cerebro engine. Here's a brief example of how to set up and execute a strategy:
+
+1. Create a strategy class inheriting from `bt.Strategy`.
+2. Define the `__init__` method to initialize indicators.
+3. Implement the `next` method to define the trading logic.
+4. Instantiate a `Cerebro` object, add your strategy, and run it.
+
+Example:
+
+```python
+import backtrader as bt
+
+class MyStrategy(bt.Strategy):
+ def __init__(self):
+ self.sma = bt.indicators.SimpleMovingAverage(self.data.close, period=15)
+
+ def next(self):
+ if self.data.close[0] > self.sma[0]:
+ self.buy()
+ elif self.data.close[0] < self.sma[0]:
+ self.sell()
+
+cerebro = bt.Cerebro()
+cerebro.addstrategy(MyStrategy)
+cerebro.run()
+```
+
+## Available Tools and Endpoints List
+
+- **Cerebro**: The central orchestrator that manages the entire backtesting or live trading process.
+- **Strategy**: Contains the trading logic defined by the user.
+- **Data Feed**: Provides market data from various sources.
+- **Broker**: Simulates or connects to real brokers for order execution.
+- **Indicator**: Technical analysis tools for trading signals or visualization.
+- **Analyzer**: Evaluates strategy performance with metrics.
+- **Observer**: Monitors and records the state of the system during execution.
+
+## Common Issues and Notes
+
+- Ensure all dependencies are installed, especially if using optional features like plotting or specific broker integrations.
+- Performance can vary based on the complexity of strategies and the volume of data processed.
+- For live trading, ensure proper configuration of broker connections and API keys.
+
+## Reference Links or Documentation
+
+- [Backtrader GitHub Repository](https://github.com/mementum/backtrader)
+- [Backtrader Documentation](https://www.backtrader.com/docu/)
+- [Backtrader Community](https://community.backtrader.com/)
+
+For more detailed information about specific subsystems, refer to the respective documentation pages.
\ No newline at end of file
diff --git a/backtrader/mcp_output/analysis.json b/backtrader/mcp_output/analysis.json
new file mode 100644
index 0000000000000000000000000000000000000000..3ec5e7474b4b24b73676fed8f9f9202ccbb4a75e
--- /dev/null
+++ b/backtrader/mcp_output/analysis.json
@@ -0,0 +1,4770 @@
+{
+ "summary": {
+ "repository_url": "https://github.com/mementum/backtrader",
+ "summary": "Imported via zip fallback, file count: 367",
+ "file_tree": {
+ ".github/FUNDING.yml": {
+ "size": 720
+ },
+ ".travis.yml": {
+ "size": 368
+ },
+ "backtrader/__init__.py": {
+ "size": 2578
+ },
+ "backtrader/analyzer.py": {
+ "size": 14440
+ },
+ "backtrader/analyzers/__init__.py": {
+ "size": 1527
+ },
+ "backtrader/analyzers/annualreturn.py": {
+ "size": 2818
+ },
+ "backtrader/analyzers/calmar.py": {
+ "size": 3821
+ },
+ "backtrader/analyzers/drawdown.py": {
+ "size": 6513
+ },
+ "backtrader/analyzers/leverage.py": {
+ "size": 2397
+ },
+ "backtrader/analyzers/logreturnsrolling.py": {
+ "size": 5020
+ },
+ "backtrader/analyzers/periodstats.py": {
+ "size": 3555
+ },
+ "backtrader/analyzers/positions.py": {
+ "size": 2790
+ },
+ "backtrader/analyzers/pyfolio.py": {
+ "size": 5933
+ },
+ "backtrader/analyzers/returns.py": {
+ "size": 4698
+ },
+ "backtrader/analyzers/sharpe.py": {
+ "size": 7383
+ },
+ "backtrader/analyzers/sqn.py": {
+ "size": 2623
+ },
+ "backtrader/analyzers/timereturn.py": {
+ "size": 5210
+ },
+ "backtrader/analyzers/tradeanalyzer.py": {
+ "size": 7116
+ },
+ "backtrader/analyzers/transactions.py": {
+ "size": 3562
+ },
+ "backtrader/analyzers/vwr.py": {
+ "size": 5460
+ },
+ "backtrader/broker.py": {
+ "size": 5504
+ },
+ "backtrader/brokers/__init__.py": {
+ "size": 1548
+ },
+ "backtrader/brokers/bbroker.py": {
+ "size": 46016
+ },
+ "backtrader/brokers/ibbroker.py": {
+ "size": 21489
+ },
+ "backtrader/brokers/oandabroker.py": {
+ "size": 12811
+ },
+ "backtrader/brokers/vcbroker.py": {
+ "size": 15907
+ },
+ "backtrader/btrun/__init__.py": {
+ "size": 1044
+ },
+ "backtrader/btrun/btrun.py": {
+ "size": 25093
+ },
+ "backtrader/cerebro.py": {
+ "size": 63590
+ },
+ "backtrader/comminfo.py": {
+ "size": 11691
+ },
+ "backtrader/commissions/__init__.py": {
+ "size": 1796
+ },
+ "backtrader/dataseries.py": {
+ "size": 6498
+ },
+ "backtrader/errors.py": {
+ "size": 1890
+ },
+ "backtrader/feed.py": {
+ "size": 26027
+ },
+ "backtrader/feeds/__init__.py": {
+ "size": 1674
+ },
+ "backtrader/feeds/blaze.py": {
+ "size": 2877
+ },
+ "backtrader/feeds/btcsv.py": {
+ "size": 2266
+ },
+ "backtrader/feeds/chainer.py": {
+ "size": 3489
+ },
+ "backtrader/feeds/csvgeneric.py": {
+ "size": 5624
+ },
+ "backtrader/feeds/ibdata.py": {
+ "size": 27438
+ },
+ "backtrader/feeds/influxfeed.py": {
+ "size": 4060
+ },
+ "backtrader/feeds/mt4csv.py": {
+ "size": 1704
+ },
+ "backtrader/feeds/oanda.py": {
+ "size": 16545
+ },
+ "backtrader/feeds/pandafeed.py": {
+ "size": 8735
+ },
+ "backtrader/feeds/quandl.py": {
+ "size": 6851
+ },
+ "backtrader/feeds/rollover.py": {
+ "size": 6892
+ },
+ "backtrader/feeds/sierrachart.py": {
+ "size": 1420
+ },
+ "backtrader/feeds/vcdata.py": {
+ "size": 22443
+ },
+ "backtrader/feeds/vchart.py": {
+ "size": 4598
+ },
+ "backtrader/feeds/vchartcsv.py": {
+ "size": 2777
+ },
+ "backtrader/feeds/vchartfile.py": {
+ "size": 4662
+ },
+ "backtrader/feeds/yahoo.py": {
+ "size": 10867
+ },
+ "backtrader/fillers.py": {
+ "size": 3754
+ },
+ "backtrader/filters/__init__.py": {
+ "size": 1242
+ },
+ "backtrader/filters/bsplitter.py": {
+ "size": 3932
+ },
+ "backtrader/filters/calendardays.py": {
+ "size": 3933
+ },
+ "backtrader/filters/datafiller.py": {
+ "size": 6343
+ },
+ "backtrader/filters/datafilter.py": {
+ "size": 2743
+ },
+ "backtrader/filters/daysteps.py": {
+ "size": 3135
+ },
+ "backtrader/filters/heikinashi.py": {
+ "size": 1944
+ },
+ "backtrader/filters/renko.py": {
+ "size": 4627
+ },
+ "backtrader/filters/session.py": {
+ "size": 8533
+ },
+ "backtrader/flt.py": {
+ "size": 1512
+ },
+ "backtrader/functions.py": {
+ "size": 7219
+ },
+ "backtrader/indicator.py": {
+ "size": 5584
+ },
+ "backtrader/indicators/__init__.py": {
+ "size": 2548
+ },
+ "backtrader/indicators/accdecoscillator.py": {
+ "size": 2166
+ },
+ "backtrader/indicators/aroon.py": {
+ "size": 6378
+ },
+ "backtrader/indicators/atr.py": {
+ "size": 3661
+ },
+ "backtrader/indicators/awesomeoscillator.py": {
+ "size": 2173
+ },
+ "backtrader/indicators/basicops.py": {
+ "size": 13527
+ },
+ "backtrader/indicators/bollinger.py": {
+ "size": 2713
+ },
+ "backtrader/indicators/cci.py": {
+ "size": 2416
+ },
+ "backtrader/indicators/contrib/__init__.py": {
+ "size": 1158
+ },
+ "backtrader/indicators/contrib/vortex.py": {
+ "size": 1953
+ },
+ "backtrader/indicators/crossover.py": {
+ "size": 4245
+ },
+ "backtrader/indicators/dema.py": {
+ "size": 2843
+ },
+ "backtrader/indicators/deviation.py": {
+ "size": 3596
+ },
+ "backtrader/indicators/directionalmove.py": {
+ "size": 13343
+ },
+ "backtrader/indicators/dma.py": {
+ "size": 2873
+ },
+ "backtrader/indicators/dpo.py": {
+ "size": 2401
+ },
+ "backtrader/indicators/dv2.py": {
+ "size": 1781
+ },
+ "backtrader/indicators/ema.py": {
+ "size": 2025
+ },
+ "backtrader/indicators/envelope.py": {
+ "size": 3996
+ },
+ "backtrader/indicators/hadelta.py": {
+ "size": 2282
+ },
+ "backtrader/indicators/heikinashi.py": {
+ "size": 2419
+ },
+ "backtrader/indicators/hma.py": {
+ "size": 2579
+ },
+ "backtrader/indicators/hurst.py": {
+ "size": 3307
+ },
+ "backtrader/indicators/ichimoku.py": {
+ "size": 3138
+ },
+ "backtrader/indicators/kama.py": {
+ "size": 3378
+ },
+ "backtrader/indicators/kst.py": {
+ "size": 3008
+ },
+ "backtrader/indicators/lrsi.py": {
+ "size": 3556
+ },
+ "backtrader/indicators/mabase.py": {
+ "size": 2719
+ },
+ "backtrader/indicators/macd.py": {
+ "size": 2837
+ },
+ "backtrader/indicators/momentum.py": {
+ "size": 3525
+ },
+ "backtrader/indicators/ols.py": {
+ "size": 3987
+ },
+ "backtrader/indicators/oscillator.py": {
+ "size": 4050
+ },
+ "backtrader/indicators/percentchange.py": {
+ "size": 1605
+ },
+ "backtrader/indicators/percentrank.py": {
+ "size": 1410
+ },
+ "backtrader/indicators/pivotpoint.py": {
+ "size": 9353
+ },
+ "backtrader/indicators/prettygoodoscillator.py": {
+ "size": 2262
+ },
+ "backtrader/indicators/priceoscillator.py": {
+ "size": 3801
+ },
+ "backtrader/indicators/psar.py": {
+ "size": 5931
+ },
+ "backtrader/indicators/rmi.py": {
+ "size": 2474
+ },
+ "backtrader/indicators/rsi.py": {
+ "size": 6813
+ },
+ "backtrader/indicators/sma.py": {
+ "size": 1665
+ },
+ "backtrader/indicators/smma.py": {
+ "size": 2190
+ },
+ "backtrader/indicators/stochastic.py": {
+ "size": 4869
+ },
+ "backtrader/indicators/trix.py": {
+ "size": 2947
+ },
+ "backtrader/indicators/tsi.py": {
+ "size": 2660
+ },
+ "backtrader/indicators/ultimateoscillator.py": {
+ "size": 2913
+ },
+ "backtrader/indicators/vortex.py": {
+ "size": 1888
+ },
+ "backtrader/indicators/williams.py": {
+ "size": 3038
+ },
+ "backtrader/indicators/wma.py": {
+ "size": 2088
+ },
+ "backtrader/indicators/zlema.py": {
+ "size": 1880
+ },
+ "backtrader/indicators/zlind.py": {
+ "size": 3192
+ },
+ "backtrader/linebuffer.py": {
+ "size": 26583
+ },
+ "backtrader/lineiterator.py": {
+ "size": 15838
+ },
+ "backtrader/lineroot.py": {
+ "size": 10689
+ },
+ "backtrader/lineseries.py": {
+ "size": 22007
+ },
+ "backtrader/mathsupport.py": {
+ "size": 1923
+ },
+ "backtrader/metabase.py": {
+ "size": 11160
+ },
+ "backtrader/observer.py": {
+ "size": 2274
+ },
+ "backtrader/observers/__init__.py": {
+ "size": 1325
+ },
+ "backtrader/observers/benchmark.py": {
+ "size": 4314
+ },
+ "backtrader/observers/broker.py": {
+ "size": 3868
+ },
+ "backtrader/observers/buysell.py": {
+ "size": 3882
+ },
+ "backtrader/observers/drawdown.py": {
+ "size": 3643
+ },
+ "backtrader/observers/logreturns.py": {
+ "size": 3234
+ },
+ "backtrader/observers/timereturn.py": {
+ "size": 3088
+ },
+ "backtrader/observers/trades.py": {
+ "size": 4983
+ },
+ "backtrader/order.py": {
+ "size": 21937
+ },
+ "backtrader/plot/__init__.py": {
+ "size": 1494
+ },
+ "backtrader/plot/finance.py": {
+ "size": 19346
+ },
+ "backtrader/plot/formatters.py": {
+ "size": 4042
+ },
+ "backtrader/plot/locator.py": {
+ "size": 9435
+ },
+ "backtrader/plot/multicursor.py": {
+ "size": 12231
+ },
+ "backtrader/plot/plot.py": {
+ "size": 33959
+ },
+ "backtrader/plot/scheme.py": {
+ "size": 6433
+ },
+ "backtrader/plot/utils.py": {
+ "size": 2920
+ },
+ "backtrader/position.py": {
+ "size": 7445
+ },
+ "backtrader/resamplerfilter.py": {
+ "size": 26141
+ },
+ "backtrader/signal.py": {
+ "size": 1894
+ },
+ "backtrader/signals/__init__.py": {
+ "size": 1019
+ },
+ "backtrader/sizer.py": {
+ "size": 2977
+ },
+ "backtrader/sizers/__init__.py": {
+ "size": 1208
+ },
+ "backtrader/sizers/fixedsize.py": {
+ "size": 3486
+ },
+ "backtrader/sizers/percents_sizer.py": {
+ "size": 2482
+ },
+ "backtrader/store.py": {
+ "size": 3135
+ },
+ "backtrader/stores/__init__.py": {
+ "size": 1527
+ },
+ "backtrader/stores/ibstore.py": {
+ "size": 54280
+ },
+ "backtrader/stores/oandastore.py": {
+ "size": 22120
+ },
+ "backtrader/stores/vchartfile.py": {
+ "size": 2700
+ },
+ "backtrader/stores/vcstore.py": {
+ "size": 19039
+ },
+ "backtrader/strategies/__init__.py": {
+ "size": 1048
+ },
+ "backtrader/strategies/sma_crossover.py": {
+ "size": 2197
+ },
+ "backtrader/strategy.py": {
+ "size": 61718
+ },
+ "backtrader/studies/__init__.py": {
+ "size": 1053
+ },
+ "backtrader/studies/contrib/__init__.py": {
+ "size": 1159
+ },
+ "backtrader/studies/contrib/fractal.py": {
+ "size": 2608
+ },
+ "backtrader/talib.py": {
+ "size": 8950
+ },
+ "backtrader/timer.py": {
+ "size": 7585
+ },
+ "backtrader/trade.py": {
+ "size": 11662
+ },
+ "backtrader/tradingcal.py": {
+ "size": 9893
+ },
+ "backtrader/utils/__init__.py": {
+ "size": 1145
+ },
+ "backtrader/utils/autodict.py": {
+ "size": 3787
+ },
+ "backtrader/utils/date.py": {
+ "size": 1319
+ },
+ "backtrader/utils/dateintern.py": {
+ "size": 6972
+ },
+ "backtrader/utils/flushfile.py": {
+ "size": 1588
+ },
+ "backtrader/utils/ordereddefaultdict.py": {
+ "size": 2091
+ },
+ "backtrader/utils/py3.py": {
+ "size": 3409
+ },
+ "backtrader/version.py": {
+ "size": 1110
+ },
+ "backtrader/writer.py": {
+ "size": 7688
+ },
+ "changelog.txt": {
+ "size": 58797
+ },
+ "contrib/samples/pair-trading/pair-trading.py": {
+ "size": 9958
+ },
+ "contrib/utils/influxdb-import.py": {
+ "size": 4932
+ },
+ "contrib/utils/iqfeed-to-influxdb.py": {
+ "size": 8744
+ },
+ "datas/2005-2006-day-001.txt": {
+ "size": 24109
+ },
+ "datas/2006-01-02-volume-min-001.txt": {
+ "size": 524313
+ },
+ "datas/2006-day-001-optix.txt": {
+ "size": 15123
+ },
+ "datas/2006-day-001.txt": {
+ "size": 12030
+ },
+ "datas/2006-day-002.txt": {
+ "size": 6108
+ },
+ "datas/2006-min-005.txt": {
+ "size": 120002
+ },
+ "datas/2006-month-001.txt": {
+ "size": 609
+ },
+ "datas/2006-volume-day-001.txt": {
+ "size": 15130
+ },
+ "datas/2006-week-001.txt": {
+ "size": 2489
+ },
+ "datas/2006-week-002.txt": {
+ "size": 1267
+ },
+ "datas/nvda-1999-2014.txt": {
+ "size": 272573
+ },
+ "datas/nvda-2014.txt": {
+ "size": 17462
+ },
+ "datas/orcl-1995-2014.txt": {
+ "size": 345989
+ },
+ "datas/orcl-2003-2005.txt": {
+ "size": 52877
+ },
+ "datas/orcl-2014.txt": {
+ "size": 17638
+ },
+ "datas/yhoo-1996-2014.txt": {
+ "size": 324337
+ },
+ "datas/yhoo-1996-2015.txt": {
+ "size": 341934
+ },
+ "datas/yhoo-2003-2005.txt": {
+ "size": 52718
+ },
+ "datas/yhoo-2014.txt": {
+ "size": 17666
+ },
+ "samples/analyzer-annualreturn/analyzer-annualreturn.py": {
+ "size": 8161
+ },
+ "samples/bidask-to-ohlc/bidask-to-ohlc.py": {
+ "size": 2770
+ },
+ "samples/bracket/bracket.py": {
+ "size": 6700
+ },
+ "samples/btfd/btfd.py": {
+ "size": 8479
+ },
+ "samples/calendar-days/calendar-days.py": {
+ "size": 4333
+ },
+ "samples/calmar/calmar-test.py": {
+ "size": 3943
+ },
+ "samples/cheat-on-open/cheat-on-open.py": {
+ "size": 4916
+ },
+ "samples/commission-schemes/commission-schemes.py": {
+ "size": 6840
+ },
+ "samples/credit-interest/credit-interest.py": {
+ "size": 7135
+ },
+ "samples/data-bid-ask/bidask.py": {
+ "size": 3278
+ },
+ "samples/data-filler/data-filler.py": {
+ "size": 5355
+ },
+ "samples/data-filler/relativevolume.py": {
+ "size": 1809
+ },
+ "samples/data-multitimeframe/data-multitimeframe.py": {
+ "size": 8037
+ },
+ "samples/data-pandas/data-pandas-optix.py": {
+ "size": 3426
+ },
+ "samples/data-pandas/data-pandas.py": {
+ "size": 2725
+ },
+ "samples/data-replay/data-replay.py": {
+ "size": 3578
+ },
+ "samples/data-resample/data-resample.py": {
+ "size": 2957
+ },
+ "samples/daysteps/daysteps.py": {
+ "size": 3622
+ },
+ "samples/future-spot/future-spot.py": {
+ "size": 3222
+ },
+ "samples/gold-vs-sp500/gold-vs-sp500.py": {
+ "size": 5241
+ },
+ "samples/ib-cash-bid-ask/ib-cash-bid-ask.py": {
+ "size": 4167
+ },
+ "samples/ibtest/ibtest.py": {
+ "size": 21635
+ },
+ "samples/kselrsi/ksignal.py": {
+ "size": 4814
+ },
+ "samples/lineplotter/lineplotter.py": {
+ "size": 3622
+ },
+ "samples/lrsi/lrsi-test.py": {
+ "size": 3770
+ },
+ "samples/macd-settings/macd-settings.py": {
+ "size": 10577
+ },
+ "samples/memory-savings/memory-savings.py": {
+ "size": 5040
+ },
+ "samples/mixing-timeframes/mixing-timeframes.py": {
+ "size": 2972
+ },
+ "samples/multi-copy/multi-copy.py": {
+ "size": 8221
+ },
+ "samples/multi-example/mult-values.py": {
+ "size": 8129
+ },
+ "samples/multidata-strategy/multidata-strategy-unaligned.py": {
+ "size": 7405
+ },
+ "samples/multidata-strategy/multidata-strategy.py": {
+ "size": 7528
+ },
+ "samples/multitrades/mtradeobserver.py": {
+ "size": 1729
+ },
+ "samples/multitrades/multitrades.py": {
+ "size": 7450
+ },
+ "samples/oandatest/oandatest.py": {
+ "size": 18846
+ },
+ "samples/observer-benchmark/observer-benchmark.py": {
+ "size": 7280
+ },
+ "samples/observers/observers-default-drawdown.py": {
+ "size": 2810
+ },
+ "samples/observers/observers-default.py": {
+ "size": 1327
+ },
+ "samples/observers/observers-orderobserver.py": {
+ "size": 3892
+ },
+ "samples/observers/orderobserver.py": {
+ "size": 2008
+ },
+ "samples/oco/oco.py": {
+ "size": 6526
+ },
+ "samples/optimization/optimization.py": {
+ "size": 6071
+ },
+ "samples/order-close/close-daily.py": {
+ "size": 5993
+ },
+ "samples/order-close/close-minute.py": {
+ "size": 4837
+ },
+ "samples/order-execution/order-execution.py": {
+ "size": 9484
+ },
+ "samples/order-history/order-history.py": {
+ "size": 6279
+ },
+ "samples/order_target/order_target.py": {
+ "size": 6711
+ },
+ "samples/partial-plot/partial-plot.py": {
+ "size": 4082
+ },
+ "samples/pinkfish-challenge/pinkfish-challenge.py": {
+ "size": 12617
+ },
+ "samples/pivot-point/pivotpoint.py": {
+ "size": 2144
+ },
+ "samples/pivot-point/ppsample.py": {
+ "size": 2802
+ },
+ "samples/plot-same-axis/plot-same-axis.py": {
+ "size": 4996
+ },
+ "samples/psar/psar-intraday.py": {
+ "size": 4502
+ },
+ "samples/psar/psar.py": {
+ "size": 3837
+ },
+ "samples/pyfolio2/pyfoliotest.py": {
+ "size": 8471
+ },
+ "samples/pyfoliotest/pyfoliotest.py": {
+ "size": 6600
+ },
+ "samples/relative-volume/relative-volume.py": {
+ "size": 3992
+ },
+ "samples/relative-volume/relvolbybar.py": {
+ "size": 3680
+ },
+ "samples/renko/renko.py": {
+ "size": 4393
+ },
+ "samples/resample-tickdata/resample-tickdata.py": {
+ "size": 3758
+ },
+ "samples/rollover/rollover.py": {
+ "size": 5500
+ },
+ "samples/sharpe-timereturn/sharpe-timereturn.py": {
+ "size": 5691
+ },
+ "samples/signals-strategy/signals-strategy.py": {
+ "size": 5158
+ },
+ "samples/sigsmacross/sigsmacross.py": {
+ "size": 3835
+ },
+ "samples/sigsmacross/sigsmacross2.py": {
+ "size": 1489
+ },
+ "samples/sizertest/sizertest.py": {
+ "size": 4899
+ },
+ "samples/slippage/slippage.py": {
+ "size": 6278
+ },
+ "samples/sratio/sratio.py": {
+ "size": 2124
+ },
+ "samples/stop-trading/stop-loss-approaches.py": {
+ "size": 8127
+ },
+ "samples/stoptrail/trail.py": {
+ "size": 5435
+ },
+ "samples/strategy-selection/strategy-selection.py": {
+ "size": 3044
+ },
+ "samples/talib/tablibsartest.py": {
+ "size": 3497
+ },
+ "samples/talib/talibtest.py": {
+ "size": 7426
+ },
+ "samples/timers/scheduled-min.py": {
+ "size": 5800
+ },
+ "samples/timers/scheduled.py": {
+ "size": 5315
+ },
+ "samples/tradingcalendar/tcal-intra.py": {
+ "size": 5833
+ },
+ "samples/tradingcalendar/tcal.py": {
+ "size": 5818
+ },
+ "samples/vctest/vctest.py": {
+ "size": 15011
+ },
+ "samples/volumefilling/volumefilling.py": {
+ "size": 5839
+ },
+ "samples/vwr/vwr.py": {
+ "size": 5716
+ },
+ "samples/weekdays-filler/weekdaysaligner.py": {
+ "size": 4370
+ },
+ "samples/weekdays-filler/weekdaysfiller.py": {
+ "size": 2606
+ },
+ "samples/writer-test/writer-test.py": {
+ "size": 7177
+ },
+ "samples/yahoo-test/yahoo-test.py": {
+ "size": 3422
+ },
+ "setup.py": {
+ "size": 5322
+ },
+ "tests/test_analyzer-sqn.py": {
+ "size": 6423
+ },
+ "tests/test_analyzer-timereturn.py": {
+ "size": 6065
+ },
+ "tests/test_comminfo.py": {
+ "size": 2624
+ },
+ "tests/test_data_multiframe.py": {
+ "size": 1653
+ },
+ "tests/test_data_replay.py": {
+ "size": 1982
+ },
+ "tests/test_data_resample.py": {
+ "size": 1877
+ },
+ "tests/test_ind_accdecosc.py": {
+ "size": 1602
+ },
+ "tests/test_ind_aroonoscillator.py": {
+ "size": 1621
+ },
+ "tests/test_ind_aroonupdown.py": {
+ "size": 1660
+ },
+ "tests/test_ind_atr.py": {
+ "size": 1609
+ },
+ "tests/test_ind_awesomeoscillator.py": {
+ "size": 1570
+ },
+ "tests/test_ind_bbands.py": {
+ "size": 1720
+ },
+ "tests/test_ind_cci.py": {
+ "size": 1609
+ },
+ "tests/test_ind_dema.py": {
+ "size": 1615
+ },
+ "tests/test_ind_demaenvelope.py": {
+ "size": 1725
+ },
+ "tests/test_ind_demaosc.py": {
+ "size": 1609
+ },
+ "tests/test_ind_dm.py": {
+ "size": 1743
+ },
+ "tests/test_ind_dma.py": {
+ "size": 1615
+ },
+ "tests/test_ind_downmove.py": {
+ "size": 1615
+ },
+ "tests/test_ind_dpo.py": {
+ "size": 1609
+ },
+ "tests/test_ind_dv2.py": {
+ "size": 1610
+ },
+ "tests/test_ind_ema.py": {
+ "size": 1615
+ },
+ "tests/test_ind_emaenvelope.py": {
+ "size": 1725
+ },
+ "tests/test_ind_emaosc.py": {
+ "size": 1612
+ },
+ "tests/test_ind_envelope.py": {
+ "size": 1871
+ },
+ "tests/test_ind_heikinashi.py": {
+ "size": 1782
+ },
+ "tests/test_ind_highest.py": {
+ "size": 1685
+ },
+ "tests/test_ind_hma.py": {
+ "size": 1616
+ },
+ "tests/test_ind_ichimoku.py": {
+ "size": 1833
+ },
+ "tests/test_ind_kama.py": {
+ "size": 1616
+ },
+ "tests/test_ind_kamaenvelope.py": {
+ "size": 1725
+ },
+ "tests/test_ind_kamaosc.py": {
+ "size": 1612
+ },
+ "tests/test_ind_kst.py": {
+ "size": 1654
+ },
+ "tests/test_ind_lowest.py": {
+ "size": 1684
+ },
+ "tests/test_ind_lrsi.py": {
+ "size": 1606
+ },
+ "tests/test_ind_macdhisto.py": {
+ "size": 1701
+ },
+ "tests/test_ind_minperiod.py": {
+ "size": 1680
+ },
+ "tests/test_ind_momentum.py": {
+ "size": 1615
+ },
+ "tests/test_ind_momentumoscillator.py": {
+ "size": 1626
+ },
+ "tests/test_ind_oscillator.py": {
+ "size": 1764
+ },
+ "tests/test_ind_pctchange.py": {
+ "size": 1611
+ },
+ "tests/test_ind_pctrank.py": {
+ "size": 1614
+ },
+ "tests/test_ind_pgo.py": {
+ "size": 1606
+ },
+ "tests/test_ind_ppo.py": {
+ "size": 1690
+ },
+ "tests/test_ind_pposhort.py": {
+ "size": 1695
+ },
+ "tests/test_ind_priceosc.py": {
+ "size": 1613
+ },
+ "tests/test_ind_rmi.py": {
+ "size": 1571
+ },
+ "tests/test_ind_roc.py": {
+ "size": 1607
+ },
+ "tests/test_ind_rsi.py": {
+ "size": 1609
+ },
+ "tests/test_ind_rsi_safe.py": {
+ "size": 1614
+ },
+ "tests/test_ind_sma.py": {
+ "size": 1615
+ },
+ "tests/test_ind_smaenvelope.py": {
+ "size": 1725
+ },
+ "tests/test_ind_smaosc.py": {
+ "size": 1610
+ },
+ "tests/test_ind_smma.py": {
+ "size": 1616
+ },
+ "tests/test_ind_smmaenvelope.py": {
+ "size": 1726
+ },
+ "tests/test_ind_smmaosc.py": {
+ "size": 1613
+ },
+ "tests/test_ind_stochastic.py": {
+ "size": 1661
+ },
+ "tests/test_ind_stochasticfull.py": {
+ "size": 1710
+ },
+ "tests/test_ind_sumn.py": {
+ "size": 1685
+ },
+ "tests/test_ind_tema.py": {
+ "size": 1615
+ },
+ "tests/test_ind_temaenvelope.py": {
+ "size": 1725
+ },
+ "tests/test_ind_temaosc.py": {
+ "size": 1612
+ },
+ "tests/test_ind_trix.py": {
+ "size": 1606
+ },
+ "tests/test_ind_tsi.py": {
+ "size": 1608
+ },
+ "tests/test_ind_ultosc.py": {
+ "size": 1654
+ },
+ "tests/test_ind_upmove.py": {
+ "size": 1612
+ },
+ "tests/test_ind_vortex.py": {
+ "size": 1650
+ },
+ "tests/test_ind_williamsad.py": {
+ "size": 1616
+ },
+ "tests/test_ind_williamsr.py": {
+ "size": 1618
+ },
+ "tests/test_ind_wma.py": {
+ "size": 1615
+ },
+ "tests/test_ind_wmaenvelope.py": {
+ "size": 1725
+ },
+ "tests/test_ind_wmaosc.py": {
+ "size": 1612
+ },
+ "tests/test_ind_zlema.py": {
+ "size": 1616
+ },
+ "tests/test_ind_zlind.py": {
+ "size": 1627
+ },
+ "tests/test_metaclass.py": {
+ "size": 1618
+ },
+ "tests/test_order.py": {
+ "size": 3961
+ },
+ "tests/test_position.py": {
+ "size": 2813
+ },
+ "tests/test_strategy_optimized.py": {
+ "size": 5477
+ },
+ "tests/test_strategy_unoptimized.py": {
+ "size": 6659
+ },
+ "tests/test_study_fractal.py": {
+ "size": 1596
+ },
+ "tests/test_trade.py": {
+ "size": 3852
+ },
+ "tests/test_writer.py": {
+ "size": 2196
+ },
+ "tests/testcommon.py": {
+ "size": 7322
+ },
+ "tools/bt-run.py": {
+ "size": 1099
+ },
+ "tools/rewrite-data.py": {
+ "size": 5732
+ },
+ "tools/yahoodownload.py": {
+ "size": 7414
+ }
+ },
+ "processed_by": "zip_fallback",
+ "success": true
+ },
+ "structure": {
+ "packages": [
+ "source.backtrader",
+ "source.backtrader.analyzers",
+ "source.backtrader.brokers",
+ "source.backtrader.btrun",
+ "source.backtrader.commissions",
+ "source.backtrader.feeds",
+ "source.backtrader.filters",
+ "source.backtrader.indicators",
+ "source.backtrader.observers",
+ "source.backtrader.plot",
+ "source.backtrader.signals",
+ "source.backtrader.sizers",
+ "source.backtrader.stores",
+ "source.backtrader.strategies",
+ "source.backtrader.studies",
+ "source.backtrader.utils"
+ ]
+ },
+ "dependencies": {
+ "has_environment_yml": false,
+ "has_requirements_txt": false,
+ "pyproject": false,
+ "setup_cfg": false,
+ "setup_py": true
+ },
+ "entry_points": {
+ "imports": [],
+ "cli": [],
+ "modules": []
+ },
+ "llm_analysis": {
+ "core_modules": [
+ {
+ "package": "backtrader",
+ "module": "analyzer",
+ "functions": [],
+ "classes": [
+ "Analyzer",
+ "MetaAnalyzer",
+ "MetaTimeFrameAnalyzerBase",
+ "TimeFrameAnalyzerBase"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "broker",
+ "functions": [],
+ "classes": [
+ "BrokerBase",
+ "MetaBroker"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "cerebro",
+ "functions": [],
+ "classes": [
+ "Cerebro",
+ "OptReturn"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "comminfo",
+ "functions": [],
+ "classes": [
+ "CommInfoBase",
+ "CommissionInfo"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "dataseries",
+ "functions": [],
+ "classes": [
+ "DataSeries",
+ "OHLC",
+ "OHLCDateTime",
+ "SimpleFilterWrapper",
+ "TimeFrame"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "errors",
+ "functions": [],
+ "classes": [
+ "BacktraderError",
+ "FromModuleImportError",
+ "ModuleImportError",
+ "StrategySkipError"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "feed",
+ "functions": [],
+ "classes": [
+ "AbstractDataBase",
+ "CSVDataBase",
+ "CSVFeedBase",
+ "DataBase",
+ "DataClone",
+ "FeedBase",
+ "MetaAbstractDataBase",
+ "MetaCSVDataBase"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "fillers",
+ "functions": [],
+ "classes": [
+ "BarPointPerc",
+ "FixedBarPerc",
+ "FixedSize"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "flt",
+ "functions": [],
+ "classes": [
+ "Filter",
+ "MetaFilter"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "functions",
+ "functions": [],
+ "classes": [
+ "All",
+ "And",
+ "Any",
+ "Cmp",
+ "CmpEx",
+ "DivByZero",
+ "DivZeroByZero",
+ "If",
+ "List",
+ "Logic",
+ "Max",
+ "Min",
+ "MultiLogic",
+ "MultiLogicReduce",
+ "Or",
+ "Reduce",
+ "Sum"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "indicator",
+ "functions": [],
+ "classes": [
+ "Indicator",
+ "LinePlotterIndicator",
+ "MetaIndicator",
+ "MtLinePlotterIndicator"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "linebuffer",
+ "functions": [
+ "LineDelay",
+ "LineNum"
+ ],
+ "classes": [
+ "LineActions",
+ "LineBuffer",
+ "LineOwnOperation",
+ "LinesOperation",
+ "MetaLineActions",
+ "PseudoArray"
+ ],
+ "function_signatures": {
+ "LineDelay": [
+ "a",
+ "ago"
+ ],
+ "LineNum": [
+ "num"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "lineiterator",
+ "functions": [
+ "LinesCoupler"
+ ],
+ "classes": [
+ "DataAccessor",
+ "IndicatorBase",
+ "LineIterator",
+ "MetaLineIterator",
+ "MultiCoupler",
+ "ObserverBase",
+ "SingleCoupler",
+ "StrategyBase"
+ ],
+ "function_signatures": {
+ "LinesCoupler": [
+ "cdata",
+ "clock"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "lineroot",
+ "functions": [],
+ "classes": [
+ "LineMultiple",
+ "LineRoot",
+ "LineSingle",
+ "MetaLineRoot"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "lineseries",
+ "functions": [
+ "LineSeriesMaker"
+ ],
+ "classes": [
+ "LineAlias",
+ "LineSeries",
+ "LineSeriesStub",
+ "Lines",
+ "MetaLineSeries"
+ ],
+ "function_signatures": {
+ "LineSeriesMaker": [
+ "arg",
+ "slave"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "mathsupport",
+ "functions": [
+ "average",
+ "standarddev",
+ "variance"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "average": [
+ "x",
+ "bessel"
+ ],
+ "variance": [
+ "x",
+ "avgx"
+ ],
+ "standarddev": [
+ "x",
+ "avgx",
+ "bessel"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "metabase",
+ "functions": [
+ "findbases",
+ "findowner"
+ ],
+ "classes": [
+ "AutoInfoClass",
+ "ItemCollection",
+ "MetaBase",
+ "MetaParams",
+ "ParamsBase"
+ ],
+ "function_signatures": {
+ "findbases": [
+ "kls",
+ "topclass"
+ ],
+ "findowner": [
+ "owned",
+ "cls",
+ "startlevel",
+ "skip"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "observer",
+ "functions": [],
+ "classes": [
+ "MetaObserver",
+ "Observer"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "order",
+ "functions": [],
+ "classes": [
+ "BuyOrder",
+ "Order",
+ "OrderBase",
+ "OrderData",
+ "OrderExecutionBit",
+ "SellOrder",
+ "StopBuyOrder",
+ "StopLimitBuyOrder",
+ "StopLimitSellOrder",
+ "StopSellOrder"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "position",
+ "functions": [],
+ "classes": [
+ "Position"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "resamplerfilter",
+ "functions": [],
+ "classes": [
+ "DTFaker",
+ "Replayer",
+ "ReplayerDaily",
+ "ReplayerMinutes",
+ "ReplayerMonthly",
+ "ReplayerSeconds",
+ "ReplayerTicks",
+ "ReplayerWeekly",
+ "Resampler",
+ "ResamplerDaily",
+ "ResamplerMinutes",
+ "ResamplerMonthly",
+ "ResamplerSeconds",
+ "ResamplerTicks",
+ "ResamplerWeekly",
+ "ResamplerYearly"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "signal",
+ "functions": [],
+ "classes": [
+ "Signal"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "sizer",
+ "functions": [],
+ "classes": [
+ "Sizer"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "store",
+ "functions": [],
+ "classes": [
+ "MetaSingleton",
+ "Store"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "strategy",
+ "functions": [],
+ "classes": [
+ "MetaSigStrategy",
+ "MetaStrategy",
+ "SignalStrategy",
+ "Strategy"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "timer",
+ "functions": [],
+ "classes": [
+ "Timer"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "trade",
+ "functions": [],
+ "classes": [
+ "Trade",
+ "TradeHistory"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "tradingcal",
+ "functions": [],
+ "classes": [
+ "PandasMarketCalendar",
+ "TradingCalendar",
+ "TradingCalendarBase"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "writer",
+ "functions": [],
+ "classes": [
+ "WriterBase",
+ "WriterFile",
+ "WriterStringIO"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "annualreturn",
+ "functions": [],
+ "classes": [
+ "AnnualReturn"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "calmar",
+ "functions": [],
+ "classes": [
+ "Calmar"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "drawdown",
+ "functions": [],
+ "classes": [
+ "DrawDown",
+ "TimeDrawDown"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "leverage",
+ "functions": [],
+ "classes": [
+ "GrossLeverage"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "logreturnsrolling",
+ "functions": [],
+ "classes": [
+ "LogReturnsRolling"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "periodstats",
+ "functions": [],
+ "classes": [
+ "PeriodStats"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "positions",
+ "functions": [],
+ "classes": [
+ "PositionsValue"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "analyzersfolio",
+ "functions": [],
+ "classes": [
+ "PyFolio"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "returns",
+ "functions": [],
+ "classes": [
+ "Returns"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "sharpe",
+ "functions": [],
+ "classes": [
+ "SharpeRatio",
+ "SharpeRatio_A"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "sqn",
+ "functions": [],
+ "classes": [
+ "SQN"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "timereturn",
+ "functions": [],
+ "classes": [
+ "TimeReturn"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "tradeanalyzer",
+ "functions": [],
+ "classes": [
+ "TradeAnalyzer"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "transactions",
+ "functions": [],
+ "classes": [
+ "Transactions"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.analyzers",
+ "module": "vwr",
+ "functions": [],
+ "classes": [
+ "VWR"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.brokers",
+ "module": "bbroker",
+ "functions": [],
+ "classes": [
+ "BackBroker"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.brokers",
+ "module": "ibbroker",
+ "functions": [],
+ "classes": [
+ "IBBroker",
+ "IBCommInfo",
+ "IBOrder",
+ "IBOrderState",
+ "MetaIBBroker"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.brokers",
+ "module": "oandabroker",
+ "functions": [],
+ "classes": [
+ "MetaOandaBroker",
+ "OandaBroker",
+ "OandaCommInfo"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.brokers",
+ "module": "vcbroker",
+ "functions": [],
+ "classes": [
+ "MetaVCBroker",
+ "VCBroker",
+ "VCCommInfo"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.btrun",
+ "module": "btrun",
+ "functions": [
+ "btrun",
+ "getdatas",
+ "getfunctions",
+ "getmodclasses",
+ "getmodfunctions",
+ "getobjects",
+ "loadmodule",
+ "loadmodule2",
+ "loadmodule3",
+ "parse_args",
+ "setbroker"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "btrun": [
+ "pargs"
+ ],
+ "setbroker": [
+ "args",
+ "cerebro"
+ ],
+ "getdatas": [
+ "args"
+ ],
+ "getmodclasses": [
+ "mod",
+ "clstype",
+ "clsname"
+ ],
+ "getmodfunctions": [
+ "mod",
+ "funcname"
+ ],
+ "loadmodule": [
+ "modpath",
+ "modname"
+ ],
+ "loadmodule2": [
+ "modpath",
+ "modname"
+ ],
+ "loadmodule3": [
+ "modpath",
+ "modname"
+ ],
+ "getobjects": [
+ "iterable",
+ "clsbase",
+ "modbase",
+ "issignal"
+ ],
+ "getfunctions": [
+ "iterable",
+ "modbase"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "commissions",
+ "functions": [],
+ "classes": [
+ "CommInfo",
+ "CommInfo_Futures",
+ "CommInfo_Futures_Fixed",
+ "CommInfo_Futures_Perc",
+ "CommInfo_Stocks",
+ "CommInfo_Stocks_Fixed",
+ "CommInfo_Stocks_Perc"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "blaze",
+ "functions": [],
+ "classes": [
+ "BlazeData"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "btcsv",
+ "functions": [],
+ "classes": [
+ "BacktraderCSV",
+ "BacktraderCSVData"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "chainer",
+ "functions": [],
+ "classes": [
+ "Chainer",
+ "MetaChainer"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "csvgeneric",
+ "functions": [],
+ "classes": [
+ "GenericCSV",
+ "GenericCSVData"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "ibdata",
+ "functions": [],
+ "classes": [
+ "IBData",
+ "MetaIBData"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "influxfeed",
+ "functions": [],
+ "classes": [
+ "InfluxDB"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "mt4csv",
+ "functions": [],
+ "classes": [
+ "MT4CSVData"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "oanda",
+ "functions": [],
+ "classes": [
+ "MetaOandaData",
+ "OandaData"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "pandafeed",
+ "functions": [],
+ "classes": [
+ "PandasData",
+ "PandasDirectData"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "quandl",
+ "functions": [],
+ "classes": [
+ "Quandl",
+ "QuandlCSV"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "rollover",
+ "functions": [],
+ "classes": [
+ "MetaRollOver",
+ "RollOver"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "sierrachart",
+ "functions": [],
+ "classes": [
+ "SierraChartCSVData"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "vcdata",
+ "functions": [],
+ "classes": [
+ "MetaVCData",
+ "VCData"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "vchart",
+ "functions": [],
+ "classes": [
+ "VChartData",
+ "VChartFeed"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "vchartcsv",
+ "functions": [],
+ "classes": [
+ "VChartCSV",
+ "VChartCSVData"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "vchartfile",
+ "functions": [],
+ "classes": [
+ "MetaVChartFile",
+ "VChartFile"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.feeds",
+ "module": "yahoo",
+ "functions": [],
+ "classes": [
+ "YahooFinance",
+ "YahooFinanceCSV",
+ "YahooFinanceCSVData",
+ "YahooFinanceData",
+ "YahooLegacyCSV"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.filters",
+ "module": "bsplitter",
+ "functions": [],
+ "classes": [
+ "DaySplitter_Close"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.filters",
+ "module": "calendardays",
+ "functions": [],
+ "classes": [
+ "CalendarDays"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.filters",
+ "module": "datafiller",
+ "functions": [],
+ "classes": [
+ "DataFiller"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.filters",
+ "module": "datafilter",
+ "functions": [],
+ "classes": [
+ "DataFilter"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.filters",
+ "module": "daysteps",
+ "functions": [],
+ "classes": [
+ "BarReplayer_Open"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.filters",
+ "module": "heikinashi",
+ "functions": [],
+ "classes": [
+ "HeikinAshi"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.filters",
+ "module": "renko",
+ "functions": [],
+ "classes": [
+ "Renko"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.filters",
+ "module": "session",
+ "functions": [],
+ "classes": [
+ "SessionFiller",
+ "SessionFilter",
+ "SessionFilterSimple"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "accdecoscillator",
+ "functions": [],
+ "classes": [
+ "AccelerationDecelerationOscillator"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "aroon",
+ "functions": [],
+ "classes": [
+ "AroonDown",
+ "AroonOscillator",
+ "AroonUp",
+ "AroonUpDown",
+ "AroonUpDownOscillator"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "atr",
+ "functions": [],
+ "classes": [
+ "AverageTrueRange",
+ "TrueHigh",
+ "TrueLow",
+ "TrueRange"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "awesomeoscillator",
+ "functions": [],
+ "classes": [
+ "AwesomeOscillator"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "basicops",
+ "functions": [],
+ "classes": [
+ "Accum",
+ "AllN",
+ "AnyN",
+ "ApplyN",
+ "Average",
+ "BaseApplyN",
+ "ExponentialSmoothing",
+ "ExponentialSmoothingDynamic",
+ "FindFirstIndex",
+ "FindFirstIndexHighest",
+ "FindFirstIndexLowest",
+ "FindLastIndex",
+ "FindLastIndexHighest",
+ "FindLastIndexLowest",
+ "Highest",
+ "Lowest",
+ "OperationN",
+ "PeriodN",
+ "ReduceN",
+ "SumN",
+ "WeightedAverage"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "bollinger",
+ "functions": [],
+ "classes": [
+ "BollingerBands",
+ "BollingerBandsPct"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "cci",
+ "functions": [],
+ "classes": [
+ "CommodityChannelIndex"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "crossover",
+ "functions": [],
+ "classes": [
+ "CrossDown",
+ "CrossOver",
+ "CrossUp",
+ "NonZeroDifference"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "dema",
+ "functions": [],
+ "classes": [
+ "DoubleExponentialMovingAverage",
+ "TripleExponentialMovingAverage"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "deviation",
+ "functions": [],
+ "classes": [
+ "MeanDeviation",
+ "StandardDeviation"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "directionalmove",
+ "functions": [],
+ "classes": [
+ "AverageDirectionalMovementIndex",
+ "AverageDirectionalMovementIndexRating",
+ "DirectionalIndicator",
+ "DirectionalMovement",
+ "DirectionalMovementIndex",
+ "DownMove",
+ "MinusDirectionalIndicator",
+ "PlusDirectionalIndicator",
+ "UpMove"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "dma",
+ "functions": [],
+ "classes": [
+ "DicksonMovingAverage"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "dpo",
+ "functions": [],
+ "classes": [
+ "DetrendedPriceOscillator"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "dv2",
+ "functions": [],
+ "classes": [
+ "DV2"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "ema",
+ "functions": [],
+ "classes": [
+ "ExponentialMovingAverage"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "envelope",
+ "functions": [],
+ "classes": [
+ "Envelope",
+ "EnvelopeMixIn"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "hadelta",
+ "functions": [],
+ "classes": [
+ "haDelta"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "heikinashi",
+ "functions": [],
+ "classes": [
+ "HeikinAshi"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "hma",
+ "functions": [],
+ "classes": [
+ "HullMovingAverage"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "hurst",
+ "functions": [],
+ "classes": [
+ "HurstExponent"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "ichimoku",
+ "functions": [],
+ "classes": [
+ "Ichimoku"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "kama",
+ "functions": [],
+ "classes": [
+ "AdaptiveMovingAverage"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "kst",
+ "functions": [],
+ "classes": [
+ "KnowSureThing"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "lrsi",
+ "functions": [],
+ "classes": [
+ "LaguerreFilter",
+ "LaguerreRSI"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "mabase",
+ "functions": [],
+ "classes": [
+ "MetaMovAvBase",
+ "MovAv",
+ "MovingAverage",
+ "MovingAverageBase"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "macd",
+ "functions": [],
+ "classes": [
+ "MACD",
+ "MACDHisto"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "momentum",
+ "functions": [],
+ "classes": [
+ "Momentum",
+ "MomentumOscillator",
+ "RateOfChange",
+ "RateOfChange100"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "ols",
+ "functions": [],
+ "classes": [
+ "CointN",
+ "OLS_BetaN",
+ "OLS_Slope_InterceptN",
+ "OLS_TransformationN"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "oscillator",
+ "functions": [],
+ "classes": [
+ "Oscillator",
+ "OscillatorMixIn"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "percentchange",
+ "functions": [],
+ "classes": [
+ "PercentChange"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "percentrank",
+ "functions": [],
+ "classes": [
+ "PercentRank"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "pivotpoint",
+ "functions": [],
+ "classes": [
+ "DemarkPivotPoint",
+ "FibonacciPivotPoint",
+ "PivotPoint"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "prettygoodoscillator",
+ "functions": [],
+ "classes": [
+ "PrettyGoodOscillator"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "priceoscillator",
+ "functions": [],
+ "classes": [
+ "PercentagePriceOscillator",
+ "PercentagePriceOscillatorShort",
+ "PriceOscillator"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "psar",
+ "functions": [],
+ "classes": [
+ "ParabolicSAR"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "rmi",
+ "functions": [],
+ "classes": [
+ "RelativeMomentumIndex"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "rsi",
+ "functions": [],
+ "classes": [
+ "DownDay",
+ "DownDayBool",
+ "RSI_EMA",
+ "RSI_SMA",
+ "RSI_Safe",
+ "RelativeStrengthIndex",
+ "UpDay",
+ "UpDayBool"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "sma",
+ "functions": [],
+ "classes": [
+ "MovingAverageSimple"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "smma",
+ "functions": [],
+ "classes": [
+ "SmoothedMovingAverage"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "stochastic",
+ "functions": [],
+ "classes": [
+ "Stochastic",
+ "StochasticFast",
+ "StochasticFull"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "trix",
+ "functions": [],
+ "classes": [
+ "Trix",
+ "TrixSignal"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "tsi",
+ "functions": [],
+ "classes": [
+ "TrueStrengthIndicator"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "ultimateoscillator",
+ "functions": [],
+ "classes": [
+ "UltimateOscillator"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "vortex",
+ "functions": [],
+ "classes": [
+ "Vortex"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "williams",
+ "functions": [],
+ "classes": [
+ "WilliamsAD",
+ "WilliamsR"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "wma",
+ "functions": [],
+ "classes": [
+ "WeightedMovingAverage"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "zlema",
+ "functions": [],
+ "classes": [
+ "ZeroLagExponentialMovingAverage"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators",
+ "module": "zlind",
+ "functions": [],
+ "classes": [
+ "ZeroLagIndicator"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.indicators.contrib",
+ "module": "vortex",
+ "functions": [],
+ "classes": [
+ "Vortex"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.observers",
+ "module": "benchmark",
+ "functions": [],
+ "classes": [
+ "Benchmark"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.observers",
+ "module": "broker",
+ "functions": [],
+ "classes": [
+ "Broker",
+ "Cash",
+ "FundShares",
+ "FundValue",
+ "Value"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.observers",
+ "module": "buysell",
+ "functions": [],
+ "classes": [
+ "BuySell"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.observers",
+ "module": "drawdown",
+ "functions": [],
+ "classes": [
+ "DrawDown",
+ "DrawDownLength",
+ "DrawDown_Old"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.observers",
+ "module": "logreturns",
+ "functions": [],
+ "classes": [
+ "LogReturns",
+ "LogReturns2"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.observers",
+ "module": "timereturn",
+ "functions": [],
+ "classes": [
+ "TimeReturn"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.observers",
+ "module": "trades",
+ "functions": [],
+ "classes": [
+ "DataTrades",
+ "MetaDataTrades",
+ "Trades"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.plot",
+ "module": "finance",
+ "functions": [
+ "plot_candlestick",
+ "plot_lineonclose",
+ "plot_ohlc",
+ "plot_volume"
+ ],
+ "classes": [
+ "CandlestickPlotHandler",
+ "LineOnClosePlotHandler",
+ "OHLCPlotHandler",
+ "VolumePlotHandler"
+ ],
+ "function_signatures": {
+ "plot_candlestick": [
+ "ax",
+ "x",
+ "opens",
+ "highs",
+ "lows",
+ "closes",
+ "colorup",
+ "colordown",
+ "edgeup",
+ "edgedown",
+ "tickup",
+ "tickdown",
+ "width",
+ "tickwidth",
+ "edgeadjust",
+ "edgeshading",
+ "alpha",
+ "label",
+ "fillup",
+ "filldown"
+ ],
+ "plot_volume": [
+ "ax",
+ "x",
+ "opens",
+ "closes",
+ "volumes",
+ "colorup",
+ "colordown",
+ "edgeup",
+ "edgedown",
+ "edgeshading",
+ "edgeadjust",
+ "width",
+ "alpha"
+ ],
+ "plot_ohlc": [
+ "ax",
+ "x",
+ "opens",
+ "highs",
+ "lows",
+ "closes",
+ "colorup",
+ "colordown",
+ "width",
+ "tickwidth",
+ "alpha",
+ "label"
+ ],
+ "plot_lineonclose": [
+ "ax",
+ "x",
+ "closes",
+ "color",
+ "width",
+ "alpha",
+ "label"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.plot",
+ "module": "formatters",
+ "functions": [
+ "getlocator",
+ "patch_formatter",
+ "patch_locator"
+ ],
+ "classes": [
+ "MyDateFormatter",
+ "MyVolFormatter"
+ ],
+ "function_signatures": {
+ "patch_locator": [
+ "locator",
+ "xdates"
+ ],
+ "patch_formatter": [
+ "formatter",
+ "xdates"
+ ],
+ "getlocator": [
+ "xdates",
+ "numticks",
+ "tz"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.plot",
+ "module": "locator",
+ "functions": [],
+ "classes": [
+ "AutoDateFormatter",
+ "AutoDateLocator",
+ "RRuleLocator"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.plot",
+ "module": "multicursor",
+ "functions": [],
+ "classes": [
+ "MultiCursor",
+ "MultiCursor2",
+ "Widget"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.plot",
+ "module": "plot",
+ "functions": [],
+ "classes": [
+ "PInfo",
+ "Plot_OldSync"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.plot",
+ "module": "scheme",
+ "functions": [],
+ "classes": [
+ "PlotScheme"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.plot",
+ "module": "utils",
+ "functions": [
+ "shade_color",
+ "tag_box_style"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "tag_box_style": [
+ "x0",
+ "y0",
+ "width",
+ "height",
+ "mutation_size",
+ "mutation_aspect"
+ ],
+ "shade_color": [
+ "color",
+ "percent"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.sizers",
+ "module": "fixedsize",
+ "functions": [],
+ "classes": [
+ "FixedReverser",
+ "FixedSize",
+ "FixedSizeTarget"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.sizers",
+ "module": "percents_sizer",
+ "functions": [],
+ "classes": [
+ "AllInSizer",
+ "AllInSizerInt",
+ "PercentSizer",
+ "PercentSizerInt"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.stores",
+ "module": "ibstore",
+ "functions": [
+ "ibregister"
+ ],
+ "classes": [
+ "IBStore",
+ "MetaSingleton",
+ "RTVolume"
+ ],
+ "function_signatures": {
+ "ibregister": [
+ "f"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.stores",
+ "module": "oandastore",
+ "functions": [],
+ "classes": [
+ "API",
+ "MetaSingleton",
+ "OandaNetworkError",
+ "OandaRequestError",
+ "OandaStore",
+ "OandaStreamError",
+ "OandaTimeFrameError",
+ "Streamer"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.stores",
+ "module": "vchartfile",
+ "functions": [],
+ "classes": [
+ "VChartFile"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.stores",
+ "module": "vcstore",
+ "functions": [
+ "PumpEvents"
+ ],
+ "classes": [
+ "MetaSingleton",
+ "RTEventSink",
+ "VCStore"
+ ],
+ "function_signatures": {
+ "PumpEvents": [
+ "timeout",
+ "hevt",
+ "cb"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.strategies",
+ "module": "sma_crossover",
+ "functions": [],
+ "classes": [
+ "MA_CrossOver"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.studies.contrib",
+ "module": "fractal",
+ "functions": [],
+ "classes": [
+ "Fractal"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.utils",
+ "module": "autodict",
+ "functions": [
+ "Tree"
+ ],
+ "classes": [
+ "AutoDict",
+ "AutoDictList",
+ "AutoOrderedDict",
+ "DotDict"
+ ],
+ "function_signatures": {
+ "Tree": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.utils",
+ "module": "dateintern",
+ "functions": [
+ "Localizer",
+ "date2num",
+ "num2date",
+ "num2dt",
+ "num2time",
+ "time2num",
+ "tzparse"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "tzparse": [
+ "tz"
+ ],
+ "Localizer": [
+ "tz"
+ ],
+ "num2date": [
+ "x",
+ "tz",
+ "naive"
+ ],
+ "num2dt": [
+ "num",
+ "tz",
+ "naive"
+ ],
+ "num2time": [
+ "num",
+ "tz",
+ "naive"
+ ],
+ "date2num": [
+ "dt",
+ "tz"
+ ],
+ "time2num": [
+ "tm"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.utils",
+ "module": "flushfile",
+ "functions": [],
+ "classes": [
+ "StdOutDevNull",
+ "flushfile"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader.utils",
+ "module": "ordereddefaultdict",
+ "functions": [],
+ "classes": [
+ "OrderedDefaultdict"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "backtrader",
+ "module": "utils3",
+ "functions": [
+ "with_metaclass"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "with_metaclass": [
+ "meta"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "contrib.samples.pair-trading",
+ "module": "pair-trading",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "PairTradingStrategy"
+ ],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "contrib.utils",
+ "module": "influxdb-import",
+ "functions": [],
+ "classes": [
+ "InfluxDBTool"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "contrib.utils",
+ "module": "iqfeed-to-influxdb",
+ "functions": [],
+ "classes": [
+ "IQFeedTool"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.analyzer-annualreturn",
+ "module": "analyzer-annualreturn",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "LongShortStrategy"
+ ],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.bidask-to-ohlc",
+ "module": "bidask-to-ohlc",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.bracket",
+ "module": "bracket",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.btfd",
+ "module": "btfd",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St",
+ "ValueUnlever"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.calendar-days",
+ "module": "calendar-days",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.calmar",
+ "module": "calmar-test",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.cheat-on-open",
+ "module": "cheat-on-open",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.commission-schemes",
+ "module": "commission-schemes",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "SMACrossOver"
+ ],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.credit-interest",
+ "module": "credit-interest",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "NoExit",
+ "SMACrossOver",
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.data-bid-ask",
+ "module": "bidask",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "BidAskCSV",
+ "St"
+ ],
+ "function_signatures": {
+ "parse_args": [],
+ "runstrategy": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.data-filler",
+ "module": "data-filler",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.data-filler",
+ "module": "relativevolume",
+ "functions": [],
+ "classes": [
+ "RelativeVolume"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.data-multitimeframe",
+ "module": "data-multitimeframe",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "SMAStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.data-pandas",
+ "module": "data-pandas-optix",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "PandasDataOptix",
+ "StrategyOptix"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.data-pandas",
+ "module": "data-pandas",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.data-replay",
+ "module": "data-replay",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "SMAStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.data-resample",
+ "module": "data-resample",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.daysteps",
+ "module": "daysteps",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.future-spot",
+ "module": "future-spot",
+ "functions": [
+ "close_changer",
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "BuySellArrows",
+ "St"
+ ],
+ "function_signatures": {
+ "close_changer": [
+ "data"
+ ],
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.gold-vs-sp500",
+ "module": "gold-vs-sp500",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "MACrossOver",
+ "PearsonR"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.ib-cash-bid-ask",
+ "module": "ib-cash-bid-ask",
+ "functions": [
+ "run"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "run": [
+ "args"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.ibtest",
+ "module": "ibtest",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "TestStrategy"
+ ],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.kselrsi",
+ "module": "ksignal",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "TheStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "pargs"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.lineplotter",
+ "module": "lineplotter",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "pargs"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.lrsi",
+ "module": "lrsi-test",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.macd-settings",
+ "module": "macd-settings",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "FixedPerc",
+ "TheStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.memory-savings",
+ "module": "memory-savings",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St",
+ "TestInd"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.mixing-timeframes",
+ "module": "mixing-timeframes",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.multi-copy",
+ "module": "multi-copy",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "TheStrategy",
+ "TheStrategy2"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.multi-example",
+ "module": "mult-values",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St",
+ "TestSizer"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.multidata-strategy",
+ "module": "multidata-strategy-unaligned",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "MultiDataStrategy"
+ ],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.multidata-strategy",
+ "module": "multidata-strategy",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "MultiDataStrategy"
+ ],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.multitrades",
+ "module": "mtradeobserver",
+ "functions": [],
+ "classes": [
+ "MTradeObserver"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.multitrades",
+ "module": "multitrades",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "MultiTradeStrategy"
+ ],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.oandatest",
+ "module": "oandatest",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "TestStrategy"
+ ],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.observer-benchmark",
+ "module": "observer-benchmark",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.observers",
+ "module": "observers-default-drawdown",
+ "functions": [
+ "runstrat"
+ ],
+ "classes": [
+ "MyStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.observers",
+ "module": "observers-orderobserver",
+ "functions": [
+ "runstrat"
+ ],
+ "classes": [
+ "MyStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.observers",
+ "module": "orderobserver",
+ "functions": [],
+ "classes": [
+ "OrderObserver"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.oco",
+ "module": "oco",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.optimization",
+ "module": "optimization",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "OptimizeStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.order-close",
+ "module": "close-daily",
+ "functions": [
+ "getdata",
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "SessionEndFiller",
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "getdata": [
+ "args"
+ ],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.order-close",
+ "module": "close-minute",
+ "functions": [
+ "getdata",
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "getdata": [
+ "args"
+ ],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.order-execution",
+ "module": "order-execution",
+ "functions": [
+ "getdata",
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "OrderExecutionStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "getdata": [
+ "args"
+ ],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.order-history",
+ "module": "order-history",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "SmaCross",
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.order_target",
+ "module": "order_target",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "TheStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.partial-plot",
+ "module": "partial-plot",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.pinkfish-challenge",
+ "module": "pinkfish-challenge",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "DayStepsCloseFilter",
+ "DayStepsReplayFilter",
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.pivot-point",
+ "module": "pivotpoint",
+ "functions": [],
+ "classes": [
+ "PivotPoint",
+ "PivotPoint1"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.pivot-point",
+ "module": "ppsample",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.plot-same-axis",
+ "module": "plot-same-axis",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "PlotStrategy"
+ ],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.psar",
+ "module": "psar-intraday",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.psar",
+ "module": "psar",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samplesfolio2foliotest",
+ "module": "samplesfolio2foliotest",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samplesfoliotestfoliotest",
+ "module": "samplesfoliotestfoliotest",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "args"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.relative-volume",
+ "module": "relative-volume",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.relative-volume",
+ "module": "relvolbybar",
+ "functions": [],
+ "classes": [
+ "RelativeVolumeByBar"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.renko",
+ "module": "renko",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.resample-tickdata",
+ "module": "resample-tickdata",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.rollover",
+ "module": "rollover",
+ "functions": [
+ "checkdate",
+ "checkvolume",
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "TheStrategy"
+ ],
+ "function_signatures": {
+ "checkdate": [
+ "dt",
+ "d"
+ ],
+ "checkvolume": [
+ "d0",
+ "d1"
+ ],
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.sharpe-timereturn",
+ "module": "sharpe-timereturn",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "runstrat": [
+ "pargs"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.signals-strategy",
+ "module": "signals-strategy",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "SMACloseSignal",
+ "SMAExitSignal"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.sigsmacross",
+ "module": "sigsmacross",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "SmaCross"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "pargs"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.sigsmacross",
+ "module": "sigsmacross2",
+ "functions": [],
+ "classes": [
+ "SmaCross"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.sizertest",
+ "module": "sizertest",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "CloseSMA",
+ "FixedReverser",
+ "LongOnly"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.slippage",
+ "module": "slippage",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "SMACrossOver",
+ "SlipSt"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.sratio",
+ "module": "sratio",
+ "functions": [
+ "average",
+ "parse_args",
+ "run",
+ "standarddev",
+ "variance"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "average": [
+ "x"
+ ],
+ "variance": [
+ "x"
+ ],
+ "standarddev": [
+ "x"
+ ],
+ "run": [
+ "pargs"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.stop-trading",
+ "module": "stop-loss-approaches",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "AutoStopOrStopTrail",
+ "BaseStrategy",
+ "ManualStopOrStopTrail",
+ "ManualStopOrStopTrailCheat"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.stoptrail",
+ "module": "trail",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.strategy-selection",
+ "module": "strategy-selection",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St0",
+ "St1",
+ "StFetcher"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "pargs"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.talib",
+ "module": "tablibsartest",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "TALibStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.talib",
+ "module": "talibtest",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "TALibStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.timers",
+ "module": "scheduled-min",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.timers",
+ "module": "scheduled",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.tradingcalendar",
+ "module": "tcal-intra",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "NYSE_2016",
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.tradingcalendar",
+ "module": "tcal",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "NYSE_2016",
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "args"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.vctest",
+ "module": "vctest",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "TestStrategy"
+ ],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.volumefilling",
+ "module": "volumefilling",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.vwr",
+ "module": "vwr",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "runstrat": [
+ "pargs"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.weekdays-filler",
+ "module": "weekdaysaligner",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "St"
+ ],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.weekdays-filler",
+ "module": "weekdaysfiller",
+ "functions": [],
+ "classes": [
+ "WeekDaysFiller"
+ ],
+ "function_signatures": {},
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.writer-test",
+ "module": "writer-test",
+ "functions": [
+ "parse_args",
+ "runstrategy"
+ ],
+ "classes": [
+ "LongShortStrategy"
+ ],
+ "function_signatures": {
+ "runstrategy": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "samples.yahoo-test",
+ "module": "yahoo-test",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [],
+ "function_signatures": {
+ "runstrat": [],
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "tools",
+ "module": "rewrite-data",
+ "functions": [
+ "parse_args",
+ "runstrat"
+ ],
+ "classes": [
+ "RewriteStrategy"
+ ],
+ "function_signatures": {
+ "runstrat": [
+ "pargs"
+ ],
+ "parse_args": [
+ "pargs"
+ ]
+ },
+ "description": "Discovered via AST scan"
+ },
+ {
+ "package": "tools",
+ "module": "yahoodownload",
+ "functions": [
+ "parse_args"
+ ],
+ "classes": [
+ "YahooDownload"
+ ],
+ "function_signatures": {
+ "parse_args": []
+ },
+ "description": "Discovered via AST scan"
+ }
+ ],
+ "cli_commands": [
+ {
+ "name": "bt-run",
+ "module": "tools/bt-run.py",
+ "description": "Command-line tool to run backtrader scripts."
+ }
+ ],
+ "import_strategy": {
+ "primary": "import",
+ "fallback": "blackbox",
+ "confidence": 0.9
+ },
+ "dependencies": {
+ "required": [
+ "numpy",
+ "pandas",
+ "matplotlib"
+ ],
+ "optional": [
+ "scipy",
+ "pyfolio"
+ ]
+ },
+ "risk_assessment": {
+ "import_feasibility": 0.9,
+ "intrusiveness_risk": "low",
+ "complexity": "medium"
+ }
+ },
+ "deepwiki_analysis": {
+ "repo_url": "https://github.com/mementum/backtrader",
+ "repo_name": "backtrader",
+ "content": "mementum/backtrader\nCore Architecture\nOrders and Trades\nData Handling System\nLine Series and Buffers\nResampling and Replaying\nDate and Time Handling\nTechnical Indicators\nBasic Operations and Common Indicators\nMoving Averages and Oscillators\nCreating Custom Indicators\nPerformance Analysis\nVisualization\nWriters and Output\nLive Trading\nInteractive Brokers Integration\nOanda Integration\nVolume Filling and Slippage\nCommand Line Tools\nTesting and Development\n.travis.yml\nbacktrader/__init__.py\nbacktrader/broker.py\nbacktrader/cerebro.py\nbacktrader/order.py\nbacktrader/plot/__init__.py\nbacktrader/signal.py\nbacktrader/strategy.py\nbacktrader/trade.py\nbacktrader/version.py\nchangelog.txt\nsamples/stop-trading/stop-loss-approaches.py\ntests/test_order.py\nBacktrader is a feature-rich Python framework for developing, testing, and executing financial trading strategies. It provides a complete environment for backtesting strategies against historical data, optimizing parameters, and running strategies in live trading environments.\nThis wiki covers the key components, architecture, and features of the Backtrader framework. For detailed information about specific subsystems, refer to the respective wiki pages likeCore Architecture,Data Handling System, orTechnical Indicators.\nFramework Purpose\nBacktrader allows traders and developers to:\nDevelop and test trading strategies against historical market data\nPerform strategy optimization through parameter variations\nExecute strategies in real-time with live market data\nAnalyze trading performance with built-in metrics\nVisualize results with customizable plots\nThe framework supports both backtesting on historical data and live trading through various broker integrations.\nSources:README.rst69-101backtrader/version.py\nCore Components\n\"runs\"\"provides data to\"\"manages\"\"evaluates\"\"monitors\"\"uses\"\"places orders through\"\"stores data in\"\"stores results in\"\"stores observations in\"Cerebro+run()+plot()+addstrategy()+adddata()+addanalyzer()+addobserver()+setbroker()Strategy+next()+buy()+sell()+notify_order()+notify_trade()DataFeed+start()+_load()+next()Broker+buy()+sell()+getcash()+getvalue()+getposition()Analyzer+start()+stop()+get_analysis()Observer+lines+next()Indicator+lines+next()LineBuffer+getitem()+setitem()+forward()+backwards()\n\"provides data to\"\n\"evaluates\"\n\"places orders through\"\n\"stores data in\"\n\"stores results in\"\n\"stores observations in\"\n+addstrategy()\n+addanalyzer()\n+addobserver()\n+setbroker()\n+notify_order()\n+notify_trade()\n+getvalue()\n+getposition()\n+get_analysis()\n+backwards()\nThe main components of Backtrader include:\nCerebro: The central orchestrator that manages the entire backtesting or live trading process. It connects all other components and controls execution flow.\nCerebro: The central orchestrator that manages the entire backtesting or live trading process. It connects all other components and controls execution flow.\nStrategy: Contains the trading logic defined by the user. Strategies analyze data and indicators to determine when to enter or exit positions.\nStrategy: Contains the trading logic defined by the user. Strategies analyze data and indicators to determine when to enter or exit positions.\nData Feed: Provides market data (prices, volume, etc.) from various sources like CSV files, databases, or live feeds from brokers.\nData Feed: Provides market data (prices, volume, etc.) from various sources like CSV files, databases, or live feeds from brokers.\nBroker: Simulates or connects to real brokers for order execution. Handles order management, position tracking, and cash calculations.\nBroker: Simulates or connects to real brokers for order execution. Handles order management, position tracking, and cash calculations.\nIndicator: Technical analysis tools that transform raw data into trading signals or visualization aids.\nIndicator: Technical analysis tools that transform raw data into trading signals or visualization aids.\nAnalyzer: Evaluates strategy performance with metrics like Sharpe ratio, returns, drawdowns, etc.\nAnalyzer: Evaluates strategy performance with metrics like Sharpe ratio, returns, drawdowns, etc.\nObserver: Monitors and records the state of the system during execution (e.g., cash levels, equity value, trades).\nObserver: Monitors and records the state of the system during execution (e.g., cash levels, equity value, trades).\nLine Buffer: Core data structure that handles time-series data storage and access throughout the system.\nLine Buffer: Core data structure that handles time-series data storage and access throughout the system.\nSources:backtrader/cerebro.py60-294backtrader/strategy.py107-168backtrader/broker.py49-167\nData Flow Architecture\nAnalysis & OutputCore EngineData ProcessingData SourcesCSV FilesYahoo FinanceOanda APIInteractive BrokersOther SourcesData FeedFiltersResamplerReplayerCerebroDataSeriesStrategyBrokerIndicatorsObserversAnalyzersPlotWriter\nAnalysis & Output\nCore Engine\nData Processing\nData Sources\nYahoo Finance\nInteractive Brokers\nOther Sources\nThe diagram above illustrates how data flows through the Backtrader system:\nData sourcesprovide market information through various data feeds\nData processingcomponents transform and prepare the data (filtering, resampling)\nThecore engine(Cerebro) coordinates the interaction between data, strategy, and broker\nAnalysis and outputcomponents evaluate performance and generate visualizations\nSources:backtrader/__init__.py30-91backtrader/cerebro.py752-775\nExecution Flow\nAnalyzersBrokerStrategyDataFeedCerebroUserAnalyzersBrokerStrategyDataFeedCerebroUserloop[For each bar]createadddata(DataFeed)addstrategy(Strategy)addanalyzer(Analyzer)run()preload()data loadedstart()next()new barnext()buy()/sell()notify_order()notify_trade()stop()get_analysis()resultsreturn resultsplot()display charts\nThe sequence diagram above shows how a typical backtest executes:\nThe user creates a Cerebro instance and adds components (data, strategy, analyzers)\nCerebro loads the data and initializes the strategy\nFor each bar of data, Cerebro calls the strategy'snext()method\nThe strategy analyzes data and may place orders through the broker\nThe broker executes orders and notifies the strategy\nAfter all data is processed, Cerebro collects results from analyzers\nThe user can then plot the results or process them further\nSources:backtrader/cerebro.py1574-1662backtrader/strategy.py346-353\nOrder Types and Handling\nBacktrader supports a variety of order types for both backtesting and live trading:\nThe broker component handles order execution according to the order type and current market conditions.\nSources:backtrader/order.py242-245samples/stop-trading/stop-loss-approaches.py\nSystem Features\nKey features that make Backtrader a powerful trading platform:\nMultiple Data Feeds: Support for various data sources and the ability to use multiple data feeds simultaneously.\nMultiple Data Feeds: Support for various data sources and the ability to use multiple data feeds simultaneously.\nLine-based Data Management: Efficient handling of time series data through a specialized line-based system.\nLine-based Data Management: Efficient handling of time series data through a specialized line-based system.\nRich Indicator Library: Over 100 built-in technical indicators with support for custom indicators.\nRich Indicator Library: Over 100 built-in technical indicators with support for custom indicators.\nStrategy Development: Flexible framework for creating and testing trading strategies.\nStrategy Development: Flexible framework for creating and testing trading strategies.\nPerformance Analysis: Comprehensive tools for analyzing trading performance.\nPerformance Analysis: Comprehensive tools for analyzing trading performance.\nVisualization: Built-in plotting capabilities for strategies, indicators, and results.\nVisualization: Built-in plotting capabilities for strategies, indicators, and results.\nOptimization: Parameter optimization through parallel processing.\nOptimization: Parameter optimization through parallel processing.\nLive Trading: Integration with brokers for real-time trading.\nLive Trading: Integration with brokers for real-time trading.\nCustomization: Extensible architecture that allows for customization at various levels.\nCustomization: Extensible architecture that allows for customization at various levels.\nSources:README.rst66-101changelog.txt1-50\nSystem Requirements and Installation\nBacktrader supports:\nPython 3.2 and above\nOptional dependency on matplotlib (version 1.4.1 or higher) for plotting capabilities\nAdditional dependencies for specific functionality:IbPy for Interactive Brokers integrationoandapy for Oanda integrationpytz for timezone supportpandas/blaze for additional data handling\nIbPy for Interactive Brokers integration\noandapy for Oanda integration\npytz for timezone support\npandas/blaze for additional data handling\nInstallation:\npip install backtrader # Basic installation\npip install backtrader[plotting] # With plotting support\npip install backtrader # Basic installation\npip install backtrader[plotting] # With plotting support\nSources:README.rst118-153setup.py43-137\nVersion Information\nBacktrader uses a version numbering scheme: X.Y.Z.I\nX: Major version number (changes for significant alterations)\nY: Minor version number (new features or API changes)\nZ: Revision number (documentation updates, small changes, bug fixes)\nI: Number of indicators built into the platform\nThe current version is defined in the version.py file.\nSources:README.rst159-170backtrader/version.py25-27\nRefresh this wiki\nOn this page\nFramework Purpose\nCore Components\nData Flow Architecture\nExecution Flow\nOrder Types and Handling\nSystem Features\nSystem Requirements and Installation\nVersion Information",
+ "model": "gpt-4o-2024-08-06",
+ "source": "selenium",
+ "success": true
+ },
+ "deepwiki_options": {
+ "enabled": true,
+ "model": "gpt-4o-2024-08-06"
+ },
+ "risk": {
+ "import_feasibility": 0.9,
+ "intrusiveness_risk": "low",
+ "complexity": "medium"
+ }
+}
\ No newline at end of file
diff --git a/backtrader/mcp_output/diff_report.md b/backtrader/mcp_output/diff_report.md
new file mode 100644
index 0000000000000000000000000000000000000000..ece4f2f010fd2eb571e3c6158249ed3148552cc8
--- /dev/null
+++ b/backtrader/mcp_output/diff_report.md
@@ -0,0 +1,77 @@
+# Backtrader Project Difference Report
+
+**Date:** February 5, 2026
+**Time:** 11:22:19
+**Repository:** Backtrader
+**Project Type:** Python Library
+**Main Features:** Basic Functionality
+**Intrusiveness:** None
+**Workflow Status:** Success
+**Test Status:** Failed
+
+## Project Overview
+
+Backtrader is a Python library designed for backtesting trading strategies. It provides a flexible and user-friendly environment for traders and developers to simulate trading strategies using historical data. The library supports various data feeds, indicators, and execution models, making it a popular choice for quantitative trading research.
+
+## Difference Analysis
+
+### New Files Added
+
+In this update, 8 new files have been introduced to the repository. These files likely contain new features, enhancements, or additional documentation. However, no existing files have been modified, indicating that the new additions are supplementary rather than alterations to the core functionality.
+
+### Modified Files
+
+There are no modified files in this update, suggesting that the existing codebase remains unchanged. This could imply that the new files are designed to extend the library's capabilities without affecting the current functionality.
+
+### Workflow and Test Status
+
+- **Workflow Status:** Success
+ The workflow status indicates that the integration and deployment processes were executed successfully, with no errors encountered during the build and deployment stages.
+
+- **Test Status:** Failed
+ Despite the successful workflow, the test status is marked as failed. This suggests that the new additions may have introduced issues or that existing tests do not cover the new functionality adequately.
+
+## Technical Analysis
+
+The introduction of 8 new files without any modifications to existing files suggests a modular approach to extending the library's capabilities. However, the failure in testing indicates potential issues that need to be addressed:
+
+- **Potential Causes for Test Failures:**
+ - Insufficient test coverage for new features.
+ - Incompatibility between new files and existing code.
+ - Errors or bugs within the new files themselves.
+
+## Recommendations and Improvements
+
+1. **Enhance Test Coverage:**
+ - Develop comprehensive test cases for the new files to ensure they function as intended.
+ - Integrate these tests into the existing test suite to maintain overall code quality.
+
+2. **Review New Files:**
+ - Conduct a thorough code review of the new files to identify any potential issues or areas for improvement.
+ - Ensure that the new files adhere to the project's coding standards and best practices.
+
+3. **Debug and Resolve Test Failures:**
+ - Investigate the cause of the test failures and implement necessary fixes.
+ - Re-run the test suite to confirm that all issues have been resolved.
+
+## Deployment Information
+
+The successful workflow status indicates that the deployment process was completed without any issues. However, given the test failures, it is advisable to hold off on deploying the new version to production until all test issues are resolved.
+
+## Future Planning
+
+- **Short-term Goals:**
+ - Address the current test failures and ensure all new features are stable and reliable.
+ - Update documentation to reflect the new features and provide guidance for users.
+
+- **Long-term Goals:**
+ - Continue to expand the library's functionality while maintaining code quality and stability.
+ - Explore opportunities for community engagement to gather feedback and contributions.
+
+## Conclusion
+
+The recent update to the Backtrader project introduces new features through 8 additional files. While the workflow was successful, the test failures highlight the need for further testing and debugging. By addressing these issues and enhancing test coverage, the project can continue to provide a robust platform for backtesting trading strategies.
+
+---
+
+This report provides a comprehensive overview of the recent changes to the Backtrader project, along with recommendations for addressing current challenges and planning for future development.
\ No newline at end of file
diff --git a/backtrader/mcp_output/mcp_plugin/__init__.py b/backtrader/mcp_output/mcp_plugin/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/backtrader/mcp_output/mcp_plugin/adapter.py b/backtrader/mcp_output/mcp_plugin/adapter.py
new file mode 100644
index 0000000000000000000000000000000000000000..b38726d4dd23c2d46c8620cc75dfa97286a72495
--- /dev/null
+++ b/backtrader/mcp_output/mcp_plugin/adapter.py
@@ -0,0 +1,194 @@
+import os
+import sys
+
+# Path settings
+source_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), "source")
+sys.path.insert(0, source_path)
+
+# Import statements
+try:
+ from contrib.samples.pair_trading.pair_trading import parse_args as pair_trading_parse_args, runstrategy as pair_trading_runstrategy, PairTradingStrategy
+ from contrib.utils.influxdb_import import InfluxDBTool
+ from contrib.utils.iqfeed_to_influxdb import IQFeedTool
+ from samples.analyzer_annualreturn.analyzer_annualreturn import parse_args as annualreturn_parse_args, runstrategy as annualreturn_runstrategy, LongShortStrategy
+ from samples.bidask_to_ohlc.bidask_to_ohlc import parse_args as bidask_parse_args, runstrat as bidask_runstrat, St
+ from samples.bracket.bracket import parse_args as bracket_parse_args
+except ImportError as e:
+ print(f"Import failed: {e}. Please ensure all modules are available in the source directory.")
+
+# Adapter class
+class Adapter:
+ """
+ Adapter class to interface with various components of the backtrader plugin.
+ """
+
+ def __init__(self):
+ self.mode = "import"
+
+ # Pair Trading Module
+ # -------------------------------------------------------------------------
+ def pair_trading_parse_args(self, *args, **kwargs):
+ """
+ Parse arguments for pair trading strategy.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ result = pair_trading_parse_args(*args, **kwargs)
+ return {"status": "success", "result": result}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
+
+ def pair_trading_runstrategy(self, *args, **kwargs):
+ """
+ Run the pair trading strategy.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ result = pair_trading_runstrategy(*args, **kwargs)
+ return {"status": "success", "result": result}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
+
+ def create_pair_trading_strategy(self):
+ """
+ Create an instance of PairTradingStrategy.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ strategy = PairTradingStrategy()
+ return {"status": "success", "strategy": strategy}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
+
+ # InfluxDB Tool Module
+ # -------------------------------------------------------------------------
+ def create_influxdb_tool(self):
+ """
+ Create an instance of InfluxDBTool.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ tool = InfluxDBTool()
+ return {"status": "success", "tool": tool}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
+
+ # IQFeed Tool Module
+ # -------------------------------------------------------------------------
+ def create_iqfeed_tool(self):
+ """
+ Create an instance of IQFeedTool.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ tool = IQFeedTool()
+ return {"status": "success", "tool": tool}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
+
+ # Annual Return Analyzer Module
+ # -------------------------------------------------------------------------
+ def annualreturn_parse_args(self, *args, **kwargs):
+ """
+ Parse arguments for annual return strategy.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ result = annualreturn_parse_args(*args, **kwargs)
+ return {"status": "success", "result": result}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
+
+ def annualreturn_runstrategy(self, *args, **kwargs):
+ """
+ Run the annual return strategy.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ result = annualreturn_runstrategy(*args, **kwargs)
+ return {"status": "success", "result": result}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
+
+ def create_long_short_strategy(self):
+ """
+ Create an instance of LongShortStrategy.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ strategy = LongShortStrategy()
+ return {"status": "success", "strategy": strategy}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
+
+ # Bid-Ask to OHLC Module
+ # -------------------------------------------------------------------------
+ def bidask_parse_args(self, *args, **kwargs):
+ """
+ Parse arguments for bid-ask to OHLC strategy.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ result = bidask_parse_args(*args, **kwargs)
+ return {"status": "success", "result": result}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
+
+ def bidask_runstrat(self, *args, **kwargs):
+ """
+ Run the bid-ask to OHLC strategy.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ result = bidask_runstrat(*args, **kwargs)
+ return {"status": "success", "result": result}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
+
+ def create_st(self):
+ """
+ Create an instance of St.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ st_instance = St()
+ return {"status": "success", "st_instance": st_instance}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
+
+ # Bracket Module
+ # -------------------------------------------------------------------------
+ def bracket_parse_args(self, *args, **kwargs):
+ """
+ Parse arguments for bracket strategy.
+
+ Returns:
+ dict: Status of the operation.
+ """
+ try:
+ result = bracket_parse_args(*args, **kwargs)
+ return {"status": "success", "result": result}
+ except Exception as e:
+ return {"status": "error", "message": str(e)}
\ No newline at end of file
diff --git a/backtrader/mcp_output/mcp_plugin/main.py b/backtrader/mcp_output/mcp_plugin/main.py
new file mode 100644
index 0000000000000000000000000000000000000000..fca6ec384e22f703b287550e94cc00baaaa4c4a7
--- /dev/null
+++ b/backtrader/mcp_output/mcp_plugin/main.py
@@ -0,0 +1,13 @@
+"""
+MCP Service Auto-Wrapper - Auto-generated
+"""
+from mcp_service import create_app
+
+def main():
+ """Main entry point"""
+ app = create_app()
+ return app
+
+if __name__ == "__main__":
+ app = main()
+ app.run()
\ No newline at end of file
diff --git a/backtrader/mcp_output/mcp_plugin/mcp_service.py b/backtrader/mcp_output/mcp_plugin/mcp_service.py
new file mode 100644
index 0000000000000000000000000000000000000000..5cb6dc19f58fd047a0370e8046b43d117d40cf92
--- /dev/null
+++ b/backtrader/mcp_output/mcp_plugin/mcp_service.py
@@ -0,0 +1,302 @@
+import os
+import sys
+
+source_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), "source")
+if source_path not in sys.path:
+ sys.path.insert(0, source_path)
+
+from fastmcp import FastMCP
+
+from contrib.samples.pair-trading import parse_args, runstrategy, PairTradingStrategy
+from contrib.utils.influxdb-import import InfluxDBTool
+from contrib.utils.iqfeed-to-influxdb import IQFeedTool
+from samples.analyzer-annualreturn import parse_args, LongShortStrategy, runstrategy
+from samples.bidask-to-ohlc import runstrat, parse_args, St
+from samples.bracket import parse_args
+
+mcp = FastMCP("unknown_service")
+
+
+@mcp.tool(name="parse_args", description="Auto-wrapped function parse_args")
+def parse_args(payload: dict):
+ try:
+ if parse_args is None:
+ return {"success": False, "result": None, "error": "Function parse_args is not available"}
+ result = parse_args(**payload)
+ return {"success": True, "result": result, "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+@mcp.tool(name="runstrategy", description="Auto-wrapped function runstrategy")
+def runstrategy(payload: dict):
+ try:
+ if runstrategy is None:
+ return {"success": False, "result": None, "error": "Function runstrategy is not available"}
+ result = runstrategy(**payload)
+ return {"success": True, "result": result, "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+@mcp.tool(name="pairtradingstrategy", description="PairTradingStrategy class")
+def pairtradingstrategy(*args, **kwargs):
+ """PairTradingStrategy class"""
+ try:
+ if PairTradingStrategy is None:
+ return {"success": False, "result": None, "error": "Class PairTradingStrategy is not available, path may need adjustment"}
+
+ # MCP parameter type conversion
+ converted_args = []
+ converted_kwargs = kwargs.copy()
+
+ # Handle position argument type conversion
+ for arg in args:
+ if isinstance(arg, str):
+ # Try to convert to numeric type
+ try:
+ if '.' in arg:
+ converted_args.append(float(arg))
+ else:
+ converted_args.append(int(arg))
+ except ValueError:
+ converted_args.append(arg)
+ else:
+ converted_args.append(arg)
+
+ # Handle keyword argument type conversion
+ for key, value in converted_kwargs.items():
+ if isinstance(value, str):
+ try:
+ if '.' in value:
+ converted_kwargs[key] = float(value)
+ else:
+ converted_kwargs[key] = int(value)
+ except ValueError:
+ pass
+
+ instance = PairTradingStrategy(*converted_args, **converted_kwargs)
+ return {"success": True, "result": str(instance), "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+@mcp.tool(name="influxdbtool", description="InfluxDBTool class")
+def influxdbtool(*args, **kwargs):
+ """InfluxDBTool class"""
+ try:
+ if InfluxDBTool is None:
+ return {"success": False, "result": None, "error": "Class InfluxDBTool is not available, path may need adjustment"}
+
+ # MCP parameter type conversion
+ converted_args = []
+ converted_kwargs = kwargs.copy()
+
+ # Handle position argument type conversion
+ for arg in args:
+ if isinstance(arg, str):
+ # Try to convert to numeric type
+ try:
+ if '.' in arg:
+ converted_args.append(float(arg))
+ else:
+ converted_args.append(int(arg))
+ except ValueError:
+ converted_args.append(arg)
+ else:
+ converted_args.append(arg)
+
+ # Handle keyword argument type conversion
+ for key, value in converted_kwargs.items():
+ if isinstance(value, str):
+ try:
+ if '.' in value:
+ converted_kwargs[key] = float(value)
+ else:
+ converted_kwargs[key] = int(value)
+ except ValueError:
+ pass
+
+ instance = InfluxDBTool(*converted_args, **converted_kwargs)
+ return {"success": True, "result": str(instance), "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+@mcp.tool(name="iqfeedtool", description="IQFeedTool class")
+def iqfeedtool(*args, **kwargs):
+ """IQFeedTool class"""
+ try:
+ if IQFeedTool is None:
+ return {"success": False, "result": None, "error": "Class IQFeedTool is not available, path may need adjustment"}
+
+ # MCP parameter type conversion
+ converted_args = []
+ converted_kwargs = kwargs.copy()
+
+ # Handle position argument type conversion
+ for arg in args:
+ if isinstance(arg, str):
+ # Try to convert to numeric type
+ try:
+ if '.' in arg:
+ converted_args.append(float(arg))
+ else:
+ converted_args.append(int(arg))
+ except ValueError:
+ converted_args.append(arg)
+ else:
+ converted_args.append(arg)
+
+ # Handle keyword argument type conversion
+ for key, value in converted_kwargs.items():
+ if isinstance(value, str):
+ try:
+ if '.' in value:
+ converted_kwargs[key] = float(value)
+ else:
+ converted_kwargs[key] = int(value)
+ except ValueError:
+ pass
+
+ instance = IQFeedTool(*converted_args, **converted_kwargs)
+ return {"success": True, "result": str(instance), "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+@mcp.tool(name="parse_args", description="Auto-wrapped function parse_args")
+def parse_args(payload: dict):
+ try:
+ if parse_args is None:
+ return {"success": False, "result": None, "error": "Function parse_args is not available"}
+ result = parse_args(**payload)
+ return {"success": True, "result": result, "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+@mcp.tool(name="runstrategy", description="Auto-wrapped function runstrategy")
+def runstrategy(payload: dict):
+ try:
+ if runstrategy is None:
+ return {"success": False, "result": None, "error": "Function runstrategy is not available"}
+ result = runstrategy(**payload)
+ return {"success": True, "result": result, "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+@mcp.tool(name="longshortstrategy", description="LongShortStrategy class")
+def longshortstrategy(*args, **kwargs):
+ """LongShortStrategy class"""
+ try:
+ if LongShortStrategy is None:
+ return {"success": False, "result": None, "error": "Class LongShortStrategy is not available, path may need adjustment"}
+
+ # MCP parameter type conversion
+ converted_args = []
+ converted_kwargs = kwargs.copy()
+
+ # Handle position argument type conversion
+ for arg in args:
+ if isinstance(arg, str):
+ # Try to convert to numeric type
+ try:
+ if '.' in arg:
+ converted_args.append(float(arg))
+ else:
+ converted_args.append(int(arg))
+ except ValueError:
+ converted_args.append(arg)
+ else:
+ converted_args.append(arg)
+
+ # Handle keyword argument type conversion
+ for key, value in converted_kwargs.items():
+ if isinstance(value, str):
+ try:
+ if '.' in value:
+ converted_kwargs[key] = float(value)
+ else:
+ converted_kwargs[key] = int(value)
+ except ValueError:
+ pass
+
+ instance = LongShortStrategy(*converted_args, **converted_kwargs)
+ return {"success": True, "result": str(instance), "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+@mcp.tool(name="parse_args", description="Auto-wrapped function parse_args")
+def parse_args(payload: dict):
+ try:
+ if parse_args is None:
+ return {"success": False, "result": None, "error": "Function parse_args is not available"}
+ result = parse_args(**payload)
+ return {"success": True, "result": result, "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+@mcp.tool(name="runstrat", description="Auto-wrapped function runstrat")
+def runstrat(payload: dict):
+ try:
+ if runstrat is None:
+ return {"success": False, "result": None, "error": "Function runstrat is not available"}
+ result = runstrat(**payload)
+ return {"success": True, "result": result, "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+@mcp.tool(name="st", description="St class")
+def st(*args, **kwargs):
+ """St class"""
+ try:
+ if St is None:
+ return {"success": False, "result": None, "error": "Class St is not available, path may need adjustment"}
+
+ # MCP parameter type conversion
+ converted_args = []
+ converted_kwargs = kwargs.copy()
+
+ # Handle position argument type conversion
+ for arg in args:
+ if isinstance(arg, str):
+ # Try to convert to numeric type
+ try:
+ if '.' in arg:
+ converted_args.append(float(arg))
+ else:
+ converted_args.append(int(arg))
+ except ValueError:
+ converted_args.append(arg)
+ else:
+ converted_args.append(arg)
+
+ # Handle keyword argument type conversion
+ for key, value in converted_kwargs.items():
+ if isinstance(value, str):
+ try:
+ if '.' in value:
+ converted_kwargs[key] = float(value)
+ else:
+ converted_kwargs[key] = int(value)
+ except ValueError:
+ pass
+
+ instance = St(*converted_args, **converted_kwargs)
+ return {"success": True, "result": str(instance), "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+@mcp.tool(name="parse_args", description="Auto-wrapped function parse_args")
+def parse_args(payload: dict):
+ try:
+ if parse_args is None:
+ return {"success": False, "result": None, "error": "Function parse_args is not available"}
+ result = parse_args(**payload)
+ return {"success": True, "result": result, "error": None}
+ except Exception as e:
+ return {"success": False, "result": None, "error": str(e)}
+
+
+
+def create_app():
+ """Create and return FastMCP application instance"""
+ return mcp
+
+if __name__ == "__main__":
+ mcp.run(transport="http", host="0.0.0.0", port=8000)
\ No newline at end of file
diff --git a/backtrader/mcp_output/requirements.txt b/backtrader/mcp_output/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a8456976b0258d48b59fe56d8c2b87426f3e75c8
--- /dev/null
+++ b/backtrader/mcp_output/requirements.txt
@@ -0,0 +1,8 @@
+fastmcp
+fastapi
+uvicorn[standard]
+pydantic>=2.0.0
+six
+numpy
+pandas
+matplotlib
diff --git a/backtrader/mcp_output/start_mcp.py b/backtrader/mcp_output/start_mcp.py
new file mode 100644
index 0000000000000000000000000000000000000000..fc7fcbd9646ad53f089fc94af8129043a703325a
--- /dev/null
+++ b/backtrader/mcp_output/start_mcp.py
@@ -0,0 +1,30 @@
+
+"""
+MCP Service Startup Entry
+"""
+import sys
+import os
+
+project_root = os.path.dirname(os.path.abspath(__file__))
+mcp_plugin_dir = os.path.join(project_root, "mcp_plugin")
+if mcp_plugin_dir not in sys.path:
+ sys.path.insert(0, mcp_plugin_dir)
+
+from mcp_service import create_app
+
+def main():
+ """Start FastMCP service"""
+ app = create_app()
+ # Use environment variable to configure port, default 8000
+ port = int(os.environ.get("MCP_PORT", "8000"))
+
+ # Choose transport mode based on environment variable
+ transport = os.environ.get("MCP_TRANSPORT", "stdio")
+ if transport == "http":
+ app.run(transport="http", host="0.0.0.0", port=port)
+ else:
+ # Default to STDIO mode
+ app.run()
+
+if __name__ == "__main__":
+ main()
diff --git a/backtrader/mcp_output/workflow_summary.json b/backtrader/mcp_output/workflow_summary.json
new file mode 100644
index 0000000000000000000000000000000000000000..2a0acce7c2ba0b4b5292379b47b71f77d2939e6f
--- /dev/null
+++ b/backtrader/mcp_output/workflow_summary.json
@@ -0,0 +1,215 @@
+{
+ "repository": {
+ "name": "backtrader",
+ "url": "https://github.com/mementum/backtrader",
+ "local_path": "/export/zxcpu1/shiweijie/code/ghh/Code2MCP/workspace/backtrader",
+ "description": "Python library",
+ "features": "Basic functionality",
+ "tech_stack": "Python",
+ "stars": 0,
+ "forks": 0,
+ "language": "Python",
+ "last_updated": "",
+ "complexity": "medium",
+ "intrusiveness_risk": "low"
+ },
+ "execution": {
+ "start_time": 1770261550.299908,
+ "end_time": 1770261656.5187547,
+ "duration": 106.21884679794312,
+ "status": "success",
+ "workflow_status": "success",
+ "nodes_executed": [
+ "download",
+ "analysis",
+ "env",
+ "generate",
+ "run",
+ "review",
+ "finalize"
+ ],
+ "total_files_processed": 16,
+ "environment_type": "unknown",
+ "llm_calls": 0,
+ "deepwiki_calls": 0
+ },
+ "tests": {
+ "original_project": {
+ "passed": false,
+ "details": {},
+ "test_coverage": "100%",
+ "execution_time": 0,
+ "test_files": []
+ },
+ "mcp_plugin": {
+ "passed": true,
+ "details": {},
+ "service_health": "healthy",
+ "startup_time": 0,
+ "transport_mode": "stdio",
+ "fastmcp_version": "unknown",
+ "mcp_version": "unknown"
+ }
+ },
+ "analysis": {
+ "structure": {
+ "packages": [
+ "source.backtrader",
+ "source.backtrader.analyzers",
+ "source.backtrader.brokers",
+ "source.backtrader.btrun",
+ "source.backtrader.commissions",
+ "source.backtrader.feeds",
+ "source.backtrader.filters",
+ "source.backtrader.indicators",
+ "source.backtrader.observers",
+ "source.backtrader.plot",
+ "source.backtrader.signals",
+ "source.backtrader.sizers",
+ "source.backtrader.stores",
+ "source.backtrader.strategies",
+ "source.backtrader.studies",
+ "source.backtrader.utils"
+ ]
+ },
+ "dependencies": {
+ "has_environment_yml": false,
+ "has_requirements_txt": false,
+ "pyproject": false,
+ "setup_cfg": false,
+ "setup_py": true
+ },
+ "entry_points": {
+ "imports": [],
+ "cli": [],
+ "modules": []
+ },
+ "risk_assessment": {
+ "import_feasibility": 0.9,
+ "intrusiveness_risk": "low",
+ "complexity": "medium"
+ },
+ "deepwiki_analysis": {
+ "repo_url": "https://github.com/mementum/backtrader",
+ "repo_name": "backtrader",
+ "content": "mementum/backtrader\nCore Architecture\nOrders and Trades\nData Handling System\nLine Series and Buffers\nResampling and Replaying\nDate and Time Handling\nTechnical Indicators\nBasic Operations and Common Indicators\nMoving Averages and Oscillators\nCreating Custom Indicators\nPerformance Analysis\nVisualization\nWriters and Output\nLive Trading\nInteractive Brokers Integration\nOanda Integration\nVolume Filling and Slippage\nCommand Line Tools\nTesting and Development\n.travis.yml\nbacktrader/__init__.py\nbacktrader/broker.py\nbacktrader/cerebro.py\nbacktrader/order.py\nbacktrader/plot/__init__.py\nbacktrader/signal.py\nbacktrader/strategy.py\nbacktrader/trade.py\nbacktrader/version.py\nchangelog.txt\nsamples/stop-trading/stop-loss-approaches.py\ntests/test_order.py\nBacktrader is a feature-rich Python framework for developing, testing, and executing financial trading strategies. It provides a complete environment for backtesting strategies against historical data, optimizing parameters, and running strategies in live trading environments.\nThis wiki covers the key components, architecture, and features of the Backtrader framework. For detailed information about specific subsystems, refer to the respective wiki pages likeCore Architecture,Data Handling System, orTechnical Indicators.\nFramework Purpose\nBacktrader allows traders and developers to:\nDevelop and test trading strategies against historical market data\nPerform strategy optimization through parameter variations\nExecute strategies in real-time with live market data\nAnalyze trading performance with built-in metrics\nVisualize results with customizable plots\nThe framework supports both backtesting on historical data and live trading through various broker integrations.\nSources:README.rst69-101backtrader/version.py\nCore Components\n\"runs\"\"provides data to\"\"manages\"\"evaluates\"\"monitors\"\"uses\"\"places orders through\"\"stores data in\"\"stores results in\"\"stores observations in\"Cerebro+run()+plot()+addstrategy()+adddata()+addanalyzer()+addobserver()+setbroker()Strategy+next()+buy()+sell()+notify_order()+notify_trade()DataFeed+start()+_load()+next()Broker+buy()+sell()+getcash()+getvalue()+getposition()Analyzer+start()+stop()+get_analysis()Observer+lines+next()Indicator+lines+next()LineBuffer+getitem()+setitem()+forward()+backwards()\n\"provides data to\"\n\"evaluates\"\n\"places orders through\"\n\"stores data in\"\n\"stores results in\"\n\"stores observations in\"\n+addstrategy()\n+addanalyzer()\n+addobserver()\n+setbroker()\n+notify_order()\n+notify_trade()\n+getvalue()\n+getposition()\n+get_analysis()\n+backwards()\nThe main components of Backtrader include:\nCerebro: The central orchestrator that manages the entire backtesting or live trading process. It connects all other components and controls execution flow.\nCerebro: The central orchestrator that manages the entire backtesting or live trading process. It connects all other components and controls execution flow.\nStrategy: Contains the trading logic defined by the user. Strategies analyze data and indicators to determine when to enter or exit positions.\nStrategy: Contains the trading logic defined by the user. Strategies analyze data and indicators to determine when to enter or exit positions.\nData Feed: Provides market data (prices, volume, etc.) from various sources like CSV files, databases, or live feeds from brokers.\nData Feed: Provides market data (prices, volume, etc.) from various sources like CSV files, databases, or live feeds from brokers.\nBroker: Simulates or connects to real brokers for order execution. Handles order management, position tracking, and cash calculations.\nBroker: Simulates or connects to real brokers for order execution. Handles order management, position tracking, and cash calculations.\nIndicator: Technical analysis tools that transform raw data into trading signals or visualization aids.\nIndicator: Technical analysis tools that transform raw data into trading signals or visualization aids.\nAnalyzer: Evaluates strategy performance with metrics like Sharpe ratio, returns, drawdowns, etc.\nAnalyzer: Evaluates strategy performance with metrics like Sharpe ratio, returns, drawdowns, etc.\nObserver: Monitors and records the state of the system during execution (e.g., cash levels, equity value, trades).\nObserver: Monitors and records the state of the system during execution (e.g., cash levels, equity value, trades).\nLine Buffer: Core data structure that handles time-series data storage and access throughout the system.\nLine Buffer: Core data structure that handles time-series data storage and access throughout the system.\nSources:backtrader/cerebro.py60-294backtrader/strategy.py107-168backtrader/broker.py49-167\nData Flow Architecture\nAnalysis & OutputCore EngineData ProcessingData SourcesCSV FilesYahoo FinanceOanda APIInteractive BrokersOther SourcesData FeedFiltersResamplerReplayerCerebroDataSeriesStrategyBrokerIndicatorsObserversAnalyzersPlotWriter\nAnalysis & Output\nCore Engine\nData Processing\nData Sources\nYahoo Finance\nInteractive Brokers\nOther Sources\nThe diagram above illustrates how data flows through the Backtrader system:\nData sourcesprovide market information through various data feeds\nData processingcomponents transform and prepare the data (filtering, resampling)\nThecore engine(Cerebro) coordinates the interaction between data, strategy, and broker\nAnalysis and outputcomponents evaluate performance and generate visualizations\nSources:backtrader/__init__.py30-91backtrader/cerebro.py752-775\nExecution Flow\nAnalyzersBrokerStrategyDataFeedCerebroUserAnalyzersBrokerStrategyDataFeedCerebroUserloop[For each bar]createadddata(DataFeed)addstrategy(Strategy)addanalyzer(Analyzer)run()preload()data loadedstart()next()new barnext()buy()/sell()notify_order()notify_trade()stop()get_analysis()resultsreturn resultsplot()display charts\nThe sequence diagram above shows how a typical backtest executes:\nThe user creates a Cerebro instance and adds components (data, strategy, analyzers)\nCerebro loads the data and initializes the strategy\nFor each bar of data, Cerebro calls the strategy'snext()method\nThe strategy analyzes data and may place orders through the broker\nThe broker executes orders and notifies the strategy\nAfter all data is processed, Cerebro collects results from analyzers\nThe user can then plot the results or process them further\nSources:backtrader/cerebro.py1574-1662backtrader/strategy.py346-353\nOrder Types and Handling\nBacktrader supports a variety of order types for both backtesting and live trading:\nThe broker component handles order execution according to the order type and current market conditions.\nSources:backtrader/order.py242-245samples/stop-trading/stop-loss-approaches.py\nSystem Features\nKey features that make Backtrader a powerful trading platform:\nMultiple Data Feeds: Support for various data sources and the ability to use multiple data feeds simultaneously.\nMultiple Data Feeds: Support for various data sources and the ability to use multiple data feeds simultaneously.\nLine-based Data Management: Efficient handling of time series data through a specialized line-based system.\nLine-based Data Management: Efficient handling of time series data through a specialized line-based system.\nRich Indicator Library: Over 100 built-in technical indicators with support for custom indicators.\nRich Indicator Library: Over 100 built-in technical indicators with support for custom indicators.\nStrategy Development: Flexible framework for creating and testing trading strategies.\nStrategy Development: Flexible framework for creating and testing trading strategies.\nPerformance Analysis: Comprehensive tools for analyzing trading performance.\nPerformance Analysis: Comprehensive tools for analyzing trading performance.\nVisualization: Built-in plotting capabilities for strategies, indicators, and results.\nVisualization: Built-in plotting capabilities for strategies, indicators, and results.\nOptimization: Parameter optimization through parallel processing.\nOptimization: Parameter optimization through parallel processing.\nLive Trading: Integration with brokers for real-time trading.\nLive Trading: Integration with brokers for real-time trading.\nCustomization: Extensible architecture that allows for customization at various levels.\nCustomization: Extensible architecture that allows for customization at various levels.\nSources:README.rst66-101changelog.txt1-50\nSystem Requirements and Installation\nBacktrader supports:\nPython 3.2 and above\nOptional dependency on matplotlib (version 1.4.1 or higher) for plotting capabilities\nAdditional dependencies for specific functionality:IbPy for Interactive Brokers integrationoandapy for Oanda integrationpytz for timezone supportpandas/blaze for additional data handling\nIbPy for Interactive Brokers integration\noandapy for Oanda integration\npytz for timezone support\npandas/blaze for additional data handling\nInstallation:\npip install backtrader # Basic installation\npip install backtrader[plotting] # With plotting support\npip install backtrader # Basic installation\npip install backtrader[plotting] # With plotting support\nSources:README.rst118-153setup.py43-137\nVersion Information\nBacktrader uses a version numbering scheme: X.Y.Z.I\nX: Major version number (changes for significant alterations)\nY: Minor version number (new features or API changes)\nZ: Revision number (documentation updates, small changes, bug fixes)\nI: Number of indicators built into the platform\nThe current version is defined in the version.py file.\nSources:README.rst159-170backtrader/version.py25-27\nRefresh this wiki\nOn this page\nFramework Purpose\nCore Components\nData Flow Architecture\nExecution Flow\nOrder Types and Handling\nSystem Features\nSystem Requirements and Installation\nVersion Information",
+ "model": "gpt-4o-2024-08-06",
+ "source": "selenium",
+ "success": true
+ },
+ "code_complexity": {
+ "cyclomatic_complexity": "medium",
+ "cognitive_complexity": "medium",
+ "maintainability_index": 75
+ },
+ "security_analysis": {
+ "vulnerabilities_found": 0,
+ "security_score": 85,
+ "recommendations": []
+ }
+ },
+ "plugin_generation": {
+ "files_created": [
+ "mcp_output/start_mcp.py",
+ "mcp_output/mcp_plugin/__init__.py",
+ "mcp_output/mcp_plugin/mcp_service.py",
+ "mcp_output/mcp_plugin/adapter.py",
+ "mcp_output/mcp_plugin/main.py",
+ "mcp_output/requirements.txt",
+ "mcp_output/README_MCP.md"
+ ],
+ "main_entry": "start_mcp.py",
+ "requirements": [
+ "fastmcp>=0.1.0",
+ "pydantic>=2.0.0"
+ ],
+ "readme_path": "/export/zxcpu1/shiweijie/code/ghh/Code2MCP/workspace/backtrader/mcp_output/README_MCP.md",
+ "adapter_mode": "import",
+ "total_lines_of_code": 0,
+ "generated_files_size": 0,
+ "tool_endpoints": 0,
+ "supported_features": [
+ "Basic functionality"
+ ],
+ "generated_tools": [
+ "Basic tools",
+ "Health check tools",
+ "Version info tools"
+ ]
+ },
+ "code_review": {},
+ "errors": [],
+ "warnings": [],
+ "recommendations": [
+ "Improve test coverage by adding more unit tests",
+ "Implement continuous integration using GitHub Actions or Travis CI",
+ "Add a requirements.txt file to manage dependencies",
+ "Consider using a setup.cfg for configuration to simplify setup.py",
+ "Improve documentation for better understanding of the codebase",
+ "Optimize large files for better performance",
+ "Refactor code to improve readability and maintainability",
+ "Implement code linting tools like flake8 or pylint",
+ "Enhance error handling and logging mechanisms",
+ "Update dependencies to their latest versions to ensure security and compatibility",
+ "Consider adding type annotations for better code clarity and error checking",
+ "Improve the modularity of the code by breaking down large modules into smaller",
+ "more manageable components",
+ "Conduct a security audit to identify and fix potential vulnerabilities",
+ "Enhance the project's README with more detailed setup and usage instructions",
+ "Consider adding a CONTRIBUTING.md file to guide new contributors."
+ ],
+ "performance_metrics": {
+ "memory_usage_mb": 0,
+ "cpu_usage_percent": 0,
+ "response_time_ms": 0,
+ "throughput_requests_per_second": 0
+ },
+ "deployment_info": {
+ "supported_platforms": [
+ "Linux",
+ "Windows",
+ "macOS"
+ ],
+ "python_versions": [
+ "3.8",
+ "3.9",
+ "3.10",
+ "3.11",
+ "3.12"
+ ],
+ "deployment_methods": [
+ "Docker",
+ "pip",
+ "conda"
+ ],
+ "monitoring_support": true,
+ "logging_configuration": "structured"
+ },
+ "execution_analysis": {
+ "success_factors": [
+ "Comprehensive analysis of the repository structure and dependencies",
+ "Successful generation of MCP service files with no errors or warnings"
+ ],
+ "failure_reasons": [],
+ "overall_assessment": "good",
+ "node_performance": {
+ "download_time": "Efficient download and setup of the repository",
+ "analysis_time": "Detailed analysis completed in a reasonable timeframe",
+ "generation_time": "Code generation was successful and timely",
+ "test_time": "Testing was limited; original project tests did not pass"
+ },
+ "resource_usage": {
+ "memory_efficiency": "Memory usage was not explicitly measured",
+ "cpu_efficiency": "CPU usage was not explicitly measured",
+ "disk_usage": "Disk usage was efficient given the size of the repository"
+ }
+ },
+ "technical_quality": {
+ "code_quality_score": 75,
+ "architecture_score": 80,
+ "performance_score": 70,
+ "maintainability_score": 75,
+ "security_score": 85,
+ "scalability_score": 70
+ }
+}
\ No newline at end of file
diff --git a/backtrader/source/.travis.yml b/backtrader/source/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fd29d0e21bdb1f95775db779fbc2bf38650bd4ce
--- /dev/null
+++ b/backtrader/source/.travis.yml
@@ -0,0 +1,22 @@
+dist: xenial
+language: python
+python:
+ - "3.6"
+ - "3.7"
+ - "3.8"
+ - "nightly"
+ - "pypy"
+ - "pypy3"
+
+matrix:
+ allow_failures:
+ python: "3.8-dev"
+ python: "nightly"
+
+# command to install dependencies
+# install:
+# - pip install your_package
+# pip install git+https://github.com/blampe/IbPy.git
+
+# command to run tests
+script: cd tests && nosetests -v -v
diff --git a/backtrader/source/LICENSE b/backtrader/source/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..ef7e7efc09c9d471c391f05b9567966928085840
--- /dev/null
+++ b/backtrader/source/LICENSE
@@ -0,0 +1,674 @@
+GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ {one line to give the program's name and a brief idea of what it does.}
+ Copyright (C) {year} {name of author}
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ {project} Copyright (C) {year} {fullname}
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
diff --git a/backtrader/source/README.rst b/backtrader/source/README.rst
new file mode 100644
index 0000000000000000000000000000000000000000..56c664e45365dbd7e87b664d38a3c90e4831735d
--- /dev/null
+++ b/backtrader/source/README.rst
@@ -0,0 +1,170 @@
+backtrader
+==========
+
+.. image:: https://img.shields.io/pypi/v/backtrader.svg
+ :alt: PyPi Version
+ :scale: 100%
+ :target: https://pypi.python.org/pypi/backtrader/
+
+.. .. image:: https://img.shields.io/pypi/dm/backtrader.svg
+ :alt: PyPi Monthly Donwloads
+ :scale: 100%
+ :target: https://pypi.python.org/pypi/backtrader/
+
+.. image:: https://img.shields.io/pypi/l/backtrader.svg
+ :alt: License
+ :scale: 100%
+ :target: https://github.com/backtrader/backtrader/blob/master/LICENSE
+.. image:: https://travis-ci.org/backtrader/backtrader.png?branch=master
+ :alt: Travis-ci Build Status
+ :scale: 100%
+ :target: https://travis-ci.org/backtrader/backtrader
+.. image:: https://img.shields.io/pypi/pyversions/backtrader.svg
+ :alt: Python versions
+ :scale: 100%
+ :target: https://pypi.python.org/pypi/backtrader/
+
+**Yahoo API Note**:
+
+ [2018-11-16] After some testing it would seem that data downloads can be
+ again relied upon over the web interface (or API ``v7``)
+
+**Tickets**
+
+ The ticket system is (was, actually) more often than not abused to ask for
+ advice about samples.
+
+For **feedback/questions/...** use the `Community `_
+
+Here a snippet of a Simple Moving Average CrossOver. It can be done in several
+different ways. Use the docs (and examples) Luke!
+::
+
+ from datetime import datetime
+ import backtrader as bt
+
+ class SmaCross(bt.SignalStrategy):
+ def __init__(self):
+ sma1, sma2 = bt.ind.SMA(period=10), bt.ind.SMA(period=30)
+ crossover = bt.ind.CrossOver(sma1, sma2)
+ self.signal_add(bt.SIGNAL_LONG, crossover)
+
+ cerebro = bt.Cerebro()
+ cerebro.addstrategy(SmaCross)
+
+ data0 = bt.feeds.YahooFinanceData(dataname='MSFT', fromdate=datetime(2011, 1, 1),
+ todate=datetime(2012, 12, 31))
+ cerebro.adddata(data0)
+
+ cerebro.run()
+ cerebro.plot()
+
+Including a full featured chart. Give it a try! This is included in the samples
+as ``sigsmacross/sigsmacross2.py``. Along it is ``sigsmacross.py`` which can be
+parametrized from the command line.
+
+Features:
+=========
+
+Live Trading and backtesting platform written in Python.
+
+ - Live Data Feed and Trading with
+
+ - Interactive Brokers (needs ``IbPy`` and benefits greatly from an
+ installed ``pytz``)
+ - *Visual Chart* (needs a fork of ``comtypes`` until a pull request is
+ integrated in the release and benefits from ``pytz``)
+ - *Oanda* (needs ``oandapy``) (REST API Only - v20 did not support
+ streaming when implemented)
+
+ - Data feeds from csv/files, online sources or from *pandas* and *blaze*
+ - Filters for datas, like breaking a daily bar into chunks to simulate
+ intraday or working with Renko bricks
+ - Multiple data feeds and multiple strategies supported
+ - Multiple timeframes at once
+ - Integrated Resampling and Replaying
+ - Step by Step backtesting or at once (except in the evaluation of the Strategy)
+ - Integrated battery of indicators
+ - *TA-Lib* indicator support (needs python *ta-lib* / check the docs)
+ - Easy development of custom indicators
+ - Analyzers (for example: TimeReturn, Sharpe Ratio, SQN) and ``pyfolio``
+ integration (**deprecated**)
+ - Flexible definition of commission schemes
+ - Integrated broker simulation with *Market*, *Close*, *Limit*, *Stop*,
+ *StopLimit*, *StopTrail*, *StopTrailLimit*and *OCO* orders, bracket order,
+ slippage, volume filling strategies and continuous cash adjustmet for
+ future-like instruments
+ - Sizers for automated staking
+ - Cheat-on-Close and Cheat-on-Open modes
+ - Schedulers
+ - Trading Calendars
+ - Plotting (requires matplotlib)
+
+Documentation
+=============
+
+The blog:
+
+ - `Blog `_
+
+Read the full documentation at:
+
+ - `Documentation `_
+
+List of built-in Indicators (122)
+
+ - `Indicators Reference `_
+
+Python 2/3 Support
+==================
+
+ - Python >= ``3.2``
+
+ - It also works with ``pypy`` and ``pypy3`` (no plotting - ``matplotlib`` is
+ not supported under *pypy*)
+
+Installation
+============
+
+``backtrader`` is self-contained with no external dependencies (except if you
+want to plot)
+
+From *pypi*:
+
+ - ``pip install backtrader``
+
+ - ``pip install backtrader[plotting]``
+
+ If ``matplotlib`` is not installed and you wish to do some plotting
+
+.. note:: The minimum matplotlib version is ``1.4.1``
+
+An example for *IB* Data Feeds/Trading:
+
+ - ``IbPy`` doesn't seem to be in PyPi. Do either::
+
+ pip install git+https://github.com/blampe/IbPy.git
+
+ or (if ``git`` is not available in your system)::
+
+ pip install https://github.com/blampe/IbPy/archive/master.zip
+
+For other functionalities like: ``Visual Chart``, ``Oanda``, ``TA-Lib``, check
+the dependencies in the documentation.
+
+From source:
+
+ - Place the *backtrader* directory found in the sources inside your project
+
+Version numbering
+=================
+
+X.Y.Z.I
+
+ - X: Major version number. Should stay stable unless something big is changed
+ like an overhaul to use ``numpy``
+ - Y: Minor version number. To be changed upon adding a complete new feature or
+ (god forbids) an incompatible API change.
+ - Z: Revision version number. To be changed for documentation updates, small
+ changes, small bug fixes
+ - I: Number of Indicators already built into the platform
diff --git a/backtrader/source/__init__.py b/backtrader/source/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c3eb65d1ca9525b13e76d34d163e53291a45ae84
--- /dev/null
+++ b/backtrader/source/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+"""
+backtrader Project Package Initialization File
+"""
diff --git a/backtrader/source/backtrader/__init__.py b/backtrader/source/backtrader/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..15770f55afa9d2a447df3c2e1e0257728b08e19b
--- /dev/null
+++ b/backtrader/source/backtrader/__init__.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from .version import __version__, __btversion__
+
+from .errors import *
+from . import errors as errors
+
+from .utils import num2date, date2num, time2num, num2time
+
+from .linebuffer import *
+from .functions import *
+
+from .order import *
+from .comminfo import *
+from .trade import *
+from .position import *
+
+from .store import Store
+
+from . import broker as broker
+from .broker import *
+
+from .lineseries import *
+
+from .dataseries import *
+from .feed import *
+from .resamplerfilter import *
+
+from .lineiterator import *
+from .indicator import *
+from .analyzer import *
+from .observer import *
+from .sizer import *
+from .sizers import SizerFix # old sizer for compatibility
+from .strategy import *
+
+from .writer import *
+
+from .signal import *
+
+from .cerebro import *
+from .timer import *
+from .flt import *
+
+from . import utils as utils
+
+from . import feeds as feeds
+from . import indicators as indicators
+from . import indicators as ind
+from . import studies as studies
+from . import strategies as strategies
+from . import strategies as strats
+from . import observers as observers
+from . import observers as obs
+from . import analyzers as analyzers
+from . import commissions as commissions
+from . import commissions as comms
+from . import filters as filters
+from . import signals as signals
+from . import sizers as sizers
+from . import stores as stores
+from . import brokers as brokers
+from . import timer as timer
+
+from . import talib as talib
+
+# Load contributed indicators and studies
+import backtrader.indicators.contrib
+import backtrader.studies.contrib
diff --git a/backtrader/source/backtrader/analyzer.py b/backtrader/source/backtrader/analyzer.py
new file mode 100644
index 0000000000000000000000000000000000000000..51abc02a519f94a0173d98e8e4eefc3c25c449bc
--- /dev/null
+++ b/backtrader/source/backtrader/analyzer.py
@@ -0,0 +1,446 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import calendar
+from collections import OrderedDict
+import datetime
+import pprint as pp
+
+import backtrader as bt
+from backtrader import TimeFrame
+from backtrader.utils.py3 import MAXINT, with_metaclass
+
+
+class MetaAnalyzer(bt.MetaParams):
+ def donew(cls, *args, **kwargs):
+ '''
+ Intercept the strategy parameter
+ '''
+ # Create the object and set the params in place
+ _obj, args, kwargs = super(MetaAnalyzer, cls).donew(*args, **kwargs)
+
+ _obj._children = list()
+
+ _obj.strategy = strategy = bt.metabase.findowner(_obj, bt.Strategy)
+ _obj._parent = bt.metabase.findowner(_obj, Analyzer)
+
+ # Register with a master observer if created inside one
+ masterobs = bt.metabase.findowner(_obj, bt.Observer)
+ if masterobs is not None:
+ masterobs._register_analyzer(_obj)
+
+ _obj.datas = strategy.datas
+
+ # For each data add aliases: for first data: data and data0
+ if _obj.datas:
+ _obj.data = data = _obj.datas[0]
+
+ for l, line in enumerate(data.lines):
+ linealias = data._getlinealias(l)
+ if linealias:
+ setattr(_obj, 'data_%s' % linealias, line)
+ setattr(_obj, 'data_%d' % l, line)
+
+ for d, data in enumerate(_obj.datas):
+ setattr(_obj, 'data%d' % d, data)
+
+ for l, line in enumerate(data.lines):
+ linealias = data._getlinealias(l)
+ if linealias:
+ setattr(_obj, 'data%d_%s' % (d, linealias), line)
+ setattr(_obj, 'data%d_%d' % (d, l), line)
+
+ _obj.create_analysis()
+
+ # Return to the normal chain
+ return _obj, args, kwargs
+
+ def dopostinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaAnalyzer, cls).dopostinit(_obj, *args, **kwargs)
+
+ if _obj._parent is not None:
+ _obj._parent._register(_obj)
+
+ # Return to the normal chain
+ return _obj, args, kwargs
+
+
+class Analyzer(with_metaclass(MetaAnalyzer, object)):
+ '''Analyzer base class. All analyzers are subclass of this one
+
+ An Analyzer instance operates in the frame of a strategy and provides an
+ analysis for that strategy.
+
+ Automagically set member attributes:
+
+ - ``self.strategy`` (giving access to the *strategy* and anything
+ accessible from it)
+
+ - ``self.datas[x]`` giving access to the array of data feeds present in
+ the the system, which could also be accessed via the strategy reference
+
+ - ``self.data``, giving access to ``self.datas[0]``
+
+ - ``self.dataX`` -> ``self.datas[X]``
+
+ - ``self.dataX_Y`` -> ``self.datas[X].lines[Y]``
+
+ - ``self.dataX_name`` -> ``self.datas[X].name``
+
+ - ``self.data_name`` -> ``self.datas[0].name``
+
+ - ``self.data_Y`` -> ``self.datas[0].lines[Y]``
+
+ This is not a *Lines* object, but the methods and operation follow the same
+ design
+
+ - ``__init__`` during instantiation and initial setup
+
+ - ``start`` / ``stop`` to signal the begin and end of operations
+
+ - ``prenext`` / ``nextstart`` / ``next`` family of methods that follow
+ the calls made to the same methods in the strategy
+
+ - ``notify_trade`` / ``notify_order`` / ``notify_cashvalue`` /
+ ``notify_fund`` which receive the same notifications as the equivalent
+ methods of the strategy
+
+ The mode of operation is open and no pattern is preferred. As such the
+ analysis can be generated with the ``next`` calls, at the end of operations
+ during ``stop`` and even with a single method like ``notify_trade``
+
+ The important thing is to override ``get_analysis`` to return a *dict-like*
+ object containing the results of the analysis (the actual format is
+ implementation dependent)
+
+ '''
+ csv = True
+
+ def __len__(self):
+ '''Support for invoking ``len`` on analyzers by actually returning the
+ current length of the strategy the analyzer operates on'''
+ return len(self.strategy)
+
+ def _register(self, child):
+ self._children.append(child)
+
+ def _prenext(self):
+ for child in self._children:
+ child._prenext()
+
+ self.prenext()
+
+ def _notify_cashvalue(self, cash, value):
+ for child in self._children:
+ child._notify_cashvalue(cash, value)
+
+ self.notify_cashvalue(cash, value)
+
+ def _notify_fund(self, cash, value, fundvalue, shares):
+ for child in self._children:
+ child._notify_fund(cash, value, fundvalue, shares)
+
+ self.notify_fund(cash, value, fundvalue, shares)
+
+ def _notify_trade(self, trade):
+ for child in self._children:
+ child._notify_trade(trade)
+
+ self.notify_trade(trade)
+
+ def _notify_order(self, order):
+ for child in self._children:
+ child._notify_order(order)
+
+ self.notify_order(order)
+
+ def _nextstart(self):
+ for child in self._children:
+ child._nextstart()
+
+ self.nextstart()
+
+ def _next(self):
+ for child in self._children:
+ child._next()
+
+ self.next()
+
+ def _start(self):
+ for child in self._children:
+ child._start()
+
+ self.start()
+
+ def _stop(self):
+ for child in self._children:
+ child._stop()
+
+ self.stop()
+
+ def notify_cashvalue(self, cash, value):
+ '''Receives the cash/value notification before each next cycle'''
+ pass
+
+ def notify_fund(self, cash, value, fundvalue, shares):
+ '''Receives the current cash, value, fundvalue and fund shares'''
+ pass
+
+ def notify_order(self, order):
+ '''Receives order notifications before each next cycle'''
+ pass
+
+ def notify_trade(self, trade):
+ '''Receives trade notifications before each next cycle'''
+ pass
+
+ def next(self):
+ '''Invoked for each next invocation of the strategy, once the minum
+ preiod of the strategy has been reached'''
+ pass
+
+ def prenext(self):
+ '''Invoked for each prenext invocation of the strategy, until the minimum
+ period of the strategy has been reached
+
+ The default behavior for an analyzer is to invoke ``next``
+ '''
+ self.next()
+
+ def nextstart(self):
+ '''Invoked exactly once for the nextstart invocation of the strategy,
+ when the minimum period has been first reached
+ '''
+ self.next()
+
+ def start(self):
+ '''Invoked to indicate the start of operations, giving the analyzer
+ time to setup up needed things'''
+ pass
+
+ def stop(self):
+ '''Invoked to indicate the end of operations, giving the analyzer
+ time to shut down needed things'''
+ pass
+
+ def create_analysis(self):
+ '''Meant to be overriden by subclasses. Gives a chance to create the
+ structures that hold the analysis.
+
+ The default behaviour is to create a ``OrderedDict`` named ``rets``
+ '''
+ self.rets = OrderedDict()
+
+ def get_analysis(self):
+ '''Returns a *dict-like* object with the results of the analysis
+
+ The keys and format of analysis results in the dictionary is
+ implementation dependent.
+
+ It is not even enforced that the result is a *dict-like object*, just
+ the convention
+
+ The default implementation returns the default OrderedDict ``rets``
+ created by the default ``create_analysis`` method
+
+ '''
+ return self.rets
+
+ def print(self, *args, **kwargs):
+ '''Prints the results returned by ``get_analysis`` via a standard
+ ``Writerfile`` object, which defaults to writing things to standard
+ output
+ '''
+ writer = bt.WriterFile(*args, **kwargs)
+ writer.start()
+ pdct = dict()
+ pdct[self.__class__.__name__] = self.get_analysis()
+ writer.writedict(pdct)
+ writer.stop()
+
+ def pprint(self, *args, **kwargs):
+ '''Prints the results returned by ``get_analysis`` using the pretty
+ print Python module (*pprint*)
+ '''
+ pp.pprint(self.get_analysis(), *args, **kwargs)
+
+
+class MetaTimeFrameAnalyzerBase(Analyzer.__class__):
+ def __new__(meta, name, bases, dct):
+ # Hack to support original method name
+ if '_on_dt_over' in dct:
+ dct['on_dt_over'] = dct.pop('_on_dt_over') # rename method
+
+ return super(MetaTimeFrameAnalyzerBase, meta).__new__(meta, name,
+ bases, dct)
+
+
+class TimeFrameAnalyzerBase(with_metaclass(MetaTimeFrameAnalyzerBase,
+ Analyzer)):
+ params = (
+ ('timeframe', None),
+ ('compression', None),
+ ('_doprenext', True),
+ )
+
+ def _start(self):
+ # Override to add specific attributes
+ self.timeframe = self.p.timeframe or self.data._timeframe
+ self.compression = self.p.compression or self.data._compression
+
+ self.dtcmp, self.dtkey = self._get_dt_cmpkey(datetime.datetime.min)
+ super(TimeFrameAnalyzerBase, self)._start()
+
+ def _prenext(self):
+ for child in self._children:
+ child._prenext()
+
+ if self._dt_over():
+ self.on_dt_over()
+
+ if self.p._doprenext:
+ self.prenext()
+
+ def _nextstart(self):
+ for child in self._children:
+ child._nextstart()
+
+ if self._dt_over() or not self.p._doprenext: # exec if no prenext
+ self.on_dt_over()
+
+ self.nextstart()
+
+ def _next(self):
+ for child in self._children:
+ child._next()
+
+ if self._dt_over():
+ self.on_dt_over()
+
+ self.next()
+
+ def on_dt_over(self):
+ pass
+
+ def _dt_over(self):
+ if self.timeframe == TimeFrame.NoTimeFrame:
+ dtcmp, dtkey = MAXINT, datetime.datetime.max
+ else:
+ # With >= 1.9.x the system datetime is in the strategy
+ dt = self.strategy.datetime.datetime()
+ dtcmp, dtkey = self._get_dt_cmpkey(dt)
+
+ if self.dtcmp is None or dtcmp > self.dtcmp:
+ self.dtkey, self.dtkey1 = dtkey, self.dtkey
+ self.dtcmp, self.dtcmp1 = dtcmp, self.dtcmp
+ return True
+
+ return False
+
+ def _get_dt_cmpkey(self, dt):
+ if self.timeframe == TimeFrame.NoTimeFrame:
+ return None, None
+
+ if self.timeframe == TimeFrame.Years:
+ dtcmp = dt.year
+ dtkey = datetime.date(dt.year, 12, 31)
+
+ elif self.timeframe == TimeFrame.Months:
+ dtcmp = dt.year * 100 + dt.month
+ _, lastday = calendar.monthrange(dt.year, dt.month)
+ dtkey = datetime.datetime(dt.year, dt.month, lastday)
+
+ elif self.timeframe == TimeFrame.Weeks:
+ isoyear, isoweek, isoweekday = dt.isocalendar()
+ dtcmp = isoyear * 100 + isoweek
+ sunday = dt + datetime.timedelta(days=7 - isoweekday)
+ dtkey = datetime.datetime(sunday.year, sunday.month, sunday.day)
+
+ elif self.timeframe == TimeFrame.Days:
+ dtcmp = dt.year * 10000 + dt.month * 100 + dt.day
+ dtkey = datetime.datetime(dt.year, dt.month, dt.day)
+
+ else:
+ dtcmp, dtkey = self._get_subday_cmpkey(dt)
+
+ return dtcmp, dtkey
+
+ def _get_subday_cmpkey(self, dt):
+ # Calculate intraday position
+ point = dt.hour * 60 + dt.minute
+
+ if self.timeframe < TimeFrame.Minutes:
+ point = point * 60 + dt.second
+
+ if self.timeframe < TimeFrame.Seconds:
+ point = point * 1e6 + dt.microsecond
+
+ # Apply compression to update point position (comp 5 -> 200 // 5)
+ point = point // self.compression
+
+ # Move to next boundary
+ point += 1
+
+ # Restore point to the timeframe units by de-applying compression
+ point *= self.compression
+
+ # Get hours, minutes, seconds and microseconds
+ if self.timeframe == TimeFrame.Minutes:
+ ph, pm = divmod(point, 60)
+ ps = 0
+ pus = 0
+ elif self.timeframe == TimeFrame.Seconds:
+ ph, pm = divmod(point, 60 * 60)
+ pm, ps = divmod(pm, 60)
+ pus = 0
+ elif self.timeframe == TimeFrame.MicroSeconds:
+ ph, pm = divmod(point, 60 * 60 * 1e6)
+ pm, psec = divmod(pm, 60 * 1e6)
+ ps, pus = divmod(psec, 1e6)
+
+ extradays = 0
+ if ph > 23: # went over midnight:
+ extradays = ph // 24
+ ph %= 24
+
+ # moving 1 minor unit to the left to be in the boundary
+ # pm -= self.timeframe == TimeFrame.Minutes
+ # ps -= self.timeframe == TimeFrame.Seconds
+ # pus -= self.timeframe == TimeFrame.MicroSeconds
+
+ tadjust = datetime.timedelta(
+ minutes=self.timeframe == TimeFrame.Minutes,
+ seconds=self.timeframe == TimeFrame.Seconds,
+ microseconds=self.timeframe == TimeFrame.MicroSeconds)
+
+ # Add extra day if present
+ if extradays:
+ dt += datetime.timedelta(days=extradays)
+
+ # Replace intraday parts with the calculated ones and update it
+ dtcmp = dt.replace(hour=ph, minute=pm, second=ps, microsecond=pus)
+ dtcmp -= tadjust
+ dtkey = dtcmp
+
+ return dtcmp, dtkey
diff --git a/backtrader/source/backtrader/analyzers/__init__.py b/backtrader/source/backtrader/analyzers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e54cc09ad69be08af567801306e571d674b07591
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/__init__.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+# The modules below should/must define __all__ with the objects wishes
+# or prepend an "_" (underscore) to private classes/variables
+
+from .annualreturn import *
+from .drawdown import *
+from .timereturn import *
+from .sharpe import *
+from .tradeanalyzer import *
+from .sqn import *
+from .leverage import *
+from .positions import *
+from .transactions import *
+from .pyfolio import *
+from .returns import *
+from .vwr import *
+
+from .logreturnsrolling import *
+
+from .calmar import *
+from .periodstats import *
diff --git a/backtrader/source/backtrader/analyzers/annualreturn.py b/backtrader/source/backtrader/analyzers/annualreturn.py
new file mode 100644
index 0000000000000000000000000000000000000000..d29024b5206821d0c48b13a2b0687683f5d8892e
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/annualreturn.py
@@ -0,0 +1,89 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from collections import OrderedDict
+
+from backtrader.utils.py3 import range
+from backtrader import Analyzer
+
+
+class AnnualReturn(Analyzer):
+ '''
+ This analyzer calculates the AnnualReturns by looking at the beginning
+ and end of the year
+
+ Params:
+
+ - (None)
+
+ Member Attributes:
+
+ - ``rets``: list of calculated annual returns
+
+ - ``ret``: dictionary (key: year) of annual returns
+
+ **get_analysis**:
+
+ - Returns a dictionary of annual returns (key: year)
+ '''
+
+ def stop(self):
+ # Must have stats.broker
+ cur_year = -1
+
+ value_start = 0.0
+ value_cur = 0.0
+ value_end = 0.0
+
+ self.rets = list()
+ self.ret = OrderedDict()
+
+ for i in range(len(self.data) - 1, -1, -1):
+ dt = self.data.datetime.date(-i)
+ value_cur = self.strategy.stats.broker.value[-i]
+
+ if dt.year > cur_year:
+ if cur_year >= 0:
+ annualret = (value_end / value_start) - 1.0
+ self.rets.append(annualret)
+ self.ret[cur_year] = annualret
+
+ # changing between real years, use last value as new start
+ value_start = value_end
+ else:
+ # No value set whatsoever, use the currently loaded value
+ value_start = value_cur
+
+ cur_year = dt.year
+
+ # No matter what, the last value is always the last loaded value
+ value_end = value_cur
+
+ if cur_year not in self.ret:
+ # finish calculating pending data
+ annualret = (value_end / value_start) - 1.0
+ self.rets.append(annualret)
+ self.ret[cur_year] = annualret
+
+ def get_analysis(self):
+ return self.ret
diff --git a/backtrader/source/backtrader/analyzers/calmar.py b/backtrader/source/backtrader/analyzers/calmar.py
new file mode 100644
index 0000000000000000000000000000000000000000..97cb59c046ede3f0462e9b30a8113604e31ea77e
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/calmar.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+from . import TimeDrawDown
+
+
+__all__ = ['Calmar']
+
+
+class Calmar(bt.TimeFrameAnalyzerBase):
+ '''This analyzer calculates the CalmarRatio
+ timeframe which can be different from the one used in the underlying data
+ Params:
+
+ - ``timeframe`` (default: ``None``)
+ If ``None`` the ``timeframe`` of the 1st data in the system will be
+ used
+
+ Pass ``TimeFrame.NoTimeFrame`` to consider the entire dataset with no
+ time constraints
+
+ - ``compression`` (default: ``None``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ If ``None`` then the compression of the 1st data of the system will be
+ used
+ - *None*
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ See also:
+
+ - https://en.wikipedia.org/wiki/Calmar_ratio
+
+ Methods:
+ - ``get_analysis``
+
+ Returns a OrderedDict with a key for the time period and the
+ corresponding rolling Calmar ratio
+
+ Attributes:
+ - ``calmar`` the latest calculated calmar ratio
+ '''
+
+ packages = ('collections', 'math',)
+
+ params = (
+ ('timeframe', bt.TimeFrame.Months), # default in calmar
+ ('period', 36),
+ ('fund', None),
+ )
+
+ def __init__(self):
+ self._maxdd = TimeDrawDown(timeframe=self.p.timeframe,
+ compression=self.p.compression)
+
+ def start(self):
+ self._mdd = float('-inf')
+ self._values = collections.deque([float('Nan')] * self.p.period,
+ maxlen=self.p.period)
+ if self.p.fund is None:
+ self._fundmode = self.strategy.broker.fundmode
+ else:
+ self._fundmode = self.p.fund
+
+ if not self._fundmode:
+ self._values.append(self.strategy.broker.getvalue())
+ else:
+ self._values.append(self.strategy.broker.fundvalue)
+
+ def on_dt_over(self):
+ self._mdd = max(self._mdd, self._maxdd.maxdd)
+ if not self._fundmode:
+ self._values.append(self.strategy.broker.getvalue())
+ else:
+ self._values.append(self.strategy.broker.fundvalue)
+ rann = math.log(self._values[-1] / self._values[0]) / len(self._values)
+ self.calmar = calmar = rann / (self._mdd or float('Inf'))
+
+ self.rets[self.dtkey] = calmar
+
+ def stop(self):
+ self.on_dt_over() # update last values
diff --git a/backtrader/source/backtrader/analyzers/drawdown.py b/backtrader/source/backtrader/analyzers/drawdown.py
new file mode 100644
index 0000000000000000000000000000000000000000..0221689722978aae62acb6e3c49a7274300e3ac3
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/drawdown.py
@@ -0,0 +1,197 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+from backtrader.utils import AutoOrderedDict
+
+
+__all__ = ['DrawDown', 'TimeDrawDown']
+
+
+class DrawDown(bt.Analyzer):
+ '''This analyzer calculates trading system drawdowns stats such as drawdown
+ values in %s and in dollars, max drawdown in %s and in dollars, drawdown
+ length and drawdown max length
+
+ Params:
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ Methods:
+
+ - ``get_analysis``
+
+ Returns a dictionary (with . notation support and subdctionaries) with
+ drawdown stats as values, the following keys/attributes are available:
+
+ - ``drawdown`` - drawdown value in 0.xx %
+ - ``moneydown`` - drawdown value in monetary units
+ - ``len`` - drawdown length
+
+ - ``max.drawdown`` - max drawdown value in 0.xx %
+ - ``max.moneydown`` - max drawdown value in monetary units
+ - ``max.len`` - max drawdown length
+ '''
+
+ params = (
+ ('fund', None),
+ )
+
+ def start(self):
+ super(DrawDown, self).start()
+ if self.p.fund is None:
+ self._fundmode = self.strategy.broker.fundmode
+ else:
+ self._fundmode = self.p.fund
+
+ def create_analysis(self):
+ self.rets = AutoOrderedDict() # dict with . notation
+
+ self.rets.len = 0
+ self.rets.drawdown = 0.0
+ self.rets.moneydown = 0.0
+
+ self.rets.max.len = 0.0
+ self.rets.max.drawdown = 0.0
+ self.rets.max.moneydown = 0.0
+
+ self._maxvalue = float('-inf') # any value will outdo it
+
+ def stop(self):
+ self.rets._close() # . notation cannot create more keys
+
+ def notify_fund(self, cash, value, fundvalue, shares):
+ if not self._fundmode:
+ self._value = value # record current value
+ self._maxvalue = max(self._maxvalue, value) # update peak value
+ else:
+ self._value = fundvalue # record current value
+ self._maxvalue = max(self._maxvalue, fundvalue) # update peak
+
+ def next(self):
+ r = self.rets
+
+ # calculate current drawdown values
+ r.moneydown = moneydown = self._maxvalue - self._value
+ r.drawdown = drawdown = 100.0 * moneydown / self._maxvalue
+
+ # maxximum drawdown values
+ r.max.moneydown = max(r.max.moneydown, moneydown)
+ r.max.drawdown = maxdrawdown = max(r.max.drawdown, drawdown)
+
+ r.len = r.len + 1 if drawdown else 0
+ r.max.len = max(r.max.len, r.len)
+
+
+class TimeDrawDown(bt.TimeFrameAnalyzerBase):
+ '''This analyzer calculates trading system drawdowns on the chosen
+ timeframe which can be different from the one used in the underlying data
+ Params:
+
+ - ``timeframe`` (default: ``None``)
+ If ``None`` the ``timeframe`` of the 1st data in the system will be
+ used
+
+ Pass ``TimeFrame.NoTimeFrame`` to consider the entire dataset with no
+ time constraints
+
+ - ``compression`` (default: ``None``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ If ``None`` then the compression of the 1st data of the system will be
+ used
+ - *None*
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ Methods:
+
+ - ``get_analysis``
+
+ Returns a dictionary (with . notation support and subdctionaries) with
+ drawdown stats as values, the following keys/attributes are available:
+
+ - ``drawdown`` - drawdown value in 0.xx %
+ - ``maxdrawdown`` - drawdown value in monetary units
+ - ``maxdrawdownperiod`` - drawdown length
+
+ - Those are available during runs as attributes
+ - ``dd``
+ - ``maxdd``
+ - ``maxddlen``
+ '''
+
+ params = (
+ ('fund', None),
+ )
+
+ def start(self):
+ super(TimeDrawDown, self).start()
+ if self.p.fund is None:
+ self._fundmode = self.strategy.broker.fundmode
+ else:
+ self._fundmode = self.p.fund
+ self.dd = 0.0
+ self.maxdd = 0.0
+ self.maxddlen = 0
+ self.peak = float('-inf')
+ self.ddlen = 0
+
+ def on_dt_over(self):
+ if not self._fundmode:
+ value = self.strategy.broker.getvalue()
+ else:
+ value = self.strategy.broker.fundvalue
+
+ # update the maximum seen peak
+ if value > self.peak:
+ self.peak = value
+ self.ddlen = 0 # start of streak
+
+ # calculate the current drawdown
+ self.dd = dd = 100.0 * (self.peak - value) / self.peak
+ self.ddlen += bool(dd) # if peak == value -> dd = 0
+
+ # update the maxdrawdown if needed
+ self.maxdd = max(self.maxdd, dd)
+ self.maxddlen = max(self.maxddlen, self.ddlen)
+
+ def stop(self):
+ self.rets['maxdrawdown'] = self.maxdd
+ self.rets['maxdrawdownperiod'] = self.maxddlen
diff --git a/backtrader/source/backtrader/analyzers/leverage.py b/backtrader/source/backtrader/analyzers/leverage.py
new file mode 100644
index 0000000000000000000000000000000000000000..749362f00711e13570847e8fffdef979a501adf3
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/leverage.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+
+
+class GrossLeverage(bt.Analyzer):
+ '''This analyzer calculates the Gross Leverage of the current strategy
+ on a timeframe basis
+
+ Params:
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ Methods:
+
+ - get_analysis
+
+ Returns a dictionary with returns as values and the datetime points for
+ each return as keys
+ '''
+
+ params = (
+ ('fund', None),
+ )
+
+ def start(self):
+ if self.p.fund is None:
+ self._fundmode = self.strategy.broker.fundmode
+ else:
+ self._fundmode = self.p.fund
+
+ def notify_fund(self, cash, value, fundvalue, shares):
+ self._cash = cash
+ if not self._fundmode:
+ self._value = value
+ else:
+ self._value = fundvalue
+
+ def next(self):
+ # Updates the leverage for "dtkey" (see base class) for each cycle
+ # 0.0 if 100% in cash, 1.0 if no short selling and fully invested
+ lev = (self._value - self._cash) / self._value
+ self.rets[self.data0.datetime.datetime()] = lev
diff --git a/backtrader/source/backtrader/analyzers/logreturnsrolling.py b/backtrader/source/backtrader/analyzers/logreturnsrolling.py
new file mode 100644
index 0000000000000000000000000000000000000000..4dc8a846543dfc9e4167a7360bdfab05c196177b
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/logreturnsrolling.py
@@ -0,0 +1,140 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+import math
+
+import backtrader as bt
+
+
+__all__ = ['LogReturnsRolling']
+
+
+class LogReturnsRolling(bt.TimeFrameAnalyzerBase):
+ '''This analyzer calculates rolling returns for a given timeframe and
+ compression
+
+ Params:
+
+ - ``timeframe`` (default: ``None``)
+ If ``None`` the ``timeframe`` of the 1st data in the system will be
+ used
+
+ Pass ``TimeFrame.NoTimeFrame`` to consider the entire dataset with no
+ time constraints
+
+ - ``compression`` (default: ``None``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ If ``None`` then the compression of the 1st data of the system will be
+ used
+
+ - ``data`` (default: ``None``)
+
+ Reference asset to track instead of the portfolio value.
+
+ .. note:: this data must have been added to a ``cerebro`` instance with
+ ``addata``, ``resampledata`` or ``replaydata``
+
+ - ``firstopen`` (default: ``True``)
+
+ When tracking the returns of a ``data`` the following is done when
+ crossing a timeframe boundary, for example ``Years``:
+
+ - Last ``close`` of previous year is used as the reference price to
+ see the return in the current year
+
+ The problem is the 1st calculation, because the data has** no
+ previous** closing price. As such and when this parameter is ``True``
+ the *opening* price will be used for the 1st calculation.
+
+ This requires the data feed to have an ``open`` price (for ``close``
+ the standard [0] notation will be used without reference to a field
+ price)
+
+ Else the initial close will be used.
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ Methods:
+
+ - get_analysis
+
+ Returns a dictionary with returns as values and the datetime points for
+ each return as keys
+ '''
+
+ params = (
+ ('data', None),
+ ('firstopen', True),
+ ('fund', None),
+ )
+
+ def start(self):
+ super(LogReturnsRolling, self).start()
+ if self.p.fund is None:
+ self._fundmode = self.strategy.broker.fundmode
+ else:
+ self._fundmode = self.p.fund
+
+ self._values = collections.deque([float('Nan')] * self.compression,
+ maxlen=self.compression)
+
+ if self.p.data is None:
+ # keep the initial portfolio value if not tracing a data
+ if not self._fundmode:
+ self._lastvalue = self.strategy.broker.getvalue()
+ else:
+ self._lastvalue = self.strategy.broker.fundvalue
+
+ def notify_fund(self, cash, value, fundvalue, shares):
+ if not self._fundmode:
+ self._value = value if self.p.data is None else self.p.data[0]
+ else:
+ self._value = fundvalue if self.p.data is None else self.p.data[0]
+
+ def _on_dt_over(self):
+ # next is called in a new timeframe period
+ if self.p.data is None or len(self.p.data) > 1:
+ # Not tracking a data feed or data feed has data already
+ vst = self._lastvalue # update value_start to last
+ else:
+ # The 1st tick has no previous reference, use the opening price
+ vst = self.p.data.open[0] if self.p.firstopen else self.p.data[0]
+
+ self._values.append(vst) # push values backwards (and out)
+
+ def next(self):
+ # Calculate the return
+ super(LogReturnsRolling, self).next()
+ self.rets[self.dtkey] = math.log(self._value / self._values[0])
+ self._lastvalue = self._value # keep last value
diff --git a/backtrader/source/backtrader/analyzers/periodstats.py b/backtrader/source/backtrader/analyzers/periodstats.py
new file mode 100644
index 0000000000000000000000000000000000000000..07271baecfd51e42db377612cfe3734cf08b85d7
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/periodstats.py
@@ -0,0 +1,112 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import backtrader as bt
+from backtrader.utils.py3 import itervalues
+from backtrader.mathsupport import average, standarddev
+from . import TimeReturn
+
+
+__all__ = ['PeriodStats']
+
+
+class PeriodStats(bt.Analyzer):
+ '''Calculates basic statistics for given timeframe
+
+ Params:
+
+ - ``timeframe`` (default: ``Years``)
+ If ``None`` the ``timeframe`` of the 1st data in the system will be
+ used
+
+ Pass ``TimeFrame.NoTimeFrame`` to consider the entire dataset with no
+ time constraints
+
+ - ``compression`` (default: ``1``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ If ``None`` then the compression of the 1st data of the system will be
+ used
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+
+ ``get_analysis`` returns a dictionary containing the keys:
+
+ - ``average``
+ - ``stddev``
+ - ``positive``
+ - ``negative``
+ - ``nochange``
+ - ``best``
+ - ``worst``
+
+ If the parameter ``zeroispos`` is set to ``True``, periods with no change
+ will be counted as positive
+ '''
+
+ params = (
+ ('timeframe', bt.TimeFrame.Years),
+ ('compression', 1),
+ ('zeroispos', False),
+ ('fund', None),
+ )
+
+ def __init__(self):
+ self._tr = TimeReturn(timeframe=self.p.timeframe,
+ compression=self.p.compression, fund=self.p.fund)
+
+ def stop(self):
+ trets = self._tr.get_analysis() # dict key = date, value = ret
+ pos = nul = neg = 0
+ trets = list(itervalues(trets))
+ for tret in trets:
+ if tret > 0.0:
+ pos += 1
+ elif tret < 0.0:
+ neg += 1
+ else:
+ if self.p.zeroispos:
+ pos += tret == 0.0
+ else:
+ nul += tret == 0.0
+
+ self.rets['average'] = avg = average(trets)
+ self.rets['stddev'] = standarddev(trets, avg)
+
+ self.rets['positive'] = pos
+ self.rets['negative'] = neg
+ self.rets['nochange'] = nul
+
+ self.rets['best'] = max(trets)
+ self.rets['worst'] = min(trets)
diff --git a/backtrader/source/backtrader/analyzers/positions.py b/backtrader/source/backtrader/analyzers/positions.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d2e1d7c46d991d1eb688f06da6bb19aa97dec13
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/positions.py
@@ -0,0 +1,85 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import backtrader as bt
+
+
+class PositionsValue(bt.Analyzer):
+ '''This analyzer reports the value of the positions of the current set of
+ datas
+
+ Params:
+
+ - timeframe (default: ``None``)
+ If ``None`` then the timeframe of the 1st data of the system will be
+ used
+
+ - compression (default: ``None``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ If ``None`` then the compression of the 1st data of the system will be
+ used
+
+ - headers (default: ``False``)
+
+ Add an initial key to the dictionary holding the results with the names
+ of the datas ('Datetime' as key
+
+ - cash (default: ``False``)
+
+ Include the actual cash as an extra position (for the header 'cash'
+ will be used as name)
+
+ Methods:
+
+ - get_analysis
+
+ Returns a dictionary with returns as values and the datetime points for
+ each return as keys
+ '''
+ params = (
+ ('headers', False),
+ ('cash', False),
+ )
+
+ def start(self):
+ if self.p.headers:
+ headers = [d._name or 'Data%d' % i
+ for i, d in enumerate(self.datas)]
+ self.rets['Datetime'] = headers + ['cash'] * self.p.cash
+
+ tf = min(d._timeframe for d in self.datas)
+ self._usedate = tf >= bt.TimeFrame.Days
+
+ def next(self):
+ pvals = [self.strategy.broker.get_value([d]) for d in self.datas]
+ if self.p.cash:
+ pvals.append(self.strategy.broker.get_cash())
+
+ if self._usedate:
+ self.rets[self.strategy.datetime.date()] = pvals
+ else:
+ self.rets[self.strategy.datetime.datetime()] = pvals
diff --git a/backtrader/source/backtrader/analyzers/pyfolio.py b/backtrader/source/backtrader/analyzers/pyfolio.py
new file mode 100644
index 0000000000000000000000000000000000000000..d15bc9d04fcde8a4a0445e48c528305334305173
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/pyfolio.py
@@ -0,0 +1,163 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import collections
+
+import backtrader as bt
+from backtrader.utils.py3 import items, iteritems
+
+from . import TimeReturn, PositionsValue, Transactions, GrossLeverage
+
+
+class PyFolio(bt.Analyzer):
+ '''This analyzer uses 4 children analyzers to collect data and transforms it
+ in to a data set compatible with ``pyfolio``
+
+ Children Analyzer
+
+ - ``TimeReturn``
+
+ Used to calculate the returns of the global portfolio value
+
+ - ``PositionsValue``
+
+ Used to calculate the value of the positions per data. It sets the
+ ``headers`` and ``cash`` parameters to ``True``
+
+ - ``Transactions``
+
+ Used to record each transaction on a data (size, price, value). Sets
+ the ``headers`` parameter to ``True``
+
+ - ``GrossLeverage``
+
+ Keeps track of the gross leverage (how much the strategy is invested)
+
+ Params:
+ These are passed transparently to the children
+
+ - timeframe (default: ``bt.TimeFrame.Days``)
+
+ If ``None`` then the timeframe of the 1st data of the system will be
+ used
+
+ - compression (default: `1``)
+
+ If ``None`` then the compression of the 1st data of the system will be
+ used
+
+ Both ``timeframe`` and ``compression`` are set following the default
+ behavior of ``pyfolio`` which is working with *daily* data and upsample it
+ to obtaine values like yearly returns.
+
+ Methods:
+
+ - get_analysis
+
+ Returns a dictionary with returns as values and the datetime points for
+ each return as keys
+ '''
+ params = (
+ ('timeframe', bt.TimeFrame.Days),
+ ('compression', 1)
+ )
+
+ def __init__(self):
+ dtfcomp = dict(timeframe=self.p.timeframe,
+ compression=self.p.compression)
+
+ self._returns = TimeReturn(**dtfcomp)
+ self._positions = PositionsValue(headers=True, cash=True)
+ self._transactions = Transactions(headers=True)
+ self._gross_lev = GrossLeverage()
+
+ def stop(self):
+ super(PyFolio, self).stop()
+ self.rets['returns'] = self._returns.get_analysis()
+ self.rets['positions'] = self._positions.get_analysis()
+ self.rets['transactions'] = self._transactions.get_analysis()
+ self.rets['gross_lev'] = self._gross_lev.get_analysis()
+
+ def get_pf_items(self):
+ '''Returns a tuple of 4 elements which can be used for further processing with
+ ``pyfolio``
+
+ returns, positions, transactions, gross_leverage
+
+ Because the objects are meant to be used as direct input to ``pyfolio``
+ this method makes a local import of ``pandas`` to convert the internal
+ *backtrader* results to *pandas DataFrames* which is the expected input
+ by, for example, ``pyfolio.create_full_tear_sheet``
+
+ The method will break if ``pandas`` is not installed
+ '''
+ # keep import local to avoid disturbing installations with no pandas
+ import pandas
+ from pandas import DataFrame as DF
+
+ #
+ # Returns
+ cols = ['index', 'return']
+ returns = DF.from_records(iteritems(self.rets['returns']),
+ index=cols[0], columns=cols)
+ returns.index = pandas.to_datetime(returns.index)
+ returns.index = returns.index.tz_localize('UTC')
+ rets = returns['return']
+ #
+ # Positions
+ pss = self.rets['positions']
+ ps = [[k] + v[-2:] for k, v in iteritems(pss)]
+ cols = ps.pop(0) # headers are in the first entry
+ positions = DF.from_records(ps, index=cols[0], columns=cols)
+ positions.index = pandas.to_datetime(positions.index)
+ positions.index = positions.index.tz_localize('UTC')
+
+ #
+ # Transactions
+ txss = self.rets['transactions']
+ txs = list()
+ # The transactions have a common key (date) and can potentially happend
+ # for several assets. The dictionary has a single key and a list of
+ # lists. Each sublist contains the fields of a transaction
+ # Hence the double loop to undo the list indirection
+ for k, v in iteritems(txss):
+ for v2 in v:
+ txs.append([k] + v2)
+
+ cols = txs.pop(0) # headers are in the first entry
+ transactions = DF.from_records(txs, index=cols[0], columns=cols)
+ transactions.index = pandas.to_datetime(transactions.index)
+ transactions.index = transactions.index.tz_localize('UTC')
+
+ # Gross Leverage
+ cols = ['index', 'gross_lev']
+ gross_lev = DF.from_records(iteritems(self.rets['gross_lev']),
+ index=cols[0], columns=cols)
+
+ gross_lev.index = pandas.to_datetime(gross_lev.index)
+ gross_lev.index = gross_lev.index.tz_localize('UTC')
+ glev = gross_lev['gross_lev']
+
+ # Return all together
+ return rets, positions, transactions, glev
diff --git a/backtrader/source/backtrader/analyzers/returns.py b/backtrader/source/backtrader/analyzers/returns.py
new file mode 100644
index 0000000000000000000000000000000000000000..ceb39e31ec1a6c6e5613a8baff2faa0c82a75e86
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/returns.py
@@ -0,0 +1,155 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import math
+
+import backtrader as bt
+from backtrader import TimeFrameAnalyzerBase
+
+
+class Returns(TimeFrameAnalyzerBase):
+ '''Total, Average, Compound and Annualized Returns calculated using a
+ logarithmic approach
+
+ See:
+
+ - https://www.crystalbull.com/sharpe-ratio-better-with-log-returns/
+
+ Params:
+
+ - ``timeframe`` (default: ``None``)
+
+ If ``None`` the ``timeframe`` of the 1st data in the system will be
+ used
+
+ Pass ``TimeFrame.NoTimeFrame`` to consider the entire dataset with no
+ time constraints
+
+ - ``compression`` (default: ``None``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ If ``None`` then the compression of the 1st data of the system will be
+ used
+
+ - ``tann`` (default: ``None``)
+
+ Number of periods to use for the annualization (normalization) of the
+
+ namely:
+
+ - ``days: 252``
+ - ``weeks: 52``
+ - ``months: 12``
+ - ``years: 1``
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ Methods:
+
+ - get_analysis
+
+ Returns a dictionary with returns as values and the datetime points for
+ each return as keys
+
+ The returned dict the following keys:
+
+ - ``rtot``: Total compound return
+ - ``ravg``: Average return for the entire period (timeframe specific)
+ - ``rnorm``: Annualized/Normalized return
+ - ``rnorm100``: Annualized/Normalized return expressed in 100%
+
+ '''
+
+ params = (
+ ('tann', None),
+ ('fund', None),
+ )
+
+ _TANN = {
+ bt.TimeFrame.Days: 252.0,
+ bt.TimeFrame.Weeks: 52.0,
+ bt.TimeFrame.Months: 12.0,
+ bt.TimeFrame.Years: 1.0,
+ }
+
+ def start(self):
+ super(Returns, self).start()
+ if self.p.fund is None:
+ self._fundmode = self.strategy.broker.fundmode
+ else:
+ self._fundmode = self.p.fund
+
+ if not self._fundmode:
+ self._value_start = self.strategy.broker.getvalue()
+ else:
+ self._value_start = self.strategy.broker.fundvalue
+
+ self._tcount = 0
+
+ def stop(self):
+ super(Returns, self).stop()
+
+ if not self._fundmode:
+ self._value_end = self.strategy.broker.getvalue()
+ else:
+ self._value_end = self.strategy.broker.fundvalue
+
+ # Compound return
+ try:
+ nlrtot = self._value_end / self._value_start
+ except ZeroDivisionError:
+ rtot = float('-inf')
+ else:
+ if nlrtot < 0.0:
+ rtot = float('-inf')
+ else:
+ rtot = math.log(nlrtot)
+
+ self.rets['rtot'] = rtot
+
+ # Average return
+ self.rets['ravg'] = ravg = rtot / self._tcount
+
+ # Annualized normalized return
+ tann = self.p.tann or self._TANN.get(self.timeframe, None)
+ if tann is None:
+ tann = self._TANN.get(self.data._timeframe, 1.0) # assign default
+
+ if ravg > float('-inf'):
+ self.rets['rnorm'] = rnorm = math.expm1(ravg * tann)
+ else:
+ self.rets['rnorm'] = rnorm = ravg
+
+ self.rets['rnorm100'] = rnorm * 100.0 # human readable %
+
+ def _on_dt_over(self):
+ self._tcount += 1 # count the subperiod
diff --git a/backtrader/source/backtrader/analyzers/sharpe.py b/backtrader/source/backtrader/analyzers/sharpe.py
new file mode 100644
index 0000000000000000000000000000000000000000..d6971c636ba4ac29a0609f10ca5e418733db7064
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/sharpe.py
@@ -0,0 +1,221 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import math
+
+from backtrader.utils.py3 import itervalues
+
+from backtrader import Analyzer, TimeFrame
+from backtrader.mathsupport import average, standarddev
+from backtrader.analyzers import TimeReturn, AnnualReturn
+
+
+class SharpeRatio(Analyzer):
+ '''This analyzer calculates the SharpeRatio of a strategy using a risk free
+ asset which is simply an interest rate
+
+ See also:
+
+ - https://en.wikipedia.org/wiki/Sharpe_ratio
+
+ Params:
+
+ - ``timeframe``: (default: ``TimeFrame.Years``)
+
+ - ``compression`` (default: ``1``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ - ``riskfreerate`` (default: 0.01 -> 1%)
+
+ Expressed in annual terms (see ``convertrate`` below)
+
+ - ``convertrate`` (default: ``True``)
+
+ Convert the ``riskfreerate`` from annual to monthly, weekly or daily
+ rate. Sub-day conversions are not supported
+
+ - ``factor`` (default: ``None``)
+
+ If ``None``, the conversion factor for the riskfree rate from *annual*
+ to the chosen timeframe will be chosen from a predefined table
+
+ Days: 252, Weeks: 52, Months: 12, Years: 1
+
+ Else the specified value will be used
+
+ - ``annualize`` (default: ``False``)
+
+ If ``convertrate`` is ``True``, the *SharpeRatio* will be delivered in
+ the ``timeframe`` of choice.
+
+ In most occasions the SharpeRatio is delivered in annualized form.
+ Convert the ``riskfreerate`` from annual to monthly, weekly or daily
+ rate. Sub-day conversions are not supported
+
+ - ``stddev_sample`` (default: ``False``)
+
+ If this is set to ``True`` the *standard deviation* will be calculated
+ decreasing the denominator in the mean by ``1``. This is used when
+ calculating the *standard deviation* if it's considered that not all
+ samples are used for the calculation. This is known as the *Bessels'
+ correction*
+
+ - ``daysfactor`` (default: ``None``)
+
+ Old naming for ``factor``. If set to anything else than ``None`` and
+ the ``timeframe`` is ``TimeFrame.Days`` it will be assumed this is old
+ code and the value will be used
+
+ - ``legacyannual`` (default: ``False``)
+
+ Use the ``AnnualReturn`` return analyzer, which as the name implies
+ only works on years
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ Methods:
+
+ - get_analysis
+
+ Returns a dictionary with key "sharperatio" holding the ratio
+
+ '''
+ params = (
+ ('timeframe', TimeFrame.Years),
+ ('compression', 1),
+ ('riskfreerate', 0.01),
+ ('factor', None),
+ ('convertrate', True),
+ ('annualize', False),
+ ('stddev_sample', False),
+
+ # old behavior
+ ('daysfactor', None),
+ ('legacyannual', False),
+ ('fund', None),
+ )
+
+ RATEFACTORS = {
+ TimeFrame.Days: 252,
+ TimeFrame.Weeks: 52,
+ TimeFrame.Months: 12,
+ TimeFrame.Years: 1,
+ }
+
+ def __init__(self):
+ if self.p.legacyannual:
+ self.anret = AnnualReturn()
+ else:
+ self.timereturn = TimeReturn(
+ timeframe=self.p.timeframe,
+ compression=self.p.compression,
+ fund=self.p.fund)
+
+ def stop(self):
+ super(SharpeRatio, self).stop()
+ if self.p.legacyannual:
+ rate = self.p.riskfreerate
+ retavg = average([r - rate for r in self.anret.rets])
+ retdev = standarddev(self.anret.rets)
+
+ self.ratio = retavg / retdev
+ else:
+ # Get the returns from the subanalyzer
+ returns = list(itervalues(self.timereturn.get_analysis()))
+
+ rate = self.p.riskfreerate #
+
+ factor = None
+
+ # Hack to identify old code
+ if self.p.timeframe == TimeFrame.Days and \
+ self.p.daysfactor is not None:
+
+ factor = self.p.daysfactor
+
+ else:
+ if self.p.factor is not None:
+ factor = self.p.factor # user specified factor
+ elif self.p.timeframe in self.RATEFACTORS:
+ # Get the conversion factor from the default table
+ factor = self.RATEFACTORS[self.p.timeframe]
+
+ if factor is not None:
+ # A factor was found
+
+ if self.p.convertrate:
+ # Standard: downgrade annual returns to timeframe factor
+ rate = pow(1.0 + rate, 1.0 / factor) - 1.0
+ else:
+ # Else upgrade returns to yearly returns
+ returns = [pow(1.0 + x, factor) - 1.0 for x in returns]
+
+ lrets = len(returns) - self.p.stddev_sample
+ # Check if the ratio can be calculated
+ if lrets:
+ # Get the excess returns - arithmetic mean - original sharpe
+ ret_free = [r - rate for r in returns]
+ ret_free_avg = average(ret_free)
+ retdev = standarddev(ret_free, avgx=ret_free_avg,
+ bessel=self.p.stddev_sample)
+
+ try:
+ ratio = ret_free_avg / retdev
+
+ if factor is not None and \
+ self.p.convertrate and self.p.annualize:
+
+ ratio = math.sqrt(factor) * ratio
+ except (ValueError, TypeError, ZeroDivisionError):
+ ratio = None
+ else:
+ # no returns or stddev_sample was active and 1 return
+ ratio = None
+
+ self.ratio = ratio
+
+ self.rets['sharperatio'] = self.ratio
+
+
+class SharpeRatio_A(SharpeRatio):
+ '''Extension of the SharpeRatio which returns the Sharpe Ratio directly in
+ annualized form
+
+ The following param has been changed from ``SharpeRatio``
+
+ - ``annualize`` (default: ``True``)
+
+ '''
+
+ params = (
+ ('annualize', True),
+ )
diff --git a/backtrader/source/backtrader/analyzers/sqn.py b/backtrader/source/backtrader/analyzers/sqn.py
new file mode 100644
index 0000000000000000000000000000000000000000..56732f8568514ebd470cf5a8a1aaadf6a593e441
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/sqn.py
@@ -0,0 +1,85 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import math
+
+from backtrader import Analyzer
+from backtrader.mathsupport import average, standarddev
+from backtrader.utils import AutoOrderedDict
+
+
+class SQN(Analyzer):
+ '''SQN or SystemQualityNumber. Defined by Van K. Tharp to categorize trading
+ systems.
+
+ - 1.6 - 1.9 Below average
+ - 2.0 - 2.4 Average
+ - 2.5 - 2.9 Good
+ - 3.0 - 5.0 Excellent
+ - 5.1 - 6.9 Superb
+ - 7.0 - Holy Grail?
+
+ The formula:
+
+ - SquareRoot(NumberTrades) * Average(TradesProfit) / StdDev(TradesProfit)
+
+ The sqn value should be deemed reliable when the number of trades >= 30
+
+ Methods:
+
+ - get_analysis
+
+ Returns a dictionary with keys "sqn" and "trades" (number of
+ considered trades)
+
+ '''
+ alias = ('SystemQualityNumber',)
+
+ def create_analysis(self):
+ '''Replace default implementation to instantiate an AutoOrdereDict
+ rather than an OrderedDict'''
+ self.rets = AutoOrderedDict()
+
+ def start(self):
+ super(SQN, self).start()
+ self.pnl = list()
+ self.count = 0
+
+ def notify_trade(self, trade):
+ if trade.status == trade.Closed:
+ self.pnl.append(trade.pnlcomm)
+ self.count += 1
+
+ def stop(self):
+ if self.count > 1:
+ pnl_av = average(self.pnl)
+ pnl_stddev = standarddev(self.pnl)
+ try:
+ sqn = math.sqrt(len(self.pnl)) * pnl_av / pnl_stddev
+ except ZeroDivisionError:
+ sqn = None
+ else:
+ sqn = 0
+
+ self.rets.sqn = sqn
+ self.rets.trades = self.count
diff --git a/backtrader/source/backtrader/analyzers/timereturn.py b/backtrader/source/backtrader/analyzers/timereturn.py
new file mode 100644
index 0000000000000000000000000000000000000000..70374e36823b404ec086264c30546b4fda96969b
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/timereturn.py
@@ -0,0 +1,142 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from backtrader import TimeFrameAnalyzerBase
+
+
+class TimeReturn(TimeFrameAnalyzerBase):
+ '''This analyzer calculates the Returns by looking at the beginning
+ and end of the timeframe
+
+ Params:
+
+ - ``timeframe`` (default: ``None``)
+ If ``None`` the ``timeframe`` of the 1st data in the system will be
+ used
+
+ Pass ``TimeFrame.NoTimeFrame`` to consider the entire dataset with no
+ time constraints
+
+ - ``compression`` (default: ``None``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ If ``None`` then the compression of the 1st data of the system will be
+ used
+
+ - ``data`` (default: ``None``)
+
+ Reference asset to track instead of the portfolio value.
+
+ .. note:: this data must have been added to a ``cerebro`` instance with
+ ``addata``, ``resampledata`` or ``replaydata``
+
+ - ``firstopen`` (default: ``True``)
+
+ When tracking the returns of a ``data`` the following is done when
+ crossing a timeframe boundary, for example ``Years``:
+
+ - Last ``close`` of previous year is used as the reference price to
+ see the return in the current year
+
+ The problem is the 1st calculation, because the data has** no
+ previous** closing price. As such and when this parameter is ``True``
+ the *opening* price will be used for the 1st calculation.
+
+ This requires the data feed to have an ``open`` price (for ``close``
+ the standard [0] notation will be used without reference to a field
+ price)
+
+ Else the initial close will be used.
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ Methods:
+
+ - get_analysis
+
+ Returns a dictionary with returns as values and the datetime points for
+ each return as keys
+ '''
+
+ params = (
+ ('data', None),
+ ('firstopen', True),
+ ('fund', None),
+ )
+
+ def start(self):
+ super(TimeReturn, self).start()
+ if self.p.fund is None:
+ self._fundmode = self.strategy.broker.fundmode
+ else:
+ self._fundmode = self.p.fund
+
+ self._value_start = 0.0
+ self._lastvalue = None
+ if self.p.data is None:
+ # keep the initial portfolio value if not tracing a data
+ if not self._fundmode:
+ self._lastvalue = self.strategy.broker.getvalue()
+ else:
+ self._lastvalue = self.strategy.broker.fundvalue
+
+ def notify_fund(self, cash, value, fundvalue, shares):
+ if not self._fundmode:
+ # Record current value
+ if self.p.data is None:
+ self._value = value # the portofolio value if tracking no data
+ else:
+ self._value = self.p.data[0] # the data value if tracking data
+ else:
+ if self.p.data is None:
+ self._value = fundvalue # the fund value if tracking no data
+ else:
+ self._value = self.p.data[0] # the data value if tracking data
+
+ def on_dt_over(self):
+ # next is called in a new timeframe period
+ # if self.p.data is None or len(self.p.data) > 1:
+ if self.p.data is None or self._lastvalue is not None:
+ self._value_start = self._lastvalue # update value_start to last
+
+ else:
+ # The 1st tick has no previous reference, use the opening price
+ if self.p.firstopen:
+ self._value_start = self.p.data.open[0]
+ else:
+ self._value_start = self.p.data[0]
+
+ def next(self):
+ # Calculate the return
+ super(TimeReturn, self).next()
+ self.rets[self.dtkey] = (self._value / self._value_start) - 1.0
+ self._lastvalue = self._value # keep last value
diff --git a/backtrader/source/backtrader/analyzers/tradeanalyzer.py b/backtrader/source/backtrader/analyzers/tradeanalyzer.py
new file mode 100644
index 0000000000000000000000000000000000000000..2714d0124c1890c4796ef4812025ca6b066c93a4
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/tradeanalyzer.py
@@ -0,0 +1,208 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import sys
+
+from backtrader import Analyzer
+from backtrader.utils import AutoOrderedDict, AutoDict
+from backtrader.utils.py3 import MAXINT
+
+
+class TradeAnalyzer(Analyzer):
+ '''
+ Provides statistics on closed trades (keeps also the count of open ones)
+
+ - Total Open/Closed Trades
+
+ - Streak Won/Lost Current/Longest
+
+ - ProfitAndLoss Total/Average
+
+ - Won/Lost Count/ Total PNL/ Average PNL / Max PNL
+
+ - Long/Short Count/ Total PNL / Average PNL / Max PNL
+
+ - Won/Lost Count/ Total PNL/ Average PNL / Max PNL
+
+ - Length (bars in the market)
+
+ - Total/Average/Max/Min
+
+ - Won/Lost Total/Average/Max/Min
+
+ - Long/Short Total/Average/Max/Min
+
+ - Won/Lost Total/Average/Max/Min
+
+ Note:
+
+ The analyzer uses an "auto"dict for the fields, which means that if no
+ trades are executed, no statistics will be generated.
+
+ In that case there will be a single field/subfield in the dictionary
+ returned by ``get_analysis``, namely:
+
+ - dictname['total']['total'] which will have a value of 0 (the field is
+ also reachable with dot notation dictname.total.total
+ '''
+ def create_analysis(self):
+ self.rets = AutoOrderedDict()
+ self.rets.total.total = 0
+
+ def stop(self):
+ super(TradeAnalyzer, self).stop()
+ self.rets._close()
+
+ def notify_trade(self, trade):
+ if trade.justopened:
+ # Trade just opened
+ self.rets.total.total += 1
+ self.rets.total.open += 1
+
+ elif trade.status == trade.Closed:
+ trades = self.rets
+
+ res = AutoDict()
+ # Trade just closed
+
+ won = res.won = int(trade.pnlcomm >= 0.0)
+ lost = res.lost = int(not won)
+ tlong = res.tlong = trade.long
+ tshort = res.tshort = not trade.long
+
+ trades.total.open -= 1
+ trades.total.closed += 1
+
+ # Streak
+ for wlname in ['won', 'lost']:
+ wl = res[wlname]
+
+ trades.streak[wlname].current *= wl
+ trades.streak[wlname].current += wl
+
+ ls = trades.streak[wlname].longest or 0
+ trades.streak[wlname].longest = \
+ max(ls, trades.streak[wlname].current)
+
+ trpnl = trades.pnl
+ trpnl.gross.total += trade.pnl
+ trpnl.gross.average = trades.pnl.gross.total / trades.total.closed
+ trpnl.net.total += trade.pnlcomm
+ trpnl.net.average = trades.pnl.net.total / trades.total.closed
+
+ # Won/Lost statistics
+ for wlname in ['won', 'lost']:
+ wl = res[wlname]
+ trwl = trades[wlname]
+
+ trwl.total += wl # won.total / lost.total
+
+ trwlpnl = trwl.pnl
+ pnlcomm = trade.pnlcomm * wl
+
+ trwlpnl.total += pnlcomm
+ trwlpnl.average = trwlpnl.total / (trwl.total or 1.0)
+
+ wm = trwlpnl.max or 0.0
+ func = max if wlname == 'won' else min
+ trwlpnl.max = func(wm, pnlcomm)
+
+ # Long/Short statistics
+ for tname in ['long', 'short']:
+ trls = trades[tname]
+ ls = res['t' + tname]
+
+ trls.total += ls # long.total / short.total
+ trls.pnl.total += trade.pnlcomm * ls
+ trls.pnl.average = trls.pnl.total / (trls.total or 1.0)
+
+ for wlname in ['won', 'lost']:
+ wl = res[wlname]
+ pnlcomm = trade.pnlcomm * wl * ls
+
+ trls[wlname] += wl * ls # long.won / short.won
+
+ trls.pnl[wlname].total += pnlcomm
+ trls.pnl[wlname].average = \
+ trls.pnl[wlname].total / (trls[wlname] or 1.0)
+
+ wm = trls.pnl[wlname].max or 0.0
+ func = max if wlname == 'won' else min
+ trls.pnl[wlname].max = func(wm, pnlcomm)
+
+ # Length
+ trades.len.total += trade.barlen
+ trades.len.average = trades.len.total / trades.total.closed
+ ml = trades.len.max or 0
+ trades.len.max = max(ml, trade.barlen)
+
+ ml = trades.len.min or MAXINT
+ trades.len.min = min(ml, trade.barlen)
+
+ # Length Won/Lost
+ for wlname in ['won', 'lost']:
+ trwl = trades.len[wlname]
+ wl = res[wlname]
+
+ trwl.total += trade.barlen * wl
+ trwl.average = trwl.total / (trades[wlname].total or 1.0)
+
+ m = trwl.max or 0
+ trwl.max = max(m, trade.barlen * wl)
+ if trade.barlen * wl:
+ m = trwl.min or MAXINT
+ trwl.min = min(m, trade.barlen * wl)
+
+ # Length Long/Short
+ for lsname in ['long', 'short']:
+ trls = trades.len[lsname] # trades.len.long
+ ls = res['t' + lsname] # tlong/tshort
+
+ barlen = trade.barlen * ls
+
+ trls.total += barlen # trades.len.long.total
+ total_ls = trades[lsname].total # trades.long.total
+ trls.average = trls.total / (total_ls or 1.0)
+
+ # max/min
+ m = trls.max or 0
+ trls.max = max(m, barlen)
+ m = trls.min or MAXINT
+ trls.min = min(m, barlen or m)
+
+ for wlname in ['won', 'lost']:
+ wl = res[wlname] # won/lost
+
+ barlen2 = trade.barlen * ls * wl
+
+ trls_wl = trls[wlname] # trades.len.long.won
+ trls_wl.total += barlen2 # trades.len.long.won.total
+
+ trls_wl.average = \
+ trls_wl.total / (trades[lsname][wlname] or 1.0)
+
+ # max/min
+ m = trls_wl.max or 0
+ trls_wl.max = max(m, barlen2)
+ m = trls_wl.min or MAXINT
+ trls_wl.min = min(m, barlen2 or m)
diff --git a/backtrader/source/backtrader/analyzers/transactions.py b/backtrader/source/backtrader/analyzers/transactions.py
new file mode 100644
index 0000000000000000000000000000000000000000..dbeb94e943341ed1b94a1cf755b3a4768a4a6a06
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/transactions.py
@@ -0,0 +1,103 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import collections
+
+import backtrader as bt
+from backtrader import Order, Position
+
+
+class Transactions(bt.Analyzer):
+ '''This analyzer reports the transactions occurred with each an every data in
+ the system
+
+ It looks at the order execution bits to create a ``Position`` starting from
+ 0 during each ``next`` cycle.
+
+ The result is used during next to record the transactions
+
+ Params:
+
+ - headers (default: ``True``)
+
+ Add an initial key to the dictionary holding the results with the names
+ of the datas
+
+ This analyzer was modeled to facilitate the integration with
+ ``pyfolio`` and the header names are taken from the samples used for
+ it::
+
+ 'date', 'amount', 'price', 'sid', 'symbol', 'value'
+
+ Methods:
+
+ - get_analysis
+
+ Returns a dictionary with returns as values and the datetime points for
+ each return as keys
+ '''
+ params = (
+ ('headers', False),
+ ('_pfheaders', ('date', 'amount', 'price', 'sid', 'symbol', 'value')),
+ )
+
+ def start(self):
+ super(Transactions, self).start()
+ if self.p.headers:
+ self.rets[self.p._pfheaders[0]] = [list(self.p._pfheaders[1:])]
+
+ self._positions = collections.defaultdict(Position)
+ self._idnames = list(enumerate(self.strategy.getdatanames()))
+
+ def notify_order(self, order):
+ # An order could have several partial executions per cycle (unlikely
+ # but possible) and therefore: collect each new execution notification
+ # and let the work for next
+
+ # We use a fresh Position object for each round to get summary of what
+ # the execution bits have done in that round
+ if order.status not in [Order.Partial, Order.Completed]:
+ return # It's not an execution
+
+ pos = self._positions[order.data._name]
+ for exbit in order.executed.iterpending():
+ if exbit is None:
+ break # end of pending reached
+
+ pos.update(exbit.size, exbit.price)
+
+ def next(self):
+ # super(Transactions, self).next() # let dtkey update
+ entries = []
+ for i, dname in self._idnames:
+ pos = self._positions.get(dname, None)
+ if pos is not None:
+ size, price = pos.size, pos.price
+ if size:
+ entries.append([size, price, i, dname, -size * price])
+
+ if entries:
+ self.rets[self.strategy.datetime.datetime()] = entries
+
+ self._positions.clear()
diff --git a/backtrader/source/backtrader/analyzers/vwr.py b/backtrader/source/backtrader/analyzers/vwr.py
new file mode 100644
index 0000000000000000000000000000000000000000..2bd758aeda3c9e742154931e711e50cdd55063a6
--- /dev/null
+++ b/backtrader/source/backtrader/analyzers/vwr.py
@@ -0,0 +1,173 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import math
+
+import backtrader as bt
+from backtrader import TimeFrameAnalyzerBase
+from . import Returns
+from ..mathsupport import standarddev
+
+
+class VWR(TimeFrameAnalyzerBase):
+ '''Variability-Weighted Return: Better SharpeRatio with Log Returns
+
+ Alias:
+
+ - VariabilityWeightedReturn
+
+ See:
+
+ - https://www.crystalbull.com/sharpe-ratio-better-with-log-returns/
+
+ Params:
+
+ - ``timeframe`` (default: ``None``)
+ If ``None`` then the complete return over the entire backtested period
+ will be reported
+
+ Pass ``TimeFrame.NoTimeFrame`` to consider the entire dataset with no
+ time constraints
+
+ - ``compression`` (default: ``None``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ If ``None`` then the compression of the 1st data of the system will be
+ used
+
+ - ``tann`` (default: ``None``)
+
+ Number of periods to use for the annualization (normalization) of the
+ average returns. If ``None``, then standard ``t`` values will be used,
+ namely:
+
+ - ``days: 252``
+ - ``weeks: 52``
+ - ``months: 12``
+ - ``years: 1``
+
+ - ``tau`` (default: ``2.0``)
+
+ factor for the calculation (see the literature)
+
+ - ``sdev_max`` (default: ``0.20``)
+
+ max standard deviation (see the literature)
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ Methods:
+
+ - get_analysis
+
+ Returns a dictionary with returns as values and the datetime points for
+ each return as keys
+
+ The returned dict contains the following keys:
+
+ - ``vwr``: Variability-Weighted Return
+ '''
+
+ params = (
+ ('tann', None),
+ ('tau', 0.20),
+ ('sdev_max', 2.0),
+ ('fund', None),
+ )
+
+ _TANN = {
+ bt.TimeFrame.Days: 252.0,
+ bt.TimeFrame.Weeks: 52.0,
+ bt.TimeFrame.Months: 12.0,
+ bt.TimeFrame.Years: 1.0,
+ }
+
+ def __init__(self):
+ # Children log return analyzer
+ self._returns = Returns(timeframe=self.p.timeframe,
+ compression=self.p.compression,
+ tann=self.p.tann)
+
+ def start(self):
+ super(VWR, self).start()
+ # Add an initial placeholder for [-1] operation
+ if self.p.fund is None:
+ self._fundmode = self.strategy.broker.fundmode
+ else:
+ self._fundmode = self.p.fund
+
+ if not self._fundmode:
+ self._pis = [self.strategy.broker.getvalue()] # keep initial value
+ else:
+ self._pis = [self.strategy.broker.fundvalue] # keep initial value
+
+ self._pns = [None] # keep final prices (value)
+
+ def stop(self):
+ super(VWR, self).stop()
+ # Check if no value has been seen after the last 'dt_over'
+ # If so, there is one 'pi' out of place and a None 'pn'. Purge
+ if self._pns[-1] is None:
+ self._pis.pop()
+ self._pns.pop()
+
+ # Get results from children
+ rs = self._returns.get_analysis()
+ ravg = rs['ravg']
+ rnorm100 = rs['rnorm100']
+
+ # make n 1 based in enumerate (number of periods and not index)
+ # skip initial placeholders for synchronization
+ dts = []
+ for n, pipn in enumerate(zip(self._pis, self._pns), 1):
+ pi, pn = pipn
+
+ dt = pn / (pi * math.exp(ravg * n)) - 1.0
+ dts.append(dt)
+
+ sdev_p = standarddev(dts, bessel=True)
+
+ vwr = rnorm100 * (1.0 - pow(sdev_p / self.p.sdev_max, self.p.tau))
+ self.rets['vwr'] = vwr
+
+ def notify_fund(self, cash, value, fundvalue, shares):
+ if not self._fundmode:
+ self._pns[-1] = value # annotate last seen pn for current period
+ else:
+ self._pns[-1] = fundvalue # annotate last pn for current period
+
+ def _on_dt_over(self):
+ self._pis.append(self._pns[-1]) # last pn is pi in next period
+ self._pns.append(None) # placeholder for [-1] operation
+
+
+VariabilityWeightedReturn = VWR
diff --git a/backtrader/source/backtrader/broker.py b/backtrader/source/backtrader/broker.py
new file mode 100644
index 0000000000000000000000000000000000000000..b88de5b21a293dc7d66d9b62cf6f6c59c98df4e3
--- /dev/null
+++ b/backtrader/source/backtrader/broker.py
@@ -0,0 +1,168 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from backtrader.comminfo import CommInfoBase
+from backtrader.metabase import MetaParams
+from backtrader.utils.py3 import with_metaclass
+
+from . import fillers as fillers
+from . import fillers as filler
+
+
+class MetaBroker(MetaParams):
+ def __init__(cls, name, bases, dct):
+ '''
+ Class has already been created ... fill missing methods if needed be
+ '''
+ # Initialize the class
+ super(MetaBroker, cls).__init__(name, bases, dct)
+ translations = {
+ 'get_cash': 'getcash',
+ 'get_value': 'getvalue',
+ }
+
+ for attr, trans in translations.items():
+ if not hasattr(cls, attr):
+ setattr(cls, name, getattr(cls, trans))
+
+
+class BrokerBase(with_metaclass(MetaBroker, object)):
+ params = (
+ ('commission', CommInfoBase(percabs=True)),
+ )
+
+ def __init__(self):
+ self.comminfo = dict()
+ self.init()
+
+ def init(self):
+ # called from init and from start
+ if None not in self.comminfo:
+ self.comminfo = dict({None: self.p.commission})
+
+ def start(self):
+ self.init()
+
+ def stop(self):
+ pass
+
+ def add_order_history(self, orders, notify=False):
+ '''Add order history. See cerebro for details'''
+ raise NotImplementedError
+
+ def set_fund_history(self, fund):
+ '''Add fund history. See cerebro for details'''
+ raise NotImplementedError
+
+ def getcommissioninfo(self, data):
+ '''Retrieves the ``CommissionInfo`` scheme associated with the given
+ ``data``'''
+ if data._name in self.comminfo:
+ return self.comminfo[data._name]
+
+ return self.comminfo[None]
+
+ def setcommission(self,
+ commission=0.0, margin=None, mult=1.0,
+ commtype=None, percabs=True, stocklike=False,
+ interest=0.0, interest_long=False, leverage=1.0,
+ automargin=False,
+ name=None):
+
+ '''This method sets a `` CommissionInfo`` object for assets managed in
+ the broker with the parameters. Consult the reference for
+ ``CommInfoBase``
+
+ If name is ``None``, this will be the default for assets for which no
+ other ``CommissionInfo`` scheme can be found
+ '''
+
+ comm = CommInfoBase(commission=commission, margin=margin, mult=mult,
+ commtype=commtype, stocklike=stocklike,
+ percabs=percabs,
+ interest=interest, interest_long=interest_long,
+ leverage=leverage, automargin=automargin)
+ self.comminfo[name] = comm
+
+ def addcommissioninfo(self, comminfo, name=None):
+ '''Adds a ``CommissionInfo`` object that will be the default for all assets if
+ ``name`` is ``None``'''
+ self.comminfo[name] = comminfo
+
+ def getcash(self):
+ raise NotImplementedError
+
+ def getvalue(self, datas=None):
+ raise NotImplementedError
+
+ def get_fundshares(self):
+ '''Returns the current number of shares in the fund-like mode'''
+ return 1.0 # the abstract mode has only 1 share
+
+ fundshares = property(get_fundshares)
+
+ def get_fundvalue(self):
+ return self.getvalue()
+
+ fundvalue = property(get_fundvalue)
+
+ def set_fundmode(self, fundmode, fundstartval=None):
+ '''Set the actual fundmode (True or False)
+
+ If the argument fundstartval is not ``None``, it will used
+ '''
+ pass # do nothing, not all brokers can support this
+
+ def get_fundmode(self):
+ '''Returns the actual fundmode (True or False)'''
+ return False
+
+ fundmode = property(get_fundmode, set_fundmode)
+
+ def getposition(self, data):
+ raise NotImplementedError
+
+ def submit(self, order):
+ raise NotImplementedError
+
+ def cancel(self, order):
+ raise NotImplementedError
+
+ def buy(self, owner, data, size, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0, oco=None,
+ trailamount=None, trailpercent=None,
+ **kwargs):
+
+ raise NotImplementedError
+
+ def sell(self, owner, data, size, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0, oco=None,
+ trailamount=None, trailpercent=None,
+ **kwargs):
+
+ raise NotImplementedError
+
+ def next(self):
+ pass
+
+# __all__ = ['BrokerBase', 'fillers', 'filler']
diff --git a/backtrader/source/backtrader/brokers/__init__.py b/backtrader/source/backtrader/brokers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..0efd3ce6766653882e21abf593c34120087c8916
--- /dev/null
+++ b/backtrader/source/backtrader/brokers/__init__.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+# The modules below should/must define __all__ with the objects wishes
+# or prepend an "_" (underscore) to private classes/variables
+
+from .bbroker import BackBroker, BrokerBack
+
+try:
+ from .ibbroker import IBBroker
+except ImportError:
+ pass # The user may not have ibpy installed
+
+try:
+ from .vcbroker import VCBroker
+except ImportError:
+ pass # The user may not have something installed
+
+try:
+ from .oandabroker import OandaBroker
+except ImportError as e:
+ pass # The user may not have something installed
diff --git a/backtrader/source/backtrader/brokers/bbroker.py b/backtrader/source/backtrader/brokers/bbroker.py
new file mode 100644
index 0000000000000000000000000000000000000000..1c7a64d80ed1278aa2d45c1c5619693ca8daed63
--- /dev/null
+++ b/backtrader/source/backtrader/brokers/bbroker.py
@@ -0,0 +1,1237 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+import datetime
+
+import backtrader as bt
+from backtrader.comminfo import CommInfoBase
+from backtrader.order import Order, BuyOrder, SellOrder
+from backtrader.position import Position
+from backtrader.utils.py3 import string_types, integer_types
+
+__all__ = ['BackBroker', 'BrokerBack']
+
+
+class BackBroker(bt.BrokerBase):
+ '''Broker Simulator
+
+ The simulation supports different order types, checking a submitted order
+ cash requirements against current cash, keeping track of cash and value
+ for each iteration of ``cerebro`` and keeping the current position on
+ different datas.
+
+ *cash* is adjusted on each iteration for instruments like ``futures`` for
+ which a price change implies in real brokers the addition/substracion of
+ cash.
+
+ Supported order types:
+
+ - ``Market``: to be executed with the 1st tick of the next bar (namely
+ the ``open`` price)
+
+ - ``Close``: meant for intraday in which the order is executed with the
+ closing price of the last bar of the session
+
+ - ``Limit``: executes if the given limit price is seen during the
+ session
+
+ - ``Stop``: executes a ``Market`` order if the given stop price is seen
+
+ - ``StopLimit``: sets a ``Limit`` order in motion if the given stop
+ price is seen
+
+ Because the broker is instantiated by ``Cerebro`` and there should be
+ (mostly) no reason to replace the broker, the params are not controlled
+ by the user for the instance. To change this there are two options:
+
+ 1. Manually create an instance of this class with the desired params
+ and use ``cerebro.broker = instance`` to set the instance as the
+ broker for the ``run`` execution
+
+ 2. Use the ``set_xxx`` to set the value using
+ ``cerebro.broker.set_xxx`` where ```xxx`` stands for the name of the
+ parameter to set
+
+ .. note::
+
+ ``cerebro.broker`` is a *property* supported by the ``getbroker``
+ and ``setbroker`` methods of ``Cerebro``
+
+ Params:
+
+ - ``cash`` (default: ``10000``): starting cash
+
+ - ``commission`` (default: ``CommInfoBase(percabs=True)``)
+ base commission scheme which applies to all assets
+
+ - ``checksubmit`` (default: ``True``)
+ check margin/cash before accepting an order into the system
+
+ - ``eosbar`` (default: ``False``):
+ With intraday bars consider a bar with the same ``time`` as the end
+ of session to be the end of the session. This is not usually the
+ case, because some bars (final auction) are produced by many
+ exchanges for many products for a couple of minutes after the end of
+ the session
+
+ - ``filler`` (default: ``None``)
+
+ A callable with signature: ``callable(order, price, ago)``
+
+ - ``order``: obviously the order in execution. This provides access
+ to the *data* (and with it the *ohlc* and *volume* values), the
+ *execution type*, remaining size (``order.executed.remsize``) and
+ others.
+
+ Please check the ``Order`` documentation and reference for things
+ available inside an ``Order`` instance
+
+ - ``price`` the price at which the order is going to be executed in
+ the ``ago`` bar
+
+ - ``ago``: index meant to be used with ``order.data`` for the
+ extraction of the *ohlc* and *volume* prices. In most cases this
+ will be ``0`` but on a corner case for ``Close`` orders, this
+ will be ``-1``.
+
+ In order to get the bar volume (for example) do: ``volume =
+ order.data.voluume[ago]``
+
+ The callable must return the *executed size* (a value >= 0)
+
+ The callable may of course be an object with ``__call__`` matching
+ the aforementioned signature
+
+ With the default ``None`` orders will be completely executed in a
+ single shot
+
+ - ``slip_perc`` (default: ``0.0``) Percentage in absolute termns (and
+ positive) that should be used to slip prices up/down for buy/sell
+ orders
+
+ Note:
+
+ - ``0.01`` is ``1%``
+
+ - ``0.001`` is ``0.1%``
+
+ - ``slip_fixed`` (default: ``0.0``) Percentage in units (and positive)
+ that should be used to slip prices up/down for buy/sell orders
+
+ Note: if ``slip_perc`` is non zero, it takes precendence over this.
+
+ - ``slip_open`` (default: ``False``) whether to slip prices for order
+ execution which would specifically used the *opening* price of the
+ next bar. An example would be ``Market`` order which is executed with
+ the next available tick, i.e: the opening price of the bar.
+
+ This also applies to some of the other executions, because the logic
+ tries to detect if the *opening* price would match the requested
+ price/execution type when moving to a new bar.
+
+ - ``slip_match`` (default: ``True``)
+
+ If ``True`` the broker will offer a match by capping slippage at
+ ``high/low`` prices in case they would be exceeded.
+
+ If ``False`` the broker will not match the order with the current
+ prices and will try execution during the next iteration
+
+ - ``slip_limit`` (default: ``True``)
+
+ ``Limit`` orders, given the exact match price requested, will be
+ matched even if ``slip_match`` is ``False``.
+
+ This option controls that behavior.
+
+ If ``True``, then ``Limit`` orders will be matched by capping prices
+ to the ``limit`` / ``high/low`` prices
+
+ If ``False`` and slippage exceeds the cap, then there will be no
+ match
+
+ - ``slip_out`` (default: ``False``)
+
+ Provide *slippage* even if the price falls outside the ``high`` -
+ ``low`` range.
+
+ - ``coc`` (default: ``False``)
+
+ *Cheat-On-Close* Setting this to ``True`` with ``set_coc`` enables
+ matching a ``Market`` order to the closing price of the bar in which
+ the order was issued. This is actually *cheating*, because the bar
+ is *closed* and any order should first be matched against the prices
+ in the next bar
+
+ - ``coo`` (default: ``False``)
+
+ *Cheat-On-Open* Setting this to ``True`` with ``set_coo`` enables
+ matching a ``Market`` order to the opening price, by for example
+ using a timer with ``cheat`` set to ``True``, because such a timer
+ gets executed before the broker has evaluated
+
+ - ``int2pnl`` (default: ``True``)
+
+ Assign generated interest (if any) to the profit and loss of
+ operation that reduces a position (be it long or short). There may be
+ cases in which this is undesired, because different strategies are
+ competing and the interest would be assigned on a non-deterministic
+ basis to any of them.
+
+ - ``shortcash`` (default: ``True``)
+
+ If True then cash will be increased when a stocklike asset is shorted
+ and the calculated value for the asset will be negative.
+
+ If ``False`` then the cash will be deducted as operation cost and the
+ calculated value will be positive to end up with the same amount
+
+ - ``fundstartval`` (default: ``100.0``)
+
+ This parameter controls the start value for measuring the performance
+ in a fund-like way, i.e.: cash can be added and deducted increasing
+ the amount of shares. Performance is not measured using the net
+ asset value of the porftoflio but using the value of the fund
+
+ - ``fundmode`` (default: ``False``)
+
+ If this is set to ``True`` analyzers like ``TimeReturn`` can
+ automatically calculate returns based on the fund value and not on
+ the total net asset value
+
+ '''
+ params = (
+ ('cash', 10000.0),
+ ('checksubmit', True),
+ ('eosbar', False),
+ ('filler', None),
+ # slippage options
+ ('slip_perc', 0.0),
+ ('slip_fixed', 0.0),
+ ('slip_open', False),
+ ('slip_match', True),
+ ('slip_limit', True),
+ ('slip_out', False),
+ ('coc', False),
+ ('coo', False),
+ ('int2pnl', True),
+ ('shortcash', True),
+ ('fundstartval', 100.0),
+ ('fundmode', False),
+ )
+
+ def __init__(self):
+ super(BackBroker, self).__init__()
+ self._userhist = []
+ self._fundhist = []
+ # share_value, net asset value
+ self._fhistlast = [float('NaN'), float('NaN')]
+
+ def init(self):
+ super(BackBroker, self).init()
+ self.startingcash = self.cash = self.p.cash
+ self._value = self.cash
+ self._valuemkt = 0.0 # no open position
+
+ self._valuelever = 0.0 # no open position
+ self._valuemktlever = 0.0 # no open position
+
+ self._leverage = 1.0 # initially nothing is open
+ self._unrealized = 0.0 # no open position
+
+ self.orders = list() # will only be appending
+ self.pending = collections.deque() # popleft and append(right)
+ self._toactivate = collections.deque() # to activate in next cycle
+
+ self.positions = collections.defaultdict(Position)
+ self.d_credit = collections.defaultdict(float) # credit per data
+ self.notifs = collections.deque()
+
+ self.submitted = collections.deque()
+
+ # to keep dependent orders if needed
+ self._pchildren = collections.defaultdict(collections.deque)
+
+ self._ocos = dict()
+ self._ocol = collections.defaultdict(list)
+
+ self._fundval = self.p.fundstartval
+ self._fundshares = self.p.cash / self._fundval
+ self._cash_addition = collections.deque()
+
+ def get_notification(self):
+ try:
+ return self.notifs.popleft()
+ except IndexError:
+ pass
+
+ return None
+
+ def set_fundmode(self, fundmode, fundstartval=None):
+ '''Set the actual fundmode (True or False)
+
+ If the argument fundstartval is not ``None``, it will used
+ '''
+ self.p.fundmode = fundmode
+ if fundstartval is not None:
+ self.set_fundstartval(fundstartval)
+
+ def get_fundmode(self):
+ '''Returns the actual fundmode (True or False)'''
+ return self.p.fundmode
+
+ fundmode = property(get_fundmode, set_fundmode)
+
+ def set_fundstartval(self, fundstartval):
+ '''Set the starting value of the fund-like performance tracker'''
+ self.p.fundstartval = fundstartval
+
+ def set_int2pnl(self, int2pnl):
+ '''Configure assignment of interest to profit and loss'''
+ self.p.int2pnl = int2pnl
+
+ def set_coc(self, coc):
+ '''Configure the Cheat-On-Close method to buy the close on order bar'''
+ self.p.coc = coc
+
+ def set_coo(self, coo):
+ '''Configure the Cheat-On-Open method to buy the close on order bar'''
+ self.p.coo = coo
+
+ def set_shortcash(self, shortcash):
+ '''Configure the shortcash parameters'''
+ self.p.shortcash = shortcash
+
+ def set_slippage_perc(self, perc,
+ slip_open=True, slip_limit=True,
+ slip_match=True, slip_out=False):
+ '''Configure slippage to be percentage based'''
+ self.p.slip_perc = perc
+ self.p.slip_fixed = 0.0
+ self.p.slip_open = slip_open
+ self.p.slip_limit = slip_limit
+ self.p.slip_match = slip_match
+ self.p.slip_out = slip_out
+
+ def set_slippage_fixed(self, fixed,
+ slip_open=True, slip_limit=True,
+ slip_match=True, slip_out=False):
+ '''Configure slippage to be fixed points based'''
+ self.p.slip_perc = 0.0
+ self.p.slip_fixed = fixed
+ self.p.slip_open = slip_open
+ self.p.slip_limit = slip_limit
+ self.p.slip_match = slip_match
+ self.p.slip_out = slip_out
+
+ def set_filler(self, filler):
+ '''Sets a volume filler for volume filling execution'''
+ self.p.filler = filler
+
+ def set_checksubmit(self, checksubmit):
+ '''Sets the checksubmit parameter'''
+ self.p.checksubmit = checksubmit
+
+ def set_eosbar(self, eosbar):
+ '''Sets the eosbar parameter (alias: ``seteosbar``'''
+ self.p.eosbar = eosbar
+
+ seteosbar = set_eosbar
+
+ def get_cash(self):
+ '''Returns the current cash (alias: ``getcash``)'''
+ return self.cash
+
+ getcash = get_cash
+
+ def set_cash(self, cash):
+ '''Sets the cash parameter (alias: ``setcash``)'''
+ self.startingcash = self.cash = self.p.cash = cash
+ self._value = cash
+
+ setcash = set_cash
+
+ def add_cash(self, cash):
+ '''Add/Remove cash to the system (use a negative value to remove)'''
+ self._cash_addition.append(cash)
+
+ def get_fundshares(self):
+ '''Returns the current number of shares in the fund-like mode'''
+ return self._fundshares
+
+ fundshares = property(get_fundshares)
+
+ def get_fundvalue(self):
+ '''Returns the Fund-like share value'''
+ return self._fundval
+
+ fundvalue = property(get_fundvalue)
+
+ def cancel(self, order, bracket=False):
+ try:
+ self.pending.remove(order)
+ except ValueError:
+ # If the list didn't have the element we didn't cancel anything
+ return False
+
+ order.cancel()
+ self.notify(order)
+ self._ococheck(order)
+ if not bracket:
+ self._bracketize(order, cancel=True)
+ return True
+
+ def get_value(self, datas=None, mkt=False, lever=False):
+ '''Returns the portfolio value of the given datas (if datas is ``None``, then
+ the total portfolio value will be returned (alias: ``getvalue``)
+ '''
+ if datas is None:
+ if mkt:
+ return self._valuemkt if not lever else self._valuemktlever
+
+ return self._value if not lever else self._valuelever
+
+ return self._get_value(datas=datas, lever=lever)
+
+ getvalue = get_value
+
+ def get_value_lever(self, datas=None, mkt=False):
+ return self.get_value(datas=datas, mkt=mkt)
+
+ def _get_value(self, datas=None, lever=False):
+ pos_value = 0.0
+ pos_value_unlever = 0.0
+ unrealized = 0.0
+
+ while self._cash_addition:
+ c = self._cash_addition.popleft()
+ self._fundshares += c / self._fundval
+ self.cash += c
+
+ for data in datas or self.positions:
+ comminfo = self.getcommissioninfo(data)
+ position = self.positions[data]
+ # use valuesize: returns raw value, rather than negative adj val
+ if not self.p.shortcash:
+ dvalue = comminfo.getvalue(position, data.close[0])
+ else:
+ dvalue = comminfo.getvaluesize(position.size, data.close[0])
+
+ dunrealized = comminfo.profitandloss(position.size, position.price,
+ data.close[0])
+ if datas and len(datas) == 1:
+ if lever and dvalue > 0:
+ dvalue -= dunrealized
+ return (dvalue / comminfo.get_leverage()) + dunrealized
+ return dvalue # raw data value requested, short selling is neg
+
+ if not self.p.shortcash:
+ dvalue = abs(dvalue) # short selling adds value in this case
+
+ pos_value += dvalue
+ unrealized += dunrealized
+
+ if dvalue > 0: # long position - unlever
+ dvalue -= dunrealized
+ pos_value_unlever += (dvalue / comminfo.get_leverage())
+ pos_value_unlever += dunrealized
+ else:
+ pos_value_unlever += dvalue
+
+ if not self._fundhist:
+ self._value = v = self.cash + pos_value_unlever
+ self._fundval = self._value / self._fundshares # update fundvalue
+ else:
+ # Try to fetch a value
+ fval, fvalue = self._process_fund_history()
+
+ self._value = fvalue
+ self.cash = fvalue - pos_value_unlever
+ self._fundval = fval
+ self._fundshares = fvalue / fval
+ lev = pos_value / (pos_value_unlever or 1.0)
+
+ # update the calculated values above to the historical values
+ pos_value_unlever = fvalue
+ pos_value = fvalue * lev
+
+ self._valuemkt = pos_value_unlever
+
+ self._valuelever = self.cash + pos_value
+ self._valuemktlever = pos_value
+
+ self._leverage = pos_value / (pos_value_unlever or 1.0)
+ self._unrealized = unrealized
+
+ return self._value if not lever else self._valuelever
+
+ def get_leverage(self):
+ return self._leverage
+
+ def get_orders_open(self, safe=False):
+ '''Returns an iterable with the orders which are still open (either not
+ executed or partially executed
+
+ The orders returned must not be touched.
+
+ If order manipulation is needed, set the parameter ``safe`` to True
+ '''
+ if safe:
+ os = [x.clone() for x in self.pending]
+ else:
+ os = [x for x in self.pending]
+
+ return os
+
+ def getposition(self, data):
+ '''Returns the current position status (a ``Position`` instance) for
+ the given ``data``'''
+ return self.positions[data]
+
+ def orderstatus(self, order):
+ try:
+ o = self.orders.index(order)
+ except ValueError:
+ o = order
+
+ return o.status
+
+ def _take_children(self, order):
+ oref = order.ref
+ pref = getattr(order.parent, 'ref', oref) # parent ref or self
+
+ if oref != pref:
+ if pref not in self._pchildren:
+ order.reject() # parent not there - may have been rejected
+ self.notify(order) # reject child, notify
+ return None
+
+ return pref
+
+ def submit(self, order, check=True):
+ pref = self._take_children(order)
+ if pref is None: # order has not been taken
+ return order
+
+ pc = self._pchildren[pref]
+ pc.append(order) # store in parent/children queue
+
+ if order.transmit: # if single order, sent and queue cleared
+ # if parent-child, the parent will be sent, the other kept
+ rets = [self.transmit(x, check=check) for x in pc]
+ return rets[-1] # last one is the one triggering transmission
+
+ return order
+
+ def transmit(self, order, check=True):
+ if check and self.p.checksubmit:
+ order.submit()
+ self.submitted.append(order)
+ self.orders.append(order)
+ self.notify(order)
+ else:
+ self.submit_accept(order)
+
+ return order
+
+ def check_submitted(self):
+ cash = self.cash
+ positions = dict()
+
+ while self.submitted:
+ order = self.submitted.popleft()
+
+ if self._take_children(order) is None: # children not taken
+ continue
+
+ comminfo = self.getcommissioninfo(order.data)
+
+ position = positions.setdefault(
+ order.data, self.positions[order.data].clone())
+
+ # pseudo-execute the order to get the remaining cash after exec
+ cash = self._execute(order, cash=cash, position=position)
+
+ if cash >= 0.0:
+ self.submit_accept(order)
+ continue
+
+ order.margin()
+ self.notify(order)
+ self._ococheck(order)
+ self._bracketize(order, cancel=True)
+
+ def submit_accept(self, order):
+ order.pannotated = None
+ order.submit()
+ order.accept()
+ self.pending.append(order)
+ self.notify(order)
+
+ def _bracketize(self, order, cancel=False):
+ oref = order.ref
+ pref = getattr(order.parent, 'ref', oref)
+ parent = oref == pref
+
+ pc = self._pchildren[pref] # defdict - guaranteed
+ if cancel or not parent: # cancel left or child exec -> cancel other
+ while pc:
+ self.cancel(pc.popleft(), bracket=True) # idempotent
+
+ del self._pchildren[pref] # defdict guaranteed
+
+ else: # not cancel -> parent exec'd
+ pc.popleft() # remove parent
+ for o in pc: # activate childnre
+ self._toactivate.append(o)
+
+ def _ococheck(self, order):
+ # ocoref = self._ocos[order.ref] or order.ref # a parent or self
+ parentref = self._ocos[order.ref]
+ ocoref = self._ocos.get(parentref, None)
+ ocol = self._ocol.pop(ocoref, None)
+ if ocol:
+ for i in range(len(self.pending) - 1, -1, -1):
+ o = self.pending[i]
+ if o is not None and o.ref in ocol:
+ del self.pending[i]
+ o.cancel()
+ self.notify(o)
+
+ def _ocoize(self, order, oco):
+ oref = order.ref
+ if oco is None:
+ self._ocos[oref] = oref # current order is parent
+ self._ocol[oref].append(oref) # create ocogroup
+ else:
+ ocoref = self._ocos[oco.ref] # ref to group leader
+ self._ocos[oref] = ocoref # ref to group leader
+ self._ocol[ocoref].append(oref) # add to group
+
+ def add_order_history(self, orders, notify=True):
+ oiter = iter(orders)
+ o = next(oiter, None)
+ self._userhist.append([o, oiter, notify])
+
+ def set_fund_history(self, fund):
+ # iterable with the following pro item
+ # [datetime, share_value, net asset value]
+ fiter = iter(fund)
+ f = list(next(fiter)) # must not be empty
+ self._fundhist = [f, fiter]
+ # self._fhistlast = f[1:]
+
+ self.set_cash(float(f[2]))
+
+ def buy(self, owner, data,
+ size, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0, oco=None,
+ trailamount=None, trailpercent=None,
+ parent=None, transmit=True,
+ histnotify=False, _checksubmit=True,
+ **kwargs):
+
+ order = BuyOrder(owner=owner, data=data,
+ size=size, price=price, pricelimit=plimit,
+ exectype=exectype, valid=valid, tradeid=tradeid,
+ trailamount=trailamount, trailpercent=trailpercent,
+ parent=parent, transmit=transmit,
+ histnotify=histnotify)
+
+ order.addinfo(**kwargs)
+ self._ocoize(order, oco)
+
+ return self.submit(order, check=_checksubmit)
+
+ def sell(self, owner, data,
+ size, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0, oco=None,
+ trailamount=None, trailpercent=None,
+ parent=None, transmit=True,
+ histnotify=False, _checksubmit=True,
+ **kwargs):
+
+ order = SellOrder(owner=owner, data=data,
+ size=size, price=price, pricelimit=plimit,
+ exectype=exectype, valid=valid, tradeid=tradeid,
+ trailamount=trailamount, trailpercent=trailpercent,
+ parent=parent, transmit=transmit,
+ histnotify=histnotify)
+
+ order.addinfo(**kwargs)
+ self._ocoize(order, oco)
+
+ return self.submit(order, check=_checksubmit)
+
+ def _execute(self, order, ago=None, price=None, cash=None, position=None,
+ dtcoc=None):
+ # ago = None is used a flag for pseudo execution
+ if ago is not None and price is None:
+ return # no psuedo exec no price - no execution
+
+ if self.p.filler is None or ago is None:
+ # Order gets full size or pseudo-execution
+ size = order.executed.remsize
+ else:
+ # Execution depends on volume filler
+ size = self.p.filler(order, price, ago)
+ if not order.isbuy():
+ size = -size
+
+ # Get comminfo object for the data
+ comminfo = self.getcommissioninfo(order.data)
+
+ # Check if something has to be compensated
+ if order.data._compensate is not None:
+ data = order.data._compensate
+ cinfocomp = self.getcommissioninfo(data) # for actual commission
+ else:
+ data = order.data
+ cinfocomp = comminfo
+
+ # Adjust position with operation size
+ if ago is not None:
+ # Real execution with date
+ position = self.positions[data]
+ pprice_orig = position.price
+
+ psize, pprice, opened, closed = position.pseudoupdate(size, price)
+
+ # if part/all of a position has been closed, then there has been
+ # a profitandloss ... record it
+ pnl = comminfo.profitandloss(-closed, pprice_orig, price)
+ cash = self.cash
+ else:
+ pnl = 0
+ if not self.p.coo:
+ price = pprice_orig = order.created.price
+ else:
+ # When doing cheat on open, the price to be considered for a
+ # market order is the opening price and not the default closing
+ # price with which the order was created
+ if order.exectype == Order.Market:
+ price = pprice_orig = order.data.open[0]
+ else:
+ price = pprice_orig = order.created.price
+
+ psize, pprice, opened, closed = position.update(size, price)
+
+ # "Closing" totally or partially is possible. Cash may be re-injected
+ if closed:
+ # Adjust to returned value for closed items & acquired opened items
+ if self.p.shortcash:
+ closedvalue = comminfo.getvaluesize(-closed, pprice_orig)
+ else:
+ closedvalue = comminfo.getoperationcost(closed, pprice_orig)
+
+ closecash = closedvalue
+ if closedvalue > 0: # long position closed
+ closecash /= comminfo.get_leverage() # inc cash with lever
+
+ cash += closecash + pnl * comminfo.stocklike
+ # Calculate and substract commission
+ closedcomm = comminfo.getcommission(closed, price)
+ cash -= closedcomm
+
+ if ago is not None:
+ # Cashadjust closed contracts: prev close vs exec price
+ # The operation can inject or take cash out
+ cash += comminfo.cashadjust(-closed,
+ position.adjbase,
+ price)
+
+ # Update system cash
+ self.cash = cash
+ else:
+ closedvalue = closedcomm = 0.0
+
+ popened = opened
+ if opened:
+ if self.p.shortcash:
+ openedvalue = comminfo.getvaluesize(opened, price)
+ else:
+ openedvalue = comminfo.getoperationcost(opened, price)
+
+ opencash = openedvalue
+ if openedvalue > 0: # long position being opened
+ opencash /= comminfo.get_leverage() # dec cash with level
+
+ cash -= opencash # original behavior
+
+ openedcomm = cinfocomp.getcommission(opened, price)
+ cash -= openedcomm
+
+ if cash < 0.0:
+ # execution is not possible - nullify
+ opened = 0
+ openedvalue = openedcomm = 0.0
+
+ elif ago is not None: # real execution
+ if abs(psize) > abs(opened):
+ # some futures were opened - adjust the cash of the
+ # previously existing futures to the operation price and
+ # use that as new adjustment base, because it already is
+ # for the new futures At the end of the cycle the
+ # adjustment to the close price will be done for all open
+ # futures from a common base price with regards to the
+ # close price
+ adjsize = psize - opened
+ cash += comminfo.cashadjust(adjsize,
+ position.adjbase, price)
+
+ # record adjust price base for end of bar cash adjustment
+ position.adjbase = price
+
+ # update system cash - checking if opened is still != 0
+ self.cash = cash
+ else:
+ openedvalue = openedcomm = 0.0
+
+ if ago is None:
+ # return cash from pseudo-execution
+ return cash
+
+ execsize = closed + opened
+
+ if execsize:
+ # Confimrm the operation to the comminfo object
+ comminfo.confirmexec(execsize, price)
+
+ # do a real position update if something was executed
+ position.update(execsize, price, data.datetime.datetime())
+
+ if closed and self.p.int2pnl: # Assign accumulated interest data
+ closedcomm += self.d_credit.pop(data, 0.0)
+
+ # Execute and notify the order
+ order.execute(dtcoc or data.datetime[ago],
+ execsize, price,
+ closed, closedvalue, closedcomm,
+ opened, openedvalue, openedcomm,
+ comminfo.margin, pnl,
+ psize, pprice)
+
+ order.addcomminfo(comminfo)
+
+ self.notify(order)
+ self._ococheck(order)
+
+ if popened and not opened:
+ # opened was not executed - not enough cash
+ order.margin()
+ self.notify(order)
+ self._ococheck(order)
+ self._bracketize(order, cancel=True)
+
+ def notify(self, order):
+ self.notifs.append(order.clone())
+
+ def _try_exec_historical(self, order):
+ self._execute(order, ago=0, price=order.created.price)
+
+ def _try_exec_market(self, order, popen, phigh, plow):
+ ago = 0
+ if self.p.coc and order.info.get('coc', True):
+ dtcoc = order.created.dt
+ exprice = order.created.pclose
+ else:
+ if not self.p.coo and order.data.datetime[0] <= order.created.dt:
+ return # can only execute after creation time
+
+ dtcoc = None
+ exprice = popen
+
+ if order.isbuy():
+ p = self._slip_up(phigh, exprice, doslip=self.p.slip_open)
+ else:
+ p = self._slip_down(plow, exprice, doslip=self.p.slip_open)
+
+ self._execute(order, ago=0, price=p, dtcoc=dtcoc)
+
+ def _try_exec_close(self, order, pclose):
+ # pannotated allows to keep track of the closing bar if there is no
+ # information which lets us know that the current bar is the closing
+ # bar (like matching end of session bar)
+ # The actual matching will be done one bar afterwards but using the
+ # information from the actual closing bar
+
+ dt0 = order.data.datetime[0]
+ # don't use "len" -> in replay the close can be reached with same len
+ if dt0 > order.created.dt: # can only execute after creation time
+ # or (self.p.eosbar and dt0 == order.dteos):
+ if dt0 >= order.dteos:
+ # past the end of session or right at it and eosbar is True
+ if order.pannotated and dt0 > order.dteos:
+ ago = -1
+ execprice = order.pannotated
+ else:
+ ago = 0
+ execprice = pclose
+
+ self._execute(order, ago=ago, price=execprice)
+ return
+
+ # If no exexcution has taken place ... annotate the closing price
+ order.pannotated = pclose
+
+ def _try_exec_limit(self, order, popen, phigh, plow, plimit):
+ if order.isbuy():
+ if plimit >= popen:
+ # open smaller/equal than requested - buy cheaper
+ pmax = min(phigh, plimit)
+ p = self._slip_up(pmax, popen, doslip=self.p.slip_open,
+ lim=True)
+ self._execute(order, ago=0, price=p)
+ elif plimit >= plow:
+ # day low below req price ... match limit price
+ self._execute(order, ago=0, price=plimit)
+
+ else: # Sell
+ if plimit <= popen:
+ # open greater/equal than requested - sell more expensive
+ pmin = max(plow, plimit)
+ p = self._slip_down(plimit, popen, doslip=self.p.slip_open,
+ lim=True)
+ self._execute(order, ago=0, price=p)
+ elif plimit <= phigh:
+ # day high above req price ... match limit price
+ self._execute(order, ago=0, price=plimit)
+
+ def _try_exec_stop(self, order, popen, phigh, plow, pcreated, pclose):
+ if order.isbuy():
+ if popen >= pcreated:
+ # price penetrated with an open gap - use open
+ p = self._slip_up(phigh, popen, doslip=self.p.slip_open)
+ self._execute(order, ago=0, price=p)
+ elif phigh >= pcreated:
+ # price penetrated during the session - use trigger price
+ p = self._slip_up(phigh, pcreated)
+ self._execute(order, ago=0, price=p)
+
+ else: # Sell
+ if popen <= pcreated:
+ # price penetrated with an open gap - use open
+ p = self._slip_down(plow, popen, doslip=self.p.slip_open)
+ self._execute(order, ago=0, price=p)
+ elif plow <= pcreated:
+ # price penetrated during the session - use trigger price
+ p = self._slip_down(plow, pcreated)
+ self._execute(order, ago=0, price=p)
+
+ # not (completely) executed and trailing stop
+ if order.alive() and order.exectype == Order.StopTrail:
+ order.trailadjust(pclose)
+
+ def _try_exec_stoplimit(self, order,
+ popen, phigh, plow, pclose,
+ pcreated, plimit):
+ if order.isbuy():
+ if popen >= pcreated:
+ order.triggered = True
+ self._try_exec_limit(order, popen, phigh, plow, plimit)
+
+ elif phigh >= pcreated:
+ # price penetrated upwards during the session
+ order.triggered = True
+ # can calculate execution for a few cases - datetime is fixed
+ if popen > pclose:
+ if plimit >= pcreated: # limit above stop trigger
+ p = self._slip_up(phigh, pcreated, lim=True)
+ self._execute(order, ago=0, price=p)
+ elif plimit >= pclose:
+ self._execute(order, ago=0, price=plimit)
+ else: # popen < pclose
+ if plimit >= pcreated:
+ p = self._slip_up(phigh, pcreated, lim=True)
+ self._execute(order, ago=0, price=p)
+ else: # Sell
+ if popen <= pcreated:
+ # price penetrated downwards with an open gap
+ order.triggered = True
+ self._try_exec_limit(order, popen, phigh, plow, plimit)
+
+ elif plow <= pcreated:
+ # price penetrated downwards during the session
+ order.triggered = True
+ # can calculate execution for a few cases - datetime is fixed
+ if popen <= pclose:
+ if plimit <= pcreated:
+ p = self._slip_down(plow, pcreated, lim=True)
+ self._execute(order, ago=0, price=p)
+ elif plimit <= pclose:
+ self._execute(order, ago=0, price=plimit)
+ else:
+ # popen > pclose
+ if plimit <= pcreated:
+ p = self._slip_down(plow, pcreated, lim=True)
+ self._execute(order, ago=0, price=p)
+
+ # not (completely) executed and trailing stop
+ if order.alive() and order.exectype == Order.StopTrailLimit:
+ order.trailadjust(pclose)
+
+ def _slip_up(self, pmax, price, doslip=True, lim=False):
+ if not doslip:
+ return price
+
+ slip_perc = self.p.slip_perc
+ slip_fixed = self.p.slip_fixed
+ if slip_perc:
+ pslip = price * (1 + slip_perc)
+ elif slip_fixed:
+ pslip = price + slip_fixed
+ else:
+ return price
+
+ if pslip <= pmax: # slipping can return price
+ return pslip
+ elif self.p.slip_match or (lim and self.p.slip_limit):
+ if not self.p.slip_out:
+ return pmax
+
+ return pslip # non existent price
+
+ return None # no price can be returned
+
+ def _slip_down(self, pmin, price, doslip=True, lim=False):
+ if not doslip:
+ return price
+
+ slip_perc = self.p.slip_perc
+ slip_fixed = self.p.slip_fixed
+ if slip_perc:
+ pslip = price * (1 - slip_perc)
+ elif slip_fixed:
+ pslip = price - slip_fixed
+ else:
+ return price
+
+ if pslip >= pmin: # slipping can return price
+ return pslip
+ elif self.p.slip_match or (lim and self.p.slip_limit):
+ if not self.p.slip_out:
+ return pmin
+
+ return pslip # non existent price
+
+ return None # no price can be returned
+
+ def _try_exec(self, order):
+ data = order.data
+
+ popen = getattr(data, 'tick_open', None)
+ if popen is None:
+ popen = data.open[0]
+ phigh = getattr(data, 'tick_high', None)
+ if phigh is None:
+ phigh = data.high[0]
+ plow = getattr(data, 'tick_low', None)
+ if plow is None:
+ plow = data.low[0]
+ pclose = getattr(data, 'tick_close', None)
+ if pclose is None:
+ pclose = data.close[0]
+
+ pcreated = order.created.price
+ plimit = order.created.pricelimit
+
+ if order.exectype == Order.Market:
+ self._try_exec_market(order, popen, phigh, plow)
+
+ elif order.exectype == Order.Close:
+ self._try_exec_close(order, pclose)
+
+ elif order.exectype == Order.Limit:
+ self._try_exec_limit(order, popen, phigh, plow, pcreated)
+
+ elif (order.triggered and
+ order.exectype in [Order.StopLimit, Order.StopTrailLimit]):
+ self._try_exec_limit(order, popen, phigh, plow, plimit)
+
+ elif order.exectype in [Order.Stop, Order.StopTrail]:
+ self._try_exec_stop(order, popen, phigh, plow, pcreated, pclose)
+
+ elif order.exectype in [Order.StopLimit, Order.StopTrailLimit]:
+ self._try_exec_stoplimit(order,
+ popen, phigh, plow, pclose,
+ pcreated, plimit)
+
+ elif order.exectype == Order.Historical:
+ self._try_exec_historical(order)
+
+ def _process_fund_history(self):
+ fhist = self._fundhist # [last element, iterator]
+ f, funds = fhist
+ if not f:
+ return self._fhistlast
+
+ dt = f[0] # date/datetime instance
+ if isinstance(dt, string_types):
+ dtfmt = '%Y-%m-%d'
+ if 'T' in dt:
+ dtfmt += 'T%H:%M:%S'
+ if '.' in dt:
+ dtfmt += '.%f'
+ dt = datetime.datetime.strptime(dt, dtfmt)
+ f[0] = dt # update value
+
+ elif isinstance(dt, datetime.datetime):
+ pass
+ elif isinstance(dt, datetime.date):
+ dt = datetime.datetime(year=dt.year, month=dt.month, day=dt.day)
+ f[0] = dt # Update the value
+
+ # Synchronization with the strategy is not possible because the broker
+ # is called before the strategy advances. The 2 lines below would do it
+ # if possible
+ # st0 = self.cerebro.runningstrats[0]
+ # if dt <= st0.datetime.datetime():
+ if dt <= self.cerebro._dtmaster:
+ self._fhistlast = f[1:]
+ fhist[0] = list(next(funds, []))
+
+ return self._fhistlast
+
+ def _process_order_history(self):
+ for uhist in self._userhist:
+ uhorder, uhorders, uhnotify = uhist
+ while uhorder is not None:
+ uhorder = list(uhorder) # to support assignment (if tuple)
+ try:
+ dataidx = uhorder[3] # 2nd field
+ except IndexError:
+ dataidx = None # Field not present, use default
+
+ if dataidx is None:
+ d = self.cerebro.datas[0]
+ elif isinstance(dataidx, integer_types):
+ d = self.cerebro.datas[dataidx]
+ else: # assume string
+ d = self.cerebro.datasbyname[dataidx]
+
+ if not len(d):
+ break # may start later as oter data feeds
+
+ dt = uhorder[0] # date/datetime instance
+ if isinstance(dt, string_types):
+ dtfmt = '%Y-%m-%d'
+ if 'T' in dt:
+ dtfmt += 'T%H:%M:%S'
+ if '.' in dt:
+ dtfmt += '.%f'
+ dt = datetime.datetime.strptime(dt, dtfmt)
+ uhorder[0] = dt
+ elif isinstance(dt, datetime.datetime):
+ pass
+ elif isinstance(dt, datetime.date):
+ dt = datetime.datetime(year=dt.year,
+ month=dt.month,
+ day=dt.day)
+ uhorder[0] = dt
+
+ if dt > d.datetime.datetime():
+ break # cannot execute yet 1st in queue, stop processing
+
+ size = uhorder[1]
+ price = uhorder[2]
+ owner = self.cerebro.runningstrats[0]
+ if size > 0:
+ o = self.buy(owner=owner, data=d,
+ size=size, price=price,
+ exectype=Order.Historical,
+ histnotify=uhnotify,
+ _checksubmit=False)
+
+ elif size < 0:
+ o = self.sell(owner=owner, data=d,
+ size=abs(size), price=price,
+ exectype=Order.Historical,
+ histnotify=uhnotify,
+ _checksubmit=False)
+
+ # update to next potential order
+ uhist[0] = uhorder = next(uhorders, None)
+
+ def next(self):
+ while self._toactivate:
+ self._toactivate.popleft().activate()
+
+ if self.p.checksubmit:
+ self.check_submitted()
+
+ # Discount any cash for positions hold
+ credit = 0.0
+ for data, pos in self.positions.items():
+ if pos:
+ comminfo = self.getcommissioninfo(data)
+ dt0 = data.datetime.datetime()
+ dcredit = comminfo.get_credit_interest(data, pos, dt0)
+ self.d_credit[data] += dcredit
+ credit += dcredit
+ pos.datetime = dt0 # mark last credit operation
+
+ self.cash -= credit
+
+ self._process_order_history()
+
+ # Iterate once over all elements of the pending queue
+ self.pending.append(None)
+ while True:
+ order = self.pending.popleft()
+ if order is None:
+ break
+
+ if order.expire():
+ self.notify(order)
+ self._ococheck(order)
+ self._bracketize(order, cancel=True)
+
+ elif not order.active():
+ self.pending.append(order) # cannot yet be processed
+
+ else:
+ self._try_exec(order)
+ if order.alive():
+ self.pending.append(order)
+
+ elif order.status == Order.Completed:
+ # a bracket parent order may have been executed
+ self._bracketize(order)
+
+ # Operations have been executed ... adjust cash end of bar
+ for data, pos in self.positions.items():
+ # futures change cash every bar
+ if pos:
+ comminfo = self.getcommissioninfo(data)
+ self.cash += comminfo.cashadjust(pos.size,
+ pos.adjbase,
+ data.close[0])
+ # record the last adjustment price
+ pos.adjbase = data.close[0]
+
+ self._get_value() # update value
+
+
+# Alias
+BrokerBack = BackBroker
diff --git a/backtrader/source/backtrader/brokers/ibbroker.py b/backtrader/source/backtrader/brokers/ibbroker.py
new file mode 100644
index 0000000000000000000000000000000000000000..20e63dffc1410632fa69b0645ead8769d13812ed
--- /dev/null
+++ b/backtrader/source/backtrader/brokers/ibbroker.py
@@ -0,0 +1,575 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+from copy import copy
+from datetime import date, datetime, timedelta
+import threading
+import uuid
+
+import ib.ext.Order
+import ib.opt as ibopt
+
+from backtrader.feed import DataBase
+from backtrader import (TimeFrame, num2date, date2num, BrokerBase,
+ Order, OrderBase, OrderData)
+from backtrader.utils.py3 import bytes, bstr, with_metaclass, queue, MAXFLOAT
+from backtrader.metabase import MetaParams
+from backtrader.comminfo import CommInfoBase
+from backtrader.position import Position
+from backtrader.stores import ibstore
+from backtrader.utils import AutoDict, AutoOrderedDict
+from backtrader.comminfo import CommInfoBase
+
+bytes = bstr # py2/3 need for ibpy
+
+
+class IBOrderState(object):
+ # wraps OrderState object and can print it
+ _fields = ['status', 'initMargin', 'maintMargin', 'equityWithLoan',
+ 'commission', 'minCommission', 'maxCommission',
+ 'commissionCurrency', 'warningText']
+
+ def __init__(self, orderstate):
+ for f in self._fields:
+ fname = 'm_' + f
+ setattr(self, fname, getattr(orderstate, fname))
+
+ def __str__(self):
+ txt = list()
+ txt.append('--- ORDERSTATE BEGIN')
+ for f in self._fields:
+ fname = 'm_' + f
+ txt.append('{}: {}'.format(f.capitalize(), getattr(self, fname)))
+ txt.append('--- ORDERSTATE END')
+ return '\n'.join(txt)
+
+
+class IBOrder(OrderBase, ib.ext.Order.Order):
+ '''Subclasses the IBPy order to provide the minimum extra functionality
+ needed to be compatible with the internally defined orders
+
+ Once ``OrderBase`` has processed the parameters, the __init__ method takes
+ over to use the parameter values and set the appropriate values in the
+ ib.ext.Order.Order object
+
+ Any extra parameters supplied with kwargs are applied directly to the
+ ib.ext.Order.Order object, which could be used as follows::
+
+ Example: if the 4 order execution types directly supported by
+ ``backtrader`` are not enough, in the case of for example
+ *Interactive Brokers* the following could be passed as *kwargs*::
+
+ orderType='LIT', lmtPrice=10.0, auxPrice=9.8
+
+ This would override the settings created by ``backtrader`` and
+ generate a ``LIMIT IF TOUCHED`` order with a *touched* price of 9.8
+ and a *limit* price of 10.0.
+
+ This would be done almost always from the ``Buy`` and ``Sell`` methods of
+ the ``Strategy`` subclass being used in ``Cerebro``
+ '''
+
+ def __str__(self):
+ '''Get the printout from the base class and add some ib.Order specific
+ fields'''
+ basetxt = super(IBOrder, self).__str__()
+ tojoin = [basetxt]
+ tojoin.append('Ref: {}'.format(self.ref))
+ tojoin.append('orderId: {}'.format(self.m_orderId))
+ tojoin.append('Action: {}'.format(self.m_action))
+ tojoin.append('Size (ib): {}'.format(self.m_totalQuantity))
+ tojoin.append('Lmt Price: {}'.format(self.m_lmtPrice))
+ tojoin.append('Aux Price: {}'.format(self.m_auxPrice))
+ tojoin.append('OrderType: {}'.format(self.m_orderType))
+ tojoin.append('Tif (Time in Force): {}'.format(self.m_tif))
+ tojoin.append('GoodTillDate: {}'.format(self.m_goodTillDate))
+ return '\n'.join(tojoin)
+
+ # Map backtrader order types to the ib specifics
+ _IBOrdTypes = {
+ None: bytes('MKT'), # default
+ Order.Market: bytes('MKT'),
+ Order.Limit: bytes('LMT'),
+ Order.Close: bytes('MOC'),
+ Order.Stop: bytes('STP'),
+ Order.StopLimit: bytes('STPLMT'),
+ Order.StopTrail: bytes('TRAIL'),
+ Order.StopTrailLimit: bytes('TRAIL LIMIT'),
+ }
+
+ def __init__(self, action, **kwargs):
+
+ # Marker to indicate an openOrder has been seen with
+ # PendinCancel/Cancelled which is indication of an upcoming
+ # cancellation
+ self._willexpire = False
+
+ self.ordtype = self.Buy if action == 'BUY' else self.Sell
+
+ super(IBOrder, self).__init__()
+ ib.ext.Order.Order.__init__(self) # Invoke 2nd base class
+
+ # Now fill in the specific IB parameters
+ self.m_orderType = self._IBOrdTypes[self.exectype]
+ self.m_permid = 0
+
+ # 'B' or 'S' should be enough
+ self.m_action = bytes(action)
+
+ # Set the prices
+ self.m_lmtPrice = 0.0
+ self.m_auxPrice = 0.0
+
+ if self.exectype == self.Market: # is it really needed for Market?
+ pass
+ elif self.exectype == self.Close: # is it ireally needed for Close?
+ pass
+ elif self.exectype == self.Limit:
+ self.m_lmtPrice = self.price
+ elif self.exectype == self.Stop:
+ self.m_auxPrice = self.price # stop price / exec is market
+ elif self.exectype == self.StopLimit:
+ self.m_lmtPrice = self.pricelimit # req limit execution
+ self.m_auxPrice = self.price # trigger price
+ elif self.exectype == self.StopTrail:
+ if self.trailamount is not None:
+ self.m_auxPrice = self.trailamount
+ elif self.trailpercent is not None:
+ # value expected in % format ... multiply 100.0
+ self.m_trailingPercent = self.trailpercent * 100.0
+ elif self.exectype == self.StopTrailLimit:
+ self.m_trailStopPrice = self.m_lmtPrice = self.price
+ # The limit offset is set relative to the price difference in TWS
+ self.m_lmtPrice = self.pricelimit
+ if self.trailamount is not None:
+ self.m_auxPrice = self.trailamount
+ elif self.trailpercent is not None:
+ # value expected in % format ... multiply 100.0
+ self.m_trailingPercent = self.trailpercent * 100.0
+
+ self.m_totalQuantity = abs(self.size) # ib takes only positives
+
+ self.m_transmit = self.transmit
+ if self.parent is not None:
+ self.m_parentId = self.parent.m_orderId
+
+ # Time In Force: DAY, GTC, IOC, GTD
+ if self.valid is None:
+ tif = 'GTC' # Good til cancelled
+ elif isinstance(self.valid, (datetime, date)):
+ tif = 'GTD' # Good til date
+ self.m_goodTillDate = bytes(self.valid.strftime('%Y%m%d %H:%M:%S'))
+ elif isinstance(self.valid, (timedelta,)):
+ if self.valid == self.DAY:
+ tif = 'DAY'
+ else:
+ tif = 'GTD' # Good til date
+ valid = datetime.now() + self.valid # .now, using localtime
+ self.m_goodTillDate = bytes(valid.strftime('%Y%m%d %H:%M:%S'))
+
+ elif self.valid == 0:
+ tif = 'DAY'
+ else:
+ tif = 'GTD' # Good til date
+ valid = num2date(self.valid)
+ self.m_goodTillDate = bytes(valid.strftime('%Y%m%d %H:%M:%S'))
+
+ self.m_tif = bytes(tif)
+
+ # OCA
+ self.m_ocaType = 1 # Cancel all remaining orders with block
+
+ # pass any custom arguments to the order
+ for k in kwargs:
+ setattr(self, (not hasattr(self, k)) * 'm_' + k, kwargs[k])
+
+
+class IBCommInfo(CommInfoBase):
+ '''
+ Commissions are calculated by ib, but the trades calculations in the
+ ```Strategy`` rely on the order carrying a CommInfo object attached for the
+ calculation of the operation cost and value.
+
+ These are non-critical informations, but removing them from the trade could
+ break existing usage and it is better to provide a CommInfo objet which
+ enables those calculations even if with approvimate values.
+
+ The margin calculation is not a known in advance information with IB
+ (margin impact can be gotten from OrderState objects) and therefore it is
+ left as future exercise to get it'''
+
+ def getvaluesize(self, size, price):
+ # In real life the margin approaches the price
+ return abs(size) * price
+
+ def getoperationcost(self, size, price):
+ '''Returns the needed amount of cash an operation would cost'''
+ # Same reasoning as above
+ return abs(size) * price
+
+
+class MetaIBBroker(BrokerBase.__class__):
+ def __init__(cls, name, bases, dct):
+ '''Class has already been created ... register'''
+ # Initialize the class
+ super(MetaIBBroker, cls).__init__(name, bases, dct)
+ ibstore.IBStore.BrokerCls = cls
+
+
+class IBBroker(with_metaclass(MetaIBBroker, BrokerBase)):
+ '''Broker implementation for Interactive Brokers.
+
+ This class maps the orders/positions from Interactive Brokers to the
+ internal API of ``backtrader``.
+
+ Notes:
+
+ - ``tradeid`` is not really supported, because the profit and loss are
+ taken directly from IB. Because (as expected) calculates it in FIFO
+ manner, the pnl is not accurate for the tradeid.
+
+ - Position
+
+ If there is an open position for an asset at the beginning of
+ operaitons or orders given by other means change a position, the trades
+ calculated in the ``Strategy`` in cerebro will not reflect the reality.
+
+ To avoid this, this broker would have to do its own position
+ management which would also allow tradeid with multiple ids (profit and
+ loss would also be calculated locally), but could be considered to be
+ defeating the purpose of working with a live broker
+ '''
+ params = ()
+
+ def __init__(self, **kwargs):
+ super(IBBroker, self).__init__()
+
+ self.ib = ibstore.IBStore(**kwargs)
+
+ self.startingcash = self.cash = 0.0
+ self.startingvalue = self.value = 0.0
+
+ self._lock_orders = threading.Lock() # control access
+ self.orderbyid = dict() # orders by order id
+ self.executions = dict() # notified executions
+ self.ordstatus = collections.defaultdict(dict)
+ self.notifs = queue.Queue() # holds orders which are notified
+ self.tonotify = collections.deque() # hold oids to be notified
+
+ def start(self):
+ super(IBBroker, self).start()
+ self.ib.start(broker=self)
+
+ if self.ib.connected():
+ self.ib.reqAccountUpdates()
+ self.startingcash = self.cash = self.ib.get_acc_cash()
+ self.startingvalue = self.value = self.ib.get_acc_value()
+ else:
+ self.startingcash = self.cash = 0.0
+ self.startingvalue = self.value = 0.0
+
+ def stop(self):
+ super(IBBroker, self).stop()
+ self.ib.stop()
+
+ def getcash(self):
+ # This call cannot block if no answer is available from ib
+ self.cash = self.ib.get_acc_cash()
+ return self.cash
+
+ def getvalue(self, datas=None):
+ self.value = self.ib.get_acc_value()
+ return self.value
+
+ def getposition(self, data, clone=True):
+ return self.ib.getposition(data.tradecontract, clone=clone)
+
+ def cancel(self, order):
+ try:
+ o = self.orderbyid[order.m_orderId]
+ except (ValueError, KeyError):
+ return # not found ... not cancellable
+
+ if order.status == Order.Cancelled: # already cancelled
+ return
+
+ self.ib.cancelOrder(order.m_orderId)
+
+ def orderstatus(self, order):
+ try:
+ o = self.orderbyid[order.m_orderId]
+ except (ValueError, KeyError):
+ o = order
+
+ return o.status
+
+ def submit(self, order):
+ order.submit(self)
+
+ # ocoize if needed
+ if order.oco is None: # Generate a UniqueId
+ order.m_ocaGroup = bytes(uuid.uuid4())
+ else:
+ order.m_ocaGroup = self.orderbyid[order.oco.m_orderId].m_ocaGroup
+
+ self.orderbyid[order.m_orderId] = order
+ self.ib.placeOrder(order.m_orderId, order.data.tradecontract, order)
+ self.notify(order)
+
+ return order
+
+ def getcommissioninfo(self, data):
+ contract = data.tradecontract
+ try:
+ mult = float(contract.m_multiplier)
+ except (ValueError, TypeError):
+ mult = 1.0
+
+ stocklike = contract.m_secType not in ('FUT', 'OPT', 'FOP',)
+
+ return IBCommInfo(mult=mult, stocklike=stocklike)
+
+ def _makeorder(self, action, owner, data,
+ size, price=None, plimit=None,
+ exectype=None, valid=None,
+ tradeid=0, **kwargs):
+
+ order = IBOrder(action, owner=owner, data=data,
+ size=size, price=price, pricelimit=plimit,
+ exectype=exectype, valid=valid,
+ tradeid=tradeid,
+ m_clientId=self.ib.clientId,
+ m_orderId=self.ib.nextOrderId(),
+ **kwargs)
+
+ order.addcomminfo(self.getcommissioninfo(data))
+ return order
+
+ def buy(self, owner, data,
+ size, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0,
+ **kwargs):
+
+ order = self._makeorder(
+ 'BUY',
+ owner, data, size, price, plimit, exectype, valid, tradeid,
+ **kwargs)
+
+ return self.submit(order)
+
+ def sell(self, owner, data,
+ size, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0,
+ **kwargs):
+
+ order = self._makeorder(
+ 'SELL',
+ owner, data, size, price, plimit, exectype, valid, tradeid,
+ **kwargs)
+
+ return self.submit(order)
+
+ def notify(self, order):
+ self.notifs.put(order.clone())
+
+ def get_notification(self):
+ try:
+ return self.notifs.get(False)
+ except queue.Empty:
+ pass
+
+ return None
+
+ def next(self):
+ self.notifs.put(None) # mark notificatino boundary
+
+ # Order statuses in msg
+ (SUBMITTED, FILLED, CANCELLED, INACTIVE,
+ PENDINGSUBMIT, PENDINGCANCEL, PRESUBMITTED) = (
+ 'Submitted', 'Filled', 'Cancelled', 'Inactive',
+ 'PendingSubmit', 'PendingCancel', 'PreSubmitted',)
+
+ def push_orderstatus(self, msg):
+ # Cancelled and Submitted with Filled = 0 can be pushed immediately
+ try:
+ order = self.orderbyid[msg.orderId]
+ except KeyError:
+ return # not found, it was not an order
+
+ if msg.status == self.SUBMITTED and msg.filled == 0:
+ if order.status == order.Accepted: # duplicate detection
+ return
+
+ order.accept(self)
+ self.notify(order)
+
+ elif msg.status == self.CANCELLED:
+ # duplicate detection
+ if order.status in [order.Cancelled, order.Expired]:
+ return
+
+ if order._willexpire:
+ # An openOrder has been seen with PendingCancel/Cancelled
+ # and this happens when an order expires
+ order.expire()
+ else:
+ # Pure user cancellation happens without an openOrder
+ order.cancel()
+ self.notify(order)
+
+ elif msg.status == self.PENDINGCANCEL:
+ # In theory this message should not be seen according to the docs,
+ # but other messages like PENDINGSUBMIT which are similarly
+ # described in the docs have been received in the demo
+ if order.status == order.Cancelled: # duplicate detection
+ return
+
+ # We do nothing because the situation is handled with the 202 error
+ # code if no orderStatus with CANCELLED is seen
+ # order.cancel()
+ # self.notify(order)
+
+ elif msg.status == self.INACTIVE:
+ # This is a tricky one, because the instances seen have led to
+ # order rejection in the demo, but according to the docs there may
+ # be a number of reasons and it seems like it could be reactivated
+ if order.status == order.Rejected: # duplicate detection
+ return
+
+ order.reject(self)
+ self.notify(order)
+
+ elif msg.status in [self.SUBMITTED, self.FILLED]:
+ # These two are kept inside the order until execdetails and
+ # commission are all in place - commission is the last to come
+ self.ordstatus[msg.orderId][msg.filled] = msg
+
+ elif msg.status in [self.PENDINGSUBMIT, self.PRESUBMITTED]:
+ # According to the docs, these statuses can only be set by the
+ # programmer but the demo account sent it back at random times with
+ # "filled"
+ if msg.filled:
+ self.ordstatus[msg.orderId][msg.filled] = msg
+ else: # Unknown status ...
+ pass
+
+ def push_execution(self, ex):
+ self.executions[ex.m_execId] = ex
+
+ def push_commissionreport(self, cr):
+ with self._lock_orders:
+ ex = self.executions.pop(cr.m_execId)
+ oid = ex.m_orderId
+ order = self.orderbyid[oid]
+ ostatus = self.ordstatus[oid].pop(ex.m_cumQty)
+
+ position = self.getposition(order.data, clone=False)
+ pprice_orig = position.price
+ size = ex.m_shares if ex.m_side[0] == 'B' else -ex.m_shares
+ price = ex.m_price
+ # use pseudoupdate and let the updateportfolio do the real update?
+ psize, pprice, opened, closed = position.update(size, price)
+
+ # split commission between closed and opened
+ comm = cr.m_commission
+ closedcomm = comm * closed / size
+ openedcomm = comm - closedcomm
+
+ comminfo = order.comminfo
+ closedvalue = comminfo.getoperationcost(closed, pprice_orig)
+ openedvalue = comminfo.getoperationcost(opened, price)
+
+ # default in m_pnl is MAXFLOAT
+ pnl = cr.m_realizedPNL if closed else 0.0
+
+ # The internal broker calc should yield the same result
+ # pnl = comminfo.profitandloss(-closed, pprice_orig, price)
+
+ # Use the actual time provided by the execution object
+ # The report from TWS is in actual local time, not the data's tz
+ dt = date2num(datetime.strptime(ex.m_time, '%Y%m%d %H:%M:%S'))
+
+ # Need to simulate a margin, but it plays no role, because it is
+ # controlled by a real broker. Let's set the price of the item
+ margin = order.data.close[0]
+
+ order.execute(dt, size, price,
+ closed, closedvalue, closedcomm,
+ opened, openedvalue, openedcomm,
+ margin, pnl,
+ psize, pprice)
+
+ if ostatus.status == self.FILLED:
+ order.completed()
+ self.ordstatus.pop(oid) # nothing left to be reported
+ else:
+ order.partial()
+
+ if oid not in self.tonotify: # Lock needed
+ self.tonotify.append(oid)
+
+ def push_portupdate(self):
+ # If the IBStore receives a Portfolio update, then this method will be
+ # indicated. If the execution of an order is split in serveral lots,
+ # updatePortfolio messages will be intermixed, which is used as a
+ # signal to indicate that the strategy can be notified
+ with self._lock_orders:
+ while self.tonotify:
+ oid = self.tonotify.popleft()
+ order = self.orderbyid[oid]
+ self.notify(order)
+
+ def push_ordererror(self, msg):
+ with self._lock_orders:
+ try:
+ order = self.orderbyid[msg.id]
+ except (KeyError, AttributeError):
+ return # no order or no id in error
+
+ if msg.errorCode == 202:
+ if not order.alive():
+ return
+ order.cancel()
+
+ elif msg.errorCode == 201: # rejected
+ if order.status == order.Rejected:
+ return
+ order.reject()
+
+ else:
+ order.reject() # default for all other cases
+
+ self.notify(order)
+
+ def push_orderstate(self, msg):
+ with self._lock_orders:
+ try:
+ order = self.orderbyid[msg.orderId]
+ except (KeyError, AttributeError):
+ return # no order or no id in error
+
+ if msg.orderState.m_status in ['PendingCancel', 'Cancelled',
+ 'Canceled']:
+ # This is most likely due to an expiration]
+ order._willexpire = True
diff --git a/backtrader/source/backtrader/brokers/oandabroker.py b/backtrader/source/backtrader/brokers/oandabroker.py
new file mode 100644
index 0000000000000000000000000000000000000000..c584904be65900e77d67bb969b7ea9e67f22c4bb
--- /dev/null
+++ b/backtrader/source/backtrader/brokers/oandabroker.py
@@ -0,0 +1,357 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+from copy import copy
+from datetime import date, datetime, timedelta
+import threading
+
+from backtrader.feed import DataBase
+from backtrader import (TimeFrame, num2date, date2num, BrokerBase,
+ Order, BuyOrder, SellOrder, OrderBase, OrderData)
+from backtrader.utils.py3 import bytes, with_metaclass, MAXFLOAT
+from backtrader.metabase import MetaParams
+from backtrader.comminfo import CommInfoBase
+from backtrader.position import Position
+from backtrader.stores import oandastore
+from backtrader.utils import AutoDict, AutoOrderedDict
+from backtrader.comminfo import CommInfoBase
+
+
+class OandaCommInfo(CommInfoBase):
+ def getvaluesize(self, size, price):
+ # In real life the margin approaches the price
+ return abs(size) * price
+
+ def getoperationcost(self, size, price):
+ '''Returns the needed amount of cash an operation would cost'''
+ # Same reasoning as above
+ return abs(size) * price
+
+
+class MetaOandaBroker(BrokerBase.__class__):
+ def __init__(cls, name, bases, dct):
+ '''Class has already been created ... register'''
+ # Initialize the class
+ super(MetaOandaBroker, cls).__init__(name, bases, dct)
+ oandastore.OandaStore.BrokerCls = cls
+
+
+class OandaBroker(with_metaclass(MetaOandaBroker, BrokerBase)):
+ '''Broker implementation for Oanda.
+
+ This class maps the orders/positions from Oanda to the
+ internal API of ``backtrader``.
+
+ Params:
+
+ - ``use_positions`` (default:``True``): When connecting to the broker
+ provider use the existing positions to kickstart the broker.
+
+ Set to ``False`` during instantiation to disregard any existing
+ position
+ '''
+ params = (
+ ('use_positions', True),
+ ('commission', OandaCommInfo(mult=1.0, stocklike=False)),
+ )
+
+ def __init__(self, **kwargs):
+ super(OandaBroker, self).__init__()
+
+ self.o = oandastore.OandaStore(**kwargs)
+
+ self.orders = collections.OrderedDict() # orders by order id
+ self.notifs = collections.deque() # holds orders which are notified
+
+ self.opending = collections.defaultdict(list) # pending transmission
+ self.brackets = dict() # confirmed brackets
+
+ self.startingcash = self.cash = 0.0
+ self.startingvalue = self.value = 0.0
+ self.positions = collections.defaultdict(Position)
+
+ def start(self):
+ super(OandaBroker, self).start()
+ self.o.start(broker=self)
+ self.startingcash = self.cash = cash = self.o.get_cash()
+ self.startingvalue = self.value = self.o.get_value()
+
+ if self.p.use_positions:
+ for p in self.o.get_positions():
+ print('position for instrument:', p['instrument'])
+ is_sell = p['side'] == 'sell'
+ size = p['units']
+ if is_sell:
+ size = -size
+ price = p['avgPrice']
+ self.positions[p['instrument']] = Position(size, price)
+
+ def data_started(self, data):
+ pos = self.getposition(data)
+
+ if pos.size < 0:
+ order = SellOrder(data=data,
+ size=pos.size, price=pos.price,
+ exectype=Order.Market,
+ simulated=True)
+
+ order.addcomminfo(self.getcommissioninfo(data))
+ order.execute(0, pos.size, pos.price,
+ 0, 0.0, 0.0,
+ pos.size, 0.0, 0.0,
+ 0.0, 0.0,
+ pos.size, pos.price)
+
+ order.completed()
+ self.notify(order)
+
+ elif pos.size > 0:
+ order = BuyOrder(data=data,
+ size=pos.size, price=pos.price,
+ exectype=Order.Market,
+ simulated=True)
+
+ order.addcomminfo(self.getcommissioninfo(data))
+ order.execute(0, pos.size, pos.price,
+ 0, 0.0, 0.0,
+ pos.size, 0.0, 0.0,
+ 0.0, 0.0,
+ pos.size, pos.price)
+
+ order.completed()
+ self.notify(order)
+
+ def stop(self):
+ super(OandaBroker, self).stop()
+ self.o.stop()
+
+ def getcash(self):
+ # This call cannot block if no answer is available from oanda
+ self.cash = cash = self.o.get_cash()
+ return cash
+
+ def getvalue(self, datas=None):
+ self.value = self.o.get_value()
+ return self.value
+
+ def getposition(self, data, clone=True):
+ # return self.o.getposition(data._dataname, clone=clone)
+ pos = self.positions[data._dataname]
+ if clone:
+ pos = pos.clone()
+
+ return pos
+
+ def orderstatus(self, order):
+ o = self.orders[order.ref]
+ return o.status
+
+ def _submit(self, oref):
+ order = self.orders[oref]
+ order.submit(self)
+ self.notify(order)
+ for o in self._bracketnotif(order):
+ o.submit(self)
+ self.notify(o)
+
+ def _reject(self, oref):
+ order = self.orders[oref]
+ order.reject(self)
+ self.notify(order)
+ self._bracketize(order, cancel=True)
+
+ def _accept(self, oref):
+ order = self.orders[oref]
+ order.accept()
+ self.notify(order)
+ for o in self._bracketnotif(order):
+ o.accept(self)
+ self.notify(o)
+
+ def _cancel(self, oref):
+ order = self.orders[oref]
+ order.cancel()
+ self.notify(order)
+ self._bracketize(order, cancel=True)
+
+ def _expire(self, oref):
+ order = self.orders[oref]
+ order.expire()
+ self.notify(order)
+ self._bracketize(order, cancel=True)
+
+ def _bracketnotif(self, order):
+ pref = getattr(order.parent, 'ref', order.ref) # parent ref or self
+ br = self.brackets.get(pref, None) # to avoid recursion
+ return br[-2:] if br is not None else []
+
+ def _bracketize(self, order, cancel=False):
+ pref = getattr(order.parent, 'ref', order.ref) # parent ref or self
+ br = self.brackets.pop(pref, None) # to avoid recursion
+ if br is None:
+ return
+
+ if not cancel:
+ if len(br) == 3: # all 3 orders in place, parent was filled
+ br = br[1:] # discard index 0, parent
+ for o in br:
+ o.activate() # simulate activate for children
+ self.brackets[pref] = br # not done - reinsert children
+
+ elif len(br) == 2: # filling a children
+ oidx = br.index(order) # find index to filled (0 or 1)
+ self._cancel(br[1 - oidx].ref) # cancel remaining (1 - 0 -> 1)
+ else:
+ # Any cancellation cancel the others
+ for o in br:
+ if o.alive():
+ self._cancel(o.ref)
+
+ def _fill(self, oref, size, price, ttype, **kwargs):
+ order = self.orders[oref]
+
+ if not order.alive(): # can be a bracket
+ pref = getattr(order.parent, 'ref', order.ref)
+ if pref not in self.brackets:
+ msg = ('Order fill received for {}, with price {} and size {} '
+ 'but order is no longer alive and is not a bracket. '
+ 'Unknown situation')
+ msg.format(order.ref, price, size)
+ self.put_notification(msg, order, price, size)
+ return
+
+ # [main, stopside, takeside], neg idx to array are -3, -2, -1
+ if ttype == 'STOP_LOSS_FILLED':
+ order = self.brackets[pref][-2]
+ elif ttype == 'TAKE_PROFIT_FILLED':
+ order = self.brackets[pref][-1]
+ else:
+ msg = ('Order fill received for {}, with price {} and size {} '
+ 'but order is no longer alive and is a bracket. '
+ 'Unknown situation')
+ msg.format(order.ref, price, size)
+ self.put_notification(msg, order, price, size)
+ return
+
+ data = order.data
+ pos = self.getposition(data, clone=False)
+ psize, pprice, opened, closed = pos.update(size, price)
+
+ comminfo = self.getcommissioninfo(data)
+
+ closedvalue = closedcomm = 0.0
+ openedvalue = openedcomm = 0.0
+ margin = pnl = 0.0
+
+ order.execute(data.datetime[0], size, price,
+ closed, closedvalue, closedcomm,
+ opened, openedvalue, openedcomm,
+ margin, pnl,
+ psize, pprice)
+
+ if order.executed.remsize:
+ order.partial()
+ self.notify(order)
+ else:
+ order.completed()
+ self.notify(order)
+ self._bracketize(order)
+
+ def _transmit(self, order):
+ oref = order.ref
+ pref = getattr(order.parent, 'ref', oref) # parent ref or self
+
+ if order.transmit:
+ if oref != pref: # children order
+ # Put parent in orders dict, but add stopside and takeside
+ # to order creation. Return the takeside order, to have 3s
+ takeside = order # alias for clarity
+ parent, stopside = self.opending.pop(pref)
+ for o in parent, stopside, takeside:
+ self.orders[o.ref] = o # write them down
+
+ self.brackets[pref] = [parent, stopside, takeside]
+ self.o.order_create(parent, stopside, takeside)
+ return takeside # parent was already returned
+
+ else: # Parent order, which is not being transmitted
+ self.orders[order.ref] = order
+ return self.o.order_create(order)
+
+ # Not transmitting
+ self.opending[pref].append(order)
+ return order
+
+ def buy(self, owner, data,
+ size, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0, oco=None,
+ trailamount=None, trailpercent=None,
+ parent=None, transmit=True,
+ **kwargs):
+
+ order = BuyOrder(owner=owner, data=data,
+ size=size, price=price, pricelimit=plimit,
+ exectype=exectype, valid=valid, tradeid=tradeid,
+ trailamount=trailamount, trailpercent=trailpercent,
+ parent=parent, transmit=transmit)
+
+ order.addinfo(**kwargs)
+ order.addcomminfo(self.getcommissioninfo(data))
+ return self._transmit(order)
+
+ def sell(self, owner, data,
+ size, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0, oco=None,
+ trailamount=None, trailpercent=None,
+ parent=None, transmit=True,
+ **kwargs):
+
+ order = SellOrder(owner=owner, data=data,
+ size=size, price=price, pricelimit=plimit,
+ exectype=exectype, valid=valid, tradeid=tradeid,
+ trailamount=trailamount, trailpercent=trailpercent,
+ parent=parent, transmit=transmit)
+
+ order.addinfo(**kwargs)
+ order.addcomminfo(self.getcommissioninfo(data))
+ return self._transmit(order)
+
+ def cancel(self, order):
+ o = self.orders[order.ref]
+ if order.status == Order.Cancelled: # already cancelled
+ return
+
+ return self.o.order_cancel(order)
+
+ def notify(self, order):
+ self.notifs.append(order.clone())
+
+ def get_notification(self):
+ if not self.notifs:
+ return None
+
+ return self.notifs.popleft()
+
+ def next(self):
+ self.notifs.append(None) # mark notification boundary
diff --git a/backtrader/source/backtrader/brokers/vcbroker.py b/backtrader/source/backtrader/brokers/vcbroker.py
new file mode 100644
index 0000000000000000000000000000000000000000..4c98d94e537ee8c59d56fa493d9d32df03a60fc7
--- /dev/null
+++ b/backtrader/source/backtrader/brokers/vcbroker.py
@@ -0,0 +1,466 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+from datetime import date, datetime, timedelta
+import threading
+
+from backtrader import BrokerBase, Order, BuyOrder, SellOrder
+from backtrader.comminfo import CommInfoBase
+from backtrader.feed import DataBase
+from backtrader.metabase import MetaParams
+from backtrader.position import Position
+from backtrader.utils.py3 import with_metaclass
+
+from backtrader.stores import vcstore
+
+
+class VCCommInfo(CommInfoBase):
+ '''
+ Commissions are calculated by ib, but the trades calculations in the
+ ```Strategy`` rely on the order carrying a CommInfo object attached for the
+ calculation of the operation cost and value.
+
+ These are non-critical informations, but removing them from the trade could
+ break existing usage and it is better to provide a CommInfo objet which
+ enables those calculations even if with approvimate values.
+
+ The margin calculation is not a known in advance information with IB
+ (margin impact can be gotten from OrderState objects) and therefore it is
+ left as future exercise to get it'''
+
+ def getvaluesize(self, size, price):
+ # In real life the margin approaches the price
+ return abs(size) * price
+
+ def getoperationcost(self, size, price):
+ '''Returns the needed amount of cash an operation would cost'''
+ # Same reasoning as above
+ return abs(size) * price
+
+
+class MetaVCBroker(BrokerBase.__class__):
+ def __init__(cls, name, bases, dct):
+ '''Class has already been created ... register'''
+ # Initialize the class
+ super(MetaVCBroker, cls).__init__(name, bases, dct)
+ vcstore.VCStore.BrokerCls = cls
+
+
+class VCBroker(with_metaclass(MetaVCBroker, BrokerBase)):
+ '''Broker implementation for VisualChart.
+
+ This class maps the orders/positions from VisualChart to the
+ internal API of ``backtrader``.
+
+ Params:
+
+ - ``account`` (default: None)
+
+ VisualChart supports several accounts simultaneously on the broker. If
+ the default ``None`` is in place the 1st account in the ComTrader
+ ``Accounts`` collection will be used.
+
+ If an account name is provided, the ``Accounts`` collection will be
+ checked and used if present
+
+ - ``commission`` (default: None)
+
+ An object will be autogenerated if no commission-scheme is passed as
+ parameter
+
+ See the notes below for further explanations
+
+ Notes:
+
+ - Position
+
+ VisualChart reports "OpenPositions" updates through the ComTrader
+ interface but only when the position has a "size". An update to
+ indicate a position has moved to ZERO is reported by the absence of
+ such position. This forces to keep accounting of the positions by
+ looking at the execution events, just like the simulation broker does
+
+ - Commission
+
+ The ComTrader interface of VisualChart does not report commissions and
+ as such the auto-generated CommissionInfo object cannot use
+ non-existent commissions to properly account for them. In order to
+ support commissions a ``commission`` parameter has to be passed with
+ the appropriate commission schemes.
+
+ The documentation on Commission Schemes details how to do this
+
+ - Expiration Timing
+
+ The ComTrader interface (or is it the comtypes module?) discards
+ ``time`` information from ``datetime`` objects and expiration dates are
+ always full dates.
+
+ - Expiration Reporting
+
+ At the moment no heuristic is in place to determine when a cancelled
+ order has been cancelled due to expiration. And therefore expired
+ orders are reported as cancelled.
+ '''
+ params = (
+ ('account', None),
+ ('commission', None),
+ )
+
+ def __init__(self, **kwargs):
+ super(VCBroker, self).__init__()
+
+ self.store = vcstore.VCStore(**kwargs)
+
+ # Account data
+ self._acc_name = None
+ self.startingcash = self.cash = 0.0
+ self.startingvalue = self.value = 0.0
+
+ # Position accounting
+ self._lock_pos = threading.Lock() # sync account updates
+ self.positions = collections.defaultdict(Position) # actual positions
+
+ # Order storage
+ self._lock_orders = threading.Lock() # control access
+ self.orderbyid = dict() # orders by order id
+
+ # Notifications
+ self.notifs = collections.deque()
+
+ # Dictionaries of values for order mapping
+ self._otypes = {
+ Order.Market: self.store.vcctmod.OT_Market,
+ Order.Close: self.store.vcctmod.OT_Market,
+ Order.Limit: self.store.vcctmod.OT_Limit,
+ Order.Stop: self.store.vcctmod.OT_StopMarket,
+ Order.StopLimit: self.store.vcctmod.OT_StopLimit,
+ }
+
+ self._osides = {
+ Order.Buy: self.store.vcctmod.OS_Buy,
+ Order.Sell: self.store.vcctmod.OS_Sell,
+ }
+
+ self._otrestriction = {
+ Order.T_None: self.store.vcctmod.TR_NoRestriction,
+ Order.T_Date: self.store.vcctmod.TR_Date,
+ Order.T_Close: self.store.vcctmod.TR_CloseAuction,
+ Order.T_Day: self.store.vcctmod.TR_Session,
+ }
+
+ self._ovrestriction = {
+ Order.V_None: self.store.vcctmod.VR_NoRestriction,
+ }
+
+ self._futlikes = (
+ self.store.vcdsmod.IT_Future, self.store.vcdsmod.IT_Option,
+ self.store.vcdsmod.IT_Fund,
+ )
+
+ def start(self):
+ super(VCBroker, self).start()
+ self.store.start(broker=self)
+
+ def stop(self):
+ super(VCBroker, self).stop()
+ self.store.stop()
+
+ def getcash(self):
+ # This call cannot block if no answer is available from ib
+ return self.cash
+
+ def getvalue(self, datas=None):
+ return self.value
+
+ def get_notification(self):
+ return self.notifs.popleft() # at leat a None is present
+
+ def notify(self, order):
+ self.notifs.append(order.clone())
+
+ def next(self):
+ self.notifs.append(None) # mark notificatino boundary
+
+ def getposition(self, data, clone=True):
+ with self._lock_pos:
+ pos = self.positions[data._tradename]
+ if clone:
+ return pos.clone()
+
+ return pos
+
+ def getcommissioninfo(self, data):
+ if data._tradename in self.comminfo:
+ return self.comminfo[data._tradename]
+
+ comminfo = self.comminfo[None]
+ if comminfo is not None:
+ return comminfo
+
+ stocklike = data._syminfo.Type in self._futlikes
+
+ return VCCommInfo(mult=data._syminfo.PointValue, stocklike=stocklike)
+
+ def _makeorder(self, ordtype, owner, data,
+ size, price=None, plimit=None,
+ exectype=None, valid=None,
+ tradeid=0, **kwargs):
+
+ order = self.store.vcctmod.Order()
+ order.Account = self._acc_name
+ order.SymbolCode = data._tradename
+ order.OrderType = self._otypes[exectype]
+ order.OrderSide = self._osides[ordtype]
+
+ order.VolumeRestriction = self._ovrestriction[Order.V_None]
+ order.HideVolume = 0
+ order.MinVolume = 0
+
+ # order.UserName = 'danjrod' # str(tradeid)
+ # order.OrderId = 'a' * 50 # str(tradeid)
+ order.UserOrderId = ''
+ if tradeid:
+ order.ExtendedInfo = 'TradeId {}'.format(tradeid)
+ else:
+ order.ExtendedInfo = ''
+
+ order.Volume = abs(size)
+
+ order.StopPrice = 0.0
+ order.Price = 0.0
+ if exectype == Order.Market:
+ pass
+ elif exectype == Order.Limit:
+ order.Price = price or plimit # cover naming confusion cases
+ elif exectype == Order.Close:
+ pass
+ elif exectype == Order.Stop:
+ order.StopPrice = price
+ elif exectype == Order.StopLimit:
+ order.StopPrice = price
+ order.Price = plimit
+
+ order.ValidDate = None
+ if exectype == Order.Close:
+ order.TimeRestriction = self._otrestriction[Order.T_Close]
+ else:
+ if valid is None:
+ order.TimeRestriction = self._otrestriction[Order.T_None]
+ elif isinstance(valid, (datetime, date)):
+ order.TimeRestriction = self._otrestriction[Order.T_Date]
+ order.ValidDate = valid
+ elif isinstance(valid, (timedelta,)):
+ if valid == Order.DAY:
+ order.TimeRestriction = self._otrestriction[Order.T_Day]
+ else:
+ order.TimeRestriction = self._otrestriction[Order.T_Date]
+ order.ValidDate = datetime.now() + valid
+
+ elif not self.valid: # DAY
+ order.TimeRestriction = self._otrestriction[Order.T_Day]
+
+ # Support for custom user arguments
+ for k in kwargs:
+ if hasattr(order, k):
+ setattr(order, k, kwargs[k])
+
+ return order
+
+ def submit(self, order, vcorder):
+ order.submit(self)
+
+ vco = vcorder
+ oid = self.store.vcct.SendOrder(
+ vco.Account, vco.SymbolCode,
+ vco.OrderType, vco.OrderSide, vco.Volume, vco.Price, vco.StopPrice,
+ vco.VolumeRestriction, vco.TimeRestriction,
+ ValidDate=vco.ValidDate
+ )
+
+ order.vcorder = oid
+ order.addcomminfo(self.getcommissioninfo(order.data))
+
+ with self._lock_orders:
+ self.orderbyid[oid] = order
+ self.notify(order)
+ return order
+
+ def buy(self, owner, data,
+ size, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0,
+ **kwargs):
+
+ order = BuyOrder(owner=owner, data=data,
+ size=size, price=price, pricelimit=plimit,
+ exectype=exectype, valid=valid, tradeid=tradeid)
+
+ order.addinfo(**kwargs)
+
+ vcorder = self._makeorder(order.ordtype, owner, data, size, price,
+ plimit, exectype, valid, tradeid,
+ **kwargs)
+
+ return self.submit(order, vcorder)
+
+ def sell(self, owner, data,
+ size, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0,
+ **kwargs):
+
+ order = SellOrder(owner=owner, data=data,
+ size=size, price=price, pricelimit=plimit,
+ exectype=exectype, valid=valid, tradeid=tradeid)
+
+ order.addinfo(**kwargs)
+
+ vcorder = self._makeorder(order.ordtype, owner, data, size, price,
+ plimit, exectype, valid, tradeid,
+ **kwargs)
+
+ return self.submit(order, vcorder)
+
+ #
+ # COM Events implementation
+ #
+ def __call__(self, trader):
+ # Called to start the process, call in sub-thread. only the passed
+ # trader can be used in the thread
+ self.trader = trader
+
+ for acc in trader.Accounts:
+ if self.p.account is None or self.p.account == acc.Account:
+ self.startingcash = self.cash = acc.Balance.Cash
+ self.startingvalue = self.value = acc.Balance.NetWorth
+ self._acc_name = acc.Account
+ break # found the account
+
+ return self
+
+ def OnChangedBalance(self, Account):
+ if self._acc_name is None or self._acc_name != Account:
+ return # skip notifs for other accounts
+
+ for acc in self.trader.Accounts:
+ if acc.Account == Account:
+ # Update store values
+ self.cash = acc.Balance.Cash
+ self.value = acc.Balance.NetWorth
+ break
+
+ def OnModifiedOrder(self, Order):
+ # We are not expecting this: unless backtrader starts implementing
+ # modify order method
+ pass
+
+ def OnCancelledOrder(self, Order):
+ with self._lock_orders:
+ try:
+ border = self.orderbyid[Order.OrderId]
+ except KeyError:
+ return # possibly external order
+
+ border.cancel()
+ self.notify(border)
+
+ def OnTotalExecutedOrder(self, Order):
+ self.OnExecutedOrder(Order, partial=False)
+
+ def OnPartialExecutedOrder(self, Order):
+ self.OnExecutedOrder(Order, partial=True)
+
+ def OnExecutedOrder(self, Order, partial):
+ with self._lock_orders:
+ try:
+ border = self.orderbyid[Order.OrderId]
+ except KeyError:
+ return # possibly external order
+
+ price = Order.Price
+ size = Order.Volume
+ if border.issell():
+ size *= -1
+
+ # Find position and do a real update - accounting happens here
+ position = self.getposition(border.data, clone=False)
+ pprice_orig = position.price
+ psize, pprice, opened, closed = position.update(size, price)
+
+ comminfo = border.comminfo
+ closedvalue = comminfo.getoperationcost(closed, pprice_orig)
+ closedcomm = comminfo.getcommission(closed, price)
+
+ openedvalue = comminfo.getoperationcost(opened, price)
+ openedcomm = comminfo.getcommission(opened, price)
+
+ pnl = comminfo.profitandloss(-closed, pprice_orig, price)
+ margin = comminfo.getvaluesize(size, price)
+
+ # NOTE: No commission information available in the Trader interface
+ # CHECK: Use reported time instead of last data time?
+ border.execute(border.data.datetime[0],
+ size, price,
+ closed, closedvalue, closedcomm,
+ opened, openedvalue, openedcomm,
+ margin, pnl,
+ psize, pprice) # pnl
+
+ if partial:
+ border.partial()
+ else:
+ border.completed()
+
+ self.notify(border)
+
+ def OnOrderInMarket(self, Order):
+ # Other is in ther market ... therefore "accepted"
+ with self._lock_orders:
+ try:
+ border = self.orderbyid[Order.OrderId]
+ except KeyError:
+ return # possibly external order
+
+ border.accept()
+ self.notify(border)
+
+ def OnNewOrderLocation(self, Order):
+ # Can be used for "submitted", but the status is set manually
+ pass
+
+ def OnChangedOpenPositions(self, Account):
+ # This would be useful if it reported a position moving back to 0. In
+ # this case the report contains a no-position and this doesn't help in
+ # the accounting. That's why the accounting is delegated to the
+ # reception of order execution
+ pass
+
+ def OnNewClosedOperations(self, Account):
+ # This call-back has not been seen
+ pass
+
+ def OnServerShutDown(self):
+ pass
+
+ def OnInternalEvent(self, p1, p2, p3):
+ pass
diff --git a/backtrader/source/backtrader/btrun/__init__.py b/backtrader/source/backtrader/btrun/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e3b9c4a6fc03ec9765c7016446f49d31c02dccb2
--- /dev/null
+++ b/backtrader/source/backtrader/btrun/__init__.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from .btrun import btrun
diff --git a/backtrader/source/backtrader/btrun/btrun.py b/backtrader/source/backtrader/btrun/btrun.py
new file mode 100644
index 0000000000000000000000000000000000000000..f93727629de60946583296e1e0058d31e29327bf
--- /dev/null
+++ b/backtrader/source/backtrader/btrun/btrun.py
@@ -0,0 +1,743 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+import inspect
+import itertools
+import random
+import string
+import sys
+
+import backtrader as bt
+
+
+DATAFORMATS = dict(
+ btcsv=bt.feeds.BacktraderCSVData,
+ vchartcsv=bt.feeds.VChartCSVData,
+ vcfile=bt.feeds.VChartFile,
+ sierracsv=bt.feeds.SierraChartCSVData,
+ mt4csv=bt.feeds.MT4CSVData,
+ yahoocsv=bt.feeds.YahooFinanceCSVData,
+ yahoocsv_unreversed=bt.feeds.YahooFinanceCSVData,
+ yahoo=bt.feeds.YahooFinanceData,
+)
+
+try:
+ DATAFORMATS['vcdata'] = bt.feeds.VCData
+except AttributeError:
+ pass # no comtypes available
+
+try:
+ DATAFORMATS['ibdata'] = bt.feeds.IBData,
+except AttributeError:
+ pass # no ibpy available
+
+try:
+ DATAFORMATS['oandadata'] = bt.feeds.OandaData,
+except AttributeError:
+ pass # no oandapy available
+
+
+TIMEFRAMES = dict(
+ microseconds=bt.TimeFrame.MicroSeconds,
+ seconds=bt.TimeFrame.Seconds,
+ minutes=bt.TimeFrame.Minutes,
+ days=bt.TimeFrame.Days,
+ weeks=bt.TimeFrame.Weeks,
+ months=bt.TimeFrame.Months,
+ years=bt.TimeFrame.Years,
+)
+
+
+def btrun(pargs=''):
+ args = parse_args(pargs)
+
+ if args.flush:
+ import backtrader.utils.flushfile
+
+ stdstats = not args.nostdstats
+
+ cer_kwargs_str = args.cerebro
+ cer_kwargs = eval('dict(' + cer_kwargs_str + ')')
+ if 'stdstats' not in cer_kwargs:
+ cer_kwargs.update(stdstats=stdstats)
+
+ cerebro = bt.Cerebro(**cer_kwargs)
+
+ if args.resample is not None or args.replay is not None:
+ if args.resample is not None:
+ tfcp = args.resample.split(':')
+ elif args.replay is not None:
+ tfcp = args.replay.split(':')
+
+ # compression may be skipped and it will default to 1
+ if len(tfcp) == 1 or tfcp[1] == '':
+ tf, cp = tfcp[0], 1
+ else:
+ tf, cp = tfcp
+
+ cp = int(cp) # convert any value to int
+ tf = TIMEFRAMES.get(tf, None)
+
+ for data in getdatas(args):
+ if args.resample is not None:
+ cerebro.resampledata(data, timeframe=tf, compression=cp)
+ elif args.replay is not None:
+ cerebro.replaydata(data, timeframe=tf, compression=cp)
+ else:
+ cerebro.adddata(data)
+
+ # get and add signals
+ signals = getobjects(args.signals, bt.Indicator, bt.signals, issignal=True)
+ for sig, kwargs, sigtype in signals:
+ stype = getattr(bt.signal, 'SIGNAL_' + sigtype.upper())
+ cerebro.add_signal(stype, sig, **kwargs)
+
+ # get and add strategies
+ strategies = getobjects(args.strategies, bt.Strategy, bt.strategies)
+ for strat, kwargs in strategies:
+ cerebro.addstrategy(strat, **kwargs)
+
+ inds = getobjects(args.indicators, bt.Indicator, bt.indicators)
+ for ind, kwargs in inds:
+ cerebro.addindicator(ind, **kwargs)
+
+ obs = getobjects(args.observers, bt.Observer, bt.observers)
+ for ob, kwargs in obs:
+ cerebro.addobserver(ob, **kwargs)
+
+ ans = getobjects(args.analyzers, bt.Analyzer, bt.analyzers)
+ for an, kwargs in ans:
+ cerebro.addanalyzer(an, **kwargs)
+
+ setbroker(args, cerebro)
+
+ for wrkwargs_str in args.writers or []:
+ wrkwargs = eval('dict(' + wrkwargs_str + ')')
+ cerebro.addwriter(bt.WriterFile, **wrkwargs)
+
+ ans = getfunctions(args.hooks, bt.Cerebro)
+ for hook, kwargs in ans:
+ hook(cerebro, **kwargs)
+ runsts = cerebro.run()
+ runst = runsts[0] # single strategy and no optimization
+
+ if args.pranalyzer or args.ppranalyzer:
+ if runst.analyzers:
+ print('====================')
+ print('== Analyzers')
+ print('====================')
+ for name, analyzer in runst.analyzers.getitems():
+ if args.pranalyzer:
+ analyzer.print()
+ elif args.ppranalyzer:
+ print('##########')
+ print(name)
+ print('##########')
+ analyzer.pprint()
+
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True:
+ # evaluates to True but is not "True" - args were passed
+ ekwargs = eval('dict(' + args.plot + ')')
+ pkwargs.update(ekwargs)
+
+ # cerebro.plot(numfigs=args.plotfigs, style=args.plotstyle)
+ cerebro.plot(**pkwargs)
+
+
+def setbroker(args, cerebro):
+ broker = cerebro.getbroker()
+
+ if args.cash is not None:
+ broker.setcash(args.cash)
+
+ commkwargs = dict()
+ if args.commission is not None:
+ commkwargs['commission'] = args.commission
+ if args.margin is not None:
+ commkwargs['margin'] = args.margin
+ if args.mult is not None:
+ commkwargs['mult'] = args.mult
+ if args.interest is not None:
+ commkwargs['interest'] = args.interest
+ if args.interest_long is not None:
+ commkwargs['interest_long'] = args.interest_long
+
+ if commkwargs:
+ broker.setcommission(**commkwargs)
+
+ if args.slip_perc is not None:
+ cerebro.broker.set_slippage_perc(args.slip_perc,
+ slip_open=args.slip_open,
+ slip_match=not args.no_slip_match,
+ slip_out=args.slip_out)
+ elif args.slip_fixed is not None:
+ cerebro.broker.set_slippage_fixed(args.slip_fixed,
+ slip_open=args.slip_open,
+ slip_match=not args.no_slip_match,
+ slip_out=args.slip_out)
+
+
+def getdatas(args):
+ # Get the data feed class from the global dictionary
+ dfcls = DATAFORMATS[args.format]
+
+ # Prepare some args
+ dfkwargs = dict()
+ if args.format == 'yahoo_unreversed':
+ dfkwargs['reverse'] = True
+
+ fmtstr = '%Y-%m-%d'
+ if args.fromdate:
+ dtsplit = args.fromdate.split('T')
+ if len(dtsplit) > 1:
+ fmtstr += 'T%H:%M:%S'
+
+ fromdate = datetime.datetime.strptime(args.fromdate, fmtstr)
+ dfkwargs['fromdate'] = fromdate
+
+ fmtstr = '%Y-%m-%d'
+ if args.todate:
+ dtsplit = args.todate.split('T')
+ if len(dtsplit) > 1:
+ fmtstr += 'T%H:%M:%S'
+ todate = datetime.datetime.strptime(args.todate, fmtstr)
+ dfkwargs['todate'] = todate
+
+ if args.timeframe is not None:
+ dfkwargs['timeframe'] = TIMEFRAMES[args.timeframe]
+
+ if args.compression is not None:
+ dfkwargs['compression'] = args.compression
+
+ datas = list()
+ for dname in args.data:
+ dfkwargs['dataname'] = dname
+ data = dfcls(**dfkwargs)
+ datas.append(data)
+
+ return datas
+
+
+def getmodclasses(mod, clstype, clsname=None):
+ clsmembers = inspect.getmembers(mod, inspect.isclass)
+
+ clslist = list()
+ for name, cls in clsmembers:
+ if not issubclass(cls, clstype):
+ continue
+
+ if clsname:
+ if clsname == name:
+ clslist.append(cls)
+ break
+ else:
+ clslist.append(cls)
+
+ return clslist
+
+
+def getmodfunctions(mod, funcname=None):
+ members = inspect.getmembers(mod, inspect.isfunction) + \
+ inspect.getmembers(mod, inspect.ismethod)
+
+ funclist = list()
+ for name, member in members:
+ if funcname:
+ if name == funcname:
+ funclist.append(member)
+ break
+ else:
+ funclist.append(member)
+
+ return funclist
+
+
+def loadmodule(modpath, modname=''):
+ # generate a random name for the module
+
+ if not modpath.endswith('.py'):
+ modpath += '.py'
+
+ if not modname:
+ chars = string.ascii_uppercase + string.digits
+ modname = ''.join(random.choice(chars) for _ in range(10))
+
+ version = (sys.version_info[0], sys.version_info[1])
+
+ if version < (3, 3):
+ mod, e = loadmodule2(modpath, modname)
+ else:
+ mod, e = loadmodule3(modpath, modname)
+
+ return mod, e
+
+
+def loadmodule2(modpath, modname):
+ import imp
+
+ try:
+ mod = imp.load_source(modname, modpath)
+ except Exception as e:
+ return (None, e)
+
+ return (mod, None)
+
+
+def loadmodule3(modpath, modname):
+ import importlib.machinery
+
+ try:
+ loader = importlib.machinery.SourceFileLoader(modname, modpath)
+ mod = loader.load_module()
+ except Exception as e:
+ return (None, e)
+
+ return (mod, None)
+
+
+def getobjects(iterable, clsbase, modbase, issignal=False):
+ retobjects = list()
+
+ for item in iterable or []:
+ if issignal:
+ sigtokens = item.split('+', 1)
+ if len(sigtokens) == 1: # no + seen
+ sigtype = 'longshort'
+ else:
+ sigtype, item = sigtokens
+
+ tokens = item.split(':', 1)
+
+ if len(tokens) == 1:
+ modpath = tokens[0]
+ name = ''
+ kwargs = dict()
+ else:
+ modpath, name = tokens
+ kwtokens = name.split(':', 1)
+ if len(kwtokens) == 1:
+ # no '(' found
+ kwargs = dict()
+ else:
+ name = kwtokens[0]
+ kwtext = 'dict(' + kwtokens[1] + ')'
+ kwargs = eval(kwtext)
+
+ if modpath:
+ mod, e = loadmodule(modpath)
+
+ if not mod:
+ print('')
+ print('Failed to load module %s:' % modpath, e)
+ sys.exit(1)
+ else:
+ mod = modbase
+
+ loaded = getmodclasses(mod=mod, clstype=clsbase, clsname=name)
+
+ if not loaded:
+ print('No class %s / module %s' % (str(name), modpath))
+ sys.exit(1)
+
+ if issignal:
+ retobjects.append((loaded[0], kwargs, sigtype))
+ else:
+ retobjects.append((loaded[0], kwargs))
+
+ return retobjects
+
+def getfunctions(iterable, modbase):
+ retfunctions = list()
+
+ for item in iterable or []:
+ tokens = item.split(':', 1)
+
+ if len(tokens) == 1:
+ modpath = tokens[0]
+ name = ''
+ kwargs = dict()
+ else:
+ modpath, name = tokens
+ kwtokens = name.split(':', 1)
+ if len(kwtokens) == 1:
+ # no '(' found
+ kwargs = dict()
+ else:
+ name = kwtokens[0]
+ kwtext = 'dict(' + kwtokens[1] + ')'
+ kwargs = eval(kwtext)
+
+ if modpath:
+ mod, e = loadmodule(modpath)
+
+ if not mod:
+ print('')
+ print('Failed to load module %s:' % modpath, e)
+ sys.exit(1)
+ else:
+ mod = modbase
+
+ loaded = getmodfunctions(mod=mod, funcname=name)
+
+ if not loaded:
+ print('No function %s / module %s' % (str(name), modpath))
+ sys.exit(1)
+
+ retfunctions.append((loaded[0], kwargs))
+
+ return retfunctions
+
+
+def parse_args(pargs=''):
+ parser = argparse.ArgumentParser(
+ description='Backtrader Run Script',
+ formatter_class=argparse.RawTextHelpFormatter,
+ )
+
+ group = parser.add_argument_group(title='Data options')
+ # Data options
+ group.add_argument('--data', '-d', action='append', required=True,
+ help='Data files to be added to the system')
+
+ group = parser.add_argument_group(title='Cerebro options')
+ group.add_argument(
+ '--cerebro', '-cer',
+ metavar='kwargs',
+ required=False, const='', default='', nargs='?',
+ help=('The argument can be specified with the following form:\n'
+ '\n'
+ ' - kwargs\n'
+ '\n'
+ ' Example: "preload=True" which set its to True\n'
+ '\n'
+ 'The passed kwargs will be passed directly to the cerebro\n'
+ 'instance created for the execution\n'
+ '\n'
+ 'The available kwargs to cerebro are:\n'
+ ' - preload (default: True)\n'
+ ' - runonce (default: True)\n'
+ ' - maxcpus (default: None)\n'
+ ' - stdstats (default: True)\n'
+ ' - live (default: False)\n'
+ ' - exactbars (default: False)\n'
+ ' - preload (default: True)\n'
+ ' - writer (default False)\n'
+ ' - oldbuysell (default False)\n'
+ ' - tradehistory (default False)\n')
+ )
+
+ group.add_argument('--nostdstats', action='store_true',
+ help='Disable the standard statistics observers')
+
+ datakeys = list(DATAFORMATS)
+ group.add_argument('--format', '--csvformat', '-c', required=False,
+ default='btcsv', choices=datakeys,
+ help='CSV Format')
+
+ group.add_argument('--fromdate', '-f', required=False, default=None,
+ help='Starting date in YYYY-MM-DD[THH:MM:SS] format')
+
+ group.add_argument('--todate', '-t', required=False, default=None,
+ help='Ending date in YYYY-MM-DD[THH:MM:SS] format')
+
+ group.add_argument('--timeframe', '-tf', required=False, default='days',
+ choices=TIMEFRAMES.keys(),
+ help='Ending date in YYYY-MM-DD[THH:MM:SS] format')
+
+ group.add_argument('--compression', '-cp', required=False, default=1,
+ type=int,
+ help='Ending date in YYYY-MM-DD[THH:MM:SS] format')
+
+ group = parser.add_mutually_exclusive_group(required=False)
+
+ group.add_argument('--resample', '-rs', required=False, default=None,
+ help='resample with timeframe:compression values')
+
+ group.add_argument('--replay', '-rp', required=False, default=None,
+ help='replay with timeframe:compression values')
+
+ group.add_argument(
+ '--hook', dest='hooks',
+ action='append', required=False,
+ metavar='module:hookfunction:kwargs',
+ help=('This option can be specified multiple times.\n'
+ '\n'
+ 'The argument can be specified with the following form:\n'
+ '\n'
+ ' - module:hookfunction:kwargs\n'
+ '\n'
+ ' Example: mymod:myhook:a=1,b=2\n'
+ '\n'
+ 'kwargs is optional\n'
+ '\n'
+ 'If module is omitted then hookfunction will be sought\n'
+ 'as the built-in cerebro method. Example:\n'
+ '\n'
+ ' - :addtz:tz=America/St_Johns\n'
+ '\n'
+ 'If name is omitted, then the 1st function found in the\n'
+ 'mod will be used. Such as in:\n'
+ '\n'
+ ' - module or module::kwargs\n'
+ '\n'
+ 'The function specified will be called, with cerebro\n'
+ 'instance passed as the first argument together with\n'
+ 'kwargs, if any were specified. This allows to customize\n'
+ 'cerebro, beyond options provided by this script\n\n')
+ )
+
+ # Module where to read the strategy from
+ group = parser.add_argument_group(title='Strategy options')
+ group.add_argument(
+ '--strategy', '-st', dest='strategies',
+ action='append', required=False,
+ metavar='module:name:kwargs',
+ help=('This option can be specified multiple times.\n'
+ '\n'
+ 'The argument can be specified with the following form:\n'
+ '\n'
+ ' - module:classname:kwargs\n'
+ '\n'
+ ' Example: mymod:myclass:a=1,b=2\n'
+ '\n'
+ 'kwargs is optional\n'
+ '\n'
+ 'If module is omitted then class name will be sought in\n'
+ 'the built-in strategies module. Such as in:\n'
+ '\n'
+ ' - :name:kwargs or :name\n'
+ '\n'
+ 'If name is omitted, then the 1st strategy found in the mod\n'
+ 'will be used. Such as in:\n'
+ '\n'
+ ' - module or module::kwargs')
+ )
+
+ # Module where to read the strategy from
+ group = parser.add_argument_group(title='Signals')
+ group.add_argument(
+ '--signal', '-sig', dest='signals',
+ action='append', required=False,
+ metavar='module:signaltype:name:kwargs',
+ help=('This option can be specified multiple times.\n'
+ '\n'
+ 'The argument can be specified with the following form:\n'
+ '\n'
+ ' - signaltype:module:signaltype:classname:kwargs\n'
+ '\n'
+ ' Example: longshort+mymod:myclass:a=1,b=2\n'
+ '\n'
+ 'signaltype may be ommited: longshort will be used\n'
+ '\n'
+ ' Example: mymod:myclass:a=1,b=2\n'
+ '\n'
+ 'kwargs is optional\n'
+ '\n'
+ 'signaltype will be uppercased to match the defintions\n'
+ 'fromt the backtrader.signal module\n'
+ '\n'
+ 'If module is omitted then class name will be sought in\n'
+ 'the built-in signals module. Such as in:\n'
+ '\n'
+ ' - LONGSHORT::name:kwargs or :name\n'
+ '\n'
+ 'If name is omitted, then the 1st signal found in the mod\n'
+ 'will be used. Such as in:\n'
+ '\n'
+ ' - module or module:::kwargs')
+ )
+
+ # Observers
+ group = parser.add_argument_group(title='Observers and statistics')
+ group.add_argument(
+ '--observer', '-ob', dest='observers',
+ action='append', required=False,
+ metavar='module:name:kwargs',
+ help=('This option can be specified multiple times.\n'
+ '\n'
+ 'The argument can be specified with the following form:\n'
+ '\n'
+ ' - module:classname:kwargs\n'
+ '\n'
+ ' Example: mymod:myclass:a=1,b=2\n'
+ '\n'
+ 'kwargs is optional\n'
+ '\n'
+ 'If module is omitted then class name will be sought in\n'
+ 'the built-in observers module. Such as in:\n'
+ '\n'
+ ' - :name:kwargs or :name\n'
+ '\n'
+ 'If name is omitted, then the 1st observer found in the\n'
+ 'will be used. Such as in:\n'
+ '\n'
+ ' - module or module::kwargs')
+ )
+ # Analyzers
+ group = parser.add_argument_group(title='Analyzers')
+ group.add_argument(
+ '--analyzer', '-an', dest='analyzers',
+ action='append', required=False,
+ metavar='module:name:kwargs',
+ help=('This option can be specified multiple times.\n'
+ '\n'
+ 'The argument can be specified with the following form:\n'
+ '\n'
+ ' - module:classname:kwargs\n'
+ '\n'
+ ' Example: mymod:myclass:a=1,b=2\n'
+ '\n'
+ 'kwargs is optional\n'
+ '\n'
+ 'If module is omitted then class name will be sought in\n'
+ 'the built-in analyzers module. Such as in:\n'
+ '\n'
+ ' - :name:kwargs or :name\n'
+ '\n'
+ 'If name is omitted, then the 1st analyzer found in the\n'
+ 'will be used. Such as in:\n'
+ '\n'
+ ' - module or module::kwargs')
+ )
+
+ # Analyzer - Print
+ group = parser.add_mutually_exclusive_group(required=False)
+ group.add_argument('--pranalyzer', '-pralyzer',
+ required=False, action='store_true',
+ help=('Automatically print analyzers'))
+
+ group.add_argument('--ppranalyzer', '-ppralyzer',
+ required=False, action='store_true',
+ help=('Automatically PRETTY print analyzers'))
+
+ # Indicators
+ group = parser.add_argument_group(title='Indicators')
+ group.add_argument(
+ '--indicator', '-ind', dest='indicators',
+ metavar='module:name:kwargs',
+ action='append', required=False,
+ help=('This option can be specified multiple times.\n'
+ '\n'
+ 'The argument can be specified with the following form:\n'
+ '\n'
+ ' - module:classname:kwargs\n'
+ '\n'
+ ' Example: mymod:myclass:a=1,b=2\n'
+ '\n'
+ 'kwargs is optional\n'
+ '\n'
+ 'If module is omitted then class name will be sought in\n'
+ 'the built-in analyzers module. Such as in:\n'
+ '\n'
+ ' - :name:kwargs or :name\n'
+ '\n'
+ 'If name is omitted, then the 1st analyzer found in the\n'
+ 'will be used. Such as in:\n'
+ '\n'
+ ' - module or module::kwargs')
+ )
+
+ # Writer
+ group = parser.add_argument_group(title='Writers')
+ group.add_argument(
+ '--writer', '-wr',
+ dest='writers', metavar='kwargs', nargs='?',
+ action='append', required=False, const='',
+ help=('This option can be specified multiple times.\n'
+ '\n'
+ 'The argument can be specified with the following form:\n'
+ '\n'
+ ' - kwargs\n'
+ '\n'
+ ' Example: a=1,b=2\n'
+ '\n'
+ 'kwargs is optional\n'
+ '\n'
+ 'It creates a system wide writer which outputs run data\n'
+ '\n'
+ 'Please see the documentation for the available kwargs')
+ )
+
+ # Broker/Commissions
+ group = parser.add_argument_group(title='Cash and Commission Scheme Args')
+ group.add_argument('--cash', '-cash', required=False, type=float,
+ help='Cash to set to the broker')
+ group.add_argument('--commission', '-comm', required=False, type=float,
+ help='Commission value to set')
+ group.add_argument('--margin', '-marg', required=False, type=float,
+ help='Margin type to set')
+ group.add_argument('--mult', '-mul', required=False, type=float,
+ help='Multiplier to use')
+
+ group.add_argument('--interest', required=False, type=float,
+ default=None,
+ help='Credit Interest rate to apply (0.0x)')
+
+ group.add_argument('--interest_long', action='store_true',
+ required=False, default=None,
+ help='Apply credit interest to long positions')
+
+ group.add_argument('--slip_perc', required=False, default=None,
+ type=float,
+ help='Enable slippage with a percentage value')
+ group.add_argument('--slip_fixed', required=False, default=None,
+ type=float,
+ help='Enable slippage with a fixed point value')
+
+ group.add_argument('--slip_open', required=False, action='store_true',
+ help='enable slippage for when matching opening prices')
+
+ group.add_argument('--no-slip_match', required=False, action='store_true',
+ help=('Disable slip_match, ie: matching capped at \n'
+ 'high-low if slippage goes over those limits'))
+ group.add_argument('--slip_out', required=False, action='store_true',
+ help='with slip_match enabled, match outside high-low')
+
+ # Output flushing
+ group.add_argument('--flush', required=False, action='store_true',
+ help='flush the output - useful under win32 systems')
+
+ # Plot options
+ parser.add_argument(
+ '--plot', '-p', nargs='?',
+ metavar='kwargs',
+ default=False, const=True, required=False,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candlesticks)\n')
+ )
+
+ if pargs:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ btrun()
diff --git a/backtrader/source/backtrader/cerebro.py b/backtrader/source/backtrader/cerebro.py
new file mode 100644
index 0000000000000000000000000000000000000000..9b18e77753c69067bca5dc794991562cad1130b3
--- /dev/null
+++ b/backtrader/source/backtrader/cerebro.py
@@ -0,0 +1,1716 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import datetime
+import collections
+import itertools
+import multiprocessing
+
+try: # For new Python versions
+ collectionsAbc = collections.abc # collections.Iterable -> collections.abc.Iterable
+except AttributeError: # For old Python versions
+ collectionsAbc = collections # Используем collections.Iterable
+
+import backtrader as bt
+from .utils.py3 import (map, range, zip, with_metaclass, string_types,
+ integer_types)
+
+from . import linebuffer
+from . import indicator
+from .brokers import BackBroker
+from .metabase import MetaParams
+from . import observers
+from .writer import WriterFile
+from .utils import OrderedDict, tzparse, num2date, date2num
+from .strategy import Strategy, SignalStrategy
+from .tradingcal import (TradingCalendarBase, TradingCalendar,
+ PandasMarketCalendar)
+from .timer import Timer
+
+# Defined here to make it pickable. Ideally it could be defined inside Cerebro
+
+
+class OptReturn(object):
+ def __init__(self, params, **kwargs):
+ self.p = self.params = params
+ for k, v in kwargs.items():
+ setattr(self, k, v)
+
+
+class Cerebro(with_metaclass(MetaParams, object)):
+ '''Params:
+
+ - ``preload`` (default: ``True``)
+
+ Whether to preload the different ``data feeds`` passed to cerebro for
+ the Strategies
+
+ - ``runonce`` (default: ``True``)
+
+ Run ``Indicators`` in vectorized mode to speed up the entire system.
+ Strategies and Observers will always be run on an event based basis
+
+ - ``live`` (default: ``False``)
+
+ If no data has reported itself as *live* (via the data's ``islive``
+ method but the end user still want to run in ``live`` mode, this
+ parameter can be set to true
+
+ This will simultaneously deactivate ``preload`` and ``runonce``. It
+ will have no effect on memory saving schemes.
+
+ Run ``Indicators`` in vectorized mode to speed up the entire system.
+ Strategies and Observers will always be run on an event based basis
+
+ - ``maxcpus`` (default: None -> all available cores)
+
+ How many cores to use simultaneously for optimization
+
+ - ``stdstats`` (default: ``True``)
+
+ If True default Observers will be added: Broker (Cash and Value),
+ Trades and BuySell
+
+ - ``oldbuysell`` (default: ``False``)
+
+ If ``stdstats`` is ``True`` and observers are getting automatically
+ added, this switch controls the main behavior of the ``BuySell``
+ observer
+
+ - ``False``: use the modern behavior in which the buy / sell signals
+ are plotted below / above the low / high prices respectively to avoid
+ cluttering the plot
+
+ - ``True``: use the deprecated behavior in which the buy / sell signals
+ are plotted where the average price of the order executions for the
+ given moment in time is. This will of course be on top of an OHLC bar
+ or on a Line on Cloe bar, difficulting the recognition of the plot.
+
+ - ``oldtrades`` (default: ``False``)
+
+ If ``stdstats`` is ``True`` and observers are getting automatically
+ added, this switch controls the main behavior of the ``Trades``
+ observer
+
+ - ``False``: use the modern behavior in which trades for all datas are
+ plotted with different markers
+
+ - ``True``: use the old Trades observer which plots the trades with the
+ same markers, differentiating only if they are positive or negative
+
+ - ``exactbars`` (default: ``False``)
+
+ With the default value each and every value stored in a line is kept in
+ memory
+
+ Possible values:
+ - ``True`` or ``1``: all "lines" objects reduce memory usage to the
+ automatically calculated minimum period.
+
+ If a Simple Moving Average has a period of 30, the underlying data
+ will have always a running buffer of 30 bars to allow the
+ calculation of the Simple Moving Average
+
+ - This setting will deactivate ``preload`` and ``runonce``
+ - Using this setting also deactivates **plotting**
+
+ - ``-1``: datafreeds and indicators/operations at strategy level will
+ keep all data in memory.
+
+ For example: a ``RSI`` internally uses the indicator ``UpDay`` to
+ make calculations. This subindicator will not keep all data in
+ memory
+
+ - This allows to keep ``plotting`` and ``preloading`` active.
+
+ - ``runonce`` will be deactivated
+
+ - ``-2``: data feeds and indicators kept as attributes of the
+ strategy will keep all points in memory.
+
+ For example: a ``RSI`` internally uses the indicator ``UpDay`` to
+ make calculations. This subindicator will not keep all data in
+ memory
+
+ If in the ``__init__`` something like
+ ``a = self.data.close - self.data.high`` is defined, then ``a``
+ will not keep all data in memory
+
+ - This allows to keep ``plotting`` and ``preloading`` active.
+
+ - ``runonce`` will be deactivated
+
+ - ``objcache`` (default: ``False``)
+
+ Experimental option to implement a cache of lines objects and reduce
+ the amount of them. Example from UltimateOscillator::
+
+ bp = self.data.close - TrueLow(self.data)
+ tr = TrueRange(self.data) # -> creates another TrueLow(self.data)
+
+ If this is ``True`` the 2nd ``TrueLow(self.data)`` inside ``TrueRange``
+ matches the signature of the one in the ``bp`` calculation. It will be
+ reused.
+
+ Corner cases may happen in which this drives a line object off its
+ minimum period and breaks things and it is therefore disabled.
+
+ - ``writer`` (default: ``False``)
+
+ If set to ``True`` a default WriterFile will be created which will
+ print to stdout. It will be added to the strategy (in addition to any
+ other writers added by the user code)
+
+ - ``tradehistory`` (default: ``False``)
+
+ If set to ``True``, it will activate update event logging in each trade
+ for all strategies. This can also be accomplished on a per strategy
+ basis with the strategy method ``set_tradehistory``
+
+ - ``optdatas`` (default: ``True``)
+
+ If ``True`` and optimizing (and the system can ``preload`` and use
+ ``runonce``, data preloading will be done only once in the main process
+ to save time and resources.
+
+ The tests show an approximate ``20%`` speed-up moving from a sample
+ execution in ``83`` seconds to ``66``
+
+ - ``optreturn`` (default: ``True``)
+
+ If ``True`` the optimization results will not be full ``Strategy``
+ objects (and all *datas*, *indicators*, *observers* ...) but and object
+ with the following attributes (same as in ``Strategy``):
+
+ - ``params`` (or ``p``) the strategy had for the execution
+ - ``analyzers`` the strategy has executed
+
+ In most occassions, only the *analyzers* and with which *params* are
+ the things needed to evaluate a the performance of a strategy. If
+ detailed analysis of the generated values for (for example)
+ *indicators* is needed, turn this off
+
+ The tests show a ``13% - 15%`` improvement in execution time. Combined
+ with ``optdatas`` the total gain increases to a total speed-up of
+ ``32%`` in an optimization run.
+
+ - ``oldsync`` (default: ``False``)
+
+ Starting with release 1.9.0.99 the synchronization of multiple datas
+ (same or different timeframes) has been changed to allow datas of
+ different lengths.
+
+ If the old behavior with data0 as the master of the system is wished,
+ set this parameter to true
+
+ - ``tz`` (default: ``None``)
+
+ Adds a global timezone for strategies. The argument ``tz`` can be
+
+ - ``None``: in this case the datetime displayed by strategies will be
+ in UTC, which has been always the standard behavior
+
+ - ``pytz`` instance. It will be used as such to convert UTC times to
+ the chosen timezone
+
+ - ``string``. Instantiating a ``pytz`` instance will be attempted.
+
+ - ``integer``. Use, for the strategy, the same timezone as the
+ corresponding ``data`` in the ``self.datas`` iterable (``0`` would
+ use the timezone from ``data0``)
+
+ - ``cheat_on_open`` (default: ``False``)
+
+ The ``next_open`` method of strategies will be called. This happens
+ before ``next`` and before the broker has had a chance to evaluate
+ orders. The indicators have not yet been recalculated. This allows
+ issuing an orde which takes into account the indicators of the previous
+ day but uses the ``open`` price for stake calculations
+
+ For cheat_on_open order execution, it is also necessary to make the
+ call ``cerebro.broker.set_coo(True)`` or instantite a broker with
+ ``BackBroker(coo=True)`` (where *coo* stands for cheat-on-open) or set
+ the ``broker_coo`` parameter to ``True``. Cerebro will do it
+ automatically unless disabled below.
+
+ - ``broker_coo`` (default: ``True``)
+
+ This will automatically invoke the ``set_coo`` method of the broker
+ with ``True`` to activate ``cheat_on_open`` execution. Will only do it
+ if ``cheat_on_open`` is also ``True``
+
+ - ``quicknotify`` (default: ``False``)
+
+ Broker notifications are delivered right before the delivery of the
+ *next* prices. For backtesting this has no implications, but with live
+ brokers a notification can take place long before the bar is
+ delivered. When set to ``True`` notifications will be delivered as soon
+ as possible (see ``qcheck`` in live feeds)
+
+ Set to ``False`` for compatibility. May be changed to ``True``
+
+ '''
+
+ params = (
+ ('preload', True),
+ ('runonce', True),
+ ('maxcpus', None),
+ ('stdstats', True),
+ ('oldbuysell', False),
+ ('oldtrades', False),
+ ('lookahead', 0),
+ ('exactbars', False),
+ ('optdatas', True),
+ ('optreturn', True),
+ ('objcache', False),
+ ('live', False),
+ ('writer', False),
+ ('tradehistory', False),
+ ('oldsync', False),
+ ('tz', None),
+ ('cheat_on_open', False),
+ ('broker_coo', True),
+ ('quicknotify', False),
+ )
+
+ def __init__(self):
+ self._dolive = False
+ self._doreplay = False
+ self._dooptimize = False
+ self.stores = list()
+ self.feeds = list()
+ self.datas = list()
+ self.datasbyname = collections.OrderedDict()
+ self.strats = list()
+ self.optcbs = list() # holds a list of callbacks for opt strategies
+ self.observers = list()
+ self.analyzers = list()
+ self.indicators = list()
+ self.sizers = dict()
+ self.writers = list()
+ self.storecbs = list()
+ self.datacbs = list()
+ self.signals = list()
+ self._signal_strat = (None, None, None)
+ self._signal_concurrent = False
+ self._signal_accumulate = False
+
+ self._dataid = itertools.count(1)
+
+ self._broker = BackBroker()
+ self._broker.cerebro = self
+
+ self._tradingcal = None # TradingCalendar()
+
+ self._pretimers = list()
+ self._ohistory = list()
+ self._fhistory = None
+
+ @staticmethod
+ def iterize(iterable):
+ '''Handy function which turns things into things that can be iterated upon
+ including iterables
+ '''
+ niterable = list()
+ for elem in iterable:
+ if isinstance(elem, string_types):
+ elem = (elem,)
+ elif not isinstance(elem, collectionsAbc.Iterable): # Different functions will be called for different Python versions
+ elem = (elem,)
+
+ niterable.append(elem)
+
+ return niterable
+
+ def set_fund_history(self, fund):
+ '''
+ Add a history of orders to be directly executed in the broker for
+ performance evaluation
+
+ - ``fund``: is an iterable (ex: list, tuple, iterator, generator)
+ in which each element will be also an iterable (with length) with
+ the following sub-elements (2 formats are possible)
+
+ ``[datetime, share_value, net asset value]``
+
+ **Note**: it must be sorted (or produce sorted elements) by
+ datetime ascending
+
+ where:
+
+ - ``datetime`` is a python ``date/datetime`` instance or a string
+ with format YYYY-MM-DD[THH:MM:SS[.us]] where the elements in
+ brackets are optional
+ - ``share_value`` is an float/integer
+ - ``net_asset_value`` is a float/integer
+ '''
+ self._fhistory = fund
+
+ def add_order_history(self, orders, notify=True):
+ '''
+ Add a history of orders to be directly executed in the broker for
+ performance evaluation
+
+ - ``orders``: is an iterable (ex: list, tuple, iterator, generator)
+ in which each element will be also an iterable (with length) with
+ the following sub-elements (2 formats are possible)
+
+ ``[datetime, size, price]`` or ``[datetime, size, price, data]``
+
+ **Note**: it must be sorted (or produce sorted elements) by
+ datetime ascending
+
+ where:
+
+ - ``datetime`` is a python ``date/datetime`` instance or a string
+ with format YYYY-MM-DD[THH:MM:SS[.us]] where the elements in
+ brackets are optional
+ - ``size`` is an integer (positive to *buy*, negative to *sell*)
+ - ``price`` is a float/integer
+ - ``data`` if present can take any of the following values
+
+ - *None* - The 1st data feed will be used as target
+ - *integer* - The data with that index (insertion order in
+ **Cerebro**) will be used
+ - *string* - a data with that name, assigned for example with
+ ``cerebro.addata(data, name=value)``, will be the target
+
+ - ``notify`` (default: *True*)
+
+ If ``True`` the 1st strategy inserted in the system will be
+ notified of the artificial orders created following the information
+ from each order in ``orders``
+
+ **Note**: Implicit in the description is the need to add a data feed
+ which is the target of the orders. This is for example needed by
+ analyzers which track for example the returns
+ '''
+ self._ohistory.append((orders, notify))
+
+ def notify_timer(self, timer, when, *args, **kwargs):
+ '''Receives a timer notification where ``timer`` is the timer which was
+ returned by ``add_timer``, and ``when`` is the calling time. ``args``
+ and ``kwargs`` are any additional arguments passed to ``add_timer``
+
+ The actual ``when`` time can be later, but the system may have not be
+ able to call the timer before. This value is the timer value and no the
+ system time.
+ '''
+ pass
+
+ def _add_timer(self, owner, when,
+ offset=datetime.timedelta(), repeat=datetime.timedelta(),
+ weekdays=[], weekcarry=False,
+ monthdays=[], monthcarry=True,
+ allow=None,
+ tzdata=None, strats=False, cheat=False,
+ *args, **kwargs):
+ '''Internal method to really create the timer (not started yet) which
+ can be called by cerebro instances or other objects which can access
+ cerebro'''
+
+ timer = Timer(
+ tid=len(self._pretimers),
+ owner=owner, strats=strats,
+ when=when, offset=offset, repeat=repeat,
+ weekdays=weekdays, weekcarry=weekcarry,
+ monthdays=monthdays, monthcarry=monthcarry,
+ allow=allow,
+ tzdata=tzdata, cheat=cheat,
+ *args, **kwargs
+ )
+
+ self._pretimers.append(timer)
+ return timer
+
+ def add_timer(self, when,
+ offset=datetime.timedelta(), repeat=datetime.timedelta(),
+ weekdays=[], weekcarry=False,
+ monthdays=[], monthcarry=True,
+ allow=None,
+ tzdata=None, strats=False, cheat=False,
+ *args, **kwargs):
+ '''
+ Schedules a timer to invoke ``notify_timer``
+
+ Arguments:
+
+ - ``when``: can be
+
+ - ``datetime.time`` instance (see below ``tzdata``)
+ - ``bt.timer.SESSION_START`` to reference a session start
+ - ``bt.timer.SESSION_END`` to reference a session end
+
+ - ``offset`` which must be a ``datetime.timedelta`` instance
+
+ Used to offset the value ``when``. It has a meaningful use in
+ combination with ``SESSION_START`` and ``SESSION_END``, to indicated
+ things like a timer being called ``15 minutes`` after the session
+ start.
+
+ - ``repeat`` which must be a ``datetime.timedelta`` instance
+
+ Indicates if after a 1st call, further calls will be scheduled
+ within the same session at the scheduled ``repeat`` delta
+
+ Once the timer goes over the end of the session it is reset to the
+ original value for ``when``
+
+ - ``weekdays``: a **sorted** iterable with integers indicating on
+ which days (iso codes, Monday is 1, Sunday is 7) the timers can
+ be actually invoked
+
+ If not specified, the timer will be active on all days
+
+ - ``weekcarry`` (default: ``False``). If ``True`` and the weekday was
+ not seen (ex: trading holiday), the timer will be executed on the
+ next day (even if in a new week)
+
+ - ``monthdays``: a **sorted** iterable with integers indicating on
+ which days of the month a timer has to be executed. For example
+ always on day *15* of the month
+
+ If not specified, the timer will be active on all days
+
+ - ``monthcarry`` (default: ``True``). If the day was not seen
+ (weekend, trading holiday), the timer will be executed on the next
+ available day.
+
+ - ``allow`` (default: ``None``). A callback which receives a
+ `datetime.date`` instance and returns ``True`` if the date is
+ allowed for timers or else returns ``False``
+
+ - ``tzdata`` which can be either ``None`` (default), a ``pytz``
+ instance or a ``data feed`` instance.
+
+ ``None``: ``when`` is interpreted at face value (which translates
+ to handling it as if it where UTC even if it's not)
+
+ ``pytz`` instance: ``when`` will be interpreted as being specified
+ in the local time specified by the timezone instance.
+
+ ``data feed`` instance: ``when`` will be interpreted as being
+ specified in the local time specified by the ``tz`` parameter of
+ the data feed instance.
+
+ **Note**: If ``when`` is either ``SESSION_START`` or
+ ``SESSION_END`` and ``tzdata`` is ``None``, the 1st *data feed*
+ in the system (aka ``self.data0``) will be used as the reference
+ to find out the session times.
+
+ - ``strats`` (default: ``False``) call also the ``notify_timer`` of
+ strategies
+
+ - ``cheat`` (default ``False``) if ``True`` the timer will be called
+ before the broker has a chance to evaluate the orders. This opens
+ the chance to issue orders based on opening price for example right
+ before the session starts
+ - ``*args``: any extra args will be passed to ``notify_timer``
+
+ - ``**kwargs``: any extra kwargs will be passed to ``notify_timer``
+
+ Return Value:
+
+ - The created timer
+
+ '''
+ return self._add_timer(
+ owner=self, when=when, offset=offset, repeat=repeat,
+ weekdays=weekdays, weekcarry=weekcarry,
+ monthdays=monthdays, monthcarry=monthcarry,
+ allow=allow,
+ tzdata=tzdata, strats=strats, cheat=cheat,
+ *args, **kwargs)
+
+ def addtz(self, tz):
+ '''
+ This can also be done with the parameter ``tz``
+
+ Adds a global timezone for strategies. The argument ``tz`` can be
+
+ - ``None``: in this case the datetime displayed by strategies will be
+ in UTC, which has been always the standard behavior
+
+ - ``pytz`` instance. It will be used as such to convert UTC times to
+ the chosen timezone
+
+ - ``string``. Instantiating a ``pytz`` instance will be attempted.
+
+ - ``integer``. Use, for the strategy, the same timezone as the
+ corresponding ``data`` in the ``self.datas`` iterable (``0`` would
+ use the timezone from ``data0``)
+
+ '''
+ self.p.tz = tz
+
+ def addcalendar(self, cal):
+ '''Adds a global trading calendar to the system. Individual data feeds
+ may have separate calendars which override the global one
+
+ ``cal`` can be an instance of ``TradingCalendar`` a string or an
+ instance of ``pandas_market_calendars``. A string will be will be
+ instantiated as a ``PandasMarketCalendar`` (which needs the module
+ ``pandas_market_calendar`` installed in the system.
+
+ If a subclass of `TradingCalendarBase` is passed (not an instance) it
+ will be instantiated
+ '''
+ if isinstance(cal, string_types):
+ cal = PandasMarketCalendar(calendar=cal)
+ elif hasattr(cal, 'valid_days'):
+ cal = PandasMarketCalendar(calendar=cal)
+
+ else:
+ try:
+ if issubclass(cal, TradingCalendarBase):
+ cal = cal()
+ except TypeError: # already an instance
+ pass
+
+ self._tradingcal = cal
+
+ def add_signal(self, sigtype, sigcls, *sigargs, **sigkwargs):
+ '''Adds a signal to the system which will be later added to a
+ ``SignalStrategy``'''
+ self.signals.append((sigtype, sigcls, sigargs, sigkwargs))
+
+ def signal_strategy(self, stratcls, *args, **kwargs):
+ '''Adds a SignalStrategy subclass which can accept signals'''
+ self._signal_strat = (stratcls, args, kwargs)
+
+ def signal_concurrent(self, onoff):
+ '''If signals are added to the system and the ``concurrent`` value is
+ set to True, concurrent orders will be allowed'''
+ self._signal_concurrent = onoff
+
+ def signal_accumulate(self, onoff):
+ '''If signals are added to the system and the ``accumulate`` value is
+ set to True, entering the market when already in the market, will be
+ allowed to increase a position'''
+ self._signal_accumulate = onoff
+
+ def addstore(self, store):
+ '''Adds an ``Store`` instance to the if not already present'''
+ if store not in self.stores:
+ self.stores.append(store)
+
+ def addwriter(self, wrtcls, *args, **kwargs):
+ '''Adds an ``Writer`` class to the mix. Instantiation will be done at
+ ``run`` time in cerebro
+ '''
+ self.writers.append((wrtcls, args, kwargs))
+
+ def addsizer(self, sizercls, *args, **kwargs):
+ '''Adds a ``Sizer`` class (and args) which is the default sizer for any
+ strategy added to cerebro
+ '''
+ self.sizers[None] = (sizercls, args, kwargs)
+
+ def addsizer_byidx(self, idx, sizercls, *args, **kwargs):
+ '''Adds a ``Sizer`` class by idx. This idx is a reference compatible to
+ the one returned by ``addstrategy``. Only the strategy referenced by
+ ``idx`` will receive this size
+ '''
+ self.sizers[idx] = (sizercls, args, kwargs)
+
+ def addindicator(self, indcls, *args, **kwargs):
+ '''
+ Adds an ``Indicator`` class to the mix. Instantiation will be done at
+ ``run`` time in the passed strategies
+ '''
+ self.indicators.append((indcls, args, kwargs))
+
+ def addanalyzer(self, ancls, *args, **kwargs):
+ '''
+ Adds an ``Analyzer`` class to the mix. Instantiation will be done at
+ ``run`` time
+ '''
+ self.analyzers.append((ancls, args, kwargs))
+
+ def addobserver(self, obscls, *args, **kwargs):
+ '''
+ Adds an ``Observer`` class to the mix. Instantiation will be done at
+ ``run`` time
+ '''
+ self.observers.append((False, obscls, args, kwargs))
+
+ def addobservermulti(self, obscls, *args, **kwargs):
+ '''
+ Adds an ``Observer`` class to the mix. Instantiation will be done at
+ ``run`` time
+
+ It will be added once per "data" in the system. A use case is a
+ buy/sell observer which observes individual datas.
+
+ A counter-example is the CashValue, which observes system-wide values
+ '''
+ self.observers.append((True, obscls, args, kwargs))
+
+ def addstorecb(self, callback):
+ '''Adds a callback to get messages which would be handled by the
+ notify_store method
+
+ The signature of the callback must support the following:
+
+ - callback(msg, \*args, \*\*kwargs)
+
+ The actual ``msg``, ``*args`` and ``**kwargs`` received are
+ implementation defined (depend entirely on the *data/broker/store*) but
+ in general one should expect them to be *printable* to allow for
+ reception and experimentation.
+ '''
+ self.storecbs.append(callback)
+
+ def _notify_store(self, msg, *args, **kwargs):
+ for callback in self.storecbs:
+ callback(msg, *args, **kwargs)
+
+ self.notify_store(msg, *args, **kwargs)
+
+ def notify_store(self, msg, *args, **kwargs):
+ '''Receive store notifications in cerebro
+
+ This method can be overridden in ``Cerebro`` subclasses
+
+ The actual ``msg``, ``*args`` and ``**kwargs`` received are
+ implementation defined (depend entirely on the *data/broker/store*) but
+ in general one should expect them to be *printable* to allow for
+ reception and experimentation.
+ '''
+ pass
+
+ def _storenotify(self):
+ for store in self.stores:
+ for notif in store.get_notifications():
+ msg, args, kwargs = notif
+
+ self._notify_store(msg, *args, **kwargs)
+ for strat in self.runningstrats:
+ strat.notify_store(msg, *args, **kwargs)
+
+ def adddatacb(self, callback):
+ '''Adds a callback to get messages which would be handled by the
+ notify_data method
+
+ The signature of the callback must support the following:
+
+ - callback(data, status, \*args, \*\*kwargs)
+
+ The actual ``*args`` and ``**kwargs`` received are implementation
+ defined (depend entirely on the *data/broker/store*) but in general one
+ should expect them to be *printable* to allow for reception and
+ experimentation.
+ '''
+ self.datacbs.append(callback)
+
+ def _datanotify(self):
+ for data in self.datas:
+ for notif in data.get_notifications():
+ status, args, kwargs = notif
+ self._notify_data(data, status, *args, **kwargs)
+ for strat in self.runningstrats:
+ strat.notify_data(data, status, *args, **kwargs)
+
+ def _notify_data(self, data, status, *args, **kwargs):
+ for callback in self.datacbs:
+ callback(data, status, *args, **kwargs)
+
+ self.notify_data(data, status, *args, **kwargs)
+
+ def notify_data(self, data, status, *args, **kwargs):
+ '''Receive data notifications in cerebro
+
+ This method can be overridden in ``Cerebro`` subclasses
+
+ The actual ``*args`` and ``**kwargs`` received are
+ implementation defined (depend entirely on the *data/broker/store*) but
+ in general one should expect them to be *printable* to allow for
+ reception and experimentation.
+ '''
+ pass
+
+ def adddata(self, data, name=None):
+ '''
+ Adds a ``Data Feed`` instance to the mix.
+
+ If ``name`` is not None it will be put into ``data._name`` which is
+ meant for decoration/plotting purposes.
+ '''
+ if name is not None:
+ data._name = name
+
+ data._id = next(self._dataid)
+ data.setenvironment(self)
+
+ self.datas.append(data)
+ self.datasbyname[data._name] = data
+ feed = data.getfeed()
+ if feed and feed not in self.feeds:
+ self.feeds.append(feed)
+
+ if data.islive():
+ self._dolive = True
+
+ return data
+
+ def chaindata(self, *args, **kwargs):
+ '''
+ Chains several data feeds into one
+
+ If ``name`` is passed as named argument and is not None it will be put
+ into ``data._name`` which is meant for decoration/plotting purposes.
+
+ If ``None``, then the name of the 1st data will be used
+ '''
+ dname = kwargs.pop('name', None)
+ if dname is None:
+ dname = args[0]._dataname
+ d = bt.feeds.Chainer(dataname=dname, *args)
+ self.adddata(d, name=dname)
+
+ return d
+
+ def rolloverdata(self, *args, **kwargs):
+ '''Chains several data feeds into one
+
+ If ``name`` is passed as named argument and is not None it will be put
+ into ``data._name`` which is meant for decoration/plotting purposes.
+
+ If ``None``, then the name of the 1st data will be used
+
+ Any other kwargs will be passed to the RollOver class
+
+ '''
+ dname = kwargs.pop('name', None)
+ if dname is None:
+ dname = args[0]._dataname
+ d = bt.feeds.RollOver(dataname=dname, *args, **kwargs)
+ self.adddata(d, name=dname)
+
+ return d
+
+ def replaydata(self, dataname, name=None, **kwargs):
+ '''
+ Adds a ``Data Feed`` to be replayed by the system
+
+ If ``name`` is not None it will be put into ``data._name`` which is
+ meant for decoration/plotting purposes.
+
+ Any other kwargs like ``timeframe``, ``compression``, ``todate`` which
+ are supported by the replay filter will be passed transparently
+ '''
+ if any(dataname is x for x in self.datas):
+ dataname = dataname.clone()
+
+ dataname.replay(**kwargs)
+ self.adddata(dataname, name=name)
+ self._doreplay = True
+
+ return dataname
+
+ def resampledata(self, dataname, name=None, **kwargs):
+ '''
+ Adds a ``Data Feed`` to be resample by the system
+
+ If ``name`` is not None it will be put into ``data._name`` which is
+ meant for decoration/plotting purposes.
+
+ Any other kwargs like ``timeframe``, ``compression``, ``todate`` which
+ are supported by the resample filter will be passed transparently
+ '''
+ if any(dataname is x for x in self.datas):
+ dataname = dataname.clone()
+
+ dataname.resample(**kwargs)
+ self.adddata(dataname, name=name)
+ self._doreplay = True
+
+ return dataname
+
+ def optcallback(self, cb):
+ '''
+ Adds a *callback* to the list of callbacks that will be called with the
+ optimizations when each of the strategies has been run
+
+ The signature: cb(strategy)
+ '''
+ self.optcbs.append(cb)
+
+ def optstrategy(self, strategy, *args, **kwargs):
+ '''
+ Adds a ``Strategy`` class to the mix for optimization. Instantiation
+ will happen during ``run`` time.
+
+ args and kwargs MUST BE iterables which hold the values to check.
+
+ Example: if a Strategy accepts a parameter ``period``, for optimization
+ purposes the call to ``optstrategy`` looks like:
+
+ - cerebro.optstrategy(MyStrategy, period=(15, 25))
+
+ This will execute an optimization for values 15 and 25. Whereas
+
+ - cerebro.optstrategy(MyStrategy, period=range(15, 25))
+
+ will execute MyStrategy with ``period`` values 15 -> 25 (25 not
+ included, because ranges are semi-open in Python)
+
+ If a parameter is passed but shall not be optimized the call looks
+ like:
+
+ - cerebro.optstrategy(MyStrategy, period=(15,))
+
+ Notice that ``period`` is still passed as an iterable ... of just 1
+ element
+
+ ``backtrader`` will anyhow try to identify situations like:
+
+ - cerebro.optstrategy(MyStrategy, period=15)
+
+ and will create an internal pseudo-iterable if possible
+ '''
+ self._dooptimize = True
+ args = self.iterize(args)
+ optargs = itertools.product(*args)
+
+ optkeys = list(kwargs)
+
+ vals = self.iterize(kwargs.values())
+ optvals = itertools.product(*vals)
+
+ okwargs1 = map(zip, itertools.repeat(optkeys), optvals)
+
+ optkwargs = map(dict, okwargs1)
+
+ it = itertools.product([strategy], optargs, optkwargs)
+ self.strats.append(it)
+
+ def addstrategy(self, strategy, *args, **kwargs):
+ '''
+ Adds a ``Strategy`` class to the mix for a single pass run.
+ Instantiation will happen during ``run`` time.
+
+ args and kwargs will be passed to the strategy as they are during
+ instantiation.
+
+ Returns the index with which addition of other objects (like sizers)
+ can be referenced
+ '''
+ self.strats.append([(strategy, args, kwargs)])
+ return len(self.strats) - 1
+
+ def setbroker(self, broker):
+ '''
+ Sets a specific ``broker`` instance for this strategy, replacing the
+ one inherited from cerebro.
+ '''
+ self._broker = broker
+ broker.cerebro = self
+ return broker
+
+ def getbroker(self):
+ '''
+ Returns the broker instance.
+
+ This is also available as a ``property`` by the name ``broker``
+ '''
+ return self._broker
+
+ broker = property(getbroker, setbroker)
+
+ def plot(self, plotter=None, numfigs=1, iplot=True, start=None, end=None,
+ width=16, height=9, dpi=300, tight=True, use=None,
+ **kwargs):
+ '''
+ Plots the strategies inside cerebro
+
+ If ``plotter`` is None a default ``Plot`` instance is created and
+ ``kwargs`` are passed to it during instantiation.
+
+ ``numfigs`` split the plot in the indicated number of charts reducing
+ chart density if wished
+
+ ``iplot``: if ``True`` and running in a ``notebook`` the charts will be
+ displayed inline
+
+ ``use``: set it to the name of the desired matplotlib backend. It will
+ take precedence over ``iplot``
+
+ ``start``: An index to the datetime line array of the strategy or a
+ ``datetime.date``, ``datetime.datetime`` instance indicating the start
+ of the plot
+
+ ``end``: An index to the datetime line array of the strategy or a
+ ``datetime.date``, ``datetime.datetime`` instance indicating the end
+ of the plot
+
+ ``width``: in inches of the saved figure
+
+ ``height``: in inches of the saved figure
+
+ ``dpi``: quality in dots per inches of the saved figure
+
+ ``tight``: only save actual content and not the frame of the figure
+ '''
+ if self._exactbars > 0:
+ return
+
+ if not plotter:
+ from . import plot
+ if self.p.oldsync:
+ plotter = plot.Plot_OldSync(**kwargs)
+ else:
+ plotter = plot.Plot(**kwargs)
+
+ # pfillers = {self.datas[i]: self._plotfillers[i]
+ # for i, x in enumerate(self._plotfillers)}
+
+ # pfillers2 = {self.datas[i]: self._plotfillers2[i]
+ # for i, x in enumerate(self._plotfillers2)}
+
+ figs = []
+ for stratlist in self.runstrats:
+ for si, strat in enumerate(stratlist):
+ rfig = plotter.plot(strat, figid=si * 100,
+ numfigs=numfigs, iplot=iplot,
+ start=start, end=end, use=use)
+ # pfillers=pfillers2)
+
+ figs.append(rfig)
+
+ plotter.show()
+
+ return figs
+
+ def __call__(self, iterstrat):
+ '''
+ Used during optimization to pass the cerebro over the multiprocesing
+ module without complains
+ '''
+
+ predata = self.p.optdatas and self._dopreload and self._dorunonce
+ return self.runstrategies(iterstrat, predata=predata)
+
+ def __getstate__(self):
+ '''
+ Used during optimization to prevent optimization result `runstrats`
+ from being pickled to subprocesses
+ '''
+
+ rv = vars(self).copy()
+ if 'runstrats' in rv:
+ del(rv['runstrats'])
+ return rv
+
+ def runstop(self):
+ '''If invoked from inside a strategy or anywhere else, including other
+ threads the execution will stop as soon as possible.'''
+ self._event_stop = True # signal a stop has been requested
+
+ def run(self, **kwargs):
+ '''The core method to perform backtesting. Any ``kwargs`` passed to it
+ will affect the value of the standard parameters ``Cerebro`` was
+ instantiated with.
+
+ If ``cerebro`` has not datas the method will immediately bail out.
+
+ It has different return values:
+
+ - For No Optimization: a list contanining instances of the Strategy
+ classes added with ``addstrategy``
+
+ - For Optimization: a list of lists which contain instances of the
+ Strategy classes added with ``addstrategy``
+ '''
+ self._event_stop = False # Stop is requested
+
+ if not self.datas:
+ return [] # nothing can be run
+
+ pkeys = self.params._getkeys()
+ for key, val in kwargs.items():
+ if key in pkeys:
+ setattr(self.params, key, val)
+
+ # Manage activate/deactivate object cache
+ linebuffer.LineActions.cleancache() # clean cache
+ indicator.Indicator.cleancache() # clean cache
+
+ linebuffer.LineActions.usecache(self.p.objcache)
+ indicator.Indicator.usecache(self.p.objcache)
+
+ self._dorunonce = self.p.runonce
+ self._dopreload = self.p.preload
+ self._exactbars = int(self.p.exactbars)
+
+ if self._exactbars:
+ self._dorunonce = False # something is saving memory, no runonce
+ self._dopreload = self._dopreload and self._exactbars < 1
+
+ self._doreplay = self._doreplay or any(x.replaying for x in self.datas)
+ if self._doreplay:
+ # preloading is not supported with replay. full timeframe bars
+ # are constructed in realtime
+ self._dopreload = False
+
+ if self._dolive or self.p.live:
+ # in this case both preload and runonce must be off
+ self._dorunonce = False
+ self._dopreload = False
+
+ self.runwriters = list()
+
+ # Add the system default writer if requested
+ if self.p.writer is True:
+ wr = WriterFile()
+ self.runwriters.append(wr)
+
+ # Instantiate any other writers
+ for wrcls, wrargs, wrkwargs in self.writers:
+ wr = wrcls(*wrargs, **wrkwargs)
+ self.runwriters.append(wr)
+
+ # Write down if any writer wants the full csv output
+ self.writers_csv = any(map(lambda x: x.p.csv, self.runwriters))
+
+ self.runstrats = list()
+
+ if self.signals: # allow processing of signals
+ signalst, sargs, skwargs = self._signal_strat
+ if signalst is None:
+ # Try to see if the 1st regular strategy is a signal strategy
+ try:
+ signalst, sargs, skwargs = self.strats.pop(0)
+ except IndexError:
+ pass # Nothing there
+ else:
+ if not isinstance(signalst, SignalStrategy):
+ # no signal ... reinsert at the beginning
+ self.strats.insert(0, (signalst, sargs, skwargs))
+ signalst = None # flag as not presetn
+
+ if signalst is None: # recheck
+ # Still None, create a default one
+ signalst, sargs, skwargs = SignalStrategy, tuple(), dict()
+
+ # Add the signal strategy
+ self.addstrategy(signalst,
+ _accumulate=self._signal_accumulate,
+ _concurrent=self._signal_concurrent,
+ signals=self.signals,
+ *sargs,
+ **skwargs)
+
+ if not self.strats: # Datas are present, add a strategy
+ self.addstrategy(Strategy)
+
+ iterstrats = itertools.product(*self.strats)
+ if not self._dooptimize or self.p.maxcpus == 1:
+ # If no optimmization is wished ... or 1 core is to be used
+ # let's skip process "spawning"
+ for iterstrat in iterstrats:
+ runstrat = self.runstrategies(iterstrat)
+ self.runstrats.append(runstrat)
+ if self._dooptimize:
+ for cb in self.optcbs:
+ cb(runstrat) # callback receives finished strategy
+ else:
+ if self.p.optdatas and self._dopreload and self._dorunonce:
+ for data in self.datas:
+ data.reset()
+ if self._exactbars < 1: # datas can be full length
+ data.extend(size=self.params.lookahead)
+ data._start()
+ if self._dopreload:
+ data.preload()
+
+ pool = multiprocessing.Pool(self.p.maxcpus or None)
+ for r in pool.imap(self, iterstrats):
+ self.runstrats.append(r)
+ for cb in self.optcbs:
+ cb(r) # callback receives finished strategy
+
+ pool.close()
+
+ if self.p.optdatas and self._dopreload and self._dorunonce:
+ for data in self.datas:
+ data.stop()
+
+ if not self._dooptimize:
+ # avoid a list of list for regular cases
+ return self.runstrats[0]
+
+ return self.runstrats
+
+ def _init_stcount(self):
+ self.stcount = itertools.count(0)
+
+ def _next_stid(self):
+ return next(self.stcount)
+
+ def runstrategies(self, iterstrat, predata=False):
+ '''
+ Internal method invoked by ``run``` to run a set of strategies
+ '''
+ self._init_stcount()
+
+ self.runningstrats = runstrats = list()
+ for store in self.stores:
+ store.start()
+
+ if self.p.cheat_on_open and self.p.broker_coo:
+ # try to activate in broker
+ if hasattr(self._broker, 'set_coo'):
+ self._broker.set_coo(True)
+
+ if self._fhistory is not None:
+ self._broker.set_fund_history(self._fhistory)
+
+ for orders, onotify in self._ohistory:
+ self._broker.add_order_history(orders, onotify)
+
+ self._broker.start()
+
+ for feed in self.feeds:
+ feed.start()
+
+ if self.writers_csv:
+ wheaders = list()
+ for data in self.datas:
+ if data.csv:
+ wheaders.extend(data.getwriterheaders())
+
+ for writer in self.runwriters:
+ if writer.p.csv:
+ writer.addheaders(wheaders)
+
+ # self._plotfillers = [list() for d in self.datas]
+ # self._plotfillers2 = [list() for d in self.datas]
+
+ if not predata:
+ for data in self.datas:
+ data.reset()
+ if self._exactbars < 1: # datas can be full length
+ data.extend(size=self.params.lookahead)
+ data._start()
+ if self._dopreload:
+ data.preload()
+
+ for stratcls, sargs, skwargs in iterstrat:
+ sargs = self.datas + list(sargs)
+ try:
+ strat = stratcls(*sargs, **skwargs)
+ except bt.errors.StrategySkipError:
+ continue # do not add strategy to the mix
+
+ if self.p.oldsync:
+ strat._oldsync = True # tell strategy to use old clock update
+ if self.p.tradehistory:
+ strat.set_tradehistory()
+ runstrats.append(strat)
+
+ tz = self.p.tz
+ if isinstance(tz, integer_types):
+ tz = self.datas[tz]._tz
+ else:
+ tz = tzparse(tz)
+
+ if runstrats:
+ # loop separated for clarity
+ defaultsizer = self.sizers.get(None, (None, None, None))
+ for idx, strat in enumerate(runstrats):
+ if self.p.stdstats:
+ strat._addobserver(False, observers.Broker)
+ if self.p.oldbuysell:
+ strat._addobserver(True, observers.BuySell)
+ else:
+ strat._addobserver(True, observers.BuySell,
+ barplot=True)
+
+ if self.p.oldtrades or len(self.datas) == 1:
+ strat._addobserver(False, observers.Trades)
+ else:
+ strat._addobserver(False, observers.DataTrades)
+
+ for multi, obscls, obsargs, obskwargs in self.observers:
+ strat._addobserver(multi, obscls, *obsargs, **obskwargs)
+
+ for indcls, indargs, indkwargs in self.indicators:
+ strat._addindicator(indcls, *indargs, **indkwargs)
+
+ for ancls, anargs, ankwargs in self.analyzers:
+ strat._addanalyzer(ancls, *anargs, **ankwargs)
+
+ sizer, sargs, skwargs = self.sizers.get(idx, defaultsizer)
+ if sizer is not None:
+ strat._addsizer(sizer, *sargs, **skwargs)
+
+ strat._settz(tz)
+ strat._start()
+
+ for writer in self.runwriters:
+ if writer.p.csv:
+ writer.addheaders(strat.getwriterheaders())
+
+ if not predata:
+ for strat in runstrats:
+ strat.qbuffer(self._exactbars, replaying=self._doreplay)
+
+ for writer in self.runwriters:
+ writer.start()
+
+ # Prepare timers
+ self._timers = []
+ self._timerscheat = []
+ for timer in self._pretimers:
+ # preprocess tzdata if needed
+ timer.start(self.datas[0])
+
+ if timer.params.cheat:
+ self._timerscheat.append(timer)
+ else:
+ self._timers.append(timer)
+
+ if self._dopreload and self._dorunonce:
+ if self.p.oldsync:
+ self._runonce_old(runstrats)
+ else:
+ self._runonce(runstrats)
+ else:
+ if self.p.oldsync:
+ self._runnext_old(runstrats)
+ else:
+ self._runnext(runstrats)
+
+ for strat in runstrats:
+ strat._stop()
+
+ self._broker.stop()
+
+ if not predata:
+ for data in self.datas:
+ data.stop()
+
+ for feed in self.feeds:
+ feed.stop()
+
+ for store in self.stores:
+ store.stop()
+
+ self.stop_writers(runstrats)
+
+ if self._dooptimize and self.p.optreturn:
+ # Results can be optimized
+ results = list()
+ for strat in runstrats:
+ for a in strat.analyzers:
+ a.strategy = None
+ a._parent = None
+ for attrname in dir(a):
+ if attrname.startswith('data'):
+ setattr(a, attrname, None)
+
+ oreturn = OptReturn(strat.params, analyzers=strat.analyzers, strategycls=type(strat))
+ results.append(oreturn)
+
+ return results
+
+ return runstrats
+
+ def stop_writers(self, runstrats):
+ cerebroinfo = OrderedDict()
+ datainfos = OrderedDict()
+
+ for i, data in enumerate(self.datas):
+ datainfos['Data%d' % i] = data.getwriterinfo()
+
+ cerebroinfo['Datas'] = datainfos
+
+ stratinfos = dict()
+ for strat in runstrats:
+ stname = strat.__class__.__name__
+ stratinfos[stname] = strat.getwriterinfo()
+
+ cerebroinfo['Strategies'] = stratinfos
+
+ for writer in self.runwriters:
+ writer.writedict(dict(Cerebro=cerebroinfo))
+ writer.stop()
+
+ def _brokernotify(self):
+ '''
+ Internal method which kicks the broker and delivers any broker
+ notification to the strategy
+ '''
+ self._broker.next()
+ while True:
+ order = self._broker.get_notification()
+ if order is None:
+ break
+
+ owner = order.owner
+ if owner is None:
+ owner = self.runningstrats[0] # default
+
+ owner._addnotification(order, quicknotify=self.p.quicknotify)
+
+ def _runnext_old(self, runstrats):
+ '''
+ Actual implementation of run in full next mode. All objects have its
+ ``next`` method invoke on each data arrival
+ '''
+ data0 = self.datas[0]
+ d0ret = True
+ while d0ret or d0ret is None:
+ lastret = False
+ # Notify anything from the store even before moving datas
+ # because datas may not move due to an error reported by the store
+ self._storenotify()
+ if self._event_stop: # stop if requested
+ return
+ self._datanotify()
+ if self._event_stop: # stop if requested
+ return
+
+ d0ret = data0.next()
+ if d0ret:
+ for data in self.datas[1:]:
+ if not data.next(datamaster=data0): # no delivery
+ data._check(forcedata=data0) # check forcing output
+ data.next(datamaster=data0) # retry
+
+ elif d0ret is None:
+ # meant for things like live feeds which may not produce a bar
+ # at the moment but need the loop to run for notifications and
+ # getting resample and others to produce timely bars
+ data0._check()
+ for data in self.datas[1:]:
+ data._check()
+ else:
+ lastret = data0._last()
+ for data in self.datas[1:]:
+ lastret += data._last(datamaster=data0)
+
+ if not lastret:
+ # Only go extra round if something was changed by "lasts"
+ break
+
+ # Datas may have generated a new notification after next
+ self._datanotify()
+ if self._event_stop: # stop if requested
+ return
+
+ self._brokernotify()
+ if self._event_stop: # stop if requested
+ return
+
+ if d0ret or lastret: # bars produced by data or filters
+ for strat in runstrats:
+ strat._next()
+ if self._event_stop: # stop if requested
+ return
+
+ self._next_writers(runstrats)
+
+ # Last notification chance before stopping
+ self._datanotify()
+ if self._event_stop: # stop if requested
+ return
+ self._storenotify()
+ if self._event_stop: # stop if requested
+ return
+
+ def _runonce_old(self, runstrats):
+ '''
+ Actual implementation of run in vector mode.
+ Strategies are still invoked on a pseudo-event mode in which ``next``
+ is called for each data arrival
+ '''
+ for strat in runstrats:
+ strat._once()
+
+ # The default once for strategies does nothing and therefore
+ # has not moved forward all datas/indicators/observers that
+ # were homed before calling once, Hence no "need" to do it
+ # here again, because pointers are at 0
+ data0 = self.datas[0]
+ datas = self.datas[1:]
+ for i in range(data0.buflen()):
+ data0.advance()
+ for data in datas:
+ data.advance(datamaster=data0)
+
+ self._brokernotify()
+ if self._event_stop: # stop if requested
+ return
+
+ for strat in runstrats:
+ # data0.datetime[0] for compat. w/ new strategy's oncepost
+ strat._oncepost(data0.datetime[0])
+ if self._event_stop: # stop if requested
+ return
+
+ self._next_writers(runstrats)
+
+ def _next_writers(self, runstrats):
+ if not self.runwriters:
+ return
+
+ if self.writers_csv:
+ wvalues = list()
+ for data in self.datas:
+ if data.csv:
+ wvalues.extend(data.getwritervalues())
+
+ for strat in runstrats:
+ wvalues.extend(strat.getwritervalues())
+
+ for writer in self.runwriters:
+ if writer.p.csv:
+ writer.addvalues(wvalues)
+
+ writer.next()
+
+ def _disable_runonce(self):
+ '''API for lineiterators to disable runonce (see HeikinAshi)'''
+ self._dorunonce = False
+
+ def _runnext(self, runstrats):
+ '''
+ Actual implementation of run in full next mode. All objects have its
+ ``next`` method invoke on each data arrival
+ '''
+ datas = sorted(self.datas,
+ key=lambda x: (x._timeframe, x._compression))
+ datas1 = datas[1:]
+ data0 = datas[0]
+ d0ret = True
+
+ rs = [i for i, x in enumerate(datas) if x.resampling]
+ rp = [i for i, x in enumerate(datas) if x.replaying]
+ rsonly = [i for i, x in enumerate(datas)
+ if x.resampling and not x.replaying]
+ onlyresample = len(datas) == len(rsonly)
+ noresample = not rsonly
+
+ clonecount = sum(d._clone for d in datas)
+ ldatas = len(datas)
+ ldatas_noclones = ldatas - clonecount
+ lastqcheck = False
+ dt0 = date2num(datetime.datetime.max) - 2 # default at max
+ while d0ret or d0ret is None:
+ # if any has live data in the buffer, no data will wait anything
+ newqcheck = not any(d.haslivedata() for d in datas)
+ if not newqcheck:
+ # If no data has reached the live status or all, wait for
+ # the next incoming data
+ livecount = sum(d._laststatus == d.LIVE for d in datas)
+ newqcheck = not livecount or livecount == ldatas_noclones
+
+ lastret = False
+ # Notify anything from the store even before moving datas
+ # because datas may not move due to an error reported by the store
+ self._storenotify()
+ if self._event_stop: # stop if requested
+ return
+ self._datanotify()
+ if self._event_stop: # stop if requested
+ return
+
+ # record starting time and tell feeds to discount the elapsed time
+ # from the qcheck value
+ drets = []
+ qstart = datetime.datetime.utcnow()
+ for d in datas:
+ qlapse = datetime.datetime.utcnow() - qstart
+ d.do_qcheck(newqcheck, qlapse.total_seconds())
+ drets.append(d.next(ticks=False))
+
+ d0ret = any((dret for dret in drets))
+ if not d0ret and any((dret is None for dret in drets)):
+ d0ret = None
+
+ if d0ret:
+ dts = []
+ for i, ret in enumerate(drets):
+ dts.append(datas[i].datetime[0] if ret else None)
+
+ # Get index to minimum datetime
+ if onlyresample or noresample:
+ dt0 = min((d for d in dts if d is not None))
+ else:
+ dt0 = min((d for i, d in enumerate(dts)
+ if d is not None and i not in rsonly))
+
+ dmaster = datas[dts.index(dt0)] # and timemaster
+ self._dtmaster = dmaster.num2date(dt0)
+ self._udtmaster = num2date(dt0)
+
+ # slen = len(runstrats[0])
+ # Try to get something for those that didn't return
+ for i, ret in enumerate(drets):
+ if ret: # dts already contains a valid datetime for this i
+ continue
+
+ # try to get a data by checking with a master
+ d = datas[i]
+ d._check(forcedata=dmaster) # check to force output
+ if d.next(datamaster=dmaster, ticks=False): # retry
+ dts[i] = d.datetime[0] # good -> store
+ # self._plotfillers2[i].append(slen) # mark as fill
+ else:
+ # self._plotfillers[i].append(slen) # mark as empty
+ pass
+
+ # make sure only those at dmaster level end up delivering
+ for i, dti in enumerate(dts):
+ if dti is not None:
+ di = datas[i]
+ rpi = False and di.replaying # to check behavior
+ if dti > dt0:
+ if not rpi: # must see all ticks ...
+ di.rewind() # cannot deliver yet
+ # self._plotfillers[i].append(slen)
+ elif not di.replaying:
+ # Replay forces tick fill, else force here
+ di._tick_fill(force=True)
+
+ # self._plotfillers2[i].append(slen) # mark as fill
+
+ elif d0ret is None:
+ # meant for things like live feeds which may not produce a bar
+ # at the moment but need the loop to run for notifications and
+ # getting resample and others to produce timely bars
+ for data in datas:
+ data._check()
+ else:
+ lastret = data0._last()
+ for data in datas1:
+ lastret += data._last(datamaster=data0)
+
+ if not lastret:
+ # Only go extra round if something was changed by "lasts"
+ break
+
+ # Datas may have generated a new notification after next
+ self._datanotify()
+ if self._event_stop: # stop if requested
+ return
+
+ if d0ret or lastret: # if any bar, check timers before broker
+ self._check_timers(runstrats, dt0, cheat=True)
+ if self.p.cheat_on_open:
+ for strat in runstrats:
+ strat._next_open()
+ if self._event_stop: # stop if requested
+ return
+
+ self._brokernotify()
+ if self._event_stop: # stop if requested
+ return
+
+ if d0ret or lastret: # bars produced by data or filters
+ self._check_timers(runstrats, dt0, cheat=False)
+ for strat in runstrats:
+ strat._next()
+ if self._event_stop: # stop if requested
+ return
+
+ self._next_writers(runstrats)
+
+ # Last notification chance before stopping
+ self._datanotify()
+ if self._event_stop: # stop if requested
+ return
+ self._storenotify()
+ if self._event_stop: # stop if requested
+ return
+
+ def _runonce(self, runstrats):
+ '''
+ Actual implementation of run in vector mode.
+
+ Strategies are still invoked on a pseudo-event mode in which ``next``
+ is called for each data arrival
+ '''
+ for strat in runstrats:
+ strat._once()
+ strat.reset() # strat called next by next - reset lines
+
+ # The default once for strategies does nothing and therefore
+ # has not moved forward all datas/indicators/observers that
+ # were homed before calling once, Hence no "need" to do it
+ # here again, because pointers are at 0
+ datas = sorted(self.datas,
+ key=lambda x: (x._timeframe, x._compression))
+
+ while True:
+ # Check next incoming date in the datas
+ dts = [d.advance_peek() for d in datas]
+ dt0 = min(dts)
+ if dt0 == float('inf'):
+ break # no data delivers anything
+
+ # Timemaster if needed be
+ # dmaster = datas[dts.index(dt0)] # and timemaster
+ slen = len(runstrats[0])
+ for i, dti in enumerate(dts):
+ if dti <= dt0:
+ datas[i].advance()
+ # self._plotfillers2[i].append(slen) # mark as fill
+ else:
+ # self._plotfillers[i].append(slen)
+ pass
+
+ self._check_timers(runstrats, dt0, cheat=True)
+
+ if self.p.cheat_on_open:
+ for strat in runstrats:
+ strat._oncepost_open()
+ if self._event_stop: # stop if requested
+ return
+
+ self._brokernotify()
+ if self._event_stop: # stop if requested
+ return
+
+ self._check_timers(runstrats, dt0, cheat=False)
+
+ for strat in runstrats:
+ strat._oncepost(dt0)
+ if self._event_stop: # stop if requested
+ return
+
+ self._next_writers(runstrats)
+
+ def _check_timers(self, runstrats, dt0, cheat=False):
+ timers = self._timers if not cheat else self._timerscheat
+ for t in timers:
+ if not t.check(dt0):
+ continue
+
+ t.params.owner.notify_timer(t, t.lastwhen, *t.args, **t.kwargs)
+
+ if t.params.strats:
+ for strat in runstrats:
+ strat.notify_timer(t, t.lastwhen, *t.args, **t.kwargs)
diff --git a/backtrader/source/backtrader/comminfo.py b/backtrader/source/backtrader/comminfo.py
new file mode 100644
index 0000000000000000000000000000000000000000..6bfd8e015e03c9b0b35c89b5cc2334b1a191d818
--- /dev/null
+++ b/backtrader/source/backtrader/comminfo.py
@@ -0,0 +1,328 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import datetime
+
+from .utils.py3 import with_metaclass
+from .metabase import MetaParams
+
+
+class CommInfoBase(with_metaclass(MetaParams)):
+ '''Base Class for the Commission Schemes.
+
+ Params:
+
+ - ``commission`` (def: ``0.0``): base commission value in percentage or
+ monetary units
+
+ - ``mult`` (def ``1.0``): multiplier applied to the asset for
+ value/profit
+
+ - ``margin`` (def: ``None``): amount of monetary units needed to
+ open/hold an operation. It only applies if the final ``_stocklike``
+ attribute in the class is set to ``False``
+
+ - ``automargin`` (def: ``False``): Used by the method ``get_margin``
+ to automatically calculate the margin/guarantees needed with the
+ following policy
+
+ - Use param ``margin`` if param ``automargin`` evaluates to ``False``
+
+ - Use param ``mult`` * ``price`` if ``automargin < 0``
+
+ - Use param ``automargin`` * ``price`` if ``automargin > 0``
+
+ - ``commtype`` (def: ``None``): Supported values are
+ ``CommInfoBase.COMM_PERC`` (commission to be understood as %) and
+ ``CommInfoBase.COMM_FIXED`` (commission to be understood as monetary
+ units)
+
+ The default value of ``None`` is a supported value to retain
+ compatibility with the legacy ``CommissionInfo`` object. If
+ ``commtype`` is set to None, then the following applies:
+
+ - ``margin`` is ``None``: Internal ``_commtype`` is set to
+ ``COMM_PERC`` and ``_stocklike`` is set to ``True`` (Operating
+ %-wise with Stocks)
+
+ - ``margin`` is not ``None``: ``_commtype`` set to ``COMM_FIXED`` and
+ ``_stocklike`` set to ``False`` (Operating with fixed rount-trip
+ commission with Futures)
+
+ If this param is set to something else than ``None``, then it will be
+ passed to the internal ``_commtype`` attribute and the same will be
+ done with the param ``stocklike`` and the internal attribute
+ ``_stocklike``
+
+ - ``stocklike`` (def: ``False``): Indicates if the instrument is
+ Stock-like or Futures-like (see the ``commtype`` discussion above)
+
+ - ``percabs`` (def: ``False``): when ``commtype`` is set to COMM_PERC,
+ whether the parameter ``commission`` has to be understood as XX% or
+ 0.XX
+
+ If this param is ``True``: 0.XX
+ If this param is ``False``: XX%
+
+ - ``interest`` (def: ``0.0``)
+
+ If this is non-zero, this is the yearly interest charged for holding a
+ short selling position. This is mostly meant for stock short-selling
+
+ The formula: ``days * price * abs(size) * (interest / 365)``
+
+ It must be specified in absolute terms: 0.05 -> 5%
+
+ .. note:: the behavior can be changed by overriding the method:
+ ``_get_credit_interest``
+
+ - ``interest_long`` (def: ``False``)
+
+ Some products like ETFs get charged on interest for short and long
+ positions. If ths is ``True`` and ``interest`` is non-zero the interest
+ will be charged on both directions
+
+ - ``leverage`` (def: ``1.0``)
+
+ Amount of leverage for the asset with regards to the needed cash
+
+ Attributes:
+
+ - ``_stocklike``: Final value to use for Stock-like/Futures-like behavior
+ - ``_commtype``: Final value to use for PERC vs FIXED commissions
+
+ This two are used internally instead of the declared params to enable the
+ compatibility check described above for the legacy ``CommissionInfo``
+ object
+
+ '''
+
+ COMM_PERC, COMM_FIXED = range(2)
+
+ params = (
+ ('commission', 0.0), ('mult', 1.0), ('margin', None),
+ ('commtype', None),
+ ('stocklike', False),
+ ('percabs', False),
+ ('interest', 0.0),
+ ('interest_long', False),
+ ('leverage', 1.0),
+ ('automargin', False),
+ )
+
+ def __init__(self):
+ super(CommInfoBase, self).__init__()
+
+ self._stocklike = self.p.stocklike
+ self._commtype = self.p.commtype
+
+ # The intial block checks for the behavior of the original
+ # CommissionInfo in which the commission scheme (perc/fixed) was
+ # determined by parameter "margin" evaluating to False/True
+ # If the parameter "commtype" is None, this behavior is emulated
+ # else, the parameter values are used
+
+ if self._commtype is None: # original CommissionInfo behavior applies
+ if self.p.margin:
+ self._stocklike = False
+ self._commtype = self.COMM_FIXED
+ else:
+ self._stocklike = True
+ self._commtype = self.COMM_PERC
+
+ if not self._stocklike and not self.p.margin:
+ self.p.margin = 1.0 # avoid having None/0
+
+ if self._commtype == self.COMM_PERC and not self.p.percabs:
+ self.p.commission /= 100.0
+
+ self._creditrate = self.p.interest / 365.0
+
+ @property
+ def margin(self):
+ return self.p.margin
+
+ @property
+ def stocklike(self):
+ return self._stocklike
+
+ def get_margin(self, price):
+ '''Returns the actual margin/guarantees needed for a single item of the
+ asset at the given price. The default implementation has this policy:
+
+ - Use param ``margin`` if param ``automargin`` evaluates to ``False``
+
+ - Use param ``mult`` * ``price`` if ``automargin < 0``
+
+ - Use param ``automargin`` * ``price`` if ``automargin > 0``
+ '''
+ if not self.p.automargin:
+ return self.p.margin
+
+ elif self.p.automargin < 0:
+ return price * self.p.mult
+
+ return price * self.p.automargin # int/float expected
+
+ def get_leverage(self):
+
+ '''Returns the level of leverage allowed for this comission scheme'''
+ return self.p.leverage
+
+ def getsize(self, price, cash):
+ '''Returns the needed size to meet a cash operation at a given price'''
+ if not self._stocklike:
+ return int(self.p.leverage * (cash // self.get_margin(price)))
+
+ return int(self.p.leverage * (cash // price))
+
+ def getoperationcost(self, size, price):
+ '''Returns the needed amount of cash an operation would cost'''
+ if not self._stocklike:
+ return abs(size) * self.get_margin(price)
+
+ return abs(size) * price
+
+ def getvaluesize(self, size, price):
+ '''Returns the value of size for given a price. For future-like
+ objects it is fixed at size * margin'''
+ if not self._stocklike:
+ return abs(size) * self.get_margin(price)
+
+ return size * price
+
+ def getvalue(self, position, price):
+ '''Returns the value of a position given a price. For future-like
+ objects it is fixed at size * margin'''
+ if not self._stocklike:
+ return abs(position.size) * self.get_margin(price)
+
+ size = position.size
+ if size >= 0:
+ return size * price
+
+ # With stocks, a short position is worth more as the price goes down
+ value = position.price * size # original value
+ value += (position.price - price) * size # increased value
+ return value
+
+ def _getcommission(self, size, price, pseudoexec):
+ '''Calculates the commission of an operation at a given price
+
+ pseudoexec: if True the operation has not yet been executed
+ '''
+ if self._commtype == self.COMM_PERC:
+ return abs(size) * self.p.commission * price
+
+ return abs(size) * self.p.commission
+
+ def getcommission(self, size, price):
+ '''Calculates the commission of an operation at a given price
+ '''
+ return self._getcommission(size, price, pseudoexec=True)
+
+ def confirmexec(self, size, price):
+ return self._getcommission(size, price, pseudoexec=False)
+
+ def profitandloss(self, size, price, newprice):
+ '''Return actual profit and loss a position has'''
+ return size * (newprice - price) * self.p.mult
+
+ def cashadjust(self, size, price, newprice):
+ '''Calculates cash adjustment for a given price difference'''
+ if not self._stocklike:
+ return size * (newprice - price) * self.p.mult
+
+ return 0.0
+
+ def get_credit_interest(self, data, pos, dt):
+ '''Calculates the credit due for short selling or product specific'''
+ size, price = pos.size, pos.price
+
+ if size > 0 and not self.p.interest_long:
+ return 0.0 # long positions not charged
+
+ dt0 = dt.date()
+ dt1 = pos.datetime.date()
+
+ if dt0 <= dt1:
+ return 0.0
+
+ return self._get_credit_interest(data, size, price,
+ (dt0 - dt1).days, dt0, dt1)
+
+ def _get_credit_interest(self, data, size, price, days, dt0, dt1):
+ '''
+ This method returns the cost in terms of credit interest charged by
+ the broker.
+
+ In the case of ``size > 0`` this method will only be called if the
+ parameter to the class ``interest_long`` is ``True``
+
+ The formulat for the calculation of the credit interest rate is:
+
+ The formula: ``days * price * abs(size) * (interest / 365)``
+
+
+ Params:
+ - ``data``: data feed for which interest is charged
+
+ - ``size``: current position size. > 0 for long positions and < 0 for
+ short positions (this parameter will not be ``0``)
+
+ - ``price``: current position price
+
+ - ``days``: number of days elapsed since last credit calculation
+ (this is (dt0 - dt1).days)
+
+ - ``dt0``: (datetime.datetime) current datetime
+
+ - ``dt1``: (datetime.datetime) datetime of previous calculation
+
+ ``dt0`` and ``dt1`` are not used in the default implementation and are
+ provided as extra input for overridden methods
+ '''
+ return days * self._creditrate * abs(size) * price
+
+
+class CommissionInfo(CommInfoBase):
+ '''Base Class for the actual Commission Schemes.
+
+ CommInfoBase was created to keep suppor for the original, incomplete,
+ support provided by *backtrader*. New commission schemes derive from this
+ class which subclasses ``CommInfoBase``.
+
+ The default value of ``percabs`` is also changed to ``True``
+
+ Params:
+
+ - ``percabs`` (def: True): when ``commtype`` is set to COMM_PERC, whether
+ the parameter ``commission`` has to be understood as XX% or 0.XX
+
+ If this param is True: 0.XX
+ If this param is False: XX%
+
+ '''
+ params = (
+ ('percabs', True), # Original CommissionInfo took 0.xx for percentages
+ )
diff --git a/backtrader/source/backtrader/commissions/__init__.py b/backtrader/source/backtrader/commissions/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..209627eb6cd1b5f47df2310c906919ea4e6484a1
--- /dev/null
+++ b/backtrader/source/backtrader/commissions/__init__.py
@@ -0,0 +1,64 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from ..comminfo import CommInfoBase
+
+
+class CommInfo(CommInfoBase):
+ pass # clone of CommissionInfo but with xx% instead of 0.xx
+
+
+class CommInfo_Futures(CommInfoBase):
+ params = (
+ ('stocklike', False),
+ )
+
+
+class CommInfo_Futures_Perc(CommInfo_Futures):
+ params = (
+ ('commtype', CommInfoBase.COMM_PERC),
+ )
+
+
+class CommInfo_Futures_Fixed(CommInfo_Futures):
+ params = (
+ ('commtype', CommInfoBase.COMM_FIXED),
+ )
+
+
+class CommInfo_Stocks(CommInfoBase):
+ params = (
+ ('stocklike', True),
+ )
+
+
+class CommInfo_Stocks_Perc(CommInfo_Stocks):
+ params = (
+ ('commtype', CommInfoBase.COMM_PERC),
+ )
+
+
+class CommInfo_Stocks_Fixed(CommInfo_Stocks):
+ params = (
+ ('commtype', CommInfoBase.COMM_FIXED),
+ )
diff --git a/backtrader/source/backtrader/dataseries.py b/backtrader/source/backtrader/dataseries.py
new file mode 100644
index 0000000000000000000000000000000000000000..f35c170f4d202296847191b352930fe6730f85ed
--- /dev/null
+++ b/backtrader/source/backtrader/dataseries.py
@@ -0,0 +1,211 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import datetime as _datetime
+from datetime import datetime
+import inspect
+
+from .utils.py3 import range, with_metaclass
+from .lineseries import LineSeries
+from .utils import AutoOrderedDict, OrderedDict, date2num
+
+
+class TimeFrame(object):
+ (Ticks, MicroSeconds, Seconds, Minutes,
+ Days, Weeks, Months, Years, NoTimeFrame) = range(1, 10)
+
+ Names = ['', 'Ticks', 'MicroSeconds', 'Seconds', 'Minutes',
+ 'Days', 'Weeks', 'Months', 'Years', 'NoTimeFrame']
+
+ names = Names # support old naming convention
+
+ @classmethod
+ def getname(cls, tframe, compression=None):
+ tname = cls.Names[tframe]
+ if compression > 1 or tname == cls.Names[-1]:
+ return tname # for plural or 'NoTimeFrame' return plain entry
+
+ # return singular if compression is 1
+ return cls.Names[tframe][:-1]
+
+ @classmethod
+ def TFrame(cls, name):
+ return getattr(cls, name)
+
+ @classmethod
+ def TName(cls, tframe):
+ return cls.Names[tframe]
+
+
+class DataSeries(LineSeries):
+ plotinfo = dict(plot=True, plotind=True, plotylimited=True)
+
+ _name = ''
+ _compression = 1
+ _timeframe = TimeFrame.Days
+
+ Close, Low, High, Open, Volume, OpenInterest, DateTime = range(7)
+
+ LineOrder = [DateTime, Open, High, Low, Close, Volume, OpenInterest]
+
+ def getwriterheaders(self):
+ headers = [self._name, 'len']
+
+ for lo in self.LineOrder:
+ headers.append(self._getlinealias(lo))
+
+ morelines = self.getlinealiases()[len(self.LineOrder):]
+ headers.extend(morelines)
+
+ return headers
+
+ def getwritervalues(self):
+ l = len(self)
+ values = [self._name, l]
+
+ if l:
+ values.append(self.datetime.datetime(0))
+ for line in self.LineOrder[1:]:
+ values.append(self.lines[line][0])
+ for i in range(len(self.LineOrder), self.lines.size()):
+ values.append(self.lines[i][0])
+ else:
+ values.extend([''] * self.lines.size()) # no values yet
+
+ return values
+
+ def getwriterinfo(self):
+ # returns dictionary with information
+ info = OrderedDict()
+ info['Name'] = self._name
+ info['Timeframe'] = TimeFrame.TName(self._timeframe)
+ info['Compression'] = self._compression
+
+ return info
+
+
+class OHLC(DataSeries):
+ lines = ('close', 'low', 'high', 'open', 'volume', 'openinterest',)
+
+
+class OHLCDateTime(OHLC):
+ lines = (('datetime'),)
+
+
+class SimpleFilterWrapper(object):
+ '''Wrapper for filters added via .addfilter to turn them
+ into processors.
+
+ Filters are callables which
+
+ - Take a ``data`` as an argument
+ - Return False if the current bar has not triggered the filter
+ - Return True if the current bar must be filtered
+
+ The wrapper takes the return value and executes the bar removal
+ if needed be
+ '''
+ def __init__(self, data, ffilter, *args, **kwargs):
+ if inspect.isclass(ffilter):
+ ffilter = ffilter(data, *args, **kwargs)
+ args = []
+ kwargs = {}
+
+ self.ffilter = ffilter
+ self.args = args
+ self.kwargs = kwargs
+
+ def __call__(self, data):
+ if self.ffilter(data, *self.args, **self.kwargs):
+ data.backwards()
+ return True
+
+ return False
+
+
+class _Bar(AutoOrderedDict):
+ '''
+ This class is a placeholder for the values of the standard lines of a
+ DataBase class (from OHLCDateTime)
+
+ It inherits from AutoOrderedDict to be able to easily return the values as
+ an iterable and address the keys as attributes
+
+ Order of definition is important and must match that of the lines
+ definition in DataBase (which directly inherits from OHLCDateTime)
+ '''
+ replaying = False
+
+ # Without - 1 ... converting back to time will not work
+ # Need another -1 to support timezones which may move the time forward
+ MAXDATE = date2num(_datetime.datetime.max) - 2
+
+ def __init__(self, maxdate=False):
+ super(_Bar, self).__init__()
+ self.bstart(maxdate=maxdate)
+
+ def bstart(self, maxdate=False):
+ '''Initializes a bar to the default not-updated vaues'''
+ # Order is important: defined in DataSeries/OHLC/OHLCDateTime
+ self.close = float('NaN')
+ self.low = float('inf')
+ self.high = float('-inf')
+ self.open = float('NaN')
+ self.volume = 0.0
+ self.openinterest = 0.0
+ self.datetime = self.MAXDATE if maxdate else None
+
+ def isopen(self):
+ '''Returns if a bar has already been updated
+
+ Uses the fact that NaN is the value which is not equal to itself
+ and ``open`` is initialized to NaN
+ '''
+ o = self.open
+ return o == o # False if NaN, True in other cases
+
+ def bupdate(self, data, reopen=False):
+ '''Updates a bar with the values from data
+
+ Returns True if the update was the 1st on a bar (just opened)
+
+ Returns False otherwise
+ '''
+ if reopen:
+ self.bstart()
+
+ self.datetime = data.datetime[0]
+
+ self.high = max(self.high, data.high[0])
+ self.low = min(self.low, data.low[0])
+ self.close = data.close[0]
+
+ self.volume += data.volume[0]
+ self.openinterest = data.openinterest[0]
+
+ o = self.open
+ if reopen or not o == o:
+ self.open = data.open[0]
+ return True # just opened the bar
+
+ return False
diff --git a/backtrader/source/backtrader/errors.py b/backtrader/source/backtrader/errors.py
new file mode 100644
index 0000000000000000000000000000000000000000..5f3dcdb33c38beeecfb36048225d92a04931c631
--- /dev/null
+++ b/backtrader/source/backtrader/errors.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+__all__ = ['BacktraderError', 'StrategySkipError']
+
+
+class BacktraderError(Exception):
+ '''Base exception for all other exceptions'''
+ pass
+
+
+class StrategySkipError(BacktraderError):
+ '''Requests the platform to skip this strategy for backtesting. To be
+ raised during the initialization (``__init__``) phase of the instance'''
+ pass
+
+
+class ModuleImportError(BacktraderError):
+ '''Raised if a class requests a module to be present to work and it cannot
+ be imported'''
+ def __init__(self, message, *args):
+ super(ModuleImportError, self).__init__(message)
+ self.args = args
+
+
+class FromModuleImportError(ModuleImportError):
+ '''Raised if a class requests a module to be present to work and it cannot
+ be imported'''
+ def __init__(self, message, *args):
+ super(FromModuleImportError, self).__init__(message, *args)
diff --git a/backtrader/source/backtrader/feed.py b/backtrader/source/backtrader/feed.py
new file mode 100644
index 0000000000000000000000000000000000000000..84c6b2b8963d183df45be06e900528a9482d939a
--- /dev/null
+++ b/backtrader/source/backtrader/feed.py
@@ -0,0 +1,813 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+import datetime
+import inspect
+import io
+import os.path
+
+import backtrader as bt
+from backtrader import (date2num, num2date, time2num, TimeFrame, dataseries,
+ metabase)
+
+from backtrader.utils.py3 import with_metaclass, zip, range, string_types
+from backtrader.utils import tzparse
+from .dataseries import SimpleFilterWrapper
+from .resamplerfilter import Resampler, Replayer
+from .tradingcal import PandasMarketCalendar
+
+
+class MetaAbstractDataBase(dataseries.OHLCDateTime.__class__):
+ _indcol = dict()
+
+ def __init__(cls, name, bases, dct):
+ '''
+ Class has already been created ... register subclasses
+ '''
+ # Initialize the class
+ super(MetaAbstractDataBase, cls).__init__(name, bases, dct)
+
+ if not cls.aliased and \
+ name != 'DataBase' and not name.startswith('_'):
+ cls._indcol[name] = cls
+
+ def dopreinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaAbstractDataBase, cls).dopreinit(_obj, *args, **kwargs)
+
+ # Find the owner and store it
+ _obj._feed = metabase.findowner(_obj, FeedBase)
+
+ _obj.notifs = collections.deque() # store notifications for cerebro
+
+ _obj._dataname = _obj.p.dataname
+ _obj._name = ''
+ return _obj, args, kwargs
+
+ def dopostinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaAbstractDataBase, cls).dopostinit(_obj, *args, **kwargs)
+
+ # Either set by subclass or the parameter or use the dataname (ticker)
+ _obj._name = _obj._name or _obj.p.name
+ if not _obj._name and isinstance(_obj.p.dataname, string_types):
+ _obj._name = _obj.p.dataname
+ _obj._compression = _obj.p.compression
+ _obj._timeframe = _obj.p.timeframe
+
+ if isinstance(_obj.p.sessionstart, datetime.datetime):
+ _obj.p.sessionstart = _obj.p.sessionstart.time()
+
+ elif _obj.p.sessionstart is None:
+ _obj.p.sessionstart = datetime.time.min
+
+ if isinstance(_obj.p.sessionend, datetime.datetime):
+ _obj.p.sessionend = _obj.p.sessionend.time()
+
+ elif _obj.p.sessionend is None:
+ # remove 9 to avoid precision rounding errors
+ _obj.p.sessionend = datetime.time(23, 59, 59, 999990)
+
+ if isinstance(_obj.p.fromdate, datetime.date):
+ # push it to the end of the day, or else intraday
+ # values before the end of the day would be gone
+ if not hasattr(_obj.p.fromdate, 'hour'):
+ _obj.p.fromdate = datetime.datetime.combine(
+ _obj.p.fromdate, _obj.p.sessionstart)
+
+ if isinstance(_obj.p.todate, datetime.date):
+ # push it to the end of the day, or else intraday
+ # values before the end of the day would be gone
+ if not hasattr(_obj.p.todate, 'hour'):
+ _obj.p.todate = datetime.datetime.combine(
+ _obj.p.todate, _obj.p.sessionend)
+
+ _obj._barstack = collections.deque() # for filter operations
+ _obj._barstash = collections.deque() # for filter operations
+
+ _obj._filters = list()
+ _obj._ffilters = list()
+ for fp in _obj.p.filters:
+ if inspect.isclass(fp):
+ fp = fp(_obj)
+ if hasattr(fp, 'last'):
+ _obj._ffilters.append((fp, [], {}))
+
+ _obj._filters.append((fp, [], {}))
+
+ return _obj, args, kwargs
+
+
+class AbstractDataBase(with_metaclass(MetaAbstractDataBase,
+ dataseries.OHLCDateTime)):
+
+ params = (
+ ('dataname', None),
+ ('name', ''),
+ ('compression', 1),
+ ('timeframe', TimeFrame.Days),
+ ('fromdate', None),
+ ('todate', None),
+ ('sessionstart', None),
+ ('sessionend', None),
+ ('filters', []),
+ ('tz', None),
+ ('tzinput', None),
+ ('qcheck', 0.0), # timeout in seconds (float) to check for events
+ ('calendar', None),
+ )
+
+ (CONNECTED, DISCONNECTED, CONNBROKEN, DELAYED,
+ LIVE, NOTSUBSCRIBED, NOTSUPPORTED_TF, UNKNOWN) = range(8)
+
+ _NOTIFNAMES = [
+ 'CONNECTED', 'DISCONNECTED', 'CONNBROKEN', 'DELAYED',
+ 'LIVE', 'NOTSUBSCRIBED', 'NOTSUPPORTED_TIMEFRAME', 'UNKNOWN']
+
+ @classmethod
+ def _getstatusname(cls, status):
+ return cls._NOTIFNAMES[status]
+
+ _compensate = None
+ _feed = None
+ _store = None
+
+ _clone = False
+ _qcheck = 0.0
+
+ _tmoffset = datetime.timedelta()
+
+ # Set to non 0 if resampling/replaying
+ resampling = 0
+ replaying = 0
+
+ _started = False
+
+ def _start_finish(self):
+ # A live feed (for example) may have learnt something about the
+ # timezones after the start and that's why the date/time related
+ # parameters are converted at this late stage
+ # Get the output timezone (if any)
+ self._tz = self._gettz()
+ # Lines have already been create, set the tz
+ self.lines.datetime._settz(self._tz)
+
+ # This should probably be also called from an override-able method
+ self._tzinput = bt.utils.date.Localizer(self._gettzinput())
+
+ # Convert user input times to the output timezone (or min/max)
+ if self.p.fromdate is None:
+ self.fromdate = float('-inf')
+ else:
+ self.fromdate = self.date2num(self.p.fromdate)
+
+ if self.p.todate is None:
+ self.todate = float('inf')
+ else:
+ self.todate = self.date2num(self.p.todate)
+
+ # FIXME: These two are never used and could be removed
+ self.sessionstart = time2num(self.p.sessionstart)
+ self.sessionend = time2num(self.p.sessionend)
+
+ self._calendar = cal = self.p.calendar
+ if cal is None:
+ self._calendar = self._env._tradingcal
+ elif isinstance(cal, string_types):
+ self._calendar = PandasMarketCalendar(calendar=cal)
+
+ self._started = True
+
+ def _start(self):
+ self.start()
+
+ if not self._started:
+ self._start_finish()
+
+ def _timeoffset(self):
+ return self._tmoffset
+
+ def _getnexteos(self):
+ '''Returns the next eos using a trading calendar if available'''
+ if self._clone:
+ return self.data._getnexteos()
+
+ if not len(self):
+ return datetime.datetime.min, 0.0
+
+ dt = self.lines.datetime[0]
+ dtime = num2date(dt)
+ if self._calendar is None:
+ nexteos = datetime.datetime.combine(dtime, self.p.sessionend)
+ nextdteos = self.date2num(nexteos) # locl'ed -> utc-like
+ nexteos = num2date(nextdteos) # utc
+ while dtime > nexteos:
+ nexteos += datetime.timedelta(days=1) # already utc-like
+
+ nextdteos = date2num(nexteos) # -> utc-like
+
+ else:
+ # returns times in utc
+ _, nexteos = self._calendar.schedule(dtime, self._tz)
+ nextdteos = date2num(nexteos) # nextos is already utc
+
+ return nexteos, nextdteos
+
+ def _gettzinput(self):
+ '''Can be overriden by classes to return a timezone for input'''
+ return tzparse(self.p.tzinput)
+
+ def _gettz(self):
+ '''To be overriden by subclasses which may auto-calculate the
+ timezone'''
+ return tzparse(self.p.tz)
+
+ def date2num(self, dt):
+ if self._tz is not None:
+ return date2num(self._tz.localize(dt))
+
+ return date2num(dt)
+
+ def num2date(self, dt=None, tz=None, naive=True):
+ if dt is None:
+ return num2date(self.lines.datetime[0], tz or self._tz, naive)
+
+ return num2date(dt, tz or self._tz, naive)
+
+ def haslivedata(self):
+ return False # must be overriden for those that can
+
+ def do_qcheck(self, onoff, qlapse):
+ # if onoff is True the data will wait p.qcheck for incoming live data
+ # on its queue.
+ qwait = self.p.qcheck if onoff else 0.0
+ qwait = max(0.0, qwait - qlapse)
+ self._qcheck = qwait
+
+ def islive(self):
+ '''If this returns True, ``Cerebro`` will deactivate ``preload`` and
+ ``runonce`` because a live data source must be fetched tick by tick (or
+ bar by bar)'''
+ return False
+
+ def put_notification(self, status, *args, **kwargs):
+ '''Add arguments to notification queue'''
+ if self._laststatus != status:
+ self.notifs.append((status, args, kwargs))
+ self._laststatus = status
+
+ def get_notifications(self):
+ '''Return the pending "store" notifications'''
+ # The background thread could keep on adding notifications. The None
+ # mark allows to identify which is the last notification to deliver
+ self.notifs.append(None) # put a mark
+ notifs = list()
+ while True:
+ notif = self.notifs.popleft()
+ if notif is None: # mark is reached
+ break
+ notifs.append(notif)
+
+ return notifs
+
+ def getfeed(self):
+ return self._feed
+
+ def qbuffer(self, savemem=0, replaying=False):
+ extrasize = self.resampling or replaying
+ for line in self.lines:
+ line.qbuffer(savemem=savemem, extrasize=extrasize)
+
+ def start(self):
+ self._barstack = collections.deque()
+ self._barstash = collections.deque()
+ self._laststatus = self.CONNECTED
+
+ def stop(self):
+ pass
+
+ def clone(self, **kwargs):
+ return DataClone(dataname=self, **kwargs)
+
+ def copyas(self, _dataname, **kwargs):
+ d = DataClone(dataname=self, **kwargs)
+ d._dataname = _dataname
+ d._name = _dataname
+ return d
+
+ def setenvironment(self, env):
+ '''Keep a reference to the environment'''
+ self._env = env
+
+ def getenvironment(self):
+ return self._env
+
+ def addfilter_simple(self, f, *args, **kwargs):
+ fp = SimpleFilterWrapper(self, f, *args, **kwargs)
+ self._filters.append((fp, fp.args, fp.kwargs))
+
+ def addfilter(self, p, *args, **kwargs):
+ if inspect.isclass(p):
+ pobj = p(self, *args, **kwargs)
+ self._filters.append((pobj, [], {}))
+
+ if hasattr(pobj, 'last'):
+ self._ffilters.append((pobj, [], {}))
+
+ else:
+ self._filters.append((p, args, kwargs))
+
+ def compensate(self, other):
+ '''Call it to let the broker know that actions on this asset will
+ compensate open positions in another'''
+
+ self._compensate = other
+
+ def _tick_nullify(self):
+ # These are the updating prices in case the new bar is "updated"
+ # and the length doesn't change like if a replay is happening or
+ # a real-time data feed is in use and 1 minutes bars are being
+ # constructed with 5 seconds updates
+ for lalias in self.getlinealiases():
+ if lalias != 'datetime':
+ setattr(self, 'tick_' + lalias, None)
+
+ self.tick_last = None
+
+ def _tick_fill(self, force=False):
+ # If nothing filled the tick_xxx attributes, the bar is the tick
+ alias0 = self._getlinealias(0)
+ if force or getattr(self, 'tick_' + alias0, None) is None:
+ for lalias in self.getlinealiases():
+ if lalias != 'datetime':
+ setattr(self, 'tick_' + lalias,
+ getattr(self.lines, lalias)[0])
+
+ self.tick_last = getattr(self.lines, alias0)[0]
+
+ def advance_peek(self):
+ if len(self) < self.buflen():
+ return self.lines.datetime[1] # return the future
+
+ return float('inf') # max date else
+
+ def advance(self, size=1, datamaster=None, ticks=True):
+ if ticks:
+ self._tick_nullify()
+
+ # Need intercepting this call to support datas with
+ # different lengths (timeframes)
+ self.lines.advance(size)
+
+ if datamaster is not None:
+ if len(self) > self.buflen():
+ # if no bar can be delivered, fill with an empty bar
+ self.rewind()
+ self.lines.forward()
+ return
+
+ if self.lines.datetime[0] > datamaster.lines.datetime[0]:
+ self.lines.rewind()
+ else:
+ if ticks:
+ self._tick_fill()
+ elif len(self) < self.buflen():
+ # a resampler may have advance us past the last point
+ if ticks:
+ self._tick_fill()
+
+ def next(self, datamaster=None, ticks=True):
+
+ if len(self) >= self.buflen():
+ if ticks:
+ self._tick_nullify()
+
+ # not preloaded - request next bar
+ ret = self.load()
+ if not ret:
+ # if load cannot produce bars - forward the result
+ return ret
+
+ if datamaster is None:
+ # bar is there and no master ... return load's result
+ if ticks:
+ self._tick_fill()
+ return ret
+ else:
+ self.advance(ticks=ticks)
+
+ # a bar is "loaded" or was preloaded - index has been moved to it
+ if datamaster is not None:
+ # there is a time reference to check against
+ if self.lines.datetime[0] > datamaster.lines.datetime[0]:
+ # can't deliver new bar, too early, go back
+ self.rewind()
+ return False
+ else:
+ if ticks:
+ self._tick_fill()
+
+ else:
+ if ticks:
+ self._tick_fill()
+
+ # tell the world there is a bar (either the new or the previous
+ return True
+
+ def preload(self):
+ while self.load():
+ pass
+
+ self._last()
+ self.home()
+
+ def _last(self, datamaster=None):
+ # Last chance for filters to deliver something
+ ret = 0
+ for ff, fargs, fkwargs in self._ffilters:
+ ret += ff.last(self, *fargs, **fkwargs)
+
+ doticks = False
+ if datamaster is not None and self._barstack:
+ doticks = True
+
+ while self._fromstack(forward=True):
+ # consume bar(s) produced by "last"s - adding room
+ pass
+
+ if doticks:
+ self._tick_fill()
+
+ return bool(ret)
+
+ def _check(self, forcedata=None):
+ ret = 0
+ for ff, fargs, fkwargs in self._filters:
+ if not hasattr(ff, 'check'):
+ continue
+ ff.check(self, _forcedata=forcedata, *fargs, **fkwargs)
+
+ def load(self):
+ while True:
+ # move data pointer forward for new bar
+ self.forward()
+
+ if self._fromstack(): # bar is available
+ return True
+
+ if not self._fromstack(stash=True):
+ _loadret = self._load()
+ if not _loadret: # no bar use force to make sure in exactbars
+ # the pointer is undone this covers especially (but not
+ # uniquely) the case in which the last bar has been seen
+ # and a backwards would ruin pointer accounting in the
+ # "stop" method of the strategy
+ self.backwards(force=True) # undo data pointer
+
+ # return the actual returned value which may be None to
+ # signal no bar is available, but the data feed is not
+ # done. False means game over
+ return _loadret
+
+ # Get a reference to current loaded time
+ dt = self.lines.datetime[0]
+
+ # A bar has been loaded, adapt the time
+ if self._tzinput:
+ # Input has been converted at face value but it's not UTC in
+ # the input stream
+ dtime = num2date(dt) # get it in a naive datetime
+ # localize it
+ dtime = self._tzinput.localize(dtime) # pytz compatible-ized
+ self.lines.datetime[0] = dt = date2num(dtime) # keep UTC val
+
+ # Check standard date from/to filters
+ if dt < self.fromdate:
+ # discard loaded bar and carry on
+ self.backwards()
+ continue
+ if dt > self.todate:
+ # discard loaded bar and break out
+ self.backwards(force=True)
+ break
+
+ # Pass through filters
+ retff = False
+ for ff, fargs, fkwargs in self._filters:
+ # previous filter may have put things onto the stack
+ if self._barstack:
+ for i in range(len(self._barstack)):
+ self._fromstack(forward=True)
+ retff = ff(self, *fargs, **fkwargs)
+ else:
+ retff = ff(self, *fargs, **fkwargs)
+
+ if retff: # bar removed from systemn
+ break # out of the inner loop
+
+ if retff: # bar removed from system - loop to get new bar
+ continue # in the greater loop
+
+ # Checks let the bar through ... notify it
+ return True
+
+ # Out of the loop ... no more bars or past todate
+ return False
+
+ def _load(self):
+ return False
+
+ def _add2stack(self, bar, stash=False):
+ '''Saves given bar (list of values) to the stack for later retrieval'''
+ if not stash:
+ self._barstack.append(bar)
+ else:
+ self._barstash.append(bar)
+
+ def _save2stack(self, erase=False, force=False, stash=False):
+ '''Saves current bar to the bar stack for later retrieval
+
+ Parameter ``erase`` determines removal from the data stream
+ '''
+ bar = [line[0] for line in self.itersize()]
+ if not stash:
+ self._barstack.append(bar)
+ else:
+ self._barstash.append(bar)
+
+ if erase: # remove bar if requested
+ self.backwards(force=force)
+
+ def _updatebar(self, bar, forward=False, ago=0):
+ '''Load a value from the stack onto the lines to form the new bar
+
+ Returns True if values are present, False otherwise
+ '''
+ if forward:
+ self.forward()
+
+ for line, val in zip(self.itersize(), bar):
+ line[0 + ago] = val
+
+ def _fromstack(self, forward=False, stash=False):
+ '''Load a value from the stack onto the lines to form the new bar
+
+ Returns True if values are present, False otherwise
+ '''
+
+ coll = self._barstack if not stash else self._barstash
+
+ if coll:
+ if forward:
+ self.forward()
+
+ for line, val in zip(self.itersize(), coll.popleft()):
+ line[0] = val
+
+ return True
+
+ return False
+
+ def resample(self, **kwargs):
+ self.addfilter(Resampler, **kwargs)
+
+ def replay(self, **kwargs):
+ self.addfilter(Replayer, **kwargs)
+
+
+class DataBase(AbstractDataBase):
+ pass
+
+
+class FeedBase(with_metaclass(metabase.MetaParams, object)):
+ params = () + DataBase.params._gettuple()
+
+ def __init__(self):
+ self.datas = list()
+
+ def start(self):
+ for data in self.datas:
+ data.start()
+
+ def stop(self):
+ for data in self.datas:
+ data.stop()
+
+ def getdata(self, dataname, name=None, **kwargs):
+ for pname, pvalue in self.p._getitems():
+ kwargs.setdefault(pname, getattr(self.p, pname))
+
+ kwargs['dataname'] = dataname
+ data = self._getdata(**kwargs)
+
+ data._name = name
+
+ self.datas.append(data)
+ return data
+
+ def _getdata(self, dataname, **kwargs):
+ for pname, pvalue in self.p._getitems():
+ kwargs.setdefault(pname, getattr(self.p, pname))
+
+ kwargs['dataname'] = dataname
+ return self.DataCls(**kwargs)
+
+
+class MetaCSVDataBase(DataBase.__class__):
+ def dopostinit(cls, _obj, *args, **kwargs):
+ # Before going to the base class to make sure it overrides the default
+ if not _obj.p.name and not _obj._name:
+ _obj._name, _ = os.path.splitext(os.path.basename(_obj.p.dataname))
+
+ _obj, args, kwargs = \
+ super(MetaCSVDataBase, cls).dopostinit(_obj, *args, **kwargs)
+
+ return _obj, args, kwargs
+
+
+class CSVDataBase(with_metaclass(MetaCSVDataBase, DataBase)):
+ '''
+ Base class for classes implementing CSV DataFeeds
+
+ The class takes care of opening the file, reading the lines and
+ tokenizing them.
+
+ Subclasses do only need to override:
+
+ - _loadline(tokens)
+
+ The return value of ``_loadline`` (True/False) will be the return value
+ of ``_load`` which has been overriden by this base class
+ '''
+
+ f = None
+ params = (('headers', True), ('separator', ','),)
+
+ def start(self):
+ super(CSVDataBase, self).start()
+
+ if self.f is None:
+ if hasattr(self.p.dataname, 'readline'):
+ self.f = self.p.dataname
+ else:
+ # Let an exception propagate to let the caller know
+ self.f = io.open(self.p.dataname, 'r')
+
+ if self.p.headers:
+ self.f.readline() # skip the headers
+
+ self.separator = self.p.separator
+
+ def stop(self):
+ super(CSVDataBase, self).stop()
+ if self.f is not None:
+ self.f.close()
+ self.f = None
+
+ def preload(self):
+ while self.load():
+ pass
+
+ self._last()
+ self.home()
+
+ # preloaded - no need to keep the object around - breaks multip in 3.x
+ self.f.close()
+ self.f = None
+
+ def _load(self):
+ if self.f is None:
+ return False
+
+ # Let an exception propagate to let the caller know
+ line = self.f.readline()
+
+ if not line:
+ return False
+
+ line = line.rstrip('\n')
+ linetokens = line.split(self.separator)
+ return self._loadline(linetokens)
+
+ def _getnextline(self):
+ if self.f is None:
+ return None
+
+ # Let an exception propagate to let the caller know
+ line = self.f.readline()
+
+ if not line:
+ return None
+
+ line = line.rstrip('\n')
+ linetokens = line.split(self.separator)
+ return linetokens
+
+
+class CSVFeedBase(FeedBase):
+ params = (('basepath', ''),) + CSVDataBase.params._gettuple()
+
+ def _getdata(self, dataname, **kwargs):
+ return self.DataCls(dataname=self.p.basepath + dataname,
+ **self.p._getkwargs())
+
+
+class DataClone(AbstractDataBase):
+ _clone = True
+
+ def __init__(self):
+ self.data = self.p.dataname
+ self._dataname = self.data._dataname
+
+ # Copy date/session parameters
+ self.p.fromdate = self.p.fromdate
+ self.p.todate = self.p.todate
+ self.p.sessionstart = self.data.p.sessionstart
+ self.p.sessionend = self.data.p.sessionend
+
+ self.p.timeframe = self.data.p.timeframe
+ self.p.compression = self.data.p.compression
+
+ def _start(self):
+ # redefine to copy data bits from guest data
+ self.start()
+
+ # Copy tz infos
+ self._tz = self.data._tz
+ self.lines.datetime._settz(self._tz)
+
+ self._calendar = self.data._calendar
+
+ # input has already been converted by guest data
+ self._tzinput = None # no need to further converr
+
+ # Copy dates/session infos
+ self.fromdate = self.data.fromdate
+ self.todate = self.data.todate
+
+ # FIXME: if removed from guest, remove here too
+ self.sessionstart = self.data.sessionstart
+ self.sessionend = self.data.sessionend
+
+ def start(self):
+ super(DataClone, self).start()
+ self._dlen = 0
+ self._preloading = False
+
+ def preload(self):
+ self._preloading = True
+ super(DataClone, self).preload()
+ self.data.home() # preloading data was pushed forward
+ self._preloading = False
+
+ def _load(self):
+ # assumption: the data is in the system
+ # simply copy the lines
+ if self._preloading:
+ # data is preloaded, we are preloading too, can move
+ # forward until have full bar or data source is exhausted
+ self.data.advance()
+ if len(self.data) > self.data.buflen():
+ return False
+
+ for line, dline in zip(self.lines, self.data.lines):
+ line[0] = dline[0]
+
+ return True
+
+ # Not preloading
+ if not (len(self.data) > self._dlen):
+ # Data not beyond last seen bar
+ return False
+
+ self._dlen += 1
+
+ for line, dline in zip(self.lines, self.data.lines):
+ line[0] = dline[0]
+
+ return True
+
+ def advance(self, size=1, datamaster=None, ticks=True):
+ self._dlen += size
+ super(DataClone, self).advance(size, datamaster, ticks=ticks)
diff --git a/backtrader/source/backtrader/feeds/__init__.py b/backtrader/source/backtrader/feeds/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8054715dc9ae19c5700de67fe659b42bdd06c266
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/__init__.py
@@ -0,0 +1,54 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from .csvgeneric import *
+from .btcsv import *
+from .vchartcsv import *
+from .vchart import *
+from .yahoo import *
+from .quandl import *
+from .sierrachart import *
+from .mt4csv import *
+from .pandafeed import *
+from .influxfeed import *
+try:
+ from .ibdata import *
+except ImportError:
+ pass # The user may not have ibpy installed
+
+try:
+ from .vcdata import *
+except ImportError:
+ pass # The user may not have something installed
+
+try:
+ from .oanda import OandaData
+except ImportError:
+ pass # The user may not have something installed
+
+
+from .vchartfile import VChartFile
+
+from .rollover import RollOver
+from .chainer import Chainer
diff --git a/backtrader/source/backtrader/feeds/blaze.py b/backtrader/source/backtrader/feeds/blaze.py
new file mode 100644
index 0000000000000000000000000000000000000000..5496e50b815974a06bf158950f0e95d9cbe9fef8
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/blaze.py
@@ -0,0 +1,94 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from backtrader import date2num
+import backtrader.feed as feed
+
+
+class BlazeData(feed.DataBase):
+ '''
+ Support for `Blaze `_ ``Data`` objects.
+
+ Only numeric indices to columns are supported.
+
+ Note:
+
+ - The ``dataname`` parameter is a blaze ``Data`` object
+
+ - A negative value in any of the parameters for the Data lines
+ indicates it's not present in the DataFrame
+ it is
+ '''
+
+ params = (
+ # datetime must be present
+ ('datetime', 0),
+ # pass -1 for any of the following to indicate absence
+ ('open', 1),
+ ('high', 2),
+ ('low', 3),
+ ('close', 4),
+ ('volume', 5),
+ ('openinterest', 6),
+ )
+
+ datafields = [
+ 'datetime', 'open', 'high', 'low', 'close', 'volume', 'openinterest'
+ ]
+
+ def start(self):
+ super(BlazeData, self).start()
+
+ # reset the iterator on each start
+ self._rows = iter(self.p.dataname)
+
+ def _load(self):
+ try:
+ row = next(self._rows)
+ except StopIteration:
+ return False
+
+ # Set the standard datafields - except for datetime
+ for datafield in self.datafields[1:]:
+ # get the column index
+ colidx = getattr(self.params, datafield)
+
+ if colidx < 0:
+ # column not present -- skip
+ continue
+
+ # get the line to be set
+ line = getattr(self.lines, datafield)
+ line[0] = row[colidx]
+
+ # datetime - assumed blaze always serves a native datetime.datetime
+ colidx = getattr(self.params, self.datafields[0])
+ dt = row[colidx]
+ dtnum = date2num(dt)
+
+ # get the line to be set
+ line = getattr(self.lines, self.datafields[0])
+ line[0] = dtnum
+
+ # Done ... return
+ return True
diff --git a/backtrader/source/backtrader/feeds/btcsv.py b/backtrader/source/backtrader/feeds/btcsv.py
new file mode 100644
index 0000000000000000000000000000000000000000..1d00e0745a1e6e6294a74f17abdf68e4f2f0d861
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/btcsv.py
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from datetime import date, datetime, time
+
+from .. import feed
+from ..utils import date2num
+
+
+class BacktraderCSVData(feed.CSVDataBase):
+ '''
+ Parses a self-defined CSV Data used for testing.
+
+ Specific parameters:
+
+ - ``dataname``: The filename to parse or a file-like object
+ '''
+
+ def _loadline(self, linetokens):
+ itoken = iter(linetokens)
+
+ dttxt = next(itoken) # Format is YYYY-MM-DD - skip char 4 and 7
+ dt = date(int(dttxt[0:4]), int(dttxt[5:7]), int(dttxt[8:10]))
+
+ if len(linetokens) == 8:
+ tmtxt = next(itoken) # Format if present HH:MM:SS, skip 3 and 6
+ tm = time(int(tmtxt[0:2]), int(tmtxt[3:5]), int(tmtxt[6:8]))
+ else:
+ tm = self.p.sessionend # end of the session parameter
+
+ self.lines.datetime[0] = date2num(datetime.combine(dt, tm))
+ self.lines.open[0] = float(next(itoken))
+ self.lines.high[0] = float(next(itoken))
+ self.lines.low[0] = float(next(itoken))
+ self.lines.close[0] = float(next(itoken))
+ self.lines.volume[0] = float(next(itoken))
+ self.lines.openinterest[0] = float(next(itoken))
+
+ return True
+
+
+class BacktraderCSV(feed.CSVFeedBase):
+ DataCls = BacktraderCSVData
diff --git a/backtrader/source/backtrader/feeds/chainer.py b/backtrader/source/backtrader/feeds/chainer.py
new file mode 100644
index 0000000000000000000000000000000000000000..9cce29df9383e785c1615409799d8a30c791a822
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/chainer.py
@@ -0,0 +1,105 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from datetime import datetime
+
+import backtrader as bt
+from backtrader.utils.py3 import range
+
+
+class MetaChainer(bt.DataBase.__class__):
+ def __init__(cls, name, bases, dct):
+ '''Class has already been created ... register'''
+ # Initialize the class
+ super(MetaChainer, cls).__init__(name, bases, dct)
+
+ def donew(cls, *args, **kwargs):
+ '''Intercept const. to copy timeframe/compression from 1st data'''
+ # Create the object and set the params in place
+ _obj, args, kwargs = super(MetaChainer, cls).donew(*args, **kwargs)
+
+ if args:
+ _obj.p.timeframe = args[0]._timeframe
+ _obj.p.compression = args[0]._compression
+
+ return _obj, args, kwargs
+
+
+class Chainer(bt.with_metaclass(MetaChainer, bt.DataBase)):
+ '''Class that chains datas'''
+
+ def islive(self):
+ '''Returns ``True`` to notify ``Cerebro`` that preloading and runonce
+ should be deactivated'''
+ return True
+
+ def __init__(self, *args):
+ self._args = args
+
+ def start(self):
+ super(Chainer, self).start()
+ for d in self._args:
+ d.setenvironment(self._env)
+ d._start()
+
+ # put the references in a separate list to have pops
+ self._ds = list(self._args)
+ self._d = self._ds.pop(0) if self._ds else None
+ self._lastdt = datetime.min
+
+ def stop(self):
+ super(Chainer, self).stop()
+ for d in self._args:
+ d.stop()
+
+ def get_notifications(self):
+ return [] if self._d is None else self._d.get_notifications()
+
+ def _gettz(self):
+ '''To be overriden by subclasses which may auto-calculate the
+ timezone'''
+ if self._args:
+ return self._args[0]._gettz()
+ return bt.utils.date.Localizer(self.p.tz)
+
+ def _load(self):
+ while self._d is not None:
+ if not self._d.next(): # no values from current data source
+ self._d = self._ds.pop(0) if self._ds else None
+ continue
+
+ # Cannot deliver a date equal or less than an alredy delivered
+ dt = self._d.datetime.datetime()
+ if dt <= self._lastdt:
+ continue
+
+ self._lastdt = dt
+
+ for i in range(self._d.size()):
+ self.lines[i][0] = self._d.lines[i][0]
+
+ return True
+
+ # Out of the loop -> self._d is None, no data feed to return from
+ return False
diff --git a/backtrader/source/backtrader/feeds/csvgeneric.py b/backtrader/source/backtrader/feeds/csvgeneric.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc6a30d0ca3770a0a608eadc7817ebf042f95443
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/csvgeneric.py
@@ -0,0 +1,162 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from datetime import datetime
+import itertools
+
+from .. import feed, TimeFrame
+from ..utils import date2num
+from ..utils.py3 import integer_types, string_types
+
+
+class GenericCSVData(feed.CSVDataBase):
+ '''Parses a CSV file according to the order and field presence defined by the
+ parameters
+
+ Specific parameters (or specific meaning):
+
+ - ``dataname``: The filename to parse or a file-like object
+
+ - The lines parameters (datetime, open, high ...) take numeric values
+
+ A value of -1 indicates absence of that field in the CSV source
+
+ - If ``time`` is present (parameter time >=0) the source contains
+ separated fields for date and time, which will be combined
+
+ - ``nullvalue``
+
+ Value that will be used if a value which should be there is missing
+ (the CSV field is empty)
+
+ - ``dtformat``: Format used to parse the datetime CSV field. See the
+ python strptime/strftime documentation for the format.
+
+ If a numeric value is specified, it will be interpreted as follows
+
+ - ``1``: The value is a Unix timestamp of type ``int`` representing
+ the number of seconds since Jan 1st, 1970
+
+ - ``2``: The value is a Unix timestamp of type ``float``
+
+ If a **callable** is passed
+
+ - it will accept a string and return a `datetime.datetime` python
+ instance
+
+ - ``tmformat``: Format used to parse the time CSV field if "present"
+ (the default for the "time" CSV field is not to be present)
+
+ '''
+
+ params = (
+ ('nullvalue', float('NaN')),
+ ('dtformat', '%Y-%m-%d %H:%M:%S'),
+ ('tmformat', '%H:%M:%S'),
+
+ ('datetime', 0),
+ ('time', -1),
+ ('open', 1),
+ ('high', 2),
+ ('low', 3),
+ ('close', 4),
+ ('volume', 5),
+ ('openinterest', 6),
+ )
+
+ def start(self):
+ super(GenericCSVData, self).start()
+
+ self._dtstr = False
+ if isinstance(self.p.dtformat, string_types):
+ self._dtstr = True
+ elif isinstance(self.p.dtformat, integer_types):
+ idt = int(self.p.dtformat)
+ if idt == 1:
+ self._dtconvert = lambda x: datetime.utcfromtimestamp(int(x))
+ elif idt == 2:
+ self._dtconvert = lambda x: datetime.utcfromtimestamp(float(x))
+
+ else: # assume callable
+ self._dtconvert = self.p.dtformat
+
+ def _loadline(self, linetokens):
+ # Datetime needs special treatment
+ dtfield = linetokens[self.p.datetime]
+ if self._dtstr:
+ dtformat = self.p.dtformat
+
+ if self.p.time >= 0:
+ # add time value and format if it's in a separate field
+ dtfield += 'T' + linetokens[self.p.time]
+ dtformat += 'T' + self.p.tmformat
+
+ dt = datetime.strptime(dtfield, dtformat)
+ else:
+ dt = self._dtconvert(dtfield)
+
+ if self.p.timeframe >= TimeFrame.Days:
+ # check if the expected end of session is larger than parsed
+ if self._tzinput:
+ dtin = self._tzinput.localize(dt) # pytz compatible-ized
+ else:
+ dtin = dt
+
+ dtnum = date2num(dtin) # utc'ize
+
+ dteos = datetime.combine(dt.date(), self.p.sessionend)
+ dteosnum = self.date2num(dteos) # utc'ize
+
+ if dteosnum > dtnum:
+ self.lines.datetime[0] = dteosnum
+ else:
+ # Avoid reconversion if already converted dtin == dt
+ self.l.datetime[0] = date2num(dt) if self._tzinput else dtnum
+ else:
+ self.lines.datetime[0] = date2num(dt)
+
+ # The rest of the fields can be done with the same procedure
+ for linefield in (x for x in self.getlinealiases() if x != 'datetime'):
+ # Get the index created from the passed params
+ csvidx = getattr(self.params, linefield)
+
+ if csvidx is None or csvidx < 0:
+ # the field will not be present, assignt the "nullvalue"
+ csvfield = self.p.nullvalue
+ else:
+ # get it from the token
+ csvfield = linetokens[csvidx]
+
+ if csvfield == '':
+ # if empty ... assign the "nullvalue"
+ csvfield = self.p.nullvalue
+
+ # get the corresponding line reference and set the value
+ line = getattr(self.lines, linefield)
+ line[0] = float(float(csvfield))
+
+ return True
+
+
+class GenericCSV(feed.CSVFeedBase):
+ DataCls = GenericCSVData
diff --git a/backtrader/source/backtrader/feeds/ibdata.py b/backtrader/source/backtrader/feeds/ibdata.py
new file mode 100644
index 0000000000000000000000000000000000000000..66b012552c4b3963a27cda921a248d85f64f23be
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/ibdata.py
@@ -0,0 +1,704 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import datetime
+
+import backtrader as bt
+from backtrader.feed import DataBase
+from backtrader import TimeFrame, date2num, num2date
+from backtrader.utils.py3 import (integer_types, queue, string_types,
+ with_metaclass)
+from backtrader.metabase import MetaParams
+from backtrader.stores import ibstore
+
+
+class MetaIBData(DataBase.__class__):
+ def __init__(cls, name, bases, dct):
+ '''Class has already been created ... register'''
+ # Initialize the class
+ super(MetaIBData, cls).__init__(name, bases, dct)
+
+ # Register with the store
+ ibstore.IBStore.DataCls = cls
+
+
+class IBData(with_metaclass(MetaIBData, DataBase)):
+ '''Interactive Brokers Data Feed.
+
+ Supports the following contract specifications in parameter ``dataname``:
+
+ - TICKER # Stock type and SMART exchange
+ - TICKER-STK # Stock and SMART exchange
+ - TICKER-STK-EXCHANGE # Stock
+ - TICKER-STK-EXCHANGE-CURRENCY # Stock
+
+ - TICKER-CFD # CFD and SMART exchange
+ - TICKER-CFD-EXCHANGE # CFD
+ - TICKER-CDF-EXCHANGE-CURRENCY # Stock
+
+ - TICKER-IND-EXCHANGE # Index
+ - TICKER-IND-EXCHANGE-CURRENCY # Index
+
+ - TICKER-YYYYMM-EXCHANGE # Future
+ - TICKER-YYYYMM-EXCHANGE-CURRENCY # Future
+ - TICKER-YYYYMM-EXCHANGE-CURRENCY-MULT # Future
+ - TICKER-FUT-EXCHANGE-CURRENCY-YYYYMM-MULT # Future
+
+ - TICKER-YYYYMM-EXCHANGE-CURRENCY-STRIKE-RIGHT # FOP
+ - TICKER-YYYYMM-EXCHANGE-CURRENCY-STRIKE-RIGHT-MULT # FOP
+ - TICKER-FOP-EXCHANGE-CURRENCY-YYYYMM-STRIKE-RIGHT # FOP
+ - TICKER-FOP-EXCHANGE-CURRENCY-YYYYMM-STRIKE-RIGHT-MULT # FOP
+
+ - CUR1.CUR2-CASH-IDEALPRO # Forex
+
+ - TICKER-YYYYMMDD-EXCHANGE-CURRENCY-STRIKE-RIGHT # OPT
+ - TICKER-YYYYMMDD-EXCHANGE-CURRENCY-STRIKE-RIGHT-MULT # OPT
+ - TICKER-OPT-EXCHANGE-CURRENCY-YYYYMMDD-STRIKE-RIGHT # OPT
+ - TICKER-OPT-EXCHANGE-CURRENCY-YYYYMMDD-STRIKE-RIGHT-MULT # OPT
+
+ Params:
+
+ - ``sectype`` (default: ``STK``)
+
+ Default value to apply as *security type* if not provided in the
+ ``dataname`` specification
+
+ - ``exchange`` (default: ``SMART``)
+
+ Default value to apply as *exchange* if not provided in the
+ ``dataname`` specification
+
+ - ``currency`` (default: ``''``)
+
+ Default value to apply as *currency* if not provided in the
+ ``dataname`` specification
+
+ - ``historical`` (default: ``False``)
+
+ If set to ``True`` the data feed will stop after doing the first
+ download of data.
+
+ The standard data feed parameters ``fromdate`` and ``todate`` will be
+ used as reference.
+
+ The data feed will make multiple requests if the requested duration is
+ larger than the one allowed by IB given the timeframe/compression
+ chosen for the data.
+
+ - ``what`` (default: ``None``)
+
+ If ``None`` the default for different assets types will be used for
+ historical data requests:
+
+ - 'BID' for CASH assets
+ - 'TRADES' for any other
+
+ Use 'ASK' for the Ask quote of cash assets
+
+ Check the IB API docs if another value is wished
+
+ - ``rtbar`` (default: ``False``)
+
+ If ``True`` the ``5 Seconds Realtime bars`` provided by Interactive
+ Brokers will be used as the smalles tick. According to the
+ documentation they correspond to real-time values (once collated and
+ curated by IB)
+
+ If ``False`` then the ``RTVolume`` prices will be used, which are based
+ on receiving ticks. In the case of ``CASH`` assets (like for example
+ EUR.JPY) ``RTVolume`` will always be used and from it the ``bid`` price
+ (industry de-facto standard with IB according to the literature
+ scattered over the Internet)
+
+ Even if set to ``True``, if the data is resampled/kept to a
+ timeframe/compression below Seconds/5, no real time bars will be used,
+ because IB doesn't serve them below that level
+
+ - ``qcheck`` (default: ``0.5``)
+
+ Time in seconds to wake up if no data is received to give a chance to
+ resample/replay packets properly and pass notifications up the chain
+
+ - ``backfill_start`` (default: ``True``)
+
+ Perform backfilling at the start. The maximum possible historical data
+ will be fetched in a single request.
+
+ - ``backfill`` (default: ``True``)
+
+ Perform backfilling after a disconnection/reconnection cycle. The gap
+ duration will be used to download the smallest possible amount of data
+
+ - ``backfill_from`` (default: ``None``)
+
+ An additional data source can be passed to do an initial layer of
+ backfilling. Once the data source is depleted and if requested,
+ backfilling from IB will take place. This is ideally meant to backfill
+ from already stored sources like a file on disk, but not limited to.
+
+ - ``latethrough`` (default: ``False``)
+
+ If the data source is resampled/replayed, some ticks may come in too
+ late for the already delivered resampled/replayed bar. If this is
+ ``True`` those ticks will bet let through in any case.
+
+ Check the Resampler documentation to see who to take those ticks into
+ account.
+
+ This can happen especially if ``timeoffset`` is set to ``False`` in
+ the ``IBStore`` instance and the TWS server time is not in sync with
+ that of the local computer
+
+ - ``tradename`` (default: ``None``)
+ Useful for some specific cases like ``CFD`` in which prices are offered
+ by one asset and trading happens in a different onel
+
+ - SPY-STK-SMART-USD -> SP500 ETF (will be specified as ``dataname``)
+
+ - SPY-CFD-SMART-USD -> which is the corresponding CFD which offers not
+ price tracking but in this case will be the trading asset (specified
+ as ``tradename``)
+
+ The default values in the params are the to allow things like ```TICKER``,
+ to which the parameter ``sectype`` (default: ``STK``) and ``exchange``
+ (default: ``SMART``) are applied.
+
+ Some assets like ``AAPL`` need full specification including ``currency``
+ (default: '') whereas others like ``TWTR`` can be simply passed as it is.
+
+ - ``AAPL-STK-SMART-USD`` would be the full specification for dataname
+
+ Or else: ``IBData`` as ``IBData(dataname='AAPL', currency='USD')``
+ which uses the default values (``STK`` and ``SMART``) and overrides
+ the currency to be ``USD``
+ '''
+ params = (
+ ('sectype', 'STK'), # usual industry value
+ ('exchange', 'SMART'), # usual industry value
+ ('currency', ''),
+ ('rtbar', False), # use RealTime 5 seconds bars
+ ('historical', False), # only historical download
+ ('what', None), # historical - what to show
+ ('useRTH', False), # historical - download only Regular Trading Hours
+ ('qcheck', 0.5), # timeout in seconds (float) to check for events
+ ('backfill_start', True), # do backfilling at the start
+ ('backfill', True), # do backfilling when reconnecting
+ ('backfill_from', None), # additional data source to do backfill from
+ ('latethrough', False), # let late samples through
+ ('tradename', None), # use a different asset as order target
+ )
+
+ _store = ibstore.IBStore
+
+ # Minimum size supported by real-time bars
+ RTBAR_MINSIZE = (TimeFrame.Seconds, 5)
+
+ # States for the Finite State Machine in _load
+ _ST_FROM, _ST_START, _ST_LIVE, _ST_HISTORBACK, _ST_OVER = range(5)
+
+ def _timeoffset(self):
+ return self.ib.timeoffset()
+
+ def _gettz(self):
+ # If no object has been provided by the user and a timezone can be
+ # found via contractdtails, then try to get it from pytz, which may or
+ # may not be available.
+
+ # The timezone specifications returned by TWS seem to be abbreviations
+ # understood by pytz, but the full list which TWS may return is not
+ # documented and one of the abbreviations may fail
+ tzstr = isinstance(self.p.tz, string_types)
+ if self.p.tz is not None and not tzstr:
+ return bt.utils.date.Localizer(self.p.tz)
+
+ if self.contractdetails is None:
+ return None # nothing can be done
+
+ try:
+ import pytz # keep the import very local
+ except ImportError:
+ return None # nothing can be done
+
+ tzs = self.p.tz if tzstr else self.contractdetails.m_timeZoneId
+
+ if tzs == 'CST': # reported by TWS, not compatible with pytz. patch it
+ tzs = 'CST6CDT'
+
+ try:
+ tz = pytz.timezone(tzs)
+ except pytz.UnknownTimeZoneError:
+ return None # nothing can be done
+
+ # contractdetails there, import ok, timezone found, return it
+ return tz
+
+ def islive(self):
+ '''Returns ``True`` to notify ``Cerebro`` that preloading and runonce
+ should be deactivated'''
+ return not self.p.historical
+
+ def __init__(self, **kwargs):
+ self.ib = self._store(**kwargs)
+ self.precontract = self.parsecontract(self.p.dataname)
+ self.pretradecontract = self.parsecontract(self.p.tradename)
+
+ def setenvironment(self, env):
+ '''Receives an environment (cerebro) and passes it over to the store it
+ belongs to'''
+ super(IBData, self).setenvironment(env)
+ env.addstore(self.ib)
+
+ def parsecontract(self, dataname):
+ '''Parses dataname generates a default contract'''
+ # Set defaults for optional tokens in the ticker string
+ if dataname is None:
+ return None
+
+ exch = self.p.exchange
+ curr = self.p.currency
+ expiry = ''
+ strike = 0.0
+ right = ''
+ mult = ''
+
+ # split the ticker string
+ tokens = iter(dataname.split('-'))
+
+ # Symbol and security type are compulsory
+ symbol = next(tokens)
+ try:
+ sectype = next(tokens)
+ except StopIteration:
+ sectype = self.p.sectype
+
+ # security type can be an expiration date
+ if sectype.isdigit():
+ expiry = sectype # save the expiration ate
+
+ if len(sectype) == 6: # YYYYMM
+ sectype = 'FUT'
+ else: # Assume OPTIONS - YYYYMMDD
+ sectype = 'OPT'
+
+ if sectype == 'CASH': # need to address currency for Forex
+ symbol, curr = symbol.split('.')
+
+ # See if the optional tokens were provided
+ try:
+ exch = next(tokens) # on exception it will be the default
+ curr = next(tokens) # on exception it will be the default
+
+ if sectype == 'FUT':
+ if not expiry:
+ expiry = next(tokens)
+ mult = next(tokens)
+
+ # Try to see if this is FOP - Futures on OPTIONS
+ right = next(tokens)
+ # if still here this is a FOP and not a FUT
+ sectype = 'FOP'
+ strike, mult = float(mult), '' # assign to strike and void
+
+ mult = next(tokens) # try again to see if there is any
+
+ elif sectype == 'OPT':
+ if not expiry:
+ expiry = next(tokens)
+ strike = float(next(tokens)) # on exception - default
+ right = next(tokens) # on exception it will be the default
+
+ mult = next(tokens) # ?? no harm in any case
+
+ except StopIteration:
+ pass
+
+ # Make the initial contract
+ precon = self.ib.makecontract(
+ symbol=symbol, sectype=sectype, exch=exch, curr=curr,
+ expiry=expiry, strike=strike, right=right, mult=mult)
+
+ return precon
+
+ def start(self):
+ '''Starts the IB connecction and gets the real contract and
+ contractdetails if it exists'''
+ super(IBData, self).start()
+ # Kickstart store and get queue to wait on
+ self.qlive = self.ib.start(data=self)
+ self.qhist = None
+
+ self._usertvol = not self.p.rtbar
+ tfcomp = (self._timeframe, self._compression)
+ if tfcomp < self.RTBAR_MINSIZE:
+ # Requested timeframe/compression not supported by rtbars
+ self._usertvol = True
+
+ self.contract = None
+ self.contractdetails = None
+ self.tradecontract = None
+ self.tradecontractdetails = None
+
+ if self.p.backfill_from is not None:
+ self._state = self._ST_FROM
+ self.p.backfill_from.setenvironment(self._env)
+ self.p.backfill_from._start()
+ else:
+ self._state = self._ST_START # initial state for _load
+ self._statelivereconn = False # if reconnecting in live state
+ self._subcription_valid = False # subscription state
+ self._storedmsg = dict() # keep pending live message (under None)
+
+ if not self.ib.connected():
+ return
+
+ self.put_notification(self.CONNECTED)
+ # get real contract details with real conId (contractId)
+ cds = self.ib.getContractDetails(self.precontract, maxcount=1)
+ if cds is not None:
+ cdetails = cds[0]
+ self.contract = cdetails.contractDetails.m_summary
+ self.contractdetails = cdetails.contractDetails
+ else:
+ # no contract can be found (or many)
+ self.put_notification(self.DISCONNECTED)
+ return
+
+ if self.pretradecontract is None:
+ # no different trading asset - default to standard asset
+ self.tradecontract = self.contract
+ self.tradecontractdetails = self.contractdetails
+ else:
+ # different target asset (typical of some CDS products)
+ # use other set of details
+ cds = self.ib.getContractDetails(self.pretradecontract, maxcount=1)
+ if cds is not None:
+ cdetails = cds[0]
+ self.tradecontract = cdetails.contractDetails.m_summary
+ self.tradecontractdetails = cdetails.contractDetails
+ else:
+ # no contract can be found (or many)
+ self.put_notification(self.DISCONNECTED)
+ return
+
+ if self._state == self._ST_START:
+ self._start_finish() # to finish initialization
+ self._st_start()
+
+ def stop(self):
+ '''Stops and tells the store to stop'''
+ super(IBData, self).stop()
+ self.ib.stop()
+
+ def reqdata(self):
+ '''request real-time data. checks cash vs non-cash) and param useRT'''
+ if self.contract is None or self._subcription_valid:
+ return
+
+ if self._usertvol:
+ self.qlive = self.ib.reqMktData(self.contract, self.p.what)
+ else:
+ self.qlive = self.ib.reqRealTimeBars(self.contract)
+
+ self._subcription_valid = True
+ return self.qlive
+
+ def canceldata(self):
+ '''Cancels Market Data subscription, checking asset type and rtbar'''
+ if self.contract is None:
+ return
+
+ if self._usertvol:
+ self.ib.cancelMktData(self.qlive)
+ else:
+ self.ib.cancelRealTimeBars(self.qlive)
+
+ def haslivedata(self):
+ return bool(self._storedmsg or self.qlive)
+
+ def _load(self):
+ if self.contract is None or self._state == self._ST_OVER:
+ return False # nothing can be done
+
+ while True:
+ if self._state == self._ST_LIVE:
+ try:
+ msg = (self._storedmsg.pop(None, None) or
+ self.qlive.get(timeout=self._qcheck))
+ except queue.Empty:
+ if True:
+ return None
+
+ # Code invalidated until further checking is done
+ if not self._statelivereconn:
+ return None # indicate timeout situation
+
+ # Awaiting data and nothing came in - fake it up until now
+ dtend = self.num2date(date2num(datetime.datetime.utcnow()))
+ dtbegin = None
+ if len(self) > 1:
+ dtbegin = self.num2date(self.datetime[-1])
+
+ self.qhist = self.ib.reqHistoricalDataEx(
+ contract=self.contract,
+ enddate=dtend, begindate=dtbegin,
+ timeframe=self._timeframe,
+ compression=self._compression,
+ what=self.p.what, useRTH=self.p.useRTH, tz=self._tz,
+ sessionend=self.p.sessionend)
+
+ if self._laststatus != self.DELAYED:
+ self.put_notification(self.DELAYED)
+
+ self._state = self._ST_HISTORBACK
+
+ self._statelivereconn = False
+ continue # to reenter the loop and hit st_historback
+
+ if msg is None: # Conn broken during historical/backfilling
+ self._subcription_valid = False
+ self.put_notification(self.CONNBROKEN)
+ # Try to reconnect
+ if not self.ib.reconnect(resub=True):
+ self.put_notification(self.DISCONNECTED)
+ return False # failed
+
+ self._statelivereconn = self.p.backfill
+ continue
+
+ if msg == -354:
+ self.put_notification(self.NOTSUBSCRIBED)
+ return False
+
+ elif msg == -1100: # conn broken
+ # Tell to wait for a message to do a backfill
+ # self._state = self._ST_DISCONN
+ self._subcription_valid = False
+ self._statelivereconn = self.p.backfill
+ continue
+
+ elif msg == -1102: # conn broken/restored tickerId maintained
+ # The message may be duplicated
+ if not self._statelivereconn:
+ self._statelivereconn = self.p.backfill
+ continue
+
+ elif msg == -1101: # conn broken/restored tickerId gone
+ # The message may be duplicated
+ self._subcription_valid = False
+ if not self._statelivereconn:
+ self._statelivereconn = self.p.backfill
+ self.reqdata() # resubscribe
+ continue
+
+ elif msg == -10225: # Bust event occurred, current subscription is deactivated.
+ self._subcription_valid = False
+ if not self._statelivereconn:
+ self._statelivereconn = self.p.backfill
+ self.reqdata() # resubscribe
+ continue
+
+ elif isinstance(msg, integer_types):
+ # Unexpected notification for historical data skip it
+ # May be a "not connected not yet processed"
+ self.put_notification(self.UNKNOWN, msg)
+ continue
+
+ # Process the message according to expected return type
+ if not self._statelivereconn:
+ if self._laststatus != self.LIVE:
+ if self.qlive.qsize() <= 1: # very short live queue
+ self.put_notification(self.LIVE)
+
+ if self._usertvol:
+ ret = self._load_rtvolume(msg)
+ else:
+ ret = self._load_rtbar(msg)
+ if ret:
+ return True
+
+ # could not load bar ... go and get new one
+ continue
+
+ # Fall through to processing reconnect - try to backfill
+ self._storedmsg[None] = msg # keep the msg
+
+ # else do a backfill
+ if self._laststatus != self.DELAYED:
+ self.put_notification(self.DELAYED)
+
+ dtend = None
+ if len(self) > 1:
+ # len == 1 ... forwarded for the 1st time
+ # get begin date in utc-like format like msg.datetime
+ dtbegin = num2date(self.datetime[-1])
+ elif self.fromdate > float('-inf'):
+ dtbegin = num2date(self.fromdate)
+ else: # 1st bar and no begin set
+ # passing None to fetch max possible in 1 request
+ dtbegin = None
+
+ dtend = msg.datetime if self._usertvol else msg.time
+
+ self.qhist = self.ib.reqHistoricalDataEx(
+ contract=self.contract, enddate=dtend, begindate=dtbegin,
+ timeframe=self._timeframe, compression=self._compression,
+ what=self.p.what, useRTH=self.p.useRTH, tz=self._tz,
+ sessionend=self.p.sessionend)
+
+ self._state = self._ST_HISTORBACK
+ self._statelivereconn = False # no longer in live
+ continue
+
+ elif self._state == self._ST_HISTORBACK:
+ msg = self.qhist.get()
+ if msg is None: # Conn broken during historical/backfilling
+ # Situation not managed. Simply bail out
+ self._subcription_valid = False
+ self.put_notification(self.DISCONNECTED)
+ return False # error management cancelled the queue
+
+ elif msg == -354: # Data not subscribed
+ self._subcription_valid = False
+ self.put_notification(self.NOTSUBSCRIBED)
+ return False
+
+ elif msg == -420: # No permissions for the data
+ self._subcription_valid = False
+ self.put_notification(self.NOTSUBSCRIBED)
+ return False
+
+ elif isinstance(msg, integer_types):
+ # Unexpected notification for historical data skip it
+ # May be a "not connected not yet processed"
+ self.put_notification(self.UNKNOWN, msg)
+ continue
+
+ if msg.date is not None:
+ if self._load_rtbar(msg, hist=True):
+ return True # loading worked
+
+ # the date is from overlapping historical request
+ continue
+
+ # End of histdata
+ if self.p.historical: # only historical
+ self.put_notification(self.DISCONNECTED)
+ return False # end of historical
+
+ # Live is also wished - go for it
+ self._state = self._ST_LIVE
+ continue
+
+ elif self._state == self._ST_FROM:
+ if not self.p.backfill_from.next():
+ # additional data source is consumed
+ self._state = self._ST_START
+ continue
+
+ # copy lines of the same name
+ for alias in self.lines.getlinealiases():
+ lsrc = getattr(self.p.backfill_from.lines, alias)
+ ldst = getattr(self.lines, alias)
+
+ ldst[0] = lsrc[0]
+
+ return True
+
+ elif self._state == self._ST_START:
+ if not self._st_start():
+ return False
+
+ def _st_start(self):
+ if self.p.historical:
+ self.put_notification(self.DELAYED)
+ dtend = None
+ if self.todate < float('inf'):
+ dtend = num2date(self.todate)
+
+ dtbegin = None
+ if self.fromdate > float('-inf'):
+ dtbegin = num2date(self.fromdate)
+
+ self.qhist = self.ib.reqHistoricalDataEx(
+ contract=self.contract, enddate=dtend, begindate=dtbegin,
+ timeframe=self._timeframe, compression=self._compression,
+ what=self.p.what, useRTH=self.p.useRTH, tz=self._tz,
+ sessionend=self.p.sessionend)
+
+ self._state = self._ST_HISTORBACK
+ return True # continue before
+
+ # Live is requested
+ if not self.ib.reconnect(resub=True):
+ self.put_notification(self.DISCONNECTED)
+ self._state = self._ST_OVER
+ return False # failed - was so
+
+ self._statelivereconn = self.p.backfill_start
+ if self.p.backfill_start:
+ self.put_notification(self.DELAYED)
+
+ self._state = self._ST_LIVE
+ return True # no return before - implicit continue
+
+ def _load_rtbar(self, rtbar, hist=False):
+ # A complete 5 second bar made of real-time ticks is delivered and
+ # contains open/high/low/close/volume prices
+ # The historical data has the same data but with 'date' instead of
+ # 'time' for datetime
+ dt = date2num(rtbar.time if not hist else rtbar.date)
+ if dt < self.lines.datetime[-1] and not self.p.latethrough:
+ return False # cannot deliver earlier than already delivered
+
+ self.lines.datetime[0] = dt
+ # Put the tick into the bar
+ self.lines.open[0] = rtbar.open
+ self.lines.high[0] = rtbar.high
+ self.lines.low[0] = rtbar.low
+ self.lines.close[0] = rtbar.close
+ self.lines.volume[0] = rtbar.volume
+ self.lines.openinterest[0] = 0
+
+ return True
+
+ def _load_rtvolume(self, rtvol):
+ # A single tick is delivered and is therefore used for the entire set
+ # of prices. Ideally the
+ # contains open/high/low/close/volume prices
+ # Datetime transformation
+ dt = date2num(rtvol.datetime)
+ if dt < self.lines.datetime[-1] and not self.p.latethrough:
+ return False # cannot deliver earlier than already delivered
+
+ self.lines.datetime[0] = dt
+
+ # Put the tick into the bar
+ tick = rtvol.price
+ self.lines.open[0] = tick
+ self.lines.high[0] = tick
+ self.lines.low[0] = tick
+ self.lines.close[0] = tick
+ self.lines.volume[0] = rtvol.size
+ self.lines.openinterest[0] = 0
+
+ return True
diff --git a/backtrader/source/backtrader/feeds/influxfeed.py b/backtrader/source/backtrader/feeds/influxfeed.py
new file mode 100644
index 0000000000000000000000000000000000000000..7f047b8ae2a82f612386e9226e1ac95d34f824c7
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/influxfeed.py
@@ -0,0 +1,115 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+import backtrader.feed as feed
+from ..utils import date2num
+import datetime as dt
+
+TIMEFRAMES = dict(
+ (
+ (bt.TimeFrame.Seconds, 's'),
+ (bt.TimeFrame.Minutes, 'm'),
+ (bt.TimeFrame.Days, 'd'),
+ (bt.TimeFrame.Weeks, 'w'),
+ (bt.TimeFrame.Months, 'm'),
+ (bt.TimeFrame.Years, 'y'),
+ )
+)
+
+
+class InfluxDB(feed.DataBase):
+ frompackages = (
+ ('influxdb', [('InfluxDBClient', 'idbclient')]),
+ ('influxdb.exceptions', 'InfluxDBClientError')
+ )
+
+ params = (
+ ('host', '127.0.0.1'),
+ ('port', '8086'),
+ ('username', None),
+ ('password', None),
+ ('database', None),
+ ('timeframe', bt.TimeFrame.Days),
+ ('startdate', None),
+ ('high', 'high_p'),
+ ('low', 'low_p'),
+ ('open', 'open_p'),
+ ('close', 'close_p'),
+ ('volume', 'volume'),
+ ('ointerest', 'oi'),
+ )
+
+ def start(self):
+ super(InfluxDB, self).start()
+ try:
+ self.ndb = idbclient(self.p.host, self.p.port, self.p.username,
+ self.p.password, self.p.database)
+ except InfluxDBClientError as err:
+ print('Failed to establish connection to InfluxDB: %s' % err)
+
+ tf = '{multiple}{timeframe}'.format(
+ multiple=(self.p.compression if self.p.compression else 1),
+ timeframe=TIMEFRAMES.get(self.p.timeframe, 'd'))
+
+ if not self.p.startdate:
+ st = '<= now()'
+ else:
+ st = '>= \'%s\'' % self.p.startdate
+
+ # The query could already consider parameters like fromdate and todate
+ # to have the database skip them and not the internal code
+ qstr = ('SELECT mean("{open_f}") AS "open", mean("{high_f}") AS "high", '
+ 'mean("{low_f}") AS "low", mean("{close_f}") AS "close", '
+ 'mean("{vol_f}") AS "volume", mean("{oi_f}") AS "openinterest" '
+ 'FROM "{dataname}" '
+ 'WHERE time {begin} '
+ 'GROUP BY time({timeframe}) fill(none)').format(
+ open_f=self.p.open, high_f=self.p.high,
+ low_f=self.p.low, close_f=self.p.close,
+ vol_f=self.p.volume, oi_f=self.p.ointerest,
+ timeframe=tf, begin=st, dataname=self.p.dataname)
+
+ try:
+ dbars = list(self.ndb.query(qstr).get_points())
+ except InfluxDBClientError as err:
+ print('InfluxDB query failed: %s' % err)
+
+ self.biter = iter(dbars)
+
+ def _load(self):
+ try:
+ bar = next(self.biter)
+ except StopIteration:
+ return False
+
+ self.l.datetime[0] = date2num(dt.datetime.strptime(bar['time'],
+ '%Y-%m-%dT%H:%M:%SZ'))
+
+ self.l.open[0] = bar['open']
+ self.l.high[0] = bar['high']
+ self.l.low[0] = bar['low']
+ self.l.close[0] = bar['close']
+ self.l.volume[0] = bar['volume']
+
+ return True
diff --git a/backtrader/source/backtrader/feeds/mt4csv.py b/backtrader/source/backtrader/feeds/mt4csv.py
new file mode 100644
index 0000000000000000000000000000000000000000..74dc7dbca16c647216464f3dfcfc89b6e5face53
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/mt4csv.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from . import GenericCSVData
+
+
+class MT4CSVData(GenericCSVData):
+ '''
+ Parses a `Metatrader4 `_ History
+ center CSV exported file.
+
+ Specific parameters (or specific meaning):
+
+ - ``dataname``: The filename to parse or a file-like object
+
+ - Uses GenericCSVData and simply modifies the params
+ '''
+
+ params = (
+ ('dtformat', '%Y.%m.%d'),
+ ('tmformat', '%H:%M'),
+ ('datetime', 0),
+ ('time', 1),
+ ('open', 2),
+ ('high', 3),
+ ('low', 4),
+ ('close', 5),
+ ('volume', 6),
+ ('openinterest', -1),
+ )
diff --git a/backtrader/source/backtrader/feeds/oanda.py b/backtrader/source/backtrader/feeds/oanda.py
new file mode 100644
index 0000000000000000000000000000000000000000..2581772ea4d19c2f4406f42f748a203ffe3e21ed
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/oanda.py
@@ -0,0 +1,449 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from datetime import datetime, timedelta
+
+from backtrader.feed import DataBase
+from backtrader import TimeFrame, date2num, num2date
+from backtrader.utils.py3 import (integer_types, queue, string_types,
+ with_metaclass)
+from backtrader.metabase import MetaParams
+from backtrader.stores import oandastore
+
+
+class MetaOandaData(DataBase.__class__):
+ def __init__(cls, name, bases, dct):
+ '''Class has already been created ... register'''
+ # Initialize the class
+ super(MetaOandaData, cls).__init__(name, bases, dct)
+
+ # Register with the store
+ oandastore.OandaStore.DataCls = cls
+
+
+class OandaData(with_metaclass(MetaOandaData, DataBase)):
+ '''Oanda Data Feed.
+
+ Params:
+
+ - ``qcheck`` (default: ``0.5``)
+
+ Time in seconds to wake up if no data is received to give a chance to
+ resample/replay packets properly and pass notifications up the chain
+
+ - ``historical`` (default: ``False``)
+
+ If set to ``True`` the data feed will stop after doing the first
+ download of data.
+
+ The standard data feed parameters ``fromdate`` and ``todate`` will be
+ used as reference.
+
+ The data feed will make multiple requests if the requested duration is
+ larger than the one allowed by IB given the timeframe/compression
+ chosen for the data.
+
+ - ``backfill_start`` (default: ``True``)
+
+ Perform backfilling at the start. The maximum possible historical data
+ will be fetched in a single request.
+
+ - ``backfill`` (default: ``True``)
+
+ Perform backfilling after a disconnection/reconnection cycle. The gap
+ duration will be used to download the smallest possible amount of data
+
+ - ``backfill_from`` (default: ``None``)
+
+ An additional data source can be passed to do an initial layer of
+ backfilling. Once the data source is depleted and if requested,
+ backfilling from IB will take place. This is ideally meant to backfill
+ from already stored sources like a file on disk, but not limited to.
+
+ - ``bidask`` (default: ``True``)
+
+ If ``True``, then the historical/backfilling requests will request
+ bid/ask prices from the server
+
+ If ``False``, then *midpoint* will be requested
+
+ - ``useask`` (default: ``False``)
+
+ If ``True`` the *ask* part of the *bidask* prices will be used instead
+ of the default use of *bid*
+
+ - ``includeFirst`` (default: ``True``)
+
+ Influence the delivery of the 1st bar of a historical/backfilling
+ request by setting the parameter directly to the Oanda API calls
+
+ - ``reconnect`` (default: ``True``)
+
+ Reconnect when network connection is down
+
+ - ``reconnections`` (default: ``-1``)
+
+ Number of times to attempt reconnections: ``-1`` means forever
+
+ - ``reconntimeout`` (default: ``5.0``)
+
+ Time in seconds to wait in between reconnection attemps
+
+ This data feed supports only this mapping of ``timeframe`` and
+ ``compression``, which comply with the definitions in the OANDA API
+ Developer's Guid::
+
+ (TimeFrame.Seconds, 5): 'S5',
+ (TimeFrame.Seconds, 10): 'S10',
+ (TimeFrame.Seconds, 15): 'S15',
+ (TimeFrame.Seconds, 30): 'S30',
+ (TimeFrame.Minutes, 1): 'M1',
+ (TimeFrame.Minutes, 2): 'M3',
+ (TimeFrame.Minutes, 3): 'M3',
+ (TimeFrame.Minutes, 4): 'M4',
+ (TimeFrame.Minutes, 5): 'M5',
+ (TimeFrame.Minutes, 10): 'M10',
+ (TimeFrame.Minutes, 15): 'M15',
+ (TimeFrame.Minutes, 30): 'M30',
+ (TimeFrame.Minutes, 60): 'H1',
+ (TimeFrame.Minutes, 120): 'H2',
+ (TimeFrame.Minutes, 180): 'H3',
+ (TimeFrame.Minutes, 240): 'H4',
+ (TimeFrame.Minutes, 360): 'H6',
+ (TimeFrame.Minutes, 480): 'H8',
+ (TimeFrame.Days, 1): 'D',
+ (TimeFrame.Weeks, 1): 'W',
+ (TimeFrame.Months, 1): 'M',
+
+ Any other combination will be rejected
+ '''
+ params = (
+ ('qcheck', 0.5),
+ ('historical', False), # do backfilling at the start
+ ('backfill_start', True), # do backfilling at the start
+ ('backfill', True), # do backfilling when reconnecting
+ ('backfill_from', None), # additional data source to do backfill from
+ ('bidask', True),
+ ('useask', False),
+ ('includeFirst', True),
+ ('reconnect', True),
+ ('reconnections', -1), # forever
+ ('reconntimeout', 5.0),
+ )
+
+ _store = oandastore.OandaStore
+
+ # States for the Finite State Machine in _load
+ _ST_FROM, _ST_START, _ST_LIVE, _ST_HISTORBACK, _ST_OVER = range(5)
+
+ _TOFFSET = timedelta()
+
+ def _timeoffset(self):
+ # Effective way to overcome the non-notification?
+ return self._TOFFSET
+
+ def islive(self):
+ '''Returns ``True`` to notify ``Cerebro`` that preloading and runonce
+ should be deactivated'''
+ return True
+
+ def __init__(self, **kwargs):
+ self.o = self._store(**kwargs)
+ self._candleFormat = 'bidask' if self.p.bidask else 'midpoint'
+
+ def setenvironment(self, env):
+ '''Receives an environment (cerebro) and passes it over to the store it
+ belongs to'''
+ super(OandaData, self).setenvironment(env)
+ env.addstore(self.o)
+
+ def start(self):
+ '''Starts the Oanda connecction and gets the real contract and
+ contractdetails if it exists'''
+ super(OandaData, self).start()
+
+ # Create attributes as soon as possible
+ self._statelivereconn = False # if reconnecting in live state
+ self._storedmsg = dict() # keep pending live message (under None)
+ self.qlive = queue.Queue()
+ self._state = self._ST_OVER
+
+ # Kickstart store and get queue to wait on
+ self.o.start(data=self)
+
+ # check if the granularity is supported
+ otf = self.o.get_granularity(self._timeframe, self._compression)
+ if otf is None:
+ self.put_notification(self.NOTSUPPORTED_TF)
+ self._state = self._ST_OVER
+ return
+
+ self.contractdetails = cd = self.o.get_instrument(self.p.dataname)
+ if cd is None:
+ self.put_notification(self.NOTSUBSCRIBED)
+ self._state = self._ST_OVER
+ return
+
+ if self.p.backfill_from is not None:
+ self._state = self._ST_FROM
+ self.p.backfill_from._start()
+ else:
+ self._start_finish()
+ self._state = self._ST_START # initial state for _load
+ self._st_start()
+
+ self._reconns = 0
+
+ def _st_start(self, instart=True, tmout=None):
+ if self.p.historical:
+ self.put_notification(self.DELAYED)
+ dtend = None
+ if self.todate < float('inf'):
+ dtend = num2date(self.todate)
+
+ dtbegin = None
+ if self.fromdate > float('-inf'):
+ dtbegin = num2date(self.fromdate)
+
+ self.qhist = self.o.candles(
+ self.p.dataname, dtbegin, dtend,
+ self._timeframe, self._compression,
+ candleFormat=self._candleFormat,
+ includeFirst=self.p.includeFirst)
+
+ self._state = self._ST_HISTORBACK
+ return True
+
+ self.qlive = self.o.streaming_prices(self.p.dataname, tmout=tmout)
+ if instart:
+ self._statelivereconn = self.p.backfill_start
+ else:
+ self._statelivereconn = self.p.backfill
+
+ if self._statelivereconn:
+ self.put_notification(self.DELAYED)
+
+ self._state = self._ST_LIVE
+ if instart:
+ self._reconns = self.p.reconnections
+
+ return True # no return before - implicit continue
+
+ def stop(self):
+ '''Stops and tells the store to stop'''
+ super(OandaData, self).stop()
+ self.o.stop()
+
+ def haslivedata(self):
+ return bool(self._storedmsg or self.qlive) # do not return the objs
+
+ def _load(self):
+ if self._state == self._ST_OVER:
+ return False
+
+ while True:
+ if self._state == self._ST_LIVE:
+ try:
+ msg = (self._storedmsg.pop(None, None) or
+ self.qlive.get(timeout=self._qcheck))
+ except queue.Empty:
+ return None # indicate timeout situation
+
+ if msg is None: # Conn broken during historical/backfilling
+ self.put_notification(self.CONNBROKEN)
+ # Try to reconnect
+ if not self.p.reconnect or self._reconns == 0:
+ # Can no longer reconnect
+ self.put_notification(self.DISCONNECTED)
+ self._state = self._ST_OVER
+ return False # failed
+
+ self._reconns -= 1
+ self._st_start(instart=False, tmout=self.p.reconntimeout)
+ continue
+
+ if 'code' in msg:
+ self.put_notification(self.CONNBROKEN)
+ code = msg['code']
+ if code not in [599, 598, 596]:
+ self.put_notification(self.DISCONNECTED)
+ self._state = self._ST_OVER
+ return False # failed
+
+ if not self.p.reconnect or self._reconns == 0:
+ # Can no longer reconnect
+ self.put_notification(self.DISCONNECTED)
+ self._state = self._ST_OVER
+ return False # failed
+
+ # Can reconnect
+ self._reconns -= 1
+ self._st_start(instart=False, tmout=self.p.reconntimeout)
+ continue
+
+ self._reconns = self.p.reconnections
+
+ # Process the message according to expected return type
+ if not self._statelivereconn:
+ if self._laststatus != self.LIVE:
+ if self.qlive.qsize() <= 1: # very short live queue
+ self.put_notification(self.LIVE)
+
+ ret = self._load_tick(msg)
+ if ret:
+ return True
+
+ # could not load bar ... go and get new one
+ continue
+
+ # Fall through to processing reconnect - try to backfill
+ self._storedmsg[None] = msg # keep the msg
+
+ # else do a backfill
+ if self._laststatus != self.DELAYED:
+ self.put_notification(self.DELAYED)
+
+ dtend = None
+ if len(self) > 1:
+ # len == 1 ... forwarded for the 1st time
+ dtbegin = self.datetime.datetime(-1)
+ elif self.fromdate > float('-inf'):
+ dtbegin = num2date(self.fromdate)
+ else: # 1st bar and no begin set
+ # passing None to fetch max possible in 1 request
+ dtbegin = None
+
+ dtend = datetime.utcfromtimestamp(int(msg['time']) / 10 ** 6)
+
+ self.qhist = self.o.candles(
+ self.p.dataname, dtbegin, dtend,
+ self._timeframe, self._compression,
+ candleFormat=self._candleFormat,
+ includeFirst=self.p.includeFirst)
+
+ self._state = self._ST_HISTORBACK
+ self._statelivereconn = False # no longer in live
+ continue
+
+ elif self._state == self._ST_HISTORBACK:
+ msg = self.qhist.get()
+ if msg is None: # Conn broken during historical/backfilling
+ # Situation not managed. Simply bail out
+ self.put_notification(self.DISCONNECTED)
+ self._state = self._ST_OVER
+ return False # error management cancelled the queue
+
+ elif 'code' in msg: # Error
+ self.put_notification(self.NOTSUBSCRIBED)
+ self.put_notification(self.DISCONNECTED)
+ self._state = self._ST_OVER
+ return False
+
+ if msg:
+ if self._load_history(msg):
+ return True # loading worked
+
+ continue # not loaded ... date may have been seen
+ else:
+ # End of histdata
+ if self.p.historical: # only historical
+ self.put_notification(self.DISCONNECTED)
+ self._state = self._ST_OVER
+ return False # end of historical
+
+ # Live is also wished - go for it
+ self._state = self._ST_LIVE
+ continue
+
+ elif self._state == self._ST_FROM:
+ if not self.p.backfill_from.next():
+ # additional data source is consumed
+ self._state = self._ST_START
+ continue
+
+ # copy lines of the same name
+ for alias in self.lines.getlinealiases():
+ lsrc = getattr(self.p.backfill_from.lines, alias)
+ ldst = getattr(self.lines, alias)
+
+ ldst[0] = lsrc[0]
+
+ return True
+
+ elif self._state == self._ST_START:
+ if not self._st_start(instart=False):
+ self._state = self._ST_OVER
+ return False
+
+ def _load_tick(self, msg):
+ dtobj = datetime.utcfromtimestamp(int(msg['time']) / 10 ** 6)
+ dt = date2num(dtobj)
+ if dt <= self.lines.datetime[-1]:
+ return False # time already seen
+
+ # Common fields
+ self.lines.datetime[0] = dt
+ self.lines.volume[0] = 0.0
+ self.lines.openinterest[0] = 0.0
+
+ # Put the prices into the bar
+ tick = float(msg['ask']) if self.p.useask else float(msg['bid'])
+ self.lines.open[0] = tick
+ self.lines.high[0] = tick
+ self.lines.low[0] = tick
+ self.lines.close[0] = tick
+ self.lines.volume[0] = 0.0
+ self.lines.openinterest[0] = 0.0
+
+ return True
+
+ def _load_history(self, msg):
+ dtobj = datetime.utcfromtimestamp(int(msg['time']) / 10 ** 6)
+ dt = date2num(dtobj)
+ if dt <= self.lines.datetime[-1]:
+ return False # time already seen
+
+ # Common fields
+ self.lines.datetime[0] = dt
+ self.lines.volume[0] = float(msg['volume'])
+ self.lines.openinterest[0] = 0.0
+
+ # Put the prices into the bar
+ if self.p.bidask:
+ if not self.p.useask:
+ self.lines.open[0] = float(msg['openBid'])
+ self.lines.high[0] = float(msg['highBid'])
+ self.lines.low[0] = float(msg['lowBid'])
+ self.lines.close[0] = float(msg['closeBid'])
+ else:
+ self.lines.open[0] = float(msg['openAsk'])
+ self.lines.high[0] = float(msg['highAsk'])
+ self.lines.low[0] = float(msg['lowAsk'])
+ self.lines.close[0] = float(msg['closeAsk'])
+ else:
+ self.lines.open[0] = float(msg['openMid'])
+ self.lines.high[0] = float(msg['highMid'])
+ self.lines.low[0] = float(msg['lowMid'])
+ self.lines.close[0] = float(msg['closeMid'])
+
+ return True
diff --git a/backtrader/source/backtrader/feeds/pandafeed.py b/backtrader/source/backtrader/feeds/pandafeed.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc90953aed4904f0521926d17d39d826a93440dd
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/pandafeed.py
@@ -0,0 +1,273 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from backtrader.utils.py3 import filter, string_types, integer_types
+
+from backtrader import date2num
+import backtrader.feed as feed
+
+
+class PandasDirectData(feed.DataBase):
+ '''
+ Uses a Pandas DataFrame as the feed source, iterating directly over the
+ tuples returned by "itertuples".
+
+ This means that all parameters related to lines must have numeric
+ values as indices into the tuples
+
+ Note:
+
+ - The ``dataname`` parameter is a Pandas DataFrame
+
+ - A negative value in any of the parameters for the Data lines
+ indicates it's not present in the DataFrame
+ it is
+ '''
+
+ params = (
+ ('datetime', 0),
+ ('open', 1),
+ ('high', 2),
+ ('low', 3),
+ ('close', 4),
+ ('volume', 5),
+ ('openinterest', 6),
+ )
+
+ datafields = [
+ 'datetime', 'open', 'high', 'low', 'close', 'volume', 'openinterest'
+ ]
+
+ def start(self):
+ super(PandasDirectData, self).start()
+
+ # reset the iterator on each start
+ self._rows = self.p.dataname.itertuples()
+
+ def _load(self):
+ try:
+ row = next(self._rows)
+ except StopIteration:
+ return False
+
+ # Set the standard datafields - except for datetime
+ for datafield in self.getlinealiases():
+ if datafield == 'datetime':
+ continue
+
+ # get the column index
+ colidx = getattr(self.params, datafield)
+
+ if colidx < 0:
+ # column not present -- skip
+ continue
+
+ # get the line to be set
+ line = getattr(self.lines, datafield)
+
+ # indexing for pandas: 1st is colum, then row
+ line[0] = row[colidx]
+
+ # datetime
+ colidx = getattr(self.params, 'datetime')
+ tstamp = row[colidx]
+
+ # convert to float via datetime and store it
+ dt = tstamp.to_pydatetime()
+ dtnum = date2num(dt)
+
+ # get the line to be set
+ line = getattr(self.lines, 'datetime')
+ line[0] = dtnum
+
+ # Done ... return
+ return True
+
+
+class PandasData(feed.DataBase):
+ '''
+ Uses a Pandas DataFrame as the feed source, using indices into column
+ names (which can be "numeric")
+
+ This means that all parameters related to lines must have numeric
+ values as indices into the tuples
+
+ Params:
+
+ - ``nocase`` (default *True*) case insensitive match of column names
+
+ Note:
+
+ - The ``dataname`` parameter is a Pandas DataFrame
+
+ - Values possible for datetime
+
+ - None: the index contains the datetime
+ - -1: no index, autodetect column
+ - >= 0 or string: specific colum identifier
+
+ - For other lines parameters
+
+ - None: column not present
+ - -1: autodetect
+ - >= 0 or string: specific colum identifier
+ '''
+
+ params = (
+ ('nocase', True),
+
+ # Possible values for datetime (must always be present)
+ # None : datetime is the "index" in the Pandas Dataframe
+ # -1 : autodetect position or case-wise equal name
+ # >= 0 : numeric index to the colum in the pandas dataframe
+ # string : column name (as index) in the pandas dataframe
+ ('datetime', None),
+
+ # Possible values below:
+ # None : column not present
+ # -1 : autodetect position or case-wise equal name
+ # >= 0 : numeric index to the colum in the pandas dataframe
+ # string : column name (as index) in the pandas dataframe
+ ('open', -1),
+ ('high', -1),
+ ('low', -1),
+ ('close', -1),
+ ('volume', -1),
+ ('openinterest', -1),
+ )
+
+ datafields = [
+ 'datetime', 'open', 'high', 'low', 'close', 'volume', 'openinterest'
+ ]
+
+ def __init__(self):
+ super(PandasData, self).__init__()
+
+ # these "colnames" can be strings or numeric types
+ colnames = list(self.p.dataname.columns.values)
+ if self.p.datetime is None:
+ # datetime is expected as index col and hence not returned
+ pass
+
+ # try to autodetect if all columns are numeric
+ cstrings = filter(lambda x: isinstance(x, string_types), colnames)
+ colsnumeric = not len(list(cstrings))
+
+ # Where each datafield find its value
+ self._colmapping = dict()
+
+ # Build the column mappings to internal fields in advance
+ for datafield in self.getlinealiases():
+ defmapping = getattr(self.params, datafield)
+
+ if isinstance(defmapping, integer_types) and defmapping < 0:
+ # autodetection requested
+ for colname in colnames:
+ if isinstance(colname, string_types):
+ if self.p.nocase:
+ found = datafield.lower() == colname.lower()
+ else:
+ found = datafield == colname
+
+ if found:
+ self._colmapping[datafield] = colname
+ break
+
+ if datafield not in self._colmapping:
+ # autodetection requested and not found
+ self._colmapping[datafield] = None
+ continue
+ else:
+ # all other cases -- used given index
+ self._colmapping[datafield] = defmapping
+
+ def start(self):
+ super(PandasData, self).start()
+
+ # reset the length with each start
+ self._idx = -1
+
+ # Transform names (valid for .ix) into indices (good for .iloc)
+ if self.p.nocase:
+ colnames = [x.lower() for x in self.p.dataname.columns.values]
+ else:
+ colnames = [x for x in self.p.dataname.columns.values]
+
+ for k, v in self._colmapping.items():
+ if v is None:
+ continue # special marker for datetime
+ if isinstance(v, string_types):
+ try:
+ if self.p.nocase:
+ v = colnames.index(v.lower())
+ else:
+ v = colnames.index(v)
+ except ValueError as e:
+ defmap = getattr(self.params, k)
+ if isinstance(defmap, integer_types) and defmap < 0:
+ v = None
+ else:
+ raise e # let user now something failed
+
+ self._colmapping[k] = v
+
+ def _load(self):
+ self._idx += 1
+
+ if self._idx >= len(self.p.dataname):
+ # exhausted all rows
+ return False
+
+ # Set the standard datafields
+ for datafield in self.getlinealiases():
+ if datafield == 'datetime':
+ continue
+
+ colindex = self._colmapping[datafield]
+ if colindex is None:
+ # datafield signaled as missing in the stream: skip it
+ continue
+
+ # get the line to be set
+ line = getattr(self.lines, datafield)
+
+ # indexing for pandas: 1st is colum, then row
+ line[0] = self.p.dataname.iloc[self._idx, colindex]
+
+ # datetime conversion
+ coldtime = self._colmapping['datetime']
+
+ if coldtime is None:
+ # standard index in the datetime
+ tstamp = self.p.dataname.index[self._idx]
+ else:
+ # it's in a different column ... use standard column index
+ tstamp = self.p.dataname.iloc[self._idx, coldtime]
+
+ # convert to float via datetime and store it
+ dt = tstamp.to_pydatetime()
+ dtnum = date2num(dt)
+ self.lines.datetime[0] = dtnum
+
+ # Done ... return
+ return True
diff --git a/backtrader/source/backtrader/feeds/quandl.py b/backtrader/source/backtrader/feeds/quandl.py
new file mode 100644
index 0000000000000000000000000000000000000000..08ea1b2c32b21929b51dcfc252fd3ad18e7fdb57
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/quandl.py
@@ -0,0 +1,239 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+from datetime import date, datetime
+import io
+import itertools
+
+from ..utils.py3 import (urlopen, urlquote, ProxyHandler, build_opener,
+ install_opener)
+
+from .. import feed
+from ..utils import date2num
+
+
+__all__ = ['QuandlCSV', 'Quandl']
+
+
+class QuandlCSV(feed.CSVDataBase):
+ '''
+ Parses pre-downloaded Quandl CSV Data Feeds (or locally generated if they
+ comply to the Quandl format)
+
+ Specific parameters:
+
+ - ``dataname``: The filename to parse or a file-like object
+
+ - ``reverse`` (default: ``False``)
+
+ It is assumed that locally stored files have already been reversed
+ during the download process
+
+ - ``adjclose`` (default: ``True``)
+
+ Whether to use the dividend/split adjusted close and adjust all
+ values according to it.
+
+ - ``round`` (default: ``False``)
+
+ Whether to round the values to a specific number of decimals after
+ having adjusted the close
+
+ - ``decimals`` (default: ``2``)
+
+ Number of decimals to round to
+ '''
+ _online = False # flag to avoid double reversal
+
+ params = (
+ ('reverse', False),
+ ('adjclose', True),
+ ('round', False),
+ ('decimals', 2),
+ )
+
+ def start(self):
+ super(QuandlCSV, self).start()
+
+ if not self.params.reverse:
+ return
+ elif self._online:
+ return # revers is True but also online, managed with order=asc
+
+ # Quandl data can be in reverse order -> reverse
+ dq = collections.deque()
+ for line in self.f:
+ dq.appendleft(line)
+
+ f = io.StringIO(newline=None)
+ f.writelines(dq)
+ f.seek(0)
+ self.f.close()
+ self.f = f
+
+ def _loadline(self, linetokens):
+ i = itertools.count(0)
+
+ dttxt = linetokens[next(i)] # YYYY-MM-DD
+ dt = date(int(dttxt[0:4]), int(dttxt[5:7]), int(dttxt[8:10]))
+ dtnum = date2num(datetime.combine(dt, self.p.sessionend))
+
+ self.lines.datetime[0] = dtnum
+ if self.p.adjclose:
+ for _ in range(7):
+ next(i) # skip ohlcv, ex-dividend, split ratio
+
+ o = float(linetokens[next(i)])
+ h = float(linetokens[next(i)])
+ l = float(linetokens[next(i)])
+ c = float(linetokens[next(i)])
+ v = float(linetokens[next(i)])
+ self.lines.openinterest[0] = 0.0
+
+ if self.p.round:
+ decimals = self.p.decimals
+ o = round(o, decimals)
+ h = round(h, decimals)
+ l = round(l, decimals)
+ c = round(c, decimals)
+ v = round(v, decimals)
+
+ self.lines.open[0] = o
+ self.lines.high[0] = h
+ self.lines.low[0] = l
+ self.lines.close[0] = c
+ self.lines.volume[0] = v
+
+ return True
+
+
+class Quandl(QuandlCSV):
+ '''
+ Executes a direct download of data from Quandl servers for the given time
+ range.
+
+ Specific parameters (or specific meaning):
+
+ - ``dataname``
+
+ The ticker to download ('YHOO' for example)
+
+ - ``baseurl``
+
+ The server url. Someone might decide to open a Quandl compatible
+ service in the future.
+
+ - ``proxies``
+
+ A dict indicating which proxy to go through for the download as in
+ {'http': 'http://myproxy.com'} or {'http': 'http://127.0.0.1:8080'}
+
+ - ``buffered``
+
+ If True the entire socket connection wil be buffered locally before
+ parsing starts.
+
+ - ``reverse``
+
+ Quandl returns the value in descending order (newest first). If this is
+ ``True`` (the default), the request will tell Quandl to return in
+ ascending (oldest to newest) format
+
+ - ``adjclose``
+
+ Whether to use the dividend/split adjusted close and adjust all values
+ according to it.
+
+ - ``apikey``
+
+ apikey identification in case it may be needed
+
+ - ``dataset``
+
+ string identifying the dataset to query. Defaults to ``WIKI``
+
+ '''
+
+ _online = True # flag to avoid double reversal
+
+ params = (
+ ('baseurl', 'https://www.quandl.com/api/v3/datasets'),
+ ('proxies', {}),
+ ('buffered', True),
+ ('reverse', True),
+ ('apikey', None),
+ ('dataset', 'WIKI'),
+ )
+
+ def start(self):
+ self.error = None
+
+ url = '{}/{}/{}.csv'.format(
+ self.p.baseurl, self.p.dataset, urlquote(self.p.dataname))
+
+ urlargs = []
+ if self.p.reverse:
+ urlargs.append('order=asc')
+
+ if self.p.apikey is not None:
+ urlargs.append('api_key={}'.format(self.p.apikey))
+
+ if self.p.fromdate:
+ dtxt = self.p.fromdate.strftime('%Y-%m-%d')
+ urlargs.append('start_date={}'.format(dtxt))
+
+ if self.p.todate:
+ dtxt = self.p.todate.strftime('%Y-%m-%d')
+ urlargs.append('end_date={}'.format(dtxt))
+
+ if urlargs:
+ url += '?' + '&'.join(urlargs)
+
+ if self.p.proxies:
+ proxy = ProxyHandler(self.p.proxies)
+ opener = build_opener(proxy)
+ install_opener(opener)
+
+ try:
+ datafile = urlopen(url)
+ except IOError as e:
+ self.error = str(e)
+ # leave us empty
+ return
+
+ if datafile.headers['Content-Type'] != 'text/csv':
+ self.error = 'Wrong content type: %s' % datafile.headers
+ return # HTML returned? wrong url?
+
+ if self.params.buffered:
+ # buffer everything from the socket into a local buffer
+ f = io.StringIO(datafile.read().decode('utf-8'), newline=None)
+ datafile.close()
+ else:
+ f = datafile
+
+ self.f = f
+
+ # Prepared a "path" file - CSV Parser can take over
+ super(Quandl, self).start()
diff --git a/backtrader/source/backtrader/feeds/rollover.py b/backtrader/source/backtrader/feeds/rollover.py
new file mode 100644
index 0000000000000000000000000000000000000000..689118d279f108d8df400a7900882eac30cca4ca
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/rollover.py
@@ -0,0 +1,205 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from datetime import datetime
+
+import backtrader as bt
+
+
+class MetaRollOver(bt.DataBase.__class__):
+ def __init__(cls, name, bases, dct):
+ '''Class has already been created ... register'''
+ # Initialize the class
+ super(MetaRollOver, cls).__init__(name, bases, dct)
+
+ def donew(cls, *args, **kwargs):
+ '''Intercept const. to copy timeframe/compression from 1st data'''
+ # Create the object and set the params in place
+ _obj, args, kwargs = super(MetaRollOver, cls).donew(*args, **kwargs)
+
+ if args:
+ _obj.p.timeframe = args[0]._timeframe
+ _obj.p.compression = args[0]._compression
+
+ return _obj, args, kwargs
+
+
+class RollOver(bt.with_metaclass(MetaRollOver, bt.DataBase)):
+ '''Class that rolls over to the next future when a condition is met
+
+ Params:
+
+ - ``checkdate`` (default: ``None``)
+
+ This must be a *callable* with the following signature::
+
+ checkdate(dt, d):
+
+ Where:
+
+ - ``dt`` is a ``datetime.datetime`` object
+ - ``d`` is the current data feed for the active future
+
+ Expected Return Values:
+
+ - ``True``: as long as the callable returns this, a switchover can
+ happen to the next future
+
+ If a commodity expires on the 3rd Friday of March, ``checkdate`` could
+ return ``True`` for the entire week in which the expiration takes
+ place.
+
+ - ``False``: the expiration cannot take place
+
+ - ``checkcondition`` (default: ``None``)
+
+ **Note**: This will only be called if ``checkdate`` has returned
+ ``True``
+
+ If ``None`` this will evaluate to ``True`` (execute roll over)
+ internally
+
+ Else this must be a *callable* with this signature::
+
+ checkcondition(d0, d1)
+
+ Where:
+
+ - ``d0`` is the current data feed for the active future
+ - ``d1`` is the data feed for the next expiration
+
+ Expected Return Values:
+
+ - ``True``: roll-over to the next future
+
+ Following with the example from ``checkdate``, this could say that the
+ roll-over can only happend if the *volume* from ``d0`` is already less
+ than the volume from ``d1``
+
+ - ``False``: the expiration cannot take place
+ '''
+
+ params = (
+ # ('rolls', []), # array of futures to roll over
+ ('checkdate', None), # callable
+ ('checkcondition', None), # callable
+ )
+
+ def islive(self):
+ '''Returns ``True`` to notify ``Cerebro`` that preloading and runonce
+ should be deactivated'''
+ return True
+
+ def __init__(self, *args):
+ self._rolls = args
+
+ def start(self):
+ super(RollOver, self).start()
+ for d in self._rolls:
+ d.setenvironment(self._env)
+ d._start()
+
+ # put the references in a separate list to have pops
+ self._ds = list(self._rolls)
+ self._d = self._ds.pop(0) if self._ds else None
+ self._dexp = None
+ self._dts = [datetime.min for xx in self._ds]
+
+ def stop(self):
+ super(RollOver, self).stop()
+ for d in self._rolls:
+ d.stop()
+
+ def _gettz(self):
+ '''To be overriden by subclasses which may auto-calculate the
+ timezone'''
+ if self._rolls:
+ return self._rolls[0]._gettz()
+ return bt.utils.date.Localizer(self.p.tz)
+
+ def _checkdate(self, dt, d):
+ if self.p.checkdate is not None:
+ return self.p.checkdate(dt, d)
+
+ return False
+
+ def _checkcondition(self, d0, d1):
+ if self.p.checkcondition is not None:
+ return self.p.checkcondition(d0, d1)
+
+ return True
+
+ def _load(self):
+ while self._d is not None:
+ _next = self._d.next()
+ if _next is None: # no values yet, more will come
+ continue
+ if _next is False: # no values from current data src
+ if self._ds:
+ self._d = self._ds.pop(0)
+ self._dts.pop(0)
+ else:
+ self._d = None
+ continue
+
+ dt0 = self._d.datetime.datetime() # current dt for active data
+
+ # Synchronize other datas using dt0
+ for i, d_dt in enumerate(zip(self._ds, self._dts)):
+ d, dt = d_dt
+ while dt < dt0:
+ if d.next() is None:
+ continue
+ self._dts[i] = dt = d.datetime.datetime()
+
+ # Move expired future as much as needed
+ while self._dexp is not None:
+ if not self._dexp.next():
+ self._dexp = None
+ break
+
+ if self._dexp.datetime.datetime() < dt0:
+ continue
+
+ if self._dexp is None and self._checkdate(dt0, self._d):
+ # rule has been met ... check other factors only if 2 datas
+ # still there
+ if self._ds and self._checkcondition(self._d, self._ds[0]):
+ # Time to switch to next data
+ self._dexp = self._d
+ self._d = self._ds.pop(0)
+ self._dts.pop(0)
+
+ # Fill the line and tell we die
+ self.lines.datetime[0] = self._d.lines.datetime[0]
+ self.lines.open[0] = self._d.lines.open[0]
+ self.lines.high[0] = self._d.lines.high[0]
+ self.lines.low[0] = self._d.lines.low[0]
+ self.lines.close[0] = self._d.lines.close[0]
+ self.lines.volume[0] = self._d.lines.volume[0]
+ self.lines.openinterest[0] = self._d.lines.openinterest[0]
+ return True
+
+ # Out of the loop -> self._d is None, no data feed to return from
+ return False
diff --git a/backtrader/source/backtrader/feeds/sierrachart.py b/backtrader/source/backtrader/feeds/sierrachart.py
new file mode 100644
index 0000000000000000000000000000000000000000..ce12323ce34881bc369a61f350003a65c1810e5a
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/sierrachart.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from . import GenericCSVData
+
+
+class SierraChartCSVData(GenericCSVData):
+ '''
+ Parses a `SierraChart `_ CSV exported file.
+
+ Specific parameters (or specific meaning):
+
+ - ``dataname``: The filename to parse or a file-like object
+
+ - Uses GenericCSVData and simply modifies the dateformat (dtformat) to
+ '''
+
+ params = (('dtformat', '%Y/%m/%d'),)
diff --git a/backtrader/source/backtrader/feeds/vcdata.py b/backtrader/source/backtrader/feeds/vcdata.py
new file mode 100644
index 0000000000000000000000000000000000000000..f60a0e7600d79755e4416b042fe1d3cc3652ec62
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/vcdata.py
@@ -0,0 +1,595 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from datetime import datetime, timedelta, tzinfo
+
+import backtrader as bt
+from backtrader import TimeFrame, date2num, num2date
+from backtrader.feed import DataBase
+from backtrader.metabase import MetaParams
+from backtrader.utils.py3 import (integer_types, queue, string_types,
+ with_metaclass)
+
+from backtrader.stores import vcstore
+
+
+class MetaVCData(DataBase.__class__):
+ def __init__(cls, name, bases, dct):
+ '''Class has already been created ... register'''
+ # Initialize the class
+ super(MetaVCData, cls).__init__(name, bases, dct)
+
+ # Register with the store
+ vcstore.VCStore.DataCls = cls
+
+
+class VCData(with_metaclass(MetaVCData, DataBase)):
+ '''VisualChart Data Feed.
+
+ Params:
+
+ - ``qcheck`` (default: ``0.5``)
+ Default timeout for waking up to let a resampler/replayer that the
+ current bar can be check for due delivery
+
+ The value is only used if a resampling/replaying filter has been
+ inserted in the data
+
+ - ``historical`` (default: ``False``)
+ If no ``todate`` parameter is supplied (defined in the base class),
+ this will force a historical only download if set to ``True``
+
+ If ``todate`` is supplied the same effect is achieved
+
+ - ``milliseconds`` (default: ``True``)
+ The bars constructed by *Visual Chart* have this aspect:
+ HH:MM:59.999000
+
+ If this parameter is ``True`` a millisecond will be added to this time
+ to make it look like: HH::MM + 1:00.000000
+
+ - ``tradename`` (default: ``None``)
+ Continous futures cannot be traded but are ideal for data tracking. If
+ this parameter is supplied it will be the name of the current future
+ which will be the trading asset. Example:
+
+ - 001ES -> ES-Mini continuous supplied as ``dataname``
+
+ - ESU16 -> ES-Mini 2016-09. If this is supplied in ``tradename`` it
+ will be the trading asset.
+
+ - ``usetimezones`` (default: ``True``)
+ For most markets the time offset information provided by *Visual Chart*
+ allows for datetime to be converted to market time (*backtrader* choice
+ for representation)
+
+ Some markets are special (``096``) and need special internal coverage
+ and timezone support to display in the user expected market time.
+
+ If this parameter is set to ``True`` importing ``pytz`` will be
+ attempted to use timezones (default)
+
+ Disabling it will remove timezone usage (may help if the load is
+ excesive)
+ '''
+ params = (
+ ('qcheck', 0.5), # timeout in seconds (float) to check for events
+ ('historical', False), # usual industry value
+ ('millisecond', True), # fix missing millisecond in time
+ ('tradename', None), # name of the real asset to trade on
+ ('usetimezones', True), # use pytz timezones if found
+ )
+
+ # Holds the calculated offset to the timestamps of the VC Server
+ _TOFFSET = timedelta()
+
+ # States for the Finite State Machine in _load
+ _ST_START, _ST_FEEDING, _ST_NOTFOUND = range(3)
+
+ # Base NULL Date for VB/Excel date compatibility
+ NULLDATE = datetime(1899, 12, 30, 0, 0, 0)
+
+ # To correct HH:MM:59.999 times
+ MILLISECOND = timedelta(microseconds=1000)
+
+ # Large ping timeout
+ PING_TIMEOUT = 25.0
+
+ # Timezones for the different exchanges
+ _TZS = {
+ 'Europe/London': ('011', '024', '027', '036', '049', '092', '114',
+ # These are the global markets
+ '033', '034', '035', '043', '054', '096', '300',),
+
+ 'Europe/Berlin': ('005', '006', '008', '012', '013', '014', '015',
+ '017', '019', '025', '029', '030', '037', '038',
+ '052', '053', '060', '061', '072', '073', '074',
+ '075', '080', '093', '094', '097', '111', '112',
+ '113',),
+
+ 'Asia/Tokyo': ('031',),
+ 'Australia/Melbourne': ('032',),
+ 'America/Argentina/Buenos_Aires': ('044',),
+ 'America/Sao_Paulo': ('045',),
+ 'America/Mexico_City': ('046',),
+ 'America/Santiago': ('047',),
+
+ 'US/Eastern': ('003', '004', '009', '010', '028', '040', '041', '055',
+ '090', '095', '099',),
+ 'US/Central': ('001', '002', '020', '021', '022', '023', '056',),
+ }
+
+ # The global assets may have a different output timezoe
+ _TZOUT = {
+ '096.FTSE': 'Europe/London',
+ '096.FTEU3': 'Europe/London',
+ '096.MIB30': 'Europe/Berlin',
+ '096.SSMI': 'Europe/Berlin',
+ '096.HSI': 'Asia/Hong_Kong',
+ '096.BVSP': 'America/Sao_Paulo',
+ '096.MERVAL': 'America/Argentina/Buenos_Aires',
+ '096.DJI': 'US/Eastern',
+ '096.IXIC': 'US/Eastern',
+ '096.NDX': 'US/Eastern',
+ }
+
+ # These global markets deliver data in local time dst adjuste unlike those
+ # from above and need a readjustment
+ _EXTRA_TIMEOFFSET = ('096',)
+
+ _TIMEFRAME_BACKFILL = {
+ TimeFrame.Ticks: timedelta(days=1),
+ TimeFrame.MicroSeconds: timedelta(days=1),
+ TimeFrame.Seconds: timedelta(days=1),
+ TimeFrame.Minutes: timedelta(days=2),
+ TimeFrame.Days: timedelta(days=365),
+ TimeFrame.Weeks: timedelta(days=365*2),
+ TimeFrame.Months: timedelta(days=365*5),
+ TimeFrame.Years: timedelta(days=365*20),
+ }
+
+ def _timeoffset(self):
+ '''Returns the calculated time offset local equipment -> data server'''
+ return self._TOFFSET
+
+ def _gettzinput(self):
+ '''Returns the timezone to consider for the input data'''
+ return self._gettz(tzin=True)
+
+ def _gettz(self, tzin=False):
+ '''Returns the default output timezone for the data
+
+ This defaults to be the timezone in which the market is traded
+ '''
+ # If no object has been provided by the user and a timezone can be
+ # found via contractdtails, then try to get it from pytz, which may or
+ # may not be available.
+
+ # The timezone specifications returned by TWS seem to be abbreviations
+ # understood by pytz, but the full list which TWS may return is not
+ # documented and one of the abbreviations may fail
+ ptz = self.p.tz
+ tzstr = isinstance(ptz, string_types)
+ if ptz is not None and not tzstr:
+ return bt.utils.date.Localizer(ptz)
+
+ if self._state == self._ST_NOTFOUND:
+ return None # nothing else can be done
+
+ if not self.p.usetimezones:
+ return None
+
+ try:
+ import pytz # keep the import very local
+ except ImportError:
+ return None # nothing can be done
+
+ # dataname 010ABCXXXXX -> ABC (3, 4 and 5) is market code
+ if tzstr:
+ tzs = ptz
+ else:
+ tzs = None
+
+ if not tzin:
+ if self.p.dataname in self._TZOUT:
+ tzs = self._TZOUT[self.p.dataname]
+
+ if tzs is None:
+ for mktz, mktcodes in self._TZS.items():
+ if self._mktcode in mktcodes:
+ tzs = mktz
+ break
+
+ if tzs is None:
+ return None
+
+ if isinstance(tzs, tzinfo):
+ return bt.utils.date.Localizer(tzs)
+
+ if tzs:
+ try:
+ tz = pytz.timezone(tzs)
+ except pytz.UnknownTimeZoneError:
+ return None # nothing can be done
+ else:
+ return None
+
+ # contractdetails there, import ok, timezone found, return it
+ return tz
+
+ def islive(self):
+ '''Returns ``True`` to notify ``Cerebro`` that preloading and runonce
+ should be deactivated'''
+ return True
+
+ def __init__(self, **kwargs):
+ self.store = vcstore.VCStore(**kwargs)
+
+ # Correct a copy past directly from VisualChart
+ dataname = self.p.dataname
+ if dataname[3].isspace():
+ dataname = dataname[0:2] + dataname[4:]
+ self.p.dataname = dataname
+
+ self._dataname = '010' + self.p.dataname
+ self._mktcode = self.p.dataname[0:3]
+
+ self._tradename = tradename = self.p.tradename or self._dataname
+ # Correct a copy past directly from VisualChart
+ if tradename[3].isspace():
+ tradename = tradename[0:2] + tradename[4:]
+ self._tradename = tradename
+
+ def setenvironment(self, env):
+ '''Receives an environment (cerebro) and passes it over to the store it
+ belongs to'''
+ super(VCData, self).setenvironment(env)
+ env.addstore(self.store)
+
+ def start(self):
+ '''Starts the VC connecction and gets the real contract and
+ contractdetails if it exists'''
+ super(VCData, self).start()
+
+ self._state = self._ST_START # mini finite state machine
+
+ self._newticks = True # control processing of initial ticks
+
+ self._pingtmout = self.PING_TIMEOUT # Initial timeout for ping
+
+ self.idx = 1 # counter for the dataserie (vb is based at 1)
+ self.q = None # where bars are received
+
+ # market time offsets
+ self._mktoffset = None
+ self._mktoff1 = None
+ self._mktoffdiff = None
+
+ if not self.store.connected():
+ # Not connected -> go away
+ self.put_notification(self.DISCONNECTED)
+ self._state = self._ST_NOTFOUND
+ return
+
+ self.put_notification(self.CONNECTED)
+ # get real contract details with real conId (contractId)
+ self.qrt = queue.Queue() # to await a ping
+ self.store._rtdata(self, self._dataname)
+ symfound = self.qrt.get()
+ if not symfound:
+ # Kill any further action and signal it
+ self.put_notification(self.NOTSUBSCRIBED)
+ self.put_notification(self.DISCONNECTED)
+ self._state = self._ST_NOTFOUND
+ return
+
+ if self.replaying:
+ # In this case don't request the final
+ # timeframe from vc, but the original that has to be replayed
+ self._tf, self._comp = self.p.timeframe, self.p.compression
+ else:
+ # Else (even if resampling) pass the final timeframe which may
+ # been modified by a resampling filter
+ self._tf, self._comp = self._timeframe, self._compression,
+
+ self._ticking = self.store._ticking(self._tf)
+ self._syminfo = syminfo = self.store._symboldata(self._dataname)
+
+ # For most markets:
+ # mktoffset == mktoff1 and substracting this value from reported times
+ # is enough to report the "market time". Visual Chart changes this from
+ # a value X to 0 if the appropriate setting in the GUI is changed to
+ # change display of time from local <-> market
+ #
+ # But some markets (at least 096XXX) that theoretically live in
+ # Europe/London seem to be displaced 1 hour to the west and an extra
+ # hour is needed.
+ # These markets do also need "usetimezoned" True to actually display
+ # the market time, because this is done internally using the
+ # definitions in TZOUTS
+
+ # Record and calculate market offsets
+ self._mktoffset = timedelta(seconds=syminfo.TimeOffset)
+ # Add millisecond to pusth HH:MM:59.999 -> 00.000 unless ticks
+ if self.p.millisecond and not self._ticking:
+ self._mktoffset -= self.MILLISECOND
+
+ self._mktoff1 = self._mktoffset
+ if self._mktcode in self._EXTRA_TIMEOFFSET:
+ # These codes live theoretically in
+ # (UTC+00:00) Dublin, Edinburgh, Lisbon, London which is
+ # 'Europe/London'
+ # But all experiments show the times to be displaced 1 hour to
+ # the west and hence the extra 3600 seconds
+ self._mktoffset -= timedelta(seconds=3600)
+
+ self._mktoffdiff = self._mktoffset - self._mktoff1
+
+ if self._state == self._ST_START:
+ self.put_notification(self.DELAYED)
+
+ # Now request the data and get a comms queue for it
+ self.q = self.store._directdata(
+ self,
+ self._dataname,
+ self._tf, self._comp,
+ self.p.fromdate, self.p.todate,
+ self.p.historical)
+
+ self._state = self._ST_FEEDING
+
+ def stop(self):
+ '''Stops and tells the store to stop'''
+ super(VCData, self).stop()
+ if self.q:
+ self.store._canceldirectdata(self.q)
+
+ def _setserie(self, serie):
+ # Accepts a serie (COM Object) to use in ping events
+ self._serie = serie
+
+ def haslivedata(self):
+ return self._laststatus == self.LIVE and self.q
+
+ def _load(self):
+ if self._state == self._ST_NOTFOUND:
+ return False # nothing can be done
+
+ while True:
+ try:
+ # tmout <> 0 only if resampling/replaying, else no waking up
+ tmout = self._qcheck * bool(self.resampling)
+ msg = self.q.get(timeout=tmout)
+ except queue.Empty:
+ return None
+
+ if msg is None:
+ return False # end of stream
+
+ if msg == self.store._RT_SHUTDOWN:
+ self.put_notification(self.DISCONNECTED)
+ return False # VC has exited
+
+ if msg == self.store._RT_DISCONNECTED:
+ self.put_notification(self.CONNBROKEN)
+ continue
+
+ if msg == self.store._RT_CONNECTED:
+ self.put_notification(self.CONNECTED)
+ self.put_notification(self.DELAYED)
+ continue
+
+ if msg == self.store._RT_LIVE:
+ if self._laststatus != self.LIVE:
+ self.put_notification(self.LIVE)
+ continue
+
+ if msg == self.store._RT_DELAYED:
+ if self._laststatus != self.DELAYED:
+ self.put_notification(self.DELAYED)
+ continue
+
+ if isinstance(msg, integer_types):
+ self.put_notification(self.UNKNOWN, msg)
+ continue
+
+ # it must be a bar
+ bar = msg
+
+ # Put the tick into the bar
+ self.lines.open[0] = bar.Open
+ self.lines.high[0] = bar.High
+ self.lines.low[0] = bar.Low
+ self.lines.close[0] = bar.Close
+ self.lines.volume[0] = bar.Volume
+ self.lines.openinterest[0] = bar.OpenInterest
+
+ # Convert time to "market" time (096 exception)
+ dt = self.NULLDATE + timedelta(days=bar.Date) - self._mktoffset
+ self.lines.datetime[0] = date2num(dt)
+
+ return True
+
+ #
+ # DS Events
+ #
+ def _getpingtmout(self):
+ '''Returns the actual ping timeout for PumpEvents to wake up and call
+ ping, which will check if the not yet delivered bar can be
+ delivered. The bar may be stalled because vc awaits a new tick and
+ during low negotiation hour this can take several seconds after the
+ actual expected delivery time'''
+ if self._ticking:
+ return -1 # no timeout
+
+ return self._pingtmout
+
+ def OnNewDataSerieBar(self, DataSerie, forcepush=False):
+ # Processes the COM Event (also called directly when 1st creating the
+ # data serie
+ ssize = DataSerie.Size
+
+ if ssize - self.idx > 1:
+ # More than 1 bar on-board -> delay in place
+ if self._laststatus != self.DELAYED:
+ self.q.put(self.store._RT_DELAYED)
+
+ # return everything if original tf is ticks or force pushing
+ ssize += forcepush or self._ticking
+ for idx in range(self.idx, ssize):
+ bar = DataSerie.GetBarValues(idx)
+ self.q.put(bar)
+
+ if not forcepush and not self._ticking and ssize:
+ # A bar has been left in place
+ dtnow = datetime.now() - self._TOFFSET # adjust local time
+
+ bar = DataSerie.GetBarValues(ssize)
+ dt = self.NULLDATE + timedelta(days=bar.Date) - self._mktoffdiff
+ if dtnow < dt:
+ # A bar is there, not deliverable yet - LIVE
+ if self._laststatus != self.LIVE:
+ self.q.put(self.store._RT_LIVE)
+
+ # Adjust ping timeout to the bar boundary (plus mini leeway)
+ self._pingtmout = (dt - dtnow).total_seconds() + 0.5
+
+ else:
+ self._pingtmout = self.PING_TIMEOUT # no bar left, long pause
+ self.q.put(bar) # push bar and update index
+ ssize += 1 # pushed last one out
+
+ # Write down the last processed bar
+ self.idx = max(1, ssize)
+
+ def ping(self):
+ ssize = self._serie.Size
+
+ if self.idx > ssize:
+ return # no bar available
+
+ if self._laststatus == self.CONNBROKEN:
+ self._pingtmout = self.PING_TIMEOUT
+ return # do not push during disconnection
+
+ dtnow = datetime.now() - self._TOFFSET
+ # CHECK: there should be a maximum of 1 bar when pinging
+ # In any case the algorithm doesn't hurt
+ for idx in range(self.idx, ssize + 1): # reach ssize
+ bar = self._serie.GetBarValues(self.idx)
+ # dt = (self.NULLDATE + timedelta(days=bar.Date) + self._mktoff1)
+ dt = self.NULLDATE + timedelta(days=bar.Date) - self._mktoffdiff
+ if dtnow < dt:
+ self._pingtmout = (dt - dtnow).total_seconds() + 0.5
+ break # cannot deliver anything
+
+ # Adjust ping timeout to the bar boundary (plus mini leeway)
+ self._pingtmout = self.PING_TIMEOUT # no bar, nothing to check
+ self.q.put(bar) # push bar and update index
+ self.idx += 1
+
+ #
+ # RTEvents
+ #
+ # Can be used on a per data basis to check the connection status
+ if False:
+ def OnInternalEvent(self, p1, p2, p3):
+ if p1 != 1: # Apparently "Connection Event"
+ return
+
+ if p2 == self.lastconn:
+ return # do not notify twice
+
+ self.lastconn = p2 # keep new notification code
+
+ # p2 should be 0 (disconn), 1 (conn)
+ self.store._vcrt_connection(self.store._RT_BASEMSG - p2)
+
+ def OnNewTicks(self, ArrayTicks):
+ # Process the COM Event for New Ticks. This is only used temporarily
+ # for 2 purposes
+ #
+ # 1. If tick.Field == Field_Description is returned, it can be checked
+ # if the requested symbol has been found or not (tick.Date == 0 -> not
+ # found). tick.Text has 'Not Found', but this is more likely to change
+ # Once Field_Description has been seen, the 2nd stage takes place
+ #
+ # 2. When a tick.Field == Field_Time is seen and tick.TickIndex == 0,
+ # the 1st tick of a second is seen and the tick.Date value can be used
+ # to calculate a time offset to the feed server. This is later used to
+ # check if a bar is due delivery or not
+ #
+ # After this the reception of ticks is cancelled
+
+ aticks = ArrayTicks[0]
+ # self.debug_ticks(aticks)
+ ticks = dict()
+ for tick in aticks:
+ ticks[tick.Field] = tick
+
+ if self.store.vcrtmod.Field_Description in ticks:
+ if self._newticks:
+ self._newticks = False
+ hasdate = bool(ticks.get(self.store.vcrtmod.Field_Date, False))
+ self.qrt.put(hasdate)
+ return
+
+ else:
+ try:
+ tick = ticks[self.store.vcrtmod.Field_Time]
+ except KeyError:
+ return
+
+ if tick.TickIndex == 0 and self._mktoff1 is not None:
+ # Adjust the tick time using the mktoffset (with the 096 excep)
+ dttick = (self.NULLDATE + timedelta(days=tick.Date) +
+ self._mktoff1)
+
+ self._TOFFSET = datetime.now() - dttick
+ if self._mktcode in self._EXTRA_TIMEOFFSET:
+ # These codes live theoretically in (UTC+00:00) Dublin,
+ # Edinburgh, Lisbon, London which is 'Europe/London'
+ # But all experiments show the times to be displaced 1
+ # hour to the west and hence the extra 3600 seconds
+ self._TOFFSET -= timedelta(seconds=3600)
+
+ # Cancel ticks
+ self._vcrt.CancelSymbolFeed(self._dataname, False)
+
+ def debug_ticks(self, ticks):
+ print('*' * 50, 'DEBUG OnNewTicks')
+ for tick in ticks:
+ print('-' * 40)
+ print('tick.SymbolCode', tick.SymbolCode.encode('ascii', 'ignore'))
+ fname = self.store.vcrtfields.get(tick.Field, tick.Field)
+ print(' tick.Field : {} ({})'.format(fname, tick.Field))
+ print(' tick.FieldEx :', tick.FieldEx)
+ tdate = tick.Date
+ if tdate:
+ tdate = self.NULLDATE + timedelta(days=tick.Date)
+ print(' tick.Date :', tdate)
+
+ print(' tick.Index :', tick.TickIndex)
+ print(' tick.Value :', tick.Value)
+ print(' tick.Text :', tick.Text.encode('ascii', 'ignore'))
diff --git a/backtrader/source/backtrader/feeds/vchart.py b/backtrader/source/backtrader/feeds/vchart.py
new file mode 100644
index 0000000000000000000000000000000000000000..9f042c718bc9c47e6918d3d13efa37ac57838bea
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/vchart.py
@@ -0,0 +1,145 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import datetime
+import struct
+import os.path
+
+from .. import feed
+from .. import TimeFrame
+from ..utils import date2num
+
+
+class VChartData(feed.DataBase):
+ '''
+ Support for `Visual Chart `_ binary on-disk files for
+ both daily and intradaily formats.
+
+ Note:
+
+ - ``dataname``: to file or open file-like object
+
+ If a file-like object is passed, the ``timeframe`` parameter will be
+ used to determine which is the actual timeframe.
+
+ Else the file extension (``.fd`` for daily and ``.min`` for intraday)
+ will be used.
+ '''
+
+ def start(self):
+ super(VChartData, self).start()
+
+ # Not yet known if a extension is needed
+ self.ext = ''
+
+ if not hasattr(self.p.dataname, 'read'):
+ # assume is a string because it has no write method
+
+ if self.p.dataname.endswith('.fd'):
+ self.p.timeframe = TimeFrame.Days
+ elif self.p.dataname.endswith('.min'):
+ self.p.timeframe = TimeFrame.Minutes
+ else:
+ # Neither fd nor min ... just the code, assign extension
+ if self.p.timeframe == TimeFrame.Days:
+ self.ext = '.fd'
+ else:
+ self.ext = '.min'
+
+ if self.p.timeframe >= TimeFrame.Days:
+ self.barsize = 28
+ self.dtsize = 1
+ self.barfmt = 'IffffII'
+ else:
+ self.dtsize = 2
+ self.barsize = 32
+ self.barfmt = 'IIffffII'
+
+ self.f = None
+ if hasattr(self.p.dataname, 'read'):
+ # A file has been passed in (ex: from a GUI)
+ self.f = self.p.dataname
+ else:
+ dataname = self.p.dataname + self.ext
+ # Let an exception propagate
+ self.f = open(dataname, 'rb')
+
+ def stop(self):
+ if self.f is not None:
+ self.f.close()
+ self.f = None
+
+ def _load(self):
+ if self.f is None:
+ return False
+
+ # Let an exception propagate to let the caller know
+ bardata = self.f.read(self.barsize)
+ if not bardata:
+ return False
+
+ bdata = struct.unpack(self.barfmt, bardata)
+
+ # Years are stored as if they had 500 days
+ y, md = divmod(bdata[0], 500)
+ # Months are stored as if they had 32 days
+ m, d = divmod(md, 32)
+ dt = datetime.datetime(y, m, d)
+
+ if self.dtsize > 1: # Minute Bars
+ # Daily Time is stored in seconds
+ hhmm, ss = divmod(bdata[1], 60)
+ hh, mm = divmod(hhmm, 60)
+ dt = dt.replace(hour=hh, minute=mm, second=ss)
+
+ self.lines.datetime[0] = date2num(dt)
+
+ o, h, l, c, v, oi = bdata[self.dtsize:]
+ self.lines.open[0] = o
+ self.lines.high[0] = h
+ self.lines.low[0] = l
+ self.lines.close[0] = c
+ self.lines.volume[0] = v
+ self.lines.openinterest[0] = oi
+
+ return True
+
+
+class VChartFeed(feed.FeedBase):
+ DataCls = VChartData
+
+ params = (('basepath', ''),) + DataCls.params._gettuple()
+
+ def _getdata(self, dataname, **kwargs):
+ maincode = dataname[0:2]
+ subcode = dataname[2:6]
+
+ datapath = os.path.join(self.p.basepath,
+ 'RealServer', 'Data',
+ maincode, subcode, # 01 00XX
+ dataname)
+
+ newkwargs = self.p._getkwargs()
+ newkwargs.update(kwargs)
+ kwargs['dataname'] = datapath
+ return self.DataCls(**kwargs)
diff --git a/backtrader/source/backtrader/feeds/vchartcsv.py b/backtrader/source/backtrader/feeds/vchartcsv.py
new file mode 100644
index 0000000000000000000000000000000000000000..d5dbdf34594a8307976fcda67fe7e2eba102bc34
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/vchartcsv.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import datetime
+
+from .. import feed
+from .. import TimeFrame
+from ..utils import date2num
+
+
+class VChartCSVData(feed.CSVDataBase):
+ '''
+ Parses a `VisualChart `_ CSV exported file.
+
+ Specific parameters (or specific meaning):
+
+ - ``dataname``: The filename to parse or a file-like object
+ '''
+
+ vctframes = dict(
+ I=TimeFrame.Minutes,
+ D=TimeFrame.Days,
+ W=TimeFrame.Weeks,
+ M=TimeFrame.Months)
+
+ def _loadline(self, linetokens):
+ itokens = iter(linetokens)
+
+ ticker = next(itokens) # skip ticker name
+ if not self._name:
+ self._name = ticker
+
+ # day/intraday indication
+ timeframe = next(itokens)
+
+ self._timeframe = self.vctframes[timeframe]
+
+ dttxt = next(itokens)
+ y, m, d = int(dttxt[0:4]), int(dttxt[4:6]), int(dttxt[6:8])
+
+ tmtxt = next(itokens)
+ if timeframe == 'I':
+ # use the provided time
+ hh, mmss = divmod(int(tmtxt), 10000)
+ mm, ss = divmod(mmss, 100)
+ else:
+ # put it at the end of the session parameter
+ hh = self.p.sessionend.hour
+ mm = self.p.sessionend.minute
+ ss = self.p.sessionend.second
+
+ dtnum = date2num(datetime.datetime(y, m, d, hh, mm, ss))
+
+ self.lines.datetime[0] = dtnum
+ self.lines.open[0] = float(next(itokens))
+ self.lines.high[0] = float(next(itokens))
+ self.lines.low[0] = float(next(itokens))
+ self.lines.close[0] = float(next(itokens))
+ self.lines.volume[0] = float(next(itokens))
+ self.lines.openinterest[0] = float(next(itokens))
+
+ return True
+
+
+class VChartCSV(feed.CSVFeedBase):
+ DataCls = VChartCSVData
diff --git a/backtrader/source/backtrader/feeds/vchartfile.py b/backtrader/source/backtrader/feeds/vchartfile.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e7b84ec686703c6c9b21953217d5afdee64dd2d
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/vchartfile.py
@@ -0,0 +1,141 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from datetime import datetime
+from struct import unpack
+import os.path
+
+import backtrader as bt
+from backtrader import date2num # avoid dict lookups
+
+
+class MetaVChartFile(bt.DataBase.__class__):
+ def __init__(cls, name, bases, dct):
+ '''Class has already been created ... register'''
+ # Initialize the class
+ super(MetaVChartFile, cls).__init__(name, bases, dct)
+
+ # Register with the store
+ bt.stores.VChartFile.DataCls = cls
+
+
+class VChartFile(bt.with_metaclass(MetaVChartFile, bt.DataBase)):
+ '''
+ Support for `Visual Chart `_ binary on-disk files for
+ both daily and intradaily formats.
+
+ Note:
+
+ - ``dataname``: Market code displayed by Visual Chart. Example: 015ES for
+ EuroStoxx 50 continuous future
+ '''
+
+ def start(self):
+ super(VChartFile, self).start()
+ if self._store is None:
+ self._store = bt.stores.VChartFile()
+ self._store.start()
+
+ self._store.start(data=self)
+
+ # Choose extension and extraction/calculation parameters
+ if self.p.timeframe < bt.TimeFrame.Minutes:
+ ext = '.tck' # seconds will still need resampling
+ # FIXME: find reference to tick counter for format
+ elif self.p.timeframe < bt.TimeFrame.Days:
+ ext = '.min'
+ self._dtsize = 2
+ self._barsize = 32
+ self._barfmt = 'IIffffII'
+ else:
+ ext = '.fd'
+ self._barsize = 28
+ self._dtsize = 1
+ self._barfmt = 'IffffII'
+
+ # Construct full path
+ basepath = self._store.get_datapath()
+
+ # Example: 01 + 0 + 015ES + .fd -> 010015ES.fd
+ dataname = '01' + '0' + self.p.dataname + ext
+ # 015ES -> 0 + 015 -> 0015
+ mktcode = '0' + self.p.dataname[0:3]
+
+ # basepath/0015/010015ES.fd
+ path = os.path.join(basepath, mktcode, dataname)
+ try:
+ self.f = open(path, 'rb')
+ except IOError:
+ self.f = None
+
+ def stop(self):
+ if self.f is not None:
+ self.f.close()
+ self.f = None
+
+ def _load(self):
+ if self.f is None:
+ return False # cannot load more
+
+ try:
+ bardata = self.f.read(self._barsize)
+ except IOError:
+ self.f = None # cannot return, nullify file
+ return False # cannot load more
+
+ if not bardata or len(bardata) < self._barsize:
+ self.f = None # cannot return, nullify file
+ return False # cannot load more
+
+ try:
+ bdata = unpack(self._barfmt, bardata)
+ except:
+ self.f = None
+ return False
+
+ # First Date
+ y, md = divmod(bdata[0], 500) # Years stored as if they had 500 days
+ m, d = divmod(md, 32) # Months stored as if they had 32 days
+ dt = datetime(y, m, d)
+
+ # Time
+ if self._dtsize > 1: # Minute Bars
+ # Daily Time is stored in seconds
+ hhmm, ss = divmod(bdata[1], 60)
+ hh, mm = divmod(hhmm, 60)
+ dt = dt.replace(hour=hh, minute=mm, second=ss)
+ else: # Daily Bars
+ dt = datetime.combine(dt, self.p.sessionend)
+
+ self.lines.datetime[0] = date2num(dt) # Store time
+
+ # Get the rest of the fields
+ o, h, l, c, v, oi = bdata[self._dtsize:]
+ self.lines.open[0] = o
+ self.lines.high[0] = h
+ self.lines.low[0] = l
+ self.lines.close[0] = c
+ self.lines.volume[0] = v
+ self.lines.openinterest[0] = oi
+
+ return True # a bar has been successfully loaded
diff --git a/backtrader/source/backtrader/feeds/yahoo.py b/backtrader/source/backtrader/feeds/yahoo.py
new file mode 100644
index 0000000000000000000000000000000000000000..d9a05212a5c9ad9f12d3f24b15c93f71f6dd7d55
--- /dev/null
+++ b/backtrader/source/backtrader/feeds/yahoo.py
@@ -0,0 +1,362 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+from datetime import date, datetime
+import io
+import itertools
+
+from ..utils.py3 import (urlopen, urlquote, ProxyHandler, build_opener,
+ install_opener)
+
+import backtrader as bt
+from .. import feed
+from ..utils import date2num
+
+
+class YahooFinanceCSVData(feed.CSVDataBase):
+ '''
+ Parses pre-downloaded Yahoo CSV Data Feeds (or locally generated if they
+ comply to the Yahoo format)
+
+ Specific parameters:
+
+ - ``dataname``: The filename to parse or a file-like object
+
+ - ``reverse`` (default: ``False``)
+
+ It is assumed that locally stored files have already been reversed
+ during the download process
+
+ - ``adjclose`` (default: ``True``)
+
+ Whether to use the dividend/split adjusted close and adjust all
+ values according to it.
+
+ - ``adjvolume`` (default: ``True``)
+
+ Do also adjust ``volume`` if ``adjclose`` is also ``True``
+
+ - ``round`` (default: ``True``)
+
+ Whether to round the values to a specific number of decimals after
+ having adjusted the close
+
+ - ``roundvolume`` (default: ``0``)
+
+ Round the resulting volume to the given number of decimals after having
+ adjusted it
+
+ - ``decimals`` (default: ``2``)
+
+ Number of decimals to round to
+
+ - ``swapcloses`` (default: ``False``)
+
+ [2018-11-16] It would seem that the order of *close* and *adjusted
+ close* is now fixed. The parameter is retained, in case the need to
+ swap the columns again arose.
+
+ '''
+ lines = ('adjclose',)
+
+ params = (
+ ('reverse', False),
+ ('adjclose', True),
+ ('adjvolume', True),
+ ('round', True),
+ ('decimals', 2),
+ ('roundvolume', False),
+ ('swapcloses', False),
+ )
+
+ def start(self):
+ super(YahooFinanceCSVData, self).start()
+
+ if not self.params.reverse:
+ return
+
+ # Yahoo sends data in reverse order and the file is still unreversed
+ dq = collections.deque()
+ for line in self.f:
+ dq.appendleft(line)
+
+ f = io.StringIO(newline=None)
+ f.writelines(dq)
+ f.seek(0)
+ self.f.close()
+ self.f = f
+
+ def _loadline(self, linetokens):
+ while True:
+ nullseen = False
+ for tok in linetokens[1:]:
+ if tok == 'null':
+ nullseen = True
+ linetokens = self._getnextline() # refetch tokens
+ if not linetokens:
+ return False # cannot fetch, go away
+
+ # out of for to carry on wiwth while True logic
+ break
+
+ if not nullseen:
+ break # can proceed
+
+ i = itertools.count(0)
+
+ dttxt = linetokens[next(i)]
+ dt = date(int(dttxt[0:4]), int(dttxt[5:7]), int(dttxt[8:10]))
+ dtnum = date2num(datetime.combine(dt, self.p.sessionend))
+
+ self.lines.datetime[0] = dtnum
+ o = float(linetokens[next(i)])
+ h = float(linetokens[next(i)])
+ l = float(linetokens[next(i)])
+ c = float(linetokens[next(i)])
+ self.lines.openinterest[0] = 0.0
+
+ # 2018-11-16 ... Adjusted Close seems to always be delivered after
+ # the close and before the volume columns
+ adjustedclose = float(linetokens[next(i)])
+ try:
+ v = float(linetokens[next(i)])
+ except: # cover the case in which volume is "null"
+ v = 0.0
+
+ if self.p.swapcloses: # swap closing prices if requested
+ c, adjustedclose = adjustedclose, c
+
+ adjfactor = c / adjustedclose
+
+ # in v7 "adjusted prices" seem to be given, scale back for non adj
+ if self.params.adjclose:
+ o /= adjfactor
+ h /= adjfactor
+ l /= adjfactor
+ c = adjustedclose
+ # If the price goes down, volume must go up and viceversa
+ if self.p.adjvolume:
+ v *= adjfactor
+
+ if self.p.round:
+ decimals = self.p.decimals
+ o = round(o, decimals)
+ h = round(h, decimals)
+ l = round(l, decimals)
+ c = round(c, decimals)
+
+ v = round(v, self.p.roundvolume)
+
+ self.lines.open[0] = o
+ self.lines.high[0] = h
+ self.lines.low[0] = l
+ self.lines.close[0] = c
+ self.lines.volume[0] = v
+ self.lines.adjclose[0] = adjustedclose
+
+ return True
+
+
+class YahooLegacyCSV(YahooFinanceCSVData):
+ '''
+ This is intended to load files which were downloaded before Yahoo
+ discontinued the original service in May-2017
+
+ '''
+ params = (
+ ('version', ''),
+ )
+
+
+class YahooFinanceCSV(feed.CSVFeedBase):
+ DataCls = YahooFinanceCSVData
+
+
+class YahooFinanceData(YahooFinanceCSVData):
+ '''
+ Executes a direct download of data from Yahoo servers for the given time
+ range.
+
+ Specific parameters (or specific meaning):
+
+ - ``dataname``
+
+ The ticker to download ('YHOO' for Yahoo own stock quotes)
+
+ - ``proxies``
+
+ A dict indicating which proxy to go through for the download as in
+ {'http': 'http://myproxy.com'} or {'http': 'http://127.0.0.1:8080'}
+
+ - ``period``
+
+ The timeframe to download data in. Pass 'w' for weekly and 'm' for
+ monthly.
+
+ - ``reverse``
+
+ [2018-11-16] The latest incarnation of Yahoo online downloads returns
+ the data in the proper order. The default value of ``reverse`` for the
+ online download is therefore set to ``False``
+
+ - ``adjclose``
+
+ Whether to use the dividend/split adjusted close and adjust all values
+ according to it.
+
+ - ``urlhist``
+
+ The url of the historical quotes in Yahoo Finance used to gather a
+ ``crumb`` authorization cookie for the download
+
+ - ``urldown``
+
+ The url of the actual download server
+
+ - ``retries``
+
+ Number of times (each) to try to get a ``crumb`` cookie and download
+ the data
+
+ '''
+
+ params = (
+ ('proxies', {}),
+ ('period', 'd'),
+ ('reverse', False),
+ ('urlhist', 'https://finance.yahoo.com/quote/{}/history'),
+ ('urldown', 'https://query1.finance.yahoo.com/v7/finance/download'),
+ ('retries', 3),
+ )
+
+ def start_v7(self):
+ try:
+ import requests
+ except ImportError:
+ msg = ('The new Yahoo data feed requires to have the requests '
+ 'module installed. Please use pip install requests or '
+ 'the method of your choice')
+ raise Exception(msg)
+
+ self.error = None
+ url = self.p.urlhist.format(self.p.dataname)
+
+ sesskwargs = dict()
+ if self.p.proxies:
+ sesskwargs['proxies'] = self.p.proxies
+
+ crumb = None
+ sess = requests.Session()
+ sess.headers['User-Agent'] = 'backtrader'
+ for i in range(self.p.retries + 1): # at least once
+ resp = sess.get(url, **sesskwargs)
+ if resp.status_code != requests.codes.ok:
+ continue
+
+ txt = resp.text
+ i = txt.find('CrumbStore')
+ if i == -1:
+ continue
+ i = txt.find('crumb', i)
+ if i == -1:
+ continue
+ istart = txt.find('"', i + len('crumb') + 1)
+ if istart == -1:
+ continue
+ istart += 1
+ iend = txt.find('"', istart)
+ if iend == -1:
+ continue
+
+ crumb = txt[istart:iend]
+ crumb = crumb.encode('ascii').decode('unicode-escape')
+ break
+
+ if crumb is None:
+ self.error = 'Crumb not found'
+ self.f = None
+ return
+
+ crumb = urlquote(crumb)
+
+ # urldown/ticker?period1=posix1&period2=posix2&interval=1d&events=history&crumb=crumb
+
+ # Try to download
+ urld = '{}/{}'.format(self.p.urldown, self.p.dataname)
+
+ urlargs = []
+ posix = date(1970, 1, 1)
+ if self.p.todate is not None:
+ period2 = (self.p.todate.date() - posix).total_seconds()
+ urlargs.append('period2={}'.format(int(period2)))
+
+ if self.p.todate is not None:
+ period1 = (self.p.fromdate.date() - posix).total_seconds()
+ urlargs.append('period1={}'.format(int(period1)))
+
+ intervals = {
+ bt.TimeFrame.Days: '1d',
+ bt.TimeFrame.Weeks: '1wk',
+ bt.TimeFrame.Months: '1mo',
+ }
+
+ urlargs.append('interval={}'.format(intervals[self.p.timeframe]))
+ urlargs.append('events=history')
+ urlargs.append('crumb={}'.format(crumb))
+
+ urld = '{}?{}'.format(urld, '&'.join(urlargs))
+ f = None
+ for i in range(self.p.retries + 1): # at least once
+ resp = sess.get(urld, **sesskwargs)
+ if resp.status_code != requests.codes.ok:
+ continue
+
+ ctype = resp.headers['Content-Type']
+ # Cover as many text types as possible for Yahoo changes
+ if not ctype.startswith('text/'):
+ self.error = 'Wrong content type: %s' % ctype
+ continue # HTML returned? wrong url?
+
+ # buffer everything from the socket into a local buffer
+ try:
+ # r.encoding = 'UTF-8'
+ f = io.StringIO(resp.text, newline=None)
+ except Exception:
+ continue # try again if possible
+
+ break
+
+ self.f = f
+
+ def start(self):
+ self.start_v7()
+
+ # Prepared a "path" file - CSV Parser can take over
+ super(YahooFinanceData, self).start()
+
+
+class YahooFinance(feed.CSVFeedBase):
+ DataCls = YahooFinanceData
+
+ params = DataCls.params._gettuple()
diff --git a/backtrader/source/backtrader/fillers.py b/backtrader/source/backtrader/fillers.py
new file mode 100644
index 0000000000000000000000000000000000000000..3bd298f888fc76713c847e00a60edcaacd537693
--- /dev/null
+++ b/backtrader/source/backtrader/fillers.py
@@ -0,0 +1,111 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from backtrader.utils.py3 import MAXINT, with_metaclass
+
+from backtrader.metabase import MetaParams
+
+
+class FixedSize(with_metaclass(MetaParams, object)):
+ '''Returns the execution size for a given order using a *percentage* of the
+ volume in a bar.
+
+ This percentage is set with the parameter ``perc``
+
+ Params:
+
+ - ``size`` (default: ``None``) maximum size to be executed. The actual
+ volume of the bar at execution time is also a limit if smaller than the
+ size
+
+ If the value of this parameter evaluates to False, the entire volume
+ of the bar will be used to match the order
+ '''
+ params = (('size', None),)
+
+ def __call__(self, order, price, ago):
+ size = self.p.size or MAXINT
+ return min((order.data.volume[ago], abs(order.executed.remsize), size))
+
+
+class FixedBarPerc(with_metaclass(MetaParams, object)):
+ '''Returns the execution size for a given order using a *percentage* of the
+ volume in a bar.
+
+ This percentage is set with the parameter ``perc``
+
+ Params:
+
+ - ``perc`` (default: ``100.0``) (valied values: ``0.0 - 100.0``)
+
+ Percentage of the volume bar to use to execute an order
+ '''
+ params = (('perc', 100.0),)
+
+ def __call__(self, order, price, ago):
+ # Get the volume and scale it to the requested perc
+ maxsize = (order.data.volume[ago] * self.p.perc) // 100
+ # Return the maximum possible executed volume
+ return min(maxsize, abs(order.executed.remsize))
+
+
+class BarPointPerc(with_metaclass(MetaParams, object)):
+ '''Returns the execution size for a given order. The volume will be
+ distributed uniformly in the range *high*-*low* using ``minmov`` to
+ partition.
+
+ From the allocated volume for the given price, the ``perc`` percentage will
+ be used
+
+ Params:
+
+ - ``minmov`` (default: ``0.01``)
+
+ Minimum price movement. Used to partition the range *high*-*low* to
+ proportionally distribute the volume amongst possible prices
+
+ - ``perc`` (default: ``100.0``) (valied values: ``0.0 - 100.0``)
+
+ Percentage of the volume allocated to the order execution price to use
+ for matching
+
+ '''
+ params = (
+ ('minmov', None),
+ ('perc', 100.0),
+ )
+
+ def __call__(self, order, price, ago):
+ data = order.data
+ minmov = self.p.minmov
+
+ parts = 1
+ if minmov:
+ # high - low + minmov to account for open ended minus op
+ parts = (data.high[ago] - data.low[ago] + minmov) // minmov
+
+ alloc_vol = ((data.volume[ago] / parts) * self.p.perc) // 100.0
+
+ # return max possible executable volume
+ return min(alloc_vol, abs(order.executed.remsize))
diff --git a/backtrader/source/backtrader/filters/__init__.py b/backtrader/source/backtrader/filters/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3e6cad695d9e59c10eb97b4b3f2c1dc6ec392729
--- /dev/null
+++ b/backtrader/source/backtrader/filters/__init__.py
@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from .. import Filter
+
+from .datafilter import *
+from .datafiller import *
+from .session import *
+from .calendardays import *
+from .daysteps import *
+from .bsplitter import *
+from .heikinashi import *
+from .renko import *
diff --git a/backtrader/source/backtrader/filters/bsplitter.py b/backtrader/source/backtrader/filters/bsplitter.py
new file mode 100644
index 0000000000000000000000000000000000000000..997aa2a51bdf1d00141a6f9d42ae10091a0842bb
--- /dev/null
+++ b/backtrader/source/backtrader/filters/bsplitter.py
@@ -0,0 +1,111 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import datetime
+
+import backtrader as bt
+
+
+class DaySplitter_Close(bt.with_metaclass(bt.MetaParams, object)):
+ '''
+ Splits a daily bar in two parts simulating 2 ticks which will be used to
+ replay the data:
+
+ - First tick: ``OHLX``
+
+ The ``Close`` will be replaced by the *average* of ``Open``, ``High``
+ and ``Low``
+
+ The session opening time is used for this tick
+
+ and
+
+ - Second tick: ``CCCC``
+
+ The ``Close`` price will be used for the four components of the price
+
+ The session closing time is used for this tick
+
+ The volume will be split amongst the 2 ticks using the parameters:
+
+ - ``closevol`` (default: ``0.5``) The value indicate which percentage, in
+ absolute terms from 0.0 to 1.0, has to be assigned to the *closing*
+ tick. The rest will be assigned to the ``OHLX`` tick.
+
+ **This filter is meant to be used together with** ``cerebro.replaydata``
+
+ '''
+ params = (
+ ('closevol', 0.5), # 0 -> 1 amount of volume to keep for close
+ )
+
+ # replaying = True
+
+ def __init__(self, data):
+ self.lastdt = None
+
+ def __call__(self, data):
+ # Make a copy of the new bar and remove it from stream
+ datadt = data.datetime.date() # keep the date
+
+ if self.lastdt == datadt:
+ return False # skip bars that come again in the filter
+
+ self.lastdt = datadt # keep ref to last seen bar
+
+ # Make a copy of current data for ohlbar
+ ohlbar = [data.lines[i][0] for i in range(data.size())]
+ closebar = ohlbar[:] # Make a copy for the close
+
+ # replace close price with o-h-l average
+ ohlprice = ohlbar[data.Open] + ohlbar[data.High] + ohlbar[data.Low]
+ ohlbar[data.Close] = ohlprice / 3.0
+
+ vol = ohlbar[data.Volume] # adjust volume
+ ohlbar[data.Volume] = vohl = int(vol * (1.0 - self.p.closevol))
+
+ oi = ohlbar[data.OpenInterest] # adjust open interst
+ ohlbar[data.OpenInterest] = 0
+
+ # Adjust times
+ dt = datetime.datetime.combine(datadt, data.p.sessionstart)
+ ohlbar[data.DateTime] = data.date2num(dt)
+
+ # Ajust closebar to generate a single tick -> close price
+ closebar[data.Open] = cprice = closebar[data.Close]
+ closebar[data.High] = cprice
+ closebar[data.Low] = cprice
+ closebar[data.Volume] = vol - vohl
+ ohlbar[data.OpenInterest] = oi
+
+ # Adjust times
+ dt = datetime.datetime.combine(datadt, data.p.sessionend)
+ closebar[data.DateTime] = data.date2num(dt)
+
+ # Update stream
+ data.backwards(force=True) # remove the copied bar from stream
+ data._add2stack(ohlbar) # add ohlbar to stack
+ # Add 2nd part to stash to delay processing to next round
+ data._add2stack(closebar, stash=True)
+
+ return False # initial tick can be further processed from stack
diff --git a/backtrader/source/backtrader/filters/calendardays.py b/backtrader/source/backtrader/filters/calendardays.py
new file mode 100644
index 0000000000000000000000000000000000000000..8f1345eb2f60a4941d143b45c18ccf90e57cc7bf
--- /dev/null
+++ b/backtrader/source/backtrader/filters/calendardays.py
@@ -0,0 +1,120 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from datetime import date, datetime, timedelta
+
+from backtrader import TimeFrame
+from backtrader.utils.py3 import with_metaclass
+from .. import metabase
+
+
+class CalendarDays(with_metaclass(metabase.MetaParams, object)):
+ '''
+ Bar Filler to add missing calendar days to trading days
+
+ Params:
+
+ - fill_price (def: None):
+
+ > 0: The given value to fill
+ 0 or None: Use the last known closing price
+ -1: Use the midpoint of the last bar (High-Low average)
+
+ - fill_vol (def: float('NaN')):
+
+ Value to use to fill the missing volume
+
+ - fill_oi (def: float('NaN')):
+
+ Value to use to fill the missing Open Interest
+ '''
+ params = (('fill_price', None),
+ ('fill_vol', float('NaN')),
+ ('fill_oi', float('NaN')),)
+
+ ONEDAY = timedelta(days=1)
+ lastdt = date.max
+
+ def __init__(self, data):
+ pass
+
+ def __call__(self, data):
+ '''
+ If the data has a gap larger than 1 day amongst bars, the missing bars
+ are added to the stream.
+
+ Params:
+ - data: the data source to filter/process
+
+ Returns:
+ - False (always): this filter does not remove bars from the stream
+
+ '''
+ dt = data.datetime.date()
+ if (dt - self.lastdt) > self.ONEDAY: # gap in place
+ self._fillbars(data, dt, self.lastdt)
+
+ self.lastdt = dt
+ return False # no bar has been removed from the stream
+
+ def _fillbars(self, data, dt, lastdt):
+ '''
+ Fills one by one bars as needed from time_start to time_end
+
+ Invalidates the control dtime_prev if requested
+ '''
+ tm = data.datetime.time(0) # get time part
+
+ # Same price for all bars
+ if self.p.fill_price > 0:
+ price = self.p.fill_price
+ elif not self.p.fill_price:
+ price = data.close[-1]
+ elif self.p.fill_price == -1:
+ price = (data.high[-1] + data.low[-1]) / 2.0
+
+ while lastdt < dt:
+ lastdt += self.ONEDAY
+
+ # Prepare an array of the needed size
+ bar = [float('Nan')] * data.size()
+ # Fill the datetime
+ bar[data.DateTime] = data.date2num(datetime.combine(lastdt, tm))
+
+ # Fill price fields
+ for pricetype in [data.Open, data.High, data.Low, data.Close]:
+ bar[pricetype] = price
+
+ # Fill volume and open interest
+ bar[data.Volume] = self.p.fill_vol
+ bar[data.OpenInterest] = self.p.fill_oi
+
+ # Fill extra lines the data feed may have defined beyond DateTime
+ for i in range(data.DateTime + 1, data.size()):
+ bar[i] = data.lines[i][0]
+
+ # Add this constructed bar to the stack of the stream
+ data._add2stack(bar)
+
+ # Save to stack the bar that signaled the gap
+ data._save2stack(erase=True)
diff --git a/backtrader/source/backtrader/filters/datafiller.py b/backtrader/source/backtrader/filters/datafiller.py
new file mode 100644
index 0000000000000000000000000000000000000000..87fe0521cdd9a0e597644646ab238f3c7609b113
--- /dev/null
+++ b/backtrader/source/backtrader/filters/datafiller.py
@@ -0,0 +1,176 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+from datetime import datetime, timedelta
+
+from backtrader import AbstractDataBase, TimeFrame
+
+
+class DataFiller(AbstractDataBase):
+ '''This class will fill gaps in the source data using the following
+ information bits from the underlying data source
+
+ - timeframe and compression to dimension the output bars
+
+ - sessionstart and sessionend
+
+ If a data feed has missing bars in between 10:31 and 10:34 and the
+ timeframe is minutes, the output will be filled with bars for minutes
+ 10:32 and 10:33 using the closing price of the last bar (10:31)
+
+ Bars can be missinga amongst other things because
+
+ Params:
+ - ``fill_price`` (def: None): if None (or evaluates to False),the
+ closing price will be used, else the passed value (which can be
+ for example 'NaN' to have a missing bar in terms of evaluation but
+ present in terms of time
+
+ - ``fill_vol`` (def: NaN): used to fill the volume of missing bars
+
+ - ``fill_oi`` (def: NaN): used to fill the openinterest of missing bars
+ '''
+
+ params = (
+ ('fill_price', None),
+ ('fill_vol', float('NaN')),
+ ('fill_oi', float('NaN')),
+ )
+
+ def start(self):
+ super(DataFiller, self).start()
+ self._fillbars = collections.deque()
+ self._dbar = False
+
+ def preload(self):
+ if len(self.p.dataname) == self.p.dataname.buflen():
+ # if data is not preloaded .... do it
+ self.p.dataname.start()
+ self.p.dataname.preload()
+ self.p.dataname.home()
+
+ # Copy timeframe from data after start (some sources do autodetection)
+ self.p.timeframe = self._timeframe = self.p.dataname._timeframe
+ self.p.compression = self._compression = self.p.dataname._compression
+
+ super(DataFiller, self).preload()
+
+ def _copyfromdata(self):
+ # Data is allowed - Copy size which is "number of lines"
+ for i in range(self.p.dataname.size()):
+ self.lines[i][0] = self.p.dataname.lines[i][0]
+
+ self._dbar = False # invalidate flag for read bar
+
+ return True
+
+ def _frombars(self):
+ dtime, price = self._fillbars.popleft()
+
+ price = self.p.fill_price or price
+
+ self.lines.datetime[0] = self.p.dataname.date2num(dtime)
+ self.lines.open[0] = price
+ self.lines.high[0] = price
+ self.lines.low[0] = price
+ self.lines.close[0] = price
+ self.lines.volume[0] = self.p.fill_vol
+ self.lines.openinterest[0] = self.p.fill_oi
+
+ return True
+
+ # Minimum delta unit in between bars
+ _tdeltas = {
+ TimeFrame.Minutes: timedelta(seconds=60),
+ TimeFrame.Seconds: timedelta(seconds=1),
+ TimeFrame.MicroSeconds: timedelta(microseconds=1),
+ }
+
+ def _load(self):
+ if not len(self.p.dataname):
+ self.p.dataname.start() # start data if not done somewhere else
+
+ # Copy from underlying data
+ self._timeframe = self.p.dataname._timeframe
+ self._compression = self.p.dataname._compression
+
+ self.p.timeframe = self._timeframe
+ self.p.compression = self._compression
+
+ # Calculate and save timedelta for timeframe
+ self._tdunit = self._tdeltas[self._timeframe]
+ self._tdunit *= self._compression
+
+ if self._fillbars:
+ return self._frombars()
+
+ # use existing bar or fetch a bar
+ self._dbar = self._dbar or self.p.dataname.next()
+ if not self._dbar:
+ return False # no more data
+
+ if len(self) == 1:
+ # Cannot yet look backwards - deliver data as is
+ return self._copyfromdata()
+
+ # previous (delivered) close
+ pclose = self.lines.close[-1]
+ # Get time of previous (already delivered) bar
+ dtime_prev = self.lines.datetime.datetime(-1)
+ # Get time of current (from data source) bar
+ dtime_cur = self.p.dataname.datetime.datetime(0)
+
+ # Calculate session end for previous bar
+ send = datetime.combine(dtime_prev.date(), self.p.dataname.sessionend)
+
+ if dtime_cur > send: # if jumped boundary
+ # 1. check for missing bars until boundary (end)
+ dtime_prev += self._tdunit
+ while dtime_prev < send:
+ self._fillbars.append((dtime_prev, pclose))
+ dtime_prev += self._tdunit
+
+ # Calculate session start for new bar
+ sstart = datetime.combine(
+ dtime_cur.date(), self.p.dataname.sessionstart)
+
+ # 2. check for missing bars from new boundary (start)
+ # check gap from new sessionstart
+ while sstart < dtime_cur:
+ self._fillbars.append((sstart, pclose))
+ sstart += self._tdunit
+ else:
+ # no boundary jumped - check gap until current time
+ dtime_prev += self._tdunit
+ while dtime_prev < dtime_cur:
+ self._fillbars.append((dtime_prev, pclose))
+ dtime_prev += self._tdunit
+
+ if self._fillbars:
+ self._dbar = True # flag a pending data bar is available
+
+ # return an accumulated bar in current cycle
+ return self._frombars()
+
+ return self._copyfromdata()
diff --git a/backtrader/source/backtrader/filters/datafilter.py b/backtrader/source/backtrader/filters/datafilter.py
new file mode 100644
index 0000000000000000000000000000000000000000..f9fa8e25fdb4cd50552e4fe737ad8824736006f6
--- /dev/null
+++ b/backtrader/source/backtrader/filters/datafilter.py
@@ -0,0 +1,73 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+
+
+class DataFilter(bt.AbstractDataBase):
+ '''
+ This class filters out bars from a given data source. In addition to the
+ standard parameters of a DataBase it takes a ``funcfilter`` parameter which
+ can be any callable
+
+ Logic:
+
+ - ``funcfilter`` will be called with the underlying data source
+
+ It can be any callable
+
+ - Return value ``True``: current data source bar values will used
+ - Return value ``False``: current data source bar values will discarded
+ '''
+ params = (('funcfilter', None),)
+
+ def preload(self):
+ if len(self.p.dataname) == self.p.dataname.buflen():
+ # if data is not preloaded .... do it
+ self.p.dataname.start()
+ self.p.dataname.preload()
+ self.p.dataname.home()
+
+ # Copy timeframe from data after start (some sources do autodetection)
+ self.p.timeframe = self._timeframe = self.p.dataname._timeframe
+ self.p.compression = self._compression = self.p.dataname._compression
+
+ super(DataFilter, self).preload()
+
+ def _load(self):
+ if not len(self.p.dataname):
+ self.p.dataname.start() # start data if not done somewhere else
+
+ # Tell underlying source to get next data
+ while self.p.dataname.next():
+ # Try to load the data from the underlying source
+ if not self.p.funcfilter(self.p.dataname):
+ continue
+
+ # Data is allowed - Copy size which is "number of lines"
+ for i in range(self.p.dataname.size()):
+ self.lines[i][0] = self.p.dataname.lines[i][0]
+
+ return True
+
+ return False # no more data from underlying source
diff --git a/backtrader/source/backtrader/filters/daysteps.py b/backtrader/source/backtrader/filters/daysteps.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d56bd2221681a570352502d4e2df340dbb9d7c4
--- /dev/null
+++ b/backtrader/source/backtrader/filters/daysteps.py
@@ -0,0 +1,84 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+class BarReplayer_Open(object):
+ '''
+ This filters splits a bar in two parts:
+
+ - ``Open``: the opening price of the bar will be used to deliver an
+ initial price bar in which the four components (OHLC) are equal
+
+ The volume/openinterest fields are 0 for this initial bar
+
+ - ``OHLC``: the original bar is delivered complete with the original
+ ``volume``/``openinterest``
+
+ The split simulates a replay without the need to use the *replay* filter.
+ '''
+ def __init__(self, data):
+ self.pendingbar = None
+ data.resampling = 1
+ data.replaying = True
+
+ def __call__(self, data):
+ ret = True
+
+ # Make a copy of the new bar and remove it from stream
+ newbar = [data.lines[i][0] for i in range(data.size())]
+ data.backwards() # remove the copied bar from stream
+
+ openbar = newbar[:] # Make an open only bar
+ o = newbar[data.Open]
+ for field_idx in [data.High, data.Low, data.Close]:
+ openbar[field_idx] = o
+
+ # Nullify Volume/OpenInteres at the open
+ openbar[data.Volume] = 0.0
+ openbar[data.OpenInterest] = 0.0
+
+ # Overwrite the new data bar with our pending data - except start point
+ if self.pendingbar is not None:
+ data._updatebar(self.pendingbar)
+ ret = False
+
+ self.pendingbar = newbar # update the pending bar to the new bar
+ data._add2stack(openbar) # Add the openbar to the stack for processing
+
+ return ret # the length of the stream was not changed
+
+ def last(self, data):
+ '''Called when the data is no longer producing bars
+ Can be called multiple times. It has the chance to (for example)
+ produce extra bars'''
+ if self.pendingbar is not None:
+ data.backwards() # remove delivered open bar
+ data._add2stack(self.pendingbar) # add remaining
+ self.pendingbar = None # No further action
+ return True # something delivered
+
+ return False # nothing delivered here
+
+
+# Alias
+DayStepsFilter = BarReplayer_Open
diff --git a/backtrader/source/backtrader/filters/heikinashi.py b/backtrader/source/backtrader/filters/heikinashi.py
new file mode 100644
index 0000000000000000000000000000000000000000..08165e73a2b546e0ddc13b76291a971d8b75e547
--- /dev/null
+++ b/backtrader/source/backtrader/filters/heikinashi.py
@@ -0,0 +1,54 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+__all__ = ['HeikinAshi']
+
+
+class HeikinAshi(object):
+ '''
+ The filter remodels the open, high, low, close to make HeikinAshi
+ candlesticks
+
+ See:
+ - https://en.wikipedia.org/wiki/Candlestick_chart#Heikin_Ashi_candlesticks
+ - http://stockcharts.com/school/doku.php?id=chart_school:chart_analysis:heikin_ashi
+
+ '''
+ def __init__(self, data):
+ pass
+
+ def __call__(self, data):
+ o, h, l, c = data.open[0], data.high[0], data.low[0], data.close[0]
+
+ data.close[0] = ha_close0 = (o + h + l + c) / 4.0
+
+ if len(data) > 1:
+ data.open[0] = ha_open0 = (data.open[-1] + data.close[-1]) / 2.0
+ data.high[0] = max(ha_open0, ha_close0, h)
+ data.low[0] = min(ha_open0, ha_close0, l)
+
+ else: # len is 1, no lookback is possible
+ data.open[0] = ha_open0 = (o + c) / 2.0
+
+ return False # length of data stream is unaltered
diff --git a/backtrader/source/backtrader/filters/renko.py b/backtrader/source/backtrader/filters/renko.py
new file mode 100644
index 0000000000000000000000000000000000000000..d07c080e792fdc23b429db9d44aa38a4f3d6fa33
--- /dev/null
+++ b/backtrader/source/backtrader/filters/renko.py
@@ -0,0 +1,139 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from . import Filter
+
+
+__all__ = ['Renko']
+
+
+class Renko(Filter):
+ '''Modify the data stream to draw Renko bars (or bricks)
+
+ Params:
+
+ - ``hilo`` (default: *False*) Use high and low instead of close to decide
+ if a new brick is needed
+
+ - ``size`` (default: *None*) The size to consider for each brick
+
+ - ``autosize`` (default: *20.0*) If *size* is *None*, this will be used
+ to autocalculate the size of the bricks (simply dividing the current
+ price by the given value)
+
+ - ``dynamic`` (default: *False*) If *True* and using *autosize*, the size
+ of the bricks will be recalculated when moving to a new brick. This
+ will of course eliminate the perfect alignment of Renko bricks.
+
+ - ``align`` (default: *1.0*) Factor use to align the price boundaries of
+ the bricks. If the price is for example *3563.25* and *align* is
+ *10.0*, the resulting aligned price will be *3560*. The calculation:
+
+ - 3563.25 / 10.0 = 356.325
+ - round it and remove the decimals -> 356
+ - 356 * 10.0 -> 3560
+
+ - ``roundstart`` (default: *True*) If *True*, round the initial start
+ value to int. Else keep the original value, which should aid when
+ backtesting penny stocks
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:chart_analysis:renko
+
+ '''
+
+ params = (
+ ('hilo', False),
+ ('size', None),
+ ('autosize', 20.0),
+ ('dynamic', False),
+ ('align', 1.0),
+ ('roundstart', True),
+ )
+
+ def nextstart(self, data):
+ o = data.open[0]
+ o = round(o / self.p.align, 0) * self.p.align # aligned
+ self._size = self.p.size or float(o // self.p.autosize)
+ if self.p.roundstart:
+ o = int(o)
+
+ self._top = o + self._size
+ self._bot = o - self._size
+
+ def next(self, data):
+ c = data.close[0]
+ h = data.high[0]
+ l = data.low[0]
+
+ if self.p.hilo:
+ hiprice = h
+ loprice = l
+ else:
+ hiprice = loprice = c
+
+ if hiprice >= self._top:
+ # deliver a renko brick from top -> top + size
+ self._bot = bot = self._top
+
+ if self.p.size is None and self.p.dynamic:
+ self._size = float(c // self.p.autosize)
+ top = bot + self._size
+ top = round(top / self.p.align, 0) * self.p.align # aligned
+ else:
+ top = bot + self._size
+
+ self._top = top
+
+ data.open[0] = bot
+ data.low[0] = bot
+ data.high[0] = top
+ data.close[0] = top
+ data.volume[0] = 0.0
+ data.openinterest[0] = 0.0
+ return False # length of data stream is unaltered
+
+ elif loprice <= self._bot:
+ # deliver a renko brick from bot -> bot - size
+ self._top = top = self._bot
+
+ if self.p.size is None and self.p.dynamic:
+ self._size = float(c // self.p.autosize)
+ bot = top - self._size
+ bot = round(bot / self.p.align, 0) * self.p.align # aligned
+ else:
+ bot = top - self._size
+
+ self._bot = bot
+
+ data.open[0] = top
+ data.low[0] = top
+ data.high[0] = bot
+ data.close[0] = bot
+ data.volume[0] = 0.0
+ data.openinterest[0] = 0.0
+ return False # length of data stream is unaltered
+
+ data.backwards()
+ return True # length of stream was changed, get new bar
diff --git a/backtrader/source/backtrader/filters/session.py b/backtrader/source/backtrader/filters/session.py
new file mode 100644
index 0000000000000000000000000000000000000000..60e437b5b5561dd86501358a786780b633208014
--- /dev/null
+++ b/backtrader/source/backtrader/filters/session.py
@@ -0,0 +1,244 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from datetime import datetime, timedelta
+
+from backtrader import TimeFrame
+from backtrader.utils.py3 import with_metaclass
+from .. import metabase
+
+
+class SessionFiller(with_metaclass(metabase.MetaParams, object)):
+ '''
+ Bar Filler for a Data Source inside the declared session start/end times.
+
+ The fill bars are constructed using the declared Data Source ``timeframe``
+ and ``compression`` (used to calculate the intervening missing times)
+
+ Params:
+
+ - fill_price (def: None):
+
+ If None is passed, the closing price of the previous bar will be
+ used. To end up with a bar which for example takes time but it is not
+ displayed in a plot ... use float('Nan')
+
+ - fill_vol (def: float('NaN')):
+
+ Value to use to fill the missing volume
+
+ - fill_oi (def: float('NaN')):
+
+ Value to use to fill the missing Open Interest
+
+ - skip_first_fill (def: True):
+
+ Upon seeing the 1st valid bar do not fill from the sessionstart up to
+ that bar
+ '''
+ params = (('fill_price', None),
+ ('fill_vol', float('NaN')),
+ ('fill_oi', float('NaN')),
+ ('skip_first_fill', True))
+
+ MAXDATE = datetime.max
+
+ # Minimum delta unit in between bars
+ _tdeltas = {
+ TimeFrame.Minutes: timedelta(seconds=60),
+ TimeFrame.Seconds: timedelta(seconds=1),
+ TimeFrame.MicroSeconds: timedelta(microseconds=1),
+ }
+
+ def __init__(self, data):
+ # Calculate and save timedelta for timeframe
+ self._tdframe = self._tdeltas[data._timeframe]
+ self._tdunit = self._tdeltas[data._timeframe] * data._compression
+
+ self.seenbar = False # control if at least one bar has been seen
+ self.sessend = self.MAXDATE # maxdate is the control for session bar
+
+ def __call__(self, data):
+ '''
+ Params:
+ - data: the data source to filter/process
+
+ Returns:
+ - False (always) because this filter does not remove bars from the
+ stream
+
+ The logic (starting with a session end control flag of MAXDATE)
+
+ - If new bar is over session end (never true for 1st bar)
+
+ Fill up to session end. Reset sessionend to MAXDATE & fall through
+
+ - If session end is flagged as MAXDATE
+
+ Recalculate session limits and check whether the bar is within them
+
+ if so, fill up and record the last seen tim
+
+ - Else ... the incoming bar is in the session, fill up to it
+ '''
+ # Get time of current (from data source) bar
+ ret = False
+
+ dtime_cur = data.datetime.datetime()
+
+ if dtime_cur > self.sessend:
+ # bar over session end - fill up and invalidate
+ # Do not put current bar in stack to let it be evaluated below
+ # Fill up to endsession + smallest unit of timeframe
+ ret = self._fillbars(data, self.dtime_prev,
+ self.sessend + self._tdframe,
+ tostack=False)
+ self.sessend = self.MAXDATE
+
+ # Fall through from previous check ... the bar which is over the
+ # session could already be in a new session and within the limits
+ if self.sessend == self.MAXDATE:
+ # No bar seen yet or one went over previous session limit
+ ddate = dtime_cur.date()
+ sessstart = datetime.combine(ddate, data.p.sessionstart)
+ self.sessend = sessend = datetime.combine(ddate, data.p.sessionend)
+
+ if sessstart <= dtime_cur <= sessend:
+ # 1st bar from session in the session - fill from session start
+ if self.seenbar or not self.p.skip_first_fill:
+ ret = self._fillbars(data,
+ sessstart - self._tdunit, dtime_cur)
+
+ self.seenbar = True
+ self.dtime_prev = dtime_cur
+
+ else:
+ # Seen a previous bar and this is in the session - fill up to it
+ ret = self._fillbars(data, self.dtime_prev, dtime_cur)
+ self.dtime_prev = dtime_cur
+
+ return ret
+
+ def _fillbars(self, data, time_start, time_end, tostack=True):
+ '''
+ Fills one by one bars as needed from time_start to time_end
+
+ Invalidates the control dtime_prev if requested
+ '''
+ # Control flag - bars added to the stack
+ dirty = 0
+
+ time_start += self._tdunit
+ while time_start < time_end:
+ dirty += self._fillbar(data, time_start)
+ time_start += self._tdunit
+
+ if dirty and tostack:
+ data._save2stack(erase=True)
+
+ return bool(dirty) or not tostack
+
+ def _fillbar(self, data, dtime):
+ # Prepare an array of the needed size
+ bar = [float('Nan')] * data.size()
+
+ # Fill datetime
+ bar[data.DateTime] = data.date2num(dtime)
+
+ # Fill the prices
+ price = self.p.fill_price or data.close[-1]
+ for pricetype in [data.Open, data.High, data.Low, data.Close]:
+ bar[pricetype] = price
+
+ # Fill volume and open interest
+ bar[data.Volume] = self.p.fill_vol
+ bar[data.OpenInterest] = self.p.fill_oi
+
+ # Fill extra lines the data feed may have defined beyond DateTime
+ for i in range(data.DateTime + 1, data.size()):
+ bar[i] = data.lines[i][0]
+
+ # Add tot he stack of bars to save
+ data._add2stack(bar)
+
+ return True
+
+
+class SessionFilterSimple(with_metaclass(metabase.MetaParams, object)):
+ '''
+ This class can be applied to a data source as a filter and will filter out
+ intraday bars which fall outside of the regular session times (ie: pre/post
+ market data)
+
+ This is a "simple" filter and must NOT manage the stack of the data (passed
+ during init and __call__)
+
+ It needs no "last" method because it has nothing to deliver
+
+ Bar Management will be done by the SimpleFilterWrapper class made which is
+ added durint the DataBase.addfilter_simple call
+ '''
+ def __init__(self, data):
+ pass
+
+ def __call__(self, data):
+ '''
+ Return Values:
+
+ - False: nothing to filter
+ - True: filter current bar (because it's not in the session times)
+ '''
+ # Both ends of the comparison are in the session
+ return not (
+ data.p.sessionstart <= data.datetime.time(0) <= data.p.sessionend)
+
+
+class SessionFilter(with_metaclass(metabase.MetaParams, object)):
+ '''
+ This class can be applied to a data source as a filter and will filter out
+ intraday bars which fall outside of the regular session times (ie: pre/post
+ market data)
+
+ This is a "non-simple" filter and must manage the stack of the data (passed
+ during init and __call__)
+
+ It needs no "last" method because it has nothing to deliver
+ '''
+ def __init__(self, data):
+ pass
+
+ def __call__(self, data):
+ '''
+ Return Values:
+
+ - False: data stream was not touched
+ - True: data stream was manipulated (bar outside of session times and
+ - removed)
+ '''
+ if data.p.sessionstart <= data.datetime.time(0) <= data.p.sessionend:
+ # Both ends of the comparison are in the session
+ return False # say the stream is untouched
+
+ # bar outside of the regular session times
+ data.backwards() # remove bar from data stack
+ return True # signal the data was manipulated
diff --git a/backtrader/source/backtrader/flt.py b/backtrader/source/backtrader/flt.py
new file mode 100644
index 0000000000000000000000000000000000000000..018385dae0856a4158a24ae93a33b125df015cdf
--- /dev/null
+++ b/backtrader/source/backtrader/flt.py
@@ -0,0 +1,54 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from .metabase import MetaParams
+from .utils.py3 import with_metaclass
+
+
+__all__ = ['Filter']
+
+
+class MetaFilter(MetaParams):
+ pass
+
+
+class Filter(with_metaclass(MetaParams, object)):
+
+ _firsttime = True
+
+ def __init__(self, data):
+ pass
+
+ def __call__(self, data):
+ if self._firsttime:
+ self.nextstart(data)
+ self._firsttime = False
+
+ self.next(data)
+
+ def nextstart(self, data):
+ pass
+
+ def next(self, data):
+ pass
diff --git a/backtrader/source/backtrader/functions.py b/backtrader/source/backtrader/functions.py
new file mode 100644
index 0000000000000000000000000000000000000000..40109bba76f836aa96d53c6beec909b86cb1edfb
--- /dev/null
+++ b/backtrader/source/backtrader/functions.py
@@ -0,0 +1,258 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import functools
+import math
+
+from .linebuffer import LineActions
+from .utils.py3 import cmp, range
+
+
+# Generate a List equivalent which uses "is" for contains
+class List(list):
+ def __contains__(self, other):
+ return any(x.__hash__() == other.__hash__() for x in self)
+
+
+class Logic(LineActions):
+ def __init__(self, *args):
+ super(Logic, self).__init__()
+ self.args = [self.arrayize(arg) for arg in args]
+
+
+class DivByZero(Logic):
+ '''This operation is a Lines object and fills it values by executing a
+ division on the numerator / denominator arguments and avoiding a division
+ by zero exception by checking the denominator
+
+ Params:
+ - a: numerator (numeric or iterable object ... mostly a Lines object)
+ - b: denominator (numeric or iterable object ... mostly a Lines object)
+ - zero (def: 0.0): value to apply if division by zero would be raised
+
+ '''
+ def __init__(self, a, b, zero=0.0):
+ super(DivByZero, self).__init__(a, b)
+ self.a = a
+ self.b = b
+ self.zero = zero
+
+ def next(self):
+ b = self.b[0]
+ self[0] = self.a[0] / b if b else self.zero
+
+ def once(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ srca = self.a.array
+ srcb = self.b.array
+ zero = self.zero
+
+ for i in range(start, end):
+ b = srcb[i]
+ dst[i] = srca[i] / b if b else zero
+
+
+class DivZeroByZero(Logic):
+ '''This operation is a Lines object and fills it values by executing a
+ division on the numerator / denominator arguments and avoiding a division
+ by zero exception or an indetermination by checking the
+ denominator/numerator pair
+
+ Params:
+ - a: numerator (numeric or iterable object ... mostly a Lines object)
+ - b: denominator (numeric or iterable object ... mostly a Lines object)
+ - single (def: +inf): value to apply if division is x / 0
+ - dual (def: 0.0): value to apply if division is 0 / 0
+ '''
+ def __init__(self, a, b, single=float('inf'), dual=0.0):
+ super(DivZeroByZero, self).__init__(a, b)
+ self.a = a
+ self.b = b
+ self.single = single
+ self.dual = dual
+
+ def next(self):
+ b = self.b[0]
+ a = self.a[0]
+ if b == 0.0:
+ self[0] = self.dual if a == 0.0 else self.single
+ else:
+ self[0] = self.a[0] / b
+
+ def once(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ srca = self.a.array
+ srcb = self.b.array
+ single = self.single
+ dual = self.dual
+
+ for i in range(start, end):
+ b = srcb[i]
+ a = srca[i]
+ if b == 0.0:
+ dst[i] = dual if a == 0.0 else single
+ else:
+ dst[i] = a / b
+
+
+class Cmp(Logic):
+ def __init__(self, a, b):
+ super(Cmp, self).__init__(a, b)
+ self.a = self.args[0]
+ self.b = self.args[1]
+
+ def next(self):
+ self[0] = cmp(self.a[0], self.b[0])
+
+ def once(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ srca = self.a.array
+ srcb = self.b.array
+
+ for i in range(start, end):
+ dst[i] = cmp(srca[i], srcb[i])
+
+
+class CmpEx(Logic):
+ def __init__(self, a, b, r1, r2, r3):
+ super(CmpEx, self).__init__(a, b, r1, r2, r3)
+ self.a = self.args[0]
+ self.b = self.args[1]
+ self.r1 = self.args[2]
+ self.r2 = self.args[3]
+ self.r3 = self.args[4]
+
+ def next(self):
+ self[0] = cmp(self.a[0], self.b[0])
+
+ def once(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ srca = self.a.array
+ srcb = self.b.array
+ r1 = self.r1.array
+ r2 = self.r2.array
+ r3 = self.r3.array
+
+ for i in range(start, end):
+ ai = srca[i]
+ bi = srcb[i]
+
+ if ai < bi:
+ dst[i] = r1[i]
+ elif ai > bi:
+ dst[i] = r3[i]
+ else:
+ dst[i] = r2[i]
+
+
+class If(Logic):
+ def __init__(self, cond, a, b):
+ super(If, self).__init__(a, b)
+ self.a = self.args[0]
+ self.b = self.args[1]
+ self.cond = self.arrayize(cond)
+
+ def next(self):
+ self[0] = self.a[0] if self.cond[0] else self.b[0]
+
+ def once(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ srca = self.a.array
+ srcb = self.b.array
+ cond = self.cond.array
+
+ for i in range(start, end):
+ dst[i] = srca[i] if cond[i] else srcb[i]
+
+
+class MultiLogic(Logic):
+ def next(self):
+ self[0] = self.flogic([arg[0] for arg in self.args])
+
+ def once(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ arrays = [arg.array for arg in self.args]
+ flogic = self.flogic
+
+ for i in range(start, end):
+ dst[i] = flogic([arr[i] for arr in arrays])
+
+
+class MultiLogicReduce(MultiLogic):
+ def __init__(self, *args, **kwargs):
+ super(MultiLogicReduce, self).__init__(*args)
+ if 'initializer' not in kwargs:
+ self.flogic = functools.partial(functools.reduce, self.flogic)
+ else:
+ self.flogic = functools.partial(functools.reduce, self.flogic,
+ initializer=kwargs['initializer'])
+
+
+class Reduce(MultiLogicReduce):
+ def __init__(self, flogic, *args, **kwargs):
+ self.flogic = flogic
+ super(Reduce, self).__init__(*args, **kwargs)
+
+
+# The _xxxlogic functions are defined at module scope to make them
+# pickable and therefore compatible with multiprocessing
+def _andlogic(x, y):
+ return bool(x and y)
+
+
+class And(MultiLogicReduce):
+ flogic = staticmethod(_andlogic)
+
+
+def _orlogic(x, y):
+ return bool(x or y)
+
+
+class Or(MultiLogicReduce):
+ flogic = staticmethod(_orlogic)
+
+
+class Max(MultiLogic):
+ flogic = max
+
+
+class Min(MultiLogic):
+ flogic = min
+
+
+class Sum(MultiLogic):
+ flogic = math.fsum
+
+
+class Any(MultiLogic):
+ flogic = any
+
+
+class All(MultiLogic):
+ flogic = all
diff --git a/backtrader/source/backtrader/indicator.py b/backtrader/source/backtrader/indicator.py
new file mode 100644
index 0000000000000000000000000000000000000000..b46b3178599f2a9ad6e0f3cb2d4fb24346060077
--- /dev/null
+++ b/backtrader/source/backtrader/indicator.py
@@ -0,0 +1,164 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from .utils.py3 import range, with_metaclass
+
+from .lineiterator import LineIterator, IndicatorBase
+from .lineseries import LineSeriesMaker, Lines
+from .metabase import AutoInfoClass
+
+
+class MetaIndicator(IndicatorBase.__class__):
+ _refname = '_indcol'
+ _indcol = dict()
+
+ _icache = dict()
+ _icacheuse = False
+
+ @classmethod
+ def cleancache(cls):
+ cls._icache = dict()
+
+ @classmethod
+ def usecache(cls, onoff):
+ cls._icacheuse = onoff
+
+ # Object cache deactivated on 2016-08-17. If the object is being used
+ # inside another object, the minperiod information carried over
+ # influences the first usage when being modified during the 2nd usage
+
+ def __call__(cls, *args, **kwargs):
+ if not cls._icacheuse:
+ return super(MetaIndicator, cls).__call__(*args, **kwargs)
+
+ # implement a cache to avoid duplicating lines actions
+ ckey = (cls, tuple(args), tuple(kwargs.items())) # tuples hashable
+ try:
+ return cls._icache[ckey]
+ except TypeError: # something not hashable
+ return super(MetaIndicator, cls).__call__(*args, **kwargs)
+ except KeyError:
+ pass # hashable but not in the cache
+
+ _obj = super(MetaIndicator, cls).__call__(*args, **kwargs)
+ return cls._icache.setdefault(ckey, _obj)
+
+ def __init__(cls, name, bases, dct):
+ '''
+ Class has already been created ... register subclasses
+ '''
+ # Initialize the class
+ super(MetaIndicator, cls).__init__(name, bases, dct)
+
+ if not cls.aliased and \
+ name != 'Indicator' and not name.startswith('_'):
+ refattr = getattr(cls, cls._refname)
+ refattr[name] = cls
+
+ # Check if next and once have both been overridden
+ next_over = cls.next != IndicatorBase.next
+ once_over = cls.once != IndicatorBase.once
+
+ if next_over and not once_over:
+ # No -> need pointer movement to once simulation via next
+ cls.once = cls.once_via_next
+ cls.preonce = cls.preonce_via_prenext
+ cls.oncestart = cls.oncestart_via_nextstart
+
+
+class Indicator(with_metaclass(MetaIndicator, IndicatorBase)):
+ _ltype = LineIterator.IndType
+
+ csv = False
+
+ def advance(self, size=1):
+ # Need intercepting this call to support datas with
+ # different lengths (timeframes)
+ if len(self) < len(self._clock):
+ self.lines.advance(size=size)
+
+ def preonce_via_prenext(self, start, end):
+ # generic implementation if prenext is overridden but preonce is not
+ for i in range(start, end):
+ for data in self.datas:
+ data.advance()
+
+ for indicator in self._lineiterators[LineIterator.IndType]:
+ indicator.advance()
+
+ self.advance()
+ self.prenext()
+
+ def oncestart_via_nextstart(self, start, end):
+ # nextstart has been overriden, but oncestart has not and the code is
+ # here. call the overriden nextstart
+ for i in range(start, end):
+ for data in self.datas:
+ data.advance()
+
+ for indicator in self._lineiterators[LineIterator.IndType]:
+ indicator.advance()
+
+ self.advance()
+ self.nextstart()
+
+ def once_via_next(self, start, end):
+ # Not overridden, next must be there ...
+ for i in range(start, end):
+ for data in self.datas:
+ data.advance()
+
+ for indicator in self._lineiterators[LineIterator.IndType]:
+ indicator.advance()
+
+ self.advance()
+ self.next()
+
+
+class MtLinePlotterIndicator(Indicator.__class__):
+ def donew(cls, *args, **kwargs):
+ lname = kwargs.pop('name')
+ name = cls.__name__
+
+ lines = getattr(cls, 'lines', Lines)
+ cls.lines = lines._derive(name, (lname,), 0, [])
+
+ plotlines = AutoInfoClass
+ newplotlines = dict()
+ newplotlines.setdefault(lname, dict())
+ cls.plotlines = plotlines._derive(name, newplotlines, [], recurse=True)
+
+ # Create the object and set the params in place
+ _obj, args, kwargs = \
+ super(MtLinePlotterIndicator, cls).donew(*args, **kwargs)
+
+ _obj.owner = _obj.data.owner._clock
+ _obj.data.lines[0].addbinding(_obj.lines[0])
+
+ # Return the object and arguments to the chain
+ return _obj, args, kwargs
+
+
+class LinePlotterIndicator(with_metaclass(MtLinePlotterIndicator, Indicator)):
+ pass
diff --git a/backtrader/source/backtrader/indicators/__init__.py b/backtrader/source/backtrader/indicators/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..da7735c23a9461ddf055919f9804ee5021a66af8
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/__init__.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from backtrader import Indicator
+from backtrader.functions import *
+
+# The modules below should/must define __all__ with the Indicator objects
+# of prepend an "_" (underscore) to private classes/variables
+
+from .basicops import *
+
+# base for moving averages
+from .mabase import *
+
+# moving averages (so envelope and oscillators can be auto-generated)
+from .sma import *
+from .ema import *
+from .smma import *
+from .wma import *
+from .dema import *
+from .kama import *
+from .zlema import *
+from .hma import *
+from .zlind import *
+from .dma import *
+
+# depends on moving averages
+from .deviation import *
+
+# depend on basicops, moving averages and deviations
+from .atr import *
+from .aroon import *
+from .bollinger import *
+from .cci import *
+from .crossover import *
+from .dpo import *
+from .directionalmove import *
+from .envelope import *
+from .heikinashi import *
+from .lrsi import *
+from .macd import *
+from .momentum import *
+from .oscillator import *
+from .percentchange import *
+from .percentrank import *
+from .pivotpoint import *
+from .prettygoodoscillator import *
+from .priceoscillator import *
+from .psar import *
+from .rsi import *
+from .stochastic import *
+from .trix import *
+from .tsi import *
+from .ultimateoscillator import *
+from .williams import *
+from .rmi import *
+from .awesomeoscillator import *
+from .accdecoscillator import *
+
+
+from .dv2 import * # depends on percentrank
+
+# Depends on Momentum
+from .kst import *
+
+from .ichimoku import *
+
+from .hurst import *
+from .ols import *
+from .hadelta import *
diff --git a/backtrader/source/backtrader/indicators/accdecoscillator.py b/backtrader/source/backtrader/indicators/accdecoscillator.py
new file mode 100644
index 0000000000000000000000000000000000000000..e3496932dc91cfae664279ed2f505b28a3379ab0
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/accdecoscillator.py
@@ -0,0 +1,59 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Ssoftware Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+from . import MovAv, AwesomeOscillator
+
+
+__all__ = ['AccelerationDecelerationOscillator', 'AccDeOsc']
+
+
+class AccelerationDecelerationOscillator(bt.Indicator):
+ '''
+ Acceleration/Deceleration Technical Indicator (AC) measures acceleration
+ and deceleration of the current driving force. This indicator will change
+ direction before any changes in the driving force, which, it its turn, will
+ change its direction before the price.
+
+ Formula:
+ - AcdDecOsc = AwesomeOscillator - SMA(AwesomeOscillator, period)
+
+ See:
+ - https://www.metatrader5.com/en/terminal/help/indicators/bw_indicators/ao
+ - https://www.ifcmarkets.com/en/ntx-indicators/ntx-indicators-accelerator-decelerator-oscillator
+
+ '''
+ alias = ('AccDeOsc',)
+ lines = ('accde', )
+
+ params = (
+ ('period', 5),
+ ('movav', MovAv.SMA),
+ )
+
+ plotlines = dict(accde=dict(_method='bar', alpha=0.50, width=1.0))
+
+ def __init__(self):
+ ao = AwesomeOscillator()
+ self.l.accde = ao - self.p.movav(ao, period=self.p.period)
+ super(AccelerationDecelerationOscillator, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/aroon.py b/backtrader/source/backtrader/indicators/aroon.py
new file mode 100644
index 0000000000000000000000000000000000000000..98782d0f62af41b79af2719c2f4c76d72c1636b4
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/aroon.py
@@ -0,0 +1,197 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, FindFirstIndexHighest, FindFirstIndexLowest
+
+
+class _AroonBase(Indicator):
+ '''
+ Base class which does the calculation of the AroonUp/AroonDown values and
+ defines the common parameters.
+
+ It uses the class attributes _up and _down (boolean flags) to decide which
+ value has to be calculated.
+
+ Values are not assigned to lines but rather stored in the "up" and "down"
+ instance variables, which can be used by subclasses to for assignment or
+ further calculations
+ '''
+ _up = False
+ _down = False
+
+ params = (('period', 14), ('upperband', 70), ('lowerband', 30),)
+ plotinfo = dict(plotymargin=0.05, plotyhlines=[0, 100])
+
+ def _plotlabel(self):
+ plabels = [self.p.period]
+ return plabels
+
+ def _plotinit(self):
+ self.plotinfo.plotyhlines += [self.p.lowerband, self.p.upperband]
+
+ def __init__(self):
+ # Look backwards period + 1 for current data because the formula mus
+ # produce values between 0 and 100 and can only do that if the
+ # calculated hhidx/llidx go from 0 to period (hence period + 1 values)
+ idxperiod = self.p.period + 1
+
+ if self._up:
+ hhidx = FindFirstIndexHighest(self.data.high, period=idxperiod)
+ self.up = (100.0 / self.p.period) * (self.p.period - hhidx)
+
+ if self._down:
+ llidx = FindFirstIndexLowest(self.data.low, period=idxperiod)
+ self.down = (100.0 / self.p.period) * (self.p.period - llidx)
+
+ super(_AroonBase, self).__init__()
+
+
+class AroonUp(_AroonBase):
+ '''
+ This is the AroonUp from the indicator AroonUpDown developed by Tushar
+ Chande in 1995.
+
+ Formula:
+ - up = 100 * (period - distance to highest high) / period
+
+ Note:
+ The lines oscillate between 0 and 100. That means that the "distance" to
+ the last highest or lowest must go from 0 to period so that the formula
+ can yield 0 and 100.
+
+ Hence the lookback period is period + 1, because the current bar is also
+ taken into account. And therefore this indicator needs an effective
+ lookback period of period + 1.
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:aroon
+ '''
+ _up = True
+
+ lines = ('aroonup',)
+
+ def __init__(self):
+ super(AroonUp, self).__init__()
+
+ self.lines.aroonup = self.up
+
+
+class AroonDown(_AroonBase):
+ '''
+ This is the AroonDown from the indicator AroonUpDown developed by Tushar
+ Chande in 1995.
+
+ Formula:
+ - down = 100 * (period - distance to lowest low) / period
+
+ Note:
+ The lines oscillate between 0 and 100. That means that the "distance" to
+ the last highest or lowest must go from 0 to period so that the formula
+ can yield 0 and 100.
+
+ Hence the lookback period is period + 1, because the current bar is also
+ taken into account. And therefore this indicator needs an effective
+ lookback period of period + 1.
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:aroon
+ '''
+ _down = True
+
+ lines = ('aroondown',)
+
+ def __init__(self):
+ super(AroonDown, self).__init__()
+
+ self.lines.aroondown = self.down
+
+
+class AroonUpDown(AroonUp, AroonDown):
+ '''
+ Developed by Tushar Chande in 1995.
+
+ It tries to determine if a trend exists or not by calculating how far away
+ within a given period the last highs/lows are (AroonUp/AroonDown)
+
+ Formula:
+ - up = 100 * (period - distance to highest high) / period
+ - down = 100 * (period - distance to lowest low) / period
+
+ Note:
+ The lines oscillate between 0 and 100. That means that the "distance" to
+ the last highest or lowest must go from 0 to period so that the formula
+ can yield 0 and 100.
+
+ Hence the lookback period is period + 1, because the current bar is also
+ taken into account. And therefore this indicator needs an effective
+ lookback period of period + 1.
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:aroon
+ '''
+ alias = ('AroonIndicator',)
+
+
+class AroonOscillator(_AroonBase):
+ '''
+ It is a variation of the AroonUpDown indicator which shows the current
+ difference between the AroonUp and AroonDown value, trying to present a
+ visualization which indicates which is stronger (greater than 0 -> AroonUp
+ and less than 0 -> AroonDown)
+
+ Formula:
+ - aroonosc = aroonup - aroondown
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:aroon
+ '''
+ _up = True
+ _down = True
+
+ alias = ('AroonOsc',)
+
+ lines = ('aroonosc',)
+
+ def _plotinit(self):
+ super(AroonOscillator, self)._plotinit()
+
+ for yhline in self.plotinfo.plotyhlines[:]:
+ self.plotinfo.plotyhlines.append(-yhline)
+
+ def __init__(self):
+ super(AroonOscillator, self).__init__()
+
+ self.lines.aroonosc = self.up - self.down
+
+
+class AroonUpDownOscillator(AroonUpDown, AroonOscillator):
+ '''
+ Presents together the indicators AroonUpDown and AroonOsc
+
+ Formula:
+ (None, uses the aforementioned indicators)
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:aroon
+ '''
+ alias = ('AroonUpDownOsc',)
diff --git a/backtrader/source/backtrader/indicators/atr.py b/backtrader/source/backtrader/indicators/atr.py
new file mode 100644
index 0000000000000000000000000000000000000000..c6fd72e201ab5a1fe82dee6381e59958e2996ee0
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/atr.py
@@ -0,0 +1,122 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, Max, Min, MovAv
+
+
+class TrueHigh(Indicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"* for the ATR
+
+ Records the "true high" which is the maximum of today's high and
+ yesterday's close
+
+ Formula:
+ - truehigh = max(high, close_prev)
+
+ See:
+ - http://en.wikipedia.org/wiki/Average_true_range
+ '''
+ lines = ('truehigh',)
+
+ def __init__(self):
+ self.lines.truehigh = Max(self.data.high, self.data.close(-1))
+ super(TrueHigh, self).__init__()
+
+
+class TrueLow(Indicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"* for the ATR
+
+ Records the "true low" which is the minimum of today's low and
+ yesterday's close
+
+ Formula:
+ - truelow = min(low, close_prev)
+
+ See:
+ - http://en.wikipedia.org/wiki/Average_true_range
+ '''
+ lines = ('truelow',)
+
+ def __init__(self):
+ self.lines.truelow = Min(self.data.low, self.data.close(-1))
+ super(TrueLow, self).__init__()
+
+
+class TrueRange(Indicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book New Concepts in
+ Technical Trading Systems.
+
+ Formula:
+ - max(high - low, abs(high - prev_close), abs(prev_close - low)
+
+ which can be simplified to
+
+ - max(high, prev_close) - min(low, prev_close)
+
+ See:
+ - http://en.wikipedia.org/wiki/Average_true_range
+
+ The idea is to take the previous close into account to calculate the range
+ if it yields a larger range than the daily range (High - Low)
+ '''
+ alias = ('TR',)
+
+ lines = ('tr',)
+
+ def __init__(self):
+ self.lines.tr = TrueHigh(self.data) - TrueLow(self.data)
+ super(TrueRange, self).__init__()
+
+
+class AverageTrueRange(Indicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"*.
+
+ The idea is to take the close into account to calculate the range if it
+ yields a larger range than the daily range (High - Low)
+
+ Formula:
+ - SmoothedMovingAverage(TrueRange, period)
+
+ See:
+ - http://en.wikipedia.org/wiki/Average_true_range
+ '''
+ alias = ('ATR',)
+
+ lines = ('atr',)
+ params = (('period', 14), ('movav', MovAv.Smoothed))
+
+ def _plotlabel(self):
+ plabels = [self.p.period]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ return plabels
+
+ def __init__(self):
+ self.lines.atr = self.p.movav(TR(self.data), period=self.p.period)
+ super(AverageTrueRange, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/awesomeoscillator.py b/backtrader/source/backtrader/indicators/awesomeoscillator.py
new file mode 100644
index 0000000000000000000000000000000000000000..40b5ac16d945da450d6c65f53a52c346a081c2b1
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/awesomeoscillator.py
@@ -0,0 +1,64 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Ssoftware Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+from . import MovAv
+
+
+__all__ = ['AwesomeOscillator', 'AwesomeOsc', 'AO']
+
+
+class AwesomeOscillator(bt.Indicator):
+ '''
+ Awesome Oscillator (AO) is a momentum indicator reflecting the precise
+ changes in the market driving force which helps to identify the trend’s
+ strength up to the points of formation and reversal.
+
+
+ Formula:
+ - median price = (high + low) / 2
+ - AO = SMA(median price, 5)- SMA(median price, 34)
+
+ See:
+ - https://www.metatrader5.com/en/terminal/help/indicators/bw_indicators/awesome
+ - https://www.ifcmarkets.com/en/ntx-indicators/awesome-oscillator
+
+ '''
+ alias = ('AwesomeOsc', 'AO')
+ lines = ('ao',)
+
+ params = (
+ ('fast', 5),
+ ('slow', 34),
+ ('movav', MovAv.SMA),
+ )
+
+ plotlines = dict(ao=dict(_method='bar', alpha=0.50, width=1.0))
+
+ def __init__(self):
+ median_price = (self.data.high + self.data.low) / 2.0
+ sma1 = self.p.movav(median_price, period=self.p.fast)
+ sma2 = self.p.movav(median_price, period=self.p.slow)
+ self.l.ao = sma1 - sma2
+
+ super(AwesomeOscillator, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/basicops.py b/backtrader/source/backtrader/indicators/basicops.py
new file mode 100644
index 0000000000000000000000000000000000000000..b4e3c6b24bf96aa934409cc9b065c8c29e669527
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/basicops.py
@@ -0,0 +1,494 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import functools
+import math
+import operator
+
+from ..utils.py3 import map, range
+
+from . import Indicator
+
+
+class PeriodN(Indicator):
+ '''
+ Base class for indicators which take a period (__init__ has to be called
+ either via super or explicitly)
+
+ This class has no defined lines
+ '''
+ params = (('period', 1),)
+
+ def __init__(self):
+ super(PeriodN, self).__init__()
+ self.addminperiod(self.p.period)
+
+
+class OperationN(PeriodN):
+ '''
+ Calculates "func" for a given period
+
+ Serves as a base for classes that work with a period and can express the
+ logic in a callable object
+
+ Note:
+ Base classes must provide a "func" attribute which is a callable
+
+ Formula:
+ - line = func(data, period)
+ '''
+ def next(self):
+ self.line[0] = self.func(self.data.get(size=self.p.period))
+
+ def once(self, start, end):
+ dst = self.line.array
+ src = self.data.array
+ period = self.p.period
+ func = self.func
+
+ for i in range(start, end):
+ dst[i] = func(src[i - period + 1: i + 1])
+
+
+class BaseApplyN(OperationN):
+ '''
+ Base class for ApplyN and others which may take a ``func`` as a parameter
+ but want to define the lines in the indicator.
+
+ Calculates ``func`` for a given period where func is given as a parameter,
+ aka named argument or ``kwarg``
+
+ Formula:
+ - lines[0] = func(data, period)
+
+ Any extra lines defined beyond the first (index 0) are not calculated
+ '''
+ params = (('func', None),)
+
+ def __init__(self):
+ self.func = self.p.func
+ super(BaseApplyN, self).__init__()
+
+
+class ApplyN(BaseApplyN):
+ '''
+ Calculates ``func`` for a given period
+
+ Formula:
+ - line = func(data, period)
+ '''
+ lines = ('apply',)
+
+
+class Highest(OperationN):
+ '''
+ Calculates the highest value for the data in a given period
+
+ Uses the built-in ``max`` for the calculation
+
+ Formula:
+ - highest = max(data, period)
+ '''
+ alias = ('MaxN',)
+ lines = ('highest',)
+ func = max
+
+
+class Lowest(OperationN):
+ '''
+ Calculates the lowest value for the data in a given period
+
+ Uses the built-in ``min`` for the calculation
+
+ Formula:
+ - lowest = min(data, period)
+ '''
+ alias = ('MinN',)
+ lines = ('lowest',)
+ func = min
+
+
+class ReduceN(OperationN):
+ '''
+ Calculates the Reduced value of the ``period`` data points applying
+ ``function``
+
+ Uses the built-in ``reduce`` for the calculation plus the ``func`` that
+ subclassess define
+
+ Formula:
+ - reduced = reduce(function(data, period)), initializer=initializer)
+
+ Notes:
+
+ - In order to mimic the python ``reduce``, this indicator takes a
+ ``function`` non-named argument as the 1st argument, unlike other
+ Indicators which take only named arguments
+ '''
+ lines = ('reduced',)
+ func = functools.reduce
+
+ def __init__(self, function, **kwargs):
+ if 'initializer' not in kwargs:
+ self.func = functools.partial(self.func, function)
+ else:
+ self.func = functools.partial(self.func, function,
+ initializer=kwargs['initializer'])
+
+ super(ReduceN, self).__init__()
+
+
+class SumN(OperationN):
+ '''
+ Calculates the Sum of the data values over a given period
+
+ Uses ``math.fsum`` for the calculation rather than the built-in ``sum`` to
+ avoid precision errors
+
+ Formula:
+ - sumn = sum(data, period)
+ '''
+ lines = ('sumn',)
+ func = math.fsum
+
+
+class AnyN(OperationN):
+ '''
+ Has a value of ``True`` (stored as ``1.0`` in the lines) if *any* of the
+ values in the ``period`` evaluates to non-zero (ie: ``True``)
+
+ Uses the built-in ``any`` for the calculation
+
+ Formula:
+ - anyn = any(data, period)
+ '''
+ lines = ('anyn',)
+ func = any
+
+
+class AllN(OperationN):
+ '''
+ Has a value of ``True`` (stored as ``1.0`` in the lines) if *all* of the
+ values in the ``period`` evaluates to non-zero (ie: ``True``)
+
+ Uses the built-in ``all`` for the calculation
+
+ Formula:
+ - alln = all(data, period)
+ '''
+ lines = ('alln',)
+ func = all
+
+
+class FindFirstIndex(OperationN):
+ '''
+ Returns the index of the last data that satisfies equality with the
+ condition generated by the parameter _evalfunc
+
+ Note:
+ Returned indexes look backwards. 0 is the current index and 1 is
+ the previous bar.
+
+ Formula:
+ - index = first for which data[index] == _evalfunc(data)
+ '''
+ lines = ('index',)
+ params = (('_evalfunc', None),)
+
+ def func(self, iterable):
+ m = self.p._evalfunc(iterable)
+ return next(i for i, v in enumerate(reversed(iterable)) if v == m)
+
+
+class FindFirstIndexHighest(FindFirstIndex):
+ '''
+ Returns the index of the first data that is the highest in the period
+
+ Note:
+ Returned indexes look backwards. 0 is the current index and 1 is
+ the previous bar.
+
+ Formula:
+ - index = index of first data which is the highest
+ '''
+ params = (('_evalfunc', max),)
+
+
+class FindFirstIndexLowest(FindFirstIndex):
+ '''
+ Returns the index of the first data that is the lowest in the period
+
+ Note:
+ Returned indexes look backwards. 0 is the current index and 1 is
+ the previous bar.
+
+ Formula:
+ - index = index of first data which is the lowest
+ '''
+ params = (('_evalfunc', min),)
+
+
+class FindLastIndex(OperationN):
+ '''
+ Returns the index of the last data that satisfies equality with the
+ condition generated by the parameter _evalfunc
+
+ Note:
+ Returned indexes look backwards. 0 is the current index and 1 is
+ the previous bar.
+
+ Formula:
+ - index = last for which data[index] == _evalfunc(data)
+ '''
+ lines = ('index',)
+ params = (('_evalfunc', None),)
+
+ def func(self, iterable):
+ m = self.p._evalfunc(iterable)
+ index = next(i for i, v in enumerate(iterable) if v == m)
+ # The iterable goes from 0 -> period - 1. If the last element
+ # which is the current bar is returned and without the -1 then
+ # period - index = 1 ... and must be zero!
+ return self.p.period - index - 1
+
+
+class FindLastIndexHighest(FindLastIndex):
+ '''
+ Returns the index of the last data that is the highest in the period
+
+ Note:
+ Returned indexes look backwards. 0 is the current index and 1 is
+ the previous bar.
+
+ Formula:
+ - index = index of last data which is the highest
+ '''
+ params = (('_evalfunc', max),)
+
+
+class FindLastIndexLowest(FindLastIndex):
+ '''
+ Returns the index of the last data that is the lowest in the period
+
+ Note:
+ Returned indexes look backwards. 0 is the current index and 1 is
+ the previous bar.
+
+ Formula:
+ - index = index of last data which is the lowest
+ '''
+ params = (('_evalfunc', min),)
+
+
+class Accum(Indicator):
+ '''
+ Cummulative sum of the data values
+
+ Formula:
+ - accum += data
+ '''
+ alias = ('CumSum', 'CumulativeSum',)
+ lines = ('accum',)
+ params = (('seed', 0.0),)
+
+ # xxxstart methods use the seed (starting value) and passed data to
+ # construct the first value keeping the minperiod to 1 since no
+ # initial look-back value is needed
+
+ def nextstart(self):
+ self.line[0] = self.p.seed + self.data[0]
+
+ def next(self):
+ self.line[0] = self.line[-1] + self.data[0]
+
+ def oncestart(self, start, end):
+ dst = self.line.array
+ src = self.data.array
+ prev = self.p.seed
+
+ for i in range(start, end):
+ dst[i] = prev = prev + src[i]
+
+ def once(self, start, end):
+ dst = self.line.array
+ src = self.data.array
+ prev = dst[start - 1]
+
+ for i in range(start, end):
+ dst[i] = prev = prev + src[i]
+
+
+class Average(PeriodN):
+ '''
+ Averages a given data arithmetically over a period
+
+ Formula:
+ - av = data(period) / period
+
+ See also:
+ - https://en.wikipedia.org/wiki/Arithmetic_mean
+ '''
+ alias = ('ArithmeticMean', 'Mean',)
+ lines = ('av',)
+
+ def next(self):
+ self.line[0] = \
+ math.fsum(self.data.get(size=self.p.period)) / self.p.period
+
+ def once(self, start, end):
+ src = self.data.array
+ dst = self.line.array
+ period = self.p.period
+
+ for i in range(start, end):
+ dst[i] = math.fsum(src[i - period + 1:i + 1]) / period
+
+
+class ExponentialSmoothing(Average):
+ '''
+ Averages a given data over a period using exponential smoothing
+
+ A regular ArithmeticMean (Average) is used as the seed value considering
+ the first period values of data
+
+ Formula:
+ - av = prev * (1 - alpha) + data * alpha
+
+ See also:
+ - https://en.wikipedia.org/wiki/Exponential_smoothing
+ '''
+ alias = ('ExpSmoothing',)
+ params = (('alpha', None),)
+
+ def __init__(self):
+ self.alpha = self.p.alpha
+ if self.alpha is None:
+ self.alpha = 2.0 / (1.0 + self.p.period) # def EMA value
+
+ self.alpha1 = 1.0 - self.alpha
+
+ super(ExponentialSmoothing, self).__init__()
+
+ def nextstart(self):
+ # Fetch the seed value from the base class calculation
+ super(ExponentialSmoothing, self).next()
+
+ def next(self):
+ self.line[0] = self.line[-1] * self.alpha1 + self.data[0] * self.alpha
+
+ def oncestart(self, start, end):
+ # Fetch the seed value from the base class calculation
+ super(ExponentialSmoothing, self).once(start, end)
+
+ def once(self, start, end):
+ darray = self.data.array
+ larray = self.line.array
+ alpha = self.alpha
+ alpha1 = self.alpha1
+
+ # Seed value from SMA calculated with the call to oncestart
+ prev = larray[start - 1]
+ for i in range(start, end):
+ larray[i] = prev = prev * alpha1 + darray[i] * alpha
+
+
+class ExponentialSmoothingDynamic(ExponentialSmoothing):
+ '''
+ Averages a given data over a period using exponential smoothing
+
+ A regular ArithmeticMean (Average) is used as the seed value considering
+ the first period values of data
+
+ Note:
+ - alpha is an array of values which can be calculated dynamically
+
+ Formula:
+ - av = prev * (1 - alpha) + data * alpha
+
+ See also:
+ - https://en.wikipedia.org/wiki/Exponential_smoothing
+ '''
+ alias = ('ExpSmoothingDynamic',)
+
+ def __init__(self):
+ super(ExponentialSmoothingDynamic, self).__init__()
+
+ # Hack: alpha is a "line" and carries a minperiod which is not being
+ # considered because this indicator makes no line assignment. It has
+ # therefore to be considered manually
+ minperioddiff = max(0, self.alpha._minperiod - self.p.period)
+ self.lines[0].incminperiod(minperioddiff)
+
+ def next(self):
+ self.line[0] = \
+ self.line[-1] * self.alpha1[0] + self.data[0] * self.alpha[0]
+
+ def once(self, start, end):
+ darray = self.data.array
+ larray = self.line.array
+ alpha = self.alpha.array
+ alpha1 = self.alpha1.array
+
+ # Seed value from SMA calculated with the call to oncestart
+ prev = larray[start - 1]
+ for i in range(start, end):
+ larray[i] = prev = prev * alpha1[i] + darray[i] * alpha[i]
+
+
+class WeightedAverage(PeriodN):
+ '''
+ Calculates the weighted average of the given data over a period
+
+ The default weights (if none are provided) are linear to assigne more
+ weight to the most recent data
+
+ The result will be multiplied by a given "coef"
+
+ Formula:
+ - av = coef * sum(mul(data, period), weights)
+
+ See:
+ - https://en.wikipedia.org/wiki/Weighted_arithmetic_mean
+ '''
+ alias = ('AverageWeighted',)
+ lines = ('av',)
+ params = (('coef', 1.0), ('weights', tuple()),)
+
+ def __init__(self):
+ super(WeightedAverage, self).__init__()
+
+ def next(self):
+ data = self.data.get(size=self.p.period)
+ dataweighted = map(operator.mul, data, self.p.weights)
+ self.line[0] = self.p.coef * math.fsum(dataweighted)
+
+ def once(self, start, end):
+ darray = self.data.array
+ larray = self.line.array
+ period = self.p.period
+ coef = self.p.coef
+ weights = self.p.weights
+
+ for i in range(start, end):
+ data = darray[i - period + 1: i + 1]
+ larray[i] = coef * math.fsum(map(operator.mul, data, weights))
diff --git a/backtrader/source/backtrader/indicators/bollinger.py b/backtrader/source/backtrader/indicators/bollinger.py
new file mode 100644
index 0000000000000000000000000000000000000000..8f95474ad4bfe34f5ae1c208fae70cbde769633e
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/bollinger.py
@@ -0,0 +1,76 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, MovAv, StdDev
+
+
+class BollingerBands(Indicator):
+ '''
+ Defined by John Bollinger in the 80s. It measures volatility by defining
+ upper and lower bands at distance x standard deviations
+
+ Formula:
+ - midband = SimpleMovingAverage(close, period)
+ - topband = midband + devfactor * StandardDeviation(data, period)
+ - botband = midband - devfactor * StandardDeviation(data, period)
+
+ See:
+ - http://en.wikipedia.org/wiki/Bollinger_Bands
+ '''
+ alias = ('BBands',)
+
+ lines = ('mid', 'top', 'bot',)
+ params = (('period', 20), ('devfactor', 2.0), ('movav', MovAv.Simple),)
+
+ plotinfo = dict(subplot=False)
+ plotlines = dict(
+ mid=dict(ls='--'),
+ top=dict(_samecolor=True),
+ bot=dict(_samecolor=True),
+ )
+
+ def _plotlabel(self):
+ plabels = [self.p.period, self.p.devfactor]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ return plabels
+
+ def __init__(self):
+ self.lines.mid = ma = self.p.movav(self.data, period=self.p.period)
+ stddev = self.p.devfactor * StdDev(self.data, ma, period=self.p.period,
+ movav=self.p.movav)
+ self.lines.top = ma + stddev
+ self.lines.bot = ma - stddev
+
+ super(BollingerBands, self).__init__()
+
+
+class BollingerBandsPct(BollingerBands):
+ '''
+ Extends the Bollinger Bands with a Percentage line
+ '''
+ lines = ('pctb',)
+ plotlines = dict(pctb=dict(_name='%B')) # display the line as %B on chart
+
+ def __init__(self):
+ super(BollingerBandsPct, self).__init__()
+ self.l.pctb = (self.data - self.l.bot) / (self.l.top - self.l.bot)
diff --git a/backtrader/source/backtrader/indicators/cci.py b/backtrader/source/backtrader/indicators/cci.py
new file mode 100644
index 0000000000000000000000000000000000000000..ab07f61f8b8b932862534bddeabb93b4932462fe
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/cci.py
@@ -0,0 +1,70 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, Max, MovAv, MeanDev
+
+
+class CommodityChannelIndex(Indicator):
+ '''
+ Introduced by Donald Lambert in 1980 to measure variations of the
+ "typical price" (see below) from its mean to identify extremes and
+ reversals
+
+ Formula:
+ - tp = typical_price = (high + low + close) / 3
+ - tpmean = MovingAverage(tp, period)
+ - deviation = tp - tpmean
+ - meandev = MeanDeviation(tp)
+ - cci = deviation / (meandeviation * factor)
+
+ See:
+ - https://en.wikipedia.org/wiki/Commodity_channel_index
+ '''
+ alias = ('CCI',)
+
+ lines = ('cci',)
+
+ params = (('period', 20),
+ ('factor', 0.015),
+ ('movav', MovAv.Simple),
+ ('upperband', 100.0),
+ ('lowerband', -100.0),)
+
+ def _plotlabel(self):
+ plabels = [self.p.period, self.p.factor]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ return plabels
+
+ def _plotinit(self):
+ self.plotinfo.plotyhlines = [0.0, self.p.upperband, self.p.lowerband]
+
+ def __init__(self):
+ tp = (self.data.high + self.data.low + self.data.close) / 3.0
+ tpmean = self.p.movav(tp, period=self.p.period)
+
+ dev = tp - tpmean
+ meandev = MeanDev(tp, tpmean, period=self.p.period)
+
+ self.lines.cci = dev / (self.p.factor * meandev)
+
+ super(CommodityChannelIndex, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/contrib/__init__.py b/backtrader/source/backtrader/indicators/contrib/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e7bb3d36afdd1babf912bb25e9b609aeb90aa2d4
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/contrib/__init__.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+
+from .import vortex as vortex
+for name in vortex.__all__:
+ setattr(bt.indicators, name, getattr(vortex, name))
diff --git a/backtrader/source/backtrader/indicators/contrib/vortex.py b/backtrader/source/backtrader/indicators/contrib/vortex.py
new file mode 100644
index 0000000000000000000000000000000000000000..fbeab5c64dfc755fd5ecf39a57d17afc1dcd2da0
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/contrib/vortex.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+
+__all__ = ['Vortex']
+
+
+class Vortex(bt.Indicator):
+ '''
+ See:
+ - http://www.vortexindicator.com/VFX_VORTEX.PDF
+
+ '''
+ lines = ('vi_plus', 'vi_minus',)
+
+ params = (('period', 14),)
+
+ plotlines = dict(vi_plus=dict(_name='+VI'), vi_minus=dict(_name='-VI'))
+
+ def __init__(self):
+ h0l1 = abs(self.data.high(0) - self.data.low(-1))
+ vm_plus = bt.ind.SumN(h0l1, period=self.p.period)
+
+ l0h1 = abs(self.data.low(0) - self.data.high(-1))
+ vm_minus = bt.ind.SumN(l0h1, period=self.p.period)
+
+ h0c1 = abs(self.data.high(0) - self.data.close(-1))
+ l0c1 = abs(self.data.low(0) - self.data.close(-1))
+ h0l0 = abs(self.data.high(0) - self.data.low(0))
+
+ tr = bt.ind.SumN(bt.Max(h0l0, h0c1, l0c1), period=self.p.period)
+
+ self.l.vi_plus = vm_plus / tr
+ self.l.vi_minus = vm_minus / tr
diff --git a/backtrader/source/backtrader/indicators/crossover.py b/backtrader/source/backtrader/indicators/crossover.py
new file mode 100644
index 0000000000000000000000000000000000000000..86c0f5de6062794a547cc1d934aa9387478b5675
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/crossover.py
@@ -0,0 +1,138 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, And
+
+
+class NonZeroDifference(Indicator):
+ '''
+ Keeps track of the difference between two data inputs skipping, memorizing
+ the last non zero value if the current difference is zero
+
+ Formula:
+ - diff = data - data1
+ - nzd = diff if diff else diff(-1)
+ '''
+ _mindatas = 2 # requires two (2) data sources
+ alias = ('NZD',)
+ lines = ('nzd',)
+
+ def nextstart(self):
+ self.l.nzd[0] = self.data0[0] - self.data1[0] # seed value
+
+ def next(self):
+ d = self.data0[0] - self.data1[0]
+ self.l.nzd[0] = d if d else self.l.nzd[-1]
+
+ def oncestart(self, start, end):
+ self.line.array[start] = (
+ self.data0.array[start] - self.data1.array[start])
+
+ def once(self, start, end):
+ d0array = self.data0.array
+ d1array = self.data1.array
+ larray = self.line.array
+
+ prev = larray[start - 1]
+ for i in range(start, end):
+ d = d0array[i] - d1array[i]
+ larray[i] = prev = d if d else prev
+
+
+class _CrossBase(Indicator):
+ _mindatas = 2
+
+ lines = ('cross',)
+
+ plotinfo = dict(plotymargin=0.05, plotyhlines=[0.0, 1.0])
+
+ def __init__(self):
+ nzd = NonZeroDifference(self.data0, self.data1)
+
+ if self._crossup:
+ before = nzd(-1) < 0.0 # data0 was below or at 0
+ after = self.data0 > self.data1
+ else:
+ before = nzd(-1) > 0.0 # data0 was above or at 0
+ after = self.data0 < self.data1
+
+ self.lines.cross = And(before, after)
+
+
+class CrossUp(_CrossBase):
+ '''
+ This indicator gives a signal if the 1st provided data crosses over the 2nd
+ indicator upwards
+
+ It does need to look into the current time index (0) and the previous time
+ index (-1) of both the 1st and 2nd data
+
+ Formula:
+ - diff = data - data1
+ - upcross = last_non_zero_diff < 0 and data0(0) > data1(0)
+ '''
+ _crossup = True
+
+
+class CrossDown(_CrossBase):
+ '''
+ This indicator gives a signal if the 1st provided data crosses over the 2nd
+ indicator upwards
+
+ It does need to look into the current time index (0) and the previous time
+ index (-1) of both the 1st and 2nd data
+
+ Formula:
+ - diff = data - data1
+ - downcross = last_non_zero_diff > 0 and data0(0) < data1(0)
+ '''
+ _crossup = False
+
+
+class CrossOver(Indicator):
+ '''
+ This indicator gives a signal if the provided datas (2) cross up or down.
+
+ - 1.0 if the 1st data crosses the 2nd data upwards
+ - -1.0 if the 1st data crosses the 2nd data downwards
+
+ It does need to look into the current time index (0) and the previous time
+ index (-1) of both the 1t and 2nd data
+
+ Formula:
+ - diff = data - data1
+ - upcross = last_non_zero_diff < 0 and data0(0) > data1(0)
+ - downcross = last_non_zero_diff > 0 and data0(0) < data1(0)
+ - crossover = upcross - downcross
+ '''
+ _mindatas = 2
+
+ lines = ('crossover',)
+
+ plotinfo = dict(plotymargin=0.05, plotyhlines=[-1.0, 1.0])
+
+ def __init__(self):
+ upcross = CrossUp(self.data, self.data1)
+ downcross = CrossDown(self.data, self.data1)
+
+ self.lines.crossover = upcross - downcross
diff --git a/backtrader/source/backtrader/indicators/dema.py b/backtrader/source/backtrader/indicators/dema.py
new file mode 100644
index 0000000000000000000000000000000000000000..4f293a1e81ffa5ff9f852ebfa813cca73648c15b
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/dema.py
@@ -0,0 +1,83 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from . import Indicator, MovingAverageBase, MovAv
+
+
+class DoubleExponentialMovingAverage(MovingAverageBase):
+ '''
+ DEMA was first time introduced in 1994, in the article "Smoothing Data with
+ Faster Moving Averages" by Patrick G. Mulloy in "Technical Analysis of
+ Stocks & Commodities" magazine.
+
+ It attempts to reduce the inherent lag associated to Moving Averages
+
+ Formula:
+ - dema = (2.0 - ema(data, period) - ema(ema(data, period), period)
+
+ See:
+ (None)
+ '''
+ alias = ('DEMA', 'MovingAverageDoubleExponential',)
+
+ lines = ('dema',)
+ params = (('_movav', MovAv.EMA),)
+
+ def __init__(self):
+ ema = self.p._movav(self.data, period=self.p.period)
+ ema2 = self.p._movav(ema, period=self.p.period)
+ self.lines.dema = 2.0 * ema - ema2
+
+ super(DoubleExponentialMovingAverage, self).__init__()
+
+
+class TripleExponentialMovingAverage(MovingAverageBase):
+ '''
+ TEMA was first time introduced in 1994, in the article "Smoothing Data with
+ Faster Moving Averages" by Patrick G. Mulloy in "Technical Analysis of
+ Stocks & Commodities" magazine.
+
+ It attempts to reduce the inherent lag associated to Moving Averages
+
+ Formula:
+ - ema1 = ema(data, period)
+ - ema2 = ema(ema1, period)
+ - ema3 = ema(ema2, period)
+ - tema = 3 * ema1 - 3 * ema2 + ema3
+
+ See:
+ (None)
+ '''
+ alias = ('TEMA', 'MovingAverageTripleExponential',)
+
+ lines = ('tema',)
+ params = (('_movav', MovAv.EMA),)
+
+ def __init__(self):
+ ema1 = self.p._movav(self.data, period=self.p.period)
+ ema2 = self.p._movav(ema1, period=self.p.period)
+ ema3 = self.p._movav(ema2, period=self.p.period)
+
+ self.lines.tema = 3.0 * ema1 - 3.0 * ema2 + ema3
+ super(TripleExponentialMovingAverage, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/deviation.py b/backtrader/source/backtrader/indicators/deviation.py
new file mode 100644
index 0000000000000000000000000000000000000000..33ed548263557f5a6b6e72673b622ddd8fc5acb1
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/deviation.py
@@ -0,0 +1,107 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, MovAv
+
+
+class StandardDeviation(Indicator):
+ '''
+ Calculates the standard deviation of the passed data for a given period
+
+ Note:
+ - If 2 datas are provided as parameters, the 2nd is considered to be the
+ mean of the first
+
+ - ``safepow`` (default: False) If this parameter is True, the standard
+ deviation will be calculated as pow(abs(meansq - sqmean), 0.5) to safe
+ guard for possible negative results of ``meansq - sqmean`` caused by
+ the floating point representation.
+
+ Formula:
+ - meansquared = SimpleMovingAverage(pow(data, 2), period)
+ - squaredmean = pow(SimpleMovingAverage(data, period), 2)
+ - stddev = pow(meansquared - squaredmean, 0.5) # square root
+
+ See:
+ - http://en.wikipedia.org/wiki/Standard_deviation
+ '''
+ alias = ('StdDev',)
+
+ lines = ('stddev',)
+ params = (('period', 20), ('movav', MovAv.Simple), ('safepow', True),)
+
+ def _plotlabel(self):
+ plabels = [self.p.period]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ return plabels
+
+ def __init__(self):
+ if len(self.datas) > 1:
+ mean = self.data1
+ else:
+ mean = self.p.movav(self.data, period=self.p.period)
+
+ meansq = self.p.movav(pow(self.data, 2), period=self.p.period)
+ sqmean = pow(mean, 2)
+
+ if self.p.safepow:
+ self.lines.stddev = pow(abs(meansq - sqmean), 0.5)
+ else:
+ self.lines.stddev = pow(meansq - sqmean, 0.5)
+
+
+class MeanDeviation(Indicator):
+ '''MeanDeviation (alias MeanDev)
+
+ Calculates the Mean Deviation of the passed data for a given period
+
+ Note:
+ - If 2 datas are provided as parameters, the 2nd is considered to be the
+ mean of the first
+
+ Formula:
+ - mean = MovingAverage(data, period) (or provided mean)
+ - absdeviation = abs(data - mean)
+ - meandev = MovingAverage(absdeviation, period)
+
+ See:
+ - https://en.wikipedia.org/wiki/Average_absolute_deviation
+ '''
+ alias = ('MeanDev',)
+
+ lines = ('meandev',)
+ params = (('period', 20), ('movav', MovAv.Simple),)
+
+ def _plotlabel(self):
+ plabels = [self.p.period]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ return plabels
+
+ def __init__(self):
+ if len(self.datas) > 1:
+ mean = self.data1
+ else:
+ mean = self.p.movav(self.data, period=self.p.period)
+
+ absdev = abs(self.data - mean)
+ self.lines.meandev = self.p.movav(absdev, period=self.p.period)
diff --git a/backtrader/source/backtrader/indicators/directionalmove.py b/backtrader/source/backtrader/indicators/directionalmove.py
new file mode 100644
index 0000000000000000000000000000000000000000..f52cd14689d8735edab39b1e5b2dbe7f7da57271
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/directionalmove.py
@@ -0,0 +1,383 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, And, If, MovAv, ATR
+
+
+class UpMove(Indicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"* as part of the Directional Move System to
+ calculate Directional Indicators.
+
+ Positive if the given data has moved higher than the previous day
+
+ Formula:
+ - upmove = data - data(-1)
+
+ See:
+ - https://en.wikipedia.org/wiki/Average_directional_movement_index
+ '''
+ lines = ('upmove',)
+
+ def __init__(self):
+ self.lines.upmove = self.data - self.data(-1)
+ super(UpMove, self).__init__()
+
+
+class DownMove(Indicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"* as part of the Directional Move System to
+ calculate Directional Indicators.
+
+ Positive if the given data has moved lower than the previous day
+
+ Formula:
+ - downmove = data(-1) - data
+
+ See:
+ - https://en.wikipedia.org/wiki/Average_directional_movement_index
+ '''
+ lines = ('downmove',)
+
+ def __init__(self):
+ self.lines.downmove = self.data(-1) - self.data
+ super(DownMove, self).__init__()
+
+
+class _DirectionalIndicator(Indicator):
+ '''
+ This class serves as the root base class for all "Directional Movement
+ System" related indicators, given that the calculations are first common
+ and then derived from the common calculations.
+
+ It can calculate the +DI and -DI values (using kwargs as the hint as to
+ what to calculate) but doesn't assign them to lines. This is left for
+ sublcases of this class.
+ '''
+ params = (('period', 14), ('movav', MovAv.Smoothed))
+
+ plotlines = dict(plusDI=dict(_name='+DI'), minusDI=dict(_name='-DI'))
+
+ def _plotlabel(self):
+ plabels = [self.p.period]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ return plabels
+
+ def __init__(self, _plus=True, _minus=True):
+ atr = ATR(self.data, period=self.p.period, movav=self.p.movav)
+
+ upmove = self.data.high - self.data.high(-1)
+ downmove = self.data.low(-1) - self.data.low
+
+ if _plus:
+ plus = And(upmove > downmove, upmove > 0.0)
+ plusDM = If(plus, upmove, 0.0)
+ plusDMav = self.p.movav(plusDM, period=self.p.period)
+
+ self.DIplus = 100.0 * plusDMav / atr
+
+ if _minus:
+ minus = And(downmove > upmove, downmove > 0.0)
+ minusDM = If(minus, downmove, 0.0)
+ minusDMav = self.p.movav(minusDM, period=self.p.period)
+
+ self.DIminus = 100.0 * minusDMav / atr
+
+ super(_DirectionalIndicator, self).__init__()
+
+
+class DirectionalIndicator(_DirectionalIndicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"*.
+
+ Intended to measure trend strength
+
+ This indicator shows +DI, -DI:
+ - Use PlusDirectionalIndicator (PlusDI) to get +DI
+ - Use MinusDirectionalIndicator (MinusDI) to get -DI
+ - Use AverageDirectionalIndex (ADX) to get ADX
+ - Use AverageDirectionalIndexRating (ADXR) to get ADX, ADXR
+ - Use DirectionalMovementIndex (DMI) to get ADX, +DI, -DI
+ - Use DirectionalMovement (DM) to get ADX, ADXR, +DI, -DI
+
+ Formula:
+ - upmove = high - high(-1)
+ - downmove = low(-1) - low
+ - +dm = upmove if upmove > downmove and upmove > 0 else 0
+ - -dm = downmove if downmove > upmove and downmove > 0 else 0
+ - +di = 100 * MovingAverage(+dm, period) / atr(period)
+ - -di = 100 * MovingAverage(-dm, period) / atr(period)
+
+ The moving average used is the one originally defined by Wilder,
+ the SmoothedMovingAverage
+
+ See:
+ - https://en.wikipedia.org/wiki/Average_directional_movement_index
+ '''
+ alias = ('DI',)
+ lines = ('plusDI', 'minusDI',)
+
+ def __init__(self):
+ super(DirectionalIndicator, self).__init__()
+
+ self.lines.plusDI = self.DIplus
+ self.lines.minusDI = self.DIminus
+
+
+class PlusDirectionalIndicator(_DirectionalIndicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"*.
+
+ Intended to measure trend strength
+
+ This indicator shows +DI:
+ - Use MinusDirectionalIndicator (MinusDI) to get -DI
+ - Use Directional Indicator (DI) to get +DI, -DI
+ - Use AverageDirectionalIndex (ADX) to get ADX
+ - Use AverageDirectionalIndexRating (ADXR) to get ADX, ADXR
+ - Use DirectionalMovementIndex (DMI) to get ADX, +DI, -DI
+ - Use DirectionalMovement (DM) to get ADX, ADXR, +DI, -DI
+
+ Formula:
+ - upmove = high - high(-1)
+ - downmove = low(-1) - low
+ - +dm = upmove if upmove > downmove and upmove > 0 else 0
+ - +di = 100 * MovingAverage(+dm, period) / atr(period)
+
+ The moving average used is the one originally defined by Wilder,
+ the SmoothedMovingAverage
+
+ See:
+ - https://en.wikipedia.org/wiki/Average_directional_movement_index
+ '''
+ alias = (('PlusDI', '+DI'),)
+ lines = ('plusDI',)
+
+ plotinfo = dict(plotname='+DirectionalIndicator')
+
+ def __init__(self):
+ super(PlusDirectionalIndicator, self).__init__(_minus=False)
+
+ self.lines.plusDI = self.DIplus
+
+
+class MinusDirectionalIndicator(_DirectionalIndicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"*.
+
+ Intended to measure trend strength
+
+ This indicator shows -DI:
+ - Use PlusDirectionalIndicator (PlusDI) to get +DI
+ - Use Directional Indicator (DI) to get +DI, -DI
+ - Use AverageDirectionalIndex (ADX) to get ADX
+ - Use AverageDirectionalIndexRating (ADXR) to get ADX, ADXR
+ - Use DirectionalMovementIndex (DMI) to get ADX, +DI, -DI
+ - Use DirectionalMovement (DM) to get ADX, ADXR, +DI, -DI
+
+ Formula:
+ - upmove = high - high(-1)
+ - downmove = low(-1) - low
+ - -dm = downmove if downmove > upmove and downmove > 0 else 0
+ - -di = 100 * MovingAverage(-dm, period) / atr(period)
+
+ The moving average used is the one originally defined by Wilder,
+ the SmoothedMovingAverage
+
+ See:
+ - https://en.wikipedia.org/wiki/Average_directional_movement_index
+ '''
+ alias = (('MinusDI', '-DI'),)
+ lines = ('minusDI',)
+
+ plotinfo = dict(plotname='-DirectionalIndicator')
+
+ def __init__(self):
+ super(MinusDirectionalIndicator, self).__init__(_plus=False)
+
+ self.lines.minusDI = self.DIminus
+
+
+class AverageDirectionalMovementIndex(_DirectionalIndicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"*.
+
+ Intended to measure trend strength
+
+ This indicator only shows ADX:
+ - Use PlusDirectionalIndicator (PlusDI) to get +DI
+ - Use MinusDirectionalIndicator (MinusDI) to get -DI
+ - Use Directional Indicator (DI) to get +DI, -DI
+ - Use AverageDirectionalIndexRating (ADXR) to get ADX, ADXR
+ - Use DirectionalMovementIndex (DMI) to get ADX, +DI, -DI
+ - Use DirectionalMovement (DM) to get ADX, ADXR, +DI, -DI
+
+ Formula:
+ - upmove = high - high(-1)
+ - downmove = low(-1) - low
+ - +dm = upmove if upmove > downmove and upmove > 0 else 0
+ - -dm = downmove if downmove > upmove and downmove > 0 else 0
+ - +di = 100 * MovingAverage(+dm, period) / atr(period)
+ - -di = 100 * MovingAverage(-dm, period) / atr(period)
+ - dx = 100 * abs(+di - -di) / (+di + -di)
+ - adx = MovingAverage(dx, period)
+
+ The moving average used is the one originally defined by Wilder,
+ the SmoothedMovingAverage
+
+ See:
+ - https://en.wikipedia.org/wiki/Average_directional_movement_index
+ '''
+ alias = ('ADX',)
+
+ lines = ('adx',)
+
+ plotlines = dict(adx=dict(_name='ADX'))
+
+ def __init__(self):
+ super(AverageDirectionalMovementIndex, self).__init__()
+
+ dx = abs(self.DIplus - self.DIminus) / (self.DIplus + self.DIminus)
+ self.lines.adx = 100.0 * self.p.movav(dx, period=self.p.period)
+
+
+class AverageDirectionalMovementIndexRating(AverageDirectionalMovementIndex):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"*.
+
+ Intended to measure trend strength.
+
+ ADXR is the average of ADX with a value period bars ago
+
+ This indicator shows the ADX and ADXR:
+ - Use PlusDirectionalIndicator (PlusDI) to get +DI
+ - Use MinusDirectionalIndicator (MinusDI) to get -DI
+ - Use Directional Indicator (DI) to get +DI, -DI
+ - Use AverageDirectionalIndex (ADX) to get ADX
+ - Use DirectionalMovementIndex (DMI) to get ADX, +DI, -DI
+ - Use DirectionalMovement (DM) to get ADX, ADXR, +DI, -DI
+
+ Formula:
+ - upmove = high - high(-1)
+ - downmove = low(-1) - low
+ - +dm = upmove if upmove > downmove and upmove > 0 else 0
+ - -dm = downmove if downmove > upmove and downmove > 0 else 0
+ - +di = 100 * MovingAverage(+dm, period) / atr(period)
+ - -di = 100 * MovingAverage(-dm, period) / atr(period)
+ - dx = 100 * abs(+di - -di) / (+di + -di)
+ - adx = MovingAverage(dx, period)
+ - adxr = (adx + adx(-period)) / 2
+
+ The moving average used is the one originally defined by Wilder,
+ the SmoothedMovingAverage
+
+ See:
+ - https://en.wikipedia.org/wiki/Average_directional_movement_index
+ '''
+ alias = ('ADXR',)
+
+ lines = ('adxr',)
+ plotlines = dict(adxr=dict(_name='ADXR'))
+
+ def __init__(self):
+ super(AverageDirectionalMovementIndexRating, self).__init__()
+
+ self.lines.adxr = (self.l.adx + self.l.adx(-self.p.period)) / 2.0
+
+
+class DirectionalMovementIndex(AverageDirectionalMovementIndex,
+ DirectionalIndicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"*.
+
+ Intended to measure trend strength
+
+ This indicator shows the ADX, +DI, -DI:
+ - Use PlusDirectionalIndicator (PlusDI) to get +DI
+ - Use MinusDirectionalIndicator (MinusDI) to get -DI
+ - Use Directional Indicator (DI) to get +DI, -DI
+ - Use AverageDirectionalIndex (ADX) to get ADX
+ - Use AverageDirectionalIndexRating (ADXRating) to get ADX, ADXR
+ - Use DirectionalMovement (DM) to get ADX, ADXR, +DI, -DI
+
+ Formula:
+ - upmove = high - high(-1)
+ - downmove = low(-1) - low
+ - +dm = upmove if upmove > downmove and upmove > 0 else 0
+ - -dm = downmove if downmove > upmove and downmove > 0 else 0
+ - +di = 100 * MovingAverage(+dm, period) / atr(period)
+ - -di = 100 * MovingAverage(-dm, period) / atr(period)
+ - dx = 100 * abs(+di - -di) / (+di + -di)
+ - adx = MovingAverage(dx, period)
+
+ The moving average used is the one originally defined by Wilder,
+ the SmoothedMovingAverage
+
+ See:
+ - https://en.wikipedia.org/wiki/Average_directional_movement_index
+ '''
+ alias = ('DMI',)
+
+
+class DirectionalMovement(AverageDirectionalMovementIndexRating,
+ DirectionalIndicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"*.
+
+ Intended to measure trend strength
+
+ This indicator shows ADX, ADXR, +DI, -DI.
+
+ - Use PlusDirectionalIndicator (PlusDI) to get +DI
+ - Use MinusDirectionalIndicator (MinusDI) to get -DI
+ - Use Directional Indicator (DI) to get +DI, -DI
+ - Use AverageDirectionalIndex (ADX) to get ADX
+ - Use AverageDirectionalIndexRating (ADXR) to get ADX, ADXR
+ - Use DirectionalMovementIndex (DMI) to get ADX, +DI, -DI
+
+ Formula:
+ - upmove = high - high(-1)
+ - downmove = low(-1) - low
+ - +dm = upmove if upmove > downmove and upmove > 0 else 0
+ - -dm = downmove if downmove > upmove and downmove > 0 else 0
+ - +di = 100 * MovingAverage(+dm, period) / atr(period)
+ - -di = 100 * MovingAverage(-dm, period) / atr(period)
+ - dx = 100 * abs(+di - -di) / (+di + -di)
+ - adx = MovingAverage(dx, period)
+
+ The moving average used is the one originally defined by Wilder,
+ the SmoothedMovingAverage
+
+ See:
+ - https://en.wikipedia.org/wiki/Average_directional_movement_index
+ '''
+ alias = ('DM',)
diff --git a/backtrader/source/backtrader/indicators/dma.py b/backtrader/source/backtrader/indicators/dma.py
new file mode 100644
index 0000000000000000000000000000000000000000..596e170231bf82b85e4b529f18ffdbc25ab6de31
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/dma.py
@@ -0,0 +1,79 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from . import MovingAverageBase, MovAv, ZeroLagIndicator
+
+
+class DicksonMovingAverage(MovingAverageBase):
+ '''By Nathan Dickson
+
+ The *Dickson Moving Average* combines the ``ZeroLagIndicator`` (aka
+ *ErrorCorrecting* or *EC*) by *Ehlers*, and the ``HullMovingAverage`` to
+ try to deliver a result close to that of the *Jurik* Moving Averages
+
+ Formula:
+ - ec = ZeroLagIndicator(period, gainlimit)
+ - hma = HullMovingAverage(hperiod)
+
+ - dma = (ec + hma) / 2
+
+ - The default moving average for the *ZeroLagIndicator* is EMA, but can
+ be changed with the parameter ``_movav``
+
+ .. note:: the passed moving average must calculate alpha (and 1 -
+ alpha) and make them available as attributes ``alpha`` and
+ ``alpha1``
+
+ - The 2nd moving averag can be changed from *Hull* to anything else with
+ the param *_hma*
+
+ See also:
+ - https://www.reddit.com/r/algotrading/comments/4xj3vh/dickson_moving_average
+ '''
+ alias = ('DMA', 'DicksonMA',)
+ lines = ('dma',)
+ params = (
+ ('gainlimit', 50),
+ ('hperiod', 7),
+ ('_movav', MovAv.EMA),
+ ('_hma', MovAv.HMA),
+ )
+
+ def _plotlabel(self):
+ plabels = [self.p.period, self.p.gainlimit, self.p.hperiod]
+ plabels += [self.p._movav] * self.p.notdefault('_movav')
+ plabels += [self.p._hma] * self.p.notdefault('_hma')
+ return plabels
+
+ def __init__(self):
+ ec = ZeroLagIndicator(period=self.p.period,
+ gainlimit=self.p.gainlimit,
+ _movav=self.p._movav)
+
+ hull = self.p._hma(period=self.p.hperiod)
+
+ self.lines.dma = (ec + hull) / 2.0
+
+ # To make mixins work - super at the end for cooperative inheritance
+ super(DicksonMovingAverage, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/dpo.py b/backtrader/source/backtrader/indicators/dpo.py
new file mode 100644
index 0000000000000000000000000000000000000000..f150ace5a2b0a46a3bb18147a80ac6cb98c01b42
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/dpo.py
@@ -0,0 +1,68 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+# Python 2/3 compatibility imports
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, MovAv
+
+
+class DetrendedPriceOscillator(Indicator):
+ '''
+ Defined by Joe DiNapoli in his book *"Trading with DiNapoli levels"*
+
+ It measures the price variations against a Moving Average (the trend)
+ and therefore removes the "trend" factor from the price.
+
+ Formula:
+ - movav = MovingAverage(close, period)
+ - dpo = close - movav(shifted period / 2 + 1)
+
+ See:
+ - http://en.wikipedia.org/wiki/Detrended_price_oscillator
+ '''
+ # Named alias for invocation
+ alias = ('DPO',)
+
+ # Named output lines
+ lines = ('dpo',)
+
+ # Accepted parameters (and defaults) -
+ # MovAvg also parameter to allow experimentation
+ params = (('period', 20), ('movav', MovAv.Simple))
+
+ # Emphasize central 0.0 line in plot
+ plotinfo = dict(plothlines=[0.0])
+
+ # Indicator information after the name (in brackets)
+ def _plotlabel(self):
+ plabels = [self.p.period]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ return plabels
+
+ def __init__(self):
+ # Create the Moving Average
+ ma = self.p.movav(self.data, period=self.p.period)
+
+ # Calculate value (look back period/2 + 1 in MA) and bind to 'dpo' line
+ self.lines.dpo = self.data - ma(-self.p.period // 2 + 1)
+
+ super(DetrendedPriceOscillator, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/dv2.py b/backtrader/source/backtrader/indicators/dv2.py
new file mode 100644
index 0000000000000000000000000000000000000000..0bde533abd46ef8f2ade5c0cc31ca1788c660838
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/dv2.py
@@ -0,0 +1,54 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from . import Indicator, SMA, PercentRank
+
+
+__all__ = ['DV2']
+
+
+class DV2(Indicator):
+ '''
+ RSI(2) alternative
+ Developed by David Varadi of http://cssanalytics.wordpress.com/
+
+ This seems to be the *Bounded* version.
+
+ See also:
+
+ - http://web.archive.org/web/20131216100741/http://quantingdutchman.wordpress.com/2010/08/06/dv2-indicator-for-amibroker/
+
+ '''
+ params = (
+ ('period', 252),
+ ('maperiod', 2),
+ ('_movav', SMA),
+ )
+ lines = ('dv2',)
+
+ def __init__(self):
+ chl = self.data.close / ((self.data.high + self.data.low) / 2.0)
+ dvu = self.p._movav(chl, period=self.p.maperiod)
+ self.lines.dv2 = PercentRank(dvu, period=self.p.period) * 100
+ super(DV2, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/ema.py b/backtrader/source/backtrader/indicators/ema.py
new file mode 100644
index 0000000000000000000000000000000000000000..a3054c24dfdac722c371b7df9e3222b84842dadc
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/ema.py
@@ -0,0 +1,55 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import MovingAverageBase, ExponentialSmoothing
+
+
+class ExponentialMovingAverage(MovingAverageBase):
+ '''
+ A Moving Average that smoothes data exponentially over time.
+
+ It is a subclass of SmoothingMovingAverage.
+
+ - self.smfactor -> 2 / (1 + period)
+ - self.smfactor1 -> `1 - self.smfactor`
+
+ Formula:
+ - movav = prev * (1.0 - smoothfactor) + newdata * smoothfactor
+
+ See also:
+ - http://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average
+ '''
+ alias = ('EMA', 'MovingAverageExponential',)
+ lines = ('ema',)
+
+ def __init__(self):
+ # Before super to ensure mixins (right-hand side in subclassing)
+ # can see the assignment operation and operate on the line
+ self.lines[0] = es = ExponentialSmoothing(
+ self.data,
+ period=self.p.period,
+ alpha=2.0 / (1.0 + self.p.period))
+
+ self.alpha, self.alpha1 = es.alpha, es.alpha1
+
+ super(ExponentialMovingAverage, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/envelope.py b/backtrader/source/backtrader/indicators/envelope.py
new file mode 100644
index 0000000000000000000000000000000000000000..ba117613be3af4a19d7d34127ef56ea8e53805c0
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/envelope.py
@@ -0,0 +1,126 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import sys
+
+from . import Indicator, MovingAverage
+
+
+class EnvelopeMixIn(object):
+ '''
+ MixIn class to create a subclass with another indicator. The main line of
+ that indicator will be surrounded by an upper and lower band separated a
+ given "perc"entage from the input main line
+
+ The usage is:
+
+ - Class XXXEnvelope(XXX, EnvelopeMixIn)
+
+ Formula:
+ - 'line' (inherited from XXX))
+ - top = 'line' * (1 + perc)
+ - bot = 'line' * (1 - perc)
+
+ See also:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_average_envelopes
+ '''
+ lines = ('top', 'bot',)
+ params = (('perc', 2.5),)
+ plotlines = dict(top=dict(_samecolor=True), bot=dict(_samecolor=True),)
+
+ def __init__(self):
+ # Mix-in & directly from object -> does not necessarily need super
+ # super(EnvelopeMixIn, self).__init__()
+ perc = self.p.perc / 100.0
+
+ self.lines.top = self.lines[0] * (1.0 + perc)
+ self.lines.bot = self.lines[0] * (1.0 - perc)
+
+ super(EnvelopeMixIn, self).__init__()
+
+
+class _EnvelopeBase(Indicator):
+ lines = ('src',)
+
+ # plot the envelope lines along the passed source
+ plotinfo = dict(subplot=False)
+
+ # Do not replot the data line
+ plotlines = dict(src=dict(_plotskip=True))
+
+ def __init__(self):
+ self.lines.src = self.data
+ super(_EnvelopeBase, self).__init__()
+
+
+class Envelope(_EnvelopeBase, EnvelopeMixIn):
+ '''
+ It creates envelopes bands separated from the source data by a given
+ percentage
+
+ Formula:
+ - src = datasource
+ - top = src * (1 + perc)
+ - bot = src * (1 - perc)
+
+ See also:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_average_envelopes
+ '''
+
+
+# Automatic creation of Moving Average Envelope classes
+
+for movav in MovingAverage._movavs[1:]:
+ _newclsdoc = '''
+ %s and envelope bands separated "perc" from it
+
+ Formula:
+ - %s (from %s)
+ - top = %s * (1 + perc)
+ - bot = %s * (1 - perc)
+
+ See also:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_average_envelopes
+ '''
+ # Skip aliases - they will be created automatically
+ if getattr(movav, 'aliased', ''):
+ continue
+
+ movname = movav.__name__
+ linename = movav.lines._getlinealias(0)
+ newclsname = movname + 'Envelope'
+
+ newaliases = []
+ for alias in getattr(movav, 'alias', []):
+ for suffix in ['Envelope']:
+ newaliases.append(alias + suffix)
+
+ newclsdoc = _newclsdoc % (movname, linename, movname, linename, linename)
+
+ newclsdct = {'__doc__': newclsdoc,
+ '__module__': EnvelopeMixIn.__module__,
+ '_notregister': True,
+ 'alias': newaliases}
+ newcls = type(str(newclsname), (movav, EnvelopeMixIn), newclsdct)
+ module = sys.modules[EnvelopeMixIn.__module__]
+ setattr(module, newclsname, newcls)
diff --git a/backtrader/source/backtrader/indicators/hadelta.py b/backtrader/source/backtrader/indicators/hadelta.py
new file mode 100644
index 0000000000000000000000000000000000000000..d2b0a7231aa6b5baa7768db9e9b99cd8734af625
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/hadelta.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import backtrader as bt
+from . import MovAv
+
+
+__all__ = ['haDelta', 'haD']
+
+
+class haDelta(bt.Indicator):
+ '''Heikin Ashi Delta. Defined by Dan Valcu in his book "Heikin-Ashi: How to
+ Trade Without Candlestick Patterns ".
+
+ This indicator measures difference between Heikin Ashi close and open of
+ Heikin Ashi candles, the body of the candle.
+
+ To get signals add haDelta smoothed by 3 period moving average.
+
+ For correct use, the data for the indicator must have been previously
+ passed by the Heikin Ahsi filter.
+
+ Formula:
+ - haDelta = Heikin Ashi close - Heikin Ashi open
+ - smoothed = movav(haDelta, period)
+
+ '''
+ alias = ('haD',)
+
+ lines = ('haDelta', 'smoothed')
+
+ params = (
+ ('period', 3),
+ ('movav', MovAv.SMA),
+ ('autoheikin', True),
+ )
+
+ plotinfo = dict(subplot=True)
+
+ plotlines = dict(
+ haDelta=dict(color='red'),
+ smoothed=dict(color='grey', _fill_gt=(0, 'green'), _fill_lt=(0, 'red'))
+ )
+
+ def __init__(self):
+ d = bt.ind.HeikinAshi(self.data) if self.p.autoheikin else self.data
+
+ self.lines.haDelta = hd = d.close - d.open
+ self.lines.smoothed = self.p.movav(hd, period=self.p.period)
+ super(haDelta, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/heikinashi.py b/backtrader/source/backtrader/indicators/heikinashi.py
new file mode 100644
index 0000000000000000000000000000000000000000..a58ef275138b385e526f92a0218e7c6930424215
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/heikinashi.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import backtrader as bt
+from backtrader.utils.py3 import range
+
+
+__all__ = ['HeikinAshi']
+
+
+class HeikinAshi(bt.Indicator):
+ '''
+ Heikin Ashi candlesticks in the forms of lines
+
+ Formula:
+ ha_open = (ha_open(-1) + ha_close(-1)) / 2
+ ha_high = max(hi, ha_open, ha_close)
+ ha_low = min(lo, ha_open, ha_close)
+ ha_close = (open + high + low + close) / 4
+
+ See also:
+ https://en.wikipedia.org/wiki/Candlestick_chart#Heikin_Ashi_candlesticks
+ http://stockcharts.com/school/doku.php?id=chart_school:chart_analysis:heikin_ashi
+ '''
+ lines = ('ha_open', 'ha_high', 'ha_low', 'ha_close',)
+
+ linealias = (
+ ('ha_open', 'open',),
+ ('ha_high', 'high',),
+ ('ha_low', 'low',),
+ ('ha_close', 'close',),
+ )
+
+ plotinfo = dict(subplot=False)
+
+ _nextforce = True
+
+ def __init__(self):
+ o = self.data.open
+ h = self.data.high
+ l = self.data.low
+ c = self.data.close
+
+ self.l.ha_close = ha_close = (o + h + l + c) / 4.0
+ self.l.ha_open = ha_open = (self.l.ha_open(-1) + ha_close(-1)) / 2.0
+ self.l.ha_high = bt.Max(h, ha_open, ha_close)
+ self.l.ha_low = bt.Min(l, ha_open, ha_close)
+
+ super(HeikinAshi, self).__init__()
+
+ def prenext(self):
+ # seed recursive value
+ self.lines.ha_open[0] = (self.data.open[0] + self.data.close[0]) / 2.0
diff --git a/backtrader/source/backtrader/indicators/hma.py b/backtrader/source/backtrader/indicators/hma.py
new file mode 100644
index 0000000000000000000000000000000000000000..5f918527752189995d2f42afff076cd8755b8fe0
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/hma.py
@@ -0,0 +1,66 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from . import MovingAverageBase, MovAv
+
+
+# Inherits from MovingAverageBase to auto-register as MovingAverage type
+class HullMovingAverage(MovingAverageBase):
+ '''By Alan Hull
+
+ The Hull Moving Average solves the age old dilemma of making a moving
+ average more responsive to current price activity whilst maintaining curve
+ smoothness. In fact the HMA almost eliminates lag altogether and manages to
+ improve smoothing at the same time.
+
+ Formula:
+ - hma = wma(2 * wma(data, period // 2) - wma(data, period), sqrt(period))
+
+ See also:
+ - http://alanhull.com/hull-moving-average
+
+ Note:
+
+ - Please note that the final minimum period is not the period passed with
+ the parameter ``period``. A final moving average on moving average is
+ done in which the period is the *square root* of the original.
+
+ In the default case of ``30`` the final minimum period before the
+ moving average produces a non-NAN value is ``34``
+ '''
+ alias = ('HMA', 'HullMA',)
+ lines = ('hma',)
+
+ # param 'period' is inherited from MovingAverageBase
+ params = (('_movav', MovAv.WMA),)
+
+ def __init__(self):
+ wma = self.p._movav(self.data, period=self.params.period)
+ wma2 = 2.0 * self.p._movav(self.data, period=self.params.period // 2)
+
+ sqrtperiod = pow(self.params.period, 0.5)
+ self.lines.hma = self.p._movav(wma2 - wma, period=int(sqrtperiod))
+
+ # Done after calc to ensure coop inheritance and composition work
+ super(HullMovingAverage, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/hurst.py b/backtrader/source/backtrader/indicators/hurst.py
new file mode 100644
index 0000000000000000000000000000000000000000..90c57b1b8032ae190d392f0e935d8ddd8ac689cf
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/hurst.py
@@ -0,0 +1,96 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import PeriodN
+
+
+__all__ = ['HurstExponent', 'Hurst']
+
+
+class HurstExponent(PeriodN):
+ '''
+ References:
+
+ - https://www.quantopian.com/posts/hurst-exponent
+ - https://www.quantopian.com/posts/some-code-from-ernie-chans-new-book-implemented-in-python
+
+ Interpretation of the results
+
+ 1. Geometric random walk (H=0.5)
+ 2. Mean-reverting series (H<0.5)
+ 3. Trending Series (H>0.5)
+
+ Important notes:
+
+ - The default period is ``40``, but experimentation by users has shown
+ that it would be advisable to have at least 2000 samples (i.e.: a
+ period of at least 2000) to have stable values.
+
+ - The `lag_start` and `lag_end` values will default to be ``2`` and
+ ``self.p.period / 2`` unless the parameters are specified.
+
+ Experimentation by users has also shown that values of around ``10``
+ and ``500`` produce good results
+
+ The original values (40, 2, self.p.period / 2) are kept for backwards
+ compatibility
+
+ '''
+ frompackages = (
+ ('numpy', ('asarray', 'log10', 'polyfit', 'sqrt', 'std', 'subtract')),
+ )
+
+ alias = ('Hurst',)
+ lines = ('hurst',)
+ params = (
+ ('period', 40), # 2000 was proposed
+ ('lag_start', None), # 10 was proposed
+ ('lag_end', None), # 500 was proposed
+ )
+
+ def _plotlabel(self):
+ plabels = [self.p.period]
+ plabels += [self._lag_start]
+ plabels += [self._lag_end]
+ return plabels
+
+ def __init__(self):
+ super(HurstExponent, self).__init__()
+ # Prepare the lags array
+ self._lag_start = lag_start = self.p.lag_start or 2
+ self._lag_end = lag_end = self.p.lag_end or (self.p.period // 2)
+ self.lags = asarray(range(lag_start, lag_end))
+ self.log10lags = log10(self.lags)
+
+ def next(self):
+ # Fetch the data
+ ts = asarray(self.data.get(size=self.p.period))
+
+ # Calculate the array of the variances of the lagged differences
+ tau = [sqrt(std(subtract(ts[lag:], ts[:-lag]))) for lag in self.lags]
+
+ # Use a linear fit to estimate the Hurst Exponent
+ poly = polyfit(self.log10lags, log10(tau), 1)
+
+ # Return the Hurst exponent from the polyfit output
+ self.lines.hurst[0] = poly[0] * 2.0
diff --git a/backtrader/source/backtrader/indicators/ichimoku.py b/backtrader/source/backtrader/indicators/ichimoku.py
new file mode 100644
index 0000000000000000000000000000000000000000..c0854321267642f1ef491d72c8f84dcffb65bc54
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/ichimoku.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+from . import Highest, Lowest
+
+
+class Ichimoku(bt.Indicator):
+ '''
+ Developed and published in his book in 1969 by journalist Goichi Hosoda
+
+ Formula:
+ - tenkan_sen = (Highest(High, tenkan) + Lowest(Low, tenkan)) / 2.0
+ - kijun_sen = (Highest(High, kijun) + Lowest(Low, kijun)) / 2.0
+
+ The next 2 are pushed 26 bars into the future
+
+ - senkou_span_a = (tenkan_sen + kijun_sen) / 2.0
+ - senkou_span_b = ((Highest(High, senkou) + Lowest(Low, senkou)) / 2.0
+
+ This is pushed 26 bars into the past
+
+ - chikou = close
+
+ The cloud (Kumo) is formed by the area between the senkou_spans
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:ichimoku_cloud
+
+ '''
+ lines = ('tenkan_sen', 'kijun_sen',
+ 'senkou_span_a', 'senkou_span_b', 'chikou_span',)
+ params = (
+ ('tenkan', 9),
+ ('kijun', 26),
+ ('senkou', 52),
+ ('senkou_lead', 26), # forward push
+ ('chikou', 26), # backwards push
+ )
+
+ plotinfo = dict(subplot=False)
+ plotlines = dict(
+ senkou_span_a=dict(_fill_gt=('senkou_span_b', 'g'),
+ _fill_lt=('senkou_span_b', 'r')),
+ )
+
+ def __init__(self):
+ hi_tenkan = Highest(self.data.high, period=self.p.tenkan)
+ lo_tenkan = Lowest(self.data.low, period=self.p.tenkan)
+ self.l.tenkan_sen = (hi_tenkan + lo_tenkan) / 2.0
+
+ hi_kijun = Highest(self.data.high, period=self.p.kijun)
+ lo_kijun = Lowest(self.data.low, period=self.p.kijun)
+ self.l.kijun_sen = (hi_kijun + lo_kijun) / 2.0
+
+ senkou_span_a = (self.l.tenkan_sen + self.l.kijun_sen) / 2.0
+ self.l.senkou_span_a = senkou_span_a(-self.p.senkou_lead)
+
+ hi_senkou = Highest(self.data.high, period=self.p.senkou)
+ lo_senkou = Lowest(self.data.low, period=self.p.senkou)
+ senkou_span_b = (hi_senkou + lo_senkou) / 2.0
+ self.l.senkou_span_b = senkou_span_b(-self.p.senkou_lead)
+
+ self.l.chikou_span = self.data.close(self.p.chikou)
+
+ super(Ichimoku, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/kama.py b/backtrader/source/backtrader/indicators/kama.py
new file mode 100644
index 0000000000000000000000000000000000000000..704d6b40fa5573c0302dc6c7a714604ef251aee7
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/kama.py
@@ -0,0 +1,81 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import (SumN, MovingAverageBase, ExponentialSmoothingDynamic)
+
+
+class AdaptiveMovingAverage(MovingAverageBase):
+ '''
+ Defined by Perry Kaufman in his book `"Smarter Trading"`.
+
+ It is A Moving Average with a continuously scaled smoothing factor by
+ taking into account market direction and volatility. The smoothing factor
+ is calculated from 2 ExponetialMovingAverage smoothing factors, a fast one
+ and slow one.
+
+ If the market trends the value will tend to the fast ema smoothing
+ period. If the market doesn't trend it will move towards the slow EMA
+ smoothing period.
+
+ It is a subclass of SmoothingMovingAverage, overriding once to account for
+ the live nature of the smoothing factor
+
+ Formula:
+ - direction = close - close_period
+ - volatility = sumN(abs(close - close_n), period)
+ - effiency_ratio = abs(direction / volatility)
+ - fast = 2 / (fast_period + 1)
+ - slow = 2 / (slow_period + 1)
+
+ - smfactor = squared(efficienty_ratio * (fast - slow) + slow)
+ - smfactor1 = 1.0 - smfactor
+
+ - The initial seed value is a SimpleMovingAverage
+
+ See also:
+ - http://fxcodebase.com/wiki/index.php/Kaufman's_Adaptive_Moving_Average_(KAMA)
+ - http://www.metatrader5.com/en/terminal/help/analytics/indicators/trend_indicators/ama
+ - http://help.cqg.com/cqgic/default.htm#!Documents/adaptivemovingaverag2.htm
+ '''
+ alias = ('KAMA', 'MovingAverageAdaptive',)
+ lines = ('kama',)
+ params = (('fast', 2), ('slow', 30))
+
+ def __init__(self):
+ # Before super to ensure mixins (right-hand side in subclassing)
+ # can see the assignment operation and operate on the line
+ direction = self.data - self.data(-self.p.period)
+ volatility = SumN(abs(self.data - self.data(-1)), period=self.p.period)
+
+ er = abs(direction / volatility) # efficiency ratio
+
+ fast = 2.0 / (self.p.fast + 1.0) # fast ema smoothing factor
+ slow = 2.0 / (self.p.slow + 1.0) # slow ema smoothing factor
+
+ sc = pow((er * (fast - slow)) + slow, 2) # scalable constant
+
+ self.lines[0] = ExponentialSmoothingDynamic(self.data,
+ period=self.p.period,
+ alpha=sc)
+
+ super(AdaptiveMovingAverage, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/kst.py b/backtrader/source/backtrader/indicators/kst.py
new file mode 100644
index 0000000000000000000000000000000000000000..5933eda42bbb7190683247d1336521ed612f1111
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/kst.py
@@ -0,0 +1,77 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+from . import SMA, ROC100
+
+
+class KnowSureThing(bt.Indicator):
+ '''
+ It is a "summed" momentum indicator. Developed by Martin Pring and
+ published in 1992 in Stocks & Commodities.
+
+ Formula:
+ - rcma1 = MovAv(roc100(rp1), period)
+ - rcma2 = MovAv(roc100(rp2), period)
+ - rcma3 = MovAv(roc100(rp3), period)
+ - rcma4 = MovAv(roc100(rp4), period)
+
+ - kst = 1.0 * rcma1 + 2.0 * rcma2 + 3.0 * rcma3 + 4.0 * rcma4
+ - signal = MovAv(kst, speriod)
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:know_sure_thing_kst
+
+ Params
+
+ - ``rma1``, ``rma2``, ``rma3``, ``rma4``: for the MovingAverages on ROCs
+ - ``rp1``, ``rp2``, ``rp3``, ``rp4``: for the ROCs
+ - ``rsig``: for the MovingAverage for the signal line
+ - ``rfactors``: list of factors to apply to the different MovAv(ROCs)
+ - ``_movav`` and ``_movavs``, allows to change the Moving Average type
+ applied for the calculation of kst and signal
+
+ '''
+ alias = ('KST',)
+ lines = ('kst', 'signal',)
+ params = (
+ ('rp1', 10), ('rp2', 15), ('rp3', 20), ('rp4', 30),
+ ('rma1', 10), ('rma2', 10), ('rma3', 10), ('rma4', 10),
+ ('rsignal', 9),
+ ('rfactors', [1.0, 2.0, 3.0, 4.0]),
+ ('_rmovav', SMA),
+ ('_smovav', SMA),
+ )
+
+ plotinfo = dict(plothlines=[0.0])
+
+ def __init__(self):
+ rcma1 = self.p._rmovav(ROC100(period=self.p.rp1), period=self.p.rma1)
+ rcma2 = self.p._rmovav(ROC100(period=self.p.rp2), period=self.p.rma2)
+ rcma3 = self.p._rmovav(ROC100(period=self.p.rp3), period=self.p.rma3)
+ rcma4 = self.p._rmovav(ROC100(period=self.p.rp4), period=self.p.rma4)
+ self.l.kst = sum([rfi * rci for rfi, rci in
+ zip(self.p.rfactors, [rcma1, rcma2, rcma3, rcma4])])
+
+ self.l.signal = self.p._smovav(self.l.kst, period=self.p.rsignal)
+ super(KnowSureThing, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/lrsi.py b/backtrader/source/backtrader/indicators/lrsi.py
new file mode 100644
index 0000000000000000000000000000000000000000..d6a9817e028fb6603d8564b63e2815e0d82b9677
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/lrsi.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import PeriodN
+
+
+__all__ = ['LaguerreRSI', 'LRSI', 'LaguerreFilter', 'LAGF']
+
+
+class LaguerreRSI(PeriodN):
+ '''
+ Defined by John F. Ehlers in `Cybernetic Analysis for Stock and Futures`,
+ 2004, published by Wiley. `ISBN: 978-0-471-46307-8`
+
+ The Laguerre RSI tries to implements a better RSI by providing a sort of
+ *Time Warp without Time Travel* using a Laguerre filter. This provides for
+ faster reactions to price changes
+
+ ``gamma`` is meant to have values between ``0.2`` and ``0.8``, with the
+ best balance found theoretically at the default of ``0.5``
+ '''
+ alias = ('LRSI',)
+ lines = ('lrsi',)
+ params = (
+ ('gamma', 0.5),
+ ('period', 6),
+ )
+
+ plotinfo = dict(
+ plotymargin=0.15,
+ plotyticks=[0.0, 0.2, 0.5, 0.8, 1.0]
+ )
+
+ l0, l1, l2, l3 = 0.0, 0.0, 0.0, 0.0
+
+ def next(self):
+ l0_1 = self.l0 # cache previous intermediate values
+ l1_1 = self.l1
+ l2_1 = self.l2
+
+ g = self.p.gamma # avoid more lookups
+ self.l0 = l0 = (1.0 - g) * self.data + g * l0_1
+ self.l1 = l1 = -g * l0 + l0_1 + g * l1_1
+ self.l2 = l2 = -g * l1 + l1_1 + g * l2_1
+ self.l3 = l3 = -g * l2 + l2_1 + g * self.l3
+
+ cu = 0.0
+ cd = 0.0
+ if l0 >= l1:
+ cu = l0 - l1
+ else:
+ cd = l1 - l0
+
+ if l1 >= l2:
+ cu += l1 - l2
+ else:
+ cd += l2 - l1
+
+ if l2 >= l3:
+ cu += l2 - l3
+ else:
+ cd += l3 - l2
+
+ den = cu + cd
+ self.lines.lrsi[0] = 1.0 if not den else cu / den
+
+
+class LaguerreFilter(PeriodN):
+ '''
+ Defined by John F. Ehlers in `Cybernetic Analysis for Stock and Futures`,
+ 2004, published by Wiley. `ISBN: 978-0-471-46307-8`
+
+ ``gamma`` is meant to have values between ``0.2`` and ``0.8``, with the
+ best balance found theoretically at the default of ``0.5``
+ '''
+ alias = ('LAGF',)
+ lines = ('lfilter',)
+ params = (('gamma', 0.5),)
+ plotinfo = dict(subplot=False)
+
+ l0, l1, l2, l3 = 0.0, 0.0, 0.0, 0.0
+
+ def next(self):
+ l0_1 = self.l0 # cache previous intermediate values
+ l1_1 = self.l1
+ l2_1 = self.l2
+
+ g = self.p.gamma # avoid more lookups
+ self.l0 = l0 = (1.0 - g) * self.data + g * l0_1
+ self.l1 = l1 = -g * l0 + l0_1 + g * l1_1
+ self.l2 = l2 = -g * l1 + l1_1 + g * l2_1
+ self.l3 = l3 = -g * l2 + l2_1 + g * self.l3
+ self.lines.lfilter[0] = (l0 + (2 * l1) + (2 * l2) + l3) / 6
diff --git a/backtrader/source/backtrader/indicators/mabase.py b/backtrader/source/backtrader/indicators/mabase.py
new file mode 100644
index 0000000000000000000000000000000000000000..c9dc8b437c131c4788eb3543c8594a56d4848b10
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/mabase.py
@@ -0,0 +1,91 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from ..utils.py3 import with_metaclass
+
+from . import Indicator
+
+
+class MovingAverage(object):
+ '''MovingAverage (alias MovAv)
+
+ A placeholder to gather all Moving Average Types in a single place.
+
+ Instantiating a SimpleMovingAverage can be achieved as follows::
+
+ sma = MovingAverage.Simple(self.data, period)
+
+ Or using the shorter aliases::
+
+ sma = MovAv.SMA(self.data, period)
+
+ or with the full (forwards and backwards) names:
+
+ sma = MovAv.SimpleMovingAverage(self.data, period)
+
+ sma = MovAv.MovingAverageSimple(self.data, period)
+
+ '''
+ _movavs = []
+
+ @classmethod
+ def register(cls, regcls):
+ if getattr(regcls, '_notregister', False):
+ return
+
+ cls._movavs.append(regcls)
+
+ clsname = regcls.__name__
+ setattr(cls, clsname, regcls)
+
+ clsalias = ''
+ if clsname.endswith('MovingAverage'):
+ clsalias = clsname.split('MovingAverage')[0]
+ elif clsname.startswith('MovingAverage'):
+ clsalias = clsname.split('MovingAverage')[1]
+
+ if clsalias:
+ setattr(cls, clsalias, regcls)
+
+
+class MovAv(MovingAverage):
+ pass # alias
+
+
+class MetaMovAvBase(Indicator.__class__):
+ # Register any MovingAverage with the placeholder to allow the automatic
+ # creation of envelopes and oscillators
+
+ def __new__(meta, name, bases, dct):
+ # Create the class
+ cls = super(MetaMovAvBase, meta).__new__(meta, name, bases, dct)
+
+ MovingAverage.register(cls)
+
+ # return the class
+ return cls
+
+
+class MovingAverageBase(with_metaclass(MetaMovAvBase, Indicator)):
+ params = (('period', 30),)
+ plotinfo = dict(subplot=False)
diff --git a/backtrader/source/backtrader/indicators/macd.py b/backtrader/source/backtrader/indicators/macd.py
new file mode 100644
index 0000000000000000000000000000000000000000..e12663fe21282473058a45dcfae56222723a617f
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/macd.py
@@ -0,0 +1,84 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, MovAv
+
+
+class MACD(Indicator):
+ '''
+ Moving Average Convergence Divergence. Defined by Gerald Appel in the 70s.
+
+ It measures the distance of a short and a long term moving average to
+ try to identify the trend.
+
+ A second lagging moving average over the convergence-divergence should
+ provide a "signal" upon being crossed by the macd
+
+ Formula:
+ - macd = ema(data, me1_period) - ema(data, me2_period)
+ - signal = ema(macd, signal_period)
+
+ See:
+ - http://en.wikipedia.org/wiki/MACD
+ '''
+ lines = ('macd', 'signal',)
+ params = (('period_me1', 12), ('period_me2', 26), ('period_signal', 9),
+ ('movav', MovAv.Exponential),)
+
+ plotinfo = dict(plothlines=[0.0])
+ plotlines = dict(signal=dict(ls='--'))
+
+ def _plotlabel(self):
+ plabels = super(MACD, self)._plotlabel()
+ if self.p.isdefault('movav'):
+ plabels.remove(self.p.movav)
+ return plabels
+
+ def __init__(self):
+ super(MACD, self).__init__()
+ me1 = self.p.movav(self.data, period=self.p.period_me1)
+ me2 = self.p.movav(self.data, period=self.p.period_me2)
+ self.lines.macd = me1 - me2
+ self.lines.signal = self.p.movav(self.lines.macd,
+ period=self.p.period_signal)
+
+
+class MACDHisto(MACD):
+ '''
+ Subclass of MACD which adds a "histogram" of the difference between the
+ macd and signal lines
+
+ Formula:
+ - histo = macd - signal
+
+ See:
+ - http://en.wikipedia.org/wiki/MACD
+ '''
+ alias = ('MACDHistogram',)
+
+ lines = ('histo',)
+ plotlines = dict(histo=dict(_method='bar', alpha=0.50, width=1.0))
+
+ def __init__(self):
+ super(MACDHisto, self).__init__()
+ self.lines.histo = self.lines.macd - self.lines.signal
diff --git a/backtrader/source/backtrader/indicators/momentum.py b/backtrader/source/backtrader/indicators/momentum.py
new file mode 100644
index 0000000000000000000000000000000000000000..4f9d9ec407fa5da2e75725f42339192d1e1b18ed
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/momentum.py
@@ -0,0 +1,126 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator
+
+
+class Momentum(Indicator):
+ '''
+ Measures the change in price by calculating the difference between the
+ current price and the price from a given period ago
+
+
+ Formula:
+ - momentum = data - data_period
+
+ See:
+ - http://en.wikipedia.org/wiki/Momentum_(technical_analysis)
+ '''
+ lines = ('momentum',)
+ params = (('period', 12),)
+ plotinfo = dict(plothlines=[0.0])
+
+ def __init__(self):
+ self.l.momentum = self.data - self.data(-self.p.period)
+ super(Momentum, self).__init__()
+
+
+class MomentumOscillator(Indicator):
+ '''
+ Measures the ratio of change in prices over a period
+
+ Formula:
+ - mosc = 100 * (data / data_period)
+
+ See:
+ - http://ta.mql4.com/indicators/oscillators/momentum
+ '''
+ alias = ('MomentumOsc',)
+
+ # Named output lines
+ lines = ('momosc',)
+
+ # Accepted parameters (and defaults) -
+ params = (('period', 12),
+ ('band', 100.0))
+
+ def _plotlabel(self):
+ plabels = [self.p.period]
+ return plabels
+
+ def _plotinit(self):
+ self.plotinfo.plothlines = [self.p.band]
+
+ def __init__(self):
+ self.l.momosc = 100.0 * (self.data / self.data(-self.p.period))
+ super(MomentumOscillator, self).__init__()
+
+
+class RateOfChange(Indicator):
+ '''
+ Measures the ratio of change in prices over a period
+
+ Formula:
+ - roc = (data - data_period) / data_period
+
+ See:
+ - http://en.wikipedia.org/wiki/Momentum_(technical_analysis)
+ '''
+ alias = ('ROC',)
+
+ # Named output lines
+ lines = ('roc',)
+
+ # Accepted parameters (and defaults) -
+ params = (('period', 12),)
+
+ def __init__(self):
+ dperiod = self.data(-self.p.period)
+ self.l.roc = (self.data - dperiod) / dperiod
+ super(RateOfChange, self).__init__()
+
+
+class RateOfChange100(Indicator):
+ '''
+ Measures the ratio of change in prices over a period with base 100
+
+ This is for example how ROC is defined in stockcharts
+
+ Formula:
+ - roc = 100 * (data - data_period) / data_period
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:rate_of_change_roc_and_momentum
+
+ '''
+ alias = ('ROC100',)
+
+ # Named output lines
+ lines = ('roc100',)
+
+ # Accepted parameters (and defaults)
+ params = (('period', 12),)
+
+ def __init__(self):
+ self.l.roc100 = 100.0 * ROC(self.data, period=self.p.period)
+ super(RateOfChange100, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/ols.py b/backtrader/source/backtrader/indicators/ols.py
new file mode 100644
index 0000000000000000000000000000000000000000..639a84502dc683b4cb26697be8880bc9661e60c3
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/ols.py
@@ -0,0 +1,128 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+from . import PeriodN
+
+
+__all__ = ['OLS_Slope_InterceptN', 'OLS_TransformationN', 'OLS_BetaN',
+ 'CointN']
+
+
+class OLS_Slope_InterceptN(PeriodN):
+ '''
+ Calculates a linear regression using ``statsmodel.OLS`` (Ordinary least
+ squares) of data1 on data0
+
+ Uses ``pandas`` and ``statsmodels``
+ '''
+ _mindatas = 2 # ensure at least 2 data feeds are passed
+
+ packages = (
+ ('pandas', 'pd'),
+ ('statsmodels.api', 'sm'),
+ )
+ lines = ('slope', 'intercept',)
+ params = (
+ ('period', 10),
+ )
+
+ def next(self):
+ p0 = pd.Series(self.data0.get(size=self.p.period))
+ p1 = pd.Series(self.data1.get(size=self.p.period))
+ p1 = sm.add_constant(p1)
+ intercept, slope = sm.OLS(p0, p1).fit().params
+
+ self.lines.slope[0] = slope
+ self.lines.intercept[0] = intercept
+
+
+class OLS_TransformationN(PeriodN):
+ '''
+ Calculates the ``zscore`` for data0 and data1. Although it doesn't directly
+ uses any external package it relies on ``OLS_SlopeInterceptN`` which uses
+ ``pandas`` and ``statsmodels``
+ '''
+ _mindatas = 2 # ensure at least 2 data feeds are passed
+ lines = ('spread', 'spread_mean', 'spread_std', 'zscore',)
+ params = (('period', 10),)
+
+ def __init__(self):
+ slint = OLS_Slope_InterceptN(*self.datas)
+
+ spread = self.data0 - (slint.slope * self.data1 + slint.intercept)
+ self.l.spread = spread
+
+ self.l.spread_mean = bt.ind.SMA(spread, period=self.p.period)
+ self.l.spread_std = bt.ind.StdDev(spread, period=self.p.period)
+ self.l.zscore = (spread - self.l.spread_mean) / self.l.spread_std
+
+
+class OLS_BetaN(PeriodN):
+ '''
+ Calculates a regression of data1 on data0 using ``pandas.ols``
+
+ Uses ``pandas``
+ '''
+ _mindatas = 2 # ensure at least 2 data feeds are passed
+
+ packages = (
+ ('pandas', 'pd'),
+ )
+
+ lines = ('beta',)
+ params = (('period', 10),)
+
+ def next(self):
+ y, x = (pd.Series(d.get(size=self.p.period)) for d in self.datas)
+ r_beta = pd.ols(y=y, x=x, window_type='full_sample')
+ self.lines.beta[0] = r_beta.beta['x']
+
+
+class CointN(PeriodN):
+ '''
+ Calculates the score (coint_t) and pvalue for a given ``period`` for the
+ data feeds
+
+ Uses ``pandas`` and ``statsmodels`` (for ``coint``)
+ '''
+ _mindatas = 2 # ensure at least 2 data feeds are passed
+
+ packages = (
+ ('pandas', 'pd'), # import pandas as pd
+ )
+ frompackages = (
+ ('statsmodels.tsa.stattools', 'coint'), # from st... import coint
+ )
+
+ lines = ('score', 'pvalue',)
+ params = (
+ ('period', 10),
+ ('trend', 'c'), # see statsmodel.tsa.statttools
+ )
+
+ def next(self):
+ x, y = (pd.Series(d.get(size=self.p.period)) for d in self.datas)
+ score, pvalue, _ = coint(x, y, trend=self.p.trend)
+ self.lines.score[0] = score
+ self.lines.pvalue[0] = pvalue
diff --git a/backtrader/source/backtrader/indicators/oscillator.py b/backtrader/source/backtrader/indicators/oscillator.py
new file mode 100644
index 0000000000000000000000000000000000000000..8155c3296c575a9819447c94887e8c0c4e0159bd
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/oscillator.py
@@ -0,0 +1,130 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import sys
+
+
+from . import Indicator, MovingAverage
+
+
+class OscillatorMixIn(Indicator):
+ '''
+ MixIn class to create a subclass with another indicator. The main line of
+ that indicator will be substracted from the other base class main line
+ creating an oscillator
+
+ The usage is:
+
+ - Class XXXOscillator(XXX, OscillatorMixIn)
+
+ Formula:
+ - XXX calculates lines[0]
+ - osc = self.data - XXX.lines[0]
+ '''
+ plotlines = dict(_0=dict(_name='osc'))
+
+ def _plotinit(self):
+ try:
+ lname = self.lines._getlinealias(0)
+ self.plotlines._0._name = lname + '_osc'
+ except AttributeError:
+ pass
+
+ def __init__(self):
+ self.lines[0] = self.data - self.lines[0]
+ super(OscillatorMixIn, self).__init__()
+
+
+class Oscillator(Indicator):
+ '''
+ Oscillation of a given data around another data
+
+ Datas:
+ This indicator can accept 1 or 2 datas for the calculation.
+
+ - If 1 data is provided, it must be a complex "Lines" object (indicator)
+ which also has "datas". Example: A moving average
+
+ The calculated oscillation will be that of the Moving Average (in the
+ example) around the data that was used for the average calculation
+
+ - If 2 datas are provided the calculated oscillation will be that of the
+ 2nd data around the 1st data
+
+ Formula:
+ - 1 data -> osc = data.data - data
+ - 2 datas -> osc = data0 - data1
+ '''
+ lines = ('osc',)
+
+ # Have a default value which can be later modified if needed
+ plotlines = dict(_0=dict(_name='osc'))
+
+ def _plotinit(self):
+ try:
+ lname = self.dataosc._getlinealias(0)
+ self.plotlines._0._name = lname + '_osc'
+ except AttributeError:
+ pass
+
+ def __init__(self):
+ super(Oscillator, self).__init__()
+
+ if len(self.datas) > 1:
+ datasrc = self.data
+ self.dataosc = self.data1
+ else:
+ datasrc = self.data.data
+ self.dataosc = self.data
+
+ self.lines[0] = datasrc - self.dataosc
+
+
+# Automatic creation of Oscillating Lines
+
+for movav in MovingAverage._movavs[1:]:
+ _newclsdoc = '''
+ Oscillation of a %s around its data
+ '''
+ # Skip aliases - they will be created automatically
+ if getattr(movav, 'aliased', ''):
+ continue
+
+ movname = movav.__name__
+ linename = movav.lines._getlinealias(0)
+ newclsname = movname + 'Oscillator'
+
+ newaliases = [movname + 'Osc']
+ for alias in getattr(movav, 'alias', []):
+ for suffix in ['Oscillator', 'Osc']:
+ newaliases.append(alias + suffix)
+
+ newclsdoc = _newclsdoc % movname
+ newclsdct = {'__doc__': newclsdoc,
+ '__module__': OscillatorMixIn.__module__,
+ '_notregister': True,
+ 'alias': newaliases}
+
+ newcls = type(str(newclsname), (movav, OscillatorMixIn), newclsdct)
+ module = sys.modules[OscillatorMixIn.__module__]
+ setattr(module, newclsname, newcls)
diff --git a/backtrader/source/backtrader/indicators/percentchange.py b/backtrader/source/backtrader/indicators/percentchange.py
new file mode 100644
index 0000000000000000000000000000000000000000..c1013db04656c2b3c7d9fb02d98144f39035a6b0
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/percentchange.py
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator
+
+
+__all__ = ['PercentChange', 'PctChange']
+
+
+class PercentChange(Indicator):
+ '''
+ Measures the perccentage change of the current value with respect to that
+ of period bars ago
+ '''
+ alias = ('PctChange',)
+ lines = ('pctchange',)
+
+ # Fancy plotting name
+ plotlines = dict(pctchange=dict(_name='%change'))
+
+ # update value to standard for Moving Averages
+ params = (('period', 30),)
+
+ def __init__(self):
+ self.lines.pctchange = self.data / self.data(-self.p.period) - 1.0
+ super(PercentChange, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/percentrank.py b/backtrader/source/backtrader/indicators/percentrank.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d4f14f9cd494648ff6c09af88d24edffaaa0a2a
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/percentrank.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from math import fsum
+
+from . import BaseApplyN
+
+
+__all__ = ['PercentRank', 'PctRank']
+
+
+class PercentRank(BaseApplyN):
+ '''
+ Measures the percent rank of the current value with respect to that of
+ period bars ago
+ '''
+ alias = ('PctRank',)
+ lines = ('pctrank',)
+ params = (
+ ('period', 50),
+ ('func', lambda d: fsum(x < d[-1] for x in d) / len(d)),
+ )
diff --git a/backtrader/source/backtrader/indicators/pivotpoint.py b/backtrader/source/backtrader/indicators/pivotpoint.py
new file mode 100644
index 0000000000000000000000000000000000000000..750b4ab8058ca05aadbfb1929ce859aacd0f0b43
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/pivotpoint.py
@@ -0,0 +1,266 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, CmpEx
+
+
+class PivotPoint(Indicator):
+ '''
+ Defines a level of significance by taking into account the average of price
+ bar components of the past period of a larger timeframe. For example when
+ operating with days, the values are taking from the already "past" month
+ fixed prices.
+
+ Example of using this indicator:
+
+ data = btfeeds.ADataFeed(dataname=x, timeframe=bt.TimeFrame.Days)
+ cerebro.adddata(data)
+ cerebro.resampledata(data, timeframe=bt.TimeFrame.Months)
+
+ In the ``__init__`` method of the strategy:
+
+ pivotindicator = btind.PivotPoiont(self.data1) # the resampled data
+
+ The indicator will try to automatically plo to the non-resampled data. To
+ disable this behavior use the following during construction:
+
+ - _autoplot=False
+
+ Note:
+
+ The example shows *days* and *months*, but any combination of timeframes
+ can be used. See the literature for recommended combinations
+
+ Formula:
+ - pivot = (h + l + c) / 3 # variants duplicate close or add open
+ - support1 = 2.0 * pivot - high
+ - support2 = pivot - (high - low)
+ - resistance1 = 2.0 * pivot - low
+ - resistance2 = pivot + (high - low)
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:pivot_points
+ - https://en.wikipedia.org/wiki/Pivot_point_(technical_analysis)
+ '''
+ lines = ('p', 's1', 's2', 'r1', 'r2',)
+ plotinfo = dict(subplot=False)
+
+ params = (
+ ('open', False), # add opening price to the pivot point
+ ('close', False), # use close twice in the calcs
+ ('_autoplot', True), # attempt to plot on real target data
+ )
+
+ def _plotinit(self):
+ # Try to plot to the actual timeframe master
+ if self.p._autoplot:
+ if hasattr(self.data, 'data'):
+ self.plotinfo.plotmaster = self.data.data
+
+ def __init__(self):
+ o = self.data.open
+ h = self.data.high # current high
+ l = self.data.low # current low
+ c = self.data.close # current close
+
+ if self.p.close:
+ self.lines.p = p = (h + l + 2.0 * c) / 4.0
+ elif self.p.open:
+ self.lines.p = p = (h + l + c + o) / 4.0
+ else:
+ self.lines.p = p = (h + l + c) / 3.0
+
+ self.lines.s1 = 2.0 * p - h
+ self.lines.r1 = 2.0 * p - l
+
+ self.lines.s2 = p - (h - l)
+ self.lines.r2 = p + (h - l)
+
+ super(PivotPoint, self).__init__() # enable coopertive inheritance
+
+ if self.p._autoplot:
+ self.plotinfo.plot = False # disable own plotting
+ self() # Coupler to follow real object
+
+
+class FibonacciPivotPoint(Indicator):
+ '''
+ Defines a level of significance by taking into account the average of price
+ bar components of the past period of a larger timeframe. For example when
+ operating with days, the values are taking from the already "past" month
+ fixed prices.
+
+ Fibonacci levels (configurable) are used to define the support/resistance levels
+
+ Example of using this indicator:
+
+ data = btfeeds.ADataFeed(dataname=x, timeframe=bt.TimeFrame.Days)
+ cerebro.adddata(data)
+ cerebro.resampledata(data, timeframe=bt.TimeFrame.Months)
+
+ In the ``__init__`` method of the strategy:
+
+ pivotindicator = btind.FibonacciPivotPoiont(self.data1) # the resampled data
+
+ The indicator will try to automatically plo to the non-resampled data. To
+ disable this behavior use the following during construction:
+
+ - _autoplot=False
+
+ Note:
+
+ The example shows *days* and *months*, but any combination of timeframes
+ can be used. See the literature for recommended combinations
+
+ Formula:
+ - pivot = (h + l + c) / 3 # variants duplicate close or add open
+ - support1 = p - level1 * (high - low) # level1 0.382
+ - support2 = p - level2 * (high - low) # level2 0.618
+ - support3 = p - level3 * (high - low) # level3 1.000
+ - resistance1 = p + level1 * (high - low) # level1 0.382
+ - resistance2 = p + level2 * (high - low) # level2 0.618
+ - resistance3 = p + level3 * (high - low) # level3 1.000
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:pivot_points
+ '''
+ lines = ('p', 's1', 's2', 's3', 'r1', 'r2', 'r3')
+ plotinfo = dict(subplot=False)
+ params = (
+ ('open', False), # add opening price to the pivot point
+ ('close', False), # use close twice in the calcs
+ ('_autoplot', True), # attempt to plot on real target data
+ ('level1', 0.382),
+ ('level2', 0.618),
+ ('level3', 1.0),
+ )
+
+ def _plotinit(self):
+ # Try to plot to the actual timeframe master
+ if self.p._autoplot:
+ if hasattr(self.data, 'data'):
+ self.plotinfo.plotmaster = self.data.data
+
+ def __init__(self):
+ o = self.data.open
+ h = self.data.high # current high
+ l = self.data.low # current high
+ c = self.data.close # current high
+
+ if self.p.close:
+ self.lines.p = p = (h + l + 2.0 * c) / 4.0
+ elif self.p.open:
+ self.lines.p = p = (h + l + c + o) / 4.0
+ else:
+ self.lines.p = p = (h + l + c) / 3.0
+
+ self.lines.s1 = p - self.p.level1 * (h - l)
+ self.lines.s2 = p - self.p.level2 * (h - l)
+ self.lines.s3 = p - self.p.level3 * (h - l)
+
+ self.lines.r1 = p + self.p.level1 * (h - l)
+ self.lines.r2 = p + self.p.level2 * (h - l)
+ self.lines.r3 = p + self.p.level3 * (h - l)
+
+ super(FibonacciPivotPoint, self).__init__()
+
+ if self.p._autoplot:
+ self.plotinfo.plot = False # disable own plotting
+ self() # Coupler to follow real object
+
+
+class DemarkPivotPoint(Indicator):
+ '''
+ Defines a level of significance by taking into account the average of price
+ bar components of the past period of a larger timeframe. For example when
+ operating with days, the values are taking from the already "past" month
+ fixed prices.
+
+ Example of using this indicator:
+
+ data = btfeeds.ADataFeed(dataname=x, timeframe=bt.TimeFrame.Days)
+ cerebro.adddata(data)
+ cerebro.resampledata(data, timeframe=bt.TimeFrame.Months)
+
+ In the ``__init__`` method of the strategy:
+
+ pivotindicator = btind.DemarkPivotPoiont(self.data1) # the resampled data
+
+ The indicator will try to automatically plo to the non-resampled data. To
+ disable this behavior use the following during construction:
+
+ - _autoplot=False
+
+ Note:
+
+ The example shows *days* and *months*, but any combination of timeframes
+ can be used. See the literature for recommended combinations
+
+ Formula:
+ - if close < open x = high + (2 x low) + close
+
+ - if close > open x = (2 x high) + low + close
+
+ - if Close == open x = high + low + (2 x close)
+
+ - p = x / 4
+
+ - support1 = x / 2 - high
+ - resistance1 = x / 2 - low
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:pivot_points
+ '''
+ lines = ('p', 's1', 'r1',)
+ plotinfo = dict(subplot=False)
+ params = (
+ ('open', False), # add opening price to the pivot point
+ ('close', False), # use close twice in the calcs
+ ('_autoplot', True), # attempt to plot on real target data
+ ('level1', 0.382),
+ ('level2', 0.618),
+ ('level3', 1.0),
+ )
+
+ def _plotinit(self):
+ # Try to plot to the actual timeframe master
+ if self.p._autoplot:
+ if hasattr(self.data, 'data'):
+ self.plotinfo.plotmaster = self.data.data
+
+ def __init__(self):
+ x1 = self.data.high + 2.0 * self.data.low + self.data.close
+ x2 = 2.0 * self.data.high + self.data.low + self.data.close
+ x3 = self.data.high + self.data.low + 2.0 * self.data.close
+
+ x = CmpEx(self.data.close, self.data.open, x1, x2, x3)
+ self.lines.p = x / 4.0
+
+ self.lines.s1 = x / 2.0 - self.data.high
+ self.lines.r1 = x / 2.0 - self.data.low
+
+ super(DemarkPivotPoint, self).__init__()
+
+ if self.p._autoplot:
+ self.plotinfo.plot = False # disable own plotting
+ self() # Coupler to follow real object
diff --git a/backtrader/source/backtrader/indicators/prettygoodoscillator.py b/backtrader/source/backtrader/indicators/prettygoodoscillator.py
new file mode 100644
index 0000000000000000000000000000000000000000..7db3ef0fa84a0bfcf2883f8c72486e5f28abfdbb
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/prettygoodoscillator.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from . import Indicator, MovAv, ATR
+
+
+class PrettyGoodOscillator(Indicator):
+ '''
+ The "Pretty Good Oscillator" (PGO) by Mark Johnson measures the distance of
+ the current close from its simple moving average of period
+ Average), expressed in terms of an average true range (see Average True
+ Range) over a similar period.
+
+ So for instance a PGO value of +2.5 would mean the current close is 2.5
+ average days' range above the SMA.
+
+ Johnson's approach was to use it as a breakout system for longer term
+ trades. If the PGO rises above 3.0 then go long, or below -3.0 then go
+ short, and in both cases exit on returning to zero (which is a close back
+ at the SMA).
+
+ Formula:
+ - pgo = (data.close - sma(data, period)) / atr(data, period)
+
+ See also:
+ - http://user42.tuxfamily.org/chart/manual/Pretty-Good-Oscillator.html
+
+ '''
+ alias = ('PGO', 'PrettyGoodOsc',)
+ lines = ('pgo',)
+
+ params = (('period', 14), ('_movav', MovAv.Simple),)
+
+ def __init__(self):
+ movav = self.p._movav(self.data, period=self.p.period)
+ atr = ATR(self.data, period=self.p.period)
+
+ self.lines.pgo = (self.data - movav) / atr
+ super(PrettyGoodOscillator, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/priceoscillator.py b/backtrader/source/backtrader/indicators/priceoscillator.py
new file mode 100644
index 0000000000000000000000000000000000000000..083f0ff4c45e14af20f4722dcf4c825b876fdd83
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/priceoscillator.py
@@ -0,0 +1,112 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, Max, MovAv
+
+
+class _PriceOscBase(Indicator):
+ params = (('period1', 12), ('period2', 26),
+ ('_movav', MovAv.Exponential),)
+
+ plotinfo = dict(plothlines=[0.0])
+
+ def __init__(self):
+ self.ma1 = self.p._movav(self.data, period=self.p.period1)
+ self.ma2 = self.p._movav(self.data, period=self.p.period2)
+ self.lines[0] = self.ma1 - self.ma2
+
+ super(_PriceOscBase, self).__init__()
+
+
+class PriceOscillator(_PriceOscBase):
+ '''
+ Shows the difference between a short and long exponential moving
+ averages expressed in points.
+
+ Formula:
+ - po = ema(short) - ema(long)
+
+ See:
+ - http://www.metastock.com/Customer/Resources/TAAZ/?c=3&p=94
+ '''
+ alias = ('PriceOsc', 'AbsolutePriceOscillator', 'APO', 'AbsPriceOsc',)
+ lines = ('po',)
+
+
+class PercentagePriceOscillator(_PriceOscBase):
+ '''
+ Shows the difference between a short and long exponential moving
+ averages expressed in percentage. The MACD does the same but expressed in
+ absolute points.
+
+ Expressing the difference in percentage allows to compare the indicator at
+ different points in time when the underlying value has significatnly
+ different values.
+
+ Formula:
+ - po = 100 * (ema(short) - ema(long)) / ema(long)
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:price_oscillators_ppo
+ '''
+ _long = True
+
+ alias = ('PPO', 'PercPriceOsc',)
+
+ lines = ('ppo', 'signal', 'histo')
+ params = (('period_signal', 9),)
+
+ plotlines = dict(histo=dict(_method='bar', alpha=0.50, width=1.0))
+
+ def __init__(self):
+ super(PercentagePriceOscillator, self).__init__()
+
+ den = self.ma2 if self._long else self.ma1
+
+ self.lines.ppo = 100.0 * self.lines[0] / den
+ self.l.signal = self.p._movav(self.l.ppo, period=self.p.period_signal)
+ self.lines.histo = self.lines.ppo - self.lines.signal
+
+
+class PercentagePriceOscillatorShort(PercentagePriceOscillator):
+ '''
+ Shows the difference between a short and long exponential moving
+ averages expressed in percentage. The MACD does the same but expressed in
+ absolute points.
+
+ Expressing the difference in percentage allows to compare the indicator at
+ different points in time when the underlying value has significatnly
+ different values.
+
+ Most on-line literature shows the percentage calculation having the long
+ exponential moving average as the denominator. Some sources like MetaStock
+ use the short one.
+
+ Formula:
+ - po = 100 * (ema(short) - ema(long)) / ema(short)
+
+ See:
+ - http://www.metastock.com/Customer/Resources/TAAZ/?c=3&p=94
+ '''
+ _long = False
+ alias = ('PPOShort', 'PercPriceOscShort',)
diff --git a/backtrader/source/backtrader/indicators/psar.py b/backtrader/source/backtrader/indicators/psar.py
new file mode 100644
index 0000000000000000000000000000000000000000..b03c899e6b48ca3c9a05e7f8a121571f34e8674d
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/psar.py
@@ -0,0 +1,172 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import PeriodN
+
+
+__all__ = ['ParabolicSAR', 'PSAR']
+
+
+class _SarStatus(object):
+ sar = None
+ tr = None
+ af = 0.0
+ ep = 0.0
+
+ def __str__(self):
+ txt = []
+ txt.append('sar: {}'.format(self.sar))
+ txt.append('tr: {}'.format(self.tr))
+ txt.append('af: {}'.format(self.af))
+ txt.append('ep: {}'.format(self.ep))
+ return '\n'.join(txt)
+
+
+class ParabolicSAR(PeriodN):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"* for the RSI
+
+ SAR stands for *Stop and Reverse* and the indicator was meant as a signal
+ for entry (and reverse)
+
+ How to select the 1st signal is left unspecified in the book and the
+ increase/decrease of bars
+
+ See:
+ - https://en.wikipedia.org/wiki/Parabolic_SAR
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:parabolic_sar
+ '''
+ alias = ('PSAR',)
+ lines = ('psar',)
+ params = (
+ ('period', 2), # when to start showing values
+ ('af', 0.02),
+ ('afmax', 0.20),
+ )
+
+ plotinfo = dict(subplot=False)
+ plotlines = dict(
+ psar=dict(
+ marker='.', markersize=4.0, color='black', fillstyle='full', ls=''
+ ),
+ )
+
+ def prenext(self):
+ if len(self) == 1:
+ self._status = [] # empty status
+ return # not enough data to do anything
+
+ elif len(self) == 2:
+ self.nextstart() # kickstart calculation
+ else:
+ self.next() # regular calc
+
+ self.lines.psar[0] = float('NaN') # no return yet still prenext
+
+ def nextstart(self):
+ if self._status: # some states have been calculated
+ self.next() # delegate
+ return
+
+ # Prepare a status holding array, for current and previous lengths
+ self._status = [_SarStatus(), _SarStatus()]
+
+ # Start by looking if price has gone up/down (close) in the 2nd day to
+ # get an *entry* signal and configure the values as they would have
+ # been in the previous trend, including a sar value which is
+ # immediately invalidated in next, which reverses and sets the trend to
+ # the actual up/down value calculated with the close
+ # Put the 4 status variables in a Status holder
+ plenidx = (len(self) - 1) % 2 # previous length index (0 or 1)
+ status = self._status[plenidx]
+
+ # Calculate the status for previous length
+ status.sar = (self.data.high[0] + self.data.low[0]) / 2.0
+
+ status.af = self.p.af
+ if self.data.close[0] >= self.data.close[-1]: # uptrend
+ status.tr = not True # uptrend when reversed
+ status.ep = self.data.low[-1] # ep from prev trend
+ else:
+ status.tr = not False # downtrend when reversed
+ status.ep = self.data.high[-1] # ep from prev trend
+
+ # With the fake prev trend in place and a sar which will be invalidated
+ # go to next to get the calculation done
+ self.next()
+
+ def next(self):
+ hi = self.data.high[0]
+ lo = self.data.low[0]
+
+ plenidx = (len(self) - 1) % 2 # previous length index (0 or 1)
+ status = self._status[plenidx] # use prev status for calculations
+
+ tr = status.tr
+ sar = status.sar
+
+ # Check if the sar penetrated the price to switch the trend
+ if (tr and sar >= lo) or (not tr and sar <= hi):
+ tr = not tr # reverse the trend
+ sar = status.ep # new sar is prev SIP (Significant price)
+ ep = hi if tr else lo # select new SIP / Extreme Price
+ af = self.p.af # reset acceleration factor
+
+ else: # use the precalculated values
+ ep = status.ep
+ af = status.af
+
+ # Update sar value for today
+ self.lines.psar[0] = sar
+
+ # Update ep and af if needed
+ if tr: # long trade
+ if hi > ep:
+ ep = hi
+ af = min(af + self.p.af, self.p.afmax)
+
+ else: # downtrend
+ if lo < ep:
+ ep = lo
+ af = min(af + self.p.af, self.p.afmax)
+
+ sar = sar + af * (ep - sar) # calculate the sar for tomorrow
+
+ # make sure sar doesn't go into hi/lows
+ if tr: # long trade
+ lo1 = self.data.low[-1]
+ if sar > lo or sar > lo1:
+ sar = min(lo, lo1) # sar not above last 2 lows -> lower
+ else:
+ hi1 = self.data.high[-1]
+ if sar < hi or sar < hi1:
+ sar = max(hi, hi1) # sar not below last 2 highs -> highest
+
+ # new status has been calculated, keep it in current length
+ # will be used when length moves forward
+ newstatus = self._status[not plenidx]
+ newstatus.tr = tr
+ newstatus.sar = sar
+ newstatus.ep = ep
+ newstatus.af = af
diff --git a/backtrader/source/backtrader/indicators/rmi.py b/backtrader/source/backtrader/indicators/rmi.py
new file mode 100644
index 0000000000000000000000000000000000000000..e9a950a19fe6733f24f3b7e0be85313e843ccf98
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/rmi.py
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Ssoftware Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import RSI
+
+
+class RelativeMomentumIndex(RSI):
+ '''
+ Description:
+ The Relative Momentum Index was developed by Roger Altman and was
+ introduced in his article in the February, 1993 issue of Technical Analysis
+ of Stocks & Commodities magazine.
+
+ While your typical RSI counts up and down days from close to close, the
+ Relative Momentum Index counts up and down days from the close relative to
+ a close x number of days ago. The result is an RSI that is a bit smoother.
+
+ Usage:
+ Use in the same way you would any other RSI . There are overbought and
+ oversold zones, and can also be used for divergence and trend analysis.
+
+ See:
+ - https://www.marketvolume.com/technicalanalysis/relativemomentumindex.asp
+ - https://www.tradingview.com/script/UCm7fIvk-FREE-INDICATOR-Relative-Momentum-Index-RMI/
+ - https://www.prorealcode.com/prorealtime-indicators/relative-momentum-index-rmi/
+
+ '''
+ alias = ('RMI', )
+
+ linealias = (('rsi', 'rmi',),) # add an alias for this class rmi -> rsi
+ plotlines = dict(rsi=dict(_name='rmi')) # change line plotting name
+
+ params = (
+ ('period', 20),
+ ('lookback', 5),
+ )
+
+ def _plotlabel(self):
+ # override to always print the lookback label and do it before movav
+ plabels = [self.p.period]
+ plabels += [self.p.lookback]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ return plabels
diff --git a/backtrader/source/backtrader/indicators/rsi.py b/backtrader/source/backtrader/indicators/rsi.py
new file mode 100644
index 0000000000000000000000000000000000000000..56cd9210b905a1d32845737bf56c6c1071e900ca
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/rsi.py
@@ -0,0 +1,232 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, Max, MovAv
+from . import DivZeroByZero
+
+
+class UpDay(Indicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"* for the RSI
+
+ Records days which have been "up", i.e.: the close price has been
+ higher than the day before.
+
+ Formula:
+ - upday = max(close - close_prev, 0)
+
+ See:
+ - http://en.wikipedia.org/wiki/Relative_strength_index
+ '''
+ lines = ('upday',)
+ params = (('period', 1),)
+
+ def __init__(self):
+ self.lines.upday = Max(self.data - self.data(-self.p.period), 0.0)
+ super(UpDay, self).__init__()
+
+
+class DownDay(Indicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"* for the RSI
+
+ Records days which have been "down", i.e.: the close price has been
+ lower than the day before.
+
+ Formula:
+ - downday = max(close_prev - close, 0)
+
+ See:
+ - http://en.wikipedia.org/wiki/Relative_strength_index
+ '''
+ lines = ('downday',)
+ params = (('period', 1),)
+
+ def __init__(self):
+ self.lines.downday = Max(self.data(-self.p.period) - self.data, 0.0)
+ super(DownDay, self).__init__()
+
+
+class UpDayBool(Indicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"* for the RSI
+
+ Records days which have been "up", i.e.: the close price has been
+ higher than the day before.
+
+ Note:
+ - This version returns a bool rather than the difference
+
+ Formula:
+ - upday = close > close_prev
+
+ See:
+ - http://en.wikipedia.org/wiki/Relative_strength_index
+ '''
+ lines = ('upday',)
+ params = (('period', 1),)
+
+ def __init__(self):
+ self.lines.upday = self.data > self.data(-self.p.period)
+ super(UpDayBool, self).__init__()
+
+
+class DownDayBool(Indicator):
+ '''
+ Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"* for the RSI
+
+ Records days which have been "down", i.e.: the close price has been
+ lower than the day before.
+
+ Note:
+ - This version returns a bool rather than the difference
+
+ Formula:
+ - downday = close_prev > close
+
+ See:
+ - http://en.wikipedia.org/wiki/Relative_strength_index
+ '''
+ lines = ('downday',)
+ params = (('period', 1),)
+
+ def __init__(self):
+ self.lines.downday = self.data(-self.p.period) > self.data
+ super(DownDayBool, self).__init__()
+
+
+class RelativeStrengthIndex(Indicator):
+ '''Defined by J. Welles Wilder, Jr. in 1978 in his book *"New Concepts in
+ Technical Trading Systems"*.
+
+ It measures momentum by calculating the ration of higher closes and
+ lower closes after having been smoothed by an average, normalizing
+ the result between 0 and 100
+
+ Formula:
+ - up = upday(data)
+ - down = downday(data)
+ - maup = movingaverage(up, period)
+ - madown = movingaverage(down, period)
+ - rs = maup / madown
+ - rsi = 100 - 100 / (1 + rs)
+
+ The moving average used is the one originally defined by Wilder,
+ the SmoothedMovingAverage
+
+ See:
+ - http://en.wikipedia.org/wiki/Relative_strength_index
+
+ Notes:
+ - ``safediv`` (default: False) If this parameter is True the division
+ rs = maup / madown will be checked for the special cases in which a
+ ``0 / 0`` or ``x / 0`` division will happen
+
+ - ``safehigh`` (default: 100.0) will be used as RSI value for the
+ ``x / 0`` case
+
+ - ``safelow`` (default: 50.0) will be used as RSI value for the
+ ``0 / 0`` case
+ '''
+ alias = ('RSI', 'RSI_SMMA', 'RSI_Wilder',)
+
+ lines = ('rsi',)
+ params = (
+ ('period', 14),
+ ('movav', MovAv.Smoothed),
+ ('upperband', 70.0),
+ ('lowerband', 30.0),
+ ('safediv', False),
+ ('safehigh', 100.0),
+ ('safelow', 50.0),
+ ('lookback', 1),
+ )
+
+ def _plotlabel(self):
+ plabels = [self.p.period]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ plabels += [self.p.lookback] * self.p.notdefault('lookback')
+ return plabels
+
+ def _plotinit(self):
+ self.plotinfo.plotyhlines = [self.p.upperband, self.p.lowerband]
+
+ def __init__(self):
+ upday = UpDay(self.data, period=self.p.lookback)
+ downday = DownDay(self.data, period=self.p.lookback)
+ maup = self.p.movav(upday, period=self.p.period)
+ madown = self.p.movav(downday, period=self.p.period)
+ if not self.p.safediv:
+ rs = maup / madown
+ else:
+ highrs = self._rscalc(self.p.safehigh)
+ lowrs = self._rscalc(self.p.safelow)
+ rs = DivZeroByZero(maup, madown, highrs, lowrs)
+
+ self.lines.rsi = 100.0 - 100.0 / (1.0 + rs)
+ super(RelativeStrengthIndex, self).__init__()
+
+ def _rscalc(self, rsi):
+ try:
+ rs = (-100.0 / (rsi - 100.0)) - 1.0
+ except ZeroDivisionError:
+ return float('inf')
+
+ return rs
+
+
+class RSI_Safe(RSI):
+ '''
+ Subclass of RSI which changes parameers ``safediv`` to ``True`` as the
+ default value
+
+ See:
+ - http://en.wikipedia.org/wiki/Relative_strength_index
+ '''
+ params = (('safediv', True),)
+
+
+class RSI_SMA(RSI):
+ '''
+ Uses a SimpleMovingAverage as described in Wikipedia and other soures
+
+ See:
+ - http://en.wikipedia.org/wiki/Relative_strength_index
+ '''
+ alias = ('RSI_Cutler',)
+
+ params = (('movav', MovAv.Simple),)
+
+
+class RSI_EMA(RSI):
+ '''
+ Uses an ExponentialMovingAverage as described in Wikipedia
+
+ See:
+ - http://en.wikipedia.org/wiki/Relative_strength_index
+ '''
+ params = (('movav', MovAv.Exponential),)
diff --git a/backtrader/source/backtrader/indicators/sma.py b/backtrader/source/backtrader/indicators/sma.py
new file mode 100644
index 0000000000000000000000000000000000000000..0207131eefe2ef48a1630fcbbc8a13bba1a6a28a
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/sma.py
@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import MovingAverageBase, Average
+
+
+class MovingAverageSimple(MovingAverageBase):
+ '''
+ Non-weighted average of the last n periods
+
+ Formula:
+ - movav = Sum(data, period) / period
+
+ See also:
+ - http://en.wikipedia.org/wiki/Moving_average#Simple_moving_average
+ '''
+ alias = ('SMA', 'SimpleMovingAverage',)
+ lines = ('sma',)
+
+ def __init__(self):
+ # Before super to ensure mixins (right-hand side in subclassing)
+ # can see the assignment operation and operate on the line
+ self.lines[0] = Average(self.data, period=self.p.period)
+
+ super(MovingAverageSimple, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/smma.py b/backtrader/source/backtrader/indicators/smma.py
new file mode 100644
index 0000000000000000000000000000000000000000..6859f84986e7c9e301b750e825e126fe7af51939
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/smma.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import MovingAverageBase, ExponentialSmoothing
+
+
+class SmoothedMovingAverage(MovingAverageBase):
+ '''
+ Smoothing Moving Average used by Wilder in his 1978 book `New Concepts in
+ Technical Trading`
+
+ Defined in his book originally as:
+
+ - new_value = (old_value * (period - 1) + new_data) / period
+
+ Can be expressed as a SmoothingMovingAverage with the following factors:
+
+ - self.smfactor -> 1.0 / period
+ - self.smfactor1 -> `1.0 - self.smfactor`
+
+ Formula:
+ - movav = prev * (1.0 - smoothfactor) + newdata * smoothfactor
+
+ See also:
+ - http://en.wikipedia.org/wiki/Moving_average#Modified_moving_average
+ '''
+ alias = ('SMMA', 'WilderMA', 'MovingAverageSmoothed',
+ 'MovingAverageWilder', 'ModifiedMovingAverage',)
+ lines = ('smma',)
+
+ def __init__(self):
+ # Before super to ensure mixins (right-hand side in subclassing)
+ # can see the assignment operation and operate on the line
+ self.lines[0] = ExponentialSmoothing(
+ self.data,
+ period=self.p.period,
+ alpha=1.0 / self.p.period)
+ super(SmoothedMovingAverage, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/stochastic.py b/backtrader/source/backtrader/indicators/stochastic.py
new file mode 100644
index 0000000000000000000000000000000000000000..1cb5c7caa77f2186f92cbf7d18e8353f58c3a7a3
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/stochastic.py
@@ -0,0 +1,148 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, Max, MovAv, Highest, Lowest, DivByZero
+
+
+class _StochasticBase(Indicator):
+ lines = ('percK', 'percD',)
+ params = (('period', 14), ('period_dfast', 3), ('movav', MovAv.Simple),
+ ('upperband', 80.0), ('lowerband', 20.0),
+ ('safediv', False), ('safezero', 0.0))
+
+ plotlines = dict(percD=dict(_name='%D', ls='--'),
+ percK=dict(_name='%K'))
+
+ def _plotlabel(self):
+ plabels = [self.p.period, self.p.period_dfast]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ return plabels
+
+ def _plotinit(self):
+ self.plotinfo.plotyhlines = [self.p.upperband, self.p.lowerband]
+
+ def __init__(self):
+ highesthigh = Highest(self.data.high, period=self.p.period)
+ lowestlow = Lowest(self.data.low, period=self.p.period)
+ knum = self.data.close - lowestlow
+ kden = highesthigh - lowestlow
+ if self.p.safediv:
+ self.k = 100.0 * DivByZero(knum, kden, zero=self.p.safezero)
+ else:
+ self.k = 100.0 * (knum / kden)
+ self.d = self.p.movav(self.k, period=self.p.period_dfast)
+
+ super(_StochasticBase, self).__init__()
+
+
+class StochasticFast(_StochasticBase):
+ '''
+ By Dr. George Lane in the 50s. It compares a closing price to the price
+ range and tries to show convergence if the closing prices are close to the
+ extremes
+
+ - It will go up if closing prices are close to the highs
+ - It will roughly go down if closing prices are close to the lows
+
+ It shows divergence if the extremes keep on growing but closing prices
+ do not in the same manner (distance to the extremes grow)
+
+ Formula:
+ - hh = highest(data.high, period)
+ - ll = lowest(data.low, period)
+ - knum = data.close - ll
+ - kden = hh - ll
+ - k = 100 * (knum / kden)
+ - d = MovingAverage(k, period_dfast)
+
+ See:
+ - http://en.wikipedia.org/wiki/Stochastic_oscillator
+ '''
+ def __init__(self):
+ super(StochasticFast, self).__init__()
+ self.lines.percK = self.k
+ self.lines.percD = self.d
+
+
+class Stochastic(_StochasticBase):
+ '''
+ The regular (or slow version) adds an additional moving average layer and
+ thus:
+
+ - The percD line of the StochasticFast becomes the percK line
+ - percD becomes a moving average of period_dslow of the original percD
+
+ Formula:
+ - k = k
+ - d = d
+ - d = MovingAverage(d, period_dslow)
+
+ See:
+ - http://en.wikipedia.org/wiki/Stochastic_oscillator
+ '''
+ alias = ('StochasticSlow',)
+ params = (('period_dslow', 3),)
+
+ def _plotlabel(self):
+ plabels = [self.p.period, self.p.period_dfast, self.p.period_dslow]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ return plabels
+
+ def __init__(self):
+ super(Stochastic, self).__init__()
+ self.lines.percK = self.d
+ self.l.percD = self.p.movav(self.l.percK, period=self.p.period_dslow)
+
+
+class StochasticFull(_StochasticBase):
+ '''
+ This version displays the 3 possible lines:
+
+ - percK
+ - percD
+ - percSlow
+
+ Formula:
+ - k = d
+ - d = MovingAverage(k, period_dslow)
+ - dslow =
+
+ See:
+ - http://en.wikipedia.org/wiki/Stochastic_oscillator
+ '''
+ lines = ('percDSlow',)
+ params = (('period_dslow', 3),)
+
+ plotlines = dict(percDSlow=dict(_name='%DSlow'))
+
+ def _plotlabel(self):
+ plabels = [self.p.period, self.p.period_dfast, self.p.period_dslow]
+ plabels += [self.p.movav] * self.p.notdefault('movav')
+ return plabels
+
+ def __init__(self):
+ super(StochasticFull, self).__init__()
+ self.lines.percK = self.k
+ self.lines.percD = self.d
+ self.l.percDSlow = self.p.movav(
+ self.l.percD, period=self.p.period_dslow)
diff --git a/backtrader/source/backtrader/indicators/trix.py b/backtrader/source/backtrader/indicators/trix.py
new file mode 100644
index 0000000000000000000000000000000000000000..03964a54e989546c9bdd0905ac1ec41c86195f57
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/trix.py
@@ -0,0 +1,88 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import Indicator, MovAv
+
+
+class Trix(Indicator):
+ '''
+ Defined by Jack Hutson in the 80s and shows the Rate of Change (%) or slope
+ of a triple exponentially smoothed moving average
+
+ Formula:
+ - ema1 = EMA(data, period)
+ - ema2 = EMA(ema1, period)
+ - ema3 = EMA(ema2, period)
+ - trix = 100 * (ema3 - ema3(-1)) / ema3(-1)
+
+ The final formula can be simplified to: 100 * (ema3 / ema3(-1) - 1)
+
+ The moving average used is the one originally defined by Wilder,
+ the SmoothedMovingAverage
+
+ See:
+ - https://en.wikipedia.org/wiki/Trix_(technical_analysis)
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:trix
+ '''
+ alias = ('TRIX',)
+ lines = ('trix',)
+ params = (('period', 15), ('_rocperiod', 1), ('_movav', MovAv.EMA),)
+
+ plotinfo = dict(plothlines=[0.0])
+
+ def _plotlabel(self):
+ plabels = [self.p.period]
+ plabels += [self.p._rocperiod] * self.p.notdefault('_rocperiod')
+ plabels += [self.p._movav] * self.p.notdefault('_movav')
+ return plabels
+
+ def __init__(self):
+
+ ema1 = self.p._movav(self.data, period=self.p.period)
+ ema2 = self.p._movav(ema1, period=self.p.period)
+ ema3 = self.p._movav(ema2, period=self.p.period)
+
+ # 1 period Percentage Rate of Change
+ self.lines.trix = 100.0 * (ema3 / ema3(-self.p._rocperiod) - 1.0)
+
+ super(Trix, self).__init__()
+
+
+class TrixSignal(Trix):
+ '''
+ Extension of Trix with a signal line (ala MACD)
+
+ Formula:
+ - trix = Trix(data, period)
+ - signal = EMA(trix, sigperiod)
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:trix
+ '''
+ lines = ('signal',)
+ params = (('sigperiod', 9),)
+
+ def __init__(self):
+ super(TrixSignal, self).__init__()
+
+ self.l.signal = self.p._movav(self.lines[0], period=self.p.sigperiod)
diff --git a/backtrader/source/backtrader/indicators/tsi.py b/backtrader/source/backtrader/indicators/tsi.py
new file mode 100644
index 0000000000000000000000000000000000000000..8b8025f23fdeec208899fb99cf8eacf90a644d6c
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/tsi.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import backtrader as bt
+from . import EMA
+
+
+class TrueStrengthIndicator(bt.Indicator):
+ '''
+ The True Strength Indicators was first introduced in Stocks & Commodities
+ Magazine by its author William Blau. It measures momentum with a double
+ exponential (default) of the prices.
+
+ It shows divergence if the extremes keep on growign but closing prices
+ do not in the same manner (distance to the extremes grow)
+
+ Formula:
+ - price_change = close - close(pchange periods ago)
+ - sm1_simple = EMA(price_close_change, period1)
+ - sm1_double = EMA(sm1_simple, period2)
+ - sm2_simple = EMA(abs(price_close_change), period1)
+ - sm2_double = EMA(sm2_simple, period2)
+ - tsi = 100.0 * sm1_double / sm2_double
+
+ See:
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:true_strength_index
+
+ Params
+
+ - ``period1``: the period for the 1st smoothing
+ - ``period2``: the period for the 2nd smoothing
+ - ``pchange``: the lookback period for the price change
+ - ``_movav``: the moving average to apply for the smoothing
+ '''
+ alias = ('TSI',)
+ params = (
+ ('period1', 25),
+ ('period2', 13),
+ ('pchange', 1),
+ ('_movav', EMA),
+ )
+ lines = ('tsi',)
+
+ def __init__(self):
+ pc = self.data - self.data(-self.p.pchange)
+
+ sm1 = self.p._movav(pc, period=self.p.period1)
+ sm12 = self.p._movav(sm1, period=self.p.period2)
+
+ sm2 = self.p._movav(abs(pc), period=self.p.period1)
+ sm22 = self.p._movav(sm2, period=self.p.period2)
+
+ self.lines.tsi = 100.0 * (sm12 / sm22)
diff --git a/backtrader/source/backtrader/indicators/ultimateoscillator.py b/backtrader/source/backtrader/indicators/ultimateoscillator.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd9a88e6c20602b7e0106c0f520c11e50009d859
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/ultimateoscillator.py
@@ -0,0 +1,81 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import backtrader as bt
+from backtrader.indicators import SumN, TrueLow, TrueRange
+
+
+class UltimateOscillator(bt.Indicator):
+ '''
+ Formula:
+ # Buying Pressure = Close - TrueLow
+ BP = Close - Minimum(Low or Prior Close)
+
+ # TrueRange = TrueHigh - TrueLow
+ TR = Maximum(High or Prior Close) - Minimum(Low or Prior Close)
+
+ Average7 = (7-period BP Sum) / (7-period TR Sum)
+ Average14 = (14-period BP Sum) / (14-period TR Sum)
+ Average28 = (28-period BP Sum) / (28-period TR Sum)
+
+ UO = 100 x [(4 x Average7)+(2 x Average14)+Average28]/(4+2+1)
+
+ See:
+
+ - https://en.wikipedia.org/wiki/Ultimate_oscillator
+ - http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:ultimate_oscillator
+ '''
+ lines = ('uo',)
+
+ params = (
+ ('p1', 7),
+ ('p2', 14),
+ ('p3', 28),
+ ('upperband', 70.0),
+ ('lowerband', 30.0),
+ )
+
+ def _plotinit(self):
+ baseticks = [10.0, 50.0, 90.0]
+ hlines = [self.p.upperband, self.p.lowerband]
+
+ # Plot lines at 0 & 100 to make the scale complete + upper/lower/bands
+ self.plotinfo.plotyhlines = hlines
+ # Plot ticks at "baseticks" + the user specified upper/lower bands
+ self.plotinfo.plotyticks = baseticks + hlines
+
+ def __init__(self):
+ bp = self.data.close - TrueLow(self.data)
+ tr = TrueRange(self.data)
+
+ av7 = SumN(bp, period=self.p.p1) / SumN(tr, period=self.p.p1)
+ av14 = SumN(bp, period=self.p.p2) / SumN(tr, period=self.p.p2)
+ av28 = SumN(bp, period=self.p.p3) / SumN(tr, period=self.p.p3)
+
+ # Multiply/divide floats outside of formula to reduce line objects
+ factor = 100.0 / (4.0 + 2.0 + 1.0)
+ uo = (4.0 * factor) * av7 + (2.0 * factor) * av14 + factor * av28
+ self.lines.uo = uo
+
+ super(UltimateOscillator, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/vortex.py b/backtrader/source/backtrader/indicators/vortex.py
new file mode 100644
index 0000000000000000000000000000000000000000..dd369cc406f330872ce10a0d9e5195da076fcc8a
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/vortex.py
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+
+
+class Vortex(bt.Indicator):
+ '''
+ See:
+ - http://www.vortexindicator.com/VFX_VORTEX.PDF
+
+ '''
+ lines = ('vi_plus', 'vi_minus',)
+
+ params = (('period', 14),)
+
+ plotlines = dict(vi_plus=dict(_name='+VI'), vi_minus=dict(_name='-VI'))
+
+ def __init__(self):
+ h0l1 = abs(self.data.high(0) - self.data.low(-1))
+ vm_plus = bt.ind.SumN(h0l1, period=self.p.period)
+
+ l0h1 = abs(self.data.low(0) - self.data.high(-1))
+ vm_minus = bt.ind.SumN(l0h1, period=self.p.period)
+
+ h0c1 = abs(self.data.high(0) - self.data.close(-1))
+ l0c1 = abs(self.data.low(0) - self.data.close(-1))
+ h0l0 = abs(self.data.high(0) - self.data.low(0))
+
+ tr = bt.ind.SumN(bt.Max(h0l0, h0c1, l0c1), period=self.p.period)
+
+ self.l.vi_plus = vm_plus / tr
+ self.l.vi_minus = vm_minus / tr
diff --git a/backtrader/source/backtrader/indicators/williams.py b/backtrader/source/backtrader/indicators/williams.py
new file mode 100644
index 0000000000000000000000000000000000000000..cafe0a97bfd806266daea7580246dd2c3d6a5544
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/williams.py
@@ -0,0 +1,89 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from . import (Indicator, Highest, Lowest, If, UpDay, DownDay, Accum, TrueLow,
+ TrueHigh)
+
+
+class WilliamsR(Indicator):
+ '''
+ Developed by Larry Williams to show the relation of closing prices to
+ the highest-lowest range of a given period.
+
+ Known as Williams %R (but % is not allowed in Python identifiers)
+
+ Formula:
+ - num = highest_period - close
+ - den = highestg_period - lowest_period
+ - percR = (num / den) * -100.0
+
+ See:
+ - http://en.wikipedia.org/wiki/Williams_%25R
+ '''
+ lines = ('percR',)
+ params = (('period', 14),
+ ('upperband', -20.0),
+ ('lowerband', -80.0),)
+
+ plotinfo = dict(plotname='Williams R%')
+ plotlines = dict(percR=dict(_name='R%'))
+
+ def _plotinif(self):
+ self.plotinfo.plotyhlines = [self.p.upperband, self.p.lowerband]
+
+ def __init__(self):
+ h = Highest(self.data.high, period=self.p.period)
+ l = Lowest(self.data.low, period=self.p.period)
+ c = self.data.close
+
+ self.lines.percR = -100.0 * (h - c) / (h - l)
+
+ super(WilliamsR, self).__init__()
+
+
+class WilliamsAD(Indicator):
+ '''
+ By Larry Williams. It does cumulatively measure if the price is
+ accumulating (upwards) or distributing (downwards) by using the concept of
+ UpDays and DownDays.
+
+ Prices can go upwards but do so in a fashion that no longer shows
+ accumulation because updays and downdays are canceling out each other,
+ creating a divergence.
+
+ See:
+ - http://www.metastock.com/Customer/Resources/TAAZ/?p=125
+ - http://ta.mql4.com/indicators/trends/williams_accumulation_distribution
+ '''
+ lines = ('ad',)
+
+ def __init__(self):
+ upday = UpDay(self.data.close)
+ downday = DownDay(self.data.close)
+
+ adup = If(upday, self.data.close - TrueLow(self.data), 0.0)
+ addown = If(downday, self.data.close - TrueHigh(self.data), 0.0)
+
+ self.lines.ad = Accum(adup + addown)
+
+ super(WilliamsAD, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/wma.py b/backtrader/source/backtrader/indicators/wma.py
new file mode 100644
index 0000000000000000000000000000000000000000..62fecc0a687406efa87129fef0a91687130291bc
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/wma.py
@@ -0,0 +1,55 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from ..utils.py3 import range
+
+from . import MovingAverageBase, AverageWeighted
+
+
+class WeightedMovingAverage(MovingAverageBase):
+ '''
+ A Moving Average which gives an arithmetic weighting to values with the
+ newest having the more weight
+
+ Formula:
+ - weights = range(1, period + 1)
+ - coef = 2 / (period * (period + 1))
+ - movav = coef * Sum(weight[i] * data[period - i] for i in range(period))
+
+ See also:
+ - http://en.wikipedia.org/wiki/Moving_average#Weighted_moving_average
+ '''
+ alias = ('WMA', 'MovingAverageWeighted',)
+ lines = ('wma',)
+
+ def __init__(self):
+ coef = 2.0 / (self.p.period * (self.p.period + 1.0))
+ weights = tuple(float(x) for x in range(1, self.p.period + 1))
+
+ # Before super to ensure mixins (right-hand side in subclassing)
+ # can see the assignment operation and operate on the line
+ self.lines[0] = AverageWeighted(
+ self.data, period=self.p.period,
+ coef=coef, weights=weights)
+
+ super(WeightedMovingAverage, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/zlema.py b/backtrader/source/backtrader/indicators/zlema.py
new file mode 100644
index 0000000000000000000000000000000000000000..ef3c5718240b79706ec4e477df2a4c4b310efcb9
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/zlema.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from . import Indicator, MovingAverageBase, MovAv
+
+
+class ZeroLagExponentialMovingAverage(MovingAverageBase):
+ '''
+ The zero-lag exponential moving average (ZLEMA) is a variation of the EMA
+ which adds a momentum term aiming to reduce lag in the average so as to
+ track current prices more closely.
+
+ Formula:
+ - lag = (period - 1) / 2
+ - zlema = ema(2 * data - data(-lag))
+
+ See also:
+ - http://user42.tuxfamily.org/chart/manual/Zero_002dLag-Exponential-Moving-Average.html
+
+ '''
+ alias = ('ZLEMA', 'ZeroLagEma',)
+ lines = ('zlema',)
+ params = (('_movav', MovAv.EMA),)
+
+ def __init__(self):
+ lag = (self.p.period - 1) // 2
+ data = 2 * self.data - self.data(-lag)
+ self.lines.zlema = self.p._movav(data, period=self.p.period)
+
+ super(ZeroLagExponentialMovingAverage, self).__init__()
diff --git a/backtrader/source/backtrader/indicators/zlind.py b/backtrader/source/backtrader/indicators/zlind.py
new file mode 100644
index 0000000000000000000000000000000000000000..19ec77e107d63bd523b5f15eb8963152304db1a6
--- /dev/null
+++ b/backtrader/source/backtrader/indicators/zlind.py
@@ -0,0 +1,91 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import backtrader as bt
+from backtrader.utils.py3 import MAXINT
+
+
+from . import MovingAverageBase, MovAv
+
+
+class ZeroLagIndicator(MovingAverageBase):
+ '''By John Ehlers and Ric Way
+
+ The zero-lag indicator (ZLIndicator) is a variation of the EMA
+ which modifies the EMA by trying to minimize the error (distance price -
+ error correction) and thus reduce the lag
+
+ Formula:
+ - EMA(data, period)
+
+ - For each iteration calculate a best-error-correction of the ema (see
+ the paper and/or the code) iterating over ``-bestgain`` ->
+ ``+bestgain`` for the error correction factor (both incl.)
+
+ - The default moving average is EMA, but can be changed with the
+ parameter ``_movav``
+
+ .. note:: the passed moving average must calculate alpha (and 1 -
+ alpha) and make them available as attributes ``alpha`` and
+ ``alpha1`` in the instance
+
+ See also:
+ - http://www.mesasoftware.com/papers/ZeroLag.pdf
+
+ '''
+ alias = ('ZLIndicator', 'ZLInd', 'EC', 'ErrorCorrecting',)
+ lines = ('ec',)
+ params = (
+ ('gainlimit', 50),
+ ('_movav', MovAv.EMA),
+ )
+
+ def _plotlabel(self):
+ plabels = [self.p.period, self.p.gainlimit]
+ plabels += [self.p._movav] * self.p.notdefault('_movav')
+ return plabels
+
+ def __init__(self):
+ self.ema = MovAv.EMA(period=self.p.period)
+ self.limits = [-self.p.gainlimit, self.p.gainlimit + 1]
+
+ # To make mixins work - super at the end for cooperative inheritance
+ super(ZeroLagIndicator, self).__init__()
+
+ def next(self):
+ leasterror = MAXINT # 1000000 in original code
+ bestec = ema = self.ema[0] # seed value 1st time for ec
+ price = self.data[0]
+ ec1 = self.lines.ec[-1]
+ alpha, alpha1 = self.ema.alpha, self.ema.alpha1
+
+ for value1 in range(*self.limits):
+ gain = value1 / 10
+ ec = alpha * (ema + gain * (price - ec1)) + alpha1 * ec1
+ error = abs(price - ec)
+ if error < leasterror:
+ leasterror = error
+ bestec = ec
+
+ self.lines.ec[0] = bestec
diff --git a/backtrader/source/backtrader/linebuffer.py b/backtrader/source/backtrader/linebuffer.py
new file mode 100644
index 0000000000000000000000000000000000000000..0102ddbe0def9f17c21fa83b38500b43cc4df19c
--- /dev/null
+++ b/backtrader/source/backtrader/linebuffer.py
@@ -0,0 +1,829 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+'''
+
+.. module:: linebuffer
+
+Classes that hold the buffer for a *line* and can operate on it
+with appends, forwarding, rewinding, resetting and other
+
+.. moduleauthor:: Daniel Rodriguez
+
+'''
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import array
+import collections
+import datetime
+from itertools import islice
+import math
+
+from .utils.py3 import range, with_metaclass, string_types
+
+from .lineroot import LineRoot, LineSingle, LineMultiple
+from . import metabase
+from .utils import num2date, time2num
+
+
+NAN = float('NaN')
+
+
+class LineBuffer(LineSingle):
+ '''
+ LineBuffer defines an interface to an "array.array" (or list) in which
+ index 0 points to the item which is active for input and output.
+
+ Positive indices fetch values from the past (left hand side)
+ Negative indices fetch values from the future (if the array has been
+ extended on the right hand side)
+
+ With this behavior no index has to be passed around to entities which have
+ to work with the current value produced by other entities: the value is
+ always reachable at "0".
+
+ Likewise storing the current value produced by "self" is done at 0.
+
+ Additional operations to move the pointer (home, forward, extend, rewind,
+ advance getzero) are provided
+
+ The class can also hold "bindings" to other LineBuffers. When a value
+ is set in this class
+ it will also be set in the binding.
+ '''
+
+ UnBounded, QBuffer = (0, 1)
+
+ def __init__(self):
+ self.lines = [self]
+ self.mode = self.UnBounded
+ self.bindings = list()
+ self.reset()
+ self._tz = None
+
+ def get_idx(self):
+ return self._idx
+
+ def set_idx(self, idx, force=False):
+ # if QBuffer and the last position of the buffer was reached, keep
+ # it (unless force) as index 0. This allows resampling
+ # - forward adds a position, but the 1st one is discarded, the 0 is
+ # invariant
+ # force supports replaying, which needs the extra bar to float
+ # forward/backwards, because the last input is read, and after a
+ # "backwards" is used to update the previous data. Unless the position
+ # 0 was moved to the previous index, it would fail
+ if self.mode == self.QBuffer:
+ if force or self._idx < self.lenmark:
+ self._idx = idx
+ else: # default: UnBounded
+ self._idx = idx
+
+ idx = property(get_idx, set_idx)
+
+ def reset(self):
+ ''' Resets the internal buffer structure and the indices
+ '''
+ if self.mode == self.QBuffer:
+ # add extrasize to ensure resample/replay work because they will
+ # use backwards to erase the last bar/tick before delivering a new
+ # bar The previous forward would have discarded the bar "period"
+ # times ago and it will not come back. Having + 1 in the size
+ # allows the forward without removing that bar
+ self.array = collections.deque(maxlen=self.maxlen + self.extrasize)
+ self.useislice = True
+ else:
+ self.array = array.array(str('d'))
+ self.useislice = False
+
+ self.lencount = 0
+ self.idx = -1
+ self.extension = 0
+
+ def qbuffer(self, savemem=0, extrasize=0):
+ self.mode = self.QBuffer
+ self.maxlen = self._minperiod
+ self.extrasize = extrasize
+ self.lenmark = self.maxlen - (not self.extrasize)
+ self.reset()
+
+ def getindicators(self):
+ return []
+
+ def minbuffer(self, size):
+ '''The linebuffer must guarantee the minimum requested size to be
+ available.
+
+ In non-dqbuffer mode, this is always true (of course until data is
+ filled at the beginning, there are less values, but minperiod in the
+ framework should account for this.
+
+ In dqbuffer mode the buffer has to be adjusted for this if currently
+ less than requested
+ '''
+ if self.mode != self.QBuffer or self.maxlen >= size:
+ return
+
+ self.maxlen = size
+ self.lenmark = self.maxlen - (not self.extrasize)
+ self.reset()
+
+ def __len__(self):
+ return self.lencount
+
+ def buflen(self):
+ ''' Real data that can be currently held in the internal buffer
+
+ The internal buffer can be longer than the actual stored data to
+ allow for "lookahead" operations. The real amount of data that is
+ held/can be held in the buffer
+ is returned
+ '''
+ return len(self.array) - self.extension
+
+ def __getitem__(self, ago):
+ return self.array[self.idx + ago]
+
+ def get(self, ago=0, size=1):
+ ''' Returns a slice of the array relative to *ago*
+
+ Keyword Args:
+ ago (int): Point of the array to which size will be added
+ to return the slice size(int): size of the slice to return,
+ can be positive or negative
+
+ If size is positive *ago* will mark the end of the iterable and vice
+ versa if size is negative
+
+ Returns:
+ A slice of the underlying buffer
+ '''
+ if self.useislice:
+ start = self.idx + ago - size + 1
+ end = self.idx + ago + 1
+ return list(islice(self.array, start, end))
+
+ return self.array[self.idx + ago - size + 1:self.idx + ago + 1]
+
+ def getzeroval(self, idx=0):
+ ''' Returns a single value of the array relative to the real zero
+ of the buffer
+
+ Keyword Args:
+ idx (int): Where to start relative to the real start of the buffer
+ size(int): size of the slice to return
+
+ Returns:
+ A slice of the underlying buffer
+ '''
+ return self.array[idx]
+
+ def getzero(self, idx=0, size=1):
+ ''' Returns a slice of the array relative to the real zero of the buffer
+
+ Keyword Args:
+ idx (int): Where to start relative to the real start of the buffer
+ size(int): size of the slice to return
+
+ Returns:
+ A slice of the underlying buffer
+ '''
+ if self.useislice:
+ return list(islice(self.array, idx, idx + size))
+
+ return self.array[idx:idx + size]
+
+ def __setitem__(self, ago, value):
+ ''' Sets a value at position "ago" and executes any associated bindings
+
+ Keyword Args:
+ ago (int): Point of the array to which size will be added to return
+ the slice
+ value (variable): value to be set
+ '''
+ self.array[self.idx + ago] = value
+ for binding in self.bindings:
+ binding[ago] = value
+
+ def set(self, value, ago=0):
+ ''' Sets a value at position "ago" and executes any associated bindings
+
+ Keyword Args:
+ value (variable): value to be set
+ ago (int): Point of the array to which size will be added to return
+ the slice
+ '''
+ self.array[self.idx + ago] = value
+ for binding in self.bindings:
+ binding[ago] = value
+
+ def home(self):
+ ''' Rewinds the logical index to the beginning
+
+ The underlying buffer remains untouched and the actual len can be found
+ out with buflen
+ '''
+ self.idx = -1
+ self.lencount = 0
+
+ def forward(self, value=NAN, size=1):
+ ''' Moves the logical index foward and enlarges the buffer as much as needed
+
+ Keyword Args:
+ value (variable): value to be set in new positins
+ size (int): How many extra positions to enlarge the buffer
+ '''
+ self.idx += size
+ self.lencount += size
+
+ for i in range(size):
+ self.array.append(value)
+
+ def backwards(self, size=1, force=False):
+ ''' Moves the logical index backwards and reduces the buffer as much as needed
+
+ Keyword Args:
+ size (int): How many extra positions to rewind and reduce the
+ buffer
+ '''
+ # Go directly to property setter to support force
+ self.set_idx(self._idx - size, force=force)
+ self.lencount -= size
+ for i in range(size):
+ self.array.pop()
+
+ def rewind(self, size=1):
+ self.idx -= size
+ self.lencount -= size
+
+ def advance(self, size=1):
+ ''' Advances the logical index without touching the underlying buffer
+
+ Keyword Args:
+ size (int): How many extra positions to move forward
+ '''
+ self.idx += size
+ self.lencount += size
+
+ def extend(self, value=NAN, size=0):
+ ''' Extends the underlying array with positions that the index will not reach
+
+ Keyword Args:
+ value (variable): value to be set in new positins
+ size (int): How many extra positions to enlarge the buffer
+
+ The purpose is to allow for lookahead operations or to be able to
+ set values in the buffer "future"
+ '''
+ self.extension += size
+ for i in range(size):
+ self.array.append(value)
+
+ def addbinding(self, binding):
+ ''' Adds another line binding
+
+ Keyword Args:
+ binding (LineBuffer): another line that must be set when this line
+ becomes a value
+ '''
+ self.bindings.append(binding)
+ # record in the binding when the period is starting (never sooner
+ # than self)
+ binding.updateminperiod(self._minperiod)
+
+ def plot(self, idx=0, size=None):
+ ''' Returns a slice of the array relative to the real zero of the buffer
+
+ Keyword Args:
+ idx (int): Where to start relative to the real start of the buffer
+ size(int): size of the slice to return
+
+ This is a variant of getzero which unless told otherwise returns the
+ entire buffer, which is usually the idea behind plottint (all must
+ plotted)
+
+ Returns:
+ A slice of the underlying buffer
+ '''
+ return self.getzero(idx, size or len(self))
+
+ def plotrange(self, start, end):
+ if self.useislice:
+ return list(islice(self.array, start, end))
+
+ return self.array[start:end]
+
+ def oncebinding(self):
+ '''
+ Executes the bindings when running in "once" mode
+ '''
+ larray = self.array
+ blen = self.buflen()
+ for binding in self.bindings:
+ binding.array[0:blen] = larray[0:blen]
+
+ def bind2lines(self, binding=0):
+ '''
+ Stores a binding to another line. "binding" can be an index or a name
+ '''
+ if isinstance(binding, string_types):
+ line = getattr(self._owner.lines, binding)
+ else:
+ line = self._owner.lines[binding]
+
+ self.addbinding(line)
+
+ return self
+
+ bind2line = bind2lines
+
+ def __call__(self, ago=None):
+ '''Returns either a delayed verison of itself in the form of a
+ LineDelay object or a timeframe adapting version with regards to a ago
+
+ Param: ago (default: None)
+
+ If ago is None or an instance of LineRoot (a lines object) the
+ returned valued is a LineCoupler instance
+
+ If ago is anything else, it is assumed to be an int and a LineDelay
+ object will be returned
+ '''
+ from .lineiterator import LineCoupler
+ if ago is None or isinstance(ago, LineRoot):
+ return LineCoupler(self, ago)
+
+ return LineDelay(self, ago)
+
+ def _makeoperation(self, other, operation, r=False, _ownerskip=None):
+ return LinesOperation(self, other, operation, r=r,
+ _ownerskip=_ownerskip)
+
+ def _makeoperationown(self, operation, _ownerskip=None):
+ return LineOwnOperation(self, operation, _ownerskip=_ownerskip)
+
+ def _settz(self, tz):
+ self._tz = tz
+
+ def datetime(self, ago=0, tz=None, naive=True):
+ return num2date(self.array[self.idx + ago],
+ tz=tz or self._tz, naive=naive)
+
+ def date(self, ago=0, tz=None, naive=True):
+ return num2date(self.array[self.idx + ago],
+ tz=tz or self._tz, naive=naive).date()
+
+ def time(self, ago=0, tz=None, naive=True):
+ return num2date(self.array[self.idx + ago],
+ tz=tz or self._tz, naive=naive).time()
+
+ def dt(self, ago=0):
+ '''
+ return numeric date part of datetimefloat
+ '''
+ return math.trunc(self.array[self.idx + ago])
+
+ def tm_raw(self, ago=0):
+ '''
+ return raw numeric time part of datetimefloat
+ '''
+ # This function is named raw because it retrieves the fractional part
+ # without transforming it to time to avoid the influence of the day
+ # count (integer part of coding)
+ return math.modf(self.array[self.idx + ago])[0]
+
+ def tm(self, ago=0):
+ '''
+ return numeric time part of datetimefloat
+ '''
+ # To avoid precision errors, this returns the fractional part after
+ # having converted it to a datetime.time object to avoid precision
+ # errors in comparisons
+ return time2num(num2date(self.array[self.idx + ago]).time())
+
+ def tm_lt(self, other, ago=0):
+ '''
+ return numeric time part of datetimefloat
+ '''
+ # To compare a raw "tm" part (fractional part of coded datetime)
+ # with the tm of the current datetime, the raw "tm" has to be
+ # brought in sync with the current "day" count (integer part) to avoid
+ dtime = self.array[self.idx + ago]
+ tm, dt = math.modf(dtime)
+
+ return dtime < (dt + other)
+
+ def tm_le(self, other, ago=0):
+ '''
+ return numeric time part of datetimefloat
+ '''
+ # To compare a raw "tm" part (fractional part of coded datetime)
+ # with the tm of the current datetime, the raw "tm" has to be
+ # brought in sync with the current "day" count (integer part) to avoid
+ dtime = self.array[self.idx + ago]
+ tm, dt = math.modf(dtime)
+
+ return dtime <= (dt + other)
+
+ def tm_eq(self, other, ago=0):
+ '''
+ return numeric time part of datetimefloat
+ '''
+ # To compare a raw "tm" part (fractional part of coded datetime)
+ # with the tm of the current datetime, the raw "tm" has to be
+ # brought in sync with the current "day" count (integer part) to avoid
+ dtime = self.array[self.idx + ago]
+ tm, dt = math.modf(dtime)
+
+ return dtime == (dt + other)
+
+ def tm_gt(self, other, ago=0):
+ '''
+ return numeric time part of datetimefloat
+ '''
+ # To compare a raw "tm" part (fractional part of coded datetime)
+ # with the tm of the current datetime, the raw "tm" has to be
+ # brought in sync with the current "day" count (integer part) to avoid
+ dtime = self.array[self.idx + ago]
+ tm, dt = math.modf(dtime)
+
+ return dtime > (dt + other)
+
+ def tm_ge(self, other, ago=0):
+ '''
+ return numeric time part of datetimefloat
+ '''
+ # To compare a raw "tm" part (fractional part of coded datetime)
+ # with the tm of the current datetime, the raw "tm" has to be
+ # brought in sync with the current "day" count (integer part) to avoid
+ dtime = self.array[self.idx + ago]
+ tm, dt = math.modf(dtime)
+
+ return dtime >= (dt + other)
+
+ def tm2dtime(self, tm, ago=0):
+ '''
+ Returns the given ``tm`` in the frame of the (ago bars) datatime.
+
+ Useful for external comparisons to avoid precision errors
+ '''
+ return int(self.array[self.idx + ago]) + tm
+
+ def tm2datetime(self, tm, ago=0):
+ '''
+ Returns the given ``tm`` in the frame of the (ago bars) datatime.
+
+ Useful for external comparisons to avoid precision errors
+ '''
+ return num2date(int(self.array[self.idx + ago]) + tm)
+
+
+class MetaLineActions(LineBuffer.__class__):
+ '''
+ Metaclass for Lineactions
+
+ Scans the instance before init for LineBuffer (or parentclass LineSingle)
+ instances to calculate the minperiod for this instance
+
+ postinit it registers the instance to the owner (remember that owner has
+ been found in the base Metaclass for LineRoot)
+ '''
+ _acache = dict()
+ _acacheuse = False
+
+ @classmethod
+ def cleancache(cls):
+ cls._acache = dict()
+
+ @classmethod
+ def usecache(cls, onoff):
+ cls._acacheuse = onoff
+
+ def __call__(cls, *args, **kwargs):
+ if not cls._acacheuse:
+ return super(MetaLineActions, cls).__call__(*args, **kwargs)
+
+ # implement a cache to avoid duplicating lines actions
+ ckey = (cls, tuple(args), tuple(kwargs.items())) # tuples hashable
+ try:
+ return cls._acache[ckey]
+ except TypeError: # something not hashable
+ return super(MetaLineActions, cls).__call__(*args, **kwargs)
+ except KeyError:
+ pass # hashable but not in the cache
+
+ _obj = super(MetaLineActions, cls).__call__(*args, **kwargs)
+ return cls._acache.setdefault(ckey, _obj)
+
+ def dopreinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaLineActions, cls).dopreinit(_obj, *args, **kwargs)
+
+ _obj._clock = _obj._owner # default setting
+
+ if isinstance(args[0], LineRoot):
+ _obj._clock = args[0]
+
+ # Keep a reference to the datas for buffer adjustment purposes
+ _obj._datas = [x for x in args if isinstance(x, LineRoot)]
+
+ # Do not produce anything until the operation lines produce something
+ _minperiods = [x._minperiod for x in args if isinstance(x, LineSingle)]
+
+ mlines = [x.lines[0] for x in args if isinstance(x, LineMultiple)]
+ _minperiods += [x._minperiod for x in mlines]
+
+ _minperiod = max(_minperiods or [1])
+
+ # update own minperiod if needed
+ _obj.updateminperiod(_minperiod)
+
+ return _obj, args, kwargs
+
+ def dopostinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaLineActions, cls).dopostinit(_obj, *args, **kwargs)
+
+ # register with _owner to be kicked later
+ _obj._owner.addindicator(_obj)
+
+ return _obj, args, kwargs
+
+
+class PseudoArray(object):
+ def __init__(self, wrapped):
+ self.wrapped = wrapped
+
+ def __getitem__(self, key):
+ return self.wrapped
+
+ @property
+ def array(self):
+ return self
+
+
+class LineActions(with_metaclass(MetaLineActions, LineBuffer)):
+ '''
+ Base class derived from LineBuffer intented to defined the
+ minimum interface to make it compatible with a LineIterator by
+ providing operational _next and _once interfaces.
+
+ The metaclass does the dirty job of calculating minperiods and registering
+ '''
+
+ _ltype = LineBuffer.IndType
+
+ def getindicators(self):
+ return []
+
+ def qbuffer(self, savemem=0):
+ super(LineActions, self).qbuffer(savemem=savemem)
+ for data in self._datas:
+ data.minbuffer(size=self._minperiod)
+
+ @staticmethod
+ def arrayize(obj):
+ if isinstance(obj, LineRoot):
+ if not isinstance(obj, LineSingle):
+ obj = obj.lines[0] # get 1st line from multiline
+ else:
+ obj = PseudoArray(obj)
+
+ return obj
+
+ def _next(self):
+ clock_len = len(self._clock)
+ if clock_len > len(self):
+ self.forward()
+
+ if clock_len > self._minperiod:
+ self.next()
+ elif clock_len == self._minperiod:
+ # only called for the 1st value
+ self.nextstart()
+ else:
+ self.prenext()
+
+ def _once(self):
+ self.forward(size=self._clock.buflen())
+ self.home()
+
+ self.preonce(0, self._minperiod - 1)
+ self.oncestart(self._minperiod - 1, self._minperiod)
+ self.once(self._minperiod, self.buflen())
+
+ self.oncebinding()
+
+
+def LineDelay(a, ago=0, **kwargs):
+ if ago <= 0:
+ return _LineDelay(a, ago, **kwargs)
+
+ return _LineForward(a, ago, **kwargs)
+
+
+def LineNum(num):
+ return LineDelay(PseudoArray(num))
+
+
+class _LineDelay(LineActions):
+ '''
+ Takes a LineBuffer (or derived) object and stores the value from
+ "ago" periods effectively delaying the delivery of data
+ '''
+ def __init__(self, a, ago):
+ super(_LineDelay, self).__init__()
+ self.a = a
+ self.ago = ago
+
+ # Need to add the delay to the period. "ago" is 0 based and therefore
+ # we need to pass and extra 1 which is the minimum defined period for
+ # any data (which will be substracted inside addminperiod)
+ self.addminperiod(abs(ago) + 1)
+
+ def next(self):
+ self[0] = self.a[self.ago]
+
+ def once(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ src = self.a.array
+ ago = self.ago
+
+ for i in range(start, end):
+ dst[i] = src[i + ago]
+
+
+class _LineForward(LineActions):
+ '''
+ Takes a LineBuffer (or derived) object and stores the value from
+ "ago" periods from the future
+ '''
+ def __init__(self, a, ago):
+ super(_LineForward, self).__init__()
+ self.a = a
+ self.ago = ago
+
+ # Need to add the delay to the period. "ago" is 0 based and therefore
+ # we need to pass and extra 1 which is the minimum defined period for
+ # any data (which will be substracted inside addminperiod)
+ # self.addminperiod(abs(ago) + 1)
+ if ago > self.a._minperiod:
+ self.addminperiod(ago - self.a._minperiod + 1)
+
+ def next(self):
+ self[-self.ago] = self.a[0]
+
+ def once(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ src = self.a.array
+ ago = self.ago
+
+ for i in range(start, end):
+ dst[i - ago] = src[i]
+
+
+class LinesOperation(LineActions):
+
+ '''
+ Holds an operation that operates on a two operands. Example: mul
+
+ It will "next"/traverse the array applying the operation on the
+ two operands and storing the result in self.
+
+ To optimize the operations and avoid conditional checks the right
+ next/once is chosen using the operation direction (normal or reversed)
+ and the nature of the operands (LineBuffer vs non-LineBuffer)
+
+ In the "once" operations "map" could be used as in:
+
+ operated = map(self.operation, srca[start:end], srcb[start:end])
+ self.array[start:end] = array.array(str(self.typecode), operated)
+
+ No real execution time benefits were appreciated and therefore the loops
+ have been kept in place for clarity (although the maps are not really
+ unclear here)
+ '''
+
+ def __init__(self, a, b, operation, r=False):
+ super(LinesOperation, self).__init__()
+
+ self.operation = operation
+ self.a = a # always a linebuffer
+ self.b = b
+
+ self.r = r
+ self.bline = isinstance(b, LineBuffer)
+ self.btime = isinstance(b, datetime.time)
+ self.bfloat = not self.bline and not self.btime
+
+ if r:
+ self.a, self.b = b, a
+
+ def next(self):
+ if self.bline:
+ self[0] = self.operation(self.a[0], self.b[0])
+ elif not self.r:
+ if not self.btime:
+ self[0] = self.operation(self.a[0], self.b)
+ else:
+ self[0] = self.operation(self.a.time(), self.b)
+ else:
+ self[0] = self.operation(self.a, self.b[0])
+
+ def once(self, start, end):
+ if self.bline:
+ self._once_op(start, end)
+ elif not self.r:
+ if not self.btime:
+ self._once_val_op(start, end)
+ else:
+ self._once_time_op(start, end)
+ else:
+ self._once_val_op_r(start, end)
+
+ def _once_op(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ srca = self.a.array
+ srcb = self.b.array
+ op = self.operation
+
+ for i in range(start, end):
+ dst[i] = op(srca[i], srcb[i])
+
+ def _once_time_op(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ srca = self.a.array
+ srcb = self.b
+ op = self.operation
+ tz = self._tz
+
+ for i in range(start, end):
+ dst[i] = op(num2date(srca[i], tz=tz).time(), srcb)
+
+ def _once_val_op(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ srca = self.a.array
+ srcb = self.b
+ op = self.operation
+
+ for i in range(start, end):
+ dst[i] = op(srca[i], srcb)
+
+ def _once_val_op_r(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ srca = self.a
+ srcb = self.b.array
+ op = self.operation
+
+ for i in range(start, end):
+ dst[i] = op(srca, srcb[i])
+
+
+class LineOwnOperation(LineActions):
+ '''
+ Holds an operation that operates on a single operand. Example: abs
+
+ It will "next"/traverse the array applying the operation and storing
+ the result in self
+ '''
+ def __init__(self, a, operation):
+ super(LineOwnOperation, self).__init__()
+
+ self.operation = operation
+ self.a = a
+
+ def next(self):
+ self[0] = self.operation(self.a[0])
+
+ def once(self, start, end):
+ # cache python dictionary lookups
+ dst = self.array
+ srca = self.a.array
+ op = self.operation
+
+ for i in range(start, end):
+ dst[i] = op(srca[i])
diff --git a/backtrader/source/backtrader/lineiterator.py b/backtrader/source/backtrader/lineiterator.py
new file mode 100644
index 0000000000000000000000000000000000000000..2ead478b89f80712898c673769756800bc604093
--- /dev/null
+++ b/backtrader/source/backtrader/lineiterator.py
@@ -0,0 +1,488 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+import operator
+import sys
+
+from .utils.py3 import map, range, zip, with_metaclass, string_types
+from .utils import DotDict
+
+from .lineroot import LineRoot, LineSingle
+from .linebuffer import LineActions, LineNum
+from .lineseries import LineSeries, LineSeriesMaker
+from .dataseries import DataSeries
+from . import metabase
+
+
+class MetaLineIterator(LineSeries.__class__):
+ def donew(cls, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaLineIterator, cls).donew(*args, **kwargs)
+
+ # Prepare to hold children that need to be calculated and
+ # influence minperiod - Moved here to support LineNum below
+ _obj._lineiterators = collections.defaultdict(list)
+
+ # Scan args for datas ... if none are found,
+ # use the _owner (to have a clock)
+ mindatas = _obj._mindatas
+ lastarg = 0
+ _obj.datas = []
+ for arg in args:
+ if isinstance(arg, LineRoot):
+ _obj.datas.append(LineSeriesMaker(arg))
+
+ elif not mindatas:
+ break # found not data and must not be collected
+ else:
+ try:
+ _obj.datas.append(LineSeriesMaker(LineNum(arg)))
+ except:
+ # Not a LineNum and is not a LineSeries - bail out
+ break
+
+ mindatas = max(0, mindatas - 1)
+ lastarg += 1
+
+ newargs = args[lastarg:]
+
+ # If no datas have been passed to an indicator ... use the
+ # main datas of the owner, easing up adding "self.data" ...
+ if not _obj.datas and isinstance(_obj, (IndicatorBase, ObserverBase)):
+ _obj.datas = _obj._owner.datas[0:mindatas]
+
+ # Create a dictionary to be able to check for presence
+ # lists in python use "==" operator when testing for presence with "in"
+ # which doesn't really check for presence but for equality
+ _obj.ddatas = {x: None for x in _obj.datas}
+
+ # For each found data add access member -
+ # for the first data 2 (data and data0)
+ if _obj.datas:
+ _obj.data = data = _obj.datas[0]
+
+ for l, line in enumerate(data.lines):
+ linealias = data._getlinealias(l)
+ if linealias:
+ setattr(_obj, 'data_%s' % linealias, line)
+ setattr(_obj, 'data_%d' % l, line)
+
+ for d, data in enumerate(_obj.datas):
+ setattr(_obj, 'data%d' % d, data)
+
+ for l, line in enumerate(data.lines):
+ linealias = data._getlinealias(l)
+ if linealias:
+ setattr(_obj, 'data%d_%s' % (d, linealias), line)
+ setattr(_obj, 'data%d_%d' % (d, l), line)
+
+ # Parameter values have now been set before __init__
+ _obj.dnames = DotDict([(d._name, d)
+ for d in _obj.datas if getattr(d, '_name', '')])
+
+ return _obj, newargs, kwargs
+
+ def dopreinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaLineIterator, cls).dopreinit(_obj, *args, **kwargs)
+
+ # if no datas were found use, use the _owner (to have a clock)
+ _obj.datas = _obj.datas or [_obj._owner]
+
+ # 1st data source is our ticking clock
+ _obj._clock = _obj.datas[0]
+
+ # To automatically set the period Start by scanning the found datas
+ # No calculation can take place until all datas have yielded "data"
+ # A data could be an indicator and it could take x bars until
+ # something is produced
+ _obj._minperiod = \
+ max([x._minperiod for x in _obj.datas] or [_obj._minperiod])
+
+ # The lines carry at least the same minperiod as
+ # that provided by the datas
+ for line in _obj.lines:
+ line.addminperiod(_obj._minperiod)
+
+ return _obj, args, kwargs
+
+ def dopostinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaLineIterator, cls).dopostinit(_obj, *args, **kwargs)
+
+ # my minperiod is as large as the minperiod of my lines
+ _obj._minperiod = max([x._minperiod for x in _obj.lines])
+
+ # Recalc the period
+ _obj._periodrecalc()
+
+ # Register (my)self as indicator to owner once
+ # _minperiod has been calculated
+ if _obj._owner is not None:
+ _obj._owner.addindicator(_obj)
+
+ return _obj, args, kwargs
+
+
+class LineIterator(with_metaclass(MetaLineIterator, LineSeries)):
+ _nextforce = False # force cerebro to run in next mode (runonce=False)
+
+ _mindatas = 1
+ _ltype = LineSeries.IndType
+
+ plotinfo = dict(plot=True,
+ subplot=True,
+ plotname='',
+ plotskip=False,
+ plotabove=False,
+ plotlinelabels=False,
+ plotlinevalues=True,
+ plotvaluetags=True,
+ plotymargin=0.0,
+ plotyhlines=[],
+ plotyticks=[],
+ plothlines=[],
+ plotforce=False,
+ plotmaster=None,)
+
+ def _periodrecalc(self):
+ # last check in case not all lineiterators were assigned to
+ # lines (directly or indirectly after some operations)
+ # An example is Kaufman's Adaptive Moving Average
+ indicators = self._lineiterators[LineIterator.IndType]
+ indperiods = [ind._minperiod for ind in indicators]
+ indminperiod = max(indperiods or [self._minperiod])
+ self.updateminperiod(indminperiod)
+
+ def _stage2(self):
+ super(LineIterator, self)._stage2()
+
+ for data in self.datas:
+ data._stage2()
+
+ for lineiterators in self._lineiterators.values():
+ for lineiterator in lineiterators:
+ lineiterator._stage2()
+
+ def _stage1(self):
+ super(LineIterator, self)._stage1()
+
+ for data in self.datas:
+ data._stage1()
+
+ for lineiterators in self._lineiterators.values():
+ for lineiterator in lineiterators:
+ lineiterator._stage1()
+
+ def getindicators(self):
+ return self._lineiterators[LineIterator.IndType]
+
+ def getindicators_lines(self):
+ return [x for x in self._lineiterators[LineIterator.IndType]
+ if hasattr(x.lines, 'getlinealiases')]
+
+ def getobservers(self):
+ return self._lineiterators[LineIterator.ObsType]
+
+ def addindicator(self, indicator):
+ # store in right queue
+ self._lineiterators[indicator._ltype].append(indicator)
+
+ # use getattr because line buffers don't have this attribute
+ if getattr(indicator, '_nextforce', False):
+ # the indicator needs runonce=False
+ o = self
+ while o is not None:
+ if o._ltype == LineIterator.StratType:
+ o.cerebro._disable_runonce()
+ break
+
+ o = o._owner # move up the hierarchy
+
+ def bindlines(self, owner=None, own=None):
+ if not owner:
+ owner = 0
+
+ if isinstance(owner, string_types):
+ owner = [owner]
+ elif not isinstance(owner, collections.Iterable):
+ owner = [owner]
+
+ if not own:
+ own = range(len(owner))
+
+ if isinstance(own, string_types):
+ own = [own]
+ elif not isinstance(own, collections.Iterable):
+ own = [own]
+
+ for lineowner, lineown in zip(owner, own):
+ if isinstance(lineowner, string_types):
+ lownerref = getattr(self._owner.lines, lineowner)
+ else:
+ lownerref = self._owner.lines[lineowner]
+
+ if isinstance(lineown, string_types):
+ lownref = getattr(self.lines, lineown)
+ else:
+ lownref = self.lines[lineown]
+
+ lownref.addbinding(lownerref)
+
+ return self
+
+ # Alias which may be more readable
+ bind2lines = bindlines
+ bind2line = bind2lines
+
+ def _next(self):
+ clock_len = self._clk_update()
+
+ for indicator in self._lineiterators[LineIterator.IndType]:
+ indicator._next()
+
+ self._notify()
+
+ if self._ltype == LineIterator.StratType:
+ # supporting datas with different lengths
+ minperstatus = self._getminperstatus()
+ if minperstatus < 0:
+ self.next()
+ elif minperstatus == 0:
+ self.nextstart() # only called for the 1st value
+ else:
+ self.prenext()
+ else:
+ # assume indicators and others operate on same length datas
+ # although the above operation can be generalized
+ if clock_len > self._minperiod:
+ self.next()
+ elif clock_len == self._minperiod:
+ self.nextstart() # only called for the 1st value
+ elif clock_len:
+ self.prenext()
+
+ def _clk_update(self):
+ clock_len = len(self._clock)
+ if clock_len != len(self):
+ self.forward()
+
+ return clock_len
+
+ def _once(self):
+ self.forward(size=self._clock.buflen())
+
+ for indicator in self._lineiterators[LineIterator.IndType]:
+ indicator._once()
+
+ for observer in self._lineiterators[LineIterator.ObsType]:
+ observer.forward(size=self.buflen())
+
+ for data in self.datas:
+ data.home()
+
+ for indicator in self._lineiterators[LineIterator.IndType]:
+ indicator.home()
+
+ for observer in self._lineiterators[LineIterator.ObsType]:
+ observer.home()
+
+ self.home()
+
+ # These 3 remain empty for a strategy and therefore play no role
+ # because a strategy will always be executed on a next basis
+ # indicators are each called with its min period
+ self.preonce(0, self._minperiod - 1)
+ self.oncestart(self._minperiod - 1, self._minperiod)
+ self.once(self._minperiod, self.buflen())
+
+ for line in self.lines:
+ line.oncebinding()
+
+ def preonce(self, start, end):
+ pass
+
+ def oncestart(self, start, end):
+ self.once(start, end)
+
+ def once(self, start, end):
+ pass
+
+ def prenext(self):
+ '''
+ This method will be called before the minimum period of all
+ datas/indicators have been meet for the strategy to start executing
+ '''
+ pass
+
+ def nextstart(self):
+ '''
+ This method will be called once, exactly when the minimum period for
+ all datas/indicators have been meet. The default behavior is to call
+ next
+ '''
+
+ # Called once for 1st full calculation - defaults to regular next
+ self.next()
+
+ def next(self):
+ '''
+ This method will be called for all remaining data points when the
+ minimum period for all datas/indicators have been meet.
+ '''
+ pass
+
+ def _addnotification(self, *args, **kwargs):
+ pass
+
+ def _notify(self):
+ pass
+
+ def _plotinit(self):
+ pass
+
+ def qbuffer(self, savemem=0):
+ if savemem:
+ for line in self.lines:
+ line.qbuffer()
+
+ # If called, anything under it, must save
+ for obj in self._lineiterators[self.IndType]:
+ obj.qbuffer(savemem=1)
+
+ # Tell datas to adjust buffer to minimum period
+ for data in self.datas:
+ data.minbuffer(self._minperiod)
+
+
+# This 3 subclasses can be used for identification purposes within LineIterator
+# or even outside (like in LineObservers)
+# for the 3 subbranches without generating circular import references
+
+class DataAccessor(LineIterator):
+ PriceClose = DataSeries.Close
+ PriceLow = DataSeries.Low
+ PriceHigh = DataSeries.High
+ PriceOpen = DataSeries.Open
+ PriceVolume = DataSeries.Volume
+ PriceOpenInteres = DataSeries.OpenInterest
+ PriceDateTime = DataSeries.DateTime
+
+
+class IndicatorBase(DataAccessor):
+ pass
+
+
+class ObserverBase(DataAccessor):
+ pass
+
+
+class StrategyBase(DataAccessor):
+ pass
+
+
+# Utility class to couple lines/lineiterators which may have different lengths
+# Will only work when runonce=False is passed to Cerebro
+
+class SingleCoupler(LineActions):
+ def __init__(self, cdata, clock=None):
+ super(SingleCoupler, self).__init__()
+ self._clock = clock if clock is not None else self._owner
+
+ self.cdata = cdata
+ self.dlen = 0
+ self.val = float('NaN')
+
+ def next(self):
+ if len(self.cdata) > self.dlen:
+ self.val = self.cdata[0]
+ self.dlen += 1
+
+ self[0] = self.val
+
+
+class MultiCoupler(LineIterator):
+ _ltype = LineIterator.IndType
+
+ def __init__(self):
+ super(MultiCoupler, self).__init__()
+ self.dlen = 0
+ self.dsize = self.fullsize() # shorcut for number of lines
+ self.dvals = [float('NaN')] * self.dsize
+
+ def next(self):
+ if len(self.data) > self.dlen:
+ self.dlen += 1
+
+ for i in range(self.dsize):
+ self.dvals[i] = self.data.lines[i][0]
+
+ for i in range(self.dsize):
+ self.lines[i][0] = self.dvals[i]
+
+
+def LinesCoupler(cdata, clock=None, **kwargs):
+ if isinstance(cdata, LineSingle):
+ return SingleCoupler(cdata, clock) # return for single line
+
+ cdatacls = cdata.__class__ # copy important structures before creation
+ try:
+ LinesCoupler.counter += 1 # counter for unique class name
+ except AttributeError:
+ LinesCoupler.counter = 0
+
+ # Prepare a MultiCoupler subclass
+ nclsname = str('LinesCoupler_%d' % LinesCoupler.counter)
+ ncls = type(nclsname, (MultiCoupler,), {})
+ thismod = sys.modules[LinesCoupler.__module__]
+ setattr(thismod, ncls.__name__, ncls)
+ # Replace lines et al., to get a sensible clone
+ ncls.lines = cdatacls.lines
+ ncls.params = cdatacls.params
+ ncls.plotinfo = cdatacls.plotinfo
+ ncls.plotlines = cdatacls.plotlines
+
+ obj = ncls(cdata, **kwargs) # instantiate
+ # The clock is set here to avoid it being interpreted as a data by the
+ # LineIterator background scanning code
+ if clock is None:
+ clock = getattr(cdata, '_clock', None)
+ if clock is not None:
+ nclock = getattr(clock, '_clock', None)
+ if nclock is not None:
+ clock = nclock
+ else:
+ nclock = getattr(clock, 'data', None)
+ if nclock is not None:
+ clock = nclock
+
+ if clock is None:
+ clock = obj._owner
+
+ obj._clock = clock
+ return obj
+
+
+# Add an alias (which seems a lot more sensible for "Single Line" lines
+LineCoupler = LinesCoupler
diff --git a/backtrader/source/backtrader/lineroot.py b/backtrader/source/backtrader/lineroot.py
new file mode 100644
index 0000000000000000000000000000000000000000..ee5d5aabdff95777a5412a7a8a5bdc6bb1f32117
--- /dev/null
+++ b/backtrader/source/backtrader/lineroot.py
@@ -0,0 +1,359 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+'''
+
+.. module:: lineroot
+
+Definition of the base class LineRoot and base classes LineSingle/LineMultiple
+to define interfaces and hierarchy for the real operational classes
+
+.. moduleauthor:: Daniel Rodriguez
+
+'''
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import operator
+
+from .utils.py3 import range, with_metaclass
+
+from . import metabase
+
+
+class MetaLineRoot(metabase.MetaParams):
+ '''
+ Once the object is created (effectively pre-init) the "owner" of this
+ class is sought
+ '''
+
+ def donew(cls, *args, **kwargs):
+ _obj, args, kwargs = super(MetaLineRoot, cls).donew(*args, **kwargs)
+
+ # Find the owner and store it
+ # startlevel = 4 ... to skip intermediate call stacks
+ ownerskip = kwargs.pop('_ownerskip', None)
+ _obj._owner = metabase.findowner(_obj,
+ _obj._OwnerCls or LineMultiple,
+ skip=ownerskip)
+
+ # Parameter values have now been set before __init__
+ return _obj, args, kwargs
+
+
+class LineRoot(with_metaclass(MetaLineRoot, object)):
+ '''
+ Defines a common base and interfaces for Single and Multiple
+ LineXXX instances
+
+ Period management
+ Iteration management
+ Operation (dual/single operand) Management
+ Rich Comparison operator definition
+ '''
+ _OwnerCls = None
+ _minperiod = 1
+ _opstage = 1
+
+ IndType, StratType, ObsType = range(3)
+
+ def _stage1(self):
+ self._opstage = 1
+
+ def _stage2(self):
+ self._opstage = 2
+
+ def _operation(self, other, operation, r=False, intify=False):
+ if self._opstage == 1:
+ return self._operation_stage1(
+ other, operation, r=r, intify=intify)
+
+ return self._operation_stage2(other, operation, r=r)
+
+ def _operationown(self, operation):
+ if self._opstage == 1:
+ return self._operationown_stage1(operation)
+
+ return self._operationown_stage2(operation)
+
+ def qbuffer(self, savemem=0):
+ '''Change the lines to implement a minimum size qbuffer scheme'''
+ raise NotImplementedError
+
+ def minbuffer(self, size):
+ '''Receive notification of how large the buffer must at least be'''
+ raise NotImplementedError
+
+ def setminperiod(self, minperiod):
+ '''
+ Direct minperiod manipulation. It could be used for example
+ by a strategy
+ to not wait for all indicators to produce a value
+ '''
+ self._minperiod = minperiod
+
+ def updateminperiod(self, minperiod):
+ '''
+ Update the minperiod if needed. The minperiod will have been
+ calculated elsewhere
+ and has to take over if greater that self's
+ '''
+ self._minperiod = max(self._minperiod, minperiod)
+
+ def addminperiod(self, minperiod):
+ '''
+ Add a minperiod to own ... to be defined by subclasses
+ '''
+ raise NotImplementedError
+
+ def incminperiod(self, minperiod):
+ '''
+ Increment the minperiod with no considerations
+ '''
+ raise NotImplementedError
+
+ def prenext(self):
+ '''
+ It will be called during the "minperiod" phase of an iteration.
+ '''
+ pass
+
+ def nextstart(self):
+ '''
+ It will be called when the minperiod phase is over for the 1st
+ post-minperiod value. Only called once and defaults to automatically
+ calling next
+ '''
+ self.next()
+
+ def next(self):
+ '''
+ Called to calculate values when the minperiod is over
+ '''
+ pass
+
+ def preonce(self, start, end):
+ '''
+ It will be called during the "minperiod" phase of a "once" iteration
+ '''
+ pass
+
+ def oncestart(self, start, end):
+ '''
+ It will be called when the minperiod phase is over for the 1st
+ post-minperiod value
+
+ Only called once and defaults to automatically calling once
+ '''
+ self.once(start, end)
+
+ def once(self, start, end):
+ '''
+ Called to calculate values at "once" when the minperiod is over
+ '''
+ pass
+
+ # Arithmetic operators
+ def _makeoperation(self, other, operation, r=False, _ownerskip=None):
+ raise NotImplementedError
+
+ def _makeoperationown(self, operation, _ownerskip=None):
+ raise NotImplementedError
+
+ def _operationown_stage1(self, operation):
+ '''
+ Operation with single operand which is "self"
+ '''
+ return self._makeoperationown(operation, _ownerskip=self)
+
+ def _roperation(self, other, operation, intify=False):
+ '''
+ Relies on self._operation to and passes "r" True to define a
+ reverse operation
+ '''
+ return self._operation(other, operation, r=True, intify=intify)
+
+ def _operation_stage1(self, other, operation, r=False, intify=False):
+ '''
+ Two operands' operation. Scanning of other happens to understand
+ if other must be directly an operand or rather a subitem thereof
+ '''
+ if isinstance(other, LineMultiple):
+ other = other.lines[0]
+
+ return self._makeoperation(other, operation, r, self)
+
+ def _operation_stage2(self, other, operation, r=False):
+ '''
+ Rich Comparison operators. Scans other and returns either an
+ operation with other directly or a subitem from other
+ '''
+ if isinstance(other, LineRoot):
+ other = other[0]
+
+ # operation(float, other) ... expecting other to be a float
+ if r:
+ return operation(other, self[0])
+
+ return operation(self[0], other)
+
+ def _operationown_stage2(self, operation):
+ return operation(self[0])
+
+ def __add__(self, other):
+ return self._operation(other, operator.__add__)
+
+ def __radd__(self, other):
+ return self._roperation(other, operator.__add__)
+
+ def __sub__(self, other):
+ return self._operation(other, operator.__sub__)
+
+ def __rsub__(self, other):
+ return self._roperation(other, operator.__sub__)
+
+ def __mul__(self, other):
+ return self._operation(other, operator.__mul__)
+
+ def __rmul__(self, other):
+ return self._roperation(other, operator.__mul__)
+
+ def __div__(self, other):
+ return self._operation(other, operator.__div__)
+
+ def __rdiv__(self, other):
+ return self._roperation(other, operator.__div__)
+
+ def __floordiv__(self, other):
+ return self._operation(other, operator.__floordiv__)
+
+ def __rfloordiv__(self, other):
+ return self._roperation(other, operator.__floordiv__)
+
+ def __truediv__(self, other):
+ return self._operation(other, operator.__truediv__)
+
+ def __rtruediv__(self, other):
+ return self._roperation(other, operator.__truediv__)
+
+ def __pow__(self, other):
+ return self._operation(other, operator.__pow__)
+
+ def __rpow__(self, other):
+ return self._roperation(other, operator.__pow__)
+
+ def __abs__(self):
+ return self._operationown(operator.__abs__)
+
+ def __neg__(self):
+ return self._operationown(operator.__neg__)
+
+ def __lt__(self, other):
+ return self._operation(other, operator.__lt__)
+
+ def __gt__(self, other):
+ return self._operation(other, operator.__gt__)
+
+ def __le__(self, other):
+ return self._operation(other, operator.__le__)
+
+ def __ge__(self, other):
+ return self._operation(other, operator.__ge__)
+
+ def __eq__(self, other):
+ return self._operation(other, operator.__eq__)
+
+ def __ne__(self, other):
+ return self._operation(other, operator.__ne__)
+
+ def __nonzero__(self):
+ return self._operationown(bool)
+
+ __bool__ = __nonzero__
+
+ # Python 3 forces explicit implementation of hash if
+ # the class has redefined __eq__
+ __hash__ = object.__hash__
+
+
+class LineMultiple(LineRoot):
+ '''
+ Base class for LineXXX instances that hold more than one line
+ '''
+ def reset(self):
+ self._stage1()
+ self.lines.reset()
+
+ def _stage1(self):
+ super(LineMultiple, self)._stage1()
+ for line in self.lines:
+ line._stage1()
+
+ def _stage2(self):
+ super(LineMultiple, self)._stage2()
+ for line in self.lines:
+ line._stage2()
+
+ def addminperiod(self, minperiod):
+ '''
+ The passed minperiod is fed to the lines
+ '''
+ # pass it down to the lines
+ for line in self.lines:
+ line.addminperiod(minperiod)
+
+ def incminperiod(self, minperiod):
+ '''
+ The passed minperiod is fed to the lines
+ '''
+ # pass it down to the lines
+ for line in self.lines:
+ line.incminperiod(minperiod)
+
+ def _makeoperation(self, other, operation, r=False, _ownerskip=None):
+ return self.lines[0]._makeoperation(other, operation, r, _ownerskip)
+
+ def _makeoperationown(self, operation, _ownerskip=None):
+ return self.lines[0]._makeoperationown(operation, _ownerskip)
+
+ def qbuffer(self, savemem=0):
+ for line in self.lines:
+ line.qbuffer(savemem=1)
+
+ def minbuffer(self, size):
+ for line in self.lines:
+ line.minbuffer(size)
+
+
+class LineSingle(LineRoot):
+ '''
+ Base class for LineXXX instances that hold a single line
+ '''
+ def addminperiod(self, minperiod):
+ '''
+ Add the minperiod (substracting the overlapping 1 minimum period)
+ '''
+ self._minperiod += minperiod - 1
+
+ def incminperiod(self, minperiod):
+ '''
+ Increment the minperiod with no considerations
+ '''
+ self._minperiod += minperiod
diff --git a/backtrader/source/backtrader/lineseries.py b/backtrader/source/backtrader/lineseries.py
new file mode 100644
index 0000000000000000000000000000000000000000..babd10572fead63d9d489c5c0d6e4734ce954c12
--- /dev/null
+++ b/backtrader/source/backtrader/lineseries.py
@@ -0,0 +1,644 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+'''
+
+.. module:: lineroot
+
+Defines LineSeries and Descriptors inside of it for classes that hold multiple
+lines at once.
+
+.. moduleauthor:: Daniel Rodriguez
+
+'''
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import sys
+
+from .utils.py3 import map, range, string_types, with_metaclass
+
+from .linebuffer import LineBuffer, LineActions, LinesOperation, LineDelay, NAN
+from .lineroot import LineRoot, LineSingle, LineMultiple
+from .metabase import AutoInfoClass
+from . import metabase
+
+
+class LineAlias(object):
+ ''' Descriptor class that store a line reference and returns that line
+ from the owner
+
+ Keyword Args:
+ line (int): reference to the line that will be returned from
+ owner's *lines* buffer
+
+ As a convenience the __set__ method of the descriptor is used not set
+ the *line* reference because this is a constant along the live of the
+ descriptor instance, but rather to set the value of the *line* at the
+ instant '0' (the current one)
+ '''
+
+ def __init__(self, line):
+ self.line = line
+
+ def __get__(self, obj, cls=None):
+ return obj.lines[self.line]
+
+ def __set__(self, obj, value):
+ '''
+ A line cannot be "set" once it has been created. But the values
+ inside the line can be "set". This is achieved by adding a binding
+ to the line inside "value"
+ '''
+ if isinstance(value, LineMultiple):
+ value = value.lines[0]
+
+ # If the now for sure, LineBuffer 'value' is not a LineActions the
+ # binding below could kick-in too early in the chain writing the value
+ # into a not yet "forwarded" line, effectively writing the value 1
+ # index too early and breaking the functionality (all in next mode)
+ # Hence the need to transform it into a LineDelay object of null delay
+ if not isinstance(value, LineActions):
+ value = value(0)
+
+ value.addbinding(obj.lines[self.line])
+
+
+class Lines(object):
+ '''
+ Defines an "array" of lines which also has most of the interface of
+ a LineBuffer class (forward, rewind, advance...).
+
+ This interface operations are passed to the lines held by self
+
+ The class can autosubclass itself (_derive) to hold new lines keeping them
+ in the defined order.
+ '''
+ _getlinesbase = classmethod(lambda cls: ())
+ _getlines = classmethod(lambda cls: ())
+ _getlinesextra = classmethod(lambda cls: 0)
+ _getlinesextrabase = classmethod(lambda cls: 0)
+
+ @classmethod
+ def _derive(cls, name, lines, extralines, otherbases, linesoverride=False,
+ lalias=None):
+ '''
+ Creates a subclass of this class with the lines of this class as
+ initial input for the subclass. It will include num "extralines" and
+ lines present in "otherbases"
+
+ "name" will be used as the suffix of the final class name
+
+ "linesoverride": if True the lines of all bases will be discarded and
+ the baseclass will be the topmost class "Lines". This is intended to
+ create a new hierarchy
+ '''
+ obaseslines = ()
+ obasesextralines = 0
+
+ for otherbase in otherbases:
+ if isinstance(otherbase, tuple):
+ obaseslines += otherbase
+ else:
+ obaseslines += otherbase._getlines()
+ obasesextralines += otherbase._getlinesextra()
+
+ if not linesoverride:
+ baselines = cls._getlines() + obaseslines
+ baseextralines = cls._getlinesextra() + obasesextralines
+ else: # overriding lines, skip anything from baseclasses
+ baselines = ()
+ baseextralines = 0
+
+ clslines = baselines + lines
+ clsextralines = baseextralines + extralines
+ lines2add = obaseslines + lines
+
+ # str for Python 2/3 compatibility
+ basecls = cls if not linesoverride else Lines
+
+ newcls = type(str(cls.__name__ + '_' + name), (basecls,), {})
+ clsmodule = sys.modules[cls.__module__]
+ newcls.__module__ = cls.__module__
+ setattr(clsmodule, str(cls.__name__ + '_' + name), newcls)
+
+ setattr(newcls, '_getlinesbase', classmethod(lambda cls: baselines))
+ setattr(newcls, '_getlines', classmethod(lambda cls: clslines))
+
+ setattr(newcls, '_getlinesextrabase',
+ classmethod(lambda cls: baseextralines))
+ setattr(newcls, '_getlinesextra',
+ classmethod(lambda cls: clsextralines))
+
+ l2start = len(cls._getlines()) if not linesoverride else 0
+ l2add = enumerate(lines2add, start=l2start)
+ l2alias = {} if lalias is None else lalias._getkwargsdefault()
+ for line, linealias in l2add:
+ if not isinstance(linealias, string_types):
+ # a tuple or list was passed, 1st is name
+ linealias = linealias[0]
+
+ desc = LineAlias(line) # keep a reference below
+ setattr(newcls, linealias, desc)
+
+ # Create extra aliases for the given name, checking if the names is in
+ # l2alias (which is from the argument lalias and comes from the
+ # directive 'linealias', hence the confusion here (the LineAlias come
+ # from the directive 'lines')
+ for line, linealias in enumerate(newcls._getlines()):
+ if not isinstance(linealias, string_types):
+ # a tuple or list was passed, 1st is name
+ linealias = linealias[0]
+
+ desc = LineAlias(line) # keep a reference below
+ if linealias in l2alias:
+ extranames = l2alias[linealias]
+ if isinstance(linealias, string_types):
+ extranames = [extranames]
+
+ for ename in extranames:
+ setattr(newcls, ename, desc)
+
+ return newcls
+
+ @classmethod
+ def _getlinealias(cls, i):
+ '''
+ Return the alias for a line given the index
+ '''
+ lines = cls._getlines()
+ if i >= len(lines):
+ return ''
+ linealias = lines[i]
+ return linealias
+
+ @classmethod
+ def getlinealiases(cls):
+ return cls._getlines()
+
+ def itersize(self):
+ return iter(self.lines[0:self.size()])
+
+ def __init__(self, initlines=None):
+ '''
+ Create the lines recording during "_derive" or else use the
+ provided "initlines"
+ '''
+ self.lines = list()
+ for line, linealias in enumerate(self._getlines()):
+ kwargs = dict()
+ self.lines.append(LineBuffer(**kwargs))
+
+ # Add the required extralines
+ for i in range(self._getlinesextra()):
+ if not initlines:
+ self.lines.append(LineBuffer())
+ else:
+ self.lines.append(initlines[i])
+
+ def __len__(self):
+ '''
+ Proxy line operation
+ '''
+ return len(self.lines[0])
+
+ def size(self):
+ return len(self.lines) - self._getlinesextra()
+
+ def fullsize(self):
+ return len(self.lines)
+
+ def extrasize(self):
+ return self._getlinesextra()
+
+ def __getitem__(self, line):
+ '''
+ Proxy line operation
+ '''
+ return self.lines[line]
+
+ def get(self, ago=0, size=1, line=0):
+ '''
+ Proxy line operation
+ '''
+ return self.lines[line].get(ago, size=size)
+
+ def __setitem__(self, line, value):
+ '''
+ Proxy line operation
+ '''
+ setattr(self, self._getlinealias(line), value)
+
+ def forward(self, value=NAN, size=1):
+ '''
+ Proxy line operation
+ '''
+ for line in self.lines:
+ line.forward(value, size=size)
+
+ def backwards(self, size=1, force=False):
+ '''
+ Proxy line operation
+ '''
+ for line in self.lines:
+ line.backwards(size, force=force)
+
+ def rewind(self, size=1):
+ '''
+ Proxy line operation
+ '''
+ for line in self.lines:
+ line.rewind(size)
+
+ def extend(self, value=NAN, size=0):
+ '''
+ Proxy line operation
+ '''
+ for line in self.lines:
+ line.extend(value, size)
+
+ def reset(self):
+ '''
+ Proxy line operation
+ '''
+ for line in self.lines:
+ line.reset()
+
+ def home(self):
+ '''
+ Proxy line operation
+ '''
+ for line in self.lines:
+ line.home()
+
+ def advance(self, size=1):
+ '''
+ Proxy line operation
+ '''
+ for line in self.lines:
+ line.advance(size)
+
+ def buflen(self, line=0):
+ '''
+ Proxy line operation
+ '''
+ return self.lines[line].buflen()
+
+
+class MetaLineSeries(LineMultiple.__class__):
+ '''
+ Dirty job manager for a LineSeries
+
+ - During __new__ (class creation), it reads "lines", "plotinfo",
+ "plotlines" class variable definitions and turns them into
+ Classes of type Lines or AutoClassInfo (plotinfo/plotlines)
+
+ - During "new" (instance creation) the lines/plotinfo/plotlines
+ classes are substituted in the instance with instances of the
+ aforementioned classes and aliases are added for the "lines" held
+ in the "lines" instance
+
+ Additionally and for remaining kwargs, these are matched against
+ args in plotinfo and if existent are set there and removed from kwargs
+
+ Remember that this Metaclass has a MetaParams (from metabase)
+ as root class and therefore "params" defined for the class have been
+ removed from kwargs at an earlier state
+ '''
+
+ def __new__(meta, name, bases, dct):
+ '''
+ Intercept class creation, identifiy lines/plotinfo/plotlines class
+ attributes and create corresponding classes for them which take over
+ the class attributes
+ '''
+
+ # Get the aliases - don't leave it there for subclasses
+ aliases = dct.setdefault('alias', ())
+ aliased = dct.setdefault('aliased', '')
+
+ # Remove the line definition (if any) from the class creation
+ linesoverride = dct.pop('linesoverride', False)
+ newlines = dct.pop('lines', ())
+ extralines = dct.pop('extralines', 0)
+
+ # remove the new plotinfo/plotlines definition if any
+ newlalias = dict(dct.pop('linealias', {}))
+
+ # remove the new plotinfo/plotlines definition if any
+ newplotinfo = dict(dct.pop('plotinfo', {}))
+ newplotlines = dict(dct.pop('plotlines', {}))
+
+ # Create the class - pulling in any existing "lines"
+ cls = super(MetaLineSeries, meta).__new__(meta, name, bases, dct)
+
+ # Check the line aliases before creating the lines
+ lalias = getattr(cls, 'linealias', AutoInfoClass)
+ oblalias = [x.linealias for x in bases[1:] if hasattr(x, 'linealias')]
+ cls.linealias = la = lalias._derive('la_' + name, newlalias, oblalias)
+
+ # Get the actual lines or a default
+ lines = getattr(cls, 'lines', Lines)
+
+ # Create a subclass of the lines class with our name and newlines
+ # and put it in the class
+ morebaseslines = [x.lines for x in bases[1:] if hasattr(x, 'lines')]
+ cls.lines = lines._derive(name, newlines, extralines, morebaseslines,
+ linesoverride, lalias=la)
+
+ # Get a copy from base class plotinfo/plotlines (created with the
+ # class or set a default)
+ plotinfo = getattr(cls, 'plotinfo', AutoInfoClass)
+ plotlines = getattr(cls, 'plotlines', AutoInfoClass)
+
+ # Create a plotinfo/plotlines subclass and set it in the class
+ morebasesplotinfo = \
+ [x.plotinfo for x in bases[1:] if hasattr(x, 'plotinfo')]
+ cls.plotinfo = plotinfo._derive('pi_' + name, newplotinfo,
+ morebasesplotinfo)
+
+ # Before doing plotline newlines have been added and no plotlineinfo
+ # is there add a default
+ for line in newlines:
+ newplotlines.setdefault(line, dict())
+
+ morebasesplotlines = \
+ [x.plotlines for x in bases[1:] if hasattr(x, 'plotlines')]
+ cls.plotlines = plotlines._derive(
+ 'pl_' + name, newplotlines, morebasesplotlines, recurse=True)
+
+ # create declared class aliases (a subclass with no modifications)
+ for alias in aliases:
+ newdct = {'__doc__': cls.__doc__,
+ '__module__': cls.__module__,
+ 'aliased': cls.__name__}
+
+ if not isinstance(alias, string_types):
+ # a tuple or list was passed, 1st is name, 2nd plotname
+ aliasplotname = alias[1]
+ alias = alias[0]
+ newdct['plotinfo'] = dict(plotname=aliasplotname)
+
+ newcls = type(str(alias), (cls,), newdct)
+ clsmodule = sys.modules[cls.__module__]
+ setattr(clsmodule, alias, newcls)
+
+ # return the class
+ return cls
+
+ def donew(cls, *args, **kwargs):
+ '''
+ Intercept instance creation, take over lines/plotinfo/plotlines
+ class attributes by creating corresponding instance variables and add
+ aliases for "lines" and the "lines" held within it
+ '''
+ # _obj.plotinfo shadows the plotinfo (class) definition in the class
+ plotinfo = cls.plotinfo()
+
+ for pname, pdef in cls.plotinfo._getitems():
+ setattr(plotinfo, pname, kwargs.pop(pname, pdef))
+
+ # Create the object and set the params in place
+ _obj, args, kwargs = super(MetaLineSeries, cls).donew(*args, **kwargs)
+
+ # set the plotinfo member in the class
+ _obj.plotinfo = plotinfo
+
+ # _obj.lines shadows the lines (class) definition in the class
+ _obj.lines = cls.lines()
+
+ # _obj.plotinfo shadows the plotinfo (class) definition in the class
+ _obj.plotlines = cls.plotlines()
+
+ # add aliases for lines and for the lines class itself
+ _obj.l = _obj.lines
+ if _obj.lines.fullsize():
+ _obj.line = _obj.lines[0]
+
+ for l, line in enumerate(_obj.lines):
+ setattr(_obj, 'line_%s' % l, _obj._getlinealias(l))
+ setattr(_obj, 'line_%d' % l, line)
+ setattr(_obj, 'line%d' % l, line)
+
+ # Parameter values have now been set before __init__
+ return _obj, args, kwargs
+
+
+class LineSeries(with_metaclass(MetaLineSeries, LineMultiple)):
+ plotinfo = dict(
+ plot=True,
+ plotmaster=None,
+ legendloc=None,
+ )
+
+ csv = True
+
+ @property
+ def array(self):
+ return self.lines[0].array
+
+ def __getattr__(self, name):
+ # to refer to line by name directly if the attribute was not found
+ # in this object if we set an attribute in this object it will be
+ # found before we end up here
+ return getattr(self.lines, name)
+
+ def __len__(self):
+ return len(self.lines)
+
+ def __getitem__(self, key):
+ return self.lines[0][key]
+
+ def __setitem__(self, key, value):
+ setattr(self.lines, self.lines._getlinealias(key), value)
+
+ def __init__(self, *args, **kwargs):
+ # if any args, kwargs make it up to here, something is broken
+ # defining a __init__ guarantees the existence of im_func to findbases
+ # in lineiterator later, because object.__init__ has no im_func
+ # (object has slots)
+ super(LineSeries, self).__init__()
+ pass
+
+ def plotlabel(self):
+ label = self.plotinfo.plotname or self.__class__.__name__
+ sublabels = self._plotlabel()
+ if sublabels:
+ for i, sublabel in enumerate(sublabels):
+ # if isinstance(sublabel, LineSeries): ## DOESN'T WORK ???
+ if hasattr(sublabel, 'plotinfo'):
+ try:
+ s = sublabel.plotinfo.plotname
+ except:
+ s = ''
+
+ sublabels[i] = s or sublabel.__name__
+
+ label += ' (%s)' % ', '.join(map(str, sublabels))
+ return label
+
+ def _plotlabel(self):
+ return self.params._getvalues()
+
+ def _getline(self, line, minusall=False):
+ if isinstance(line, string_types):
+ lineobj = getattr(self.lines, line)
+ else:
+ if line == -1: # restore original api behavior - default -> 0
+ if minusall: # minus means ... all lines
+ return None
+ line = 0
+ lineobj = self.lines[line]
+
+ return lineobj
+
+ def __call__(self, ago=None, line=-1):
+ '''Returns either a delayed verison of itself in the form of a
+ LineDelay object or a timeframe adapting version with regards to a ago
+
+ Param: ago (default: None)
+
+ If ago is None or an instance of LineRoot (a lines object) the
+ returned valued is a LineCoupler instance
+
+ If ago is anything else, it is assumed to be an int and a LineDelay
+ object will be returned
+
+ Param: line (default: -1)
+ If a LinesCoupler will be returned ``-1`` means to return a
+ LinesCoupler which adapts all lines of the current LineMultiple
+ object. Else the appropriate line (referenced by name or index) will
+ be LineCoupled
+
+ If a LineDelay object will be returned, ``-1`` is the same as ``0``
+ (to retain compatibility with the previous default value of 0). This
+ behavior will change to return all existing lines in a LineDelayed
+ form
+
+ The referenced line (index or name) will be LineDelayed
+ '''
+ from .lineiterator import LinesCoupler # avoid circular import
+
+ if ago is None or isinstance(ago, LineRoot):
+ args = [self, ago]
+ lineobj = self._getline(line, minusall=True)
+ if lineobj is not None:
+ args[0] = lineobj
+
+ return LinesCoupler(*args, _ownerskip=self)
+
+ # else -> assume type(ago) == int -> return LineDelay object
+ return LineDelay(self._getline(line), ago, _ownerskip=self)
+
+ # The operations below have to be overriden to make sure subclasses can
+ # reach them using "super" which will not call __getattr__ and
+ # LineSeriesStub (see below) already uses super
+ def forward(self, value=NAN, size=1):
+ self.lines.forward(value, size)
+
+ def backwards(self, size=1, force=False):
+ self.lines.backwards(size, force=force)
+
+ def rewind(self, size=1):
+ self.lines.rewind(size)
+
+ def extend(self, value=NAN, size=0):
+ self.lines.extend(value, size)
+
+ def reset(self):
+ self.lines.reset()
+
+ def home(self):
+ self.lines.home()
+
+ def advance(self, size=1):
+ self.lines.advance(size)
+
+
+class LineSeriesStub(LineSeries):
+ '''Simulates a LineMultiple object based on LineSeries from a single line
+
+ The index management operations are overriden to take into account if the
+ line is a slave, ie:
+
+ - The line reference is a line from many in a LineMultiple object
+ - Both the LineMultiple object and the Line are managed by the same
+ object
+
+ Were slave not to be taken into account, the individual line would for
+ example be advanced twice:
+
+ - Once under when the LineMultiple object is advanced (because it
+ advances all lines it is holding
+ - Again as part of the regular management of the object holding it
+ '''
+
+ extralines = 1
+
+ def __init__(self, line, slave=False):
+ self.lines = self.__class__.lines(initlines=[line])
+ # give a change to find the line owner (for plotting at least)
+ self.owner = self._owner = line._owner
+ self._minperiod = line._minperiod
+ self.slave = slave
+
+ # Only execute the operations below if the object is not a slave
+ def forward(self, value=NAN, size=1):
+ if not self.slave:
+ super(LineSeriesStub, self).forward(value, size)
+
+ def backwards(self, size=1, force=False):
+ if not self.slave:
+ super(LineSeriesStub, self).backwards(size, force=force)
+
+ def rewind(self, size=1):
+ if not self.slave:
+ super(LineSeriesStub, self).rewind(size)
+
+ def extend(self, value=NAN, size=0):
+ if not self.slave:
+ super(LineSeriesStub, self).extend(value, size)
+
+ def reset(self):
+ if not self.slave:
+ super(LineSeriesStub, self).reset()
+
+ def home(self):
+ if not self.slave:
+ super(LineSeriesStub, self).home()
+
+ def advance(self, size=1):
+ if not self.slave:
+ super(LineSeriesStub, self).advance(size)
+
+ def qbuffer(self):
+ if not self.slave:
+ super(LineSeriesStub, self).qbuffer()
+
+ def minbuffer(self, size):
+ if not self.slave:
+ super(LineSeriesStub, self).minbuffer(size)
+
+
+def LineSeriesMaker(arg, slave=False):
+ if isinstance(arg, LineSeries):
+ return arg
+
+ return LineSeriesStub(arg, slave=slave)
diff --git a/backtrader/source/backtrader/mathsupport.py b/backtrader/source/backtrader/mathsupport.py
new file mode 100644
index 0000000000000000000000000000000000000000..0ffec065389d9a270dfdae34963b4a8b5570b798
--- /dev/null
+++ b/backtrader/source/backtrader/mathsupport.py
@@ -0,0 +1,65 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import math
+
+
+def average(x, bessel=False):
+ '''
+ Args:
+ x: iterable with len
+
+ oneless: (default ``False``) reduces the length of the array for the
+ division.
+
+ Returns:
+ A float with the average of the elements of x
+ '''
+ return math.fsum(x) / (len(x) - bessel)
+
+
+def variance(x, avgx=None):
+ '''
+ Args:
+ x: iterable with len
+
+ Returns:
+ A list with the variance for each element of x
+ '''
+ if avgx is None:
+ avgx = average(x)
+ return [pow(y - avgx, 2.0) for y in x]
+
+
+def standarddev(x, avgx=None, bessel=False):
+ '''
+ Args:
+ x: iterable with len
+
+ bessel: (default ``False``) to be passed to the average to divide by
+ ``N - 1`` (Bessel's correction)
+
+ Returns:
+ A float with the standard deviation of the elements of x
+ '''
+ return math.sqrt(average(variance(x, avgx), bessel=bessel))
diff --git a/backtrader/source/backtrader/metabase.py b/backtrader/source/backtrader/metabase.py
new file mode 100644
index 0000000000000000000000000000000000000000..8f19cbb89179642b6ccb0e0ba7b5e17626f3aead
--- /dev/null
+++ b/backtrader/source/backtrader/metabase.py
@@ -0,0 +1,331 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from collections import OrderedDict
+import itertools
+import sys
+
+import backtrader as bt
+from .utils.py3 import zip, string_types, with_metaclass
+
+
+def findbases(kls, topclass):
+ retval = list()
+ for base in kls.__bases__:
+ if issubclass(base, topclass):
+ retval.extend(findbases(base, topclass))
+ retval.append(base)
+
+ return retval
+
+
+def findowner(owned, cls, startlevel=2, skip=None):
+ # skip this frame and the caller's -> start at 2
+ for framelevel in itertools.count(startlevel):
+ try:
+ frame = sys._getframe(framelevel)
+ except ValueError:
+ # Frame depth exceeded ... no owner ... break away
+ break
+
+ # 'self' in regular code
+ self_ = frame.f_locals.get('self', None)
+ if skip is not self_:
+ if self_ is not owned and isinstance(self_, cls):
+ return self_
+
+ # '_obj' in metaclasses
+ obj_ = frame.f_locals.get('_obj', None)
+ if skip is not obj_:
+ if obj_ is not owned and isinstance(obj_, cls):
+ return obj_
+
+ return None
+
+
+class MetaBase(type):
+ def doprenew(cls, *args, **kwargs):
+ return cls, args, kwargs
+
+ def donew(cls, *args, **kwargs):
+ _obj = cls.__new__(cls, *args, **kwargs)
+ return _obj, args, kwargs
+
+ def dopreinit(cls, _obj, *args, **kwargs):
+ return _obj, args, kwargs
+
+ def doinit(cls, _obj, *args, **kwargs):
+ _obj.__init__(*args, **kwargs)
+ return _obj, args, kwargs
+
+ def dopostinit(cls, _obj, *args, **kwargs):
+ return _obj, args, kwargs
+
+ def __call__(cls, *args, **kwargs):
+ cls, args, kwargs = cls.doprenew(*args, **kwargs)
+ _obj, args, kwargs = cls.donew(*args, **kwargs)
+ _obj, args, kwargs = cls.dopreinit(_obj, *args, **kwargs)
+ _obj, args, kwargs = cls.doinit(_obj, *args, **kwargs)
+ _obj, args, kwargs = cls.dopostinit(_obj, *args, **kwargs)
+ return _obj
+
+
+class AutoInfoClass(object):
+ _getpairsbase = classmethod(lambda cls: OrderedDict())
+ _getpairs = classmethod(lambda cls: OrderedDict())
+ _getrecurse = classmethod(lambda cls: False)
+
+ @classmethod
+ def _derive(cls, name, info, otherbases, recurse=False):
+ # collect the 3 set of infos
+ # info = OrderedDict(info)
+ baseinfo = cls._getpairs().copy()
+ obasesinfo = OrderedDict()
+ for obase in otherbases:
+ if isinstance(obase, (tuple, dict)):
+ obasesinfo.update(obase)
+ else:
+ obasesinfo.update(obase._getpairs())
+
+ # update the info of this class (base) with that from the other bases
+ baseinfo.update(obasesinfo)
+
+ # The info of the new class is a copy of the full base info
+ # plus and update from parameter
+ clsinfo = baseinfo.copy()
+ clsinfo.update(info)
+
+ # The new items to update/set are those from the otherbase plus the new
+ info2add = obasesinfo.copy()
+ info2add.update(info)
+
+ clsmodule = sys.modules[cls.__module__]
+ newclsname = str(cls.__name__ + '_' + name) # str - Python 2/3 compat
+
+ # This loop makes sure that if the name has already been defined, a new
+ # unique name is found. A collision example is in the plotlines names
+ # definitions of bt.indicators.MACD and bt.talib.MACD. Both end up
+ # definining a MACD_pl_macd and this makes it impossible for the pickle
+ # module to send results over a multiprocessing channel
+ namecounter = 1
+ while hasattr(clsmodule, newclsname):
+ newclsname += str(namecounter)
+ namecounter += 1
+
+ newcls = type(newclsname, (cls,), {})
+ setattr(clsmodule, newclsname, newcls)
+
+ setattr(newcls, '_getpairsbase',
+ classmethod(lambda cls: baseinfo.copy()))
+ setattr(newcls, '_getpairs', classmethod(lambda cls: clsinfo.copy()))
+ setattr(newcls, '_getrecurse', classmethod(lambda cls: recurse))
+
+ for infoname, infoval in info2add.items():
+ if recurse:
+ recursecls = getattr(newcls, infoname, AutoInfoClass)
+ infoval = recursecls._derive(name + '_' + infoname,
+ infoval,
+ [])
+
+ setattr(newcls, infoname, infoval)
+
+ return newcls
+
+ def isdefault(self, pname):
+ return self._get(pname) == self._getkwargsdefault()[pname]
+
+ def notdefault(self, pname):
+ return self._get(pname) != self._getkwargsdefault()[pname]
+
+ def _get(self, name, default=None):
+ return getattr(self, name, default)
+
+ @classmethod
+ def _getkwargsdefault(cls):
+ return cls._getpairs()
+
+ @classmethod
+ def _getkeys(cls):
+ return cls._getpairs().keys()
+
+ @classmethod
+ def _getdefaults(cls):
+ return list(cls._getpairs().values())
+
+ @classmethod
+ def _getitems(cls):
+ return cls._getpairs().items()
+
+ @classmethod
+ def _gettuple(cls):
+ return tuple(cls._getpairs().items())
+
+ def _getkwargs(self, skip_=False):
+ l = [
+ (x, getattr(self, x))
+ for x in self._getkeys() if not skip_ or not x.startswith('_')]
+ return OrderedDict(l)
+
+ def _getvalues(self):
+ return [getattr(self, x) for x in self._getkeys()]
+
+ def __new__(cls, *args, **kwargs):
+ obj = super(AutoInfoClass, cls).__new__(cls, *args, **kwargs)
+
+ if cls._getrecurse():
+ for infoname in obj._getkeys():
+ recursecls = getattr(cls, infoname)
+ setattr(obj, infoname, recursecls())
+
+ return obj
+
+
+class MetaParams(MetaBase):
+ def __new__(meta, name, bases, dct):
+ # Remove params from class definition to avoid inheritance
+ # (and hence "repetition")
+ newparams = dct.pop('params', ())
+
+ packs = 'packages'
+ newpackages = tuple(dct.pop(packs, ())) # remove before creation
+
+ fpacks = 'frompackages'
+ fnewpackages = tuple(dct.pop(fpacks, ())) # remove before creation
+
+ # Create the new class - this pulls predefined "params"
+ cls = super(MetaParams, meta).__new__(meta, name, bases, dct)
+
+ # Pulls the param class out of it - default is the empty class
+ params = getattr(cls, 'params', AutoInfoClass)
+
+ # Pulls the packages class out of it - default is the empty class
+ packages = tuple(getattr(cls, packs, ()))
+ fpackages = tuple(getattr(cls, fpacks, ()))
+
+ # get extra (to the right) base classes which have a param attribute
+ morebasesparams = [x.params for x in bases[1:] if hasattr(x, 'params')]
+
+ # Get extra packages, add them to the packages and put all in the class
+ for y in [x.packages for x in bases[1:] if hasattr(x, packs)]:
+ packages += tuple(y)
+
+ for y in [x.frompackages for x in bases[1:] if hasattr(x, fpacks)]:
+ fpackages += tuple(y)
+
+ cls.packages = packages + newpackages
+ cls.frompackages = fpackages + fnewpackages
+
+ # Subclass and store the newly derived params class
+ cls.params = params._derive(name, newparams, morebasesparams)
+
+ return cls
+
+ def donew(cls, *args, **kwargs):
+ clsmod = sys.modules[cls.__module__]
+ # import specified packages
+ for p in cls.packages:
+ if isinstance(p, (tuple, list)):
+ p, palias = p
+ else:
+ palias = p
+
+ pmod = __import__(p)
+
+ plevels = p.split('.')
+ if p == palias and len(plevels) > 1: # 'os.path' not aliased
+ setattr(clsmod, pmod.__name__, pmod) # set 'os' in module
+
+ else: # aliased and/or dots
+ for plevel in plevels[1:]: # recurse down the mod
+ pmod = getattr(pmod, plevel)
+
+ setattr(clsmod, palias, pmod)
+
+ # import from specified packages - the 2nd part is a string or iterable
+ for p, frompackage in cls.frompackages:
+ if isinstance(frompackage, string_types):
+ frompackage = (frompackage,) # make it a tuple
+
+ for fp in frompackage:
+ if isinstance(fp, (tuple, list)):
+ fp, falias = fp
+ else:
+ fp, falias = fp, fp # assumed is string
+
+ # complain "not string" without fp (unicode vs bytes)
+ pmod = __import__(p, fromlist=[str(fp)])
+ pattr = getattr(pmod, fp)
+ setattr(clsmod, falias, pattr)
+ for basecls in cls.__bases__:
+ setattr(sys.modules[basecls.__module__], falias, pattr)
+
+ # Create params and set the values from the kwargs
+ params = cls.params()
+ for pname, pdef in cls.params._getitems():
+ setattr(params, pname, kwargs.pop(pname, pdef))
+
+ # Create the object and set the params in place
+ _obj, args, kwargs = super(MetaParams, cls).donew(*args, **kwargs)
+ _obj.params = params
+ _obj.p = params # shorter alias
+
+ # Parameter values have now been set before __init__
+ return _obj, args, kwargs
+
+
+class ParamsBase(with_metaclass(MetaParams, object)):
+ pass # stub to allow easy subclassing without metaclasses
+
+
+class ItemCollection(object):
+ '''
+ Holds a collection of items that can be reached by
+
+ - Index
+ - Name (if set in the append operation)
+ '''
+ def __init__(self):
+ self._items = list()
+ self._names = list()
+
+ def __len__(self):
+ return len(self._items)
+
+ def append(self, item, name=None):
+ setattr(self, name, item)
+ self._items.append(item)
+ if name:
+ self._names.append(name)
+
+ def __getitem__(self, key):
+ return self._items[key]
+
+ def getnames(self):
+ return self._names
+
+ def getitems(self):
+ return zip(self._names, self._items)
+
+ def getbyname(self, name):
+ idx = self._names.index(name)
+ return self._items[idx]
diff --git a/backtrader/source/backtrader/observer.py b/backtrader/source/backtrader/observer.py
new file mode 100644
index 0000000000000000000000000000000000000000..5b41be65b173614a4529d7b79e86f713b1b0111f
--- /dev/null
+++ b/backtrader/source/backtrader/observer.py
@@ -0,0 +1,68 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from .lineiterator import LineIterator, ObserverBase, StrategyBase
+from backtrader.utils.py3 import with_metaclass
+
+
+class MetaObserver(ObserverBase.__class__):
+ def donew(cls, *args, **kwargs):
+ _obj, args, kwargs = super(MetaObserver, cls).donew(*args, **kwargs)
+ _obj._analyzers = list() # keep children analyzers
+
+ return _obj, args, kwargs # return the instantiated object and args
+
+ def dopreinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaObserver, cls).dopreinit(_obj, *args, **kwargs)
+
+ if _obj._stclock: # Change clock if strategy wide observer
+ _obj._clock = _obj._owner
+
+ return _obj, args, kwargs
+
+
+class Observer(with_metaclass(MetaObserver, ObserverBase)):
+ _stclock = False
+
+ _OwnerCls = StrategyBase
+ _ltype = LineIterator.ObsType
+
+ csv = True
+
+ plotinfo = dict(plot=False, subplot=True)
+
+ # An Observer is ideally always observing and that' why prenext calls
+ # next. The behaviour can be overriden by subclasses
+ def prenext(self):
+ self.next()
+
+ def _register_analyzer(self, analyzer):
+ self._analyzers.append(analyzer)
+
+ def _start(self):
+ self.start()
+
+ def start(self):
+ pass
diff --git a/backtrader/source/backtrader/observers/__init__.py b/backtrader/source/backtrader/observers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..48690e57fc3f3cb6003a1ab2cddeb197bf4fc58f
--- /dev/null
+++ b/backtrader/source/backtrader/observers/__init__.py
@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+# The modules below should/must define __all__ with the Indicator objects
+# of prepend an "_" (underscore) to private classes/variables
+
+from .broker import *
+from .buysell import *
+from .trades import *
+from .drawdown import *
+from .timereturn import *
+from .benchmark import *
+
+from .logreturns import *
diff --git a/backtrader/source/backtrader/observers/benchmark.py b/backtrader/source/backtrader/observers/benchmark.py
new file mode 100644
index 0000000000000000000000000000000000000000..042f8c02704cf22b804671599fd65d9cc638375b
--- /dev/null
+++ b/backtrader/source/backtrader/observers/benchmark.py
@@ -0,0 +1,119 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+from . import TimeReturn
+
+
+class Benchmark(TimeReturn):
+ '''This observer stores the *returns* of the strategy and the *return* of a
+ reference asset which is one of the datas passed to the system.
+
+ Params:
+
+ - ``timeframe`` (default: ``None``)
+ If ``None`` then the complete return over the entire backtested period
+ will be reported
+
+ - ``compression`` (default: ``None``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ - ``data`` (default: ``None``)
+
+ Reference asset to track to allow for comparison.
+
+ .. note:: this data must have been added to a ``cerebro`` instance with
+ ``addata``, ``resampledata`` or ``replaydata``.
+
+
+ - ``_doprenext`` (default: ``False``)
+
+ Benchmarking will take place from the point at which the strategy kicks
+ in (i.e.: when the minimum period of the strategy has been met).
+
+ Setting this to ``True`` will record benchmarking values from the
+ starting point of the data feeds
+
+ - ``firstopen`` (default: ``False``)
+
+ Keepint it as ``False`` ensures that the 1st comparison point between
+ the value and the benchmark starts at 0%, because the benchmark will
+ not use its opening price.
+
+ See the ``TimeReturn`` analyzer reference for a full explanation of the
+ meaning of the parameter
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ Remember that at any moment of a ``run`` the current values can be checked
+ by looking at the *lines* by name at index ``0``.
+
+ '''
+ _stclock = True
+
+ lines = ('benchmark',)
+ plotlines = dict(benchmark=dict(_name='Benchmark'))
+
+ params = (
+ ('data', None),
+ ('_doprenext', False),
+ # Set to false to ensure the asset is measured at 0% in the 1st tick
+ ('firstopen', False),
+ ('fund', None)
+ )
+
+ def _plotlabel(self):
+ labels = super(Benchmark, self)._plotlabel()
+ labels.append(self.p.data._name)
+ return labels
+
+ def __init__(self):
+ if self.p.data is None: # use the 1st data in the system if none given
+ self.p.data = self.data0
+
+ super(Benchmark, self).__init__() # treturn including data parameter
+ # Create a time return object without the data
+ kwargs = self.p._getkwargs()
+ kwargs.update(data=None) # to create a return for the stratey
+ t = self._owner._addanalyzer_slave(bt.analyzers.TimeReturn, **kwargs)
+
+ # swap for consistency
+ self.treturn, self.tbench = t, self.treturn
+
+ def next(self):
+ super(Benchmark, self).next()
+ self.lines.benchmark[0] = self.tbench.rets.get(self.treturn.dtkey,
+ float('NaN'))
+
+ def prenext(self):
+ if self.p._doprenext:
+ super(TimeReturn, self).prenext()
diff --git a/backtrader/source/backtrader/observers/broker.py b/backtrader/source/backtrader/observers/broker.py
new file mode 100644
index 0000000000000000000000000000000000000000..85b42733b9784b5758a495ec9e0ec36f6d0ec7f8
--- /dev/null
+++ b/backtrader/source/backtrader/observers/broker.py
@@ -0,0 +1,144 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from .. import Observer
+
+
+class Cash(Observer):
+ '''This observer keeps track of the current amount of cash in the broker
+
+ Params: None
+ '''
+ _stclock = True
+
+ lines = ('cash',)
+
+ plotinfo = dict(plot=True, subplot=True)
+
+ def next(self):
+ self.lines[0][0] = self._owner.broker.getcash()
+
+
+class Value(Observer):
+ '''This observer keeps track of the current portfolio value in the broker
+ including the cash
+
+ Params:
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ '''
+ _stclock = True
+
+ params = (
+ ('fund', None),
+ )
+
+ lines = ('value',)
+
+ plotinfo = dict(plot=True, subplot=True)
+
+ def start(self):
+ if self.p.fund is None:
+ self._fundmode = self._owner.broker.fundmode
+ else:
+ self._fundmode = self.p.fund
+
+ def next(self):
+ if not self._fundmode:
+ self.lines[0][0] = self._owner.broker.getvalue()
+ else:
+ self.lines[0][0] = self._owner.broker.fundvalue
+
+
+class Broker(Observer):
+ '''This observer keeps track of the current cash amount and portfolio value in
+ the broker (including the cash)
+
+ Params: None
+ '''
+ _stclock = True
+
+ params = (
+ ('fund', None),
+ )
+
+ alias = ('CashValue',)
+ lines = ('cash', 'value')
+
+ plotinfo = dict(plot=True, subplot=True)
+
+ def start(self):
+ if self.p.fund is None:
+ self._fundmode = self._owner.broker.fundmode
+ else:
+ self._fundmode = self.p.fund
+
+ if self._fundmode:
+ self.plotlines.cash._plotskip = True
+ self.plotlines.value._name = 'FundValue'
+
+ def next(self):
+ if not self._fundmode:
+ self.lines.value[0] = value = self._owner.broker.getvalue()
+ self.lines.cash[0] = self._owner.broker.getcash()
+ else:
+ self.lines.value[0] = self._owner.broker.fundvalue
+
+
+class FundValue(Observer):
+ '''This observer keeps track of the current fund-like value
+
+ Params: None
+ '''
+ _stclock = True
+
+ alias = ('FundShareValue', 'FundVal')
+ lines = ('fundval',)
+
+ plotinfo = dict(plot=True, subplot=True)
+
+ def next(self):
+ self.lines.fundval[0] = self._owner.broker.fundvalue
+
+
+class FundShares(Observer):
+ '''This observer keeps track of the current fund-like shares
+
+ Params: None
+ '''
+ _stclock = True
+
+ lines = ('fundshares',)
+
+ plotinfo = dict(plot=True, subplot=True)
+
+ def next(self):
+ self.lines.fundshares[0] = self._owner.broker.fundshares
diff --git a/backtrader/source/backtrader/observers/buysell.py b/backtrader/source/backtrader/observers/buysell.py
new file mode 100644
index 0000000000000000000000000000000000000000..2fe067b599c72730b44ba20f09fc78ff8e42b713
--- /dev/null
+++ b/backtrader/source/backtrader/observers/buysell.py
@@ -0,0 +1,118 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import math
+
+from ..observer import Observer
+
+
+class BuySell(Observer):
+ '''
+ This observer keeps track of the individual buy/sell orders (individual
+ executions) and will plot them on the chart along the data around the
+ execution price level
+
+ Params:
+ - ``barplot`` (default: ``False``) Plot buy signals below the minimum and
+ sell signals above the maximum.
+
+ If ``False`` it will plot on the average price of executions during a
+ bar
+
+ - ``bardist`` (default: ``0.015`` 1.5%) Distance to max/min when
+ ``barplot`` is ``True``
+ '''
+ lines = ('buy', 'sell',)
+
+ plotinfo = dict(plot=True, subplot=False, plotlinelabels=True)
+ plotlines = dict(
+ buy=dict(marker='^', markersize=8.0, color='lime',
+ fillstyle='full', ls=''),
+ sell=dict(marker='v', markersize=8.0, color='red',
+ fillstyle='full', ls='')
+ )
+
+ params = (
+ ('barplot', False), # plot above/below max/min for clarity in bar plot
+ ('bardist', 0.015), # distance to max/min in absolute perc
+ )
+
+ def next(self):
+ buy = list()
+ sell = list()
+
+ for order in self._owner._orderspending:
+ if order.data is not self.data or not order.executed.size:
+ continue
+
+ if order.isbuy():
+ buy.append(order.executed.price)
+ else:
+ sell.append(order.executed.price)
+
+ # Take into account replay ... something could already be in there
+ # Write down the average buy/sell price
+
+ # BUY
+ curbuy = self.lines.buy[0]
+ if curbuy != curbuy: # NaN
+ curbuy = 0.0
+ self.curbuylen = curbuylen = 0
+ else:
+ curbuylen = self.curbuylen
+
+ buyops = (curbuy + math.fsum(buy))
+ buylen = curbuylen + len(buy)
+
+ value = buyops / float(buylen or 'NaN')
+ if not self.p.barplot:
+ self.lines.buy[0] = value
+ elif value == value: # Not NaN
+ pbuy = self.data.low[0] * (1 - self.p.bardist)
+ self.lines.buy[0] = pbuy
+
+ # Update buylen values
+ curbuy = buyops
+ self.curbuylen = buylen
+
+ # SELL
+ cursell = self.lines.sell[0]
+ if cursell != cursell: # NaN
+ cursell = 0.0
+ self.curselllen = curselllen = 0
+ else:
+ curselllen = self.curselllen
+
+ sellops = (cursell + math.fsum(sell))
+ selllen = curselllen + len(sell)
+
+ value = sellops / float(selllen or 'NaN')
+ if not self.p.barplot:
+ self.lines.sell[0] = value
+ elif value == value: # Not NaN
+ psell = self.data.high[0] * (1 + self.p.bardist)
+ self.lines.sell[0] = psell
+
+ # Update selllen values
+ cursell = sellops
+ self.curselllen = selllen
diff --git a/backtrader/source/backtrader/observers/drawdown.py b/backtrader/source/backtrader/observers/drawdown.py
new file mode 100644
index 0000000000000000000000000000000000000000..e91ba295f24f30872d48061b91c39f796a85e6df
--- /dev/null
+++ b/backtrader/source/backtrader/observers/drawdown.py
@@ -0,0 +1,119 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+from .. import Observer
+
+
+class DrawDown(Observer):
+ '''This observer keeps track of the current drawdown level (plotted) and
+ the maxdrawdown (not plotted) levels
+
+ Params:
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ '''
+ _stclock = True
+
+ params = (
+ ('fund', None),
+ )
+
+ lines = ('drawdown', 'maxdrawdown',)
+
+ plotinfo = dict(plot=True, subplot=True)
+
+ plotlines = dict(maxdrawdown=dict(_plotskip=True,))
+
+ def __init__(self):
+ kwargs = self.p._getkwargs()
+ self._dd = self._owner._addanalyzer_slave(bt.analyzers.DrawDown,
+ **kwargs)
+
+ def next(self):
+ self.lines.drawdown[0] = self._dd.rets.drawdown # update drawdown
+ self.lines.maxdrawdown[0] = self._dd.rets.max.drawdown # update max
+
+
+class DrawDownLength(Observer):
+ '''This observer keeps track of the current drawdown length (plotted) and
+ the drawdown max length (not plotted)
+
+ Params: None
+ '''
+ _stclock = True
+
+ lines = ('len', 'maxlen',)
+
+ plotinfo = dict(plot=True, subplot=True)
+
+ plotlines = dict(maxlength=dict(_plotskip=True,))
+
+ def __init__(self):
+ self._dd = self._owner._addanalyzer_slave(bt.analyzers.DrawDown)
+
+ def next(self):
+ self.lines.len[0] = self._dd.rets.len # update drawdown length
+ self.lines.maxlen[0] = self._dd.rets.max.len # update max length
+
+
+class DrawDown_Old(Observer):
+ '''This observer keeps track of the current drawdown level (plotted) and
+ the maxdrawdown (not plotted) levels
+
+ Params: None
+ '''
+ _stclock = True
+
+ lines = ('drawdown', 'maxdrawdown',)
+
+ plotinfo = dict(plot=True, subplot=True)
+
+ plotlines = dict(maxdrawdown=dict(_plotskip='True',))
+
+ def __init__(self):
+ super(DrawDown_Old, self).__init__()
+
+ self.maxdd = 0.0
+ self.peak = float('-inf')
+
+ def next(self):
+ value = self._owner.broker.getvalue()
+
+ # update the maximum seen peak
+ if value > self.peak:
+ self.peak = value
+
+ # calculate the current drawdown
+ self.lines.drawdown[0] = dd = 100.0 * (self.peak - value) / self.peak
+
+ # update the maxdrawdown if needed
+ self.lines.maxdrawdown[0] = self.maxdd = max(self.maxdd, dd)
diff --git a/backtrader/source/backtrader/observers/logreturns.py b/backtrader/source/backtrader/observers/logreturns.py
new file mode 100644
index 0000000000000000000000000000000000000000..e4e9e7bd3aeb3c30693a6bd49e71ee6963bf68d7
--- /dev/null
+++ b/backtrader/source/backtrader/observers/logreturns.py
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import backtrader as bt
+
+
+__all__ = ['LogReturns', 'LogReturns2']
+
+
+class LogReturns(bt.Observer):
+ '''This observer stores the *log returns* of the strategy or a
+
+ Params:
+
+ - ``timeframe`` (default: ``None``)
+ If ``None`` then the complete return over the entire backtested period
+ will be reported
+
+ Pass ``TimeFrame.NoTimeFrame`` to consider the entire dataset with no
+ time constraints
+
+ - ``compression`` (default: ``None``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ Remember that at any moment of a ``run`` the current values can be checked
+ by looking at the *lines* by name at index ``0``.
+
+ '''
+ _stclock = True
+
+ lines = ('logret1',)
+ plotinfo = dict(plot=True, subplot=True)
+
+ params = (
+ ('timeframe', None),
+ ('compression', None),
+ ('fund', None),
+ )
+
+ def _plotlabel(self):
+ return [bt.TimeFrame.getname(self.p.timeframe, self.p.compression),
+ str(self.p.compression or 1)]
+
+ def __init__(self):
+ self.logret1 = self._owner._addanalyzer_slave(
+ bt.analyzers.LogReturnsRolling,
+ data=self.data0, **self.p._getkwargs())
+
+ def next(self):
+ self.lines.logret1[0] = self.logret1.rets[self.logret1.dtkey]
+
+
+class LogReturns2(LogReturns):
+ '''Extends the observer LogReturns to show two instruments'''
+ lines = ('logret2',)
+
+ def __init__(self):
+ super(LogReturns2, self).__init__()
+
+ self.logret2 = self._owner._addanalyzer_slave(
+ bt.analyzers.LogReturnsRolling,
+ data=self.data1, **self.p._getkwargs())
+
+ def next(self):
+ super(LogReturns2, self).next()
+ self.lines.logret2[0] = self.logret2.rets[self.logret2.dtkey]
diff --git a/backtrader/source/backtrader/observers/timereturn.py b/backtrader/source/backtrader/observers/timereturn.py
new file mode 100644
index 0000000000000000000000000000000000000000..49503d599971be8fecc3231ec05c0537c1a05dc2
--- /dev/null
+++ b/backtrader/source/backtrader/observers/timereturn.py
@@ -0,0 +1,89 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import calendar
+import datetime
+
+import backtrader as bt
+from .. import Observer, TimeFrame
+
+from backtrader.utils.py3 import MAXINT
+
+
+class TimeReturn(Observer):
+ '''This observer stores the *returns* of the strategy.
+
+ Params:
+
+ - ``timeframe`` (default: ``None``)
+ If ``None`` then the complete return over the entire backtested period
+ will be reported
+
+ Pass ``TimeFrame.NoTimeFrame`` to consider the entire dataset with no
+ time constraints
+
+ - ``compression`` (default: ``None``)
+
+ Only used for sub-day timeframes to for example work on an hourly
+ timeframe by specifying "TimeFrame.Minutes" and 60 as compression
+
+ - ``fund`` (default: ``None``)
+
+ If ``None`` the actual mode of the broker (fundmode - True/False) will
+ be autodetected to decide if the returns are based on the total net
+ asset value or on the fund value. See ``set_fundmode`` in the broker
+ documentation
+
+ Set it to ``True`` or ``False`` for a specific behavior
+
+ Remember that at any moment of a ``run`` the current values can be checked
+ by looking at the *lines* by name at index ``0``.
+
+ '''
+ _stclock = True
+
+ lines = ('timereturn',)
+ plotinfo = dict(plot=True, subplot=True)
+ plotlines = dict(timereturn=dict(_name='Return'))
+
+ params = (
+ ('timeframe', None),
+ ('compression', None),
+ ('fund', None),
+ )
+
+ def _plotlabel(self):
+ return [
+ # Use the final tf/comp values calculated by the return analyzer
+ TimeFrame.getname(self.treturn.timeframe,
+ self.treturn.compression),
+ str(self.treturn.compression)
+ ]
+
+ def __init__(self):
+ self.treturn = self._owner._addanalyzer_slave(bt.analyzers.TimeReturn,
+ **self.p._getkwargs())
+
+ def next(self):
+ self.lines.timereturn[0] = self.treturn.rets.get(self.treturn.dtkey,
+ float('NaN'))
diff --git a/backtrader/source/backtrader/observers/trades.py b/backtrader/source/backtrader/observers/trades.py
new file mode 100644
index 0000000000000000000000000000000000000000..144cf03fbe726bac71ac01505ead152cdb34f2f3
--- /dev/null
+++ b/backtrader/source/backtrader/observers/trades.py
@@ -0,0 +1,162 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import uuid
+
+from .. import Observer
+from ..utils.py3 import with_metaclass
+
+from ..trade import Trade
+
+
+class Trades(Observer):
+ '''This observer keeps track of full trades and plot the PnL level achieved
+ when a trade is closed.
+
+ A trade is open when a position goes from 0 (or crossing over 0) to X and
+ is then closed when it goes back to 0 (or crosses over 0 in the opposite
+ direction)
+
+ Params:
+ - ``pnlcomm`` (def: ``True``)
+
+ Show net/profit and loss, i.e.: after commission. If set to ``False``
+ if will show the result of trades before commission
+ '''
+ _stclock = True
+
+ lines = ('pnlplus', 'pnlminus')
+
+ params = dict(pnlcomm=True)
+
+ plotinfo = dict(plot=True, subplot=True,
+ plotname='Trades - Net Profit/Loss',
+ plotymargin=0.10,
+ plothlines=[0.0])
+
+ plotlines = dict(
+ pnlplus=dict(_name='Positive',
+ ls='', marker='o', color='blue',
+ markersize=8.0, fillstyle='full'),
+ pnlminus=dict(_name='Negative',
+ ls='', marker='o', color='red',
+ markersize=8.0, fillstyle='full')
+ )
+
+ def __init__(self):
+
+ self.trades = 0
+
+ self.trades_long = 0
+ self.trades_short = 0
+
+ self.trades_plus = 0
+ self.trades_minus = 0
+
+ self.trades_plus_gross = 0
+ self.trades_minus_gross = 0
+
+ self.trades_win = 0
+ self.trades_win_max = 0
+ self.trades_win_min = 0
+
+ self.trades_loss = 0
+ self.trades_loss_max = 0
+ self.trades_loss_min = 0
+
+ self.trades_length = 0
+ self.trades_length_max = 0
+ self.trades_length_min = 0
+
+ def next(self):
+ for trade in self._owner._tradespending:
+ if trade.data not in self.ddatas:
+ continue
+
+ if not trade.isclosed:
+ continue
+
+ pnl = trade.pnlcomm if self.p.pnlcomm else trade.pnl
+
+ if pnl >= 0.0:
+ self.lines.pnlplus[0] = pnl
+ else:
+ self.lines.pnlminus[0] = pnl
+
+
+class MetaDataTrades(Observer.__class__):
+ def donew(cls, *args, **kwargs):
+ _obj, args, kwargs = super(MetaDataTrades, cls).donew(*args, **kwargs)
+
+ # Recreate the lines dynamically
+ if _obj.params.usenames:
+ lnames = tuple(x._name for x in _obj.datas)
+ else:
+ lnames = tuple('data{}'.format(x) for x in range(len(_obj.datas)))
+
+ # Generate a new lines class
+ linescls = cls.lines._derive(uuid.uuid4().hex, lnames, 0, ())
+
+ # Instantiate lines
+ _obj.lines = linescls()
+
+ # Generate plotlines info
+ markers = ['o', 'v', '^', '<', '>', '1', '2', '3', '4', '8', 's', 'p',
+ '*', 'h', 'H', '+', 'x', 'D', 'd']
+
+ colors = ['b', 'g', 'r', 'c', 'm', 'y', 'k', 'b', 'g', 'r', 'c', 'm',
+ 'y', 'k', 'b', 'g', 'r', 'c', 'm']
+
+ basedict = dict(ls='', markersize=8.0, fillstyle='full')
+
+ plines = dict()
+ for lname, marker, color in zip(lnames, markers, colors):
+ plines[lname] = d = basedict.copy()
+ d.update(marker=marker, color=color)
+
+ plotlines = cls.plotlines._derive(
+ uuid.uuid4().hex, plines, [], recurse=True)
+ _obj.plotlines = plotlines()
+
+ return _obj, args, kwargs # return the instantiated object and args
+
+
+class DataTrades(with_metaclass(MetaDataTrades, Observer)):
+ _stclock = True
+
+ params = (('usenames', True),)
+
+ plotinfo = dict(plot=True, subplot=True, plothlines=[0.0],
+ plotymargin=0.10)
+
+ plotlines = dict()
+
+ def next(self):
+ for trade in self._owner._tradespending:
+ if trade.data not in self.ddatas:
+ continue
+
+ if not trade.isclosed:
+ continue
+
+ self.lines[trade.data._id - 1][0] = trade.pnl
diff --git a/backtrader/source/backtrader/order.py b/backtrader/source/backtrader/order.py
new file mode 100644
index 0000000000000000000000000000000000000000..4a68346cd940b06eb2621f147c04f88263ef8f7f
--- /dev/null
+++ b/backtrader/source/backtrader/order.py
@@ -0,0 +1,641 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+from copy import copy
+import datetime
+import itertools
+
+from .utils.py3 import range, with_metaclass, iteritems
+
+from .metabase import MetaParams
+from .utils import AutoOrderedDict
+
+
+class OrderExecutionBit(object):
+ '''
+ Intended to hold information about order execution. A "bit" does not
+ determine if the order has been fully/partially executed, it just holds
+ information.
+
+ Member Attributes:
+
+ - dt: datetime (float) execution time
+ - size: how much was executed
+ - price: execution price
+ - closed: how much of the execution closed an existing postion
+ - opened: how much of the execution opened a new position
+ - openedvalue: market value of the "opened" part
+ - closedvalue: market value of the "closed" part
+ - closedcomm: commission for the "closed" part
+ - openedcomm: commission for the "opened" part
+
+ - value: market value for the entire bit size
+ - comm: commission for the entire bit execution
+ - pnl: pnl generated by this bit (if something was closed)
+
+ - psize: current open position size
+ - pprice: current open position price
+
+ '''
+
+ def __init__(self,
+ dt=None, size=0, price=0.0,
+ closed=0, closedvalue=0.0, closedcomm=0.0,
+ opened=0, openedvalue=0.0, openedcomm=0.0,
+ pnl=0.0,
+ psize=0, pprice=0.0):
+
+ self.dt = dt
+ self.size = size
+ self.price = price
+
+ self.closed = closed
+ self.opened = opened
+ self.closedvalue = closedvalue
+ self.openedvalue = openedvalue
+ self.closedcomm = closedcomm
+ self.openedcomm = openedcomm
+
+ self.value = closedvalue + openedvalue
+ self.comm = closedcomm + openedcomm
+ self.pnl = pnl
+
+ self.psize = psize
+ self.pprice = pprice
+
+
+class OrderData(object):
+ '''
+ Holds actual order data for Creation and Execution.
+
+ In the case of Creation the request made and in the case of Execution the
+ actual outcome.
+
+ Member Attributes:
+
+ - exbits : iterable of OrderExecutionBits for this OrderData
+
+ - dt: datetime (float) creation/execution time
+ - size: requested/executed size
+ - price: execution price
+ Note: if no price is given and no pricelimite is given, the closing
+ price at the time or order creation will be used as reference
+ - pricelimit: holds pricelimit for StopLimit (which has trigger first)
+ - trailamount: absolute price distance in trailing stops
+ - trailpercent: percentage price distance in trailing stops
+
+ - value: market value for the entire bit size
+ - comm: commission for the entire bit execution
+ - pnl: pnl generated by this bit (if something was closed)
+ - margin: margin incurred by the Order (if any)
+
+ - psize: current open position size
+ - pprice: current open position price
+
+ '''
+ # According to the docs, collections.deque is thread-safe with appends at
+ # both ends, there will be no pop (nowhere) and therefore to know which the
+ # new exbits are two indices are needed. At time of cloning (__copy__) the
+ # indices can be updated to match the previous end, and the new end
+ # (len(exbits)
+ # Example: start 0, 0 -> islice(exbits, 0, 0) -> []
+ # One added -> copy -> updated 0, 1 -> islice(exbits, 0, 1) -> [1 elem]
+ # Other added -> copy -> updated 1, 2 -> islice(exbits, 1, 2) -> [1 elem]
+ # "add" and "__copy__" happen always in the same thread (with all current
+ # implementations) and therefore no append will happen during a copy and
+ # the len of the exbits can be queried with no concerns about another
+ # thread making an append and with no need for a lock
+
+ def __init__(self, dt=None, size=0, price=0.0, pricelimit=0.0, remsize=0,
+ pclose=0.0, trailamount=0.0, trailpercent=0.0):
+
+ self.pclose = pclose
+ self.exbits = collections.deque() # for historical purposes
+ self.p1, self.p2 = 0, 0 # indices to pending notifications
+
+ self.dt = dt
+ self.size = size
+ self.remsize = remsize
+ self.price = price
+ self.pricelimit = pricelimit
+ self.trailamount = trailamount
+ self.trailpercent = trailpercent
+
+ if not pricelimit:
+ # if no pricelimit is given, use the given price
+ self.pricelimit = self.price
+
+ if pricelimit and not price:
+ # price must always be set if pricelimit is set ...
+ self.price = pricelimit
+
+ self.plimit = pricelimit
+
+ self.value = 0.0
+ self.comm = 0.0
+ self.margin = None
+ self.pnl = 0.0
+
+ self.psize = 0
+ self.pprice = 0
+
+ def _getplimit(self):
+ return self._plimit
+
+ def _setplimit(self, val):
+ self._plimit = val
+
+ plimit = property(_getplimit, _setplimit)
+
+ def __len__(self):
+ return len(self.exbits)
+
+ def __getitem__(self, key):
+ return self.exbits[key]
+
+ def add(self, dt, size, price,
+ closed=0, closedvalue=0.0, closedcomm=0.0,
+ opened=0, openedvalue=0.0, openedcomm=0.0,
+ pnl=0.0,
+ psize=0, pprice=0.0):
+
+ self.addbit(
+ OrderExecutionBit(dt, size, price,
+ closed, closedvalue, closedcomm,
+ opened, openedvalue, openedcomm, pnl,
+ psize, pprice))
+
+ def addbit(self, exbit):
+ # Stores an ExecutionBit and recalculates own values from ExBit
+ self.exbits.append(exbit)
+
+ self.remsize -= exbit.size
+
+ self.dt = exbit.dt
+ oldvalue = self.size * self.price
+ newvalue = exbit.size * exbit.price
+ self.size += exbit.size
+ self.price = (oldvalue + newvalue) / self.size
+ self.value += exbit.value
+ self.comm += exbit.comm
+ self.pnl += exbit.pnl
+ self.psize = exbit.psize
+ self.pprice = exbit.pprice
+
+ def getpending(self):
+ return list(self.iterpending())
+
+ def iterpending(self):
+ return itertools.islice(self.exbits, self.p1, self.p2)
+
+ def markpending(self):
+ # rebuild the indices to mark which exbits are pending in clone
+ self.p1, self.p2 = self.p2, len(self.exbits)
+
+ def clone(self):
+ self.markpending()
+ obj = copy(self)
+ return obj
+
+
+class OrderBase(with_metaclass(MetaParams, object)):
+ params = (
+ ('owner', None), ('data', None),
+ ('size', None), ('price', None), ('pricelimit', None),
+ ('exectype', None), ('valid', None), ('tradeid', 0), ('oco', None),
+ ('trailamount', None), ('trailpercent', None),
+ ('parent', None), ('transmit', True),
+ ('simulated', False),
+ # To support historical order evaluation
+ ('histnotify', False),
+ )
+
+ DAY = datetime.timedelta() # constant for DAY order identification
+
+ # Time Restrictions for orders
+ T_Close, T_Day, T_Date, T_None = range(4)
+
+ # Volume Restrictions for orders
+ V_None = range(1)
+
+ (Market, Close, Limit, Stop, StopLimit, StopTrail, StopTrailLimit,
+ Historical) = range(8)
+ ExecTypes = ['Market', 'Close', 'Limit', 'Stop', 'StopLimit', 'StopTrail',
+ 'StopTrailLimit', 'Historical']
+
+ OrdTypes = ['Buy', 'Sell']
+ Buy, Sell = range(2)
+
+ Created, Submitted, Accepted, Partial, Completed, \
+ Canceled, Expired, Margin, Rejected = range(9)
+
+ Cancelled = Canceled # alias
+
+ Status = [
+ 'Created', 'Submitted', 'Accepted', 'Partial', 'Completed',
+ 'Canceled', 'Expired', 'Margin', 'Rejected',
+ ]
+
+ refbasis = itertools.count(1) # for a unique identifier per order
+
+ def _getplimit(self):
+ return self._plimit
+
+ def _setplimit(self, val):
+ self._plimit = val
+
+ plimit = property(_getplimit, _setplimit)
+
+ def __getattr__(self, name):
+ # Return attr from params if not found in order
+ return getattr(self.params, name)
+
+ def __setattribute__(self, name, value):
+ if hasattr(self.params, name):
+ setattr(self.params, name, value)
+ else:
+ super(Order, self).__setattribute__(name, value)
+
+ def __str__(self):
+ tojoin = list()
+ tojoin.append('Ref: {}'.format(self.ref))
+ tojoin.append('OrdType: {}'.format(self.ordtype))
+ tojoin.append('OrdType: {}'.format(self.ordtypename()))
+ tojoin.append('Status: {}'.format(self.status))
+ tojoin.append('Status: {}'.format(self.getstatusname()))
+ tojoin.append('Size: {}'.format(self.size))
+ tojoin.append('Price: {}'.format(self.price))
+ tojoin.append('Price Limit: {}'.format(self.pricelimit))
+ tojoin.append('TrailAmount: {}'.format(self.trailamount))
+ tojoin.append('TrailPercent: {}'.format(self.trailpercent))
+ tojoin.append('ExecType: {}'.format(self.exectype))
+ tojoin.append('ExecType: {}'.format(self.getordername()))
+ tojoin.append('CommInfo: {}'.format(self.comminfo))
+ tojoin.append('End of Session: {}'.format(self.dteos))
+ tojoin.append('Info: {}'.format(self.info))
+ tojoin.append('Broker: {}'.format(self.broker))
+ tojoin.append('Alive: {}'.format(self.alive()))
+
+ return '\n'.join(tojoin)
+
+ def __init__(self):
+ self.ref = next(self.refbasis)
+ self.broker = None
+ self.info = AutoOrderedDict()
+ self.comminfo = None
+ self.triggered = False
+
+ self._active = self.parent is None
+ self.status = Order.Created
+
+ self.plimit = self.p.pricelimit # alias via property
+
+ if self.exectype is None:
+ self.exectype = Order.Market
+
+ if not self.isbuy():
+ self.size = -self.size
+
+ # Set a reference price if price is not set using
+ # the close price
+ pclose = self.data.close[0] if not self.p.simulated else self.price
+ price = pclose if not self.price and not self.pricelimit else self.price
+
+ dcreated = self.data.datetime[0] if not self.p.simulated else 0.0
+ self.created = OrderData(dt=dcreated,
+ size=self.size,
+ price=price,
+ pricelimit=self.pricelimit,
+ pclose=pclose,
+ trailamount=self.trailamount,
+ trailpercent=self.trailpercent)
+
+ # Adjust price in case a trailing limit is wished
+ if self.exectype in [Order.StopTrail, Order.StopTrailLimit]:
+ self._limitoffset = self.created.price - self.created.pricelimit
+ price = self.created.price
+ self.created.price = float('inf' * self.isbuy() or '-inf')
+ self.trailadjust(price)
+ else:
+ self._limitoffset = 0.0
+
+ self.executed = OrderData(remsize=self.size)
+ self.position = 0
+
+ if isinstance(self.valid, datetime.date):
+ # comparison will later be done against the raw datetime[0] value
+ self.valid = self.data.date2num(self.valid)
+ elif isinstance(self.valid, datetime.timedelta):
+ # offset with regards to now ... get utcnow + offset
+ # when reading with date2num ... it will be automatically localized
+ if self.valid == self.DAY:
+ valid = datetime.datetime.combine(
+ self.data.datetime.date(), datetime.time(23, 59, 59, 9999))
+ else:
+ valid = self.data.datetime.datetime() + self.valid
+
+ self.valid = self.data.date2num(valid)
+
+ elif self.valid is not None:
+ if not self.valid: # avoid comparing None and 0
+ valid = datetime.datetime.combine(
+ self.data.datetime.date(), datetime.time(23, 59, 59, 9999))
+ else: # assume float
+ valid = self.data.datetime[0] + self.valid
+
+ if not self.p.simulated:
+ # provisional end-of-session
+ # get next session end
+ dtime = self.data.datetime.datetime(0)
+ session = self.data.p.sessionend
+ dteos = dtime.replace(hour=session.hour, minute=session.minute,
+ second=session.second,
+ microsecond=session.microsecond)
+
+ if dteos < dtime:
+ # eos before current time ... no ... must be at least next day
+ dteos += datetime.timedelta(days=1)
+
+ self.dteos = self.data.date2num(dteos)
+ else:
+ self.dteos = 0.0
+
+ def clone(self):
+ # status, triggered and executed are the only moving parts in order
+ # status and triggered are covered by copy
+ # executed has to be replaced with an intelligent clone of itself
+ obj = copy(self)
+ obj.executed = self.executed.clone()
+ return obj # status could change in next to completed
+
+ def getstatusname(self, status=None):
+ '''Returns the name for a given status or the one of the order'''
+ return self.Status[self.status if status is None else status]
+
+ def getordername(self, exectype=None):
+ '''Returns the name for a given exectype or the one of the order'''
+ return self.ExecTypes[self.exectype if exectype is None else exectype]
+
+ @classmethod
+ def ExecType(cls, exectype):
+ return getattr(cls, exectype)
+
+ def ordtypename(self, ordtype=None):
+ '''Returns the name for a given ordtype or the one of the order'''
+ return self.OrdTypes[self.ordtype if ordtype is None else ordtype]
+
+ def active(self):
+ return self._active
+
+ def activate(self):
+ self._active = True
+
+ def alive(self):
+ '''Returns True if the order is in a status in which it can still be
+ executed
+ '''
+ return self.status in [Order.Created, Order.Submitted,
+ Order.Partial, Order.Accepted]
+
+ def addcomminfo(self, comminfo):
+ '''Stores a CommInfo scheme associated with the asset'''
+ self.comminfo = comminfo
+
+ def addinfo(self, **kwargs):
+ '''Add the keys, values of kwargs to the internal info dictionary to
+ hold custom information in the order
+ '''
+ for key, val in iteritems(kwargs):
+ self.info[key] = val
+
+ def __eq__(self, other):
+ return other is not None and self.ref == other.ref
+
+ def __ne__(self, other):
+ return self.ref != other.ref
+
+ def isbuy(self):
+ '''Returns True if the order is a Buy order'''
+ return self.ordtype == self.Buy
+
+ def issell(self):
+ '''Returns True if the order is a Sell order'''
+ return self.ordtype == self.Sell
+
+ def setposition(self, position):
+ '''Receives the current position for the asset and stotres it'''
+ self.position = position
+
+ def submit(self, broker=None):
+ '''Marks an order as submitted and stores the broker to which it was
+ submitted'''
+ self.status = Order.Submitted
+ self.broker = broker
+ self.plen = len(self.data)
+
+ def accept(self, broker=None):
+ '''Marks an order as accepted'''
+ self.status = Order.Accepted
+ self.broker = broker
+
+ def brokerstatus(self):
+ '''Tries to retrieve the status from the broker in which the order is.
+
+ Defaults to last known status if no broker is associated'''
+ if self.broker:
+ return self.broker.orderstatus(self)
+
+ return self.status
+
+ def reject(self, broker=None):
+ '''Marks an order as rejected'''
+ if self.status == Order.Rejected:
+ return False
+
+ self.status = Order.Rejected
+ self.broker = broker
+ if not self.p.simulated:
+ self.executed.dt = self.data.datetime[0]
+ return True
+
+ def cancel(self):
+ '''Marks an order as cancelled'''
+ self.status = Order.Canceled
+ if not self.p.simulated:
+ self.executed.dt = self.data.datetime[0]
+
+ def margin(self):
+ '''Marks an order as having met a margin call'''
+ self.status = Order.Margin
+ if not self.p.simulated:
+ self.executed.dt = self.data.datetime[0]
+
+ def completed(self):
+ '''Marks an order as completely filled'''
+ self.status = self.Completed
+
+ def partial(self):
+ '''Marks an order as partially filled'''
+ self.status = self.Partial
+
+ def execute(self, dt, size, price,
+ closed, closedvalue, closedcomm,
+ opened, openedvalue, openedcomm,
+ margin, pnl,
+ psize, pprice):
+
+ '''Receives data execution input and stores it'''
+ if not size:
+ return
+
+ self.executed.add(dt, size, price,
+ closed, closedvalue, closedcomm,
+ opened, openedvalue, openedcomm,
+ pnl, psize, pprice)
+
+ self.executed.margin = margin
+
+ def expire(self):
+ '''Marks an order as expired. Returns True if it worked'''
+ self.status = self.Expired
+ return True
+
+ def trailadjust(self, price):
+ pass # generic interface
+
+
+class Order(OrderBase):
+ '''
+ Class which holds creation/execution data and type of oder.
+
+ The order may have the following status:
+
+ - Submitted: sent to the broker and awaiting confirmation
+ - Accepted: accepted by the broker
+ - Partial: partially executed
+ - Completed: fully exexcuted
+ - Canceled/Cancelled: canceled by the user
+ - Expired: expired
+ - Margin: not enough cash to execute the order.
+ - Rejected: Rejected by the broker
+
+ This can happen during order submission (and therefore the order will
+ not reach the Accepted status) or before execution with each new bar
+ price because cash has been drawn by other sources (future-like
+ instruments may have reduced the cash or orders orders may have been
+ executed)
+
+ Member Attributes:
+
+ - ref: unique order identifier
+ - created: OrderData holding creation data
+ - executed: OrderData holding execution data
+
+ - info: custom information passed over method :func:`addinfo`. It is kept
+ in the form of an OrderedDict which has been subclassed, so that keys
+ can also be specified using '.' notation
+
+ User Methods:
+
+ - isbuy(): returns bool indicating if the order buys
+ - issell(): returns bool indicating if the order sells
+ - alive(): returns bool if order is in status Partial or Accepted
+ '''
+
+ def execute(self, dt, size, price,
+ closed, closedvalue, closedcomm,
+ opened, openedvalue, openedcomm,
+ margin, pnl,
+ psize, pprice):
+
+ super(Order, self).execute(dt, size, price,
+ closed, closedvalue, closedcomm,
+ opened, openedvalue, openedcomm,
+ margin, pnl, psize, pprice)
+
+ if self.executed.remsize:
+ self.status = Order.Partial
+ else:
+ self.status = Order.Completed
+
+ # self.comminfo = None
+
+ def expire(self):
+ if self.exectype == Order.Market:
+ return False # will be executed yes or yes
+
+ if self.valid and self.data.datetime[0] > self.valid:
+ self.status = Order.Expired
+ self.executed.dt = self.data.datetime[0]
+ return True
+
+ return False
+
+ def trailadjust(self, price):
+ if self.trailamount:
+ pamount = self.trailamount
+ elif self.trailpercent:
+ pamount = price * self.trailpercent
+ else:
+ pamount = 0.0
+
+ # Stop sell is below (-), stop buy is above, move only if needed
+ if self.isbuy():
+ price += pamount
+ if price < self.created.price:
+ self.created.price = price
+ if self.exectype == Order.StopTrailLimit:
+ self.created.pricelimit = price - self._limitoffset
+ else:
+ price -= pamount
+ if price > self.created.price:
+ self.created.price = price
+ if self.exectype == Order.StopTrailLimit:
+ # limitoffset is negative when pricelimit was greater
+ # the - allows increasing the price limit if stop increases
+ self.created.pricelimit = price - self._limitoffset
+
+
+class BuyOrder(Order):
+ ordtype = Order.Buy
+
+
+class StopBuyOrder(BuyOrder):
+ pass
+
+
+class StopLimitBuyOrder(BuyOrder):
+ pass
+
+
+class SellOrder(Order):
+ ordtype = Order.Sell
+
+
+class StopSellOrder(SellOrder):
+ pass
+
+
+class StopLimitSellOrder(SellOrder):
+ pass
diff --git a/backtrader/source/backtrader/plot/__init__.py b/backtrader/source/backtrader/plot/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..d949c7fa348dbbd61e7d6b922bfcdece71b578a1
--- /dev/null
+++ b/backtrader/source/backtrader/plot/__init__.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import sys
+
+
+try:
+ import matplotlib
+except ImportError:
+ raise ImportError(
+ 'Matplotlib seems to be missing. Needed for plotting support')
+else:
+ touse = 'TKAgg' if sys.platform != 'darwin' else 'MacOSX'
+ try:
+ matplotlib.use(touse)
+ except:
+ # if another backend has already been loaded, an exception will be
+ # generated and this can be skipped
+ pass
+
+
+from .plot import Plot, Plot_OldSync
+from .scheme import PlotScheme
diff --git a/backtrader/source/backtrader/plot/finance.py b/backtrader/source/backtrader/plot/finance.py
new file mode 100644
index 0000000000000000000000000000000000000000..9aea0608550808dd301628efdd4ba45380e616d9
--- /dev/null
+++ b/backtrader/source/backtrader/plot/finance.py
@@ -0,0 +1,594 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from ..utils.py3 import range, zip
+
+import matplotlib.collections as mcol
+import matplotlib.colors as mcolors
+import matplotlib.legend as mlegend
+import matplotlib.lines as mlines
+
+from .utils import shade_color
+
+
+class CandlestickPlotHandler(object):
+ legend_opens = [0.50, 0.50, 0.50]
+ legend_highs = [1.00, 1.00, 1.00]
+ legend_lows = [0.00, 0.00, 0.00]
+ legend_closes = [0.80, 0.00, 1.00]
+
+ def __init__(self,
+ ax, x, opens, highs, lows, closes,
+ colorup='k', colordown='r',
+ edgeup=None, edgedown=None,
+ tickup=None, tickdown=None,
+ width=1, tickwidth=1,
+ edgeadjust=0.05, edgeshading=-10,
+ alpha=1.0,
+ label='_nolegend',
+ fillup=True,
+ filldown=True,
+ **kwargs):
+
+ # Manager up/down bar colors
+ r, g, b = mcolors.colorConverter.to_rgb(colorup)
+ self.colorup = r, g, b, alpha
+ r, g, b = mcolors.colorConverter.to_rgb(colordown)
+ self.colordown = r, g, b, alpha
+ # Manage the edge up/down colors for the bars
+ if edgeup:
+ r, g, b = mcolors.colorConverter.to_rgb(edgeup)
+ self.edgeup = ((r, g, b, alpha),)
+ else:
+ self.edgeup = shade_color(self.colorup, edgeshading)
+
+ if edgedown:
+ r, g, b = mcolors.colorConverter.to_rgb(edgedown)
+ self.edgedown = ((r, g, b, alpha),)
+ else:
+ self.edgedown = shade_color(self.colordown, edgeshading)
+
+ # Manage the up/down tick colors
+ if tickup:
+ r, g, b = mcolors.colorConverter.to_rgb(tickup)
+ self.tickup = ((r, g, b, alpha),)
+ else:
+ self.tickup = self.edgeup
+
+ if tickdown:
+ r, g, b = mcolors.colorConverter.to_rgb(tickdown)
+ self.tickdown = ((r, g, b, alpha),)
+ else:
+ self.tickdown = self.edgedown
+
+ self.barcol, self.tickcol = self.barcollection(
+ x, opens, highs, lows, closes,
+ width, tickwidth, edgeadjust,
+ label=label,
+ fillup=fillup, filldown=filldown,
+ **kwargs)
+
+ # add collections to the axis and return them
+ ax.add_collection(self.tickcol)
+ ax.add_collection(self.barcol)
+
+ # Update the axis
+ ax.update_datalim(((0, min(lows)), (len(opens), max(highs))))
+ ax.autoscale_view()
+
+ # Add self as legend handler for this object
+ mlegend.Legend.update_default_handler_map({self.barcol: self})
+
+ def legend_artist(self, legend, orig_handle, fontsize, handlebox):
+ x0 = handlebox.xdescent
+ y0 = handlebox.ydescent
+ width = handlebox.width / len(self.legend_opens)
+ height = handlebox.height
+
+ # Generate the x axis coordinates (handlebox based)
+ xs = [x0 + width * (i + 0.5) for i in range(len(self.legend_opens))]
+
+ barcol, tickcol = self.barcollection(
+ xs,
+ self.legend_opens, self.legend_highs,
+ self.legend_lows, self.legend_closes,
+ width=width, tickwidth=2,
+ scaling=height, bot=y0)
+
+ barcol.set_transform(handlebox.get_transform())
+ handlebox.add_artist(barcol)
+ tickcol.set_transform(handlebox.get_transform())
+ handlebox.add_artist(tickcol)
+
+ return barcol, tickcol
+
+ def barcollection(self,
+ xs,
+ opens, highs, lows, closes,
+ width, tickwidth=1, edgeadjust=0,
+ label='_nolegend',
+ scaling=1.0, bot=0,
+ fillup=True, filldown=True,
+ **kwargs):
+
+ # Prepack different zips of the series values
+ oc = lambda: zip(opens, closes) # NOQA: E731
+ xoc = lambda: zip(xs, opens, closes) # NOQA: E731
+ iohlc = lambda: zip(xs, opens, highs, lows, closes) # NOQA: E731
+
+ colorup = self.colorup if fillup else 'None'
+ colordown = self.colordown if filldown else 'None'
+ colord = {True: colorup, False: colordown}
+ colors = [colord[o < c] for o, c in oc()]
+
+ edgecolord = {True: self.edgeup, False: self.edgedown}
+ edgecolors = [edgecolord[o < c] for o, c in oc()]
+
+ tickcolord = {True: self.tickup, False: self.tickdown}
+ tickcolors = [tickcolord[o < c] for o, c in oc()]
+
+ delta = width / 2 - edgeadjust
+
+ def barbox(i, open, close):
+ # delta seen as closure
+ left, right = i - delta, i + delta
+ open = open * scaling + bot
+ close = close * scaling + bot
+ return (left, open), (left, close), (right, close), (right, open)
+
+ barareas = [barbox(i, o, c) for i, o, c in xoc()]
+
+ def tup(i, open, high, close):
+ high = high * scaling + bot
+ open = open * scaling + bot
+ close = close * scaling + bot
+
+ return (i, high), (i, max(open, close))
+
+ tickrangesup = [tup(i, o, h, c) for i, o, h, l, c in iohlc()]
+
+ def tdown(i, open, low, close):
+ low = low * scaling + bot
+ open = open * scaling + bot
+ close = close * scaling + bot
+
+ return (i, low), (i, min(open, close))
+
+ tickrangesdown = [tdown(i, o, l, c) for i, o, h, l, c in iohlc()]
+
+ # Extra variables for the collections
+ useaa = 0, # use tuple here
+ lw = 0.5, # and here
+ tlw = tickwidth,
+
+ # Bar collection for the candles
+ barcol = mcol.PolyCollection(
+ barareas,
+ facecolors=colors,
+ edgecolors=edgecolors,
+ antialiaseds=useaa,
+ linewidths=lw,
+ label=label,
+ **kwargs)
+
+ # LineCollections have a higher zorder than PolyCollections
+ # to ensure the edges of the bars are not overwriten by the Lines
+ # we need to put the bars slightly over the LineCollections
+ kwargs['zorder'] = barcol.get_zorder() * 0.9999
+
+ # Up/down ticks from the body
+ tickcol = mcol.LineCollection(
+ tickrangesup + tickrangesdown,
+ colors=tickcolors,
+ linewidths=tlw,
+ antialiaseds=useaa,
+ **kwargs)
+
+ # return barcol, tickcol
+ return barcol, tickcol
+
+
+def plot_candlestick(ax,
+ x, opens, highs, lows, closes,
+ colorup='k', colordown='r',
+ edgeup=None, edgedown=None,
+ tickup=None, tickdown=None,
+ width=1, tickwidth=1.25,
+ edgeadjust=0.05, edgeshading=-10,
+ alpha=1.0,
+ label='_nolegend',
+ fillup=True,
+ filldown=True,
+ **kwargs):
+
+ chandler = CandlestickPlotHandler(
+ ax, x, opens, highs, lows, closes,
+ colorup, colordown,
+ edgeup, edgedown,
+ tickup, tickdown,
+ width, tickwidth,
+ edgeadjust, edgeshading,
+ alpha,
+ label,
+ fillup,
+ filldown,
+ **kwargs)
+
+ # Return the collections. the barcol goes first because
+ # is the larger, has the dominant zorder and defines the legend
+ return chandler.barcol, chandler.tickcol
+
+
+class VolumePlotHandler(object):
+ legend_vols = [0.5, 1.0, 0.75]
+ legend_opens = [0, 1, 0]
+ legend_closes = [1, 0, 1]
+
+ def __init__(self,
+ ax, x, opens, closes, volumes,
+ colorup='k', colordown='r',
+ edgeup=None, edgedown=None,
+ edgeshading=-5, edgeadjust=0.05,
+ width=1, alpha=1.0,
+ **kwargs):
+
+ # Manage the up/down colors
+ r, g, b = mcolors.colorConverter.to_rgb(colorup)
+ self.colorup = r, g, b, alpha
+ r, g, b = mcolors.colorConverter.to_rgb(colordown)
+ self.colordown = r, g, b, alpha
+
+ # Prepare the edge colors
+ if not edgeup:
+ self.edgeup = shade_color(self.colorup, edgeshading)
+ else:
+ r, g, b = mcolors.colorConverter.to_rgb(edgeup)
+ self.edgeup = r, g, b, alpha
+
+ if not edgedown:
+ self.edgedown = shade_color(self.colordown, edgeshading)
+ else:
+ r, g, b = mcolors.colorConverter.to_rgb(edgedown)
+ self.edgedown = r, g, b, alpha
+
+ corners = (0, 0), (len(closes), max(volumes))
+ ax.update_datalim(corners)
+ ax.autoscale_view()
+
+ self.barcol = self.barcollection(
+ x, opens, closes, volumes,
+ width=width, edgeadjust=edgeadjust,
+ **kwargs)
+
+ # add to axes
+ ax.add_collection(self.barcol)
+
+ # Add a legend handler for this object
+ mlegend.Legend.update_default_handler_map({self.barcol: self})
+
+ def legend_artist(self, legend, orig_handle, fontsize, handlebox):
+ x0 = handlebox.xdescent
+ y0 = handlebox.ydescent
+ width = handlebox.width / len(self.legend_vols)
+ height = handlebox.height
+
+ # Generate the x axis coordinates (handlebox based)
+ xs = [x0 + width * (i + 0.5) for i in range(len(self.legend_vols))]
+
+ barcol = self.barcollection(
+ xs, self.legend_opens, self.legend_closes, self.legend_vols,
+ width=width, vscaling=height, vbot=y0)
+
+ barcol.set_transform(handlebox.get_transform())
+ handlebox.add_artist(barcol)
+
+ return barcol
+
+ def barcollection(self,
+ x, opens, closes, vols,
+ width, edgeadjust=0,
+ vscaling=1.0, vbot=0,
+ **kwargs):
+
+ # Prepare the data
+ openclose = lambda: zip(opens, closes) # NOQA: E731
+
+ # Calculate bars colors
+ colord = {True: self.colorup, False: self.colordown}
+ colors = [colord[open < close] for open, close in openclose()]
+ edgecolord = {True: self.edgeup, False: self.edgedown}
+ edgecolors = [edgecolord[open < close] for open, close in openclose()]
+
+ # bar width to the sides
+ delta = width / 2 - edgeadjust
+
+ # small auxiliary func to return the bar coordinates
+ def volbar(i, v):
+ left, right = i - delta, i + delta
+ v = vbot + v * vscaling
+ return (left, vbot), (left, v), (right, v), (right, vbot)
+
+ barareas = [volbar(i, v) for i, v in zip(x, vols)]
+ barcol = mcol.PolyCollection(
+ barareas,
+ facecolors=colors,
+ edgecolors=edgecolors,
+ antialiaseds=(0,),
+ linewidths=(0.5,),
+ **kwargs)
+
+ return barcol
+
+
+def plot_volume(
+ ax, x, opens, closes, volumes,
+ colorup='k', colordown='r',
+ edgeup=None, edgedown=None,
+ edgeshading=-5, edgeadjust=0.05,
+ width=1, alpha=1.0,
+ **kwargs):
+
+ vhandler = VolumePlotHandler(
+ ax, x, opens, closes, volumes,
+ colorup, colordown,
+ edgeup, edgedown,
+ edgeshading, edgeadjust,
+ width, alpha,
+ **kwargs)
+
+ return vhandler.barcol,
+
+
+class OHLCPlotHandler(object):
+ legend_opens = [0.50, 0.50, 0.50]
+ legend_highs = [1.00, 1.00, 1.00]
+ legend_lows = [0.00, 0.00, 0.00]
+ legend_closes = [0.80, 0.20, 0.90]
+
+ def __init__(self,
+ ax, x, opens, highs, lows, closes,
+ colorup='k', colordown='r',
+ width=1, tickwidth=0.5,
+ alpha=1.0,
+ label='_nolegend',
+ **kwargs):
+
+ # Manager up/down bar colors
+ r, g, b = mcolors.colorConverter.to_rgb(colorup)
+ self.colorup = r, g, b, alpha
+ r, g, b = mcolors.colorConverter.to_rgb(colordown)
+ self.colordown = r, g, b, alpha
+
+ bcol, ocol, ccol = self.barcollection(
+ x, opens, highs, lows, closes,
+ width=width, tickwidth=tickwidth,
+ label=label,
+ **kwargs)
+
+ self.barcol = bcol
+ self.opencol = ocol
+ self.closecol = ccol
+
+ # add collections to the axis and return them
+ ax.add_collection(self.barcol)
+ ax.add_collection(self.opencol)
+ ax.add_collection(self.closecol)
+
+ # Update the axis
+ ax.update_datalim(((0, min(lows)), (len(opens), max(highs))))
+ ax.autoscale_view()
+
+ # Add self as legend handler for this object
+ mlegend.Legend.update_default_handler_map({self.barcol: self})
+
+ def legend_artist(self, legend, orig_handle, fontsize, handlebox):
+ x0 = handlebox.xdescent
+ y0 = handlebox.ydescent
+ width = handlebox.width / len(self.legend_opens)
+ height = handlebox.height
+
+ # Generate the x axis coordinates (handlebox based)
+ xs = [x0 + width * (i + 0.5) for i in range(len(self.legend_opens))]
+
+ barcol, opencol, closecol = self.barcollection(
+ xs,
+ self.legend_opens, self.legend_highs,
+ self.legend_lows, self.legend_closes,
+ width=1.5, tickwidth=2,
+ scaling=height, bot=y0)
+
+ barcol.set_transform(handlebox.get_transform())
+ handlebox.add_artist(barcol)
+ # opencol.set_transform(handlebox.get_transform())
+ handlebox.add_artist(opencol)
+ # closecol.set_transform(handlebox.get_transform())
+ handlebox.add_artist(closecol)
+
+ return barcol, opencol, closecol
+
+ def barcollection(self,
+ xs,
+ opens, highs, lows, closes,
+ width, tickwidth,
+ label='_nolegend',
+ scaling=1.0, bot=0,
+ **kwargs):
+
+ # Prepack different zips of the series values
+ ihighlow = lambda: zip(xs, highs, lows) # NOQA: E731
+ iopen = lambda: zip(xs, opens) # NOQA: E731
+ iclose = lambda: zip(xs, closes) # NOQA: E731
+ openclose = lambda: zip(opens, closes) # NOQA: E731
+
+ colord = {True: self.colorup, False: self.colordown}
+ colors = [colord[open < close] for open, close in openclose()]
+
+ # Extra variables for the collections
+ useaa = 0,
+ lw = width,
+ tlw = tickwidth,
+
+ # Calculate the barranges
+ def barrange(i, high, low):
+ return (i, low * scaling + bot), (i, high * scaling + bot)
+
+ barranges = [barrange(i, high, low) for i, high, low in ihighlow()]
+
+ barcol = mcol.LineCollection(
+ barranges,
+ colors=colors,
+ linewidths=lw,
+ antialiaseds=useaa,
+ label=label,
+ **kwargs)
+
+ def tickopen(i, open):
+ open = open * scaling + bot
+ return (i - tickwidth, open), (i, open)
+
+ openticks = [tickopen(i, open) for i, open in iopen()]
+ opencol = mcol.LineCollection(
+ openticks,
+ colors=colors,
+ antialiaseds=useaa,
+ linewidths=tlw,
+ label='_nolegend',
+ **kwargs)
+
+ def tickclose(i, close):
+ close = close * scaling + bot
+ return (i, close), (i + tickwidth, close)
+
+ closeticks = [tickclose(i, close) for i, close in iclose()]
+ closecol = mcol.LineCollection(
+ closeticks,
+ colors=colors,
+ antialiaseds=useaa,
+ linewidths=tlw,
+ label='_nolegend',
+ **kwargs)
+
+ # return barcol, tickcol
+ return barcol, opencol, closecol
+
+
+def plot_ohlc(ax, x, opens, highs, lows, closes,
+ colorup='k', colordown='r',
+ width=1.5, tickwidth=0.5,
+ alpha=1.0,
+ label='_nolegend',
+ **kwargs):
+
+ handler = OHLCPlotHandler(
+ ax, x, opens, highs, lows, closes,
+ colorup, colordown,
+ width, tickwidth,
+ alpha,
+ label,
+ **kwargs)
+
+ return handler.barcol, handler.opencol, handler.closecol
+
+
+class LineOnClosePlotHandler(object):
+ legend_closes = [0.00, 0.66, 0.33, 1.00]
+
+ def __init__(self,
+ ax, x, closes, color='k',
+ width=1, alpha=1.0,
+ label='_nolegend',
+ **kwargs):
+
+ self.color = color
+ self.alpha = alpha
+
+ self.loc, = self.barcollection(
+ x, closes,
+ width=width,
+ label=label,
+ **kwargs)
+
+ # add collections to the axis and return them
+ ax.add_line(self.loc)
+
+ # Update the axis
+ ax.update_datalim(((x[0], min(closes)), (x[-1], max(closes))))
+ ax.autoscale_view()
+
+ # Add self as legend handler for this object
+ mlegend.Legend.update_default_handler_map({self.loc: self})
+
+ def legend_artist(self, legend, orig_handle, fontsize, handlebox):
+ x0 = handlebox.xdescent
+ y0 = handlebox.ydescent
+ width = handlebox.width / len(self.legend_closes)
+ height = handlebox.height
+
+ # Generate the x axis coordinates (handlebox based)
+ xs = [x0 + width * (i + 0.5) for i in range(len(self.legend_closes))]
+
+ linecol, = self.barcollection(
+ xs, self.legend_closes,
+ width=1.5,
+ scaling=height, bot=y0)
+
+ linecol.set_transform(handlebox.get_transform())
+ handlebox.add_artist(linecol)
+
+ return linecol,
+
+ def barcollection(self,
+ xs, closes,
+ width,
+ label='_nolegend',
+ scaling=1.0, bot=0,
+ **kwargs):
+
+ # Prepack different zips of the series values
+ scaled = [close * scaling + bot for close in closes]
+
+ loc = mlines.Line2D(
+ xs, scaled,
+ color=self.color,
+ lw=width,
+ label=label,
+ alpha=self.alpha,
+ **kwargs)
+
+ return loc,
+
+
+def plot_lineonclose(ax, x, closes,
+ color='k',
+ width=1.5,
+ alpha=1.0,
+ label='_nolegend',
+ **kwargs):
+
+ handler = LineOnClosePlotHandler(
+ ax, x, closes,
+ color=color, width=width,
+ alpha=alpha, label=label,
+ **kwargs)
+
+ return handler.loc,
diff --git a/backtrader/source/backtrader/plot/formatters.py b/backtrader/source/backtrader/plot/formatters.py
new file mode 100644
index 0000000000000000000000000000000000000000..2406d595cfa83340c0be7dd3d57b0c21e5eb8cd3
--- /dev/null
+++ b/backtrader/source/backtrader/plot/formatters.py
@@ -0,0 +1,124 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import matplotlib.dates as mdates
+import matplotlib.ticker as mplticker
+
+from ..utils import num2date
+
+
+class MyVolFormatter(mplticker.Formatter):
+ Suffixes = ['', 'K', 'M', 'G', 'T', 'P']
+
+ def __init__(self, volmax):
+ self.volmax = volmax
+ magnitude = 0
+ self.divisor = 1.0
+ while abs(volmax / self.divisor) >= 1000:
+ magnitude += 1
+ self.divisor *= 1000.0
+
+ self.suffix = self.Suffixes[magnitude]
+
+ def __call__(self, y, pos=0):
+ '''Return the label for time x at position pos'''
+
+ if y > self.volmax * 1.20:
+ return ''
+
+ y = int(y / self.divisor)
+ return '%d%s' % (y, self.suffix)
+
+
+class MyDateFormatter(mplticker.Formatter):
+ def __init__(self, dates, fmt='%Y-%m-%d'):
+ self.dates = dates
+ self.lendates = len(dates)
+ self.fmt = fmt
+
+ def __call__(self, x, pos=0):
+ '''Return the label for time x at position pos'''
+ ind = int(round(x))
+ if ind >= self.lendates:
+ ind = self.lendates - 1
+
+ if ind < 0:
+ ind = 0
+
+ return num2date(self.dates[ind]).strftime(self.fmt)
+
+
+def patch_locator(locator, xdates):
+ def _patched_datalim_to_dt(self):
+ dmin, dmax = self.axis.get_data_interval()
+
+ # proxy access to xdates
+ dmin, dmax = xdates[int(dmin)], xdates[min(int(dmax), len(xdates) - 1)]
+
+ a, b = num2date(dmin, self.tz), num2date(dmax, self.tz)
+ return a, b
+
+ def _patched_viewlim_to_dt(self):
+ vmin, vmax = self.axis.get_view_interval()
+
+ # proxy access to xdates
+ vmin, vmax = xdates[int(vmin)], xdates[min(int(vmax), len(xdates) - 1)]
+ a, b = num2date(vmin, self.tz), num2date(vmax, self.tz)
+ return a, b
+
+ # patch the instance with a bound method
+ bound_datalim = _patched_datalim_to_dt.__get__(locator, locator.__class__)
+ locator.datalim_to_dt = bound_datalim
+
+ # patch the instance with a bound method
+ bound_viewlim = _patched_viewlim_to_dt.__get__(locator, locator.__class__)
+ locator.viewlim_to_dt = bound_viewlim
+
+
+def patch_formatter(formatter, xdates):
+ def newcall(self, x, pos=0):
+ if False and x < 0:
+ raise ValueError('DateFormatter found a value of x=0, which is '
+ 'an illegal date. This usually occurs because '
+ 'you have not informed the axis that it is '
+ 'plotting dates, e.g., with ax.xaxis_date()')
+
+ x = xdates[int(x)]
+ dt = num2date(x, self.tz)
+ return self.strftime(dt, self.fmt)
+
+ bound_call = newcall.__get__(formatter, formatter.__class__)
+ formatter.__call__ = bound_call
+
+
+def getlocator(xdates, numticks=5, tz=None):
+ span = xdates[-1] - xdates[0]
+
+ locator, formatter = mdates.date_ticker_factory(
+ span=span,
+ tz=tz,
+ numticks=numticks)
+
+ patch_locator(locator, xdates)
+ patch_formatter(formatter, xdates)
+ return locator, formatter
diff --git a/backtrader/source/backtrader/plot/locator.py b/backtrader/source/backtrader/plot/locator.py
new file mode 100644
index 0000000000000000000000000000000000000000..848e62bb8399a5de9ddf3e5965b520b17abe15d3
--- /dev/null
+++ b/backtrader/source/backtrader/plot/locator.py
@@ -0,0 +1,259 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+'''
+Redefine/Override matplotlib locators to make them work with index base x axis
+which can be converted from/to dates
+'''
+
+import datetime
+import warnings
+
+from matplotlib.dates import AutoDateLocator as ADLocator
+from matplotlib.dates import RRuleLocator as RRLocator
+from matplotlib.dates import AutoDateFormatter as ADFormatter
+
+from matplotlib.dates import (HOURS_PER_DAY, MIN_PER_HOUR, SEC_PER_MIN,
+ MONTHS_PER_YEAR, DAYS_PER_WEEK,
+ SEC_PER_HOUR, SEC_PER_DAY,
+ num2date, rrulewrapper, YearLocator,
+ MicrosecondLocator)
+
+from dateutil.relativedelta import relativedelta
+import numpy as np
+
+
+def _idx2dt(idx, dates, tz):
+ if isinstance(idx, datetime.date):
+ return idx
+
+ ldates = len(dates)
+
+ idx = int(round(idx))
+ if idx >= ldates:
+ idx = ldates - 1
+ if idx < 0:
+ idx = 0
+
+ return num2date(dates[idx], tz)
+
+
+class RRuleLocator(RRLocator):
+
+ def __init__(self, dates, o, tz=None):
+ self._dates = dates
+ super(RRuleLocator, self).__init__(o, tz)
+
+ def datalim_to_dt(self):
+ """
+ Convert axis data interval to datetime objects.
+ """
+ dmin, dmax = self.axis.get_data_interval()
+ if dmin > dmax:
+ dmin, dmax = dmax, dmin
+
+ return (_idx2dt(dmin, self._dates, self.tz),
+ _idx2dt(dmax, self._dates, self.tz))
+
+ def viewlim_to_dt(self):
+ """
+ Converts the view interval to datetime objects.
+ """
+ vmin, vmax = self.axis.get_view_interval()
+ if vmin > vmax:
+ vmin, vmax = vmax, vmin
+
+ return (_idx2dt(vmin, self._dates, self.tz),
+ _idx2dt(vmax, self._dates, self.tz))
+
+ def tick_values(self, vmin, vmax):
+ import bisect
+ dtnums = super(RRuleLocator, self).tick_values(vmin, vmax)
+ return [bisect.bisect_left(self._dates, x) for x in dtnums]
+
+
+class AutoDateLocator(ADLocator):
+
+ def __init__(self, dates, *args, **kwargs):
+ self._dates = dates
+ super(AutoDateLocator, self).__init__(*args, **kwargs)
+
+ def datalim_to_dt(self):
+ """
+ Convert axis data interval to datetime objects.
+ """
+ dmin, dmax = self.axis.get_data_interval()
+ if dmin > dmax:
+ dmin, dmax = dmax, dmin
+
+ return (_idx2dt(dmin, self._dates, self.tz),
+ _idx2dt(dmax, self._dates, self.tz))
+
+ def viewlim_to_dt(self):
+ """
+ Converts the view interval to datetime objects.
+ """
+ vmin, vmax = self.axis.get_view_interval()
+ if vmin > vmax:
+ vmin, vmax = vmax, vmin
+
+ return (_idx2dt(vmin, self._dates, self.tz),
+ _idx2dt(vmax, self._dates, self.tz))
+
+ def tick_values(self, vmin, vmax):
+ import bisect
+ dtnums = super(AutoDateLocator, self).tick_values(vmin, vmax)
+ return [bisect.bisect_left(self._dates, x) for x in dtnums]
+
+ def get_locator(self, dmin, dmax):
+ 'Pick the best locator based on a distance.'
+ delta = relativedelta(dmax, dmin)
+ tdelta = dmax - dmin
+
+ # take absolute difference
+ if dmin > dmax:
+ delta = -delta
+ tdelta = -tdelta
+
+ # The following uses a mix of calls to relativedelta and timedelta
+ # methods because there is incomplete overlap in the functionality of
+ # these similar functions, and it's best to avoid doing our own math
+ # whenever possible.
+ numYears = float(delta.years)
+ numMonths = (numYears * MONTHS_PER_YEAR) + delta.months
+ numDays = tdelta.days # Avoids estimates of days/month, days/year
+ numHours = (numDays * HOURS_PER_DAY) + delta.hours
+ numMinutes = (numHours * MIN_PER_HOUR) + delta.minutes
+ numSeconds = np.floor(tdelta.total_seconds())
+ numMicroseconds = np.floor(tdelta.total_seconds() * 1e6)
+
+ nums = [numYears, numMonths, numDays, numHours, numMinutes,
+ numSeconds, numMicroseconds]
+
+ use_rrule_locator = [True] * 6 + [False]
+
+ # Default setting of bymonth, etc. to pass to rrule
+ # [unused (for year), bymonth, bymonthday, byhour, byminute,
+ # bysecond, unused (for microseconds)]
+ byranges = [None, 1, 1, 0, 0, 0, None]
+
+ usemicro = False # use as flag to avoid raising an exception
+
+ # Loop over all the frequencies and try to find one that gives at
+ # least a minticks tick positions. Once this is found, look for
+ # an interval from an list specific to that frequency that gives no
+ # more than maxticks tick positions. Also, set up some ranges
+ # (bymonth, etc.) as appropriate to be passed to rrulewrapper.
+ for i, (freq, num) in enumerate(zip(self._freqs, nums)):
+ # If this particular frequency doesn't give enough ticks, continue
+ if num < self.minticks:
+ # Since we're not using this particular frequency, set
+ # the corresponding by_ to None so the rrule can act as
+ # appropriate
+ byranges[i] = None
+ continue
+
+ # Find the first available interval that doesn't give too many
+ # ticks
+ for interval in self.intervald[freq]:
+ if num <= interval * (self.maxticks[freq] - 1):
+ break
+ else:
+ # We went through the whole loop without breaking, default to
+ # the last interval in the list and raise a warning
+ warnings.warn('AutoDateLocator was unable to pick an '
+ 'appropriate interval for this date range. '
+ 'It may be necessary to add an interval value '
+ "to the AutoDateLocator's intervald dictionary."
+ ' Defaulting to {0}.'.format(interval))
+
+ # Set some parameters as appropriate
+ self._freq = freq
+
+ if self._byranges[i] and self.interval_multiples:
+ byranges[i] = self._byranges[i][::interval]
+ interval = 1
+ else:
+ byranges[i] = self._byranges[i]
+
+ # We found what frequency to use
+ break
+ else:
+ if False:
+ raise ValueError(
+ 'No sensible date limit could be found in the '
+ 'AutoDateLocator.')
+ else:
+ usemicro = True
+
+ if not usemicro and use_rrule_locator[i]:
+ _, bymonth, bymonthday, byhour, byminute, bysecond, _ = byranges
+
+ rrule = rrulewrapper(self._freq, interval=interval,
+ dtstart=dmin, until=dmax,
+ bymonth=bymonth, bymonthday=bymonthday,
+ byhour=byhour, byminute=byminute,
+ bysecond=bysecond)
+
+ locator = RRuleLocator(self._dates, rrule, self.tz)
+ else:
+ if usemicro:
+ interval = 1 # not set because the for else: was met
+ locator = MicrosecondLocator(interval, tz=self.tz)
+
+ locator.set_axis(self.axis)
+
+ try:
+ # try for matplotlib < 3.6.0
+ locator.set_view_interval(*self.axis.get_view_interval())
+ locator.set_data_interval(*self.axis.get_data_interval())
+ except Exception as e:
+ try:
+ # try for matplotlib >= 3.6.0
+ self.axis.set_view_interval(*self.axis.get_view_interval())
+ self.axis.set_data_interval(*self.axis.get_data_interval())
+ locator.set_axis(self.axis)
+ except Exception as e:
+ print("Error:", e)
+
+ return locator
+
+
+class AutoDateFormatter(ADFormatter):
+ def __init__(self, dates, locator, tz=None, defaultfmt='%Y-%m-%d'):
+ self._dates = dates
+ super(AutoDateFormatter, self).__init__(locator, tz, defaultfmt)
+
+ def __call__(self, x, pos=None):
+ '''Return the label for time x at position pos'''
+ x = int(round(x))
+ ldates = len(self._dates)
+ if x >= ldates:
+ x = ldates - 1
+
+ if x < 0:
+ x = 0
+
+ ix = self._dates[x]
+
+ return super(AutoDateFormatter, self).__call__(ix, pos)
diff --git a/backtrader/source/backtrader/plot/multicursor.py b/backtrader/source/backtrader/plot/multicursor.py
new file mode 100644
index 0000000000000000000000000000000000000000..a3ea179cf247abf67599e829562e4f587bf14cc2
--- /dev/null
+++ b/backtrader/source/backtrader/plot/multicursor.py
@@ -0,0 +1,354 @@
+# LICENSE AGREEMENT FOR MATPLOTLIB 1.2.0
+# --------------------------------------
+#
+# 1. This LICENSE AGREEMENT is between John D. Hunter ("JDH"), and the
+# Individual or Organization ("Licensee") accessing and otherwise using
+# matplotlib software in source or binary form and its associated
+# documentation.
+#
+# 2. Subject to the terms and conditions of this License Agreement, JDH
+# hereby grants Licensee a nonexclusive, royalty-free, world-wide license
+# to reproduce, analyze, test, perform and/or display publicly, prepare
+# derivative works, distribute, and otherwise use matplotlib 1.2.0
+# alone or in any derivative version, provided, however, that JDH's
+# License Agreement and JDH's notice of copyright, i.e., "Copyright (c)
+# 2002-2011 John D. Hunter; All Rights Reserved" are retained in
+# matplotlib 1.2.0 alone or in any derivative version prepared by
+# Licensee.
+#
+# 3. In the event Licensee prepares a derivative work that is based on or
+# incorporates matplotlib 1.2.0 or any part thereof, and wants to
+# make the derivative work available to others as provided herein, then
+# Licensee hereby agrees to include in any such work a brief summary of
+# the changes made to matplotlib 1.2.0.
+#
+# 4. JDH is making matplotlib 1.2.0 available to Licensee on an "AS
+# IS" basis. JDH MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+# IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, JDH MAKES NO AND
+# DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+# FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF MATPLOTLIB 1.2.0
+# WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+#
+# 5. JDH SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF MATPLOTLIB
+# 1.2.0 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR
+# LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING
+# MATPLOTLIB 1.2.0, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF
+# THE POSSIBILITY THEREOF.
+
+# 6. This License Agreement will automatically terminate upon a material
+# breach of its terms and conditions.
+#
+# 7. Nothing in this License Agreement shall be deemed to create any
+# relationship of agency, partnership, or joint venture between JDH and
+# Licensee. This License Agreement does not grant permission to use JDH
+# trademarks or trade name in a trademark sense to endorse or promote
+# products or services of Licensee, or any third party.
+#
+# 8. By copying, installing or otherwise using matplotlib 1.2.0,
+# Licensee agrees to be bound by the terms and conditions of this License
+# Agreement.
+
+# CHANGES
+# The original MultiCursor plots all horizontal lines at the same time
+# The modified version plots only the horizontal line in the axis in which the
+# motion event takes place
+#
+# The original MultiCursos uses the ylimit of the las passed axis, to calculate
+# the mid point of the axis. which creates a huge distorsion if all axis don't
+# have the same y dimensions
+#
+# The modified version uses the y limits of each axis to calculate the initial
+# position of each line avoiding the distorsion
+
+from ..utils.py3 import zip
+
+class Widget(object):
+ """
+ Abstract base class for GUI neutral widgets
+ """
+ drawon = True
+ eventson = True
+ _active = True
+
+ def set_active(self, active):
+ """Set whether the widget is active.
+ """
+ self._active = active
+
+ def get_active(self):
+ """Get whether the widget is active.
+ """
+ return self._active
+
+ # set_active is overriden by SelectorWidgets.
+ active = property(get_active, lambda self, active: self.set_active(active),
+ doc="Is the widget active?")
+
+ def ignore(self, event):
+ """Return True if event should be ignored.
+ This method (or a version of it) should be called at the beginning
+ of any event callback.
+ """
+ return not self.active
+
+
+class MultiCursor(Widget):
+ """
+ Provide a vertical (default) and/or horizontal line cursor shared between
+ multiple axes.
+
+ For the cursor to remain responsive you much keep a reference to
+ it.
+
+ Example usage::
+
+ from matplotlib.widgets import MultiCursor
+ from pylab import figure, show, np
+
+ t = np.arange(0.0, 2.0, 0.01)
+ s1 = np.sin(2*np.pi*t)
+ s2 = np.sin(4*np.pi*t)
+ fig = figure()
+ ax1 = fig.add_subplot(211)
+ ax1.plot(t, s1)
+
+
+ ax2 = fig.add_subplot(212, sharex=ax1)
+ ax2.plot(t, s2)
+
+ multi = MultiCursor(fig.canvas, (ax1, ax2), color='r', lw=1,
+ horizOn=False, vertOn=True)
+ show()
+
+ """
+ def __init__(self, canvas, axes, useblit=True,
+ horizOn=False, vertOn=True,
+ horizMulti=False, vertMulti=True,
+ horizShared=True, vertShared=False,
+ **lineprops):
+
+ self.canvas = canvas
+ self.axes = axes
+ self.horizOn = horizOn
+ self.vertOn = vertOn
+ self.horizMulti = horizMulti
+ self.vertMulti = vertMulti
+
+ self.visible = True
+ self.useblit = useblit and self.canvas.supports_blit
+ self.background = None
+ self.needclear = False
+
+ if self.useblit:
+ lineprops['animated'] = True
+
+ self.vlines = []
+ if vertOn:
+ xmin, xmax = axes[-1].get_xlim()
+ xmid = 0.5 * (xmin + xmax)
+
+ for ax in axes:
+ if not horizShared:
+ xmin, xmax = ax.get_xlim()
+ xmid = 0.5 * (xmin + xmax)
+
+ vline = ax.axvline(xmid, visible=False, **lineprops)
+ self.vlines.append(vline)
+
+ self.hlines = []
+ if horizOn:
+ ymin, ymax = axes[-1].get_ylim()
+ ymid = 0.5 * (ymin + ymax)
+
+ for ax in axes:
+ if not vertShared:
+ ymin, ymax = ax.get_ylim()
+ ymid = 0.5 * (ymin + ymax)
+
+ hline = ax.axhline(ymid, visible=False, **lineprops)
+ self.hlines.append(hline)
+
+ self.connect()
+
+ def connect(self):
+ """connect events"""
+ self._cidmotion = self.canvas.mpl_connect('motion_notify_event',
+ self.onmove)
+ self._ciddraw = self.canvas.mpl_connect('draw_event', self.clear)
+
+ def disconnect(self):
+ """disconnect events"""
+ self.canvas.mpl_disconnect(self._cidmotion)
+ self.canvas.mpl_disconnect(self._ciddraw)
+
+ def clear(self, event):
+ """clear the cursor"""
+ if self.ignore(event):
+ return
+ if self.useblit:
+ self.background = (
+ self.canvas.copy_from_bbox(self.canvas.figure.bbox))
+ for line in self.vlines + self.hlines:
+ line.set_visible(False)
+
+ def onmove(self, event):
+ if self.ignore(event):
+ return
+ if event.inaxes is None:
+ return
+ if not self.canvas.widgetlock.available(self):
+ return
+ self.needclear = True
+ if not self.visible:
+ return
+ if self.vertOn:
+ for line in self.vlines:
+ visible = self.visible
+ if not self.vertMulti:
+ visible = visible and line.axes == event.inaxes
+
+ if visible:
+ line.set_xdata((event.xdata, event.xdata))
+ line.set_visible(visible)
+ if self.horizOn:
+ for line in self.hlines:
+ visible = self.visible
+ if not self.horizMulti:
+ visible = visible and line.axes == event.inaxes
+ if visible:
+ line.set_ydata((event.ydata, event.ydata))
+ line.set_visible(self.visible)
+ self._update(event)
+
+ def _update(self, event):
+ if self.useblit:
+ if self.background is not None:
+ self.canvas.restore_region(self.background)
+ if self.vertOn:
+ for ax, line in zip(self.axes, self.vlines):
+ if self.vertMulti or event.inaxes == line.axes:
+ ax.draw_artist(line)
+
+ if self.horizOn:
+ for ax, line in zip(self.axes, self.hlines):
+ if self.horizMulti or event.inaxes == line.axes:
+ ax.draw_artist(line)
+ self.canvas.blit(self.canvas.figure.bbox)
+ else:
+ self.canvas.draw_idle()
+
+class MultiCursor2(Widget):
+ """
+ Provide a vertical (default) and/or horizontal line cursor shared between
+ multiple axes.
+ For the cursor to remain responsive you much keep a reference to
+ it.
+ Example usage::
+ from matplotlib.widgets import MultiCursor
+ from pylab import figure, show, np
+ t = np.arange(0.0, 2.0, 0.01)
+ s1 = np.sin(2*np.pi*t)
+ s2 = np.sin(4*np.pi*t)
+ fig = figure()
+ ax1 = fig.add_subplot(211)
+ ax1.plot(t, s1)
+ ax2 = fig.add_subplot(212, sharex=ax1)
+ ax2.plot(t, s2)
+ multi = MultiCursor(fig.canvas, (ax1, ax2), color='r', lw=1,
+ horizOn=False, vertOn=True)
+ show()
+ """
+ def __init__(self, canvas, axes, useblit=True, horizOn=False, vertOn=True,
+ **lineprops):
+
+ self.canvas = canvas
+ self.axes = axes
+ self.horizOn = horizOn
+ self.vertOn = vertOn
+
+ xmin, xmax = axes[-1].get_xlim()
+ xmid = 0.5 * (xmin + xmax)
+
+ self.visible = True
+ self.useblit = useblit and self.canvas.supports_blit
+ self.background = None
+ self.needclear = False
+
+ if self.useblit:
+ lineprops['animated'] = True
+
+ if vertOn:
+ self.vlines = [ax.axvline(xmid, visible=False, **lineprops)
+ for ax in axes]
+ else:
+ self.vlines = []
+
+ if horizOn:
+ self.hlines = []
+ for ax in axes:
+ ymin, ymax = ax.get_ylim()
+ ymid = 0.5 * (ymin + ymax)
+ hline = ax.axhline(ymid, visible=False, **lineprops)
+ self.hlines.append(hline)
+ else:
+ self.hlines = []
+
+ self.connect()
+
+ def connect(self):
+ """connect events"""
+ self._cidmotion = self.canvas.mpl_connect('motion_notify_event',
+ self.onmove)
+ self._ciddraw = self.canvas.mpl_connect('draw_event', self.clear)
+
+ def disconnect(self):
+ """disconnect events"""
+ self.canvas.mpl_disconnect(self._cidmotion)
+ self.canvas.mpl_disconnect(self._ciddraw)
+
+ def clear(self, event):
+ """clear the cursor"""
+ if self.ignore(event):
+ return
+ if self.useblit:
+ self.background = (
+ self.canvas.copy_from_bbox(self.canvas.figure.bbox))
+ for line in self.vlines + self.hlines:
+ line.set_visible(False)
+
+ def onmove(self, event):
+ if self.ignore(event):
+ return
+ if event.inaxes is None:
+ return
+
+ if not self.canvas.widgetlock.available(self):
+ return
+ self.needclear = True
+ if not self.visible:
+ return
+ if self.vertOn:
+ for line in self.vlines:
+ visible = True or line.axes == event.inaxes
+ line.set_xdata((event.xdata, event.xdata))
+ line.set_visible(visible)
+ if self.horizOn:
+ for line in self.hlines:
+ visible = line.axes == event.inaxes
+ line.set_ydata((event.ydata, event.ydata))
+ line.set_visible(visible)
+ self._update(event)
+
+ def _update(self, event):
+ if self.useblit:
+ if self.background is not None:
+ self.canvas.restore_region(self.background)
+ if self.vertOn:
+ for ax, line in zip(self.axes, self.vlines):
+ ax.draw_artist(line)
+ if self.horizOn:
+ for ax, line in zip(self.axes, self.hlines):
+ ax.draw_artist(line)
+ self.canvas.blit(self.canvas.figure.bbox)
+ else:
+ self.canvas.draw_idle()
diff --git a/backtrader/source/backtrader/plot/plot.py b/backtrader/source/backtrader/plot/plot.py
new file mode 100644
index 0000000000000000000000000000000000000000..6e92e374f7ad975a70b06efc6d0f7c02d3170b9d
--- /dev/null
+++ b/backtrader/source/backtrader/plot/plot.py
@@ -0,0 +1,886 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import bisect
+import collections
+import datetime
+import itertools
+import math
+import operator
+import sys
+
+import matplotlib
+import numpy as np # guaranteed by matplotlib
+import matplotlib.dates as mdates
+import matplotlib.font_manager as mfontmgr
+import matplotlib.legend as mlegend
+import matplotlib.ticker as mticker
+
+from ..utils.py3 import range, with_metaclass, string_types, integer_types
+from .. import AutoInfoClass, MetaParams, TimeFrame, date2num
+
+from .finance import plot_candlestick, plot_ohlc, plot_volume, plot_lineonclose
+from .formatters import (MyVolFormatter, MyDateFormatter, getlocator)
+from . import locator as loc
+from .multicursor import MultiCursor
+from .scheme import PlotScheme
+from .utils import tag_box_style
+
+
+class PInfo(object):
+ def __init__(self, sch):
+ self.sch = sch
+ self.nrows = 0
+ self.row = 0
+ self.clock = None
+ self.x = None
+ self.xlen = 0
+ self.sharex = None
+ self.figs = list()
+ self.cursors = list()
+ self.daxis = collections.OrderedDict()
+ self.vaxis = list()
+ self.zorder = dict()
+ self.coloridx = collections.defaultdict(lambda: -1)
+ self.handles = collections.defaultdict(list)
+ self.labels = collections.defaultdict(list)
+ self.legpos = collections.defaultdict(int)
+
+ self.prop = mfontmgr.FontProperties(size=self.sch.subtxtsize)
+
+ def newfig(self, figid, numfig, mpyplot):
+ fig = mpyplot.figure(figid + numfig)
+ self.figs.append(fig)
+ self.daxis = collections.OrderedDict()
+ self.vaxis = list()
+ self.row = 0
+ self.sharex = None
+ return fig
+
+ def nextcolor(self, ax):
+ self.coloridx[ax] += 1
+ return self.coloridx[ax]
+
+ def color(self, ax):
+ return self.sch.color(self.coloridx[ax])
+
+ def zordernext(self, ax):
+ z = self.zorder[ax]
+ if self.sch.zdown:
+ return z * 0.9999
+ return z * 1.0001
+
+ def zordercur(self, ax):
+ return self.zorder[ax]
+
+
+class Plot_OldSync(with_metaclass(MetaParams, object)):
+ params = (('scheme', PlotScheme()),)
+
+ def __init__(self, **kwargs):
+ for pname, pvalue in kwargs.items():
+ setattr(self.p.scheme, pname, pvalue)
+ if not hasattr(self.p.scheme, 'locbg'):
+ setattr(self.p.scheme, 'locbg', 'white')
+ setattr(self.p.scheme, 'locbgother', 'white')
+
+ def drawtag(self, ax, x, y, facecolor, edgecolor, alpha=0.9, **kwargs):
+
+ txt = ax.text(x, y, '%.2f' % y, va='center', ha='left',
+ fontsize=self.pinf.sch.subtxtsize,
+ bbox=dict(boxstyle=tag_box_style,
+ facecolor=facecolor,
+ edgecolor=edgecolor,
+ alpha=alpha),
+ # 3.0 is the minimum default for text
+ zorder=self.pinf.zorder[ax] + 3.0,
+ **kwargs)
+
+ def plot(self, strategy, figid=0, numfigs=1, iplot=True,
+ start=None, end=None, **kwargs):
+ # pfillers={}):
+ if not strategy.datas:
+ return
+
+ if not len(strategy):
+ return
+
+ if iplot:
+ if 'ipykernel' in sys.modules:
+ matplotlib.use('nbagg')
+
+ # this import must not happen before matplotlib.use
+ import matplotlib.pyplot as mpyplot
+ self.mpyplot = mpyplot
+
+ self.pinf = PInfo(self.p.scheme)
+ self.sortdataindicators(strategy)
+ self.calcrows(strategy)
+
+ st_dtime = strategy.lines.datetime.plot()
+ if start is None:
+ start = 0
+ if end is None:
+ end = len(st_dtime)
+
+ if isinstance(start, datetime.date):
+ start = bisect.bisect_left(st_dtime, date2num(start))
+
+ if isinstance(end, datetime.date):
+ end = bisect.bisect_right(st_dtime, date2num(end))
+
+ if end < 0:
+ end = len(st_dtime) + 1 + end # -1 = len() -2 = len() - 1
+
+ slen = len(st_dtime[start:end])
+ d, m = divmod(slen, numfigs)
+ pranges = list()
+ for i in range(numfigs):
+ a = d * i + start
+ if i == (numfigs - 1):
+ d += m # add remainder to last stint
+ b = a + d
+
+ pranges.append([a, b, d])
+
+ figs = []
+
+ for numfig in range(numfigs):
+ # prepare a figure
+ fig = self.pinf.newfig(figid, numfig, self.mpyplot)
+ figs.append(fig)
+
+ self.pinf.pstart, self.pinf.pend, self.pinf.psize = pranges[numfig]
+ self.pinf.xstart = self.pinf.pstart
+ self.pinf.xend = self.pinf.pend
+
+ self.pinf.clock = strategy
+ self.pinf.xreal = self.pinf.clock.datetime.plot(
+ self.pinf.pstart, self.pinf.psize)
+ self.pinf.xlen = len(self.pinf.xreal)
+ self.pinf.x = list(range(self.pinf.xlen))
+ # self.pinf.pfillers = {None: []}
+ # for key, val in pfillers.items():
+ # pfstart = bisect.bisect_left(val, self.pinf.pstart)
+ # pfend = bisect.bisect_right(val, self.pinf.pend)
+ # self.pinf.pfillers[key] = val[pfstart:pfend]
+
+ # Do the plotting
+ # Things that go always at the top (observers)
+ self.pinf.xdata = self.pinf.x
+ for ptop in self.dplotstop:
+ self.plotind(None, ptop, subinds=self.dplotsover[ptop])
+
+ # Create the rest on a per data basis
+ dt0, dt1 = self.pinf.xreal[0], self.pinf.xreal[-1]
+ for data in strategy.datas:
+ if not data.plotinfo.plot:
+ continue
+
+ self.pinf.xdata = self.pinf.x
+ xd = data.datetime.plotrange(self.pinf.xstart, self.pinf.xend)
+ if len(xd) < self.pinf.xlen:
+ self.pinf.xdata = xdata = []
+ xreal = self.pinf.xreal
+ dts = data.datetime.plot()
+ xtemp = list()
+ for dt in (x for x in dts if dt0 <= x <= dt1):
+ dtidx = bisect.bisect_left(xreal, dt)
+ xdata.append(dtidx)
+ xtemp.append(dt)
+
+ self.pinf.xstart = bisect.bisect_left(dts, xtemp[0])
+ self.pinf.xend = bisect.bisect_right(dts, xtemp[-1])
+
+ for ind in self.dplotsup[data]:
+ self.plotind(
+ data,
+ ind,
+ subinds=self.dplotsover[ind],
+ upinds=self.dplotsup[ind],
+ downinds=self.dplotsdown[ind])
+
+ self.plotdata(data, self.dplotsover[data])
+
+ for ind in self.dplotsdown[data]:
+ self.plotind(
+ data,
+ ind,
+ subinds=self.dplotsover[ind],
+ upinds=self.dplotsup[ind],
+ downinds=self.dplotsdown[ind])
+
+ cursor = MultiCursor(
+ fig.canvas, list(self.pinf.daxis.values()),
+ useblit=True,
+ horizOn=True, vertOn=True,
+ horizMulti=False, vertMulti=True,
+ horizShared=True, vertShared=False,
+ color='black', lw=1, ls=':')
+
+ self.pinf.cursors.append(cursor)
+
+ # Put the subplots as indicated by hspace
+ fig.subplots_adjust(hspace=self.pinf.sch.plotdist,
+ top=0.98, left=0.05, bottom=0.05, right=0.95)
+
+ laxis = list(self.pinf.daxis.values())
+
+ # Find last axis which is not a twinx (date locator fails there)
+ i = -1
+ while True:
+ lastax = laxis[i]
+ if lastax not in self.pinf.vaxis:
+ break
+
+ i -= 1
+
+ self.setlocators(lastax) # place the locators/fmts
+
+ # Applying fig.autofmt_xdate if the data axis is the last one
+ # breaks the presentation of the date labels. why?
+ # Applying the manual rotation with setp cures the problem
+ # but the labels from all axis but the last have to be hidden
+ for ax in laxis:
+ self.mpyplot.setp(ax.get_xticklabels(), visible=False)
+
+ self.mpyplot.setp(lastax.get_xticklabels(), visible=True,
+ rotation=self.pinf.sch.tickrotation)
+
+ # Things must be tight along the x axis (to fill both ends)
+ axtight = 'x' if not self.pinf.sch.ytight else 'both'
+ self.mpyplot.autoscale(enable=True, axis=axtight, tight=True)
+
+ return figs
+
+ def setlocators(self, ax):
+ clock = sorted(self.pinf.clock.datas,
+ key=lambda x: (x._timeframe, x._compression))[0]
+
+ comp = getattr(clock, '_compression', 1)
+ tframe = getattr(clock, '_timeframe', TimeFrame.Days)
+
+ if self.pinf.sch.fmt_x_data is None:
+ if tframe == TimeFrame.Years:
+ fmtdata = '%Y'
+ elif tframe == TimeFrame.Months:
+ fmtdata = '%Y-%m'
+ elif tframe == TimeFrame.Weeks:
+ fmtdata = '%Y-%m-%d'
+ elif tframe == TimeFrame.Days:
+ fmtdata = '%Y-%m-%d'
+ elif tframe == TimeFrame.Minutes:
+ fmtdata = '%Y-%m-%d %H:%M'
+ elif tframe == TimeFrame.Seconds:
+ fmtdata = '%Y-%m-%d %H:%M:%S'
+ elif tframe == TimeFrame.MicroSeconds:
+ fmtdata = '%Y-%m-%d %H:%M:%S.%f'
+ elif tframe == TimeFrame.Ticks:
+ fmtdata = '%Y-%m-%d %H:%M:%S.%f'
+ else:
+ fmtdata = self.pinf.sch.fmt_x_data
+
+ fordata = MyDateFormatter(self.pinf.xreal, fmt=fmtdata)
+ for dax in self.pinf.daxis.values():
+ dax.fmt_xdata = fordata
+
+ # Major locator / formatter
+ locmajor = loc.AutoDateLocator(self.pinf.xreal)
+ ax.xaxis.set_major_locator(locmajor)
+ if self.pinf.sch.fmt_x_ticks is None:
+ autofmt = loc.AutoDateFormatter(self.pinf.xreal, locmajor)
+ else:
+ autofmt = MyDateFormatter(self.pinf.xreal,
+ fmt=self.pinf.sch.fmt_x_ticks)
+ ax.xaxis.set_major_formatter(autofmt)
+
+ def calcrows(self, strategy):
+ # Calculate the total number of rows
+ rowsmajor = self.pinf.sch.rowsmajor
+ rowsminor = self.pinf.sch.rowsminor
+ nrows = 0
+
+ datasnoplot = 0
+ for data in strategy.datas:
+ if not data.plotinfo.plot:
+ # neither data nor indicators nor volume add rows
+ datasnoplot += 1
+ self.dplotsup.pop(data, None)
+ self.dplotsdown.pop(data, None)
+ self.dplotsover.pop(data, None)
+
+ else:
+ pmaster = data.plotinfo.plotmaster
+ if pmaster is data:
+ pmaster = None
+ if pmaster is not None:
+ # data doesn't add a row, but volume may
+ if self.pinf.sch.volume:
+ nrows += rowsminor
+ else:
+ # data adds rows, volume may
+ nrows += rowsmajor
+ if self.pinf.sch.volume and not self.pinf.sch.voloverlay:
+ nrows += rowsminor
+
+ if False:
+ # Datas and volumes
+ nrows += (len(strategy.datas) - datasnoplot) * rowsmajor
+ if self.pinf.sch.volume and not self.pinf.sch.voloverlay:
+ nrows += (len(strategy.datas) - datasnoplot) * rowsminor
+
+ # top indicators/observers
+ nrows += len(self.dplotstop) * rowsminor
+
+ # indicators above datas
+ nrows += sum(len(v) for v in self.dplotsup.values())
+ nrows += sum(len(v) for v in self.dplotsdown.values())
+
+ self.pinf.nrows = nrows
+
+ def newaxis(self, obj, rowspan):
+ ax = self.mpyplot.subplot2grid(
+ (self.pinf.nrows, 1), (self.pinf.row, 0),
+ rowspan=rowspan, sharex=self.pinf.sharex)
+
+ # update the sharex information if not available
+ if self.pinf.sharex is None:
+ self.pinf.sharex = ax
+
+ # update the row index with the taken rows
+ self.pinf.row += rowspan
+
+ # save the mapping indicator - axis and return
+ self.pinf.daxis[obj] = ax
+
+ # Activate grid in all axes if requested
+ ax.yaxis.tick_right()
+ ax.grid(self.pinf.sch.grid, which='both')
+
+ return ax
+
+ def plotind(self, iref, ind,
+ subinds=None, upinds=None, downinds=None,
+ masterax=None):
+
+ sch = self.p.scheme
+
+ # check subind
+ subinds = subinds or []
+ upinds = upinds or []
+ downinds = downinds or []
+
+ # plot subindicators on self with independent axis above
+ for upind in upinds:
+ self.plotind(iref, upind)
+
+ # Get an axis for this plot
+ ax = masterax or self.newaxis(ind, rowspan=self.pinf.sch.rowsminor)
+
+ indlabel = ind.plotlabel()
+
+ # Scan lines quickly to find out if some lines have to be skipped for
+ # legend (because matplotlib reorders the legend)
+ toskip = 0
+ for lineidx in range(ind.size()):
+ line = ind.lines[lineidx]
+ linealias = ind.lines._getlinealias(lineidx)
+ lineplotinfo = getattr(ind.plotlines, '_%d' % lineidx, None)
+ if not lineplotinfo:
+ lineplotinfo = getattr(ind.plotlines, linealias, None)
+ if not lineplotinfo:
+ lineplotinfo = AutoInfoClass()
+ pltmethod = lineplotinfo._get('_method', 'plot')
+ if pltmethod != 'plot':
+ toskip += 1 - lineplotinfo._get('_plotskip', False)
+
+ if toskip >= ind.size():
+ toskip = 0
+
+ for lineidx in range(ind.size()):
+ line = ind.lines[lineidx]
+ linealias = ind.lines._getlinealias(lineidx)
+
+ lineplotinfo = getattr(ind.plotlines, '_%d' % lineidx, None)
+ if not lineplotinfo:
+ lineplotinfo = getattr(ind.plotlines, linealias, None)
+
+ if not lineplotinfo:
+ lineplotinfo = AutoInfoClass()
+
+ if lineplotinfo._get('_plotskip', False):
+ continue
+
+ # Legend label only when plotting 1st line
+ if masterax and not ind.plotinfo.plotlinelabels:
+ label = indlabel * (not toskip) or '_nolegend'
+ else:
+ label = (indlabel + '\n') * (not toskip)
+ label += lineplotinfo._get('_name', '') or linealias
+
+ toskip -= 1 # one line less until legend can be added
+
+ # plot data
+ lplot = line.plotrange(self.pinf.xstart, self.pinf.xend)
+
+ # Global and generic for indicator
+ if self.pinf.sch.linevalues and ind.plotinfo.plotlinevalues:
+ plotlinevalue = lineplotinfo._get('_plotvalue', True)
+ if plotlinevalue and not math.isnan(lplot[-1]):
+ label += ' %.2f' % lplot[-1]
+
+ plotkwargs = dict()
+ linekwargs = lineplotinfo._getkwargs(skip_=True)
+
+ if linekwargs.get('color', None) is None:
+ if not lineplotinfo._get('_samecolor', False):
+ self.pinf.nextcolor(ax)
+ plotkwargs['color'] = self.pinf.color(ax)
+
+ plotkwargs.update(dict(aa=True, label=label))
+ plotkwargs.update(**linekwargs)
+
+ if ax in self.pinf.zorder:
+ plotkwargs['zorder'] = self.pinf.zordernext(ax)
+
+ pltmethod = getattr(ax, lineplotinfo._get('_method', 'plot'))
+
+ xdata, lplotarray = self.pinf.xdata, lplot
+ if lineplotinfo._get('_skipnan', False):
+ # Get the full array and a mask to skipnan
+ lplotarray = np.array(lplot)
+ lplotmask = np.isfinite(lplotarray)
+
+ # Get both the axis and the data masked
+ lplotarray = lplotarray[lplotmask]
+ xdata = np.array(xdata)[lplotmask]
+
+ plottedline = pltmethod(xdata, lplotarray, **plotkwargs)
+ try:
+ plottedline = plottedline[0]
+ except:
+ # Possibly a container of artists (when plotting bars)
+ pass
+
+ self.pinf.zorder[ax] = plottedline.get_zorder()
+
+ vtags = lineplotinfo._get('plotvaluetags', True)
+ if self.pinf.sch.valuetags and vtags:
+ linetag = lineplotinfo._get('_plotvaluetag', True)
+ if linetag and not math.isnan(lplot[-1]):
+ # line has valid values, plot a tag for the last value
+ self.drawtag(ax, len(self.pinf.xreal), lplot[-1],
+ facecolor=self.pinf.sch.locbgother,
+ edgecolor=self.pinf.color(ax))
+
+ farts = (('_gt', operator.gt), ('_lt', operator.lt), ('', None),)
+ for fcmp, fop in farts:
+ fattr = '_fill' + fcmp
+ fref, fcol = lineplotinfo._get(fattr, (None, None))
+ if fref is not None:
+ y1 = np.array(lplot)
+ if isinstance(fref, integer_types):
+ y2 = np.full_like(y1, fref)
+ else: # string, naming a line, nothing else is supported
+ l2 = getattr(ind, fref)
+ prl2 = l2.plotrange(self.pinf.xstart, self.pinf.xend)
+ y2 = np.array(prl2)
+ kwargs = dict()
+ if fop is not None:
+ kwargs['where'] = fop(y1, y2)
+
+ falpha = self.pinf.sch.fillalpha
+ if isinstance(fcol, (list, tuple)):
+ fcol, falpha = fcol
+
+ ax.fill_between(self.pinf.xdata, y1, y2,
+ facecolor=fcol,
+ alpha=falpha,
+ interpolate=True,
+ **kwargs)
+
+ # plot subindicators that were created on self
+ for subind in subinds:
+ self.plotind(iref, subind, subinds=self.dplotsover[subind],
+ masterax=ax)
+
+ if not masterax:
+ # adjust margin if requested ... general of particular
+ ymargin = ind.plotinfo._get('plotymargin', 0.0)
+ ymargin = max(ymargin, self.pinf.sch.yadjust)
+ if ymargin:
+ ax.margins(y=ymargin)
+
+ # Set specific or generic ticks
+ yticks = ind.plotinfo._get('plotyticks', [])
+ if not yticks:
+ yticks = ind.plotinfo._get('plotyhlines', [])
+
+ if yticks:
+ ax.set_yticks(yticks)
+ else:
+ locator = mticker.MaxNLocator(nbins=4, prune='both')
+ ax.yaxis.set_major_locator(locator)
+
+ # Set specific hlines if asked to
+ hlines = ind.plotinfo._get('plothlines', [])
+ if not hlines:
+ hlines = ind.plotinfo._get('plotyhlines', [])
+ for hline in hlines:
+ ax.axhline(hline, color=self.pinf.sch.hlinescolor,
+ ls=self.pinf.sch.hlinesstyle,
+ lw=self.pinf.sch.hlineswidth)
+
+ if self.pinf.sch.legendind and \
+ ind.plotinfo._get('plotlegend', True):
+
+ handles, labels = ax.get_legend_handles_labels()
+ # Ensure that we have something to show
+ if labels:
+ # location can come from the user
+ loc = ind.plotinfo.legendloc or self.pinf.sch.legendindloc
+
+ # Legend done here to ensure it includes all plots
+ legend = ax.legend(loc=loc,
+ numpoints=1, frameon=False,
+ shadow=False, fancybox=False,
+ prop=self.pinf.prop)
+
+ # legend.set_title(indlabel, prop=self.pinf.prop)
+ # hack: if title is set. legend has a Vbox for the labels
+ # which has a default "center" set
+ legend._legend_box.align = 'left'
+
+ # plot subindicators on self with independent axis below
+ for downind in downinds:
+ self.plotind(iref, downind)
+
+ def plotvolume(self, data, opens, highs, lows, closes, volumes, label):
+ pmaster = data.plotinfo.plotmaster
+ if pmaster is data:
+ pmaster = None
+ voloverlay = (self.pinf.sch.voloverlay and pmaster is None)
+
+ # if sefl.pinf.sch.voloverlay:
+ if voloverlay:
+ rowspan = self.pinf.sch.rowsmajor
+ else:
+ rowspan = self.pinf.sch.rowsminor
+
+ ax = self.newaxis(data.volume, rowspan=rowspan)
+
+ # if self.pinf.sch.voloverlay:
+ if voloverlay:
+ volalpha = self.pinf.sch.voltrans
+ else:
+ volalpha = 1.0
+
+ maxvol = volylim = max(volumes)
+ if maxvol:
+
+ # Plot the volume (no matter if as overlay or standalone)
+ vollabel = label
+ volplot, = plot_volume(ax, self.pinf.xdata, opens, closes, volumes,
+ colorup=self.pinf.sch.volup,
+ colordown=self.pinf.sch.voldown,
+ alpha=volalpha, label=vollabel)
+
+ nbins = 6
+ prune = 'both'
+ # if self.pinf.sch.voloverlay:
+ if voloverlay:
+ # store for a potential plot over it
+ nbins = int(nbins / self.pinf.sch.volscaling)
+ prune = None
+
+ volylim /= self.pinf.sch.volscaling
+ ax.set_ylim(0, volylim, auto=True)
+ else:
+ # plot a legend
+ handles, labels = ax.get_legend_handles_labels()
+ if handles:
+
+ # location can come from the user
+ loc = data.plotinfo.legendloc or self.pinf.sch.legendindloc
+
+ # Legend done here to ensure it includes all plots
+ legend = ax.legend(loc=loc,
+ numpoints=1, frameon=False,
+ shadow=False, fancybox=False,
+ prop=self.pinf.prop)
+
+ locator = mticker.MaxNLocator(nbins=nbins, prune=prune)
+ ax.yaxis.set_major_locator(locator)
+ ax.yaxis.set_major_formatter(MyVolFormatter(maxvol))
+
+ if not maxvol:
+ ax.set_yticks([])
+ return None
+
+ return volplot
+
+ def plotdata(self, data, indicators):
+ for ind in indicators:
+ upinds = self.dplotsup[ind]
+ for upind in upinds:
+ self.plotind(data, upind,
+ subinds=self.dplotsover[upind],
+ upinds=self.dplotsup[upind],
+ downinds=self.dplotsdown[upind])
+
+ opens = data.open.plotrange(self.pinf.xstart, self.pinf.xend)
+ highs = data.high.plotrange(self.pinf.xstart, self.pinf.xend)
+ lows = data.low.plotrange(self.pinf.xstart, self.pinf.xend)
+ closes = data.close.plotrange(self.pinf.xstart, self.pinf.xend)
+ volumes = data.volume.plotrange(self.pinf.xstart, self.pinf.xend)
+
+ vollabel = 'Volume'
+ pmaster = data.plotinfo.plotmaster
+ if pmaster is data:
+ pmaster = None
+
+ datalabel = ''
+ if hasattr(data, '_name') and data._name:
+ datalabel += data._name
+
+ voloverlay = (self.pinf.sch.voloverlay and pmaster is None)
+
+ if not voloverlay:
+ vollabel += ' ({})'.format(datalabel)
+
+ # if self.pinf.sch.volume and self.pinf.sch.voloverlay:
+ axdatamaster = None
+ if self.pinf.sch.volume and voloverlay:
+ volplot = self.plotvolume(
+ data, opens, highs, lows, closes, volumes, vollabel)
+ axvol = self.pinf.daxis[data.volume]
+ ax = axvol.twinx()
+ self.pinf.daxis[data] = ax
+ self.pinf.vaxis.append(ax)
+ else:
+ if pmaster is None:
+ ax = self.newaxis(data, rowspan=self.pinf.sch.rowsmajor)
+ elif getattr(data.plotinfo, 'sameaxis', False):
+ axdatamaster = self.pinf.daxis[pmaster]
+ ax = axdatamaster
+ else:
+ axdatamaster = self.pinf.daxis[pmaster]
+ ax = axdatamaster.twinx()
+ self.pinf.vaxis.append(ax)
+
+ if hasattr(data, '_compression') and \
+ hasattr(data, '_timeframe'):
+ tfname = TimeFrame.getname(data._timeframe, data._compression)
+ datalabel += ' (%d %s)' % (data._compression, tfname)
+
+ plinevalues = getattr(data.plotinfo, 'plotlinevalues', True)
+ if self.pinf.sch.style.startswith('line'):
+ if self.pinf.sch.linevalues and plinevalues:
+ datalabel += ' C:%.2f' % closes[-1]
+
+ if axdatamaster is None:
+ color = self.pinf.sch.loc
+ else:
+ self.pinf.nextcolor(axdatamaster)
+ color = self.pinf.color(axdatamaster)
+
+ plotted = plot_lineonclose(
+ ax, self.pinf.xdata, closes,
+ color=color, label=datalabel)
+ else:
+ if self.pinf.sch.linevalues and plinevalues:
+ datalabel += ' O:%.2f H:%.2f L:%.2f C:%.2f' % \
+ (opens[-1], highs[-1], lows[-1], closes[-1])
+ if self.pinf.sch.style.startswith('candle'):
+ plotted = plot_candlestick(
+ ax, self.pinf.xdata, opens, highs, lows, closes,
+ colorup=self.pinf.sch.barup,
+ colordown=self.pinf.sch.bardown,
+ label=datalabel,
+ alpha=self.pinf.sch.baralpha,
+ fillup=self.pinf.sch.barupfill,
+ filldown=self.pinf.sch.bardownfill)
+
+ elif self.pinf.sch.style.startswith('bar') or True:
+ # final default option -- should be "else"
+ plotted = plot_ohlc(
+ ax, self.pinf.xdata, opens, highs, lows, closes,
+ colorup=self.pinf.sch.barup,
+ colordown=self.pinf.sch.bardown,
+ label=datalabel)
+
+ self.pinf.zorder[ax] = plotted[0].get_zorder()
+
+ # Code to place a label at the right hand side with the last value
+ vtags = data.plotinfo._get('plotvaluetags', True)
+ if self.pinf.sch.valuetags and vtags:
+ self.drawtag(ax, len(self.pinf.xreal), closes[-1],
+ facecolor=self.pinf.sch.locbg,
+ edgecolor=self.pinf.sch.loc)
+
+ ax.yaxis.set_major_locator(mticker.MaxNLocator(prune='both'))
+ # make sure "over" indicators do not change our scale
+ if data.plotinfo._get('plotylimited', True):
+ if axdatamaster is None:
+ ax.set_ylim(ax.get_ylim())
+
+ if self.pinf.sch.volume:
+ # if not self.pinf.sch.voloverlay:
+ if not voloverlay:
+ self.plotvolume(
+ data, opens, highs, lows, closes, volumes, vollabel)
+ else:
+ # Prepare overlay scaling/pushup or manage own axis
+ if self.pinf.sch.volpushup:
+ # push up overlaid axis by lowering the bottom limit
+ axbot, axtop = ax.get_ylim()
+ axbot *= (1.0 - self.pinf.sch.volpushup)
+ ax.set_ylim(axbot, axtop)
+
+ for ind in indicators:
+ self.plotind(data, ind, subinds=self.dplotsover[ind], masterax=ax)
+
+ handles, labels = ax.get_legend_handles_labels()
+ a = axdatamaster or ax
+ if handles:
+ # put data and volume legend entries in the 1st positions
+ # because they are "collections" they are considered after Line2D
+ # for the legend entries, which is not our desire
+ # if self.pinf.sch.volume and self.pinf.sch.voloverlay:
+
+ ai = self.pinf.legpos[a]
+ if self.pinf.sch.volume and voloverlay:
+ if volplot:
+ # even if volume plot was requested, there may be no volume
+ labels.insert(ai, vollabel)
+ handles.insert(ai, volplot)
+
+ didx = labels.index(datalabel)
+ labels.insert(ai, labels.pop(didx))
+ handles.insert(ai, handles.pop(didx))
+
+ if axdatamaster is None:
+ self.pinf.handles[ax] = handles
+ self.pinf.labels[ax] = labels
+ else:
+ self.pinf.handles[axdatamaster] = handles
+ self.pinf.labels[axdatamaster] = labels
+ # self.pinf.handles[axdatamaster].extend(handles)
+ # self.pinf.labels[axdatamaster].extend(labels)
+
+ h = self.pinf.handles[a]
+ l = self.pinf.labels[a]
+
+ axlegend = a
+ loc = data.plotinfo.legendloc or self.pinf.sch.legenddataloc
+ legend = axlegend.legend(h, l,
+ loc=loc,
+ frameon=False, shadow=False,
+ fancybox=False, prop=self.pinf.prop,
+ numpoints=1, ncol=1)
+
+ # hack: if title is set. legend has a Vbox for the labels
+ # which has a default "center" set
+ legend._legend_box.align = 'left'
+
+ for ind in indicators:
+ downinds = self.dplotsdown[ind]
+ for downind in downinds:
+ self.plotind(data, downind,
+ subinds=self.dplotsover[downind],
+ upinds=self.dplotsup[downind],
+ downinds=self.dplotsdown[downind])
+
+ self.pinf.legpos[a] = len(self.pinf.handles[a])
+
+ if data.plotinfo._get('plotlog', False):
+ a = axdatamaster or ax
+ a.set_yscale('log')
+
+ def show(self):
+ self.mpyplot.show()
+
+ def savefig(self, fig, filename, width=16, height=9, dpi=300, tight=True):
+ fig.set_size_inches(width, height)
+ bbox_inches = 'tight' * tight or None
+ fig.savefig(filename, dpi=dpi, bbox_inches=bbox_inches)
+
+ def sortdataindicators(self, strategy):
+ # These lists/dictionaries hold the subplots that go above each data
+ self.dplotstop = list()
+ self.dplotsup = collections.defaultdict(list)
+ self.dplotsdown = collections.defaultdict(list)
+ self.dplotsover = collections.defaultdict(list)
+
+ # Sort observers in the different lists/dictionaries
+ for x in strategy.getobservers():
+ if not x.plotinfo.plot or x.plotinfo.plotskip:
+ continue
+
+ if x.plotinfo.subplot:
+ self.dplotstop.append(x)
+ else:
+ key = getattr(x._clock, 'owner', x._clock)
+ self.dplotsover[key].append(x)
+
+ # Sort indicators in the different lists/dictionaries
+ for x in strategy.getindicators():
+ if not hasattr(x, 'plotinfo'):
+ # no plotting support - so far LineSingle derived classes
+ continue
+
+ if not x.plotinfo.plot or x.plotinfo.plotskip:
+ continue
+
+ x._plotinit() # will be plotted ... call its init function
+
+ # support LineSeriesStub which has "owner" to point to the data
+ key = getattr(x._clock, 'owner', x._clock)
+ if key is strategy: # a LinesCoupler
+ key = strategy.data
+
+ if getattr(x.plotinfo, 'plotforce', False):
+ if key not in strategy.datas:
+ datas = strategy.datas
+ while True:
+ if key not in strategy.datas:
+ key = key._clock
+ else:
+ break
+
+ xpmaster = x.plotinfo.plotmaster
+ if xpmaster is x:
+ xpmaster = None
+ if xpmaster is not None:
+ key = xpmaster
+
+ if x.plotinfo.subplot and xpmaster is None:
+ if x.plotinfo.plotabove:
+ self.dplotsup[key].append(x)
+ else:
+ self.dplotsdown[key].append(x)
+ else:
+ self.dplotsover[key].append(x)
+
+
+Plot = Plot_OldSync
diff --git a/backtrader/source/backtrader/plot/scheme.py b/backtrader/source/backtrader/plot/scheme.py
new file mode 100644
index 0000000000000000000000000000000000000000..e6572a4a76ffcb950f47b1b1f91badf79f286efa
--- /dev/null
+++ b/backtrader/source/backtrader/plot/scheme.py
@@ -0,0 +1,189 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+tableau20 = [
+ 'steelblue', # 0
+ 'lightsteelblue', # 1
+ 'darkorange', # 2
+ 'peachpuff', # 3
+ 'green', # 4
+ 'lightgreen', # 5
+ 'crimson', # 6
+ 'lightcoral', # 7
+ 'mediumpurple', # 8
+ 'thistle', # 9
+ 'saddlebrown', # 10
+ 'rosybrown', # 11
+ 'orchid', # 12
+ 'lightpink', # 13
+ 'gray', # 14
+ 'lightgray', # 15
+ 'olive', # 16
+ 'palegoldenrod', # 17
+ 'mediumturquoise', # 18
+ 'paleturquoise', # 19
+]
+
+tableau10 = [
+ 'blue', # 'steelblue', # 0
+ 'darkorange', # 1
+ 'green', # 2
+ 'crimson', # 3
+ 'mediumpurple', # 4
+ 'saddlebrown', # 5
+ 'orchid', # 6
+ 'gray', # 7
+ 'olive', # 8
+ 'mediumturquoise', # 9
+]
+
+tableau10_light = [
+ 'lightsteelblue', # 0
+ 'peachpuff', # 1
+ 'lightgreen', # 2
+ 'lightcoral', # 3
+ 'thistle', # 4
+ 'rosybrown', # 5
+ 'lightpink', # 6
+ 'lightgray', # 7
+ 'palegoldenrod', # 8
+ 'paleturquoise', # 9
+]
+
+tab10_index = [3, 0, 2, 1, 2, 4, 5, 6, 7, 8, 9]
+
+
+class PlotScheme(object):
+ def __init__(self):
+ # to have a tight packing on the chart wether only the x axis or also
+ # the y axis have (see matplotlib)
+ self.ytight = False
+
+ # y-margin (top/bottom) for the subcharts. This will not overrule the
+ # option plotinfo.plotymargin
+ self.yadjust = 0.0
+ # Each new line is in z-order below the previous one. change it False
+ # to have lines paint above the previous line
+ self.zdown = True
+ # Rotation of the date labes on the x axis
+ self.tickrotation = 15
+
+ # How many "subparts" takes a major chart (datas) in the overall chart
+ # This is proportional to the total number of subcharts
+ self.rowsmajor = 5
+
+ # How many "subparts" takes a minor chart (indicators/observers) in the
+ # overall chart. This is proportional to the total number of subcharts
+ # Together with rowsmajor, this defines a proportion ratio betwen data
+ # charts and indicators/observers charts
+ self.rowsminor = 1
+
+ # Distance in between subcharts
+ self.plotdist = 0.0
+
+ # Have a grid in the background of all charts
+ self.grid = True
+
+ # Default plotstyle for the OHLC bars which (line -> line on close)
+ # Other options: 'bar' and 'candle'
+ self.style = 'line'
+
+ # Default color for the 'line on close' plot
+ self.loc = 'black'
+ # Default color for a bullish bar/candle (0.75 -> intensity of gray)
+ self.barup = '0.75'
+ # Default color for a bearish bar/candle
+ self.bardown = 'red'
+ # Level of transparency to apply to bars/cancles (NOT USED)
+ self.bartrans = 1.0
+
+ # Wether the candlesticks have to be filled or be transparent
+ self.barupfill = True
+ self.bardownfill = True
+
+ # Opacity for the filled candlesticks (1.0 opaque - 0.0 transparent)
+ self.baralpha = 1.0
+
+ # Alpha blending for fill areas between lines (_fill_gt and _fill_lt)
+ self.fillalpha = 0.20
+
+ # Wether to plot volume or not. Note: if the data in question has no
+ # volume values, volume plotting will be skipped even if this is True
+ self.volume = True
+
+ # Wether to overlay the volume on the data or use a separate subchart
+ self.voloverlay = True
+ # Scaling of the volume to the data when plotting as overlay
+ self.volscaling = 0.33
+ # Pushing overlay volume up for better visibiliy. Experimentation
+ # needed if the volume and data overlap too much
+ self.volpushup = 0.00
+
+ # Default colour for the volume of a bullish day
+ self.volup = '#aaaaaa' # 0.66 of gray
+ # Default colour for the volume of a bearish day
+ self.voldown = '#cc6073' # (204, 96, 115)
+ # Transparency to apply to the volume when overlaying
+ self.voltrans = 0.50
+
+ # Transparency for text labels (NOT USED CURRENTLY)
+ self.subtxttrans = 0.66
+ # Default font text size for labels on the chart
+ self.subtxtsize = 9
+
+ # Transparency for the legend (NOT USED CURRENTLY)
+ self.legendtrans = 0.25
+ # Wether indicators have a leged displaey in their charts
+ self.legendind = True
+ # Location of the legend for indicators (see matplotlib)
+ self.legendindloc = 'upper left'
+
+ # Location of the legend for datafeeds (see matplotlib)
+ self.legenddataloc = 'upper left'
+
+ # Plot the last value of a line after the Object name
+ self.linevalues = True
+
+ # Plot a tag at the end of each line with the last value
+ self.valuetags = True
+
+ # Default color for horizontal lines (see plotinfo.plothlines)
+ self.hlinescolor = '0.66' # shade of gray
+ # Default style for horizontal lines
+ self.hlinesstyle = '--'
+ # Default width for horizontal lines
+ self.hlineswidth = 1.0
+
+ # Default color scheme: Tableau 10
+ self.lcolors = tableau10
+
+ # strftime Format string for the display of ticks on the x axis
+ self.fmt_x_ticks = '%Y-%m-%d %H:%M'
+
+ # strftime Format string for the display of data points values
+ self.fmt_x_data = None
+
+ def color(self, idx):
+ colidx = tab10_index[idx % len(tab10_index)]
+ return self.lcolors[colidx]
diff --git a/backtrader/source/backtrader/plot/utils.py b/backtrader/source/backtrader/plot/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..cb187b26e3331a76d980ecee473d05f42ad46ade
--- /dev/null
+++ b/backtrader/source/backtrader/plot/utils.py
@@ -0,0 +1,93 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from colorsys import rgb_to_hls as rgb2hls, hls_to_rgb as hls2rgb
+
+import matplotlib.colors as mplcolors
+import matplotlib.path as mplpath
+
+
+def tag_box_style(x0, y0, width, height, mutation_size, mutation_aspect=1):
+ """
+ Given the location and size of the box, return the path of
+ the box around it.
+
+ - *x0*, *y0*, *width*, *height* : location and size of the box
+ - *mutation_size* : a reference scale for the mutation.
+ - *aspect_ratio* : aspect-ration for the mutation.
+ """
+
+ # note that we are ignoring mutation_aspect. This is okay in general.
+ mypad = 0.2
+ pad = mutation_size * mypad
+
+ # width and height with padding added.
+ width, height = width + 2.*pad, height + 2.*pad,
+
+ # boundary of the padded box
+ x0, y0 = x0-pad, y0-pad,
+ x1, y1 = x0+width, y0 + height
+
+ cp = [(x0, y0),
+ (x1, y0), (x1, y1), (x0, y1),
+ (x0-pad, (y0+y1)/2.), (x0, y0),
+ (x0, y0)]
+
+ com = [mplpath.Path.MOVETO,
+ mplpath.Path.LINETO, mplpath.Path.LINETO, mplpath.Path.LINETO,
+ mplpath.Path.LINETO, mplpath.Path.LINETO,
+ mplpath.Path.CLOSEPOLY]
+
+ path = mplpath.Path(cp, com)
+
+ return path
+
+
+def shade_color(color, percent):
+ """Shade Color
+ This color utility function allows the user to easily darken or
+ lighten a color for plotting purposes.
+ Parameters
+ ----------
+ color : string, list, hexvalue
+ Any acceptable Matplotlib color value, such as
+ 'red', 'slategrey', '#FFEE11', (1,0,0)
+ percent : the amount by which to brighten or darken the color.
+ Returns
+ -------
+ color : tuple of floats
+ tuple representing converted rgb values
+ """
+
+ rgb = mplcolors.colorConverter.to_rgb(color)
+
+ h, l, s = rgb2hls(*rgb)
+
+ l *= 1 + float(percent)/100
+
+ l = min(1, l)
+ l = max(0, l)
+
+ r, g, b = hls2rgb(h, l, s)
+
+ return r, g, b
diff --git a/backtrader/source/backtrader/position.py b/backtrader/source/backtrader/position.py
new file mode 100644
index 0000000000000000000000000000000000000000..f7f2f764f34c23cd2db32dd5f18d2ce9960d103c
--- /dev/null
+++ b/backtrader/source/backtrader/position.py
@@ -0,0 +1,206 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from copy import copy
+
+
+class Position(object):
+ '''
+ Keeps and updates the size and price of a position. The object has no
+ relationship to any asset. It only keeps size and price.
+
+ Member Attributes:
+ - size (int): current size of the position
+ - price (float): current price of the position
+
+ The Position instances can be tested using len(position) to see if size
+ is not null
+ '''
+
+ def __str__(self):
+ items = list()
+ items.append('--- Position Begin')
+ items.append('- Size: {}'.format(self.size))
+ items.append('- Price: {}'.format(self.price))
+ items.append('- Price orig: {}'.format(self.price_orig))
+ items.append('- Closed: {}'.format(self.upclosed))
+ items.append('- Opened: {}'.format(self.upopened))
+ items.append('- Adjbase: {}'.format(self.adjbase))
+ items.append('--- Position End')
+ return '\n'.join(items)
+
+ def __init__(self, size=0, price=0.0):
+ self.size = size
+ if size:
+ self.price = self.price_orig = price
+ else:
+ self.price = 0.0
+
+ self.adjbase = None
+
+ self.upopened = size
+ self.upclosed = 0
+ self.set(size, price)
+
+ self.updt = None
+
+ def fix(self, size, price):
+ oldsize = self.size
+ self.size = size
+ self.price = price
+ return self.size == oldsize
+
+ def set(self, size, price):
+ if self.size > 0:
+ if size > self.size:
+ self.upopened = size - self.size # new 10 - old 5 -> 5
+ self.upclosed = 0
+ else:
+ # same side min(0, 3) -> 0 / reversal min(0, -3) -> -3
+ self.upopened = min(0, size)
+ # same side min(10, 10 - 5) -> 5
+ # reversal min(10, 10 - -5) -> min(10, 15) -> 10
+ self.upclosed = min(self.size, self.size - size)
+
+ elif self.size < 0:
+ if size < self.size:
+ self.upopened = size - self.size # ex: -5 - -3 -> -2
+ self.upclosed = 0
+ else:
+ # same side max(0, -5) -> 0 / reversal max(0, 5) -> 5
+ self.upopened = max(0, size)
+ # same side max(-10, -10 - -5) -> max(-10, -5) -> -5
+ # reversal max(-10, -10 - 5) -> max(-10, -15) -> -10
+ self.upclosed = max(self.size, self.size - size)
+
+ else: # self.size == 0
+ self.upopened = self.size
+ self.upclosed = 0
+
+ self.size = size
+ self.price_orig = self.price
+ if size:
+ self.price = price
+ else:
+ self.price = 0.0
+
+ return self.size, self.price, self.upopened, self.upclosed
+
+ def __len__(self):
+ return abs(self.size)
+
+ def __bool__(self):
+ return bool(self.size != 0)
+
+ __nonzero__ = __bool__
+
+ def clone(self):
+ return Position(size=self.size, price=self.price)
+
+ def pseudoupdate(self, size, price):
+ return Position(self.size, self.price).update(size, price)
+
+ def update(self, size, price, dt=None):
+ '''
+ Updates the current position and returns the updated size, price and
+ units used to open/close a position
+
+ Args:
+ size (int): amount to update the position size
+ size < 0: A sell operation has taken place
+ size > 0: A buy operation has taken place
+
+ price (float):
+ Must always be positive to ensure consistency
+
+ Returns:
+ A tuple (non-named) contaning
+ size - new position size
+ Simply the sum of the existing size plus the "size" argument
+ price - new position price
+ If a position is increased the new average price will be
+ returned
+ If a position is reduced the price of the remaining size
+ does not change
+ If a position is closed the price is nullified
+ If a position is reversed the price is the price given as
+ argument
+ opened - amount of contracts from argument "size" that were used
+ to open/increase a position.
+ A position can be opened from 0 or can be a reversal.
+ If a reversal is performed then opened is less than "size",
+ because part of "size" will have been used to close the
+ existing position
+ closed - amount of units from arguments "size" that were used to
+ close/reduce a position
+
+ Both opened and closed carry the same sign as the "size" argument
+ because they refer to a part of the "size" argument
+ '''
+ self.datetime = dt # record datetime update (datetime.datetime)
+
+ self.price_orig = self.price
+ oldsize = self.size
+ self.size += size
+
+ if not self.size:
+ # Update closed existing position
+ opened, closed = 0, size
+ self.price = 0.0
+ elif not oldsize:
+ # Update opened a position from 0
+ opened, closed = size, 0
+ self.price = price
+ elif oldsize > 0: # existing "long" position updated
+
+ if size > 0: # increased position
+ opened, closed = size, 0
+ self.price = (self.price * oldsize + size * price) / self.size
+
+ elif self.size > 0: # reduced position
+ opened, closed = 0, size
+ # self.price = self.price
+
+ else: # self.size < 0 # reversed position form plus to minus
+ opened, closed = self.size, -oldsize
+ self.price = price
+
+ else: # oldsize < 0 - existing short position updated
+
+ if size < 0: # increased position
+ opened, closed = size, 0
+ self.price = (self.price * oldsize + size * price) / self.size
+
+ elif self.size < 0: # reduced position
+ opened, closed = 0, size
+ # self.price = self.price
+
+ else: # self.size > 0 - reversed position from minus to plus
+ opened, closed = self.size, -oldsize
+ self.price = price
+
+ self.upopened = opened
+ self.upclosed = closed
+
+ return self.size, self.price, opened, closed
diff --git a/backtrader/source/backtrader/resamplerfilter.py b/backtrader/source/backtrader/resamplerfilter.py
new file mode 100644
index 0000000000000000000000000000000000000000..73257fd30c19e33fb2dc7f3a58f0da4b69676102
--- /dev/null
+++ b/backtrader/source/backtrader/resamplerfilter.py
@@ -0,0 +1,752 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from datetime import datetime, date, timedelta
+
+from .dataseries import TimeFrame, _Bar
+from .utils.py3 import with_metaclass
+from . import metabase
+from .utils.date import date2num, num2date
+
+
+class DTFaker(object):
+ # This will only be used for data sources which at some point in time
+ # return None from _load to indicate that a check of the resampler and/or
+ # notification queue is needed
+ # This is meant (at least initially) for real-time feeds, because those are
+ # the ones in need of events like the ones described above.
+ # These data sources should also be producing ``utc`` time directly because
+ # the real-time feed is (more often than not) timestamped and utc provides
+ # a universal reference
+ # That's why below the timestamp is chosen in UTC and passed directly to
+ # date2num to avoid a localization. But it is extracted from data.num2date
+ # to ensure the returned datetime object is localized according to the
+ # expected output by the user (local timezone or any specified)
+
+ def __init__(self, data, forcedata=None):
+ self.data = data
+
+ # Aliases
+ self.datetime = self
+ self.p = self
+
+ if forcedata is None:
+ _dtime = datetime.utcnow() + data._timeoffset()
+ self._dt = dt = date2num(_dtime) # utc-like time
+ self._dtime = data.num2date(dt) # localized time
+ else:
+ self._dt = forcedata.datetime[0] # utc-like time
+ self._dtime = forcedata.datetime.datetime() # localized time
+
+ self.sessionend = data.p.sessionend
+
+ def __len__(self):
+ return len(self.data)
+
+ def __call__(self, idx=0):
+ return self._dtime # simulates data.datetime.datetime()
+
+ def datetime(self, idx=0):
+ return self._dtime
+
+ def date(self, idx=0):
+ return self._dtime.date()
+
+ def time(self, idx=0):
+ return self._dtime.time()
+
+ @property
+ def _calendar(self):
+ return self.data._calendar
+
+ def __getitem__(self, idx):
+ return self._dt if idx == 0 else float('-inf')
+
+ def num2date(self, *args, **kwargs):
+ return self.data.num2date(*args, **kwargs)
+
+ def date2num(self, *args, **kwargs):
+ return self.data.date2num(*args, **kwargs)
+
+ def _getnexteos(self):
+ return self.data._getnexteos()
+
+
+class _BaseResampler(with_metaclass(metabase.MetaParams, object)):
+ params = (
+ ('bar2edge', True),
+ ('adjbartime', True),
+ ('rightedge', True),
+ ('boundoff', 0),
+
+ ('timeframe', TimeFrame.Days),
+ ('compression', 1),
+
+ ('takelate', True),
+
+ ('sessionend', True),
+ )
+
+ def __init__(self, data):
+ self.subdays = TimeFrame.Ticks < self.p.timeframe < TimeFrame.Days
+ self.subweeks = self.p.timeframe < TimeFrame.Weeks
+ self.componly = (not self.subdays and
+ data._timeframe == self.p.timeframe and
+ not (self.p.compression % data._compression))
+
+ self.bar = _Bar(maxdate=True) # bar holder
+ self.compcount = 0 # count of produced bars to control compression
+ self._firstbar = True
+ self.doadjusttime = (self.p.bar2edge and self.p.adjbartime and
+ self.subweeks)
+
+ self._nexteos = None
+
+ # Modify data information according to own parameters
+ data.resampling = 1
+ data.replaying = self.replaying
+ data._timeframe = self.p.timeframe
+ data._compression = self.p.compression
+
+ self.data = data
+
+ def _latedata(self, data):
+ # new data at position 0, still untouched from stream
+ if not self.subdays:
+ return False
+
+ # Time already delivered
+ return len(data) > 1 and data.datetime[0] <= data.datetime[-1]
+
+ def _checkbarover(self, data, fromcheck=False, forcedata=None):
+ chkdata = DTFaker(data, forcedata) if fromcheck else data
+
+ isover = False
+ if not self.componly and not self._barover(chkdata):
+ return isover
+
+ if self.subdays and self.p.bar2edge:
+ isover = True
+ elif not fromcheck: # fromcheck doesn't increase compcount
+ self.compcount += 1
+ if not (self.compcount % self.p.compression):
+ # boundary crossed and enough bars for compression ... proceed
+ isover = True
+
+ return isover
+
+ def _barover(self, data):
+ tframe = self.p.timeframe
+
+ if tframe == TimeFrame.Ticks:
+ # Ticks is already the lowest level
+ return self.bar.isopen()
+
+ elif tframe < TimeFrame.Days:
+ return self._barover_subdays(data)
+
+ elif tframe == TimeFrame.Days:
+ return self._barover_days(data)
+
+ elif tframe == TimeFrame.Weeks:
+ return self._barover_weeks(data)
+
+ elif tframe == TimeFrame.Months:
+ return self._barover_months(data)
+
+ elif tframe == TimeFrame.Years:
+ return self._barover_years(data)
+
+ def _eosset(self):
+ if self._nexteos is None:
+ self._nexteos, self._nextdteos = self.data._getnexteos()
+ return
+
+ def _eoscheck(self, data, seteos=True, exact=False):
+ if seteos:
+ self._eosset()
+
+ equal = data.datetime[0] == self._nextdteos
+ grter = data.datetime[0] > self._nextdteos
+
+ if exact:
+ ret = equal
+ else:
+ # if the compared data goes over the endofsession
+ # make sure the resampled bar is open and has something before that
+ # end of session. It could be a weekend and nothing was delivered
+ # until Monday
+ if grter:
+ ret = (self.bar.isopen() and
+ self.bar.datetime <= self._nextdteos)
+ else:
+ ret = equal
+
+ if ret:
+ self._lasteos = self._nexteos
+ self._lastdteos = self._nextdteos
+ self._nexteos = None
+ self._nextdteos = float('-inf')
+
+ return ret
+
+ def _barover_days(self, data):
+ return self._eoscheck(data)
+
+ def _barover_weeks(self, data):
+ if self.data._calendar is None:
+ year, week, _ = data.num2date(self.bar.datetime).date().isocalendar()
+ yearweek = year * 100 + week
+
+ baryear, barweek, _ = data.datetime.date().isocalendar()
+ bar_yearweek = baryear * 100 + barweek
+
+ return bar_yearweek > yearweek
+ else:
+ return data._calendar.last_weekday(data.datetime.date())
+
+ def _barover_months(self, data):
+ dt = data.num2date(self.bar.datetime).date()
+ yearmonth = dt.year * 100 + dt.month
+
+ bardt = data.datetime.datetime()
+ bar_yearmonth = bardt.year * 100 + bardt.month
+
+ return bar_yearmonth > yearmonth
+
+ def _barover_years(self, data):
+ return (data.datetime.datetime().year >
+ data.num2date(self.bar.datetime).year)
+
+ def _gettmpoint(self, tm):
+ '''Returns the point of time intraday for a given time according to the
+ timeframe
+
+ - Ex 1: 00:05:00 in minutes -> point = 5
+ - Ex 2: 00:05:20 in seconds -> point = 5 * 60 + 20 = 320
+ '''
+ point = tm.hour * 60 + tm.minute
+ restpoint = 0
+
+ if self.p.timeframe < TimeFrame.Minutes:
+ point = point * 60 + tm.second
+
+ if self.p.timeframe < TimeFrame.Seconds:
+ point = point * 1e6 + tm.microsecond
+ else:
+ restpoint = tm.microsecond
+ else:
+ restpoint = tm.second + tm.microsecond
+
+ point += self.p.boundoff
+
+ return point, restpoint
+
+ def _barover_subdays(self, data):
+ if self._eoscheck(data):
+ return True
+
+ if data.datetime[0] < self.bar.datetime:
+ return False
+
+ # Get time objects for the comparisons - in utc-like format
+ tm = num2date(self.bar.datetime).time()
+ bartm = num2date(data.datetime[0]).time()
+
+ point, _ = self._gettmpoint(tm)
+ barpoint, _ = self._gettmpoint(bartm)
+
+ ret = False
+ if barpoint > point:
+ # The data bar has surpassed the internal bar
+ if not self.p.bar2edge:
+ # Compression done on simple bar basis (like days)
+ ret = True
+ elif self.p.compression == 1:
+ # no bar compression requested -> internal bar done
+ ret = True
+ else:
+ point_comp = point // self.p.compression
+ barpoint_comp = barpoint // self.p.compression
+
+ # Went over boundary including compression
+ if barpoint_comp > point_comp:
+ ret = True
+
+ return ret
+
+ def check(self, data, _forcedata=None):
+ '''Called to check if the current stored bar has to be delivered in
+ spite of the data not having moved forward. If no ticks from a live
+ feed come in, a 5 second resampled bar could be delivered 20 seconds
+ later. When this method is called the wall clock (incl data time
+ offset) is called to check if the time has gone so far as to have to
+ deliver the already stored data
+ '''
+ if not self.bar.isopen():
+ return
+
+ return self(data, fromcheck=True, forcedata=_forcedata)
+
+ def _dataonedge(self, data):
+ if not self.subweeks:
+ if data._calendar is None:
+ return False, True # nothing can be done
+
+ tframe = self.p.timeframe
+ ret = False
+ if tframe == TimeFrame.Weeks: # Ticks is already the lowest
+ ret = data._calendar.last_weekday(data.datetime.date())
+ elif tframe == TimeFrame.Months:
+ ret = data._calendar.last_monthday(data.datetime.date())
+ elif tframe == TimeFrame.Years:
+ ret = data._calendar.last_yearday(data.datetime.date())
+
+ if ret:
+ # Data must be consumed but compression may not be met yet
+ # Prevent barcheckover from being called because it could again
+ # increase compcount
+ docheckover = False
+ self.compcount += 1
+ ret = not (self.compcount % self.p.compression)
+ else:
+ docheckover = True
+
+ return ret, docheckover
+
+ if self._eoscheck(data, exact=True):
+ return True, True
+
+ if self.subdays:
+ point, prest = self._gettmpoint(data.datetime.time())
+ if prest:
+ return False, True # cannot be on boundary, subunits present
+
+ # Pass through compression to get boundary and rest over boundary
+ bound, brest = divmod(point, self.p.compression)
+
+ # if no extra and decomp bound is point
+ return (brest == 0 and point == (bound * self.p.compression), True)
+
+ # Code overriden by eoscheck
+ if False and self.p.sessionend:
+ # Days scenario - get datetime to compare in output timezone
+ # because p.sessionend is expected in output timezone
+ bdtime = data.datetime.datetime()
+ bsend = datetime.combine(bdtime.date(), data.p.sessionend)
+ return bdtime == bsend
+
+ return False, True # subweeks, not subdays and not sessionend
+
+ def _calcadjtime(self, greater=False):
+ if self._nexteos is None:
+ # Session has been exceeded - end of session is the mark
+ return self._lastdteos # utc-like
+
+ dt = self.data.num2date(self.bar.datetime)
+
+ # Get current time
+ tm = dt.time()
+ # Get the point of the day in the time frame unit (ex: minute 200)
+ point, _ = self._gettmpoint(tm)
+
+ # Apply compression to update the point position (comp 5 -> 200 // 5)
+ # point = (point // self.p.compression)
+ point = point // self.p.compression
+
+ # If rightedge (end of boundary is activated) add it unless recursing
+ point += self.p.rightedge
+
+ # Restore point to the timeframe units by de-applying compression
+ point *= self.p.compression
+
+ # Get hours, minutes, seconds and microseconds
+ extradays = 0
+ if self.p.timeframe == TimeFrame.Minutes:
+ ph, pm = divmod(point, 60)
+ ps = 0
+ pus = 0
+ elif self.p.timeframe == TimeFrame.Seconds:
+ ph, pm = divmod(point, 60 * 60)
+ pm, ps = divmod(pm, 60)
+ pus = 0
+ elif self.p.timeframe <= TimeFrame.MicroSeconds:
+ ph, pm = divmod(point, 60 * 60 * 1e6)
+ pm, psec = divmod(pm, 60 * 1e6)
+ ps, pus = divmod(psec, 1e6)
+ elif self.p.timeframe == TimeFrame.Days:
+ # last resort
+ eost = self._nexteos.time()
+ ph = eost.hour
+ pm = eost.minute
+ ps = eost.second
+ pus = eost.microsecond
+
+ if ph > 23: # went over midnight:
+ extradays = ph // 24
+ ph %= 24
+
+ # Replace intraday parts with the calculated ones and update it
+ dt = dt.replace(hour=int(ph), minute=int(pm),
+ second=int(ps), microsecond=int(pus))
+ if extradays:
+ dt += timedelta(days=extradays)
+ dtnum = self.data.date2num(dt)
+ return dtnum
+
+ def _adjusttime(self, greater=False, forcedata=None):
+ '''
+ Adjusts the time of calculated bar (from underlying data source) by
+ using the timeframe to the appropriate boundary, with compression taken
+ into account
+
+ Depending on param ``rightedge`` uses the starting boundary or the
+ ending one
+ '''
+ dtnum = self._calcadjtime(greater=greater)
+ if greater and dtnum <= self.bar.datetime:
+ return False
+
+ self.bar.datetime = dtnum
+ return True
+
+
+class Resampler(_BaseResampler):
+ '''This class resamples data of a given timeframe to a larger timeframe.
+
+ Params
+
+ - bar2edge (default: True)
+
+ resamples using time boundaries as the target. For example with a
+ "ticks -> 5 seconds" the resulting 5 seconds bars will be aligned to
+ xx:00, xx:05, xx:10 ...
+
+ - adjbartime (default: True)
+
+ Use the time at the boundary to adjust the time of the delivered
+ resampled bar instead of the last seen timestamp. If resampling to "5
+ seconds" the time of the bar will be adjusted for example to hh:mm:05
+ even if the last seen timestamp was hh:mm:04.33
+
+ .. note::
+
+ Time will only be adjusted if "bar2edge" is True. It wouldn't make
+ sense to adjust the time if the bar has not been aligned to a
+ boundary
+
+ - rightedge (default: True)
+
+ Use the right edge of the time boundaries to set the time.
+
+ If False and compressing to 5 seconds the time of a resampled bar for
+ seconds between hh:mm:00 and hh:mm:04 will be hh:mm:00 (the starting
+ boundary
+
+ If True the used boundary for the time will be hh:mm:05 (the ending
+ boundary)
+ '''
+ params = (
+ ('bar2edge', True),
+ ('adjbartime', True),
+ ('rightedge', True),
+ )
+
+ replaying = False
+
+ def last(self, data):
+ '''Called when the data is no longer producing bars
+
+ Can be called multiple times. It has the chance to (for example)
+ produce extra bars which may still be accumulated and have to be
+ delivered
+ '''
+ if self.bar.isopen():
+ if self.doadjusttime:
+ self._adjusttime()
+
+ data._add2stack(self.bar.lvalues())
+ self.bar.bstart(maxdate=True) # close the bar to avoid dups
+ return True
+
+ return False
+
+ def __call__(self, data, fromcheck=False, forcedata=None):
+ '''Called for each set of values produced by the data source'''
+ consumed = False
+ onedge = False
+ docheckover = True
+ if not fromcheck:
+ if self._latedata(data):
+ if not self.p.takelate:
+ data.backwards()
+ return True # get a new bar
+
+ self.bar.bupdate(data) # update new or existing bar
+ # push time beyond reference
+ self.bar.datetime = data.datetime[-1] + 0.000001
+ data.backwards() # remove used bar
+ return True
+
+ if self.componly: # only if not subdays
+ # Get a session ref before rewinding
+ _, self._lastdteos = self.data._getnexteos()
+ consumed = True
+
+ else:
+ onedge, docheckover = self._dataonedge(data) # for subdays
+ consumed = onedge
+
+ if consumed:
+ self.bar.bupdate(data) # update new or existing bar
+ data.backwards() # remove used bar
+
+ # if self.bar.isopen and (onedge or (docheckover and checkbarover))
+ cond = self.bar.isopen()
+ if cond: # original is and, the 2nd term must also be true
+ if not onedge: # onedge true is sufficient
+ if docheckover:
+ cond = self._checkbarover(data, fromcheck=fromcheck,
+ forcedata=forcedata)
+ if cond:
+ dodeliver = False
+ if forcedata is not None:
+ # check our delivery time is not larger than that of forcedata
+ tframe = self.p.timeframe
+ if tframe == TimeFrame.Ticks: # Ticks is already the lowest
+ dodeliver = True
+ elif tframe == TimeFrame.Minutes:
+ dtnum = self._calcadjtime(greater=True)
+ dodeliver = dtnum <= forcedata.datetime[0]
+ elif tframe == TimeFrame.Days:
+ dtnum = self._calcadjtime(greater=True)
+ dodeliver = dtnum <= forcedata.datetime[0]
+ else:
+ dodeliver = True
+
+ if dodeliver:
+ if not onedge and self.doadjusttime:
+ self._adjusttime(greater=True, forcedata=forcedata)
+
+ data._add2stack(self.bar.lvalues())
+ self.bar.bstart(maxdate=True) # bar delivered -> restart
+
+ if not fromcheck:
+ if not consumed:
+ self.bar.bupdate(data) # update new or existing bar
+ data.backwards() # remove used bar
+
+ return True
+
+
+class Replayer(_BaseResampler):
+ '''This class replays data of a given timeframe to a larger timeframe.
+
+ It simulates the action of the market by slowly building up (for ex.) a
+ daily bar from tick/seconds/minutes data
+
+ Only when the bar is complete will the "length" of the data be changed
+ effectively delivering a closed bar
+
+ Params
+
+ - bar2edge (default: True)
+
+ replays using time boundaries as the target of the closed bar. For
+ example with a "ticks -> 5 seconds" the resulting 5 seconds bars will
+ be aligned to xx:00, xx:05, xx:10 ...
+
+ - adjbartime (default: False)
+
+ Use the time at the boundary to adjust the time of the delivered
+ resampled bar instead of the last seen timestamp. If resampling to "5
+ seconds" the time of the bar will be adjusted for example to hh:mm:05
+ even if the last seen timestamp was hh:mm:04.33
+
+ .. note::
+
+ Time will only be adjusted if "bar2edge" is True. It wouldn't make
+ sense to adjust the time if the bar has not been aligned to a
+ boundary
+
+ .. note:: if this parameter is True an extra tick with the *adjusted*
+ time will be introduced at the end of the *replayed* bar
+
+ - rightedge (default: True)
+
+ Use the right edge of the time boundaries to set the time.
+
+ If False and compressing to 5 seconds the time of a resampled bar for
+ seconds between hh:mm:00 and hh:mm:04 will be hh:mm:00 (the starting
+ boundary
+
+ If True the used boundary for the time will be hh:mm:05 (the ending
+ boundary)
+ '''
+ params = (
+ ('bar2edge', True),
+ ('adjbartime', False),
+ ('rightedge', True),
+ )
+
+ replaying = True
+
+ def __call__(self, data, fromcheck=False, forcedata=None):
+ consumed = False
+ onedge = False
+ takinglate = False
+ docheckover = True
+
+ if not fromcheck:
+ if self._latedata(data):
+ if not self.p.takelate:
+ data.backwards(force=True)
+ return True # get a new bar
+
+ consumed = True
+ takinglate = True
+
+ elif self.componly: # only if not subdays
+ consumed = True
+
+ else:
+ onedge, docheckover = self._dataonedge(data) # for subdays
+ consumed = onedge
+
+ data._tick_fill(force=True) # update
+
+ if consumed:
+ self.bar.bupdate(data)
+ if takinglate:
+ self.bar.datetime = data.datetime[-1] + 0.000001
+
+ # if onedge or (checkbarover and self._checkbarover)
+ cond = onedge
+ if not cond: # original is or, if true it would suffice
+ if docheckover:
+ cond = self._checkbarover(data, fromcheck=fromcheck)
+ if cond:
+ if not onedge and self.doadjusttime: # insert tick with adjtime
+ adjusted = self._adjusttime(greater=True)
+ if adjusted:
+ ago = 0 if (consumed or fromcheck) else -1
+ # Update to the point right before the new data
+ data._updatebar(self.bar.lvalues(), forward=False, ago=ago)
+
+ if not fromcheck:
+ if not consumed:
+ # Reopen bar with real new data and save data to queue
+ self.bar.bupdate(data, reopen=True)
+ # erase is True, but the tick will not be seen below
+ # and therefore no need to mark as 1st
+ data._save2stack(erase=True, force=True)
+ else:
+ self.bar.bstart(maxdate=True)
+ self._firstbar = True # next is first
+ else: # from check
+ # fromcheck or consumed have forced delivery, reopen
+ self.bar.bstart(maxdate=True)
+ self._firstbar = True # next is first
+ if adjusted:
+ # after adjusting need to redeliver if this was a check
+ data._save2stack(erase=True, force=True)
+
+ elif not fromcheck:
+ if not consumed:
+ # Data already "forwarded" and we replay to new bar
+ # No need to go backwards. simply reopen internal cache
+ self.bar.bupdate(data, reopen=True)
+ else:
+ # compression only, used data to update bar, hence remove
+ # from stream, update existing data, reopen bar
+ if not self._firstbar: # only discard data if not firstbar
+ data.backwards(force=True)
+ data._updatebar(self.bar.lvalues(), forward=False, ago=0)
+ self.bar.bstart(maxdate=True)
+ self._firstbar = True # make sure next tick moves forward
+
+ elif not fromcheck:
+ # not over, update, remove new entry, deliver
+ if not consumed:
+ self.bar.bupdate(data)
+
+ if not self._firstbar: # only discard data if not firstbar
+ data.backwards(force=True)
+
+ data._updatebar(self.bar.lvalues(), forward=False, ago=0)
+ self._firstbar = False
+
+ return False # the existing bar can be processed by the system
+
+
+class ResamplerTicks(Resampler):
+ params = (('timeframe', TimeFrame.Ticks),)
+
+
+class ResamplerSeconds(Resampler):
+ params = (('timeframe', TimeFrame.Seconds),)
+
+
+class ResamplerMinutes(Resampler):
+ params = (('timeframe', TimeFrame.Minutes),)
+
+
+class ResamplerDaily(Resampler):
+ params = (('timeframe', TimeFrame.Days),)
+
+
+class ResamplerWeekly(Resampler):
+ params = (('timeframe', TimeFrame.Weeks),)
+
+
+class ResamplerMonthly(Resampler):
+ params = (('timeframe', TimeFrame.Months),)
+
+
+class ResamplerYearly(Resampler):
+ params = (('timeframe', TimeFrame.Years),)
+
+
+class ReplayerTicks(Replayer):
+ params = (('timeframe', TimeFrame.Ticks),)
+
+
+class ReplayerSeconds(Replayer):
+ params = (('timeframe', TimeFrame.Seconds),)
+
+
+class ReplayerMinutes(Replayer):
+ params = (('timeframe', TimeFrame.Minutes),)
+
+
+class ReplayerDaily(Replayer):
+ params = (('timeframe', TimeFrame.Days),)
+
+
+class ReplayerWeekly(Replayer):
+ params = (('timeframe', TimeFrame.Weeks),)
+
+
+class ReplayerMonthly(Replayer):
+ params = (('timeframe', TimeFrame.Months),)
diff --git a/backtrader/source/backtrader/signal.py b/backtrader/source/backtrader/signal.py
new file mode 100644
index 0000000000000000000000000000000000000000..74e41b2bb6f3da767afdeb74a4341e8a319e84c2
--- /dev/null
+++ b/backtrader/source/backtrader/signal.py
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+
+(
+
+ SIGNAL_NONE,
+ SIGNAL_LONGSHORT,
+ SIGNAL_LONG,
+ SIGNAL_LONG_INV,
+ SIGNAL_LONG_ANY,
+ SIGNAL_SHORT,
+ SIGNAL_SHORT_INV,
+ SIGNAL_SHORT_ANY,
+ SIGNAL_LONGEXIT,
+ SIGNAL_LONGEXIT_INV,
+ SIGNAL_LONGEXIT_ANY,
+ SIGNAL_SHORTEXIT,
+ SIGNAL_SHORTEXIT_INV,
+ SIGNAL_SHORTEXIT_ANY,
+
+) = range(14)
+
+
+SignalTypes = [
+ SIGNAL_NONE,
+ SIGNAL_LONGSHORT,
+ SIGNAL_LONG, SIGNAL_LONG_INV, SIGNAL_LONG_ANY,
+ SIGNAL_SHORT, SIGNAL_SHORT_INV, SIGNAL_SHORT_ANY,
+ SIGNAL_LONGEXIT, SIGNAL_LONGEXIT_INV, SIGNAL_LONGEXIT_ANY,
+ SIGNAL_SHORTEXIT, SIGNAL_SHORTEXIT_INV, SIGNAL_SHORTEXIT_ANY
+]
+
+
+class Signal(bt.Indicator):
+ SignalTypes = SignalTypes
+
+ lines = ('signal',)
+
+ def __init__(self):
+ self.lines.signal = self.data0.lines[0]
+ self.plotinfo.plotmaster = getattr(self.data0, '_clock', self.data0)
diff --git a/backtrader/source/backtrader/signals/__init__.py b/backtrader/source/backtrader/signals/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e11f1cd621bcd2332ce328f38995de117952f92
--- /dev/null
+++ b/backtrader/source/backtrader/signals/__init__.py
@@ -0,0 +1,23 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
diff --git a/backtrader/source/backtrader/sizer.py b/backtrader/source/backtrader/sizer.py
new file mode 100644
index 0000000000000000000000000000000000000000..c78f837bb947df06e67a81a3fa2f5384dbcc0d06
--- /dev/null
+++ b/backtrader/source/backtrader/sizer.py
@@ -0,0 +1,84 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from .utils.py3 import with_metaclass
+
+from .metabase import MetaParams
+
+
+class Sizer(with_metaclass(MetaParams, object)):
+ '''This is the base class for *Sizers*. Any *sizer* should subclass this
+ and override the ``_getsizing`` method
+
+ Member Attribs:
+
+ - ``strategy``: will be set by the strategy in which the sizer is working
+
+ Gives access to the entire api of the strategy, for example if the
+ actual data position would be needed in ``_getsizing``::
+
+ position = self.strategy.getposition(data)
+
+ - ``broker``: will be set by the strategy in which the sizer is working
+
+ Gives access to information some complex sizers may need like portfolio
+ value, ..
+ '''
+ strategy = None
+ broker = None
+
+ def getsizing(self, data, isbuy):
+ comminfo = self.broker.getcommissioninfo(data)
+ return self._getsizing(comminfo, self.broker.getcash(), data, isbuy)
+
+ def _getsizing(self, comminfo, cash, data, isbuy):
+ '''This method has to be overriden by subclasses of Sizer to provide
+ the sizing functionality
+
+ Params:
+ - ``comminfo``: The CommissionInfo instance that contains
+ information about the commission for the data and allows
+ calculation of position value, operation cost, commision for the
+ operation
+
+ - ``cash``: current available cash in the *broker*
+
+ - ``data``: target of the operation
+
+ - ``isbuy``: will be ``True`` for *buy* operations and ``False``
+ for *sell* operations
+
+ The method has to return the actual size (an int) to be executed. If
+ ``0`` is returned nothing will be executed.
+
+ The absolute value of the returned value will be used
+
+ '''
+ raise NotImplementedError
+
+ def set(self, strategy, broker):
+ self.strategy = strategy
+ self.broker = broker
+
+
+SizerBase = Sizer # alias for old naming
diff --git a/backtrader/source/backtrader/sizers/__init__.py b/backtrader/source/backtrader/sizers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..b79ab6cb0ef16a6a6c4ab4fcfba1c7eb648c1597
--- /dev/null
+++ b/backtrader/source/backtrader/sizers/__init__.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+# The modules below should/must define __all__ with the objects wishes
+# or prepend an "_" (underscore) to private classes/variables
+
+from .fixedsize import *
+from .percents_sizer import *
diff --git a/backtrader/source/backtrader/sizers/fixedsize.py b/backtrader/source/backtrader/sizers/fixedsize.py
new file mode 100644
index 0000000000000000000000000000000000000000..adf7be18c880b63c6ac3ad5680542a80ad3b9081
--- /dev/null
+++ b/backtrader/source/backtrader/sizers/fixedsize.py
@@ -0,0 +1,108 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+
+
+class FixedSize(bt.Sizer):
+ '''
+ This sizer simply returns a fixed size for any operation.
+ Size can be controlled by number of tranches that a system
+ wishes to use to scale into trades by specifying the ``tranches``
+ parameter.
+
+
+ Params:
+ - ``stake`` (default: ``1``)
+ - ``tranches`` (default: ``1``)
+ '''
+
+ params = (('stake', 1),
+ ('tranches', 1))
+
+ def _getsizing(self, comminfo, cash, data, isbuy):
+ if self.p.tranches > 1:
+ return abs(int(self.p.stake / self.p.tranches))
+ else:
+ return self.p.stake
+
+ def setsizing(self, stake):
+ if self.p.tranches > 1:
+ self.p.stake = abs(int(self.p.stake / self.p.tranches))
+ else:
+ self.p.stake = stake # OLD METHOD FOR SAMPLE COMPATIBILITY
+
+
+SizerFix = FixedSize
+
+
+class FixedReverser(bt.Sizer):
+ '''This sizer returns the needes fixed size to reverse an open position or
+ the fixed size to open one
+
+ - To open a position: return the param ``stake``
+
+ - To reverse a position: return 2 * ``stake``
+
+ Params:
+ - ``stake`` (default: ``1``)
+ '''
+ params = (('stake', 1),)
+
+ def _getsizing(self, comminfo, cash, data, isbuy):
+ position = self.strategy.getposition(data)
+ size = self.p.stake * (1 + (position.size != 0))
+ return size
+
+
+class FixedSizeTarget(bt.Sizer):
+ '''
+ This sizer simply returns a fixed target size, useful when coupled
+ with Target Orders and specifically ``cerebro.target_order_size()``.
+ Size can be controlled by number of tranches that a system
+ wishes to use to scale into trades by specifying the ``tranches``
+ parameter.
+
+
+ Params:
+ - ``stake`` (default: ``1``)
+ - ``tranches`` (default: ``1``)
+ '''
+
+ params = (('stake', 1),
+ ('tranches', 1))
+
+ def _getsizing(self, comminfo, cash, data, isbuy):
+ if self.p.tranches > 1:
+ size = abs(int(self.p.stake / self.p.tranches))
+ return min((self.strategy.position.size + size), self.p.stake)
+ else:
+ return self.p.stake
+
+ def setsizing(self, stake):
+ if self.p.tranches > 1:
+ size = abs(int(self.p.stake / self.p.tranches))
+ self.p.stake = min((self.strategy.position.size + size),
+ self.p.stake)
+ else:
+ self.p.stake = stake # OLD METHOD FOR SAMPLE COMPATIBILITY
diff --git a/backtrader/source/backtrader/sizers/percents_sizer.py b/backtrader/source/backtrader/sizers/percents_sizer.py
new file mode 100644
index 0000000000000000000000000000000000000000..d9e3eeeb0ca27df192e5b999f8d3ad8ffb82ff40
--- /dev/null
+++ b/backtrader/source/backtrader/sizers/percents_sizer.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+
+__all__ = ['PercentSizer', 'AllInSizer', 'PercentSizerInt', 'AllInSizerInt']
+
+
+class PercentSizer(bt.Sizer):
+ '''This sizer return percents of available cash
+
+ Params:
+ - ``percents`` (default: ``20``)
+ '''
+
+ params = (
+ ('percents', 20),
+ ('retint', False), # return an int size or rather the float value
+ )
+
+ def __init__(self):
+ pass
+
+ def _getsizing(self, comminfo, cash, data, isbuy):
+ position = self.broker.getposition(data)
+ if not position:
+ size = cash / data.close[0] * (self.params.percents / 100)
+ else:
+ size = position.size
+
+ if self.p.retint:
+ size = int(size)
+
+ return size
+
+
+class AllInSizer(PercentSizer):
+ '''This sizer return all available cash of broker
+
+ Params:
+ - ``percents`` (default: ``100``)
+ '''
+ params = (
+ ('percents', 100),
+ )
+
+
+class PercentSizerInt(PercentSizer):
+ '''This sizer return percents of available cash in form of size truncated
+ to an int
+
+ Params:
+ - ``percents`` (default: ``20``)
+ '''
+
+ params = (
+ ('retint', True), # return an int size or rather the float value
+ )
+
+
+class AllInSizerInt(PercentSizerInt):
+ '''This sizer return all available cash of broker with the
+ size truncated to an int
+
+ Params:
+ - ``percents`` (default: ``100``)
+ '''
+ params = (
+ ('percents', 100),
+ )
diff --git a/backtrader/source/backtrader/store.py b/backtrader/source/backtrader/store.py
new file mode 100644
index 0000000000000000000000000000000000000000..a1352671dc7abdb0f0e41d9d64ded4529e571e0c
--- /dev/null
+++ b/backtrader/source/backtrader/store.py
@@ -0,0 +1,94 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+
+from backtrader.metabase import MetaParams
+from backtrader.utils.py3 import with_metaclass
+
+
+class MetaSingleton(MetaParams):
+ '''Metaclass to make a metaclassed class a singleton'''
+ def __init__(cls, name, bases, dct):
+ super(MetaSingleton, cls).__init__(name, bases, dct)
+ cls._singleton = None
+
+ def __call__(cls, *args, **kwargs):
+ if cls._singleton is None:
+ cls._singleton = (
+ super(MetaSingleton, cls).__call__(*args, **kwargs))
+
+ return cls._singleton
+
+
+class Store(with_metaclass(MetaSingleton, object)):
+ '''Base class for all Stores'''
+
+ _started = False
+
+ params = ()
+
+ def getdata(self, *args, **kwargs):
+ '''Returns ``DataCls`` with args, kwargs'''
+ data = self.DataCls(*args, **kwargs)
+ data._store = self
+ return data
+
+ @classmethod
+ def getbroker(cls, *args, **kwargs):
+ '''Returns broker with *args, **kwargs from registered ``BrokerCls``'''
+ broker = cls.BrokerCls(*args, **kwargs)
+ broker._store = cls
+ return broker
+
+ BrokerCls = None # broker class will autoregister
+ DataCls = None # data class will auto register
+
+ def start(self, data=None, broker=None):
+ if not self._started:
+ self._started = True
+ self.notifs = collections.deque()
+ self.datas = list()
+ self.broker = None
+
+ if data is not None:
+ self._cerebro = self._env = data._env
+ self.datas.append(data)
+
+ if self.broker is not None:
+ if hasattr(self.broker, 'data_started'):
+ self.broker.data_started(data)
+
+ elif broker is not None:
+ self.broker = broker
+
+ def stop(self):
+ pass
+
+ def put_notification(self, msg, *args, **kwargs):
+ self.notifs.append((msg, args, kwargs))
+
+ def get_notifications(self):
+ '''Return the pending "store" notifications'''
+ self.notifs.append(None) # put a mark / threads could still append
+ return [x for x in iter(self.notifs.popleft, None)]
diff --git a/backtrader/source/backtrader/stores/__init__.py b/backtrader/source/backtrader/stores/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..f60afb6ade9f6967a8e655388326545968f1c516
--- /dev/null
+++ b/backtrader/source/backtrader/stores/__init__.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+# The modules below should/must define __all__ with the objects wishes
+# or prepend an "_" (underscore) to private classes/variables
+
+try:
+ from .ibstore import IBStore
+except ImportError:
+ pass # The user may not have ibpy installed
+
+try:
+ from .vcstore import VCStore
+except ImportError:
+ pass # The user may not have a module installed
+
+try:
+ from .oandastore import OandaStore
+except ImportError:
+ pass # The user may not have a module installed
+
+
+from .vchartfile import VChartFile
diff --git a/backtrader/source/backtrader/stores/ibstore.py b/backtrader/source/backtrader/stores/ibstore.py
new file mode 100644
index 0000000000000000000000000000000000000000..00ba5e11b820766389b83c86e0c34cb76c5d6957
--- /dev/null
+++ b/backtrader/source/backtrader/stores/ibstore.py
@@ -0,0 +1,1512 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+from copy import copy
+from datetime import date, datetime, timedelta
+import inspect
+import itertools
+import random
+import threading
+import time
+
+from ib.ext.Contract import Contract
+import ib.opt as ibopt
+
+from backtrader import TimeFrame, Position
+from backtrader.metabase import MetaParams
+from backtrader.utils.py3 import bytes, bstr, queue, with_metaclass, long
+from backtrader.utils import AutoDict, UTC
+
+bytes = bstr # py2/3 need for ibpy
+
+
+def _ts2dt(tstamp=None):
+ # Transforms a RTVolume timestamp to a datetime object
+ if not tstamp:
+ return datetime.utcnow()
+
+ sec, msec = divmod(long(tstamp), 1000)
+ usec = msec * 1000
+ return datetime.utcfromtimestamp(sec).replace(microsecond=usec)
+
+
+class RTVolume(object):
+ '''Parses a tickString tickType 48 (RTVolume) event from the IB API into its
+ constituent fields
+
+ Supports using a "price" to simulate an RTVolume from a tickPrice event
+ '''
+ _fields = [
+ ('price', float),
+ ('size', int),
+ ('datetime', _ts2dt),
+ ('volume', int),
+ ('vwap', float),
+ ('single', bool)
+ ]
+
+ def __init__(self, rtvol='', price=None, tmoffset=None):
+ # Use a provided string or simulate a list of empty tokens
+ tokens = iter(rtvol.split(';'))
+
+ # Put the tokens as attributes using the corresponding func
+ for name, func in self._fields:
+ setattr(self, name, func(next(tokens)) if rtvol else func())
+
+ # If price was provided use it
+ if price is not None:
+ self.price = price
+
+ if tmoffset is not None:
+ self.datetime += tmoffset
+
+
+class MetaSingleton(MetaParams):
+ '''Metaclass to make a metaclassed class a singleton'''
+ def __init__(cls, name, bases, dct):
+ super(MetaSingleton, cls).__init__(name, bases, dct)
+ cls._singleton = None
+
+ def __call__(cls, *args, **kwargs):
+ if cls._singleton is None:
+ cls._singleton = (
+ super(MetaSingleton, cls).__call__(*args, **kwargs))
+
+ return cls._singleton
+
+
+# Decorator to mark methods to register with ib.opt
+def ibregister(f):
+ f._ibregister = True
+ return f
+
+
+class IBStore(with_metaclass(MetaSingleton, object)):
+ '''Singleton class wrapping an ibpy ibConnection instance.
+
+ The parameters can also be specified in the classes which use this store,
+ like ``IBData`` and ``IBBroker``
+
+ Params:
+
+ - ``host`` (default:``127.0.0.1``): where IB TWS or IB Gateway are
+ actually running. And although this will usually be the localhost, it
+ must not be
+
+ - ``port`` (default: ``7496``): port to connect to. The demo system uses
+ ``7497``
+
+ - ``clientId`` (default: ``None``): which clientId to use to connect to
+ TWS.
+
+ ``None``: generates a random id between 1 and 65535
+ An ``integer``: will be passed as the value to use.
+
+ - ``notifyall`` (default: ``False``)
+
+ If ``False`` only ``error`` messages will be sent to the
+ ``notify_store`` methods of ``Cerebro`` and ``Strategy``.
+
+ If ``True``, each and every message received from TWS will be notified
+
+ - ``_debug`` (default: ``False``)
+
+ Print all messages received from TWS to standard output
+
+ - ``reconnect`` (default: ``3``)
+
+ Number of attempts to try to reconnect after the 1st connection attempt
+ fails
+
+ Set it to a ``-1`` value to keep on reconnecting forever
+
+ - ``timeout`` (default: ``3.0``)
+
+ Time in seconds between reconnection attemps
+
+ - ``timeoffset`` (default: ``True``)
+
+ If True, the time obtained from ``reqCurrentTime`` (IB Server time)
+ will be used to calculate the offset to localtime and this offset will
+ be used for the price notifications (tickPrice events, for example for
+ CASH markets) to modify the locally calculated timestamp.
+
+ The time offset will propagate to other parts of the ``backtrader``
+ ecosystem like the **resampling** to align resampling timestamps using
+ the calculated offset.
+
+ - ``timerefresh`` (default: ``60.0``)
+
+ Time in seconds: how often the time offset has to be refreshed
+
+ - ``indcash`` (default: ``True``)
+
+ Manage IND codes as if they were cash for price retrieval
+ '''
+
+ # Set a base for the data requests (historical/realtime) to distinguish the
+ # id in the error notifications from orders, where the basis (usually
+ # starting at 1) is set by TWS
+ REQIDBASE = 0x01000000
+
+ BrokerCls = None # broker class will autoregister
+ DataCls = None # data class will auto register
+
+ params = (
+ ('host', '127.0.0.1'),
+ ('port', 7496),
+ ('clientId', None), # None generates a random clientid 1 -> 2^16
+ ('notifyall', False),
+ ('_debug', False),
+ ('reconnect', 3), # -1 forever, 0 No, > 0 number of retries
+ ('timeout', 3.0), # timeout between reconnections
+ ('timeoffset', True), # Use offset to server for timestamps if needed
+ ('timerefresh', 60.0), # How often to refresh the timeoffset
+ ('indcash', True), # Treat IND codes as CASH elements
+ )
+
+ @classmethod
+ def getdata(cls, *args, **kwargs):
+ '''Returns ``DataCls`` with args, kwargs'''
+ return cls.DataCls(*args, **kwargs)
+
+ @classmethod
+ def getbroker(cls, *args, **kwargs):
+ '''Returns broker with *args, **kwargs from registered ``BrokerCls``'''
+ return cls.BrokerCls(*args, **kwargs)
+
+ def __init__(self):
+ super(IBStore, self).__init__()
+
+ self._lock_q = threading.Lock() # sync access to _tickerId/Queues
+ self._lock_accupd = threading.Lock() # sync account updates
+ self._lock_pos = threading.Lock() # sync account updates
+ self._lock_notif = threading.Lock() # sync access to notif queue
+
+ # Account list received
+ self._event_managed_accounts = threading.Event()
+ self._event_accdownload = threading.Event()
+
+ self.dontreconnect = False # for non-recoverable connect errors
+
+ self._env = None # reference to cerebro for general notifications
+ self.broker = None # broker instance
+ self.datas = list() # datas that have registered over start
+ self.ccount = 0 # requests to start (from cerebro or datas)
+
+ self._lock_tmoffset = threading.Lock()
+ self.tmoffset = timedelta() # to control time difference with server
+
+ # Structures to hold datas requests
+ self.qs = collections.OrderedDict() # key: tickerId -> queues
+ self.ts = collections.OrderedDict() # key: queue -> tickerId
+ self.iscash = dict() # tickerIds from cash products (for ex: EUR.JPY)
+
+ self.histexreq = dict() # holds segmented historical requests
+ self.histfmt = dict() # holds datetimeformat for request
+ self.histsend = dict() # holds sessionend (data time) for request
+ self.histtz = dict() # holds sessionend (data time) for request
+
+ self.acc_cash = AutoDict() # current total cash per account
+ self.acc_value = AutoDict() # current total value per account
+ self.acc_upds = AutoDict() # current account valueinfos per account
+
+ self.port_update = False # indicate whether to signal to broker
+
+ self.positions = collections.defaultdict(Position) # actual positions
+
+ self._tickerId = itertools.count(self.REQIDBASE) # unique tickerIds
+ self.orderid = None # next possible orderid (will be itertools.count)
+
+ self.cdetails = collections.defaultdict(list) # hold cdetails requests
+
+ self.managed_accounts = list() # received via managedAccounts
+
+ self.notifs = queue.Queue() # store notifications for cerebro
+
+ # Use the provided clientId or a random one
+ if self.p.clientId is None:
+ self.clientId = random.randint(1, pow(2, 16) - 1)
+ else:
+ self.clientId = self.p.clientId
+
+ # ibpy connection object
+ self.conn = ibopt.ibConnection(
+ host=self.p.host, port=self.p.port, clientId=self.clientId)
+
+ # register a printall method if requested
+ if self.p._debug or self.p.notifyall:
+ self.conn.registerAll(self.watcher)
+
+ # Register decorated methods with the conn
+ methods = inspect.getmembers(self, inspect.ismethod)
+ for name, method in methods:
+ if not getattr(method, '_ibregister', False):
+ continue
+
+ message = getattr(ibopt.message, name)
+ self.conn.register(method, message)
+
+ # This utility key function transforms a barsize into a:
+ # (Timeframe, Compression) tuple which can be sorted
+ def keyfn(x):
+ n, t = x.split()
+ tf, comp = self._sizes[t]
+ return (tf, int(n) * comp)
+
+ # This utility key function transforms a duration into a:
+ # (Timeframe, Compression) tuple which can be sorted
+ def key2fn(x):
+ n, d = x.split()
+ tf = self._dur2tf[d]
+ return (tf, int(n))
+
+ # Generate a table of reverse durations
+ self.revdur = collections.defaultdict(list)
+ # The table (dict) is a ONE to MANY relation of
+ # duration -> barsizes
+ # Here it is reversed to get a ONE to MANY relation of
+ # barsize -> durations
+ for duration, barsizes in self._durations.items():
+ for barsize in barsizes:
+ self.revdur[keyfn(barsize)].append(duration)
+
+ # Once managed, sort the durations according to real duration and not
+ # to the text form using the utility key above
+ for barsize in self.revdur:
+ self.revdur[barsize].sort(key=key2fn)
+
+ def start(self, data=None, broker=None):
+ self.reconnect(fromstart=True) # reconnect should be an invariant
+
+ # Datas require some processing to kickstart data reception
+ if data is not None:
+ self._env = data._env
+ # For datas simulate a queue with None to kickstart co
+ self.datas.append(data)
+
+ # if connection fails, get a fake registration that will force the
+ # datas to try to reconnect or else bail out
+ return self.getTickerQueue(start=True)
+
+ elif broker is not None:
+ self.broker = broker
+
+ def stop(self):
+ try:
+ self.conn.disconnect() # disconnect should be an invariant
+ except AttributeError:
+ pass # conn may have never been connected and lack "disconnect"
+
+ # Unblock any calls set on these events
+ self._event_managed_accounts.set()
+ self._event_accdownload.set()
+
+ def logmsg(self, *args):
+ # for logging purposes
+ if self.p._debug:
+ print(*args)
+
+ def watcher(self, msg):
+ # will be registered to see all messages if debug is requested
+ self.logmsg(str(msg))
+ if self.p.notifyall:
+ self.notifs.put((msg, tuple(msg.values()), dict(msg.items())))
+
+ def connected(self):
+ # The isConnected method is available through __getattr__ indirections
+ # and may not be present, which indicates that no connection has been
+ # made because the subattribute sender has not yet been created, hence
+ # the check for the AttributeError exception
+ try:
+ return self.conn.isConnected()
+ except AttributeError:
+ pass
+
+ return False # non-connected (including non-initialized)
+
+ def reconnect(self, fromstart=False, resub=False):
+ # This method must be an invariant in that it can be called several
+ # times from the same source and must be consistent. An exampler would
+ # be 5 datas which are being received simultaneously and all request a
+ # reconnect
+
+ # Policy:
+ # - if dontreconnect has been set, no option to connect is possible
+ # - check connection and use the absence of isConnected as signal of
+ # first ever connection (add 1 to retries too)
+ # - Calculate the retries (forever or not)
+ # - Try to connct
+ # - If achieved and fromstart is false, the datas will be
+ # re-kickstarted to recreate the subscription
+ firstconnect = False
+ try:
+ if self.conn.isConnected():
+ if resub:
+ self.startdatas()
+ return True # nothing to do
+ except AttributeError:
+ # Not connected, several __getattr__ indirections to
+ # self.conn.sender.client.isConnected
+ firstconnect = True
+
+ if self.dontreconnect:
+ return False
+
+ # This is only invoked from the main thread by datas and therefore no
+ # lock is needed to control synchronicity to it
+ retries = self.p.reconnect
+ if retries >= 0:
+ retries += firstconnect
+
+ while retries < 0 or retries:
+ if not firstconnect:
+ time.sleep(self.p.timeout)
+
+ firstconnect = False
+
+ if self.conn.connect():
+ if not fromstart or resub:
+ self.startdatas()
+ return True # connection successful
+
+ if retries > 0:
+ retries -= 1
+
+ self.dontreconnect = True
+ return False # connection/reconnection failed
+
+ def startdatas(self):
+ # kickstrat datas, not returning until all of them have been done
+ ts = list()
+ for data in self.datas:
+ t = threading.Thread(target=data.reqdata)
+ t.start()
+ ts.append(t)
+
+ for t in ts:
+ t.join()
+
+ def stopdatas(self):
+ # stop subs and force datas out of the loop (in LIFO order)
+ qs = list(self.qs.values())
+ ts = list()
+ for data in self.datas:
+ t = threading.Thread(target=data.canceldata)
+ t.start()
+ ts.append(t)
+
+ for t in ts:
+ t.join()
+
+ for q in reversed(qs): # datamaster the last one to get a None
+ q.put(None)
+
+ def get_notifications(self):
+ '''Return the pending "store" notifications'''
+ # The background thread could keep on adding notifications. The None
+ # mark allows to identify which is the last notification to deliver
+ self.notifs.put(None) # put a mark
+ notifs = list()
+ while True:
+ notif = self.notifs.get()
+ if notif is None: # mark is reached
+ break
+ notifs.append(notif)
+
+ return notifs
+
+ @ibregister
+ def error(self, msg):
+ # 100-199 Order/Data/Historical related
+ # 200-203 tickerId and Order Related
+ # 300-399 A mix of things: orders, connectivity, tickers, misc errors
+ # 400-449 Seem order related again
+ # 500-531 Connectivity/Communication Errors
+ # 10000-100027 Mix of special orders/routing
+ # 1100-1102 TWS connectivy to the outside
+ # 1300- Socket dropped in client-TWS communication
+ # 2100-2110 Informative about Data Farm status (id=-1)
+
+ # All errors are logged to the environment (cerebro), because many
+ # errors in Interactive Brokers are actually informational and many may
+ # actually be of interest to the user
+ if not self.p.notifyall:
+ self.notifs.put((msg, tuple(msg.values()), dict(msg.items())))
+
+ # Manage those events which have to do with connection
+ if msg.errorCode is None:
+ # Usually received as an error in connection of just before disconn
+ pass
+ elif msg.errorCode in [200, 203, 162, 320, 321, 322]:
+ # cdetails 200 security not found, notify over right queue
+ # cdetails 203 security not allowed for acct
+ try:
+ q = self.qs[msg.id]
+ except KeyError:
+ pass # should not happend but it can
+ else:
+ self.cancelQueue(q, True)
+
+ elif msg.errorCode in [354, 420]:
+ # 354 no subscription, 420 no real-time bar for contract
+ # the calling data to let the data know ... it cannot resub
+ try:
+ q = self.qs[msg.id]
+ except KeyError:
+ pass # should not happend but it can
+ else:
+ q.put(-msg.errorCode)
+ self.cancelQueue(q)
+
+ elif msg.errorCode == 10225:
+ # 10225-Bust event occurred, current subscription is deactivated.
+ # Please resubscribe real-time bars immediately.
+ try:
+ q = self.qs[msg.id]
+ except KeyError:
+ pass # should not happend but it can
+ else:
+ q.put(-msg.errorCode)
+
+ elif msg.errorCode == 326: # not recoverable, clientId in use
+ self.dontreconnect = True
+ self.conn.disconnect()
+ self.stopdatas()
+
+ elif msg.errorCode == 502:
+ # Cannot connect to TWS: port, config not open, tws off (504 then)
+ self.conn.disconnect()
+ self.stopdatas()
+
+ elif msg.errorCode == 504: # Not Connected for data op
+ # Once for each data
+ pass # don't need to manage it
+
+ elif msg.errorCode == 1300:
+ # TWS has been closed. The port for a new connection is there
+ # newport = int(msg.errorMsg.split('-')[-1]) # bla bla bla -7496
+ self.conn.disconnect()
+ self.stopdatas()
+
+ elif msg.errorCode == 1100:
+ # Connection lost - Notify ... datas will wait on the queue
+ # with no messages arriving
+ for q in self.ts: # key: queue -> ticker
+ q.put(-msg.errorCode)
+
+ elif msg.errorCode == 1101:
+ # Connection restored and tickerIds are gone
+ for q in self.ts: # key: queue -> ticker
+ q.put(-msg.errorCode)
+
+ elif msg.errorCode == 1102:
+ # Connection restored and tickerIds maintained
+ for q in self.ts: # key: queue -> ticker
+ q.put(-msg.errorCode)
+
+ elif msg.errorCode < 500:
+ # Given the myriad of errorCodes, start by assuming is an order
+ # error and if not, the checks there will let it go
+ if msg.id < self.REQIDBASE:
+ if self.broker is not None:
+ self.broker.push_ordererror(msg)
+ else:
+ # Cancel the queue if a "data" reqId error is given: sanity
+ q = self.qs[msg.id]
+ self.cancelQueue(q, True)
+
+ @ibregister
+ def connectionClosed(self, msg):
+ # Sometmes this comes without 1300/502 or any other and will not be
+ # seen in error hence the need to manage the situation independently
+ self.conn.disconnect()
+ self.stopdatas()
+
+ @ibregister
+ def managedAccounts(self, msg):
+ # 1st message in the stream
+ self.managed_accounts = msg.accountsList.split(',')
+ self._event_managed_accounts.set()
+
+ # Request time to avoid synchronization issues
+ self.reqCurrentTime()
+
+ def reqCurrentTime(self):
+ self.conn.reqCurrentTime()
+
+ @ibregister
+ def currentTime(self, msg):
+ if not self.p.timeoffset: # only if requested ... apply timeoffset
+ return
+ curtime = datetime.fromtimestamp(float(msg.time))
+ with self._lock_tmoffset:
+ self.tmoffset = curtime - datetime.now()
+
+ threading.Timer(self.p.timerefresh, self.reqCurrentTime).start()
+
+ def timeoffset(self):
+ with self._lock_tmoffset:
+ return self.tmoffset
+
+ def nextTickerId(self):
+ # Get the next ticker using next on the itertools.count
+ return next(self._tickerId)
+
+ @ibregister
+ def nextValidId(self, msg):
+ # Create a counter from the TWS notified value to apply to orders
+ self.orderid = itertools.count(msg.orderId)
+
+ def nextOrderId(self):
+ # Get the next ticker using next on the itertools.count made with the
+ # notified value from TWS
+ return next(self.orderid)
+
+ def reuseQueue(self, tickerId):
+ '''Reuses queue for tickerId, returning the new tickerId and q'''
+ with self._lock_q:
+ # Invalidate tickerId in qs (where it is a key)
+ q = self.qs.pop(tickerId, None) # invalidate old
+ iscash = self.iscash.pop(tickerId, None)
+
+ # Update ts: q -> ticker
+ tickerId = self.nextTickerId() # get new tickerId
+ self.ts[q] = tickerId # Update ts: q -> tickerId
+ self.qs[tickerId] = q # Update qs: tickerId -> q
+ self.iscash[tickerId] = iscash
+
+ return tickerId, q
+
+ def getTickerQueue(self, start=False):
+ '''Creates ticker/Queue for data delivery to a data feed'''
+ q = queue.Queue()
+ if start:
+ q.put(None)
+ return q
+
+ with self._lock_q:
+ tickerId = self.nextTickerId()
+ self.qs[tickerId] = q # can be managed from other thread
+ self.ts[q] = tickerId
+ self.iscash[tickerId] = False
+
+ return tickerId, q
+
+ def cancelQueue(self, q, sendnone=False):
+ '''Cancels a Queue for data delivery'''
+ # pop ts (tickers) and with the result qs (queues)
+ tickerId = self.ts.pop(q, None)
+ self.qs.pop(tickerId, None)
+
+ self.iscash.pop(tickerId, None)
+
+ if sendnone:
+ q.put(None)
+
+ def validQueue(self, q):
+ '''Returns (bool) if a queue is still valid'''
+ return q in self.ts # queue -> ticker
+
+ def getContractDetails(self, contract, maxcount=None):
+ cds = list()
+ q = self.reqContractDetails(contract)
+ while True:
+ msg = q.get()
+ if msg is None:
+ break
+ cds.append(msg)
+
+ if not cds or (maxcount and len(cds) > maxcount):
+ err = 'Ambiguous contract: none/multiple answers received'
+ self.notifs.put((err, cds, {}))
+ return None
+
+ return cds
+
+ def reqContractDetails(self, contract):
+ # get a ticker/queue for identification/data delivery
+ tickerId, q = self.getTickerQueue()
+ self.conn.reqContractDetails(tickerId, contract)
+ return q
+
+ @ibregister
+ def contractDetailsEnd(self, msg):
+ '''Signal end of contractdetails'''
+ self.cancelQueue(self.qs[msg.reqId], True)
+
+ @ibregister
+ def contractDetails(self, msg):
+ '''Receive answer and pass it to the queue'''
+ self.qs[msg.reqId].put(msg)
+
+ def reqHistoricalDataEx(self, contract, enddate, begindate,
+ timeframe, compression,
+ what=None, useRTH=False, tz='', sessionend=None,
+ tickerId=None):
+ '''
+ Extension of the raw reqHistoricalData proxy, which takes two dates
+ rather than a duration, barsize and date
+
+ It uses the IB published valid duration/barsizes to make a mapping and
+ spread a historical request over several historical requests if needed
+ '''
+ # Keep a copy for error reporting purposes
+ kwargs = locals().copy()
+ kwargs.pop('self', None) # remove self, no need to report it
+
+ if timeframe < TimeFrame.Seconds:
+ # Ticks are not supported
+ return self.getTickerQueue(start=True)
+
+ if enddate is None:
+ enddate = datetime.now()
+
+ if begindate is None:
+ duration = self.getmaxduration(timeframe, compression)
+ if duration is None:
+ err = ('No duration for historical data request for '
+ 'timeframe/compresison')
+ self.notifs.put((err, (), kwargs))
+ return self.getTickerQueue(start=True)
+ barsize = self.tfcomp_to_size(timeframe, compression)
+ if barsize is None:
+ err = ('No supported barsize for historical data request for '
+ 'timeframe/compresison')
+ self.notifs.put((err, (), kwargs))
+ return self.getTickerQueue(start=True)
+
+ return self.reqHistoricalData(contract=contract, enddate=enddate,
+ duration=duration, barsize=barsize,
+ what=what, useRTH=useRTH, tz=tz,
+ sessionend=sessionend)
+
+ # Check if the requested timeframe/compression is supported by IB
+ durations = self.getdurations(timeframe, compression)
+ if not durations: # return a queue and put a None in it
+ return self.getTickerQueue(start=True)
+
+ # Get or reuse a queue
+ if tickerId is None:
+ tickerId, q = self.getTickerQueue()
+ else:
+ tickerId, q = self.reuseQueue(tickerId) # reuse q for old tickerId
+
+ # Get the best possible duration to reduce number of requests
+ duration = None
+ for dur in durations:
+ intdate = self.dt_plus_duration(begindate, dur)
+ if intdate >= enddate:
+ intdate = enddate
+ duration = dur # begin -> end fits in single request
+ break
+
+ if duration is None: # no duration large enough to fit the request
+ duration = durations[-1]
+
+ # Store the calculated data
+ self.histexreq[tickerId] = dict(
+ contract=contract, enddate=enddate, begindate=intdate,
+ timeframe=timeframe, compression=compression,
+ what=what, useRTH=useRTH, tz=tz, sessionend=sessionend)
+
+ barsize = self.tfcomp_to_size(timeframe, compression)
+ self.histfmt[tickerId] = timeframe >= TimeFrame.Days
+ self.histsend[tickerId] = sessionend
+ self.histtz[tickerId] = tz
+
+ if contract.m_secType in ['CASH', 'CFD']:
+ self.iscash[tickerId] = 1 # msg.field code
+ if not what:
+ what = 'BID' # default for cash unless otherwise specified
+
+ elif contract.m_secType in ['IND'] and self.p.indcash:
+ self.iscash[tickerId] = 4 # msg.field code
+
+ what = what or 'TRADES'
+
+ self.conn.reqHistoricalData(
+ tickerId,
+ contract,
+ bytes(intdate.strftime('%Y%m%d %H:%M:%S') + ' GMT'),
+ bytes(duration),
+ bytes(barsize),
+ bytes(what),
+ int(useRTH),
+ 2) # dateformat 1 for string, 2 for unix time in seconds
+
+ return q
+
+ def reqHistoricalData(self, contract, enddate, duration, barsize,
+ what=None, useRTH=False, tz='', sessionend=None):
+ '''Proxy to reqHistorical Data'''
+
+ # get a ticker/queue for identification/data delivery
+ tickerId, q = self.getTickerQueue()
+
+ if contract.m_secType in ['CASH', 'CFD']:
+ self.iscash[tickerId] = True
+ if not what:
+ what = 'BID' # TRADES doesn't work
+ elif what == 'ASK':
+ self.iscash[tickerId] = 2
+ else:
+ what = what or 'TRADES'
+
+ # split barsize "x time", look in sizes for (tf, comp) get tf
+ tframe = self._sizes[barsize.split()[1]][0]
+ self.histfmt[tickerId] = tframe >= TimeFrame.Days
+ self.histsend[tickerId] = sessionend
+ self.histtz[tickerId] = tz
+
+ self.conn.reqHistoricalData(
+ tickerId,
+ contract,
+ bytes(enddate.strftime('%Y%m%d %H:%M:%S') + ' GMT'),
+ bytes(duration),
+ bytes(barsize),
+ bytes(what),
+ int(useRTH),
+ 2)
+
+ return q
+
+ def cancelHistoricalData(self, q):
+ '''Cancels an existing HistoricalData request
+
+ Params:
+ - q: the Queue returned by reqMktData
+ '''
+ with self._lock_q:
+ self.conn.cancelHistoricalData(self.ts[q])
+ self.cancelQueue(q, True)
+
+ def reqRealTimeBars(self, contract, useRTH=False, duration=5):
+ '''Creates a request for (5 seconds) Real Time Bars
+
+ Params:
+ - contract: a ib.ext.Contract.Contract intance
+ - useRTH: (default: False) passed to TWS
+ - duration: (default: 5) passed to TWS, no other value works in 2016)
+
+ Returns:
+ - a Queue the client can wait on to receive a RTVolume instance
+ '''
+ # get a ticker/queue for identification/data delivery
+ tickerId, q = self.getTickerQueue()
+
+ # 20150929 - Only 5 secs supported for duration
+ self.conn.reqRealTimeBars(
+ tickerId,
+ contract,
+ duration,
+ bytes('TRADES'),
+ int(useRTH))
+
+ return q
+
+ def cancelRealTimeBars(self, q):
+ '''Cancels an existing MarketData subscription
+
+ Params:
+ - q: the Queue returned by reqMktData
+ '''
+ with self._lock_q:
+ tickerId = self.ts.get(q, None)
+ if tickerId is not None:
+ self.conn.cancelRealTimeBars(tickerId)
+
+ self.cancelQueue(q, True)
+
+ def reqMktData(self, contract, what=None):
+ '''Creates a MarketData subscription
+
+ Params:
+ - contract: a ib.ext.Contract.Contract intance
+
+ Returns:
+ - a Queue the client can wait on to receive a RTVolume instance
+ '''
+ # get a ticker/queue for identification/data delivery
+ tickerId, q = self.getTickerQueue()
+ ticks = '233' # request RTVOLUME tick delivered over tickString
+
+ if contract.m_secType in ['CASH', 'CFD']:
+ self.iscash[tickerId] = True
+ ticks = '' # cash markets do not get RTVOLUME
+ if what == 'ASK':
+ self.iscash[tickerId] = 2
+
+ # q.put(None) # to kickstart backfilling
+ # Can request 233 also for cash ... nothing will arrive
+ self.conn.reqMktData(tickerId, contract, bytes(ticks), False)
+ return q
+
+ def cancelMktData(self, q):
+ '''Cancels an existing MarketData subscription
+
+ Params:
+ - q: the Queue returned by reqMktData
+ '''
+ with self._lock_q:
+ tickerId = self.ts.get(q, None)
+ if tickerId is not None:
+ self.conn.cancelMktData(tickerId)
+
+ self.cancelQueue(q, True)
+
+ @ibregister
+ def tickString(self, msg):
+ # Receive and process a tickString message
+ if msg.tickType == 48: # RTVolume
+ try:
+ rtvol = RTVolume(msg.value)
+ except ValueError: # price not in message ...
+ pass
+ else:
+ # Don't need to adjust the time, because it is in "timestamp"
+ # form in the message
+ self.qs[msg.tickerId].put(rtvol)
+
+ @ibregister
+ def tickPrice(self, msg):
+ '''Cash Markets have no notion of "last_price"/"last_size" and the
+ tracking of the price is done (industry de-facto standard at least with
+ the IB API) following the BID price
+
+ A RTVolume which will only contain a price is put into the client's
+ queue to have a consistent cross-market interface
+ '''
+ # Used for "CASH" markets
+ # The price field has been seen to be missing in some instances even if
+ # "field" is 1
+ tickerId = msg.tickerId
+ fieldcode = self.iscash[tickerId]
+ if fieldcode:
+ if msg.field == fieldcode: # Expected cash field code
+ try:
+ if msg.price == -1.0:
+ # seems to indicate the stream is halted for example in
+ # between 23:00 - 23:15 CET for FOREX
+ return
+ except AttributeError:
+ pass
+
+ try:
+ rtvol = RTVolume(price=msg.price, tmoffset=self.tmoffset)
+ # print('rtvol with datetime:', rtvol.datetime)
+ except ValueError: # price not in message ...
+ pass
+ else:
+ self.qs[tickerId].put(rtvol)
+
+ @ibregister
+ def realtimeBar(self, msg):
+ '''Receives x seconds Real Time Bars (at the time of writing only 5
+ seconds are supported)
+
+ Not valid for cash markets
+ '''
+ # Get a naive localtime object
+ msg.time = datetime.utcfromtimestamp(float(msg.time))
+ self.qs[msg.reqId].put(msg)
+
+ @ibregister
+ def historicalData(self, msg):
+ '''Receives the events of a historical data request'''
+ # For multi-tiered downloads we'd need to rebind the queue to a new
+ # tickerId (in case tickerIds are not reusable) and instead of putting
+ # None, issue a new reqHistData with the new data and move formward
+ tickerId = msg.reqId
+ q = self.qs[tickerId]
+ if msg.date.startswith('finished-'):
+ self.histfmt.pop(tickerId, None)
+ self.histsend.pop(tickerId, None)
+ self.histtz.pop(tickerId, None)
+ kargs = self.histexreq.pop(tickerId, None)
+ if kargs is not None:
+ self.reqHistoricalDataEx(tickerId=tickerId, **kargs)
+ return
+
+ msg.date = None
+ self.cancelQueue(q)
+ else:
+ dtstr = msg.date # Format when string req: YYYYMMDD[ HH:MM:SS]
+ if self.histfmt[tickerId]:
+ sessionend = self.histsend[tickerId]
+ dt = datetime.strptime(dtstr, '%Y%m%d')
+ dteos = datetime.combine(dt, sessionend)
+ tz = self.histtz[tickerId]
+ if tz:
+ dteostz = tz.localize(dteos)
+ dteosutc = dteostz.astimezone(UTC).replace(tzinfo=None)
+ # When requesting for example daily bars, the current day
+ # will be returned with the already happened data. If the
+ # session end were added, the new ticks wouldn't make it
+ # through, because they happen before the end of time
+ else:
+ dteosutc = dteos
+
+ if dteosutc <= datetime.utcnow():
+ dt = dteosutc
+
+ msg.date = dt
+ else:
+ msg.date = datetime.utcfromtimestamp(long(dtstr))
+
+ q.put(msg)
+
+ # The _durations are meant to calculate the needed historical data to
+ # perform backfilling at the start of a connetion or a connection is lost.
+ # Using a timedelta as a key allows to quickly find out which bar size
+ # bar size (values in the tuples int the dict) can be used.
+
+ _durations = dict([
+ # 60 seconds - 1 min
+ ('60 S',
+ ('1 secs', '5 secs', '10 secs', '15 secs', '30 secs',
+ '1 min')),
+
+ # 120 seconds - 2 mins
+ ('120 S',
+ ('1 secs', '5 secs', '10 secs', '15 secs', '30 secs',
+ '1 min', '2 mins')),
+
+ # 180 seconds - 3 mins
+ ('180 S',
+ ('1 secs', '5 secs', '10 secs', '15 secs', '30 secs',
+ '1 min', '2 mins', '3 mins')),
+
+ # 300 seconds - 5 mins
+ ('300 S',
+ ('1 secs', '5 secs', '10 secs', '15 secs', '30 secs',
+ '1 min', '2 mins', '3 mins', '5 mins')),
+
+ # 600 seconds - 10 mins
+ ('600 S',
+ ('1 secs', '5 secs', '10 secs', '15 secs', '30 secs',
+ '1 min', '2 mins', '3 mins', '5 mins', '10 mins')),
+
+ # 900 seconds - 15 mins
+ ('900 S',
+ ('1 secs', '5 secs', '10 secs', '15 secs', '30 secs',
+ '1 min', '2 mins', '3 mins', '5 mins', '10 mins', '15 mins')),
+
+ # 1200 seconds - 20 mins
+ ('1200 S',
+ ('1 secs', '5 secs', '10 secs', '15 secs', '30 secs',
+ '1 min', '2 mins', '3 mins', '5 mins', '10 mins', '15 mins',
+ '20 mins')),
+
+ # 1800 seconds - 30 mins
+ ('1800 S',
+ ('1 secs', '5 secs', '10 secs', '15 secs', '30 secs',
+ '1 min', '2 mins', '3 mins', '5 mins', '10 mins', '15 mins',
+ '20 mins', '30 mins')),
+
+ # 3600 seconds - 1 hour
+ ('3600 S',
+ ('5 secs', '10 secs', '15 secs', '30 secs',
+ '1 min', '2 mins', '3 mins', '5 mins', '10 mins', '15 mins',
+ '20 mins', '30 mins',
+ '1 hour')),
+
+ # 7200 seconds - 2 hours
+ ('7200 S',
+ ('5 secs', '10 secs', '15 secs', '30 secs',
+ '1 min', '2 mins', '3 mins', '5 mins', '10 mins', '15 mins',
+ '20 mins', '30 mins',
+ '1 hour', '2 hours')),
+
+ # 10800 seconds - 3 hours
+ ('10800 S',
+ ('10 secs', '15 secs', '30 secs',
+ '1 min', '2 mins', '3 mins', '5 mins', '10 mins', '15 mins',
+ '20 mins', '30 mins',
+ '1 hour', '2 hours', '3 hours')),
+
+ # 14400 seconds - 4 hours
+ ('14400 S',
+ ('15 secs', '30 secs',
+ '1 min', '2 mins', '3 mins', '5 mins', '10 mins', '15 mins',
+ '20 mins', '30 mins',
+ '1 hour', '2 hours', '3 hours', '4 hours')),
+
+ # 28800 seconds - 8 hours
+ ('28800 S',
+ ('30 secs',
+ '1 min', '2 mins', '3 mins', '5 mins', '10 mins', '15 mins',
+ '20 mins', '30 mins',
+ '1 hour', '2 hours', '3 hours', '4 hours', '8 hours')),
+
+ # 1 days
+ ('1 D',
+ ('1 min', '2 mins', '3 mins', '5 mins', '10 mins', '15 mins',
+ '20 mins', '30 mins',
+ '1 hour', '2 hours', '3 hours', '4 hours', '8 hours',
+ '1 day')),
+
+ # 2 days
+ ('2 D',
+ ('2 mins', '3 mins', '5 mins', '10 mins', '15 mins',
+ '20 mins', '30 mins',
+ '1 hour', '2 hours', '3 hours', '4 hours', '8 hours',
+ '1 day')),
+
+ # 1 weeks
+ ('1 W',
+ ('3 mins', '5 mins', '10 mins', '15 mins',
+ '20 mins', '30 mins',
+ '1 hour', '2 hours', '3 hours', '4 hours', '8 hours',
+ '1 day', '1 W')),
+
+ # 2 weeks
+ ('2 W',
+ ('15 mins', '20 mins', '30 mins',
+ '1 hour', '2 hours', '3 hours', '4 hours', '8 hours',
+ '1 day', '1 W')),
+
+ # 1 months
+ ('1 M',
+ ('30 mins',
+ '1 hour', '2 hours', '3 hours', '4 hours', '8 hours',
+ '1 day', '1 W', '1 M')),
+
+ # 2+ months
+ ('2 M', ('1 day', '1 W', '1 M')),
+ ('3 M', ('1 day', '1 W', '1 M')),
+ ('4 M', ('1 day', '1 W', '1 M')),
+ ('5 M', ('1 day', '1 W', '1 M')),
+ ('6 M', ('1 day', '1 W', '1 M')),
+ ('7 M', ('1 day', '1 W', '1 M')),
+ ('8 M', ('1 day', '1 W', '1 M')),
+ ('9 M', ('1 day', '1 W', '1 M')),
+ ('10 M', ('1 day', '1 W', '1 M')),
+ ('11 M', ('1 day', '1 W', '1 M')),
+
+ # 1+ years
+ ('1 Y', ('1 day', '1 W', '1 M')),
+ ])
+
+ # Sizes allow for quick translation from bar sizes above to actual
+ # timeframes to make a comparison with the actual data
+ _sizes = {
+ 'secs': (TimeFrame.Seconds, 1),
+ 'min': (TimeFrame.Minutes, 1),
+ 'mins': (TimeFrame.Minutes, 1),
+ 'hour': (TimeFrame.Minutes, 60),
+ 'hours': (TimeFrame.Minutes, 60),
+ 'day': (TimeFrame.Days, 1),
+ 'W': (TimeFrame.Weeks, 1),
+ 'M': (TimeFrame.Months, 1),
+ }
+
+ _dur2tf = {
+ 'S': TimeFrame.Seconds,
+ 'D': TimeFrame.Days,
+ 'W': TimeFrame.Weeks,
+ 'M': TimeFrame.Months,
+ 'Y': TimeFrame.Years,
+ }
+
+ def getdurations(self, timeframe, compression):
+ key = (timeframe, compression)
+ if key not in self.revdur:
+ return []
+
+ return self.revdur[key]
+
+ def getmaxduration(self, timeframe, compression):
+ key = (timeframe, compression)
+ try:
+ return self.revdur[key][-1]
+ except (KeyError, IndexError):
+ pass
+
+ return None
+
+ def tfcomp_to_size(self, timeframe, compression):
+ if timeframe == TimeFrame.Months:
+ return '{} M'.format(compression)
+
+ if timeframe == TimeFrame.Weeks:
+ return '{} W'.format(compression)
+
+ if timeframe == TimeFrame.Days:
+ if not compression % 7:
+ return '{} W'.format(compression // 7)
+
+ return '{} day'.format(compression)
+
+ if timeframe == TimeFrame.Minutes:
+ if not compression % 60:
+ hours = compression // 60
+ return ('{} hour'.format(hours)) + ('s' * (hours > 1))
+
+ return ('{} min'.format(compression)) + ('s' * (compression > 1))
+
+ if timeframe == TimeFrame.Seconds:
+ return '{} secs'.format(compression)
+
+ # Microseconds or ticks
+ return None
+
+ def dt_plus_duration(self, dt, duration):
+ size, dim = duration.split()
+ size = int(size)
+ if dim == 'S':
+ return dt + timedelta(seconds=size)
+
+ if dim == 'D':
+ return dt + timedelta(days=size)
+
+ if dim == 'W':
+ return dt + timedelta(days=size * 7)
+
+ if dim == 'M':
+ month = dt.month - 1 + size # -1 to make it 0 based, readd below
+ years, month = divmod(month, 12)
+ return dt.replace(year=dt.year + years, month=month + 1)
+
+ if dim == 'Y':
+ return dt.replace(year=dt.year + size)
+
+ return dt # could do nothing with it ... return it intact
+
+ def calcdurations(self, dtbegin, dtend):
+ '''Calculate a duration in between 2 datetimes'''
+ duration = self.histduration(dtbegin, dtend)
+
+ if duration[-1] == 'M':
+ m = int(duration.split()[0])
+ m1 = min(2, m) # (2, 1) -> 1, (2, 7) -> 2. Bottomline: 1 or 2
+ m2 = max(1, m1) # m1 can only be 1 or 2
+ checkdur = '{} M'.format(m2)
+ elif duration[-1] == 'Y':
+ checkdur = '1 Y'
+ else:
+ checkdur = duration
+
+ sizes = self._durations[checkduration]
+ return duration, sizes
+
+ def calcduration(self, dtbegin, dtend):
+ '''Calculate a duration in between 2 datetimes. Returns single size'''
+ duration, sizes = self._calcdurations(dtbegin, dtend)
+ return duration, sizes[0]
+
+ def histduration(self, dt1, dt2):
+ # Given two dates calculates the smallest possible duration according
+ # to the table from the Historical Data API limitations provided by IB
+ #
+ # Seconds: 'x S' (x: [60, 120, 180, 300, 600, 900, 1200, 1800, 3600,
+ # 7200, 10800, 14400, 28800])
+ # Days: 'x D' (x: [1, 2]
+ # Weeks: 'x W' (x: [1, 2])
+ # Months: 'x M' (x: [1, 11])
+ # Years: 'x Y' (x: [1])
+
+ td = dt2 - dt1 # get a timedelta for calculations
+
+ # First: array of secs
+ tsecs = td.total_seconds()
+ secs = [60, 120, 180, 300, 600, 900, 1200, 1800, 3600, 7200, 10800,
+ 14400, 28800]
+
+ idxsec = bisect.bisect_left(secs, tsecs)
+ if idxsec < len(secs):
+ return '{} S'.format(secs[idxsec])
+
+ tdextra = bool(td.seconds or td.microseconds) # over days/weeks
+
+ # Next: 1 or 2 days
+ days = td.days + tdextra
+ if td.days <= 2:
+ return '{} D'.format(days)
+
+ # Next: 1 or 2 weeks
+ weeks, d = divmod(td.days, 7)
+ weeks += bool(d or tdextra)
+ if weeks <= 2:
+ return '{} W'.format(weeks)
+
+ # Get references to dt components
+ y2, m2, d2 = dt2.year, dt2.month, dt2.day
+ y1, m1, d1 = dt1.year, dt1.month, dt2.day
+
+ H2, M2, S2, US2 = dt2.hour, dt2.minute, dt2.second, dt2.microsecond
+ H1, M1, S1, US1 = dt1.hour, dt1.minute, dt1.second, dt1.microsecond
+
+ # Next: 1 -> 11 months (11 incl)
+ months = (y2 * 12 + m2) - (y1 * 12 + m1) + (
+ (d2, H2, M2, S2, US2) > (d1, H1, M1, S1, US1))
+ if months <= 1: # months <= 11
+ return '1 M' # return '{} M'.format(months)
+ elif months <= 11:
+ return '2 M' # cap at 2 months to keep the table clean
+
+ # Next: years
+ # y = y2 - y1 + (m2, d2, H2, M2, S2, US2) > (m1, d1, H1, M1, S1, US1)
+ # return '{} Y'.format(y)
+
+ return '1 Y' # to keep the table clean
+
+ def makecontract(self, symbol, sectype, exch, curr,
+ expiry='', strike=0.0, right='', mult=1):
+ '''returns a contract from the parameters without check'''
+
+ contract = Contract()
+ contract.m_symbol = bytes(symbol)
+ contract.m_secType = bytes(sectype)
+ contract.m_exchange = bytes(exch)
+ if curr:
+ contract.m_currency = bytes(curr)
+ if sectype in ['FUT', 'OPT', 'FOP']:
+ contract.m_expiry = bytes(expiry)
+ if sectype in ['OPT', 'FOP']:
+ contract.m_strike = strike
+ contract.m_right = bytes(right)
+ if mult:
+ contract.m_multiplier = bytes(mult)
+ return contract
+
+ def cancelOrder(self, orderid):
+ '''Proxy to cancelOrder'''
+ self.conn.cancelOrder(orderid)
+
+ def placeOrder(self, orderid, contract, order):
+ '''Proxy to placeOrder'''
+ self.conn.placeOrder(orderid, contract, order)
+
+ @ibregister
+ def openOrder(self, msg):
+ '''Receive the event ``openOrder`` events'''
+ self.broker.push_orderstate(msg)
+
+ @ibregister
+ def execDetails(self, msg):
+ '''Receive execDetails'''
+ self.broker.push_execution(msg.execution)
+
+ @ibregister
+ def orderStatus(self, msg):
+ '''Receive the event ``orderStatus``'''
+ self.broker.push_orderstatus(msg)
+
+ @ibregister
+ def commissionReport(self, msg):
+ '''Receive the event commissionReport'''
+ self.broker.push_commissionreport(msg.commissionReport)
+
+ def reqPositions(self):
+ '''Proxy to reqPositions'''
+ self.conn.reqPositions()
+
+ @ibregister
+ def position(self, msg):
+ '''Receive event positions'''
+ pass # Not implemented yet
+
+ def reqAccountUpdates(self, subscribe=True, account=None):
+ '''Proxy to reqAccountUpdates
+
+ If ``account`` is ``None``, wait for the ``managedAccounts`` message to
+ set the account codes
+ '''
+ if account is None:
+ self._event_managed_accounts.wait()
+ account = self.managed_accounts[0]
+
+ self.conn.reqAccountUpdates(subscribe, bytes(account))
+
+ @ibregister
+ def accountDownloadEnd(self, msg):
+ # Signals the end of an account update
+ # the event indicates it's over. It's only false once, and can be used
+ # to find out if it has at least been downloaded once
+ self._event_accdownload.set()
+ if False:
+ if self.port_update:
+ self.broker.push_portupdate()
+
+ self.port_update = False
+
+ @ibregister
+ def updatePortfolio(self, msg):
+ # Lock access to the position dicts. This is called in sub-thread and
+ # can kick in at any time
+ with self._lock_pos:
+ if not self._event_accdownload.is_set(): # 1st event seen
+ position = Position(msg.position, msg.averageCost)
+ self.positions[msg.contract.m_conId] = position
+ else:
+ position = self.positions[msg.contract.m_conId]
+ if not position.fix(msg.position, msg.averageCost):
+ err = ('The current calculated position and '
+ 'the position reported by the broker do not match. '
+ 'Operation can continue, but the trades '
+ 'calculated in the strategy may be wrong')
+
+ self.notifs.put((err, (), {}))
+
+ # Flag signal to broker at the end of account download
+ # self.port_update = True
+ self.broker.push_portupdate()
+
+ def getposition(self, contract, clone=False):
+ # Lock access to the position dicts. This is called from main thread
+ # and updates could be happening in the background
+ with self._lock_pos:
+ position = self.positions[contract.m_conId]
+ if clone:
+ return copy(position)
+
+ return position
+
+ @ibregister
+ def updateAccountValue(self, msg):
+ # Lock access to the dicts where values are updated. This happens in a
+ # sub-thread and could kick it at anytime
+ with self._lock_accupd:
+ try:
+ value = float(msg.value)
+ except ValueError:
+ value = msg.value
+
+ self.acc_upds[msg.accountName][msg.key][msg.currency] = value
+
+ if msg.key == 'NetLiquidation':
+ # NetLiquidationByCurrency and currency == 'BASE' is the same
+ self.acc_value[msg.accountName] = value
+ elif msg.key == 'TotalCashBalance' and msg.currency == 'BASE':
+ self.acc_cash[msg.accountName] = value
+
+ def get_acc_values(self, account=None):
+ '''Returns all account value infos sent by TWS during regular updates
+ Waits for at least 1 successful download
+
+ If ``account`` is ``None`` then a dictionary with accounts as keys will
+ be returned containing all accounts
+
+ If account is specified or the system has only 1 account the dictionary
+ corresponding to that account is returned
+ '''
+ # Wait for at least 1 account update download to have been finished
+ # before the account infos can be returned to the calling client
+ if self.connected():
+ self._event_accdownload.wait()
+ # Lock access to acc_cash to avoid an event intefering
+ with self._updacclock:
+ if account is None:
+ # wait for the managedAccount Messages
+ if self.connected():
+ self._event_managed_accounts.wait()
+
+ if not self.managed_accounts:
+ return self.acc_upds.copy()
+
+ elif len(self.managed_accounts) > 1:
+ return self.acc_upds.copy()
+
+ # Only 1 account, fall through to return only 1
+ account = self.managed_accounts[0]
+
+ try:
+ return self.acc_upds[account].copy()
+ except KeyError:
+ pass
+
+ return self.acc_upds.copy()
+
+ def get_acc_value(self, account=None):
+ '''Returns the net liquidation value sent by TWS during regular updates
+ Waits for at least 1 successful download
+
+ If ``account`` is ``None`` then a dictionary with accounts as keys will
+ be returned containing all accounts
+
+ If account is specified or the system has only 1 account the dictionary
+ corresponding to that account is returned
+ '''
+ # Wait for at least 1 account update download to have been finished
+ # before the value can be returned to the calling client
+ if self.connected():
+ self._event_accdownload.wait()
+ # Lock access to acc_cash to avoid an event intefering
+ with self._lock_accupd:
+ if account is None:
+ # wait for the managedAccount Messages
+ if self.connected():
+ self._event_managed_accounts.wait()
+
+ if not self.managed_accounts:
+ return float()
+
+ elif len(self.managed_accounts) > 1:
+ return sum(self.acc_value.values())
+
+ # Only 1 account, fall through to return only 1
+ account = self.managed_accounts[0]
+
+ try:
+ return self.acc_value[account]
+ except KeyError:
+ pass
+
+ return float()
+
+ def get_acc_cash(self, account=None):
+ '''Returns the total cash value sent by TWS during regular updates
+ Waits for at least 1 successful download
+
+ If ``account`` is ``None`` then a dictionary with accounts as keys will
+ be returned containing all accounts
+
+ If account is specified or the system has only 1 account the dictionary
+ corresponding to that account is returned
+ '''
+ # Wait for at least 1 account update download to have been finished
+ # before the cash can be returned to the calling client
+ if self.connected():
+ self._event_accdownload.wait()
+ # Lock access to acc_cash to avoid an event intefering
+ with self._lock_accupd:
+ if account is None:
+ # wait for the managedAccount Messages
+ if self.connected():
+ self._event_managed_accounts.wait()
+
+ if not self.managed_accounts:
+ return float()
+
+ elif len(self.managed_accounts) > 1:
+ return sum(self.acc_cash.values())
+
+ # Only 1 account, fall through to return only 1
+ account = self.managed_accounts[0]
+
+ try:
+ return self.acc_cash[account]
+ except KeyError:
+ pass
diff --git a/backtrader/source/backtrader/stores/oandastore.py b/backtrader/source/backtrader/stores/oandastore.py
new file mode 100644
index 0000000000000000000000000000000000000000..15396576e9cf980fbbf7b49f35a902af21cbdeae
--- /dev/null
+++ b/backtrader/source/backtrader/stores/oandastore.py
@@ -0,0 +1,659 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+from datetime import datetime, timedelta
+import time as _time
+import json
+import threading
+
+import oandapy
+import requests # oandapy depdendency
+
+import backtrader as bt
+from backtrader.metabase import MetaParams
+from backtrader.utils.py3 import queue, with_metaclass
+from backtrader.utils import AutoDict
+
+
+# Extend the exceptions to support extra cases
+
+class OandaRequestError(oandapy.OandaError):
+ def __init__(self):
+ er = dict(code=599, message='Request Error', description='')
+ super(self.__class__, self).__init__(er)
+
+
+class OandaStreamError(oandapy.OandaError):
+ def __init__(self, content=''):
+ er = dict(code=598, message='Failed Streaming', description=content)
+ super(self.__class__, self).__init__(er)
+
+
+class OandaTimeFrameError(oandapy.OandaError):
+ def __init__(self, content):
+ er = dict(code=597, message='Not supported TimeFrame', description='')
+ super(self.__class__, self).__init__(er)
+
+
+class OandaNetworkError(oandapy.OandaError):
+ def __init__(self):
+ er = dict(code=596, message='Network Error', description='')
+ super(self.__class__, self).__init__(er)
+
+
+class API(oandapy.API):
+ def request(self, endpoint, method='GET', params=None):
+ # Overriden to make something sensible out of a
+ # request.RequestException rather than simply issuing a print(str(e))
+ url = '%s/%s' % (self.api_url, endpoint)
+
+ method = method.lower()
+ params = params or {}
+
+ func = getattr(self.client, method)
+
+ request_args = {}
+ if method == 'get':
+ request_args['params'] = params
+ else:
+ request_args['data'] = params
+
+ # Added the try block
+ try:
+ response = func(url, **request_args)
+ except requests.RequestException as e:
+ return OandaRequestError().error_response
+
+ content = response.content.decode('utf-8')
+ content = json.loads(content)
+
+ # error message
+ if response.status_code >= 400:
+ # changed from raise to return
+ return oandapy.OandaError(content).error_response
+
+ return content
+
+
+class Streamer(oandapy.Streamer):
+ def __init__(self, q, headers=None, *args, **kwargs):
+ # Override to provide headers, which is in the standard API interface
+ super(Streamer, self).__init__(*args, **kwargs)
+
+ if headers:
+ self.client.headers.update(headers)
+
+ self.q = q
+
+ def run(self, endpoint, params=None):
+ # Override to better manage exceptions.
+ # Kept as much as possible close to the original
+ self.connected = True
+
+ params = params or {}
+
+ ignore_heartbeat = None
+ if 'ignore_heartbeat' in params:
+ ignore_heartbeat = params['ignore_heartbeat']
+
+ request_args = {}
+ request_args['params'] = params
+
+ url = '%s/%s' % (self.api_url, endpoint)
+
+ while self.connected:
+ # Added exception control here
+ try:
+ response = self.client.get(url, **request_args)
+ except requests.RequestException as e:
+ self.q.put(OandaRequestError().error_response)
+ break
+
+ if response.status_code != 200:
+ self.on_error(response.content)
+ break # added break here
+
+ # Changed chunk_size 90 -> None
+ try:
+ for line in response.iter_lines(chunk_size=None):
+ if not self.connected:
+ break
+
+ if line:
+ data = json.loads(line.decode('utf-8'))
+ if not (ignore_heartbeat and 'heartbeat' in data):
+ self.on_success(data)
+
+ except: # socket.error has been seen
+ self.q.put(OandaStreamError().error_response)
+ break
+
+ def on_success(self, data):
+ if 'tick' in data:
+ self.q.put(data['tick'])
+ elif 'transaction' in data:
+ self.q.put(data['transaction'])
+
+ def on_error(self, data):
+ self.disconnect()
+ self.q.put(OandaStreamError(data).error_response)
+
+
+class MetaSingleton(MetaParams):
+ '''Metaclass to make a metaclassed class a singleton'''
+ def __init__(cls, name, bases, dct):
+ super(MetaSingleton, cls).__init__(name, bases, dct)
+ cls._singleton = None
+
+ def __call__(cls, *args, **kwargs):
+ if cls._singleton is None:
+ cls._singleton = (
+ super(MetaSingleton, cls).__call__(*args, **kwargs))
+
+ return cls._singleton
+
+
+class OandaStore(with_metaclass(MetaSingleton, object)):
+ '''Singleton class wrapping to control the connections to Oanda.
+
+ Params:
+
+ - ``token`` (default:``None``): API access token
+
+ - ``account`` (default: ``None``): account id
+
+ - ``practice`` (default: ``False``): use the test environment
+
+ - ``account_tmout`` (default: ``10.0``): refresh period for account
+ value/cash refresh
+ '''
+
+ BrokerCls = None # broker class will autoregister
+ DataCls = None # data class will auto register
+
+ params = (
+ ('token', ''),
+ ('account', ''),
+ ('practice', False),
+ ('account_tmout', 10.0), # account balance refresh timeout
+ )
+
+ _DTEPOCH = datetime(1970, 1, 1)
+ _ENVPRACTICE = 'practice'
+ _ENVLIVE = 'live'
+
+ @classmethod
+ def getdata(cls, *args, **kwargs):
+ '''Returns ``DataCls`` with args, kwargs'''
+ return cls.DataCls(*args, **kwargs)
+
+ @classmethod
+ def getbroker(cls, *args, **kwargs):
+ '''Returns broker with *args, **kwargs from registered ``BrokerCls``'''
+ return cls.BrokerCls(*args, **kwargs)
+
+ def __init__(self):
+ super(OandaStore, self).__init__()
+
+ self.notifs = collections.deque() # store notifications for cerebro
+
+ self._env = None # reference to cerebro for general notifications
+ self.broker = None # broker instance
+ self.datas = list() # datas that have registered over start
+
+ self._orders = collections.OrderedDict() # map order.ref to oid
+ self._ordersrev = collections.OrderedDict() # map oid to order.ref
+ self._transpend = collections.defaultdict(collections.deque)
+
+ self._oenv = self._ENVPRACTICE if self.p.practice else self._ENVLIVE
+ self.oapi = API(environment=self._oenv,
+ access_token=self.p.token,
+ headers={'X-Accept-Datetime-Format': 'UNIX'})
+
+ self._cash = 0.0
+ self._value = 0.0
+ self._evt_acct = threading.Event()
+
+ def start(self, data=None, broker=None):
+ # Datas require some processing to kickstart data reception
+ if data is None and broker is None:
+ self.cash = None
+ return
+
+ if data is not None:
+ self._env = data._env
+ # For datas simulate a queue with None to kickstart co
+ self.datas.append(data)
+
+ if self.broker is not None:
+ self.broker.data_started(data)
+
+ elif broker is not None:
+ self.broker = broker
+ self.streaming_events()
+ self.broker_threads()
+
+ def stop(self):
+ # signal end of thread
+ if self.broker is not None:
+ self.q_ordercreate.put(None)
+ self.q_orderclose.put(None)
+ self.q_account.put(None)
+
+ def put_notification(self, msg, *args, **kwargs):
+ self.notifs.append((msg, args, kwargs))
+
+ def get_notifications(self):
+ '''Return the pending "store" notifications'''
+ self.notifs.append(None) # put a mark / threads could still append
+ return [x for x in iter(self.notifs.popleft, None)]
+
+ # Oanda supported granularities
+ _GRANULARITIES = {
+ (bt.TimeFrame.Seconds, 5): 'S5',
+ (bt.TimeFrame.Seconds, 10): 'S10',
+ (bt.TimeFrame.Seconds, 15): 'S15',
+ (bt.TimeFrame.Seconds, 30): 'S30',
+ (bt.TimeFrame.Minutes, 1): 'M1',
+ (bt.TimeFrame.Minutes, 2): 'M3',
+ (bt.TimeFrame.Minutes, 3): 'M3',
+ (bt.TimeFrame.Minutes, 4): 'M4',
+ (bt.TimeFrame.Minutes, 5): 'M5',
+ (bt.TimeFrame.Minutes, 10): 'M5',
+ (bt.TimeFrame.Minutes, 15): 'M5',
+ (bt.TimeFrame.Minutes, 30): 'M5',
+ (bt.TimeFrame.Minutes, 60): 'H1',
+ (bt.TimeFrame.Minutes, 120): 'H2',
+ (bt.TimeFrame.Minutes, 180): 'H3',
+ (bt.TimeFrame.Minutes, 240): 'H4',
+ (bt.TimeFrame.Minutes, 360): 'H6',
+ (bt.TimeFrame.Minutes, 480): 'H8',
+ (bt.TimeFrame.Days, 1): 'D',
+ (bt.TimeFrame.Weeks, 1): 'W',
+ (bt.TimeFrame.Months, 1): 'M',
+ }
+
+ def get_positions(self):
+ try:
+ positions = self.oapi.get_positions(self.p.account)
+ except (oandapy.OandaError, OandaRequestError,):
+ return None
+
+ poslist = positions.get('positions', [])
+ return poslist
+
+ def get_granularity(self, timeframe, compression):
+ return self._GRANULARITIES.get((timeframe, compression), None)
+
+ def get_instrument(self, dataname):
+ try:
+ insts = self.oapi.get_instruments(self.p.account,
+ instruments=dataname)
+ except (oandapy.OandaError, OandaRequestError,):
+ return None
+
+ i = insts.get('instruments', [{}])
+ return i[0] or None
+
+ def streaming_events(self, tmout=None):
+ q = queue.Queue()
+ kwargs = {'q': q, 'tmout': tmout}
+
+ t = threading.Thread(target=self._t_streaming_listener, kwargs=kwargs)
+ t.daemon = True
+ t.start()
+
+ t = threading.Thread(target=self._t_streaming_events, kwargs=kwargs)
+ t.daemon = True
+ t.start()
+ return q
+
+ def _t_streaming_listener(self, q, tmout=None):
+ while True:
+ trans = q.get()
+ self._transaction(trans)
+
+ def _t_streaming_events(self, q, tmout=None):
+ if tmout is not None:
+ _time.sleep(tmout)
+
+ streamer = Streamer(q,
+ environment=self._oenv,
+ access_token=self.p.token,
+ headers={'X-Accept-Datetime-Format': 'UNIX'})
+
+ streamer.events(ignore_heartbeat=False)
+
+ def candles(self, dataname, dtbegin, dtend, timeframe, compression,
+ candleFormat, includeFirst):
+
+ kwargs = locals().copy()
+ kwargs.pop('self')
+ kwargs['q'] = q = queue.Queue()
+ t = threading.Thread(target=self._t_candles, kwargs=kwargs)
+ t.daemon = True
+ t.start()
+ return q
+
+ def _t_candles(self, dataname, dtbegin, dtend, timeframe, compression,
+ candleFormat, includeFirst, q):
+
+ granularity = self.get_granularity(timeframe, compression)
+ if granularity is None:
+ e = OandaTimeFrameError()
+ q.put(e.error_response)
+ return
+
+ dtkwargs = {}
+ if dtbegin is not None:
+ dtkwargs['start'] = int((dtbegin - self._DTEPOCH).total_seconds())
+
+ if dtend is not None:
+ dtkwargs['end'] = int((dtend - self._DTEPOCH).total_seconds())
+
+ try:
+ response = self.oapi.get_history(instrument=dataname,
+ granularity=granularity,
+ candleFormat=candleFormat,
+ **dtkwargs)
+
+ except oandapy.OandaError as e:
+ q.put(e.error_response)
+ q.put(None)
+ return
+
+ for candle in response.get('candles', []):
+ q.put(candle)
+
+ q.put({}) # end of transmission
+
+ def streaming_prices(self, dataname, tmout=None):
+ q = queue.Queue()
+ kwargs = {'q': q, 'dataname': dataname, 'tmout': tmout}
+ t = threading.Thread(target=self._t_streaming_prices, kwargs=kwargs)
+ t.daemon = True
+ t.start()
+ return q
+
+ def _t_streaming_prices(self, dataname, q, tmout):
+ if tmout is not None:
+ _time.sleep(tmout)
+
+ streamer = Streamer(q, environment=self._oenv,
+ access_token=self.p.token,
+ headers={'X-Accept-Datetime-Format': 'UNIX'})
+
+ streamer.rates(self.p.account, instruments=dataname)
+
+ def get_cash(self):
+ return self._cash
+
+ def get_value(self):
+ return self._value
+
+ _ORDEREXECS = {
+ bt.Order.Market: 'market',
+ bt.Order.Limit: 'limit',
+ bt.Order.Stop: 'stop',
+ bt.Order.StopLimit: 'stop',
+ }
+
+ def broker_threads(self):
+ self.q_account = queue.Queue()
+ self.q_account.put(True) # force an immediate update
+ t = threading.Thread(target=self._t_account)
+ t.daemon = True
+ t.start()
+
+ self.q_ordercreate = queue.Queue()
+ t = threading.Thread(target=self._t_order_create)
+ t.daemon = True
+ t.start()
+
+ self.q_orderclose = queue.Queue()
+ t = threading.Thread(target=self._t_order_cancel)
+ t.daemon = True
+ t.start()
+
+ # Wait once for the values to be set
+ self._evt_acct.wait(self.p.account_tmout)
+
+ def _t_account(self):
+ while True:
+ try:
+ msg = self.q_account.get(timeout=self.p.account_tmout)
+ if msg is None:
+ break # end of thread
+ except queue.Empty: # tmout -> time to refresh
+ pass
+
+ try:
+ accinfo = self.oapi.get_account(self.p.account)
+ except Exception as e:
+ self.put_notification(e)
+ continue
+
+ try:
+ self._cash = accinfo['marginAvail']
+ self._value = accinfo['balance']
+ except KeyError:
+ pass
+
+ self._evt_acct.set()
+
+ def order_create(self, order, stopside=None, takeside=None, **kwargs):
+ okwargs = dict()
+ okwargs['instrument'] = order.data._dataname
+ okwargs['units'] = abs(order.created.size)
+ okwargs['side'] = 'buy' if order.isbuy() else 'sell'
+ okwargs['type'] = self._ORDEREXECS[order.exectype]
+ if order.exectype != bt.Order.Market:
+ okwargs['price'] = order.created.price
+ if order.valid is None:
+ # 1 year and datetime.max fail ... 1 month works
+ valid = datetime.utcnow() + timedelta(days=30)
+ else:
+ valid = order.data.num2date(order.valid)
+ # To timestamp with seconds precision
+ okwargs['expiry'] = int((valid - self._DTEPOCH).total_seconds())
+
+ if order.exectype == bt.Order.StopLimit:
+ okwargs['lowerBound'] = order.created.pricelimit
+ okwargs['upperBound'] = order.created.pricelimit
+
+ if order.exectype == bt.Order.StopTrail:
+ okwargs['trailingStop'] = order.trailamount
+
+ if stopside is not None:
+ okwargs['stopLoss'] = stopside.price
+
+ if takeside is not None:
+ okwargs['takeProfit'] = takeside.price
+
+ okwargs.update(**kwargs) # anything from the user
+
+ self.q_ordercreate.put((order.ref, okwargs,))
+ return order
+
+ _OIDSINGLE = ['orderOpened', 'tradeOpened', 'tradeReduced']
+ _OIDMULTIPLE = ['tradesClosed']
+
+ def _t_order_create(self):
+ while True:
+ msg = self.q_ordercreate.get()
+ if msg is None:
+ break
+
+ oref, okwargs = msg
+ try:
+ o = self.oapi.create_order(self.p.account, **okwargs)
+ except Exception as e:
+ self.put_notification(e)
+ self.broker._reject(oref)
+ return
+
+ # Ids are delivered in different fields and all must be fetched to
+ # match them (as executions) to the order generated here
+ oids = list()
+ for oidfield in self._OIDSINGLE:
+ if oidfield in o and 'id' in o[oidfield]:
+ oids.append(o[oidfield]['id'])
+
+ for oidfield in self._OIDMULTIPLE:
+ if oidfield in o:
+ for suboidfield in o[oidfield]:
+ oids.append(suboidfield['id'])
+
+ if not oids:
+ self.broker._reject(oref)
+ return
+
+ self._orders[oref] = oids[0]
+ self.broker._submit(oref)
+ if okwargs['type'] == 'market':
+ self.broker._accept(oref) # taken immediately
+
+ for oid in oids:
+ self._ordersrev[oid] = oref # maps ids to backtrader order
+
+ # An transaction may have happened and was stored
+ tpending = self._transpend[oid]
+ tpending.append(None) # eom marker
+ while True:
+ trans = tpending.popleft()
+ if trans is None:
+ break
+ self._process_transaction(oid, trans)
+
+ def order_cancel(self, order):
+ self.q_orderclose.put(order.ref)
+ return order
+
+ def _t_order_cancel(self):
+ while True:
+ oref = self.q_orderclose.get()
+ if oref is None:
+ break
+
+ oid = self._orders.get(oref, None)
+ if oid is None:
+ continue # the order is no longer there
+ try:
+ o = self.oapi.close_order(self.p.account, oid)
+ except Exception as e:
+ continue # not cancelled - FIXME: notify
+
+ self.broker._cancel(oref)
+
+ _X_ORDER_CREATE = ('STOP_ORDER_CREATE',
+ 'LIMIT_ORDER_CREATE', 'MARKET_IF_TOUCHED_ORDER_CREATE',)
+
+ def _transaction(self, trans):
+ # Invoked from Streaming Events. May actually receive an event for an
+ # oid which has not yet been returned after creating an order. Hence
+ # store if not yet seen, else forward to processer
+ ttype = trans['type']
+ if ttype == 'MARKET_ORDER_CREATE':
+ try:
+ oid = trans['tradeReduced']['id']
+ except KeyError:
+ try:
+ oid = trans['tradeOpened']['id']
+ except KeyError:
+ return # cannot do anything else
+
+ elif ttype in self._X_ORDER_CREATE:
+ oid = trans['id']
+ elif ttype == 'ORDER_FILLED':
+ oid = trans['orderId']
+
+ elif ttype == 'ORDER_CANCEL':
+ oid = trans['orderId']
+
+ elif ttype == 'TRADE_CLOSE':
+ oid = trans['id']
+ pid = trans['tradeId']
+ if pid in self._orders and False: # Know nothing about trade
+ return # can do nothing
+
+ # Skip above - at the moment do nothing
+ # Received directly from an event in the WebGUI for example which
+ # closes an existing position related to order with id -> pid
+ # COULD BE DONE: Generate a fake counter order to gracefully
+ # close the existing position
+ msg = ('Received TRADE_CLOSE for unknown order, possibly generated'
+ ' over a different client or GUI')
+ self.put_notification(msg, trans)
+ return
+
+ else: # Go aways gracefully
+ try:
+ oid = trans['id']
+ except KeyError:
+ oid = 'None'
+
+ msg = 'Received {} with oid {}. Unknown situation'
+ msg = msg.format(ttype, oid)
+ self.put_notification(msg, trans)
+ return
+
+ try:
+ oref = self._ordersrev[oid]
+ self._process_transaction(oid, trans)
+ except KeyError: # not yet seen, keep as pending
+ self._transpend[oid].append(trans)
+
+ _X_ORDER_FILLED = ('MARKET_ORDER_CREATE',
+ 'ORDER_FILLED', 'TAKE_PROFIT_FILLED',
+ 'STOP_LOSS_FILLED', 'TRAILING_STOP_FILLED',)
+
+ def _process_transaction(self, oid, trans):
+ try:
+ oref = self._ordersrev.pop(oid)
+ except KeyError:
+ return
+
+ ttype = trans['type']
+
+ if ttype in self._X_ORDER_FILLED:
+ size = trans['units']
+ if trans['side'] == 'sell':
+ size = -size
+ price = trans['price']
+ self.broker._fill(oref, size, price, ttype=ttype)
+
+ elif ttype in self._X_ORDER_CREATE:
+ self.broker._accept(oref)
+ self._ordersrev[oid] = oref
+
+ elif ttype in 'ORDER_CANCEL':
+ reason = trans['reason']
+ if reason == 'ORDER_FILLED':
+ pass # individual execs have done the job
+ elif reason == 'TIME_IN_FORCE_EXPIRED':
+ self.broker._expire(oref)
+ elif reason == 'CLIENT_REQUEST':
+ self.broker._cancel(oref)
+ else: # default action ... if nothing else
+ self.broker._reject(oref)
diff --git a/backtrader/source/backtrader/stores/vchartfile.py b/backtrader/source/backtrader/stores/vchartfile.py
new file mode 100644
index 0000000000000000000000000000000000000000..35ef8ebafb8c28eb15c630033cef81b30fe51bdf
--- /dev/null
+++ b/backtrader/source/backtrader/stores/vchartfile.py
@@ -0,0 +1,87 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import os.path
+
+import backtrader as bt
+
+
+class VChartFile(bt.Store):
+ '''Store provider for Visual Chart binary files
+
+ Params:
+
+ - ``path`` (default:``None``):
+
+ If the path is ``None`` and running under *Windows*, the registry will
+ be examined to find the root directory of the *Visual Chart* files.
+ '''
+
+ params = (
+ ('path', None),
+ )
+
+ def __init__(self):
+ self._path = self.p.path
+ if self._path is None:
+ self._path = self._find_vchart()
+
+ @staticmethod
+ def _find_vchart():
+ # Find VisualChart registry key to get data directory
+ # If not found returns ''
+ VC_KEYNAME = r'SOFTWARE\VCG\Visual Chart 6\Config'
+ VC_KEYVAL = 'DocsDirectory'
+ VC_DATADIR = ['Realserver', 'Data', '01']
+
+ VC_NONE = ''
+
+ from backtrader.utils.py3 import winreg
+ if winreg is None:
+ return VC_NONE
+
+ vcdir = None
+ # Search for Directory in the usual root keys
+ for rkey in (winreg.HKEY_CURRENT_USER, winreg.HKEY_LOCAL_MACHINE,):
+ try:
+ vckey = winreg.OpenKey(rkey, VC_KEYNAME)
+ except WindowsError as e:
+ continue
+
+ # Try to get the key value
+ try:
+ vcdir, _ = winreg.QueryValueEx(vckey, VC_KEYVAL)
+ except WindowsError as e:
+ continue
+ else:
+ break # found vcdir
+
+ if vcdir is not None: # something was found
+ vcdir = os.path.join(vcdir, *VC_DATADIR)
+ else:
+ vcdir = VC_NONE
+
+ return vcdir
+
+ def get_datapath(self):
+ return self._path
diff --git a/backtrader/source/backtrader/stores/vcstore.py b/backtrader/source/backtrader/stores/vcstore.py
new file mode 100644
index 0000000000000000000000000000000000000000..237e0ebc103faa62296898b8fee553f8bd159de4
--- /dev/null
+++ b/backtrader/source/backtrader/stores/vcstore.py
@@ -0,0 +1,545 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import collections
+from datetime import date, datetime, time, timedelta
+import os.path
+import threading
+import time as _timemod
+
+import ctypes
+
+from backtrader import TimeFrame, Position
+from backtrader.feed import DataBase
+from backtrader.metabase import MetaParams
+from backtrader.utils.py3 import (MAXINT, range, queue, string_types,
+ with_metaclass)
+from backtrader.utils import AutoDict
+
+
+class _SymInfo(object):
+ # Replica of the SymbolInfo COM object to pass it over thread boundaries
+ _fields = ['Type', 'Description', 'Decimals', 'TimeOffset',
+ 'PointValue', 'MinMovement']
+
+ def __init__(self, syminfo):
+ for f in self._fields:
+ setattr(self, f, getattr(syminfo, f))
+
+# This type is used inside 'PumpEvents', but if we create the type
+# afresh each time 'PumpEvents' is called we end up creating cyclic
+# garbage for each call. So we define it here instead.
+_handles_type = ctypes.c_void_p * 1
+
+
+def PumpEvents(timeout=-1, hevt=None, cb=None):
+ """This following code waits for 'timeout' seconds in the way
+ required for COM, internally doing the correct things depending
+ on the COM appartment of the current thread. It is possible to
+ terminate the message loop by pressing CTRL+C, which will raise
+ a KeyboardInterrupt.
+ """
+ # XXX Should there be a way to pass additional event handles which
+ # can terminate this function?
+
+ # XXX XXX XXX
+ #
+ # It may be that I misunderstood the CoWaitForMultipleHandles
+ # function. Is a message loop required in a STA? Seems so...
+ #
+ # MSDN says:
+ #
+ # If the caller resides in a single-thread apartment,
+ # CoWaitForMultipleHandles enters the COM modal loop, and the
+ # thread's message loop will continue to dispatch messages using
+ # the thread's message filter. If no message filter is registered
+ # for the thread, the default COM message processing is used.
+ #
+ # If the calling thread resides in a multithread apartment (MTA),
+ # CoWaitForMultipleHandles calls the Win32 function
+ # MsgWaitForMultipleObjects.
+
+ # Timeout expected as float in seconds - *1000 to miliseconds
+ # timeout = -1 -> INFINITE 0xFFFFFFFF;
+ # It can also be a callable which should return an amount in seconds
+
+ if hevt is None:
+ hevt = ctypes.windll.kernel32.CreateEventA(None, True, False, None)
+
+ handles = _handles_type(hevt)
+ RPC_S_CALLPENDING = -2147417835
+
+ # @ctypes.WINFUNCTYPE(ctypes.c_int, ctypes.c_uint)
+ def HandlerRoutine(dwCtrlType):
+ if dwCtrlType == 0: # CTRL+C
+ ctypes.windll.kernel32.SetEvent(hevt)
+ return 1
+ return 0
+
+ HandlerRoutine = (
+ ctypes.WINFUNCTYPE(ctypes.c_int, ctypes.c_uint)(HandlerRoutine)
+ )
+
+ ctypes.windll.kernel32.SetConsoleCtrlHandler(HandlerRoutine, 1)
+ while True:
+ try:
+ tmout = timeout() # check if it's a callable
+ except TypeError:
+ tmout = timeout # it seems to be a number
+
+ if tmout > 0:
+ tmout *= 1000
+ tmout = int(tmout)
+
+ try:
+ res = ctypes.oledll.ole32.CoWaitForMultipleHandles(
+ 0, # COWAIT_FLAGS
+ int(tmout), # dwtimeout
+ len(handles), # number of handles in handles
+ handles, # handles array
+ # pointer to indicate which handle was signaled
+ ctypes.byref(ctypes.c_ulong())
+ )
+
+ except WindowsError as details:
+ if details.args[0] == RPC_S_CALLPENDING: # timeout expired
+ if cb is not None:
+ cb()
+
+ continue
+
+ else:
+ ctypes.windll.kernel32.CloseHandle(hevt)
+ ctypes.windll.kernel32.SetConsoleCtrlHandler(HandlerRoutine, 0)
+ raise # something else happened
+ else:
+ ctypes.windll.kernel32.CloseHandle(hevt)
+ ctypes.windll.kernel32.SetConsoleCtrlHandler(HandlerRoutine, 0)
+ raise KeyboardInterrupt
+
+ # finally:
+ # if False:
+ # ctypes.windll.kernel32.CloseHandle(hevt)
+ # ctypes.windll.kernel32.SetConsoleCtrlHandler(HandlerRoutine, 0)
+ # break
+
+
+class RTEventSink(object):
+ def __init__(self, store):
+ self.store = store
+ self.vcrtmod = store.vcrtmod
+ self.lastconn = None
+
+ def OnNewTicks(self, ArrayTicks):
+ pass
+
+ def OnServerShutDown(self):
+ self.store._vcrt_connection(self.store._RT_SHUTDOWN)
+
+ def OnInternalEvent(self, p1, p2, p3):
+ if p1 != 1: # Apparently "Connection Event"
+ return
+
+ if p2 == self.lastconn:
+ return # do not notify twice
+
+ self.lastconn = p2 # keep new notification code
+
+ # p2 should be 0 (disconn), 1 (conn)
+ self.store._vcrt_connection(self.store._RT_BASEMSG - p2)
+
+
+class MetaSingleton(MetaParams):
+ '''Metaclass to make a metaclassed class a singleton'''
+ def __init__(cls, name, bases, dct):
+ super(MetaSingleton, cls).__init__(name, bases, dct)
+ cls._singleton = None
+
+ def __call__(cls, *args, **kwargs):
+ if cls._singleton is None:
+ cls._singleton = (
+ super(MetaSingleton, cls).__call__(*args, **kwargs))
+
+ return cls._singleton
+
+
+class VCStore(with_metaclass(MetaSingleton, object)):
+ '''Singleton class wrapping an ibpy ibConnection instance.
+
+ The parameters can also be specified in the classes which use this store,
+ like ``VCData`` and ``VCBroker``
+
+ '''
+ BrokerCls = None # broker class will autoregister
+ DataCls = None # data class will auto register
+
+ # 32 bit max unsigned int for openinterest correction
+ MAXUINT = 0xffffffff // 2
+
+ # to remove at least 1 sec or else there seem to be internal conv problems
+ MAXDATE1 = datetime.max - timedelta(days=1, seconds=1)
+ MAXDATE2 = datetime.max - timedelta(seconds=1)
+
+ _RT_SHUTDOWN = -0xffff
+ _RT_BASEMSG = -0xfff0
+ _RT_DISCONNECTED = -0xfff0
+ _RT_CONNECTED = -0xfff1
+ _RT_LIVE = -0xfff2
+ _RT_DELAYED = -0xfff3
+ _RT_TYPELIB = -0xffe0
+ _RT_TYPEOBJ = -0xffe1
+ _RT_COMTYPES = -0xffe2
+
+ @classmethod
+ def getdata(cls, *args, **kwargs):
+ '''Returns ``DataCls`` with args, kwargs'''
+ return cls.DataCls(*args, **kwargs)
+
+ @classmethod
+ def getbroker(cls, *args, **kwargs):
+ '''Returns broker with *args, **kwargs from registered ``BrokerCls``'''
+ return cls.BrokerCls(*args, **kwargs)
+
+ # DLLs to parse if found for TypeLibs
+ VC64_DLLS = ('VCDataSource64.dll', 'VCRealTimeLib64.dll',
+ 'COMTraderInterfaces64.dll',)
+
+ VC_DLLS = ('VCDataSource.dll', 'VCRealTimeLib.dll',
+ 'COMTraderInterfaces.dll',)
+
+ # Well known CLSDI
+ VC_TLIBS = (
+ ['{EB2A77DC-A317-4160-8833-DECF16275A05}', 1, 0], # vcdatasource64
+ ['{86F1DB04-2591-4866-A361-BB053D77FA18}', 1, 0], # vcrealtime64
+ ['{20F8873C-35BE-4DB4-8C2A-0A8D40F8AEC3}', 1, 0], # raderinterface64
+ )
+
+ VC_KEYNAME = r'SOFTWARE\VCG\Visual Chart 6\Config'
+ VC_KEYVAL = 'Directory'
+ VC_BINPATH = 'bin'
+
+ def find_vchart(self):
+ # Tries to locate VisualChart in the registry to get the installation
+ # directory
+ # If not found returns well-known typelibs clsid
+ # Else it will scan the directory to locate the 64/32 bit dlls and
+ # return the paths
+ import _winreg # keep import local to avoid breaking test cases
+
+ vcdir = None
+
+ # Search for Directory in the usual root keys
+ for rkey in (_winreg.HKEY_CURRENT_USER, _winreg.HKEY_LOCAL_MACHINE,):
+ try:
+ vckey = _winreg.OpenKey(rkey, self.VC_KEYNAME)
+ except WindowsError as e:
+ continue
+
+ # Try to get the key value
+ try:
+ vcdir, _ = _winreg.QueryValueEx(vckey, self.VC_KEYVAL)
+ except WindowsError as e:
+ continue
+ else:
+ break # found vcdir
+
+ if vcdir is None:
+ return self.VC_TLIBS # no dir found, last resort
+
+ # DLLs are in the bin directory
+ vcbin = os.path.join(vcdir, self.VC_BINPATH)
+
+ # Search for the 3 libraries (64/32 bits) in the found dir
+ for dlls in (self.VC64_DLLS, self.VC_DLLS,):
+ dfound = []
+ for dll in dlls:
+ fpath = os.path.join(vcbin, dll)
+ if not os.path.isfile(fpath):
+ break
+ dfound.append(fpath)
+
+ if len(dfound) == len(dlls):
+ return dfound
+
+ # not all dlls were found, last resort
+ return self.VC_TLIBS
+
+ def _load_comtypes(self):
+ # Keep comtypes imports local to avoid breaking testcases
+ try:
+ import comtypes
+ self.comtypes = comtypes
+
+ from comtypes.client import CreateObject, GetEvents, GetModule
+ self.CreateObject = CreateObject
+ self.GetEvents = GetEvents
+ self.GetModule = GetModule
+ except ImportError:
+ return False
+
+ return True # notifiy comtypes was loaded
+
+ def __init__(self):
+ self._connected = False # modules/objects created
+
+ self.notifs = collections.deque() # hold notifications to deliver
+
+ self.t_vcconn = None # control connection status
+
+ # hold deques to market data symbols
+ self._dqs = collections.deque()
+ self._qdatas = dict()
+ self._tftable = dict()
+
+ if not self._load_comtypes():
+ txt = 'Failed to import comtypes'
+ msg = self._RT_COMTYPES, txt
+ self.put_notification(msg, *msg)
+ return
+
+ vctypelibs = self.find_vchart()
+ # Try to load the modules
+ try:
+ self.vcdsmod = self.GetModule(vctypelibs[0])
+ self.vcrtmod = self.GetModule(vctypelibs[1])
+ self.vcctmod = self.GetModule(vctypelibs[2])
+ except WindowsError as e:
+ self.vcdsmod = None
+ self.vcrtmod = None
+ self.vcctmod = None
+ txt = 'Failed to Load COM TypeLib Modules {}'.format(e)
+ msg = self._RT_TYPELIB, txt
+ self.put_notification(msg, *msg)
+ return
+
+ # Try to load the main objects
+ try:
+ self.vcds = self.CreateObject(self.vcdsmod.DataSourceManager)
+ # self.vcrt = self.CreateObject(self.vcrtmod.RealTime)
+ self.vcct = self.CreateObject(self.vcctmod.Trader)
+ except WindowsError as e:
+ txt = ('Failed to Load COM TypeLib Objects but the COM TypeLibs '
+ 'have been loaded. If VisualChart has been recently '
+ 'installed/updated, restarting Windows may be necessary '
+ 'to register the Objects: {}'.format(e))
+ msg = self._RT_TYPELIB, txt
+ self.put_notification(msg, *msg)
+ self.vcds = None
+ self.vcrt = None
+ self.vcct = None
+ return
+
+ self._connected = True
+
+ # Build a table of VCRT Field_XX mappings for debugging purposes
+ self.vcrtfields = dict()
+ for name in dir(self.vcrtmod):
+ if name.startswith('Field'):
+ self.vcrtfields[getattr(self.vcrtmod, name)] = name
+
+ # Modules and objects can be created
+ self._tftable = {
+ TimeFrame.Ticks: (self.vcdsmod.CT_Ticks, 1),
+ TimeFrame.MicroSeconds: (self.vcdsmod.CT_Ticks, 1), # To Resample
+ TimeFrame.Seconds: (self.vcdsmod.CT_Ticks, 1), # To Resample
+ TimeFrame.Minutes: (self.vcdsmod.CT_Minutes, 1),
+ TimeFrame.Days: (self.vcdsmod.CT_Days, 1),
+ TimeFrame.Weeks: (self.vcdsmod.CT_Weeks, 1),
+ TimeFrame.Months: (self.vcdsmod.CT_Months, 1),
+ TimeFrame.Years: (self.vcdsmod.CT_Months, 12),
+ }
+
+ def put_notification(self, msg, *args, **kwargs):
+ self.notifs.append((msg, args, kwargs))
+
+ def get_notifications(self):
+ '''Return the pending "store" notifications'''
+ self.notifs.append(None) # Mark current end of notifs
+ return [x for x in iter(self.notifs.popleft, None)] # popleft til None
+
+ def start(self, data=None, broker=None):
+ if not self._connected:
+ return
+
+ if self.t_vcconn is None:
+ # Kickstart connection thread check
+ self.t_vcconn = t = threading.Thread(target=self._start_vcrt)
+ t.daemon = True # Do not stop a general exit
+ t.start()
+
+ if broker is not None:
+ t = threading.Thread(target=self._t_broker, args=(broker,))
+ t.daemon = True
+ t.start()
+
+ def stop(self):
+ pass # nothing to do
+
+ def connected(self):
+ return self._connected
+
+ def _start_vcrt(self):
+ # Use VCRealTime to monitor the connection status
+ self.comtypes.CoInitialize() # running in another thread
+ vcrt = self.CreateObject(self.vcrtmod.RealTime)
+ sink = RTEventSink(self)
+ conn = self.GetEvents(vcrt, sink)
+ PumpEvents()
+ self.comtypes.CoUninitialize()
+
+ def _vcrt_connection(self, status):
+ if status == -0xffff:
+ txt = 'VisualChart shutting down',
+ # p2: 0 -> Disconnected / p2: 1 -> Reconnected
+ elif status == -0xfff0:
+ txt = 'VisualChart is Disconnected'
+ elif status == -0xfff1:
+ txt = 'VisualChart is Connected'
+ else:
+ txt = 'VisualChart unknown connection status '
+
+ msg = txt, status
+ self.put_notification(msg, *msg)
+
+ for q in self._dqs:
+ q.put(status)
+
+ def _tf2ct(self, timeframe, compression):
+ # Translates timeframes to known compression types in VisualChart
+ timeframe, extracomp = self._tftable[timeframe]
+ return timeframe, compression * extracomp
+
+ def _ticking(self, timeframe):
+ # Translates timeframes to known compression types in VisualChart
+ vctimeframe, _ = self._tftable[timeframe]
+ return vctimeframe == self.vcdsmod.CT_Ticks
+
+ def _getq(self, data):
+ q = queue.Queue()
+ self._dqs.append(q)
+ self._qdatas[q] = data
+ return q
+
+ def _delq(self, q):
+ self._dqs.remove(q)
+ self._qdatas.pop(q)
+
+ def _rtdata(self, data, symbol):
+ kwargs = dict(data=data, symbol=symbol)
+ t = threading.Thread(target=self._t_rtdata, kwargs=kwargs)
+ t.daemon = True
+ t.start()
+
+ # Broker functions
+ def _t_rtdata(self, data, symbol):
+ self.comtypes.CoInitialize() # running in another thread
+ vcrt = self.CreateObject(self.vcrtmod.RealTime)
+ conn = self.GetEvents(vcrt, data)
+ data._vcrt = vcrt
+ vcrt.RequestSymbolFeed(symbol, False) # no limits
+ PumpEvents()
+ del conn # ensure events go away
+ self.comtypes.CoUninitialize()
+
+ def _symboldata(self, symbol):
+
+ # Assumption -> we are connected and the symbol has been found
+ self.vcds.ActiveEvents = 0
+ # self.vcds.EventsType = self.vcdsmod.EF_Always
+
+ serie = self.vcds.NewDataSerie(symbol,
+ self.vcdsmod.CT_Days, 1,
+ self.MAXDATE1, self.MAXDATE2)
+
+ syminfo = _SymInfo(serie.GetSymbolInfo())
+ self.vcds.DeleteDataSource(serie)
+ return syminfo
+
+ def _canceldirectdata(self, q):
+ self._delq(q)
+
+ def _directdata(self, data,
+ symbol, timeframe, compression, d1, d2=None,
+ historical=False):
+
+ # Assume the data has checked the existence of the symbol
+ timeframe, compression = self._tf2ct(timeframe, compression)
+ kwargs = locals().copy() # make a copy of the args
+ kwargs.pop('self')
+ kwargs['q'] = q = self._getq(data)
+
+ t = threading.Thread(target=self._t_directdata, kwargs=kwargs)
+ t.daemon = True
+ t.start()
+
+ # use the queue to synchronize until symbolinfo has been gotten
+ return q # tell the caller where to expect the hist data
+
+ def _t_directdata(self, data,
+ symbol, timeframe, compression, d1, d2, q,
+ historical):
+
+ self.comtypes.CoInitialize() # start com threading
+ vcds = self.CreateObject(self.vcdsmod.DataSourceManager)
+
+ historical = historical or d2 is not None
+ if not historical:
+ vcds.ActiveEvents = 1
+ vcds.EventsType = self.vcdsmod.EF_Always
+ else:
+ vcds.ActiveEvents = 0
+
+ if d2 is not None:
+ serie = vcds.NewDataSerie(symbol, timeframe, compression, d1, d2)
+ else:
+ serie = vcds.NewDataSerie(symbol, timeframe, compression, d1)
+
+ data._setserie(serie)
+
+ # processing of bars can continue
+ data.OnNewDataSerieBar(serie, forcepush=historical)
+ if historical: # push the last bar
+ q.put(None) # Signal end of transmission
+ dsconn = None
+ else:
+ dsconn = self.GetEvents(vcds, data) # finally connect the events
+ pass
+
+ # pump events in this thread - call ping
+ PumpEvents(timeout=data._getpingtmout, cb=data.ping)
+ if dsconn is not None:
+ del dsconn # Docs recommend deleting the connection
+
+ # Delete the series before coming out of the thread
+ vcds.DeleteDataSource(serie)
+ self.comtypes.CoUninitialize() # Terminate com threading
+
+ # Broker functions
+ def _t_broker(self, broker):
+ self.comtypes.CoInitialize() # running in another thread
+ trader = self.CreateObject(self.vcctmod.Trader)
+ conn = self.GetEvents(trader, broker(trader))
+ PumpEvents()
+ del conn # ensure events go away
+ self.comtypes.CoUninitialize()
diff --git a/backtrader/source/backtrader/strategies/__init__.py b/backtrader/source/backtrader/strategies/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..b453b16f39fce1a2fd44a83f6ab4a3ee4fe37c59
--- /dev/null
+++ b/backtrader/source/backtrader/strategies/__init__.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from .sma_crossover import *
diff --git a/backtrader/source/backtrader/strategies/sma_crossover.py b/backtrader/source/backtrader/strategies/sma_crossover.py
new file mode 100644
index 0000000000000000000000000000000000000000..3001ee88684fe5be1675846499a507873167acff
--- /dev/null
+++ b/backtrader/source/backtrader/strategies/sma_crossover.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+
+class MA_CrossOver(bt.Strategy):
+ '''This is a long-only strategy which operates on a moving average cross
+
+ Note:
+ - Although the default
+
+ Buy Logic:
+ - No position is open on the data
+
+ - The ``fast`` moving averagecrosses over the ``slow`` strategy to the
+ upside.
+
+ Sell Logic:
+ - A position exists on the data
+
+ - The ``fast`` moving average crosses over the ``slow`` strategy to the
+ downside
+
+ Order Execution Type:
+ - Market
+
+ '''
+ alias = ('SMA_CrossOver',)
+
+ params = (
+ # period for the fast Moving Average
+ ('fast', 10),
+ # period for the slow moving average
+ ('slow', 30),
+ # moving average to use
+ ('_movav', btind.MovAv.SMA)
+ )
+
+ def __init__(self):
+ sma_fast = self.p._movav(period=self.p.fast)
+ sma_slow = self.p._movav(period=self.p.slow)
+
+ self.buysig = btind.CrossOver(sma_fast, sma_slow)
+
+ def next(self):
+ if self.position.size:
+ if self.buysig < 0:
+ self.sell()
+
+ elif self.buysig > 0:
+ self.buy()
diff --git a/backtrader/source/backtrader/strategy.py b/backtrader/source/backtrader/strategy.py
new file mode 100644
index 0000000000000000000000000000000000000000..e5115688d28f703905237331ad85c3b1429d110b
--- /dev/null
+++ b/backtrader/source/backtrader/strategy.py
@@ -0,0 +1,1718 @@
+#!/usr/bin389/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+import copy
+import datetime
+import inspect
+import itertools
+import operator
+
+from .utils.py3 import (filter, keys, integer_types, iteritems, itervalues,
+ map, MAXINT, string_types, with_metaclass)
+
+import backtrader as bt
+from .lineiterator import LineIterator, StrategyBase
+from .lineroot import LineSingle
+from .lineseries import LineSeriesStub
+from .metabase import ItemCollection, findowner
+from .trade import Trade
+from .utils import OrderedDict, AutoOrderedDict, AutoDictList
+
+
+class MetaStrategy(StrategyBase.__class__):
+ _indcol = dict()
+
+ def __new__(meta, name, bases, dct):
+ # Hack to support original method name for notify_order
+ if 'notify' in dct:
+ # rename 'notify' to 'notify_order'
+ dct['notify_order'] = dct.pop('notify')
+ if 'notify_operation' in dct:
+ # rename 'notify' to 'notify_order'
+ dct['notify_trade'] = dct.pop('notify_operation')
+
+ return super(MetaStrategy, meta).__new__(meta, name, bases, dct)
+
+ def __init__(cls, name, bases, dct):
+ '''
+ Class has already been created ... register subclasses
+ '''
+ # Initialize the class
+ super(MetaStrategy, cls).__init__(name, bases, dct)
+
+ if not cls.aliased and \
+ name != 'Strategy' and not name.startswith('_'):
+ cls._indcol[name] = cls
+
+ def donew(cls, *args, **kwargs):
+ _obj, args, kwargs = super(MetaStrategy, cls).donew(*args, **kwargs)
+
+ # Find the owner and store it
+ _obj.env = _obj.cerebro = cerebro = findowner(_obj, bt.Cerebro)
+ _obj._id = cerebro._next_stid()
+
+ return _obj, args, kwargs
+
+ def dopreinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaStrategy, cls).dopreinit(_obj, *args, **kwargs)
+ _obj.broker = _obj.env.broker
+ _obj._sizer = bt.sizers.FixedSize()
+ _obj._orders = list()
+ _obj._orderspending = list()
+ _obj._trades = collections.defaultdict(AutoDictList)
+ _obj._tradespending = list()
+
+ _obj.stats = _obj.observers = ItemCollection()
+ _obj.analyzers = ItemCollection()
+ _obj._alnames = collections.defaultdict(itertools.count)
+ _obj.writers = list()
+
+ _obj._slave_analyzers = list()
+
+ _obj._tradehistoryon = False
+
+ return _obj, args, kwargs
+
+ def dopostinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaStrategy, cls).dopostinit(_obj, *args, **kwargs)
+
+ _obj._sizer.set(_obj, _obj.broker)
+
+ return _obj, args, kwargs
+
+
+class Strategy(with_metaclass(MetaStrategy, StrategyBase)):
+ '''
+ Base class to be subclassed for user defined strategies.
+ '''
+
+ _ltype = LineIterator.StratType
+
+ csv = True
+ _oldsync = False # update clock using old methodology : data 0
+
+ # keep the latest delivered data date in the line
+ lines = ('datetime',)
+
+ def qbuffer(self, savemem=0, replaying=False):
+ '''Enable the memory saving schemes. Possible values for ``savemem``:
+
+ 0: No savings. Each lines object keeps in memory all values
+
+ 1: All lines objects save memory, using the strictly minimum needed
+
+ Negative values are meant to be used when plotting is required:
+
+ -1: Indicators at Strategy Level and Observers do not enable memory
+ savings (but anything declared below it does)
+
+ -2: Same as -1 plus activation of memory saving for any indicators
+ which has declared *plotinfo.plot* as False (will not be plotted)
+ '''
+ if savemem < 0:
+ # Get any attribute which labels itself as Indicator
+ for ind in self._lineiterators[self.IndType]:
+ subsave = isinstance(ind, (LineSingle,))
+ if not subsave and savemem < -1:
+ subsave = not ind.plotinfo.plot
+ ind.qbuffer(savemem=subsave)
+
+ elif savemem > 0:
+ for data in self.datas:
+ data.qbuffer(replaying=replaying)
+
+ for line in self.lines:
+ line.qbuffer(savemem=1)
+
+ # Save in all object types depending on the strategy
+ for itcls in self._lineiterators:
+ for it in self._lineiterators[itcls]:
+ it.qbuffer(savemem=1)
+
+ def _periodset(self):
+ dataids = [id(data) for data in self.datas]
+
+ _dminperiods = collections.defaultdict(list)
+ for lineiter in self._lineiterators[LineIterator.IndType]:
+ # if multiple datas are used and multiple timeframes the larger
+ # timeframe may place larger time constraints in calling next.
+ clk = getattr(lineiter, '_clock', None)
+ if clk is None:
+ clk = getattr(lineiter._owner, '_clock', None)
+ if clk is None:
+ continue
+
+ while True:
+ if id(clk) in dataids:
+ break # already top-level clock (data feed)
+
+ # See if the current clock has higher level clocks
+ clk2 = getattr(clk, '_clock', None)
+ if clk2 is None:
+ clk2 = getattr(clk._owner, '_clock', None)
+
+ if clk2 is None:
+ break # if no clock found, bail out
+
+ clk = clk2 # keep the ref and try to go up the hierarchy
+
+ if clk is None:
+ continue # no clock found, go to next
+
+ # LineSeriesStup wraps a line and the clock is the wrapped line and
+ # no the wrapper itself.
+ if isinstance(clk, LineSeriesStub):
+ clk = clk.lines[0]
+
+ _dminperiods[clk].append(lineiter._minperiod)
+
+ self._minperiods = list()
+ for data in self.datas:
+
+ # Do not only consider the data as clock but also its lines which
+ # may have been individually passed as clock references and
+ # discovered as clocks above
+
+ # Initialize with data min period if any
+ dlminperiods = _dminperiods[data]
+
+ for l in data.lines: # search each line for min periods
+ if l in _dminperiods:
+ dlminperiods += _dminperiods[l] # found, add it
+
+ # keep the reference to the line if any was found
+ _dminperiods[data] = [max(dlminperiods)] if dlminperiods else []
+
+ dminperiod = max(_dminperiods[data] or [data._minperiod])
+ self._minperiods.append(dminperiod)
+
+ # Set the minperiod
+ minperiods = \
+ [x._minperiod for x in self._lineiterators[LineIterator.IndType]]
+ self._minperiod = max(minperiods or [self._minperiod])
+
+ def _addwriter(self, writer):
+ '''
+ Unlike the other _addxxx functions this one receives an instance
+ because the writer works at cerebro level and is only passed to the
+ strategy to simplify the logic
+ '''
+ self.writers.append(writer)
+
+ def _addindicator(self, indcls, *indargs, **indkwargs):
+ indcls(*indargs, **indkwargs)
+
+ def _addanalyzer_slave(self, ancls, *anargs, **ankwargs):
+ '''Like _addanalyzer but meant for observers (or other entities) which
+ rely on the output of an analyzer for the data. These analyzers have
+ not been added by the user and are kept separate from the main
+ analyzers
+
+ Returns the created analyzer
+ '''
+ analyzer = ancls(*anargs, **ankwargs)
+ self._slave_analyzers.append(analyzer)
+ return analyzer
+
+ def _getanalyzer_slave(self, idx):
+ return self._slave_analyzers.append[idx]
+
+ def _addanalyzer(self, ancls, *anargs, **ankwargs):
+ anname = ankwargs.pop('_name', '') or ancls.__name__.lower()
+ nsuffix = next(self._alnames[anname])
+ anname += str(nsuffix or '') # 0 (first instance) gets no suffix
+ analyzer = ancls(*anargs, **ankwargs)
+ self.analyzers.append(analyzer, anname)
+
+ def _addobserver(self, multi, obscls, *obsargs, **obskwargs):
+ obsname = obskwargs.pop('obsname', '')
+ if not obsname:
+ obsname = obscls.__name__.lower()
+
+ if not multi:
+ newargs = list(itertools.chain(self.datas, obsargs))
+ obs = obscls(*newargs, **obskwargs)
+ self.stats.append(obs, obsname)
+ return
+
+ setattr(self.stats, obsname, list())
+ l = getattr(self.stats, obsname)
+
+ for data in self.datas:
+ obs = obscls(data, *obsargs, **obskwargs)
+ l.append(obs)
+
+ def _getminperstatus(self):
+ # check the min period status connected to datas
+ dlens = map(operator.sub, self._minperiods, map(len, self.datas))
+ self._minperstatus = minperstatus = max(dlens)
+ return minperstatus
+
+ def prenext_open(self):
+ pass
+
+ def nextstart_open(self):
+ self.next_open()
+
+ def next_open(self):
+ pass
+
+ def _oncepost_open(self):
+ minperstatus = self._minperstatus
+ if minperstatus < 0:
+ self.next_open()
+ elif minperstatus == 0:
+ self.nextstart_open() # only called for the 1st value
+ else:
+ self.prenext_open()
+
+ def _oncepost(self, dt):
+ for indicator in self._lineiterators[LineIterator.IndType]:
+ if len(indicator._clock) > len(indicator):
+ indicator.advance()
+
+ if self._oldsync:
+ # Strategy has not been reset, the line is there
+ self.advance()
+ else:
+ # strategy has been reset to beginning. advance step by step
+ self.forward()
+
+ self.lines.datetime[0] = dt
+ self._notify()
+
+ minperstatus = self._getminperstatus()
+ if minperstatus < 0:
+ self.next()
+ elif minperstatus == 0:
+ self.nextstart() # only called for the 1st value
+ else:
+ self.prenext()
+
+ self._next_analyzers(minperstatus, once=True)
+ self._next_observers(minperstatus, once=True)
+
+ self.clear()
+
+ def _clk_update(self):
+ if self._oldsync:
+ clk_len = super(Strategy, self)._clk_update()
+ self.lines.datetime[0] = max(d.datetime[0]
+ for d in self.datas if len(d))
+ return clk_len
+
+ newdlens = [len(d) for d in self.datas]
+ if any(nl > l for l, nl in zip(self._dlens, newdlens)):
+ self.forward()
+
+ self.lines.datetime[0] = max(d.datetime[0]
+ for d in self.datas if len(d))
+ self._dlens = newdlens
+
+ return len(self)
+
+ def _next_open(self):
+ minperstatus = self._minperstatus
+ if minperstatus < 0:
+ self.next_open()
+ elif minperstatus == 0:
+ self.nextstart_open() # only called for the 1st value
+ else:
+ self.prenext_open()
+
+ def _next(self):
+ super(Strategy, self)._next()
+
+ minperstatus = self._getminperstatus()
+ self._next_analyzers(minperstatus)
+ self._next_observers(minperstatus)
+
+ self.clear()
+
+ def _next_observers(self, minperstatus, once=False):
+ for observer in self._lineiterators[LineIterator.ObsType]:
+ for analyzer in observer._analyzers:
+ if minperstatus < 0:
+ analyzer._next()
+ elif minperstatus == 0:
+ analyzer._nextstart() # only called for the 1st value
+ else:
+ analyzer._prenext()
+
+ if once:
+ if len(self) > len(observer):
+ if self._oldsync:
+ observer.advance()
+ else:
+ observer.forward()
+
+ if minperstatus < 0:
+ observer.next()
+ elif minperstatus == 0:
+ observer.nextstart() # only called for the 1st value
+ elif len(observer):
+ observer.prenext()
+ else:
+ observer._next()
+
+ def _next_analyzers(self, minperstatus, once=False):
+ for analyzer in self.analyzers:
+ if minperstatus < 0:
+ analyzer._next()
+ elif minperstatus == 0:
+ analyzer._nextstart() # only called for the 1st value
+ else:
+ analyzer._prenext()
+
+ def _settz(self, tz):
+ self.lines.datetime._settz(tz)
+
+ def _start(self):
+ self._periodset()
+
+ for analyzer in itertools.chain(self.analyzers, self._slave_analyzers):
+ analyzer._start()
+
+ for obs in self.observers:
+ if not isinstance(obs, list):
+ obs = [obs] # support of multi-data observers
+
+ for o in obs:
+ o._start()
+
+ # change operators to stage 2
+ self._stage2()
+
+ self._dlens = [len(data) for data in self.datas]
+
+ self._minperstatus = MAXINT # start in prenext
+
+ self.start()
+
+ def start(self):
+ '''Called right before the backtesting is about to be started.'''
+ pass
+
+ def getwriterheaders(self):
+ self.indobscsv = [self]
+
+ indobs = itertools.chain(
+ self.getindicators_lines(), self.getobservers())
+ self.indobscsv.extend(filter(lambda x: x.csv, indobs))
+
+ headers = list()
+
+ # prepare the indicators/observers data headers
+ for iocsv in self.indobscsv:
+ name = iocsv.plotinfo.plotname or iocsv.__class__.__name__
+ headers.append(name)
+ headers.append('len')
+ headers.extend(iocsv.getlinealiases())
+
+ return headers
+
+ def getwritervalues(self):
+ values = list()
+
+ for iocsv in self.indobscsv:
+ name = iocsv.plotinfo.plotname or iocsv.__class__.__name__
+ values.append(name)
+ lio = len(iocsv)
+ values.append(lio)
+ if lio:
+ values.extend(map(lambda l: l[0], iocsv.lines.itersize()))
+ else:
+ values.extend([''] * iocsv.lines.size())
+
+ return values
+
+ def getwriterinfo(self):
+ wrinfo = AutoOrderedDict()
+
+ wrinfo['Params'] = self.p._getkwargs()
+
+ sections = [
+ ['Indicators', self.getindicators_lines()],
+ ['Observers', self.getobservers()]
+ ]
+
+ for sectname, sectitems in sections:
+ sinfo = wrinfo[sectname]
+ for item in sectitems:
+ itname = item.__class__.__name__
+ sinfo[itname].Lines = item.lines.getlinealiases() or None
+ sinfo[itname].Params = item.p._getkwargs() or None
+
+ ainfo = wrinfo.Analyzers
+
+ # Internal Value Analyzer
+ ainfo.Value.Begin = self.broker.startingcash
+ ainfo.Value.End = self.broker.getvalue()
+
+ # no slave analyzers for writer
+ for aname, analyzer in self.analyzers.getitems():
+ ainfo[aname].Params = analyzer.p._getkwargs() or None
+ ainfo[aname].Analysis = analyzer.get_analysis()
+
+ return wrinfo
+
+ def _stop(self):
+ self.stop()
+
+ for analyzer in itertools.chain(self.analyzers, self._slave_analyzers):
+ analyzer._stop()
+
+ # change operators back to stage 1 - allows reuse of datas
+ self._stage1()
+
+ def stop(self):
+ '''Called right before the backtesting is about to be stopped'''
+ pass
+
+ def set_tradehistory(self, onoff=True):
+ self._tradehistoryon = onoff
+
+ def clear(self):
+ self._orders.extend(self._orderspending)
+ self._orderspending = list()
+ self._tradespending = list()
+
+ def _addnotification(self, order, quicknotify=False):
+ if not order.p.simulated:
+ self._orderspending.append(order)
+
+ if quicknotify:
+ qorders = [order]
+ qtrades = []
+
+ if not order.executed.size:
+ if quicknotify:
+ self._notify(qorders=qorders, qtrades=qtrades)
+ return
+
+ tradedata = order.data._compensate
+ if tradedata is None:
+ tradedata = order.data
+
+ datatrades = self._trades[tradedata][order.tradeid]
+ if not datatrades:
+ trade = Trade(data=tradedata, tradeid=order.tradeid,
+ historyon=self._tradehistoryon)
+ datatrades.append(trade)
+ else:
+ trade = datatrades[-1]
+
+ for exbit in order.executed.iterpending():
+ if exbit is None:
+ break
+
+ if exbit.closed:
+ trade.update(order,
+ exbit.closed,
+ exbit.price,
+ exbit.closedvalue,
+ exbit.closedcomm,
+ exbit.pnl,
+ comminfo=order.comminfo)
+
+ if trade.isclosed:
+ self._tradespending.append(copy.copy(trade))
+ if quicknotify:
+ qtrades.append(copy.copy(trade))
+
+ # Update it if needed
+ if exbit.opened:
+ if trade.isclosed:
+ trade = Trade(data=tradedata, tradeid=order.tradeid,
+ historyon=self._tradehistoryon)
+ datatrades.append(trade)
+
+ trade.update(order,
+ exbit.opened,
+ exbit.price,
+ exbit.openedvalue,
+ exbit.openedcomm,
+ exbit.pnl,
+ comminfo=order.comminfo)
+
+ # This extra check covers the case in which different tradeid
+ # orders have put the position down to 0 and the next order
+ # "opens" a position but "closes" the trade
+ if trade.isclosed:
+ self._tradespending.append(copy.copy(trade))
+ if quicknotify:
+ qtrades.append(copy.copy(trade))
+
+ if trade.justopened:
+ self._tradespending.append(copy.copy(trade))
+ if quicknotify:
+ qtrades.append(copy.copy(trade))
+
+ if quicknotify:
+ self._notify(qorders=qorders, qtrades=qtrades)
+
+ def _notify(self, qorders=[], qtrades=[]):
+ if self.cerebro.p.quicknotify:
+ # need to know if quicknotify is on, to not reprocess pendingorders
+ # and pendingtrades, which have to exist for things like observers
+ # which look into it
+ procorders = qorders
+ proctrades = qtrades
+ else:
+ procorders = self._orderspending
+ proctrades = self._tradespending
+
+ for order in procorders:
+ if order.exectype != order.Historical or order.histnotify:
+ self.notify_order(order)
+ for analyzer in itertools.chain(self.analyzers,
+ self._slave_analyzers):
+ analyzer._notify_order(order)
+
+ for trade in proctrades:
+ self.notify_trade(trade)
+ for analyzer in itertools.chain(self.analyzers,
+ self._slave_analyzers):
+ analyzer._notify_trade(trade)
+
+ if qorders:
+ return # cash is notified on a regular basis
+
+ cash = self.broker.getcash()
+ value = self.broker.getvalue()
+ fundvalue = self.broker.fundvalue
+ fundshares = self.broker.fundshares
+
+ self.notify_cashvalue(cash, value)
+ self.notify_fund(cash, value, fundvalue, fundshares)
+ for analyzer in itertools.chain(self.analyzers, self._slave_analyzers):
+ analyzer._notify_cashvalue(cash, value)
+ analyzer._notify_fund(cash, value, fundvalue, fundshares)
+
+ def add_timer(self, when,
+ offset=datetime.timedelta(), repeat=datetime.timedelta(),
+ weekdays=[], weekcarry=False,
+ monthdays=[], monthcarry=True,
+ allow=None,
+ tzdata=None, cheat=False,
+ *args, **kwargs):
+ '''
+ **Note**: can be called during ``__init__`` or ``start``
+
+ Schedules a timer to invoke either a specified callback or the
+ ``notify_timer`` of one or more strategies.
+
+ Arguments:
+
+ - ``when``: can be
+
+ - ``datetime.time`` instance (see below ``tzdata``)
+ - ``bt.timer.SESSION_START`` to reference a session start
+ - ``bt.timer.SESSION_END`` to reference a session end
+
+ - ``offset`` which must be a ``datetime.timedelta`` instance
+
+ Used to offset the value ``when``. It has a meaningful use in
+ combination with ``SESSION_START`` and ``SESSION_END``, to indicated
+ things like a timer being called ``15 minutes`` after the session
+ start.
+
+ - ``repeat`` which must be a ``datetime.timedelta`` instance
+
+ Indicates if after a 1st call, further calls will be scheduled
+ within the same session at the scheduled ``repeat`` delta
+
+ Once the timer goes over the end of the session it is reset to the
+ original value for ``when``
+
+ - ``weekdays``: a **sorted** iterable with integers indicating on
+ which days (iso codes, Monday is 1, Sunday is 7) the timers can
+ be actually invoked
+
+ If not specified, the timer will be active on all days
+
+ - ``weekcarry`` (default: ``False``). If ``True`` and the weekday was
+ not seen (ex: trading holiday), the timer will be executed on the
+ next day (even if in a new week)
+
+ - ``monthdays``: a **sorted** iterable with integers indicating on
+ which days of the month a timer has to be executed. For example
+ always on day *15* of the month
+
+ If not specified, the timer will be active on all days
+
+ - ``monthcarry`` (default: ``True``). If the day was not seen
+ (weekend, trading holiday), the timer will be executed on the next
+ available day.
+
+ - ``allow`` (default: ``None``). A callback which receives a
+ `datetime.date`` instance and returns ``True`` if the date is
+ allowed for timers or else returns ``False``
+
+ - ``tzdata`` which can be either ``None`` (default), a ``pytz``
+ instance or a ``data feed`` instance.
+
+ ``None``: ``when`` is interpreted at face value (which translates
+ to handling it as if it where UTC even if it's not)
+
+ ``pytz`` instance: ``when`` will be interpreted as being specified
+ in the local time specified by the timezone instance.
+
+ ``data feed`` instance: ``when`` will be interpreted as being
+ specified in the local time specified by the ``tz`` parameter of
+ the data feed instance.
+
+ **Note**: If ``when`` is either ``SESSION_START`` or
+ ``SESSION_END`` and ``tzdata`` is ``None``, the 1st *data feed*
+ in the system (aka ``self.data0``) will be used as the reference
+ to find out the session times.
+
+ - ``cheat`` (default ``False``) if ``True`` the timer will be called
+ before the broker has a chance to evaluate the orders. This opens
+ the chance to issue orders based on opening price for example right
+ before the session starts
+
+ - ``*args``: any extra args will be passed to ``notify_timer``
+
+ - ``**kwargs``: any extra kwargs will be passed to ``notify_timer``
+
+ Return Value:
+
+ - The created timer
+
+ '''
+ return self.cerebro._add_timer(
+ owner=self, when=when, offset=offset, repeat=repeat,
+ weekdays=weekdays, weekcarry=weekcarry,
+ monthdays=monthdays, monthcarry=monthcarry,
+ allow=allow,
+ tzdata=tzdata, strats=False, cheat=cheat,
+ *args, **kwargs)
+
+ def notify_timer(self, timer, when, *args, **kwargs):
+ '''Receives a timer notification where ``timer`` is the timer which was
+ returned by ``add_timer``, and ``when`` is the calling time. ``args``
+ and ``kwargs`` are any additional arguments passed to ``add_timer``
+
+ The actual ``when`` time can be later, but the system may have not be
+ able to call the timer before. This value is the timer value and no the
+ system time.
+ '''
+ pass
+
+ def notify_cashvalue(self, cash, value):
+ '''
+ Receives the current fund value, value status of the strategy's broker
+ '''
+ pass
+
+ def notify_fund(self, cash, value, fundvalue, shares):
+ '''
+ Receives the current cash, value, fundvalue and fund shares
+ '''
+ pass
+
+ def notify_order(self, order):
+ '''
+ Receives an order whenever there has been a change in one
+ '''
+ pass
+
+ def notify_trade(self, trade):
+ '''
+ Receives a trade whenever there has been a change in one
+ '''
+ pass
+
+ def notify_store(self, msg, *args, **kwargs):
+ '''Receives a notification from a store provider'''
+ pass
+
+ def notify_data(self, data, status, *args, **kwargs):
+ '''Receives a notification from data'''
+ pass
+
+ def getdatanames(self):
+ '''
+ Returns a list of the existing data names
+ '''
+ return keys(self.env.datasbyname)
+
+ def getdatabyname(self, name):
+ '''
+ Returns a given data by name using the environment (cerebro)
+ '''
+ return self.env.datasbyname[name]
+
+ def cancel(self, order):
+ '''Cancels the order in the broker'''
+ self.broker.cancel(order)
+
+ def buy(self, data=None,
+ size=None, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0, oco=None,
+ trailamount=None, trailpercent=None,
+ parent=None, transmit=True,
+ **kwargs):
+ '''Create a buy (long) order and send it to the broker
+
+ - ``data`` (default: ``None``)
+
+ For which data the order has to be created. If ``None`` then the
+ first data in the system, ``self.datas[0] or self.data0`` (aka
+ ``self.data``) will be used
+
+ - ``size`` (default: ``None``)
+
+ Size to use (positive) of units of data to use for the order.
+
+ If ``None`` the ``sizer`` instance retrieved via ``getsizer`` will
+ be used to determine the size.
+
+ - ``price`` (default: ``None``)
+
+ Price to use (live brokers may place restrictions on the actual
+ format if it does not comply to minimum tick size requirements)
+
+ ``None`` is valid for ``Market`` and ``Close`` orders (the market
+ determines the price)
+
+ For ``Limit``, ``Stop`` and ``StopLimit`` orders this value
+ determines the trigger point (in the case of ``Limit`` the trigger
+ is obviously at which price the order should be matched)
+
+ - ``plimit`` (default: ``None``)
+
+ Only applicable to ``StopLimit`` orders. This is the price at which
+ to set the implicit *Limit* order, once the *Stop* has been
+ triggered (for which ``price`` has been used)
+
+ - ``trailamount`` (default: ``None``)
+
+ If the order type is StopTrail or StopTrailLimit, this is an
+ absolute amount which determines the distance to the price (below
+ for a Sell order and above for a buy order) to keep the trailing
+ stop
+
+ - ``trailpercent`` (default: ``None``)
+
+ If the order type is StopTrail or StopTrailLimit, this is a
+ percentage amount which determines the distance to the price (below
+ for a Sell order and above for a buy order) to keep the trailing
+ stop (if ``trailamount`` is also specified it will be used)
+
+ - ``exectype`` (default: ``None``)
+
+ Possible values:
+
+ - ``Order.Market`` or ``None``. A market order will be executed
+ with the next available price. In backtesting it will be the
+ opening price of the next bar
+
+ - ``Order.Limit``. An order which can only be executed at the given
+ ``price`` or better
+
+ - ``Order.Stop``. An order which is triggered at ``price`` and
+ executed like an ``Order.Market`` order
+
+ - ``Order.StopLimit``. An order which is triggered at ``price`` and
+ executed as an implicit *Limit* order with price given by
+ ``pricelimit``
+
+ - ``Order.Close``. An order which can only be executed with the
+ closing price of the session (usually during a closing auction)
+
+ - ``Order.StopTrail``. An order which is triggered at ``price``
+ minus ``trailamount`` (or ``trailpercent``) and which is updated
+ if the price moves away from the stop
+
+ - ``Order.StopTrailLimit``. An order which is triggered at
+ ``price`` minus ``trailamount`` (or ``trailpercent``) and which
+ is updated if the price moves away from the stop
+
+ - ``valid`` (default: ``None``)
+
+ Possible values:
+
+ - ``None``: this generates an order that will not expire (aka
+ *Good till cancel*) and remain in the market until matched or
+ canceled. In reality brokers tend to impose a temporal limit,
+ but this is usually so far away in time to consider it as not
+ expiring
+
+ - ``datetime.datetime`` or ``datetime.date`` instance: the date
+ will be used to generate an order valid until the given
+ datetime (aka *good till date*)
+
+ - ``Order.DAY`` or ``0`` or ``timedelta()``: a day valid until
+ the *End of the Session* (aka *day* order) will be generated
+
+ - ``numeric value``: This is assumed to be a value corresponding
+ to a datetime in ``matplotlib`` coding (the one used by
+ ``backtrader``) and will used to generate an order valid until
+ that time (*good till date*)
+
+ - ``tradeid`` (default: ``0``)
+
+ This is an internal value applied by ``backtrader`` to keep track
+ of overlapping trades on the same asset. This ``tradeid`` is sent
+ back to the *strategy* when notifying changes to the status of the
+ orders.
+
+ - ``oco`` (default: ``None``)
+
+ Another ``order`` instance. This order will become part of an OCO
+ (Order Cancel Others) group. The execution of one of the orders,
+ immediately cancels all others in the same group
+
+ - ``parent`` (default: ``None``)
+
+ Controls the relationship of a group of orders, for example a buy
+ which is bracketed by a high-side limit sell and a low side stop
+ sell. The high/low side orders remain inactive until the parent
+ order has been either executed (they become active) or is
+ canceled/expires (the children are also canceled) bracket orders
+ have the same size
+
+ - ``transmit`` (default: ``True``)
+
+ Indicates if the order has to be **transmitted**, ie: not only
+ placed in the broker but also issued. This is meant for example to
+ control bracket orders, in which one disables the transmission for
+ the parent and 1st set of children and activates it for the last
+ children, which triggers the full placement of all bracket orders.
+
+ - ``**kwargs``: additional broker implementations may support extra
+ parameters. ``backtrader`` will pass the *kwargs* down to the
+ created order objects
+
+ Example: if the 4 order execution types directly supported by
+ ``backtrader`` are not enough, in the case of for example
+ *Interactive Brokers* the following could be passed as *kwargs*::
+
+ orderType='LIT', lmtPrice=10.0, auxPrice=9.8
+
+ This would override the settings created by ``backtrader`` and
+ generate a ``LIMIT IF TOUCHED`` order with a *touched* price of 9.8
+ and a *limit* price of 10.0.
+
+ Returns:
+ - the submitted order
+
+ '''
+ if isinstance(data, string_types):
+ data = self.getdatabyname(data)
+
+ data = data if data is not None else self.datas[0]
+ size = size if size is not None else self.getsizing(data, isbuy=True)
+
+ if size:
+ return self.broker.buy(
+ self, data,
+ size=abs(size), price=price, plimit=plimit,
+ exectype=exectype, valid=valid, tradeid=tradeid, oco=oco,
+ trailamount=trailamount, trailpercent=trailpercent,
+ parent=parent, transmit=transmit,
+ **kwargs)
+
+ return None
+
+ def sell(self, data=None,
+ size=None, price=None, plimit=None,
+ exectype=None, valid=None, tradeid=0, oco=None,
+ trailamount=None, trailpercent=None,
+ parent=None, transmit=True,
+ **kwargs):
+ '''
+ To create a selll (short) order and send it to the broker
+
+ See the documentation for ``buy`` for an explanation of the parameters
+
+ Returns: the submitted order
+ '''
+ if isinstance(data, string_types):
+ data = self.getdatabyname(data)
+
+ data = data if data is not None else self.datas[0]
+ size = size if size is not None else self.getsizing(data, isbuy=False)
+
+ if size:
+ return self.broker.sell(
+ self, data,
+ size=abs(size), price=price, plimit=plimit,
+ exectype=exectype, valid=valid, tradeid=tradeid, oco=oco,
+ trailamount=trailamount, trailpercent=trailpercent,
+ parent=parent, transmit=transmit,
+ **kwargs)
+
+ return None
+
+ def close(self, data=None, size=None, **kwargs):
+ '''
+ Counters a long/short position closing it
+
+ See the documentation for ``buy`` for an explanation of the parameters
+
+ Note:
+
+ - ``size``: automatically calculated from the existing position if
+ not provided (default: ``None``) by the caller
+
+ Returns: the submitted order
+ '''
+ if isinstance(data, string_types):
+ data = self.getdatabyname(data)
+ elif data is None:
+ data = self.data
+
+ possize = self.getposition(data, self.broker).size
+ size = abs(size if size is not None else possize)
+
+ if possize > 0:
+ return self.sell(data=data, size=size, **kwargs)
+ elif possize < 0:
+ return self.buy(data=data, size=size, **kwargs)
+
+ return None
+
+ def buy_bracket(self, data=None, size=None, price=None, plimit=None,
+ exectype=bt.Order.Limit, valid=None, tradeid=0,
+ trailamount=None, trailpercent=None, oargs={},
+ stopprice=None, stopexec=bt.Order.Stop, stopargs={},
+ limitprice=None, limitexec=bt.Order.Limit, limitargs={},
+ **kwargs):
+ '''
+ Create a bracket order group (low side - buy order - high side). The
+ default behavior is as follows:
+
+ - Issue a **buy** order with execution ``Limit``
+
+ - Issue a *low side* bracket **sell** order with execution ``Stop``
+
+ - Issue a *high side* bracket **sell** order with execution
+ ``Limit``.
+
+ See below for the different parameters
+
+ - ``data`` (default: ``None``)
+
+ For which data the order has to be created. If ``None`` then the
+ first data in the system, ``self.datas[0] or self.data0`` (aka
+ ``self.data``) will be used
+
+ - ``size`` (default: ``None``)
+
+ Size to use (positive) of units of data to use for the order.
+
+ If ``None`` the ``sizer`` instance retrieved via ``getsizer`` will
+ be used to determine the size.
+
+ **Note**: The same size is applied to all 3 orders of the bracket
+
+ - ``price`` (default: ``None``)
+
+ Price to use (live brokers may place restrictions on the actual
+ format if it does not comply to minimum tick size requirements)
+
+ ``None`` is valid for ``Market`` and ``Close`` orders (the market
+ determines the price)
+
+ For ``Limit``, ``Stop`` and ``StopLimit`` orders this value
+ determines the trigger point (in the case of ``Limit`` the trigger
+ is obviously at which price the order should be matched)
+
+ - ``plimit`` (default: ``None``)
+
+ Only applicable to ``StopLimit`` orders. This is the price at which
+ to set the implicit *Limit* order, once the *Stop* has been
+ triggered (for which ``price`` has been used)
+
+ - ``trailamount`` (default: ``None``)
+
+ If the order type is StopTrail or StopTrailLimit, this is an
+ absolute amount which determines the distance to the price (below
+ for a Sell order and above for a buy order) to keep the trailing
+ stop
+
+ - ``trailpercent`` (default: ``None``)
+
+ If the order type is StopTrail or StopTrailLimit, this is a
+ percentage amount which determines the distance to the price (below
+ for a Sell order and above for a buy order) to keep the trailing
+ stop (if ``trailamount`` is also specified it will be used)
+
+ - ``exectype`` (default: ``bt.Order.Limit``)
+
+ Possible values: (see the documentation for the method ``buy``
+
+ - ``valid`` (default: ``None``)
+
+ Possible values: (see the documentation for the method ``buy``
+
+ - ``tradeid`` (default: ``0``)
+
+ Possible values: (see the documentation for the method ``buy``
+
+ - ``oargs`` (default: ``{}``)
+
+ Specific keyword arguments (in a ``dict``) to pass to the main side
+ order. Arguments from the default ``**kwargs`` will be applied on
+ top of this.
+
+ - ``**kwargs``: additional broker implementations may support extra
+ parameters. ``backtrader`` will pass the *kwargs* down to the
+ created order objects
+
+ Possible values: (see the documentation for the method ``buy``
+
+ **Note**: this ``kwargs`` will be applied to the 3 orders of a
+ bracket. See below for specific keyword arguments for the low and
+ high side orders
+
+ - ``stopprice`` (default: ``None``)
+
+ Specific price for the *low side* stop order
+
+ - ``stopexec`` (default: ``bt.Order.Stop``)
+
+ Specific execution type for the *low side* order
+
+ - ``stopargs`` (default: ``{}``)
+
+ Specific keyword arguments (in a ``dict``) to pass to the low side
+ order. Arguments from the default ``**kwargs`` will be applied on
+ top of this.
+
+ - ``limitprice`` (default: ``None``)
+
+ Specific price for the *high side* stop order
+
+ - ``stopexec`` (default: ``bt.Order.Limit``)
+
+ Specific execution type for the *high side* order
+
+ - ``limitargs`` (default: ``{}``)
+
+ Specific keyword arguments (in a ``dict``) to pass to the high side
+ order. Arguments from the default ``**kwargs`` will be applied on
+ top of this.
+
+ High/Low Side orders can be suppressed by using:
+
+ - ``limitexec=None`` to suppress the *high side*
+
+ - ``stopexec=None`` to suppress the *low side*
+
+ Returns:
+
+ - A list containing the 3 orders [order, stop side, limit side]
+
+ - If high/low orders have been suppressed the return value will still
+ contain 3 orders, but those suppressed will have a value of
+ ``None``
+ '''
+
+ kargs = dict(size=size,
+ data=data, price=price, plimit=plimit, exectype=exectype,
+ valid=valid, tradeid=tradeid,
+ trailamount=trailamount, trailpercent=trailpercent)
+ kargs.update(oargs)
+ kargs.update(kwargs)
+ kargs['transmit'] = limitexec is None and stopexec is None
+ o = self.buy(**kargs)
+
+ if stopexec is not None:
+ # low side / stop
+ kargs = dict(data=data, price=stopprice, exectype=stopexec,
+ valid=valid, tradeid=tradeid)
+ kargs.update(stopargs)
+ kargs.update(kwargs)
+ kargs['parent'] = o
+ kargs['transmit'] = limitexec is None
+ kargs['size'] = o.size
+ ostop = self.sell(**kargs)
+ else:
+ ostop = None
+
+ if limitexec is not None:
+ # high side / limit
+ kargs = dict(data=data, price=limitprice, exectype=limitexec,
+ valid=valid, tradeid=tradeid)
+ kargs.update(limitargs)
+ kargs.update(kwargs)
+ kargs['parent'] = o
+ kargs['transmit'] = True
+ kargs['size'] = o.size
+ olimit = self.sell(**kargs)
+ else:
+ olimit = None
+
+ return [o, ostop, olimit]
+
+ def sell_bracket(self, data=None,
+ size=None, price=None, plimit=None,
+ exectype=bt.Order.Limit, valid=None, tradeid=0,
+ trailamount=None, trailpercent=None,
+ oargs={},
+ stopprice=None, stopexec=bt.Order.Stop, stopargs={},
+ limitprice=None, limitexec=bt.Order.Limit, limitargs={},
+ **kwargs):
+ '''
+ Create a bracket order group (low side - buy order - high side). The
+ default behavior is as follows:
+
+ - Issue a **sell** order with execution ``Limit``
+
+ - Issue a *high side* bracket **buy** order with execution ``Stop``
+
+ - Issue a *low side* bracket **buy** order with execution ``Limit``.
+
+ See ``bracket_buy`` for the meaning of the parameters
+
+ High/Low Side orders can be suppressed by using:
+
+ - ``stopexec=None`` to suppress the *high side*
+
+ - ``limitexec=None`` to suppress the *low side*
+
+ Returns:
+
+ - A list containing the 3 orders [order, stop side, limit side]
+
+ - If high/low orders have been suppressed the return value will still
+ contain 3 orders, but those suppressed will have a value of
+ ``None``
+ '''
+
+ kargs = dict(size=size,
+ data=data, price=price, plimit=plimit, exectype=exectype,
+ valid=valid, tradeid=tradeid,
+ trailamount=trailamount, trailpercent=trailpercent)
+ kargs.update(oargs)
+ kargs.update(kwargs)
+ kargs['transmit'] = limitexec is None and stopexec is None
+ o = self.sell(**kargs)
+
+ if stopexec is not None:
+ # high side / stop
+ kargs = dict(data=data, price=stopprice, exectype=stopexec,
+ valid=valid, tradeid=tradeid)
+ kargs.update(stopargs)
+ kargs.update(kwargs)
+ kargs['parent'] = o
+ kargs['transmit'] = limitexec is None # transmit if last
+ kargs['size'] = o.size
+ ostop = self.buy(**kargs)
+ else:
+ ostop = None
+
+ if limitexec is not None:
+ # low side / limit
+ kargs = dict(data=data, price=limitprice, exectype=limitexec,
+ valid=valid, tradeid=tradeid)
+ kargs.update(limitargs)
+ kargs.update(kwargs)
+ kargs['parent'] = o
+ kargs['transmit'] = True
+ kargs['size'] = o.size
+ olimit = self.buy(**kargs)
+ else:
+ olimit = None
+
+ return [o, ostop, olimit]
+
+ def order_target_size(self, data=None, target=0, **kwargs):
+ '''
+ Place an order to rebalance a position to have final size of ``target``
+
+ The current ``position`` size is taken into account as the start point
+ to achieve ``target``
+
+ - If ``target`` > ``pos.size`` -> buy ``target - pos.size``
+
+ - If ``target`` < ``pos.size`` -> sell ``pos.size - target``
+
+ It returns either:
+
+ - The generated order
+
+ or
+
+ - ``None`` if no order has been issued (``target == position.size``)
+ '''
+ if isinstance(data, string_types):
+ data = self.getdatabyname(data)
+ elif data is None:
+ data = self.data
+
+ possize = self.getposition(data, self.broker).size
+ if not target and possize:
+ return self.close(data=data, size=possize, **kwargs)
+
+ elif target > possize:
+ return self.buy(data=data, size=target - possize, **kwargs)
+
+ elif target < possize:
+ return self.sell(data=data, size=possize - target, **kwargs)
+
+ return None # no execution target == possize
+
+ def order_target_value(self, data=None, target=0.0, price=None, **kwargs):
+ '''
+ Place an order to rebalance a position to have final value of
+ ``target``
+
+ The current ``value`` is taken into account as the start point to
+ achieve ``target``
+
+ - If no ``target`` then close postion on data
+ - If ``target`` > ``value`` then buy on data
+ - If ``target`` < ``value`` then sell on data
+
+ It returns either:
+
+ - The generated order
+
+ or
+
+ - ``None`` if no order has been issued
+ '''
+
+ if isinstance(data, string_types):
+ data = self.getdatabyname(data)
+ elif data is None:
+ data = self.data
+
+ possize = self.getposition(data, self.broker).size
+ if not target and possize: # closing a position
+ return self.close(data=data, size=possize, price=price, **kwargs)
+
+ else:
+ value = self.broker.getvalue(datas=[data])
+ comminfo = self.broker.getcommissioninfo(data)
+
+ # Make sure a price is there
+ price = price if price is not None else data.close[0]
+
+ if target > value:
+ size = comminfo.getsize(price, target - value)
+ return self.buy(data=data, size=size, price=price, **kwargs)
+
+ elif target < value:
+ size = comminfo.getsize(price, value - target)
+ return self.sell(data=data, size=size, price=price, **kwargs)
+
+ return None # no execution size == possize
+
+ def order_target_percent(self, data=None, target=0.0, **kwargs):
+ '''
+ Place an order to rebalance a position to have final value of
+ ``target`` percentage of current portfolio ``value``
+
+ ``target`` is expressed in decimal: ``0.05`` -> ``5%``
+
+ It uses ``order_target_value`` to execute the order.
+
+ Example:
+ - ``target=0.05`` and portfolio value is ``100``
+
+ - The ``value`` to be reached is ``0.05 * 100 = 5``
+
+ - ``5`` is passed as the ``target`` value to ``order_target_value``
+
+ The current ``value`` is taken into account as the start point to
+ achieve ``target``
+
+ The ``position.size`` is used to determine if a position is ``long`` /
+ ``short``
+
+ - If ``target`` > ``value``
+ - buy if ``pos.size >= 0`` (Increase a long position)
+ - sell if ``pos.size < 0`` (Increase a short position)
+
+ - If ``target`` < ``value``
+ - sell if ``pos.size >= 0`` (Decrease a long position)
+ - buy if ``pos.size < 0`` (Decrease a short position)
+
+ It returns either:
+
+ - The generated order
+
+ or
+
+ - ``None`` if no order has been issued (``target == position.size``)
+ '''
+ if isinstance(data, string_types):
+ data = self.getdatabyname(data)
+ elif data is None:
+ data = self.data
+
+ possize = self.getposition(data, self.broker).size
+ target *= self.broker.getvalue()
+
+ return self.order_target_value(data=data, target=target, **kwargs)
+
+ def getposition(self, data=None, broker=None):
+ '''
+ Returns the current position for a given data in a given broker.
+
+ If both are None, the main data and the default broker will be used
+
+ A property ``position`` is also available
+ '''
+ data = data if data is not None else self.datas[0]
+ broker = broker or self.broker
+ return broker.getposition(data)
+
+ position = property(getposition)
+
+ def getpositionbyname(self, name=None, broker=None):
+ '''
+ Returns the current position for a given name in a given broker.
+
+ If both are None, the main data and the default broker will be used
+
+ A property ``positionbyname`` is also available
+ '''
+ data = self.datas[0] if not name else self.getdatabyname(name)
+ broker = broker or self.broker
+ return broker.getposition(data)
+
+ positionbyname = property(getpositionbyname)
+
+ def getpositions(self, broker=None):
+ '''
+ Returns the current by data positions directly from the broker
+
+ If the given ``broker`` is None, the default broker will be used
+
+ A property ``positions`` is also available
+ '''
+ broker = broker or self.broker
+ return broker.positions
+
+ positions = property(getpositions)
+
+ def getpositionsbyname(self, broker=None):
+ '''
+ Returns the current by name positions directly from the broker
+
+ If the given ``broker`` is None, the default broker will be used
+
+ A property ``positionsbyname`` is also available
+ '''
+ broker = broker or self.broker
+ positions = broker.positions
+
+ posbyname = collections.OrderedDict()
+ for name, data in iteritems(self.env.datasbyname):
+ posbyname[name] = positions[data]
+
+ return posbyname
+
+ positionsbyname = property(getpositionsbyname)
+
+ def _addsizer(self, sizer, *args, **kwargs):
+ if sizer is None:
+ self.setsizer(bt.sizers.FixedSize())
+ else:
+ self.setsizer(sizer(*args, **kwargs))
+
+ def setsizer(self, sizer):
+ '''
+ Replace the default (fixed stake) sizer
+ '''
+ self._sizer = sizer
+ sizer.set(self, self.broker)
+ return sizer
+
+ def getsizer(self):
+ '''
+ Returns the sizer which is in used if automatic statke calculation is
+ used
+
+ Also available as ``sizer``
+ '''
+ return self._sizer
+
+ sizer = property(getsizer, setsizer)
+
+ def getsizing(self, data=None, isbuy=True):
+ '''
+ Return the stake calculated by the sizer instance for the current
+ situation
+ '''
+ data = data if data is not None else self.datas[0]
+ return self._sizer.getsizing(data, isbuy=isbuy)
+
+
+class MetaSigStrategy(Strategy.__class__):
+
+ def __new__(meta, name, bases, dct):
+ # map user defined next to custom to be able to call own method before
+ if 'next' in dct:
+ dct['_next_custom'] = dct.pop('next')
+
+ cls = super(MetaSigStrategy, meta).__new__(meta, name, bases, dct)
+
+ # after class creation remap _next_catch to be next
+ cls.next = cls._next_catch
+ return cls
+
+ def dopreinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaSigStrategy, cls).dopreinit(_obj, *args, **kwargs)
+
+ _obj._signals = collections.defaultdict(list)
+
+ _data = _obj.p._data
+ if _data is None:
+ _obj._dtarget = _obj.data0
+ elif isinstance(_data, integer_types):
+ _obj._dtarget = _obj.datas[_data]
+ elif isinstance(_data, string_types):
+ _obj._dtarget = _obj.getdatabyname(_data)
+ elif isinstance(_data, bt.LineRoot):
+ _obj._dtarget = _data
+ else:
+ _obj._dtarget = _obj.data0
+
+ return _obj, args, kwargs
+
+ def dopostinit(cls, _obj, *args, **kwargs):
+ _obj, args, kwargs = \
+ super(MetaSigStrategy, cls).dopostinit(_obj, *args, **kwargs)
+
+ for sigtype, sigcls, sigargs, sigkwargs in _obj.p.signals:
+ _obj._signals[sigtype].append(sigcls(*sigargs, **sigkwargs))
+
+ # Record types of signals
+ _obj._longshort = bool(_obj._signals[bt.SIGNAL_LONGSHORT])
+
+ _obj._long = bool(_obj._signals[bt.SIGNAL_LONG])
+ _obj._short = bool(_obj._signals[bt.SIGNAL_SHORT])
+
+ _obj._longexit = bool(_obj._signals[bt.SIGNAL_LONGEXIT])
+ _obj._shortexit = bool(_obj._signals[bt.SIGNAL_SHORTEXIT])
+
+ return _obj, args, kwargs
+
+
+class SignalStrategy(with_metaclass(MetaSigStrategy, Strategy)):
+ '''This subclass of ``Strategy`` is meant to to auto-operate using
+ **signals**.
+
+ *Signals* are usually indicators and the expected output values:
+
+ - ``> 0`` is a ``long`` indication
+
+ - ``< 0`` is a ``short`` indication
+
+ There are 5 types of *Signals*, broken in 2 groups.
+
+ **Main Group**:
+
+ - ``LONGSHORT``: both ``long`` and ``short`` indications from this signal
+ are taken
+
+ - ``LONG``:
+ - ``long`` indications are taken to go long
+ - ``short`` indications are taken to *close* the long position. But:
+
+ - If a ``LONGEXIT`` (see below) signal is in the system it will be
+ used to exit the long
+
+ - If a ``SHORT`` signal is available and no ``LONGEXIT`` is available
+ , it will be used to close a ``long`` before opening a ``short``
+
+ - ``SHORT``:
+ - ``short`` indications are taken to go short
+ - ``long`` indications are taken to *close* the short position. But:
+
+ - If a ``SHORTEXIT`` (see below) signal is in the system it will be
+ used to exit the short
+
+ - If a ``LONG`` signal is available and no ``SHORTEXIT`` is available
+ , it will be used to close a ``short`` before opening a ``long``
+
+ **Exit Group**:
+
+ This 2 signals are meant to override others and provide criteria for
+ exitins a ``long``/``short`` position
+
+ - ``LONGEXIT``: ``short`` indications are taken to exit ``long``
+ positions
+
+ - ``SHORTEXIT``: ``long`` indications are taken to exit ``short``
+ positions
+
+ **Order Issuing**
+
+ Orders execution type is ``Market`` and validity is ``None`` (*Good until
+ Canceled*)
+
+ Params:
+
+ - ``signals`` (default: ``[]``): a list/tuple of lists/tuples that allows
+ the instantiation of the signals and allocation to the right type
+
+ This parameter is expected to be managed through ``cerebro.add_signal``
+
+ - ``_accumulate`` (default: ``False``): allow to enter the market
+ (long/short) even if already in the market
+
+ - ``_concurrent`` (default: ``False``): allow orders to be issued even if
+ orders are already pending execution
+
+ - ``_data`` (default: ``None``): if multiple datas are present in the
+ system which is the target for orders. This can be
+
+ - ``None``: The first data in the system will be used
+
+ - An ``int``: indicating the data that was inserted at that position
+
+ - An ``str``: name given to the data when creating it (parameter
+ ``name``) or when adding it cerebro with ``cerebro.adddata(...,
+ name=)``
+
+ - A ``data`` instance
+
+ '''
+
+ params = (
+ ('signals', []),
+ ('_accumulate', False),
+ ('_concurrent', False),
+ ('_data', None),
+ )
+
+ def _start(self):
+ self._sentinel = None # sentinel for order concurrency
+ super(SignalStrategy, self)._start()
+
+ def signal_add(self, sigtype, signal):
+ self._signals[sigtype].append(signal)
+
+ def _notify(self, qorders=[], qtrades=[]):
+ # Nullify the sentinel if done
+ procorders = qorders or self._orderspending
+ if self._sentinel is not None:
+ for order in procorders:
+ if order == self._sentinel and not order.alive():
+ self._sentinel = None
+ break
+
+ super(SignalStrategy, self)._notify(qorders=qorders, qtrades=qtrades)
+
+ def _next_catch(self):
+ self._next_signal()
+ if hasattr(self, '_next_custom'):
+ self._next_custom()
+
+ def _next_signal(self):
+ if self._sentinel is not None and not self.p._concurrent:
+ return # order active and more than 1 not allowed
+
+ sigs = self._signals
+ nosig = [[0.0]]
+
+ # Calculate current status of the signals
+ ls_long = all(x[0] > 0.0 for x in sigs[bt.SIGNAL_LONGSHORT] or nosig)
+ ls_short = all(x[0] < 0.0 for x in sigs[bt.SIGNAL_LONGSHORT] or nosig)
+
+ l_enter0 = all(x[0] > 0.0 for x in sigs[bt.SIGNAL_LONG] or nosig)
+ l_enter1 = all(x[0] < 0.0 for x in sigs[bt.SIGNAL_LONG_INV] or nosig)
+ l_enter2 = all(x[0] for x in sigs[bt.SIGNAL_LONG_ANY] or nosig)
+ l_enter = l_enter0 or l_enter1 or l_enter2
+
+ s_enter0 = all(x[0] < 0.0 for x in sigs[bt.SIGNAL_SHORT] or nosig)
+ s_enter1 = all(x[0] > 0.0 for x in sigs[bt.SIGNAL_SHORT_INV] or nosig)
+ s_enter2 = all(x[0] for x in sigs[bt.SIGNAL_SHORT_ANY] or nosig)
+ s_enter = s_enter0 or s_enter1 or s_enter2
+
+ l_ex0 = all(x[0] < 0.0 for x in sigs[bt.SIGNAL_LONGEXIT] or nosig)
+ l_ex1 = all(x[0] > 0.0 for x in sigs[bt.SIGNAL_LONGEXIT_INV] or nosig)
+ l_ex2 = all(x[0] for x in sigs[bt.SIGNAL_LONGEXIT_ANY] or nosig)
+ l_exit = l_ex0 or l_ex1 or l_ex2
+
+ s_ex0 = all(x[0] > 0.0 for x in sigs[bt.SIGNAL_SHORTEXIT] or nosig)
+ s_ex1 = all(x[0] < 0.0 for x in sigs[bt.SIGNAL_SHORTEXIT_INV] or nosig)
+ s_ex2 = all(x[0] for x in sigs[bt.SIGNAL_SHORTEXIT_ANY] or nosig)
+ s_exit = s_ex0 or s_ex1 or s_ex2
+
+ # Use oppossite signales to start reversal (by closing)
+ # but only if no "xxxExit" exists
+ l_rev = not self._longexit and s_enter
+ s_rev = not self._shortexit and l_enter
+
+ # Opposite of individual long and short
+ l_leav0 = all(x[0] < 0.0 for x in sigs[bt.SIGNAL_LONG] or nosig)
+ l_leav1 = all(x[0] > 0.0 for x in sigs[bt.SIGNAL_LONG_INV] or nosig)
+ l_leav2 = all(x[0] for x in sigs[bt.SIGNAL_LONG_ANY] or nosig)
+ l_leave = l_leav0 or l_leav1 or l_leav2
+
+ s_leav0 = all(x[0] > 0.0 for x in sigs[bt.SIGNAL_SHORT] or nosig)
+ s_leav1 = all(x[0] < 0.0 for x in sigs[bt.SIGNAL_SHORT_INV] or nosig)
+ s_leav2 = all(x[0] for x in sigs[bt.SIGNAL_SHORT_ANY] or nosig)
+ s_leave = s_leav0 or s_leav1 or s_leav2
+
+ # Invalidate long leave if longexit signals are available
+ l_leave = not self._longexit and l_leave
+ # Invalidate short leave if shortexit signals are available
+ s_leave = not self._shortexit and s_leave
+
+ # Take size and start logic
+ size = self.getposition(self._dtarget).size
+ if not size:
+ if ls_long or l_enter:
+ self._sentinel = self.buy(self._dtarget)
+
+ elif ls_short or s_enter:
+ self._sentinel = self.sell(self._dtarget)
+
+ elif size > 0: # current long position
+ if ls_short or l_exit or l_rev or l_leave:
+ # closing position - not relevant for concurrency
+ self.close(self._dtarget)
+
+ if ls_short or l_rev:
+ self._sentinel = self.sell(self._dtarget)
+
+ if ls_long or l_enter:
+ if self.p._accumulate:
+ self._sentinel = self.buy(self._dtarget)
+
+ elif size < 0: # current short position
+ if ls_long or s_exit or s_rev or s_leave:
+ # closing position - not relevant for concurrency
+ self.close(self._dtarget)
+
+ if ls_long or s_rev:
+ self._sentinel = self.buy(self._dtarget)
+
+ if ls_short or s_enter:
+ if self.p._accumulate:
+ self._sentinel = self.sell(self._dtarget)
diff --git a/backtrader/source/backtrader/studies/__init__.py b/backtrader/source/backtrader/studies/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..83368468b374245798bbe9a08e5e425cef90d1d0
--- /dev/null
+++ b/backtrader/source/backtrader/studies/__init__.py
@@ -0,0 +1,25 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from backtrader import Indicator
diff --git a/backtrader/source/backtrader/studies/contrib/__init__.py b/backtrader/source/backtrader/studies/contrib/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..9e2a105210be3a1459a26a2835a9fd1855527014
--- /dev/null
+++ b/backtrader/source/backtrader/studies/contrib/__init__.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+
+from .import fractal as fractal
+for name in fractal.__all__:
+ setattr(bt.studies, name, getattr(fractal, name))
diff --git a/backtrader/source/backtrader/studies/contrib/fractal.py b/backtrader/source/backtrader/studies/contrib/fractal.py
new file mode 100644
index 0000000000000000000000000000000000000000..8cb644e8033659402ba0f07e4356361bd5d3bb44
--- /dev/null
+++ b/backtrader/source/backtrader/studies/contrib/fractal.py
@@ -0,0 +1,70 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+# (based on backtrader from Daniel Rodriguez)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+
+import backtrader as bt
+
+
+__all__ = ['Fractal']
+
+
+class Fractal(bt.ind.PeriodN):
+ '''
+ References:
+ [Ref 1] http://www.investopedia.com/articles/trading/06/fractals.asp
+
+ '''
+ lines = ('fractal_bearish', 'fractal_bullish')
+
+ plotinfo = dict(subplot=False, plotlinelabels=False, plot=True)
+
+ plotlines = dict(
+ fractal_bearish=dict(marker='^', markersize=4.0, color='lightblue',
+ fillstyle='full', ls=''),
+ fractal_bullish=dict(marker='v', markersize=4.0, color='lightblue',
+ fillstyle='full', ls='')
+ )
+ params = (
+ ('period', 5),
+ ('bardist', 0.015), # distance to max/min in absolute perc
+ ('shift_to_potential_fractal', 2),
+ )
+
+ def next(self):
+ # A bearish turning point occurs when there is a pattern with the
+ # highest high in the middle and two lower highs on each side. [Ref 1]
+
+ last_five_highs = self.data.high.get(size=self.p.period)
+ max_val = max(last_five_highs)
+ max_idx = last_five_highs.index(max_val)
+
+ if max_idx == self.p.shift_to_potential_fractal:
+ self.lines.fractal_bearish[-2] = max_val * (1 + self.p.bardist)
+
+ # A bullish turning point occurs when there is a pattern with the
+ # lowest low in the middle and two higher lowers on each side. [Ref 1]
+ last_five_lows = self.data.low.get(size=self.p.period)
+ min_val = min(last_five_lows)
+ min_idx = last_five_lows.index(min_val)
+
+ if min_idx == self.p.shift_to_potential_fractal:
+ self.l.fractal_bullish[-2] = min_val * (1 - self.p.bardist)
diff --git a/backtrader/source/backtrader/talib.py b/backtrader/source/backtrader/talib.py
new file mode 100644
index 0000000000000000000000000000000000000000..eff5ced3017e4adf1e4775f41f07b99e8e64edb5
--- /dev/null
+++ b/backtrader/source/backtrader/talib.py
@@ -0,0 +1,238 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+# The modules below should/must define __all__ with the objects wishes
+# or prepend an "_" (underscore) to private classes/variables
+
+import sys
+
+import backtrader as bt
+from backtrader.utils.py3 import with_metaclass
+
+
+try:
+ import talib
+except ImportError:
+ __all__ = [] # talib is not available
+else:
+ import numpy as np # talib dependency
+ import talib.abstract
+
+ MA_Type = talib.MA_Type
+
+ # Reverse TA_FUNC_FLAGS dict
+ R_TA_FUNC_FLAGS = dict(
+ zip(talib.abstract.TA_FUNC_FLAGS.values(),
+ talib.abstract.TA_FUNC_FLAGS.keys()))
+
+ FUNC_FLAGS_SAMESCALE = 16777216
+ FUNC_FLAGS_UNSTABLE = 134217728
+ FUNC_FLAGS_CANDLESTICK = 268435456
+
+ R_TA_OUTPUT_FLAGS = dict(
+ zip(talib.abstract.TA_OUTPUT_FLAGS.values(),
+ talib.abstract.TA_OUTPUT_FLAGS.keys()))
+
+ OUT_FLAGS_LINE = 1
+ OUT_FLAGS_DOTTED = 2
+ OUT_FLAGS_DASH = 4
+ OUT_FLAGS_HISTO = 16
+ OUT_FLAGS_UPPER = 2048
+ OUT_FLAGS_LOWER = 4096
+
+ # Generate all indicators as subclasses
+
+ class _MetaTALibIndicator(bt.Indicator.__class__):
+ _refname = '_taindcol'
+ _taindcol = dict()
+
+ _KNOWN_UNSTABLE = ['SAR']
+
+ def dopostinit(cls, _obj, *args, **kwargs):
+ # Go to parent
+ res = super(_MetaTALibIndicator, cls).dopostinit(_obj,
+ *args, **kwargs)
+ _obj, args, kwargs = res
+
+ # Get the minimum period by using the abstract interface and params
+ _obj._tabstract.set_function_args(**_obj.p._getkwargs())
+ _obj._lookback = lookback = _obj._tabstract.lookback + 1
+ _obj.updateminperiod(lookback)
+ if _obj._unstable:
+ _obj._lookback = 0
+
+ elif cls.__name__ in cls._KNOWN_UNSTABLE:
+ _obj._lookback = 0
+
+ cerebro = bt.metabase.findowner(_obj, bt.Cerebro)
+ tafuncinfo = _obj._tabstract.info
+ _obj._tafunc = getattr(talib, tafuncinfo['name'], None)
+ return _obj, args, kwargs # return the object and args
+
+ class _TALibIndicator(with_metaclass(_MetaTALibIndicator, bt.Indicator)):
+ CANDLEOVER = 1.02 # 2% over
+ CANDLEREF = 1 # Open, High, Low, Close (0, 1, 2, 3)
+
+ @classmethod
+ def _subclass(cls, name):
+ # Module where the class has to end (namely this one)
+ clsmodule = sys.modules[cls.__module__]
+
+ # Create an abstract interface to get lines names
+ _tabstract = talib.abstract.Function(name)
+
+ # Variables about the the info learnt from func_flags
+ iscandle = False
+ unstable = False
+
+ # Prepare plotinfo
+ plotinfo = dict()
+ fflags = _tabstract.function_flags or []
+ for fflag in fflags:
+ rfflag = R_TA_FUNC_FLAGS[fflag]
+ if rfflag == FUNC_FLAGS_SAMESCALE:
+ plotinfo['subplot'] = False
+ elif rfflag == FUNC_FLAGS_UNSTABLE:
+ unstable = True
+ elif rfflag == FUNC_FLAGS_CANDLESTICK:
+ plotinfo['subplot'] = False
+ plotinfo['plotlinelabels'] = True
+ iscandle = True
+
+ # Prepare plotlines
+ lines = _tabstract.output_names
+ output_flags = _tabstract.output_flags
+ plotlines = dict()
+ samecolor = False
+ for lname in lines:
+ oflags = output_flags.get(lname, None)
+ pline = dict()
+ for oflag in oflags or []:
+ orflag = R_TA_OUTPUT_FLAGS[oflag]
+ if orflag & OUT_FLAGS_LINE:
+ if not iscandle:
+ pline['ls'] = '-'
+ else:
+ pline['_plotskip'] = True # do not plot candles
+
+ elif orflag & OUT_FLAGS_DASH:
+ pline['ls'] = '--'
+ elif orflag & OUT_FLAGS_DOTTED:
+ pline['ls'] = ':'
+ elif orflag & OUT_FLAGS_HISTO:
+ pline['_method'] = 'bar'
+
+ if samecolor:
+ pline['_samecolor'] = True
+
+ if orflag & OUT_FLAGS_LOWER:
+ samecolor = False
+
+ elif orflag & OUT_FLAGS_UPPER:
+ samecolor = True # last: other values in loop are seen
+
+ if pline: # the dict has something
+ plotlines[lname] = pline
+
+ if iscandle:
+ # This is the line that will be plotted when the output of the
+ # indicator is a candle. The values of a candle (100) will be
+ # used to plot a sign above the maximum of the bar which
+ # produces the candle
+ pline = dict()
+ pline['_name'] = name # plotted name
+ lname = '_candleplot' # change name
+ lines.append(lname)
+ pline['ls'] = ''
+ pline['marker'] = 'd'
+ pline['markersize'] = '7.0'
+ pline['fillstyle'] = 'full'
+ plotlines[lname] = pline
+
+ # Prepare dictionary for subclassing
+ clsdict = {
+ '__module__': cls.__module__,
+ '__doc__': str(_tabstract),
+ '_tabstract': _tabstract, # keep ref for lookback calcs
+ '_iscandle': iscandle,
+ '_unstable': unstable,
+ 'params': _tabstract.get_parameters(),
+ 'lines': tuple(lines),
+ 'plotinfo': plotinfo,
+ 'plotlines': plotlines,
+ }
+ newcls = type(str(name), (cls,), clsdict) # subclass
+ setattr(clsmodule, str(name), newcls) # add to module
+
+ def oncestart(self, start, end):
+ pass # if not ... a call with a single value to once will happen
+
+ def once(self, start, end):
+ import array
+
+ # prepare the data arrays - single shot
+ narrays = [np.array(x.lines[0].array) for x in self.datas]
+ # Execute
+ output = self._tafunc(*narrays, **self.p._getkwargs())
+
+ fsize = self.size()
+ lsize = fsize - self._iscandle
+ if lsize == 1: # only 1 output, no tuple returned
+ self.lines[0].array = array.array(str('d'), output)
+
+ if fsize > lsize: # candle is present
+ candleref = narrays[self.CANDLEREF] * self.CANDLEOVER
+ output2 = candleref * (output / 100.0)
+ self.lines[1].array = array.array(str('d'), output2)
+
+ else:
+ for i, o in enumerate(output):
+ self.lines[i].array = array.array(str('d'), o)
+
+ def next(self):
+ # prepare the data arrays - single shot
+ size = self._lookback or len(self)
+ narrays = [np.array(x.lines[0].get(size=size)) for x in self.datas]
+
+ out = self._tafunc(*narrays, **self.p._getkwargs())
+
+ fsize = self.size()
+ lsize = fsize - self._iscandle
+ if lsize == 1: # only 1 output, no tuple returned
+ self.lines[0][0] = o = out[-1]
+
+ if fsize > lsize: # candle is present
+ candleref = narrays[self.CANDLEREF][-1] * self.CANDLEOVER
+ o2 = candleref * (o / 100.0)
+ self.lines[1][0] = o2
+
+ else:
+ for i, o in enumerate(out):
+ self.lines[i][0] = o[-1]
+
+ # When importing the module do an automatic declaration of thed
+ tafunctions = talib.get_functions()
+ for tafunc in tafunctions:
+ _TALibIndicator._subclass(tafunc)
+
+ __all__ = tafunctions + ['MA_Type', '_TALibIndicator']
diff --git a/backtrader/source/backtrader/timer.py b/backtrader/source/backtrader/timer.py
new file mode 100644
index 0000000000000000000000000000000000000000..a77706a5b91267d78a6ea9112d681d31dca40346
--- /dev/null
+++ b/backtrader/source/backtrader/timer.py
@@ -0,0 +1,225 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import bisect
+import collections
+from datetime import date, datetime, timedelta
+from itertools import islice
+
+from .feed import AbstractDataBase
+from .metabase import MetaParams
+from .utils import date2num, num2date
+from .utils.py3 import integer_types, range, with_metaclass
+from .utils import TIME_MAX
+
+
+__all__ = ['SESSION_TIME', 'SESSION_START', 'SESSION_END', 'Timer']
+
+SESSION_TIME, SESSION_START, SESSION_END = range(3)
+
+
+class Timer(with_metaclass(MetaParams, object)):
+ params = (
+ ('tid', None),
+ ('owner', None),
+ ('strats', False),
+ ('when', None),
+ ('offset', timedelta()),
+ ('repeat', timedelta()),
+ ('weekdays', []),
+ ('weekcarry', False),
+ ('monthdays', []),
+ ('monthcarry', True),
+ ('allow', None), # callable that allows a timer to take place
+ ('tzdata', None),
+ ('cheat', False),
+ )
+
+ SESSION_TIME, SESSION_START, SESSION_END = range(3)
+
+ def __init__(self, *args, **kwargs):
+ self.args = args
+ self.kwargs = kwargs
+
+ def start(self, data):
+ # write down the 'reset when' value
+ if not isinstance(self.p.when, integer_types): # expect time/datetime
+ self._rstwhen = self.p.when
+ self._tzdata = self.p.tzdata
+ else:
+ self._tzdata = data if self.p.tzdata is None else self.p.tzdata
+
+ if self.p.when == SESSION_START:
+ self._rstwhen = self._tzdata.p.sessionstart
+ elif self.p.when == SESSION_END:
+ self._rstwhen = self._tzdata.p.sessionend
+
+ self._isdata = isinstance(self._tzdata, AbstractDataBase)
+ self._reset_when()
+
+ self._nexteos = datetime.min
+ self._curdate = date.min
+
+ self._curmonth = -1 # non-existent month
+ self._monthmask = collections.deque()
+
+ self._curweek = -1 # non-existent week
+ self._weekmask = collections.deque()
+
+ def _reset_when(self, ddate=datetime.min):
+ self._when = self._rstwhen
+ self._dtwhen = self._dwhen = None
+
+ self._lastcall = ddate
+
+ def _check_month(self, ddate):
+ if not self.p.monthdays:
+ return True
+
+ mask = self._monthmask
+ daycarry = False
+ dmonth = ddate.month
+ if dmonth != self._curmonth:
+ self._curmonth = dmonth # write down new month
+ daycarry = self.p.monthcarry and bool(mask)
+ self._monthmask = mask = collections.deque(self.p.monthdays)
+
+ dday = ddate.day
+ dc = bisect.bisect_left(mask, dday) # "left" for days before dday
+ daycarry = daycarry or (self.p.monthcarry and dc > 0)
+ if dc < len(mask):
+ curday = bisect.bisect_right(mask, dday, lo=dc) > 0 # check dday
+ dc += curday
+ else:
+ curday = False
+
+ while dc:
+ mask.popleft()
+ dc -= 1
+
+ return daycarry or curday
+
+ def _check_week(self, ddate=date.min):
+ if not self.p.weekdays:
+ return True
+
+ _, dweek, dwkday = ddate.isocalendar()
+
+ mask = self._weekmask
+ daycarry = False
+ if dweek != self._curweek:
+ self._curweek = dweek # write down new month
+ daycarry = self.p.weekcarry and bool(mask)
+ self._weekmask = mask = collections.deque(self.p.weekdays)
+
+ dc = bisect.bisect_left(mask, dwkday) # "left" for days before dday
+ daycarry = daycarry or (self.p.weekcarry and dc > 0)
+ if dc < len(mask):
+ curday = bisect.bisect_right(mask, dwkday, lo=dc) > 0 # check dday
+ dc += curday
+ else:
+ curday = False
+
+ while dc:
+ mask.popleft()
+ dc -= 1
+
+ return daycarry or curday
+
+ def check(self, dt):
+ d = num2date(dt)
+ ddate = d.date()
+ if self._lastcall == ddate: # not repeating, awaiting date change
+ return False
+
+ if d > self._nexteos:
+ if self._isdata: # eos provided by data
+ nexteos, _ = self._tzdata._getnexteos()
+ else: # generic eos
+ nexteos = datetime.combine(ddate, TIME_MAX)
+ self._nexteos = nexteos
+ self._reset_when()
+
+ if ddate > self._curdate: # day change
+ self._curdate = ddate
+ ret = self._check_month(ddate)
+ if ret:
+ ret = self._check_week(ddate)
+ if ret and self.p.allow is not None:
+ ret = self.p.allow(ddate)
+
+ if not ret:
+ self._reset_when(ddate) # this day won't make it
+ return False # timer target not met
+
+ # no day change or passed month, week and allow filters on date change
+ dwhen = self._dwhen
+ dtwhen = self._dtwhen
+ if dtwhen is None:
+ dwhen = datetime.combine(ddate, self._when)
+ if self.p.offset:
+ dwhen += self.p.offset
+
+ self._dwhen = dwhen
+
+ if self._isdata:
+ self._dtwhen = dtwhen = self._tzdata.date2num(dwhen)
+ else:
+ self._dtwhen = dtwhen = date2num(dwhen, tz=self._tzdata)
+
+ if dt < dtwhen:
+ return False # timer target not met
+
+ self.lastwhen = dwhen # record when the last timer "when" happened
+
+ if not self.p.repeat: # cannot repeat
+ self._reset_when(ddate) # reset and mark as called on ddate
+ else:
+ if d > self._nexteos:
+ if self._isdata: # eos provided by data
+ nexteos, _ = self._tzdata._getnexteos()
+ else: # generic eos
+ nexteos = datetime.combine(ddate, TIME_MAX)
+
+ self._nexteos = nexteos
+ else:
+ nexteos = self._nexteos
+
+ while True:
+ dwhen += self.p.repeat
+ if dwhen > nexteos: # new schedule is beyone session
+ self._reset_when(ddate) # reset to original point
+ break
+
+ if dwhen > d: # gone over current datetime
+ self._dtwhen = dtwhen = date2num(dwhen) # float timestamp
+ # Get the localized expected next time
+ if self._isdata:
+ self._dwhen = self._tzdata.num2date(dtwhen)
+ else: # assume pytz compatible or None
+ self._dwhen = num2date(dtwhen, tz=self._tzdata)
+
+ break
+
+ return True # timer target was met
diff --git a/backtrader/source/backtrader/trade.py b/backtrader/source/backtrader/trade.py
new file mode 100644
index 0000000000000000000000000000000000000000..8bbf5e380bd2ca63eb61fda7d1fde6d8d399dc30
--- /dev/null
+++ b/backtrader/source/backtrader/trade.py
@@ -0,0 +1,311 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import itertools
+
+from .utils import AutoOrderedDict
+from .utils.date import num2date
+from .utils.py3 import range
+
+
+class TradeHistory(AutoOrderedDict):
+ '''Represents the status and update event for each update a Trade has
+
+ This object is a dictionary which allows '.' notation
+
+ Attributes:
+ - ``status`` (``dict`` with '.' notation): Holds the resulting status of
+ an update event and has the following sub-attributes
+
+ - ``status`` (``int``): Trade status
+ - ``dt`` (``float``): float coded datetime
+ - ``barlen`` (``int``): number of bars the trade has been active
+ - ``size`` (``int``): current size of the Trade
+ - ``price`` (``float``): current price of the Trade
+ - ``value`` (``float``): current monetary value of the Trade
+ - ``pnl`` (``float``): current profit and loss of the Trade
+ - ``pnlcomm`` (``float``): current profit and loss minus commission
+
+ - ``event`` (``dict`` with '.' notation): Holds the event update
+ - parameters
+
+ - ``order`` (``object``): the order which initiated the``update``
+ - ``size`` (``int``): size of the update
+ - ``price`` (``float``):price of the update
+ - ``commission`` (``float``): price of the update
+ '''
+
+ def __init__(self,
+ status, dt, barlen, size, price, value, pnl, pnlcomm, tz, event=None):
+ '''Initializes the object to the current status of the Trade'''
+ super(TradeHistory, self).__init__()
+ self.status.status = status
+ self.status.dt = dt
+ self.status.barlen = barlen
+ self.status.size = size
+ self.status.price = price
+ self.status.value = value
+ self.status.pnl = pnl
+ self.status.pnlcomm = pnlcomm
+ self.status.tz = tz
+ if event is not None:
+ self.event = event
+
+ def __reduce__(self):
+ return (self.__class__, (self.status.status, self.status.dt, self.status.barlen, self.status.size,
+ self.status.price, self.status.value, self.status.pnl, self.status.pnlcomm,
+ self.status.tz, self.event, ))
+
+ def doupdate(self, order, size, price, commission):
+ '''Used to fill the ``update`` part of the history entry'''
+ self.event.order = order
+ self.event.size = size
+ self.event.price = price
+ self.event.commission = commission
+
+ # Do not allow updates (avoids typing errors)
+ self._close()
+
+ def datetime(self, tz=None, naive=True):
+ '''Returns a datetime for the time the update event happened'''
+ return num2date(self.status.dt, tz or self.status.tz, naive)
+
+
+class Trade(object):
+ '''Keeps track of the life of an trade: size, price,
+ commission (and value?)
+
+ An trade starts at 0 can be increased and reduced and can
+ be considered closed if it goes back to 0.
+
+ The trade can be long (positive size) or short (negative size)
+
+ An trade is not meant to be reversed (no support in the logic for it)
+
+ Member Attributes:
+
+ - ``ref``: unique trade identifier
+ - ``status`` (``int``): one of Created, Open, Closed
+ - ``tradeid``: grouping tradeid passed to orders during creation
+ The default in orders is 0
+ - ``size`` (``int``): current size of the trade
+ - ``price`` (``float``): current price of the trade
+ - ``value`` (``float``): current value of the trade
+ - ``commission`` (``float``): current accumulated commission
+ - ``pnl`` (``float``): current profit and loss of the trade (gross pnl)
+ - ``pnlcomm`` (``float``): current profit and loss of the trade minus
+ commission (net pnl)
+ - ``isclosed`` (``bool``): records if the last update closed (set size to
+ null the trade
+ - ``isopen`` (``bool``): records if any update has opened the trade
+ - ``justopened`` (``bool``): if the trade was just opened
+ - ``baropen`` (``int``): bar in which this trade was opened
+
+ - ``dtopen`` (``float``): float coded datetime in which the trade was
+ opened
+
+ - Use method ``open_datetime`` to get a Python datetime.datetime
+ or use the platform provided ``num2date`` method
+
+ - ``barclose`` (``int``): bar in which this trade was closed
+
+ - ``dtclose`` (``float``): float coded datetime in which the trade was
+ closed
+
+ - Use method ``close_datetime`` to get a Python datetime.datetime
+ or use the platform provided ``num2date`` method
+
+ - ``barlen`` (``int``): number of bars this trade was open
+ - ``historyon`` (``bool``): whether history has to be recorded
+ - ``history`` (``list``): holds a list updated with each "update" event
+ containing the resulting status and parameters used in the update
+
+ The first entry in the history is the Opening Event
+ The last entry in the history is the Closing Event
+
+ '''
+ refbasis = itertools.count(1)
+
+ status_names = ['Created', 'Open', 'Closed']
+ Created, Open, Closed = range(3)
+
+ def __str__(self):
+ toprint = (
+ 'ref', 'data', 'tradeid',
+ 'size', 'price', 'value', 'commission', 'pnl', 'pnlcomm',
+ 'justopened', 'isopen', 'isclosed',
+ 'baropen', 'dtopen', 'barclose', 'dtclose', 'barlen',
+ 'historyon', 'history',
+ 'status')
+
+ return '\n'.join(
+ (':'.join((x, str(getattr(self, x)))) for x in toprint)
+ )
+
+ def __init__(self, data=None, tradeid=0, historyon=False,
+ size=0, price=0.0, value=0.0, commission=0.0):
+
+ self.ref = next(self.refbasis)
+ self.data = data
+ self.tradeid = tradeid
+ self.size = size
+ self.price = price
+ self.value = value
+ self.commission = commission
+
+ self.pnl = 0.0
+ self.pnlcomm = 0.0
+
+ self.justopened = False
+ self.isopen = False
+ self.isclosed = False
+
+ self.baropen = 0
+ self.dtopen = 0.0
+ self.barclose = 0
+ self.dtclose = 0.0
+ self.barlen = 0
+
+ self.historyon = historyon
+ self.history = list()
+
+ self.status = self.Created
+
+ def __len__(self):
+ '''Absolute size of the trade'''
+ return abs(self.size)
+
+ def __bool__(self):
+ '''Trade size is not 0'''
+ return self.size != 0
+
+ __nonzero__ = __bool__
+
+ def getdataname(self):
+ '''Shortcut to retrieve the name of the data this trade references'''
+ return self.data._name
+
+ def open_datetime(self, tz=None, naive=True):
+ '''Returns a datetime.datetime object with the datetime in which
+ the trade was opened
+ '''
+ return self.data.num2date(self.dtopen, tz=tz, naive=naive)
+
+ def close_datetime(self, tz=None, naive=True):
+ '''Returns a datetime.datetime object with the datetime in which
+ the trade was closed
+ '''
+ return self.data.num2date(self.dtclose, tz=tz, naive=naive)
+
+ def update(self, order, size, price, value, commission, pnl,
+ comminfo):
+ '''
+ Updates the current trade. The logic does not check if the
+ trade is reversed, which is not conceptually supported by the
+ object.
+
+ If an update sets the size attribute to 0, "closed" will be
+ set to true
+
+ Updates may be received twice for each order, once for the existing
+ size which has been closed (sell undoing a buy) and a second time for
+ the the opening part (sell reversing a buy)
+
+ Args:
+ order: the order object which has (completely or partially)
+ generated this update
+ size (int): amount to update the order
+ if size has the same sign as the current trade a
+ position increase will happen
+ if size has the opposite sign as current op size a
+ reduction/close will happen
+
+ price (float): always be positive to ensure consistency
+ value (float): (unused) cost incurred in new size/price op
+ Not used because the value is calculated for the
+ trade
+ commission (float): incurred commission in the new size/price op
+ pnl (float): (unused) generated by the executed part
+ Not used because the trade has an independent pnl
+ '''
+ if not size:
+ return # empty update, skip all other calculations
+
+ # Commission can only increase
+ self.commission += commission
+
+ # Update size and keep a reference for logic an calculations
+ oldsize = self.size
+ self.size += size # size will carry the opposite sign if reducing
+
+ # Check if it has been currently opened
+ self.justopened = bool(not oldsize and size)
+
+ if self.justopened:
+ self.baropen = len(self.data)
+ self.dtopen = 0.0 if order.p.simulated else self.data.datetime[0]
+ self.long = self.size > 0
+
+ # Any size means the trade was opened
+ self.isopen = bool(self.size)
+
+ # Update current trade length
+ self.barlen = len(self.data) - self.baropen
+
+ # record if the position was closed (set to null)
+ self.isclosed = bool(oldsize and not self.size)
+
+ # record last bar for the trade
+ if self.isclosed:
+ self.isopen = False
+ self.barclose = len(self.data)
+ self.dtclose = self.data.datetime[0]
+
+ self.status = self.Closed
+ elif self.isopen:
+ self.status = self.Open
+
+ if abs(self.size) > abs(oldsize):
+ # position increased (be it positive or negative)
+ # update the average price
+ self.price = (oldsize * self.price + size * price) / self.size
+ pnl = 0.0
+
+ else: # abs(self.size) < abs(oldsize)
+ # position reduced/closed
+ pnl = comminfo.profitandloss(-size, self.price, price)
+
+ self.pnl += pnl
+ self.pnlcomm = self.pnl - self.commission
+
+ self.value = comminfo.getvaluesize(self.size, self.price)
+
+ # Update the history if needed
+ if self.historyon:
+ dt0 = self.data.datetime[0] if not order.p.simulated else 0.0
+ histentry = TradeHistory(
+ self.status, dt0, self.barlen,
+ self.size, self.price, self.value,
+ self.pnl, self.pnlcomm, self.data._tz)
+ histentry.doupdate(order, size, price, commission)
+ self.history.append(histentry)
diff --git a/backtrader/source/backtrader/tradingcal.py b/backtrader/source/backtrader/tradingcal.py
new file mode 100644
index 0000000000000000000000000000000000000000..c2c11b9f80873e17782d7688b2e01ebe644cc1ee
--- /dev/null
+++ b/backtrader/source/backtrader/tradingcal.py
@@ -0,0 +1,280 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from datetime import datetime, timedelta, time
+
+from .metabase import MetaParams
+from backtrader.utils.py3 import string_types, with_metaclass
+from backtrader.utils import UTC
+
+__all__ = ['TradingCalendarBase', 'TradingCalendar', 'PandasMarketCalendar']
+
+# Imprecission in the full time conversion to float would wrap over to next day
+# if microseconds is 999999 as defined in time.max
+_time_max = time(hour=23, minute=59, second=59, microsecond=999990)
+
+
+MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY = range(7)
+(ISONODAY, ISOMONDAY, ISOTUESDAY, ISOWEDNESDAY, ISOTHURSDAY, ISOFRIDAY,
+ ISOSATURDAY, ISOSUNDAY) = range(8)
+
+WEEKEND = [SATURDAY, SUNDAY]
+ISOWEEKEND = [ISOSATURDAY, ISOSUNDAY]
+ONEDAY = timedelta(days=1)
+
+
+class TradingCalendarBase(with_metaclass(MetaParams, object)):
+ def _nextday(self, day):
+ '''
+ Returns the next trading day (datetime/date instance) after ``day``
+ (datetime/date instance) and the isocalendar components
+
+ The return value is a tuple with 2 components: (nextday, (y, w, d))
+ '''
+ raise NotImplementedError
+
+ def schedule(self, day):
+ '''
+ Returns a tuple with the opening and closing times (``datetime.time``)
+ for the given ``date`` (``datetime/date`` instance)
+ '''
+ raise NotImplementedError
+
+ def nextday(self, day):
+ '''
+ Returns the next trading day (datetime/date instance) after ``day``
+ (datetime/date instance)
+ '''
+ return self._nextday(day)[0] # 1st ret elem is next day
+
+ def nextday_week(self, day):
+ '''
+ Returns the iso week number of the next trading day, given a ``day``
+ (datetime/date) instance
+ '''
+ self._nextday(day)[1][1] # 2 elem is isocal / 0 - y, 1 - wk, 2 - day
+
+ def last_weekday(self, day):
+ '''
+ Returns ``True`` if the given ``day`` (datetime/date) instance is the
+ last trading day of this week
+ '''
+ # Next day must be greater than day. If the week changes is enough for
+ # a week change even if the number is smaller (year change)
+ return day.isocalendar()[1] != self._nextday(day)[1][1]
+
+ def last_monthday(self, day):
+ '''
+ Returns ``True`` if the given ``day`` (datetime/date) instance is the
+ last trading day of this month
+ '''
+ # Next day must be greater than day. If the week changes is enough for
+ # a week change even if the number is smaller (year change)
+ return day.month != self._nextday(day)[0].month
+
+ def last_yearday(self, day):
+ '''
+ Returns ``True`` if the given ``day`` (datetime/date) instance is the
+ last trading day of this month
+ '''
+ # Next day must be greater than day. If the week changes is enough for
+ # a week change even if the number is smaller (year change)
+ return day.year != self._nextday(day)[0].year
+
+
+class TradingCalendar(TradingCalendarBase):
+ '''
+ Wrapper of ``pandas_market_calendars`` for a trading calendar. The package
+ ``pandas_market_calendar`` must be installed
+
+ Params:
+
+ - ``open`` (default ``time.min``)
+
+ Regular start of the session
+
+ - ``close`` (default ``time.max``)
+
+ Regular end of the session
+
+ - ``holidays`` (default ``[]``)
+
+ List of non-trading days (``datetime.datetime`` instances)
+
+ - ``earlydays`` (default ``[]``)
+
+ List of tuples determining the date and opening/closing times of days
+ which do not conform to the regular trading hours where each tuple has
+ (``datetime.datetime``, ``datetime.time``, ``datetime.time`` )
+
+ - ``offdays`` (default ``ISOWEEKEND``)
+
+ A list of weekdays in ISO format (Monday: 1 -> Sunday: 7) in which the
+ market doesn't trade. This is usually Saturday and Sunday and hence the
+ default
+
+ '''
+ params = (
+ ('open', time.min),
+ ('close', _time_max),
+ ('holidays', []), # list of non trading days (date)
+ ('earlydays', []), # list of tuples (date, opentime, closetime)
+ ('offdays', ISOWEEKEND), # list of non trading (isoweekdays)
+ )
+
+ def __init__(self):
+ self._earlydays = [x[0] for x in self.p.earlydays] # speed up searches
+
+ def _nextday(self, day):
+ '''
+ Returns the next trading day (datetime/date instance) after ``day``
+ (datetime/date instance) and the isocalendar components
+
+ The return value is a tuple with 2 components: (nextday, (y, w, d))
+ '''
+ while True:
+ day += ONEDAY
+ isocal = day.isocalendar()
+ if isocal[2] in self.p.offdays or day in self.p.holidays:
+ continue
+
+ return day, isocal
+
+ def schedule(self, day, tz=None):
+ '''
+ Returns the opening and closing times for the given ``day``. If the
+ method is called, the assumption is that ``day`` is an actual trading
+ day
+
+ The return value is a tuple with 2 components: opentime, closetime
+ '''
+ while True:
+ dt = day.date()
+ try:
+ i = self._earlydays.index(dt)
+ o, c = self.p.earlydays[i][1:]
+ except ValueError: # not found
+ o, c = self.p.open, self.p.close
+
+ closing = datetime.combine(dt, c)
+ if tz is not None:
+ closing = tz.localize(closing).astimezone(UTC)
+ closing = closing.replace(tzinfo=None)
+
+ if day > closing: # current time over eos
+ day += ONEDAY
+ continue
+
+ opening = datetime.combine(dt, o)
+ if tz is not None:
+ opening = tz.localize(opening).astimezone(UTC)
+ opening = opening.replace(tzinfo=None)
+
+ return opening, closing
+
+
+class PandasMarketCalendar(TradingCalendarBase):
+ '''
+ Wrapper of ``pandas_market_calendars`` for a trading calendar. The package
+ ``pandas_market_calendar`` must be installed
+
+ Params:
+
+ - ``calendar`` (default ``None``)
+
+ The param ``calendar`` accepts the following:
+
+ - string: the name of one of the calendars supported, for example
+ `NYSE`. The wrapper will attempt to get a calendar instance
+
+ - calendar instance: as returned by ``get_calendar('NYSE')``
+
+ - ``cachesize`` (default ``365``)
+
+ Number of days to cache in advance for lookup
+
+ See also:
+
+ - https://github.com/rsheftel/pandas_market_calendars
+
+ - http://pandas-market-calendars.readthedocs.io/
+
+ '''
+ params = (
+ ('calendar', None), # A pandas_market_calendars instance or exch name
+ ('cachesize', 365), # Number of days to cache in advance
+ )
+
+ def __init__(self):
+ self._calendar = self.p.calendar
+
+ if isinstance(self._calendar, string_types): # use passed mkt name
+ import pandas_market_calendars as mcal
+ self._calendar = mcal.get_calendar(self._calendar)
+
+ import pandas as pd # guaranteed because of pandas_market_calendars
+ self.dcache = pd.DatetimeIndex([0.0])
+ self.idcache = pd.DataFrame(index=pd.DatetimeIndex([0.0]))
+ self.csize = timedelta(days=self.p.cachesize)
+
+ def _nextday(self, day):
+ '''
+ Returns the next trading day (datetime/date instance) after ``day``
+ (datetime/date instance) and the isocalendar components
+
+ The return value is a tuple with 2 components: (nextday, (y, w, d))
+ '''
+ day += ONEDAY
+ while True:
+ i = self.dcache.searchsorted(day)
+ if i == len(self.dcache):
+ # keep a cache of 1 year to speed up searching
+ self.dcache = self._calendar.valid_days(day, day + self.csize)
+ continue
+
+ d = self.dcache[i].to_pydatetime()
+ return d, d.isocalendar()
+
+ def schedule(self, day, tz=None):
+ '''
+ Returns the opening and closing times for the given ``day``. If the
+ method is called, the assumption is that ``day`` is an actual trading
+ day
+
+ The return value is a tuple with 2 components: opentime, closetime
+ '''
+ while True:
+ i = self.idcache.index.searchsorted(day.date())
+ if i == len(self.idcache):
+ # keep a cache of 1 year to speed up searching
+ self.idcache = self._calendar.schedule(day, day + self.csize)
+ continue
+
+ st = (x.tz_localize(None) for x in self.idcache.iloc[i, 0:2])
+ opening, closing = st # Get utc naive times
+ if day > closing: # passed time is over the sessionend
+ day += ONEDAY # wrap over to next day
+ continue
+
+ return opening.to_pydatetime(), closing.to_pydatetime()
diff --git a/backtrader/source/backtrader/utils/__init__.py b/backtrader/source/backtrader/utils/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..43e45d257453aa506fdf20478f9c3e03d022d2e6
--- /dev/null
+++ b/backtrader/source/backtrader/utils/__init__.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from collections import OrderedDict
+import sys
+
+from .date import *
+from .ordereddefaultdict import *
+from .autodict import *
diff --git a/backtrader/source/backtrader/utils/autodict.py b/backtrader/source/backtrader/utils/autodict.py
new file mode 100644
index 0000000000000000000000000000000000000000..ff2b101ac11e17142ca8ed78b2612057d6b1d8cd
--- /dev/null
+++ b/backtrader/source/backtrader/utils/autodict.py
@@ -0,0 +1,145 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from collections import OrderedDict, defaultdict
+
+from .py3 import values as py3lvalues
+
+
+def Tree():
+ return defaultdict(Tree)
+
+
+class AutoDictList(dict):
+ def __missing__(self, key):
+ value = self[key] = list()
+ return value
+
+
+class DotDict(dict):
+ # If the attribut is not found in the usual places try the dict itself
+ def __getattr__(self, key):
+ if key.startswith('__'):
+ return super(DotDict, self).__getattr__(key)
+ return self[key]
+
+
+class AutoDict(dict):
+ _closed = False
+
+ def _close(self):
+ self._closed = True
+ for key, val in self.items():
+ if isinstance(val, (AutoDict, AutoOrderedDict)):
+ val._close()
+
+ def _open(self):
+ self._closed = False
+
+ def __missing__(self, key):
+ if self._closed:
+ raise KeyError
+
+ value = self[key] = AutoDict()
+ return value
+
+ def __getattr__(self, key):
+ if False and key.startswith('_'):
+ raise AttributeError
+
+ return self[key]
+
+ def __setattr__(self, key, value):
+ if False and key.startswith('_'):
+ self.__dict__[key] = value
+ return
+
+ self[key] = value
+
+
+class AutoOrderedDict(OrderedDict):
+ _closed = False
+
+ def _close(self):
+ self._closed = True
+ for key, val in self.items():
+ if isinstance(val, (AutoDict, AutoOrderedDict)):
+ val._close()
+
+ def _open(self):
+ self._closed = False
+
+ def __missing__(self, key):
+ if self._closed:
+ raise KeyError
+
+ # value = self[key] = type(self)()
+ value = self[key] = AutoOrderedDict()
+ return value
+
+ def __getattr__(self, key):
+ if key.startswith('_'):
+ raise AttributeError
+
+ return self[key]
+
+ def __setattr__(self, key, value):
+ if key.startswith('_'):
+ self.__dict__[key] = value
+ return
+
+ self[key] = value
+
+ # Define math operations
+ def __iadd__(self, other):
+ if type(self) != type(other):
+ return type(other)() + other
+
+ return self + other
+
+ def __isub__(self, other):
+ if type(self) != type(other):
+ return type(other)() - other
+
+ return self - other
+
+ def __imul__(self, other):
+ if type(self) != type(other):
+ return type(other)() * other
+
+ return self + other
+
+ def __idiv__(self, other):
+ if type(self) != type(other):
+ return type(other)() // other
+
+ return self + other
+
+ def __itruediv__(self, other):
+ if type(self) != type(other):
+ return type(other)() / other
+
+ return self + other
+
+ def lvalues(self):
+ return py3lvalues(self)
diff --git a/backtrader/source/backtrader/utils/date.py b/backtrader/source/backtrader/utils/date.py
new file mode 100644
index 0000000000000000000000000000000000000000..24eba07fe605a2a7350dd4f651211b629ba782d6
--- /dev/null
+++ b/backtrader/source/backtrader/utils/date.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+from .dateintern import (num2date, num2dt, date2num, time2num, num2time,
+ UTC, TZLocal, Localizer, tzparse, TIME_MAX, TIME_MIN)
+
+__all__ = ('num2date', 'num2dt', 'date2num', 'time2num', 'num2time',
+ 'UTC', 'TZLocal', 'Localizer', 'tzparse', 'TIME_MAX', 'TIME_MIN')
diff --git a/backtrader/source/backtrader/utils/dateintern.py b/backtrader/source/backtrader/utils/dateintern.py
new file mode 100644
index 0000000000000000000000000000000000000000..a69977c50fcdec1270c7442c531c5363d23d95e8
--- /dev/null
+++ b/backtrader/source/backtrader/utils/dateintern.py
@@ -0,0 +1,240 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import datetime
+import math
+import time as _time
+
+from .py3 import string_types
+
+
+ZERO = datetime.timedelta(0)
+
+STDOFFSET = datetime.timedelta(seconds=-_time.timezone)
+if _time.daylight:
+ DSTOFFSET = datetime.timedelta(seconds=-_time.altzone)
+else:
+ DSTOFFSET = STDOFFSET
+
+DSTDIFF = DSTOFFSET - STDOFFSET
+
+# To avoid rounding errors taking dates to next day
+TIME_MAX = datetime.time(23, 59, 59, 999990)
+
+# To avoid rounding errors taking dates to next day
+TIME_MIN = datetime.time.min
+
+
+def tzparse(tz):
+ # If no object has been provided by the user and a timezone can be
+ # found via contractdtails, then try to get it from pytz, which may or
+ # may not be available.
+ tzstr = isinstance(tz, string_types)
+ if tz is None or not tzstr:
+ return Localizer(tz)
+
+ try:
+ import pytz # keep the import very local
+ except ImportError:
+ return Localizer(tz) # nothing can be done
+
+ tzs = tz
+ if tzs == 'CST': # usual alias
+ tzs = 'CST6CDT'
+
+ try:
+ tz = pytz.timezone(tzs)
+ except pytz.UnknownTimeZoneError:
+ return Localizer(tz) # nothing can be done
+
+ return tz
+
+
+def Localizer(tz):
+ import types
+
+ def localize(self, dt):
+ return dt.replace(tzinfo=self)
+
+ if tz is not None and not hasattr(tz, 'localize'):
+ # patch the tz instance with a bound method
+ tz.localize = types.MethodType(localize, tz)
+
+ return tz
+
+
+# A UTC class, same as the one in the Python Docs
+class _UTC(datetime.tzinfo):
+ """UTC"""
+
+ def utcoffset(self, dt):
+ return ZERO
+
+ def tzname(self, dt):
+ return "UTC"
+
+ def dst(self, dt):
+ return ZERO
+
+ def localize(self, dt):
+ return dt.replace(tzinfo=self)
+
+
+class _LocalTimezone(datetime.tzinfo):
+
+ def utcoffset(self, dt):
+ if self._isdst(dt):
+ return DSTOFFSET
+ else:
+ return STDOFFSET
+
+ def dst(self, dt):
+ if self._isdst(dt):
+ return DSTDIFF
+ else:
+ return ZERO
+
+ def tzname(self, dt):
+ return _time.tzname[self._isdst(dt)]
+
+ def _isdst(self, dt):
+ tt = (dt.year, dt.month, dt.day,
+ dt.hour, dt.minute, dt.second,
+ dt.weekday(), 0, 0)
+ try:
+ stamp = _time.mktime(tt)
+ except (ValueError, OverflowError):
+ return False # Too far in the future, not relevant
+
+ tt = _time.localtime(stamp)
+ return tt.tm_isdst > 0
+
+ def localize(self, dt):
+ return dt.replace(tzinfo=self)
+
+
+UTC = _UTC()
+TZLocal = _LocalTimezone()
+
+
+HOURS_PER_DAY = 24.0
+MINUTES_PER_HOUR = 60.0
+SECONDS_PER_MINUTE = 60.0
+MUSECONDS_PER_SECOND = 1e6
+MINUTES_PER_DAY = MINUTES_PER_HOUR * HOURS_PER_DAY
+SECONDS_PER_DAY = SECONDS_PER_MINUTE * MINUTES_PER_DAY
+MUSECONDS_PER_DAY = MUSECONDS_PER_SECOND * SECONDS_PER_DAY
+
+
+def num2date(x, tz=None, naive=True):
+ # Same as matplotlib except if tz is None a naive datetime object
+ # will be returned.
+ """
+ *x* is a float value which gives the number of days
+ (fraction part represents hours, minutes, seconds) since
+ 0001-01-01 00:00:00 UTC *plus* *one*.
+ The addition of one here is a historical artifact. Also, note
+ that the Gregorian calendar is assumed; this is not universal
+ practice. For details, see the module docstring.
+ Return value is a :class:`datetime` instance in timezone *tz* (default to
+ rcparams TZ value).
+ If *x* is a sequence, a sequence of :class:`datetime` objects will
+ be returned.
+ """
+
+ ix = int(x)
+ dt = datetime.datetime.fromordinal(ix)
+ remainder = float(x) - ix
+ hour, remainder = divmod(HOURS_PER_DAY * remainder, 1)
+ minute, remainder = divmod(MINUTES_PER_HOUR * remainder, 1)
+ second, remainder = divmod(SECONDS_PER_MINUTE * remainder, 1)
+ microsecond = int(MUSECONDS_PER_SECOND * remainder)
+ if microsecond < 10:
+ microsecond = 0 # compensate for rounding errors
+
+ if True and tz is not None:
+ dt = datetime.datetime(
+ dt.year, dt.month, dt.day, int(hour), int(minute), int(second),
+ microsecond, tzinfo=UTC)
+ dt = dt.astimezone(tz)
+ if naive:
+ dt = dt.replace(tzinfo=None)
+ else:
+ # If not tz has been passed return a non-timezoned dt
+ dt = datetime.datetime(
+ dt.year, dt.month, dt.day, int(hour), int(minute), int(second),
+ microsecond)
+
+ if microsecond > 999990: # compensate for rounding errors
+ dt += datetime.timedelta(microseconds=1e6 - microsecond)
+
+ return dt
+
+
+def num2dt(num, tz=None, naive=True):
+ return num2date(num, tz=tz, naive=naive).date()
+
+
+def num2time(num, tz=None, naive=True):
+ return num2date(num, tz=tz, naive=naive).time()
+
+
+def date2num(dt, tz=None):
+ """
+ Convert :mod:`datetime` to the Gregorian date as UTC float days,
+ preserving hours, minutes, seconds and microseconds. Return value
+ is a :func:`float`.
+ """
+ if tz is not None:
+ dt = tz.localize(dt)
+
+ if hasattr(dt, 'tzinfo') and dt.tzinfo is not None:
+ delta = dt.tzinfo.utcoffset(dt)
+ if delta is not None:
+ dt -= delta
+
+ base = float(dt.toordinal())
+ if hasattr(dt, 'hour'):
+ # base += (dt.hour / HOURS_PER_DAY +
+ # dt.minute / MINUTES_PER_DAY +
+ # dt.second / SECONDS_PER_DAY +
+ # dt.microsecond / MUSECONDS_PER_DAY
+ # )
+ base = math.fsum(
+ (base, dt.hour / HOURS_PER_DAY, dt.minute / MINUTES_PER_DAY,
+ dt.second / SECONDS_PER_DAY, dt.microsecond / MUSECONDS_PER_DAY))
+
+ return base
+
+
+def time2num(tm):
+ """
+ Converts the hour/minute/second/microsecond part of tm (datetime.datetime
+ or time) to a num
+ """
+ num = (tm.hour / HOURS_PER_DAY +
+ tm.minute / MINUTES_PER_DAY +
+ tm.second / SECONDS_PER_DAY +
+ tm.microsecond / MUSECONDS_PER_DAY)
+
+ return num
diff --git a/backtrader/source/backtrader/utils/flushfile.py b/backtrader/source/backtrader/utils/flushfile.py
new file mode 100644
index 0000000000000000000000000000000000000000..6d0361456490af3be7a25d64298bfc350c11b26d
--- /dev/null
+++ b/backtrader/source/backtrader/utils/flushfile.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015, 2016, 2017 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import sys
+
+
+class flushfile(object):
+
+ def __init__(self, f):
+ self.f = f
+
+ def write(self, x):
+ self.f.write(x)
+ self.f.flush()
+
+ def flush(self):
+ self.f.flush()
+
+if sys.platform == 'win32':
+ sys.stdout = flushfile(sys.stdout)
+ sys.stderr = flushfile(sys.stderr)
+
+
+class StdOutDevNull(object):
+
+ def __init__(self):
+ self.stdout = sys.stdout
+ sys.stdout = self
+
+ def write(self, x):
+ pass
+
+ def flush(self):
+ pass
+
+ def stop(self):
+ sys.stdout = self.stdout
diff --git a/backtrader/source/backtrader/utils/ordereddefaultdict.py b/backtrader/source/backtrader/utils/ordereddefaultdict.py
new file mode 100644
index 0000000000000000000000000000000000000000..a2335832f68136e5e8dec3aa6eebafaa8dfc96e3
--- /dev/null
+++ b/backtrader/source/backtrader/utils/ordereddefaultdict.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+# From: http://stackoverflow.com/questions/4126348/how-do-i-rewrite-this-function-to-implement-ordereddict/4127426#4127426
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+from collections import OrderedDict
+
+from .py3 import iteritems
+
+
+class OrderedDefaultdict(OrderedDict):
+ def __init__(self, *args, **kwargs):
+ if not args:
+ self.default_factory = None
+ else:
+ if not (args[0] is None or callable(args[0])):
+ raise TypeError('first argument must be callable or None')
+ self.default_factory = args[0]
+ args = args[1:]
+ super(OrderedDefaultdict, self).__init__(*args, **kwargs)
+
+ def __missing__(self, key):
+ if self.default_factory is None:
+ raise KeyError(key)
+ self[key] = default = self.default_factory()
+ return default
+
+ def __reduce__(self): # optional, for pickle support
+ args = (self.default_factory,) if self.default_factory else ()
+ return self.__class__, args, None, None, iteritems(self)
diff --git a/backtrader/source/backtrader/utils/py3.py b/backtrader/source/backtrader/utils/py3.py
new file mode 100644
index 0000000000000000000000000000000000000000..60946b685008d3ff8a03f9106d39308e6bfc0b57
--- /dev/null
+++ b/backtrader/source/backtrader/utils/py3.py
@@ -0,0 +1,133 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import itertools
+import sys
+
+PY2 = sys.version_info.major == 2
+
+
+if PY2:
+ try:
+ import _winreg as winreg
+ except ImportError:
+ winreg = None
+
+ MAXINT = sys.maxint
+ MININT = -sys.maxint - 1
+
+ MAXFLOAT = sys.float_info.max
+ MINFLOAT = sys.float_info.min
+
+ string_types = str, unicode
+ integer_types = int, long
+
+ filter = itertools.ifilter
+ map = itertools.imap
+ range = xrange
+ zip = itertools.izip
+ long = long
+
+ cmp = cmp
+
+ bytes = bytes
+ bstr = bytes
+
+ from io import StringIO
+
+ from urllib2 import urlopen, ProxyHandler, build_opener, install_opener
+ from urllib import quote as urlquote
+
+ def iterkeys(d): return d.iterkeys()
+
+ def itervalues(d): return d.itervalues()
+
+ def iteritems(d): return d.iteritems()
+
+ def keys(d): return d.keys()
+
+ def values(d): return d.values()
+
+ def items(d): return d.items()
+
+ import Queue as queue
+
+else:
+ try:
+ import winreg
+ except ImportError:
+ winreg = None
+
+ MAXINT = sys.maxsize
+ MININT = -sys.maxsize - 1
+
+ MAXFLOAT = sys.float_info.max
+ MINFLOAT = sys.float_info.min
+
+ string_types = str,
+ integer_types = int,
+
+ filter = filter
+ map = map
+ range = range
+ zip = zip
+ long = int
+
+ def cmp(a, b): return (a > b) - (a < b)
+
+ def bytes(x): return x.encode('utf-8')
+
+ def bstr(x): return str(x)
+
+ from io import StringIO
+
+ from urllib.request import (urlopen, ProxyHandler, build_opener,
+ install_opener)
+ from urllib.parse import quote as urlquote
+
+ def iterkeys(d): return iter(d.keys())
+
+ def itervalues(d): return iter(d.values())
+
+ def iteritems(d): return iter(d.items())
+
+ def keys(d): return list(d.keys())
+
+ def values(d): return list(d.values())
+
+ def items(d): return list(d.items())
+
+ import queue as queue
+
+
+# This is from Armin Ronacher from Flash simplified later by six
+def with_metaclass(meta, *bases):
+ """Create a base class with a metaclass."""
+ # This requires a bit of explanation: the basic idea is to make a dummy
+ # metaclass for one level of class instantiation that replaces itself with
+ # the actual metaclass.
+ class metaclass(meta):
+
+ def __new__(cls, name, this_bases, d):
+ return meta(name, bases, d)
+ return type.__new__(metaclass, str('temporary_class'), (), {})
diff --git a/backtrader/source/backtrader/version.py b/backtrader/source/backtrader/version.py
new file mode 100644
index 0000000000000000000000000000000000000000..52d618f60cff1c437db51bdaadb87da7ac3925d4
--- /dev/null
+++ b/backtrader/source/backtrader/version.py
@@ -0,0 +1,27 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+__version__ = '1.9.78.123'
+
+__btversion__ = tuple(int(x) for x in __version__.split('.'))
diff --git a/backtrader/source/backtrader/writer.py b/backtrader/source/backtrader/writer.py
new file mode 100644
index 0000000000000000000000000000000000000000..7a4cecb91ba55f345444c4a6f7c0a75b824a920f
--- /dev/null
+++ b/backtrader/source/backtrader/writer.py
@@ -0,0 +1,234 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+import io
+import itertools
+import sys
+
+try: # For new Python versions
+ collectionsAbc = collections.abc # collections.Iterable -> collections.abc.Iterable
+except AttributeError: # For old Python versions
+ collectionsAbc = collections # Используем collections.Iterable
+
+import backtrader as bt
+from backtrader.utils.py3 import (map, with_metaclass, string_types,
+ integer_types)
+
+
+class WriterBase(with_metaclass(bt.MetaParams, object)):
+ pass
+
+
+class WriterFile(WriterBase):
+ '''The system wide writer class.
+
+ It can be parametrized with:
+
+ - ``out`` (default: ``sys.stdout``): output stream to write to
+
+ If a string is passed a filename with the content of the parameter will
+ be used.
+
+ If you wish to run with ``sys.stdout`` while doing multiprocess optimization, leave it as ``None``, which will
+ automatically initiate ``sys.stdout`` on the child processes.
+
+ - ``close_out`` (default: ``False``)
+
+ If ``out`` is a stream whether it has to be explicitly closed by the
+ writer
+
+ - ``csv`` (default: ``False``)
+
+ If a csv stream of the data feeds, strategies, observers and indicators
+ has to be written to the stream during execution
+
+ Which objects actually go into the csv stream can be controlled with
+ the ``csv`` attribute of each object (defaults to ``True`` for ``data
+ feeds`` and ``observers`` / False for ``indicators``)
+
+ - ``csv_filternan`` (default: ``True``) whether ``nan`` values have to be
+ purged out of the csv stream (replaced by an empty field)
+
+ - ``csv_counter`` (default: ``True``) if the writer shall keep and print
+ out a counter of the lines actually output
+
+ - ``indent`` (default: ``2``) indentation spaces for each level
+
+ - ``separators`` (default: ``['=', '-', '+', '*', '.', '~', '"', '^',
+ '#']``)
+
+ Characters used for line separators across section/sub(sub)sections
+
+ - ``seplen`` (default: ``79``)
+
+ total length of a line separator including indentation
+
+ - ``rounding`` (default: ``None``)
+
+ Number of decimal places to round floats down to. With ``None`` no
+ rounding is performed
+
+ '''
+ params = (
+ ('out', None),
+ ('close_out', False),
+
+ ('csv', False),
+ ('csvsep', ','),
+ ('csv_filternan', True),
+ ('csv_counter', True),
+
+ ('indent', 2),
+ ('separators', ['=', '-', '+', '*', '.', '~', '"', '^', '#']),
+ ('seplen', 79),
+ ('rounding', None),
+ )
+
+ def __init__(self):
+ self._len = itertools.count(1)
+ self.headers = list()
+ self.values = list()
+
+ def _start_output(self):
+ # open file if needed
+ if not hasattr(self, 'out') or not self.out:
+ if self.p.out is None:
+ self.out = sys.stdout
+ self.close_out = False
+ elif isinstance(self.p.out, string_types):
+ self.out = open(self.p.out, 'w')
+ self.close_out = True
+ else:
+ self.out = self.p.out
+ self.close_out = self.p.close_out
+
+ def start(self):
+ self._start_output()
+
+ if self.p.csv:
+ self.writelineseparator()
+ self.writeiterable(self.headers, counter='Id')
+
+ def stop(self):
+ if self.close_out:
+ self.out.close()
+
+ def next(self):
+ if self.p.csv:
+ self.writeiterable(self.values, func=str, counter=next(self._len))
+ self.values = list()
+
+ def addheaders(self, headers):
+ if self.p.csv:
+ self.headers.extend(headers)
+
+ def addvalues(self, values):
+ if self.p.csv:
+ if self.p.csv_filternan:
+ values = map(lambda x: x if x == x else '', values)
+ self.values.extend(values)
+
+ def writeiterable(self, iterable, func=None, counter=''):
+ if self.p.csv_counter:
+ iterable = itertools.chain([counter], iterable)
+
+ if func is not None:
+ iterable = map(lambda x: func(x), iterable)
+
+ line = self.p.csvsep.join(iterable)
+ self.writeline(line)
+
+ def writeline(self, line):
+ self.out.write(line + '\n')
+
+ def writelines(self, lines):
+ for l in lines:
+ self.out.write(l + '\n')
+
+ def writelineseparator(self, level=0):
+ sepnum = level % len(self.p.separators)
+ separator = self.p.separators[sepnum]
+
+ line = ' ' * (level * self.p.indent)
+ line += separator * (self.p.seplen - (level * self.p.indent))
+ self.writeline(line)
+
+ def writedict(self, dct, level=0, recurse=False):
+ if not recurse:
+ self.writelineseparator(level)
+
+ indent0 = level * self.p.indent
+ for key, val in dct.items():
+ kline = ' ' * indent0
+ if recurse:
+ kline += '- '
+
+ kline += str(key) + ':'
+
+ try:
+ sclass = issubclass(val, bt.LineSeries)
+ except TypeError:
+ sclass = False
+
+ if sclass:
+ kline += ' ' + val.__name__
+ self.writeline(kline)
+ elif isinstance(val, string_types):
+ kline += ' ' + val
+ self.writeline(kline)
+ elif isinstance(val, integer_types):
+ kline += ' ' + str(val)
+ self.writeline(kline)
+ elif isinstance(val, float):
+ if self.p.rounding is not None:
+ val = round(val, self.p.rounding)
+ kline += ' ' + str(val)
+ self.writeline(kline)
+ elif isinstance(val, dict):
+ if recurse:
+ self.writelineseparator(level=level)
+ self.writeline(kline)
+ self.writedict(val, level=level + 1, recurse=True)
+ elif isinstance(val, (list, tuple, collectionsAbc.Iterable)): # Для разных версий Python будут вызываться разные функции
+ line = ', '.join(map(str, val))
+ self.writeline(kline + ' ' + line)
+ else:
+ kline += ' ' + str(val)
+ self.writeline(kline)
+
+
+class WriterStringIO(WriterFile):
+ params = (('out', io.StringIO),)
+
+ def __init__(self):
+ super(WriterStringIO, self).__init__()
+
+ def _start_output(self):
+ super(WriterStringIO, self)._start_output()
+ self.out = self.out()
+
+ def stop(self):
+ super(WriterStringIO, self).stop()
+ # Leave the file positioned at the beginning
+ self.out.seek(0)
diff --git a/backtrader/source/changelog.txt b/backtrader/source/changelog.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c42d1bd202d5a5bfd9778fc26cc3860293009f78
--- /dev/null
+++ b/backtrader/source/changelog.txt
@@ -0,0 +1,1390 @@
+1.9.78.123:
+ - PR#479 Fix errors for simulated orders
+1.9.77.123:
+ - PR#472
+ - Added posibitity for Black theme for charts
+ - Added posibitity to run on matplotlib 3.6+
+ - Added posibitity to run on Python 3.9+
+
+1.9.76.123:
+ - PR#405 Fix initial Renko bricks
+ - Add option to select fixing of initial Renko bricks
+ - PR#403 partial order execution iterpending reported incorrectly
+ - PR#402 bug fix: #5 fixing writer.py after 1.9.75.123 pull
+ - PR#406 trade.py upgraded to be able to be unpickled. (#406)
+ - PR#411 [bug fix] frompackages directive functionality seems to be
+ broken when using inheritance (#411)
+ - Typo corrections PR#409, PR#407
+
+1.9.75.123:
+ - Adding extra day before dtcmp calc, as otherwise the extradays
+ have no effect (#388)
+ - Fixing the issue with TWS API Bust events (err code 10225) (#396)
+ - Add support for ASK quotes for CASH assets (#395) plus fixes
+ - Remove duplicated note (#386)
+ - Fixing time.clock for python>=3.8 (#394)
+ - Changed file initiation for WriterFile to make it work under
+ multi-process optimization (#397) plus fixes
+ - Fixed backend loading if a backend is loaded (Google Collab) and
+ backend to use on MacOSX
+ - Fix: crumb in feeds.YahooFinanceData (#400)
+ - Fix color assignments, ticks line widths and some pep-8 improvements
+ - Fix timeframe/compression detection when plotting
+ - Fix default value for ticks display format on X-axis
+ - Sample with ta-lib SAR test
+ - Generic support of multiple "text/*" content types for Yahoo
+
+1.9.74.123:
+ - Correct calculation in haDelta indicator
+ - Use initial datalabel for non-overlaid volume plot
+
+1.9.73.123:
+ - Add utility NonZeroDifference indicator
+ - Redefine CrossUp, CrossDown and CrossOver indicators using
+ NonZeroDifference to cover the case in which the crossing entities
+ converge right before crossing up and down
+ - PR #382 (Travis: Python 3.7, 3.8-dev travis), PR #383 PivotPoint doc
+
+1.9.72.122:
+ - Cover case in which result in high-level overridden operations have
+ multiple lines and wer not be taken into account for minimum period
+ calculations
+ - Add "Int" variants of percentage based sizers to import
+ - Trades observer to show net profit instead of brutto, with parameter
+ to control behavior
+
+1.9.71.122:
+ - Improve on indicator legend plotting to overcome matplotlib legend
+ reordering
+ - Added PercenSizerInt and AllSizerInt which truncate the returned size
+ to an int, suited better for stocks/futures
+
+1.9.70.122:
+ - Use opening price for submission check for Market orders when
+ cheat-on-open is active
+ - Update pnlcomm on all operations and not just profit/loss locking
+ - Correct comment for fillalpha and add baralpha for candlestick opacity
+ - Merge PR 378 (doc typo) PR 378 (rollover for live feeds and tz use
+ in datetime utilities)
+ - Use internal dict for data feed presence test and update trade observer
+
+1.9.69.122:
+ - Fix offline Yahoo feed by moving the new adjclose line up to the offline
+ feed
+ - Adapt the yahoodownload tool to the current status (ex: data not reversed)
+ - Redownload all yahoo data feeds
+
+1.9.68.122
+ - [PR 376] Fix call to _nextday in TradingCalendar
+ - Clean up and rework of Yahoo Data. The data feeds seems to be reliable
+ again
+ - IBStore Support for IND prices (simplfication of PR 373)
+
+1.9.67.122
+ - Fix compression only scenarios when resampling and resampling after
+ changes in 1.9.66.122
+ - Final correction for rollover fix introduced in 1.9.66.122
+ - Cover use case for mininum period calculation when all
+ operations/indicators don't use the data feeds directly but lines of it
+
+1.9.66.122
+ - Fix regression introduced with 8f537a1c2c271eb5cfc592b373697732597d26d6
+ which voids the count of lost trades
+ - Allow rollover to distinguish between no values temporarily (with None)
+ and no values permanently (with False)
+ - Avoid math domain error for negative returns in logarithmic calculations
+ - Fix local variable declaration for compound returns
+ - Fix typo in date2num tz conversion which shows up in direct usage
+
+1.9.65.122
+ - Fix commission info assigment and orderref seeking in OandaStore (PR#367)
+ - Add strategy type to OptReturn (PR#364)
+ - Fix prepend_constant for OLS_Transformation (PR#368)
+ - Fix LogReturnsRolling compression when not specified (PR#369)
+ - Have ints instead of bools in some values with 1 Trade in TradeAnalyzer
+
+1.9.64.122
+ - Avoid stage2 comparison using [0] in API methods
+ - Support plotname, if given, as name of indicator in csv output
+
+1.9.63.122
+ - Add optimization callbacks when running with 1 Core
+ - Correct sell_bracket by removing old append code
+ - Correct typo in store.py
+ - Pass period from RateOfChange100 to underlying ROC
+
+1.9.62.122
+ - Correct PSAR acceleration capping
+ - Enable PandasData line extension without the need to extend datafields
+
+1.9.61.122
+ - Add `_skipnan` to plotlines to allow joining two points with a line
+ - buy_bracket/sell_bracket allow suppressing stop/limit orders
+ - Add stop-loss approaches sample
+ - Correct codes for minutes compression
+
+1.9.60.122
+ - Remove unused files
+ - README update, Docstring corrections, documentation corrections
+ - Update travis settings
+
+1.9.58.122
+ - Provide default fundmode methods for all brokers
+ - Correct order notification if positions exist when starting the broker
+ and will be simulated
+ - Correct csv values output if object has no length
+
+1.9.57.122
+ - PR #326 Fix set_fundmode in bbroker
+ - Synchronize fund history mode with master clock
+ - Allow relocation of legend in plotting charts
+ - Adapt broker observer to fund mode
+
+1.9.56.122
+ - Handle volume as string null in YahooFinanceData
+ - Corrections/Improvements to order history support
+ - Add fund history support
+ - Increase plotting margin of trade observers
+
+1.9.55.122
+ - Add addorder_history support to replay history of orders
+ - Add swapcloses to YahooFinanceXXX family to allow end users to control what
+ the adjusted price actually is
+ - Some docs and samples updates
+ - Change default for _nextforce to False as it should be for most indicators
+
+1.9.54.122
+ - Add haDelta indicator
+ - Allow indicators to disable runonce
+ - Add Renko bricks
+ - Rework ix -> iloc pull request and autodetection algorithm in PandasData
+
+1.9.53.121
+ - Fix #323 by providing default properties/methods for fundvalue/fundshares
+ for all brokers
+
+1.9.52.121
+ - Redownload the YahooFinance sample data yhoo-1996-2015
+ - Add unstable exception for TALIB SAR
+ - Add notes about usage of Hurst exponent and lag_start/lag_end parameters
+ to override default lag values
+ - Fix #321 by correcting typo in Writer.writelines
+ - Add _start/start methods to Observers
+ - Add fund tracking mode to the observers
+ - Add new observers FundValue/FundShares
+ - Adapt observers to fundmode: Value, TimeReturn, LogReturns, DrawDown,
+ Benchmark
+ - Adapt analyzers to fundmode: DrawDown, Leverage, LogReturnsRolling,
+ PeriodStats, LogReturns, Sharpe, TimeReturn, VWR
+ - PR #319 for Pandas .ix deprecation (rewritten)
+
+1.9.51.121
+ - Fix PSAR calculations for resampled/replayed streams
+ - Sample for psar with intraday resampling 5 -> 15 minutes
+ - Set the environment of a backfill_from data in master ibdata
+ - Add dnames to the strategy documentation
+ - Allow plotmaster to point to itself
+ - Add plotylimited option to control vertical scaling locking on data plots
+ - Add (semi)logarithmic plotlog control to plotinfo
+ - Simplify live status detection for IB to allow optimization
+ - Keep the observer cycles always synchronized with the strategy cycles
+ regardless of running mode
+ - Correct arguments for top level cerebro callback for data notifications
+ - Add HeikinAshi candles indicator (plotted as lines)
+ - Add HeikinAshi as filter to directly modify the data
+ - Plot only last close value if lineonclose is plotted and correct high
+ printout
+ - Add PR #320 with indicators AwesomeOscillator,
+ AccelerationDecelerationOscillator, RelativeMomentumIndex
+ - Doc corrections and additions, including PR #319
+ - PR #315 with rewrite to generalize setting the backend
+
+1.9.50.117
+ - Add TrueStrengthIndicator
+ - Port YahooDownload tool to v7 API
+ - rewrite tool py3 bytes/str compatibility during write
+ - Support internal re-fetching of linetokens in csv based datas
+ - Support Yahoo skipping of lines with null values
+ - New adaptations to Yahoo new format for adjusted prices
+ - Update of data samples in Yahoo format
+ - Update of documents and samples to make use of YahooFinanceCSVData
+ consistent with chosen data sample
+
+1.9.49.116
+ - Add support for new Yahoo v7 api
+ - Quandl: Allow dataset specification, apikey correction and cosmetics
+
+1.9.48.116
+ - Quandl Data Feed Online/Offline (at least for WIKI EOD)
+ - Online: bt.feeds.Quandl
+ - Offline: bt.feeds.QuandlCSV
+ - Add studies category for indicators that draw in the past
+ (study events in past price movements)
+ - PR #307 Fractal study added to studies/contributions
+ - PR #304 Timer corrections for weekdays filter
+ - Docs corrections and typos
+
+1.9.47.116
+ - Add PR #303 with hook support for btrun
+ - Fix regression introduced with trading calendars for replaying
+ - Avoid a DivisionByZeroError in SharpeRatio if not enough returns for the
+ calculation
+
+1.9.46.116
+ - Finish timers implementation and documentation
+ - Add timers samples and cheat-on-open sample
+ - Add a List class to check for containment with __contains__ rather than
+ standard list is or __eq__
+
+1.9.45.116
+ - Fix #302 to plot resampled data with non aligned end of sessions
+ - PR #297 to save figures to files (refactored to save multiple strategies
+ and multiple figures)
+ - Ensure a data feed has always a non-empty _name if possible
+ - Alias getcash/getvalue to get_cash/get_value in broker subclasses if the
+ latter are missing
+ - PR #300 Set tools as executables
+ - PR #301 Metatrader4 csv format
+ - Documentation updates
+
+1.9.44.116
+ - Timer calls implementation
+ - Broker support for cheat-on-open
+ - Add cheat_on_open to cerebro to allow next_open
+ - Finish trading calendar resampling for weeks
+ - Support Yahoo download over proxies
+ - Doc corrections/additions
+ - Support quick broker notifications
+
+1.9.43.116
+ - Oanda support for bracket orders
+ - Oanda support for stop trailing order
+ - Filling in plotting support numeric values and control of alpha blending
+ - Documentation updates (filling, addobservermulti)
+ - Fix wrong calling of sizer with fixed isbuy=True after refactoring for
+ mixing of buy/sell and order_target_xxx
+
+1.9.42.116
+ - Add tradingcalendar
+ - Add tz support for strategies
+ - Docs updates
+ - Add multi/tradingcalendar samples
+ - Add div/floordiv operations to lines
+ - Return data references in all cerebro methods adding data stream
+
+1.9.41.116
+ - Keep processing orders after create in OandaStore after change to process
+ new messages
+ - Manage CFDs also as cash data in rqtMktData
+
+1.9.40.116
+ - Fix #295 by only managing tf and cp if resample/replay have been specified
+ - Correct expire and cancel in OandaStore
+ - Correct BollingerBands to use the chosen movav for the StdDev calcs
+ - Ensure parameters wit plotinfo and no plotname get a name granted
+
+1.9.39.116
+ - Fix #294 which break plotting by plotting with no indicators/observers
+
+1.9.38.116
+ - Plotting control options for last value in legend and right hand side
+ tag
+ - Documentation improvements
+ - Support numeric timestamps in CSVGenericData
+
+1.9.37.116
+ - Add new samples (OCO, StopTrail/Limit, LRSI, partial-plot, psar,
+ future-spot)
+ - Add Bracket order support
+ - Bracket order for IB and adapted sample
+ - Correct cancel order message reception in OandaStore
+ - Cosmectic changes to quickstart examples
+ - Document bracket, stoptrail/limit, oco, partial-plotting, same axis
+ plotting, future-vs-spot
+
+1.9.36.116
+ - StopTrail/StopTrailLimit/Oco for Interactive Brokers
+ - PR #290 for child OCO orders
+ - Oco and other generic parameters passed transparently from any order
+ generating method (ex: order_target_size) down to buy and sell
+ - Correct pricelimit parameter in ib
+ - Use strategy datetime instead of data0 and ensure a complete header in
+ Positions analyzer
+
+1.9.35.116
+ - Catch limit/stop order creation earlier in Oanda Store
+ - StopTrail/StopTrailLimit orders for backtesting
+
+1.9.34.116
+ - Docs updates
+ - OCO implementation for backtesting
+
+1.9.33.116
+ - Make sure sizer is only used if size is not None (default)
+ - Doc corrections
+ - Improve legend presentation in sameaxis mode
+
+1.9.32.116
+ - Added Calmar, TimeDrawDown and PeriodStats analyzers
+ - Reach data by names as dict or dot notation
+ - Allow one asset to compensate the positions of another
+ - Add more python versions to Travis PR #276
+ - Support plotting datas on same y-axis
+ - Update sample in contrib pair trading PR #273
+ - PR #274 number of tranches to FixedSize Sizer and add FixedSizeTarget
+ - Close #280 exception when get pyfolio analyzer agaist multiple data
+ - Close #277 (inc PR #277) by entering re-calculation of xstart and xend
+ plotting indices
+
+1.9.31.116
+ - Add Indicator HurstExponent (requires numpy)
+ - Allow plotting specific date ranges with start and end named arguments
+ to plot
+ - Address #269 missing last bar backfill_from
+ - Fix typo (#271) in frompackages import for InfluxDB feed
+ - Add OLS_Slope_InterceptN, OLS_BetaN, OLS_TransformationN and Coint
+ - Ensure broker has prices even if tick_xxx is not defined
+
+1.9.30.111
+ - Add LaguerreRSI PR #265
+ - Add LaguerreFilter PR #267
+ - Doc maintenance (also PR #266)
+ - Add ParabolicSAR
+ - Add InfluxDB Data feed (PR #257) and Import Tool (#PR268)
+ - Add auto-pytz code from IBData to generic feeds to allow passing strings
+ Address #262
+ - Add support for packages and frompackages
+ - Finish import of new sizers
+ - Fix #263 - Refresh resample-tickdata to specify timeframe
+ - Store module name and not module in talib autogenerated wrapper class
+ - pyfolio api change note
+
+1.9.29.108
+ - Correct csvgeneric import
+
+1.9.28.108
+ - Set eos time from param.sessionend in csv timeframes
+ - Improve support for timeframe/compression in btrun
+ - Add ApplyN indicator (and base for it and variants BaseApplyN)
+ - Add PercentSizer and AllInSizer
+ - Add DV2 Indicator
+ - Add PercentRank Indicator
+
+1.9.27.105
+ - Patch CST timezone name to CST6CDT
+ - Support automatic argument wrapping as line objects in CrossOver
+ - Initialize attributes before rejection can happen in OandaData
+ - Stop considering clones to decide if live feeds have to wait or not to
+ avoid cpu hogging
+ - Use _mindatas to decide how many from the parent datas to pass if none
+ is specified by the user
+ - Some doc corrections
+
+1.9.26.105
+ - Adapt order_target_value to short cash semantics in broker
+ - Several refinements to resampling to deliver synchronized bars on end of
+ session
+ - Add exceptions and strategy skip exception
+ - IBData - Deactivate code for faster downloads during absence of live data
+ to avoid breaking reconnection code
+ - Allow selective order based skipping of coc
+
+1.9.25.105
+ - Close #244 by giving feeds the chance to finish initialization by
+ themselves, ensuring proper initialization and allowing early data
+ download (merged and refactored PR #245)
+ - Add support for live data detection and dynamic queue check
+ timeouts to avoid pausing on historical traversal when other feeds
+ are live
+ - Add PR #242 DrawDown length observer
+ - Assimilate PR #240 into cash asset
+ - Fixes #239 by providing empty values if the data or indicator has
+ not produced a value yet
+ - New DrawDown Analyzer and refactoring of DrawDown observer
+ - Closes #235 by updating PivotPoint Family to make plotting work under new
+ sync scheme and automate self-coupling
+ - Some usual documentation updates / typo corrections
+ - Minor corrections/improvements
+ - Address #243 by sorting (timeframe, compression) data feeds internally to
+ avoid forcing users to pass smaller timeframes first
+ - Add end-of-session calculation, including adding end-of-session to daily
+ data from IB
+
+
+1.9.24.105
+ - Complete TimeFrameAnalyzerBase with a call to _nextstart and children
+ - Improve 1st comparison point of benchmark
+ - Documentation updates / samples clean-up
+ - IBData feed timezone and backfill gap corrections
+ - Initial support for CFD products (untested) to request BID and not TRADES
+ - Ensure initialization of backfill_from data feeds
+
+1.9.23.105
+ - Benchmark observer will observer after the strategy has reached its
+ minimum period
+ - Refactoring of TimeFrameAnalyzerBase
+ - Ensure NoTimeFrame name is always returned rightly
+ - Documentation updates
+ - btrun will only load data feeds if they can be imported
+
+1.9.22.105
+ - Improve unleveraged value by not unleveraging profit and loss
+ - Doc edits from PR #223, #224
+ - Correct refactoring leftover for backfill_from for IBData and OandaData
+ - Extend btfd sample with logs
+ - Add ZeroDivisionError to SharpeRatio
+ - Add automargin to commission info schemes
+
+1.9.21.105
+ - Closes #230 by closing the pool on completion rather than waiting for
+ garbage collection
+ - Default to show unleveraged value and allow retrieval of leveraged
+ value
+ - Update btfd sample to updated leveraged value
+ - Improve order value reporting with leverage
+ - Correct dataseries TimeFrame name presentation in writers
+ - Doc updates
+
+1.9.20.105
+ - Added pair-trading sample from @remroc: PR #223, #224, #225
+ - Some documentation updates
+ - Leverage support
+ - Closes #227 numfigs type=int in arg parsing
+ - Correct no-plotting of datas
+ - Correct pandasdata integer addressing issue
+ - Correct time comparison when running with runonce=True
+ - Update SessionFiller to more stringent standards in modern versions
+
+1.9.19.105
+ - Add time comparison for single line operations
+ - Correct plotting error calculations with volume and improve data on data
+ - Remove cosmetic comma
+
+1.9.18.105
+ - PR #221 Correct onda candleFormat parameter
+ - Allow data on data plotting and no data plotting
+ - Remove double labeling on indicators
+ - Analyzer LogReturnsRolling
+ - Observer LogReturns
+ - Improved order management of input for validity
+ - Set default end date for online downloads in Yahoo if not set
+ - Gold vs SP500 Sample
+
+1.9.17.105
+ - PR #195 make runstrats iterable to allow callbacks
+ - Fixes #189 by adding callback during optimization
+ - Fixes #205 to avoid errors during unnamed argument usage in strategy
+ - Regression correction for no short-cashing
+
+1.9.16.105:
+ - PR #212 added Vortex indicator
+ - Closed #215 writer opens file in binary mode
+ - Closed #210 missing comma in status definitions lists in feed
+ - PR #203 python3 compatiblity for ib (long)
+ - Added shortcash parameter to broker to control cash increase/decrease
+
+1.9.15.104:
+ - PR #202 to fix import in ibdata
+ - PR #196, #198 - doc updates
+ - PR #199 delegate notifications in Chainer Data Feed
+ - PercentChange indicator request from #192
+ - %B BollingerBands from #190
+ - Check bar time before market type execution #190
+
+1.9.14.102:
+ - Pull Request #187 to improve SQN and test
+ - Update some samples
+ - Refactor new KST - Closes #183
+ - Closes #163 adding interest as commission to correct calculate PNL
+ - Improve SignalStrategy overriden methods to avoid impacting user subclasses
+ - Closes #168 - Fetching open orders
+ - #173 short-circuit calculation sqn in case of no trades
+ - strategy selection sample
+
+1.9.13.102:
+ - Closes #179 Ichimoku indicator
+ - Plotting allows now filling areas and showing the indicator name even with
+ plotlinelabels active
+ - Use _minperiod in linebuffer.qbuffer for maxlen rather than default 1
+ - Closes #169 - Correct DaySteps filter
+ - Add ROC100 indicator
+ - Add KnowSureThing indicator
+
+1.9.12.99:
+ - Improve cheat-on-close to provide exact match price even during replay
+ - Allow offsetting resampling bar set by timeframe/compression units
+
+1.9.11.99:
+ - Separate resampling from replaying for synchronization purposes
+ - Modernize sample to better check #169
+
+1.9.10.99
+ - Further use cases coverage for new synchronizatio method and
+ resample/replay
+ - PR #173 - SharpeRatio returns None if it cannot be calculated
+ - PR #173 - SQN returns 0 (instead of raising exception) if no trades have
+ been made
+ - Cover replay case for cheat-on-close
+ - Extra analyzers in VWR Sample and modernized PivotPoint sample
+ - Reworked of plotting for datas of different length by matching date indexes
+ - Removed old mlen accounting for plotting different timeframes
+ - #172 cover extra unwinding of linebuffer and add extra size to qbuffer
+
+1.9.9.99
+ - Correct RSI_EMA, RSI_SMA subclassing
+ - Add cheat-on-close to the broker
+ - Correct own operation bug directly on lines (was fine on line
+ actions/operations)
+ - Add support for __neg__ operator (-) to lines
+ - Adresses #170 by forcing a bool as return
+ - Extend signal trigger detection to inverse and any values
+ - Support for embedding in a line non-line types
+ - Closes #171. Make safepow the default
+ - Use DataTrades only if several datas are in place
+
+1.9.8.99
+ - Workaround IbPy not converting bytes by passing strings in Python3
+ - safepow parameter for StandardDeviation
+
+1.9.7.99
+ - Closes #156 by adding LinePlotterIndicator
+ - Closes #154 by providing hollow candlesticks
+ - Ensure unique name for analyzers to get all printed out by writers
+ - Fix installation instructions for plotting
+
+1.9.6.99:
+ - Allow defining the datetime format string for the x axis and data points.
+ Closes #148
+ - Rework plotting to account for datas with different lengths and work with
+ auto locators/formatters
+ - Improve signals to handle multiple datas and wrap LineIterators (Indicators)
+ - Use excess returns for the standard deviation in Sharpe Ratio
+
+1.9.5.99
+ - Improve data synchronization behavior
+ - Make new DataTrades synchronize to strategy
+ - Correct TimeFrameAnalyzerBase to synchronize with strategy
+
+1.9.4.99
+ - Add DataTrades Observer to plot the trades of multiple datas independently
+ - Make this observer the default in cerebro (old behavior via oldtrades=True)
+
+1.9.3.99:
+ - copyas method in data feeds to let a clone data be seen differently in the
+ broker
+ - Count trades on strategy basis and not main data basis
+ - Add RQAlpha link
+ - Fixes #153 by closing file descriptors after preloading
+
+1.9.2.99:
+ - Correct plotting for multi strategy approach
+ - Make Crossover plot like any other indicator
+
+1.9.1.99:
+ - Automatic inline plotting if running inside a notebook
+ - Correct new plotting code for Python 3
+
+1.8.14.99:
+ - README Updates
+ - Improvements to generic Store management and VChartfile
+ - Addresses time underflow/overflow in #143
+
+1.8.13.99:
+ - Set annualization factor for days to 252 in SharpeRatio to match the value
+ most used in the literature
+ - Add Returns analyzer
+ - Closes #137 Added VWR (VariabilityWeightedReturn) analyzer
+ - Fixes #141. optreturn must only be applied when optimizing
+ - Correct getting default value for ptfimeframe in pyfolio2 sample. Fixes #142
+
+1.8.12.99:
+ - Rework SharpeRatio, add annualization and add SharpeRatio_A with default
+ annualization
+ - Improve data / results message passing during optimization
+ - Some documentation improvements/corrections
+
+1.8.11.99:
+ - Add rounding control to YahooFinanceCSVData and update docs. Closes #138
+ - Sharpe Ratio external testing sample. Addresses #137
+ - order_target_api, sample and cos. Closes #134
+
+1.8.10.99:
+ - Added Any, All, Reduce, function replacements
+ - Added AnyN, AllN, ReduceN indicators
+ - Aliased Highest -> MaxN, Lowest -> MinN
+ - Added VChartfile Store and Feed improving over existing feed
+ implementing the store pattern and fetching the basepath location
+ from the registry if possible
+ - Some docs improvements/corrections
+ - Add a generic Store to let stores subclass
+ - Add a Chainer, RollOver data feed and sample
+ - Add shortcuts for some subpackages: indicators -> ind, observers -> obs
+ strategies -> strats, commissions -> comms
+ - Add framework for analyzer testing and tests for 2 analyzers: SQN,
+ TimeReturn
+
+1.8.9.96:
+ - Finalize Oanda integration
+ - Allow simulated orders (meant to fetch initial positions from live brokers)
+
+1.8.8.96:
+ - Add support for credit interest rate (#125), with update of docs, sample,
+ support in broker and btrun
+ - urlencode tickers for yahoo downloads (feed and tool)
+
+1.8.7.96:
+ - Added indicators (3): Hull MA, ZeroLag Indicator, Dickson MA
+ - Added control of object cache to cerebro (default deactivated)
+ - Refactored the support for "next" only indicators
+ - Typos and Docs updates (also from pull-requests)
+
+1.8.6.93:
+ - Refactor bt.signals to bt.signal (keeping compatibility for prev uses)
+ - Improve writer to write non-string lists and fetch headers after anylzers
+ - Add base bt.Signal strategy class for easier subclassing
+ - Update btrun to support signals/slippage/flushing, update feeds and minors
+ - Correct writer collections of analyzers parameters
+ - Correct reverse overloaded operations in stage2
+ - Some docs/docstrings corrections
+
+1.8.5.93:
+ - Slippage implementation in broker, documented and with sample
+ - Refactoring/File Reordering of broker and volume fillers
+ - Documentation updates/corrections/cleanup
+ - Merge #120
+
+1.8.4.93:
+ - Filters documentation and reference
+ - Add pinkfish ohl + o filter
+ - Some filter refactoring
+ - README Updates
+
+1.8.3.93:
+ - Refactoring of pyfolio and children analyzers following #116 to try to
+ support future intraday support in *pyfolio*
+ - Allow adding a specific signal strategy subclass to cerebro
+ - Refactor SignalStrategy to ease up subclassing
+
+1.8.2.93:
+ - #106 Oanda Data Feed
+ - Adding _dataname to always be able to identify a data by symbol, including
+ *resampled/replayed*
+ - Address #115 resampling of same ibdata which was losing timezone information
+ in cloning
+ - Display raw datetime information in ibtest. For same data resample topic
+ in #115
+
+1.8.1.93:
+ - Addresses #115 - improvement in ib multiple data handling
+ - Improvements in vcdata multiple data handling
+
+1.8.0.93:
+ - Added signals api
+ - Correct value calculation for shorted stocks
+ - Add a symbolic margin to commissioninfo if not specified
+ - Remove line amonst marker in Trades observers
+
+1.7.2.93:
+ - Added getsize to CommissionInfo API to allow, for example, a sizer to
+ calculate the size of a trade using percentages
+ - Add __btversion__ which is a tuple of ints for easy version comparison
+ - Add macd-settings sample
+
+1.7.1.93:
+ - Pinkfish challange sample
+ - Add stash to feeds to allow filtered output to be resent to filters
+ - Restore deprecated setsizing method in FixedSize sizer for old quickstart
+ guide
+ - Rework quickstart tutorial and samples to use addsizer and deprecate
+ setsizing
+ - Allow BuySell observer to plot above / below high / low for clarity,
+ especially when plotting ohlc/candles bars
+ - Add support for observer orders during replay
+ - Improve Close order execution logic
+ - Fix microsecond precision errors in end of session calculations in order
+ and feed
+ - Docstrings cosmetic changes
+
+1.7.0.93:
+ - Changes to support separate auto-documentation for a branch of an object
+ hierarchy
+ - ta-lib integration: Closes #53
+ - ta-lib documentation
+ - Improve sizers internal interface by having a strategy attribute, which
+ can be used before resorting to the broker
+ - observer and benchmarking documentation update
+
+1.6.4.93:
+ - Reworked and published sizers interface (addresses #104) with changes
+ in cerebro and Strategy
+ - Observers documentation
+ - Refactor timereturn analyzer logic for better readability
+
+1.6.3.93:
+ - Correct lastvalue update in TimeReturn
+ - Closes #111 by annualizing the returns if the rate is not downgraded
+
+1.6.2.93:
+ - Closes #89 by adding benchmarking to TimeReturn and new observers
+ TimeReturn/Benchmark (sample included)
+ - Analyzers can be embedded in observers to share functionality
+ - Added TimeFrame.NoTimeFrame
+ - ibpy imported in readthedocs for IBStore/IBBroker/IBData doc generation
+
+
+1.6.1.93:
+ - Closes #108 - Plotting documentation
+ - Some updates to analyzer docs
+ - Further refactoring/improvements/corrections to the analyzers
+
+1.6.0.93:
+ - Pyfolio integration
+ - Refactoring/reorganization of analyzers
+
+1.5.3.93:
+ - Correct filler implementation in the broker to consider order side for the
+ value returned from a filler
+ - Extend volumefilling sample to cover sell and repetition scenarios
+
+1.5.2.93
+ - Added support for volume filling strategies in the broker
+ - Added 3 volume fillers: FixedSize, FixedBarPerc, BarPointPerc
+ - Added broker and fillers to the docs
+ - Added TimeReturn to the Analyzers reference
+ - Added DaySteps filter and sample to downsample a day bar in open + rest
+
+1.5.1.93
+ - UltimateOscillator added. Requested with ticket #103
+ - VisualChart Live Data Feed/Trading integration
+ - Add YahooFinanceData (online) to formats supported by btrun
+
+1.5.0.92
+ - InteractiveBroker Live Data Feed/Broker
+ - Rework of many internals to support live feeds
+ - DateTime Management (timezones) support added
+ - Extra Rework of Resampler/Replayer to support live feeds and earliest
+ possible bar delivery
+
+1.3.3.92
+ - Fixes #99 by conditionally importing ib modules
+
+1.3.2.92
+ - safediv added to Stochastic from Pull Request #97
+ - Initial integration fo ib feed/broker. Can operate but it is not yet fully
+ ocmplete
+ - Comprehensive ib testing sample
+ - Added "store" and "data" notifications to cerebro and strategy for the
+ integration of live feeds
+ - Internal datetime clarifications
+ - Fixes #94 removing leftover decode('utf-8') after removing 'b' from 'rb'
+ when opening csv files
+ - Fix bug in strategy.close and add plimit support to it
+ - Some documentation updates
+
+1.3.1.92
+ - Memory saving schemes (exactbars parameter to cerebro) full implemented
+ - Add mixing-timeframes to the docs
+ - Add memory-savings to the docs
+ - Cosmetic corrections to data-resampling sample
+
+1.3.0.92
+ - Address #84 #86 by implemting a LinesCoupler lines object which fills longer
+ timeframe lines with shorter timeframes
+ - Add sample for LinesCoupler
+ - New links for readthedocs io domain
+ - Detection Improvement for objects supported by writers
+
+1.2.9.92
+ - Add 3 new indicators (from #81): PivotPoint, FibonacciPivotPoint,
+ DemarkPivotPoint
+ - Add new function CmpEx
+ - Change plotinit to the intial stages of plotting
+ - Add plotinfo information to any LineSeries objects
+ - Implement LineActions Cache
+ - Implement Indicator Cache
+ - Cover resampling across midnight border #81
+ - Correct error in docs (concepts) #82
+ - Addresses #82 by only advancing indicators in runonce mode if the clock
+ has overtaken it
+ - Addresses #82 by having LinesOperations define and internal clock which
+ may not be the owner
+
+1.2.8.88
+ - WeekDaysFiller sample for #76
+ - Implement new memory saving schemes. Addresses #74
+ - Additions/Refactoring to the intenal api offered to filters and internal
+ utils objects and removal of leftover prints
+ - Refactoring of replay/resample filters
+ - Some testing refactoring
+ - Support for cross-plotting across datas of different timeframes
+ - PivotPoint sample for #81
+
+1.2.7.88
+ - Correct resampling/replaying behavior for calculating the delivery with
+ configured compression fator for timeframes ticks and days or larger.
+ Addresses #47, #77, #78
+ - Adapt resample/replay tests to improved resampling/replaying code which
+ delivers the bar 1 tick earlier
+ - Sample for bidask data to OHLC. Closes #78
+
+1.2.6.88
+ - Fix broken data-multitimeframe sample
+ - Address #72 by improving _getsizing method which not also takes data as
+ parameter
+ - Fixes #77 by correctly calculating when the current session ends for the
+ last bar (when next session data is already in)
+
+1.2.5.88
+ - Fixes #67 by having the Buy Sell Observer be displayed for all datas in the
+ system
+ - Improve support of live data feed resampling/replaying. Addresses comments
+ in #69 and #44
+ - Support safe division by zero RSI calculations. Closes #68
+ - Fixes #71. Single Lines (LineOperations in this case) don't get added to
+ the indicator mix for writers
+
+1.2.4.88
+ - Improved detection in cerebro.resampledata of existing datas before cloning
+ - Added detection in cerebro.replaydata of existing datas before cloning
+
+1.2.3.88:
+ - Add samples following 'Close' order corrections/improvements for
+ testing. Addresses #62
+ - Improve 'Close' execution support and correct conflicting behavior
+ with method checksubmit. Addresses #62
+ - Correct method close of strategy by using kwargs which was not
+ taking into account the existence of a plimit parameter in methods
+ buy/sell and would pass the execution type as plimit
+ - PandasData extension sample and data supporting discussion in
+ ticket #65
+ - If datas have been passed to cerebro, ensure cerebro has a
+ strategy to run against (which can get indicators, analyzers,
+ observers and other through the appropriate interface)
+ - Addresses #64 by auto-cloning datas in resampledata if the data
+ was already in the system
+ - Return a list in case cerebro.run is not run due to missing datas
+
+1.2.2.88:
+ - Update of bidask sample
+ - SessionFiller correction to avoid moving the evaluated bar too early into
+ the stack and avoid the previous session to fill into new session
+
+1.2.1.88:
+ - Remove old DataReplayer/DataResampler and cerebro resampledata_old and
+ replaydata_old which were using them
+ - Adapt docs and test to remove DataReplayer/DataResampler and document the
+ newer interfaces
+ - Add ``linesoverride`` parameter to enable redefining the lines of an object
+ at any stage. Allows removing OHLC default support
+ - Generalized GenericCSV to use the defined line aliases
+ - Generalized tick assignment to use the defined line aliases
+
+1.1.27.88
+ - Closes #61 by checking datamaster against None to prevent operator
+ overloading to evaluate the object as False because line 0, contains a value
+ of 0 at index 0
+
+1.1.26.88
+ - Closes #49 by setting the matplotlib backend to "tkagg" to avoid using other
+ non-tested backends
+ - io.StringIO instead of internally imported one from py3
+ - CSVDataBase unicode/bytes unification and also for YahooFinanceData feed
+ - yahoodownlaod tool bytes/unicode clarification and urlopen bug correction
+
+1.1.25.88
+ - Fixes #55 and improves management of CSV subclasses opening a file from
+ other sources
+ - Sample which tests yahoo online downloading
+
+1.1.24.88
+ - Fixes #51 - a trade may reopen a position but close a trade if overlapping
+ (different tradeid) trades are active
+ - Address Pull Request #52 by adding Py 2/3 MAXINT compatible "constant" which
+ is imported into TradeAnalyzer and used instead of sys.maxint
+ - Fixes #50 by correcting open/popen typo in StopLimit order
+
+1.1.23.88
+ - Fixes #46 by adding a default of total.total = 0 to indicate that no trades
+ were executed and therefore no statistics
+ - Fixes #46 by adding a default of total.total = 0 to indicate that no trades
+ were executed and therefore no statistics
+ - CalendarDays filter implementation and added sample
+ - Removed gitter from README
+
+1.1.22.88
+ - Filters moved to submodule filters
+ - Full docstring update for CommInfoBase
+ - Small improvements to internal AutoDict/AutoOrdereDict
+ - Implementation of Trade history log (#40)
+ - Added __bool__, __nonzero__ to Position for position testing
+ - Orders support miscellaneous information from end-users (#42)
+ - Trades get unique identifier and datetime for opening/closing time (#42, #43)
+ - Corrected typo in iteritems (#38)
+
+1.1.21.88
+ - Addition of keys, values, items to py2/3 compatibility layer
+ - Add getdatanames to strategy
+ - Strategy.buy/sell/close take data or name as key for operation
+ - Close #37 pannotated typo in "atclose" order type in broker
+ - Close #35 adding getpositionbyname, getpositionsbyname, getpositions and the
+ associated properties without "get"
+
+1.1.20.88
+ - #33 correction of typo added during correction of #33
+ - Added getdatabyname and string_types check in buy/sell/close to retrieve
+ datas in Strategy
+
+1.1.19.88
+ - Fixes #33 by properly adjusting the cash for existing open futures (added
+ long comment to explain the logic)
+ - TimeReturn analyzer added. Can calculate returns for all timeframes
+ - SharpeRatio updated to use TimeReturn including automatic adjustment of
+ the (annual) riskfreerate for timeframes days, weeks, months. It can still
+ use the legacy AnnualReturn analyzer
+ - CommInfoBase added as root of all commission schemes to make commission
+ schemes more flexible by not tying margin to commission type deduction
+ - Added 4 CommInfoBase derived classes with standard commission schemes
+ - Extended broker.setcommission call with parameters to work with the new
+ CommInfoBase
+ - Implemented the legacy CommissionInfo as a subclass of CommInfoBase, fully
+ retaining the existing behavior
+ - Some in-code documentation updates
+
+1.1.18.88
+ - Fixes #31 - Packaging issue under Python 3.x introduced in 1.1.17.88
+
+1.1.17.88
+ - #29 extend commissions to support additional schemes
+ - #27 convert iterable in pandas datasource to list before checking len
+ - Packaging reordering to suppor introduction of dependencies
+
+1.1.16.88
+ - Correct missing super in start some Data Feeds. Closes #27
+
+1.1.15.88
+ - DivByZero function included to perform division without triggering
+ exceptions
+ - SessionFiller completed as data filter
+ - Corrections to WriterStringIO
+ - Final renaming of data filter API
+ - Reset of operators to stage1 to be able to run over same data again withoug
+ re-init
+ - Update data-replay/resample samples to use new filter API
+ - Rework of testcaes to use new filter API and run all combinations of
+ runonce/preload
+
+1.1.14.88
+ - Comminfo passed down to trades for multitrade profit and loss calculation
+ for issue #226
+ - Addition of filters/processors (naming not final) to data sources
+ - (Re)Implementation of Resampling/Replaying as Processors - Old
+ Implementation still available
+ - Changed X axis formatting for Weeks/Months/Years
+ - DataFilter/DataFiller implemented as DataSources and also as
+ Filters/Processors
+ - DataFilter/DataFiller sample
+ - Time management improvement to address precision issues when isolating time
+ from coded datetime with new functions in LineBuffer
+
+1.1.13.88
+ - Further refactoring of resampling (keeping previous parameter names
+ compatible) killing corner case for last bar still having the sub-bar
+ timestamp - Close #25
+ - Added sessionstart parameter to DataBase to complement sessionend
+ - Some module import refactoring to refer to main module
+ - Added DataFilter class
+ - Close #24 by enabling writer to handle Analyzer dictionaries which carry
+ non-string as keys
+ - Correct/enhance some of the samples
+
+1.1.12.88:
+ - Refactoring of minute/seconds/microseconds bar compression scheme to allow
+ time adjusted bars
+ - Added tick_last to datas - alias of tick_close
+ - resampledata and replaydata methods added to cerebro
+ - Added tick_last to datas - alias of tick_close
+ - Added multitrade support and sample
+ - Added helper time2num and num2time to complement date2num and num2date
+ - RelativeVolumeByBar Sample
+ - Corrected fromdate being set at the end of session
+ - Refactor some data feeds to use iterators and discard itertools.count
+ - Add dm/tm methods to LineBuffer to get numeric parts (int/fraction) of
+ numeric datetime representation
+ - Added sample datas with volume
+ - Corrected _orlogic for "Or" function and bool'ized And and Or
+ - Refactored starting points in running strategies
+ - Added queue/Queue to py3 compatibility
+ - Further rework of minute (and sub-minute) Data Resampling/Replaying
+ - Added tia/visualize-wealth/QSTK/TradingWithPython to README
+ - Added tick_last to set of tick variables (open/high/low/close)
+ - Added resampledata and replaydata to cerebro to avoid having to instantiate
+ DataReplayer/DataResampler
+
+1.1.11.88:
+ - Added TimeFrame for Ticks, MicroSeconds and Seconds
+ - Plot support for new Ticks, MicroSeconds and Seconds TimeFrames
+ - Removed flushing of sys.stdout on Win32 platforms to avoid interactions with
+ ipython (fixes #20)
+ - Reworked Resampling for TimeFrame Minutes (closes #19) and added Resampling
+ for Seconds, MicroSeconds and TickData
+ - Sample of plot-on-same-axis added
+ - Added pypy/pypy3 tests to Travis and added to to documentation
+ - Added sample which resamples tickdata
+
+1.1.10.88:
+ - Small documentation updates
+ - Indicators can be plotted on/over other indicators
+ - Sample of plot-on-same-axis added
+
+1.1.9.88:
+ - Doc/Readme additions for 3.5
+ - Removed dangling py3 in writer from six transition
+ - Added writer testcase
+
+1.1.8.88:
+ - Added Python 3.5 to Travis CI
+ - Removed 2.6 and added 3.5 from setup.py
+ - Refactored bt-run.py to internal function and added btrun executable to
+ installation
+ - Added cerebro parameters and writers support to btrun
+ - Fixed duplicate writers next call in "next" mode
+ - Improved LineSeries objects name printing in WriterFile and changed "csv"
+ to False
+ - Correct sign of "closed" if a long/short position if a position is reduced:
+ closes #18
+ - Removed six dependency through small internal Py2/Py3 module and updated
+ docs and setup.py
+ - Removed nose-exclude from test requirements
+ - Implement current order status in broker
+ - 0 can be passed as number of maxcpus for optimization (same as None)
+ - SQN and TradeAnalyzer documented
+
+1.1.7.88:
+ - Drop Python 2.6 support (also removing internal OrderedDict) after adding
+ nexbars which needs collections.deque with maxlen (>= 2.7)
+ - First Writer Implemenatation for CSV Output
+ - TradeAnalyzer implementation
+ - SystemQualityNumber (SQN) implementation
+
+1.1.6.88:
+ - Broker reworked to check margin/cost limits on order submission/execution
+ - Broker fix to avoid having the wrong sign on short "Trades"
+ - Rework Trades commission deduction
+ - Additions to Position, Order to support broker new checks
+ - Add missing analyzers loop call to "_next"
+ - Observers loop handled in Strategy now (only object holding them)
+ - Observers reachable in strategy via new alias "observers" (in addition to
+ "stats")
+ - Cosmetic changes to analyer pprint
+ - Correction to Position.__len__ to work with negative sizes (short positions)
+ - Crossover defaults to true for plotting just like any other indicator
+ - "Exactbars" mode added which limits the amounts of bars to those needed by
+ each indicator. Disables runonce, preloading and plotting. It uses a
+ ringbuffer method
+ - Documentation/Samples directory (and hence doc fixes) rework
+ - Documentationn rework for direct execution of scripts against sample datas
+ #16
+ - Multiple Data Strategy added as Sample
+ - Automatic import of flushfile
+ - Added LineForward as complement to LineDelay
+ - Correct double call to Analyzer._next
+ - Cover case in which a line from a data is directly assigned, avoiding the
+ binding to kick-in too early
+ - Correction in Accum indicator (typo line -> lines) and super addition to
+ WilliamsAD
+
+1.1.5.88:
+ - Added reversion to stage1 operator behavior when the strategy backtesting is
+ over
+ - Refactoring of minimum period calculation in LineIterator
+ - Refactoring of strategy minimum period calculation to allow indicator
+ injection
+ - Cerebro support for addition of indictors to inject into strategies
+ - bt-run rework to support multiple strategies (o none), observers, indicators
+ and analyzers with individual kwargs per entry
+ - bt-run rework of plotting to single argument with kwargs
+ - Corrected ill behavior when separatin multiple line objects passed as single
+ argument to an indicator which lead to multi-owner management for the 2nd
+ line and posterior
+ - Analyzer defines stubs for print pprint and get_analysis
+ - Addion of LineDelay opposite: LineForward to support positive (look/write
+ backwards) arguments in the line(period) notation
+ - Added datas and data alias in Analyzers
+
+1.1.4.88:
+ - Thorough documentation rework
+ - Corner case for multiple timeframe datas when the larger timeframe doesn't
+ contribute to minimum period with indicators
+ - Correction of data resampling which affected same timeframe (which is valid
+ because compression can be different)
+ - Built-In Strategies auto-documentation added
+ - Blaze data support and Pandas Datafeed with only numeric indices support
+ - bt-run accepts kwargs per loaded object (strategy, observer, analyzer) and
+ can load the default Strategy object if none is specified
+
+1.1.3.88:
+ - Automation bt-run.py script added
+ - Pandas Dataframe support
+ - Improvements to OrderedDict imports for Python 2.6 compatibility
+ - Default reference price for orders is bar closing price if not set like in
+ Market orders
+ - Analyzers added: non-lines objects offering in-run/post-run statistics
+ - Analyzers added: SharpeRatio and AnnualReturn
+ - Improved Observers which now support (like Indicators/Strategies)
+ prenext/nextstart
+ - Simplified cerebro return values for run: single list if not optimizing and
+ list of lists if optimizing
+ - Order Execution Sample script added
+ - SMA_CrosssOver Strategy included in submodule backtrader.strategies
+
+1.1.2.88:
+ - Generic Data Feed Development Documentation
+ - Observers Documentation
+ - Support for last tick values in data feeds (data.tick_xxx with xxx being,
+ open, high, low, close, volume, openinterest. Unless a real-time feed is
+ used or a replay is done, the values will be those of the regular bar
+ - Replayer support filling up the last used tick_xxx values
+ - Orders have new attribute with the next end of session after the order
+ - Broker uses the tick prices for order execution supporting with it the same
+ logic in replay and regular mode
+ - Fixes #11: On Market Close Orders new logic including end of session check
+ support
+ - VisualChart binary file direct support
+
+1.1.1.88:
+ - Quickstart documentation update to use Trades
+ - Issue #3 setcash before the run corrected
+ - Addition of GenericCSVData (following #6)
+ - Documentation on DataFeeds
+ - SierraChartCSVData added
+ - Documentation on DataFeed development
+ - #8 to address valid for order limited in time
+ - Improved to order creation (via buy/sell) from the strategy
+ - Corrected plimit typo in order execution
+ - Corrected redefinition of enum for order execution types Stop/StopLimit
+ - Order cloning and unique id per order to allow same order notified
+ twice in same interval with different events
+ - Added missing notification for order.accept
+ - Broker refactoring on BuyOrder detection and price naming for limit
+ - Documentation on order creation and execution
+
+1.1.0.88:
+ - Added Gitter stuff to README.rst
+ - Documentation updates
+ - Moved operations calculations to strategy with extra P&L information from
+ the broker (with an updated CommissionInfo profitandloss method) and
+ simplified Operations observer along the way
+ - Removal of the analyzer paradigm, refactoring the introduction of observers,
+ which now can be done through Cerebro to make them really usable as
+ statistics generators. Default observers get added from Cerebro unless
+ explicitly indicatoed not to do so
+ - notify renamed to notify_order (patch support included)
+ - notify_operation renamed to notify_trade
+ - All "Operation" references changed to "Trade"
+ - Minor version bump due to the "Operation" and "Observer" refactoring
+ - Addition of a drawdown observer
+
+1.0.10.88:
+ - Further corrections for more "unpickable" cases
+
+1.0.9.88:
+ - Multicore support for optimization
+ - Corrected quickstart samples to change Yahoo "reversed" to "reverse" and
+ change the value from True to False
+ - Changes needed to support pickling: adding dynamic classes to modules,
+ assigning unique names to dynamic classes, not keeping instance methods in
+ variables and removing lambda definitions for functions defined at module
+ level
+ - Changes to testcommon and test_strategy_optimized to avoid nosetests errors
+ with multiprocessing
+
+1.0.8.88:
+ - Correction to yahoodownload from landscape.io check when exception is raised
+ - alias plotname assignment done before the alias variable is overwritten to
+ avoid plotname from just being the 2nd letter of the alias
+ - Added incminperiod to increase minperiods with non further calculations
+ - Notation relaxation: indicators may not indicate on which data they operate
+ and the data of the owner will be used automatically
+ - zlema now calles super on init
+ - Cosmetic corrections to moving averages to not use aliased names
+ - Corner minimum period calculation case covered in
+ ExponentialSmoothingDynamic in which a passed line as a parameter is not being
+ considered in any calculation because there is no line assignment in the
+ indicator
+ - Corrections to FeedBase to avoid passing "dataname" twice
+ - Added a crosshairs cursor to the charts using modified MultiCursor from
+ matplotlib (submitted to Matplotlib)
+ - Moving Average Refactoring into separated files
+ - Indicators (88): Trix/TrixSignal (w doc/test)
+
+1.0.7.86
+ - Import Indicator and functions into the indicators package to enable
+ indicators to do a "from ." import
+ - Improvements to class alias definition
+ - Indicators (74): basicops receives Average, WeightedAverage, ExpSmoothing,
+ ExpSmoothingDynamic
+ - Indicator (75): ZLEMA with tests and documentation
+ - Refactored MovingAverage placeholder and MovingAverages to use basic
+ operations and autoregister in the placeholder
+ - Refactored DEMA, TEMA, ZLEMA to subclasses of MovingAverageBase for
+ autoregistrattion
+ - Refactored envelope to automatically create envelopes from all
+ auto-registered MovingAverages
+ - Refactored oscillator to automatically create envelopes from all
+ auto-registered MovingAverages
+ - Indicators (77): ZLEMAEnvelope, ZLEMAOscillator added
+ - Indicators (79): TrueLow, TrueHigh added and TrueRange refactored to use them
+ - Indicators (81): UpDayBool, DownDayBool as specialized versions of UpDay and
+ DownDay
+ - Refactored all indicators to do a relative "." import for Indicator and
+ functions
+ - Removed docstring code from LineSeries to move it to a sphinx extension
+ - Added sphinx etension to automate documentation of indicators
+ - Removed previous indicator documentation and added "indautoref" own
+ directive for autodocumentation
+ - indicators autoregister with Indicator (for things like autodocumentation)
+ - Avoid automatically generated Envelope/Oscillator from MovingAverages to
+ register to avoid "EnvelopeOscillator" subclasses
+ - Indicators receiving only 1 data get the 2nd and later lines as extras (use
+ case: a crossover uses line 0 and 1 automatically)
+ - Indicators (85): PriceOscillator, PercentagePriceOscillator,
+ PercentagePriceOscillatorShort, PrettyGoodOscillator added
+ - Indicators (86) - Williams Accumulation/Distribution (WilliamsAD) added
+
+1.0.6.70
+ - Correction of bug which prevented lines in different indicators to have the
+ same name and different index at the same hierarchy level
+ - Added AroonUpDown, AroonOscillator, AroonUp, AroonDown,
+ AroonUpDownOscillator (with tests and docs)
+ - Added basic indicators FindFirstIndex, FindFirstIndexHighest,
+ FindFirstIndexLowest (with test and docs)
+ - Added basic indicators FindLastIndex, FindLastIndexHighest,
+ FindLastIndexLowest (with test and docs)
+ - Documented OperationN (so anyone can subclass it if wished)
+ - Removed old MaxN and MinN (same as Highest and Lowest)
+ - Made RSI_SMA the class and RSI_Cutler the alias
+ - Added support in plot and lineiterator to put plot specific code (like
+ dynamically setting plothlines) in a separate method to fully separate
+ indicator logic from any plotting logic
+ - Fully specified Python versions supported in setup.py and some PEP8 changes
+ - Changed test case generation string printing to simplify operations (Python
+ 3.2 doesn't support 'u')
+ - Existing indicators updated to use new plot/indicator code logic separation
+ - Improvements to envelope object hierarchy with method to prepare periods
+ - Changed (previously unused) behavior of assignment to lines[x],
+ allowing establishing line bindings without knowing the alias
+ - Subclass OperationN from new PeriodN to allow for subclasses of
+ basic PeriodN with no need to define "func"
+ - LineSeries objects "lines" can be mixed with objects holding "lines"
+ attributes
+ - MetaParams objects can be mixed with other objects containing "params"
+ - MetaLineSeries support for alias definition and autodocumentation of alias,
+ lines, parameters, plotinfo and plotlines
+ - Correction to AutoInfoClass._getdefaults to correctly return a list under
+ Py3
+ - Refactored Moving Averages to be "formulated" objects rather than next/once
+ based to allow for easy mixin/subclassing
+ - Refactored and simplified envelope indicators
+ - Refactored indicators to use alias and semi-autodocumentation facilities
+ from LineSeries
+ - Indicators (60): DEMA, TEMA (with tests and docs)
+ - Indicators (62): DEMAEnvelope, TEMAEnvelope (with tests and docs)
+ - Indicators (70): Oscillator, SMAOsc, EMAOsc, SMMAOsc, WMAOsc, DEMAOsc and
+ TEMAOsc (with testcases and docs) added (MixIn also documented)
+ - Testcase for Envelope added
+ - Plot bug correccted which could prevent indicators (on same plot as data) on
+ indicators from being plotted
+ - Plot support for plotlines properties to be specified as lines
+
+1.0.5.47
+ - CCI Plotting labels improved
+ - WilliamsR plotname/plotlines names improved
+ - Stochastic plotlines names improved
+ - Momentum plotting labels improved
+ - DirectionalMovement plotting labels improved
+ - XXXDeviations plotting labels improved
+ - Changes (__hash__ in lineroot and list(xxx.values) when plotting) for Python
+ 3.4 compatibility
+ - test_strategy_optimized import xrange from six for Python 3 and travis.yml
+ updated to runn with Python 3.4 too
+ - OrderedDict recipe added for Python 2.6 compatibility
+ - Continuous integration check under Travis added for 2.6/3.2/3.3
+ - Updated Readme and docs about Python compatibility
+
+1.0.4.47
+ - Tests for strategy optimized/not optimized added
+ - Cosmetic change to "triggered" parameter initialization in StopLimitOrders
+ - Test added for "Operation"
+ - Test for "Position"
+ - All indicators changed to used absolute imports for clarity and possible
+ independence
+ - Added indicator MeanDeviation (and doc)
+ - Added indicator CommodityChannelIndex (CCI) (docs and test)
+ - Reordered StdDeviation/MeanDeviation into own module and doc sub-section
+ - Plot support for lines having a name different than the class alias (ex:
+ plusDI can be plotted as +DI)
+ - Update docs badge link to project, add direct link to indicators in docs and
+ clarify installation from sources with header
+ - Refactoring of UpDays/DownDays to UpDay/DownDay for RSI
+ - DirectionalMove Indicators (+tests/docs): DI, +DI, -DI, ADX, ADXR, DMI, DM
+
+1.0.3.36
+ - Wikipedia link for DetrendedPriceOscillator
+ - Renaming of Stochastic and Williams lines to include "perc" (originally %)
+ - Removal of specific plotnames in MovingAverages
+ - Williams renamed to WilliamsR for accuracy and line renamed to percR
+ - Stochastic lines renamed to percK and percD from kperc and dperc for
+ accuracy
+ - StochasticFull added (3 lines)
+ - CrossOver, CrossUp, CrossDown indicators and documentation
+ - Correct broker usage in "close" operation
+ - Operations observer plotting style changed to "full"
+ - BuySell observer plotting style changed to full and buy color changed to
+ lime for visibility
+ - Broker correction of initial commission assigment. Introduced error when
+ adding support for optimization
+ - Added indicators: Envelope, SMAEnvelope, EMAEnvelope, SMMAEnvelope,
+ WMAEnvelope, KAMAEnvelope (tests and docs included)
+ - Corrected label plotting when a LineSeries object is passed as label
+ - Documentation and test for CommissionInfo
+
+1.0.2.26
+ - Correction to minperiod calculation to correctly calculate and take into
+ account indicator on indicator/single lines minperiods together with
+ multi-timeframe datas
+ - Extra plotting defaults to lineiterator to simplify plotting code
+ - Added plotforce to force plotting of an indicator which relies on
+ non-plotted/plottable data/clock sources
+ - Plotting support for indicator on indicator respecting above/below order
+ - Support plotting indicators which don't have a data/indicator clock by
+ looking up the chain
+ - Add badges' alternative test and add a badge for the documentation
+ - KAMA sets plotname to override inherited one from SimpleMovingAverage
+ - Williams %R indicator and test
+ - Momentum, RateOfChange, MomentumOscillator and tests
+
+1.0.1.22
+ - Reordering and addition of sample datas
+ - Addition of samples limited to 2014 and 2006
+ - Independent Yahoo Online Download Tool
+ - TrueRange formula improvement
+ - Changed LineSeries "array" access to property
+ - data_0 references changed to more generic data
+ - Added AdaptiveMovingAverage
+ - AdaptiveMovingAverage added to the docs
+ - YahooCSV "reversed" parameter changed to reverse (and inverted default to
+ False
+ - Changes to make online downloads Py3 compatible
+ - Multi-Timeframe datas which are exhausted will return empty bars
+ - Improvements in VChartCSVData for name and timeframe recognition
+ - Added own simple csv format for sample
+ - Reordering/Addition of data samples
+ - Addition of nosetest testcases covering indicators, data multi timeframe
+ and resampling
+ - Travis-ci integration
+ - Extra minperiod check in LineIterator postinit hook to account for
+ indicators with calculations in __init__ not applied directly to line
+ assignments
+
+1.0.0.21
+ - First tagged and documented release
diff --git a/backtrader/source/contrib/__init__.py b/backtrader/source/contrib/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/contrib/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/contrib/datas/daily-KO.csv b/backtrader/source/contrib/datas/daily-KO.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f3db1cef19e97daeaf128b28cff362fcbf4a3268
--- /dev/null
+++ b/backtrader/source/contrib/datas/daily-KO.csv
@@ -0,0 +1,357 @@
+Date,Open,High,Low,Close,Volume,Adj Close
+1997-01-02,52.5,52.5,51.125,51.875,7161800,16.206907
+1997-01-03,52.25,53.375,52.25,53.125,5312000,16.597435
+1997-01-06,53.125,53.625,52.25,52.625,6259600,16.441224
+1997-01-07,52.625,54.375,51.875,54.375,7325400,16.987963
+1997-01-08,54.375,54.5,53.125,53.375,5712000,16.675541
+1997-01-09,53.625,54.375,53.625,53.875,5715000,16.831752
+1997-01-10,53.875,54.125,52.625,54.125,6061600,16.909857
+1997-01-13,54.125,54.5,53.625,54.0,4327400,16.870804
+1997-01-14,54.5,55.75,54.5,55.5,7006000,17.339438
+1997-01-15,55.5,57.5,55.0,57.0,9699000,17.808071
+1997-01-16,57.0,57.875,56.625,57.625,6928200,18.003335
+1997-01-17,57.625,59.125,57.5,58.75,11371200,18.35481
+1997-01-20,58.75,59.875,58.75,58.75,7465600,18.35481
+1997-01-21,58.75,60.25,58.25,59.625,10445800,18.62818
+1997-01-22,59.625,59.75,58.875,59.375,6367200,18.550074
+1997-01-23,59.375,59.375,57.375,57.5,6414200,17.964283
+1997-01-24,57.5,57.75,56.125,57.125,10216000,17.847124
+1997-01-27,56.875,56.875,56.0,56.375,6329200,17.612807
+1997-01-28,56.375,57.125,55.0,55.5,8533400,17.339438
+1997-01-29,55.625,56.5,55.625,56.5,7654800,17.65186
+1997-01-30,56.625,57.5,56.625,57.375,5516800,17.92523
+1997-01-31,57.375,58.5,57.125,57.875,8654800,18.081441
+1997-02-03,57.875,59.5,57.75,59.5,7693400,18.589127
+1997-02-04,59.5,59.625,58.75,59.375,7997800,18.550074
+1997-02-05,59.375,59.875,57.875,58.25,7809800,18.198599
+1997-02-06,58.25,58.5,57.625,57.75,6090800,18.042388
+1997-02-07,57.75,58.375,57.0,58.25,6966000,18.198599
+1997-02-10,58.25,59.625,58.25,58.25,4787000,18.198599
+1997-02-11,58.25,59.25,58.25,59.25,4324600,18.511022
+1997-02-12,59.25,60.25,59.25,60.25,7335800,18.823444
+1997-02-13,60.25,61.0,60.0,61.0,7387800,19.057761
+1997-02-14,61.0,61.0,60.25,60.625,5933000,18.940602
+1997-02-18,60.625,61.5,60.5,61.5,5406800,19.213972
+1997-02-19,61.5,62.25,61.25,62.0,5995200,19.370183
+1997-02-20,61.875,61.875,61.125,61.25,5168600,19.135866
+1997-02-21,61.25,62.25,61.125,62.0,8153200,19.370183
+1997-02-24,62.0,63.0,61.5,62.875,6032000,19.643552
+1997-02-25,62.875,63.25,62.125,62.625,5326600,19.565447
+1997-02-26,62.5,62.5,60.5,61.0,7813600,19.057761
+1997-02-27,61.25,62.125,61.25,61.625,6025400,19.253025
+1997-02-28,61.625,61.75,60.625,61.0,5767400,19.057761
+1997-03-03,60.625,60.625,60.0,60.375,5929600,18.862497
+1997-03-04,60.375,60.875,59.25,59.25,7598400,18.511022
+1997-03-05,59.25,60.375,59.0,60.25,7617000,18.823444
+1997-03-06,60.625,61.375,60.625,60.875,10409400,19.018708
+1997-03-07,60.875,61.125,60.5,60.5,4057000,18.901549
+1997-03-10,60.5,61.25,60.375,61.125,6053600,19.096813
+1997-03-11,61.375,62.25,61.375,62.0,6334000,19.370183
+1997-03-12,61.875,61.875,60.75,61.0,5602800,19.100891
+1997-03-13,60.5,60.5,59.75,59.875,8282200,18.748621
+1997-03-14,59.875,60.125,59.25,59.5,6156600,18.631197
+1997-03-17,59.5,60.25,58.75,60.25,5342800,18.866044
+1997-03-18,60.25,60.625,59.875,60.375,5711800,18.905185
+1997-03-19,60.375,60.5,59.125,59.625,6087200,18.670338
+1997-03-20,59.625,59.75,58.625,59.0,4601200,18.474633
+1997-03-21,59.25,60.25,59.25,60.0,9848000,18.787762
+1997-03-24,60.0,60.125,58.875,59.75,6487000,18.70948
+1997-03-25,59.75,60.375,59.5,59.5,6652000,18.631197
+1997-03-26,59.375,59.375,58.125,58.625,7335200,18.357209
+1997-03-27,58.625,59.0,56.625,57.375,9268200,17.965797
+1997-03-31,56.875,56.875,55.25,55.75,13222800,17.456962
+1997-04-01,55.75,56.625,55.125,56.125,10285200,17.574386
+1997-04-02,56.125,56.75,55.5,55.75,5577000,17.456962
+1997-04-03,55.75,55.875,55.125,55.375,6560000,17.339539
+1997-04-04,55.375,57.375,55.125,57.375,6555400,17.965797
+1997-04-07,57.375,57.625,56.375,56.375,4746800,17.652668
+1997-04-08,56.375,57.0,55.625,56.75,4562400,17.770091
+1997-04-09,56.75,57.625,56.5,57.625,4871200,18.04408
+1997-04-10,57.625,57.75,57.0,57.0,3512200,17.848374
+1997-04-11,56.5,56.5,52.75,53.75,9281800,16.830703
+1997-04-14,54.25,55.875,54.25,55.625,9076800,17.417821
+1997-04-15,56.5,58.25,56.5,58.0,9081200,18.161503
+1997-04-16,58.0,59.0,57.75,58.75,7066000,18.39635
+1997-04-17,58.75,59.375,58.375,58.5,6547600,18.318068
+1997-04-18,58.5,59.875,58.5,59.625,7851400,18.670338
+1997-04-21,59.625,60.0,58.5,58.625,6825800,18.357209
+1997-04-22,59.0,61.875,59.0,61.875,10975200,19.374879
+1997-04-23,61.875,61.875,59.875,60.25,7897400,18.866044
+1997-04-24,60.25,61.0,59.75,60.0,4965000,18.787762
+1997-04-25,60.0,60.125,59.0,59.125,3983000,18.513774
+1997-04-28,59.125,61.125,58.875,61.125,4662200,19.140032
+1997-04-29,61.5,62.75,61.5,62.625,8004600,19.609727
+1997-04-30,62.625,63.75,62.25,63.625,8171000,19.922856
+1997-05-01,63.125,63.125,62.125,62.125,6145400,19.453162
+1997-05-02,62.375,64.25,62.375,64.0,5663200,20.040279
+1997-05-05,64.0,66.0,64.0,66.0,7260200,20.666538
+1997-05-06,66.0,67.125,65.625,66.5,10744400,20.823103
+1997-05-07,66.5,66.5,65.25,65.375,6473600,20.470832
+1997-05-08,65.375,66.125,64.625,64.625,8315800,20.235985
+1997-05-09,64.625,65.625,64.25,65.375,6832400,20.470832
+1997-05-12,65.375,66.75,65.375,66.5,5201600,20.823103
+1997-05-13,66.5,66.75,65.625,66.5,5670800,20.823103
+1997-05-14,66.75,67.5,66.75,67.0,5574600,20.979667
+1997-05-15,67.0,68.0,66.5,67.875,4740400,21.253656
+1997-05-16,67.875,68.375,66.75,66.875,9446000,20.940526
+1997-05-19,67.25,68.375,67.25,68.0,5010000,21.292797
+1997-05-20,68.0,68.5,67.5,68.375,5029600,21.41022
+1997-05-21,68.375,68.75,67.125,67.375,6042600,21.097091
+1997-05-22,67.375,67.625,66.375,66.5,4778200,20.823103
+1997-05-23,66.875,68.375,66.875,68.125,3512600,21.331938
+1997-05-27,68.125,69.0,66.875,68.5,6125800,21.449362
+1997-05-28,68.25,68.25,67.0,67.25,4731400,21.05795
+1997-05-29,67.25,67.5,66.875,67.5,3060200,21.136232
+1997-05-30,67.5,68.625,67.0,68.5,4255600,21.449362
+1997-06-02,68.375,68.375,67.5,67.625,3519200,21.175373
+1997-06-03,67.625,68.375,67.125,67.875,4326200,21.253656
+1997-06-04,67.875,67.875,66.625,66.625,5249800,20.862244
+1997-06-05,66.625,67.125,66.125,66.5,5899200,20.823103
+1997-06-06,66.625,68.0,66.625,67.75,4925600,21.214515
+1997-06-09,67.875,68.5,67.875,68.5,4292200,21.449362
+1997-06-10,68.5,69.25,68.125,68.375,5444600,21.41022
+1997-06-11,68.375,69.0,68.125,68.375,4033200,21.454148
+1997-06-12,69.25,70.0,69.25,70.0,6430400,21.964027
+1997-06-13,70.375,72.125,70.375,71.875,8388800,22.552349
+1997-06-16,71.875,72.625,71.625,71.625,5651000,22.473906
+1997-06-17,71.625,71.875,70.75,71.625,5209400,22.473906
+1997-06-18,71.625,72.25,71.25,71.375,5276800,22.395463
+1997-06-19,71.375,72.0,70.875,71.5,6765000,22.434685
+1997-06-20,71.5,71.75,71.125,71.375,10990600,22.395463
+1997-06-23,71.25,71.25,69.625,69.75,4148600,21.885584
+1997-06-24,69.75,70.5,69.25,70.3125,6552200,22.062081
+1997-06-25,70.3125,70.9375,68.625,69.4375,5855200,21.78753
+1997-06-26,69.4375,70.25,69.3125,69.875,4747200,21.924806
+1997-06-27,69.9375,71.1875,69.9375,71.0,5457400,22.277799
+1997-06-30,71.0,71.0625,67.078102,68.0,8405600,21.336483
+1997-07-01,68.0,69.5,67.875,68.625,11291400,21.532591
+1997-07-02,68.625,70.4375,68.125,70.4375,7417800,22.101302
+1997-07-03,70.625,71.5,70.625,70.75,4004000,22.199356
+1997-07-07,70.75,71.4375,69.5625,69.875,6065200,21.924806
+1997-07-08,69.875,70.5625,69.25,70.5625,5503200,22.140524
+1997-07-09,70.5625,70.75,69.0625,69.375,6557600,21.76792
+1997-07-10,69.375,70.375,68.9375,69.625,5044800,21.846363
+1997-07-11,69.625,70.0625,69.5625,69.8125,3087400,21.905195
+1997-07-14,69.8125,70.125,69.125,69.75,3563400,21.885584
+1997-07-15,69.75,70.1875,69.25,70.125,5041400,22.003248
+1997-07-16,70.125,71.5,70.0625,70.875,5546200,22.238577
+1997-07-17,70.875,71.9375,69.0625,69.875,7063600,21.924806
+1997-07-18,69.8125,69.8125,69.0625,69.25,9139600,21.728698
+1997-07-21,68.875,68.875,67.75,68.3125,6144800,21.434537
+1997-07-22,68.8125,70.25,68.8125,70.125,8252800,22.003248
+1997-07-23,70.125,70.75,69.0,69.0625,6741600,21.669866
+1997-07-24,69.0625,70.4375,68.4375,70.1875,6158800,22.022859
+1997-07-25,70.1875,70.9375,69.875,70.125,5221000,22.003248
+1997-07-28,70.125,70.4375,69.375,69.6875,3888000,21.865973
+1997-07-29,69.6875,70.0,68.75,69.6875,5037800,21.865973
+1997-07-30,69.6875,70.1875,69.3125,69.875,4879000,21.924806
+1997-07-31,69.875,69.9375,68.875,69.125,6088000,21.689477
+1997-08-01,69.125,70.0,68.25,68.625,7182200,21.532591
+1997-08-04,68.625,69.25,68.125,68.9375,4070000,21.630644
+1997-08-05,68.8125,68.8125,68.0,68.0,4023600,21.336483
+1997-08-06,68.0,68.625,67.4375,68.125,7832200,21.375705
+1997-08-07,67.9375,67.9375,66.5625,66.5625,7551600,20.885436
+1997-08-08,65.75,65.75,62.6875,62.6875,18877800,19.669571
+1997-08-11,62.6875,63.5,59.625,61.75,25320000,19.37541
+1997-08-12,61.75,62.25,60.625,60.9375,14184800,19.12047
+1997-08-13,60.9375,62.1875,59.875,60.4375,14515800,18.963584
+1997-08-14,60.4375,61.0625,59.5,60.0625,10822200,18.84592
+1997-08-15,59.9375,59.9375,58.0625,58.75,12587600,18.434094
+1997-08-18,58.75,60.375,58.0625,60.375,12737600,18.943973
+1997-08-19,60.375,60.9375,60.375,60.8125,10347800,19.081248
+1997-08-20,60.8125,61.8125,60.5,61.5,9331400,19.296967
+1997-08-21,61.5,61.625,59.9375,60.5625,8738400,19.002805
+1997-08-22,60.5625,60.6875,58.875,60.6875,7904800,19.042027
+1997-08-25,60.6875,61.25,59.4375,59.6875,5655800,18.728255
+1997-08-26,59.6875,60.0,59.0,59.0,6479800,18.512537
+1997-08-27,59.0,59.0,57.1875,58.625,10290200,18.394873
+1997-08-28,58.625,58.8125,57.125,58.25,9693800,18.277208
+1997-08-29,58.25,58.25,57.25,57.3125,9787600,17.983047
+1997-09-02,57.3125,59.9375,57.0,59.875,9126200,18.787087
+1997-09-03,59.875,60.3125,59.0,59.0,7742000,18.512537
+1997-09-04,59.0,59.75,58.3125,59.625,7006200,18.708644
+1997-09-05,59.625,60.625,59.625,59.875,7411800,18.787087
+1997-09-08,59.875,60.625,59.125,59.125,5261200,18.551759
+1997-09-09,59.125,59.3125,58.3125,58.75,8264600,18.434094
+1997-09-10,58.75,59.1875,57.5625,57.625,6071800,18.081101
+1997-09-11,57.5,57.5,55.375,56.125,15022400,17.653333
+1997-09-12,56.125,57.25,55.0625,57.0625,13883800,17.948211
+1997-09-15,57.0625,58.0625,57.0625,57.5625,7217600,18.105479
+1997-09-16,57.9375,60.125,57.9375,59.25,9876400,18.636258
+1997-09-17,59.25,59.9375,58.8125,59.0625,6530000,18.577283
+1997-09-18,59.0625,59.3125,58.5,58.8125,7354800,18.498649
+1997-09-19,58.8125,59.1875,58.125,59.1875,10150800,18.6166
+1997-09-22,59.625,60.1875,59.625,59.8437,5835000,18.822998
+1997-09-23,59.8437,60.1875,59.375,59.75,4942000,18.793526
+1997-09-24,59.75,61.125,59.75,60.625,9592800,19.068745
+1997-09-25,60.625,62.0625,60.4375,61.25,10278200,19.26533
+1997-09-26,61.4375,61.9375,61.4375,61.9375,5492200,19.481574
+1997-09-29,62.3125,63.125,62.3125,62.5625,8656800,19.678159
+1997-09-30,62.5,62.5,60.875,61.0,6843200,19.186696
+1997-10-01,61.0,61.9375,61.0,61.9375,6044800,19.481574
+1997-10-02,61.9375,62.875,61.75,62.875,6401600,19.776451
+1997-10-03,62.875,63.6875,61.125,62.375,8069800,19.619183
+1997-10-06,62.75,63.3125,62.75,62.875,4511000,19.776451
+1997-10-07,63.0,64.25,63.0,63.8125,6927400,20.071329
+1997-10-08,63.8125,64.125,62.5,62.75,6040800,19.737134
+1997-10-09,62.25,62.25,61.5625,61.8125,5424000,19.442257
+1997-10-10,61.8125,61.875,60.875,61.6875,3591200,19.40294
+1997-10-13,61.625,61.625,61.1875,61.3125,3216400,19.284989
+1997-10-14,61.3125,62.1875,60.375,60.75,6600200,19.108062
+1997-10-15,60.5625,60.5625,59.625,59.8125,6319200,18.813185
+1997-10-16,59.8125,60.9375,58.5625,58.9375,7278600,18.537966
+1997-10-17,58.9375,59.125,57.0625,58.5,11165600,18.400356
+1997-10-20,58.5,59.125,57.5,58.8125,8186800,18.498649
+1997-10-21,58.8125,60.125,58.6875,60.0,6119400,18.87216
+1997-10-22,60.0,60.1875,58.875,59.3125,4598200,18.655917
+1997-10-23,58.375,58.375,56.8125,57.6875,13684000,18.144796
+1997-10-24,57.6875,59.1875,55.125,55.5,15190400,17.456748
+1997-10-27,55.5,56.875,53.125,53.5625,16333400,16.847335
+1997-10-28,53.5625,57.9375,50.0,57.75,25395200,18.164454
+1997-10-29,57.75,58.9375,56.4375,57.125,14566400,17.967869
+1997-10-30,57.125,58.625,56.0,56.0,9341400,17.614016
+1997-10-31,56.3125,57.625,56.3125,56.625,8183600,17.810601
+1997-11-03,57.0,58.4375,57.0,58.25,6505000,18.321722
+1997-11-04,58.1875,58.1875,57.1875,58.0625,6270600,18.262747
+1997-11-05,58.0625,58.6875,57.5,57.625,5635600,18.125137
+1997-11-06,57.625,58.3125,57.0625,57.875,6092000,18.203771
+1997-11-07,57.4375,57.4375,55.9375,57.0,7584800,17.928552
+1997-11-10,57.0,57.4375,55.625,55.75,6303800,17.535382
+1997-11-11,56.0,56.8125,56.0,56.5625,4647200,17.790943
+1997-11-12,56.5625,57.625,56.0625,56.4375,7542400,17.751626
+1997-11-13,56.75,57.625,56.75,57.4375,7904800,18.066162
+1997-11-14,57.4375,57.8125,56.5,57.5625,6647400,18.105479
+1997-11-17,58.25,60.125,58.25,59.625,8549800,18.754209
+1997-11-18,59.625,60.5625,59.25,59.75,7615600,18.793526
+1997-11-19,59.75,62.125,59.5,62.125,10506400,19.540549
+1997-11-20,62.625,63.8125,62.625,63.5,10096600,19.973036
+1997-11-21,63.5,63.75,62.4375,63.75,9488000,20.05167
+1997-11-24,63.5625,63.5625,62.5625,62.5625,6105200,19.678159
+1997-11-25,62.6875,64.3125,62.6875,64.125,7393200,20.169621
+1997-11-26,64.0625,64.0625,62.375,62.375,6400400,19.66211
+1997-11-28,62.4375,63.0,62.4375,62.5,1953200,19.701513
+1997-12-01,62.5625,64.75,62.5625,64.5625,7679400,20.351662
+1997-12-02,64.9375,66.1875,64.9375,65.875,11096000,20.765394
+1997-12-03,65.875,66.125,64.8125,65.8125,6606400,20.745693
+1997-12-04,65.8125,66.0,64.5,64.8125,6271800,20.430468
+1997-12-05,64.8125,66.5,64.75,66.0625,5987400,20.824499
+1997-12-08,65.75,65.75,63.0,63.5625,10053200,20.036438
+1997-12-09,63.5625,63.9375,62.875,63.625,6445200,20.05614
+1997-12-10,63.625,64.125,62.9375,63.875,6047600,20.134946
+1997-12-11,63.875,64.125,63.1875,63.625,6752200,20.05614
+1997-12-12,63.875,65.3125,63.875,64.9375,6554600,20.469872
+1997-12-15,65.0,66.3125,65.0,65.875,7177200,20.765394
+1997-12-16,65.875,66.1875,65.0625,65.6875,4456200,20.70629
+1997-12-17,65.6875,66.3125,65.375,65.875,4877400,20.765394
+1997-12-18,65.875,66.375,64.1875,64.25,7065800,20.253155
+1997-12-19,64.25,65.8125,62.25,65.4375,15696800,20.627484
+1997-12-22,65.4375,66.6875,65.125,66.0625,7435400,20.824499
+1997-12-23,66.0625,66.0625,64.8125,65.0,4260800,20.489573
+1997-12-24,65.0,65.125,64.375,64.625,2728200,20.371364
+1997-12-26,64.625,65.3125,64.375,64.375,1067400,20.292558
+1997-12-29,65.3125,66.375,65.3125,66.3125,3854800,20.903305
+1997-12-30,66.5625,67.1875,66.5625,67.0625,4494400,21.139723
+1997-12-31,66.9375,66.9375,66.1875,66.6875,3640600,21.021514
+1998-01-02,66.6875,67.0,65.9375,66.9375,5443200,21.10032
+1998-01-05,66.875,66.875,65.25,66.4375,7691600,20.942708
+1998-01-06,66.4375,66.625,65.8125,66.125,5448200,20.8442
+1998-01-07,66.125,66.1875,65.125,66.1875,5357200,20.863902
+1998-01-08,66.1875,67.0,65.75,66.625,6323800,21.001812
+1998-01-09,66.625,66.6875,64.0625,64.125,8747200,20.213752
+1998-01-12,64.125,66.1875,62.25,66.0625,8895200,20.824499
+1998-01-13,66.0625,66.1875,64.625,65.375,6400000,20.607782
+1998-01-14,65.25,65.25,64.25,64.625,5673200,20.371364
+1998-01-15,64.4375,64.4375,63.5625,63.75,4166800,20.095543
+1998-01-16,64.3125,65.1875,64.3125,65.0,8217000,20.489573
+1998-01-20,65.0625,65.9375,65.0625,65.9375,4942000,20.785096
+1998-01-21,65.9375,65.9375,65.0,65.5,4477400,20.647185
+1998-01-22,65.5,66.0,64.6875,65.4375,5446400,20.627484
+1998-01-23,65.4375,65.625,63.625,63.8125,5033800,20.115244
+1998-01-26,63.8125,64.3125,62.4375,63.0625,5051800,19.878826
+1998-01-27,63.0625,64.125,62.8125,63.25,5669200,19.937931
+1998-01-28,63.25,64.75,62.375,64.125,10064600,20.213752
+1998-01-29,64.1875,65.5625,64.1875,64.75,6681000,20.410767
+1998-01-30,64.75,65.0,64.5,64.75,4994800,20.410767
+1998-02-02,65.25,67.125,65.25,66.6875,10112200,21.021514
+1998-02-03,66.6875,67.625,66.5,67.5,7294600,21.277634
+1998-02-04,67.4375,67.4375,66.75,67.0625,5980800,21.139723
+1998-02-05,67.0625,67.625,66.8125,67.5625,7490600,21.297335
+1998-02-06,67.5625,68.0625,67.1875,67.1875,4298600,21.179126
+1998-02-09,67.1875,67.4375,67.0,67.375,3552000,21.238231
+1998-02-10,67.375,68.375,67.375,67.9375,5323400,21.415544
+1998-02-11,67.9375,68.875,67.8125,68.875,4338000,21.711067
+1998-02-12,68.875,69.5625,67.9375,69.25,5871600,21.829276
+1998-02-13,69.1875,69.1875,68.25,68.5625,4396200,21.612559
+1998-02-17,68.5625,69.25,68.1875,68.5,4680800,21.592858
+1998-02-18,68.5,69.8125,68.125,69.125,4588800,21.789873
+1998-02-19,69.0,69.0,68.4375,68.75,3483200,21.671664
+1998-02-20,68.75,69.6875,68.5,69.5625,5884200,21.927783
+1998-02-23,69.5625,69.75,68.625,69.1875,4430200,21.809574
+1998-02-24,69.0625,69.0625,68.0625,68.3125,4511200,21.533753
+1998-02-25,68.4375,69.0625,68.4375,68.625,3796400,21.632261
+1998-02-26,68.625,69.25,68.375,68.875,2958600,21.711067
+1998-02-27,68.875,68.9375,68.3125,68.625,3544200,21.632261
+1998-03-02,68.625,68.6875,67.9375,68.0,5421800,21.435246
+1998-03-03,68.0,68.25,67.5625,68.1875,3897800,21.49435
+1998-03-04,68.1875,68.75,67.625,68.75,5010400,21.671664
+1998-03-05,68.75,69.8125,68.375,69.3125,7645400,21.848977
+1998-03-06,69.5625,70.75,69.5625,70.5,9568800,22.223306
+1998-03-09,70.5,73.1875,70.5,72.5625,9636000,22.873456
+1998-03-10,72.5625,72.9375,72.5625,72.625,5093400,22.893158
+1998-03-11,72.5,72.5,71.875,72.4375,4748400,22.881311
+1998-03-12,72.4375,72.4375,71.625,71.625,4878600,22.624662
+1998-03-13,71.625,72.0,70.375,70.5625,4027200,22.289043
+1998-03-16,70.8125,72.1875,70.8125,71.75,4828000,22.664146
+1998-03-17,71.75,72.4375,71.375,72.4375,4683000,22.881311
+1998-03-18,72.4375,75.0,72.25,74.8125,8973400,23.631518
+1998-03-19,74.8125,75.25,74.25,74.9375,5914400,23.671003
+1998-03-20,74.9375,77.5,74.9375,77.5,10567600,24.480437
+1998-03-23,76.625,76.625,75.25,75.875,7623200,23.967137
+1998-03-24,75.875,76.75,75.4375,76.0,5543200,24.006622
+1998-03-25,76.0,76.375,75.4375,76.1875,5285200,24.065849
+1998-03-26,76.1875,76.9375,75.3125,76.4375,4528000,24.144818
+1998-03-27,76.4375,76.5,74.875,75.0625,5057400,23.710488
+1998-03-30,76.3125,79.3125,76.3125,78.375,10732000,24.756829
+1998-03-31,78.375,78.6875,77.125,77.4375,6896200,24.460694
+1998-04-01,77.4375,80.6875,77.4375,80.625,8855000,25.467551
+1998-04-02,80.625,81.375,79.8125,81.125,6690000,25.625489
+1998-04-03,81.125,81.125,79.8125,80.4375,6801200,25.408324
+1998-04-06,80.4375,81.3125,79.25,79.25,7718800,25.033221
+1998-04-07,79.125,79.125,77.9375,79.0,6177200,24.954252
+1998-04-08,79.0,79.3125,77.25,78.0625,5503200,24.658117
+1998-04-09,78.0625,78.875,77.8125,78.5625,3912000,24.816056
+1998-04-13,78.3125,78.3125,76.875,77.75,5482600,24.559406
+1998-04-14,77.75,78.0,76.8125,77.8125,4980600,24.579148
+1998-04-15,77.8125,78.0,75.625,76.6875,6630600,24.223787
+1998-04-16,76.6875,76.9375,73.875,74.8125,7165000,23.631518
+1998-04-17,74.8125,77.0,73.6875,76.8125,8330600,24.263272
+1998-04-20,76.8125,77.125,75.0,75.3125,6923400,23.789457
+1998-04-21,75.3125,75.75,74.1875,74.6875,5545200,23.592034
+1998-04-22,74.6875,76.5,74.0,75.75,6809400,23.927653
+1998-04-23,75.625,75.625,74.4375,74.75,5773000,23.611776
+1998-04-24,74.75,74.9375,73.0,73.625,4950200,23.256415
+1998-04-27,73.4375,73.4375,71.875,72.375,6224600,22.861569
+1998-04-28,72.4375,74.0625,72.4375,72.4375,5871600,22.881311
+1998-04-29,72.625,74.375,72.625,73.6875,5490400,23.276157
+1998-04-30,74.1875,76.0625,74.1875,75.875,5719200,23.967137
+1998-05-01,75.875,76.3125,75.0625,76.1875,4886600,24.065849
+1998-05-04,76.1875,76.8125,76.125,76.25,4467400,24.085591
+1998-05-05,76.25,76.25,74.8125,76.0625,3733400,24.026364
+1998-05-06,76.0625,76.625,75.625,76.0,4714200,24.006622
+1998-05-07,76.0,76.25,75.375,75.6875,5112200,23.90791
+1998-05-08,75.75,77.5,75.75,76.4375,5470000,24.144818
+1998-05-11,76.875,77.9375,76.875,77.4375,5788400,24.460694
+1998-05-12,77.4375,77.875,76.75,77.75,4218400,24.559406
+1998-05-13,77.75,78.1875,77.0,77.25,4853800,24.401468
+1998-05-14,77.25,78.4375,76.875,77.75,4586200,24.559406
+1998-05-15,77.75,78.25,76.75,76.875,5917800,24.283014
+1998-05-18,76.875,77.75,76.875,77.375,4417000,24.440952
+1998-05-19,77.625,78.375,77.625,78.0625,4154400,24.658117
+1998-05-20,78.0625,79.875,77.8125,79.8125,5574400,25.210901
+1998-05-21,79.8125,80.9375,79.25,79.4375,6537400,25.092448
+1998-05-22,79.4375,79.75,78.3125,78.8125,3618600,24.895025
+1998-05-26,78.8125,79.0,77.375,77.375,4409400,24.440952
+1998-05-27,77.375,78.25,76.5,78.25,6239800,24.717344
+1998-05-28,78.25,79.1875,77.75,78.9375,4448800,24.934509
+1998-05-29,78.9375,79.6875,78.375,78.375,5249000,24.756829
+1998-06-01,78.4375,79.75,78.4375,79.5,4791800,25.11219
diff --git a/backtrader/source/contrib/datas/daily-PEP.csv b/backtrader/source/contrib/datas/daily-PEP.csv
new file mode 100644
index 0000000000000000000000000000000000000000..8d5ba67775524f0c97106ee97374d52962ac14ff
--- /dev/null
+++ b/backtrader/source/contrib/datas/daily-PEP.csv
@@ -0,0 +1,357 @@
+Date,Open,High,Low,Close,Volume,Adj Close
+1997-01-02,30.0,30.0,29.25,29.5,4237700,17.596354
+1997-01-03,29.75,30.0,29.625,29.75,2795500,17.745475
+1997-01-06,29.875,30.0,28.875,29.25,5361400,17.447232
+1997-01-07,29.125,29.5,28.875,29.5,4311600,17.596354
+1997-01-08,29.625,29.875,29.375,29.625,3346800,17.670915
+1997-01-09,29.625,29.75,29.125,29.25,4212900,17.447232
+1997-01-10,28.875,29.25,28.625,29.125,5606200,17.372671
+1997-01-13,29.125,29.75,29.0,29.5,3874100,17.596354
+1997-01-14,29.5,29.875,29.5,29.75,3561100,17.745475
+1997-01-15,29.625,29.75,29.5,29.625,3739000,17.670915
+1997-01-16,29.625,30.25,29.5,30.25,5840300,18.043719
+1997-01-17,30.25,30.625,30.125,30.5,6340000,18.19284
+1997-01-20,30.75,32.0,30.625,31.25,6673200,18.640205
+1997-01-21,31.125,32.0,31.125,31.75,5959200,18.938449
+1997-01-22,31.625,32.0,31.5,32.0,4539600,19.08757
+1997-01-23,35.0,35.875,33.875,35.5,30608400,21.175273
+1997-01-24,35.0,35.25,33.75,33.875,15491900,20.205983
+1997-01-27,34.125,34.5,34.0,34.125,8446400,20.355104
+1997-01-28,34.75,35.0,34.0,34.5,8297100,20.578787
+1997-01-29,34.5,34.75,34.125,34.25,5630400,20.429665
+1997-01-30,34.5,34.625,34.125,34.5,4385800,20.578787
+1997-01-31,34.5,34.875,34.375,34.875,5257700,20.802469
+1997-02-03,34.625,34.75,33.875,34.125,4219500,20.355104
+1997-02-04,33.375,33.625,32.625,32.875,10917200,19.609496
+1997-02-05,32.625,32.875,31.5,31.875,11708400,19.013009
+1997-02-06,31.875,32.5,31.75,32.375,6027300,19.311253
+1997-02-07,32.375,32.75,31.75,32.25,4643200,19.236692
+1997-02-10,32.125,32.75,32.125,32.25,3711900,19.236692
+1997-02-11,32.5,32.625,32.25,32.5,3102300,19.385813
+1997-02-12,32.25,32.375,31.75,32.25,4532800,19.236692
+1997-02-13,32.125,32.375,31.875,31.875,4405200,19.013009
+1997-02-14,32.0,32.375,31.75,32.25,5225100,19.236692
+1997-02-18,32.125,32.75,32.0,32.75,3515400,19.534935
+1997-02-19,32.5,33.25,32.5,32.875,4414500,19.609496
+1997-02-20,32.875,34.0,32.875,33.5,6854800,19.9823
+1997-02-21,33.875,34.875,33.75,34.5,8611900,20.578787
+1997-02-24,34.5,34.625,34.0,34.125,4923200,20.355104
+1997-02-25,34.375,34.625,33.875,33.875,3833700,20.205983
+1997-02-26,33.0,33.75,32.5,33.0,5652600,19.684057
+1997-02-27,33.125,33.75,32.875,33.125,4063000,19.758618
+1997-02-28,33.0,33.625,32.875,33.0,4453800,19.684057
+1997-03-03,32.75,33.625,32.75,33.375,2895600,19.907739
+1997-03-04,33.125,33.375,32.125,32.25,3983800,19.236692
+1997-03-05,32.5,32.625,32.0,32.25,4086000,19.236692
+1997-03-06,32.25,32.5,31.875,31.875,4370600,19.013009
+1997-03-07,31.875,32.0,31.625,31.75,4196000,18.938449
+1997-03-10,32.0,32.125,31.75,32.0,2817200,19.08757
+1997-03-11,31.875,32.75,31.75,32.5,4694300,19.385813
+1997-03-12,32.625,32.75,32.0,32.0,4182800,19.155352
+1997-03-13,31.875,32.0,31.375,31.375,3827700,18.781224
+1997-03-14,31.375,31.875,30.875,31.125,4452600,18.631572
+1997-03-17,31.125,31.125,30.75,30.875,4335500,18.481921
+1997-03-18,31.0,31.375,30.75,31.0,4538900,18.556747
+1997-03-19,31.125,32.125,31.125,32.0,4532700,19.155352
+1997-03-20,32.0,32.75,32.0,32.625,4527100,19.52948
+1997-03-21,32.875,33.25,32.375,32.5,5043800,19.454654
+1997-03-24,32.625,32.875,32.25,32.75,2857200,19.604305
+1997-03-25,32.625,33.25,32.5,33.25,3316300,19.903608
+1997-03-26,33.25,33.375,32.5,33.25,2782500,19.903608
+1997-03-27,33.25,33.625,33.0,33.25,3808700,19.903608
+1997-03-31,33.125,33.25,32.0,32.375,4782300,19.379828
+1997-04-01,32.5,32.5,31.625,31.875,3868000,19.080526
+1997-04-02,31.625,32.125,31.5,31.875,3449500,19.080526
+1997-04-03,31.5,31.875,31.25,31.875,2689700,19.080526
+1997-04-04,31.5,31.75,31.125,31.625,3565800,18.930875
+1997-04-07,31.75,32.25,31.625,32.125,2906300,19.230177
+1997-04-08,32.0,32.375,31.875,32.125,2350800,19.230177
+1997-04-09,32.125,32.875,32.125,32.75,3126100,19.604305
+1997-04-10,32.75,33.375,32.75,33.0,3667500,19.753956
+1997-04-11,32.75,33.125,31.875,31.875,3315600,19.080526
+1997-04-14,31.875,32.75,31.875,32.625,3160100,19.52948
+1997-04-15,32.75,33.125,32.5,32.875,3499200,19.679131
+1997-04-16,32.5,33.25,32.5,32.875,3661400,19.679131
+1997-04-17,32.75,33.625,32.75,33.25,4172200,19.903608
+1997-04-18,33.25,33.375,32.875,33.125,3096800,19.828782
+1997-04-21,32.875,33.375,32.5,32.75,2270300,19.604305
+1997-04-22,32.625,33.625,32.25,33.5,3516200,20.053259
+1997-04-23,33.5,33.625,33.125,33.25,2346000,19.903608
+1997-04-24,33.25,33.625,33.0,33.5,2536500,20.053259
+1997-04-25,33.125,33.25,31.875,32.0,4437000,19.155352
+1997-04-28,32.0,32.125,31.0,31.25,4560900,18.706398
+1997-04-29,34.0,34.75,33.625,34.375,12075500,20.577038
+1997-04-30,33.625,34.875,33.5,34.875,6030300,20.87634
+1997-05-01,34.5,35.125,34.5,34.875,5352700,20.87634
+1997-05-02,34.75,35.625,34.75,35.5,4673000,21.250468
+1997-05-05,35.5,36.875,35.125,36.625,6794300,21.923899
+1997-05-06,36.5,36.875,36.25,36.375,5609300,21.774247
+1997-05-07,36.25,36.5,35.875,36.125,3683700,21.624596
+1997-05-08,35.25,36.25,35.25,35.25,3900900,21.100817
+1997-05-09,35.5,36.625,35.5,36.5,3272100,21.849073
+1997-05-12,36.375,37.375,36.375,36.75,4797700,21.998724
+1997-05-13,36.875,37.125,36.625,36.875,4150900,22.07355
+1997-05-14,37.125,37.5,37.0,37.125,3516300,22.223201
+1997-05-15,37.0,37.5,36.875,37.375,2310300,22.372852
+1997-05-16,37.125,37.625,36.75,36.75,4771000,21.998724
+1997-05-19,36.625,37.875,36.625,37.5,3072300,22.447678
+1997-05-20,37.375,37.625,36.75,37.5,3356700,22.447678
+1997-05-21,37.5,37.625,36.125,36.25,4423700,21.699422
+1997-05-22,36.125,36.375,35.375,35.5,4879300,21.250468
+1997-05-23,35.5,36.5,35.5,36.5,3739900,21.849073
+1997-05-27,36.125,37.375,36.0,37.0,4306700,22.148375
+1997-05-28,36.625,37.625,36.625,37.375,3951500,22.372852
+1997-05-29,37.25,37.625,37.25,37.375,2757800,22.372852
+1997-05-30,37.0,37.75,36.75,36.75,5550200,21.998724
+1997-06-02,37.625,38.375,37.5,37.75,5966500,22.597329
+1997-06-03,37.5,38.375,37.5,38.125,3803900,22.821806
+1997-06-04,38.0,38.125,35.625,36.0,9985300,21.549771
+1997-06-05,36.75,37.375,36.375,36.75,9514100,21.998724
+1997-06-06,36.875,37.375,36.875,37.125,3347200,22.223201
+1997-06-09,37.125,37.5,36.75,37.375,3875300,22.372852
+1997-06-10,37.375,37.625,37.125,37.625,2700900,22.522503
+1997-06-11,37.5,37.875,36.875,37.875,3953200,22.747727
+1997-06-12,38.375,38.75,38.0,38.625,4100800,23.198177
+1997-06-13,38.25,39.375,38.25,39.0,5672900,23.423402
+1997-06-16,38.625,39.0,38.375,38.5,3429600,23.123102
+1997-06-17,38.125,38.625,37.875,38.5,3598200,23.123102
+1997-06-18,38.25,38.75,38.125,38.75,2286500,23.273252
+1997-06-19,38.5,39.25,38.25,38.5,2874600,23.123102
+1997-06-20,38.25,38.5,38.125,38.125,4917700,22.897877
+1997-06-23,37.75,38.125,37.0,37.125,4052100,22.297277
+1997-06-24,37.375,37.5625,36.625,37.3125,4724400,22.40989
+1997-06-25,37.0,37.875,36.8125,37.0,4194400,22.222202
+1997-06-26,36.875,37.625,36.875,37.25,3509400,22.372352
+1997-06-27,37.25,38.75,37.25,37.875,4402300,22.747727
+1997-06-30,38.125,38.4375,37.5,37.5625,4374800,22.56004
+1997-07-01,37.5625,38.5,37.5625,38.25,3927400,22.972952
+1997-07-02,38.0625,38.25,37.75,38.0,4736400,22.822802
+1997-07-03,38.4375,39.0,38.3125,38.9375,2954200,23.385865
+1997-07-07,39.0,39.5,38.75,39.0,3951800,23.423402
+1997-07-08,39.0625,39.5,39.0,39.1875,3285400,23.536015
+1997-07-09,38.9375,39.1875,38.0,38.375,3676200,23.048027
+1997-07-10,38.375,38.875,38.1875,38.8125,3521300,23.31079
+1997-07-11,38.5625,38.875,37.125,37.375,4944400,22.447427
+1997-07-14,37.4375,38.25,37.4375,37.875,3949700,22.747727
+1997-07-15,37.8125,38.0,36.8125,37.25,4971000,22.372352
+1997-07-16,37.25,37.3125,36.25,36.5625,5399700,21.95944
+1997-07-17,36.125,36.3125,35.25,35.6875,7261900,21.433915
+1997-07-18,35.75,36.625,35.125,36.0,5329800,21.621602
+1997-07-21,35.1875,35.625,34.8125,35.5625,4511400,21.35884
+1997-07-22,37.5,38.375,37.1875,38.0625,7571200,22.86034
+1997-07-23,38.0625,38.4375,37.0,37.0,4294700,22.222202
+1997-07-24,37.25,38.0625,37.0,37.5,3775200,22.522502
+1997-07-25,37.375,38.75,37.375,38.4375,4376800,23.085565
+1997-07-28,38.3125,38.75,38.25,38.4375,2551900,23.085565
+1997-07-29,38.1875,38.1875,37.5625,37.75,3698400,22.672652
+1997-07-30,37.9375,38.6875,37.6875,38.6875,4252800,23.235715
+1997-07-31,38.6875,38.875,38.25,38.25,3683600,22.972952
+1997-08-01,37.8125,38.5,37.0,38.0625,4529600,22.86034
+1997-08-04,38.0,38.75,38.0,38.4375,3203900,23.085565
+1997-08-05,38.25,38.9375,38.125,38.8125,3250100,23.31079
+1997-08-06,38.25,39.75,38.1875,39.6875,5235700,23.836315
+1997-08-07,39.625,39.625,38.9375,39.0,3929100,23.423402
+1997-08-08,38.125,38.5625,37.25,37.5,4064100,22.522502
+1997-08-11,37.5,38.1875,37.25,38.1875,3266300,22.935415
+1997-08-12,38.125,38.1875,37.25,37.4375,2394600,22.484965
+1997-08-13,37.5625,38.0625,36.5625,36.6875,3812000,22.034515
+1997-08-14,36.625,37.25,36.0625,36.25,3904200,21.771752
+1997-08-15,36.0625,36.6875,35.5625,35.75,4657900,21.471452
+1997-08-18,35.625,36.3125,34.875,36.1875,5496200,21.734215
+1997-08-19,36.1875,36.3125,35.8125,36.1875,3693800,21.734215
+1997-08-20,35.8125,36.9375,35.6875,36.0,6454100,21.621602
+1997-08-21,35.8125,36.625,35.75,36.1875,4398800,21.734215
+1997-08-22,35.3125,36.9375,35.3125,36.75,3145300,22.072052
+1997-08-25,36.8125,37.375,36.25,36.375,3148100,21.846827
+1997-08-26,36.0625,36.8125,35.9375,36.6875,3061500,22.034515
+1997-08-27,36.625,37.25,36.3125,37.0625,3330500,22.25974
+1997-08-28,36.625,37.3125,36.0,36.75,2820800,22.072052
+1997-08-29,36.25,36.375,35.5,36.0,3091900,21.621602
+1997-09-02,36.0,36.8125,36.0,36.8125,4101600,22.10959
+1997-09-03,36.8125,37.875,36.8125,37.5625,4236600,22.56004
+1997-09-04,37.4375,37.9375,37.375,37.4375,2711200,22.484965
+1997-09-05,37.5625,37.875,37.5,37.5,2597500,22.522502
+1997-09-08,38.125,38.75,38.0,38.125,4179600,22.897877
+1997-09-09,38.0625,38.5,37.75,38.4375,3310300,23.085565
+1997-09-10,38.1875,38.5625,37.75,37.75,2763100,22.672652
+1997-09-11,37.5625,37.6875,37.0,37.5,3758700,22.522502
+1997-09-12,37.625,38.1875,37.3125,38.0625,2894000,22.86034
+1997-09-15,37.8125,38.0625,37.5,37.8125,1573600,22.71019
+1997-09-16,37.8125,38.75,37.5,38.5,3610000,23.123102
+1997-09-17,38.0,38.875,38.0,38.75,3315600,23.349061
+1997-09-18,38.875,39.1875,38.0,38.0,3336400,22.897143
+1997-09-19,38.125,38.4375,37.8125,38.1875,3962000,23.010123
+1997-09-22,38.3125,39.4375,38.0,38.875,2858800,23.42438
+1997-09-23,38.4375,39.0625,38.375,38.75,2565700,23.349061
+1997-09-24,38.5625,40.0,38.5625,39.4375,6417000,23.763318
+1997-09-25,39.375,39.875,39.25,39.6875,3930500,23.913957
+1997-09-26,39.75,40.25,39.625,40.1875,5412500,24.215236
+1997-09-29,39.875,41.3125,39.8125,41.0,5453900,24.704813
+1997-09-30,40.75,40.9375,40.0,40.5625,3716600,24.441194
+1997-10-01,40.0625,40.75,40.0,40.1875,4146100,24.215236
+1997-10-02,40.0625,40.3125,39.75,39.75,2670500,23.951617
+1997-10-03,40.125,40.75,39.4375,39.875,3528000,24.026937
+1997-10-06,40.3125,40.5,40.125,40.1875,2725200,24.215236
+1997-10-07,38.0625,39.25,37.875,38.75,4749700,25.369123
+1997-10-08,38.875,39.3125,38.625,39.25,4010800,25.696467
+1997-10-09,38.875,39.25,38.6875,39.125,3225800,25.614631
+1997-10-10,39.0,39.5,38.875,39.5,2581900,25.860138
+1997-10-13,39.375,39.9375,39.125,39.125,1892000,25.614631
+1997-10-14,39.375,39.5625,38.3125,38.75,2262600,25.369123
+1997-10-15,38.3125,38.625,37.25,37.5,3168300,24.550764
+1997-10-16,37.75,38.4375,36.375,37.25,2824800,24.387093
+1997-10-17,37.0,38.1875,36.625,37.9375,3382000,24.83719
+1997-10-20,38.25,39.0,38.0,38.875,3184800,25.450959
+1997-10-21,39.0,40.0,38.75,40.0,3893300,26.187482
+1997-10-22,40.0,40.6875,38.375,38.4375,5529700,25.164533
+1997-10-23,37.125,38.0,37.0625,37.75,4334700,24.714436
+1997-10-24,38.1875,38.75,37.25,37.375,3939600,24.468928
+1997-10-27,36.75,37.0,34.125,34.9375,5284300,22.873129
+1997-10-28,33.375,38.0,33.375,37.6875,10041500,24.673518
+1997-10-29,37.4375,37.75,35.8125,36.25,5232900,23.732405
+1997-10-30,36.25,36.9375,35.75,35.75,3745300,23.405062
+1997-10-31,36.5,37.1875,36.3125,36.875,3898700,24.141585
+1997-11-03,36.875,37.75,36.875,37.375,2964500,24.468928
+1997-11-04,37.0625,37.4375,36.8125,37.25,2341700,24.387093
+1997-11-05,37.0625,38.0625,37.0625,37.375,2399800,24.468928
+1997-11-06,36.9375,37.375,36.75,36.9375,2793400,24.182503
+1997-11-07,35.6875,36.6875,35.6875,36.4375,3396700,23.855159
+1997-11-10,36.3125,36.625,35.5,35.6875,2824900,23.364144
+1997-11-11,35.375,36.125,35.375,35.8125,1744900,23.44598
+1997-11-12,35.5625,36.25,35.25,35.375,2406200,23.159554
+1997-11-13,35.625,36.1875,35.375,35.875,2105900,23.486898
+1997-11-14,35.9375,36.8125,35.875,36.5625,2099900,23.936995
+1997-11-17,37.0,37.5,36.75,37.375,1705000,24.468928
+1997-11-18,36.875,37.1875,36.125,36.4375,2084500,23.855159
+1997-11-19,36.25,38.0625,36.25,37.5625,2839800,24.591682
+1997-11-20,37.8125,38.4375,37.6875,37.6875,3179100,24.673518
+1997-11-21,37.9375,38.0,37.3125,38.0,3841200,24.878108
+1997-11-24,37.4375,37.5625,36.875,37.0625,2893000,24.264339
+1997-11-25,37.25,37.6875,37.0625,37.1875,2838600,24.346175
+1997-11-26,37.375,37.5,36.8125,36.9375,2239800,24.182503
+1997-11-28,36.9375,37.5625,36.875,36.875,803600,24.141585
+1997-12-01,37.375,38.1875,37.25,37.6875,2963700,24.673518
+1997-12-02,37.75,38.1875,37.0625,37.375,3221900,24.468928
+1997-12-03,37.375,37.875,37.3125,37.8125,2436000,24.755354
+1997-12-04,37.8125,38.1875,37.1875,37.375,2484900,24.468928
+1997-12-05,37.125,38.0,37.125,37.3125,2196400,24.42801
+1997-12-08,37.3125,37.3125,35.875,36.5,4954000,23.896077
+1997-12-09,36.1875,36.4375,35.5625,35.8125,3616000,23.44598
+1997-12-10,35.6875,36.5625,35.1875,35.5,3350500,23.322796
+1997-12-11,35.375,35.5625,35.125,35.25,2981100,23.158551
+1997-12-12,35.5,35.9375,35.0625,35.125,3548400,23.076428
+1997-12-15,35.5625,36.0625,35.4375,36.0625,2918000,23.692347
+1997-12-16,35.5,35.625,34.75,35.4375,6885900,23.281734
+1997-12-17,35.6875,35.6875,34.8125,34.875,3890700,22.912183
+1997-12-18,34.6875,34.875,34.3125,34.75,3525900,22.83006
+1997-12-19,34.3125,35.3125,34.125,34.875,5580500,22.912183
+1997-12-22,34.875,35.5,34.875,35.125,2969700,23.076428
+1997-12-23,35.125,35.3125,34.125,34.25,4049100,22.50157
+1997-12-24,34.5,35.125,34.25,34.4375,2048500,22.624754
+1997-12-26,34.5,35.125,34.5,34.75,1034400,22.83006
+1997-12-29,35.25,35.3125,34.8125,34.875,3160600,22.912183
+1997-12-30,35.3125,36.9375,35.0625,36.6875,3813300,24.10296
+1997-12-31,36.6875,36.8125,36.25,36.25,2633900,23.815531
+1998-01-02,36.3125,36.3125,35.5625,36.0,2588900,23.651286
+1998-01-05,35.875,36.8125,35.625,36.5,3769900,23.979776
+1998-01-06,36.5,36.625,35.0,35.1875,4391300,23.117489
+1998-01-07,34.9375,35.875,34.8125,35.875,2971000,23.569163
+1998-01-08,35.875,36.3125,35.8125,35.875,2920700,23.569163
+1998-01-09,35.8125,36.1875,34.5,34.75,5114600,22.83006
+1998-01-12,34.25,35.6875,34.1875,35.375,4438700,23.240673
+1998-01-13,36.0,36.5,35.375,36.5,3309000,23.979776
+1998-01-14,36.25,36.75,35.875,36.6875,3460400,24.10296
+1998-01-15,36.75,36.875,35.875,35.9375,2027100,23.610224
+1998-01-16,36.375,37.0,36.25,36.6875,3478200,24.10296
+1998-01-20,36.875,37.75,36.5,37.625,4202400,24.718878
+1998-01-21,37.0625,37.375,36.6875,37.0,2688200,24.308266
+1998-01-22,36.875,37.125,36.5,36.875,2702700,24.226143
+1998-01-23,36.75,37.1875,36.125,36.3125,2637600,23.856592
+1998-01-26,36.1875,36.625,36.125,36.4375,2119100,23.938714
+1998-01-27,35.875,36.4375,35.5625,36.0625,2979300,23.692347
+1998-01-28,35.875,36.875,35.75,36.4375,2836800,23.938714
+1998-01-29,36.5,37.6875,36.4375,36.875,2384000,24.226143
+1998-01-30,36.625,36.75,35.9375,36.125,2563300,23.733408
+1998-02-02,36.3125,36.6875,35.75,36.5,3962000,23.979776
+1998-02-03,34.5,36.0,34.3125,35.1875,15324300,23.117489
+1998-02-04,35.0625,36.125,35.0,35.4375,6322700,23.281734
+1998-02-05,35.4375,35.9375,34.9375,35.25,4812400,23.158551
+1998-02-06,35.375,35.875,35.25,35.375,4182800,23.240673
+1998-02-09,35.375,35.8125,35.375,35.75,3082100,23.487041
+1998-02-10,35.875,36.4375,35.5625,35.5625,5350700,23.363857
+1998-02-11,35.5,35.8125,35.4375,35.625,3806500,23.404918
+1998-02-12,35.625,36.375,35.5625,36.0,3617300,23.651286
+1998-02-13,36.25,36.625,36.0,36.5,3557800,23.979776
+1998-02-17,36.1875,36.625,35.6875,35.6875,3171100,23.445979
+1998-02-18,35.6875,35.9375,35.25,35.25,3401300,23.158551
+1998-02-19,35.625,35.8125,35.4375,35.4375,3192000,23.281734
+1998-02-20,35.375,35.5625,35.0,35.4375,5047100,23.281734
+1998-02-23,35.1875,35.4375,35.0,35.25,3474700,23.158551
+1998-02-24,35.25,35.4375,35.0,35.1875,3103100,23.117489
+1998-02-25,35.1875,36.625,35.1875,36.375,5038400,23.897653
+1998-02-26,36.1875,37.0625,36.1875,36.8125,3758500,24.185082
+1998-02-27,36.4375,36.8125,36.4375,36.5,2236000,23.979776
+1998-03-02,36.75,37.1875,36.5625,37.0,3689500,24.308266
+1998-03-03,36.9375,37.375,36.625,37.375,3329700,24.554633
+1998-03-04,37.0,37.125,36.875,37.0625,2446900,24.349327
+1998-03-05,37.0625,37.125,36.25,36.5625,3126600,24.020837
+1998-03-06,36.5625,38.0,36.5625,38.0,4081500,24.965246
+1998-03-09,38.625,39.4375,38.375,39.25,5917000,25.786471
+1998-03-10,39.5,40.125,39.4375,40.125,5213400,26.361329
+1998-03-11,40.0,40.625,39.5625,40.25,4002500,26.526085
+1998-03-12,42.0,43.5,42.0,43.0,12955800,28.338427
+1998-03-13,43.0,43.375,42.625,42.9375,5084500,28.297237
+1998-03-16,43.0,43.4375,42.1875,43.3125,5315800,28.544375
+1998-03-17,42.3125,43.875,42.3125,43.5625,4018800,28.709133
+1998-03-18,43.0625,43.125,42.375,42.5625,5384600,28.0501
+1998-03-19,42.3125,42.375,41.6875,41.875,3313800,27.597014
+1998-03-20,42.25,43.0,42.0625,43.0,4505400,28.338427
+1998-03-23,42.75,42.875,42.125,42.1875,2390400,27.802962
+1998-03-24,42.4375,42.6875,42.125,42.3125,2149700,27.885341
+1998-03-25,42.6875,42.875,41.9375,42.75,2731800,28.173668
+1998-03-26,42.8125,43.5625,42.75,43.25,4226300,28.503185
+1998-03-27,43.0625,43.25,41.9375,42.3125,2860000,27.885341
+1998-03-30,42.1875,43.0625,42.125,42.75,3062900,28.173668
+1998-03-31,42.625,43.4375,42.3125,42.6875,2982500,28.132479
+1998-04-01,42.4375,43.875,42.375,43.625,4536300,28.750322
+1998-04-02,43.4375,44.5,42.9375,44.1875,3259900,29.121029
+1998-04-03,44.0625,44.8125,43.75,44.6875,3190800,29.450545
+1998-04-06,44.4375,44.8125,42.9375,42.9375,3264300,28.297237
+1998-04-07,42.6875,42.75,42.0625,42.375,3300100,27.926531
+1998-04-08,42.5,42.6875,41.875,42.0625,3635100,27.720583
+1998-04-09,42.125,42.5,42.0,42.0,1881000,27.679394
+1998-04-13,42.125,42.25,41.125,41.3125,2328400,27.226308
+1998-04-14,41.0,41.75,41.0,41.3125,2235400,27.226308
+1998-04-15,41.25,42.0,41.0625,41.8125,3758400,27.555825
+1998-04-16,41.875,41.9375,41.375,41.625,2067500,27.432256
+1998-04-17,41.625,42.0,41.3125,41.8125,2625700,27.555825
+1998-04-20,41.75,41.9375,41.4375,41.875,2626800,27.597014
+1998-04-21,41.5,42.4375,41.125,42.0625,4160900,27.720583
+1998-04-22,41.8125,44.625,41.75,43.875,4575500,28.915081
+1998-04-23,43.875,44.75,43.5,44.1875,3152500,29.121029
+1998-04-24,44.1875,44.5,43.125,43.625,2298600,28.750322
+1998-04-27,43.0625,43.1875,41.625,43.0625,3241700,28.379616
+1998-04-28,42.875,43.1875,38.75,39.75,14260400,26.196569
+1998-04-29,39.625,40.0,38.375,39.375,8285600,25.949431
+1998-04-30,39.5,40.25,39.5,39.6875,7405700,26.155379
+1998-05-01,39.75,39.9375,38.6875,39.375,4206100,25.949431
+1998-05-04,39.125,39.9375,39.0625,39.375,3726800,25.949431
+1998-05-05,39.1875,40.25,39.125,40.1875,4152200,26.484896
+1998-05-06,39.9375,40.25,39.0625,39.125,2585300,25.784673
+1998-05-07,39.0,39.125,37.8125,37.875,5591400,24.960882
+1998-05-08,38.0,38.875,38.0,38.6875,5510900,25.496346
+1998-05-11,38.6875,39.25,38.375,38.75,3658700,25.537536
+1998-05-12,38.6875,39.6875,38.6875,39.4375,3972400,25.990621
+1998-05-13,39.0625,39.625,38.75,38.875,4009300,25.619915
+1998-05-14,38.75,39.75,38.75,39.0625,4608600,25.743484
+1998-05-15,38.9375,39.1875,37.5,37.5625,6201700,24.754934
+1998-05-18,37.375,38.9375,37.375,37.8125,4448900,24.919692
+1998-05-19,37.8125,38.375,37.8125,37.9375,3128300,25.002071
+1998-05-20,39.5,40.5,39.25,40.5,8024100,26.690844
+1998-05-21,40.6875,41.1875,39.9375,40.0625,4394000,26.402517
+1998-05-22,40.0,40.3125,39.875,39.875,2135700,26.278948
+1998-05-26,40.3125,40.875,40.0,40.375,4139600,26.608465
+1998-05-27,40.0,41.375,39.9375,41.125,4131700,27.102739
+1998-05-28,40.875,41.5,40.3125,40.4375,3735600,26.649654
+1998-05-29,40.3125,41.4375,40.3125,40.8125,2998600,26.896792
+1998-06-01,40.625,41.5625,40.5625,41.5,2411800,27.349877
diff --git a/backtrader/source/contrib/samples/__init__.py b/backtrader/source/contrib/samples/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/contrib/samples/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/contrib/samples/pair-trading/__init__.py b/backtrader/source/contrib/samples/pair-trading/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/contrib/samples/pair-trading/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/contrib/samples/pair-trading/pair-trading.py b/backtrader/source/contrib/samples/pair-trading/pair-trading.py
new file mode 100644
index 0000000000000000000000000000000000000000..6374d36661e2ab4007c858432c042e6dd9aa9aa7
--- /dev/null
+++ b/backtrader/source/contrib/samples/pair-trading/pair-trading.py
@@ -0,0 +1,262 @@
+# coding: utf-8
+# ##################################################################
+# Pair Trading adapted to backtrader
+# with PD.OLS and info for StatsModel.API
+# author: Remi Roche
+##################################################################
+
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+# The above could be sent to an independent module
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+
+
+class PairTradingStrategy(bt.Strategy):
+ params = dict(
+ period=10,
+ stake=10,
+ qty1=0,
+ qty2=0,
+ printout=True,
+ upper=2.1,
+ lower=-2.1,
+ up_medium=0.5,
+ low_medium=-0.5,
+ status=0,
+ portfolio_value=10000,
+ )
+
+ def log(self, txt, dt=None):
+ if self.p.printout:
+ dt = dt or self.data.datetime[0]
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+
+ def notify_order(self, order):
+ if order.status in [bt.Order.Submitted, bt.Order.Accepted]:
+ return # Await further notifications
+
+ if order.status == order.Completed:
+ if order.isbuy():
+ buytxt = 'BUY COMPLETE, %.2f' % order.executed.price
+ self.log(buytxt, order.executed.dt)
+ else:
+ selltxt = 'SELL COMPLETE, %.2f' % order.executed.price
+ self.log(selltxt, order.executed.dt)
+
+ elif order.status in [order.Expired, order.Canceled, order.Margin]:
+ self.log('%s ,' % order.Status[order.status])
+ pass # Simply log
+
+ # Allow new orders
+ self.orderid = None
+
+ def __init__(self):
+ # To control operation entries
+ self.orderid = None
+ self.qty1 = self.p.qty1
+ self.qty2 = self.p.qty2
+ self.upper_limit = self.p.upper
+ self.lower_limit = self.p.lower
+ self.up_medium = self.p.up_medium
+ self.low_medium = self.p.low_medium
+ self.status = self.p.status
+ self.portfolio_value = self.p.portfolio_value
+
+ # Signals performed with PD.OLS :
+ self.transform = btind.OLS_TransformationN(self.data0, self.data1,
+ period=self.p.period)
+ self.zscore = self.transform.zscore
+
+ # Checking signals built with StatsModel.API :
+ # self.ols_transfo = btind.OLS_Transformation(self.data0, self.data1,
+ # period=self.p.period,
+ # plot=True)
+
+ def next(self):
+
+ if self.orderid:
+ return # if an order is active, no new orders are allowed
+
+ if self.p.printout:
+ print('Self len:', len(self))
+ print('Data0 len:', len(self.data0))
+ print('Data1 len:', len(self.data1))
+ print('Data0 len == Data1 len:',
+ len(self.data0) == len(self.data1))
+
+ print('Data0 dt:', self.data0.datetime.datetime())
+ print('Data1 dt:', self.data1.datetime.datetime())
+
+ print('status is', self.status)
+ print('zscore is', self.zscore[0])
+
+ # Step 2: Check conditions for SHORT & place the order
+ # Checking the condition for SHORT
+ if (self.zscore[0] > self.upper_limit) and (self.status != 1):
+
+ # Calculating the number of shares for each stock
+ value = 0.5 * self.portfolio_value # Divide the cash equally
+ x = int(value / (self.data0.close)) # Find the number of shares for Stock1
+ y = int(value / (self.data1.close)) # Find the number of shares for Stock2
+ print('x + self.qty1 is', x + self.qty1)
+ print('y + self.qty2 is', y + self.qty2)
+
+ # Placing the order
+ self.log('SELL CREATE %s, price = %.2f, qty = %d' % ("PEP", self.data0.close[0], x + self.qty1))
+ self.sell(data=self.data0, size=(x + self.qty1)) # Place an order for buying y + qty2 shares
+ self.log('BUY CREATE %s, price = %.2f, qty = %d' % ("KO", self.data1.close[0], y + self.qty2))
+ self.buy(data=self.data1, size=(y + self.qty2)) # Place an order for selling x + qty1 shares
+
+ # Updating the counters with new value
+ self.qty1 = x # The new open position quantity for Stock1 is x shares
+ self.qty2 = y # The new open position quantity for Stock2 is y shares
+
+ self.status = 1 # The current status is "short the spread"
+
+ # Step 3: Check conditions for LONG & place the order
+ # Checking the condition for LONG
+ elif (self.zscore[0] < self.lower_limit) and (self.status != 2):
+
+ # Calculating the number of shares for each stock
+ value = 0.5 * self.portfolio_value # Divide the cash equally
+ x = int(value / (self.data0.close)) # Find the number of shares for Stock1
+ y = int(value / (self.data1.close)) # Find the number of shares for Stock2
+ print('x + self.qty1 is', x + self.qty1)
+ print('y + self.qty2 is', y + self.qty2)
+
+ # Place the order
+ self.log('BUY CREATE %s, price = %.2f, qty = %d' % ("PEP", self.data0.close[0], x + self.qty1))
+ self.buy(data=self.data0, size=(x + self.qty1)) # Place an order for buying x + qty1 shares
+ self.log('SELL CREATE %s, price = %.2f, qty = %d' % ("KO", self.data1.close[0], y + self.qty2))
+ self.sell(data=self.data1, size=(y + self.qty2)) # Place an order for selling y + qty2 shares
+
+ # Updating the counters with new value
+ self.qty1 = x # The new open position quantity for Stock1 is x shares
+ self.qty2 = y # The new open position quantity for Stock2 is y shares
+ self.status = 2 # The current status is "long the spread"
+
+
+ # Step 4: Check conditions for No Trade
+ # If the z-score is within the two bounds, close all
+ """
+ elif (self.zscore[0] < self.up_medium and self.zscore[0] > self.low_medium):
+ self.log('CLOSE LONG %s, price = %.2f' % ("PEP", self.data0.close[0]))
+ self.close(self.data0)
+ self.log('CLOSE LONG %s, price = %.2f' % ("KO", self.data1.close[0]))
+ self.close(self.data1)
+ """
+
+ def stop(self):
+ print('==================================================')
+ print('Starting Value - %.2f' % self.broker.startingcash)
+ print('Ending Value - %.2f' % self.broker.getvalue())
+ print('==================================================')
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Create the 1st data
+ data0 = btfeeds.YahooFinanceCSVData(
+ dataname=args.data0,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the 1st data to cerebro
+ cerebro.adddata(data0)
+
+ # Create the 2nd data
+ data1 = btfeeds.YahooFinanceCSVData(
+ dataname=args.data1,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the 2nd data to cerebro
+ cerebro.adddata(data1)
+
+ # Add the strategy
+ cerebro.addstrategy(PairTradingStrategy,
+ period=args.period,
+ stake=args.stake)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcash(args.cash)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcommission(commission=args.commperc)
+
+ # And run it
+ cerebro.run(runonce=not args.runnext,
+ preload=not args.nopreload,
+ oldsync=args.oldsync)
+
+ # Plot if requested
+ if args.plot:
+ cerebro.plot(numfigs=args.numfigs, volume=False, zdown=False)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='MultiData Strategy')
+
+ parser.add_argument('--data0', '-d0',
+ default='../../datas/daily-PEP.csv',
+ help='1st data into the system')
+
+ parser.add_argument('--data1', '-d1',
+ default='../../datas/daily-KO.csv',
+ help='2nd data into the system')
+
+ parser.add_argument('--fromdate', '-f',
+ default='1997-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='1998-06-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--period', default=10, type=int,
+ help='Period to apply to the Simple Moving Average')
+
+ parser.add_argument('--cash', default=100000, type=int,
+ help='Starting Cash')
+
+ parser.add_argument('--runnext', action='store_true',
+ help='Use next by next instead of runonce')
+
+ parser.add_argument('--nopreload', action='store_true',
+ help='Do not preload the data')
+
+ parser.add_argument('--oldsync', action='store_true',
+ help='Use old data synchronization method')
+
+ parser.add_argument('--commperc', default=0.005, type=float,
+ help='Percentage commission (0.005 is 0.5%%')
+
+ parser.add_argument('--stake', default=10, type=int,
+ help='Stake to apply in each operation')
+
+ parser.add_argument('--plot', '-p', default=True, action='store_true',
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', default=1,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/contrib/utils/__init__.py b/backtrader/source/contrib/utils/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/contrib/utils/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/contrib/utils/influxdb-import.py b/backtrader/source/contrib/utils/influxdb-import.py
new file mode 100644
index 0000000000000000000000000000000000000000..7eb344f83bee0205655059aaa66cce65e133c7dd
--- /dev/null
+++ b/backtrader/source/contrib/utils/influxdb-import.py
@@ -0,0 +1,136 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+
+import sys
+import os
+import io
+import logging
+import argparse
+import pandas as pd
+from influxdb import DataFrameClient as dfclient
+from influxdb.exceptions import InfluxDBClientError
+
+
+
+class InfluxDBTool(object):
+ def __init__(self):
+ self._host = args.host if args.host else 'localhost'
+ self._port = args.port if args.port else 8086
+ self._username = args.username if args.username else None
+ self._password = args.password if args.password else None
+ self._database = args.database if args.database else 'instruments'
+ self._ticker = args.ticker
+ self._cache = os.path.expanduser(args.sourcepath)
+
+ self.dfdb = dfclient(self._host, self._port,
+ self._username, self._password,
+ self._database)
+
+ def write_dataframe_to_idb(self, ticker):
+ """Write Pandas Dataframe to InfluxDB database"""
+ cachepath = self._cache
+ cachefile = ('%s/%s-1M.csv.gz' % (cachepath, ticker))
+
+ if not os.path.exists(cachefile):
+ log.warn('Import file does not exist: %s' %
+ (cachefile))
+ return
+
+ df = pd.read_csv(cachefile, compression='infer', header=0,
+ infer_datetime_format=True)
+
+ df['Datetime'] = pd.to_datetime(df['Date'] + ' ' + df['Time'])
+ df = df.set_index('Datetime')
+ df = df.drop(['Date', 'Time'], axis=1)
+
+ try:
+ self.dfdb.write_points(df, ticker)
+ except InfluxDBClientError as err:
+ log.error('Write to database failed: %s' % err)
+
+ def get_tickers_from_file(self, filename):
+ """Load ticker list from txt file"""
+ if not os.path.exists(filename):
+ log.error("Ticker List file does not exist: %s", filename)
+
+ tickers = []
+ with io.open(filename, 'r') as fd:
+ for ticker in fd:
+ tickers.append(ticker.rstrip())
+ return tickers
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description="Run InfluxDB Import")
+
+ exoptgroup = parser.add_mutually_exclusive_group(required=False)
+ exoptgroup.add_argument("--ticker",
+ action='store', default='SPY',
+ help="Ticker to request data for.")
+ exoptgroup.add_argument('--ticker-list',
+ action='store', default=None,
+ help='Path to folder to create files.')
+ parser.add_argument('--host',
+ required=False, action='store',
+ default=None,
+ help='InfluxDB hostname.')
+ parser.add_argument('--port',
+ required=False, action='store',
+ default=None, type=int,
+ help='InfluxDB port number.')
+ parser.add_argument('--username',
+ required=False, action='store',
+ default=None,
+ help='InfluxDB username.')
+ parser.add_argument('--password',
+ required=False, action='store',
+ default=None,
+ help='InfluxDB password.')
+ parser.add_argument('--database',
+ required=False, action='store',
+ default=None,
+ help='InfluxDB database to use.')
+ parser.add_argument('--sourcepath',
+ required=False, action='store',
+ default='~/.iqfeed/data',
+ help='Path to CSV source folder.')
+ parser.add_argument('--testrun',
+ required=False, action='store_true',
+ help='Don\'t write to InfluxDB')
+ parser.add_argument('--debug',
+ required=False, action='store_true',
+ help='Turn on debug logging level.')
+ parser.add_argument('--info',
+ required=False, action='store_true',
+ help='Turn on info logging level.')
+
+ args = parser.parse_args()
+
+ if len(sys.argv) < 2:
+ parser.print_help()
+ parser.exit(1)
+
+ tool = InfluxDBTool()
+
+ log = logging.getLogger()
+ log_console = logging.StreamHandler(sys.stdout)
+ log.addHandler(log_console)
+
+ if args.debug:
+ log.setLevel(logging.DEBUG)
+
+ if args.info:
+ log.setLevel(logging.INFO)
+
+ tickers = []
+ if args.ticker_list:
+ tickers = tool.get_tickers_from_file(args.ticker_list)
+ else:
+ tickers.append(args.ticker.rstrip())
+
+ for (i, ticker) in enumerate(tickers):
+ log.info("Processing %s (%d out of %d)", ticker, i+1,
+ len(tickers))
+ tool.write_dataframe_to_idb(ticker=ticker)
diff --git a/backtrader/source/contrib/utils/iqfeed-to-influxdb.py b/backtrader/source/contrib/utils/iqfeed-to-influxdb.py
new file mode 100644
index 0000000000000000000000000000000000000000..b8879180331079a4875e5c56637e3edf3328f969
--- /dev/null
+++ b/backtrader/source/contrib/utils/iqfeed-to-influxdb.py
@@ -0,0 +1,235 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8; py-indent-offset:4 -*-
+
+import sys
+import os
+import io
+import socket
+import logging
+import numpy as np
+import pandas as pd
+import datetime as dt
+import argparse
+from influxdb import DataFrameClient as dfclient
+from influxdb.exceptions import InfluxDBClientError
+
+
+class IQFeedTool(object):
+ def __init__(self):
+ timeout = 10.0
+ self._dbhost = args.dbhost if args.dbhost else 'localhost'
+ self._dbport = args.dbport if args.dbport else 8086
+ self._username = args.username if args.username else None
+ self._password = args.password if args.password else None
+ self._database = args.database if args.database else 'instruments'
+ self._ticker = args.ticker
+
+ self._iqhost = args.iqhost if args.iqhost else 'localhost'
+ self._iqport = args.iqport if args.iqport else 9100
+ self._ticker = args.ticker
+ self._year = None
+ self._recv_buf = ""
+ self._ndf = pd.DataFrame()
+
+ # Open a streaming socket to the IQFeed daemon
+ self._sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ self._sock.connect((self._iqhost, self._iqport))
+ self._sock.settimeout(timeout)
+
+ self.dfdb = dfclient(self._dbhost, self._dbport,
+ self._username, self._password,
+ self._database)
+
+ if not args.fromdate:
+ self._start = str(dt.datetime.today().year)
+ elif len(args.fromdate) == 4 or len(args.fromdate == 10):
+ self._start = args.fromdate
+ else:
+ log.error('Starting date required in YYYY-MM-DD or YYYY format.')
+ sys.exit(-1)
+
+ if not args.todate:
+ self._stop = str(dt.datetime.today().year)
+ elif len(args.fromdate) == 4 or len(args.fromdate == 10):
+ self._stop = args.todate
+ else:
+ log.error('Starting date required in YYYY-MM-DD or YYYY format.')
+ sys.exit(-1)
+
+ def _send_cmd(self, cmd: str):
+ """Encode IQFeed API messages."""
+ self._sock.sendall(cmd.encode(encoding='latin-1', errors='strict'))
+
+ def iq_query(self, message: str):
+ """Send data query to IQFeed API."""
+ end_msg = '!ENDMSG!'
+ recv_buffer = 4096
+
+ # Send the historical data request message and buffer the data
+ self._send_cmd(message)
+
+ chunk = ""
+ data = ""
+ while True:
+ chunk = self._sock.recv(recv_buffer).decode('latin-1')
+ data += chunk
+ if chunk.startswith('E,'): # error condition
+ if chunk.startswith('E,!NO_DATA!'):
+ log.warn('No data available for the given symbol or dates')
+ return
+ else:
+ raise Exception(chunk)
+ elif end_msg in chunk:
+ break
+
+ # Clean up the data.
+ data = data[:-1 * (len(end_msg) + 3)]
+ data = "".join(data.split("\r"))
+ data = data.replace(",\n", ",")[:-1]
+ data = data.split(",")
+ return data
+
+ def get_historical_minute_data(self, ticker: str):
+ """Request historical 5 minute data from DTN."""
+ start = self._start
+ stop = self._stop
+
+ if len(stop) > 4:
+ stop = stop[:4]
+
+ if len(start) > 4:
+ start = start[:4]
+
+ for year in range(int(start), int(stop) + 1):
+ beg_time = ('%s0101000000' % year)
+ end_time = ('%s1231235959' % year)
+ msg = "HIT,%s,60,%s,%s,,,,1,,,s\r\n" % (ticker,
+ beg_time,
+ end_time)
+ try:
+ data = iq.iq_query(message=msg)
+ iq.add_data_to_df(data=data)
+ except Exception as err:
+ log.error('No data returned because %s', err)
+
+ try:
+ self.dfdb.write_points(self._ndf, ticker)
+ except InfluxDBClientError as err:
+ log.error('Write to database failed: %s' % err)
+
+ def add_data_to_df(self, data: np.array):
+ """Build Pandas Dataframe in memory"""
+
+ col_names = ['high_p', 'low_p', 'open_p', 'close_p', 'volume', 'oi']
+
+ data = np.array(data).reshape(-1, len(col_names) + 1)
+ df = pd.DataFrame(data=data[:, 1:], index=data[:, 0],
+ columns=col_names)
+
+ df.index = pd.to_datetime(df.index)
+
+ # Sort the dataframe based on ascending dates.
+ df.sort_index(ascending=True, inplace=True)
+
+ # Convert dataframe columns to float and ints.
+ df[['high_p', 'low_p', 'open_p', 'close_p']] = df[
+ ['high_p', 'low_p', 'open_p', 'close_p']].astype(float)
+ df[['volume', 'oi']] = df[['volume', 'oi']].astype(int)
+
+ if self._ndf.empty:
+ self._ndf = df
+ else:
+ self._ndf = self._ndf.append(df)
+
+ def get_tickers_from_file(self, filename):
+ """Load ticker list from txt file"""
+ if not os.path.exists(filename):
+ log.error("Ticker List file does not exist: %s", filename)
+
+ tickers = []
+ with io.open(filename, 'r') as fd:
+ for ticker in fd:
+ tickers.append(ticker.rstrip())
+ return tickers
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description="Import IQFeed Historical Data to InfluxDB")
+
+ exoptgroup = parser.add_mutually_exclusive_group(required=True)
+ exoptgroup.add_argument("--ticker",
+ action='store', default='SPY',
+ help="Ticker to request data for.")
+ exoptgroup.add_argument('--ticker-list',
+ action='store', default=None,
+ help='Path to folder to create files.')
+ parser.add_argument('--dbhost',
+ required=False, action='store',
+ default=None,
+ help='InfluxDB hostname.')
+ parser.add_argument('--dbport',
+ required=False, action='store',
+ default=None, type=int,
+ help='InfluxDB port number.')
+ parser.add_argument('--iqhost',
+ required=False, action='store',
+ default=None,
+ help='IQfeed Connect hostname.')
+ parser.add_argument('--iqport',
+ required=False, action='store',
+ default=None, type=int,
+ help='IQfeed Connect port number.')
+ parser.add_argument('--username',
+ required=False, action='store',
+ default=None,
+ help='InfluxDB username.')
+ parser.add_argument('--password',
+ required=False, action='store',
+ default=None,
+ help='InfluxDB password.')
+ parser.add_argument('--database',
+ required=False, action='store',
+ default=None,
+ help='InfluxDB database to use.')
+ parser.add_argument('--fromdate',
+ required=False, action='store', default=None,
+ type=str,
+ help=('Starting date for historical download '
+ 'with format: YYYY[-MM-DDTHH:MM:SS].'))
+ parser.add_argument('--todate',
+ required=False, action='store', default=None,
+ type=str,
+ help=('Ending date for historical download '
+ 'with format: YYYY[-MM-DDTHH:MM:SS].'))
+ parser.add_argument('--debug',
+ required=False, action='store_true',
+ help='Turn on debug logging level.')
+ parser.add_argument('--info',
+ required=False, action='store_true',
+ help='Turn on info logging level.')
+
+ args = parser.parse_args()
+
+ iq = IQFeedTool()
+
+ log = logging.getLogger()
+ log_console = logging.StreamHandler(sys.stdout)
+ log.addHandler(log_console)
+
+ tickers = []
+ if args.ticker_list:
+ tickers = iq.get_tickers_from_file(args.ticker_list)
+ else:
+ tickers.append(args.ticker.rstrip())
+
+ for (i, ticker) in enumerate(tickers):
+ try:
+ log.info("Processing %s (%d out of %d)", ticker, i+1,
+ len(tickers))
+
+ iq.get_historical_minute_data(ticker=ticker)
+
+ except Exception as err:
+ log.error('Error returned: %s', err)
diff --git a/backtrader/source/datas/2005-2006-day-001.txt b/backtrader/source/datas/2005-2006-day-001.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9a9f96ac1b483e960d047ed6389367c46bae19b0
--- /dev/null
+++ b/backtrader/source/datas/2005-2006-day-001.txt
@@ -0,0 +1,513 @@
+Date,Open,High,Low,Close,Volume,OpenInterest
+2005-01-03,2952.29,2989.61,2946.80,2970.02,0,0
+2005-01-04,2969.78,2979.88,2961.14,2971.12,0,0
+2005-01-05,2969.00,2969.00,2942.69,2947.19,0,0
+2005-01-06,2947.44,2967.65,2947.44,2966.24,0,0
+2005-01-07,2965.54,2988.99,2964.48,2979.82,0,0
+2005-01-10,2980.30,2986.07,2967.79,2977.21,0,0
+2005-01-11,2977.14,2981.51,2943.42,2949.29,0,0
+2005-01-12,2948.89,2952.79,2914.00,2924.01,0,0
+2005-01-13,2925.60,2943.09,2922.91,2936.32,0,0
+2005-01-14,2933.58,2951.77,2925.13,2948.22,0,0
+2005-01-17,2948.11,2963.22,2948.11,2963.06,0,0
+2005-01-18,2962.28,2965.60,2940.77,2962.50,0,0
+2005-01-19,2963.91,2976.33,2957.21,2959.90,0,0
+2005-01-20,2957.55,2957.55,2929.78,2937.71,0,0
+2005-01-21,2937.27,2944.92,2927.62,2940.87,0,0
+2005-01-24,2939.68,2940.02,2916.08,2937.83,0,0
+2005-01-25,2937.66,2960.90,2932.56,2958.61,0,0
+2005-01-26,2958.31,2967.62,2954.36,2956.43,0,0
+2005-01-27,2956.32,2970.81,2948.55,2970.81,0,0
+2005-01-28,2969.91,2977.99,2950.68,2955.89,0,0
+2005-01-31,2958.07,2987.88,2958.07,2984.75,0,0
+2005-02-01,2984.63,3008.85,2982.06,3008.85,0,0
+2005-02-02,3009.08,3022.87,3008.92,3021.95,0,0
+2005-02-03,3021.94,3023.85,3001.87,3010.39,0,0
+2005-02-04,3011.58,3038.31,3011.58,3037.13,0,0
+2005-02-07,3037.21,3055.27,3037.21,3051.97,0,0
+2005-02-08,3052.01,3058.09,3044.78,3056.65,0,0
+2005-02-09,3056.37,3064.30,3036.16,3044.36,0,0
+2005-02-10,3047.97,3056.80,3035.37,3044.00,0,0
+2005-02-11,3046.36,3080.08,3046.36,3079.85,0,0
+2005-02-14,3079.93,3083.38,3065.27,3075.76,0,0
+2005-02-15,3075.20,3091.64,3071.08,3086.95,0,0
+2005-02-16,3087.30,3087.30,3057.17,3068.55,0,0
+2005-02-17,3068.79,3082.69,3064.96,3067.34,0,0
+2005-02-18,3067.26,3080.91,3062.52,3072.04,0,0
+2005-02-21,3072.31,3079.89,3054.91,3063.64,0,0
+2005-02-22,3062.99,3062.99,3029.22,3045.24,0,0
+2005-02-23,3042.65,3042.65,3007.08,3028.08,0,0
+2005-02-24,3030.17,3032.97,3020.33,3024.80,0,0
+2005-02-25,3029.07,3062.79,3029.07,3062.72,0,0
+2005-02-28,3063.85,3081.86,3058.32,3058.35,0,0
+2005-03-01,3056.45,3082.87,3054.03,3078.44,0,0
+2005-03-02,3078.89,3082.71,3060.09,3082.71,0,0
+2005-03-03,3080.71,3091.09,3072.08,3078.11,0,0
+2005-03-04,3079.93,3106.86,3079.06,3106.86,0,0
+2005-03-07,3106.98,3117.77,3106.42,3114.54,0,0
+2005-03-08,3113.82,3113.82,3093.64,3097.34,0,0
+2005-03-09,3098.91,3115.06,3078.07,3081.99,0,0
+2005-03-10,3079.01,3079.01,3048.60,3053.62,0,0
+2005-03-11,3058.37,3073.75,3057.56,3060.36,0,0
+2005-03-14,3060.06,3065.04,3050.05,3060.72,0,0
+2005-03-15,3062.77,3086.48,3062.77,3083.73,0,0
+2005-03-16,3083.33,3083.33,3030.43,3032.13,0,0
+2005-03-17,3032.84,3045.04,3025.33,3039.80,0,0
+2005-03-18,3040.38,3062.94,3040.38,3053.54,0,0
+2005-03-21,3052.39,3059.18,3037.80,3038.14,0,0
+2005-03-22,3040.55,3053.18,3021.66,3050.44,0,0
+2005-03-23,3040.66,3040.82,3019.29,3036.85,0,0
+2005-03-24,3039.55,3063.41,3037.20,3060.67,0,0
+2005-03-29,3060.02,3069.80,3037.81,3068.49,0,0
+2005-03-30,3067.30,3067.30,3045.56,3056.21,0,0
+2005-03-31,3059.10,3080.25,3053.90,3055.73,0,0
+2005-04-01,3055.18,3077.97,3053.37,3061.11,0,0
+2005-04-04,3060.00,3060.00,3026.18,3042.17,0,0
+2005-04-05,3046.56,3065.44,3046.56,3064.07,0,0
+2005-04-06,3066.05,3076.23,3064.09,3076.23,0,0
+2005-04-07,3073.40,3092.99,3070.02,3090.72,0,0
+2005-04-08,3092.07,3100.72,3083.87,3088.92,0,0
+2005-04-11,3088.47,3088.47,3073.75,3080.60,0,0
+2005-04-12,3080.42,3081.53,3058.51,3065.18,0,0
+2005-04-13,3065.92,3086.65,3065.92,3080.54,0,0
+2005-04-14,3079.88,3086.02,3065.49,3075.33,0,0
+2005-04-15,3074.21,3074.21,3013.79,3013.89,0,0
+2005-04-18,3009.93,3009.93,2931.18,2947.79,0,0
+2005-04-19,2948.38,2966.64,2948.38,2957.37,0,0
+2005-04-20,2957.92,2974.58,2936.57,2944.33,0,0
+2005-04-21,2942.95,2967.15,2933.68,2950.34,0,0
+2005-04-22,2950.35,2981.00,2950.35,2976.39,0,0
+2005-04-25,2975.37,2990.29,2966.17,2987.05,0,0
+2005-04-26,2987.27,2990.88,2968.67,2983.22,0,0
+2005-04-27,2981.82,2981.82,2930.96,2942.62,0,0
+2005-04-28,2943.29,2955.25,2913.19,2930.87,0,0
+2005-04-29,2929.21,2944.36,2911.48,2930.10,0,0
+2005-05-02,2931.97,2957.46,2931.97,2949.09,0,0
+2005-05-03,2949.35,2962.59,2944.60,2962.59,0,0
+2005-05-04,2962.47,2981.04,2955.26,2981.04,0,0
+2005-05-05,2981.64,3008.38,2981.64,3004.52,0,0
+2005-05-06,3004.26,3022.54,2994.31,3019.26,0,0
+2005-05-09,3018.05,3018.32,2999.17,3007.10,0,0
+2005-05-10,3007.31,3017.59,2978.91,2983.42,0,0
+2005-05-11,2983.09,2990.10,2965.88,2970.50,0,0
+2005-05-12,2983.04,2998.31,2983.04,2993.09,0,0
+2005-05-13,2991.71,2994.52,2971.44,2994.52,0,0
+2005-05-16,2994.27,2994.27,2980.55,2988.16,0,0
+2005-05-17,2990.13,2996.95,2976.73,2983.84,0,0
+2005-05-18,2984.63,3036.30,2984.63,3036.30,0,0
+2005-05-19,3034.88,3055.14,3034.88,3051.79,0,0
+2005-05-20,3051.87,3060.30,3046.21,3050.45,0,0
+2005-05-23,3051.53,3074.13,3051.53,3070.98,0,0
+2005-05-24,3071.55,3071.55,3053.88,3066.55,0,0
+2005-05-25,3066.57,3072.06,3054.84,3059.84,0,0
+2005-05-26,3060.04,3089.54,3060.04,3086.08,0,0
+2005-05-27,3086.69,3091.66,3072.90,3084.00,0,0
+2005-05-30,3084.08,3096.54,3070.48,3096.54,0,0
+2005-05-31,3096.46,3096.84,3076.53,3076.75,0,0
+2005-06-01,3077.86,3125.88,3077.86,3125.88,0,0
+2005-06-02,3125.64,3139.91,3119.40,3131.03,0,0
+2005-06-03,3131.38,3138.10,3108.25,3114.27,0,0
+2005-06-06,3114.04,3119.46,3094.43,3099.20,0,0
+2005-06-07,3099.99,3138.29,3099.99,3134.82,0,0
+2005-06-08,3131.08,3132.62,3115.73,3125.59,0,0
+2005-06-09,3124.24,3126.66,3109.20,3122.93,0,0
+2005-06-10,3126.26,3153.09,3126.26,3143.85,0,0
+2005-06-13,3145.04,3160.86,3137.88,3159.83,0,0
+2005-06-14,3159.09,3163.82,3148.63,3162.86,0,0
+2005-06-15,3163.11,3172.87,3142.02,3147.55,0,0
+2005-06-16,3147.88,3167.68,3147.88,3160.09,0,0
+2005-06-17,3160.55,3193.34,3160.55,3178.48,0,0
+2005-06-20,3178.01,3178.36,3150.02,3162.14,0,0
+2005-06-21,3163.04,3183.06,3163.04,3179.62,0,0
+2005-06-22,3179.61,3195.43,3174.30,3182.08,0,0
+2005-06-23,3182.06,3192.93,3173.32,3190.80,0,0
+2005-06-24,3187.67,3187.67,3156.99,3161.00,0,0
+2005-06-27,3160.65,3160.65,3123.03,3132.50,0,0
+2005-06-28,3136.42,3162.00,3136.42,3162.00,0,0
+2005-06-29,3162.15,3190.63,3162.15,3178.56,0,0
+2005-06-30,3178.58,3198.89,3173.89,3181.54,0,0
+2005-07-01,3179.38,3208.94,3174.45,3208.54,0,0
+2005-07-04,3209.14,3218.07,3202.72,3215.60,0,0
+2005-07-05,3215.20,3216.34,3190.15,3207.91,0,0
+2005-07-06,3208.43,3233.58,3208.43,3224.11,0,0
+2005-07-07,3221.83,3221.83,3079.89,3170.06,0,0
+2005-07-08,3172.00,3224.59,3172.00,3224.52,0,0
+2005-07-11,3225.33,3251.39,3225.33,3246.40,0,0
+2005-07-12,3246.20,3247.94,3223.75,3236.33,0,0
+2005-07-13,3236.34,3261.50,3236.34,3260.67,0,0
+2005-07-14,3261.39,3292.08,3261.39,3277.20,0,0
+2005-07-15,3277.24,3286.64,3266.04,3278.58,0,0
+2005-07-18,3279.16,3292.26,3268.82,3276.49,0,0
+2005-07-19,3276.58,3314.06,3276.58,3314.06,0,0
+2005-07-20,3312.96,3317.02,3292.31,3303.77,0,0
+2005-07-21,3305.00,3329.67,3280.51,3299.92,0,0
+2005-07-22,3299.57,3304.76,3281.45,3292.92,0,0
+2005-07-25,3294.85,3304.01,3284.85,3298.27,0,0
+2005-07-26,3298.41,3314.00,3288.84,3302.98,0,0
+2005-07-27,3303.18,3320.01,3303.18,3310.84,0,0
+2005-07-28,3311.09,3339.27,3311.09,3333.05,0,0
+2005-07-29,3332.91,3346.56,3314.45,3326.51,0,0
+2005-08-01,3326.17,3339.22,3312.88,3320.46,0,0
+2005-08-02,3320.44,3349.91,3318.74,3349.91,0,0
+2005-08-03,3349.39,3351.28,3329.44,3343.63,0,0
+2005-08-04,3343.57,3343.57,3305.42,3310.62,0,0
+2005-08-05,3309.74,3310.83,3280.49,3280.49,0,0
+2005-08-08,3281.13,3307.45,3281.13,3292.41,0,0
+2005-08-09,3292.08,3331.29,3289.21,3331.29,0,0
+2005-08-10,3331.35,3370.84,3331.35,3370.84,0,0
+2005-08-11,3367.38,3367.38,3338.53,3354.16,0,0
+2005-08-12,3354.49,3356.66,3328.09,3334.15,0,0
+2005-08-15,3334.34,3340.27,3323.06,3326.38,0,0
+2005-08-16,3328.96,3343.35,3302.18,3307.42,0,0
+2005-08-17,3307.15,3307.15,3278.01,3298.20,0,0
+2005-08-18,3298.45,3300.83,3270.10,3283.84,0,0
+2005-08-19,3284.35,3328.17,3284.35,3328.17,0,0
+2005-08-22,3328.84,3340.12,3325.27,3330.44,0,0
+2005-08-23,3324.01,3324.01,3299.28,3299.28,0,0
+2005-08-24,3295.98,3297.57,3272.23,3294.25,0,0
+2005-08-25,3293.69,3293.69,3253.53,3258.52,0,0
+2005-08-26,3258.45,3270.27,3224.10,3224.10,0,0
+2005-08-29,3222.52,3241.49,3196.65,3239.96,0,0
+2005-08-30,3240.80,3255.43,3232.93,3234.10,0,0
+2005-08-31,3237.61,3265.23,3235.34,3263.78,0,0
+2005-09-01,3265.10,3293.10,3265.10,3282.29,0,0
+2005-09-02,3281.13,3291.77,3264.20,3274.42,0,0
+2005-09-05,3275.08,3303.05,3275.08,3303.05,0,0
+2005-09-06,3303.42,3341.80,3303.42,3341.80,0,0
+2005-09-07,3342.17,3359.95,3339.49,3349.46,0,0
+2005-09-08,3349.72,3351.67,3332.58,3346.63,0,0
+2005-09-09,3346.90,3365.98,3343.10,3359.65,0,0
+2005-09-12,3361.10,3377.46,3349.70,3354.64,0,0
+2005-09-13,3353.61,3358.04,3325.26,3325.55,0,0
+2005-09-14,3325.71,3345.29,3325.71,3338.99,0,0
+2005-09-15,3339.05,3352.08,3329.54,3339.02,0,0
+2005-09-16,3339.38,3378.23,3338.38,3366.57,0,0
+2005-09-19,3366.39,3368.48,3335.48,3356.28,0,0
+2005-09-20,3356.55,3379.42,3356.55,3375.64,0,0
+2005-09-21,3375.30,3375.30,3325.49,3326.78,0,0
+2005-09-22,3325.87,3325.87,3292.44,3312.26,0,0
+2005-09-23,3313.96,3332.32,3313.96,3331.55,0,0
+2005-09-26,3335.00,3401.02,3335.00,3400.93,0,0
+2005-09-27,3399.01,3399.06,3377.90,3384.24,0,0
+2005-09-28,3385.25,3431.14,3385.25,3429.42,0,0
+2005-09-29,3429.60,3435.20,3407.03,3412.75,0,0
+2005-09-30,3414.77,3438.76,3414.77,3428.51,0,0
+2005-10-03,3429.45,3451.34,3429.45,3449.34,0,0
+2005-10-04,3449.03,3464.24,3432.47,3464.24,0,0
+2005-10-05,3461.18,3461.18,3418.84,3418.84,0,0
+2005-10-06,3416.82,3416.82,3363.12,3384.15,0,0
+2005-10-07,3383.36,3391.60,3362.63,3374.10,0,0
+2005-10-10,3374.92,3400.78,3373.58,3381.17,0,0
+2005-10-11,3380.80,3405.63,3380.80,3387.46,0,0
+2005-10-12,3384.89,3384.89,3350.07,3359.85,0,0
+2005-10-13,3360.15,3361.28,3318.37,3331.42,0,0
+2005-10-14,3334.89,3359.52,3316.15,3349.58,0,0
+2005-10-17,3349.70,3368.42,3349.70,3356.61,0,0
+2005-10-18,3356.73,3363.54,3330.14,3334.79,0,0
+2005-10-19,3330.00,3330.00,3272.21,3279.61,0,0
+2005-10-20,3285.27,3329.92,3276.61,3284.78,0,0
+2005-10-21,3283.42,3288.77,3264.92,3271.05,0,0
+2005-10-24,3271.03,3310.13,3267.51,3310.13,0,0
+2005-10-25,3310.84,3324.13,3292.52,3292.52,0,0
+2005-10-26,3291.80,3316.32,3285.75,3304.32,0,0
+2005-10-27,3302.12,3302.12,3237.53,3241.14,0,0
+2005-10-28,3240.31,3259.63,3212.07,3245.21,0,0
+2005-10-31,3250.10,3320.15,3250.10,3319.74,0,0
+2005-11-01,3320.21,3326.84,3305.42,3312.45,0,0
+2005-11-02,3312.48,3328.88,3288.07,3320.62,0,0
+2005-11-03,3322.52,3363.60,3322.52,3361.64,0,0
+2005-11-04,3361.01,3364.71,3343.86,3355.28,0,0
+2005-11-07,3355.00,3372.34,3340.34,3362.83,0,0
+2005-11-08,3364.26,3380.86,3350.95,3361.75,0,0
+2005-11-09,3361.92,3368.86,3351.22,3355.77,0,0
+2005-11-10,3358.25,3381.06,3353.08,3361.05,0,0
+2005-11-11,3361.43,3407.64,3361.43,3406.23,0,0
+2005-11-14,3405.94,3426.51,3396.70,3412.34,0,0
+2005-11-15,3412.24,3419.91,3397.45,3413.96,0,0
+2005-11-16,3413.33,3413.33,3380.83,3391.59,0,0
+2005-11-17,3393.12,3419.64,3393.12,3404.12,0,0
+2005-11-18,3407.88,3447.66,3407.88,3427.18,0,0
+2005-11-21,3428.25,3456.53,3426.95,3450.01,0,0
+2005-11-22,3451.97,3457.13,3443.82,3450.51,0,0
+2005-11-23,3453.13,3471.43,3453.13,3471.43,0,0
+2005-11-24,3471.43,3474.27,3448.00,3459.15,0,0
+2005-11-25,3459.85,3468.63,3457.00,3466.08,0,0
+2005-11-28,3467.64,3493.40,3452.46,3453.11,0,0
+2005-11-29,3452.18,3476.79,3438.91,3463.67,0,0
+2005-11-30,3462.55,3462.55,3439.68,3447.07,0,0
+2005-12-01,3448.23,3501.54,3448.23,3501.43,0,0
+2005-12-02,3502.94,3521.05,3502.94,3519.63,0,0
+2005-12-05,3519.90,3521.32,3490.27,3499.40,0,0
+2005-12-06,3499.61,3523.94,3497.43,3516.84,0,0
+2005-12-07,3517.33,3530.71,3495.71,3505.34,0,0
+2005-12-08,3501.54,3510.38,3477.77,3510.38,0,0
+2005-12-09,3509.92,3509.92,3488.89,3500.80,0,0
+2005-12-12,3501.33,3532.38,3501.33,3514.07,0,0
+2005-12-13,3514.30,3532.51,3507.55,3528.34,0,0
+2005-12-14,3529.45,3537.46,3510.71,3519.12,0,0
+2005-12-15,3520.51,3526.74,3510.40,3522.30,0,0
+2005-12-16,3522.42,3566.64,3522.42,3556.76,0,0
+2005-12-19,3554.74,3560.98,3546.38,3551.10,0,0
+2005-12-20,3550.80,3565.25,3537.46,3561.11,0,0
+2005-12-21,3562.25,3593.58,3562.25,3591.99,0,0
+2005-12-22,3591.61,3600.10,3586.32,3591.02,0,0
+2005-12-23,3593.16,3607.94,3593.16,3599.47,0,0
+2005-12-27,3599.47,3619.61,3599.47,3612.21,0,0
+2005-12-28,3611.49,3615.39,3601.65,3605.12,0,0
+2005-12-29,3606.84,3621.89,3606.84,3616.33,0,0
+2005-12-30,3616.09,3616.09,3572.16,3578.93,0,0
+2006-01-02,3578.73,3605.95,3578.73,3604.33,0,0
+2006-01-03,3604.08,3638.42,3601.84,3614.34,0,0
+2006-01-04,3615.23,3652.46,3615.23,3652.46,0,0
+2006-01-05,3652.19,3661.65,3643.17,3650.24,0,0
+2006-01-06,3650.54,3666.99,3647.66,3666.99,0,0
+2006-01-09,3667.10,3685.99,3667.10,3671.78,0,0
+2006-01-10,3671.23,3671.23,3638.77,3644.94,0,0
+2006-01-11,3645.73,3674.31,3645.73,3668.61,0,0
+2006-01-12,3667.16,3676.00,3656.99,3670.20,0,0
+2006-01-13,3670.27,3670.27,3618.06,3629.25,0,0
+2006-01-16,3628.73,3649.10,3621.03,3644.41,0,0
+2006-01-17,3639.57,3639.57,3606.54,3610.07,0,0
+2006-01-18,3609.34,3609.34,3550.16,3570.17,0,0
+2006-01-19,3572.19,3597.34,3572.19,3593.22,0,0
+2006-01-20,3593.16,3612.37,3550.80,3550.80,0,0
+2006-01-23,3550.24,3550.24,3515.07,3544.31,0,0
+2006-01-24,3544.78,3553.16,3526.37,3532.68,0,0
+2006-01-25,3532.72,3578.00,3532.72,3578.00,0,0
+2006-01-26,3578.92,3641.42,3577.98,3641.42,0,0
+2006-01-27,3643.35,3685.48,3643.35,3685.48,0,0
+2006-01-30,3684.38,3685.65,3664.45,3677.52,0,0
+2006-01-31,3676.71,3707.63,3671.67,3691.41,0,0
+2006-02-01,3686.16,3728.80,3674.89,3728.25,0,0
+2006-02-02,3728.92,3745.14,3677.05,3677.05,0,0
+2006-02-03,3677.05,3696.00,3652.76,3678.48,0,0
+2006-02-06,3678.87,3704.17,3672.53,3682.32,0,0
+2006-02-07,3682.97,3698.63,3656.20,3680.80,0,0
+2006-02-08,3680.05,3680.05,3637.93,3671.37,0,0
+2006-02-09,3672.34,3726.81,3672.34,3726.81,0,0
+2006-02-10,3725.18,3735.14,3692.63,3695.63,0,0
+2006-02-13,3696.09,3727.46,3684.83,3727.46,0,0
+2006-02-14,3728.16,3744.66,3707.25,3734.48,0,0
+2006-02-15,3733.97,3749.36,3720.41,3729.79,0,0
+2006-02-16,3730.82,3756.47,3730.82,3756.47,0,0
+2006-02-17,3757.34,3777.16,3749.94,3767.70,0,0
+2006-02-20,3767.11,3769.16,3749.88,3766.74,0,0
+2006-02-21,3767.21,3800.78,3767.21,3779.51,0,0
+2006-02-22,3778.02,3818.48,3771.06,3818.48,0,0
+2006-02-23,3819.56,3831.16,3796.21,3813.29,0,0
+2006-02-24,3812.76,3826.00,3805.55,3826.00,0,0
+2006-02-27,3828.99,3840.56,3819.65,3840.56,0,0
+2006-02-28,3840.31,3840.31,3769.25,3774.51,0,0
+2006-03-01,3775.23,3806.34,3772.49,3806.03,0,0
+2006-03-02,3807.30,3820.55,3745.46,3763.73,0,0
+2006-03-03,3763.95,3774.03,3715.35,3733.95,0,0
+2006-03-06,3737.58,3766.47,3737.58,3754.07,0,0
+2006-03-07,3751.30,3751.30,3719.92,3745.20,0,0
+2006-03-08,3745.10,3757.16,3702.04,3727.96,0,0
+2006-03-09,3736.61,3765.56,3736.61,3757.59,0,0
+2006-03-10,3754.13,3798.46,3741.51,3798.46,0,0
+2006-03-13,3801.03,3827.45,3801.03,3824.97,0,0
+2006-03-14,3823.18,3833.48,3808.96,3833.48,0,0
+2006-03-15,3834.11,3853.33,3834.11,3842.16,0,0
+2006-03-16,3844.15,3847.88,3822.56,3839.71,0,0
+2006-03-17,3840.20,3874.64,3820.50,3832.43,0,0
+2006-03-20,3833.25,3863.95,3833.11,3842.03,0,0
+2006-03-21,3842.49,3848.17,3811.02,3848.17,0,0
+2006-03-22,3840.27,3872.62,3827.40,3868.48,0,0
+2006-03-23,3869.22,3878.49,3850.46,3860.13,0,0
+2006-03-24,3859.58,3875.01,3853.43,3870.89,0,0
+2006-03-27,3872.28,3872.28,3826.49,3828.53,0,0
+2006-03-28,3829.82,3846.52,3799.04,3811.45,0,0
+2006-03-29,3811.85,3830.70,3799.12,3826.30,0,0
+2006-03-30,3835.21,3881.69,3835.21,3874.61,0,0
+2006-03-31,3872.37,3872.37,3840.64,3853.74,0,0
+2006-04-03,3859.99,3881.11,3857.23,3878.64,0,0
+2006-04-04,3875.08,3875.08,3843.18,3850.11,0,0
+2006-04-05,3853.28,3865.82,3835.35,3863.92,0,0
+2006-04-06,3866.01,3879.70,3848.73,3861.29,0,0
+2006-04-07,3860.03,3874.59,3822.26,3823.11,0,0
+2006-04-10,3822.35,3843.52,3813.80,3843.52,0,0
+2006-04-11,3840.89,3843.62,3781.99,3788.81,0,0
+2006-04-12,3786.93,3791.15,3753.47,3776.94,0,0
+2006-04-13,3777.24,3787.52,3755.69,3779.94,0,0
+2006-04-18,3779.23,3779.23,3749.71,3770.79,0,0
+2006-04-19,3778.46,3825.18,3778.46,3820.96,0,0
+2006-04-20,3820.93,3878.29,3820.93,3860.00,0,0
+2006-04-21,3863.57,3892.35,3863.57,3888.46,0,0
+2006-04-24,3884.57,3884.57,3858.67,3862.27,0,0
+2006-04-25,3864.64,3888.65,3860.61,3871.09,0,0
+2006-04-26,3873.67,3892.16,3873.06,3887.00,0,0
+2006-04-27,3889.43,3889.43,3832.10,3865.42,0,0
+2006-04-28,3865.91,3865.91,3833.74,3839.90,0,0
+2006-05-02,3839.24,3864.19,3830.96,3862.24,0,0
+2006-05-03,3865.29,3879.31,3817.60,3821.97,0,0
+2006-05-04,3822.57,3843.66,3806.35,3843.08,0,0
+2006-05-05,3845.32,3874.32,3836.65,3874.32,0,0
+2006-05-08,3877.74,3897.40,3872.67,3877.53,0,0
+2006-05-09,3879.59,3890.94,3866.35,3890.94,0,0
+2006-05-10,3883.38,3889.78,3863.56,3863.56,0,0
+2006-05-11,3864.02,3894.60,3836.67,3837.86,0,0
+2006-05-12,3829.82,3829.82,3750.44,3750.44,0,0
+2006-05-15,3746.40,3746.40,3680.95,3711.16,0,0
+2006-05-16,3711.46,3750.12,3692.35,3730.36,0,0
+2006-05-17,3734.32,3750.42,3605.19,3605.37,0,0
+2006-05-18,3607.41,3649.54,3558.27,3606.33,0,0
+2006-05-19,3608.26,3638.38,3601.68,3625.33,0,0
+2006-05-22,3622.35,3622.35,3527.05,3539.77,0,0
+2006-05-23,3541.56,3637.39,3541.56,3620.28,0,0
+2006-05-24,3617.11,3617.11,3542.93,3574.86,0,0
+2006-05-25,3579.36,3635.00,3555.18,3635.00,0,0
+2006-05-26,3647.15,3699.80,3646.42,3699.80,0,0
+2006-05-29,3696.48,3696.48,3677.02,3679.57,0,0
+2006-05-30,3677.67,3683.30,3581.65,3590.91,0,0
+2006-05-31,3581.80,3641.83,3542.41,3637.17,0,0
+2006-06-01,3634.82,3652.84,3595.27,3648.33,0,0
+2006-06-02,3656.43,3688.89,3622.96,3636.89,0,0
+2006-06-05,3636.83,3638.59,3592.71,3604.33,0,0
+2006-06-06,3598.58,3598.58,3519.86,3529.10,0,0
+2006-06-07,3536.39,3575.67,3512.25,3562.36,0,0
+2006-06-08,3556.87,3556.87,3462.37,3462.37,0,0
+2006-06-09,3470.27,3531.70,3470.27,3520.99,0,0
+2006-06-12,3519.43,3528.27,3477.06,3480.76,0,0
+2006-06-13,3476.33,3476.33,3392.75,3408.02,0,0
+2006-06-14,3410.79,3433.72,3379.66,3414.21,0,0
+2006-06-15,3423.23,3496.64,3423.23,3493.25,0,0
+2006-06-16,3508.39,3544.27,3459.56,3463.56,0,0
+2006-06-19,3469.88,3520.51,3469.88,3490.24,0,0
+2006-06-20,3474.60,3514.83,3453.14,3514.83,0,0
+2006-06-21,3519.86,3526.86,3476.22,3526.84,0,0
+2006-06-22,3542.65,3571.24,3523.72,3544.85,0,0
+2006-06-23,3545.60,3564.06,3530.00,3550.15,0,0
+2006-06-26,3554.07,3566.55,3528.59,3534.84,0,0
+2006-06-27,3540.49,3555.94,3500.72,3506.93,0,0
+2006-06-28,3503.30,3526.09,3484.71,3506.07,0,0
+2006-06-29,3519.54,3583.90,3519.54,3582.61,0,0
+2006-06-30,3592.01,3655.02,3592.01,3648.92,0,0
+2006-07-03,3648.91,3662.92,3639.07,3662.92,0,0
+2006-07-04,3664.59,3670.75,3646.04,3670.75,0,0
+2006-07-05,3656.71,3656.71,3607.81,3618.64,0,0
+2006-07-06,3624.02,3665.54,3624.02,3662.39,0,0
+2006-07-07,3657.00,3670.45,3627.02,3651.33,0,0
+2006-07-10,3645.42,3671.09,3621.34,3666.51,0,0
+2006-07-11,3656.57,3656.65,3609.05,3617.78,0,0
+2006-07-12,3632.02,3662.83,3622.26,3630.50,0,0
+2006-07-13,3617.55,3617.55,3552.52,3562.56,0,0
+2006-07-14,3545.92,3552.04,3508.25,3508.25,0,0
+2006-07-17,3512.22,3518.34,3462.77,3498.62,0,0
+2006-07-18,3491.81,3516.31,3475.98,3492.11,0,0
+2006-07-19,3497.48,3585.65,3497.48,3585.65,0,0
+2006-07-20,3593.87,3612.48,3580.86,3589.63,0,0
+2006-07-21,3580.53,3590.68,3546.24,3557.08,0,0
+2006-07-24,3559.34,3633.50,3559.34,3632.93,0,0
+2006-07-25,3639.65,3651.74,3621.71,3631.50,0,0
+2006-07-26,3635.17,3647.02,3625.07,3640.75,0,0
+2006-07-27,3649.29,3681.55,3649.29,3681.55,0,0
+2006-07-28,3671.71,3711.41,3659.67,3710.60,0,0
+2006-07-31,3708.82,3711.52,3688.22,3691.87,0,0
+2006-08-01,3687.82,3696.52,3632.51,3640.60,0,0
+2006-08-02,3655.93,3696.77,3655.93,3696.35,0,0
+2006-08-03,3695.86,3703.38,3647.96,3667.91,0,0
+2006-08-04,3677.44,3729.29,3677.44,3718.09,0,0
+2006-08-07,3707.49,3707.49,3654.09,3659.03,0,0
+2006-08-08,3672.22,3684.78,3654.51,3668.10,0,0
+2006-08-09,3674.04,3712.22,3651.29,3707.19,0,0
+2006-08-10,3686.63,3686.63,3638.55,3675.44,0,0
+2006-08-11,3682.86,3698.24,3659.10,3675.10,0,0
+2006-08-14,3690.09,3720.39,3690.09,3719.11,0,0
+2006-08-15,3712.47,3773.87,3706.87,3766.38,0,0
+2006-08-16,3767.86,3798.63,3765.45,3790.94,0,0
+2006-08-17,3792.00,3801.01,3779.32,3800.10,0,0
+2006-08-18,3798.33,3807.48,3781.99,3791.40,0,0
+2006-08-21,3789.99,3790.58,3765.38,3777.25,0,0
+2006-08-22,3788.55,3797.51,3754.38,3792.55,0,0
+2006-08-23,3793.49,3793.49,3753.04,3758.98,0,0
+2006-08-24,3761.86,3796.84,3743.26,3781.87,0,0
+2006-08-25,3784.01,3797.91,3766.21,3781.17,0,0
+2006-08-28,3778.79,3811.84,3758.87,3808.57,0,0
+2006-08-29,3810.18,3829.39,3800.05,3806.81,0,0
+2006-08-30,3815.88,3829.40,3809.02,3817.86,0,0
+2006-08-31,3823.70,3828.06,3802.39,3808.70,0,0
+2006-09-01,3808.99,3836.22,3808.99,3820.89,0,0
+2006-09-04,3824.02,3839.30,3824.02,3837.61,0,0
+2006-09-05,3835.82,3835.82,3801.14,3817.76,0,0
+2006-09-06,3818.12,3818.36,3765.73,3772.21,0,0
+2006-09-07,3766.80,3766.80,3729.77,3739.70,0,0
+2006-09-08,3745.99,3762.09,3736.31,3750.08,0,0
+2006-09-11,3745.78,3745.78,3709.81,3742.06,0,0
+2006-09-12,3744.91,3792.73,3729.36,3788.96,0,0
+2006-09-13,3799.86,3810.07,3787.11,3805.55,0,0
+2006-09-14,3809.08,3824.77,3786.70,3796.65,0,0
+2006-09-15,3800.99,3825.15,3789.18,3812.11,0,0
+2006-09-18,3813.73,3823.92,3790.83,3808.47,0,0
+2006-09-19,3807.67,3811.25,3770.36,3780.18,0,0
+2006-09-20,3782.15,3843.26,3775.48,3841.31,0,0
+2006-09-21,3840.20,3867.74,3831.23,3857.14,0,0
+2006-09-22,3839.51,3839.65,3800.65,3812.73,0,0
+2006-09-25,3815.13,3842.67,3802.47,3822.12,0,0
+2006-09-26,3838.00,3877.79,3838.00,3872.92,0,0
+2006-09-27,3877.55,3899.04,3871.12,3896.18,0,0
+2006-09-28,3893.86,3907.41,3885.32,3894.98,0,0
+2006-09-29,3898.07,3921.15,3894.87,3899.41,0,0
+2006-10-02,3902.03,3917.40,3875.76,3892.48,0,0
+2006-10-03,3886.09,3886.09,3858.87,3880.14,0,0
+2006-10-04,3884.39,3914.73,3883.38,3914.73,0,0
+2006-10-05,3921.17,3949.47,3921.17,3939.86,0,0
+2006-10-06,3939.28,3950.06,3919.88,3940.31,0,0
+2006-10-09,3932.33,3942.17,3921.81,3939.48,0,0
+2006-10-10,3946.55,3963.20,3943.35,3960.67,0,0
+2006-10-11,3956.15,3969.72,3939.78,3967.39,0,0
+2006-10-12,3966.39,4000.49,3964.44,3999.93,0,0
+2006-10-13,4002.28,4008.67,3986.41,3999.07,0,0
+2006-10-16,4000.30,4007.38,3987.52,4001.97,0,0
+2006-10-17,3993.04,3993.33,3947.39,3949.57,0,0
+2006-10-18,3958.29,4007.17,3958.29,3991.38,0,0
+2006-10-19,3986.30,4000.76,3967.98,3986.82,0,0
+2006-10-20,3991.86,4016.63,3981.18,3998.19,0,0
+2006-10-23,4001.63,4024.75,3982.02,4019.02,0,0
+2006-10-24,4018.21,4022.87,4003.96,4014.01,0,0
+2006-10-25,4011.18,4025.56,4004.86,4019.14,0,0
+2006-10-26,4026.47,4047.54,4019.98,4027.29,0,0
+2006-10-27,4029.07,4039.77,3998.43,4017.27,0,0
+2006-10-30,4007.26,4007.26,3979.81,4004.92,0,0
+2006-10-31,4003.92,4019.84,3990.01,4004.80,0,0
+2006-11-01,4003.80,4029.57,3999.78,4014.34,0,0
+2006-11-02,4003.97,4010.72,3961.64,3974.62,0,0
+2006-11-03,3979.73,4010.44,3971.83,3990.46,0,0
+2006-11-06,3991.47,4045.22,3991.47,4045.22,0,0
+2006-11-07,4047.63,4075.99,4045.52,4072.86,0,0
+2006-11-08,4064.92,4078.99,4047.19,4073.81,0,0
+2006-11-09,4071.17,4081.70,4059.21,4073.00,0,0
+2006-11-10,4067.10,4072.42,4048.97,4063.84,0,0
+2006-11-13,4063.01,4095.55,4059.51,4086.14,0,0
+2006-11-14,4087.11,4097.05,4068.51,4084.33,0,0
+2006-11-15,4089.39,4110.53,4089.39,4108.83,0,0
+2006-11-16,4107.71,4116.79,4096.67,4109.71,0,0
+2006-11-17,4106.78,4107.24,4066.05,4078.36,0,0
+2006-11-20,4074.59,4101.04,4049.44,4096.74,0,0
+2006-11-21,4095.27,4112.27,4090.91,4096.06,0,0
+2006-11-22,4105.91,4118.40,4084.71,4094.97,0,0
+2006-11-23,4099.96,4105.18,4070.31,4085.76,0,0
+2006-11-24,4076.14,4078.44,4028.30,4048.16,0,0
+2006-11-27,4045.05,4053.68,3978.25,3978.25,0,0
+2006-11-28,3976.16,3990.75,3951.94,3975.11,0,0
+2006-11-29,3983.51,4023.89,3983.51,4023.09,0,0
+2006-11-30,4027.46,4036.72,3983.05,3987.23,0,0
+2006-12-01,3993.03,4011.96,3914.46,3932.09,0,0
+2006-12-04,3935.81,3965.16,3927.40,3962.93,0,0
+2006-12-05,3966.61,4014.55,3961.06,4007.94,0,0
+2006-12-06,4007.75,4015.80,3987.15,4002.31,0,0
+2006-12-07,3997.09,4039.25,3991.84,4018.69,0,0
+2006-12-08,4011.63,4028.14,3980.66,4019.89,0,0
+2006-12-11,4024.14,4055.74,4024.14,4052.89,0,0
+2006-12-12,4052.55,4062.20,4044.02,4059.74,0,0
+2006-12-13,4063.14,4096.28,4054.64,4094.33,0,0
+2006-12-14,4100.49,4122.89,4099.98,4118.84,0,0
+2006-12-15,4119.08,4147.38,4119.08,4140.66,0,0
+2006-12-18,4140.99,4141.46,4129.65,4130.06,0,0
+2006-12-19,4121.01,4121.01,4085.18,4100.48,0,0
+2006-12-20,4108.30,4130.80,4108.30,4118.54,0,0
+2006-12-21,4111.85,4125.27,4104.46,4112.10,0,0
+2006-12-22,4109.86,4109.86,4072.62,4073.50,0,0
+2006-12-27,4079.70,4134.86,4079.70,4134.86,0,0
+2006-12-28,4137.44,4142.06,4125.14,4130.66,0,0
+2006-12-29,4130.12,4142.01,4119.94,4119.94,0,0
diff --git a/backtrader/source/datas/2006-01-02-volume-min-001.txt b/backtrader/source/datas/2006-01-02-volume-min-001.txt
new file mode 100644
index 0000000000000000000000000000000000000000..640cf0d6a41754af3f4216651305a1a53c766d48
--- /dev/null
+++ b/backtrader/source/datas/2006-01-02-volume-min-001.txt
@@ -0,0 +1,30890 @@
+Date,Open,High,Low,Close,Volume,OpenInterest
+2006-01-02,09:01:00,3602.00,3603.00,3597.00,3599.00,5699,0
+2006-01-02,09:02:00,3600.00,3601.00,3598.00,3599.00,894,0
+2006-01-02,09:03:00,3599.00,3602.00,3598.00,3600.00,883,0
+2006-01-02,09:04:00,3599.00,3599.00,3597.00,3597.00,726,0
+2006-01-02,09:05:00,3597.00,3598.00,3596.00,3598.00,1085,0
+2006-01-02,09:06:00,3598.00,3599.00,3597.00,3598.00,963,0
+2006-01-02,09:07:00,3597.00,3599.00,3597.00,3598.00,1082,0
+2006-01-02,09:08:00,3599.00,3599.00,3597.00,3599.00,350,0
+2006-01-02,09:09:00,3599.00,3600.00,3599.00,3600.00,977,0
+2006-01-02,09:10:00,3600.00,3601.00,3600.00,3601.00,476,0
+2006-01-02,09:11:00,3600.00,3602.00,3600.00,3602.00,430,0
+2006-01-02,09:12:00,3602.00,3604.00,3602.00,3602.00,901,0
+2006-01-02,09:13:00,3602.00,3603.00,3602.00,3603.00,377,0
+2006-01-02,09:14:00,3603.00,3604.00,3603.00,3603.00,408,0
+2006-01-02,09:15:00,3604.00,3605.00,3604.00,3604.00,781,0
+2006-01-02,09:16:00,3604.00,3604.00,3602.00,3602.00,1307,0
+2006-01-02,09:17:00,3603.00,3604.00,3602.00,3603.00,889,0
+2006-01-02,09:18:00,3603.00,3604.00,3602.00,3602.00,290,0
+2006-01-02,09:19:00,3603.00,3604.00,3603.00,3604.00,224,0
+2006-01-02,09:20:00,3603.00,3604.00,3603.00,3604.00,224,0
+2006-01-02,09:21:00,3603.00,3605.00,3603.00,3604.00,329,0
+2006-01-02,09:22:00,3604.00,3605.00,3604.00,3605.00,232,0
+2006-01-02,09:23:00,3604.00,3605.00,3604.00,3604.00,775,0
+2006-01-02,09:24:00,3605.00,3605.00,3604.00,3604.00,153,0
+2006-01-02,09:25:00,3605.00,3605.00,3603.00,3604.00,415,0
+2006-01-02,09:26:00,3604.00,3605.00,3603.00,3603.00,284,0
+2006-01-02,09:27:00,3603.00,3604.00,3603.00,3603.00,154,0
+2006-01-02,09:28:00,3603.00,3604.00,3603.00,3604.00,315,0
+2006-01-02,09:29:00,3603.00,3604.00,3603.00,3604.00,31,0
+2006-01-02,09:30:00,3604.00,3605.00,3603.00,3604.00,546,0
+2006-01-02,09:31:00,3604.00,3606.00,3604.00,3606.00,438,0
+2006-01-02,09:32:00,3605.00,3606.00,3605.00,3606.00,1266,0
+2006-01-02,09:33:00,3606.00,3608.00,3606.00,3607.00,1415,0
+2006-01-02,09:34:00,3607.00,3608.00,3607.00,3608.00,288,0
+2006-01-02,09:35:00,3608.00,3612.00,3608.00,3612.00,2239,0
+2006-01-02,09:36:00,3611.00,3614.00,3611.00,3614.00,2137,0
+2006-01-02,09:37:00,3614.00,3616.00,3614.00,3616.00,1716,0
+2006-01-02,09:38:00,3616.00,3617.00,3615.00,3616.00,1618,0
+2006-01-02,09:39:00,3615.00,3616.00,3615.00,3615.00,715,0
+2006-01-02,09:40:00,3616.00,3617.00,3616.00,3617.00,849,0
+2006-01-02,09:41:00,3617.00,3618.00,3616.00,3618.00,977,0
+2006-01-02,09:42:00,3618.00,3619.00,3617.00,3618.00,1135,0
+2006-01-02,09:43:00,3618.00,3619.00,3618.00,3618.00,358,0
+2006-01-02,09:44:00,3618.00,3619.00,3618.00,3618.00,328,0
+2006-01-02,09:45:00,3618.00,3619.00,3617.00,3617.00,953,0
+2006-01-02,09:46:00,3617.00,3618.00,3617.00,3617.00,1233,0
+2006-01-02,09:47:00,3617.00,3617.00,3616.00,3617.00,282,0
+2006-01-02,09:48:00,3617.00,3617.00,3616.00,3617.00,139,0
+2006-01-02,09:49:00,3616.00,3616.00,3615.00,3616.00,288,0
+2006-01-02,09:50:00,3616.00,3616.00,3615.00,3615.00,775,0
+2006-01-02,09:51:00,3615.00,3616.00,3615.00,3615.00,242,0
+2006-01-02,09:52:00,3615.00,3616.00,3615.00,3615.00,279,0
+2006-01-02,09:53:00,3615.00,3615.00,3614.00,3614.00,459,0
+2006-01-02,09:54:00,3615.00,3615.00,3614.00,3615.00,77,0
+2006-01-02,09:55:00,3614.00,3615.00,3613.00,3614.00,758,0
+2006-01-02,09:56:00,3613.00,3614.00,3613.00,3613.00,773,0
+2006-01-02,09:57:00,3613.00,3613.00,3613.00,3613.00,351,0
+2006-01-02,09:58:00,3612.00,3613.00,3612.00,3613.00,293,0
+2006-01-02,09:59:00,3612.00,3612.00,3611.00,3612.00,907,0
+2006-01-02,10:00:00,3612.00,3614.00,3612.00,3613.00,852,0
+2006-01-02,10:01:00,3613.00,3615.00,3613.00,3614.00,554,0
+2006-01-02,10:02:00,3614.00,3615.00,3614.00,3615.00,93,0
+2006-01-02,10:03:00,3615.00,3615.00,3614.00,3615.00,542,0
+2006-01-02,10:04:00,3615.00,3616.00,3615.00,3615.00,328,0
+2006-01-02,10:05:00,3616.00,3616.00,3615.00,3615.00,142,0
+2006-01-02,10:06:00,3615.00,3616.00,3615.00,3616.00,793,0
+2006-01-02,10:07:00,3616.00,3616.00,3615.00,3616.00,326,0
+2006-01-02,10:08:00,3616.00,3616.00,3614.00,3615.00,840,0
+2006-01-02,10:09:00,3614.00,3615.00,3613.00,3614.00,868,0
+2006-01-02,10:10:00,3614.00,3614.00,3613.00,3613.00,244,0
+2006-01-02,10:11:00,3613.00,3614.00,3612.00,3613.00,107,0
+2006-01-02,10:12:00,3612.00,3612.00,3612.00,3612.00,22,0
+2006-01-02,10:13:00,3612.00,3613.00,3612.00,3613.00,39,0
+2006-01-02,10:14:00,3612.00,3612.00,3612.00,3612.00,176,0
+2006-01-02,10:15:00,3612.00,3612.00,3611.00,3612.00,399,0
+2006-01-02,10:16:00,3612.00,3612.00,3612.00,3612.00,55,0
+2006-01-02,10:17:00,3613.00,3613.00,3612.00,3613.00,26,0
+2006-01-02,10:18:00,3612.00,3612.00,3612.00,3612.00,2,0
+2006-01-02,10:19:00,3613.00,3614.00,3613.00,3614.00,1320,0
+2006-01-02,10:20:00,3613.00,3614.00,3613.00,3613.00,371,0
+2006-01-02,10:21:00,3613.00,3613.00,3613.00,3613.00,66,0
+2006-01-02,10:22:00,3613.00,3614.00,3613.00,3614.00,580,0
+2006-01-02,10:23:00,3615.00,3615.00,3615.00,3615.00,4,0
+2006-01-02,10:24:00,3614.00,3615.00,3614.00,3615.00,14,0
+2006-01-02,10:25:00,3614.00,3615.00,3613.00,3613.00,856,0
+2006-01-02,10:26:00,3614.00,3614.00,3614.00,3614.00,47,0
+2006-01-02,10:27:00,3614.00,3614.00,3613.00,3614.00,28,0
+2006-01-02,10:28:00,3614.00,3614.00,3614.00,3614.00,25,0
+2006-01-02,10:29:00,3613.00,3614.00,3613.00,3614.00,214,0
+2006-01-02,10:30:00,3613.00,3614.00,3613.00,3614.00,112,0
+2006-01-02,10:31:00,3614.00,3614.00,3614.00,3614.00,183,0
+2006-01-02,10:34:00,3614.00,3614.00,3614.00,3614.00,841,0
+2006-01-02,10:35:00,3614.00,3614.00,3614.00,3614.00,17,0
+2006-01-02,10:36:00,3615.00,3615.00,3615.00,3615.00,2,0
+2006-01-02,10:37:00,3615.00,3615.00,3615.00,3615.00,2,0
+2006-01-02,10:38:00,3615.00,3615.00,3614.00,3614.00,31,0
+2006-01-02,10:39:00,3615.00,3615.00,3614.00,3614.00,10,0
+2006-01-02,10:40:00,3614.00,3615.00,3614.00,3615.00,4,0
+2006-01-02,10:41:00,3615.00,3615.00,3614.00,3614.00,1802,0
+2006-01-02,10:42:00,3615.00,3615.00,3614.00,3614.00,15,0
+2006-01-02,10:43:00,3614.00,3615.00,3614.00,3615.00,72,0
+2006-01-02,10:44:00,3615.00,3615.00,3615.00,3615.00,76,0
+2006-01-02,10:45:00,3614.00,3615.00,3614.00,3615.00,292,0
+2006-01-02,10:46:00,3615.00,3615.00,3615.00,3615.00,1,0
+2006-01-02,10:47:00,3615.00,3615.00,3614.00,3615.00,315,0
+2006-01-02,10:48:00,3614.00,3615.00,3614.00,3614.00,633,0
+2006-01-02,10:49:00,3614.00,3614.00,3614.00,3614.00,110,0
+2006-01-02,10:50:00,3614.00,3615.00,3614.00,3614.00,219,0
+2006-01-02,10:51:00,3614.00,3615.00,3614.00,3614.00,35,0
+2006-01-02,10:52:00,3615.00,3615.00,3614.00,3614.00,202,0
+2006-01-02,10:53:00,3614.00,3614.00,3614.00,3614.00,80,0
+2006-01-02,10:54:00,3613.00,3614.00,3613.00,3614.00,126,0
+2006-01-02,10:55:00,3614.00,3614.00,3613.00,3613.00,476,0
+2006-01-02,10:56:00,3614.00,3614.00,3613.00,3613.00,33,0
+2006-01-02,10:57:00,3613.00,3614.00,3613.00,3614.00,57,0
+2006-01-02,10:58:00,3614.00,3614.00,3613.00,3614.00,51,0
+2006-01-02,10:59:00,3614.00,3614.00,3613.00,3613.00,737,0
+2006-01-02,11:00:00,3613.00,3613.00,3613.00,3613.00,26,0
+2006-01-02,11:01:00,3613.00,3613.00,3613.00,3613.00,314,0
+2006-01-02,11:02:00,3612.00,3614.00,3612.00,3614.00,197,0
+2006-01-02,11:03:00,3613.00,3613.00,3612.00,3613.00,363,0
+2006-01-02,11:04:00,3613.00,3613.00,3612.00,3613.00,34,0
+2006-01-02,11:05:00,3613.00,3613.00,3613.00,3613.00,60,0
+2006-01-02,11:07:00,3613.00,3613.00,3613.00,3613.00,587,0
+2006-01-02,11:08:00,3613.00,3613.00,3612.00,3612.00,15,0
+2006-01-02,11:10:00,3612.00,3613.00,3612.00,3612.00,64,0
+2006-01-02,11:11:00,3613.00,3613.00,3613.00,3613.00,81,0
+2006-01-02,11:12:00,3612.00,3612.00,3612.00,3612.00,19,0
+2006-01-02,11:13:00,3612.00,3612.00,3612.00,3612.00,25,0
+2006-01-02,11:14:00,3612.00,3612.00,3611.00,3612.00,419,0
+2006-01-02,11:15:00,3612.00,3612.00,3611.00,3611.00,604,0
+2006-01-02,11:16:00,3611.00,3611.00,3610.00,3610.00,1069,0
+2006-01-02,11:17:00,3611.00,3611.00,3608.00,3608.00,1991,0
+2006-01-02,11:18:00,3608.00,3608.00,3606.00,3606.00,1091,0
+2006-01-02,11:19:00,3606.00,3606.00,3605.00,3605.00,213,0
+2006-01-02,11:20:00,3605.00,3606.00,3604.00,3604.00,274,0
+2006-01-02,11:21:00,3604.00,3604.00,3604.00,3604.00,66,0
+2006-01-02,11:22:00,3604.00,3606.00,3604.00,3605.00,330,0
+2006-01-02,11:23:00,3606.00,3606.00,3605.00,3605.00,628,0
+2006-01-02,11:24:00,3606.00,3607.00,3605.00,3607.00,353,0
+2006-01-02,11:25:00,3606.00,3606.00,3605.00,3606.00,991,0
+2006-01-02,11:26:00,3606.00,3608.00,3606.00,3606.00,349,0
+2006-01-02,11:27:00,3607.00,3608.00,3607.00,3607.00,100,0
+2006-01-02,11:28:00,3607.00,3607.00,3606.00,3606.00,447,0
+2006-01-02,11:29:00,3607.00,3608.00,3607.00,3607.00,77,0
+2006-01-02,11:30:00,3607.00,3608.00,3607.00,3608.00,389,0
+2006-01-02,11:31:00,3608.00,3609.00,3608.00,3608.00,529,0
+2006-01-02,11:32:00,3608.00,3609.00,3608.00,3609.00,678,0
+2006-01-02,11:33:00,3609.00,3610.00,3608.00,3608.00,561,0
+2006-01-02,11:34:00,3609.00,3609.00,3608.00,3608.00,134,0
+2006-01-02,11:35:00,3609.00,3609.00,3608.00,3608.00,371,0
+2006-01-02,11:36:00,3609.00,3609.00,3608.00,3609.00,190,0
+2006-01-02,11:37:00,3609.00,3610.00,3609.00,3610.00,375,0
+2006-01-02,11:38:00,3609.00,3610.00,3609.00,3609.00,112,0
+2006-01-02,11:39:00,3608.00,3609.00,3608.00,3609.00,112,0
+2006-01-02,11:40:00,3609.00,3609.00,3608.00,3608.00,52,0
+2006-01-02,11:41:00,3609.00,3609.00,3609.00,3609.00,16,0
+2006-01-02,11:42:00,3608.00,3609.00,3608.00,3609.00,85,0
+2006-01-02,11:43:00,3609.00,3610.00,3609.00,3609.00,67,0
+2006-01-02,11:44:00,3610.00,3610.00,3610.00,3610.00,60,0
+2006-01-02,11:45:00,3609.00,3609.00,3609.00,3609.00,216,0
+2006-01-02,11:46:00,3609.00,3610.00,3609.00,3610.00,169,0
+2006-01-02,11:47:00,3609.00,3610.00,3609.00,3610.00,305,0
+2006-01-02,11:48:00,3610.00,3611.00,3610.00,3611.00,145,0
+2006-01-02,11:49:00,3611.00,3611.00,3610.00,3610.00,39,0
+2006-01-02,11:50:00,3611.00,3612.00,3610.00,3612.00,290,0
+2006-01-02,11:51:00,3611.00,3612.00,3611.00,3612.00,37,0
+2006-01-02,11:52:00,3611.00,3612.00,3611.00,3611.00,1955,0
+2006-01-02,11:53:00,3612.00,3612.00,3612.00,3612.00,1273,0
+2006-01-02,11:54:00,3612.00,3613.00,3612.00,3613.00,423,0
+2006-01-02,11:55:00,3613.00,3613.00,3612.00,3612.00,29,0
+2006-01-02,11:56:00,3613.00,3613.00,3612.00,3613.00,37,0
+2006-01-02,11:57:00,3613.00,3613.00,3612.00,3613.00,35,0
+2006-01-02,11:58:00,3613.00,3613.00,3612.00,3613.00,127,0
+2006-01-02,11:59:00,3612.00,3612.00,3611.00,3612.00,196,0
+2006-01-02,12:00:00,3612.00,3612.00,3611.00,3611.00,5,0
+2006-01-02,12:01:00,3611.00,3612.00,3611.00,3612.00,399,0
+2006-01-02,12:02:00,3612.00,3613.00,3612.00,3613.00,221,0
+2006-01-02,12:03:00,3613.00,3613.00,3613.00,3613.00,3,0
+2006-01-02,12:04:00,3613.00,3613.00,3612.00,3613.00,17,0
+2006-01-02,12:05:00,3613.00,3613.00,3612.00,3612.00,6,0
+2006-01-02,12:06:00,3613.00,3613.00,3612.00,3613.00,603,0
+2006-01-02,12:07:00,3613.00,3613.00,3612.00,3612.00,7,0
+2006-01-02,12:08:00,3612.00,3612.00,3612.00,3612.00,15,0
+2006-01-02,12:09:00,3613.00,3613.00,3612.00,3612.00,1,0
+2006-01-02,12:10:00,3612.00,3612.00,3612.00,3612.00,7,0
+2006-01-02,12:11:00,3612.00,3613.00,3612.00,3612.00,54,0
+2006-01-02,12:12:00,3612.00,3613.00,3612.00,3612.00,238,0
+2006-01-02,12:13:00,3612.00,3613.00,3612.00,3612.00,28,0
+2006-01-02,12:14:00,3613.00,3613.00,3612.00,3612.00,68,0
+2006-01-02,12:15:00,3613.00,3613.00,3612.00,3613.00,194,0
+2006-01-02,12:16:00,3614.00,3614.00,3613.00,3613.00,895,0
+2006-01-02,12:17:00,3614.00,3614.00,3613.00,3614.00,130,0
+2006-01-02,12:18:00,3614.00,3614.00,3614.00,3614.00,20,0
+2006-01-02,12:19:00,3614.00,3614.00,3613.00,3614.00,516,0
+2006-01-02,12:20:00,3613.00,3614.00,3613.00,3614.00,287,0
+2006-01-02,12:21:00,3614.00,3614.00,3614.00,3614.00,159,0
+2006-01-02,12:22:00,3614.00,3615.00,3614.00,3614.00,237,0
+2006-01-02,12:23:00,3614.00,3614.00,3614.00,3614.00,47,0
+2006-01-02,12:24:00,3614.00,3615.00,3613.00,3613.00,134,0
+2006-01-02,12:25:00,3613.00,3614.00,3613.00,3613.00,121,0
+2006-01-02,12:26:00,3614.00,3614.00,3613.00,3613.00,14,0
+2006-01-02,12:27:00,3613.00,3614.00,3613.00,3614.00,36,0
+2006-01-02,12:29:00,3614.00,3614.00,3613.00,3614.00,14,0
+2006-01-02,12:31:00,3614.00,3614.00,3613.00,3614.00,8,0
+2006-01-02,12:32:00,3614.00,3614.00,3613.00,3613.00,88,0
+2006-01-02,12:33:00,3614.00,3614.00,3613.00,3613.00,2,0
+2006-01-02,12:34:00,3613.00,3613.00,3612.00,3613.00,163,0
+2006-01-02,12:35:00,3613.00,3613.00,3613.00,3613.00,5,0
+2006-01-02,12:37:00,3612.00,3612.00,3612.00,3612.00,1,0
+2006-01-02,12:39:00,3612.00,3612.00,3612.00,3612.00,5,0
+2006-01-02,12:40:00,3613.00,3613.00,3612.00,3612.00,395,0
+2006-01-02,12:41:00,3612.00,3612.00,3612.00,3612.00,74,0
+2006-01-02,12:42:00,3612.00,3612.00,3611.00,3612.00,133,0
+2006-01-02,12:43:00,3612.00,3612.00,3611.00,3611.00,578,0
+2006-01-02,12:44:00,3611.00,3612.00,3611.00,3612.00,25,0
+2006-01-02,12:46:00,3611.00,3611.00,3611.00,3611.00,47,0
+2006-01-02,12:47:00,3611.00,3611.00,3611.00,3611.00,520,0
+2006-01-02,12:48:00,3611.00,3611.00,3610.00,3610.00,751,0
+2006-01-02,12:49:00,3611.00,3611.00,3610.00,3610.00,37,0
+2006-01-02,12:51:00,3610.00,3610.00,3610.00,3610.00,16,0
+2006-01-02,12:52:00,3610.00,3610.00,3609.00,3609.00,156,0
+2006-01-02,12:53:00,3610.00,3610.00,3609.00,3610.00,244,0
+2006-01-02,12:54:00,3610.00,3610.00,3610.00,3610.00,10,0
+2006-01-02,12:56:00,3610.00,3610.00,3610.00,3610.00,192,0
+2006-01-02,12:58:00,3609.00,3610.00,3609.00,3610.00,37,0
+2006-01-02,12:59:00,3610.00,3610.00,3610.00,3610.00,235,0
+2006-01-02,13:01:00,3609.00,3610.00,3609.00,3610.00,54,0
+2006-01-02,13:02:00,3610.00,3610.00,3609.00,3609.00,349,0
+2006-01-02,13:03:00,3609.00,3609.00,3609.00,3609.00,4,0
+2006-01-02,13:04:00,3610.00,3610.00,3610.00,3610.00,43,0
+2006-01-02,13:05:00,3610.00,3610.00,3609.00,3609.00,46,0
+2006-01-02,13:06:00,3609.00,3610.00,3609.00,3610.00,13,0
+2006-01-02,13:07:00,3609.00,3610.00,3609.00,3610.00,10,0
+2006-01-02,13:08:00,3609.00,3610.00,3609.00,3610.00,9,0
+2006-01-02,13:09:00,3610.00,3610.00,3609.00,3610.00,67,0
+2006-01-02,13:10:00,3610.00,3610.00,3609.00,3609.00,274,0
+2006-01-02,13:11:00,3609.00,3609.00,3609.00,3609.00,111,0
+2006-01-02,13:12:00,3609.00,3609.00,3609.00,3609.00,21,0
+2006-01-02,13:14:00,3609.00,3609.00,3609.00,3609.00,14,0
+2006-01-02,13:15:00,3609.00,3609.00,3609.00,3609.00,9,0
+2006-01-02,13:16:00,3609.00,3610.00,3609.00,3610.00,246,0
+2006-01-02,13:17:00,3610.00,3610.00,3608.00,3608.00,224,0
+2006-01-02,13:18:00,3609.00,3609.00,3608.00,3609.00,115,0
+2006-01-02,13:19:00,3609.00,3609.00,3608.00,3608.00,141,0
+2006-01-02,13:20:00,3608.00,3608.00,3608.00,3608.00,4,0
+2006-01-02,13:21:00,3609.00,3609.00,3609.00,3609.00,245,0
+2006-01-02,13:22:00,3609.00,3609.00,3609.00,3609.00,4,0
+2006-01-02,13:23:00,3610.00,3610.00,3610.00,3610.00,8,0
+2006-01-02,13:25:00,3609.00,3610.00,3609.00,3610.00,17,0
+2006-01-02,13:26:00,3609.00,3609.00,3609.00,3609.00,8,0
+2006-01-02,13:27:00,3610.00,3610.00,3610.00,3610.00,419,0
+2006-01-02,13:28:00,3610.00,3610.00,3609.00,3610.00,88,0
+2006-01-02,13:29:00,3609.00,3610.00,3609.00,3610.00,10,0
+2006-01-02,13:30:00,3610.00,3610.00,3609.00,3610.00,128,0
+2006-01-02,13:31:00,3609.00,3610.00,3609.00,3610.00,6,0
+2006-01-02,13:32:00,3610.00,3610.00,3609.00,3610.00,167,0
+2006-01-02,13:33:00,3609.00,3609.00,3609.00,3609.00,135,0
+2006-01-02,13:34:00,3609.00,3610.00,3609.00,3609.00,94,0
+2006-01-02,13:35:00,3609.00,3609.00,3609.00,3609.00,7,0
+2006-01-02,13:36:00,3609.00,3609.00,3609.00,3609.00,5,0
+2006-01-02,13:37:00,3609.00,3609.00,3609.00,3609.00,140,0
+2006-01-02,13:38:00,3610.00,3610.00,3610.00,3610.00,10,0
+2006-01-02,13:39:00,3610.00,3610.00,3609.00,3610.00,150,0
+2006-01-02,13:40:00,3609.00,3609.00,3607.00,3609.00,127,0
+2006-01-02,13:41:00,3608.00,3609.00,3608.00,3608.00,64,0
+2006-01-02,13:42:00,3608.00,3608.00,3608.00,3608.00,1,0
+2006-01-02,13:43:00,3608.00,3609.00,3608.00,3608.00,83,0
+2006-01-02,13:44:00,3608.00,3609.00,3608.00,3608.00,156,0
+2006-01-02,13:45:00,3609.00,3609.00,3608.00,3609.00,23,0
+2006-01-02,13:46:00,3608.00,3608.00,3608.00,3608.00,332,0
+2006-01-02,13:47:00,3608.00,3608.00,3608.00,3608.00,20,0
+2006-01-02,13:48:00,3608.00,3608.00,3607.00,3608.00,226,0
+2006-01-02,13:49:00,3608.00,3608.00,3607.00,3608.00,844,0
+2006-01-02,13:50:00,3608.00,3608.00,3607.00,3608.00,10,0
+2006-01-02,13:51:00,3607.00,3607.00,3607.00,3607.00,41,0
+2006-01-02,13:52:00,3608.00,3608.00,3608.00,3608.00,20,0
+2006-01-02,13:53:00,3607.00,3607.00,3607.00,3607.00,180,0
+2006-01-02,13:55:00,3607.00,3607.00,3607.00,3607.00,5,0
+2006-01-02,13:57:00,3607.00,3607.00,3607.00,3607.00,231,0
+2006-01-02,13:58:00,3607.00,3607.00,3607.00,3607.00,15,0
+2006-01-02,13:59:00,3607.00,3607.00,3607.00,3607.00,5,0
+2006-01-02,14:00:00,3607.00,3607.00,3607.00,3607.00,106,0
+2006-01-02,14:01:00,3608.00,3608.00,3607.00,3608.00,330,0
+2006-01-02,14:03:00,3608.00,3608.00,3607.00,3608.00,3,0
+2006-01-02,14:04:00,3608.00,3608.00,3607.00,3607.00,18,0
+2006-01-02,14:06:00,3608.00,3608.00,3607.00,3607.00,7,0
+2006-01-02,14:07:00,3607.00,3607.00,3607.00,3607.00,210,0
+2006-01-02,14:09:00,3606.00,3607.00,3606.00,3607.00,6,0
+2006-01-02,14:10:00,3607.00,3607.00,3607.00,3607.00,45,0
+2006-01-02,14:11:00,3606.00,3607.00,3606.00,3607.00,225,0
+2006-01-02,14:12:00,3608.00,3608.00,3607.00,3608.00,15,0
+2006-01-02,14:13:00,3608.00,3608.00,3608.00,3608.00,209,0
+2006-01-02,14:14:00,3607.00,3608.00,3607.00,3608.00,160,0
+2006-01-02,14:15:00,3608.00,3608.00,3607.00,3607.00,43,0
+2006-01-02,14:16:00,3608.00,3608.00,3608.00,3608.00,52,0
+2006-01-02,14:17:00,3608.00,3608.00,3608.00,3608.00,7,0
+2006-01-02,14:18:00,3608.00,3608.00,3607.00,3608.00,51,0
+2006-01-02,14:19:00,3608.00,3608.00,3608.00,3608.00,318,0
+2006-01-02,14:20:00,3608.00,3608.00,3607.00,3608.00,113,0
+2006-01-02,14:21:00,3608.00,3608.00,3607.00,3608.00,77,0
+2006-01-02,14:22:00,3608.00,3608.00,3607.00,3608.00,21,0
+2006-01-02,14:23:00,3608.00,3608.00,3607.00,3607.00,15,0
+2006-01-02,14:25:00,3608.00,3608.00,3608.00,3608.00,2,0
+2006-01-02,14:26:00,3608.00,3608.00,3607.00,3607.00,127,0
+2006-01-02,14:27:00,3608.00,3608.00,3608.00,3608.00,34,0
+2006-01-02,14:28:00,3608.00,3608.00,3607.00,3608.00,117,0
+2006-01-02,14:29:00,3608.00,3608.00,3608.00,3608.00,53,0
+2006-01-02,14:30:00,3608.00,3608.00,3607.00,3607.00,21,0
+2006-01-02,14:31:00,3608.00,3608.00,3608.00,3608.00,26,0
+2006-01-02,14:32:00,3608.00,3608.00,3608.00,3608.00,133,0
+2006-01-02,14:33:00,3608.00,3608.00,3608.00,3608.00,27,0
+2006-01-02,14:34:00,3608.00,3608.00,3608.00,3608.00,5,0
+2006-01-02,14:35:00,3608.00,3608.00,3608.00,3608.00,16,0
+2006-01-02,14:36:00,3608.00,3609.00,3608.00,3609.00,53,0
+2006-01-02,14:37:00,3609.00,3609.00,3608.00,3608.00,80,0
+2006-01-02,14:38:00,3609.00,3609.00,3608.00,3609.00,104,0
+2006-01-02,14:39:00,3609.00,3609.00,3608.00,3609.00,35,0
+2006-01-02,14:40:00,3609.00,3609.00,3608.00,3609.00,120,0
+2006-01-02,14:41:00,3609.00,3609.00,3608.00,3609.00,33,0
+2006-01-02,14:42:00,3608.00,3609.00,3608.00,3609.00,6,0
+2006-01-02,14:43:00,3608.00,3608.00,3608.00,3608.00,15,0
+2006-01-02,14:45:00,3608.00,3609.00,3608.00,3609.00,70,0
+2006-01-02,14:46:00,3609.00,3609.00,3608.00,3608.00,211,0
+2006-01-02,14:47:00,3610.00,3610.00,3608.00,3608.00,92,0
+2006-01-02,14:48:00,3608.00,3608.00,3608.00,3608.00,301,0
+2006-01-02,14:49:00,3608.00,3609.00,3608.00,3609.00,2,0
+2006-01-02,14:51:00,3608.00,3609.00,3608.00,3609.00,8,0
+2006-01-02,14:52:00,3608.00,3608.00,3608.00,3608.00,8,0
+2006-01-02,14:53:00,3609.00,3609.00,3608.00,3608.00,107,0
+2006-01-02,14:56:00,3609.00,3609.00,3608.00,3608.00,11,0
+2006-01-02,14:57:00,3609.00,3610.00,3609.00,3610.00,238,0
+2006-01-02,14:58:00,3609.00,3609.00,3609.00,3609.00,6,0
+2006-01-02,14:59:00,3609.00,3609.00,3609.00,3609.00,96,0
+2006-01-02,15:00:00,3610.00,3610.00,3609.00,3609.00,85,0
+2006-01-02,15:01:00,3609.00,3609.00,3608.00,3608.00,45,0
+2006-01-02,15:02:00,3609.00,3610.00,3609.00,3610.00,50,0
+2006-01-02,15:03:00,3609.00,3609.00,3609.00,3609.00,13,0
+2006-01-02,15:04:00,3609.00,3610.00,3609.00,3610.00,51,0
+2006-01-02,15:05:00,3609.00,3610.00,3609.00,3610.00,7,0
+2006-01-02,15:06:00,3609.00,3609.00,3609.00,3609.00,295,0
+2006-01-02,15:08:00,3610.00,3610.00,3610.00,3610.00,32,0
+2006-01-02,15:09:00,3610.00,3610.00,3610.00,3610.00,10,0
+2006-01-02,15:11:00,3609.00,3609.00,3609.00,3609.00,9,0
+2006-01-02,15:13:00,3610.00,3610.00,3609.00,3609.00,12,0
+2006-01-02,15:14:00,3609.00,3609.00,3609.00,3609.00,31,0
+2006-01-02,15:15:00,3609.00,3609.00,3609.00,3609.00,5,0
+2006-01-02,15:16:00,3610.00,3610.00,3610.00,3610.00,51,0
+2006-01-02,15:17:00,3610.00,3610.00,3609.00,3610.00,95,0
+2006-01-02,15:18:00,3609.00,3611.00,3609.00,3611.00,298,0
+2006-01-02,15:19:00,3610.00,3613.00,3610.00,3613.00,815,0
+2006-01-02,15:20:00,3613.00,3613.00,3612.00,3613.00,18,0
+2006-01-02,15:21:00,3613.00,3613.00,3612.00,3613.00,61,0
+2006-01-02,15:22:00,3613.00,3613.00,3612.00,3612.00,9,0
+2006-01-02,15:23:00,3613.00,3613.00,3612.00,3612.00,157,0
+2006-01-02,15:24:00,3613.00,3613.00,3612.00,3612.00,197,0
+2006-01-02,15:25:00,3613.00,3613.00,3612.00,3612.00,665,0
+2006-01-02,15:26:00,3613.00,3613.00,3613.00,3613.00,24,0
+2006-01-02,15:27:00,3613.00,3614.00,3613.00,3613.00,41,0
+2006-01-02,15:28:00,3613.00,3613.00,3613.00,3613.00,19,0
+2006-01-02,15:29:00,3613.00,3614.00,3613.00,3614.00,40,0
+2006-01-02,15:30:00,3613.00,3614.00,3613.00,3613.00,29,0
+2006-01-02,15:31:00,3613.00,3614.00,3613.00,3614.00,317,0
+2006-01-02,15:32:00,3614.00,3615.00,3614.00,3614.00,521,0
+2006-01-02,15:33:00,3614.00,3614.00,3613.00,3614.00,13,0
+2006-01-02,15:34:00,3613.00,3614.00,3613.00,3614.00,6,0
+2006-01-02,15:35:00,3614.00,3614.00,3613.00,3614.00,70,0
+2006-01-02,15:36:00,3613.00,3614.00,3613.00,3614.00,66,0
+2006-01-02,15:37:00,3615.00,3615.00,3614.00,3615.00,99,0
+2006-01-02,15:38:00,3614.00,3615.00,3614.00,3615.00,326,0
+2006-01-02,15:39:00,3615.00,3616.00,3615.00,3616.00,279,0
+2006-01-02,15:40:00,3616.00,3616.00,3615.00,3615.00,190,0
+2006-01-02,15:41:00,3616.00,3616.00,3615.00,3615.00,61,0
+2006-01-02,15:42:00,3615.00,3615.00,3615.00,3615.00,1,0
+2006-01-02,15:43:00,3615.00,3615.00,3615.00,3615.00,1,0
+2006-01-02,15:44:00,3615.00,3616.00,3615.00,3615.00,282,0
+2006-01-02,15:45:00,3616.00,3616.00,3615.00,3616.00,301,0
+2006-01-02,15:46:00,3615.00,3616.00,3615.00,3616.00,107,0
+2006-01-02,15:47:00,3615.00,3616.00,3615.00,3616.00,251,0
+2006-01-02,15:48:00,3615.00,3616.00,3615.00,3616.00,71,0
+2006-01-02,15:49:00,3616.00,3616.00,3616.00,3616.00,61,0
+2006-01-02,15:50:00,3617.00,3617.00,3616.00,3616.00,178,0
+2006-01-02,15:51:00,3616.00,3616.00,3615.00,3615.00,117,0
+2006-01-02,15:52:00,3615.00,3615.00,3615.00,3615.00,95,0
+2006-01-02,15:53:00,3615.00,3616.00,3615.00,3616.00,20,0
+2006-01-02,15:54:00,3616.00,3616.00,3614.00,3616.00,492,0
+2006-01-02,15:55:00,3615.00,3616.00,3615.00,3616.00,52,0
+2006-01-02,15:56:00,3615.00,3616.00,3615.00,3616.00,30,0
+2006-01-02,15:57:00,3616.00,3616.00,3615.00,3616.00,228,0
+2006-01-02,15:58:00,3616.00,3616.00,3614.00,3615.00,270,0
+2006-01-02,15:59:00,3614.00,3615.00,3614.00,3615.00,77,0
+2006-01-02,16:00:00,3614.00,3615.00,3614.00,3614.00,152,0
+2006-01-02,16:01:00,3614.00,3615.00,3614.00,3615.00,305,0
+2006-01-02,16:03:00,3615.00,3615.00,3614.00,3614.00,15,0
+2006-01-02,16:04:00,3614.00,3615.00,3614.00,3615.00,449,0
+2006-01-02,16:05:00,3614.00,3615.00,3614.00,3614.00,8,0
+2006-01-02,16:06:00,3614.00,3614.00,3614.00,3614.00,5,0
+2006-01-02,16:07:00,3614.00,3614.00,3614.00,3614.00,18,0
+2006-01-02,16:08:00,3614.00,3615.00,3614.00,3614.00,57,0
+2006-01-02,16:09:00,3614.00,3614.00,3614.00,3614.00,188,0
+2006-01-02,16:12:00,3614.00,3614.00,3613.00,3613.00,293,0
+2006-01-02,16:13:00,3613.00,3613.00,3613.00,3613.00,85,0
+2006-01-02,16:14:00,3613.00,3614.00,3613.00,3613.00,105,0
+2006-01-02,16:15:00,3613.00,3613.00,3613.00,3613.00,14,0
+2006-01-02,16:16:00,3613.00,3614.00,3613.00,3614.00,43,0
+2006-01-02,16:17:00,3613.00,3614.00,3613.00,3614.00,55,0
+2006-01-02,16:18:00,3613.00,3613.00,3613.00,3613.00,3,0
+2006-01-02,16:19:00,3614.00,3614.00,3613.00,3613.00,6,0
+2006-01-02,16:20:00,3614.00,3614.00,3614.00,3614.00,268,0
+2006-01-02,16:21:00,3615.00,3615.00,3614.00,3615.00,371,0
+2006-01-02,16:22:00,3615.00,3616.00,3614.00,3616.00,23,0
+2006-01-02,16:23:00,3616.00,3616.00,3615.00,3616.00,40,0
+2006-01-02,16:26:00,3615.00,3616.00,3615.00,3616.00,7,0
+2006-01-02,16:27:00,3615.00,3615.00,3615.00,3615.00,9,0
+2006-01-02,16:29:00,3615.00,3615.00,3615.00,3615.00,3,0
+2006-01-02,16:30:00,3615.00,3615.00,3615.00,3615.00,177,0
+2006-01-02,16:31:00,3615.00,3616.00,3615.00,3615.00,9,0
+2006-01-02,16:32:00,3616.00,3616.00,3615.00,3616.00,27,0
+2006-01-02,16:33:00,3615.00,3616.00,3615.00,3616.00,57,0
+2006-01-02,16:34:00,3616.00,3616.00,3615.00,3616.00,53,0
+2006-01-02,16:35:00,3616.00,3616.00,3615.00,3615.00,282,0
+2006-01-02,16:36:00,3616.00,3616.00,3615.00,3616.00,446,0
+2006-01-02,16:37:00,3616.00,3618.00,3616.00,3618.00,1830,0
+2006-01-02,16:38:00,3617.00,3618.00,3617.00,3617.00,332,0
+2006-01-02,16:39:00,3617.00,3617.00,3617.00,3617.00,66,0
+2006-01-02,16:40:00,3617.00,3618.00,3617.00,3617.00,242,0
+2006-01-02,16:41:00,3617.00,3617.00,3617.00,3617.00,267,0
+2006-01-02,16:42:00,3617.00,3618.00,3617.00,3618.00,70,0
+2006-01-02,16:43:00,3618.00,3618.00,3617.00,3618.00,352,0
+2006-01-02,16:44:00,3617.00,3617.00,3616.00,3617.00,24,0
+2006-01-02,16:45:00,3617.00,3618.00,3617.00,3617.00,55,0
+2006-01-02,16:46:00,3616.00,3617.00,3616.00,3617.00,6,0
+2006-01-02,16:47:00,3617.00,3617.00,3616.00,3617.00,54,0
+2006-01-02,16:48:00,3617.00,3617.00,3617.00,3617.00,40,0
+2006-01-02,16:49:00,3617.00,3617.00,3617.00,3617.00,175,0
+2006-01-02,16:50:00,3617.00,3617.00,3616.00,3616.00,16,0
+2006-01-02,16:51:00,3617.00,3617.00,3617.00,3617.00,1,0
+2006-01-02,16:52:00,3617.00,3617.00,3616.00,3616.00,104,0
+2006-01-02,16:53:00,3617.00,3617.00,3617.00,3617.00,10,0
+2006-01-02,16:54:00,3616.00,3616.00,3616.00,3616.00,2,0
+2006-01-02,16:55:00,3616.00,3617.00,3616.00,3617.00,157,0
+2006-01-02,16:57:00,3616.00,3617.00,3616.00,3616.00,202,0
+2006-01-02,16:58:00,3617.00,3617.00,3617.00,3617.00,64,0
+2006-01-02,16:59:00,3617.00,3617.00,3617.00,3617.00,7,0
+2006-01-02,17:00:00,3616.00,3617.00,3616.00,3617.00,160,0
+2006-01-02,17:01:00,3617.00,3617.00,3617.00,3617.00,450,0
+2006-01-02,17:02:00,3617.00,3617.00,3617.00,3617.00,3,0
+2006-01-02,17:03:00,3616.00,3618.00,3616.00,3618.00,283,0
+2006-01-02,17:04:00,3617.00,3618.00,3617.00,3618.00,187,0
+2006-01-02,17:05:00,3617.00,3618.00,3617.00,3618.00,13,0
+2006-01-02,17:06:00,3618.00,3618.00,3617.00,3618.00,354,0
+2006-01-02,17:07:00,3618.00,3618.00,3617.00,3618.00,437,0
+2006-01-02,17:08:00,3618.00,3618.00,3617.00,3617.00,706,0
+2006-01-02,17:09:00,3617.00,3617.00,3617.00,3617.00,5,0
+2006-01-02,17:10:00,3617.00,3617.00,3617.00,3617.00,111,0
+2006-01-02,17:11:00,3617.00,3618.00,3617.00,3617.00,195,0
+2006-01-02,17:12:00,3617.00,3617.00,3617.00,3617.00,84,0
+2006-01-02,17:13:00,3618.00,3618.00,3617.00,3617.00,127,0
+2006-01-02,17:14:00,3617.00,3618.00,3617.00,3617.00,105,0
+2006-01-02,17:15:00,3618.00,3618.00,3617.00,3618.00,1015,0
+2006-01-02,17:16:00,3618.00,3619.00,3618.00,3619.00,489,0
+2006-01-02,17:17:00,3619.00,3620.00,3619.00,3620.00,1615,0
+2006-01-02,17:18:00,3620.00,3620.00,3618.00,3618.00,871,0
+2006-01-02,17:19:00,3619.00,3619.00,3618.00,3619.00,318,0
+2006-01-02,17:20:00,3618.00,3618.00,3618.00,3618.00,1402,0
+2006-01-02,17:21:00,3618.00,3618.00,3617.00,3618.00,58,0
+2006-01-02,17:22:00,3618.00,3619.00,3618.00,3618.00,417,0
+2006-01-02,17:23:00,3618.00,3619.00,3618.00,3618.00,163,0
+2006-01-02,17:24:00,3619.00,3619.00,3618.00,3618.00,296,0
+2006-01-02,17:25:00,3619.00,3619.00,3618.00,3619.00,153,0
+2006-01-02,17:26:00,3619.00,3620.00,3619.00,3620.00,425,0
+2006-01-02,17:27:00,3619.00,3620.00,3619.00,3619.00,815,0
+2006-01-02,17:28:00,3620.00,3621.00,3619.00,3620.00,693,0
+2006-01-02,17:29:00,3621.00,3621.00,3620.00,3620.00,866,0
+2006-01-02,17:30:00,3620.00,3621.00,3619.00,3621.00,1670,0
+2006-01-02,17:31:00,3620.00,3621.00,3620.00,3620.00,1150,0
+2006-01-02,17:32:00,3620.00,3621.00,3620.00,3620.00,926,0
+2006-01-02,17:33:00,3620.00,3621.00,3620.00,3621.00,683,0
+2006-01-02,17:34:00,3621.00,3622.00,3620.00,3622.00,525,0
+2006-01-02,17:35:00,3622.00,3622.00,3621.00,3622.00,84,0
+2006-01-02,17:36:00,3621.00,3621.00,3621.00,3621.00,76,0
+2006-01-02,17:37:00,3622.00,3623.00,3621.00,3623.00,1426,0
+2006-01-02,17:38:00,3623.00,3624.00,3622.00,3623.00,521,0
+2006-01-02,17:39:00,3623.00,3623.00,3622.00,3623.00,37,0
+2006-01-02,17:40:00,3622.00,3623.00,3622.00,3623.00,189,0
+2006-01-02,17:41:00,3622.00,3622.00,3622.00,3622.00,66,0
+2006-01-02,17:42:00,3622.00,3623.00,3622.00,3622.00,207,0
+2006-01-02,17:43:00,3623.00,3623.00,3622.00,3623.00,327,0
+2006-01-02,17:44:00,3622.00,3622.00,3622.00,3622.00,53,0
+2006-01-02,17:45:00,3622.00,3623.00,3622.00,3623.00,16,0
+2006-01-02,17:46:00,3622.00,3622.00,3622.00,3622.00,59,0
+2006-01-02,17:47:00,3622.00,3622.00,3622.00,3622.00,30,0
+2006-01-02,17:48:00,3622.00,3623.00,3622.00,3622.00,172,0
+2006-01-02,17:49:00,3622.00,3622.00,3622.00,3622.00,4,0
+2006-01-02,17:50:00,3623.00,3624.00,3622.00,3624.00,306,0
+2006-01-02,17:51:00,3623.00,3624.00,3623.00,3623.00,430,0
+2006-01-02,17:52:00,3623.00,3623.00,3622.00,3623.00,350,0
+2006-01-02,17:53:00,3622.00,3622.00,3621.00,3622.00,357,0
+2006-01-02,17:54:00,3622.00,3622.00,3622.00,3622.00,4,0
+2006-01-02,17:55:00,3622.00,3622.00,3622.00,3622.00,3,0
+2006-01-02,17:56:00,3622.00,3623.00,3622.00,3623.00,40,0
+2006-01-02,17:57:00,3623.00,3623.00,3622.00,3623.00,97,0
+2006-01-02,17:58:00,3623.00,3623.00,3623.00,3623.00,72,0
+2006-01-02,17:59:00,3623.00,3623.00,3623.00,3623.00,73,0
+2006-01-02,18:00:00,3623.00,3623.00,3622.00,3622.00,143,0
+2006-01-02,18:01:00,3622.00,3622.00,3622.00,3622.00,11,0
+2006-01-02,18:02:00,3622.00,3622.00,3622.00,3622.00,104,0
+2006-01-02,18:03:00,3622.00,3623.00,3622.00,3622.00,55,0
+2006-01-02,18:05:00,3622.00,3622.00,3622.00,3622.00,15001,0
+2006-01-02,18:06:00,3622.00,3622.00,3622.00,3622.00,4140,0
+2006-01-02,18:07:00,3622.00,3623.00,3622.00,3622.00,40,0
+2006-01-02,18:08:00,3621.00,3622.00,3621.00,3622.00,6,0
+2006-01-02,18:09:00,3622.00,3622.00,3621.00,3621.00,159,0
+2006-01-02,18:10:00,3621.00,3621.00,3621.00,3621.00,2,0
+2006-01-02,18:11:00,3621.00,3622.00,3621.00,3622.00,23,0
+2006-01-02,18:12:00,3621.00,3621.00,3621.00,3621.00,37,0
+2006-01-02,18:16:00,3622.00,3622.00,3622.00,3622.00,18,0
+2006-01-02,18:17:00,3621.00,3622.00,3621.00,3622.00,8,0
+2006-01-02,18:18:00,3621.00,3621.00,3621.00,3621.00,3,0
+2006-01-02,18:19:00,3622.00,3622.00,3622.00,3622.00,164,0
+2006-01-02,18:20:00,3621.00,3622.00,3621.00,3621.00,40,0
+2006-01-02,18:21:00,3622.00,3622.00,3621.00,3622.00,40,0
+2006-01-02,18:25:00,3621.00,3621.00,3621.00,3621.00,1,0
+2006-01-02,18:27:00,3621.00,3621.00,3621.00,3621.00,205,0
+2006-01-02,18:28:00,3621.00,3621.00,3620.00,3620.00,140,0
+2006-01-02,18:29:00,3620.00,3620.00,3620.00,3620.00,224,0
+2006-01-02,18:30:00,3620.00,3621.00,3620.00,3620.00,204,0
+2006-01-02,18:31:00,3620.00,3620.00,3620.00,3620.00,6,0
+2006-01-02,18:33:00,3620.00,3620.00,3620.00,3620.00,2,0
+2006-01-02,18:35:00,3620.00,3620.00,3620.00,3620.00,2,0
+2006-01-02,18:38:00,3621.00,3621.00,3621.00,3621.00,1,0
+2006-01-02,18:39:00,3621.00,3621.00,3621.00,3621.00,1,0
+2006-01-02,18:41:00,3620.00,3620.00,3620.00,3620.00,1,0
+2006-01-02,18:43:00,3621.00,3621.00,3621.00,3621.00,2,0
+2006-01-02,18:44:00,3621.00,3621.00,3621.00,3621.00,2,0
+2006-01-02,18:45:00,3620.00,3620.00,3620.00,3620.00,224,0
+2006-01-02,18:46:00,3620.00,3621.00,3620.00,3621.00,40,0
+2006-01-02,18:47:00,3620.00,3621.00,3620.00,3620.00,15,0
+2006-01-02,18:48:00,3621.00,3621.00,3621.00,3621.00,166,0
+2006-01-02,18:50:00,3620.00,3620.00,3620.00,3620.00,2,0
+2006-01-02,18:58:00,3620.00,3620.00,3620.00,3620.00,17,0
+2006-01-02,18:59:00,3621.00,3621.00,3620.00,3620.00,9,0
+2006-01-02,19:00:00,3620.00,3620.00,3620.00,3620.00,17,0
+2006-01-02,19:02:00,3621.00,3621.00,3621.00,3621.00,31,0
+2006-01-02,19:06:00,3621.00,3621.00,3621.00,3621.00,1,0
+2006-01-02,19:09:00,3621.00,3621.00,3621.00,3621.00,11,0
+2006-01-02,19:10:00,3621.00,3621.00,3621.00,3621.00,6,0
+2006-01-02,19:11:00,3620.00,3621.00,3620.00,3621.00,11,0
+2006-01-02,19:12:00,3620.00,3620.00,3620.00,3620.00,1,0
+2006-01-02,19:13:00,3620.00,3620.00,3620.00,3620.00,1,0
+2006-01-02,19:15:00,3620.00,3620.00,3620.00,3620.00,1,0
+2006-01-02,19:17:00,3620.00,3620.00,3620.00,3620.00,182,0
+2006-01-02,19:20:00,3619.00,3619.00,3618.00,3618.00,254,0
+2006-01-02,19:22:00,3618.00,3618.00,3618.00,3618.00,1,0
+2006-01-02,19:23:00,3618.00,3618.00,3618.00,3618.00,7,0
+2006-01-02,19:26:00,3618.00,3618.00,3618.00,3618.00,16,0
+2006-01-02,19:28:00,3619.00,3619.00,3619.00,3619.00,1,0
+2006-01-02,19:29:00,3619.00,3619.00,3619.00,3619.00,2,0
+2006-01-02,19:31:00,3619.00,3619.00,3619.00,3619.00,1,0
+2006-01-02,19:32:00,3619.00,3619.00,3619.00,3619.00,2,0
+2006-01-02,19:33:00,3618.00,3618.00,3618.00,3618.00,41,0
+2006-01-02,19:34:00,3619.00,3620.00,3619.00,3620.00,86,0
+2006-01-02,19:36:00,3619.00,3619.00,3618.00,3618.00,200,0
+2006-01-02,19:37:00,3620.00,3620.00,3620.00,3620.00,2,0
+2006-01-02,19:39:00,3620.00,3620.00,3620.00,3620.00,15,0
+2006-01-02,19:42:00,3619.00,3619.00,3619.00,3619.00,25,0
+2006-01-02,19:44:00,3619.00,3619.00,3619.00,3619.00,1,0
+2006-01-02,19:45:00,3619.00,3619.00,3619.00,3619.00,1,0
+2006-01-02,19:46:00,3618.00,3618.00,3618.00,3618.00,6,0
+2006-01-02,19:47:00,3618.00,3618.00,3618.00,3618.00,56,0
+2006-01-02,19:48:00,3617.00,3618.00,3617.00,3618.00,110,0
+2006-01-02,19:49:00,3618.00,3618.00,3618.00,3618.00,20,0
+2006-01-02,19:50:00,3617.00,3617.00,3617.00,3617.00,3,0
+2006-01-02,19:51:00,3618.00,3618.00,3618.00,3618.00,5,0
+2006-01-02,19:53:00,3618.00,3618.00,3617.00,3617.00,100,0
+2006-01-02,19:54:00,3618.00,3618.00,3618.00,3618.00,3,0
+2006-01-02,19:55:00,3618.00,3618.00,3618.00,3618.00,15,0
+2006-01-02,19:56:00,3617.00,3617.00,3617.00,3617.00,1,0
+2006-01-02,19:57:00,3618.00,3618.00,3618.00,3618.00,311,0
+2006-01-02,19:58:00,3618.00,3619.00,3618.00,3619.00,20,0
+2006-01-02,19:59:00,3619.00,3619.00,3619.00,3619.00,1,0
+2006-01-02,20:00:00,3618.00,3618.00,3617.00,3618.00,242,0
+2006-01-02,20:01:00,3618.00,3618.00,3617.00,3617.00,15,0
+2006-01-02,20:04:00,3617.00,3617.00,3617.00,3617.00,107,0
+2006-01-03,09:01:00,3623.00,3625.00,3622.00,3624.00,4026,0
+2006-01-03,09:02:00,3624.00,3624.00,3620.00,3621.00,6824,0
+2006-01-03,09:03:00,3621.00,3621.00,3620.00,3621.00,854,0
+2006-01-03,09:04:00,3622.00,3624.00,3622.00,3622.00,1771,0
+2006-01-03,09:05:00,3622.00,3626.00,3622.00,3626.00,1212,0
+2006-01-03,09:06:00,3626.00,3627.00,3625.00,3626.00,1400,0
+2006-01-03,09:07:00,3626.00,3628.00,3626.00,3627.00,1166,0
+2006-01-03,09:08:00,3627.00,3630.00,3627.00,3630.00,2215,0
+2006-01-03,09:09:00,3630.00,3632.00,3629.00,3631.00,3859,0
+2006-01-03,09:10:00,3632.00,3632.00,3631.00,3631.00,361,0
+2006-01-03,09:11:00,3631.00,3632.00,3630.00,3630.00,2681,0
+2006-01-03,09:12:00,3630.00,3631.00,3630.00,3630.00,1126,0
+2006-01-03,09:13:00,3630.00,3631.00,3630.00,3630.00,237,0
+2006-01-03,09:14:00,3630.00,3632.00,3630.00,3631.00,1231,0
+2006-01-03,09:15:00,3630.00,3631.00,3630.00,3630.00,924,0
+2006-01-03,09:16:00,3630.00,3630.00,3629.00,3629.00,864,0
+2006-01-03,09:17:00,3630.00,3630.00,3629.00,3630.00,1026,0
+2006-01-03,09:18:00,3630.00,3632.00,3630.00,3631.00,1734,0
+2006-01-03,09:19:00,3630.00,3633.00,3630.00,3632.00,815,0
+2006-01-03,09:20:00,3632.00,3632.00,3631.00,3631.00,665,0
+2006-01-03,09:21:00,3631.00,3633.00,3631.00,3633.00,2044,0
+2006-01-03,09:22:00,3633.00,3634.00,3632.00,3634.00,1815,0
+2006-01-03,09:23:00,3633.00,3636.00,3633.00,3636.00,4154,0
+2006-01-03,09:24:00,3635.00,3637.00,3635.00,3636.00,3642,0
+2006-01-03,09:25:00,3637.00,3637.00,3636.00,3636.00,1104,0
+2006-01-03,09:26:00,3637.00,3637.00,3635.00,3635.00,3323,0
+2006-01-03,09:27:00,3635.00,3636.00,3635.00,3636.00,706,0
+2006-01-03,09:28:00,3636.00,3637.00,3635.00,3637.00,1203,0
+2006-01-03,09:29:00,3637.00,3638.00,3637.00,3638.00,1712,0
+2006-01-03,09:30:00,3637.00,3638.00,3635.00,3636.00,1458,0
+2006-01-03,09:31:00,3636.00,3639.00,3635.00,3639.00,618,0
+2006-01-03,09:32:00,3639.00,3641.00,3638.00,3640.00,2416,0
+2006-01-03,09:33:00,3641.00,3641.00,3639.00,3640.00,2443,0
+2006-01-03,09:34:00,3640.00,3643.00,3640.00,3642.00,2637,0
+2006-01-03,09:35:00,3642.00,3642.00,3640.00,3641.00,2404,0
+2006-01-03,09:36:00,3642.00,3643.00,3641.00,3643.00,891,0
+2006-01-03,09:37:00,3642.00,3643.00,3642.00,3643.00,471,0
+2006-01-03,09:38:00,3642.00,3645.00,3642.00,3645.00,1966,0
+2006-01-03,09:39:00,3644.00,3646.00,3643.00,3646.00,3202,0
+2006-01-03,09:40:00,3646.00,3646.00,3644.00,3645.00,1793,0
+2006-01-03,09:41:00,3644.00,3645.00,3643.00,3643.00,712,0
+2006-01-03,09:42:00,3644.00,3644.00,3643.00,3643.00,674,0
+2006-01-03,09:43:00,3643.00,3643.00,3642.00,3642.00,1016,0
+2006-01-03,09:44:00,3642.00,3643.00,3642.00,3642.00,445,0
+2006-01-03,09:45:00,3642.00,3643.00,3642.00,3643.00,996,0
+2006-01-03,09:46:00,3642.00,3642.00,3641.00,3642.00,1125,0
+2006-01-03,09:47:00,3642.00,3643.00,3642.00,3642.00,1059,0
+2006-01-03,09:48:00,3642.00,3643.00,3641.00,3643.00,926,0
+2006-01-03,09:49:00,3642.00,3643.00,3642.00,3642.00,411,0
+2006-01-03,09:50:00,3642.00,3643.00,3642.00,3643.00,749,0
+2006-01-03,09:51:00,3643.00,3643.00,3642.00,3643.00,664,0
+2006-01-03,09:52:00,3643.00,3646.00,3643.00,3645.00,2878,0
+2006-01-03,09:53:00,3644.00,3645.00,3644.00,3645.00,631,0
+2006-01-03,09:54:00,3645.00,3645.00,3644.00,3644.00,441,0
+2006-01-03,09:55:00,3644.00,3645.00,3644.00,3644.00,55,0
+2006-01-03,09:56:00,3644.00,3645.00,3644.00,3644.00,565,0
+2006-01-03,09:57:00,3644.00,3645.00,3644.00,3644.00,183,0
+2006-01-03,09:58:00,3644.00,3644.00,3643.00,3644.00,856,0
+2006-01-03,09:59:00,3643.00,3644.00,3643.00,3644.00,469,0
+2006-01-03,10:00:00,3644.00,3646.00,3643.00,3646.00,1162,0
+2006-01-03,10:01:00,3646.00,3646.00,3645.00,3646.00,665,0
+2006-01-03,10:02:00,3646.00,3647.00,3645.00,3647.00,2623,0
+2006-01-03,10:03:00,3647.00,3647.00,3645.00,3646.00,2707,0
+2006-01-03,10:04:00,3645.00,3646.00,3645.00,3646.00,679,0
+2006-01-03,10:05:00,3645.00,3646.00,3645.00,3645.00,42,0
+2006-01-03,10:06:00,3645.00,3646.00,3644.00,3644.00,682,0
+2006-01-03,10:07:00,3644.00,3645.00,3644.00,3645.00,391,0
+2006-01-03,10:08:00,3644.00,3645.00,3643.00,3645.00,1161,0
+2006-01-03,10:09:00,3645.00,3646.00,3645.00,3645.00,1476,0
+2006-01-03,10:10:00,3644.00,3645.00,3644.00,3645.00,394,0
+2006-01-03,10:11:00,3645.00,3646.00,3644.00,3645.00,1187,0
+2006-01-03,10:12:00,3645.00,3645.00,3644.00,3644.00,464,0
+2006-01-03,10:13:00,3644.00,3644.00,3644.00,3644.00,149,0
+2006-01-03,10:14:00,3644.00,3644.00,3644.00,3644.00,487,0
+2006-01-03,10:15:00,3644.00,3645.00,3644.00,3645.00,1067,0
+2006-01-03,10:16:00,3645.00,3646.00,3645.00,3645.00,399,0
+2006-01-03,10:17:00,3645.00,3646.00,3644.00,3645.00,179,0
+2006-01-03,10:18:00,3645.00,3645.00,3644.00,3645.00,539,0
+2006-01-03,10:19:00,3646.00,3646.00,3645.00,3646.00,1173,0
+2006-01-03,10:20:00,3646.00,3646.00,3645.00,3646.00,269,0
+2006-01-03,10:21:00,3646.00,3647.00,3646.00,3647.00,2134,0
+2006-01-03,10:22:00,3647.00,3648.00,3647.00,3648.00,1801,0
+2006-01-03,10:23:00,3648.00,3648.00,3647.00,3648.00,759,0
+2006-01-03,10:24:00,3647.00,3647.00,3645.00,3645.00,1956,0
+2006-01-03,10:25:00,3646.00,3649.00,3646.00,3648.00,1020,0
+2006-01-03,10:26:00,3648.00,3649.00,3647.00,3647.00,2711,0
+2006-01-03,10:27:00,3647.00,3648.00,3647.00,3648.00,597,0
+2006-01-03,10:28:00,3647.00,3648.00,3647.00,3647.00,140,0
+2006-01-03,10:29:00,3648.00,3648.00,3647.00,3648.00,783,0
+2006-01-03,10:30:00,3648.00,3648.00,3647.00,3647.00,1212,0
+2006-01-03,10:31:00,3648.00,3648.00,3647.00,3648.00,56,0
+2006-01-03,10:32:00,3647.00,3648.00,3647.00,3647.00,313,0
+2006-01-03,10:33:00,3647.00,3647.00,3647.00,3647.00,135,0
+2006-01-03,10:34:00,3648.00,3648.00,3647.00,3648.00,171,0
+2006-01-03,10:35:00,3647.00,3648.00,3647.00,3647.00,169,0
+2006-01-03,10:36:00,3648.00,3648.00,3647.00,3647.00,34,0
+2006-01-03,10:37:00,3647.00,3648.00,3647.00,3648.00,254,0
+2006-01-03,10:38:00,3648.00,3648.00,3647.00,3648.00,489,0
+2006-01-03,10:39:00,3648.00,3649.00,3648.00,3648.00,724,0
+2006-01-03,10:40:00,3648.00,3648.00,3647.00,3647.00,188,0
+2006-01-03,10:41:00,3647.00,3648.00,3647.00,3647.00,178,0
+2006-01-03,10:42:00,3648.00,3648.00,3648.00,3648.00,20,0
+2006-01-03,10:43:00,3647.00,3647.00,3647.00,3647.00,132,0
+2006-01-03,10:44:00,3648.00,3649.00,3648.00,3649.00,678,0
+2006-01-03,10:45:00,3648.00,3649.00,3648.00,3649.00,216,0
+2006-01-03,10:46:00,3648.00,3649.00,3648.00,3648.00,258,0
+2006-01-03,10:47:00,3649.00,3651.00,3648.00,3651.00,1357,0
+2006-01-03,10:48:00,3651.00,3651.00,3650.00,3650.00,893,0
+2006-01-03,10:49:00,3650.00,3650.00,3648.00,3650.00,617,0
+2006-01-03,10:50:00,3650.00,3650.00,3649.00,3649.00,746,0
+2006-01-03,10:51:00,3648.00,3649.00,3647.00,3648.00,751,0
+2006-01-03,10:52:00,3648.00,3648.00,3647.00,3648.00,277,0
+2006-01-03,10:53:00,3647.00,3648.00,3647.00,3647.00,1423,0
+2006-01-03,10:54:00,3646.00,3647.00,3646.00,3646.00,138,0
+2006-01-03,10:55:00,3647.00,3647.00,3646.00,3646.00,58,0
+2006-01-03,10:56:00,3646.00,3646.00,3646.00,3646.00,672,0
+2006-01-03,10:57:00,3646.00,3647.00,3646.00,3646.00,625,0
+2006-01-03,10:58:00,3647.00,3647.00,3647.00,3647.00,165,0
+2006-01-03,10:59:00,3647.00,3647.00,3646.00,3647.00,383,0
+2006-01-03,11:00:00,3647.00,3649.00,3647.00,3648.00,3100,0
+2006-01-03,11:01:00,3648.00,3649.00,3648.00,3649.00,317,0
+2006-01-03,11:02:00,3649.00,3651.00,3649.00,3650.00,1853,0
+2006-01-03,11:03:00,3650.00,3650.00,3649.00,3650.00,2103,0
+2006-01-03,11:04:00,3649.00,3650.00,3649.00,3650.00,1528,0
+2006-01-03,11:05:00,3650.00,3651.00,3649.00,3651.00,1716,0
+2006-01-03,11:06:00,3651.00,3652.00,3650.00,3652.00,1488,0
+2006-01-03,11:07:00,3652.00,3652.00,3649.00,3649.00,2583,0
+2006-01-03,11:08:00,3649.00,3650.00,3649.00,3650.00,199,0
+2006-01-03,11:09:00,3649.00,3650.00,3649.00,3650.00,335,0
+2006-01-03,11:10:00,3649.00,3650.00,3649.00,3649.00,84,0
+2006-01-03,11:11:00,3650.00,3650.00,3649.00,3650.00,410,0
+2006-01-03,11:12:00,3649.00,3650.00,3649.00,3649.00,36,0
+2006-01-03,11:13:00,3649.00,3650.00,3649.00,3649.00,978,0
+2006-01-03,11:14:00,3649.00,3650.00,3648.00,3650.00,599,0
+2006-01-03,11:15:00,3649.00,3650.00,3649.00,3649.00,636,0
+2006-01-03,11:16:00,3649.00,3649.00,3648.00,3648.00,544,0
+2006-01-03,11:17:00,3648.00,3649.00,3648.00,3648.00,518,0
+2006-01-03,11:18:00,3648.00,3648.00,3647.00,3648.00,875,0
+2006-01-03,11:19:00,3648.00,3648.00,3647.00,3647.00,1026,0
+2006-01-03,11:20:00,3648.00,3648.00,3647.00,3647.00,813,0
+2006-01-03,11:21:00,3647.00,3648.00,3647.00,3647.00,1053,0
+2006-01-03,11:22:00,3647.00,3648.00,3647.00,3648.00,997,0
+2006-01-03,11:23:00,3649.00,3649.00,3648.00,3648.00,98,0
+2006-01-03,11:25:00,3648.00,3649.00,3648.00,3649.00,36,0
+2006-01-03,11:26:00,3649.00,3649.00,3648.00,3648.00,33,0
+2006-01-03,11:27:00,3649.00,3649.00,3648.00,3648.00,587,0
+2006-01-03,11:28:00,3648.00,3648.00,3648.00,3648.00,114,0
+2006-01-03,11:29:00,3649.00,3649.00,3648.00,3648.00,215,0
+2006-01-03,11:30:00,3648.00,3649.00,3648.00,3649.00,51,0
+2006-01-03,11:31:00,3649.00,3649.00,3648.00,3649.00,342,0
+2006-01-03,11:32:00,3649.00,3649.00,3648.00,3648.00,1274,0
+2006-01-03,11:33:00,3648.00,3648.00,3648.00,3648.00,415,0
+2006-01-03,11:34:00,3649.00,3649.00,3647.00,3647.00,277,0
+2006-01-03,11:35:00,3648.00,3648.00,3647.00,3647.00,55,0
+2006-01-03,11:36:00,3648.00,3648.00,3647.00,3647.00,72,0
+2006-01-03,11:37:00,3648.00,3649.00,3648.00,3648.00,1518,0
+2006-01-03,11:38:00,3648.00,3649.00,3648.00,3649.00,562,0
+2006-01-03,11:39:00,3648.00,3648.00,3647.00,3647.00,414,0
+2006-01-03,11:40:00,3648.00,3648.00,3648.00,3648.00,314,0
+2006-01-03,11:41:00,3648.00,3649.00,3648.00,3648.00,366,0
+2006-01-03,11:42:00,3648.00,3648.00,3648.00,3648.00,146,0
+2006-01-03,11:43:00,3648.00,3649.00,3648.00,3648.00,31,0
+2006-01-03,11:44:00,3648.00,3649.00,3648.00,3648.00,455,0
+2006-01-03,11:45:00,3649.00,3649.00,3648.00,3648.00,365,0
+2006-01-03,11:46:00,3648.00,3649.00,3648.00,3649.00,32,0
+2006-01-03,11:47:00,3649.00,3649.00,3648.00,3648.00,219,0
+2006-01-03,11:48:00,3648.00,3649.00,3648.00,3648.00,28,0
+2006-01-03,11:49:00,3648.00,3649.00,3648.00,3649.00,833,0
+2006-01-03,11:50:00,3649.00,3649.00,3648.00,3648.00,112,0
+2006-01-03,11:51:00,3649.00,3649.00,3648.00,3649.00,100,0
+2006-01-03,11:52:00,3648.00,3649.00,3648.00,3648.00,256,0
+2006-01-03,11:53:00,3648.00,3649.00,3648.00,3648.00,1059,0
+2006-01-03,11:54:00,3649.00,3649.00,3648.00,3649.00,259,0
+2006-01-03,11:55:00,3649.00,3649.00,3648.00,3648.00,852,0
+2006-01-03,11:56:00,3648.00,3650.00,3648.00,3649.00,2100,0
+2006-01-03,11:57:00,3649.00,3650.00,3649.00,3649.00,489,0
+2006-01-03,11:58:00,3649.00,3650.00,3649.00,3649.00,353,0
+2006-01-03,11:59:00,3649.00,3650.00,3648.00,3649.00,296,0
+2006-01-03,12:00:00,3649.00,3649.00,3648.00,3648.00,340,0
+2006-01-03,12:01:00,3649.00,3649.00,3648.00,3649.00,961,0
+2006-01-03,12:02:00,3648.00,3649.00,3648.00,3649.00,784,0
+2006-01-03,12:03:00,3649.00,3649.00,3648.00,3648.00,1321,0
+2006-01-03,12:04:00,3648.00,3648.00,3648.00,3648.00,482,0
+2006-01-03,12:05:00,3648.00,3649.00,3647.00,3648.00,329,0
+2006-01-03,12:06:00,3647.00,3648.00,3647.00,3648.00,268,0
+2006-01-03,12:07:00,3648.00,3648.00,3647.00,3647.00,642,0
+2006-01-03,12:08:00,3647.00,3648.00,3647.00,3647.00,61,0
+2006-01-03,12:09:00,3647.00,3648.00,3647.00,3648.00,161,0
+2006-01-03,12:10:00,3648.00,3648.00,3647.00,3647.00,11,0
+2006-01-03,12:11:00,3648.00,3648.00,3647.00,3648.00,39,0
+2006-01-03,12:12:00,3647.00,3648.00,3647.00,3647.00,41,0
+2006-01-03,12:13:00,3647.00,3647.00,3647.00,3647.00,85,0
+2006-01-03,12:14:00,3647.00,3648.00,3647.00,3648.00,55,0
+2006-01-03,12:15:00,3647.00,3647.00,3647.00,3647.00,1,0
+2006-01-03,12:16:00,3648.00,3648.00,3647.00,3647.00,116,0
+2006-01-03,12:17:00,3647.00,3648.00,3647.00,3648.00,4,0
+2006-01-03,12:18:00,3647.00,3648.00,3647.00,3648.00,750,0
+2006-01-03,12:19:00,3647.00,3648.00,3647.00,3648.00,171,0
+2006-01-03,12:20:00,3647.00,3647.00,3647.00,3647.00,387,0
+2006-01-03,12:21:00,3647.00,3647.00,3646.00,3647.00,429,0
+2006-01-03,12:22:00,3646.00,3647.00,3646.00,3646.00,253,0
+2006-01-03,12:23:00,3646.00,3647.00,3646.00,3646.00,56,0
+2006-01-03,12:24:00,3646.00,3647.00,3646.00,3647.00,406,0
+2006-01-03,12:25:00,3647.00,3647.00,3647.00,3647.00,364,0
+2006-01-03,12:26:00,3647.00,3647.00,3646.00,3646.00,2375,0
+2006-01-03,12:28:00,3647.00,3647.00,3646.00,3647.00,122,0
+2006-01-03,12:29:00,3646.00,3647.00,3646.00,3647.00,254,0
+2006-01-03,12:30:00,3646.00,3647.00,3646.00,3646.00,427,0
+2006-01-03,12:31:00,3646.00,3647.00,3646.00,3646.00,200,0
+2006-01-03,12:32:00,3647.00,3647.00,3646.00,3646.00,169,0
+2006-01-03,12:33:00,3647.00,3647.00,3646.00,3647.00,883,0
+2006-01-03,12:34:00,3647.00,3648.00,3646.00,3647.00,156,0
+2006-01-03,12:35:00,3646.00,3647.00,3646.00,3647.00,104,0
+2006-01-03,12:36:00,3647.00,3647.00,3646.00,3647.00,201,0
+2006-01-03,12:37:00,3647.00,3647.00,3646.00,3646.00,221,0
+2006-01-03,12:38:00,3647.00,3647.00,3646.00,3646.00,429,0
+2006-01-03,12:39:00,3646.00,3647.00,3646.00,3647.00,857,0
+2006-01-03,12:40:00,3646.00,3647.00,3646.00,3646.00,261,0
+2006-01-03,12:41:00,3646.00,3647.00,3646.00,3646.00,318,0
+2006-01-03,12:42:00,3647.00,3647.00,3646.00,3647.00,392,0
+2006-01-03,12:43:00,3647.00,3647.00,3647.00,3647.00,118,0
+2006-01-03,12:44:00,3647.00,3647.00,3646.00,3647.00,192,0
+2006-01-03,12:45:00,3646.00,3647.00,3646.00,3646.00,134,0
+2006-01-03,12:46:00,3647.00,3647.00,3646.00,3647.00,366,0
+2006-01-03,12:47:00,3646.00,3647.00,3646.00,3647.00,158,0
+2006-01-03,12:48:00,3647.00,3648.00,3647.00,3648.00,47,0
+2006-01-03,12:49:00,3647.00,3647.00,3647.00,3647.00,27,0
+2006-01-03,12:50:00,3647.00,3647.00,3647.00,3647.00,2,0
+2006-01-03,12:51:00,3647.00,3647.00,3647.00,3647.00,8,0
+2006-01-03,12:52:00,3647.00,3647.00,3647.00,3647.00,4,0
+2006-01-03,12:53:00,3647.00,3647.00,3647.00,3647.00,143,0
+2006-01-03,12:54:00,3648.00,3648.00,3647.00,3647.00,393,0
+2006-01-03,12:55:00,3647.00,3648.00,3647.00,3647.00,20,0
+2006-01-03,12:56:00,3648.00,3648.00,3647.00,3648.00,322,0
+2006-01-03,12:57:00,3647.00,3648.00,3647.00,3647.00,337,0
+2006-01-03,12:58:00,3647.00,3648.00,3647.00,3647.00,342,0
+2006-01-03,12:59:00,3647.00,3648.00,3646.00,3648.00,53,0
+2006-01-03,13:00:00,3648.00,3648.00,3647.00,3648.00,57,0
+2006-01-03,13:01:00,3647.00,3648.00,3647.00,3647.00,211,0
+2006-01-03,13:02:00,3648.00,3648.00,3647.00,3647.00,129,0
+2006-01-03,13:03:00,3647.00,3647.00,3646.00,3646.00,163,0
+2006-01-03,13:04:00,3647.00,3647.00,3647.00,3647.00,380,0
+2006-01-03,13:05:00,3647.00,3647.00,3647.00,3647.00,35,0
+2006-01-03,13:06:00,3648.00,3648.00,3646.00,3647.00,567,0
+2006-01-03,13:07:00,3647.00,3648.00,3647.00,3647.00,40,0
+2006-01-03,13:08:00,3647.00,3648.00,3647.00,3647.00,264,0
+2006-01-03,13:09:00,3647.00,3647.00,3647.00,3647.00,955,0
+2006-01-03,13:10:00,3647.00,3648.00,3647.00,3647.00,34,0
+2006-01-03,13:11:00,3647.00,3648.00,3647.00,3648.00,355,0
+2006-01-03,13:12:00,3648.00,3649.00,3647.00,3647.00,1258,0
+2006-01-03,13:13:00,3648.00,3648.00,3647.00,3647.00,9,0
+2006-01-03,13:14:00,3648.00,3648.00,3647.00,3647.00,60,0
+2006-01-03,13:15:00,3647.00,3648.00,3647.00,3648.00,532,0
+2006-01-03,13:16:00,3648.00,3648.00,3647.00,3647.00,172,0
+2006-01-03,13:17:00,3647.00,3647.00,3647.00,3647.00,92,0
+2006-01-03,13:18:00,3648.00,3648.00,3647.00,3648.00,43,0
+2006-01-03,13:19:00,3647.00,3648.00,3647.00,3647.00,55,0
+2006-01-03,13:20:00,3647.00,3647.00,3647.00,3647.00,101,0
+2006-01-03,13:21:00,3647.00,3647.00,3647.00,3647.00,229,0
+2006-01-03,13:23:00,3647.00,3647.00,3647.00,3647.00,10,0
+2006-01-03,13:24:00,3647.00,3647.00,3647.00,3647.00,220,0
+2006-01-03,13:25:00,3647.00,3647.00,3647.00,3647.00,4,0
+2006-01-03,13:26:00,3647.00,3648.00,3647.00,3647.00,70,0
+2006-01-03,13:27:00,3647.00,3648.00,3647.00,3648.00,241,0
+2006-01-03,13:28:00,3648.00,3648.00,3647.00,3647.00,4,0
+2006-01-03,13:29:00,3648.00,3648.00,3647.00,3647.00,16,0
+2006-01-03,13:30:00,3648.00,3648.00,3647.00,3648.00,142,0
+2006-01-03,13:31:00,3649.00,3649.00,3648.00,3648.00,9,0
+2006-01-03,13:32:00,3649.00,3650.00,3648.00,3649.00,1705,0
+2006-01-03,13:33:00,3649.00,3650.00,3649.00,3649.00,96,0
+2006-01-03,13:34:00,3649.00,3649.00,3648.00,3648.00,183,0
+2006-01-03,13:35:00,3649.00,3649.00,3648.00,3648.00,146,0
+2006-01-03,13:36:00,3648.00,3649.00,3648.00,3648.00,207,0
+2006-01-03,13:37:00,3648.00,3649.00,3647.00,3647.00,637,0
+2006-01-03,13:38:00,3647.00,3647.00,3647.00,3647.00,33,0
+2006-01-03,13:39:00,3647.00,3648.00,3647.00,3648.00,286,0
+2006-01-03,13:40:00,3647.00,3647.00,3647.00,3647.00,55,0
+2006-01-03,13:41:00,3647.00,3648.00,3647.00,3647.00,6,0
+2006-01-03,13:42:00,3647.00,3647.00,3647.00,3647.00,532,0
+2006-01-03,13:43:00,3647.00,3647.00,3647.00,3647.00,517,0
+2006-01-03,13:44:00,3647.00,3648.00,3647.00,3648.00,631,0
+2006-01-03,13:45:00,3648.00,3648.00,3647.00,3647.00,53,0
+2006-01-03,13:46:00,3647.00,3648.00,3647.00,3648.00,17,0
+2006-01-03,13:47:00,3648.00,3648.00,3647.00,3647.00,39,0
+2006-01-03,13:48:00,3648.00,3648.00,3647.00,3647.00,98,0
+2006-01-03,13:49:00,3647.00,3648.00,3647.00,3648.00,37,0
+2006-01-03,13:50:00,3647.00,3647.00,3647.00,3647.00,42,0
+2006-01-03,13:51:00,3648.00,3648.00,3647.00,3647.00,58,0
+2006-01-03,13:52:00,3648.00,3648.00,3647.00,3647.00,148,0
+2006-01-03,13:53:00,3648.00,3648.00,3647.00,3648.00,882,0
+2006-01-03,13:54:00,3648.00,3648.00,3647.00,3648.00,21,0
+2006-01-03,13:55:00,3648.00,3648.00,3647.00,3647.00,18,0
+2006-01-03,13:56:00,3648.00,3649.00,3647.00,3649.00,243,0
+2006-01-03,13:57:00,3649.00,3649.00,3649.00,3649.00,432,0
+2006-01-03,13:58:00,3649.00,3649.00,3649.00,3649.00,54,0
+2006-01-03,13:59:00,3649.00,3650.00,3649.00,3650.00,231,0
+2006-01-03,14:00:00,3649.00,3650.00,3649.00,3649.00,47,0
+2006-01-03,14:01:00,3649.00,3650.00,3649.00,3649.00,114,0
+2006-01-03,14:02:00,3649.00,3649.00,3649.00,3649.00,58,0
+2006-01-03,14:03:00,3650.00,3650.00,3649.00,3649.00,28,0
+2006-01-03,14:04:00,3650.00,3650.00,3649.00,3650.00,37,0
+2006-01-03,14:05:00,3650.00,3650.00,3649.00,3650.00,43,0
+2006-01-03,14:06:00,3649.00,3650.00,3649.00,3649.00,435,0
+2006-01-03,14:07:00,3649.00,3650.00,3649.00,3649.00,37,0
+2006-01-03,14:08:00,3649.00,3650.00,3649.00,3649.00,231,0
+2006-01-03,14:09:00,3650.00,3650.00,3649.00,3650.00,138,0
+2006-01-03,14:10:00,3650.00,3650.00,3649.00,3649.00,404,0
+2006-01-03,14:11:00,3649.00,3649.00,3649.00,3649.00,86,0
+2006-01-03,14:12:00,3649.00,3649.00,3649.00,3649.00,53,0
+2006-01-03,14:13:00,3650.00,3650.00,3649.00,3649.00,13,0
+2006-01-03,14:14:00,3649.00,3650.00,3648.00,3649.00,414,0
+2006-01-03,14:15:00,3648.00,3649.00,3647.00,3647.00,1038,0
+2006-01-03,14:16:00,3647.00,3648.00,3647.00,3647.00,481,0
+2006-01-03,14:17:00,3648.00,3648.00,3647.00,3648.00,297,0
+2006-01-03,14:18:00,3647.00,3648.00,3647.00,3647.00,26,0
+2006-01-03,14:19:00,3647.00,3648.00,3646.00,3646.00,249,0
+2006-01-03,14:20:00,3646.00,3647.00,3646.00,3646.00,358,0
+2006-01-03,14:21:00,3646.00,3646.00,3645.00,3645.00,880,0
+2006-01-03,14:22:00,3645.00,3646.00,3644.00,3645.00,2187,0
+2006-01-03,14:23:00,3645.00,3646.00,3645.00,3646.00,107,0
+2006-01-03,14:24:00,3646.00,3646.00,3645.00,3645.00,292,0
+2006-01-03,14:25:00,3646.00,3646.00,3645.00,3646.00,222,0
+2006-01-03,14:26:00,3646.00,3646.00,3646.00,3646.00,5,0
+2006-01-03,14:27:00,3646.00,3647.00,3646.00,3646.00,1016,0
+2006-01-03,14:28:00,3646.00,3646.00,3646.00,3646.00,1,0
+2006-01-03,14:29:00,3647.00,3647.00,3646.00,3646.00,7,0
+2006-01-03,14:30:00,3646.00,3646.00,3646.00,3646.00,207,0
+2006-01-03,14:31:00,3646.00,3646.00,3645.00,3645.00,476,0
+2006-01-03,14:32:00,3645.00,3646.00,3645.00,3645.00,366,0
+2006-01-03,14:33:00,3645.00,3647.00,3645.00,3647.00,701,0
+2006-01-03,14:34:00,3646.00,3647.00,3646.00,3647.00,421,0
+2006-01-03,14:35:00,3647.00,3647.00,3647.00,3647.00,74,0
+2006-01-03,14:36:00,3647.00,3647.00,3647.00,3647.00,23,0
+2006-01-03,14:37:00,3647.00,3647.00,3647.00,3647.00,13,0
+2006-01-03,14:38:00,3648.00,3648.00,3647.00,3647.00,11,0
+2006-01-03,14:39:00,3647.00,3647.00,3647.00,3647.00,121,0
+2006-01-03,14:40:00,3647.00,3648.00,3647.00,3647.00,331,0
+2006-01-03,14:41:00,3647.00,3648.00,3647.00,3648.00,93,0
+2006-01-03,14:42:00,3647.00,3648.00,3647.00,3647.00,15,0
+2006-01-03,14:43:00,3647.00,3648.00,3647.00,3647.00,102,0
+2006-01-03,14:44:00,3648.00,3649.00,3648.00,3648.00,486,0
+2006-01-03,14:45:00,3648.00,3649.00,3648.00,3649.00,82,0
+2006-01-03,14:46:00,3649.00,3649.00,3648.00,3649.00,114,0
+2006-01-03,14:47:00,3648.00,3649.00,3648.00,3648.00,536,0
+2006-01-03,14:48:00,3648.00,3648.00,3648.00,3648.00,1,0
+2006-01-03,14:49:00,3649.00,3649.00,3648.00,3649.00,156,0
+2006-01-03,14:50:00,3649.00,3650.00,3648.00,3650.00,287,0
+2006-01-03,14:51:00,3649.00,3650.00,3649.00,3650.00,254,0
+2006-01-03,14:52:00,3649.00,3649.00,3648.00,3648.00,297,0
+2006-01-03,14:53:00,3648.00,3649.00,3648.00,3648.00,95,0
+2006-01-03,14:54:00,3648.00,3649.00,3648.00,3648.00,192,0
+2006-01-03,14:55:00,3648.00,3648.00,3648.00,3648.00,84,0
+2006-01-03,14:56:00,3649.00,3649.00,3648.00,3649.00,44,0
+2006-01-03,14:57:00,3648.00,3649.00,3648.00,3649.00,160,0
+2006-01-03,14:58:00,3648.00,3649.00,3648.00,3648.00,119,0
+2006-01-03,14:59:00,3648.00,3649.00,3648.00,3649.00,41,0
+2006-01-03,15:00:00,3648.00,3649.00,3648.00,3649.00,9,0
+2006-01-03,15:01:00,3649.00,3649.00,3648.00,3649.00,1884,0
+2006-01-03,15:02:00,3649.00,3649.00,3647.00,3648.00,2232,0
+2006-01-03,15:03:00,3647.00,3648.00,3647.00,3647.00,25,0
+2006-01-03,15:04:00,3648.00,3648.00,3647.00,3647.00,610,0
+2006-01-03,15:05:00,3647.00,3648.00,3647.00,3647.00,17,0
+2006-01-03,15:06:00,3647.00,3648.00,3647.00,3647.00,10,0
+2006-01-03,15:07:00,3648.00,3648.00,3647.00,3648.00,132,0
+2006-01-03,15:08:00,3648.00,3648.00,3647.00,3647.00,8527,0
+2006-01-03,15:09:00,3648.00,3648.00,3647.00,3648.00,199,0
+2006-01-03,15:10:00,3648.00,3649.00,3648.00,3648.00,315,0
+2006-01-03,15:11:00,3649.00,3649.00,3648.00,3649.00,1008,0
+2006-01-03,15:12:00,3649.00,3649.00,3648.00,3648.00,244,0
+2006-01-03,15:13:00,3648.00,3648.00,3647.00,3647.00,350,0
+2006-01-03,15:14:00,3647.00,3648.00,3647.00,3648.00,206,0
+2006-01-03,15:15:00,3648.00,3648.00,3647.00,3648.00,1876,0
+2006-01-03,15:16:00,3648.00,3648.00,3647.00,3647.00,38,0
+2006-01-03,15:17:00,3647.00,3647.00,3646.00,3647.00,456,0
+2006-01-03,15:18:00,3648.00,3648.00,3647.00,3647.00,207,0
+2006-01-03,15:19:00,3647.00,3648.00,3647.00,3647.00,45,0
+2006-01-03,15:20:00,3648.00,3648.00,3647.00,3648.00,70,0
+2006-01-03,15:21:00,3648.00,3648.00,3646.00,3647.00,218,0
+2006-01-03,15:22:00,3646.00,3648.00,3646.00,3648.00,264,0
+2006-01-03,15:23:00,3647.00,3648.00,3647.00,3648.00,450,0
+2006-01-03,15:24:00,3648.00,3648.00,3647.00,3647.00,738,0
+2006-01-03,15:25:00,3647.00,3647.00,3647.00,3647.00,54,0
+2006-01-03,15:26:00,3647.00,3648.00,3647.00,3647.00,50,0
+2006-01-03,15:27:00,3647.00,3647.00,3646.00,3647.00,291,0
+2006-01-03,15:28:00,3646.00,3647.00,3646.00,3646.00,331,0
+2006-01-03,15:29:00,3646.00,3647.00,3646.00,3646.00,74,0
+2006-01-03,15:30:00,3647.00,3647.00,3646.00,3646.00,584,0
+2006-01-03,15:31:00,3646.00,3647.00,3646.00,3646.00,348,0
+2006-01-03,15:32:00,3648.00,3649.00,3648.00,3649.00,607,0
+2006-01-03,15:33:00,3648.00,3648.00,3647.00,3647.00,906,0
+2006-01-03,15:34:00,3647.00,3647.00,3646.00,3647.00,561,0
+2006-01-03,15:35:00,3646.00,3647.00,3645.00,3646.00,710,0
+2006-01-03,15:36:00,3646.00,3646.00,3644.00,3645.00,630,0
+2006-01-03,15:37:00,3645.00,3646.00,3644.00,3645.00,875,0
+2006-01-03,15:38:00,3645.00,3646.00,3644.00,3644.00,714,0
+2006-01-03,15:39:00,3644.00,3645.00,3644.00,3644.00,1396,0
+2006-01-03,15:40:00,3644.00,3645.00,3642.00,3643.00,3366,0
+2006-01-03,15:41:00,3643.00,3645.00,3643.00,3644.00,1268,0
+2006-01-03,15:42:00,3644.00,3646.00,3644.00,3645.00,1490,0
+2006-01-03,15:43:00,3645.00,3646.00,3645.00,3646.00,582,0
+2006-01-03,15:44:00,3645.00,3646.00,3644.00,3646.00,320,0
+2006-01-03,15:45:00,3646.00,3647.00,3645.00,3646.00,1311,0
+2006-01-03,15:46:00,3645.00,3646.00,3645.00,3645.00,894,0
+2006-01-03,15:47:00,3645.00,3645.00,3643.00,3643.00,994,0
+2006-01-03,15:48:00,3644.00,3644.00,3643.00,3644.00,488,0
+2006-01-03,15:49:00,3644.00,3646.00,3644.00,3645.00,1589,0
+2006-01-03,15:50:00,3645.00,3646.00,3644.00,3644.00,919,0
+2006-01-03,15:51:00,3644.00,3645.00,3643.00,3645.00,340,0
+2006-01-03,15:52:00,3645.00,3645.00,3644.00,3645.00,1505,0
+2006-01-03,15:53:00,3645.00,3645.00,3643.00,3644.00,304,0
+2006-01-03,15:54:00,3643.00,3644.00,3642.00,3642.00,1897,0
+2006-01-03,15:55:00,3642.00,3643.00,3641.00,3641.00,1687,0
+2006-01-03,15:56:00,3641.00,3643.00,3641.00,3642.00,2386,0
+2006-01-03,15:57:00,3641.00,3642.00,3641.00,3642.00,1747,0
+2006-01-03,15:58:00,3642.00,3643.00,3641.00,3642.00,959,0
+2006-01-03,15:59:00,3643.00,3643.00,3642.00,3643.00,633,0
+2006-01-03,16:00:00,3643.00,3643.00,3641.00,3642.00,776,0
+2006-01-03,16:01:00,3642.00,3642.00,3639.00,3641.00,8347,0
+2006-01-03,16:02:00,3641.00,3641.00,3640.00,3640.00,2566,0
+2006-01-03,16:03:00,3640.00,3641.00,3639.00,3640.00,3803,0
+2006-01-03,16:04:00,3640.00,3640.00,3637.00,3637.00,4687,0
+2006-01-03,16:05:00,3637.00,3638.00,3635.00,3636.00,2807,0
+2006-01-03,16:06:00,3636.00,3637.00,3635.00,3637.00,3012,0
+2006-01-03,16:07:00,3637.00,3639.00,3635.00,3639.00,4251,0
+2006-01-03,16:08:00,3639.00,3639.00,3636.00,3637.00,3245,0
+2006-01-03,16:09:00,3637.00,3637.00,3633.00,3634.00,2193,0
+2006-01-03,16:10:00,3633.00,3635.00,3633.00,3633.00,1603,0
+2006-01-03,16:11:00,3633.00,3635.00,3632.00,3633.00,3835,0
+2006-01-03,16:12:00,3632.00,3633.00,3630.00,3631.00,5347,0
+2006-01-03,16:13:00,3631.00,3632.00,3629.00,3630.00,2273,0
+2006-01-03,16:14:00,3631.00,3631.00,3630.00,3630.00,3133,0
+2006-01-03,16:15:00,3631.00,3631.00,3629.00,3630.00,2504,0
+2006-01-03,16:16:00,3629.00,3631.00,3628.00,3630.00,2934,0
+2006-01-03,16:17:00,3630.00,3631.00,3629.00,3631.00,1414,0
+2006-01-03,16:18:00,3631.00,3632.00,3630.00,3631.00,709,0
+2006-01-03,16:19:00,3630.00,3631.00,3630.00,3631.00,2677,0
+2006-01-03,16:20:00,3631.00,3634.00,3631.00,3634.00,2399,0
+2006-01-03,16:21:00,3634.00,3634.00,3633.00,3633.00,1797,0
+2006-01-03,16:22:00,3634.00,3634.00,3632.00,3633.00,980,0
+2006-01-03,16:23:00,3632.00,3632.00,3630.00,3630.00,2548,0
+2006-01-03,16:24:00,3631.00,3632.00,3629.00,3630.00,2995,0
+2006-01-03,16:25:00,3630.00,3631.00,3628.00,3628.00,3438,0
+2006-01-03,16:26:00,3628.00,3629.00,3625.00,3625.00,3479,0
+2006-01-03,16:27:00,3625.00,3626.00,3624.00,3625.00,2929,0
+2006-01-03,16:28:00,3624.00,3625.00,3623.00,3623.00,2409,0
+2006-01-03,16:29:00,3623.00,3624.00,3622.00,3624.00,2651,0
+2006-01-03,16:30:00,3624.00,3625.00,3623.00,3624.00,2128,0
+2006-01-03,16:31:00,3624.00,3625.00,3623.00,3624.00,3409,0
+2006-01-03,16:32:00,3623.00,3624.00,3620.00,3620.00,4047,0
+2006-01-03,16:33:00,3620.00,3620.00,3616.00,3617.00,6479,0
+2006-01-03,16:34:00,3616.00,3618.00,3616.00,3618.00,4193,0
+2006-01-03,16:35:00,3618.00,3618.00,3616.00,3616.00,2142,0
+2006-01-03,16:36:00,3616.00,3616.00,3614.00,3614.00,4977,0
+2006-01-03,16:37:00,3614.00,3616.00,3614.00,3616.00,2403,0
+2006-01-03,16:38:00,3615.00,3616.00,3614.00,3614.00,3927,0
+2006-01-03,16:39:00,3615.00,3616.00,3614.00,3616.00,3214,0
+2006-01-03,16:40:00,3615.00,3616.00,3614.00,3616.00,2242,0
+2006-01-03,16:41:00,3616.00,3618.00,3616.00,3617.00,1581,0
+2006-01-03,16:42:00,3618.00,3619.00,3616.00,3619.00,2554,0
+2006-01-03,16:43:00,3619.00,3622.00,3618.00,3621.00,3480,0
+2006-01-03,16:44:00,3621.00,3622.00,3620.00,3622.00,1804,0
+2006-01-03,16:45:00,3621.00,3622.00,3619.00,3620.00,1726,0
+2006-01-03,16:46:00,3621.00,3621.00,3620.00,3620.00,273,0
+2006-01-03,16:47:00,3620.00,3621.00,3620.00,3621.00,904,0
+2006-01-03,16:48:00,3621.00,3622.00,3620.00,3621.00,1583,0
+2006-01-03,16:49:00,3622.00,3623.00,3621.00,3623.00,1828,0
+2006-01-03,16:50:00,3623.00,3624.00,3623.00,3624.00,961,0
+2006-01-03,16:51:00,3624.00,3624.00,3623.00,3624.00,1775,0
+2006-01-03,16:52:00,3624.00,3625.00,3623.00,3624.00,917,0
+2006-01-03,16:53:00,3624.00,3625.00,3624.00,3624.00,3159,0
+2006-01-03,16:54:00,3624.00,3626.00,3624.00,3626.00,1673,0
+2006-01-03,16:55:00,3625.00,3626.00,3625.00,3625.00,852,0
+2006-01-03,16:56:00,3625.00,3626.00,3624.00,3625.00,692,0
+2006-01-03,16:57:00,3625.00,3627.00,3625.00,3626.00,2881,0
+2006-01-03,16:58:00,3626.00,3626.00,3624.00,3624.00,2061,0
+2006-01-03,16:59:00,3623.00,3624.00,3621.00,3621.00,2013,0
+2006-01-03,17:00:00,3622.00,3624.00,3621.00,3623.00,1852,0
+2006-01-03,17:01:00,3624.00,3625.00,3622.00,3624.00,1896,0
+2006-01-03,17:02:00,3624.00,3624.00,3623.00,3623.00,640,0
+2006-01-03,17:03:00,3623.00,3624.00,3623.00,3624.00,1775,0
+2006-01-03,17:04:00,3624.00,3625.00,3623.00,3623.00,1846,0
+2006-01-03,17:05:00,3623.00,3623.00,3618.00,3618.00,3173,0
+2006-01-03,17:06:00,3618.00,3619.00,3617.00,3618.00,1607,0
+2006-01-03,17:07:00,3618.00,3619.00,3617.00,3617.00,2652,0
+2006-01-03,17:08:00,3618.00,3618.00,3616.00,3617.00,1494,0
+2006-01-03,17:09:00,3616.00,3619.00,3616.00,3618.00,1427,0
+2006-01-03,17:10:00,3618.00,3621.00,3618.00,3621.00,1911,0
+2006-01-03,17:11:00,3620.00,3621.00,3619.00,3620.00,905,0
+2006-01-03,17:12:00,3619.00,3620.00,3618.00,3619.00,676,0
+2006-01-03,17:13:00,3619.00,3619.00,3618.00,3618.00,634,0
+2006-01-03,17:14:00,3618.00,3619.00,3618.00,3619.00,533,0
+2006-01-03,17:15:00,3619.00,3621.00,3618.00,3620.00,1134,0
+2006-01-03,17:16:00,3620.00,3620.00,3619.00,3619.00,537,0
+2006-01-03,17:17:00,3619.00,3621.00,3619.00,3620.00,2062,0
+2006-01-03,17:18:00,3621.00,3624.00,3620.00,3623.00,2672,0
+2006-01-03,17:19:00,3623.00,3624.00,3622.00,3623.00,1070,0
+2006-01-03,17:20:00,3623.00,3624.00,3622.00,3623.00,981,0
+2006-01-03,17:21:00,3622.00,3623.00,3622.00,3622.00,332,0
+2006-01-03,17:22:00,3622.00,3622.00,3621.00,3621.00,809,0
+2006-01-03,17:23:00,3622.00,3622.00,3620.00,3621.00,1037,0
+2006-01-03,17:24:00,3621.00,3622.00,3620.00,3622.00,649,0
+2006-01-03,17:25:00,3621.00,3622.00,3621.00,3621.00,939,0
+2006-01-03,17:26:00,3621.00,3622.00,3620.00,3621.00,909,0
+2006-01-03,17:27:00,3621.00,3621.00,3620.00,3621.00,659,0
+2006-01-03,17:28:00,3621.00,3622.00,3621.00,3622.00,707,0
+2006-01-03,17:29:00,3622.00,3623.00,3621.00,3623.00,1607,0
+2006-01-03,17:30:00,3623.00,3625.00,3623.00,3625.00,2379,0
+2006-01-03,17:31:00,3625.00,3627.00,3624.00,3625.00,3125,0
+2006-01-03,17:32:00,3626.00,3626.00,3625.00,3626.00,725,0
+2006-01-03,17:33:00,3626.00,3626.00,3625.00,3626.00,2300,0
+2006-01-03,17:34:00,3625.00,3627.00,3625.00,3627.00,1917,0
+2006-01-03,17:35:00,3627.00,3628.00,3626.00,3628.00,580,0
+2006-01-03,17:36:00,3627.00,3629.00,3627.00,3628.00,2260,0
+2006-01-03,17:37:00,3629.00,3630.00,3629.00,3630.00,1996,0
+2006-01-03,17:38:00,3630.00,3632.00,3630.00,3631.00,2152,0
+2006-01-03,17:39:00,3631.00,3632.00,3631.00,3631.00,742,0
+2006-01-03,17:40:00,3631.00,3631.00,3630.00,3630.00,476,0
+2006-01-03,17:41:00,3631.00,3631.00,3630.00,3630.00,595,0
+2006-01-03,17:42:00,3629.00,3630.00,3629.00,3630.00,782,0
+2006-01-03,17:43:00,3630.00,3630.00,3628.00,3628.00,555,0
+2006-01-03,17:44:00,3628.00,3628.00,3627.00,3628.00,619,0
+2006-01-03,17:45:00,3628.00,3629.00,3628.00,3628.00,355,0
+2006-01-03,17:46:00,3628.00,3630.00,3628.00,3629.00,483,0
+2006-01-03,17:47:00,3629.00,3629.00,3629.00,3629.00,62,0
+2006-01-03,17:48:00,3629.00,3629.00,3627.00,3627.00,206,0
+2006-01-03,17:49:00,3627.00,3627.00,3626.00,3627.00,478,0
+2006-01-03,17:50:00,3626.00,3627.00,3626.00,3627.00,373,0
+2006-01-03,17:51:00,3626.00,3627.00,3625.00,3626.00,7376,0
+2006-01-03,17:52:00,3626.00,3627.00,3626.00,3627.00,512,0
+2006-01-03,17:53:00,3626.00,3628.00,3626.00,3628.00,739,0
+2006-01-03,17:54:00,3628.00,3629.00,3628.00,3629.00,565,0
+2006-01-03,17:55:00,3629.00,3629.00,3628.00,3628.00,73,0
+2006-01-03,17:56:00,3629.00,3629.00,3628.00,3628.00,120,0
+2006-01-03,17:57:00,3629.00,3629.00,3628.00,3628.00,146,0
+2006-01-03,17:58:00,3628.00,3628.00,3627.00,3628.00,699,0
+2006-01-03,17:59:00,3629.00,3630.00,3629.00,3630.00,195,0
+2006-01-03,18:00:00,3630.00,3632.00,3630.00,3632.00,1587,0
+2006-01-03,18:01:00,3633.00,3634.00,3632.00,3633.00,764,0
+2006-01-03,18:02:00,3633.00,3634.00,3633.00,3633.00,553,0
+2006-01-03,18:03:00,3633.00,3633.00,3632.00,3632.00,247,0
+2006-01-03,18:04:00,3632.00,3633.00,3632.00,3632.00,689,0
+2006-01-03,18:05:00,3631.00,3632.00,3631.00,3632.00,457,0
+2006-01-03,18:06:00,3633.00,3633.00,3633.00,3633.00,2817,0
+2006-01-03,18:07:00,3632.00,3632.00,3632.00,3632.00,767,0
+2006-01-03,18:08:00,3632.00,3632.00,3632.00,3632.00,286,0
+2006-01-03,18:09:00,3632.00,3632.00,3631.00,3631.00,238,0
+2006-01-03,18:10:00,3632.00,3635.00,3632.00,3635.00,1399,0
+2006-01-03,18:11:00,3636.00,3636.00,3635.00,3636.00,1376,0
+2006-01-03,18:12:00,3635.00,3636.00,3635.00,3635.00,523,0
+2006-01-03,18:13:00,3634.00,3636.00,3634.00,3636.00,649,0
+2006-01-03,18:14:00,3635.00,3636.00,3635.00,3636.00,73,0
+2006-01-03,18:15:00,3635.00,3636.00,3635.00,3635.00,620,0
+2006-01-03,18:16:00,3635.00,3635.00,3634.00,3634.00,152,0
+2006-01-03,18:17:00,3635.00,3635.00,3634.00,3634.00,122,0
+2006-01-03,18:18:00,3635.00,3635.00,3634.00,3634.00,415,0
+2006-01-03,18:19:00,3634.00,3634.00,3633.00,3634.00,34,0
+2006-01-03,18:20:00,3633.00,3633.00,3633.00,3633.00,110,0
+2006-01-03,18:21:00,3632.00,3633.00,3632.00,3632.00,352,0
+2006-01-03,18:22:00,3632.00,3632.00,3631.00,3631.00,135,0
+2006-01-03,18:23:00,3631.00,3631.00,3630.00,3630.00,162,0
+2006-01-03,18:24:00,3631.00,3631.00,3630.00,3631.00,492,0
+2006-01-03,18:26:00,3631.00,3633.00,3631.00,3632.00,281,0
+2006-01-03,18:27:00,3632.00,3632.00,3632.00,3632.00,233,0
+2006-01-03,18:28:00,3631.00,3633.00,3631.00,3633.00,200,0
+2006-01-03,18:29:00,3633.00,3634.00,3633.00,3633.00,499,0
+2006-01-03,18:30:00,3633.00,3633.00,3632.00,3632.00,163,0
+2006-01-03,18:31:00,3632.00,3632.00,3631.00,3631.00,480,0
+2006-01-03,18:32:00,3631.00,3631.00,3628.00,3630.00,680,0
+2006-01-03,18:33:00,3630.00,3630.00,3628.00,3629.00,364,0
+2006-01-03,18:34:00,3629.00,3632.00,3629.00,3632.00,910,0
+2006-01-03,18:35:00,3632.00,3634.00,3632.00,3634.00,352,0
+2006-01-03,18:36:00,3634.00,3634.00,3633.00,3633.00,73,0
+2006-01-03,18:37:00,3633.00,3634.00,3633.00,3634.00,225,0
+2006-01-03,18:38:00,3634.00,3634.00,3634.00,3634.00,208,0
+2006-01-03,18:39:00,3634.00,3634.00,3633.00,3634.00,368,0
+2006-01-03,18:40:00,3634.00,3634.00,3634.00,3634.00,14,0
+2006-01-03,18:41:00,3634.00,3634.00,3632.00,3633.00,410,0
+2006-01-03,18:42:00,3633.00,3634.00,3632.00,3633.00,143,0
+2006-01-03,18:43:00,3633.00,3633.00,3632.00,3633.00,281,0
+2006-01-03,18:44:00,3633.00,3634.00,3633.00,3634.00,251,0
+2006-01-03,18:45:00,3633.00,3633.00,3633.00,3633.00,141,0
+2006-01-03,18:46:00,3633.00,3634.00,3633.00,3634.00,19,0
+2006-01-03,18:47:00,3633.00,3635.00,3633.00,3635.00,258,0
+2006-01-03,18:48:00,3635.00,3635.00,3634.00,3634.00,151,0
+2006-01-03,18:49:00,3634.00,3635.00,3634.00,3635.00,89,0
+2006-01-03,18:50:00,3635.00,3636.00,3635.00,3636.00,631,0
+2006-01-03,18:51:00,3636.00,3636.00,3635.00,3635.00,110,0
+2006-01-03,18:52:00,3636.00,3636.00,3636.00,3636.00,124,0
+2006-01-03,18:53:00,3636.00,3636.00,3635.00,3635.00,150,0
+2006-01-03,18:54:00,3635.00,3635.00,3635.00,3635.00,63,0
+2006-01-03,18:55:00,3635.00,3636.00,3635.00,3636.00,168,0
+2006-01-03,18:56:00,3635.00,3636.00,3635.00,3636.00,63,0
+2006-01-03,18:57:00,3636.00,3637.00,3636.00,3636.00,215,0
+2006-01-03,18:58:00,3636.00,3636.00,3635.00,3636.00,202,0
+2006-01-03,18:59:00,3635.00,3635.00,3635.00,3635.00,251,0
+2006-01-03,19:00:00,3635.00,3636.00,3635.00,3636.00,83,0
+2006-01-03,19:01:00,3636.00,3637.00,3635.00,3635.00,327,0
+2006-01-03,19:02:00,3635.00,3635.00,3635.00,3635.00,30,0
+2006-01-03,19:03:00,3635.00,3635.00,3635.00,3635.00,184,0
+2006-01-03,19:04:00,3635.00,3635.00,3634.00,3635.00,289,0
+2006-01-03,19:05:00,3635.00,3636.00,3635.00,3635.00,165,0
+2006-01-03,19:06:00,3635.00,3635.00,3635.00,3635.00,34,0
+2006-01-03,19:07:00,3635.00,3635.00,3634.00,3635.00,65,0
+2006-01-03,19:08:00,3635.00,3635.00,3634.00,3635.00,44,0
+2006-01-03,19:10:00,3635.00,3635.00,3634.00,3634.00,12,0
+2006-01-03,19:12:00,3635.00,3635.00,3634.00,3634.00,14,0
+2006-01-03,19:13:00,3634.00,3634.00,3633.00,3633.00,608,0
+2006-01-03,19:14:00,3632.00,3632.00,3632.00,3632.00,2,0
+2006-01-03,19:15:00,3633.00,3633.00,3633.00,3633.00,345,0
+2006-01-03,19:16:00,3632.00,3634.00,3632.00,3634.00,125,0
+2006-01-03,19:17:00,3634.00,3634.00,3634.00,3634.00,192,0
+2006-01-03,19:18:00,3634.00,3634.00,3634.00,3634.00,1,0
+2006-01-03,19:19:00,3634.00,3634.00,3634.00,3634.00,2,0
+2006-01-03,19:20:00,3634.00,3634.00,3634.00,3634.00,7,0
+2006-01-03,19:21:00,3634.00,3634.00,3634.00,3634.00,26,0
+2006-01-03,19:22:00,3634.00,3634.00,3633.00,3633.00,8,0
+2006-01-03,19:23:00,3633.00,3634.00,3633.00,3633.00,230,0
+2006-01-03,19:24:00,3634.00,3634.00,3633.00,3633.00,133,0
+2006-01-03,19:26:00,3633.00,3633.00,3633.00,3633.00,17,0
+2006-01-03,19:27:00,3633.00,3633.00,3633.00,3633.00,3,0
+2006-01-03,19:28:00,3633.00,3634.00,3633.00,3634.00,74,0
+2006-01-03,19:29:00,3634.00,3635.00,3634.00,3635.00,34,0
+2006-01-03,19:30:00,3634.00,3634.00,3634.00,3634.00,86,0
+2006-01-03,19:31:00,3633.00,3633.00,3633.00,3633.00,1,0
+2006-01-03,19:33:00,3633.00,3633.00,3633.00,3633.00,2,0
+2006-01-03,19:34:00,3634.00,3634.00,3634.00,3634.00,60,0
+2006-01-03,19:35:00,3633.00,3633.00,3633.00,3633.00,5,0
+2006-01-03,19:36:00,3633.00,3633.00,3633.00,3633.00,354,0
+2006-01-03,19:37:00,3633.00,3634.00,3633.00,3633.00,155,0
+2006-01-03,19:38:00,3635.00,3635.00,3634.00,3634.00,289,0
+2006-01-03,19:39:00,3635.00,3635.00,3635.00,3635.00,22,0
+2006-01-03,19:40:00,3635.00,3636.00,3635.00,3636.00,79,0
+2006-01-03,19:41:00,3636.00,3636.00,3635.00,3635.00,132,0
+2006-01-03,19:42:00,3636.00,3636.00,3635.00,3636.00,45,0
+2006-01-03,19:43:00,3635.00,3636.00,3635.00,3635.00,18,0
+2006-01-03,19:44:00,3635.00,3635.00,3635.00,3635.00,74,0
+2006-01-03,19:45:00,3634.00,3635.00,3634.00,3634.00,9,0
+2006-01-03,19:46:00,3634.00,3634.00,3634.00,3634.00,2,0
+2006-01-03,19:47:00,3634.00,3635.00,3634.00,3635.00,51,0
+2006-01-03,19:48:00,3635.00,3636.00,3635.00,3636.00,79,0
+2006-01-03,19:49:00,3637.00,3638.00,3637.00,3637.00,209,0
+2006-01-03,19:50:00,3637.00,3637.00,3636.00,3636.00,129,0
+2006-01-03,19:51:00,3636.00,3636.00,3635.00,3636.00,20,0
+2006-01-03,19:52:00,3636.00,3636.00,3636.00,3636.00,5,0
+2006-01-03,19:54:00,3636.00,3636.00,3636.00,3636.00,5,0
+2006-01-03,19:55:00,3635.00,3636.00,3635.00,3635.00,14,0
+2006-01-03,19:56:00,3635.00,3635.00,3635.00,3635.00,12,0
+2006-01-03,19:57:00,3636.00,3636.00,3635.00,3635.00,29,0
+2006-01-03,19:58:00,3635.00,3636.00,3635.00,3636.00,14,0
+2006-01-03,19:59:00,3636.00,3636.00,3636.00,3636.00,2,0
+2006-01-03,20:00:00,3636.00,3636.00,3635.00,3635.00,12,0
+2006-01-03,20:01:00,3635.00,3640.00,3635.00,3639.00,728,0
+2006-01-03,20:02:00,3639.00,3640.00,3639.00,3639.00,650,0
+2006-01-03,20:03:00,3639.00,3640.00,3639.00,3639.00,200,0
+2006-01-03,20:04:00,3639.00,3640.00,3639.00,3640.00,69,0
+2006-01-03,20:05:00,3640.00,3643.00,3640.00,3642.00,1052,0
+2006-01-03,20:06:00,3643.00,3645.00,3643.00,3644.00,1297,0
+2006-01-03,20:07:00,3644.00,3644.00,3643.00,3643.00,67,0
+2006-01-03,20:08:00,3643.00,3644.00,3642.00,3644.00,228,0
+2006-01-03,20:09:00,3644.00,3644.00,3642.00,3644.00,294,0
+2006-01-03,20:10:00,3645.00,3645.00,3644.00,3645.00,572,0
+2006-01-03,20:11:00,3645.00,3648.00,3645.00,3648.00,478,0
+2006-01-03,20:12:00,3647.00,3648.00,3646.00,3647.00,323,0
+2006-01-03,20:13:00,3648.00,3648.00,3646.00,3646.00,123,0
+2006-01-03,20:14:00,3645.00,3646.00,3645.00,3645.00,28,0
+2006-01-03,20:15:00,3645.00,3645.00,3642.00,3642.00,150,0
+2006-01-03,20:16:00,3642.00,3642.00,3641.00,3642.00,56,0
+2006-01-03,20:17:00,3642.00,3644.00,3642.00,3644.00,85,0
+2006-01-03,20:18:00,3645.00,3646.00,3645.00,3646.00,72,0
+2006-01-03,20:19:00,3646.00,3647.00,3645.00,3647.00,177,0
+2006-01-03,20:20:00,3647.00,3648.00,3646.00,3646.00,110,0
+2006-01-03,20:21:00,3645.00,3646.00,3644.00,3646.00,77,0
+2006-01-03,20:22:00,3647.00,3648.00,3646.00,3646.00,87,0
+2006-01-03,20:23:00,3645.00,3645.00,3644.00,3644.00,86,0
+2006-01-03,20:24:00,3643.00,3643.00,3642.00,3643.00,30,0
+2006-01-03,20:25:00,3644.00,3644.00,3643.00,3643.00,26,0
+2006-01-03,20:26:00,3644.00,3646.00,3644.00,3645.00,109,0
+2006-01-03,20:27:00,3644.00,3645.00,3644.00,3645.00,54,0
+2006-01-03,20:28:00,3646.00,3647.00,3646.00,3647.00,82,0
+2006-01-03,20:29:00,3647.00,3647.00,3646.00,3646.00,76,0
+2006-01-03,20:30:00,3645.00,3645.00,3644.00,3644.00,212,0
+2006-01-03,20:31:00,3644.00,3647.00,3643.00,3647.00,262,0
+2006-01-03,20:32:00,3647.00,3647.00,3646.00,3647.00,99,0
+2006-01-03,20:33:00,3646.00,3649.00,3646.00,3649.00,143,0
+2006-01-03,20:34:00,3648.00,3648.00,3647.00,3647.00,19,0
+2006-01-03,20:35:00,3647.00,3648.00,3646.00,3648.00,174,0
+2006-01-03,20:36:00,3649.00,3649.00,3648.00,3648.00,141,0
+2006-01-03,20:37:00,3649.00,3650.00,3648.00,3649.00,140,0
+2006-01-03,20:38:00,3648.00,3649.00,3648.00,3649.00,234,0
+2006-01-03,20:39:00,3648.00,3648.00,3648.00,3648.00,271,0
+2006-01-03,20:40:00,3648.00,3648.00,3648.00,3648.00,263,0
+2006-01-03,20:41:00,3648.00,3649.00,3648.00,3649.00,58,0
+2006-01-03,20:42:00,3649.00,3649.00,3649.00,3649.00,1,0
+2006-01-03,20:43:00,3649.00,3650.00,3649.00,3649.00,211,0
+2006-01-03,20:44:00,3649.00,3650.00,3649.00,3649.00,305,0
+2006-01-03,20:45:00,3650.00,3650.00,3650.00,3650.00,33,0
+2006-01-03,20:46:00,3650.00,3650.00,3650.00,3650.00,16,0
+2006-01-03,20:47:00,3650.00,3650.00,3650.00,3650.00,11,0
+2006-01-03,20:48:00,3649.00,3649.00,3649.00,3649.00,2,0
+2006-01-03,20:49:00,3649.00,3650.00,3649.00,3650.00,158,0
+2006-01-03,20:50:00,3650.00,3650.00,3649.00,3650.00,26,0
+2006-01-03,20:51:00,3650.00,3650.00,3649.00,3649.00,117,0
+2006-01-03,20:52:00,3649.00,3650.00,3649.00,3650.00,160,0
+2006-01-03,20:53:00,3651.00,3651.00,3651.00,3651.00,8,0
+2006-01-03,20:54:00,3651.00,3651.00,3651.00,3651.00,36,0
+2006-01-03,20:55:00,3650.00,3650.00,3650.00,3650.00,8,0
+2006-01-03,20:56:00,3650.00,3651.00,3650.00,3650.00,205,0
+2006-01-03,20:57:00,3650.00,3651.00,3650.00,3651.00,34,0
+2006-01-03,20:58:00,3651.00,3652.00,3651.00,3652.00,660,0
+2006-01-03,20:59:00,3652.00,3654.00,3652.00,3653.00,455,0
+2006-01-03,21:00:00,3653.00,3653.00,3652.00,3652.00,105,0
+2006-01-03,21:01:00,3653.00,3656.00,3653.00,3655.00,709,0
+2006-01-03,21:02:00,3655.00,3658.00,3655.00,3657.00,456,0
+2006-01-03,21:03:00,3658.00,3658.00,3657.00,3657.00,571,0
+2006-01-03,21:04:00,3658.00,3658.00,3657.00,3657.00,113,0
+2006-01-03,21:05:00,3657.00,3659.00,3657.00,3658.00,145,0
+2006-01-03,21:06:00,3659.00,3662.00,3659.00,3661.00,808,0
+2006-01-03,21:07:00,3661.00,3663.00,3661.00,3661.00,270,0
+2006-01-03,21:08:00,3662.00,3662.00,3660.00,3660.00,49,0
+2006-01-03,21:09:00,3660.00,3662.00,3660.00,3662.00,244,0
+2006-01-03,21:10:00,3662.00,3662.00,3661.00,3661.00,41,0
+2006-01-03,21:11:00,3662.00,3662.00,3661.00,3661.00,26,0
+2006-01-03,21:12:00,3661.00,3661.00,3661.00,3661.00,12,0
+2006-01-03,21:13:00,3661.00,3662.00,3661.00,3661.00,114,0
+2006-01-03,21:14:00,3662.00,3662.00,3660.00,3660.00,105,0
+2006-01-03,21:15:00,3660.00,3660.00,3659.00,3660.00,64,0
+2006-01-03,21:16:00,3660.00,3661.00,3659.00,3659.00,15,0
+2006-01-03,21:17:00,3659.00,3660.00,3659.00,3659.00,59,0
+2006-01-03,21:18:00,3661.00,3661.00,3660.00,3660.00,13,0
+2006-01-03,21:19:00,3660.00,3660.00,3660.00,3660.00,39,0
+2006-01-03,21:20:00,3659.00,3660.00,3659.00,3660.00,52,0
+2006-01-03,21:21:00,3659.00,3660.00,3659.00,3660.00,17,0
+2006-01-03,21:22:00,3661.00,3661.00,3661.00,3661.00,32,0
+2006-01-03,21:23:00,3660.00,3660.00,3659.00,3659.00,79,0
+2006-01-03,21:24:00,3659.00,3660.00,3659.00,3660.00,3,0
+2006-01-03,21:25:00,3659.00,3659.00,3659.00,3659.00,4,0
+2006-01-03,21:26:00,3659.00,3659.00,3659.00,3659.00,65,0
+2006-01-03,21:27:00,3658.00,3658.00,3658.00,3658.00,1,0
+2006-01-03,21:28:00,3658.00,3660.00,3658.00,3660.00,40,0
+2006-01-03,21:29:00,3660.00,3660.00,3659.00,3659.00,10,0
+2006-01-03,21:30:00,3660.00,3660.00,3660.00,3660.00,15,0
+2006-01-03,21:31:00,3660.00,3661.00,3660.00,3660.00,24,0
+2006-01-03,21:32:00,3661.00,3662.00,3661.00,3662.00,104,0
+2006-01-03,21:33:00,3662.00,3663.00,3662.00,3663.00,97,0
+2006-01-03,21:34:00,3663.00,3663.00,3662.00,3663.00,23,0
+2006-01-03,21:35:00,3663.00,3663.00,3662.00,3662.00,80,0
+2006-01-03,21:36:00,3662.00,3662.00,3661.00,3661.00,18,0
+2006-01-03,21:37:00,3661.00,3662.00,3661.00,3662.00,85,0
+2006-01-03,21:39:00,3662.00,3662.00,3661.00,3662.00,603,0
+2006-01-03,21:40:00,3662.00,3663.00,3662.00,3663.00,169,0
+2006-01-03,21:41:00,3663.00,3663.00,3662.00,3662.00,7,0
+2006-01-03,21:42:00,3662.00,3663.00,3662.00,3663.00,28,0
+2006-01-03,21:43:00,3663.00,3663.00,3663.00,3663.00,64,0
+2006-01-03,21:44:00,3663.00,3663.00,3663.00,3663.00,4,0
+2006-01-03,21:45:00,3663.00,3664.00,3662.00,3662.00,57,0
+2006-01-03,21:46:00,3662.00,3663.00,3662.00,3663.00,413,0
+2006-01-03,21:47:00,3663.00,3663.00,3663.00,3663.00,76,0
+2006-01-03,21:48:00,3663.00,3663.00,3662.00,3663.00,101,0
+2006-01-03,21:49:00,3663.00,3663.00,3663.00,3663.00,105,0
+2006-01-03,21:50:00,3663.00,3664.00,3663.00,3664.00,14,0
+2006-01-03,21:51:00,3663.00,3663.00,3663.00,3663.00,62,0
+2006-01-03,21:52:00,3664.00,3664.00,3663.00,3663.00,22,0
+2006-01-03,21:53:00,3663.00,3663.00,3663.00,3663.00,11,0
+2006-01-03,21:54:00,3663.00,3663.00,3663.00,3663.00,11,0
+2006-01-03,21:55:00,3663.00,3663.00,3663.00,3663.00,9,0
+2006-01-03,21:56:00,3663.00,3664.00,3663.00,3664.00,14,0
+2006-01-03,21:57:00,3663.00,3663.00,3663.00,3663.00,244,0
+2006-01-03,21:58:00,3664.00,3664.00,3664.00,3664.00,198,0
+2006-01-03,21:59:00,3664.00,3664.00,3663.00,3664.00,207,0
+2006-01-03,22:00:00,3664.00,3665.00,3664.00,3665.00,558,0
+2006-01-04,09:01:00,3660.00,3661.00,3659.00,3660.00,11232,0
+2006-01-04,09:02:00,3659.00,3662.00,3659.00,3661.00,2194,0
+2006-01-04,09:03:00,3662.00,3662.00,3660.00,3660.00,1275,0
+2006-01-04,09:04:00,3659.00,3660.00,3657.00,3658.00,2038,0
+2006-01-04,09:05:00,3658.00,3660.00,3657.00,3660.00,1388,0
+2006-01-04,09:06:00,3659.00,3660.00,3658.00,3659.00,1946,0
+2006-01-04,09:07:00,3659.00,3660.00,3658.00,3659.00,1348,0
+2006-01-04,09:08:00,3659.00,3664.00,3659.00,3663.00,5217,0
+2006-01-04,09:09:00,3663.00,3664.00,3662.00,3664.00,2743,0
+2006-01-04,09:10:00,3663.00,3664.00,3662.00,3662.00,826,0
+2006-01-04,09:11:00,3662.00,3662.00,3661.00,3662.00,468,0
+2006-01-04,09:12:00,3662.00,3664.00,3662.00,3663.00,3545,0
+2006-01-04,09:13:00,3663.00,3664.00,3663.00,3663.00,1801,0
+2006-01-04,09:14:00,3664.00,3664.00,3662.00,3662.00,2431,0
+2006-01-04,09:15:00,3662.00,3663.00,3662.00,3662.00,2438,0
+2006-01-04,09:16:00,3662.00,3663.00,3661.00,3661.00,1762,0
+2006-01-04,09:17:00,3661.00,3661.00,3659.00,3661.00,880,0
+2006-01-04,09:18:00,3661.00,3661.00,3660.00,3660.00,128,0
+2006-01-04,09:19:00,3660.00,3660.00,3657.00,3657.00,2382,0
+2006-01-04,09:20:00,3657.00,3657.00,3655.00,3657.00,2016,0
+2006-01-04,09:21:00,3656.00,3657.00,3655.00,3655.00,488,0
+2006-01-04,09:22:00,3655.00,3658.00,3655.00,3658.00,1639,0
+2006-01-04,09:23:00,3657.00,3658.00,3656.00,3657.00,477,0
+2006-01-04,09:24:00,3656.00,3657.00,3656.00,3657.00,415,0
+2006-01-04,09:25:00,3657.00,3657.00,3656.00,3657.00,203,0
+2006-01-04,09:26:00,3657.00,3658.00,3657.00,3657.00,410,0
+2006-01-04,09:27:00,3657.00,3658.00,3657.00,3657.00,597,0
+2006-01-04,09:28:00,3658.00,3659.00,3657.00,3658.00,542,0
+2006-01-04,09:29:00,3659.00,3659.00,3657.00,3658.00,849,0
+2006-01-04,09:30:00,3658.00,3659.00,3658.00,3659.00,346,0
+2006-01-04,09:31:00,3659.00,3659.00,3658.00,3658.00,355,0
+2006-01-04,09:32:00,3658.00,3658.00,3657.00,3657.00,599,0
+2006-01-04,09:33:00,3657.00,3658.00,3657.00,3657.00,289,0
+2006-01-04,09:34:00,3657.00,3659.00,3657.00,3659.00,909,0
+2006-01-04,09:35:00,3659.00,3660.00,3658.00,3658.00,528,0
+2006-01-04,09:36:00,3659.00,3660.00,3659.00,3660.00,486,0
+2006-01-04,09:37:00,3660.00,3661.00,3660.00,3660.00,579,0
+2006-01-04,09:38:00,3661.00,3661.00,3660.00,3661.00,1246,0
+2006-01-04,09:39:00,3661.00,3662.00,3661.00,3661.00,862,0
+2006-01-04,09:40:00,3661.00,3661.00,3660.00,3661.00,195,0
+2006-01-04,09:41:00,3660.00,3661.00,3659.00,3659.00,666,0
+2006-01-04,09:42:00,3659.00,3659.00,3658.00,3659.00,477,0
+2006-01-04,09:43:00,3658.00,3660.00,3658.00,3660.00,772,0
+2006-01-04,09:44:00,3659.00,3659.00,3658.00,3658.00,181,0
+2006-01-04,09:45:00,3658.00,3659.00,3657.00,3658.00,1416,0
+2006-01-04,09:46:00,3658.00,3658.00,3657.00,3658.00,316,0
+2006-01-04,09:47:00,3657.00,3657.00,3655.00,3655.00,1019,0
+2006-01-04,09:48:00,3656.00,3656.00,3654.00,3655.00,667,0
+2006-01-04,09:49:00,3655.00,3656.00,3653.00,3653.00,1835,0
+2006-01-04,09:50:00,3653.00,3655.00,3652.00,3655.00,1446,0
+2006-01-04,09:51:00,3654.00,3655.00,3653.00,3654.00,1378,0
+2006-01-04,09:52:00,3654.00,3655.00,3654.00,3654.00,315,0
+2006-01-04,09:53:00,3655.00,3655.00,3654.00,3654.00,688,0
+2006-01-04,09:54:00,3655.00,3658.00,3654.00,3658.00,2594,0
+2006-01-04,09:55:00,3658.00,3658.00,3657.00,3657.00,244,0
+2006-01-04,09:56:00,3658.00,3658.00,3657.00,3657.00,262,0
+2006-01-04,09:57:00,3657.00,3658.00,3657.00,3658.00,249,0
+2006-01-04,09:58:00,3658.00,3658.00,3657.00,3657.00,410,0
+2006-01-04,09:59:00,3658.00,3658.00,3656.00,3657.00,1491,0
+2006-01-04,10:00:00,3657.00,3658.00,3656.00,3656.00,702,0
+2006-01-04,10:01:00,3656.00,3656.00,3655.00,3656.00,697,0
+2006-01-04,10:02:00,3656.00,3656.00,3655.00,3656.00,350,0
+2006-01-04,10:03:00,3656.00,3656.00,3655.00,3655.00,1678,0
+2006-01-04,10:04:00,3655.00,3655.00,3654.00,3654.00,636,0
+2006-01-04,10:05:00,3654.00,3654.00,3653.00,3654.00,1891,0
+2006-01-04,10:06:00,3654.00,3656.00,3654.00,3656.00,258,0
+2006-01-04,10:07:00,3655.00,3656.00,3655.00,3655.00,344,0
+2006-01-04,10:08:00,3655.00,3656.00,3654.00,3654.00,838,0
+2006-01-04,10:09:00,3655.00,3655.00,3654.00,3654.00,1140,0
+2006-01-04,10:10:00,3654.00,3656.00,3653.00,3655.00,1023,0
+2006-01-04,10:11:00,3655.00,3655.00,3653.00,3655.00,259,0
+2006-01-04,10:12:00,3655.00,3656.00,3655.00,3655.00,266,0
+2006-01-04,10:13:00,3655.00,3656.00,3655.00,3655.00,675,0
+2006-01-04,10:14:00,3655.00,3655.00,3654.00,3655.00,1852,0
+2006-01-04,10:15:00,3655.00,3656.00,3655.00,3656.00,140,0
+2006-01-04,10:16:00,3656.00,3656.00,3656.00,3656.00,137,0
+2006-01-04,10:17:00,3656.00,3657.00,3656.00,3656.00,499,0
+2006-01-04,10:18:00,3656.00,3658.00,3656.00,3658.00,1313,0
+2006-01-04,10:19:00,3658.00,3658.00,3657.00,3657.00,902,0
+2006-01-04,10:20:00,3658.00,3658.00,3657.00,3657.00,420,0
+2006-01-04,10:21:00,3658.00,3659.00,3658.00,3659.00,1557,0
+2006-01-04,10:22:00,3658.00,3659.00,3658.00,3659.00,257,0
+2006-01-04,10:23:00,3659.00,3659.00,3659.00,3659.00,117,0
+2006-01-04,10:24:00,3659.00,3659.00,3658.00,3658.00,456,0
+2006-01-04,10:25:00,3657.00,3658.00,3657.00,3657.00,409,0
+2006-01-04,10:26:00,3656.00,3656.00,3655.00,3656.00,1175,0
+2006-01-04,10:27:00,3656.00,3656.00,3656.00,3656.00,271,0
+2006-01-04,10:28:00,3655.00,3655.00,3652.00,3653.00,3096,0
+2006-01-04,10:29:00,3653.00,3653.00,3649.00,3650.00,4445,0
+2006-01-04,10:30:00,3649.00,3650.00,3643.00,3643.00,6952,0
+2006-01-04,10:31:00,3643.00,3650.00,3643.00,3649.00,4905,0
+2006-01-04,10:32:00,3650.00,3652.00,3649.00,3652.00,4888,0
+2006-01-04,10:33:00,3653.00,3655.00,3650.00,3653.00,5699,0
+2006-01-04,10:34:00,3653.00,3653.00,3651.00,3651.00,1878,0
+2006-01-04,10:35:00,3651.00,3651.00,3650.00,3651.00,2022,0
+2006-01-04,10:36:00,3651.00,3652.00,3647.00,3647.00,3408,0
+2006-01-04,10:37:00,3646.00,3648.00,3643.00,3644.00,5700,0
+2006-01-04,10:38:00,3644.00,3645.00,3641.00,3644.00,5525,0
+2006-01-04,10:39:00,3645.00,3650.00,3644.00,3650.00,6463,0
+2006-01-04,10:40:00,3650.00,3650.00,3646.00,3647.00,1725,0
+2006-01-04,10:41:00,3648.00,3651.00,3648.00,3651.00,3311,0
+2006-01-04,10:42:00,3651.00,3651.00,3648.00,3649.00,1265,0
+2006-01-04,10:43:00,3649.00,3651.00,3647.00,3651.00,1805,0
+2006-01-04,10:44:00,3650.00,3652.00,3649.00,3651.00,2101,0
+2006-01-04,10:45:00,3651.00,3653.00,3651.00,3652.00,1264,0
+2006-01-04,10:46:00,3651.00,3653.00,3651.00,3652.00,760,0
+2006-01-04,10:47:00,3653.00,3653.00,3651.00,3651.00,759,0
+2006-01-04,10:48:00,3652.00,3652.00,3651.00,3652.00,271,0
+2006-01-04,10:49:00,3652.00,3655.00,3652.00,3654.00,1545,0
+2006-01-04,10:50:00,3653.00,3654.00,3653.00,3654.00,725,0
+2006-01-04,10:51:00,3654.00,3655.00,3654.00,3655.00,799,0
+2006-01-04,10:52:00,3654.00,3654.00,3652.00,3652.00,1354,0
+2006-01-04,10:53:00,3652.00,3653.00,3652.00,3653.00,459,0
+2006-01-04,10:54:00,3652.00,3653.00,3652.00,3653.00,5,0
+2006-01-04,10:55:00,3652.00,3653.00,3651.00,3652.00,726,0
+2006-01-04,10:56:00,3651.00,3652.00,3651.00,3651.00,300,0
+2006-01-04,10:57:00,3651.00,3652.00,3650.00,3651.00,1122,0
+2006-01-04,10:58:00,3652.00,3652.00,3651.00,3652.00,692,0
+2006-01-04,10:59:00,3651.00,3652.00,3651.00,3651.00,463,0
+2006-01-04,11:00:00,3651.00,3651.00,3648.00,3649.00,1624,0
+2006-01-04,11:01:00,3649.00,3651.00,3649.00,3650.00,1025,0
+2006-01-04,11:02:00,3650.00,3651.00,3650.00,3651.00,114,0
+2006-01-04,11:03:00,3650.00,3651.00,3650.00,3651.00,613,0
+2006-01-04,11:04:00,3651.00,3653.00,3651.00,3652.00,827,0
+2006-01-04,11:05:00,3652.00,3653.00,3651.00,3652.00,547,0
+2006-01-04,11:06:00,3652.00,3653.00,3652.00,3653.00,554,0
+2006-01-04,11:07:00,3653.00,3653.00,3652.00,3653.00,398,0
+2006-01-04,11:08:00,3653.00,3653.00,3652.00,3653.00,826,0
+2006-01-04,11:09:00,3652.00,3653.00,3652.00,3653.00,222,0
+2006-01-04,11:10:00,3653.00,3654.00,3653.00,3654.00,395,0
+2006-01-04,11:11:00,3654.00,3654.00,3653.00,3653.00,182,0
+2006-01-04,11:12:00,3654.00,3655.00,3654.00,3654.00,632,0
+2006-01-04,11:13:00,3654.00,3654.00,3654.00,3654.00,349,0
+2006-01-04,11:14:00,3654.00,3655.00,3654.00,3654.00,681,0
+2006-01-04,11:15:00,3655.00,3656.00,3655.00,3656.00,1107,0
+2006-01-04,11:16:00,3656.00,3656.00,3655.00,3656.00,241,0
+2006-01-04,11:17:00,3655.00,3656.00,3655.00,3655.00,479,0
+2006-01-04,11:18:00,3655.00,3655.00,3654.00,3654.00,453,0
+2006-01-04,11:19:00,3655.00,3655.00,3654.00,3654.00,846,0
+2006-01-04,11:20:00,3654.00,3655.00,3654.00,3655.00,227,0
+2006-01-04,11:21:00,3655.00,3655.00,3654.00,3654.00,234,0
+2006-01-04,11:22:00,3654.00,3655.00,3654.00,3654.00,15,0
+2006-01-04,11:23:00,3654.00,3655.00,3654.00,3654.00,193,0
+2006-01-04,11:24:00,3655.00,3655.00,3654.00,3655.00,149,0
+2006-01-04,11:25:00,3654.00,3654.00,3654.00,3654.00,202,0
+2006-01-04,11:26:00,3655.00,3655.00,3654.00,3655.00,718,0
+2006-01-04,11:27:00,3655.00,3657.00,3655.00,3657.00,1315,0
+2006-01-04,11:28:00,3656.00,3657.00,3656.00,3656.00,580,0
+2006-01-04,11:29:00,3657.00,3657.00,3657.00,3657.00,820,0
+2006-01-04,11:30:00,3657.00,3658.00,3656.00,3658.00,380,0
+2006-01-04,11:31:00,3657.00,3658.00,3657.00,3658.00,441,0
+2006-01-04,11:32:00,3657.00,3658.00,3657.00,3657.00,250,0
+2006-01-04,11:33:00,3657.00,3658.00,3657.00,3657.00,89,0
+2006-01-04,11:34:00,3657.00,3658.00,3656.00,3656.00,900,0
+2006-01-04,11:35:00,3656.00,3656.00,3656.00,3656.00,3,0
+2006-01-04,11:36:00,3656.00,3657.00,3656.00,3656.00,152,0
+2006-01-04,11:37:00,3657.00,3657.00,3656.00,3656.00,401,0
+2006-01-04,11:38:00,3656.00,3657.00,3656.00,3656.00,236,0
+2006-01-04,11:39:00,3656.00,3657.00,3656.00,3656.00,41,0
+2006-01-04,11:40:00,3656.00,3656.00,3656.00,3656.00,58,0
+2006-01-04,11:41:00,3657.00,3657.00,3657.00,3657.00,946,0
+2006-01-04,11:42:00,3657.00,3658.00,3657.00,3658.00,14,0
+2006-01-04,11:43:00,3657.00,3658.00,3657.00,3657.00,77,0
+2006-01-04,11:44:00,3657.00,3658.00,3657.00,3658.00,34,0
+2006-01-04,11:45:00,3657.00,3658.00,3657.00,3658.00,22,0
+2006-01-04,11:46:00,3657.00,3658.00,3657.00,3658.00,138,0
+2006-01-04,11:47:00,3657.00,3658.00,3657.00,3657.00,103,0
+2006-01-04,11:48:00,3658.00,3658.00,3658.00,3658.00,10,0
+2006-01-04,11:49:00,3657.00,3657.00,3656.00,3657.00,386,0
+2006-01-04,11:50:00,3657.00,3658.00,3657.00,3657.00,539,0
+2006-01-04,11:51:00,3657.00,3658.00,3657.00,3657.00,10,0
+2006-01-04,11:52:00,3658.00,3658.00,3657.00,3657.00,1960,0
+2006-01-04,11:53:00,3656.00,3657.00,3656.00,3656.00,5,0
+2006-01-04,11:54:00,3656.00,3657.00,3656.00,3656.00,54,0
+2006-01-04,11:55:00,3656.00,3657.00,3656.00,3656.00,598,0
+2006-01-04,11:56:00,3656.00,3656.00,3656.00,3656.00,295,0
+2006-01-04,11:57:00,3656.00,3656.00,3656.00,3656.00,361,0
+2006-01-04,11:58:00,3656.00,3656.00,3655.00,3655.00,2,0
+2006-01-04,11:59:00,3655.00,3655.00,3654.00,3654.00,508,0
+2006-01-04,12:01:00,3655.00,3655.00,3654.00,3654.00,194,0
+2006-01-04,12:02:00,3655.00,3655.00,3654.00,3654.00,563,0
+2006-01-04,12:03:00,3654.00,3654.00,3654.00,3654.00,606,0
+2006-01-04,12:04:00,3654.00,3655.00,3654.00,3655.00,29,0
+2006-01-04,12:05:00,3655.00,3655.00,3655.00,3655.00,292,0
+2006-01-04,12:06:00,3655.00,3656.00,3655.00,3655.00,655,0
+2006-01-04,12:07:00,3655.00,3655.00,3655.00,3655.00,3,0
+2006-01-04,12:08:00,3655.00,3655.00,3655.00,3655.00,2,0
+2006-01-04,12:09:00,3655.00,3655.00,3655.00,3655.00,6,0
+2006-01-04,12:10:00,3656.00,3656.00,3655.00,3655.00,1126,0
+2006-01-04,12:11:00,3655.00,3655.00,3655.00,3655.00,50,0
+2006-01-04,12:12:00,3655.00,3655.00,3655.00,3655.00,26,0
+2006-01-04,12:13:00,3655.00,3656.00,3655.00,3655.00,376,0
+2006-01-04,12:14:00,3655.00,3655.00,3655.00,3655.00,11,0
+2006-01-04,12:15:00,3656.00,3657.00,3656.00,3656.00,1022,0
+2006-01-04,12:16:00,3657.00,3657.00,3656.00,3656.00,22,0
+2006-01-04,12:17:00,3656.00,3657.00,3656.00,3656.00,229,0
+2006-01-04,12:18:00,3656.00,3656.00,3656.00,3656.00,25,0
+2006-01-04,12:19:00,3655.00,3656.00,3655.00,3656.00,29,0
+2006-01-04,12:20:00,3656.00,3656.00,3656.00,3656.00,390,0
+2006-01-04,12:21:00,3655.00,3655.00,3655.00,3655.00,5,0
+2006-01-04,12:22:00,3656.00,3656.00,3656.00,3656.00,115,0
+2006-01-04,12:24:00,3656.00,3656.00,3655.00,3656.00,20,0
+2006-01-04,12:25:00,3656.00,3656.00,3655.00,3656.00,237,0
+2006-01-04,12:26:00,3656.00,3657.00,3656.00,3657.00,422,0
+2006-01-04,12:27:00,3657.00,3657.00,3656.00,3657.00,335,0
+2006-01-04,12:28:00,3657.00,3658.00,3656.00,3657.00,2642,0
+2006-01-04,12:29:00,3657.00,3657.00,3657.00,3657.00,79,0
+2006-01-04,12:30:00,3657.00,3657.00,3656.00,3656.00,878,0
+2006-01-04,12:31:00,3656.00,3656.00,3655.00,3655.00,901,0
+2006-01-04,12:32:00,3655.00,3656.00,3655.00,3655.00,203,0
+2006-01-04,12:33:00,3656.00,3656.00,3656.00,3656.00,4,0
+2006-01-04,12:34:00,3655.00,3655.00,3655.00,3655.00,102,0
+2006-01-04,12:35:00,3655.00,3655.00,3655.00,3655.00,1025,0
+2006-01-04,12:36:00,3655.00,3655.00,3655.00,3655.00,197,0
+2006-01-04,12:37:00,3655.00,3656.00,3655.00,3656.00,138,0
+2006-01-04,12:38:00,3655.00,3656.00,3654.00,3654.00,250,0
+2006-01-04,12:39:00,3655.00,3655.00,3653.00,3653.00,947,0
+2006-01-04,12:40:00,3653.00,3654.00,3653.00,3653.00,496,0
+2006-01-04,12:41:00,3653.00,3653.00,3653.00,3653.00,397,0
+2006-01-04,12:42:00,3653.00,3654.00,3653.00,3654.00,170,0
+2006-01-04,12:43:00,3653.00,3653.00,3653.00,3653.00,381,0
+2006-01-04,12:44:00,3653.00,3653.00,3652.00,3652.00,966,0
+2006-01-04,12:45:00,3652.00,3652.00,3652.00,3652.00,76,0
+2006-01-04,12:46:00,3652.00,3652.00,3652.00,3652.00,487,0
+2006-01-04,12:47:00,3652.00,3653.00,3652.00,3653.00,120,0
+2006-01-04,12:48:00,3652.00,3653.00,3652.00,3652.00,41,0
+2006-01-04,12:49:00,3652.00,3653.00,3652.00,3653.00,562,0
+2006-01-04,12:50:00,3653.00,3654.00,3653.00,3653.00,34,0
+2006-01-04,12:51:00,3653.00,3653.00,3653.00,3653.00,1472,0
+2006-01-04,12:52:00,3653.00,3653.00,3652.00,3652.00,139,0
+2006-01-04,12:53:00,3652.00,3652.00,3652.00,3652.00,45,0
+2006-01-04,12:54:00,3652.00,3652.00,3652.00,3652.00,383,0
+2006-01-04,12:55:00,3652.00,3653.00,3652.00,3653.00,24,0
+2006-01-04,12:56:00,3653.00,3654.00,3653.00,3653.00,381,0
+2006-01-04,12:57:00,3654.00,3654.00,3653.00,3653.00,6,0
+2006-01-04,12:59:00,3653.00,3653.00,3653.00,3653.00,1,0
+2006-01-04,13:00:00,3654.00,3654.00,3654.00,3654.00,1,0
+2006-01-04,13:01:00,3653.00,3654.00,3653.00,3654.00,35,0
+2006-01-04,13:02:00,3654.00,3655.00,3654.00,3655.00,567,0
+2006-01-04,13:03:00,3655.00,3655.00,3654.00,3654.00,53,0
+2006-01-04,13:04:00,3655.00,3655.00,3654.00,3654.00,149,0
+2006-01-04,13:05:00,3654.00,3654.00,3654.00,3654.00,1,0
+2006-01-04,13:06:00,3655.00,3655.00,3655.00,3655.00,1,0
+2006-01-04,13:07:00,3654.00,3655.00,3654.00,3655.00,346,0
+2006-01-04,13:08:00,3655.00,3655.00,3655.00,3655.00,12,0
+2006-01-04,13:09:00,3655.00,3655.00,3655.00,3655.00,12,0
+2006-01-04,13:10:00,3654.00,3655.00,3654.00,3654.00,468,0
+2006-01-04,13:11:00,3655.00,3655.00,3654.00,3654.00,7,0
+2006-01-04,13:12:00,3655.00,3655.00,3654.00,3654.00,238,0
+2006-01-04,13:13:00,3654.00,3654.00,3653.00,3654.00,367,0
+2006-01-04,13:14:00,3654.00,3655.00,3654.00,3655.00,153,0
+2006-01-04,13:15:00,3655.00,3655.00,3654.00,3654.00,6,0
+2006-01-04,13:16:00,3654.00,3654.00,3653.00,3654.00,370,0
+2006-01-04,13:17:00,3654.00,3654.00,3654.00,3654.00,95,0
+2006-01-04,13:18:00,3654.00,3654.00,3654.00,3654.00,161,0
+2006-01-04,13:19:00,3654.00,3655.00,3653.00,3655.00,170,0
+2006-01-04,13:20:00,3654.00,3654.00,3653.00,3654.00,118,0
+2006-01-04,13:21:00,3654.00,3654.00,3654.00,3654.00,246,0
+2006-01-04,13:22:00,3654.00,3655.00,3653.00,3654.00,478,0
+2006-01-04,13:23:00,3653.00,3654.00,3653.00,3653.00,488,0
+2006-01-04,13:24:00,3654.00,3654.00,3653.00,3653.00,887,0
+2006-01-04,13:25:00,3653.00,3654.00,3652.00,3653.00,99,0
+2006-01-04,13:26:00,3653.00,3653.00,3652.00,3653.00,328,0
+2006-01-04,13:27:00,3653.00,3654.00,3653.00,3653.00,245,0
+2006-01-04,13:28:00,3653.00,3654.00,3653.00,3654.00,655,0
+2006-01-04,13:29:00,3654.00,3654.00,3653.00,3654.00,176,0
+2006-01-04,13:30:00,3653.00,3654.00,3653.00,3653.00,534,0
+2006-01-04,13:31:00,3653.00,3654.00,3653.00,3654.00,30,0
+2006-01-04,13:32:00,3653.00,3654.00,3653.00,3654.00,41,0
+2006-01-04,13:33:00,3654.00,3654.00,3653.00,3653.00,63,0
+2006-01-04,13:34:00,3653.00,3654.00,3653.00,3654.00,134,0
+2006-01-04,13:35:00,3654.00,3654.00,3654.00,3654.00,71,0
+2006-01-04,13:36:00,3654.00,3654.00,3653.00,3653.00,39,0
+2006-01-04,13:37:00,3653.00,3653.00,3653.00,3653.00,59,0
+2006-01-04,13:38:00,3653.00,3653.00,3653.00,3653.00,386,0
+2006-01-04,13:39:00,3653.00,3653.00,3653.00,3653.00,13,0
+2006-01-04,13:40:00,3654.00,3654.00,3652.00,3653.00,110,0
+2006-01-04,13:41:00,3653.00,3653.00,3653.00,3653.00,148,0
+2006-01-04,13:42:00,3653.00,3653.00,3653.00,3653.00,16,0
+2006-01-04,13:43:00,3653.00,3653.00,3652.00,3653.00,70,0
+2006-01-04,13:44:00,3653.00,3653.00,3653.00,3653.00,5,0
+2006-01-04,13:45:00,3652.00,3652.00,3652.00,3652.00,6,0
+2006-01-04,13:46:00,3652.00,3653.00,3652.00,3652.00,1505,0
+2006-01-04,13:47:00,3652.00,3652.00,3652.00,3652.00,42,0
+2006-01-04,13:48:00,3652.00,3653.00,3652.00,3652.00,55,0
+2006-01-04,13:49:00,3652.00,3652.00,3652.00,3652.00,77,0
+2006-01-04,13:50:00,3652.00,3653.00,3652.00,3653.00,276,0
+2006-01-04,13:51:00,3652.00,3653.00,3652.00,3653.00,62,0
+2006-01-04,13:52:00,3653.00,3653.00,3652.00,3652.00,325,0
+2006-01-04,13:53:00,3652.00,3652.00,3652.00,3652.00,25,0
+2006-01-04,13:54:00,3652.00,3653.00,3652.00,3652.00,426,0
+2006-01-04,13:56:00,3653.00,3653.00,3652.00,3652.00,285,0
+2006-01-04,13:57:00,3653.00,3653.00,3653.00,3653.00,11,0
+2006-01-04,13:58:00,3653.00,3654.00,3653.00,3653.00,2235,0
+2006-01-04,13:59:00,3653.00,3654.00,3653.00,3654.00,1233,0
+2006-01-04,14:00:00,3653.00,3653.00,3653.00,3653.00,132,0
+2006-01-04,14:01:00,3653.00,3653.00,3652.00,3653.00,276,0
+2006-01-04,14:02:00,3652.00,3652.00,3652.00,3652.00,23,0
+2006-01-04,14:03:00,3652.00,3653.00,3652.00,3652.00,320,0
+2006-01-04,14:04:00,3653.00,3653.00,3653.00,3653.00,728,0
+2006-01-04,14:05:00,3653.00,3653.00,3651.00,3652.00,943,0
+2006-01-04,14:06:00,3652.00,3653.00,3652.00,3652.00,344,0
+2006-01-04,14:07:00,3653.00,3653.00,3652.00,3652.00,13,0
+2006-01-04,14:08:00,3652.00,3653.00,3652.00,3653.00,287,0
+2006-01-04,14:09:00,3652.00,3652.00,3652.00,3652.00,71,0
+2006-01-04,14:10:00,3652.00,3652.00,3652.00,3652.00,1735,0
+2006-01-04,14:12:00,3653.00,3654.00,3653.00,3654.00,434,0
+2006-01-04,14:13:00,3653.00,3654.00,3653.00,3654.00,160,0
+2006-01-04,14:14:00,3654.00,3654.00,3654.00,3654.00,143,0
+2006-01-04,14:15:00,3654.00,3654.00,3654.00,3654.00,411,0
+2006-01-04,14:16:00,3655.00,3655.00,3653.00,3654.00,381,0
+2006-01-04,14:17:00,3654.00,3655.00,3654.00,3655.00,316,0
+2006-01-04,14:18:00,3655.00,3655.00,3654.00,3654.00,369,0
+2006-01-04,14:19:00,3655.00,3655.00,3654.00,3655.00,155,0
+2006-01-04,14:20:00,3655.00,3655.00,3654.00,3654.00,561,0
+2006-01-04,14:21:00,3655.00,3656.00,3655.00,3655.00,351,0
+2006-01-04,14:22:00,3656.00,3656.00,3655.00,3655.00,379,0
+2006-01-04,14:23:00,3655.00,3655.00,3653.00,3653.00,727,0
+2006-01-04,14:24:00,3653.00,3653.00,3653.00,3653.00,44,0
+2006-01-04,14:25:00,3654.00,3654.00,3654.00,3654.00,471,0
+2006-01-04,14:26:00,3654.00,3654.00,3654.00,3654.00,144,0
+2006-01-04,14:27:00,3654.00,3654.00,3654.00,3654.00,29,0
+2006-01-04,14:28:00,3654.00,3655.00,3654.00,3655.00,398,0
+2006-01-04,14:29:00,3655.00,3655.00,3654.00,3654.00,45,0
+2006-01-04,14:30:00,3655.00,3655.00,3654.00,3654.00,3,0
+2006-01-04,14:31:00,3654.00,3655.00,3653.00,3653.00,165,0
+2006-01-04,14:32:00,3654.00,3654.00,3653.00,3654.00,166,0
+2006-01-04,14:33:00,3654.00,3655.00,3654.00,3655.00,378,0
+2006-01-04,14:34:00,3655.00,3655.00,3655.00,3655.00,594,0
+2006-01-04,14:35:00,3654.00,3655.00,3654.00,3655.00,317,0
+2006-01-04,14:36:00,3655.00,3655.00,3655.00,3655.00,620,0
+2006-01-04,14:37:00,3655.00,3656.00,3655.00,3656.00,280,0
+2006-01-04,14:38:00,3656.00,3656.00,3656.00,3656.00,1,0
+2006-01-04,14:39:00,3656.00,3656.00,3655.00,3655.00,249,0
+2006-01-04,14:40:00,3655.00,3655.00,3655.00,3655.00,350,0
+2006-01-04,14:41:00,3655.00,3656.00,3655.00,3656.00,12,0
+2006-01-04,14:42:00,3656.00,3657.00,3656.00,3657.00,505,0
+2006-01-04,14:43:00,3656.00,3659.00,3656.00,3659.00,1309,0
+2006-01-04,14:44:00,3658.00,3659.00,3658.00,3658.00,465,0
+2006-01-04,14:45:00,3658.00,3659.00,3657.00,3658.00,362,0
+2006-01-04,14:46:00,3658.00,3658.00,3658.00,3658.00,40,0
+2006-01-04,14:47:00,3658.00,3658.00,3656.00,3657.00,719,0
+2006-01-04,14:48:00,3657.00,3658.00,3656.00,3658.00,617,0
+2006-01-04,14:49:00,3658.00,3658.00,3657.00,3657.00,281,0
+2006-01-04,14:50:00,3657.00,3657.00,3657.00,3657.00,268,0
+2006-01-04,14:51:00,3656.00,3658.00,3656.00,3658.00,308,0
+2006-01-04,14:52:00,3658.00,3658.00,3657.00,3657.00,124,0
+2006-01-04,14:53:00,3658.00,3658.00,3658.00,3658.00,27,0
+2006-01-04,14:54:00,3657.00,3658.00,3657.00,3657.00,490,0
+2006-01-04,14:55:00,3657.00,3657.00,3656.00,3657.00,36,0
+2006-01-04,14:56:00,3657.00,3657.00,3657.00,3657.00,20,0
+2006-01-04,14:57:00,3656.00,3656.00,3655.00,3656.00,630,0
+2006-01-04,14:58:00,3656.00,3656.00,3655.00,3656.00,21,0
+2006-01-04,14:59:00,3656.00,3656.00,3655.00,3656.00,521,0
+2006-01-04,15:00:00,3656.00,3656.00,3655.00,3656.00,181,0
+2006-01-04,15:01:00,3656.00,3656.00,3655.00,3655.00,97,0
+2006-01-04,15:02:00,3656.00,3656.00,3655.00,3656.00,132,0
+2006-01-04,15:03:00,3655.00,3656.00,3655.00,3655.00,575,0
+2006-01-04,15:04:00,3655.00,3655.00,3654.00,3655.00,263,0
+2006-01-04,15:05:00,3655.00,3655.00,3653.00,3653.00,294,0
+2006-01-04,15:06:00,3653.00,3654.00,3653.00,3654.00,251,0
+2006-01-04,15:07:00,3653.00,3654.00,3653.00,3654.00,2,0
+2006-01-04,15:08:00,3654.00,3655.00,3654.00,3655.00,326,0
+2006-01-04,15:09:00,3655.00,3655.00,3654.00,3654.00,203,0
+2006-01-04,15:10:00,3654.00,3654.00,3654.00,3654.00,2139,0
+2006-01-04,15:11:00,3655.00,3655.00,3655.00,3655.00,146,0
+2006-01-04,15:12:00,3655.00,3656.00,3655.00,3656.00,464,0
+2006-01-04,15:13:00,3656.00,3656.00,3656.00,3656.00,15,0
+2006-01-04,15:14:00,3656.00,3656.00,3654.00,3655.00,477,0
+2006-01-04,15:15:00,3656.00,3656.00,3655.00,3655.00,26,0
+2006-01-04,15:16:00,3656.00,3657.00,3656.00,3657.00,1151,0
+2006-01-04,15:17:00,3658.00,3658.00,3657.00,3657.00,792,0
+2006-01-04,15:18:00,3657.00,3657.00,3657.00,3657.00,336,0
+2006-01-04,15:19:00,3657.00,3658.00,3657.00,3657.00,114,0
+2006-01-04,15:20:00,3657.00,3657.00,3657.00,3657.00,65,0
+2006-01-04,15:21:00,3657.00,3658.00,3657.00,3657.00,192,0
+2006-01-04,15:22:00,3657.00,3658.00,3657.00,3658.00,105,0
+2006-01-04,15:23:00,3658.00,3659.00,3658.00,3658.00,339,0
+2006-01-04,15:24:00,3657.00,3658.00,3657.00,3658.00,336,0
+2006-01-04,15:25:00,3658.00,3658.00,3658.00,3658.00,3,0
+2006-01-04,15:26:00,3657.00,3658.00,3657.00,3657.00,4578,0
+2006-01-04,15:27:00,3657.00,3657.00,3657.00,3657.00,42,0
+2006-01-04,15:28:00,3657.00,3658.00,3657.00,3658.00,725,0
+2006-01-04,15:29:00,3658.00,3658.00,3658.00,3658.00,501,0
+2006-01-04,15:30:00,3658.00,3659.00,3658.00,3659.00,334,0
+2006-01-04,15:31:00,3659.00,3659.00,3658.00,3658.00,460,0
+2006-01-04,15:32:00,3657.00,3659.00,3657.00,3659.00,1379,0
+2006-01-04,15:33:00,3659.00,3659.00,3657.00,3657.00,360,0
+2006-01-04,15:34:00,3658.00,3658.00,3656.00,3656.00,781,0
+2006-01-04,15:35:00,3656.00,3657.00,3656.00,3657.00,487,0
+2006-01-04,15:36:00,3657.00,3657.00,3656.00,3657.00,32,0
+2006-01-04,15:37:00,3656.00,3657.00,3655.00,3657.00,900,0
+2006-01-04,15:38:00,3656.00,3656.00,3654.00,3655.00,1321,0
+2006-01-04,15:39:00,3655.00,3657.00,3655.00,3656.00,772,0
+2006-01-04,15:40:00,3657.00,3657.00,3657.00,3657.00,354,0
+2006-01-04,15:41:00,3657.00,3658.00,3657.00,3658.00,676,0
+2006-01-04,15:42:00,3658.00,3659.00,3658.00,3659.00,618,0
+2006-01-04,15:43:00,3659.00,3660.00,3659.00,3660.00,2079,0
+2006-01-04,15:44:00,3660.00,3660.00,3659.00,3660.00,416,0
+2006-01-04,15:45:00,3659.00,3660.00,3659.00,3659.00,707,0
+2006-01-04,15:46:00,3660.00,3660.00,3659.00,3659.00,908,0
+2006-01-04,15:47:00,3659.00,3660.00,3658.00,3659.00,882,0
+2006-01-04,15:48:00,3659.00,3660.00,3658.00,3660.00,1153,0
+2006-01-04,15:49:00,3659.00,3661.00,3658.00,3659.00,1425,0
+2006-01-04,15:50:00,3659.00,3660.00,3659.00,3659.00,270,0
+2006-01-04,15:51:00,3658.00,3660.00,3658.00,3659.00,1803,0
+2006-01-04,15:52:00,3659.00,3660.00,3656.00,3657.00,3143,0
+2006-01-04,15:53:00,3657.00,3657.00,3656.00,3657.00,648,0
+2006-01-04,15:54:00,3657.00,3658.00,3657.00,3657.00,381,0
+2006-01-04,15:55:00,3657.00,3658.00,3657.00,3657.00,2307,0
+2006-01-04,15:56:00,3657.00,3657.00,3656.00,3657.00,1228,0
+2006-01-04,15:57:00,3657.00,3658.00,3657.00,3658.00,788,0
+2006-01-04,15:58:00,3658.00,3659.00,3658.00,3658.00,1233,0
+2006-01-04,15:59:00,3659.00,3659.00,3658.00,3658.00,566,0
+2006-01-04,16:00:00,3658.00,3658.00,3657.00,3658.00,576,0
+2006-01-04,16:01:00,3658.00,3659.00,3657.00,3658.00,1296,0
+2006-01-04,16:02:00,3659.00,3661.00,3658.00,3661.00,2281,0
+2006-01-04,16:03:00,3660.00,3664.00,3660.00,3663.00,3458,0
+2006-01-04,16:04:00,3663.00,3664.00,3662.00,3662.00,2275,0
+2006-01-04,16:05:00,3662.00,3664.00,3662.00,3663.00,2117,0
+2006-01-04,16:06:00,3663.00,3664.00,3662.00,3662.00,1139,0
+2006-01-04,16:07:00,3662.00,3662.00,3660.00,3661.00,1790,0
+2006-01-04,16:08:00,3661.00,3662.00,3660.00,3661.00,1243,0
+2006-01-04,16:09:00,3661.00,3663.00,3661.00,3662.00,955,0
+2006-01-04,16:10:00,3661.00,3663.00,3661.00,3662.00,629,0
+2006-01-04,16:11:00,3662.00,3662.00,3660.00,3661.00,1307,0
+2006-01-04,16:12:00,3661.00,3662.00,3661.00,3662.00,267,0
+2006-01-04,16:13:00,3662.00,3662.00,3661.00,3662.00,220,0
+2006-01-04,16:14:00,3661.00,3661.00,3660.00,3661.00,296,0
+2006-01-04,16:15:00,3661.00,3661.00,3660.00,3661.00,296,0
+2006-01-04,16:16:00,3661.00,3662.00,3660.00,3661.00,672,0
+2006-01-04,16:17:00,3662.00,3664.00,3661.00,3662.00,1784,0
+2006-01-04,16:18:00,3662.00,3662.00,3660.00,3661.00,654,0
+2006-01-04,16:19:00,3660.00,3661.00,3660.00,3661.00,1004,0
+2006-01-04,16:20:00,3660.00,3662.00,3660.00,3661.00,1827,0
+2006-01-04,16:21:00,3661.00,3662.00,3660.00,3661.00,842,0
+2006-01-04,16:22:00,3661.00,3662.00,3660.00,3662.00,1067,0
+2006-01-04,16:23:00,3662.00,3662.00,3660.00,3661.00,629,0
+2006-01-04,16:24:00,3661.00,3662.00,3660.00,3661.00,2554,0
+2006-01-04,16:25:00,3661.00,3662.00,3660.00,3660.00,1271,0
+2006-01-04,16:26:00,3661.00,3662.00,3660.00,3661.00,1855,0
+2006-01-04,16:27:00,3661.00,3662.00,3660.00,3660.00,1804,0
+2006-01-04,16:28:00,3660.00,3661.00,3659.00,3661.00,773,0
+2006-01-04,16:29:00,3661.00,3661.00,3661.00,3661.00,101,0
+2006-01-04,16:30:00,3661.00,3661.00,3657.00,3657.00,5989,0
+2006-01-04,16:31:00,3657.00,3657.00,3656.00,3656.00,9182,0
+2006-01-04,16:32:00,3656.00,3657.00,3655.00,3657.00,1179,0
+2006-01-04,16:33:00,3656.00,3657.00,3655.00,3657.00,1030,0
+2006-01-04,16:34:00,3657.00,3657.00,3656.00,3657.00,557,0
+2006-01-04,16:35:00,3657.00,3657.00,3656.00,3656.00,61,0
+2006-01-04,16:36:00,3657.00,3658.00,3656.00,3657.00,1949,0
+2006-01-04,16:37:00,3657.00,3657.00,3656.00,3657.00,3480,0
+2006-01-04,16:38:00,3656.00,3657.00,3655.00,3656.00,1031,0
+2006-01-04,16:39:00,3656.00,3656.00,3655.00,3656.00,297,0
+2006-01-04,16:40:00,3656.00,3658.00,3656.00,3656.00,1316,0
+2006-01-04,16:41:00,3656.00,3657.00,3655.00,3657.00,619,0
+2006-01-04,16:42:00,3656.00,3657.00,3654.00,3654.00,1141,0
+2006-01-04,16:43:00,3654.00,3655.00,3654.00,3655.00,3784,0
+2006-01-04,16:44:00,3655.00,3655.00,3654.00,3655.00,1725,0
+2006-01-04,16:45:00,3655.00,3656.00,3654.00,3655.00,1272,0
+2006-01-04,16:46:00,3655.00,3655.00,3654.00,3655.00,765,0
+2006-01-04,16:47:00,3655.00,3656.00,3655.00,3656.00,875,0
+2006-01-04,16:48:00,3655.00,3657.00,3655.00,3656.00,709,0
+2006-01-04,16:49:00,3656.00,3657.00,3656.00,3657.00,423,0
+2006-01-04,16:50:00,3657.00,3658.00,3656.00,3658.00,2219,0
+2006-01-04,16:51:00,3657.00,3659.00,3657.00,3659.00,2043,0
+2006-01-04,16:52:00,3658.00,3659.00,3657.00,3658.00,2234,0
+2006-01-04,16:53:00,3658.00,3658.00,3658.00,3658.00,356,0
+2006-01-04,16:54:00,3657.00,3658.00,3657.00,3658.00,629,0
+2006-01-04,16:55:00,3657.00,3658.00,3656.00,3657.00,1493,0
+2006-01-04,16:56:00,3658.00,3658.00,3657.00,3658.00,639,0
+2006-01-04,16:57:00,3658.00,3659.00,3657.00,3658.00,1550,0
+2006-01-04,16:58:00,3658.00,3659.00,3657.00,3658.00,1164,0
+2006-01-04,16:59:00,3657.00,3658.00,3656.00,3657.00,438,0
+2006-01-04,17:00:00,3656.00,3657.00,3656.00,3657.00,853,0
+2006-01-04,17:01:00,3657.00,3658.00,3656.00,3657.00,1244,0
+2006-01-04,17:02:00,3657.00,3658.00,3656.00,3658.00,1838,0
+2006-01-04,17:03:00,3657.00,3659.00,3657.00,3658.00,2336,0
+2006-01-04,17:04:00,3657.00,3660.00,3657.00,3660.00,814,0
+2006-01-04,17:05:00,3660.00,3662.00,3660.00,3661.00,1564,0
+2006-01-04,17:06:00,3661.00,3661.00,3660.00,3660.00,1361,0
+2006-01-04,17:07:00,3660.00,3661.00,3658.00,3658.00,3115,0
+2006-01-04,17:08:00,3658.00,3659.00,3658.00,3658.00,762,0
+2006-01-04,17:09:00,3658.00,3662.00,3658.00,3662.00,1126,0
+2006-01-04,17:10:00,3662.00,3662.00,3659.00,3660.00,2475,0
+2006-01-04,17:11:00,3660.00,3660.00,3658.00,3658.00,1890,0
+2006-01-04,17:12:00,3659.00,3659.00,3658.00,3658.00,460,0
+2006-01-04,17:13:00,3658.00,3660.00,3658.00,3659.00,436,0
+2006-01-04,17:14:00,3659.00,3660.00,3658.00,3659.00,861,0
+2006-01-04,17:15:00,3659.00,3660.00,3659.00,3659.00,439,0
+2006-01-04,17:16:00,3660.00,3661.00,3660.00,3660.00,174,0
+2006-01-04,17:17:00,3660.00,3662.00,3660.00,3661.00,1021,0
+2006-01-04,17:18:00,3662.00,3663.00,3660.00,3662.00,1712,0
+2006-01-04,17:19:00,3662.00,3663.00,3661.00,3661.00,676,0
+2006-01-04,17:20:00,3661.00,3663.00,3661.00,3663.00,1143,0
+2006-01-04,17:21:00,3663.00,3664.00,3662.00,3662.00,2019,0
+2006-01-04,17:22:00,3663.00,3664.00,3662.00,3662.00,1871,0
+2006-01-04,17:23:00,3663.00,3663.00,3662.00,3662.00,742,0
+2006-01-04,17:24:00,3663.00,3664.00,3662.00,3662.00,1191,0
+2006-01-04,17:25:00,3662.00,3664.00,3662.00,3663.00,1586,0
+2006-01-04,17:26:00,3664.00,3664.00,3663.00,3664.00,1633,0
+2006-01-04,17:27:00,3665.00,3666.00,3664.00,3666.00,2212,0
+2006-01-04,17:28:00,3666.00,3668.00,3666.00,3668.00,3560,0
+2006-01-04,17:29:00,3668.00,3668.00,3665.00,3666.00,6967,0
+2006-01-04,17:30:00,3666.00,3667.00,3664.00,3667.00,3487,0
+2006-01-04,17:31:00,3666.00,3668.00,3665.00,3668.00,4282,0
+2006-01-04,17:32:00,3668.00,3669.00,3667.00,3667.00,2038,0
+2006-01-04,17:33:00,3666.00,3667.00,3666.00,3666.00,943,0
+2006-01-04,17:34:00,3667.00,3668.00,3666.00,3667.00,888,0
+2006-01-04,17:35:00,3667.00,3668.00,3667.00,3667.00,1175,0
+2006-01-04,17:36:00,3667.00,3669.00,3667.00,3668.00,5487,0
+2006-01-04,17:37:00,3668.00,3669.00,3668.00,3668.00,1512,0
+2006-01-04,17:38:00,3668.00,3668.00,3667.00,3668.00,1025,0
+2006-01-04,17:39:00,3667.00,3669.00,3667.00,3668.00,990,0
+2006-01-04,17:40:00,3668.00,3668.00,3668.00,3668.00,801,0
+2006-01-04,17:41:00,3668.00,3668.00,3668.00,3668.00,87,0
+2006-01-04,17:42:00,3668.00,3669.00,3667.00,3667.00,488,0
+2006-01-04,17:43:00,3668.00,3668.00,3667.00,3667.00,218,0
+2006-01-04,17:44:00,3667.00,3668.00,3667.00,3668.00,91,0
+2006-01-04,17:45:00,3667.00,3669.00,3667.00,3669.00,595,0
+2006-01-04,17:46:00,3669.00,3670.00,3668.00,3668.00,1536,0
+2006-01-04,17:47:00,3668.00,3669.00,3668.00,3669.00,713,0
+2006-01-04,17:48:00,3668.00,3670.00,3668.00,3669.00,1481,0
+2006-01-04,17:49:00,3669.00,3670.00,3669.00,3670.00,1035,0
+2006-01-04,17:50:00,3670.00,3671.00,3669.00,3669.00,1462,0
+2006-01-04,17:51:00,3670.00,3671.00,3669.00,3670.00,1363,0
+2006-01-04,17:52:00,3671.00,3671.00,3670.00,3671.00,676,0
+2006-01-04,17:53:00,3671.00,3672.00,3670.00,3671.00,1427,0
+2006-01-04,17:54:00,3672.00,3673.00,3671.00,3672.00,1305,0
+2006-01-04,17:55:00,3672.00,3673.00,3671.00,3672.00,542,0
+2006-01-04,17:56:00,3672.00,3672.00,3671.00,3671.00,191,0
+2006-01-04,17:57:00,3672.00,3672.00,3670.00,3670.00,1571,0
+2006-01-04,17:58:00,3670.00,3672.00,3670.00,3672.00,167,0
+2006-01-04,17:59:00,3672.00,3672.00,3671.00,3672.00,940,0
+2006-01-04,18:00:00,3672.00,3673.00,3672.00,3673.00,979,0
+2006-01-04,18:01:00,3674.00,3674.00,3672.00,3673.00,899,0
+2006-01-04,18:02:00,3673.00,3674.00,3673.00,3674.00,582,0
+2006-01-04,18:03:00,3674.00,3674.00,3672.00,3673.00,2443,0
+2006-01-04,18:04:00,3673.00,3673.00,3673.00,3673.00,1769,0
+2006-01-04,18:05:00,3673.00,3673.00,3673.00,3673.00,379,0
+2006-01-04,18:06:00,3673.00,3673.00,3673.00,3673.00,123,0
+2006-01-04,18:07:00,3674.00,3674.00,3673.00,3673.00,41,0
+2006-01-04,18:08:00,3673.00,3673.00,3672.00,3673.00,108,0
+2006-01-04,18:09:00,3672.00,3672.00,3672.00,3672.00,1042,0
+2006-01-04,18:10:00,3672.00,3672.00,3672.00,3672.00,89,0
+2006-01-04,18:11:00,3673.00,3673.00,3672.00,3673.00,494,0
+2006-01-04,18:12:00,3673.00,3674.00,3673.00,3673.00,855,0
+2006-01-04,18:13:00,3673.00,3673.00,3672.00,3672.00,152,0
+2006-01-04,18:14:00,3672.00,3673.00,3672.00,3673.00,209,0
+2006-01-04,18:15:00,3672.00,3673.00,3672.00,3672.00,192,0
+2006-01-04,18:16:00,3672.00,3672.00,3671.00,3671.00,71,0
+2006-01-04,18:17:00,3671.00,3672.00,3671.00,3671.00,107,0
+2006-01-04,18:18:00,3671.00,3671.00,3670.00,3670.00,188,0
+2006-01-04,18:19:00,3670.00,3671.00,3670.00,3671.00,256,0
+2006-01-04,18:20:00,3670.00,3671.00,3670.00,3671.00,35,0
+2006-01-04,18:21:00,3671.00,3671.00,3669.00,3669.00,546,0
+2006-01-04,18:22:00,3669.00,3669.00,3668.00,3669.00,509,0
+2006-01-04,18:23:00,3668.00,3669.00,3668.00,3669.00,403,0
+2006-01-04,18:24:00,3669.00,3669.00,3668.00,3669.00,91,0
+2006-01-04,18:25:00,3669.00,3669.00,3668.00,3669.00,355,0
+2006-01-04,18:26:00,3669.00,3670.00,3669.00,3670.00,191,0
+2006-01-04,18:27:00,3669.00,3670.00,3669.00,3670.00,787,0
+2006-01-04,18:28:00,3670.00,3670.00,3669.00,3669.00,195,0
+2006-01-04,18:29:00,3669.00,3669.00,3668.00,3668.00,31,0
+2006-01-04,18:30:00,3669.00,3669.00,3668.00,3669.00,731,0
+2006-01-04,18:31:00,3668.00,3668.00,3667.00,3667.00,1137,0
+2006-01-04,18:32:00,3668.00,3668.00,3668.00,3668.00,308,0
+2006-01-04,18:33:00,3667.00,3668.00,3667.00,3668.00,421,0
+2006-01-04,18:34:00,3668.00,3668.00,3668.00,3668.00,127,0
+2006-01-04,18:35:00,3667.00,3667.00,3667.00,3667.00,412,0
+2006-01-04,18:36:00,3666.00,3668.00,3666.00,3667.00,486,0
+2006-01-04,18:37:00,3667.00,3668.00,3667.00,3668.00,335,0
+2006-01-04,18:38:00,3668.00,3669.00,3668.00,3668.00,262,0
+2006-01-04,18:39:00,3668.00,3669.00,3668.00,3668.00,142,0
+2006-01-04,18:41:00,3667.00,3667.00,3667.00,3667.00,226,0
+2006-01-04,18:42:00,3667.00,3667.00,3667.00,3667.00,115,0
+2006-01-04,18:43:00,3667.00,3668.00,3667.00,3668.00,12,0
+2006-01-04,18:44:00,3668.00,3668.00,3668.00,3668.00,251,0
+2006-01-04,18:45:00,3668.00,3668.00,3667.00,3668.00,152,0
+2006-01-04,18:46:00,3669.00,3669.00,3668.00,3669.00,284,0
+2006-01-04,18:47:00,3669.00,3669.00,3667.00,3668.00,60,0
+2006-01-04,18:48:00,3668.00,3668.00,3667.00,3667.00,339,0
+2006-01-04,18:49:00,3667.00,3667.00,3667.00,3667.00,21,0
+2006-01-04,18:50:00,3666.00,3666.00,3666.00,3666.00,16,0
+2006-01-04,18:51:00,3666.00,3666.00,3666.00,3666.00,6,0
+2006-01-04,18:52:00,3666.00,3667.00,3666.00,3666.00,248,0
+2006-01-04,18:53:00,3666.00,3666.00,3666.00,3666.00,53,0
+2006-01-04,18:54:00,3667.00,3667.00,3666.00,3666.00,106,0
+2006-01-04,18:55:00,3667.00,3667.00,3667.00,3667.00,245,0
+2006-01-04,18:56:00,3668.00,3668.00,3667.00,3667.00,284,0
+2006-01-04,18:57:00,3668.00,3668.00,3668.00,3668.00,41,0
+2006-01-04,18:58:00,3668.00,3668.00,3666.00,3666.00,273,0
+2006-01-04,18:59:00,3666.00,3666.00,3666.00,3666.00,9,0
+2006-01-04,19:00:00,3666.00,3666.00,3665.00,3665.00,418,0
+2006-01-04,19:01:00,3665.00,3666.00,3663.00,3664.00,1074,0
+2006-01-04,19:02:00,3664.00,3664.00,3662.00,3663.00,608,0
+2006-01-04,19:03:00,3663.00,3663.00,3662.00,3662.00,817,0
+2006-01-04,19:04:00,3662.00,3663.00,3662.00,3662.00,445,0
+2006-01-04,19:05:00,3662.00,3663.00,3662.00,3663.00,430,0
+2006-01-04,19:06:00,3663.00,3663.00,3663.00,3663.00,316,0
+2006-01-04,19:07:00,3663.00,3663.00,3663.00,3663.00,131,0
+2006-01-04,19:08:00,3663.00,3663.00,3663.00,3663.00,5,0
+2006-01-04,19:09:00,3664.00,3664.00,3664.00,3664.00,13,0
+2006-01-04,19:10:00,3664.00,3664.00,3663.00,3663.00,15,0
+2006-01-04,19:11:00,3663.00,3663.00,3663.00,3663.00,8,0
+2006-01-04,19:12:00,3663.00,3663.00,3663.00,3663.00,61,0
+2006-01-04,19:13:00,3663.00,3663.00,3661.00,3661.00,377,0
+2006-01-04,19:14:00,3662.00,3662.00,3659.00,3659.00,950,0
+2006-01-04,19:15:00,3659.00,3660.00,3659.00,3660.00,578,0
+2006-01-04,19:16:00,3660.00,3663.00,3660.00,3662.00,391,0
+2006-01-04,19:17:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-04,19:18:00,3663.00,3664.00,3663.00,3664.00,211,0
+2006-01-04,19:19:00,3664.00,3664.00,3664.00,3664.00,327,0
+2006-01-04,19:20:00,3663.00,3663.00,3663.00,3663.00,152,0
+2006-01-04,19:21:00,3662.00,3663.00,3662.00,3663.00,31,0
+2006-01-04,19:22:00,3663.00,3663.00,3663.00,3663.00,5,0
+2006-01-04,19:23:00,3662.00,3662.00,3662.00,3662.00,42,0
+2006-01-04,19:24:00,3662.00,3662.00,3662.00,3662.00,152,0
+2006-01-04,19:25:00,3662.00,3662.00,3662.00,3662.00,43,0
+2006-01-04,19:26:00,3662.00,3662.00,3661.00,3662.00,80,0
+2006-01-04,19:28:00,3662.00,3663.00,3662.00,3662.00,401,0
+2006-01-04,19:29:00,3663.00,3663.00,3662.00,3663.00,286,0
+2006-01-04,19:30:00,3663.00,3663.00,3662.00,3662.00,15,0
+2006-01-04,19:31:00,3663.00,3664.00,3663.00,3664.00,211,0
+2006-01-04,19:32:00,3664.00,3664.00,3662.00,3662.00,252,0
+2006-01-04,19:33:00,3662.00,3662.00,3661.00,3662.00,183,0
+2006-01-04,19:34:00,3662.00,3662.00,3661.00,3661.00,192,0
+2006-01-04,19:35:00,3662.00,3662.00,3659.00,3659.00,443,0
+2006-01-04,19:36:00,3659.00,3659.00,3657.00,3658.00,1213,0
+2006-01-04,19:37:00,3658.00,3658.00,3657.00,3658.00,861,0
+2006-01-04,19:38:00,3657.00,3658.00,3657.00,3658.00,28,0
+2006-01-04,19:39:00,3658.00,3659.00,3658.00,3659.00,434,0
+2006-01-04,19:40:00,3659.00,3659.00,3657.00,3657.00,660,0
+2006-01-04,19:41:00,3658.00,3659.00,3658.00,3659.00,140,0
+2006-01-04,19:43:00,3659.00,3659.00,3659.00,3659.00,146,0
+2006-01-04,19:44:00,3659.00,3659.00,3659.00,3659.00,14,0
+2006-01-04,19:45:00,3659.00,3660.00,3659.00,3660.00,255,0
+2006-01-04,19:46:00,3659.00,3660.00,3658.00,3660.00,348,0
+2006-01-04,19:47:00,3660.00,3660.00,3659.00,3659.00,476,0
+2006-01-04,19:48:00,3659.00,3660.00,3659.00,3660.00,41,0
+2006-01-04,19:49:00,3660.00,3660.00,3659.00,3660.00,129,0
+2006-01-04,19:50:00,3661.00,3661.00,3661.00,3661.00,2,0
+2006-01-04,19:51:00,3661.00,3661.00,3661.00,3661.00,6,0
+2006-01-04,19:52:00,3660.00,3660.00,3660.00,3660.00,119,0
+2006-01-04,19:53:00,3660.00,3661.00,3659.00,3661.00,93,0
+2006-01-04,19:54:00,3661.00,3661.00,3661.00,3661.00,4,0
+2006-01-04,19:56:00,3660.00,3660.00,3659.00,3659.00,213,0
+2006-01-04,19:57:00,3659.00,3660.00,3659.00,3659.00,197,0
+2006-01-04,19:58:00,3660.00,3660.00,3660.00,3660.00,116,0
+2006-01-04,19:59:00,3660.00,3660.00,3659.00,3660.00,133,0
+2006-01-04,20:00:00,3660.00,3660.00,3658.00,3658.00,176,0
+2006-01-04,20:01:00,3659.00,3659.00,3658.00,3659.00,21,0
+2006-01-04,20:02:00,3659.00,3659.00,3659.00,3659.00,15,0
+2006-01-04,20:03:00,3660.00,3660.00,3660.00,3660.00,95,0
+2006-01-04,20:04:00,3660.00,3660.00,3660.00,3660.00,196,0
+2006-01-04,20:08:00,3660.00,3660.00,3660.00,3660.00,29,0
+2006-01-04,20:09:00,3660.00,3660.00,3660.00,3660.00,18,0
+2006-01-04,20:10:00,3659.00,3659.00,3658.00,3658.00,64,0
+2006-01-04,20:11:00,3658.00,3658.00,3658.00,3658.00,188,0
+2006-01-04,20:12:00,3657.00,3659.00,3657.00,3659.00,19,0
+2006-01-04,20:13:00,3658.00,3658.00,3658.00,3658.00,18,0
+2006-01-04,20:14:00,3658.00,3658.00,3656.00,3656.00,131,0
+2006-01-04,20:15:00,3656.00,3658.00,3656.00,3656.00,287,0
+2006-01-04,20:16:00,3656.00,3657.00,3656.00,3657.00,145,0
+2006-01-04,20:17:00,3658.00,3658.00,3657.00,3657.00,8,0
+2006-01-04,20:18:00,3658.00,3659.00,3658.00,3659.00,109,0
+2006-01-04,20:20:00,3658.00,3658.00,3658.00,3658.00,5,0
+2006-01-04,20:21:00,3658.00,3659.00,3658.00,3659.00,231,0
+2006-01-04,20:22:00,3659.00,3660.00,3659.00,3660.00,54,0
+2006-01-04,20:23:00,3659.00,3660.00,3659.00,3660.00,25,0
+2006-01-04,20:24:00,3660.00,3661.00,3660.00,3661.00,118,0
+2006-01-04,20:25:00,3661.00,3661.00,3660.00,3660.00,64,0
+2006-01-04,20:26:00,3660.00,3660.00,3659.00,3659.00,37,0
+2006-01-04,20:27:00,3659.00,3659.00,3659.00,3659.00,100,0
+2006-01-04,20:28:00,3660.00,3660.00,3659.00,3659.00,142,0
+2006-01-04,20:29:00,3659.00,3659.00,3659.00,3659.00,39,0
+2006-01-04,20:30:00,3660.00,3660.00,3660.00,3660.00,10,0
+2006-01-04,20:31:00,3660.00,3660.00,3659.00,3659.00,97,0
+2006-01-04,20:35:00,3660.00,3660.00,3660.00,3660.00,2,0
+2006-01-04,20:36:00,3660.00,3660.00,3660.00,3660.00,216,0
+2006-01-04,20:37:00,3661.00,3661.00,3661.00,3661.00,17,0
+2006-01-04,20:38:00,3660.00,3660.00,3660.00,3660.00,124,0
+2006-01-04,20:40:00,3660.00,3660.00,3660.00,3660.00,22,0
+2006-01-04,20:41:00,3659.00,3660.00,3659.00,3659.00,23,0
+2006-01-04,20:42:00,3660.00,3660.00,3660.00,3660.00,10,0
+2006-01-04,20:43:00,3660.00,3661.00,3660.00,3661.00,16,0
+2006-01-04,20:44:00,3661.00,3662.00,3661.00,3662.00,106,0
+2006-01-04,20:45:00,3663.00,3663.00,3662.00,3662.00,86,0
+2006-01-04,20:46:00,3663.00,3663.00,3663.00,3663.00,48,0
+2006-01-04,20:47:00,3663.00,3663.00,3663.00,3663.00,10,0
+2006-01-04,20:48:00,3663.00,3663.00,3663.00,3663.00,8,0
+2006-01-04,20:49:00,3662.00,3665.00,3662.00,3663.00,103,0
+2006-01-04,20:50:00,3663.00,3663.00,3663.00,3663.00,7,0
+2006-01-04,20:51:00,3664.00,3664.00,3664.00,3664.00,50,0
+2006-01-04,20:52:00,3664.00,3664.00,3664.00,3664.00,15,0
+2006-01-04,20:53:00,3664.00,3664.00,3663.00,3663.00,18,0
+2006-01-04,20:54:00,3663.00,3663.00,3663.00,3663.00,49,0
+2006-01-04,20:55:00,3663.00,3663.00,3662.00,3662.00,3,0
+2006-01-04,20:56:00,3662.00,3662.00,3661.00,3662.00,27,0
+2006-01-04,20:57:00,3663.00,3663.00,3663.00,3663.00,6,0
+2006-01-04,20:58:00,3664.00,3664.00,3663.00,3663.00,10,0
+2006-01-04,21:00:00,3663.00,3663.00,3663.00,3663.00,18,0
+2006-01-04,21:01:00,3662.00,3662.00,3662.00,3662.00,6,0
+2006-01-04,21:02:00,3662.00,3662.00,3662.00,3662.00,4,0
+2006-01-04,21:03:00,3663.00,3664.00,3663.00,3664.00,51,0
+2006-01-04,21:05:00,3663.00,3663.00,3663.00,3663.00,5,0
+2006-01-04,21:07:00,3664.00,3664.00,3663.00,3663.00,228,0
+2006-01-04,21:08:00,3664.00,3664.00,3664.00,3664.00,5,0
+2006-01-04,21:09:00,3664.00,3664.00,3664.00,3664.00,7,0
+2006-01-04,21:10:00,3664.00,3664.00,3664.00,3664.00,1,0
+2006-01-04,21:13:00,3664.00,3664.00,3663.00,3664.00,31,0
+2006-01-04,21:14:00,3664.00,3664.00,3664.00,3664.00,6,0
+2006-01-04,21:15:00,3663.00,3664.00,3663.00,3664.00,83,0
+2006-01-04,21:16:00,3664.00,3664.00,3664.00,3664.00,19,0
+2006-01-04,21:17:00,3663.00,3663.00,3662.00,3662.00,129,0
+2006-01-04,21:18:00,3663.00,3663.00,3663.00,3663.00,1,0
+2006-01-04,21:19:00,3662.00,3662.00,3662.00,3662.00,46,0
+2006-01-04,21:20:00,3662.00,3663.00,3662.00,3663.00,109,0
+2006-01-04,21:21:00,3663.00,3663.00,3662.00,3663.00,107,0
+2006-01-04,21:22:00,3664.00,3665.00,3664.00,3665.00,130,0
+2006-01-04,21:23:00,3665.00,3666.00,3665.00,3665.00,36,0
+2006-01-04,21:24:00,3666.00,3667.00,3666.00,3667.00,120,0
+2006-01-04,21:25:00,3666.00,3666.00,3666.00,3666.00,3,0
+2006-01-04,21:27:00,3667.00,3667.00,3667.00,3667.00,6,0
+2006-01-04,21:28:00,3667.00,3668.00,3667.00,3668.00,8,0
+2006-01-04,21:29:00,3668.00,3668.00,3668.00,3668.00,22,0
+2006-01-04,21:30:00,3668.00,3668.00,3668.00,3668.00,9,0
+2006-01-04,21:31:00,3668.00,3669.00,3668.00,3669.00,11,0
+2006-01-04,21:32:00,3669.00,3670.00,3668.00,3670.00,419,0
+2006-01-04,21:33:00,3669.00,3669.00,3669.00,3669.00,72,0
+2006-01-04,21:34:00,3669.00,3670.00,3669.00,3670.00,2,0
+2006-01-04,21:35:00,3669.00,3669.00,3668.00,3669.00,122,0
+2006-01-04,21:36:00,3668.00,3669.00,3668.00,3668.00,31,0
+2006-01-04,21:37:00,3668.00,3668.00,3668.00,3668.00,40,0
+2006-01-04,21:38:00,3669.00,3669.00,3667.00,3668.00,353,0
+2006-01-04,21:39:00,3669.00,3669.00,3668.00,3669.00,35,0
+2006-01-04,21:40:00,3669.00,3669.00,3669.00,3669.00,37,0
+2006-01-04,21:41:00,3668.00,3668.00,3668.00,3668.00,71,0
+2006-01-04,21:42:00,3667.00,3668.00,3667.00,3668.00,48,0
+2006-01-04,21:44:00,3668.00,3669.00,3668.00,3669.00,4,0
+2006-01-04,21:45:00,3669.00,3669.00,3669.00,3669.00,50,0
+2006-01-04,21:46:00,3668.00,3668.00,3668.00,3668.00,100,0
+2006-01-04,21:47:00,3669.00,3669.00,3669.00,3669.00,14,0
+2006-01-04,21:48:00,3668.00,3668.00,3668.00,3668.00,32,0
+2006-01-04,21:49:00,3668.00,3668.00,3668.00,3668.00,14,0
+2006-01-04,21:50:00,3669.00,3669.00,3669.00,3669.00,10,0
+2006-01-04,21:51:00,3668.00,3668.00,3668.00,3668.00,125,0
+2006-01-04,21:53:00,3668.00,3668.00,3668.00,3668.00,22,0
+2006-01-04,21:54:00,3669.00,3669.00,3668.00,3669.00,31,0
+2006-01-04,21:55:00,3669.00,3669.00,3669.00,3669.00,34,0
+2006-01-04,21:56:00,3669.00,3669.00,3668.00,3669.00,47,0
+2006-01-04,21:57:00,3669.00,3669.00,3667.00,3667.00,43,0
+2006-01-04,21:58:00,3668.00,3668.00,3667.00,3667.00,64,0
+2006-01-04,21:59:00,3667.00,3668.00,3666.00,3666.00,58,0
+2006-01-04,22:00:00,3667.00,3668.00,3666.00,3666.00,317,0
+2006-01-05,09:01:00,3667.00,3667.00,3665.00,3665.00,2698,0
+2006-01-05,09:02:00,3666.00,3666.00,3660.00,3662.00,4627,0
+2006-01-05,09:03:00,3661.00,3663.00,3661.00,3662.00,1455,0
+2006-01-05,09:04:00,3662.00,3663.00,3659.00,3659.00,2041,0
+2006-01-05,09:05:00,3660.00,3662.00,3660.00,3661.00,1267,0
+2006-01-05,09:06:00,3661.00,3662.00,3660.00,3661.00,682,0
+2006-01-05,09:07:00,3661.00,3662.00,3661.00,3662.00,608,0
+2006-01-05,09:08:00,3662.00,3663.00,3661.00,3661.00,1051,0
+2006-01-05,09:09:00,3662.00,3662.00,3660.00,3660.00,964,0
+2006-01-05,09:10:00,3659.00,3660.00,3658.00,3659.00,1460,0
+2006-01-05,09:11:00,3659.00,3660.00,3659.00,3660.00,1166,0
+2006-01-05,09:12:00,3660.00,3661.00,3659.00,3661.00,566,0
+2006-01-05,09:13:00,3661.00,3663.00,3661.00,3662.00,653,0
+2006-01-05,09:14:00,3662.00,3662.00,3660.00,3661.00,527,0
+2006-01-05,09:15:00,3661.00,3662.00,3661.00,3661.00,512,0
+2006-01-05,09:16:00,3661.00,3661.00,3659.00,3659.00,1351,0
+2006-01-05,09:17:00,3660.00,3660.00,3659.00,3659.00,471,0
+2006-01-05,09:18:00,3659.00,3659.00,3657.00,3659.00,1621,0
+2006-01-05,09:19:00,3659.00,3659.00,3658.00,3659.00,689,0
+2006-01-05,09:20:00,3659.00,3659.00,3658.00,3658.00,282,0
+2006-01-05,09:21:00,3658.00,3659.00,3657.00,3658.00,930,0
+2006-01-05,09:22:00,3658.00,3658.00,3657.00,3658.00,1135,0
+2006-01-05,09:23:00,3658.00,3659.00,3657.00,3658.00,1038,0
+2006-01-05,09:24:00,3659.00,3659.00,3658.00,3658.00,202,0
+2006-01-05,09:25:00,3659.00,3659.00,3658.00,3659.00,41,0
+2006-01-05,09:26:00,3658.00,3658.00,3658.00,3658.00,330,0
+2006-01-05,09:27:00,3658.00,3662.00,3658.00,3660.00,1831,0
+2006-01-05,09:28:00,3661.00,3662.00,3660.00,3661.00,659,0
+2006-01-05,09:29:00,3661.00,3661.00,3661.00,3661.00,315,0
+2006-01-05,09:30:00,3661.00,3661.00,3661.00,3661.00,21,0
+2006-01-05,09:31:00,3662.00,3662.00,3661.00,3662.00,132,0
+2006-01-05,09:32:00,3662.00,3663.00,3662.00,3662.00,595,0
+2006-01-05,09:33:00,3662.00,3663.00,3662.00,3663.00,476,0
+2006-01-05,09:34:00,3663.00,3663.00,3662.00,3663.00,531,0
+2006-01-05,09:35:00,3663.00,3664.00,3663.00,3664.00,109,0
+2006-01-05,09:36:00,3663.00,3664.00,3663.00,3664.00,59,0
+2006-01-05,09:37:00,3663.00,3664.00,3662.00,3663.00,782,0
+2006-01-05,09:38:00,3663.00,3663.00,3662.00,3663.00,374,0
+2006-01-05,09:39:00,3663.00,3664.00,3663.00,3663.00,307,0
+2006-01-05,09:40:00,3663.00,3663.00,3661.00,3662.00,594,0
+2006-01-05,09:41:00,3662.00,3663.00,3662.00,3663.00,487,0
+2006-01-05,09:42:00,3662.00,3662.00,3662.00,3662.00,439,0
+2006-01-05,09:43:00,3662.00,3662.00,3662.00,3662.00,97,0
+2006-01-05,09:44:00,3662.00,3663.00,3660.00,3660.00,1308,0
+2006-01-05,09:45:00,3660.00,3660.00,3658.00,3658.00,2116,0
+2006-01-05,09:46:00,3658.00,3660.00,3658.00,3658.00,1117,0
+2006-01-05,09:47:00,3659.00,3660.00,3659.00,3659.00,637,0
+2006-01-05,09:48:00,3659.00,3659.00,3656.00,3656.00,702,0
+2006-01-05,09:49:00,3656.00,3658.00,3656.00,3658.00,806,0
+2006-01-05,09:50:00,3658.00,3658.00,3657.00,3658.00,677,0
+2006-01-05,09:51:00,3659.00,3660.00,3658.00,3660.00,231,0
+2006-01-05,09:52:00,3660.00,3661.00,3660.00,3660.00,699,0
+2006-01-05,09:53:00,3660.00,3661.00,3659.00,3660.00,1808,0
+2006-01-05,09:54:00,3659.00,3661.00,3659.00,3661.00,353,0
+2006-01-05,09:55:00,3661.00,3661.00,3660.00,3661.00,538,0
+2006-01-05,09:56:00,3660.00,3660.00,3659.00,3660.00,397,0
+2006-01-05,09:57:00,3660.00,3661.00,3660.00,3661.00,387,0
+2006-01-05,09:58:00,3660.00,3661.00,3660.00,3660.00,29,0
+2006-01-05,09:59:00,3660.00,3660.00,3658.00,3659.00,1078,0
+2006-01-05,10:00:00,3659.00,3661.00,3658.00,3660.00,784,0
+2006-01-05,10:01:00,3660.00,3660.00,3659.00,3659.00,1186,0
+2006-01-05,10:02:00,3660.00,3660.00,3658.00,3659.00,355,0
+2006-01-05,10:03:00,3659.00,3659.00,3659.00,3659.00,323,0
+2006-01-05,10:04:00,3660.00,3660.00,3659.00,3660.00,177,0
+2006-01-05,10:05:00,3659.00,3659.00,3659.00,3659.00,9,0
+2006-01-05,10:06:00,3659.00,3660.00,3659.00,3659.00,57,0
+2006-01-05,10:07:00,3659.00,3661.00,3659.00,3661.00,742,0
+2006-01-05,10:08:00,3661.00,3662.00,3660.00,3661.00,920,0
+2006-01-05,10:09:00,3661.00,3662.00,3660.00,3661.00,919,0
+2006-01-05,10:10:00,3660.00,3660.00,3658.00,3658.00,1353,0
+2006-01-05,10:11:00,3658.00,3659.00,3657.00,3658.00,1055,0
+2006-01-05,10:12:00,3657.00,3657.00,3656.00,3656.00,1855,0
+2006-01-05,10:13:00,3657.00,3658.00,3655.00,3655.00,1929,0
+2006-01-05,10:14:00,3655.00,3658.00,3655.00,3657.00,619,0
+2006-01-05,10:15:00,3657.00,3658.00,3656.00,3656.00,791,0
+2006-01-05,10:16:00,3657.00,3657.00,3656.00,3657.00,823,0
+2006-01-05,10:17:00,3657.00,3657.00,3656.00,3656.00,1064,0
+2006-01-05,10:18:00,3656.00,3657.00,3656.00,3656.00,125,0
+2006-01-05,10:19:00,3656.00,3656.00,3654.00,3656.00,1297,0
+2006-01-05,10:20:00,3656.00,3657.00,3656.00,3657.00,514,0
+2006-01-05,10:21:00,3657.00,3657.00,3656.00,3657.00,1013,0
+2006-01-05,10:22:00,3657.00,3658.00,3657.00,3658.00,1262,0
+2006-01-05,10:23:00,3658.00,3658.00,3657.00,3658.00,227,0
+2006-01-05,10:24:00,3658.00,3661.00,3658.00,3661.00,752,0
+2006-01-05,10:25:00,3661.00,3661.00,3660.00,3660.00,1058,0
+2006-01-05,10:26:00,3660.00,3660.00,3659.00,3660.00,277,0
+2006-01-05,10:27:00,3660.00,3660.00,3659.00,3660.00,57,0
+2006-01-05,10:28:00,3659.00,3661.00,3659.00,3660.00,1458,0
+2006-01-05,10:29:00,3660.00,3660.00,3659.00,3659.00,4554,0
+2006-01-05,10:30:00,3659.00,3659.00,3658.00,3659.00,934,0
+2006-01-05,10:31:00,3659.00,3659.00,3658.00,3658.00,187,0
+2006-01-05,10:32:00,3659.00,3659.00,3658.00,3659.00,184,0
+2006-01-05,10:33:00,3659.00,3660.00,3659.00,3660.00,83,0
+2006-01-05,10:34:00,3660.00,3661.00,3659.00,3661.00,1025,0
+2006-01-05,10:35:00,3661.00,3661.00,3661.00,3661.00,1718,0
+2006-01-05,10:36:00,3661.00,3661.00,3660.00,3661.00,84,0
+2006-01-05,10:37:00,3660.00,3661.00,3660.00,3661.00,354,0
+2006-01-05,10:38:00,3660.00,3661.00,3660.00,3661.00,15,0
+2006-01-05,10:39:00,3661.00,3661.00,3660.00,3661.00,153,0
+2006-01-05,10:40:00,3661.00,3661.00,3661.00,3661.00,180,0
+2006-01-05,10:41:00,3661.00,3663.00,3661.00,3663.00,2338,0
+2006-01-05,10:42:00,3662.00,3663.00,3662.00,3663.00,451,0
+2006-01-05,10:43:00,3662.00,3663.00,3662.00,3663.00,28,0
+2006-01-05,10:44:00,3663.00,3664.00,3663.00,3664.00,430,0
+2006-01-05,10:45:00,3664.00,3665.00,3663.00,3665.00,1585,0
+2006-01-05,10:46:00,3664.00,3666.00,3664.00,3665.00,2034,0
+2006-01-05,10:47:00,3665.00,3666.00,3664.00,3666.00,858,0
+2006-01-05,10:48:00,3666.00,3666.00,3665.00,3665.00,278,0
+2006-01-05,10:49:00,3665.00,3665.00,3663.00,3663.00,395,0
+2006-01-05,10:50:00,3663.00,3664.00,3663.00,3664.00,330,0
+2006-01-05,10:51:00,3664.00,3664.00,3663.00,3663.00,150,0
+2006-01-05,10:52:00,3664.00,3664.00,3663.00,3664.00,211,0
+2006-01-05,10:53:00,3664.00,3664.00,3663.00,3664.00,100,0
+2006-01-05,10:54:00,3664.00,3664.00,3664.00,3664.00,13,0
+2006-01-05,10:55:00,3664.00,3664.00,3664.00,3664.00,501,0
+2006-01-05,10:56:00,3664.00,3665.00,3664.00,3664.00,796,0
+2006-01-05,10:57:00,3664.00,3664.00,3664.00,3664.00,1146,0
+2006-01-05,10:58:00,3664.00,3664.00,3663.00,3664.00,71,0
+2006-01-05,10:59:00,3664.00,3664.00,3664.00,3664.00,170,0
+2006-01-05,11:00:00,3664.00,3664.00,3663.00,3663.00,1477,0
+2006-01-05,11:01:00,3664.00,3665.00,3663.00,3663.00,1230,0
+2006-01-05,11:02:00,3663.00,3663.00,3663.00,3663.00,220,0
+2006-01-05,11:03:00,3663.00,3663.00,3662.00,3662.00,17,0
+2006-01-05,11:04:00,3663.00,3663.00,3662.00,3662.00,227,0
+2006-01-05,11:05:00,3663.00,3663.00,3660.00,3660.00,2171,0
+2006-01-05,11:06:00,3660.00,3661.00,3659.00,3660.00,743,0
+2006-01-05,11:07:00,3661.00,3661.00,3660.00,3660.00,254,0
+2006-01-05,11:08:00,3661.00,3661.00,3661.00,3661.00,394,0
+2006-01-05,11:09:00,3662.00,3662.00,3661.00,3662.00,239,0
+2006-01-05,11:10:00,3662.00,3662.00,3662.00,3662.00,52,0
+2006-01-05,11:11:00,3661.00,3662.00,3661.00,3661.00,192,0
+2006-01-05,11:12:00,3662.00,3662.00,3662.00,3662.00,113,0
+2006-01-05,11:13:00,3662.00,3662.00,3662.00,3662.00,23,0
+2006-01-05,11:14:00,3661.00,3661.00,3661.00,3661.00,15,0
+2006-01-05,11:15:00,3661.00,3662.00,3661.00,3662.00,23,0
+2006-01-05,11:16:00,3662.00,3663.00,3662.00,3663.00,399,0
+2006-01-05,11:17:00,3663.00,3663.00,3662.00,3662.00,435,0
+2006-01-05,11:18:00,3662.00,3662.00,3661.00,3661.00,481,0
+2006-01-05,11:19:00,3661.00,3661.00,3659.00,3659.00,904,0
+2006-01-05,11:20:00,3659.00,3660.00,3659.00,3659.00,24,0
+2006-01-05,11:21:00,3660.00,3660.00,3659.00,3659.00,149,0
+2006-01-05,11:22:00,3660.00,3660.00,3660.00,3660.00,206,0
+2006-01-05,11:23:00,3660.00,3660.00,3659.00,3660.00,443,0
+2006-01-05,11:24:00,3660.00,3660.00,3659.00,3660.00,234,0
+2006-01-05,11:25:00,3660.00,3661.00,3660.00,3660.00,269,0
+2006-01-05,11:26:00,3661.00,3661.00,3659.00,3659.00,330,0
+2006-01-05,11:27:00,3659.00,3659.00,3659.00,3659.00,52,0
+2006-01-05,11:28:00,3659.00,3659.00,3657.00,3658.00,1493,0
+2006-01-05,11:29:00,3658.00,3658.00,3658.00,3658.00,84,0
+2006-01-05,11:30:00,3659.00,3659.00,3659.00,3659.00,300,0
+2006-01-05,11:31:00,3659.00,3659.00,3659.00,3659.00,511,0
+2006-01-05,11:32:00,3659.00,3659.00,3659.00,3659.00,137,0
+2006-01-05,11:34:00,3660.00,3660.00,3659.00,3660.00,890,0
+2006-01-05,11:36:00,3660.00,3660.00,3660.00,3660.00,1,0
+2006-01-05,11:37:00,3661.00,3663.00,3660.00,3663.00,1027,0
+2006-01-05,11:38:00,3662.00,3663.00,3662.00,3662.00,20,0
+2006-01-05,11:39:00,3662.00,3664.00,3662.00,3664.00,409,0
+2006-01-05,11:40:00,3664.00,3664.00,3662.00,3662.00,280,0
+2006-01-05,11:41:00,3663.00,3663.00,3662.00,3662.00,18,0
+2006-01-05,11:42:00,3663.00,3663.00,3662.00,3662.00,177,0
+2006-01-05,11:43:00,3662.00,3662.00,3662.00,3662.00,319,0
+2006-01-05,11:44:00,3663.00,3663.00,3663.00,3663.00,32,0
+2006-01-05,11:45:00,3662.00,3663.00,3662.00,3663.00,138,0
+2006-01-05,11:46:00,3662.00,3663.00,3662.00,3663.00,15,0
+2006-01-05,11:47:00,3662.00,3663.00,3662.00,3662.00,271,0
+2006-01-05,11:48:00,3663.00,3663.00,3663.00,3663.00,250,0
+2006-01-05,11:49:00,3663.00,3664.00,3663.00,3663.00,140,0
+2006-01-05,11:50:00,3663.00,3663.00,3663.00,3663.00,11,0
+2006-01-05,11:51:00,3663.00,3664.00,3663.00,3663.00,191,0
+2006-01-05,11:52:00,3663.00,3663.00,3663.00,3663.00,22,0
+2006-01-05,11:53:00,3663.00,3664.00,3663.00,3664.00,20,0
+2006-01-05,11:54:00,3663.00,3664.00,3663.00,3664.00,67,0
+2006-01-05,11:55:00,3664.00,3664.00,3663.00,3664.00,546,0
+2006-01-05,11:56:00,3664.00,3665.00,3664.00,3664.00,358,0
+2006-01-05,11:57:00,3665.00,3665.00,3664.00,3664.00,55,0
+2006-01-05,11:58:00,3665.00,3665.00,3664.00,3664.00,4,0
+2006-01-05,11:59:00,3664.00,3665.00,3664.00,3665.00,148,0
+2006-01-05,12:00:00,3665.00,3666.00,3665.00,3666.00,502,0
+2006-01-05,12:01:00,3666.00,3666.00,3665.00,3665.00,108,0
+2006-01-05,12:02:00,3665.00,3665.00,3665.00,3665.00,367,0
+2006-01-05,12:03:00,3665.00,3666.00,3664.00,3664.00,187,0
+2006-01-05,12:05:00,3664.00,3665.00,3664.00,3664.00,3332,0
+2006-01-05,12:06:00,3665.00,3665.00,3664.00,3664.00,981,0
+2006-01-05,12:07:00,3665.00,3665.00,3664.00,3665.00,997,0
+2006-01-05,12:08:00,3665.00,3666.00,3665.00,3665.00,143,0
+2006-01-05,12:09:00,3666.00,3666.00,3664.00,3664.00,215,0
+2006-01-05,12:10:00,3665.00,3665.00,3664.00,3664.00,257,0
+2006-01-05,12:11:00,3664.00,3664.00,3663.00,3663.00,1361,0
+2006-01-05,12:12:00,3663.00,3663.00,3662.00,3663.00,387,0
+2006-01-05,12:13:00,3662.00,3663.00,3662.00,3663.00,35,0
+2006-01-05,12:14:00,3663.00,3664.00,3662.00,3663.00,81,0
+2006-01-05,12:15:00,3663.00,3663.00,3662.00,3662.00,133,0
+2006-01-05,12:16:00,3662.00,3663.00,3662.00,3663.00,810,0
+2006-01-05,12:17:00,3663.00,3664.00,3663.00,3663.00,709,0
+2006-01-05,12:18:00,3664.00,3664.00,3663.00,3664.00,678,0
+2006-01-05,12:19:00,3664.00,3664.00,3663.00,3663.00,3,0
+2006-01-05,12:20:00,3663.00,3664.00,3663.00,3664.00,393,0
+2006-01-05,12:21:00,3664.00,3665.00,3663.00,3665.00,505,0
+2006-01-05,12:22:00,3664.00,3665.00,3664.00,3665.00,3,0
+2006-01-05,12:23:00,3664.00,3665.00,3664.00,3664.00,195,0
+2006-01-05,12:24:00,3665.00,3665.00,3665.00,3665.00,39,0
+2006-01-05,12:25:00,3664.00,3664.00,3664.00,3664.00,341,0
+2006-01-05,12:26:00,3664.00,3665.00,3663.00,3665.00,1743,0
+2006-01-05,12:27:00,3665.00,3666.00,3665.00,3665.00,1308,0
+2006-01-05,12:28:00,3665.00,3666.00,3665.00,3665.00,258,0
+2006-01-05,12:29:00,3665.00,3666.00,3665.00,3665.00,544,0
+2006-01-05,12:30:00,3665.00,3665.00,3663.00,3663.00,615,0
+2006-01-05,12:31:00,3664.00,3664.00,3663.00,3664.00,384,0
+2006-01-05,12:32:00,3664.00,3665.00,3664.00,3664.00,15,0
+2006-01-05,12:33:00,3664.00,3665.00,3664.00,3664.00,4,0
+2006-01-05,12:34:00,3664.00,3665.00,3664.00,3664.00,68,0
+2006-01-05,12:35:00,3665.00,3665.00,3664.00,3664.00,22,0
+2006-01-05,12:36:00,3665.00,3665.00,3663.00,3664.00,432,0
+2006-01-05,12:37:00,3664.00,3664.00,3663.00,3663.00,362,0
+2006-01-05,12:38:00,3664.00,3664.00,3663.00,3663.00,3,0
+2006-01-05,12:39:00,3664.00,3664.00,3664.00,3664.00,88,0
+2006-01-05,12:40:00,3664.00,3664.00,3663.00,3664.00,310,0
+2006-01-05,12:41:00,3664.00,3665.00,3663.00,3664.00,987,0
+2006-01-05,12:42:00,3663.00,3664.00,3663.00,3663.00,4,0
+2006-01-05,12:43:00,3663.00,3664.00,3663.00,3663.00,78,0
+2006-01-05,12:44:00,3664.00,3664.00,3663.00,3663.00,85,0
+2006-01-05,12:45:00,3663.00,3663.00,3663.00,3663.00,145,0
+2006-01-05,12:46:00,3664.00,3664.00,3663.00,3664.00,5,0
+2006-01-05,12:47:00,3664.00,3665.00,3664.00,3665.00,313,0
+2006-01-05,12:48:00,3664.00,3665.00,3664.00,3665.00,138,0
+2006-01-05,12:49:00,3664.00,3664.00,3664.00,3664.00,15,0
+2006-01-05,12:50:00,3665.00,3665.00,3665.00,3665.00,1,0
+2006-01-05,12:51:00,3665.00,3665.00,3664.00,3665.00,821,0
+2006-01-05,12:52:00,3665.00,3665.00,3665.00,3665.00,1,0
+2006-01-05,12:53:00,3665.00,3665.00,3664.00,3664.00,57,0
+2006-01-05,12:54:00,3664.00,3664.00,3664.00,3664.00,1,0
+2006-01-05,12:55:00,3665.00,3665.00,3664.00,3664.00,175,0
+2006-01-05,12:56:00,3664.00,3664.00,3664.00,3664.00,27,0
+2006-01-05,12:57:00,3664.00,3665.00,3664.00,3665.00,78,0
+2006-01-05,12:58:00,3665.00,3665.00,3664.00,3664.00,339,0
+2006-01-05,12:59:00,3664.00,3664.00,3663.00,3664.00,597,0
+2006-01-05,13:00:00,3665.00,3665.00,3664.00,3665.00,681,0
+2006-01-05,13:01:00,3664.00,3666.00,3664.00,3665.00,676,0
+2006-01-05,13:02:00,3666.00,3666.00,3665.00,3666.00,443,0
+2006-01-05,13:03:00,3666.00,3667.00,3666.00,3666.00,800,0
+2006-01-05,13:04:00,3666.00,3666.00,3666.00,3666.00,187,0
+2006-01-05,13:05:00,3666.00,3666.00,3665.00,3666.00,141,0
+2006-01-05,13:06:00,3665.00,3665.00,3665.00,3665.00,105,0
+2006-01-05,13:07:00,3666.00,3667.00,3666.00,3667.00,425,0
+2006-01-05,13:08:00,3666.00,3668.00,3666.00,3668.00,1557,0
+2006-01-05,13:09:00,3667.00,3670.00,3667.00,3669.00,2107,0
+2006-01-05,13:10:00,3669.00,3669.00,3668.00,3669.00,303,0
+2006-01-05,13:11:00,3669.00,3669.00,3668.00,3668.00,251,0
+2006-01-05,13:12:00,3668.00,3670.00,3668.00,3669.00,846,0
+2006-01-05,13:13:00,3670.00,3670.00,3669.00,3670.00,487,0
+2006-01-05,13:14:00,3669.00,3669.00,3669.00,3669.00,20,0
+2006-01-05,13:15:00,3669.00,3669.00,3668.00,3669.00,464,0
+2006-01-05,13:16:00,3669.00,3669.00,3668.00,3668.00,66,0
+2006-01-05,13:17:00,3668.00,3669.00,3668.00,3668.00,587,0
+2006-01-05,13:18:00,3668.00,3669.00,3668.00,3669.00,294,0
+2006-01-05,13:19:00,3668.00,3668.00,3668.00,3668.00,356,0
+2006-01-05,13:20:00,3668.00,3668.00,3667.00,3667.00,37,0
+2006-01-05,13:21:00,3668.00,3668.00,3667.00,3668.00,349,0
+2006-01-05,13:22:00,3668.00,3669.00,3668.00,3668.00,128,0
+2006-01-05,13:23:00,3668.00,3668.00,3668.00,3668.00,9,0
+2006-01-05,13:24:00,3669.00,3669.00,3668.00,3669.00,92,0
+2006-01-05,13:25:00,3668.00,3669.00,3668.00,3668.00,27,0
+2006-01-05,13:26:00,3668.00,3669.00,3668.00,3668.00,77,0
+2006-01-05,13:28:00,3668.00,3669.00,3668.00,3669.00,24,0
+2006-01-05,13:29:00,3669.00,3669.00,3669.00,3669.00,38,0
+2006-01-05,13:30:00,3669.00,3669.00,3669.00,3669.00,44,0
+2006-01-05,13:31:00,3669.00,3670.00,3669.00,3669.00,541,0
+2006-01-05,13:32:00,3670.00,3670.00,3669.00,3669.00,362,0
+2006-01-05,13:33:00,3669.00,3670.00,3669.00,3669.00,365,0
+2006-01-05,13:34:00,3669.00,3669.00,3669.00,3669.00,79,0
+2006-01-05,13:35:00,3669.00,3670.00,3669.00,3670.00,56,0
+2006-01-05,13:36:00,3669.00,3669.00,3669.00,3669.00,115,0
+2006-01-05,13:37:00,3669.00,3670.00,3669.00,3670.00,30,0
+2006-01-05,13:38:00,3669.00,3669.00,3669.00,3669.00,629,0
+2006-01-05,13:39:00,3669.00,3669.00,3668.00,3669.00,16,0
+2006-01-05,13:40:00,3669.00,3669.00,3669.00,3669.00,44,0
+2006-01-05,13:41:00,3669.00,3669.00,3668.00,3669.00,9,0
+2006-01-05,13:42:00,3669.00,3670.00,3669.00,3670.00,305,0
+2006-01-05,13:43:00,3669.00,3670.00,3669.00,3670.00,21,0
+2006-01-05,13:44:00,3669.00,3669.00,3669.00,3669.00,7,0
+2006-01-05,13:45:00,3669.00,3669.00,3669.00,3669.00,74,0
+2006-01-05,13:46:00,3670.00,3670.00,3670.00,3670.00,2,0
+2006-01-05,13:47:00,3670.00,3670.00,3669.00,3669.00,82,0
+2006-01-05,13:48:00,3669.00,3669.00,3669.00,3669.00,102,0
+2006-01-05,13:49:00,3669.00,3670.00,3669.00,3670.00,103,0
+2006-01-05,13:50:00,3669.00,3669.00,3669.00,3669.00,50,0
+2006-01-05,13:51:00,3669.00,3669.00,3668.00,3669.00,709,0
+2006-01-05,13:52:00,3668.00,3669.00,3668.00,3668.00,715,0
+2006-01-05,13:53:00,3667.00,3667.00,3666.00,3666.00,870,0
+2006-01-05,13:54:00,3666.00,3667.00,3665.00,3666.00,1987,0
+2006-01-05,13:55:00,3666.00,3666.00,3665.00,3665.00,69,0
+2006-01-05,13:56:00,3665.00,3666.00,3665.00,3666.00,660,0
+2006-01-05,13:57:00,3665.00,3666.00,3665.00,3665.00,360,0
+2006-01-05,13:58:00,3665.00,3666.00,3665.00,3665.00,140,0
+2006-01-05,13:59:00,3665.00,3666.00,3665.00,3666.00,145,0
+2006-01-05,14:00:00,3665.00,3665.00,3664.00,3665.00,105,0
+2006-01-05,14:01:00,3665.00,3665.00,3664.00,3665.00,154,0
+2006-01-05,14:02:00,3665.00,3665.00,3664.00,3665.00,74,0
+2006-01-05,14:03:00,3664.00,3664.00,3664.00,3664.00,34,0
+2006-01-05,14:04:00,3664.00,3664.00,3663.00,3663.00,467,0
+2006-01-05,14:05:00,3664.00,3664.00,3663.00,3663.00,253,0
+2006-01-05,14:06:00,3663.00,3664.00,3663.00,3664.00,893,0
+2006-01-05,14:07:00,3664.00,3665.00,3664.00,3665.00,118,0
+2006-01-05,14:08:00,3664.00,3665.00,3664.00,3664.00,105,0
+2006-01-05,14:09:00,3665.00,3665.00,3665.00,3665.00,682,0
+2006-01-05,14:10:00,3665.00,3665.00,3664.00,3664.00,149,0
+2006-01-05,14:11:00,3665.00,3665.00,3664.00,3665.00,39,0
+2006-01-05,14:12:00,3665.00,3665.00,3664.00,3665.00,1074,0
+2006-01-05,14:13:00,3665.00,3665.00,3664.00,3665.00,27,0
+2006-01-05,14:14:00,3665.00,3665.00,3664.00,3664.00,518,0
+2006-01-05,14:15:00,3664.00,3665.00,3664.00,3665.00,450,0
+2006-01-05,14:17:00,3665.00,3665.00,3665.00,3665.00,14,0
+2006-01-05,14:18:00,3664.00,3665.00,3664.00,3665.00,69,0
+2006-01-05,14:19:00,3664.00,3665.00,3664.00,3665.00,128,0
+2006-01-05,14:20:00,3664.00,3665.00,3664.00,3664.00,11,0
+2006-01-05,14:21:00,3665.00,3665.00,3665.00,3665.00,205,0
+2006-01-05,14:22:00,3665.00,3667.00,3665.00,3666.00,764,0
+2006-01-05,14:23:00,3667.00,3667.00,3666.00,3666.00,211,0
+2006-01-05,14:24:00,3666.00,3667.00,3666.00,3667.00,3,0
+2006-01-05,14:25:00,3666.00,3667.00,3666.00,3667.00,41,0
+2006-01-05,14:26:00,3667.00,3667.00,3666.00,3666.00,117,0
+2006-01-05,14:27:00,3666.00,3668.00,3666.00,3667.00,566,0
+2006-01-05,14:28:00,3667.00,3668.00,3666.00,3666.00,65,0
+2006-01-05,14:29:00,3666.00,3666.00,3666.00,3666.00,244,0
+2006-01-05,14:30:00,3666.00,3667.00,3666.00,3667.00,145,0
+2006-01-05,14:31:00,3667.00,3669.00,3667.00,3667.00,1790,0
+2006-01-05,14:32:00,3667.00,3667.00,3665.00,3666.00,1151,0
+2006-01-05,14:33:00,3665.00,3665.00,3665.00,3665.00,5,0
+2006-01-05,14:34:00,3666.00,3667.00,3666.00,3667.00,660,0
+2006-01-05,14:35:00,3667.00,3667.00,3666.00,3666.00,289,0
+2006-01-05,14:36:00,3666.00,3667.00,3666.00,3666.00,260,0
+2006-01-05,14:37:00,3666.00,3668.00,3666.00,3668.00,162,0
+2006-01-05,14:38:00,3667.00,3667.00,3667.00,3667.00,280,0
+2006-01-05,14:41:00,3667.00,3667.00,3665.00,3666.00,406,0
+2006-01-05,14:42:00,3666.00,3666.00,3666.00,3666.00,404,0
+2006-01-05,14:43:00,3666.00,3666.00,3666.00,3666.00,15,0
+2006-01-05,14:44:00,3666.00,3666.00,3666.00,3666.00,36,0
+2006-01-05,14:45:00,3665.00,3666.00,3665.00,3666.00,247,0
+2006-01-05,14:46:00,3666.00,3668.00,3666.00,3667.00,504,0
+2006-01-05,14:47:00,3667.00,3667.00,3666.00,3666.00,134,0
+2006-01-05,14:49:00,3667.00,3667.00,3666.00,3666.00,3,0
+2006-01-05,14:50:00,3666.00,3667.00,3666.00,3667.00,27,0
+2006-01-05,14:51:00,3667.00,3668.00,3667.00,3668.00,132,0
+2006-01-05,14:52:00,3667.00,3668.00,3667.00,3668.00,143,0
+2006-01-05,14:53:00,3668.00,3669.00,3668.00,3668.00,335,0
+2006-01-05,14:54:00,3668.00,3668.00,3667.00,3668.00,148,0
+2006-01-05,14:55:00,3668.00,3668.00,3667.00,3667.00,120,0
+2006-01-05,14:56:00,3667.00,3668.00,3667.00,3667.00,192,0
+2006-01-05,14:57:00,3667.00,3667.00,3667.00,3667.00,210,0
+2006-01-05,14:58:00,3667.00,3667.00,3667.00,3667.00,6,0
+2006-01-05,14:59:00,3667.00,3667.00,3666.00,3667.00,89,0
+2006-01-05,15:00:00,3667.00,3667.00,3666.00,3666.00,150,0
+2006-01-05,15:01:00,3667.00,3667.00,3666.00,3666.00,1054,0
+2006-01-05,15:02:00,3666.00,3666.00,3666.00,3666.00,22,0
+2006-01-05,15:03:00,3666.00,3667.00,3666.00,3666.00,439,0
+2006-01-05,15:04:00,3667.00,3667.00,3667.00,3667.00,2,0
+2006-01-05,15:05:00,3666.00,3666.00,3666.00,3666.00,112,0
+2006-01-05,15:06:00,3667.00,3667.00,3667.00,3667.00,387,0
+2006-01-05,15:07:00,3667.00,3667.00,3667.00,3667.00,574,0
+2006-01-05,15:08:00,3667.00,3667.00,3667.00,3667.00,1005,0
+2006-01-05,15:09:00,3668.00,3668.00,3668.00,3668.00,3,0
+2006-01-05,15:10:00,3668.00,3668.00,3667.00,3668.00,555,0
+2006-01-05,15:12:00,3668.00,3668.00,3667.00,3667.00,980,0
+2006-01-05,15:13:00,3668.00,3669.00,3668.00,3668.00,410,0
+2006-01-05,15:14:00,3668.00,3669.00,3667.00,3668.00,984,0
+2006-01-05,15:15:00,3667.00,3667.00,3666.00,3667.00,1354,0
+2006-01-05,15:16:00,3667.00,3667.00,3667.00,3667.00,215,0
+2006-01-05,15:17:00,3667.00,3667.00,3667.00,3667.00,40,0
+2006-01-05,15:18:00,3667.00,3667.00,3666.00,3667.00,258,0
+2006-01-05,15:19:00,3667.00,3667.00,3667.00,3667.00,1197,0
+2006-01-05,15:20:00,3667.00,3667.00,3667.00,3667.00,249,0
+2006-01-05,15:21:00,3667.00,3667.00,3667.00,3667.00,30,0
+2006-01-05,15:22:00,3667.00,3668.00,3666.00,3667.00,106,0
+2006-01-05,15:23:00,3666.00,3667.00,3666.00,3667.00,924,0
+2006-01-05,15:24:00,3667.00,3667.00,3667.00,3667.00,37,0
+2006-01-05,15:25:00,3667.00,3667.00,3666.00,3666.00,92,0
+2006-01-05,15:26:00,3667.00,3667.00,3666.00,3666.00,18,0
+2006-01-05,15:27:00,3666.00,3667.00,3666.00,3667.00,162,0
+2006-01-05,15:28:00,3667.00,3667.00,3666.00,3667.00,206,0
+2006-01-05,15:29:00,3667.00,3667.00,3666.00,3666.00,29,0
+2006-01-05,15:30:00,3667.00,3667.00,3666.00,3667.00,124,0
+2006-01-05,15:31:00,3667.00,3667.00,3666.00,3667.00,143,0
+2006-01-05,15:32:00,3667.00,3667.00,3666.00,3667.00,323,0
+2006-01-05,15:33:00,3667.00,3669.00,3667.00,3668.00,1990,0
+2006-01-05,15:34:00,3667.00,3669.00,3667.00,3668.00,1457,0
+2006-01-05,15:35:00,3668.00,3670.00,3668.00,3670.00,2188,0
+2006-01-05,15:36:00,3670.00,3671.00,3669.00,3670.00,1462,0
+2006-01-05,15:37:00,3670.00,3670.00,3669.00,3670.00,995,0
+2006-01-05,15:38:00,3670.00,3670.00,3669.00,3670.00,352,0
+2006-01-05,15:39:00,3670.00,3671.00,3670.00,3670.00,658,0
+2006-01-05,15:40:00,3670.00,3672.00,3669.00,3672.00,2140,0
+2006-01-05,15:41:00,3672.00,3673.00,3670.00,3671.00,3527,0
+2006-01-05,15:42:00,3671.00,3671.00,3670.00,3671.00,2043,0
+2006-01-05,15:43:00,3671.00,3671.00,3670.00,3671.00,352,0
+2006-01-05,15:44:00,3671.00,3672.00,3671.00,3672.00,486,0
+2006-01-05,15:45:00,3672.00,3672.00,3670.00,3671.00,379,0
+2006-01-05,15:46:00,3670.00,3672.00,3670.00,3671.00,1289,0
+2006-01-05,15:47:00,3671.00,3672.00,3671.00,3672.00,407,0
+2006-01-05,15:48:00,3672.00,3672.00,3671.00,3671.00,1175,0
+2006-01-05,15:49:00,3672.00,3674.00,3672.00,3672.00,2721,0
+2006-01-05,15:50:00,3672.00,3673.00,3671.00,3672.00,1768,0
+2006-01-05,15:51:00,3672.00,3672.00,3671.00,3671.00,663,0
+2006-01-05,15:52:00,3672.00,3672.00,3669.00,3670.00,1682,0
+2006-01-05,15:53:00,3669.00,3670.00,3668.00,3669.00,2658,0
+2006-01-05,15:54:00,3670.00,3670.00,3667.00,3668.00,3082,0
+2006-01-05,15:55:00,3667.00,3669.00,3667.00,3668.00,1516,0
+2006-01-05,15:56:00,3668.00,3668.00,3667.00,3668.00,1336,0
+2006-01-05,15:57:00,3668.00,3668.00,3666.00,3668.00,1554,0
+2006-01-05,15:58:00,3668.00,3669.00,3667.00,3669.00,1191,0
+2006-01-05,15:59:00,3668.00,3669.00,3668.00,3669.00,1087,0
+2006-01-05,16:00:00,3669.00,3669.00,3667.00,3668.00,411,0
+2006-01-05,16:01:00,3668.00,3669.00,3667.00,3668.00,2233,0
+2006-01-05,16:02:00,3668.00,3669.00,3667.00,3668.00,2176,0
+2006-01-05,16:03:00,3669.00,3669.00,3667.00,3668.00,417,0
+2006-01-05,16:04:00,3667.00,3669.00,3666.00,3669.00,1620,0
+2006-01-05,16:05:00,3668.00,3670.00,3667.00,3670.00,1559,0
+2006-01-05,16:06:00,3669.00,3672.00,3669.00,3671.00,1273,0
+2006-01-05,16:07:00,3671.00,3673.00,3670.00,3673.00,2080,0
+2006-01-05,16:08:00,3673.00,3674.00,3672.00,3673.00,1134,0
+2006-01-05,16:09:00,3672.00,3674.00,3672.00,3672.00,980,0
+2006-01-05,16:10:00,3673.00,3673.00,3670.00,3671.00,1892,0
+2006-01-05,16:11:00,3671.00,3671.00,3669.00,3670.00,1191,0
+2006-01-05,16:12:00,3670.00,3672.00,3670.00,3672.00,407,0
+2006-01-05,16:13:00,3671.00,3672.00,3670.00,3670.00,1482,0
+2006-01-05,16:14:00,3670.00,3671.00,3669.00,3670.00,1215,0
+2006-01-05,16:15:00,3670.00,3672.00,3669.00,3672.00,844,0
+2006-01-05,16:16:00,3671.00,3672.00,3670.00,3671.00,704,0
+2006-01-05,16:17:00,3671.00,3671.00,3669.00,3671.00,1547,0
+2006-01-05,16:18:00,3670.00,3671.00,3670.00,3671.00,689,0
+2006-01-05,16:19:00,3671.00,3671.00,3670.00,3670.00,231,0
+2006-01-05,16:20:00,3671.00,3671.00,3670.00,3670.00,406,0
+2006-01-05,16:21:00,3671.00,3671.00,3670.00,3670.00,2164,0
+2006-01-05,16:22:00,3670.00,3671.00,3669.00,3670.00,600,0
+2006-01-05,16:23:00,3670.00,3672.00,3670.00,3671.00,2070,0
+2006-01-05,16:24:00,3671.00,3671.00,3670.00,3671.00,408,0
+2006-01-05,16:25:00,3671.00,3671.00,3670.00,3670.00,666,0
+2006-01-05,16:26:00,3670.00,3671.00,3667.00,3668.00,2998,0
+2006-01-05,16:27:00,3668.00,3669.00,3667.00,3667.00,365,0
+2006-01-05,16:28:00,3668.00,3668.00,3667.00,3668.00,477,0
+2006-01-05,16:29:00,3667.00,3668.00,3667.00,3668.00,327,0
+2006-01-05,16:30:00,3668.00,3668.00,3666.00,3667.00,940,0
+2006-01-05,16:31:00,3666.00,3669.00,3666.00,3668.00,975,0
+2006-01-05,16:32:00,3667.00,3667.00,3664.00,3665.00,2375,0
+2006-01-05,16:33:00,3664.00,3665.00,3663.00,3664.00,1598,0
+2006-01-05,16:34:00,3664.00,3665.00,3662.00,3663.00,2229,0
+2006-01-05,16:35:00,3663.00,3665.00,3662.00,3663.00,3198,0
+2006-01-05,16:36:00,3663.00,3663.00,3661.00,3662.00,1761,0
+2006-01-05,16:37:00,3661.00,3664.00,3661.00,3663.00,4300,0
+2006-01-05,16:38:00,3663.00,3665.00,3663.00,3665.00,831,0
+2006-01-05,16:39:00,3664.00,3665.00,3660.00,3660.00,3467,0
+2006-01-05,16:40:00,3661.00,3661.00,3658.00,3659.00,7105,0
+2006-01-05,16:41:00,3658.00,3659.00,3656.00,3657.00,6015,0
+2006-01-05,16:42:00,3658.00,3658.00,3656.00,3656.00,3137,0
+2006-01-05,16:43:00,3656.00,3658.00,3655.00,3656.00,4586,0
+2006-01-05,16:44:00,3656.00,3658.00,3656.00,3657.00,1174,0
+2006-01-05,16:45:00,3657.00,3658.00,3656.00,3657.00,2441,0
+2006-01-05,16:46:00,3658.00,3658.00,3657.00,3657.00,2799,0
+2006-01-05,16:47:00,3657.00,3659.00,3657.00,3657.00,2383,0
+2006-01-05,16:48:00,3658.00,3659.00,3657.00,3658.00,824,0
+2006-01-05,16:49:00,3658.00,3659.00,3657.00,3658.00,2767,0
+2006-01-05,16:50:00,3658.00,3660.00,3658.00,3659.00,1227,0
+2006-01-05,16:51:00,3660.00,3661.00,3659.00,3660.00,2144,0
+2006-01-05,16:52:00,3660.00,3660.00,3659.00,3659.00,1056,0
+2006-01-05,16:53:00,3659.00,3661.00,3659.00,3659.00,1982,0
+2006-01-05,16:54:00,3659.00,3659.00,3658.00,3658.00,1661,0
+2006-01-05,16:55:00,3658.00,3660.00,3658.00,3658.00,1636,0
+2006-01-05,16:56:00,3658.00,3659.00,3657.00,3658.00,2602,0
+2006-01-05,16:57:00,3658.00,3660.00,3656.00,3656.00,2342,0
+2006-01-05,16:58:00,3657.00,3659.00,3656.00,3658.00,1512,0
+2006-01-05,16:59:00,3658.00,3660.00,3658.00,3660.00,1419,0
+2006-01-05,17:00:00,3659.00,3660.00,3658.00,3659.00,915,0
+2006-01-05,17:01:00,3659.00,3661.00,3659.00,3661.00,793,0
+2006-01-05,17:02:00,3660.00,3662.00,3660.00,3661.00,527,0
+2006-01-05,17:03:00,3660.00,3661.00,3660.00,3661.00,1581,0
+2006-01-05,17:04:00,3660.00,3663.00,3660.00,3662.00,1433,0
+2006-01-05,17:05:00,3662.00,3663.00,3661.00,3661.00,1395,0
+2006-01-05,17:06:00,3661.00,3662.00,3660.00,3660.00,917,0
+2006-01-05,17:07:00,3660.00,3660.00,3657.00,3659.00,4492,0
+2006-01-05,17:08:00,3659.00,3660.00,3658.00,3658.00,1310,0
+2006-01-05,17:09:00,3658.00,3662.00,3658.00,3662.00,2279,0
+2006-01-05,17:10:00,3662.00,3663.00,3660.00,3661.00,935,0
+2006-01-05,17:11:00,3661.00,3662.00,3659.00,3659.00,1064,0
+2006-01-05,17:12:00,3659.00,3661.00,3659.00,3660.00,720,0
+2006-01-05,17:13:00,3660.00,3661.00,3660.00,3660.00,1012,0
+2006-01-05,17:14:00,3660.00,3662.00,3660.00,3661.00,1356,0
+2006-01-05,17:15:00,3661.00,3662.00,3660.00,3661.00,1196,0
+2006-01-05,17:16:00,3661.00,3664.00,3661.00,3663.00,961,0
+2006-01-05,17:17:00,3663.00,3664.00,3663.00,3663.00,1107,0
+2006-01-05,17:18:00,3663.00,3664.00,3662.00,3663.00,1009,0
+2006-01-05,17:19:00,3663.00,3664.00,3662.00,3663.00,1731,0
+2006-01-05,17:20:00,3663.00,3664.00,3662.00,3662.00,567,0
+2006-01-05,17:21:00,3662.00,3664.00,3662.00,3662.00,1598,0
+2006-01-05,17:22:00,3662.00,3664.00,3662.00,3662.00,1298,0
+2006-01-05,17:23:00,3662.00,3663.00,3661.00,3661.00,1876,0
+2006-01-05,17:24:00,3661.00,3663.00,3660.00,3660.00,1181,0
+2006-01-05,17:25:00,3660.00,3661.00,3659.00,3659.00,1981,0
+2006-01-05,17:26:00,3659.00,3660.00,3658.00,3658.00,2543,0
+2006-01-05,17:27:00,3658.00,3660.00,3658.00,3660.00,1410,0
+2006-01-05,17:28:00,3660.00,3661.00,3659.00,3660.00,899,0
+2006-01-05,17:29:00,3660.00,3663.00,3659.00,3662.00,5010,0
+2006-01-05,17:30:00,3662.00,3662.00,3659.00,3659.00,3611,0
+2006-01-05,17:31:00,3659.00,3661.00,3658.00,3660.00,3821,0
+2006-01-05,17:32:00,3660.00,3662.00,3660.00,3661.00,1456,0
+2006-01-05,17:33:00,3661.00,3662.00,3661.00,3661.00,731,0
+2006-01-05,17:34:00,3661.00,3663.00,3661.00,3662.00,927,0
+2006-01-05,17:35:00,3662.00,3663.00,3661.00,3662.00,1773,0
+2006-01-05,17:36:00,3662.00,3663.00,3662.00,3662.00,709,0
+2006-01-05,17:37:00,3662.00,3663.00,3661.00,3661.00,1562,0
+2006-01-05,17:38:00,3661.00,3663.00,3661.00,3663.00,911,0
+2006-01-05,17:39:00,3662.00,3664.00,3662.00,3664.00,3053,0
+2006-01-05,17:40:00,3664.00,3664.00,3662.00,3662.00,1345,0
+2006-01-05,17:41:00,3662.00,3663.00,3662.00,3662.00,155,0
+2006-01-05,17:42:00,3663.00,3663.00,3661.00,3661.00,522,0
+2006-01-05,17:43:00,3662.00,3662.00,3662.00,3662.00,567,0
+2006-01-05,17:44:00,3662.00,3662.00,3661.00,3661.00,208,0
+2006-01-05,17:45:00,3660.00,3661.00,3660.00,3661.00,110,0
+2006-01-05,17:46:00,3662.00,3662.00,3661.00,3662.00,38,0
+2006-01-05,17:47:00,3661.00,3662.00,3661.00,3662.00,500,0
+2006-01-05,17:48:00,3663.00,3663.00,3661.00,3661.00,285,0
+2006-01-05,17:49:00,3661.00,3661.00,3661.00,3661.00,164,0
+2006-01-05,17:50:00,3661.00,3662.00,3661.00,3661.00,945,0
+2006-01-05,17:51:00,3662.00,3662.00,3662.00,3662.00,93,0
+2006-01-05,17:52:00,3662.00,3663.00,3662.00,3663.00,1373,0
+2006-01-05,17:53:00,3664.00,3665.00,3664.00,3664.00,924,0
+2006-01-05,17:54:00,3664.00,3665.00,3664.00,3665.00,623,0
+2006-01-05,17:55:00,3665.00,3665.00,3664.00,3665.00,499,0
+2006-01-05,17:56:00,3666.00,3667.00,3665.00,3666.00,1098,0
+2006-01-05,17:57:00,3666.00,3667.00,3665.00,3666.00,1151,0
+2006-01-05,17:58:00,3666.00,3668.00,3666.00,3667.00,733,0
+2006-01-05,17:59:00,3667.00,3668.00,3667.00,3668.00,347,0
+2006-01-05,18:00:00,3668.00,3669.00,3667.00,3667.00,753,0
+2006-01-05,18:01:00,3668.00,3669.00,3667.00,3667.00,584,0
+2006-01-05,18:02:00,3668.00,3669.00,3667.00,3668.00,907,0
+2006-01-05,18:03:00,3668.00,3671.00,3668.00,3670.00,1036,0
+2006-01-05,18:04:00,3669.00,3669.00,3667.00,3667.00,953,0
+2006-01-05,18:05:00,3667.00,3668.00,3667.00,3668.00,329,0
+2006-01-05,18:06:00,3668.00,3670.00,3668.00,3669.00,977,0
+2006-01-05,18:07:00,3669.00,3669.00,3667.00,3667.00,309,0
+2006-01-05,18:08:00,3667.00,3669.00,3667.00,3668.00,369,0
+2006-01-05,18:09:00,3669.00,3669.00,3668.00,3668.00,13,0
+2006-01-05,18:10:00,3669.00,3669.00,3668.00,3669.00,352,0
+2006-01-05,18:11:00,3669.00,3669.00,3668.00,3669.00,82,0
+2006-01-05,18:12:00,3669.00,3670.00,3669.00,3670.00,494,0
+2006-01-05,18:13:00,3670.00,3670.00,3669.00,3669.00,393,0
+2006-01-05,18:14:00,3669.00,3669.00,3668.00,3668.00,602,0
+2006-01-05,18:15:00,3668.00,3669.00,3668.00,3668.00,51,0
+2006-01-05,18:16:00,3668.00,3668.00,3667.00,3667.00,248,0
+2006-01-05,18:17:00,3667.00,3667.00,3667.00,3667.00,128,0
+2006-01-05,18:18:00,3666.00,3668.00,3666.00,3667.00,237,0
+2006-01-05,18:19:00,3667.00,3667.00,3667.00,3667.00,135,0
+2006-01-05,18:20:00,3667.00,3668.00,3667.00,3668.00,302,0
+2006-01-05,18:21:00,3668.00,3669.00,3668.00,3668.00,350,0
+2006-01-05,18:22:00,3669.00,3669.00,3668.00,3668.00,49,0
+2006-01-05,18:23:00,3669.00,3670.00,3669.00,3670.00,1063,0
+2006-01-05,18:24:00,3670.00,3670.00,3669.00,3669.00,28,0
+2006-01-05,18:25:00,3670.00,3670.00,3670.00,3670.00,2,0
+2006-01-05,18:26:00,3670.00,3670.00,3669.00,3669.00,199,0
+2006-01-05,18:27:00,3669.00,3669.00,3668.00,3668.00,147,0
+2006-01-05,18:28:00,3667.00,3668.00,3667.00,3668.00,90,0
+2006-01-05,18:29:00,3668.00,3668.00,3668.00,3668.00,61,0
+2006-01-05,18:30:00,3668.00,3668.00,3668.00,3668.00,44,0
+2006-01-05,18:31:00,3669.00,3669.00,3668.00,3669.00,48,0
+2006-01-05,18:32:00,3669.00,3669.00,3669.00,3669.00,107,0
+2006-01-05,18:33:00,3669.00,3669.00,3669.00,3669.00,1,0
+2006-01-05,18:34:00,3669.00,3669.00,3669.00,3669.00,61,0
+2006-01-05,18:35:00,3669.00,3669.00,3668.00,3668.00,30,0
+2006-01-05,18:36:00,3669.00,3669.00,3668.00,3668.00,103,0
+2006-01-05,18:38:00,3669.00,3669.00,3669.00,3669.00,30,0
+2006-01-05,18:39:00,3668.00,3669.00,3668.00,3668.00,126,0
+2006-01-05,18:40:00,3668.00,3668.00,3667.00,3667.00,91,0
+2006-01-05,18:41:00,3668.00,3668.00,3667.00,3668.00,48,0
+2006-01-05,18:42:00,3668.00,3668.00,3668.00,3668.00,65,0
+2006-01-05,18:43:00,3668.00,3668.00,3668.00,3668.00,46,0
+2006-01-05,18:44:00,3668.00,3668.00,3665.00,3666.00,433,0
+2006-01-05,18:45:00,3666.00,3666.00,3665.00,3665.00,93,0
+2006-01-05,18:46:00,3665.00,3665.00,3662.00,3662.00,603,0
+2006-01-05,18:47:00,3662.00,3664.00,3662.00,3664.00,644,0
+2006-01-05,18:48:00,3664.00,3664.00,3663.00,3663.00,301,0
+2006-01-05,18:49:00,3664.00,3664.00,3663.00,3664.00,109,0
+2006-01-05,18:50:00,3664.00,3664.00,3664.00,3664.00,20,0
+2006-01-05,18:51:00,3664.00,3664.00,3662.00,3663.00,243,0
+2006-01-05,18:52:00,3663.00,3664.00,3663.00,3664.00,522,0
+2006-01-05,18:53:00,3664.00,3665.00,3664.00,3665.00,43,0
+2006-01-05,18:54:00,3665.00,3665.00,3664.00,3664.00,84,0
+2006-01-05,18:55:00,3664.00,3664.00,3663.00,3664.00,5,0
+2006-01-05,18:56:00,3664.00,3665.00,3664.00,3665.00,55,0
+2006-01-05,18:57:00,3664.00,3664.00,3664.00,3664.00,15,0
+2006-01-05,18:58:00,3664.00,3664.00,3663.00,3663.00,188,0
+2006-01-05,18:59:00,3663.00,3663.00,3662.00,3663.00,22,0
+2006-01-05,19:00:00,3662.00,3663.00,3662.00,3663.00,201,0
+2006-01-05,19:01:00,3663.00,3664.00,3662.00,3664.00,100,0
+2006-01-05,19:02:00,3664.00,3664.00,3663.00,3663.00,92,0
+2006-01-05,19:03:00,3664.00,3664.00,3664.00,3664.00,46,0
+2006-01-05,19:04:00,3664.00,3664.00,3664.00,3664.00,59,0
+2006-01-05,19:05:00,3664.00,3664.00,3664.00,3664.00,20,0
+2006-01-05,19:06:00,3663.00,3663.00,3663.00,3663.00,436,0
+2006-01-05,19:07:00,3663.00,3663.00,3663.00,3663.00,17,0
+2006-01-05,19:08:00,3663.00,3663.00,3663.00,3663.00,149,0
+2006-01-05,19:09:00,3664.00,3666.00,3664.00,3665.00,204,0
+2006-01-05,19:10:00,3665.00,3666.00,3665.00,3666.00,179,0
+2006-01-05,19:11:00,3666.00,3666.00,3665.00,3665.00,318,0
+2006-01-05,19:12:00,3665.00,3666.00,3665.00,3666.00,100,0
+2006-01-05,19:13:00,3665.00,3665.00,3665.00,3665.00,5,0
+2006-01-05,19:14:00,3665.00,3665.00,3665.00,3665.00,67,0
+2006-01-05,19:15:00,3665.00,3665.00,3665.00,3665.00,121,0
+2006-01-05,19:16:00,3665.00,3665.00,3665.00,3665.00,50,0
+2006-01-05,19:17:00,3666.00,3666.00,3666.00,3666.00,6,0
+2006-01-05,19:18:00,3666.00,3667.00,3666.00,3666.00,44,0
+2006-01-05,19:19:00,3666.00,3666.00,3666.00,3666.00,43,0
+2006-01-05,19:20:00,3666.00,3666.00,3665.00,3665.00,118,0
+2006-01-05,19:21:00,3664.00,3664.00,3662.00,3663.00,351,0
+2006-01-05,19:23:00,3664.00,3664.00,3664.00,3664.00,1,0
+2006-01-05,19:24:00,3664.00,3665.00,3664.00,3664.00,43,0
+2006-01-05,19:25:00,3665.00,3665.00,3665.00,3665.00,22,0
+2006-01-05,19:26:00,3665.00,3665.00,3664.00,3664.00,30,0
+2006-01-05,19:27:00,3664.00,3664.00,3664.00,3664.00,35,0
+2006-01-05,19:29:00,3664.00,3664.00,3664.00,3664.00,15,0
+2006-01-05,19:30:00,3665.00,3665.00,3665.00,3665.00,1,0
+2006-01-05,19:31:00,3665.00,3666.00,3665.00,3666.00,54,0
+2006-01-05,19:32:00,3665.00,3665.00,3664.00,3664.00,215,0
+2006-01-05,19:34:00,3665.00,3665.00,3665.00,3665.00,25,0
+2006-01-05,19:35:00,3665.00,3666.00,3665.00,3666.00,42,0
+2006-01-05,19:36:00,3666.00,3666.00,3666.00,3666.00,21,0
+2006-01-05,19:37:00,3666.00,3666.00,3666.00,3666.00,36,0
+2006-01-05,19:38:00,3665.00,3666.00,3665.00,3665.00,74,0
+2006-01-05,19:39:00,3665.00,3665.00,3664.00,3664.00,118,0
+2006-01-05,19:40:00,3664.00,3664.00,3664.00,3664.00,43,0
+2006-01-05,19:42:00,3664.00,3664.00,3663.00,3664.00,82,0
+2006-01-05,19:44:00,3665.00,3665.00,3665.00,3665.00,32,0
+2006-01-05,19:45:00,3665.00,3666.00,3665.00,3665.00,78,0
+2006-01-05,19:47:00,3665.00,3665.00,3664.00,3664.00,13,0
+2006-01-05,19:48:00,3665.00,3666.00,3664.00,3665.00,53,0
+2006-01-05,19:50:00,3664.00,3664.00,3663.00,3664.00,27,0
+2006-01-05,19:51:00,3664.00,3665.00,3664.00,3665.00,34,0
+2006-01-05,19:52:00,3664.00,3664.00,3663.00,3663.00,164,0
+2006-01-05,19:53:00,3663.00,3663.00,3663.00,3663.00,55,0
+2006-01-05,19:54:00,3664.00,3665.00,3664.00,3665.00,346,0
+2006-01-05,19:55:00,3664.00,3664.00,3664.00,3664.00,26,0
+2006-01-05,19:56:00,3665.00,3665.00,3664.00,3664.00,12,0
+2006-01-05,19:57:00,3664.00,3664.00,3663.00,3663.00,200,0
+2006-01-05,19:58:00,3662.00,3664.00,3662.00,3664.00,111,0
+2006-01-05,19:59:00,3664.00,3664.00,3664.00,3664.00,5,0
+2006-01-05,20:00:00,3663.00,3663.00,3663.00,3663.00,104,0
+2006-01-05,20:01:00,3663.00,3663.00,3663.00,3663.00,22,0
+2006-01-05,20:02:00,3663.00,3663.00,3663.00,3663.00,18,0
+2006-01-05,20:03:00,3663.00,3663.00,3663.00,3663.00,79,0
+2006-01-05,20:05:00,3663.00,3663.00,3663.00,3663.00,2,0
+2006-01-05,20:06:00,3664.00,3664.00,3663.00,3663.00,165,0
+2006-01-05,20:07:00,3663.00,3663.00,3663.00,3663.00,18,0
+2006-01-05,20:08:00,3663.00,3663.00,3662.00,3662.00,509,0
+2006-01-05,20:09:00,3663.00,3664.00,3662.00,3662.00,403,0
+2006-01-05,20:10:00,3662.00,3662.00,3662.00,3662.00,285,0
+2006-01-05,20:11:00,3663.00,3665.00,3663.00,3665.00,240,0
+2006-01-05,20:12:00,3664.00,3665.00,3664.00,3665.00,84,0
+2006-01-05,20:13:00,3664.00,3664.00,3664.00,3664.00,40,0
+2006-01-05,20:16:00,3664.00,3664.00,3664.00,3664.00,97,0
+2006-01-05,20:17:00,3664.00,3666.00,3664.00,3665.00,132,0
+2006-01-05,20:19:00,3665.00,3665.00,3665.00,3665.00,11,0
+2006-01-05,20:21:00,3664.00,3664.00,3664.00,3664.00,6,0
+2006-01-05,20:22:00,3664.00,3664.00,3664.00,3664.00,5,0
+2006-01-05,20:23:00,3665.00,3667.00,3665.00,3666.00,156,0
+2006-01-05,20:24:00,3665.00,3665.00,3664.00,3664.00,20,0
+2006-01-05,20:25:00,3664.00,3664.00,3664.00,3664.00,13,0
+2006-01-05,20:26:00,3664.00,3664.00,3662.00,3663.00,86,0
+2006-01-05,20:27:00,3663.00,3663.00,3662.00,3663.00,92,0
+2006-01-05,20:28:00,3663.00,3663.00,3662.00,3662.00,38,0
+2006-01-05,20:29:00,3663.00,3663.00,3662.00,3662.00,299,0
+2006-01-05,20:30:00,3662.00,3662.00,3661.00,3662.00,164,0
+2006-01-05,20:31:00,3663.00,3663.00,3662.00,3662.00,28,0
+2006-01-05,20:32:00,3662.00,3663.00,3662.00,3663.00,28,0
+2006-01-05,20:33:00,3663.00,3663.00,3663.00,3663.00,12,0
+2006-01-05,20:34:00,3663.00,3663.00,3663.00,3663.00,44,0
+2006-01-05,20:35:00,3664.00,3664.00,3664.00,3664.00,8,0
+2006-01-05,20:36:00,3664.00,3664.00,3663.00,3664.00,30,0
+2006-01-05,20:37:00,3664.00,3664.00,3663.00,3663.00,21,0
+2006-01-05,20:38:00,3663.00,3663.00,3663.00,3663.00,6,0
+2006-01-05,20:40:00,3663.00,3663.00,3663.00,3663.00,7,0
+2006-01-05,20:41:00,3664.00,3664.00,3663.00,3663.00,25,0
+2006-01-05,20:42:00,3663.00,3663.00,3663.00,3663.00,5,0
+2006-01-05,20:43:00,3662.00,3663.00,3662.00,3663.00,63,0
+2006-01-05,20:44:00,3663.00,3663.00,3662.00,3662.00,12,0
+2006-01-05,20:46:00,3662.00,3662.00,3661.00,3662.00,201,0
+2006-01-05,20:47:00,3661.00,3662.00,3661.00,3662.00,30,0
+2006-01-05,20:48:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-05,20:49:00,3663.00,3663.00,3663.00,3663.00,15,0
+2006-01-05,20:50:00,3663.00,3663.00,3663.00,3663.00,2,0
+2006-01-05,20:55:00,3663.00,3664.00,3663.00,3664.00,9,0
+2006-01-05,20:56:00,3664.00,3665.00,3664.00,3664.00,23,0
+2006-01-05,20:57:00,3665.00,3665.00,3664.00,3664.00,6,0
+2006-01-05,20:58:00,3664.00,3664.00,3664.00,3664.00,77,0
+2006-01-05,20:59:00,3665.00,3665.00,3665.00,3665.00,21,0
+2006-01-05,21:00:00,3665.00,3665.00,3665.00,3665.00,28,0
+2006-01-05,21:01:00,3664.00,3664.00,3664.00,3664.00,1,0
+2006-01-05,21:02:00,3664.00,3664.00,3664.00,3664.00,8,0
+2006-01-05,21:03:00,3663.00,3663.00,3663.00,3663.00,1,0
+2006-01-05,21:04:00,3663.00,3664.00,3663.00,3664.00,7,0
+2006-01-05,21:05:00,3664.00,3666.00,3664.00,3665.00,42,0
+2006-01-05,21:06:00,3665.00,3665.00,3664.00,3664.00,6,0
+2006-01-05,21:07:00,3664.00,3664.00,3664.00,3664.00,4,0
+2006-01-05,21:08:00,3665.00,3665.00,3664.00,3664.00,90,0
+2006-01-05,21:09:00,3664.00,3664.00,3664.00,3664.00,1,0
+2006-01-05,21:10:00,3663.00,3664.00,3663.00,3664.00,41,0
+2006-01-05,21:11:00,3664.00,3664.00,3664.00,3664.00,8,0
+2006-01-05,21:13:00,3663.00,3663.00,3663.00,3663.00,2,0
+2006-01-05,21:15:00,3664.00,3664.00,3662.00,3662.00,48,0
+2006-01-05,21:16:00,3663.00,3663.00,3663.00,3663.00,20,0
+2006-01-05,21:18:00,3663.00,3663.00,3663.00,3663.00,13,0
+2006-01-05,21:20:00,3664.00,3664.00,3664.00,3664.00,68,0
+2006-01-05,21:21:00,3663.00,3663.00,3663.00,3663.00,3,0
+2006-01-05,21:22:00,3664.00,3664.00,3663.00,3663.00,22,0
+2006-01-05,21:23:00,3663.00,3663.00,3663.00,3663.00,3,0
+2006-01-05,21:25:00,3664.00,3664.00,3664.00,3664.00,1,0
+2006-01-05,21:26:00,3665.00,3665.00,3665.00,3665.00,12,0
+2006-01-05,21:28:00,3664.00,3664.00,3664.00,3664.00,44,0
+2006-01-05,21:31:00,3664.00,3664.00,3664.00,3664.00,1,0
+2006-01-05,21:33:00,3665.00,3665.00,3663.00,3665.00,6,0
+2006-01-05,21:34:00,3665.00,3665.00,3664.00,3664.00,2,0
+2006-01-05,21:35:00,3664.00,3665.00,3664.00,3664.00,97,0
+2006-01-05,21:36:00,3664.00,3664.00,3663.00,3664.00,9,0
+2006-01-05,21:37:00,3665.00,3665.00,3665.00,3665.00,18,0
+2006-01-05,21:38:00,3664.00,3665.00,3664.00,3665.00,17,0
+2006-01-05,21:40:00,3665.00,3665.00,3665.00,3665.00,3,0
+2006-01-05,21:41:00,3665.00,3665.00,3665.00,3665.00,5,0
+2006-01-05,21:42:00,3664.00,3664.00,3664.00,3664.00,2,0
+2006-01-05,21:43:00,3665.00,3665.00,3665.00,3665.00,8,0
+2006-01-05,21:44:00,3665.00,3665.00,3665.00,3665.00,10,0
+2006-01-05,21:45:00,3665.00,3666.00,3665.00,3666.00,8,0
+2006-01-05,21:46:00,3666.00,3666.00,3665.00,3665.00,11,0
+2006-01-05,21:47:00,3665.00,3666.00,3665.00,3665.00,16,0
+2006-01-05,21:48:00,3665.00,3665.00,3665.00,3665.00,2,0
+2006-01-05,21:49:00,3665.00,3666.00,3665.00,3666.00,9,0
+2006-01-05,21:50:00,3665.00,3665.00,3665.00,3665.00,10,0
+2006-01-05,21:51:00,3665.00,3665.00,3665.00,3665.00,8,0
+2006-01-05,21:52:00,3665.00,3665.00,3664.00,3664.00,57,0
+2006-01-05,21:53:00,3663.00,3663.00,3663.00,3663.00,87,0
+2006-01-05,21:54:00,3663.00,3663.00,3662.00,3663.00,50,0
+2006-01-05,21:55:00,3663.00,3663.00,3663.00,3663.00,190,0
+2006-01-05,21:56:00,3664.00,3664.00,3662.00,3662.00,37,0
+2006-01-05,21:57:00,3662.00,3662.00,3662.00,3662.00,10,0
+2006-01-05,21:58:00,3663.00,3663.00,3662.00,3663.00,10,0
+2006-01-05,21:59:00,3663.00,3663.00,3662.00,3663.00,537,0
+2006-01-05,22:00:00,3662.00,3664.00,3662.00,3662.00,637,0
+2006-01-06,09:01:00,3667.00,3668.00,3665.00,3667.00,3257,0
+2006-01-06,09:02:00,3667.00,3667.00,3666.00,3667.00,242,0
+2006-01-06,09:03:00,3668.00,3668.00,3666.00,3667.00,1235,0
+2006-01-06,09:04:00,3667.00,3667.00,3666.00,3667.00,1257,0
+2006-01-06,09:05:00,3667.00,3669.00,3667.00,3668.00,888,0
+2006-01-06,09:06:00,3669.00,3669.00,3668.00,3668.00,559,0
+2006-01-06,09:07:00,3669.00,3669.00,3668.00,3669.00,71,0
+2006-01-06,09:08:00,3668.00,3668.00,3666.00,3667.00,891,0
+2006-01-06,09:09:00,3668.00,3668.00,3666.00,3667.00,506,0
+2006-01-06,09:10:00,3666.00,3667.00,3665.00,3666.00,465,0
+2006-01-06,09:11:00,3666.00,3666.00,3666.00,3666.00,148,0
+2006-01-06,09:12:00,3666.00,3666.00,3666.00,3666.00,744,0
+2006-01-06,09:13:00,3666.00,3667.00,3665.00,3666.00,852,0
+2006-01-06,09:14:00,3667.00,3668.00,3666.00,3668.00,345,0
+2006-01-06,09:15:00,3668.00,3668.00,3667.00,3667.00,26,0
+2006-01-06,09:16:00,3667.00,3668.00,3667.00,3668.00,48,0
+2006-01-06,09:17:00,3667.00,3668.00,3666.00,3666.00,1013,0
+2006-01-06,09:18:00,3666.00,3667.00,3665.00,3665.00,393,0
+2006-01-06,09:19:00,3665.00,3665.00,3664.00,3665.00,1062,0
+2006-01-06,09:20:00,3665.00,3665.00,3663.00,3664.00,1043,0
+2006-01-06,09:21:00,3663.00,3664.00,3662.00,3663.00,653,0
+2006-01-06,09:22:00,3664.00,3665.00,3664.00,3664.00,435,0
+2006-01-06,09:23:00,3663.00,3664.00,3663.00,3664.00,460,0
+2006-01-06,09:24:00,3664.00,3665.00,3664.00,3665.00,292,0
+2006-01-06,09:25:00,3666.00,3666.00,3664.00,3664.00,142,0
+2006-01-06,09:26:00,3665.00,3665.00,3664.00,3664.00,49,0
+2006-01-06,09:27:00,3665.00,3665.00,3664.00,3665.00,703,0
+2006-01-06,09:28:00,3665.00,3666.00,3665.00,3666.00,134,0
+2006-01-06,09:29:00,3666.00,3666.00,3665.00,3665.00,322,0
+2006-01-06,09:30:00,3665.00,3666.00,3665.00,3665.00,59,0
+2006-01-06,09:31:00,3665.00,3666.00,3665.00,3665.00,164,0
+2006-01-06,09:32:00,3666.00,3666.00,3665.00,3666.00,104,0
+2006-01-06,09:33:00,3665.00,3666.00,3665.00,3665.00,122,0
+2006-01-06,09:34:00,3665.00,3665.00,3662.00,3663.00,1495,0
+2006-01-06,09:35:00,3664.00,3665.00,3663.00,3664.00,828,0
+2006-01-06,09:36:00,3664.00,3664.00,3663.00,3664.00,205,0
+2006-01-06,09:37:00,3664.00,3665.00,3664.00,3665.00,340,0
+2006-01-06,09:38:00,3665.00,3665.00,3665.00,3665.00,7,0
+2006-01-06,09:39:00,3664.00,3665.00,3664.00,3664.00,51,0
+2006-01-06,09:40:00,3664.00,3665.00,3664.00,3664.00,58,0
+2006-01-06,09:41:00,3665.00,3665.00,3664.00,3665.00,281,0
+2006-01-06,09:42:00,3664.00,3665.00,3664.00,3664.00,190,0
+2006-01-06,09:43:00,3664.00,3664.00,3663.00,3664.00,245,0
+2006-01-06,09:44:00,3664.00,3664.00,3663.00,3663.00,44,0
+2006-01-06,09:45:00,3663.00,3664.00,3662.00,3663.00,384,0
+2006-01-06,09:46:00,3662.00,3663.00,3662.00,3663.00,322,0
+2006-01-06,09:48:00,3663.00,3664.00,3662.00,3663.00,1086,0
+2006-01-06,09:49:00,3663.00,3664.00,3663.00,3663.00,644,0
+2006-01-06,09:50:00,3664.00,3665.00,3663.00,3664.00,585,0
+2006-01-06,09:51:00,3664.00,3665.00,3664.00,3664.00,177,0
+2006-01-06,09:52:00,3664.00,3665.00,3663.00,3663.00,402,0
+2006-01-06,09:53:00,3664.00,3665.00,3663.00,3665.00,347,0
+2006-01-06,09:54:00,3664.00,3666.00,3663.00,3663.00,527,0
+2006-01-06,09:55:00,3664.00,3665.00,3664.00,3664.00,373,0
+2006-01-06,09:56:00,3664.00,3665.00,3664.00,3665.00,10,0
+2006-01-06,09:57:00,3665.00,3665.00,3663.00,3663.00,299,0
+2006-01-06,09:58:00,3663.00,3664.00,3663.00,3664.00,40,0
+2006-01-06,09:59:00,3664.00,3664.00,3662.00,3663.00,263,0
+2006-01-06,10:00:00,3663.00,3664.00,3662.00,3662.00,220,0
+2006-01-06,10:01:00,3662.00,3663.00,3661.00,3661.00,794,0
+2006-01-06,10:02:00,3661.00,3662.00,3661.00,3662.00,179,0
+2006-01-06,10:03:00,3662.00,3664.00,3662.00,3664.00,1243,0
+2006-01-06,10:04:00,3664.00,3664.00,3663.00,3664.00,65,0
+2006-01-06,10:05:00,3664.00,3665.00,3664.00,3664.00,317,0
+2006-01-06,10:06:00,3663.00,3664.00,3663.00,3664.00,595,0
+2006-01-06,10:07:00,3664.00,3664.00,3663.00,3664.00,280,0
+2006-01-06,10:08:00,3664.00,3665.00,3664.00,3665.00,830,0
+2006-01-06,10:09:00,3665.00,3665.00,3665.00,3665.00,31,0
+2006-01-06,10:10:00,3665.00,3665.00,3665.00,3665.00,1,0
+2006-01-06,10:11:00,3664.00,3665.00,3664.00,3665.00,193,0
+2006-01-06,10:12:00,3665.00,3665.00,3664.00,3664.00,97,0
+2006-01-06,10:13:00,3665.00,3665.00,3664.00,3664.00,60,0
+2006-01-06,10:14:00,3664.00,3665.00,3663.00,3663.00,444,0
+2006-01-06,10:15:00,3664.00,3664.00,3663.00,3663.00,333,0
+2006-01-06,10:16:00,3663.00,3665.00,3663.00,3665.00,1394,0
+2006-01-06,10:17:00,3664.00,3665.00,3664.00,3665.00,56,0
+2006-01-06,10:18:00,3665.00,3666.00,3665.00,3666.00,519,0
+2006-01-06,10:19:00,3666.00,3666.00,3665.00,3666.00,666,0
+2006-01-06,10:20:00,3666.00,3666.00,3666.00,3666.00,110,0
+2006-01-06,10:21:00,3666.00,3666.00,3665.00,3666.00,128,0
+2006-01-06,10:22:00,3666.00,3666.00,3665.00,3666.00,410,0
+2006-01-06,10:23:00,3666.00,3666.00,3663.00,3663.00,1005,0
+2006-01-06,10:24:00,3664.00,3665.00,3664.00,3664.00,242,0
+2006-01-06,10:25:00,3664.00,3664.00,3663.00,3663.00,612,0
+2006-01-06,10:26:00,3663.00,3665.00,3663.00,3665.00,168,0
+2006-01-06,10:27:00,3665.00,3665.00,3663.00,3664.00,364,0
+2006-01-06,10:28:00,3665.00,3665.00,3665.00,3665.00,3,0
+2006-01-06,10:29:00,3665.00,3665.00,3664.00,3664.00,21,0
+2006-01-06,10:30:00,3664.00,3665.00,3664.00,3665.00,2,0
+2006-01-06,10:31:00,3664.00,3665.00,3664.00,3664.00,364,0
+2006-01-06,10:32:00,3663.00,3664.00,3663.00,3664.00,181,0
+2006-01-06,10:35:00,3665.00,3665.00,3665.00,3665.00,1157,0
+2006-01-06,10:37:00,3665.00,3665.00,3664.00,3664.00,149,0
+2006-01-06,10:39:00,3665.00,3666.00,3665.00,3665.00,548,0
+2006-01-06,10:40:00,3666.00,3668.00,3666.00,3667.00,1252,0
+2006-01-06,10:41:00,3667.00,3668.00,3667.00,3668.00,253,0
+2006-01-06,10:42:00,3668.00,3668.00,3667.00,3667.00,193,0
+2006-01-06,10:43:00,3668.00,3668.00,3667.00,3667.00,77,0
+2006-01-06,10:44:00,3668.00,3668.00,3667.00,3668.00,121,0
+2006-01-06,10:45:00,3668.00,3668.00,3667.00,3667.00,26,0
+2006-01-06,10:46:00,3668.00,3668.00,3667.00,3668.00,6,0
+2006-01-06,10:47:00,3668.00,3669.00,3667.00,3668.00,554,0
+2006-01-06,10:48:00,3668.00,3668.00,3667.00,3667.00,500,0
+2006-01-06,10:49:00,3667.00,3667.00,3667.00,3667.00,73,0
+2006-01-06,10:50:00,3667.00,3668.00,3667.00,3667.00,134,0
+2006-01-06,10:51:00,3667.00,3667.00,3667.00,3667.00,3,0
+2006-01-06,10:52:00,3668.00,3668.00,3667.00,3667.00,286,0
+2006-01-06,10:53:00,3667.00,3667.00,3667.00,3667.00,508,0
+2006-01-06,10:54:00,3666.00,3667.00,3666.00,3667.00,70,0
+2006-01-06,10:55:00,3667.00,3667.00,3666.00,3667.00,22,0
+2006-01-06,10:56:00,3667.00,3667.00,3666.00,3667.00,134,0
+2006-01-06,10:57:00,3668.00,3668.00,3667.00,3667.00,101,0
+2006-01-06,10:58:00,3668.00,3668.00,3667.00,3668.00,37,0
+2006-01-06,10:59:00,3667.00,3667.00,3667.00,3667.00,11,0
+2006-01-06,11:00:00,3667.00,3668.00,3667.00,3667.00,221,0
+2006-01-06,11:01:00,3668.00,3668.00,3667.00,3667.00,112,0
+2006-01-06,11:02:00,3667.00,3669.00,3667.00,3668.00,216,0
+2006-01-06,11:03:00,3668.00,3668.00,3667.00,3668.00,322,0
+2006-01-06,11:04:00,3668.00,3668.00,3667.00,3668.00,292,0
+2006-01-06,11:05:00,3667.00,3668.00,3667.00,3667.00,142,0
+2006-01-06,11:06:00,3667.00,3668.00,3667.00,3668.00,448,0
+2006-01-06,11:07:00,3668.00,3668.00,3667.00,3667.00,78,0
+2006-01-06,11:08:00,3667.00,3667.00,3667.00,3667.00,335,0
+2006-01-06,11:09:00,3666.00,3667.00,3666.00,3667.00,220,0
+2006-01-06,11:10:00,3667.00,3667.00,3667.00,3667.00,27,0
+2006-01-06,11:11:00,3666.00,3666.00,3666.00,3666.00,226,0
+2006-01-06,11:12:00,3666.00,3667.00,3666.00,3666.00,188,0
+2006-01-06,11:13:00,3666.00,3666.00,3665.00,3666.00,2157,0
+2006-01-06,11:14:00,3667.00,3668.00,3667.00,3668.00,429,0
+2006-01-06,11:15:00,3668.00,3668.00,3668.00,3668.00,5,0
+2006-01-06,11:16:00,3667.00,3668.00,3667.00,3668.00,29,0
+2006-01-06,11:17:00,3668.00,3668.00,3667.00,3667.00,101,0
+2006-01-06,11:18:00,3668.00,3668.00,3668.00,3668.00,1,0
+2006-01-06,11:19:00,3667.00,3667.00,3667.00,3667.00,224,0
+2006-01-06,11:20:00,3667.00,3667.00,3667.00,3667.00,430,0
+2006-01-06,11:21:00,3667.00,3667.00,3667.00,3667.00,3,0
+2006-01-06,11:22:00,3668.00,3668.00,3667.00,3667.00,1509,0
+2006-01-06,11:23:00,3668.00,3668.00,3667.00,3668.00,134,0
+2006-01-06,11:24:00,3667.00,3668.00,3667.00,3668.00,13,0
+2006-01-06,11:25:00,3668.00,3668.00,3668.00,3668.00,20,0
+2006-01-06,11:26:00,3668.00,3669.00,3668.00,3668.00,353,0
+2006-01-06,11:27:00,3668.00,3669.00,3668.00,3669.00,52,0
+2006-01-06,11:28:00,3669.00,3670.00,3669.00,3669.00,836,0
+2006-01-06,11:29:00,3670.00,3671.00,3669.00,3670.00,1009,0
+2006-01-06,11:30:00,3670.00,3671.00,3670.00,3670.00,512,0
+2006-01-06,11:31:00,3670.00,3672.00,3670.00,3671.00,1084,0
+2006-01-06,11:32:00,3671.00,3672.00,3671.00,3672.00,492,0
+2006-01-06,11:33:00,3672.00,3672.00,3671.00,3671.00,759,0
+2006-01-06,11:34:00,3671.00,3671.00,3671.00,3671.00,775,0
+2006-01-06,11:35:00,3671.00,3671.00,3670.00,3671.00,322,0
+2006-01-06,11:36:00,3670.00,3671.00,3670.00,3671.00,252,0
+2006-01-06,11:37:00,3671.00,3671.00,3670.00,3671.00,432,0
+2006-01-06,11:38:00,3672.00,3672.00,3671.00,3671.00,153,0
+2006-01-06,11:39:00,3671.00,3671.00,3671.00,3671.00,952,0
+2006-01-06,11:40:00,3671.00,3671.00,3671.00,3671.00,16,0
+2006-01-06,11:41:00,3671.00,3671.00,3671.00,3671.00,122,0
+2006-01-06,11:42:00,3671.00,3671.00,3671.00,3671.00,23,0
+2006-01-06,11:43:00,3671.00,3672.00,3671.00,3671.00,155,0
+2006-01-06,11:44:00,3671.00,3671.00,3671.00,3671.00,40,0
+2006-01-06,11:45:00,3671.00,3671.00,3671.00,3671.00,7,0
+2006-01-06,11:46:00,3671.00,3671.00,3670.00,3671.00,247,0
+2006-01-06,11:47:00,3671.00,3671.00,3670.00,3670.00,455,0
+2006-01-06,11:48:00,3671.00,3671.00,3671.00,3671.00,1,0
+2006-01-06,11:49:00,3670.00,3671.00,3670.00,3671.00,128,0
+2006-01-06,11:50:00,3670.00,3670.00,3670.00,3670.00,1,0
+2006-01-06,11:51:00,3671.00,3671.00,3670.00,3670.00,619,0
+2006-01-06,11:52:00,3670.00,3670.00,3670.00,3670.00,155,0
+2006-01-06,11:53:00,3671.00,3671.00,3670.00,3671.00,66,0
+2006-01-06,11:54:00,3671.00,3671.00,3670.00,3670.00,21,0
+2006-01-06,11:55:00,3671.00,3671.00,3671.00,3671.00,338,0
+2006-01-06,11:56:00,3671.00,3672.00,3671.00,3671.00,18,0
+2006-01-06,11:57:00,3671.00,3672.00,3671.00,3671.00,315,0
+2006-01-06,11:58:00,3671.00,3671.00,3671.00,3671.00,152,0
+2006-01-06,11:59:00,3671.00,3672.00,3671.00,3671.00,126,0
+2006-01-06,12:00:00,3671.00,3672.00,3671.00,3671.00,207,0
+2006-01-06,12:01:00,3670.00,3671.00,3670.00,3671.00,195,0
+2006-01-06,12:02:00,3671.00,3671.00,3671.00,3671.00,16,0
+2006-01-06,12:03:00,3671.00,3671.00,3670.00,3670.00,17,0
+2006-01-06,12:04:00,3670.00,3671.00,3670.00,3670.00,67,0
+2006-01-06,12:05:00,3670.00,3671.00,3670.00,3671.00,123,0
+2006-01-06,12:06:00,3670.00,3670.00,3670.00,3670.00,14,0
+2006-01-06,12:07:00,3671.00,3671.00,3671.00,3671.00,456,0
+2006-01-06,12:08:00,3671.00,3671.00,3671.00,3671.00,19,0
+2006-01-06,12:09:00,3671.00,3671.00,3671.00,3671.00,85,0
+2006-01-06,12:10:00,3671.00,3671.00,3671.00,3671.00,24,0
+2006-01-06,12:11:00,3671.00,3671.00,3671.00,3671.00,3,0
+2006-01-06,12:12:00,3670.00,3670.00,3670.00,3670.00,3,0
+2006-01-06,12:13:00,3671.00,3671.00,3670.00,3670.00,367,0
+2006-01-06,12:14:00,3670.00,3670.00,3670.00,3670.00,443,0
+2006-01-06,12:15:00,3670.00,3671.00,3670.00,3671.00,135,0
+2006-01-06,12:16:00,3670.00,3670.00,3670.00,3670.00,912,0
+2006-01-06,12:17:00,3671.00,3671.00,3671.00,3671.00,1,0
+2006-01-06,12:18:00,3670.00,3670.00,3670.00,3670.00,77,0
+2006-01-06,12:20:00,3670.00,3670.00,3670.00,3670.00,179,0
+2006-01-06,12:21:00,3671.00,3671.00,3670.00,3671.00,42,0
+2006-01-06,12:22:00,3671.00,3671.00,3670.00,3670.00,179,0
+2006-01-06,12:23:00,3671.00,3671.00,3670.00,3670.00,53,0
+2006-01-06,12:24:00,3670.00,3670.00,3670.00,3670.00,98,0
+2006-01-06,12:25:00,3670.00,3670.00,3670.00,3670.00,90,0
+2006-01-06,12:26:00,3670.00,3671.00,3670.00,3671.00,346,0
+2006-01-06,12:27:00,3671.00,3671.00,3670.00,3671.00,17,0
+2006-01-06,12:28:00,3670.00,3670.00,3670.00,3670.00,142,0
+2006-01-06,12:29:00,3670.00,3670.00,3670.00,3670.00,56,0
+2006-01-06,12:30:00,3671.00,3671.00,3670.00,3670.00,134,0
+2006-01-06,12:31:00,3670.00,3671.00,3670.00,3670.00,336,0
+2006-01-06,12:32:00,3670.00,3671.00,3670.00,3671.00,818,0
+2006-01-06,12:33:00,3671.00,3671.00,3671.00,3671.00,31,0
+2006-01-06,12:34:00,3670.00,3670.00,3669.00,3669.00,984,0
+2006-01-06,12:35:00,3669.00,3669.00,3669.00,3669.00,448,0
+2006-01-06,12:36:00,3669.00,3669.00,3669.00,3669.00,3,0
+2006-01-06,12:37:00,3669.00,3670.00,3669.00,3670.00,590,0
+2006-01-06,12:38:00,3670.00,3670.00,3670.00,3670.00,103,0
+2006-01-06,12:39:00,3670.00,3670.00,3670.00,3670.00,1483,0
+2006-01-06,12:40:00,3670.00,3670.00,3669.00,3670.00,205,0
+2006-01-06,12:42:00,3670.00,3670.00,3670.00,3670.00,1,0
+2006-01-06,12:43:00,3670.00,3670.00,3669.00,3670.00,1771,0
+2006-01-06,12:44:00,3670.00,3670.00,3669.00,3669.00,451,0
+2006-01-06,12:45:00,3670.00,3670.00,3670.00,3670.00,98,0
+2006-01-06,12:46:00,3669.00,3670.00,3669.00,3670.00,816,0
+2006-01-06,12:47:00,3669.00,3670.00,3669.00,3670.00,2,0
+2006-01-06,12:48:00,3670.00,3671.00,3670.00,3671.00,239,0
+2006-01-06,12:49:00,3671.00,3671.00,3670.00,3670.00,134,0
+2006-01-06,12:50:00,3670.00,3671.00,3670.00,3671.00,170,0
+2006-01-06,12:51:00,3670.00,3671.00,3670.00,3671.00,2,0
+2006-01-06,12:52:00,3670.00,3671.00,3670.00,3671.00,3,0
+2006-01-06,12:53:00,3670.00,3671.00,3670.00,3671.00,17,0
+2006-01-06,12:54:00,3671.00,3671.00,3671.00,3671.00,3,0
+2006-01-06,12:55:00,3670.00,3671.00,3670.00,3670.00,279,0
+2006-01-06,12:56:00,3671.00,3671.00,3671.00,3671.00,14,0
+2006-01-06,12:57:00,3670.00,3671.00,3670.00,3671.00,5249,0
+2006-01-06,12:58:00,3671.00,3672.00,3671.00,3671.00,76,0
+2006-01-06,12:59:00,3671.00,3671.00,3671.00,3671.00,6564,0
+2006-01-06,13:00:00,3671.00,3671.00,3671.00,3671.00,9,0
+2006-01-06,13:01:00,3670.00,3671.00,3670.00,3671.00,202,0
+2006-01-06,13:02:00,3671.00,3671.00,3670.00,3670.00,11,0
+2006-01-06,13:03:00,3671.00,3671.00,3670.00,3670.00,217,0
+2006-01-06,13:04:00,3670.00,3670.00,3670.00,3670.00,109,0
+2006-01-06,13:05:00,3670.00,3671.00,3670.00,3670.00,66,0
+2006-01-06,13:06:00,3670.00,3670.00,3670.00,3670.00,1823,0
+2006-01-06,13:08:00,3670.00,3670.00,3670.00,3670.00,214,0
+2006-01-06,13:09:00,3670.00,3670.00,3670.00,3670.00,36,0
+2006-01-06,13:10:00,3670.00,3671.00,3670.00,3671.00,2525,0
+2006-01-06,13:11:00,3670.00,3671.00,3670.00,3670.00,424,0
+2006-01-06,13:12:00,3670.00,3671.00,3670.00,3670.00,243,0
+2006-01-06,13:13:00,3670.00,3670.00,3670.00,3670.00,43,0
+2006-01-06,13:14:00,3670.00,3670.00,3670.00,3670.00,10,0
+2006-01-06,13:15:00,3670.00,3670.00,3669.00,3670.00,59,0
+2006-01-06,13:16:00,3670.00,3671.00,3670.00,3670.00,4048,0
+2006-01-06,13:17:00,3671.00,3671.00,3671.00,3671.00,4551,0
+2006-01-06,13:18:00,3671.00,3671.00,3671.00,3671.00,251,0
+2006-01-06,13:19:00,3671.00,3671.00,3671.00,3671.00,18,0
+2006-01-06,13:20:00,3671.00,3671.00,3671.00,3671.00,176,0
+2006-01-06,13:21:00,3670.00,3670.00,3670.00,3670.00,366,0
+2006-01-06,13:22:00,3671.00,3671.00,3671.00,3671.00,5222,0
+2006-01-06,13:23:00,3672.00,3672.00,3671.00,3671.00,503,0
+2006-01-06,13:24:00,3672.00,3674.00,3672.00,3674.00,1878,0
+2006-01-06,13:25:00,3673.00,3676.00,3673.00,3675.00,3185,0
+2006-01-06,13:26:00,3675.00,3677.00,3675.00,3676.00,1115,0
+2006-01-06,13:27:00,3676.00,3678.00,3676.00,3677.00,1965,0
+2006-01-06,13:28:00,3678.00,3678.00,3677.00,3677.00,762,0
+2006-01-06,13:29:00,3677.00,3678.00,3675.00,3678.00,1284,0
+2006-01-06,13:30:00,3677.00,3679.00,3677.00,3678.00,1861,0
+2006-01-06,13:31:00,3677.00,3680.00,3677.00,3679.00,1638,0
+2006-01-06,13:32:00,3679.00,3682.00,3679.00,3680.00,2712,0
+2006-01-06,13:33:00,3680.00,3680.00,3677.00,3677.00,756,0
+2006-01-06,13:34:00,3677.00,3678.00,3677.00,3678.00,543,0
+2006-01-06,13:35:00,3677.00,3678.00,3677.00,3677.00,468,0
+2006-01-06,13:36:00,3677.00,3678.00,3677.00,3677.00,44,0
+2006-01-06,13:38:00,3677.00,3678.00,3677.00,3677.00,164,0
+2006-01-06,13:39:00,3677.00,3677.00,3676.00,3677.00,303,0
+2006-01-06,13:40:00,3677.00,3677.00,3677.00,3677.00,103,0
+2006-01-06,13:41:00,3677.00,3678.00,3677.00,3678.00,31,0
+2006-01-06,13:42:00,3678.00,3678.00,3677.00,3677.00,157,0
+2006-01-06,13:43:00,3677.00,3677.00,3676.00,3677.00,135,0
+2006-01-06,13:44:00,3676.00,3677.00,3676.00,3677.00,308,0
+2006-01-06,13:45:00,3677.00,3677.00,3677.00,3677.00,345,0
+2006-01-06,13:46:00,3676.00,3677.00,3676.00,3677.00,706,0
+2006-01-06,13:47:00,3677.00,3677.00,3677.00,3677.00,502,0
+2006-01-06,13:48:00,3676.00,3676.00,3676.00,3676.00,409,0
+2006-01-06,13:50:00,3676.00,3676.00,3676.00,3676.00,6,0
+2006-01-06,13:51:00,3676.00,3676.00,3676.00,3676.00,1,0
+2006-01-06,13:52:00,3676.00,3677.00,3676.00,3676.00,33,0
+2006-01-06,13:53:00,3676.00,3677.00,3676.00,3677.00,31,0
+2006-01-06,13:54:00,3676.00,3676.00,3676.00,3676.00,3752,0
+2006-01-06,13:55:00,3677.00,3677.00,3677.00,3677.00,452,0
+2006-01-06,13:56:00,3677.00,3678.00,3677.00,3677.00,164,0
+2006-01-06,13:57:00,3678.00,3678.00,3677.00,3677.00,321,0
+2006-01-06,13:58:00,3678.00,3679.00,3678.00,3678.00,349,0
+2006-01-06,13:59:00,3678.00,3679.00,3678.00,3678.00,96,0
+2006-01-06,14:00:00,3678.00,3678.00,3678.00,3678.00,48,0
+2006-01-06,14:01:00,3678.00,3679.00,3678.00,3678.00,529,0
+2006-01-06,14:02:00,3679.00,3679.00,3678.00,3678.00,119,0
+2006-01-06,14:03:00,3679.00,3679.00,3678.00,3678.00,6,0
+2006-01-06,14:04:00,3679.00,3680.00,3679.00,3679.00,469,0
+2006-01-06,14:05:00,3679.00,3679.00,3677.00,3678.00,182,0
+2006-01-06,14:06:00,3678.00,3679.00,3678.00,3678.00,234,0
+2006-01-06,14:07:00,3677.00,3678.00,3677.00,3678.00,29,0
+2006-01-06,14:08:00,3678.00,3678.00,3678.00,3678.00,96,0
+2006-01-06,14:09:00,3677.00,3678.00,3677.00,3678.00,1104,0
+2006-01-06,14:10:00,3678.00,3678.00,3678.00,3678.00,40,0
+2006-01-06,14:11:00,3678.00,3678.00,3677.00,3678.00,309,0
+2006-01-06,14:12:00,3677.00,3678.00,3677.00,3678.00,4,0
+2006-01-06,14:13:00,3678.00,3679.00,3678.00,3679.00,297,0
+2006-01-06,14:14:00,3679.00,3679.00,3679.00,3679.00,535,0
+2006-01-06,14:15:00,3679.00,3682.00,3679.00,3681.00,1430,0
+2006-01-06,14:16:00,3681.00,3682.00,3680.00,3681.00,1278,0
+2006-01-06,14:17:00,3682.00,3682.00,3681.00,3682.00,416,0
+2006-01-06,14:18:00,3681.00,3681.00,3680.00,3680.00,370,0
+2006-01-06,14:19:00,3680.00,3683.00,3680.00,3683.00,685,0
+2006-01-06,14:20:00,3683.00,3684.00,3681.00,3681.00,1426,0
+2006-01-06,14:21:00,3681.00,3682.00,3681.00,3681.00,654,0
+2006-01-06,14:22:00,3681.00,3681.00,3681.00,3681.00,387,0
+2006-01-06,14:23:00,3682.00,3682.00,3681.00,3682.00,202,0
+2006-01-06,14:24:00,3682.00,3682.00,3681.00,3682.00,651,0
+2006-01-06,14:25:00,3681.00,3682.00,3681.00,3681.00,163,0
+2006-01-06,14:26:00,3682.00,3682.00,3681.00,3681.00,331,0
+2006-01-06,14:27:00,3681.00,3683.00,3681.00,3682.00,540,0
+2006-01-06,14:28:00,3683.00,3683.00,3681.00,3681.00,524,0
+2006-01-06,14:29:00,3682.00,3683.00,3681.00,3681.00,539,0
+2006-01-06,14:30:00,3682.00,3682.00,3680.00,3681.00,1064,0
+2006-01-06,14:31:00,3680.00,3681.00,3674.00,3680.00,11595,0
+2006-01-06,14:32:00,3680.00,3684.00,3680.00,3683.00,4072,0
+2006-01-06,14:33:00,3684.00,3684.00,3681.00,3681.00,2281,0
+2006-01-06,14:34:00,3680.00,3681.00,3679.00,3681.00,1420,0
+2006-01-06,14:35:00,3680.00,3681.00,3678.00,3678.00,3101,0
+2006-01-06,14:36:00,3678.00,3679.00,3677.00,3679.00,1414,0
+2006-01-06,14:37:00,3679.00,3679.00,3677.00,3677.00,433,0
+2006-01-06,14:38:00,3678.00,3679.00,3678.00,3679.00,515,0
+2006-01-06,14:39:00,3679.00,3679.00,3675.00,3675.00,1945,0
+2006-01-06,14:40:00,3675.00,3675.00,3673.00,3674.00,1849,0
+2006-01-06,14:41:00,3674.00,3676.00,3673.00,3674.00,1479,0
+2006-01-06,14:42:00,3675.00,3676.00,3674.00,3675.00,1058,0
+2006-01-06,14:43:00,3674.00,3674.00,3672.00,3673.00,3054,0
+2006-01-06,14:44:00,3673.00,3674.00,3673.00,3673.00,773,0
+2006-01-06,14:45:00,3673.00,3674.00,3673.00,3673.00,311,0
+2006-01-06,14:46:00,3673.00,3673.00,3672.00,3673.00,1338,0
+2006-01-06,14:47:00,3674.00,3675.00,3673.00,3674.00,855,0
+2006-01-06,14:48:00,3674.00,3675.00,3673.00,3673.00,482,0
+2006-01-06,14:49:00,3673.00,3674.00,3672.00,3672.00,930,0
+2006-01-06,14:50:00,3673.00,3675.00,3672.00,3674.00,468,0
+2006-01-06,14:51:00,3674.00,3675.00,3673.00,3674.00,3048,0
+2006-01-06,14:52:00,3673.00,3674.00,3673.00,3674.00,457,0
+2006-01-06,14:53:00,3674.00,3676.00,3674.00,3676.00,506,0
+2006-01-06,14:54:00,3675.00,3676.00,3675.00,3676.00,926,0
+2006-01-06,14:55:00,3676.00,3677.00,3676.00,3677.00,682,0
+2006-01-06,14:56:00,3678.00,3679.00,3677.00,3678.00,2604,0
+2006-01-06,14:57:00,3679.00,3679.00,3678.00,3678.00,144,0
+2006-01-06,14:58:00,3678.00,3679.00,3677.00,3678.00,768,0
+2006-01-06,14:59:00,3679.00,3681.00,3678.00,3681.00,1996,0
+2006-01-06,15:00:00,3681.00,3683.00,3680.00,3683.00,2119,0
+2006-01-06,15:01:00,3683.00,3684.00,3682.00,3682.00,2211,0
+2006-01-06,15:02:00,3683.00,3683.00,3681.00,3681.00,612,0
+2006-01-06,15:03:00,3682.00,3682.00,3681.00,3682.00,104,0
+2006-01-06,15:04:00,3681.00,3681.00,3680.00,3680.00,738,0
+2006-01-06,15:05:00,3681.00,3681.00,3680.00,3681.00,309,0
+2006-01-06,15:06:00,3680.00,3681.00,3679.00,3679.00,777,0
+2006-01-06,15:07:00,3679.00,3680.00,3679.00,3679.00,69,0
+2006-01-06,15:08:00,3679.00,3679.00,3678.00,3679.00,747,0
+2006-01-06,15:09:00,3678.00,3678.00,3677.00,3677.00,534,0
+2006-01-06,15:10:00,3678.00,3679.00,3678.00,3678.00,333,0
+2006-01-06,15:11:00,3678.00,3678.00,3677.00,3677.00,236,0
+2006-01-06,15:12:00,3678.00,3678.00,3675.00,3676.00,1243,0
+2006-01-06,15:13:00,3676.00,3676.00,3675.00,3676.00,403,0
+2006-01-06,15:14:00,3677.00,3677.00,3676.00,3677.00,245,0
+2006-01-06,15:15:00,3677.00,3677.00,3677.00,3677.00,107,0
+2006-01-06,15:16:00,3677.00,3678.00,3677.00,3677.00,560,0
+2006-01-06,15:17:00,3677.00,3677.00,3677.00,3677.00,493,0
+2006-01-06,15:18:00,3678.00,3678.00,3677.00,3678.00,113,0
+2006-01-06,15:19:00,3678.00,3678.00,3677.00,3677.00,394,0
+2006-01-06,15:20:00,3677.00,3677.00,3677.00,3677.00,17,0
+2006-01-06,15:21:00,3678.00,3679.00,3677.00,3679.00,226,0
+2006-01-06,15:22:00,3679.00,3679.00,3677.00,3678.00,293,0
+2006-01-06,15:23:00,3678.00,3679.00,3677.00,3678.00,650,0
+2006-01-06,15:24:00,3678.00,3678.00,3678.00,3678.00,646,0
+2006-01-06,15:25:00,3679.00,3679.00,3678.00,3679.00,271,0
+2006-01-06,15:26:00,3679.00,3679.00,3678.00,3679.00,24,0
+2006-01-06,15:27:00,3679.00,3679.00,3678.00,3679.00,681,0
+2006-01-06,15:28:00,3679.00,3679.00,3679.00,3679.00,56,0
+2006-01-06,15:29:00,3679.00,3679.00,3679.00,3679.00,161,0
+2006-01-06,15:30:00,3680.00,3680.00,3679.00,3679.00,226,0
+2006-01-06,15:31:00,3678.00,3679.00,3678.00,3679.00,711,0
+2006-01-06,15:32:00,3679.00,3681.00,3679.00,3681.00,1585,0
+2006-01-06,15:33:00,3681.00,3682.00,3680.00,3681.00,764,0
+2006-01-06,15:34:00,3680.00,3682.00,3680.00,3681.00,781,0
+2006-01-06,15:35:00,3681.00,3682.00,3681.00,3681.00,199,0
+2006-01-06,15:36:00,3681.00,3681.00,3680.00,3680.00,291,0
+2006-01-06,15:37:00,3680.00,3680.00,3677.00,3678.00,1653,0
+2006-01-06,15:38:00,3677.00,3679.00,3677.00,3678.00,1052,0
+2006-01-06,15:39:00,3678.00,3678.00,3677.00,3677.00,265,0
+2006-01-06,15:40:00,3677.00,3677.00,3675.00,3675.00,1169,0
+2006-01-06,15:41:00,3675.00,3675.00,3673.00,3673.00,2078,0
+2006-01-06,15:42:00,3673.00,3675.00,3673.00,3674.00,755,0
+2006-01-06,15:43:00,3675.00,3675.00,3673.00,3674.00,844,0
+2006-01-06,15:44:00,3675.00,3675.00,3674.00,3674.00,730,0
+2006-01-06,15:45:00,3674.00,3675.00,3674.00,3675.00,1362,0
+2006-01-06,15:46:00,3674.00,3675.00,3673.00,3673.00,1972,0
+2006-01-06,15:47:00,3673.00,3676.00,3673.00,3676.00,885,0
+2006-01-06,15:48:00,3675.00,3676.00,3675.00,3675.00,562,0
+2006-01-06,15:49:00,3675.00,3676.00,3675.00,3676.00,1010,0
+2006-01-06,15:50:00,3676.00,3677.00,3676.00,3676.00,1720,0
+2006-01-06,15:51:00,3676.00,3676.00,3675.00,3676.00,661,0
+2006-01-06,15:52:00,3676.00,3678.00,3676.00,3677.00,656,0
+2006-01-06,15:53:00,3677.00,3678.00,3676.00,3676.00,909,0
+2006-01-06,15:54:00,3676.00,3677.00,3675.00,3675.00,422,0
+2006-01-06,15:55:00,3674.00,3675.00,3674.00,3675.00,571,0
+2006-01-06,15:56:00,3675.00,3676.00,3675.00,3676.00,2675,0
+2006-01-06,15:57:00,3676.00,3676.00,3675.00,3675.00,2254,0
+2006-01-06,15:58:00,3675.00,3675.00,3673.00,3675.00,902,0
+2006-01-06,15:59:00,3675.00,3676.00,3674.00,3676.00,615,0
+2006-01-06,16:00:00,3676.00,3677.00,3676.00,3677.00,730,0
+2006-01-06,16:01:00,3676.00,3676.00,3675.00,3675.00,1224,0
+2006-01-06,16:02:00,3675.00,3675.00,3674.00,3675.00,1298,0
+2006-01-06,16:03:00,3675.00,3675.00,3671.00,3671.00,1995,0
+2006-01-06,16:04:00,3671.00,3672.00,3670.00,3671.00,3207,0
+2006-01-06,16:05:00,3672.00,3673.00,3671.00,3673.00,855,0
+2006-01-06,16:06:00,3672.00,3673.00,3672.00,3673.00,816,0
+2006-01-06,16:07:00,3672.00,3673.00,3672.00,3672.00,1472,0
+2006-01-06,16:08:00,3672.00,3673.00,3671.00,3673.00,1000,0
+2006-01-06,16:09:00,3674.00,3674.00,3672.00,3672.00,1226,0
+2006-01-06,16:10:00,3673.00,3673.00,3672.00,3672.00,1014,0
+2006-01-06,16:11:00,3672.00,3673.00,3671.00,3673.00,2004,0
+2006-01-06,16:12:00,3673.00,3674.00,3673.00,3673.00,361,0
+2006-01-06,16:13:00,3673.00,3674.00,3673.00,3674.00,727,0
+2006-01-06,16:14:00,3675.00,3676.00,3675.00,3676.00,1375,0
+2006-01-06,16:15:00,3675.00,3676.00,3675.00,3675.00,698,0
+2006-01-06,16:16:00,3674.00,3675.00,3672.00,3674.00,990,0
+2006-01-06,16:17:00,3674.00,3675.00,3673.00,3673.00,460,0
+2006-01-06,16:18:00,3673.00,3676.00,3673.00,3676.00,1336,0
+2006-01-06,16:19:00,3676.00,3677.00,3675.00,3675.00,1414,0
+2006-01-06,16:20:00,3675.00,3675.00,3672.00,3673.00,1870,0
+2006-01-06,16:21:00,3673.00,3674.00,3673.00,3674.00,1690,0
+2006-01-06,16:22:00,3674.00,3676.00,3674.00,3675.00,1243,0
+2006-01-06,16:23:00,3674.00,3675.00,3673.00,3673.00,540,0
+2006-01-06,16:24:00,3674.00,3674.00,3671.00,3672.00,1032,0
+2006-01-06,16:25:00,3671.00,3673.00,3671.00,3671.00,1826,0
+2006-01-06,16:26:00,3671.00,3673.00,3671.00,3671.00,1217,0
+2006-01-06,16:27:00,3672.00,3674.00,3672.00,3674.00,1437,0
+2006-01-06,16:28:00,3673.00,3674.00,3673.00,3673.00,166,0
+2006-01-06,16:29:00,3673.00,3675.00,3673.00,3674.00,547,0
+2006-01-06,16:30:00,3674.00,3674.00,3673.00,3673.00,496,0
+2006-01-06,16:31:00,3673.00,3675.00,3673.00,3675.00,411,0
+2006-01-06,16:32:00,3674.00,3675.00,3673.00,3674.00,369,0
+2006-01-06,16:33:00,3675.00,3676.00,3674.00,3674.00,1310,0
+2006-01-06,16:34:00,3674.00,3675.00,3672.00,3672.00,2158,0
+2006-01-06,16:35:00,3673.00,3674.00,3672.00,3673.00,813,0
+2006-01-06,16:36:00,3673.00,3674.00,3673.00,3673.00,317,0
+2006-01-06,16:37:00,3674.00,3675.00,3673.00,3674.00,1289,0
+2006-01-06,16:38:00,3674.00,3674.00,3673.00,3674.00,545,0
+2006-01-06,16:39:00,3673.00,3674.00,3673.00,3674.00,856,0
+2006-01-06,16:40:00,3674.00,3675.00,3674.00,3674.00,501,0
+2006-01-06,16:41:00,3675.00,3676.00,3674.00,3675.00,2622,0
+2006-01-06,16:42:00,3676.00,3676.00,3673.00,3674.00,1583,0
+2006-01-06,16:43:00,3674.00,3675.00,3673.00,3674.00,846,0
+2006-01-06,16:44:00,3675.00,3675.00,3673.00,3673.00,841,0
+2006-01-06,16:45:00,3674.00,3675.00,3674.00,3674.00,573,0
+2006-01-06,16:46:00,3675.00,3675.00,3672.00,3672.00,1851,0
+2006-01-06,16:47:00,3672.00,3674.00,3671.00,3674.00,1147,0
+2006-01-06,16:48:00,3674.00,3674.00,3672.00,3672.00,2174,0
+2006-01-06,16:49:00,3673.00,3673.00,3673.00,3673.00,584,0
+2006-01-06,16:50:00,3673.00,3675.00,3673.00,3675.00,1942,0
+2006-01-06,16:51:00,3674.00,3676.00,3674.00,3675.00,407,0
+2006-01-06,16:52:00,3675.00,3676.00,3675.00,3675.00,238,0
+2006-01-06,16:53:00,3675.00,3675.00,3674.00,3674.00,414,0
+2006-01-06,16:54:00,3674.00,3676.00,3674.00,3675.00,161,0
+2006-01-06,16:55:00,3675.00,3675.00,3675.00,3675.00,77,0
+2006-01-06,16:56:00,3675.00,3676.00,3674.00,3675.00,805,0
+2006-01-06,16:57:00,3675.00,3675.00,3674.00,3674.00,138,0
+2006-01-06,16:58:00,3674.00,3675.00,3673.00,3674.00,856,0
+2006-01-06,16:59:00,3674.00,3675.00,3673.00,3675.00,2952,0
+2006-01-06,17:00:00,3675.00,3675.00,3675.00,3675.00,770,0
+2006-01-06,17:01:00,3675.00,3676.00,3675.00,3676.00,673,0
+2006-01-06,17:02:00,3676.00,3678.00,3676.00,3678.00,2151,0
+2006-01-06,17:03:00,3677.00,3678.00,3675.00,3677.00,1400,0
+2006-01-06,17:04:00,3677.00,3677.00,3674.00,3674.00,1383,0
+2006-01-06,17:05:00,3674.00,3675.00,3674.00,3675.00,320,0
+2006-01-06,17:06:00,3675.00,3676.00,3675.00,3676.00,710,0
+2006-01-06,17:07:00,3676.00,3677.00,3676.00,3676.00,338,0
+2006-01-06,17:08:00,3677.00,3677.00,3675.00,3675.00,1033,0
+2006-01-06,17:09:00,3675.00,3676.00,3674.00,3675.00,358,0
+2006-01-06,17:10:00,3675.00,3675.00,3674.00,3675.00,402,0
+2006-01-06,17:11:00,3675.00,3675.00,3673.00,3673.00,1221,0
+2006-01-06,17:12:00,3673.00,3675.00,3673.00,3675.00,758,0
+2006-01-06,17:13:00,3675.00,3675.00,3674.00,3675.00,283,0
+2006-01-06,17:14:00,3674.00,3676.00,3674.00,3675.00,1315,0
+2006-01-06,17:15:00,3675.00,3675.00,3674.00,3674.00,935,0
+2006-01-06,17:16:00,3675.00,3677.00,3674.00,3675.00,1678,0
+2006-01-06,17:17:00,3675.00,3677.00,3675.00,3676.00,1023,0
+2006-01-06,17:18:00,3677.00,3677.00,3676.00,3676.00,986,0
+2006-01-06,17:19:00,3676.00,3678.00,3676.00,3677.00,978,0
+2006-01-06,17:20:00,3677.00,3677.00,3676.00,3676.00,385,0
+2006-01-06,17:21:00,3677.00,3677.00,3676.00,3676.00,542,0
+2006-01-06,17:22:00,3676.00,3678.00,3676.00,3678.00,1296,0
+2006-01-06,17:23:00,3678.00,3679.00,3677.00,3678.00,1794,0
+2006-01-06,17:24:00,3678.00,3682.00,3678.00,3679.00,3338,0
+2006-01-06,17:25:00,3679.00,3681.00,3679.00,3679.00,1655,0
+2006-01-06,17:26:00,3679.00,3681.00,3679.00,3681.00,3181,0
+2006-01-06,17:27:00,3682.00,3682.00,3680.00,3682.00,2290,0
+2006-01-06,17:28:00,3681.00,3682.00,3680.00,3680.00,1293,0
+2006-01-06,17:29:00,3680.00,3681.00,3680.00,3680.00,954,0
+2006-01-06,17:30:00,3680.00,3682.00,3680.00,3681.00,3881,0
+2006-01-06,17:31:00,3682.00,3682.00,3680.00,3682.00,3226,0
+2006-01-06,17:32:00,3681.00,3682.00,3681.00,3682.00,1028,0
+2006-01-06,17:33:00,3682.00,3682.00,3681.00,3682.00,538,0
+2006-01-06,17:34:00,3681.00,3686.00,3681.00,3684.00,5070,0
+2006-01-06,17:35:00,3684.00,3684.00,3682.00,3684.00,1373,0
+2006-01-06,17:36:00,3683.00,3684.00,3682.00,3683.00,1228,0
+2006-01-06,17:37:00,3682.00,3685.00,3682.00,3684.00,987,0
+2006-01-06,17:38:00,3685.00,3686.00,3684.00,3685.00,2200,0
+2006-01-06,17:39:00,3685.00,3686.00,3684.00,3685.00,918,0
+2006-01-06,17:40:00,3684.00,3685.00,3683.00,3685.00,715,0
+2006-01-06,17:41:00,3684.00,3685.00,3683.00,3683.00,199,0
+2006-01-06,17:42:00,3683.00,3684.00,3683.00,3683.00,291,0
+2006-01-06,17:43:00,3684.00,3684.00,3682.00,3683.00,290,0
+2006-01-06,17:44:00,3683.00,3684.00,3682.00,3682.00,556,0
+2006-01-06,17:45:00,3682.00,3683.00,3681.00,3683.00,868,0
+2006-01-06,17:46:00,3683.00,3684.00,3682.00,3682.00,460,0
+2006-01-06,17:47:00,3683.00,3684.00,3682.00,3683.00,141,0
+2006-01-06,17:48:00,3683.00,3684.00,3682.00,3683.00,223,0
+2006-01-06,17:49:00,3683.00,3683.00,3682.00,3682.00,407,0
+2006-01-06,17:50:00,3683.00,3683.00,3682.00,3683.00,483,0
+2006-01-06,17:51:00,3683.00,3684.00,3683.00,3683.00,320,0
+2006-01-06,17:52:00,3683.00,3684.00,3683.00,3684.00,264,0
+2006-01-06,17:53:00,3684.00,3684.00,3683.00,3683.00,257,0
+2006-01-06,17:54:00,3684.00,3684.00,3681.00,3681.00,817,0
+2006-01-06,17:55:00,3682.00,3682.00,3680.00,3680.00,387,0
+2006-01-06,17:56:00,3681.00,3681.00,3680.00,3680.00,638,0
+2006-01-06,17:57:00,3680.00,3681.00,3680.00,3681.00,430,0
+2006-01-06,17:58:00,3681.00,3682.00,3681.00,3681.00,130,0
+2006-01-06,17:59:00,3681.00,3681.00,3681.00,3681.00,11,0
+2006-01-06,18:00:00,3681.00,3681.00,3681.00,3681.00,166,0
+2006-01-06,18:01:00,3681.00,3683.00,3680.00,3682.00,527,0
+2006-01-06,18:02:00,3682.00,3683.00,3682.00,3683.00,189,0
+2006-01-06,18:03:00,3683.00,3685.00,3683.00,3685.00,284,0
+2006-01-06,18:04:00,3684.00,3685.00,3684.00,3685.00,304,0
+2006-01-06,18:05:00,3684.00,3684.00,3684.00,3684.00,45,0
+2006-01-06,18:06:00,3685.00,3685.00,3684.00,3684.00,218,0
+2006-01-06,18:07:00,3684.00,3684.00,3682.00,3683.00,276,0
+2006-01-06,18:08:00,3684.00,3684.00,3684.00,3684.00,11,0
+2006-01-06,18:09:00,3683.00,3683.00,3683.00,3683.00,15,0
+2006-01-06,18:10:00,3683.00,3684.00,3682.00,3684.00,404,0
+2006-01-06,18:11:00,3684.00,3684.00,3683.00,3683.00,173,0
+2006-01-06,18:12:00,3682.00,3684.00,3682.00,3683.00,366,0
+2006-01-06,18:13:00,3684.00,3685.00,3683.00,3685.00,117,0
+2006-01-06,18:14:00,3685.00,3685.00,3684.00,3684.00,281,0
+2006-01-06,18:15:00,3685.00,3686.00,3684.00,3684.00,288,0
+2006-01-06,18:16:00,3684.00,3685.00,3684.00,3685.00,34,0
+2006-01-06,18:17:00,3684.00,3684.00,3684.00,3684.00,179,0
+2006-01-06,18:18:00,3683.00,3684.00,3683.00,3683.00,322,0
+2006-01-06,18:19:00,3683.00,3683.00,3683.00,3683.00,19,0
+2006-01-06,18:20:00,3684.00,3685.00,3684.00,3684.00,187,0
+2006-01-06,18:21:00,3684.00,3684.00,3684.00,3684.00,219,0
+2006-01-06,18:22:00,3684.00,3684.00,3683.00,3684.00,475,0
+2006-01-06,18:23:00,3684.00,3685.00,3684.00,3685.00,181,0
+2006-01-06,18:24:00,3685.00,3686.00,3684.00,3686.00,165,0
+2006-01-06,18:25:00,3685.00,3686.00,3684.00,3686.00,389,0
+2006-01-06,18:26:00,3686.00,3688.00,3686.00,3688.00,1167,0
+2006-01-06,18:27:00,3687.00,3688.00,3686.00,3686.00,919,0
+2006-01-06,18:28:00,3686.00,3688.00,3686.00,3687.00,494,0
+2006-01-06,18:29:00,3687.00,3687.00,3687.00,3687.00,295,0
+2006-01-06,18:30:00,3687.00,3688.00,3686.00,3687.00,305,0
+2006-01-06,18:31:00,3686.00,3686.00,3685.00,3685.00,527,0
+2006-01-06,18:32:00,3685.00,3685.00,3685.00,3685.00,1,0
+2006-01-06,18:33:00,3685.00,3686.00,3685.00,3686.00,739,0
+2006-01-06,18:34:00,3686.00,3686.00,3685.00,3686.00,507,0
+2006-01-06,18:35:00,3687.00,3688.00,3687.00,3687.00,289,0
+2006-01-06,18:36:00,3686.00,3688.00,3686.00,3687.00,595,0
+2006-01-06,18:37:00,3687.00,3689.00,3687.00,3689.00,1602,0
+2006-01-06,18:38:00,3688.00,3689.00,3688.00,3689.00,350,0
+2006-01-06,18:39:00,3689.00,3689.00,3688.00,3688.00,259,0
+2006-01-06,18:40:00,3687.00,3687.00,3687.00,3687.00,20,0
+2006-01-06,18:41:00,3688.00,3688.00,3687.00,3687.00,27,0
+2006-01-06,18:42:00,3688.00,3688.00,3687.00,3687.00,530,0
+2006-01-06,18:43:00,3687.00,3687.00,3687.00,3687.00,1,0
+2006-01-06,18:44:00,3688.00,3688.00,3688.00,3688.00,214,0
+2006-01-06,18:45:00,3688.00,3688.00,3688.00,3688.00,8,0
+2006-01-06,18:46:00,3688.00,3689.00,3687.00,3688.00,272,0
+2006-01-06,18:47:00,3688.00,3690.00,3688.00,3689.00,371,0
+2006-01-06,18:48:00,3689.00,3690.00,3689.00,3689.00,283,0
+2006-01-06,18:49:00,3688.00,3688.00,3688.00,3688.00,10,0
+2006-01-06,18:50:00,3688.00,3688.00,3687.00,3687.00,628,0
+2006-01-06,18:51:00,3688.00,3688.00,3687.00,3687.00,601,0
+2006-01-06,18:52:00,3688.00,3688.00,3687.00,3688.00,785,0
+2006-01-06,18:53:00,3688.00,3688.00,3687.00,3687.00,206,0
+2006-01-06,18:54:00,3687.00,3687.00,3686.00,3686.00,309,0
+2006-01-06,18:55:00,3686.00,3686.00,3685.00,3686.00,495,0
+2006-01-06,18:56:00,3685.00,3686.00,3684.00,3684.00,1012,0
+2006-01-06,18:57:00,3685.00,3686.00,3685.00,3685.00,491,0
+2006-01-06,18:58:00,3685.00,3686.00,3685.00,3685.00,59,0
+2006-01-06,18:59:00,3685.00,3685.00,3685.00,3685.00,91,0
+2006-01-06,19:00:00,3685.00,3685.00,3683.00,3684.00,464,0
+2006-01-06,19:01:00,3683.00,3683.00,3683.00,3683.00,349,0
+2006-01-06,19:02:00,3683.00,3683.00,3682.00,3682.00,102,0
+2006-01-06,19:03:00,3683.00,3683.00,3682.00,3682.00,23,0
+2006-01-06,19:04:00,3683.00,3683.00,3683.00,3683.00,2,0
+2006-01-06,19:06:00,3683.00,3685.00,3683.00,3684.00,500,0
+2006-01-06,19:07:00,3684.00,3686.00,3684.00,3686.00,188,0
+2006-01-06,19:08:00,3685.00,3686.00,3685.00,3686.00,10,0
+2006-01-06,19:09:00,3686.00,3686.00,3686.00,3686.00,1,0
+2006-01-06,19:10:00,3685.00,3685.00,3684.00,3685.00,195,0
+2006-01-06,19:11:00,3684.00,3685.00,3684.00,3684.00,15,0
+2006-01-06,19:12:00,3684.00,3685.00,3684.00,3685.00,240,0
+2006-01-06,19:13:00,3686.00,3686.00,3686.00,3686.00,25,0
+2006-01-06,19:14:00,3686.00,3686.00,3686.00,3686.00,77,0
+2006-01-06,19:15:00,3686.00,3686.00,3685.00,3686.00,96,0
+2006-01-06,19:16:00,3686.00,3687.00,3685.00,3686.00,482,0
+2006-01-06,19:17:00,3686.00,3687.00,3684.00,3685.00,1047,0
+2006-01-06,19:18:00,3686.00,3687.00,3685.00,3686.00,272,0
+2006-01-06,19:19:00,3686.00,3687.00,3685.00,3685.00,467,0
+2006-01-06,19:20:00,3685.00,3685.00,3685.00,3685.00,331,0
+2006-01-06,19:21:00,3685.00,3686.00,3685.00,3686.00,54,0
+2006-01-06,19:22:00,3685.00,3686.00,3685.00,3685.00,471,0
+2006-01-06,19:23:00,3685.00,3687.00,3685.00,3687.00,76,0
+2006-01-06,19:24:00,3688.00,3688.00,3686.00,3686.00,118,0
+2006-01-06,19:25:00,3687.00,3687.00,3687.00,3687.00,77,0
+2006-01-06,19:26:00,3687.00,3687.00,3687.00,3687.00,57,0
+2006-01-06,19:27:00,3686.00,3686.00,3686.00,3686.00,70,0
+2006-01-06,19:28:00,3686.00,3687.00,3686.00,3686.00,73,0
+2006-01-06,19:29:00,3686.00,3686.00,3686.00,3686.00,44,0
+2006-01-06,19:30:00,3687.00,3687.00,3687.00,3687.00,12,0
+2006-01-06,19:31:00,3686.00,3686.00,3685.00,3685.00,357,0
+2006-01-06,19:32:00,3686.00,3686.00,3685.00,3685.00,525,0
+2006-01-06,19:33:00,3685.00,3685.00,3685.00,3685.00,114,0
+2006-01-06,19:34:00,3685.00,3685.00,3685.00,3685.00,287,0
+2006-01-06,19:35:00,3685.00,3685.00,3685.00,3685.00,209,0
+2006-01-06,19:36:00,3685.00,3685.00,3684.00,3684.00,273,0
+2006-01-06,19:37:00,3685.00,3685.00,3685.00,3685.00,350,0
+2006-01-06,19:38:00,3686.00,3686.00,3685.00,3685.00,313,0
+2006-01-06,19:39:00,3686.00,3686.00,3685.00,3686.00,139,0
+2006-01-06,19:40:00,3686.00,3686.00,3686.00,3686.00,1,0
+2006-01-06,19:41:00,3685.00,3685.00,3685.00,3685.00,11,0
+2006-01-06,19:42:00,3685.00,3685.00,3685.00,3685.00,2,0
+2006-01-06,19:43:00,3685.00,3685.00,3685.00,3685.00,4,0
+2006-01-06,19:44:00,3685.00,3685.00,3685.00,3685.00,11,0
+2006-01-06,19:45:00,3686.00,3686.00,3686.00,3686.00,2,0
+2006-01-06,19:46:00,3685.00,3685.00,3685.00,3685.00,7,0
+2006-01-06,19:47:00,3685.00,3685.00,3685.00,3685.00,1,0
+2006-01-06,19:48:00,3686.00,3689.00,3686.00,3688.00,375,0
+2006-01-06,19:49:00,3688.00,3688.00,3688.00,3688.00,89,0
+2006-01-06,19:50:00,3687.00,3688.00,3687.00,3688.00,135,0
+2006-01-06,19:51:00,3688.00,3688.00,3688.00,3688.00,206,0
+2006-01-06,19:52:00,3689.00,3689.00,3688.00,3689.00,520,0
+2006-01-06,19:53:00,3688.00,3690.00,3688.00,3690.00,85,0
+2006-01-06,19:54:00,3689.00,3689.00,3689.00,3689.00,34,0
+2006-01-06,19:55:00,3689.00,3690.00,3689.00,3689.00,231,0
+2006-01-06,19:56:00,3689.00,3689.00,3688.00,3689.00,52,0
+2006-01-06,19:57:00,3688.00,3690.00,3688.00,3689.00,174,0
+2006-01-06,19:58:00,3689.00,3689.00,3689.00,3689.00,53,0
+2006-01-06,19:59:00,3689.00,3690.00,3689.00,3689.00,213,0
+2006-01-06,20:00:00,3689.00,3689.00,3689.00,3689.00,33,0
+2006-01-06,20:01:00,3689.00,3690.00,3689.00,3689.00,59,0
+2006-01-06,20:02:00,3689.00,3690.00,3689.00,3690.00,92,0
+2006-01-06,20:03:00,3689.00,3689.00,3689.00,3689.00,1,0
+2006-01-06,20:04:00,3689.00,3689.00,3689.00,3689.00,29,0
+2006-01-06,20:05:00,3689.00,3689.00,3689.00,3689.00,115,0
+2006-01-06,20:06:00,3689.00,3689.00,3689.00,3689.00,11,0
+2006-01-06,20:07:00,3690.00,3690.00,3690.00,3690.00,80,0
+2006-01-06,20:08:00,3690.00,3691.00,3690.00,3690.00,70,0
+2006-01-06,20:09:00,3689.00,3690.00,3689.00,3690.00,181,0
+2006-01-06,20:10:00,3690.00,3690.00,3690.00,3690.00,110,0
+2006-01-06,20:11:00,3690.00,3691.00,3690.00,3690.00,72,0
+2006-01-06,20:12:00,3690.00,3690.00,3690.00,3690.00,157,0
+2006-01-06,20:13:00,3690.00,3690.00,3690.00,3690.00,30,0
+2006-01-06,20:14:00,3691.00,3691.00,3691.00,3691.00,43,0
+2006-01-06,20:15:00,3691.00,3691.00,3690.00,3690.00,341,0
+2006-01-06,20:16:00,3691.00,3693.00,3691.00,3691.00,706,0
+2006-01-06,20:17:00,3691.00,3693.00,3691.00,3693.00,210,0
+2006-01-06,20:18:00,3693.00,3693.00,3692.00,3692.00,9,0
+2006-01-06,20:19:00,3693.00,3693.00,3692.00,3692.00,442,0
+2006-01-06,20:20:00,3692.00,3693.00,3691.00,3693.00,127,0
+2006-01-06,20:21:00,3692.00,3692.00,3692.00,3692.00,110,0
+2006-01-06,20:22:00,3692.00,3692.00,3691.00,3691.00,102,0
+2006-01-06,20:23:00,3691.00,3691.00,3691.00,3691.00,8,0
+2006-01-06,20:24:00,3691.00,3691.00,3691.00,3691.00,4,0
+2006-01-06,20:25:00,3690.00,3690.00,3690.00,3690.00,376,0
+2006-01-06,20:26:00,3690.00,3690.00,3690.00,3690.00,1,0
+2006-01-06,20:27:00,3689.00,3689.00,3689.00,3689.00,8,0
+2006-01-06,20:28:00,3689.00,3689.00,3689.00,3689.00,2,0
+2006-01-06,20:29:00,3690.00,3690.00,3690.00,3690.00,84,0
+2006-01-06,20:31:00,3690.00,3690.00,3689.00,3689.00,173,0
+2006-01-06,20:34:00,3689.00,3689.00,3689.00,3689.00,1,0
+2006-01-06,20:35:00,3690.00,3690.00,3690.00,3690.00,1,0
+2006-01-06,20:36:00,3689.00,3690.00,3689.00,3690.00,140,0
+2006-01-06,20:37:00,3690.00,3690.00,3690.00,3690.00,37,0
+2006-01-06,20:38:00,3690.00,3690.00,3690.00,3690.00,5,0
+2006-01-06,20:39:00,3690.00,3691.00,3690.00,3691.00,103,0
+2006-01-06,20:40:00,3690.00,3690.00,3690.00,3690.00,4,0
+2006-01-06,20:42:00,3690.00,3690.00,3690.00,3690.00,1,0
+2006-01-06,20:44:00,3691.00,3691.00,3691.00,3691.00,33,0
+2006-01-06,20:46:00,3691.00,3692.00,3691.00,3692.00,12,0
+2006-01-06,20:48:00,3692.00,3692.00,3691.00,3691.00,9,0
+2006-01-06,20:49:00,3691.00,3691.00,3691.00,3691.00,16,0
+2006-01-06,20:50:00,3691.00,3691.00,3691.00,3691.00,7,0
+2006-01-06,20:51:00,3690.00,3691.00,3690.00,3691.00,107,0
+2006-01-06,20:52:00,3691.00,3691.00,3691.00,3691.00,9,0
+2006-01-06,20:54:00,3691.00,3691.00,3690.00,3691.00,8,0
+2006-01-06,20:55:00,3691.00,3691.00,3691.00,3691.00,2,0
+2006-01-06,20:56:00,3691.00,3691.00,3691.00,3691.00,1,0
+2006-01-06,20:57:00,3691.00,3691.00,3691.00,3691.00,1,0
+2006-01-06,21:00:00,3691.00,3692.00,3691.00,3692.00,46,0
+2006-01-06,21:02:00,3691.00,3692.00,3691.00,3692.00,2,0
+2006-01-06,21:04:00,3692.00,3692.00,3692.00,3692.00,60,0
+2006-01-06,21:05:00,3693.00,3693.00,3693.00,3693.00,54,0
+2006-01-06,21:06:00,3693.00,3693.00,3693.00,3693.00,25,0
+2006-01-06,21:07:00,3692.00,3692.00,3691.00,3691.00,117,0
+2006-01-06,21:08:00,3691.00,3691.00,3691.00,3691.00,38,0
+2006-01-06,21:09:00,3691.00,3692.00,3691.00,3692.00,36,0
+2006-01-06,21:10:00,3692.00,3692.00,3691.00,3691.00,72,0
+2006-01-06,21:11:00,3691.00,3691.00,3690.00,3690.00,3,0
+2006-01-06,21:12:00,3691.00,3691.00,3691.00,3691.00,2,0
+2006-01-06,21:13:00,3692.00,3693.00,3692.00,3692.00,40,0
+2006-01-06,21:14:00,3692.00,3692.00,3692.00,3692.00,2,0
+2006-01-06,21:15:00,3691.00,3691.00,3691.00,3691.00,10,0
+2006-01-06,21:16:00,3690.00,3690.00,3690.00,3690.00,1,0
+2006-01-06,21:17:00,3691.00,3691.00,3691.00,3691.00,3,0
+2006-01-06,21:18:00,3691.00,3691.00,3691.00,3691.00,4,0
+2006-01-06,21:21:00,3692.00,3692.00,3692.00,3692.00,14,0
+2006-01-06,21:22:00,3692.00,3692.00,3692.00,3692.00,54,0
+2006-01-06,21:23:00,3692.00,3692.00,3692.00,3692.00,9,0
+2006-01-06,21:24:00,3692.00,3692.00,3692.00,3692.00,25,0
+2006-01-06,21:25:00,3692.00,3692.00,3692.00,3692.00,26,0
+2006-01-06,21:27:00,3692.00,3692.00,3691.00,3692.00,11,0
+2006-01-06,21:28:00,3691.00,3691.00,3691.00,3691.00,1,0
+2006-01-06,21:29:00,3692.00,3692.00,3692.00,3692.00,46,0
+2006-01-06,21:30:00,3692.00,3692.00,3692.00,3692.00,8,0
+2006-01-06,21:31:00,3691.00,3692.00,3691.00,3692.00,2,0
+2006-01-06,21:32:00,3693.00,3693.00,3693.00,3693.00,1,0
+2006-01-06,21:33:00,3693.00,3693.00,3692.00,3692.00,12,0
+2006-01-06,21:34:00,3692.00,3693.00,3692.00,3693.00,6,0
+2006-01-06,21:36:00,3692.00,3692.00,3691.00,3692.00,9,0
+2006-01-06,21:37:00,3693.00,3693.00,3693.00,3693.00,2,0
+2006-01-06,21:38:00,3691.00,3691.00,3691.00,3691.00,44,0
+2006-01-06,21:39:00,3691.00,3691.00,3690.00,3691.00,28,0
+2006-01-06,21:40:00,3692.00,3692.00,3691.00,3691.00,108,0
+2006-01-06,21:41:00,3692.00,3692.00,3692.00,3692.00,15,0
+2006-01-06,21:42:00,3693.00,3693.00,3691.00,3691.00,8,0
+2006-01-06,21:44:00,3692.00,3692.00,3691.00,3691.00,93,0
+2006-01-06,21:45:00,3692.00,3692.00,3692.00,3692.00,1,0
+2006-01-06,21:46:00,3691.00,3692.00,3691.00,3691.00,116,0
+2006-01-06,21:47:00,3691.00,3691.00,3691.00,3691.00,77,0
+2006-01-06,21:48:00,3690.00,3691.00,3690.00,3691.00,26,0
+2006-01-06,21:49:00,3691.00,3691.00,3691.00,3691.00,39,0
+2006-01-06,21:50:00,3691.00,3691.00,3690.00,3690.00,11,0
+2006-01-06,21:51:00,3690.00,3691.00,3690.00,3690.00,72,0
+2006-01-06,21:52:00,3690.00,3690.00,3690.00,3690.00,77,0
+2006-01-06,21:53:00,3690.00,3691.00,3690.00,3690.00,7,0
+2006-01-06,21:54:00,3690.00,3691.00,3690.00,3691.00,120,0
+2006-01-06,21:55:00,3691.00,3691.00,3690.00,3691.00,140,0
+2006-01-06,21:56:00,3691.00,3691.00,3690.00,3691.00,151,0
+2006-01-06,21:57:00,3690.00,3691.00,3690.00,3690.00,59,0
+2006-01-06,21:58:00,3690.00,3692.00,3690.00,3690.00,154,0
+2006-01-06,21:59:00,3690.00,3691.00,3690.00,3690.00,319,0
+2006-01-06,22:00:00,3690.00,3691.00,3689.00,3691.00,283,0
+2006-01-09,09:01:00,3693.00,3693.00,3691.00,3693.00,6078,0
+2006-01-09,09:02:00,3693.00,3695.00,3692.00,3694.00,4707,0
+2006-01-09,09:03:00,3695.00,3699.00,3695.00,3698.00,7923,0
+2006-01-09,09:04:00,3697.00,3698.00,3696.00,3697.00,1557,0
+2006-01-09,09:05:00,3698.00,3698.00,3695.00,3695.00,3300,0
+2006-01-09,09:06:00,3696.00,3697.00,3695.00,3696.00,2609,0
+2006-01-09,09:07:00,3697.00,3697.00,3696.00,3696.00,1401,0
+2006-01-09,09:08:00,3696.00,3698.00,3695.00,3698.00,1939,0
+2006-01-09,09:09:00,3698.00,3699.00,3697.00,3698.00,1370,0
+2006-01-09,09:10:00,3697.00,3698.00,3695.00,3696.00,1178,0
+2006-01-09,09:11:00,3696.00,3696.00,3695.00,3696.00,708,0
+2006-01-09,09:12:00,3696.00,3696.00,3694.00,3695.00,1237,0
+2006-01-09,09:13:00,3695.00,3697.00,3695.00,3696.00,712,0
+2006-01-09,09:14:00,3696.00,3696.00,3695.00,3695.00,118,0
+2006-01-09,09:15:00,3695.00,3696.00,3693.00,3693.00,1107,0
+2006-01-09,09:16:00,3693.00,3694.00,3691.00,3692.00,1465,0
+2006-01-09,09:17:00,3691.00,3693.00,3690.00,3691.00,1796,0
+2006-01-09,09:18:00,3690.00,3693.00,3690.00,3693.00,984,0
+2006-01-09,09:19:00,3692.00,3693.00,3691.00,3693.00,1687,0
+2006-01-09,09:20:00,3693.00,3695.00,3693.00,3694.00,573,0
+2006-01-09,09:21:00,3695.00,3695.00,3693.00,3695.00,682,0
+2006-01-09,09:22:00,3695.00,3695.00,3693.00,3695.00,461,0
+2006-01-09,09:23:00,3694.00,3695.00,3694.00,3695.00,188,0
+2006-01-09,09:24:00,3695.00,3695.00,3694.00,3694.00,191,0
+2006-01-09,09:25:00,3695.00,3696.00,3694.00,3695.00,826,0
+2006-01-09,09:26:00,3695.00,3695.00,3693.00,3694.00,317,0
+2006-01-09,09:27:00,3694.00,3694.00,3692.00,3693.00,1240,0
+2006-01-09,09:28:00,3693.00,3695.00,3693.00,3694.00,447,0
+2006-01-09,09:29:00,3694.00,3694.00,3693.00,3693.00,741,0
+2006-01-09,09:30:00,3694.00,3694.00,3692.00,3693.00,297,0
+2006-01-09,09:31:00,3693.00,3694.00,3692.00,3692.00,158,0
+2006-01-09,09:32:00,3692.00,3694.00,3692.00,3692.00,804,0
+2006-01-09,09:33:00,3693.00,3694.00,3692.00,3692.00,436,0
+2006-01-09,09:34:00,3693.00,3693.00,3691.00,3691.00,953,0
+2006-01-09,09:35:00,3691.00,3692.00,3690.00,3691.00,1053,0
+2006-01-09,09:36:00,3691.00,3691.00,3689.00,3690.00,675,0
+2006-01-09,09:37:00,3690.00,3690.00,3688.00,3689.00,1925,0
+2006-01-09,09:38:00,3688.00,3689.00,3687.00,3688.00,671,0
+2006-01-09,09:39:00,3689.00,3690.00,3689.00,3690.00,856,0
+2006-01-09,09:40:00,3690.00,3691.00,3689.00,3690.00,688,0
+2006-01-09,09:41:00,3690.00,3690.00,3689.00,3689.00,1048,0
+2006-01-09,09:42:00,3688.00,3690.00,3688.00,3690.00,613,0
+2006-01-09,09:43:00,3689.00,3691.00,3689.00,3690.00,807,0
+2006-01-09,09:44:00,3690.00,3692.00,3690.00,3691.00,201,0
+2006-01-09,09:45:00,3691.00,3691.00,3690.00,3691.00,414,0
+2006-01-09,09:46:00,3690.00,3691.00,3690.00,3690.00,357,0
+2006-01-09,09:47:00,3690.00,3691.00,3689.00,3690.00,300,0
+2006-01-09,09:48:00,3691.00,3692.00,3690.00,3692.00,311,0
+2006-01-09,09:49:00,3691.00,3693.00,3691.00,3693.00,494,0
+2006-01-09,09:50:00,3693.00,3693.00,3692.00,3693.00,148,0
+2006-01-09,09:51:00,3693.00,3694.00,3693.00,3694.00,1091,0
+2006-01-09,09:52:00,3693.00,3694.00,3693.00,3694.00,169,0
+2006-01-09,09:53:00,3693.00,3694.00,3692.00,3693.00,220,0
+2006-01-09,09:54:00,3693.00,3694.00,3693.00,3693.00,347,0
+2006-01-09,09:55:00,3693.00,3693.00,3692.00,3693.00,21,0
+2006-01-09,09:56:00,3692.00,3693.00,3692.00,3693.00,97,0
+2006-01-09,09:57:00,3693.00,3694.00,3692.00,3693.00,502,0
+2006-01-09,09:58:00,3693.00,3693.00,3692.00,3693.00,186,0
+2006-01-09,09:59:00,3693.00,3693.00,3691.00,3692.00,759,0
+2006-01-09,10:00:00,3691.00,3692.00,3691.00,3691.00,145,0
+2006-01-09,10:01:00,3691.00,3692.00,3691.00,3692.00,507,0
+2006-01-09,10:02:00,3692.00,3692.00,3691.00,3692.00,90,0
+2006-01-09,10:03:00,3692.00,3692.00,3690.00,3691.00,1483,0
+2006-01-09,10:04:00,3691.00,3691.00,3690.00,3690.00,460,0
+2006-01-09,10:05:00,3690.00,3690.00,3689.00,3690.00,80,0
+2006-01-09,10:06:00,3690.00,3691.00,3689.00,3691.00,421,0
+2006-01-09,10:07:00,3690.00,3691.00,3689.00,3690.00,518,0
+2006-01-09,10:08:00,3690.00,3691.00,3689.00,3691.00,200,0
+2006-01-09,10:09:00,3690.00,3691.00,3689.00,3691.00,247,0
+2006-01-09,10:10:00,3691.00,3691.00,3690.00,3691.00,144,0
+2006-01-09,10:11:00,3691.00,3691.00,3690.00,3690.00,906,0
+2006-01-09,10:12:00,3691.00,3692.00,3690.00,3692.00,598,0
+2006-01-09,10:13:00,3691.00,3691.00,3689.00,3689.00,529,0
+2006-01-09,10:14:00,3690.00,3690.00,3688.00,3689.00,586,0
+2006-01-09,10:15:00,3689.00,3690.00,3688.00,3689.00,553,0
+2006-01-09,10:16:00,3689.00,3690.00,3688.00,3690.00,614,0
+2006-01-09,10:17:00,3689.00,3690.00,3689.00,3690.00,178,0
+2006-01-09,10:18:00,3690.00,3691.00,3689.00,3691.00,566,0
+2006-01-09,10:19:00,3690.00,3691.00,3690.00,3690.00,1421,0
+2006-01-09,10:20:00,3689.00,3690.00,3689.00,3690.00,339,0
+2006-01-09,10:21:00,3689.00,3690.00,3688.00,3688.00,924,0
+2006-01-09,10:22:00,3689.00,3690.00,3688.00,3690.00,1295,0
+2006-01-09,10:23:00,3689.00,3690.00,3687.00,3688.00,3263,0
+2006-01-09,10:24:00,3688.00,3689.00,3687.00,3688.00,1223,0
+2006-01-09,10:25:00,3687.00,3689.00,3687.00,3688.00,655,0
+2006-01-09,10:26:00,3688.00,3689.00,3688.00,3689.00,309,0
+2006-01-09,10:27:00,3689.00,3691.00,3689.00,3690.00,704,0
+2006-01-09,10:28:00,3690.00,3690.00,3689.00,3689.00,82,0
+2006-01-09,10:29:00,3690.00,3690.00,3689.00,3690.00,27,0
+2006-01-09,10:30:00,3690.00,3690.00,3689.00,3690.00,11,0
+2006-01-09,10:31:00,3689.00,3691.00,3689.00,3691.00,607,0
+2006-01-09,10:32:00,3691.00,3692.00,3690.00,3692.00,2343,0
+2006-01-09,10:33:00,3691.00,3693.00,3691.00,3692.00,1072,0
+2006-01-09,10:34:00,3692.00,3693.00,3691.00,3692.00,1629,0
+2006-01-09,10:35:00,3691.00,3692.00,3691.00,3691.00,1546,0
+2006-01-09,10:36:00,3691.00,3691.00,3690.00,3691.00,1174,0
+2006-01-09,10:37:00,3691.00,3691.00,3690.00,3690.00,164,0
+2006-01-09,10:38:00,3690.00,3691.00,3690.00,3691.00,392,0
+2006-01-09,10:39:00,3690.00,3691.00,3690.00,3690.00,241,0
+2006-01-09,10:40:00,3690.00,3691.00,3690.00,3691.00,403,0
+2006-01-09,10:41:00,3691.00,3691.00,3690.00,3691.00,169,0
+2006-01-09,10:42:00,3691.00,3693.00,3691.00,3692.00,1262,0
+2006-01-09,10:43:00,3692.00,3693.00,3692.00,3692.00,86,0
+2006-01-09,10:44:00,3692.00,3692.00,3691.00,3692.00,106,0
+2006-01-09,10:45:00,3692.00,3692.00,3691.00,3692.00,254,0
+2006-01-09,10:46:00,3692.00,3693.00,3692.00,3693.00,301,0
+2006-01-09,10:47:00,3692.00,3693.00,3691.00,3691.00,323,0
+2006-01-09,10:48:00,3692.00,3692.00,3691.00,3692.00,368,0
+2006-01-09,10:49:00,3692.00,3692.00,3691.00,3692.00,78,0
+2006-01-09,10:50:00,3691.00,3692.00,3690.00,3691.00,1002,0
+2006-01-09,10:51:00,3692.00,3693.00,3691.00,3692.00,926,0
+2006-01-09,10:52:00,3691.00,3691.00,3690.00,3691.00,406,0
+2006-01-09,10:53:00,3691.00,3693.00,3690.00,3692.00,664,0
+2006-01-09,10:54:00,3693.00,3693.00,3691.00,3691.00,418,0
+2006-01-09,10:55:00,3692.00,3693.00,3691.00,3693.00,233,0
+2006-01-09,10:56:00,3693.00,3693.00,3692.00,3693.00,122,0
+2006-01-09,10:57:00,3692.00,3694.00,3692.00,3694.00,4353,0
+2006-01-09,10:58:00,3694.00,3694.00,3692.00,3693.00,897,0
+2006-01-09,10:59:00,3692.00,3693.00,3692.00,3693.00,118,0
+2006-01-09,11:00:00,3692.00,3692.00,3691.00,3692.00,739,0
+2006-01-09,11:01:00,3693.00,3693.00,3692.00,3692.00,295,0
+2006-01-09,11:02:00,3692.00,3692.00,3691.00,3691.00,570,0
+2006-01-09,11:03:00,3691.00,3691.00,3690.00,3691.00,53,0
+2006-01-09,11:04:00,3691.00,3692.00,3690.00,3691.00,161,0
+2006-01-09,11:05:00,3692.00,3692.00,3691.00,3691.00,508,0
+2006-01-09,11:06:00,3691.00,3692.00,3691.00,3692.00,222,0
+2006-01-09,11:07:00,3693.00,3693.00,3692.00,3692.00,147,0
+2006-01-09,11:08:00,3693.00,3693.00,3692.00,3692.00,249,0
+2006-01-09,11:09:00,3693.00,3693.00,3692.00,3693.00,78,0
+2006-01-09,11:10:00,3693.00,3693.00,3692.00,3692.00,185,0
+2006-01-09,11:11:00,3693.00,3694.00,3692.00,3693.00,1154,0
+2006-01-09,11:12:00,3694.00,3694.00,3692.00,3693.00,318,0
+2006-01-09,11:13:00,3693.00,3694.00,3692.00,3693.00,335,0
+2006-01-09,11:14:00,3694.00,3694.00,3693.00,3693.00,61,0
+2006-01-09,11:15:00,3694.00,3696.00,3694.00,3696.00,2232,0
+2006-01-09,11:16:00,3696.00,3696.00,3695.00,3696.00,582,0
+2006-01-09,11:17:00,3696.00,3696.00,3694.00,3695.00,1102,0
+2006-01-09,11:18:00,3695.00,3697.00,3695.00,3696.00,490,0
+2006-01-09,11:19:00,3696.00,3697.00,3695.00,3695.00,1453,0
+2006-01-09,11:20:00,3695.00,3696.00,3694.00,3694.00,1365,0
+2006-01-09,11:21:00,3695.00,3696.00,3694.00,3695.00,673,0
+2006-01-09,11:22:00,3696.00,3697.00,3695.00,3696.00,913,0
+2006-01-09,11:23:00,3695.00,3696.00,3695.00,3695.00,898,0
+2006-01-09,11:24:00,3696.00,3697.00,3695.00,3697.00,355,0
+2006-01-09,11:25:00,3697.00,3697.00,3696.00,3697.00,222,0
+2006-01-09,11:26:00,3697.00,3697.00,3696.00,3697.00,309,0
+2006-01-09,11:27:00,3697.00,3697.00,3695.00,3696.00,1433,0
+2006-01-09,11:28:00,3696.00,3697.00,3696.00,3697.00,472,0
+2006-01-09,11:29:00,3696.00,3697.00,3695.00,3696.00,875,0
+2006-01-09,11:30:00,3695.00,3695.00,3694.00,3694.00,548,0
+2006-01-09,11:31:00,3695.00,3695.00,3694.00,3695.00,567,0
+2006-01-09,11:32:00,3695.00,3696.00,3694.00,3695.00,390,0
+2006-01-09,11:33:00,3694.00,3696.00,3694.00,3696.00,180,0
+2006-01-09,11:34:00,3696.00,3696.00,3695.00,3695.00,12,0
+2006-01-09,11:35:00,3696.00,3696.00,3694.00,3694.00,170,0
+2006-01-09,11:36:00,3695.00,3696.00,3694.00,3695.00,829,0
+2006-01-09,11:37:00,3694.00,3695.00,3694.00,3694.00,88,0
+2006-01-09,11:38:00,3695.00,3695.00,3693.00,3693.00,687,0
+2006-01-09,11:39:00,3693.00,3694.00,3693.00,3693.00,44,0
+2006-01-09,11:40:00,3694.00,3694.00,3693.00,3694.00,74,0
+2006-01-09,11:41:00,3694.00,3695.00,3693.00,3694.00,985,0
+2006-01-09,11:42:00,3694.00,3694.00,3694.00,3694.00,1388,0
+2006-01-09,11:43:00,3694.00,3694.00,3693.00,3694.00,101,0
+2006-01-09,11:44:00,3693.00,3695.00,3693.00,3694.00,264,0
+2006-01-09,11:45:00,3695.00,3695.00,3695.00,3695.00,55,0
+2006-01-09,11:46:00,3695.00,3695.00,3694.00,3695.00,131,0
+2006-01-09,11:47:00,3695.00,3695.00,3694.00,3695.00,65,0
+2006-01-09,11:48:00,3695.00,3696.00,3695.00,3695.00,1251,0
+2006-01-09,11:49:00,3696.00,3696.00,3695.00,3696.00,139,0
+2006-01-09,11:50:00,3696.00,3697.00,3695.00,3696.00,511,0
+2006-01-09,11:51:00,3696.00,3696.00,3695.00,3696.00,483,0
+2006-01-09,11:52:00,3696.00,3696.00,3695.00,3696.00,11,0
+2006-01-09,11:53:00,3696.00,3696.00,3695.00,3696.00,258,0
+2006-01-09,11:54:00,3695.00,3696.00,3694.00,3695.00,383,0
+2006-01-09,11:55:00,3696.00,3696.00,3695.00,3696.00,38,0
+2006-01-09,11:56:00,3696.00,3696.00,3695.00,3696.00,11,0
+2006-01-09,11:57:00,3696.00,3696.00,3695.00,3695.00,381,0
+2006-01-09,11:58:00,3695.00,3695.00,3694.00,3695.00,48,0
+2006-01-09,11:59:00,3695.00,3695.00,3694.00,3695.00,104,0
+2006-01-09,12:00:00,3695.00,3696.00,3694.00,3695.00,430,0
+2006-01-09,12:01:00,3695.00,3696.00,3694.00,3695.00,176,0
+2006-01-09,12:02:00,3695.00,3696.00,3694.00,3694.00,338,0
+2006-01-09,12:03:00,3694.00,3695.00,3694.00,3694.00,61,0
+2006-01-09,12:04:00,3695.00,3695.00,3693.00,3693.00,261,0
+2006-01-09,12:05:00,3693.00,3694.00,3693.00,3694.00,304,0
+2006-01-09,12:06:00,3694.00,3694.00,3692.00,3692.00,1451,0
+2006-01-09,12:07:00,3693.00,3693.00,3692.00,3693.00,287,0
+2006-01-09,12:08:00,3692.00,3693.00,3692.00,3692.00,782,0
+2006-01-09,12:09:00,3692.00,3693.00,3692.00,3692.00,40,0
+2006-01-09,12:10:00,3693.00,3693.00,3692.00,3693.00,23,0
+2006-01-09,12:11:00,3693.00,3693.00,3691.00,3692.00,1320,0
+2006-01-09,12:12:00,3692.00,3692.00,3691.00,3692.00,24,0
+2006-01-09,12:13:00,3691.00,3693.00,3691.00,3693.00,288,0
+2006-01-09,12:14:00,3693.00,3693.00,3692.00,3692.00,689,0
+2006-01-09,12:15:00,3692.00,3693.00,3692.00,3693.00,11,0
+2006-01-09,12:16:00,3692.00,3693.00,3691.00,3692.00,403,0
+2006-01-09,12:17:00,3691.00,3692.00,3691.00,3691.00,58,0
+2006-01-09,12:18:00,3691.00,3692.00,3689.00,3689.00,1840,0
+2006-01-09,12:19:00,3689.00,3690.00,3688.00,3689.00,2160,0
+2006-01-09,12:20:00,3688.00,3690.00,3688.00,3690.00,681,0
+2006-01-09,12:21:00,3689.00,3690.00,3689.00,3690.00,99,0
+2006-01-09,12:22:00,3690.00,3690.00,3688.00,3689.00,489,0
+2006-01-09,12:23:00,3689.00,3690.00,3689.00,3690.00,140,0
+2006-01-09,12:24:00,3690.00,3690.00,3690.00,3690.00,48,0
+2006-01-09,12:25:00,3690.00,3690.00,3689.00,3690.00,289,0
+2006-01-09,12:26:00,3690.00,3690.00,3689.00,3690.00,142,0
+2006-01-09,12:27:00,3690.00,3690.00,3689.00,3690.00,14,0
+2006-01-09,12:28:00,3689.00,3690.00,3689.00,3690.00,268,0
+2006-01-09,12:29:00,3689.00,3690.00,3689.00,3690.00,862,0
+2006-01-09,12:30:00,3690.00,3690.00,3689.00,3690.00,104,0
+2006-01-09,12:31:00,3689.00,3690.00,3689.00,3689.00,125,0
+2006-01-09,12:32:00,3690.00,3691.00,3689.00,3691.00,1142,0
+2006-01-09,12:33:00,3691.00,3691.00,3690.00,3690.00,5,0
+2006-01-09,12:34:00,3690.00,3691.00,3690.00,3690.00,48,0
+2006-01-09,12:35:00,3691.00,3691.00,3690.00,3691.00,159,0
+2006-01-09,12:36:00,3690.00,3691.00,3690.00,3691.00,186,0
+2006-01-09,12:37:00,3691.00,3692.00,3691.00,3692.00,508,0
+2006-01-09,12:38:00,3692.00,3692.00,3690.00,3690.00,815,0
+2006-01-09,12:39:00,3690.00,3691.00,3690.00,3690.00,502,0
+2006-01-09,12:40:00,3690.00,3691.00,3690.00,3690.00,83,0
+2006-01-09,12:41:00,3690.00,3691.00,3690.00,3691.00,252,0
+2006-01-09,12:42:00,3691.00,3691.00,3690.00,3691.00,47,0
+2006-01-09,12:43:00,3690.00,3691.00,3689.00,3690.00,825,0
+2006-01-09,12:44:00,3690.00,3690.00,3689.00,3689.00,657,0
+2006-01-09,12:45:00,3690.00,3691.00,3689.00,3691.00,130,0
+2006-01-09,12:46:00,3691.00,3691.00,3690.00,3691.00,80,0
+2006-01-09,12:47:00,3690.00,3691.00,3690.00,3691.00,271,0
+2006-01-09,12:48:00,3691.00,3691.00,3690.00,3690.00,118,0
+2006-01-09,12:49:00,3690.00,3690.00,3689.00,3690.00,464,0
+2006-01-09,12:50:00,3690.00,3690.00,3689.00,3689.00,18,0
+2006-01-09,12:51:00,3689.00,3690.00,3689.00,3690.00,444,0
+2006-01-09,12:52:00,3689.00,3690.00,3689.00,3689.00,28,0
+2006-01-09,12:53:00,3690.00,3690.00,3689.00,3690.00,218,0
+2006-01-09,12:54:00,3690.00,3690.00,3689.00,3689.00,110,0
+2006-01-09,12:55:00,3689.00,3689.00,3688.00,3688.00,937,0
+2006-01-09,12:56:00,3689.00,3689.00,3689.00,3689.00,3,0
+2006-01-09,12:57:00,3688.00,3689.00,3688.00,3688.00,398,0
+2006-01-09,12:58:00,3688.00,3689.00,3688.00,3689.00,610,0
+2006-01-09,12:59:00,3689.00,3689.00,3688.00,3689.00,328,0
+2006-01-09,13:00:00,3689.00,3690.00,3688.00,3689.00,737,0
+2006-01-09,13:01:00,3689.00,3690.00,3689.00,3690.00,278,0
+2006-01-09,13:02:00,3690.00,3690.00,3689.00,3690.00,286,0
+2006-01-09,13:03:00,3689.00,3690.00,3689.00,3689.00,10,0
+2006-01-09,13:04:00,3689.00,3690.00,3689.00,3689.00,359,0
+2006-01-09,13:05:00,3689.00,3690.00,3688.00,3689.00,283,0
+2006-01-09,13:06:00,3689.00,3690.00,3689.00,3690.00,35,0
+2006-01-09,13:07:00,3689.00,3690.00,3689.00,3690.00,548,0
+2006-01-09,13:08:00,3690.00,3690.00,3689.00,3689.00,56,0
+2006-01-09,13:09:00,3690.00,3690.00,3689.00,3689.00,562,0
+2006-01-09,13:10:00,3690.00,3690.00,3690.00,3690.00,17,0
+2006-01-09,13:11:00,3690.00,3690.00,3689.00,3690.00,94,0
+2006-01-09,13:12:00,3690.00,3691.00,3690.00,3690.00,450,0
+2006-01-09,13:13:00,3691.00,3691.00,3690.00,3690.00,6,0
+2006-01-09,13:14:00,3690.00,3691.00,3690.00,3690.00,82,0
+2006-01-09,13:15:00,3690.00,3691.00,3690.00,3691.00,210,0
+2006-01-09,13:16:00,3691.00,3691.00,3690.00,3690.00,351,0
+2006-01-09,13:17:00,3691.00,3691.00,3690.00,3690.00,6,0
+2006-01-09,13:18:00,3690.00,3691.00,3690.00,3690.00,239,0
+2006-01-09,13:19:00,3691.00,3691.00,3690.00,3691.00,12,0
+2006-01-09,13:20:00,3690.00,3691.00,3690.00,3691.00,143,0
+2006-01-09,13:21:00,3690.00,3691.00,3690.00,3691.00,37,0
+2006-01-09,13:22:00,3691.00,3691.00,3690.00,3691.00,224,0
+2006-01-09,13:23:00,3691.00,3691.00,3690.00,3691.00,851,0
+2006-01-09,13:24:00,3691.00,3691.00,3691.00,3691.00,266,0
+2006-01-09,13:25:00,3691.00,3691.00,3690.00,3690.00,298,0
+2006-01-09,13:26:00,3690.00,3691.00,3689.00,3689.00,651,0
+2006-01-09,13:27:00,3690.00,3690.00,3689.00,3690.00,28,0
+2006-01-09,13:28:00,3690.00,3690.00,3689.00,3689.00,506,0
+2006-01-09,13:29:00,3690.00,3690.00,3689.00,3690.00,890,0
+2006-01-09,13:30:00,3690.00,3690.00,3689.00,3690.00,34,0
+2006-01-09,13:31:00,3689.00,3690.00,3689.00,3690.00,293,0
+2006-01-09,13:32:00,3690.00,3690.00,3689.00,3690.00,7,0
+2006-01-09,13:33:00,3689.00,3690.00,3689.00,3689.00,635,0
+2006-01-09,13:34:00,3689.00,3690.00,3689.00,3689.00,199,0
+2006-01-09,13:35:00,3689.00,3690.00,3689.00,3689.00,133,0
+2006-01-09,13:36:00,3690.00,3690.00,3689.00,3689.00,59,0
+2006-01-09,13:37:00,3689.00,3690.00,3689.00,3689.00,16,0
+2006-01-09,13:38:00,3690.00,3690.00,3689.00,3690.00,71,0
+2006-01-09,13:39:00,3690.00,3690.00,3689.00,3689.00,11,0
+2006-01-09,13:40:00,3690.00,3690.00,3689.00,3689.00,300,0
+2006-01-09,13:41:00,3689.00,3689.00,3688.00,3689.00,103,0
+2006-01-09,13:42:00,3689.00,3689.00,3689.00,3689.00,30,0
+2006-01-09,13:43:00,3689.00,3690.00,3689.00,3690.00,174,0
+2006-01-09,13:44:00,3689.00,3690.00,3689.00,3690.00,16,0
+2006-01-09,13:45:00,3690.00,3691.00,3690.00,3691.00,316,0
+2006-01-09,13:46:00,3690.00,3690.00,3689.00,3690.00,178,0
+2006-01-09,13:47:00,3690.00,3691.00,3689.00,3691.00,118,0
+2006-01-09,13:48:00,3690.00,3690.00,3690.00,3690.00,158,0
+2006-01-09,13:49:00,3690.00,3691.00,3689.00,3690.00,73,0
+2006-01-09,13:50:00,3691.00,3691.00,3690.00,3690.00,47,0
+2006-01-09,13:51:00,3690.00,3691.00,3690.00,3690.00,876,0
+2006-01-09,13:52:00,3689.00,3690.00,3689.00,3690.00,2,0
+2006-01-09,13:53:00,3690.00,3690.00,3689.00,3690.00,195,0
+2006-01-09,13:54:00,3689.00,3690.00,3689.00,3689.00,716,0
+2006-01-09,13:55:00,3690.00,3690.00,3689.00,3689.00,11,0
+2006-01-09,13:56:00,3690.00,3690.00,3690.00,3690.00,5,0
+2006-01-09,13:57:00,3690.00,3690.00,3690.00,3690.00,860,0
+2006-01-09,13:58:00,3690.00,3690.00,3689.00,3689.00,85,0
+2006-01-09,13:59:00,3690.00,3690.00,3689.00,3690.00,339,0
+2006-01-09,14:00:00,3689.00,3690.00,3689.00,3690.00,11,0
+2006-01-09,14:01:00,3690.00,3691.00,3690.00,3691.00,258,0
+2006-01-09,14:02:00,3691.00,3691.00,3690.00,3690.00,216,0
+2006-01-09,14:03:00,3690.00,3691.00,3689.00,3690.00,718,0
+2006-01-09,14:04:00,3690.00,3690.00,3690.00,3690.00,82,0
+2006-01-09,14:05:00,3690.00,3691.00,3690.00,3691.00,772,0
+2006-01-09,14:06:00,3691.00,3691.00,3690.00,3691.00,46,0
+2006-01-09,14:07:00,3691.00,3691.00,3690.00,3691.00,217,0
+2006-01-09,14:08:00,3690.00,3690.00,3690.00,3690.00,1147,0
+2006-01-09,14:09:00,3690.00,3690.00,3689.00,3689.00,1242,0
+2006-01-09,14:10:00,3690.00,3690.00,3689.00,3689.00,111,0
+2006-01-09,14:11:00,3689.00,3689.00,3688.00,3688.00,1472,0
+2006-01-09,14:12:00,3689.00,3689.00,3687.00,3687.00,281,0
+2006-01-09,14:13:00,3687.00,3688.00,3687.00,3687.00,605,0
+2006-01-09,14:14:00,3687.00,3688.00,3687.00,3688.00,380,0
+2006-01-09,14:15:00,3688.00,3689.00,3688.00,3689.00,180,0
+2006-01-09,14:16:00,3688.00,3689.00,3688.00,3689.00,779,0
+2006-01-09,14:17:00,3689.00,3690.00,3689.00,3690.00,234,0
+2006-01-09,14:18:00,3689.00,3690.00,3689.00,3689.00,12,0
+2006-01-09,14:19:00,3690.00,3690.00,3689.00,3690.00,272,0
+2006-01-09,14:20:00,3690.00,3690.00,3689.00,3690.00,6,0
+2006-01-09,14:21:00,3689.00,3690.00,3689.00,3690.00,23,0
+2006-01-09,14:22:00,3690.00,3690.00,3689.00,3689.00,523,0
+2006-01-09,14:23:00,3689.00,3690.00,3688.00,3690.00,197,0
+2006-01-09,14:24:00,3690.00,3690.00,3690.00,3690.00,11,0
+2006-01-09,14:25:00,3690.00,3690.00,3690.00,3690.00,2769,0
+2006-01-09,14:26:00,3690.00,3690.00,3689.00,3689.00,18,0
+2006-01-09,14:27:00,3690.00,3690.00,3689.00,3690.00,104,0
+2006-01-09,14:28:00,3690.00,3690.00,3689.00,3690.00,20,0
+2006-01-09,14:29:00,3689.00,3690.00,3689.00,3690.00,568,0
+2006-01-09,14:30:00,3690.00,3690.00,3689.00,3690.00,10,0
+2006-01-09,14:31:00,3690.00,3690.00,3690.00,3690.00,173,0
+2006-01-09,14:32:00,3690.00,3690.00,3689.00,3690.00,80,0
+2006-01-09,14:33:00,3689.00,3690.00,3689.00,3690.00,1324,0
+2006-01-09,14:34:00,3689.00,3690.00,3689.00,3690.00,157,0
+2006-01-09,14:35:00,3690.00,3690.00,3689.00,3689.00,1281,0
+2006-01-09,14:36:00,3689.00,3690.00,3689.00,3690.00,268,0
+2006-01-09,14:37:00,3689.00,3690.00,3689.00,3690.00,451,0
+2006-01-09,14:38:00,3690.00,3690.00,3688.00,3689.00,127,0
+2006-01-09,14:39:00,3689.00,3689.00,3689.00,3689.00,413,0
+2006-01-09,14:40:00,3688.00,3689.00,3688.00,3688.00,348,0
+2006-01-09,14:41:00,3689.00,3689.00,3688.00,3689.00,2019,0
+2006-01-09,14:42:00,3688.00,3689.00,3687.00,3687.00,558,0
+2006-01-09,14:43:00,3688.00,3688.00,3686.00,3686.00,1084,0
+2006-01-09,14:44:00,3686.00,3687.00,3685.00,3685.00,1286,0
+2006-01-09,14:45:00,3685.00,3686.00,3685.00,3686.00,785,0
+2006-01-09,14:46:00,3685.00,3686.00,3685.00,3686.00,694,0
+2006-01-09,14:47:00,3686.00,3686.00,3685.00,3686.00,3324,0
+2006-01-09,14:48:00,3685.00,3686.00,3685.00,3686.00,339,0
+2006-01-09,14:49:00,3685.00,3686.00,3685.00,3686.00,1381,0
+2006-01-09,14:50:00,3685.00,3686.00,3685.00,3686.00,365,0
+2006-01-09,14:51:00,3685.00,3686.00,3684.00,3685.00,3778,0
+2006-01-09,14:52:00,3685.00,3687.00,3685.00,3686.00,2511,0
+2006-01-09,14:53:00,3687.00,3687.00,3686.00,3687.00,449,0
+2006-01-09,14:54:00,3686.00,3687.00,3685.00,3686.00,300,0
+2006-01-09,14:55:00,3686.00,3686.00,3685.00,3686.00,1029,0
+2006-01-09,14:56:00,3686.00,3686.00,3685.00,3686.00,521,0
+2006-01-09,14:57:00,3686.00,3687.00,3686.00,3686.00,364,0
+2006-01-09,14:58:00,3686.00,3686.00,3685.00,3686.00,479,0
+2006-01-09,14:59:00,3686.00,3687.00,3686.00,3686.00,272,0
+2006-01-09,15:00:00,3686.00,3686.00,3685.00,3686.00,500,0
+2006-01-09,15:01:00,3686.00,3686.00,3684.00,3684.00,1778,0
+2006-01-09,15:02:00,3684.00,3685.00,3683.00,3683.00,1868,0
+2006-01-09,15:03:00,3683.00,3685.00,3683.00,3684.00,6849,0
+2006-01-09,15:04:00,3683.00,3685.00,3683.00,3684.00,1769,0
+2006-01-09,15:05:00,3685.00,3685.00,3684.00,3684.00,414,0
+2006-01-09,15:06:00,3684.00,3685.00,3684.00,3685.00,428,0
+2006-01-09,15:07:00,3685.00,3685.00,3684.00,3684.00,454,0
+2006-01-09,15:08:00,3685.00,3686.00,3685.00,3686.00,193,0
+2006-01-09,15:09:00,3686.00,3686.00,3685.00,3686.00,106,0
+2006-01-09,15:10:00,3686.00,3686.00,3685.00,3686.00,412,0
+2006-01-09,15:11:00,3686.00,3686.00,3685.00,3685.00,489,0
+2006-01-09,15:12:00,3686.00,3686.00,3685.00,3686.00,1153,0
+2006-01-09,15:13:00,3685.00,3687.00,3685.00,3686.00,281,0
+2006-01-09,15:14:00,3687.00,3687.00,3686.00,3687.00,457,0
+2006-01-09,15:15:00,3687.00,3687.00,3685.00,3686.00,278,0
+2006-01-09,15:16:00,3686.00,3687.00,3686.00,3686.00,213,0
+2006-01-09,15:17:00,3686.00,3688.00,3686.00,3687.00,611,0
+2006-01-09,15:18:00,3687.00,3688.00,3687.00,3688.00,194,0
+2006-01-09,15:19:00,3688.00,3688.00,3687.00,3687.00,52,0
+2006-01-09,15:20:00,3688.00,3688.00,3687.00,3688.00,704,0
+2006-01-09,15:21:00,3688.00,3689.00,3687.00,3689.00,1131,0
+2006-01-09,15:22:00,3689.00,3689.00,3688.00,3689.00,504,0
+2006-01-09,15:23:00,3689.00,3689.00,3688.00,3689.00,134,0
+2006-01-09,15:24:00,3689.00,3689.00,3688.00,3689.00,498,0
+2006-01-09,15:25:00,3689.00,3690.00,3689.00,3690.00,871,0
+2006-01-09,15:26:00,3689.00,3690.00,3689.00,3689.00,272,0
+2006-01-09,15:27:00,3689.00,3689.00,3689.00,3689.00,39,0
+2006-01-09,15:28:00,3688.00,3690.00,3688.00,3689.00,550,0
+2006-01-09,15:29:00,3688.00,3689.00,3688.00,3689.00,33,0
+2006-01-09,15:30:00,3689.00,3689.00,3688.00,3689.00,198,0
+2006-01-09,15:31:00,3688.00,3689.00,3688.00,3688.00,853,0
+2006-01-09,15:32:00,3689.00,3690.00,3689.00,3690.00,583,0
+2006-01-09,15:33:00,3690.00,3691.00,3689.00,3690.00,2043,0
+2006-01-09,15:34:00,3691.00,3691.00,3690.00,3690.00,826,0
+2006-01-09,15:35:00,3690.00,3690.00,3689.00,3690.00,1338,0
+2006-01-09,15:36:00,3690.00,3690.00,3689.00,3690.00,388,0
+2006-01-09,15:37:00,3689.00,3690.00,3689.00,3689.00,623,0
+2006-01-09,15:38:00,3690.00,3690.00,3688.00,3688.00,691,0
+2006-01-09,15:39:00,3688.00,3690.00,3688.00,3689.00,845,0
+2006-01-09,15:40:00,3690.00,3690.00,3689.00,3690.00,58,0
+2006-01-09,15:41:00,3690.00,3690.00,3690.00,3690.00,883,0
+2006-01-09,15:42:00,3689.00,3690.00,3689.00,3690.00,592,0
+2006-01-09,15:43:00,3689.00,3690.00,3688.00,3688.00,1783,0
+2006-01-09,15:44:00,3689.00,3689.00,3687.00,3688.00,738,0
+2006-01-09,15:45:00,3687.00,3689.00,3687.00,3688.00,1260,0
+2006-01-09,15:46:00,3688.00,3689.00,3687.00,3688.00,878,0
+2006-01-09,15:47:00,3689.00,3689.00,3688.00,3688.00,856,0
+2006-01-09,15:48:00,3689.00,3689.00,3687.00,3687.00,794,0
+2006-01-09,15:49:00,3687.00,3688.00,3686.00,3688.00,1560,0
+2006-01-09,15:50:00,3688.00,3689.00,3687.00,3688.00,741,0
+2006-01-09,15:51:00,3687.00,3688.00,3687.00,3688.00,1318,0
+2006-01-09,15:52:00,3687.00,3687.00,3686.00,3687.00,1202,0
+2006-01-09,15:53:00,3687.00,3688.00,3686.00,3688.00,223,0
+2006-01-09,15:54:00,3688.00,3688.00,3687.00,3688.00,520,0
+2006-01-09,15:55:00,3687.00,3688.00,3687.00,3687.00,1191,0
+2006-01-09,15:56:00,3687.00,3689.00,3687.00,3689.00,573,0
+2006-01-09,15:57:00,3689.00,3689.00,3687.00,3688.00,446,0
+2006-01-09,15:58:00,3688.00,3689.00,3684.00,3685.00,2694,0
+2006-01-09,15:59:00,3685.00,3686.00,3684.00,3686.00,2028,0
+2006-01-09,16:00:00,3685.00,3686.00,3684.00,3686.00,919,0
+2006-01-09,16:01:00,3686.00,3687.00,3683.00,3683.00,2021,0
+2006-01-09,16:02:00,3683.00,3685.00,3682.00,3684.00,1352,0
+2006-01-09,16:03:00,3684.00,3685.00,3683.00,3684.00,1332,0
+2006-01-09,16:04:00,3684.00,3684.00,3683.00,3683.00,2016,0
+2006-01-09,16:05:00,3682.00,3683.00,3681.00,3682.00,2924,0
+2006-01-09,16:06:00,3682.00,3683.00,3682.00,3682.00,1049,0
+2006-01-09,16:07:00,3683.00,3683.00,3682.00,3683.00,1318,0
+2006-01-09,16:08:00,3682.00,3683.00,3682.00,3682.00,3764,0
+2006-01-09,16:09:00,3682.00,3685.00,3682.00,3684.00,1708,0
+2006-01-09,16:10:00,3684.00,3685.00,3683.00,3685.00,476,0
+2006-01-09,16:11:00,3685.00,3685.00,3683.00,3684.00,759,0
+2006-01-09,16:12:00,3684.00,3685.00,3683.00,3685.00,519,0
+2006-01-09,16:13:00,3684.00,3685.00,3684.00,3685.00,1827,0
+2006-01-09,16:14:00,3685.00,3686.00,3684.00,3686.00,1478,0
+2006-01-09,16:15:00,3686.00,3686.00,3685.00,3686.00,1806,0
+2006-01-09,16:16:00,3685.00,3687.00,3685.00,3687.00,1029,0
+2006-01-09,16:17:00,3687.00,3688.00,3686.00,3687.00,710,0
+2006-01-09,16:18:00,3686.00,3688.00,3686.00,3687.00,1957,0
+2006-01-09,16:19:00,3688.00,3689.00,3687.00,3687.00,1319,0
+2006-01-09,16:20:00,3687.00,3688.00,3686.00,3687.00,1091,0
+2006-01-09,16:21:00,3688.00,3688.00,3686.00,3686.00,942,0
+2006-01-09,16:22:00,3687.00,3687.00,3685.00,3686.00,796,0
+2006-01-09,16:23:00,3686.00,3688.00,3685.00,3687.00,1144,0
+2006-01-09,16:24:00,3686.00,3687.00,3685.00,3686.00,230,0
+2006-01-09,16:25:00,3686.00,3686.00,3685.00,3686.00,452,0
+2006-01-09,16:26:00,3686.00,3687.00,3685.00,3686.00,1115,0
+2006-01-09,16:27:00,3685.00,3686.00,3684.00,3686.00,1021,0
+2006-01-09,16:28:00,3685.00,3688.00,3685.00,3687.00,1359,0
+2006-01-09,16:29:00,3687.00,3687.00,3685.00,3686.00,794,0
+2006-01-09,16:30:00,3686.00,3687.00,3685.00,3685.00,486,0
+2006-01-09,16:31:00,3685.00,3687.00,3685.00,3687.00,1105,0
+2006-01-09,16:32:00,3688.00,3688.00,3687.00,3687.00,4448,0
+2006-01-09,16:33:00,3688.00,3688.00,3687.00,3687.00,882,0
+2006-01-09,16:34:00,3687.00,3687.00,3686.00,3687.00,279,0
+2006-01-09,16:35:00,3686.00,3687.00,3686.00,3687.00,1086,0
+2006-01-09,16:36:00,3686.00,3687.00,3686.00,3686.00,389,0
+2006-01-09,16:37:00,3687.00,3687.00,3686.00,3686.00,819,0
+2006-01-09,16:38:00,3687.00,3687.00,3685.00,3687.00,1105,0
+2006-01-09,16:39:00,3686.00,3687.00,3686.00,3686.00,523,0
+2006-01-09,16:40:00,3686.00,3687.00,3685.00,3686.00,1286,0
+2006-01-09,16:41:00,3686.00,3686.00,3684.00,3685.00,556,0
+2006-01-09,16:42:00,3685.00,3685.00,3684.00,3685.00,1464,0
+2006-01-09,16:43:00,3686.00,3686.00,3685.00,3686.00,60,0
+2006-01-09,16:44:00,3686.00,3686.00,3685.00,3686.00,261,0
+2006-01-09,16:45:00,3685.00,3686.00,3685.00,3686.00,195,0
+2006-01-09,16:46:00,3686.00,3688.00,3686.00,3688.00,857,0
+2006-01-09,16:47:00,3688.00,3688.00,3687.00,3687.00,416,0
+2006-01-09,16:48:00,3688.00,3688.00,3687.00,3687.00,422,0
+2006-01-09,16:49:00,3688.00,3689.00,3687.00,3689.00,1310,0
+2006-01-09,16:50:00,3688.00,3689.00,3688.00,3689.00,591,0
+2006-01-09,16:51:00,3688.00,3690.00,3687.00,3687.00,2691,0
+2006-01-09,16:52:00,3688.00,3689.00,3687.00,3689.00,821,0
+2006-01-09,16:53:00,3688.00,3689.00,3686.00,3687.00,1271,0
+2006-01-09,16:54:00,3687.00,3688.00,3685.00,3685.00,916,0
+2006-01-09,16:55:00,3686.00,3686.00,3685.00,3685.00,1363,0
+2006-01-09,16:56:00,3686.00,3687.00,3685.00,3686.00,1594,0
+2006-01-09,16:57:00,3686.00,3686.00,3685.00,3686.00,368,0
+2006-01-09,16:58:00,3686.00,3686.00,3685.00,3685.00,1103,0
+2006-01-09,16:59:00,3685.00,3685.00,3684.00,3685.00,171,0
+2006-01-09,17:00:00,3685.00,3685.00,3683.00,3683.00,1316,0
+2006-01-09,17:01:00,3683.00,3685.00,3683.00,3685.00,984,0
+2006-01-09,17:02:00,3685.00,3685.00,3683.00,3684.00,1211,0
+2006-01-09,17:03:00,3684.00,3684.00,3683.00,3683.00,4056,0
+2006-01-09,17:04:00,3683.00,3685.00,3683.00,3684.00,3208,0
+2006-01-09,17:05:00,3683.00,3684.00,3683.00,3683.00,833,0
+2006-01-09,17:06:00,3684.00,3684.00,3682.00,3682.00,1830,0
+2006-01-09,17:07:00,3683.00,3683.00,3682.00,3683.00,695,0
+2006-01-09,17:08:00,3683.00,3684.00,3682.00,3683.00,658,0
+2006-01-09,17:09:00,3684.00,3684.00,3683.00,3684.00,702,0
+2006-01-09,17:10:00,3684.00,3685.00,3683.00,3685.00,1383,0
+2006-01-09,17:11:00,3684.00,3685.00,3684.00,3685.00,697,0
+2006-01-09,17:12:00,3684.00,3685.00,3683.00,3685.00,1408,0
+2006-01-09,17:13:00,3684.00,3685.00,3684.00,3685.00,104,0
+2006-01-09,17:14:00,3685.00,3685.00,3684.00,3684.00,1397,0
+2006-01-09,17:15:00,3684.00,3684.00,3683.00,3684.00,396,0
+2006-01-09,17:16:00,3683.00,3684.00,3683.00,3683.00,766,0
+2006-01-09,17:17:00,3683.00,3684.00,3682.00,3683.00,648,0
+2006-01-09,17:18:00,3682.00,3684.00,3682.00,3683.00,677,0
+2006-01-09,17:19:00,3683.00,3684.00,3683.00,3684.00,1177,0
+2006-01-09,17:20:00,3683.00,3684.00,3683.00,3683.00,635,0
+2006-01-09,17:21:00,3684.00,3684.00,3683.00,3684.00,1464,0
+2006-01-09,17:22:00,3683.00,3685.00,3683.00,3684.00,1295,0
+2006-01-09,17:23:00,3685.00,3685.00,3684.00,3685.00,892,0
+2006-01-09,17:24:00,3684.00,3685.00,3684.00,3685.00,1165,0
+2006-01-09,17:25:00,3684.00,3684.00,3683.00,3684.00,714,0
+2006-01-09,17:26:00,3684.00,3685.00,3683.00,3684.00,881,0
+2006-01-09,17:27:00,3684.00,3686.00,3684.00,3686.00,880,0
+2006-01-09,17:28:00,3685.00,3686.00,3685.00,3685.00,1882,0
+2006-01-09,17:29:00,3685.00,3687.00,3685.00,3687.00,1782,0
+2006-01-09,17:30:00,3687.00,3687.00,3685.00,3686.00,5196,0
+2006-01-09,17:31:00,3686.00,3687.00,3685.00,3686.00,3309,0
+2006-01-09,17:32:00,3686.00,3687.00,3686.00,3686.00,1358,0
+2006-01-09,17:33:00,3686.00,3687.00,3686.00,3686.00,378,0
+2006-01-09,17:34:00,3687.00,3688.00,3686.00,3687.00,3153,0
+2006-01-09,17:35:00,3688.00,3688.00,3685.00,3685.00,4802,0
+2006-01-09,17:36:00,3685.00,3686.00,3685.00,3686.00,829,0
+2006-01-09,17:37:00,3686.00,3687.00,3685.00,3687.00,1230,0
+2006-01-09,17:38:00,3687.00,3687.00,3687.00,3687.00,682,0
+2006-01-09,17:39:00,3687.00,3687.00,3686.00,3686.00,786,0
+2006-01-09,17:40:00,3686.00,3687.00,3686.00,3687.00,945,0
+2006-01-09,17:41:00,3686.00,3686.00,3686.00,3686.00,38,0
+2006-01-09,17:42:00,3686.00,3687.00,3686.00,3686.00,410,0
+2006-01-09,17:43:00,3686.00,3686.00,3685.00,3686.00,166,0
+2006-01-09,17:44:00,3686.00,3687.00,3685.00,3685.00,763,0
+2006-01-09,17:45:00,3685.00,3686.00,3685.00,3686.00,156,0
+2006-01-09,17:46:00,3685.00,3686.00,3685.00,3686.00,624,0
+2006-01-09,17:47:00,3686.00,3686.00,3685.00,3686.00,440,0
+2006-01-09,17:48:00,3686.00,3686.00,3686.00,3686.00,48,0
+2006-01-09,17:49:00,3686.00,3687.00,3686.00,3686.00,263,0
+2006-01-09,17:50:00,3686.00,3686.00,3685.00,3686.00,190,0
+2006-01-09,17:51:00,3686.00,3686.00,3686.00,3686.00,1,0
+2006-01-09,17:52:00,3687.00,3687.00,3686.00,3686.00,135,0
+2006-01-09,17:53:00,3686.00,3686.00,3686.00,3686.00,14,0
+2006-01-09,17:54:00,3686.00,3687.00,3686.00,3686.00,522,0
+2006-01-09,17:55:00,3686.00,3686.00,3685.00,3686.00,160,0
+2006-01-09,17:56:00,3685.00,3686.00,3685.00,3685.00,131,0
+2006-01-09,17:57:00,3685.00,3685.00,3684.00,3685.00,295,0
+2006-01-09,17:58:00,3685.00,3685.00,3685.00,3685.00,120,0
+2006-01-09,17:59:00,3685.00,3685.00,3685.00,3685.00,65,0
+2006-01-09,18:00:00,3685.00,3687.00,3685.00,3686.00,638,0
+2006-01-09,18:01:00,3687.00,3688.00,3687.00,3688.00,648,0
+2006-01-09,18:02:00,3687.00,3688.00,3687.00,3687.00,257,0
+2006-01-09,18:03:00,3688.00,3688.00,3687.00,3687.00,434,0
+2006-01-09,18:04:00,3687.00,3687.00,3687.00,3687.00,121,0
+2006-01-09,18:05:00,3687.00,3688.00,3687.00,3688.00,156,0
+2006-01-09,18:06:00,3687.00,3688.00,3687.00,3688.00,30,0
+2006-01-09,18:07:00,3688.00,3688.00,3687.00,3687.00,69,0
+2006-01-09,18:09:00,3687.00,3688.00,3687.00,3687.00,217,0
+2006-01-09,18:10:00,3688.00,3688.00,3688.00,3688.00,368,0
+2006-01-09,18:11:00,3688.00,3689.00,3688.00,3688.00,205,0
+2006-01-09,18:12:00,3688.00,3688.00,3688.00,3688.00,150,0
+2006-01-09,18:13:00,3687.00,3687.00,3687.00,3687.00,292,0
+2006-01-09,18:14:00,3687.00,3688.00,3687.00,3687.00,130,0
+2006-01-09,18:15:00,3686.00,3686.00,3685.00,3685.00,451,0
+2006-01-09,18:16:00,3685.00,3686.00,3685.00,3686.00,273,0
+2006-01-09,18:17:00,3686.00,3686.00,3686.00,3686.00,20,0
+2006-01-09,18:18:00,3687.00,3687.00,3686.00,3686.00,42,0
+2006-01-09,18:19:00,3687.00,3687.00,3687.00,3687.00,1,0
+2006-01-09,18:20:00,3687.00,3687.00,3686.00,3686.00,63,0
+2006-01-09,18:21:00,3686.00,3686.00,3685.00,3685.00,440,0
+2006-01-09,18:22:00,3685.00,3685.00,3685.00,3685.00,76,0
+2006-01-09,18:23:00,3685.00,3687.00,3685.00,3687.00,89,0
+2006-01-09,18:24:00,3687.00,3687.00,3686.00,3686.00,324,0
+2006-01-09,18:25:00,3686.00,3687.00,3686.00,3686.00,123,0
+2006-01-09,18:26:00,3687.00,3687.00,3687.00,3687.00,221,0
+2006-01-09,18:27:00,3686.00,3688.00,3686.00,3687.00,137,0
+2006-01-09,18:28:00,3687.00,3687.00,3687.00,3687.00,83,0
+2006-01-09,18:29:00,3686.00,3687.00,3686.00,3687.00,199,0
+2006-01-09,18:30:00,3687.00,3687.00,3687.00,3687.00,35,0
+2006-01-09,18:31:00,3687.00,3687.00,3687.00,3687.00,151,0
+2006-01-09,18:32:00,3687.00,3687.00,3687.00,3687.00,106,0
+2006-01-09,18:33:00,3687.00,3687.00,3684.00,3684.00,995,0
+2006-01-09,18:34:00,3684.00,3685.00,3684.00,3685.00,35,0
+2006-01-09,18:35:00,3684.00,3684.00,3684.00,3684.00,3,0
+2006-01-09,18:36:00,3684.00,3684.00,3684.00,3684.00,303,0
+2006-01-09,18:37:00,3683.00,3684.00,3683.00,3684.00,518,0
+2006-01-09,18:38:00,3684.00,3684.00,3684.00,3684.00,81,0
+2006-01-09,18:39:00,3684.00,3684.00,3684.00,3684.00,168,0
+2006-01-09,18:40:00,3684.00,3684.00,3684.00,3684.00,7,0
+2006-01-09,18:41:00,3683.00,3684.00,3683.00,3684.00,369,0
+2006-01-09,18:42:00,3685.00,3686.00,3685.00,3685.00,366,0
+2006-01-09,18:43:00,3685.00,3686.00,3685.00,3685.00,289,0
+2006-01-09,18:44:00,3685.00,3686.00,3685.00,3686.00,126,0
+2006-01-09,18:45:00,3687.00,3688.00,3686.00,3686.00,311,0
+2006-01-09,18:46:00,3687.00,3688.00,3686.00,3687.00,78,0
+2006-01-09,18:47:00,3686.00,3687.00,3685.00,3686.00,137,0
+2006-01-09,18:48:00,3687.00,3688.00,3686.00,3688.00,355,0
+2006-01-09,18:49:00,3687.00,3688.00,3686.00,3686.00,599,0
+2006-01-09,18:50:00,3686.00,3687.00,3686.00,3686.00,238,0
+2006-01-09,18:51:00,3685.00,3685.00,3684.00,3684.00,214,0
+2006-01-09,18:52:00,3684.00,3685.00,3684.00,3685.00,274,0
+2006-01-09,18:53:00,3685.00,3685.00,3684.00,3684.00,154,0
+2006-01-09,18:54:00,3684.00,3684.00,3684.00,3684.00,93,0
+2006-01-09,18:55:00,3684.00,3684.00,3684.00,3684.00,282,0
+2006-01-09,18:56:00,3685.00,3685.00,3684.00,3684.00,97,0
+2006-01-09,18:57:00,3684.00,3684.00,3683.00,3683.00,347,0
+2006-01-09,18:58:00,3684.00,3685.00,3684.00,3684.00,323,0
+2006-01-09,18:59:00,3683.00,3685.00,3683.00,3685.00,208,0
+2006-01-09,19:00:00,3685.00,3686.00,3685.00,3686.00,111,0
+2006-01-09,19:01:00,3686.00,3686.00,3685.00,3685.00,292,0
+2006-01-09,19:02:00,3686.00,3686.00,3685.00,3685.00,144,0
+2006-01-09,19:03:00,3686.00,3686.00,3685.00,3685.00,37,0
+2006-01-09,19:04:00,3686.00,3686.00,3685.00,3686.00,27,0
+2006-01-09,19:05:00,3686.00,3687.00,3686.00,3687.00,402,0
+2006-01-09,19:06:00,3687.00,3687.00,3686.00,3686.00,40,0
+2006-01-09,19:07:00,3685.00,3686.00,3685.00,3686.00,48,0
+2006-01-09,19:08:00,3686.00,3687.00,3685.00,3685.00,282,0
+2006-01-09,19:09:00,3686.00,3686.00,3685.00,3686.00,22,0
+2006-01-09,19:10:00,3686.00,3686.00,3686.00,3686.00,23,0
+2006-01-09,19:11:00,3686.00,3686.00,3685.00,3686.00,165,0
+2006-01-09,19:12:00,3685.00,3687.00,3685.00,3687.00,459,0
+2006-01-09,19:13:00,3687.00,3687.00,3685.00,3685.00,353,0
+2006-01-09,19:14:00,3685.00,3685.00,3684.00,3685.00,185,0
+2006-01-09,19:15:00,3685.00,3685.00,3684.00,3684.00,15,0
+2006-01-09,19:16:00,3685.00,3685.00,3683.00,3684.00,488,0
+2006-01-09,19:17:00,3684.00,3684.00,3683.00,3684.00,132,0
+2006-01-09,19:18:00,3685.00,3685.00,3685.00,3685.00,26,0
+2006-01-09,19:19:00,3685.00,3685.00,3684.00,3684.00,21,0
+2006-01-09,19:20:00,3685.00,3685.00,3685.00,3685.00,22,0
+2006-01-09,19:21:00,3685.00,3686.00,3685.00,3686.00,388,0
+2006-01-09,19:22:00,3686.00,3686.00,3685.00,3686.00,1072,0
+2006-01-09,19:23:00,3685.00,3686.00,3685.00,3686.00,25,0
+2006-01-09,19:24:00,3686.00,3687.00,3686.00,3687.00,87,0
+2006-01-09,19:25:00,3687.00,3687.00,3687.00,3687.00,150,0
+2006-01-09,19:26:00,3686.00,3686.00,3685.00,3686.00,142,0
+2006-01-09,19:27:00,3685.00,3685.00,3684.00,3685.00,135,0
+2006-01-09,19:28:00,3685.00,3685.00,3684.00,3684.00,100,0
+2006-01-09,19:29:00,3684.00,3685.00,3684.00,3685.00,74,0
+2006-01-09,19:30:00,3684.00,3685.00,3684.00,3685.00,3,0
+2006-01-09,19:31:00,3685.00,3685.00,3685.00,3685.00,7,0
+2006-01-09,19:32:00,3685.00,3686.00,3685.00,3686.00,40,0
+2006-01-09,19:33:00,3685.00,3686.00,3685.00,3686.00,2,0
+2006-01-09,19:36:00,3686.00,3686.00,3685.00,3686.00,313,0
+2006-01-09,19:37:00,3685.00,3685.00,3685.00,3685.00,44,0
+2006-01-09,19:38:00,3686.00,3689.00,3686.00,3688.00,324,0
+2006-01-09,19:39:00,3689.00,3689.00,3688.00,3689.00,201,0
+2006-01-09,19:40:00,3688.00,3690.00,3687.00,3690.00,778,0
+2006-01-09,19:41:00,3689.00,3689.00,3688.00,3688.00,339,0
+2006-01-09,19:42:00,3689.00,3689.00,3688.00,3689.00,22,0
+2006-01-09,19:43:00,3688.00,3688.00,3688.00,3688.00,1,0
+2006-01-09,19:44:00,3689.00,3689.00,3689.00,3689.00,12,0
+2006-01-09,19:45:00,3689.00,3689.00,3688.00,3689.00,272,0
+2006-01-09,19:46:00,3689.00,3689.00,3688.00,3689.00,124,0
+2006-01-09,19:47:00,3689.00,3690.00,3689.00,3690.00,727,0
+2006-01-09,19:48:00,3690.00,3690.00,3689.00,3689.00,271,0
+2006-01-09,19:49:00,3689.00,3689.00,3688.00,3688.00,238,0
+2006-01-09,19:50:00,3689.00,3690.00,3688.00,3689.00,146,0
+2006-01-09,19:51:00,3690.00,3690.00,3689.00,3689.00,283,0
+2006-01-09,19:52:00,3690.00,3691.00,3690.00,3690.00,828,0
+2006-01-09,19:53:00,3691.00,3691.00,3690.00,3690.00,269,0
+2006-01-09,19:54:00,3691.00,3692.00,3690.00,3691.00,270,0
+2006-01-09,19:55:00,3692.00,3692.00,3690.00,3690.00,415,0
+2006-01-09,19:56:00,3690.00,3692.00,3690.00,3691.00,634,0
+2006-01-09,19:57:00,3692.00,3692.00,3690.00,3690.00,234,0
+2006-01-09,19:58:00,3691.00,3692.00,3690.00,3691.00,499,0
+2006-01-09,19:59:00,3691.00,3692.00,3691.00,3691.00,89,0
+2006-01-09,20:00:00,3691.00,3691.00,3690.00,3691.00,124,0
+2006-01-09,20:01:00,3691.00,3691.00,3690.00,3691.00,110,0
+2006-01-09,20:02:00,3692.00,3692.00,3690.00,3690.00,59,0
+2006-01-09,20:03:00,3690.00,3690.00,3689.00,3689.00,64,0
+2006-01-09,20:04:00,3690.00,3690.00,3689.00,3689.00,159,0
+2006-01-09,20:06:00,3690.00,3690.00,3689.00,3689.00,2,0
+2006-01-09,20:09:00,3690.00,3690.00,3689.00,3689.00,64,0
+2006-01-09,20:10:00,3689.00,3689.00,3689.00,3689.00,16,0
+2006-01-09,20:13:00,3689.00,3689.00,3689.00,3689.00,46,0
+2006-01-09,20:14:00,3689.00,3689.00,3688.00,3688.00,22,0
+2006-01-09,20:15:00,3689.00,3691.00,3688.00,3690.00,431,0
+2006-01-09,20:16:00,3690.00,3690.00,3690.00,3690.00,50,0
+2006-01-09,20:17:00,3690.00,3690.00,3689.00,3689.00,138,0
+2006-01-09,20:18:00,3690.00,3690.00,3689.00,3689.00,8,0
+2006-01-09,20:19:00,3689.00,3690.00,3689.00,3689.00,42,0
+2006-01-09,20:20:00,3690.00,3690.00,3690.00,3690.00,33,0
+2006-01-09,20:21:00,3690.00,3690.00,3689.00,3689.00,54,0
+2006-01-09,20:22:00,3690.00,3690.00,3689.00,3689.00,21,0
+2006-01-09,20:23:00,3690.00,3690.00,3689.00,3689.00,10,0
+2006-01-09,20:24:00,3689.00,3690.00,3689.00,3689.00,206,0
+2006-01-09,20:25:00,3689.00,3690.00,3689.00,3690.00,232,0
+2006-01-09,20:26:00,3690.00,3690.00,3689.00,3689.00,19,0
+2006-01-09,20:28:00,3689.00,3689.00,3689.00,3689.00,15,0
+2006-01-09,20:29:00,3689.00,3689.00,3689.00,3689.00,1,0
+2006-01-09,20:30:00,3690.00,3690.00,3688.00,3688.00,64,0
+2006-01-09,20:31:00,3688.00,3689.00,3688.00,3689.00,39,0
+2006-01-09,20:32:00,3690.00,3690.00,3688.00,3688.00,263,0
+2006-01-09,20:33:00,3688.00,3688.00,3687.00,3688.00,148,0
+2006-01-09,20:34:00,3687.00,3689.00,3687.00,3689.00,50,0
+2006-01-09,20:35:00,3688.00,3688.00,3687.00,3687.00,140,0
+2006-01-09,20:36:00,3688.00,3688.00,3687.00,3687.00,26,0
+2006-01-09,20:37:00,3688.00,3688.00,3688.00,3688.00,96,0
+2006-01-09,20:38:00,3688.00,3688.00,3687.00,3688.00,135,0
+2006-01-09,20:39:00,3688.00,3688.00,3687.00,3688.00,121,0
+2006-01-09,20:40:00,3688.00,3689.00,3688.00,3688.00,217,0
+2006-01-09,20:41:00,3688.00,3688.00,3685.00,3685.00,504,0
+2006-01-09,20:42:00,3685.00,3685.00,3684.00,3684.00,466,0
+2006-01-09,20:43:00,3684.00,3685.00,3684.00,3685.00,290,0
+2006-01-09,20:44:00,3685.00,3685.00,3685.00,3685.00,28,0
+2006-01-09,20:45:00,3685.00,3685.00,3683.00,3684.00,227,0
+2006-01-09,20:46:00,3684.00,3684.00,3683.00,3683.00,663,0
+2006-01-09,20:47:00,3683.00,3683.00,3683.00,3683.00,202,0
+2006-01-09,20:48:00,3684.00,3685.00,3684.00,3685.00,71,0
+2006-01-09,20:49:00,3684.00,3684.00,3684.00,3684.00,170,0
+2006-01-09,20:50:00,3684.00,3684.00,3683.00,3683.00,106,0
+2006-01-09,20:51:00,3684.00,3684.00,3684.00,3684.00,38,0
+2006-01-09,20:52:00,3684.00,3684.00,3684.00,3684.00,252,0
+2006-01-09,20:53:00,3684.00,3685.00,3683.00,3684.00,217,0
+2006-01-09,20:54:00,3684.00,3685.00,3684.00,3685.00,252,0
+2006-01-09,20:55:00,3685.00,3685.00,3684.00,3685.00,102,0
+2006-01-09,20:56:00,3684.00,3684.00,3684.00,3684.00,55,0
+2006-01-09,20:58:00,3685.00,3685.00,3684.00,3685.00,36,0
+2006-01-09,20:59:00,3684.00,3685.00,3684.00,3685.00,5,0
+2006-01-09,21:01:00,3684.00,3685.00,3683.00,3683.00,16,0
+2006-01-09,21:04:00,3684.00,3684.00,3683.00,3683.00,67,0
+2006-01-09,21:05:00,3684.00,3685.00,3684.00,3685.00,13,0
+2006-01-09,21:08:00,3685.00,3685.00,3685.00,3685.00,50,0
+2006-01-09,21:09:00,3686.00,3686.00,3685.00,3686.00,10,0
+2006-01-09,21:10:00,3685.00,3685.00,3684.00,3684.00,14,0
+2006-01-09,21:11:00,3685.00,3686.00,3685.00,3686.00,105,0
+2006-01-09,21:13:00,3685.00,3685.00,3685.00,3685.00,1,0
+2006-01-09,21:14:00,3685.00,3685.00,3684.00,3684.00,12,0
+2006-01-09,21:15:00,3684.00,3684.00,3683.00,3683.00,23,0
+2006-01-09,21:16:00,3684.00,3684.00,3684.00,3684.00,1,0
+2006-01-09,21:17:00,3684.00,3684.00,3684.00,3684.00,1,0
+2006-01-09,21:19:00,3683.00,3683.00,3683.00,3683.00,1,0
+2006-01-09,21:20:00,3684.00,3684.00,3683.00,3683.00,8,0
+2006-01-09,21:21:00,3683.00,3683.00,3683.00,3683.00,207,0
+2006-01-09,21:22:00,3684.00,3684.00,3683.00,3683.00,45,0
+2006-01-09,21:23:00,3683.00,3683.00,3683.00,3683.00,121,0
+2006-01-09,21:25:00,3684.00,3684.00,3683.00,3684.00,119,0
+2006-01-09,21:26:00,3684.00,3684.00,3684.00,3684.00,14,0
+2006-01-09,21:29:00,3684.00,3684.00,3684.00,3684.00,7,0
+2006-01-09,21:30:00,3683.00,3684.00,3683.00,3684.00,158,0
+2006-01-09,21:31:00,3683.00,3683.00,3682.00,3683.00,23,0
+2006-01-09,21:32:00,3684.00,3687.00,3684.00,3687.00,133,0
+2006-01-09,21:33:00,3686.00,3687.00,3686.00,3687.00,57,0
+2006-01-09,21:34:00,3687.00,3688.00,3687.00,3687.00,20,0
+2006-01-09,21:35:00,3687.00,3688.00,3687.00,3687.00,172,0
+2006-01-09,21:36:00,3689.00,3689.00,3687.00,3688.00,42,0
+2006-01-09,21:37:00,3688.00,3688.00,3688.00,3688.00,96,0
+2006-01-09,21:38:00,3688.00,3688.00,3688.00,3688.00,1,0
+2006-01-09,21:39:00,3688.00,3689.00,3687.00,3689.00,64,0
+2006-01-09,21:40:00,3687.00,3688.00,3687.00,3688.00,39,0
+2006-01-09,21:41:00,3687.00,3687.00,3687.00,3687.00,3,0
+2006-01-09,21:42:00,3687.00,3687.00,3687.00,3687.00,110,0
+2006-01-09,21:44:00,3687.00,3687.00,3687.00,3687.00,53,0
+2006-01-09,21:45:00,3687.00,3688.00,3687.00,3687.00,55,0
+2006-01-09,21:46:00,3687.00,3688.00,3687.00,3687.00,40,0
+2006-01-09,21:47:00,3687.00,3688.00,3687.00,3687.00,27,0
+2006-01-09,21:48:00,3687.00,3687.00,3686.00,3687.00,89,0
+2006-01-09,21:49:00,3686.00,3686.00,3686.00,3686.00,1,0
+2006-01-09,21:50:00,3686.00,3686.00,3686.00,3686.00,48,0
+2006-01-09,21:51:00,3686.00,3686.00,3686.00,3686.00,55,0
+2006-01-09,21:52:00,3686.00,3687.00,3685.00,3686.00,103,0
+2006-01-09,21:53:00,3686.00,3687.00,3686.00,3687.00,8,0
+2006-01-09,21:55:00,3686.00,3686.00,3685.00,3685.00,63,0
+2006-01-09,21:56:00,3686.00,3687.00,3686.00,3687.00,57,0
+2006-01-09,21:57:00,3687.00,3687.00,3686.00,3686.00,169,0
+2006-01-09,21:58:00,3687.00,3688.00,3687.00,3688.00,120,0
+2006-01-09,21:59:00,3689.00,3689.00,3688.00,3689.00,132,0
+2006-01-09,22:00:00,3689.00,3690.00,3689.00,3689.00,487,0
+2006-01-10,09:01:00,3676.00,3678.00,3675.00,3676.00,8104,0
+2006-01-10,09:02:00,3676.00,3677.00,3672.00,3672.00,8149,0
+2006-01-10,09:03:00,3672.00,3674.00,3671.00,3674.00,2611,0
+2006-01-10,09:04:00,3674.00,3674.00,3672.00,3672.00,1801,0
+2006-01-10,09:05:00,3672.00,3673.00,3671.00,3672.00,1190,0
+2006-01-10,09:06:00,3673.00,3674.00,3672.00,3674.00,1040,0
+2006-01-10,09:07:00,3674.00,3675.00,3673.00,3674.00,949,0
+2006-01-10,09:08:00,3674.00,3674.00,3671.00,3672.00,960,0
+2006-01-10,09:09:00,3671.00,3674.00,3671.00,3673.00,1385,0
+2006-01-10,09:10:00,3673.00,3674.00,3673.00,3674.00,408,0
+2006-01-10,09:11:00,3674.00,3676.00,3674.00,3675.00,991,0
+2006-01-10,09:12:00,3674.00,3675.00,3673.00,3673.00,1487,0
+2006-01-10,09:13:00,3673.00,3674.00,3672.00,3674.00,524,0
+2006-01-10,09:14:00,3674.00,3674.00,3673.00,3673.00,267,0
+2006-01-10,09:15:00,3674.00,3675.00,3674.00,3675.00,847,0
+2006-01-10,09:16:00,3675.00,3676.00,3675.00,3676.00,499,0
+2006-01-10,09:17:00,3675.00,3675.00,3674.00,3674.00,537,0
+2006-01-10,09:18:00,3675.00,3675.00,3672.00,3673.00,1668,0
+2006-01-10,09:19:00,3673.00,3673.00,3672.00,3672.00,1327,0
+2006-01-10,09:20:00,3672.00,3672.00,3671.00,3672.00,1024,0
+2006-01-10,09:21:00,3672.00,3673.00,3671.00,3672.00,1053,0
+2006-01-10,09:22:00,3672.00,3673.00,3671.00,3672.00,226,0
+2006-01-10,09:23:00,3673.00,3673.00,3671.00,3672.00,592,0
+2006-01-10,09:24:00,3671.00,3672.00,3670.00,3670.00,4093,0
+2006-01-10,09:25:00,3670.00,3672.00,3670.00,3670.00,1571,0
+2006-01-10,09:26:00,3670.00,3670.00,3669.00,3669.00,2526,0
+2006-01-10,09:27:00,3670.00,3671.00,3670.00,3671.00,917,0
+2006-01-10,09:28:00,3670.00,3671.00,3670.00,3671.00,919,0
+2006-01-10,09:29:00,3672.00,3673.00,3671.00,3671.00,1000,0
+2006-01-10,09:30:00,3671.00,3671.00,3670.00,3671.00,992,0
+2006-01-10,09:31:00,3672.00,3672.00,3671.00,3671.00,245,0
+2006-01-10,09:32:00,3671.00,3672.00,3671.00,3672.00,907,0
+2006-01-10,09:33:00,3672.00,3672.00,3671.00,3671.00,527,0
+2006-01-10,09:34:00,3671.00,3673.00,3671.00,3673.00,387,0
+2006-01-10,09:35:00,3672.00,3673.00,3672.00,3673.00,913,0
+2006-01-10,09:36:00,3673.00,3674.00,3672.00,3674.00,946,0
+2006-01-10,09:37:00,3674.00,3675.00,3673.00,3674.00,345,0
+2006-01-10,09:38:00,3674.00,3675.00,3674.00,3675.00,278,0
+2006-01-10,09:39:00,3674.00,3675.00,3673.00,3674.00,671,0
+2006-01-10,09:40:00,3674.00,3674.00,3673.00,3673.00,559,0
+2006-01-10,09:41:00,3673.00,3675.00,3673.00,3675.00,427,0
+2006-01-10,09:42:00,3674.00,3674.00,3674.00,3674.00,358,0
+2006-01-10,09:43:00,3673.00,3674.00,3673.00,3674.00,267,0
+2006-01-10,09:44:00,3673.00,3674.00,3673.00,3673.00,423,0
+2006-01-10,09:45:00,3673.00,3673.00,3671.00,3671.00,378,0
+2006-01-10,09:46:00,3672.00,3672.00,3672.00,3672.00,42,0
+2006-01-10,09:47:00,3671.00,3672.00,3671.00,3671.00,108,0
+2006-01-10,09:48:00,3671.00,3672.00,3670.00,3670.00,504,0
+2006-01-10,09:49:00,3670.00,3670.00,3667.00,3667.00,5584,0
+2006-01-10,09:50:00,3667.00,3668.00,3663.00,3664.00,8309,0
+2006-01-10,09:51:00,3663.00,3664.00,3661.00,3662.00,4624,0
+2006-01-10,09:52:00,3662.00,3664.00,3662.00,3663.00,1954,0
+2006-01-10,09:53:00,3664.00,3664.00,3662.00,3663.00,1786,0
+2006-01-10,09:54:00,3663.00,3664.00,3662.00,3663.00,985,0
+2006-01-10,09:55:00,3663.00,3664.00,3662.00,3664.00,972,0
+2006-01-10,09:56:00,3663.00,3664.00,3663.00,3663.00,1589,0
+2006-01-10,09:57:00,3663.00,3665.00,3663.00,3664.00,996,0
+2006-01-10,09:58:00,3664.00,3665.00,3664.00,3664.00,994,0
+2006-01-10,09:59:00,3664.00,3665.00,3664.00,3664.00,768,0
+2006-01-10,10:00:00,3664.00,3664.00,3662.00,3663.00,1102,0
+2006-01-10,10:01:00,3663.00,3663.00,3662.00,3662.00,1428,0
+2006-01-10,10:02:00,3663.00,3663.00,3661.00,3661.00,2113,0
+2006-01-10,10:03:00,3661.00,3663.00,3660.00,3662.00,3329,0
+2006-01-10,10:04:00,3662.00,3663.00,3662.00,3663.00,910,0
+2006-01-10,10:05:00,3662.00,3663.00,3662.00,3663.00,212,0
+2006-01-10,10:06:00,3663.00,3664.00,3662.00,3663.00,2916,0
+2006-01-10,10:07:00,3662.00,3663.00,3662.00,3662.00,811,0
+2006-01-10,10:08:00,3663.00,3663.00,3662.00,3662.00,448,0
+2006-01-10,10:09:00,3663.00,3663.00,3662.00,3662.00,529,0
+2006-01-10,10:10:00,3662.00,3663.00,3662.00,3662.00,1418,0
+2006-01-10,10:11:00,3662.00,3662.00,3661.00,3662.00,206,0
+2006-01-10,10:12:00,3662.00,3663.00,3661.00,3662.00,1073,0
+2006-01-10,10:13:00,3662.00,3662.00,3657.00,3658.00,5742,0
+2006-01-10,10:14:00,3659.00,3660.00,3658.00,3659.00,1699,0
+2006-01-10,10:15:00,3660.00,3660.00,3659.00,3660.00,946,0
+2006-01-10,10:16:00,3660.00,3661.00,3659.00,3659.00,1393,0
+2006-01-10,10:17:00,3659.00,3660.00,3658.00,3658.00,968,0
+2006-01-10,10:18:00,3659.00,3660.00,3658.00,3660.00,483,0
+2006-01-10,10:19:00,3660.00,3661.00,3660.00,3661.00,378,0
+2006-01-10,10:20:00,3661.00,3662.00,3660.00,3660.00,1520,0
+2006-01-10,10:21:00,3661.00,3661.00,3660.00,3660.00,513,0
+2006-01-10,10:22:00,3660.00,3661.00,3659.00,3659.00,512,0
+2006-01-10,10:23:00,3660.00,3661.00,3659.00,3660.00,266,0
+2006-01-10,10:24:00,3659.00,3660.00,3658.00,3660.00,2378,0
+2006-01-10,10:25:00,3660.00,3660.00,3658.00,3659.00,3258,0
+2006-01-10,10:26:00,3659.00,3660.00,3658.00,3658.00,1035,0
+2006-01-10,10:27:00,3658.00,3659.00,3658.00,3659.00,796,0
+2006-01-10,10:28:00,3659.00,3660.00,3659.00,3659.00,556,0
+2006-01-10,10:29:00,3659.00,3660.00,3659.00,3660.00,1336,0
+2006-01-10,10:30:00,3660.00,3661.00,3660.00,3661.00,477,0
+2006-01-10,10:31:00,3661.00,3661.00,3660.00,3661.00,665,0
+2006-01-10,10:32:00,3661.00,3661.00,3659.00,3659.00,1318,0
+2006-01-10,10:33:00,3659.00,3659.00,3659.00,3659.00,180,0
+2006-01-10,10:34:00,3659.00,3660.00,3659.00,3659.00,123,0
+2006-01-10,10:35:00,3660.00,3660.00,3658.00,3659.00,1069,0
+2006-01-10,10:36:00,3659.00,3660.00,3659.00,3659.00,411,0
+2006-01-10,10:37:00,3660.00,3661.00,3660.00,3660.00,572,0
+2006-01-10,10:38:00,3661.00,3661.00,3661.00,3661.00,793,0
+2006-01-10,10:39:00,3661.00,3661.00,3660.00,3660.00,236,0
+2006-01-10,10:40:00,3660.00,3661.00,3660.00,3660.00,221,0
+2006-01-10,10:41:00,3661.00,3661.00,3661.00,3661.00,47,0
+2006-01-10,10:42:00,3661.00,3661.00,3661.00,3661.00,87,0
+2006-01-10,10:43:00,3661.00,3661.00,3660.00,3660.00,232,0
+2006-01-10,10:44:00,3661.00,3661.00,3659.00,3659.00,2350,0
+2006-01-10,10:45:00,3659.00,3660.00,3659.00,3660.00,48,0
+2006-01-10,10:46:00,3660.00,3661.00,3659.00,3660.00,67,0
+2006-01-10,10:47:00,3660.00,3660.00,3660.00,3660.00,82,0
+2006-01-10,10:48:00,3660.00,3661.00,3659.00,3660.00,220,0
+2006-01-10,10:49:00,3659.00,3660.00,3658.00,3658.00,297,0
+2006-01-10,10:50:00,3658.00,3659.00,3657.00,3658.00,1272,0
+2006-01-10,10:51:00,3657.00,3659.00,3657.00,3658.00,307,0
+2006-01-10,10:52:00,3659.00,3659.00,3659.00,3659.00,636,0
+2006-01-10,10:53:00,3659.00,3659.00,3658.00,3659.00,222,0
+2006-01-10,10:54:00,3659.00,3660.00,3659.00,3659.00,359,0
+2006-01-10,10:55:00,3659.00,3661.00,3659.00,3660.00,212,0
+2006-01-10,10:56:00,3660.00,3660.00,3659.00,3660.00,166,0
+2006-01-10,10:57:00,3660.00,3660.00,3659.00,3660.00,361,0
+2006-01-10,10:58:00,3660.00,3661.00,3659.00,3659.00,373,0
+2006-01-10,10:59:00,3660.00,3661.00,3660.00,3661.00,482,0
+2006-01-10,11:00:00,3660.00,3661.00,3660.00,3660.00,1048,0
+2006-01-10,11:01:00,3661.00,3663.00,3661.00,3662.00,2263,0
+2006-01-10,11:02:00,3662.00,3662.00,3660.00,3660.00,1282,0
+2006-01-10,11:03:00,3659.00,3661.00,3659.00,3660.00,994,0
+2006-01-10,11:04:00,3661.00,3662.00,3661.00,3661.00,670,0
+2006-01-10,11:05:00,3661.00,3662.00,3661.00,3661.00,268,0
+2006-01-10,11:06:00,3661.00,3662.00,3661.00,3661.00,505,0
+2006-01-10,11:07:00,3662.00,3662.00,3661.00,3661.00,78,0
+2006-01-10,11:08:00,3660.00,3661.00,3660.00,3660.00,41,0
+2006-01-10,11:09:00,3660.00,3660.00,3659.00,3659.00,716,0
+2006-01-10,11:10:00,3660.00,3660.00,3659.00,3659.00,373,0
+2006-01-10,11:11:00,3660.00,3660.00,3659.00,3659.00,420,0
+2006-01-10,11:12:00,3659.00,3659.00,3658.00,3658.00,308,0
+2006-01-10,11:13:00,3658.00,3659.00,3657.00,3657.00,640,0
+2006-01-10,11:14:00,3657.00,3659.00,3657.00,3658.00,604,0
+2006-01-10,11:15:00,3658.00,3659.00,3658.00,3659.00,864,0
+2006-01-10,11:16:00,3659.00,3661.00,3659.00,3660.00,729,0
+2006-01-10,11:17:00,3660.00,3661.00,3659.00,3660.00,507,0
+2006-01-10,11:18:00,3660.00,3660.00,3659.00,3659.00,604,0
+2006-01-10,11:19:00,3659.00,3659.00,3658.00,3659.00,16,0
+2006-01-10,11:20:00,3659.00,3659.00,3658.00,3659.00,555,0
+2006-01-10,11:21:00,3659.00,3660.00,3659.00,3659.00,829,0
+2006-01-10,11:22:00,3659.00,3660.00,3658.00,3658.00,779,0
+2006-01-10,11:23:00,3658.00,3658.00,3657.00,3657.00,287,0
+2006-01-10,11:24:00,3657.00,3658.00,3656.00,3656.00,1457,0
+2006-01-10,11:25:00,3656.00,3658.00,3656.00,3658.00,1866,0
+2006-01-10,11:26:00,3657.00,3658.00,3655.00,3655.00,1306,0
+2006-01-10,11:27:00,3656.00,3656.00,3652.00,3652.00,5674,0
+2006-01-10,11:28:00,3653.00,3653.00,3651.00,3652.00,4200,0
+2006-01-10,11:29:00,3652.00,3654.00,3652.00,3653.00,1506,0
+2006-01-10,11:30:00,3654.00,3654.00,3651.00,3652.00,1594,0
+2006-01-10,11:31:00,3651.00,3652.00,3650.00,3650.00,3820,0
+2006-01-10,11:32:00,3650.00,3652.00,3650.00,3651.00,1926,0
+2006-01-10,11:33:00,3650.00,3653.00,3650.00,3653.00,2846,0
+2006-01-10,11:34:00,3652.00,3654.00,3652.00,3653.00,1858,0
+2006-01-10,11:35:00,3653.00,3654.00,3652.00,3653.00,951,0
+2006-01-10,11:36:00,3653.00,3654.00,3653.00,3653.00,145,0
+2006-01-10,11:37:00,3653.00,3653.00,3652.00,3652.00,139,0
+2006-01-10,11:38:00,3652.00,3653.00,3651.00,3651.00,1105,0
+2006-01-10,11:39:00,3652.00,3653.00,3651.00,3653.00,711,0
+2006-01-10,11:40:00,3653.00,3653.00,3652.00,3652.00,445,0
+2006-01-10,11:41:00,3653.00,3653.00,3652.00,3653.00,429,0
+2006-01-10,11:42:00,3653.00,3655.00,3653.00,3654.00,1665,0
+2006-01-10,11:43:00,3655.00,3656.00,3654.00,3656.00,1237,0
+2006-01-10,11:44:00,3656.00,3656.00,3655.00,3655.00,1435,0
+2006-01-10,11:45:00,3655.00,3655.00,3655.00,3655.00,466,0
+2006-01-10,11:46:00,3655.00,3655.00,3653.00,3654.00,1531,0
+2006-01-10,11:47:00,3653.00,3655.00,3653.00,3655.00,951,0
+2006-01-10,11:48:00,3655.00,3655.00,3654.00,3655.00,175,0
+2006-01-10,11:49:00,3655.00,3655.00,3655.00,3655.00,221,0
+2006-01-10,11:50:00,3655.00,3655.00,3655.00,3655.00,125,0
+2006-01-10,11:51:00,3654.00,3655.00,3654.00,3654.00,734,0
+2006-01-10,11:52:00,3654.00,3654.00,3653.00,3654.00,325,0
+2006-01-10,11:53:00,3653.00,3655.00,3653.00,3654.00,964,0
+2006-01-10,11:54:00,3655.00,3655.00,3655.00,3655.00,153,0
+2006-01-10,11:55:00,3655.00,3656.00,3655.00,3656.00,2626,0
+2006-01-10,11:56:00,3655.00,3656.00,3654.00,3655.00,463,0
+2006-01-10,11:57:00,3655.00,3656.00,3654.00,3655.00,573,0
+2006-01-10,11:58:00,3656.00,3656.00,3655.00,3656.00,591,0
+2006-01-10,11:59:00,3656.00,3656.00,3655.00,3656.00,406,0
+2006-01-10,12:00:00,3656.00,3656.00,3656.00,3656.00,310,0
+2006-01-10,12:01:00,3656.00,3656.00,3654.00,3654.00,1084,0
+2006-01-10,12:02:00,3655.00,3655.00,3654.00,3655.00,60,0
+2006-01-10,12:03:00,3655.00,3655.00,3653.00,3653.00,1087,0
+2006-01-10,12:04:00,3653.00,3655.00,3653.00,3655.00,1086,0
+2006-01-10,12:05:00,3654.00,3655.00,3654.00,3654.00,140,0
+2006-01-10,12:06:00,3655.00,3657.00,3655.00,3657.00,1160,0
+2006-01-10,12:07:00,3656.00,3656.00,3655.00,3656.00,266,0
+2006-01-10,12:08:00,3656.00,3656.00,3656.00,3656.00,122,0
+2006-01-10,12:09:00,3655.00,3656.00,3655.00,3656.00,94,0
+2006-01-10,12:10:00,3656.00,3657.00,3656.00,3657.00,492,0
+2006-01-10,12:11:00,3657.00,3657.00,3656.00,3657.00,1019,0
+2006-01-10,12:12:00,3657.00,3657.00,3657.00,3657.00,59,0
+2006-01-10,12:13:00,3657.00,3657.00,3656.00,3656.00,336,0
+2006-01-10,12:14:00,3656.00,3656.00,3655.00,3656.00,735,0
+2006-01-10,12:15:00,3656.00,3656.00,3655.00,3656.00,34,0
+2006-01-10,12:16:00,3655.00,3656.00,3655.00,3656.00,47,0
+2006-01-10,12:17:00,3656.00,3656.00,3656.00,3656.00,397,0
+2006-01-10,12:18:00,3656.00,3657.00,3656.00,3656.00,694,0
+2006-01-10,12:19:00,3656.00,3657.00,3656.00,3656.00,108,0
+2006-01-10,12:20:00,3656.00,3657.00,3656.00,3657.00,110,0
+2006-01-10,12:21:00,3657.00,3657.00,3657.00,3657.00,450,0
+2006-01-10,12:22:00,3656.00,3656.00,3656.00,3656.00,8,0
+2006-01-10,12:23:00,3657.00,3657.00,3656.00,3656.00,8,0
+2006-01-10,12:24:00,3656.00,3657.00,3655.00,3656.00,481,0
+2006-01-10,12:25:00,3656.00,3656.00,3656.00,3656.00,4,0
+2006-01-10,12:26:00,3655.00,3655.00,3655.00,3655.00,1,0
+2006-01-10,12:27:00,3655.00,3656.00,3655.00,3656.00,58,0
+2006-01-10,12:28:00,3656.00,3656.00,3656.00,3656.00,2,0
+2006-01-10,12:29:00,3656.00,3656.00,3654.00,3655.00,1363,0
+2006-01-10,12:30:00,3654.00,3655.00,3653.00,3654.00,1799,0
+2006-01-10,12:31:00,3653.00,3654.00,3653.00,3653.00,1180,0
+2006-01-10,12:32:00,3653.00,3653.00,3652.00,3653.00,334,0
+2006-01-10,12:33:00,3654.00,3654.00,3653.00,3653.00,110,0
+2006-01-10,12:34:00,3654.00,3654.00,3654.00,3654.00,1,0
+2006-01-10,12:36:00,3653.00,3654.00,3653.00,3654.00,104,0
+2006-01-10,12:37:00,3653.00,3654.00,3653.00,3653.00,52,0
+2006-01-10,12:38:00,3654.00,3654.00,3653.00,3654.00,3,0
+2006-01-10,12:39:00,3653.00,3654.00,3653.00,3653.00,242,0
+2006-01-10,12:40:00,3654.00,3654.00,3653.00,3654.00,388,0
+2006-01-10,12:41:00,3654.00,3654.00,3654.00,3654.00,1,0
+2006-01-10,12:42:00,3654.00,3654.00,3653.00,3654.00,49,0
+2006-01-10,12:43:00,3653.00,3653.00,3653.00,3653.00,1,0
+2006-01-10,12:44:00,3654.00,3654.00,3654.00,3654.00,10,0
+2006-01-10,12:45:00,3653.00,3654.00,3653.00,3653.00,129,0
+2006-01-10,12:46:00,3654.00,3654.00,3653.00,3653.00,167,0
+2006-01-10,12:47:00,3654.00,3654.00,3653.00,3654.00,9,0
+2006-01-10,12:48:00,3654.00,3655.00,3654.00,3655.00,515,0
+2006-01-10,12:49:00,3654.00,3655.00,3654.00,3655.00,701,0
+2006-01-10,12:50:00,3655.00,3655.00,3653.00,3654.00,147,0
+2006-01-10,12:51:00,3653.00,3655.00,3653.00,3654.00,99,0
+2006-01-10,12:52:00,3653.00,3655.00,3653.00,3655.00,28,0
+2006-01-10,12:53:00,3654.00,3655.00,3654.00,3655.00,2,0
+2006-01-10,12:54:00,3654.00,3655.00,3654.00,3655.00,16,0
+2006-01-10,12:55:00,3655.00,3655.00,3654.00,3655.00,45,0
+2006-01-10,12:56:00,3655.00,3656.00,3655.00,3656.00,215,0
+2006-01-10,12:57:00,3656.00,3656.00,3655.00,3655.00,11,0
+2006-01-10,12:58:00,3655.00,3656.00,3655.00,3656.00,63,0
+2006-01-10,12:59:00,3656.00,3657.00,3656.00,3656.00,445,0
+2006-01-10,13:00:00,3657.00,3657.00,3655.00,3656.00,251,0
+2006-01-10,13:01:00,3655.00,3657.00,3655.00,3657.00,293,0
+2006-01-10,13:02:00,3657.00,3657.00,3657.00,3657.00,111,0
+2006-01-10,13:03:00,3657.00,3658.00,3657.00,3657.00,252,0
+2006-01-10,13:04:00,3658.00,3658.00,3657.00,3657.00,753,0
+2006-01-10,13:05:00,3657.00,3658.00,3657.00,3657.00,243,0
+2006-01-10,13:06:00,3658.00,3658.00,3657.00,3658.00,41,0
+2006-01-10,13:07:00,3657.00,3658.00,3657.00,3658.00,660,0
+2006-01-10,13:08:00,3658.00,3658.00,3658.00,3658.00,222,0
+2006-01-10,13:09:00,3658.00,3659.00,3657.00,3658.00,1319,0
+2006-01-10,13:10:00,3658.00,3659.00,3657.00,3659.00,1324,0
+2006-01-10,13:11:00,3659.00,3659.00,3659.00,3659.00,90,0
+2006-01-10,13:12:00,3659.00,3659.00,3658.00,3659.00,61,0
+2006-01-10,13:13:00,3659.00,3659.00,3658.00,3659.00,16,0
+2006-01-10,13:14:00,3659.00,3659.00,3658.00,3659.00,370,0
+2006-01-10,13:15:00,3659.00,3660.00,3659.00,3659.00,310,0
+2006-01-10,13:16:00,3659.00,3660.00,3659.00,3659.00,379,0
+2006-01-10,13:17:00,3659.00,3659.00,3658.00,3659.00,903,0
+2006-01-10,13:18:00,3659.00,3659.00,3658.00,3659.00,615,0
+2006-01-10,13:19:00,3658.00,3659.00,3658.00,3659.00,2,0
+2006-01-10,13:20:00,3658.00,3659.00,3658.00,3659.00,706,0
+2006-01-10,13:21:00,3658.00,3659.00,3658.00,3659.00,4,0
+2006-01-10,13:22:00,3659.00,3659.00,3658.00,3658.00,59,0
+2006-01-10,13:23:00,3659.00,3659.00,3658.00,3658.00,458,0
+2006-01-10,13:24:00,3658.00,3658.00,3658.00,3658.00,160,0
+2006-01-10,13:25:00,3658.00,3658.00,3658.00,3658.00,378,0
+2006-01-10,13:26:00,3657.00,3658.00,3657.00,3657.00,933,0
+2006-01-10,13:27:00,3657.00,3657.00,3656.00,3657.00,100,0
+2006-01-10,13:28:00,3657.00,3657.00,3656.00,3656.00,309,0
+2006-01-10,13:29:00,3657.00,3657.00,3656.00,3656.00,8,0
+2006-01-10,13:30:00,3657.00,3657.00,3657.00,3657.00,1,0
+2006-01-10,13:31:00,3657.00,3658.00,3656.00,3658.00,96,0
+2006-01-10,13:32:00,3657.00,3658.00,3657.00,3657.00,3,0
+2006-01-10,13:33:00,3658.00,3658.00,3657.00,3657.00,21,0
+2006-01-10,13:34:00,3657.00,3657.00,3657.00,3657.00,239,0
+2006-01-10,13:35:00,3657.00,3658.00,3657.00,3658.00,45,0
+2006-01-10,13:36:00,3657.00,3658.00,3657.00,3658.00,31,0
+2006-01-10,13:37:00,3657.00,3658.00,3657.00,3657.00,403,0
+2006-01-10,13:38:00,3658.00,3658.00,3657.00,3658.00,490,0
+2006-01-10,13:39:00,3658.00,3659.00,3658.00,3658.00,191,0
+2006-01-10,13:40:00,3659.00,3659.00,3658.00,3658.00,30,0
+2006-01-10,13:41:00,3658.00,3658.00,3657.00,3657.00,435,0
+2006-01-10,13:42:00,3657.00,3658.00,3657.00,3657.00,128,0
+2006-01-10,13:43:00,3658.00,3658.00,3657.00,3657.00,15,0
+2006-01-10,13:44:00,3658.00,3658.00,3657.00,3658.00,76,0
+2006-01-10,13:45:00,3658.00,3658.00,3657.00,3657.00,150,0
+2006-01-10,13:46:00,3658.00,3658.00,3657.00,3657.00,93,0
+2006-01-10,13:47:00,3657.00,3657.00,3657.00,3657.00,621,0
+2006-01-10,13:48:00,3657.00,3657.00,3657.00,3657.00,210,0
+2006-01-10,13:49:00,3657.00,3657.00,3656.00,3657.00,277,0
+2006-01-10,13:50:00,3658.00,3658.00,3657.00,3657.00,146,0
+2006-01-10,13:51:00,3657.00,3658.00,3657.00,3657.00,169,0
+2006-01-10,13:52:00,3657.00,3657.00,3657.00,3657.00,2,0
+2006-01-10,13:53:00,3658.00,3658.00,3657.00,3657.00,43,0
+2006-01-10,13:54:00,3657.00,3657.00,3657.00,3657.00,26,0
+2006-01-10,13:55:00,3658.00,3658.00,3656.00,3657.00,1026,0
+2006-01-10,13:56:00,3656.00,3657.00,3656.00,3656.00,219,0
+2006-01-10,13:57:00,3657.00,3657.00,3656.00,3656.00,73,0
+2006-01-10,13:58:00,3656.00,3656.00,3656.00,3656.00,14,0
+2006-01-10,13:59:00,3657.00,3657.00,3656.00,3656.00,9,0
+2006-01-10,14:00:00,3656.00,3656.00,3656.00,3656.00,1,0
+2006-01-10,14:01:00,3657.00,3657.00,3656.00,3657.00,1094,0
+2006-01-10,14:02:00,3657.00,3657.00,3656.00,3657.00,674,0
+2006-01-10,14:03:00,3657.00,3658.00,3657.00,3657.00,168,0
+2006-01-10,14:04:00,3657.00,3657.00,3656.00,3656.00,163,0
+2006-01-10,14:05:00,3656.00,3658.00,3656.00,3657.00,382,0
+2006-01-10,14:06:00,3657.00,3658.00,3657.00,3657.00,150,0
+2006-01-10,14:07:00,3657.00,3657.00,3656.00,3656.00,157,0
+2006-01-10,14:08:00,3656.00,3656.00,3655.00,3655.00,1102,0
+2006-01-10,14:09:00,3654.00,3655.00,3653.00,3654.00,1526,0
+2006-01-10,14:10:00,3654.00,3656.00,3654.00,3655.00,676,0
+2006-01-10,14:11:00,3654.00,3655.00,3654.00,3655.00,144,0
+2006-01-10,14:12:00,3655.00,3655.00,3653.00,3653.00,1163,0
+2006-01-10,14:13:00,3653.00,3655.00,3653.00,3655.00,385,0
+2006-01-10,14:14:00,3655.00,3655.00,3654.00,3654.00,615,0
+2006-01-10,14:15:00,3655.00,3655.00,3654.00,3655.00,68,0
+2006-01-10,14:16:00,3654.00,3656.00,3654.00,3655.00,508,0
+2006-01-10,14:17:00,3654.00,3655.00,3654.00,3654.00,599,0
+2006-01-10,14:18:00,3654.00,3654.00,3653.00,3654.00,21,0
+2006-01-10,14:19:00,3654.00,3654.00,3653.00,3653.00,34,0
+2006-01-10,14:20:00,3654.00,3655.00,3654.00,3654.00,387,0
+2006-01-10,14:21:00,3654.00,3654.00,3653.00,3654.00,730,0
+2006-01-10,14:22:00,3654.00,3654.00,3653.00,3653.00,131,0
+2006-01-10,14:23:00,3653.00,3654.00,3652.00,3653.00,598,0
+2006-01-10,14:24:00,3653.00,3654.00,3652.00,3652.00,190,0
+2006-01-10,14:25:00,3653.00,3654.00,3653.00,3654.00,446,0
+2006-01-10,14:26:00,3654.00,3655.00,3654.00,3655.00,233,0
+2006-01-10,14:27:00,3655.00,3655.00,3654.00,3655.00,30,0
+2006-01-10,14:28:00,3655.00,3655.00,3654.00,3655.00,21,0
+2006-01-10,14:29:00,3655.00,3655.00,3655.00,3655.00,105,0
+2006-01-10,14:30:00,3654.00,3655.00,3654.00,3655.00,240,0
+2006-01-10,14:31:00,3654.00,3656.00,3654.00,3656.00,177,0
+2006-01-10,14:32:00,3656.00,3656.00,3655.00,3656.00,32,0
+2006-01-10,14:33:00,3655.00,3656.00,3655.00,3656.00,510,0
+2006-01-10,14:34:00,3655.00,3656.00,3655.00,3656.00,48,0
+2006-01-10,14:35:00,3655.00,3656.00,3655.00,3656.00,52,0
+2006-01-10,14:36:00,3655.00,3656.00,3655.00,3656.00,187,0
+2006-01-10,14:37:00,3655.00,3656.00,3655.00,3656.00,70,0
+2006-01-10,14:38:00,3655.00,3656.00,3655.00,3655.00,322,0
+2006-01-10,14:39:00,3655.00,3655.00,3654.00,3654.00,145,0
+2006-01-10,14:40:00,3654.00,3655.00,3654.00,3654.00,853,0
+2006-01-10,14:41:00,3655.00,3655.00,3653.00,3654.00,349,0
+2006-01-10,14:42:00,3655.00,3655.00,3653.00,3654.00,518,0
+2006-01-10,14:43:00,3654.00,3655.00,3654.00,3655.00,187,0
+2006-01-10,14:44:00,3655.00,3655.00,3653.00,3654.00,712,0
+2006-01-10,14:45:00,3654.00,3654.00,3653.00,3653.00,2,0
+2006-01-10,14:46:00,3654.00,3654.00,3654.00,3654.00,1,0
+2006-01-10,14:47:00,3654.00,3654.00,3653.00,3653.00,59,0
+2006-01-10,14:48:00,3654.00,3655.00,3653.00,3655.00,191,0
+2006-01-10,14:49:00,3654.00,3655.00,3654.00,3654.00,62,0
+2006-01-10,14:50:00,3654.00,3655.00,3654.00,3654.00,224,0
+2006-01-10,14:51:00,3654.00,3654.00,3653.00,3654.00,316,0
+2006-01-10,14:52:00,3654.00,3654.00,3653.00,3654.00,119,0
+2006-01-10,14:53:00,3653.00,3654.00,3653.00,3654.00,7,0
+2006-01-10,14:54:00,3653.00,3654.00,3653.00,3654.00,323,0
+2006-01-10,14:55:00,3654.00,3655.00,3654.00,3654.00,159,0
+2006-01-10,14:56:00,3654.00,3655.00,3654.00,3654.00,39,0
+2006-01-10,14:57:00,3654.00,3655.00,3654.00,3655.00,170,0
+2006-01-10,14:58:00,3654.00,3655.00,3654.00,3654.00,109,0
+2006-01-10,14:59:00,3654.00,3656.00,3654.00,3655.00,430,0
+2006-01-10,15:00:00,3655.00,3656.00,3655.00,3655.00,69,0
+2006-01-10,15:01:00,3655.00,3656.00,3654.00,3654.00,610,0
+2006-01-10,15:02:00,3654.00,3655.00,3654.00,3655.00,156,0
+2006-01-10,15:03:00,3655.00,3655.00,3654.00,3654.00,33,0
+2006-01-10,15:04:00,3654.00,3655.00,3654.00,3654.00,97,0
+2006-01-10,15:05:00,3655.00,3655.00,3654.00,3654.00,188,0
+2006-01-10,15:06:00,3655.00,3655.00,3654.00,3654.00,261,0
+2006-01-10,15:07:00,3655.00,3655.00,3653.00,3655.00,423,0
+2006-01-10,15:08:00,3654.00,3655.00,3654.00,3654.00,38,0
+2006-01-10,15:09:00,3655.00,3655.00,3655.00,3655.00,14,0
+2006-01-10,15:10:00,3654.00,3655.00,3654.00,3654.00,1054,0
+2006-01-10,15:11:00,3654.00,3654.00,3652.00,3653.00,447,0
+2006-01-10,15:12:00,3652.00,3653.00,3651.00,3651.00,1763,0
+2006-01-10,15:13:00,3651.00,3652.00,3651.00,3652.00,533,0
+2006-01-10,15:14:00,3652.00,3652.00,3651.00,3651.00,40,0
+2006-01-10,15:15:00,3652.00,3652.00,3651.00,3651.00,160,0
+2006-01-10,15:16:00,3651.00,3653.00,3651.00,3653.00,605,0
+2006-01-10,15:17:00,3653.00,3654.00,3653.00,3653.00,618,0
+2006-01-10,15:18:00,3653.00,3654.00,3653.00,3654.00,2541,0
+2006-01-10,15:19:00,3654.00,3656.00,3654.00,3656.00,1845,0
+2006-01-10,15:20:00,3656.00,3657.00,3655.00,3657.00,1670,0
+2006-01-10,15:21:00,3657.00,3657.00,3656.00,3657.00,351,0
+2006-01-10,15:22:00,3656.00,3656.00,3655.00,3656.00,493,0
+2006-01-10,15:23:00,3656.00,3657.00,3656.00,3657.00,182,0
+2006-01-10,15:24:00,3657.00,3657.00,3656.00,3656.00,109,0
+2006-01-10,15:25:00,3657.00,3657.00,3656.00,3657.00,141,0
+2006-01-10,15:26:00,3657.00,3657.00,3656.00,3657.00,691,0
+2006-01-10,15:27:00,3657.00,3657.00,3656.00,3657.00,31,0
+2006-01-10,15:28:00,3657.00,3657.00,3656.00,3657.00,157,0
+2006-01-10,15:29:00,3657.00,3657.00,3656.00,3656.00,219,0
+2006-01-10,15:30:00,3657.00,3657.00,3656.00,3657.00,398,0
+2006-01-10,15:31:00,3657.00,3658.00,3655.00,3656.00,366,0
+2006-01-10,15:32:00,3656.00,3656.00,3655.00,3656.00,111,0
+2006-01-10,15:33:00,3656.00,3656.00,3655.00,3656.00,200,0
+2006-01-10,15:34:00,3656.00,3657.00,3655.00,3657.00,809,0
+2006-01-10,15:35:00,3657.00,3658.00,3657.00,3657.00,858,0
+2006-01-10,15:36:00,3657.00,3657.00,3656.00,3657.00,597,0
+2006-01-10,15:37:00,3656.00,3657.00,3656.00,3657.00,1392,0
+2006-01-10,15:38:00,3657.00,3658.00,3657.00,3657.00,1022,0
+2006-01-10,15:39:00,3657.00,3658.00,3656.00,3657.00,1153,0
+2006-01-10,15:40:00,3657.00,3658.00,3657.00,3658.00,657,0
+2006-01-10,15:41:00,3658.00,3658.00,3657.00,3658.00,949,0
+2006-01-10,15:42:00,3657.00,3658.00,3657.00,3658.00,61,0
+2006-01-10,15:43:00,3658.00,3658.00,3657.00,3658.00,764,0
+2006-01-10,15:44:00,3658.00,3659.00,3657.00,3658.00,414,0
+2006-01-10,15:45:00,3659.00,3660.00,3659.00,3660.00,1276,0
+2006-01-10,15:46:00,3659.00,3659.00,3658.00,3658.00,249,0
+2006-01-10,15:47:00,3659.00,3659.00,3657.00,3657.00,570,0
+2006-01-10,15:48:00,3658.00,3659.00,3658.00,3658.00,516,0
+2006-01-10,15:49:00,3658.00,3659.00,3658.00,3659.00,522,0
+2006-01-10,15:50:00,3658.00,3659.00,3658.00,3658.00,143,0
+2006-01-10,15:51:00,3659.00,3659.00,3657.00,3658.00,1405,0
+2006-01-10,15:52:00,3657.00,3657.00,3656.00,3656.00,1537,0
+2006-01-10,15:53:00,3657.00,3658.00,3656.00,3656.00,494,0
+2006-01-10,15:54:00,3657.00,3657.00,3655.00,3657.00,1705,0
+2006-01-10,15:55:00,3656.00,3657.00,3655.00,3656.00,1547,0
+2006-01-10,15:56:00,3655.00,3657.00,3655.00,3656.00,347,0
+2006-01-10,15:57:00,3656.00,3657.00,3655.00,3656.00,1035,0
+2006-01-10,15:58:00,3656.00,3657.00,3655.00,3656.00,386,0
+2006-01-10,15:59:00,3656.00,3657.00,3655.00,3657.00,898,0
+2006-01-10,16:00:00,3657.00,3658.00,3656.00,3657.00,1021,0
+2006-01-10,16:01:00,3657.00,3658.00,3656.00,3657.00,795,0
+2006-01-10,16:02:00,3657.00,3658.00,3657.00,3657.00,974,0
+2006-01-10,16:03:00,3657.00,3659.00,3657.00,3659.00,2236,0
+2006-01-10,16:04:00,3660.00,3661.00,3659.00,3660.00,1538,0
+2006-01-10,16:05:00,3660.00,3662.00,3660.00,3661.00,2518,0
+2006-01-10,16:06:00,3660.00,3661.00,3658.00,3659.00,1417,0
+2006-01-10,16:07:00,3659.00,3660.00,3658.00,3658.00,1364,0
+2006-01-10,16:08:00,3659.00,3659.00,3658.00,3659.00,620,0
+2006-01-10,16:09:00,3660.00,3660.00,3659.00,3659.00,552,0
+2006-01-10,16:10:00,3659.00,3659.00,3658.00,3659.00,1694,0
+2006-01-10,16:11:00,3659.00,3660.00,3659.00,3659.00,153,0
+2006-01-10,16:12:00,3660.00,3660.00,3660.00,3660.00,721,0
+2006-01-10,16:13:00,3660.00,3661.00,3659.00,3660.00,1108,0
+2006-01-10,16:14:00,3661.00,3661.00,3660.00,3661.00,188,0
+2006-01-10,16:15:00,3661.00,3662.00,3661.00,3661.00,1884,0
+2006-01-10,16:16:00,3660.00,3662.00,3660.00,3661.00,477,0
+2006-01-10,16:17:00,3662.00,3662.00,3661.00,3662.00,1352,0
+2006-01-10,16:18:00,3662.00,3664.00,3662.00,3663.00,1832,0
+2006-01-10,16:19:00,3663.00,3663.00,3661.00,3663.00,2524,0
+2006-01-10,16:20:00,3663.00,3663.00,3660.00,3660.00,932,0
+2006-01-10,16:21:00,3660.00,3662.00,3660.00,3661.00,888,0
+2006-01-10,16:22:00,3661.00,3663.00,3661.00,3662.00,1479,0
+2006-01-10,16:23:00,3662.00,3663.00,3662.00,3663.00,433,0
+2006-01-10,16:24:00,3662.00,3663.00,3662.00,3662.00,138,0
+2006-01-10,16:25:00,3663.00,3664.00,3662.00,3664.00,1234,0
+2006-01-10,16:26:00,3664.00,3665.00,3663.00,3663.00,1964,0
+2006-01-10,16:27:00,3663.00,3663.00,3662.00,3663.00,884,0
+2006-01-10,16:28:00,3663.00,3664.00,3663.00,3664.00,631,0
+2006-01-10,16:29:00,3663.00,3663.00,3661.00,3662.00,1241,0
+2006-01-10,16:30:00,3662.00,3663.00,3662.00,3662.00,935,0
+2006-01-10,16:31:00,3663.00,3663.00,3662.00,3663.00,521,0
+2006-01-10,16:32:00,3662.00,3663.00,3662.00,3662.00,460,0
+2006-01-10,16:33:00,3663.00,3663.00,3662.00,3662.00,1204,0
+2006-01-10,16:34:00,3662.00,3664.00,3662.00,3664.00,973,0
+2006-01-10,16:35:00,3663.00,3663.00,3662.00,3662.00,415,0
+2006-01-10,16:36:00,3663.00,3664.00,3663.00,3664.00,1825,0
+2006-01-10,16:37:00,3664.00,3664.00,3663.00,3663.00,1231,0
+2006-01-10,16:38:00,3663.00,3664.00,3663.00,3664.00,1694,0
+2006-01-10,16:39:00,3664.00,3664.00,3663.00,3664.00,1906,0
+2006-01-10,16:40:00,3663.00,3666.00,3663.00,3666.00,3650,0
+2006-01-10,16:41:00,3666.00,3666.00,3665.00,3665.00,3867,0
+2006-01-10,16:42:00,3664.00,3665.00,3664.00,3664.00,685,0
+2006-01-10,16:43:00,3665.00,3666.00,3665.00,3666.00,387,0
+2006-01-10,16:44:00,3666.00,3666.00,3664.00,3665.00,483,0
+2006-01-10,16:45:00,3665.00,3665.00,3663.00,3663.00,1738,0
+2006-01-10,16:46:00,3663.00,3663.00,3662.00,3663.00,2294,0
+2006-01-10,16:47:00,3662.00,3663.00,3662.00,3663.00,1321,0
+2006-01-10,16:48:00,3663.00,3663.00,3662.00,3662.00,211,0
+2006-01-10,16:49:00,3663.00,3663.00,3662.00,3663.00,1815,0
+2006-01-10,16:50:00,3663.00,3663.00,3662.00,3662.00,694,0
+2006-01-10,16:51:00,3662.00,3664.00,3662.00,3664.00,1456,0
+2006-01-10,16:52:00,3663.00,3664.00,3663.00,3663.00,1358,0
+2006-01-10,16:53:00,3664.00,3664.00,3663.00,3663.00,164,0
+2006-01-10,16:54:00,3663.00,3664.00,3662.00,3662.00,928,0
+2006-01-10,16:55:00,3663.00,3663.00,3662.00,3662.00,321,0
+2006-01-10,16:56:00,3663.00,3664.00,3662.00,3663.00,899,0
+2006-01-10,16:57:00,3663.00,3664.00,3663.00,3664.00,1203,0
+2006-01-10,16:58:00,3665.00,3665.00,3663.00,3664.00,1141,0
+2006-01-10,16:59:00,3664.00,3664.00,3663.00,3663.00,124,0
+2006-01-10,17:00:00,3664.00,3664.00,3662.00,3663.00,1284,0
+2006-01-10,17:01:00,3664.00,3664.00,3663.00,3663.00,1734,0
+2006-01-10,17:02:00,3664.00,3664.00,3662.00,3663.00,2149,0
+2006-01-10,17:03:00,3662.00,3663.00,3662.00,3662.00,87,0
+2006-01-10,17:04:00,3662.00,3663.00,3661.00,3661.00,844,0
+2006-01-10,17:05:00,3661.00,3662.00,3660.00,3661.00,2709,0
+2006-01-10,17:06:00,3660.00,3661.00,3660.00,3661.00,877,0
+2006-01-10,17:07:00,3661.00,3661.00,3659.00,3660.00,2204,0
+2006-01-10,17:08:00,3659.00,3660.00,3658.00,3658.00,1887,0
+2006-01-10,17:09:00,3659.00,3659.00,3657.00,3658.00,2092,0
+2006-01-10,17:10:00,3658.00,3659.00,3657.00,3658.00,396,0
+2006-01-10,17:11:00,3659.00,3659.00,3658.00,3659.00,719,0
+2006-01-10,17:12:00,3660.00,3660.00,3658.00,3658.00,888,0
+2006-01-10,17:13:00,3659.00,3659.00,3658.00,3659.00,391,0
+2006-01-10,17:14:00,3659.00,3659.00,3658.00,3658.00,264,0
+2006-01-10,17:15:00,3659.00,3659.00,3658.00,3659.00,659,0
+2006-01-10,17:16:00,3659.00,3659.00,3658.00,3658.00,1447,0
+2006-01-10,17:17:00,3659.00,3659.00,3658.00,3659.00,31,0
+2006-01-10,17:18:00,3659.00,3659.00,3658.00,3658.00,1072,0
+2006-01-10,17:19:00,3659.00,3660.00,3659.00,3659.00,823,0
+2006-01-10,17:20:00,3659.00,3659.00,3658.00,3659.00,1166,0
+2006-01-10,17:21:00,3660.00,3660.00,3659.00,3659.00,584,0
+2006-01-10,17:22:00,3659.00,3660.00,3659.00,3660.00,201,0
+2006-01-10,17:23:00,3660.00,3661.00,3659.00,3659.00,2729,0
+2006-01-10,17:24:00,3660.00,3660.00,3659.00,3660.00,1193,0
+2006-01-10,17:25:00,3660.00,3661.00,3659.00,3660.00,4181,0
+2006-01-10,17:26:00,3660.00,3660.00,3659.00,3660.00,450,0
+2006-01-10,17:27:00,3659.00,3659.00,3658.00,3658.00,791,0
+2006-01-10,17:28:00,3659.00,3660.00,3658.00,3660.00,1202,0
+2006-01-10,17:29:00,3660.00,3660.00,3659.00,3659.00,1531,0
+2006-01-10,17:30:00,3659.00,3660.00,3656.00,3657.00,6535,0
+2006-01-10,17:31:00,3658.00,3658.00,3656.00,3657.00,5065,0
+2006-01-10,17:32:00,3657.00,3658.00,3656.00,3657.00,2809,0
+2006-01-10,17:33:00,3657.00,3657.00,3656.00,3657.00,1475,0
+2006-01-10,17:34:00,3657.00,3657.00,3656.00,3656.00,885,0
+2006-01-10,17:35:00,3656.00,3656.00,3655.00,3656.00,792,0
+2006-01-10,17:36:00,3656.00,3657.00,3656.00,3657.00,2518,0
+2006-01-10,17:37:00,3658.00,3659.00,3657.00,3658.00,1795,0
+2006-01-10,17:38:00,3658.00,3658.00,3657.00,3657.00,374,0
+2006-01-10,17:39:00,3658.00,3659.00,3657.00,3658.00,1578,0
+2006-01-10,17:40:00,3658.00,3659.00,3657.00,3659.00,1708,0
+2006-01-10,17:41:00,3658.00,3660.00,3658.00,3659.00,1270,0
+2006-01-10,17:42:00,3660.00,3661.00,3659.00,3661.00,868,0
+2006-01-10,17:43:00,3661.00,3662.00,3661.00,3662.00,1946,0
+2006-01-10,17:44:00,3662.00,3663.00,3662.00,3663.00,1380,0
+2006-01-10,17:45:00,3662.00,3663.00,3662.00,3662.00,937,0
+2006-01-10,17:46:00,3662.00,3663.00,3662.00,3663.00,338,0
+2006-01-10,17:47:00,3662.00,3663.00,3662.00,3662.00,1039,0
+2006-01-10,17:48:00,3662.00,3663.00,3662.00,3663.00,984,0
+2006-01-10,17:49:00,3663.00,3664.00,3663.00,3663.00,300,0
+2006-01-10,17:50:00,3663.00,3664.00,3662.00,3664.00,1515,0
+2006-01-10,17:51:00,3663.00,3663.00,3663.00,3663.00,65,0
+2006-01-10,17:52:00,3663.00,3664.00,3663.00,3663.00,1225,0
+2006-01-10,17:53:00,3663.00,3663.00,3662.00,3663.00,283,0
+2006-01-10,17:54:00,3663.00,3663.00,3663.00,3663.00,233,0
+2006-01-10,17:55:00,3662.00,3663.00,3662.00,3663.00,1234,0
+2006-01-10,17:56:00,3662.00,3663.00,3662.00,3663.00,108,0
+2006-01-10,17:57:00,3662.00,3663.00,3662.00,3663.00,9,0
+2006-01-10,17:58:00,3663.00,3663.00,3662.00,3662.00,4,0
+2006-01-10,17:59:00,3662.00,3663.00,3662.00,3662.00,1027,0
+2006-01-10,18:00:00,3662.00,3663.00,3662.00,3663.00,251,0
+2006-01-10,18:01:00,3663.00,3663.00,3663.00,3663.00,41,0
+2006-01-10,18:02:00,3663.00,3664.00,3663.00,3664.00,216,0
+2006-01-10,18:03:00,3664.00,3665.00,3663.00,3664.00,1298,0
+2006-01-10,18:04:00,3664.00,3664.00,3664.00,3664.00,615,0
+2006-01-10,18:05:00,3665.00,3666.00,3664.00,3666.00,1385,0
+2006-01-10,18:06:00,3666.00,3668.00,3666.00,3667.00,3749,0
+2006-01-10,18:07:00,3667.00,3667.00,3666.00,3667.00,705,0
+2006-01-10,18:08:00,3667.00,3667.00,3666.00,3666.00,413,0
+2006-01-10,18:09:00,3667.00,3667.00,3666.00,3666.00,347,0
+2006-01-10,18:10:00,3666.00,3667.00,3666.00,3666.00,144,0
+2006-01-10,18:11:00,3666.00,3666.00,3666.00,3666.00,83,0
+2006-01-10,18:12:00,3666.00,3666.00,3665.00,3665.00,540,0
+2006-01-10,18:13:00,3665.00,3666.00,3665.00,3666.00,241,0
+2006-01-10,18:14:00,3665.00,3665.00,3664.00,3665.00,535,0
+2006-01-10,18:15:00,3664.00,3665.00,3664.00,3665.00,124,0
+2006-01-10,18:16:00,3664.00,3665.00,3664.00,3665.00,111,0
+2006-01-10,18:17:00,3665.00,3668.00,3665.00,3668.00,1150,0
+2006-01-10,18:18:00,3668.00,3668.00,3667.00,3668.00,729,0
+2006-01-10,18:19:00,3669.00,3669.00,3668.00,3669.00,513,0
+2006-01-10,18:20:00,3668.00,3668.00,3667.00,3667.00,357,0
+2006-01-10,18:21:00,3667.00,3668.00,3667.00,3668.00,296,0
+2006-01-10,18:22:00,3667.00,3667.00,3667.00,3667.00,44,0
+2006-01-10,18:23:00,3667.00,3667.00,3667.00,3667.00,260,0
+2006-01-10,18:24:00,3666.00,3666.00,3666.00,3666.00,515,0
+2006-01-10,18:25:00,3666.00,3666.00,3664.00,3665.00,205,0
+2006-01-10,18:26:00,3665.00,3665.00,3664.00,3665.00,309,0
+2006-01-10,18:27:00,3665.00,3665.00,3664.00,3664.00,304,0
+2006-01-10,18:28:00,3664.00,3665.00,3663.00,3664.00,136,0
+2006-01-10,18:29:00,3665.00,3665.00,3665.00,3665.00,100,0
+2006-01-10,18:30:00,3665.00,3665.00,3664.00,3664.00,415,0
+2006-01-10,18:31:00,3665.00,3665.00,3664.00,3664.00,154,0
+2006-01-10,18:32:00,3664.00,3664.00,3664.00,3664.00,96,0
+2006-01-10,18:33:00,3664.00,3664.00,3663.00,3663.00,138,0
+2006-01-10,18:34:00,3663.00,3663.00,3662.00,3662.00,60,0
+2006-01-10,18:35:00,3663.00,3663.00,3663.00,3663.00,9,0
+2006-01-10,18:36:00,3663.00,3663.00,3663.00,3663.00,112,0
+2006-01-10,18:37:00,3663.00,3663.00,3662.00,3662.00,162,0
+2006-01-10,18:38:00,3663.00,3664.00,3663.00,3663.00,383,0
+2006-01-10,18:39:00,3663.00,3664.00,3663.00,3664.00,5,0
+2006-01-10,18:40:00,3664.00,3664.00,3664.00,3664.00,12,0
+2006-01-10,18:41:00,3663.00,3663.00,3662.00,3663.00,338,0
+2006-01-10,18:42:00,3664.00,3664.00,3663.00,3663.00,216,0
+2006-01-10,18:43:00,3663.00,3663.00,3662.00,3662.00,117,0
+2006-01-10,18:44:00,3662.00,3663.00,3662.00,3663.00,49,0
+2006-01-10,18:45:00,3663.00,3663.00,3663.00,3663.00,287,0
+2006-01-10,18:46:00,3663.00,3663.00,3662.00,3662.00,259,0
+2006-01-10,18:47:00,3662.00,3662.00,3661.00,3662.00,130,0
+2006-01-10,18:48:00,3661.00,3661.00,3661.00,3661.00,309,0
+2006-01-10,18:49:00,3661.00,3661.00,3660.00,3660.00,532,0
+2006-01-10,18:50:00,3660.00,3661.00,3660.00,3661.00,116,0
+2006-01-10,18:51:00,3662.00,3662.00,3661.00,3661.00,217,0
+2006-01-10,18:52:00,3662.00,3662.00,3662.00,3662.00,51,0
+2006-01-10,18:53:00,3663.00,3663.00,3662.00,3662.00,137,0
+2006-01-10,18:54:00,3662.00,3662.00,3661.00,3662.00,681,0
+2006-01-10,18:55:00,3661.00,3661.00,3661.00,3661.00,33,0
+2006-01-10,18:56:00,3662.00,3662.00,3661.00,3661.00,40,0
+2006-01-10,18:57:00,3661.00,3661.00,3661.00,3661.00,46,0
+2006-01-10,18:58:00,3660.00,3661.00,3660.00,3661.00,5,0
+2006-01-10,18:59:00,3661.00,3662.00,3661.00,3661.00,102,0
+2006-01-10,19:00:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-10,19:01:00,3662.00,3662.00,3662.00,3662.00,19,0
+2006-01-10,19:02:00,3663.00,3663.00,3662.00,3662.00,241,0
+2006-01-10,19:03:00,3662.00,3662.00,3662.00,3662.00,145,0
+2006-01-10,19:04:00,3662.00,3664.00,3662.00,3662.00,596,0
+2006-01-10,19:05:00,3662.00,3662.00,3662.00,3662.00,84,0
+2006-01-10,19:06:00,3662.00,3663.00,3662.00,3663.00,47,0
+2006-01-10,19:07:00,3663.00,3663.00,3663.00,3663.00,20,0
+2006-01-10,19:08:00,3662.00,3662.00,3662.00,3662.00,50,0
+2006-01-10,19:09:00,3662.00,3662.00,3662.00,3662.00,30,0
+2006-01-10,19:10:00,3663.00,3664.00,3663.00,3663.00,26,0
+2006-01-10,19:11:00,3664.00,3664.00,3663.00,3663.00,145,0
+2006-01-10,19:12:00,3663.00,3664.00,3663.00,3664.00,121,0
+2006-01-10,19:13:00,3665.00,3666.00,3665.00,3666.00,660,0
+2006-01-10,19:14:00,3666.00,3667.00,3666.00,3666.00,73,0
+2006-01-10,19:15:00,3666.00,3666.00,3666.00,3666.00,13,0
+2006-01-10,19:16:00,3666.00,3666.00,3666.00,3666.00,37,0
+2006-01-10,19:17:00,3666.00,3667.00,3666.00,3667.00,121,0
+2006-01-10,19:18:00,3667.00,3667.00,3667.00,3667.00,78,0
+2006-01-10,19:19:00,3667.00,3668.00,3666.00,3666.00,362,0
+2006-01-10,19:20:00,3666.00,3668.00,3666.00,3667.00,136,0
+2006-01-10,19:21:00,3667.00,3669.00,3667.00,3669.00,388,0
+2006-01-10,19:22:00,3669.00,3670.00,3669.00,3669.00,373,0
+2006-01-10,19:23:00,3670.00,3671.00,3670.00,3671.00,627,0
+2006-01-10,19:24:00,3671.00,3672.00,3670.00,3672.00,812,0
+2006-01-10,19:25:00,3672.00,3672.00,3671.00,3671.00,340,0
+2006-01-10,19:26:00,3672.00,3674.00,3672.00,3674.00,1398,0
+2006-01-10,19:27:00,3674.00,3675.00,3674.00,3674.00,938,0
+2006-01-10,19:28:00,3673.00,3674.00,3673.00,3674.00,193,0
+2006-01-10,19:29:00,3673.00,3673.00,3673.00,3673.00,172,0
+2006-01-10,19:30:00,3673.00,3673.00,3672.00,3672.00,6,0
+2006-01-10,19:31:00,3673.00,3674.00,3672.00,3673.00,443,0
+2006-01-10,19:32:00,3673.00,3674.00,3673.00,3673.00,65,0
+2006-01-10,19:33:00,3673.00,3674.00,3673.00,3673.00,68,0
+2006-01-10,19:34:00,3673.00,3673.00,3671.00,3671.00,387,0
+2006-01-10,19:35:00,3672.00,3672.00,3671.00,3671.00,99,0
+2006-01-10,19:36:00,3672.00,3672.00,3671.00,3671.00,151,0
+2006-01-10,19:37:00,3670.00,3670.00,3669.00,3670.00,533,0
+2006-01-10,19:38:00,3670.00,3670.00,3670.00,3670.00,11,0
+2006-01-10,19:39:00,3670.00,3670.00,3669.00,3669.00,5,0
+2006-01-10,19:40:00,3670.00,3670.00,3669.00,3669.00,105,0
+2006-01-10,19:41:00,3669.00,3669.00,3669.00,3669.00,34,0
+2006-01-10,19:42:00,3670.00,3670.00,3669.00,3670.00,86,0
+2006-01-10,19:43:00,3669.00,3669.00,3669.00,3669.00,10,0
+2006-01-10,19:44:00,3669.00,3670.00,3669.00,3669.00,32,0
+2006-01-10,19:45:00,3670.00,3670.00,3670.00,3670.00,22,0
+2006-01-10,19:46:00,3670.00,3670.00,3669.00,3670.00,116,0
+2006-01-10,19:47:00,3670.00,3670.00,3669.00,3669.00,112,0
+2006-01-10,19:48:00,3668.00,3669.00,3668.00,3669.00,113,0
+2006-01-10,19:49:00,3668.00,3669.00,3668.00,3669.00,257,0
+2006-01-10,19:51:00,3668.00,3670.00,3668.00,3670.00,115,0
+2006-01-10,19:52:00,3669.00,3670.00,3669.00,3670.00,189,0
+2006-01-10,19:53:00,3670.00,3671.00,3670.00,3671.00,9,0
+2006-01-10,19:54:00,3671.00,3671.00,3670.00,3670.00,150,0
+2006-01-10,19:55:00,3670.00,3670.00,3669.00,3669.00,96,0
+2006-01-10,19:56:00,3668.00,3669.00,3668.00,3668.00,364,0
+2006-01-10,19:57:00,3668.00,3668.00,3666.00,3666.00,425,0
+2006-01-10,19:58:00,3666.00,3667.00,3666.00,3667.00,65,0
+2006-01-10,19:59:00,3667.00,3667.00,3666.00,3667.00,193,0
+2006-01-10,20:00:00,3667.00,3668.00,3666.00,3667.00,65,0
+2006-01-10,20:01:00,3666.00,3666.00,3665.00,3665.00,395,0
+2006-01-10,20:02:00,3666.00,3667.00,3666.00,3666.00,1003,0
+2006-01-10,20:03:00,3666.00,3666.00,3664.00,3664.00,301,0
+2006-01-10,20:04:00,3664.00,3665.00,3664.00,3664.00,329,0
+2006-01-10,20:05:00,3664.00,3665.00,3664.00,3665.00,232,0
+2006-01-10,20:06:00,3665.00,3665.00,3664.00,3664.00,281,0
+2006-01-10,20:07:00,3664.00,3665.00,3664.00,3665.00,157,0
+2006-01-10,20:09:00,3666.00,3666.00,3665.00,3665.00,88,0
+2006-01-10,20:10:00,3665.00,3665.00,3665.00,3665.00,204,0
+2006-01-10,20:11:00,3666.00,3666.00,3666.00,3666.00,11,0
+2006-01-10,20:12:00,3665.00,3666.00,3665.00,3665.00,20,0
+2006-01-10,20:13:00,3665.00,3665.00,3665.00,3665.00,27,0
+2006-01-10,20:14:00,3664.00,3665.00,3663.00,3664.00,21,0
+2006-01-10,20:15:00,3664.00,3665.00,3664.00,3665.00,87,0
+2006-01-10,20:16:00,3665.00,3665.00,3665.00,3665.00,11,0
+2006-01-10,20:17:00,3664.00,3664.00,3664.00,3664.00,48,0
+2006-01-10,20:18:00,3664.00,3664.00,3664.00,3664.00,105,0
+2006-01-10,20:19:00,3665.00,3665.00,3665.00,3665.00,23,0
+2006-01-10,20:20:00,3665.00,3665.00,3665.00,3665.00,18,0
+2006-01-10,20:21:00,3666.00,3666.00,3666.00,3666.00,54,0
+2006-01-10,20:22:00,3667.00,3667.00,3667.00,3667.00,13,0
+2006-01-10,20:23:00,3666.00,3666.00,3666.00,3666.00,5,0
+2006-01-10,20:24:00,3667.00,3667.00,3667.00,3667.00,48,0
+2006-01-10,20:25:00,3667.00,3667.00,3667.00,3667.00,20,0
+2006-01-10,20:26:00,3666.00,3666.00,3666.00,3666.00,103,0
+2006-01-10,20:27:00,3665.00,3665.00,3665.00,3665.00,42,0
+2006-01-10,20:28:00,3664.00,3665.00,3664.00,3665.00,43,0
+2006-01-10,20:29:00,3665.00,3665.00,3665.00,3665.00,32,0
+2006-01-10,20:30:00,3665.00,3665.00,3664.00,3664.00,54,0
+2006-01-10,20:31:00,3664.00,3664.00,3664.00,3664.00,46,0
+2006-01-10,20:32:00,3664.00,3664.00,3663.00,3663.00,107,0
+2006-01-10,20:33:00,3664.00,3664.00,3664.00,3664.00,19,0
+2006-01-10,20:34:00,3664.00,3665.00,3664.00,3665.00,43,0
+2006-01-10,20:35:00,3665.00,3665.00,3665.00,3665.00,13,0
+2006-01-10,20:36:00,3664.00,3664.00,3664.00,3664.00,10,0
+2006-01-10,20:38:00,3664.00,3664.00,3664.00,3664.00,35,0
+2006-01-10,20:39:00,3664.00,3664.00,3663.00,3663.00,39,0
+2006-01-10,20:40:00,3664.00,3664.00,3664.00,3664.00,1,0
+2006-01-10,20:41:00,3664.00,3665.00,3664.00,3665.00,15,0
+2006-01-10,20:42:00,3665.00,3665.00,3665.00,3665.00,35,0
+2006-01-10,20:43:00,3665.00,3665.00,3664.00,3664.00,35,0
+2006-01-10,20:44:00,3665.00,3665.00,3665.00,3665.00,2,0
+2006-01-10,20:46:00,3664.00,3664.00,3663.00,3663.00,348,0
+2006-01-10,20:48:00,3663.00,3663.00,3663.00,3663.00,175,0
+2006-01-10,20:49:00,3664.00,3664.00,3664.00,3664.00,145,0
+2006-01-10,20:50:00,3664.00,3665.00,3664.00,3665.00,123,0
+2006-01-10,20:51:00,3664.00,3664.00,3663.00,3663.00,55,0
+2006-01-10,20:52:00,3663.00,3663.00,3663.00,3663.00,25,0
+2006-01-10,20:53:00,3663.00,3663.00,3663.00,3663.00,158,0
+2006-01-10,20:54:00,3663.00,3663.00,3663.00,3663.00,125,0
+2006-01-10,20:56:00,3663.00,3664.00,3663.00,3664.00,97,0
+2006-01-10,20:57:00,3663.00,3664.00,3663.00,3664.00,164,0
+2006-01-10,20:58:00,3664.00,3664.00,3664.00,3664.00,29,0
+2006-01-10,20:59:00,3663.00,3663.00,3663.00,3663.00,1,0
+2006-01-10,21:00:00,3663.00,3663.00,3663.00,3663.00,24,0
+2006-01-10,21:01:00,3663.00,3664.00,3663.00,3664.00,83,0
+2006-01-10,21:04:00,3664.00,3664.00,3663.00,3664.00,39,0
+2006-01-10,21:05:00,3663.00,3664.00,3663.00,3664.00,27,0
+2006-01-10,21:07:00,3664.00,3664.00,3664.00,3664.00,12,0
+2006-01-10,21:09:00,3663.00,3663.00,3663.00,3663.00,16,0
+2006-01-10,21:10:00,3664.00,3664.00,3664.00,3664.00,1,0
+2006-01-10,21:11:00,3663.00,3663.00,3663.00,3663.00,25,0
+2006-01-10,21:12:00,3663.00,3663.00,3663.00,3663.00,7,0
+2006-01-10,21:14:00,3664.00,3665.00,3664.00,3665.00,23,0
+2006-01-10,21:15:00,3665.00,3665.00,3664.00,3664.00,96,0
+2006-01-10,21:16:00,3664.00,3664.00,3664.00,3664.00,30,0
+2006-01-10,21:17:00,3664.00,3664.00,3664.00,3664.00,6,0
+2006-01-10,21:18:00,3664.00,3664.00,3664.00,3664.00,3,0
+2006-01-10,21:19:00,3664.00,3664.00,3664.00,3664.00,2,0
+2006-01-10,21:20:00,3665.00,3665.00,3665.00,3665.00,8,0
+2006-01-10,21:21:00,3664.00,3665.00,3664.00,3664.00,17,0
+2006-01-10,21:23:00,3665.00,3665.00,3665.00,3665.00,1,0
+2006-01-10,21:25:00,3666.00,3667.00,3666.00,3666.00,68,0
+2006-01-10,21:26:00,3666.00,3666.00,3666.00,3666.00,19,0
+2006-01-10,21:28:00,3666.00,3666.00,3666.00,3666.00,5,0
+2006-01-10,21:29:00,3666.00,3666.00,3666.00,3666.00,25,0
+2006-01-10,21:30:00,3666.00,3666.00,3666.00,3666.00,1,0
+2006-01-10,21:31:00,3667.00,3668.00,3667.00,3668.00,94,0
+2006-01-10,21:32:00,3667.00,3667.00,3666.00,3667.00,14,0
+2006-01-10,21:33:00,3667.00,3667.00,3667.00,3667.00,6,0
+2006-01-10,21:34:00,3667.00,3667.00,3666.00,3666.00,6,0
+2006-01-10,21:35:00,3667.00,3667.00,3667.00,3667.00,1,0
+2006-01-10,21:36:00,3667.00,3667.00,3667.00,3667.00,6,0
+2006-01-10,21:38:00,3667.00,3667.00,3667.00,3667.00,5,0
+2006-01-10,21:39:00,3667.00,3667.00,3667.00,3667.00,26,0
+2006-01-10,21:41:00,3668.00,3668.00,3667.00,3667.00,29,0
+2006-01-10,21:42:00,3668.00,3669.00,3668.00,3669.00,100,0
+2006-01-10,21:43:00,3668.00,3669.00,3668.00,3669.00,129,0
+2006-01-10,21:44:00,3669.00,3669.00,3669.00,3669.00,1,0
+2006-01-10,21:46:00,3670.00,3671.00,3670.00,3670.00,81,0
+2006-01-10,21:47:00,3670.00,3670.00,3670.00,3670.00,11,0
+2006-01-10,21:48:00,3671.00,3671.00,3670.00,3671.00,263,0
+2006-01-10,21:49:00,3672.00,3672.00,3672.00,3672.00,1,0
+2006-01-10,21:50:00,3672.00,3672.00,3672.00,3672.00,4,0
+2006-01-10,21:51:00,3671.00,3671.00,3670.00,3670.00,72,0
+2006-01-10,21:52:00,3671.00,3671.00,3671.00,3671.00,55,0
+2006-01-10,21:53:00,3672.00,3672.00,3672.00,3672.00,14,0
+2006-01-10,21:54:00,3672.00,3672.00,3672.00,3672.00,70,0
+2006-01-10,21:55:00,3672.00,3672.00,3672.00,3672.00,15,0
+2006-01-10,21:56:00,3672.00,3672.00,3672.00,3672.00,15,0
+2006-01-10,21:57:00,3672.00,3672.00,3672.00,3672.00,25,0
+2006-01-10,21:58:00,3672.00,3672.00,3671.00,3671.00,14,0
+2006-01-10,21:59:00,3672.00,3673.00,3671.00,3672.00,629,0
+2006-01-10,22:00:00,3672.00,3672.00,3670.00,3671.00,679,0
+2006-01-11,09:01:00,3682.00,3684.00,3678.00,3678.00,9566,0
+2006-01-11,09:02:00,3679.00,3681.00,3678.00,3680.00,2819,0
+2006-01-11,09:03:00,3681.00,3681.00,3679.00,3679.00,1472,0
+2006-01-11,09:04:00,3680.00,3681.00,3679.00,3681.00,1770,0
+2006-01-11,09:05:00,3681.00,3682.00,3679.00,3681.00,1441,0
+2006-01-11,09:06:00,3680.00,3682.00,3680.00,3680.00,1874,0
+2006-01-11,09:07:00,3680.00,3680.00,3678.00,3679.00,1833,0
+2006-01-11,09:08:00,3679.00,3679.00,3678.00,3678.00,384,0
+2006-01-11,09:09:00,3679.00,3679.00,3678.00,3679.00,665,0
+2006-01-11,09:10:00,3678.00,3682.00,3678.00,3681.00,3289,0
+2006-01-11,09:11:00,3681.00,3682.00,3680.00,3681.00,1054,0
+2006-01-11,09:12:00,3682.00,3682.00,3679.00,3680.00,964,0
+2006-01-11,09:13:00,3680.00,3680.00,3677.00,3677.00,1108,0
+2006-01-11,09:14:00,3677.00,3679.00,3677.00,3678.00,1543,0
+2006-01-11,09:15:00,3678.00,3680.00,3677.00,3680.00,679,0
+2006-01-11,09:16:00,3680.00,3681.00,3679.00,3681.00,1519,0
+2006-01-11,09:17:00,3680.00,3681.00,3679.00,3680.00,1053,0
+2006-01-11,09:18:00,3680.00,3680.00,3679.00,3679.00,287,0
+2006-01-11,09:19:00,3679.00,3679.00,3678.00,3678.00,240,0
+2006-01-11,09:20:00,3678.00,3678.00,3677.00,3678.00,1195,0
+2006-01-11,09:21:00,3679.00,3681.00,3678.00,3681.00,1489,0
+2006-01-11,09:22:00,3680.00,3681.00,3679.00,3679.00,1078,0
+2006-01-11,09:23:00,3679.00,3679.00,3676.00,3677.00,1955,0
+2006-01-11,09:24:00,3677.00,3678.00,3677.00,3678.00,14,0
+2006-01-11,09:25:00,3677.00,3677.00,3676.00,3676.00,1775,0
+2006-01-11,09:26:00,3677.00,3677.00,3674.00,3675.00,1733,0
+2006-01-11,09:27:00,3674.00,3675.00,3673.00,3674.00,960,0
+2006-01-11,09:28:00,3674.00,3675.00,3673.00,3674.00,1039,0
+2006-01-11,09:29:00,3673.00,3676.00,3673.00,3676.00,688,0
+2006-01-11,09:30:00,3676.00,3677.00,3675.00,3676.00,616,0
+2006-01-11,09:31:00,3675.00,3677.00,3675.00,3677.00,431,0
+2006-01-11,09:32:00,3677.00,3677.00,3675.00,3677.00,706,0
+2006-01-11,09:33:00,3676.00,3677.00,3675.00,3676.00,154,0
+2006-01-11,09:34:00,3676.00,3677.00,3676.00,3676.00,2040,0
+2006-01-11,09:35:00,3676.00,3676.00,3675.00,3676.00,901,0
+2006-01-11,09:36:00,3675.00,3675.00,3674.00,3675.00,583,0
+2006-01-11,09:37:00,3675.00,3675.00,3673.00,3674.00,953,0
+2006-01-11,09:38:00,3675.00,3675.00,3674.00,3674.00,452,0
+2006-01-11,09:39:00,3674.00,3677.00,3674.00,3676.00,1315,0
+2006-01-11,09:40:00,3676.00,3677.00,3675.00,3676.00,852,0
+2006-01-11,09:41:00,3676.00,3677.00,3675.00,3677.00,389,0
+2006-01-11,09:42:00,3676.00,3677.00,3676.00,3677.00,838,0
+2006-01-11,09:43:00,3677.00,3679.00,3677.00,3679.00,1138,0
+2006-01-11,09:44:00,3678.00,3678.00,3677.00,3677.00,436,0
+2006-01-11,09:45:00,3677.00,3677.00,3676.00,3677.00,248,0
+2006-01-11,09:46:00,3677.00,3678.00,3677.00,3677.00,7,0
+2006-01-11,09:47:00,3678.00,3678.00,3677.00,3677.00,17,0
+2006-01-11,09:48:00,3678.00,3678.00,3676.00,3676.00,466,0
+2006-01-11,09:49:00,3677.00,3677.00,3676.00,3676.00,4,0
+2006-01-11,09:50:00,3677.00,3679.00,3677.00,3678.00,821,0
+2006-01-11,09:51:00,3678.00,3679.00,3677.00,3678.00,622,0
+2006-01-11,09:52:00,3677.00,3678.00,3676.00,3677.00,598,0
+2006-01-11,09:53:00,3676.00,3677.00,3675.00,3675.00,747,0
+2006-01-11,09:54:00,3675.00,3676.00,3675.00,3676.00,1188,0
+2006-01-11,09:55:00,3676.00,3676.00,3675.00,3676.00,803,0
+2006-01-11,09:56:00,3677.00,3677.00,3676.00,3676.00,5,0
+2006-01-11,09:57:00,3677.00,3678.00,3676.00,3677.00,1189,0
+2006-01-11,09:58:00,3677.00,3678.00,3677.00,3678.00,34,0
+2006-01-11,09:59:00,3677.00,3678.00,3677.00,3678.00,135,0
+2006-01-11,10:00:00,3678.00,3678.00,3677.00,3677.00,402,0
+2006-01-11,10:01:00,3678.00,3678.00,3677.00,3678.00,458,0
+2006-01-11,10:02:00,3677.00,3680.00,3677.00,3679.00,1654,0
+2006-01-11,10:03:00,3679.00,3680.00,3678.00,3679.00,806,0
+2006-01-11,10:04:00,3680.00,3680.00,3679.00,3679.00,636,0
+2006-01-11,10:05:00,3679.00,3679.00,3678.00,3679.00,606,0
+2006-01-11,10:06:00,3679.00,3680.00,3678.00,3678.00,1566,0
+2006-01-11,10:07:00,3678.00,3679.00,3678.00,3678.00,701,0
+2006-01-11,10:08:00,3678.00,3679.00,3678.00,3679.00,1352,0
+2006-01-11,10:09:00,3680.00,3680.00,3678.00,3678.00,573,0
+2006-01-11,10:10:00,3678.00,3679.00,3678.00,3678.00,1099,0
+2006-01-11,10:11:00,3678.00,3679.00,3678.00,3678.00,238,0
+2006-01-11,10:12:00,3679.00,3679.00,3678.00,3678.00,147,0
+2006-01-11,10:13:00,3678.00,3679.00,3678.00,3678.00,409,0
+2006-01-11,10:14:00,3678.00,3679.00,3677.00,3678.00,229,0
+2006-01-11,10:15:00,3678.00,3680.00,3678.00,3679.00,382,0
+2006-01-11,10:16:00,3679.00,3679.00,3678.00,3679.00,53,0
+2006-01-11,10:17:00,3678.00,3679.00,3678.00,3679.00,330,0
+2006-01-11,10:18:00,3679.00,3679.00,3679.00,3679.00,14,0
+2006-01-11,10:19:00,3679.00,3679.00,3679.00,3679.00,21,0
+2006-01-11,10:20:00,3679.00,3679.00,3678.00,3678.00,565,0
+2006-01-11,10:21:00,3678.00,3678.00,3678.00,3678.00,54,0
+2006-01-11,10:22:00,3678.00,3678.00,3677.00,3678.00,199,0
+2006-01-11,10:23:00,3677.00,3679.00,3677.00,3678.00,463,0
+2006-01-11,10:24:00,3677.00,3678.00,3677.00,3677.00,3052,0
+2006-01-11,10:25:00,3677.00,3677.00,3677.00,3677.00,193,0
+2006-01-11,10:26:00,3678.00,3678.00,3677.00,3677.00,262,0
+2006-01-11,10:27:00,3677.00,3678.00,3677.00,3678.00,215,0
+2006-01-11,10:28:00,3679.00,3679.00,3678.00,3678.00,66,0
+2006-01-11,10:29:00,3678.00,3679.00,3677.00,3677.00,376,0
+2006-01-11,10:30:00,3677.00,3678.00,3677.00,3678.00,465,0
+2006-01-11,10:31:00,3678.00,3679.00,3677.00,3677.00,57,0
+2006-01-11,10:32:00,3677.00,3677.00,3675.00,3675.00,1596,0
+2006-01-11,10:33:00,3676.00,3677.00,3676.00,3677.00,640,0
+2006-01-11,10:34:00,3677.00,3678.00,3677.00,3677.00,81,0
+2006-01-11,10:35:00,3678.00,3678.00,3677.00,3678.00,82,0
+2006-01-11,10:36:00,3677.00,3678.00,3677.00,3678.00,38,0
+2006-01-11,10:37:00,3677.00,3678.00,3677.00,3677.00,102,0
+2006-01-11,10:38:00,3678.00,3678.00,3677.00,3677.00,132,0
+2006-01-11,10:39:00,3677.00,3678.00,3677.00,3678.00,191,0
+2006-01-11,10:40:00,3678.00,3678.00,3678.00,3678.00,14,0
+2006-01-11,10:41:00,3678.00,3679.00,3678.00,3678.00,476,0
+2006-01-11,10:42:00,3678.00,3679.00,3678.00,3678.00,151,0
+2006-01-11,10:43:00,3678.00,3678.00,3678.00,3678.00,152,0
+2006-01-11,10:44:00,3678.00,3678.00,3678.00,3678.00,32,0
+2006-01-11,10:45:00,3678.00,3678.00,3677.00,3677.00,415,0
+2006-01-11,10:46:00,3678.00,3678.00,3677.00,3678.00,90,0
+2006-01-11,10:47:00,3678.00,3678.00,3678.00,3678.00,67,0
+2006-01-11,10:48:00,3678.00,3678.00,3677.00,3677.00,109,0
+2006-01-11,10:49:00,3677.00,3677.00,3676.00,3676.00,1006,0
+2006-01-11,10:50:00,3676.00,3677.00,3676.00,3676.00,27,0
+2006-01-11,10:51:00,3677.00,3677.00,3676.00,3676.00,68,0
+2006-01-11,10:52:00,3677.00,3677.00,3677.00,3677.00,160,0
+2006-01-11,10:53:00,3677.00,3677.00,3677.00,3677.00,6,0
+2006-01-11,10:54:00,3678.00,3678.00,3677.00,3677.00,6,0
+2006-01-11,10:55:00,3677.00,3678.00,3677.00,3678.00,318,0
+2006-01-11,10:56:00,3679.00,3680.00,3678.00,3678.00,1322,0
+2006-01-11,10:57:00,3679.00,3680.00,3677.00,3678.00,1524,0
+2006-01-11,10:58:00,3677.00,3679.00,3677.00,3678.00,157,0
+2006-01-11,10:59:00,3679.00,3679.00,3677.00,3677.00,159,0
+2006-01-11,11:00:00,3679.00,3679.00,3676.00,3677.00,602,0
+2006-01-11,11:01:00,3677.00,3677.00,3676.00,3677.00,377,0
+2006-01-11,11:02:00,3676.00,3677.00,3676.00,3676.00,7,0
+2006-01-11,11:03:00,3676.00,3677.00,3676.00,3676.00,639,0
+2006-01-11,11:04:00,3677.00,3677.00,3676.00,3676.00,75,0
+2006-01-11,11:05:00,3677.00,3678.00,3676.00,3678.00,155,0
+2006-01-11,11:06:00,3677.00,3678.00,3677.00,3677.00,473,0
+2006-01-11,11:07:00,3678.00,3678.00,3677.00,3677.00,3,0
+2006-01-11,11:08:00,3677.00,3678.00,3677.00,3677.00,3,0
+2006-01-11,11:09:00,3677.00,3678.00,3677.00,3677.00,29,0
+2006-01-11,11:10:00,3677.00,3677.00,3677.00,3677.00,169,0
+2006-01-11,11:11:00,3677.00,3677.00,3677.00,3677.00,57,0
+2006-01-11,11:12:00,3678.00,3678.00,3678.00,3678.00,71,0
+2006-01-11,11:13:00,3677.00,3679.00,3677.00,3679.00,260,0
+2006-01-11,11:14:00,3679.00,3679.00,3679.00,3679.00,420,0
+2006-01-11,11:15:00,3679.00,3680.00,3678.00,3679.00,408,0
+2006-01-11,11:16:00,3679.00,3679.00,3679.00,3679.00,123,0
+2006-01-11,11:17:00,3679.00,3680.00,3679.00,3680.00,223,0
+2006-01-11,11:18:00,3680.00,3680.00,3679.00,3680.00,653,0
+2006-01-11,11:19:00,3680.00,3682.00,3680.00,3682.00,1545,0
+2006-01-11,11:20:00,3682.00,3683.00,3681.00,3682.00,1328,0
+2006-01-11,11:21:00,3682.00,3682.00,3681.00,3682.00,808,0
+2006-01-11,11:22:00,3682.00,3682.00,3682.00,3682.00,543,0
+2006-01-11,11:23:00,3682.00,3683.00,3682.00,3682.00,476,0
+2006-01-11,11:24:00,3682.00,3683.00,3682.00,3682.00,214,0
+2006-01-11,11:25:00,3682.00,3683.00,3682.00,3682.00,266,0
+2006-01-11,11:26:00,3682.00,3683.00,3682.00,3683.00,364,0
+2006-01-11,11:27:00,3683.00,3684.00,3683.00,3683.00,2094,0
+2006-01-11,11:28:00,3683.00,3683.00,3682.00,3682.00,35,0
+2006-01-11,11:29:00,3683.00,3683.00,3682.00,3682.00,37,0
+2006-01-11,11:30:00,3683.00,3684.00,3683.00,3683.00,714,0
+2006-01-11,11:31:00,3683.00,3683.00,3681.00,3682.00,1398,0
+2006-01-11,11:32:00,3682.00,3684.00,3682.00,3683.00,1029,0
+2006-01-11,11:33:00,3683.00,3684.00,3683.00,3683.00,491,0
+2006-01-11,11:34:00,3683.00,3685.00,3683.00,3684.00,1509,0
+2006-01-11,11:35:00,3683.00,3684.00,3683.00,3684.00,1742,0
+2006-01-11,11:36:00,3684.00,3684.00,3683.00,3683.00,121,0
+2006-01-11,11:37:00,3683.00,3684.00,3682.00,3682.00,750,0
+2006-01-11,11:38:00,3683.00,3683.00,3682.00,3682.00,772,0
+2006-01-11,11:39:00,3682.00,3683.00,3682.00,3683.00,21,0
+2006-01-11,11:40:00,3682.00,3682.00,3682.00,3682.00,92,0
+2006-01-11,11:41:00,3683.00,3684.00,3683.00,3683.00,553,0
+2006-01-11,11:42:00,3683.00,3684.00,3683.00,3683.00,120,0
+2006-01-11,11:43:00,3684.00,3684.00,3683.00,3683.00,451,0
+2006-01-11,11:44:00,3683.00,3684.00,3683.00,3683.00,761,0
+2006-01-11,11:45:00,3683.00,3683.00,3682.00,3682.00,268,0
+2006-01-11,11:46:00,3681.00,3681.00,3681.00,3681.00,43,0
+2006-01-11,11:47:00,3681.00,3682.00,3681.00,3681.00,386,0
+2006-01-11,11:48:00,3682.00,3682.00,3681.00,3681.00,3,0
+2006-01-11,11:49:00,3682.00,3683.00,3682.00,3683.00,268,0
+2006-01-11,11:50:00,3682.00,3683.00,3682.00,3682.00,64,0
+2006-01-11,11:51:00,3682.00,3683.00,3682.00,3683.00,115,0
+2006-01-11,11:52:00,3682.00,3683.00,3682.00,3683.00,283,0
+2006-01-11,11:53:00,3683.00,3683.00,3683.00,3683.00,1,0
+2006-01-11,11:54:00,3682.00,3684.00,3682.00,3684.00,284,0
+2006-01-11,11:55:00,3683.00,3684.00,3683.00,3684.00,73,0
+2006-01-11,11:56:00,3683.00,3683.00,3683.00,3683.00,258,0
+2006-01-11,11:57:00,3683.00,3684.00,3683.00,3683.00,35,0
+2006-01-11,11:58:00,3683.00,3684.00,3683.00,3684.00,296,0
+2006-01-11,11:59:00,3684.00,3685.00,3683.00,3685.00,1449,0
+2006-01-11,12:00:00,3685.00,3686.00,3685.00,3685.00,966,0
+2006-01-11,12:01:00,3685.00,3687.00,3685.00,3686.00,1997,0
+2006-01-11,12:02:00,3686.00,3687.00,3686.00,3686.00,155,0
+2006-01-11,12:03:00,3686.00,3686.00,3685.00,3685.00,773,0
+2006-01-11,12:04:00,3685.00,3686.00,3684.00,3685.00,870,0
+2006-01-11,12:05:00,3685.00,3685.00,3685.00,3685.00,269,0
+2006-01-11,12:06:00,3685.00,3685.00,3685.00,3685.00,150,0
+2006-01-11,12:07:00,3685.00,3685.00,3684.00,3685.00,44,0
+2006-01-11,12:08:00,3685.00,3685.00,3684.00,3685.00,893,0
+2006-01-11,12:09:00,3684.00,3684.00,3684.00,3684.00,79,0
+2006-01-11,12:10:00,3684.00,3684.00,3683.00,3684.00,176,0
+2006-01-11,12:11:00,3683.00,3684.00,3683.00,3684.00,93,0
+2006-01-11,12:12:00,3684.00,3684.00,3683.00,3683.00,275,0
+2006-01-11,12:13:00,3683.00,3683.00,3683.00,3683.00,7,0
+2006-01-11,12:14:00,3683.00,3684.00,3683.00,3683.00,88,0
+2006-01-11,12:15:00,3684.00,3684.00,3684.00,3684.00,1,0
+2006-01-11,12:16:00,3684.00,3684.00,3683.00,3684.00,11,0
+2006-01-11,12:17:00,3683.00,3684.00,3683.00,3683.00,11,0
+2006-01-11,12:18:00,3684.00,3684.00,3683.00,3684.00,243,0
+2006-01-11,12:19:00,3685.00,3685.00,3685.00,3685.00,89,0
+2006-01-11,12:20:00,3685.00,3685.00,3684.00,3684.00,437,0
+2006-01-11,12:21:00,3684.00,3685.00,3684.00,3684.00,6,0
+2006-01-11,12:22:00,3685.00,3685.00,3684.00,3684.00,12,0
+2006-01-11,12:23:00,3685.00,3686.00,3685.00,3685.00,308,0
+2006-01-11,12:24:00,3685.00,3685.00,3684.00,3684.00,169,0
+2006-01-11,12:25:00,3685.00,3685.00,3684.00,3685.00,93,0
+2006-01-11,12:26:00,3685.00,3685.00,3685.00,3685.00,122,0
+2006-01-11,12:27:00,3685.00,3685.00,3684.00,3685.00,12,0
+2006-01-11,12:28:00,3685.00,3685.00,3684.00,3684.00,314,0
+2006-01-11,12:29:00,3684.00,3684.00,3684.00,3684.00,301,0
+2006-01-11,12:30:00,3685.00,3685.00,3684.00,3685.00,64,0
+2006-01-11,12:31:00,3684.00,3685.00,3684.00,3684.00,415,0
+2006-01-11,12:32:00,3685.00,3685.00,3685.00,3685.00,6,0
+2006-01-11,12:33:00,3684.00,3685.00,3684.00,3684.00,12,0
+2006-01-11,12:34:00,3684.00,3685.00,3684.00,3685.00,11,0
+2006-01-11,12:35:00,3684.00,3685.00,3684.00,3685.00,30,0
+2006-01-11,12:36:00,3684.00,3685.00,3684.00,3684.00,743,0
+2006-01-11,12:37:00,3684.00,3684.00,3683.00,3683.00,90,0
+2006-01-11,12:38:00,3684.00,3684.00,3681.00,3681.00,1557,0
+2006-01-11,12:39:00,3681.00,3682.00,3681.00,3682.00,894,0
+2006-01-11,12:40:00,3682.00,3683.00,3682.00,3683.00,339,0
+2006-01-11,12:41:00,3682.00,3683.00,3682.00,3683.00,655,0
+2006-01-11,12:42:00,3682.00,3683.00,3681.00,3682.00,92,0
+2006-01-11,12:43:00,3682.00,3682.00,3681.00,3682.00,778,0
+2006-01-11,12:44:00,3681.00,3682.00,3681.00,3681.00,53,0
+2006-01-11,12:45:00,3681.00,3682.00,3681.00,3682.00,410,0
+2006-01-11,12:46:00,3682.00,3682.00,3681.00,3681.00,33,0
+2006-01-11,12:47:00,3682.00,3683.00,3682.00,3682.00,246,0
+2006-01-11,12:48:00,3683.00,3683.00,3681.00,3681.00,226,0
+2006-01-11,12:49:00,3681.00,3682.00,3680.00,3681.00,1011,0
+2006-01-11,12:50:00,3681.00,3682.00,3681.00,3681.00,14,0
+2006-01-11,12:51:00,3682.00,3682.00,3681.00,3681.00,4,0
+2006-01-11,12:52:00,3681.00,3682.00,3681.00,3681.00,309,0
+2006-01-11,12:53:00,3681.00,3681.00,3681.00,3681.00,883,0
+2006-01-11,12:54:00,3681.00,3681.00,3681.00,3681.00,28,0
+2006-01-11,12:55:00,3681.00,3681.00,3681.00,3681.00,3,0
+2006-01-11,12:56:00,3681.00,3682.00,3681.00,3681.00,24,0
+2006-01-11,12:57:00,3682.00,3682.00,3681.00,3681.00,104,0
+2006-01-11,12:58:00,3681.00,3681.00,3680.00,3680.00,138,0
+2006-01-11,12:59:00,3680.00,3681.00,3680.00,3681.00,173,0
+2006-01-11,13:00:00,3681.00,3681.00,3680.00,3680.00,549,0
+2006-01-11,13:01:00,3681.00,3681.00,3680.00,3680.00,599,0
+2006-01-11,13:02:00,3680.00,3680.00,3679.00,3680.00,514,0
+2006-01-11,13:03:00,3680.00,3680.00,3680.00,3680.00,30,0
+2006-01-11,13:04:00,3680.00,3681.00,3679.00,3679.00,1332,0
+2006-01-11,13:05:00,3679.00,3680.00,3678.00,3679.00,840,0
+2006-01-11,13:06:00,3679.00,3679.00,3677.00,3677.00,2058,0
+2006-01-11,13:07:00,3677.00,3678.00,3676.00,3677.00,1598,0
+2006-01-11,13:08:00,3678.00,3678.00,3677.00,3678.00,985,0
+2006-01-11,13:09:00,3677.00,3678.00,3676.00,3677.00,538,0
+2006-01-11,13:10:00,3677.00,3677.00,3675.00,3676.00,1129,0
+2006-01-11,13:11:00,3676.00,3677.00,3676.00,3677.00,804,0
+2006-01-11,13:12:00,3676.00,3677.00,3675.00,3676.00,2038,0
+2006-01-11,13:13:00,3676.00,3677.00,3676.00,3676.00,314,0
+2006-01-11,13:14:00,3676.00,3677.00,3676.00,3677.00,325,0
+2006-01-11,13:15:00,3677.00,3677.00,3676.00,3676.00,284,0
+2006-01-11,13:16:00,3677.00,3677.00,3676.00,3677.00,263,0
+2006-01-11,13:17:00,3676.00,3676.00,3676.00,3676.00,1442,0
+2006-01-11,13:18:00,3676.00,3676.00,3676.00,3676.00,114,0
+2006-01-11,13:19:00,3677.00,3677.00,3675.00,3675.00,286,0
+2006-01-11,13:20:00,3676.00,3676.00,3675.00,3675.00,143,0
+2006-01-11,13:21:00,3675.00,3676.00,3675.00,3675.00,488,0
+2006-01-11,13:22:00,3675.00,3675.00,3674.00,3675.00,422,0
+2006-01-11,13:23:00,3675.00,3676.00,3674.00,3675.00,434,0
+2006-01-11,13:24:00,3675.00,3675.00,3675.00,3675.00,531,0
+2006-01-11,13:25:00,3674.00,3675.00,3674.00,3674.00,576,0
+2006-01-11,13:26:00,3675.00,3675.00,3674.00,3674.00,8,0
+2006-01-11,13:27:00,3675.00,3675.00,3675.00,3675.00,31,0
+2006-01-11,13:28:00,3675.00,3675.00,3674.00,3674.00,3,0
+2006-01-11,13:29:00,3674.00,3675.00,3674.00,3674.00,272,0
+2006-01-11,13:30:00,3674.00,3675.00,3674.00,3675.00,1229,0
+2006-01-11,13:31:00,3675.00,3676.00,3675.00,3675.00,95,0
+2006-01-11,13:32:00,3675.00,3675.00,3675.00,3675.00,249,0
+2006-01-11,13:33:00,3675.00,3675.00,3675.00,3675.00,65,0
+2006-01-11,13:34:00,3675.00,3675.00,3671.00,3672.00,5694,0
+2006-01-11,13:35:00,3672.00,3673.00,3671.00,3672.00,2908,0
+2006-01-11,13:36:00,3673.00,3673.00,3672.00,3673.00,192,0
+2006-01-11,13:37:00,3673.00,3673.00,3672.00,3672.00,2500,0
+2006-01-11,13:38:00,3673.00,3673.00,3672.00,3673.00,1361,0
+2006-01-11,13:39:00,3673.00,3674.00,3673.00,3674.00,535,0
+2006-01-11,13:40:00,3674.00,3674.00,3674.00,3674.00,302,0
+2006-01-11,13:41:00,3674.00,3675.00,3673.00,3675.00,1611,0
+2006-01-11,13:42:00,3675.00,3675.00,3675.00,3675.00,253,0
+2006-01-11,13:43:00,3675.00,3676.00,3675.00,3675.00,462,0
+2006-01-11,13:44:00,3676.00,3676.00,3676.00,3676.00,14,0
+2006-01-11,13:45:00,3676.00,3676.00,3675.00,3676.00,140,0
+2006-01-11,13:46:00,3676.00,3676.00,3675.00,3676.00,264,0
+2006-01-11,13:47:00,3676.00,3676.00,3675.00,3675.00,131,0
+2006-01-11,13:48:00,3675.00,3675.00,3675.00,3675.00,50,0
+2006-01-11,13:49:00,3675.00,3676.00,3675.00,3675.00,43,0
+2006-01-11,13:50:00,3675.00,3676.00,3674.00,3675.00,958,0
+2006-01-11,13:51:00,3675.00,3676.00,3674.00,3676.00,1481,0
+2006-01-11,13:52:00,3675.00,3675.00,3675.00,3675.00,37,0
+2006-01-11,13:53:00,3676.00,3676.00,3675.00,3675.00,322,0
+2006-01-11,13:54:00,3675.00,3675.00,3675.00,3675.00,1,0
+2006-01-11,13:55:00,3675.00,3675.00,3675.00,3675.00,204,0
+2006-01-11,13:56:00,3675.00,3676.00,3675.00,3676.00,8,0
+2006-01-11,13:57:00,3676.00,3676.00,3675.00,3675.00,433,0
+2006-01-11,13:58:00,3675.00,3676.00,3675.00,3675.00,61,0
+2006-01-11,13:59:00,3676.00,3676.00,3675.00,3675.00,13,0
+2006-01-11,14:00:00,3675.00,3676.00,3675.00,3676.00,8,0
+2006-01-11,14:01:00,3675.00,3677.00,3675.00,3675.00,983,0
+2006-01-11,14:02:00,3676.00,3677.00,3676.00,3676.00,931,0
+2006-01-11,14:03:00,3676.00,3676.00,3675.00,3675.00,109,0
+2006-01-11,14:04:00,3676.00,3676.00,3676.00,3676.00,402,0
+2006-01-11,14:05:00,3676.00,3676.00,3675.00,3676.00,336,0
+2006-01-11,14:06:00,3676.00,3676.00,3675.00,3676.00,4,0
+2006-01-11,14:07:00,3676.00,3676.00,3675.00,3676.00,1577,0
+2006-01-11,14:08:00,3675.00,3676.00,3674.00,3676.00,449,0
+2006-01-11,14:09:00,3675.00,3676.00,3674.00,3676.00,190,0
+2006-01-11,14:10:00,3676.00,3676.00,3676.00,3676.00,1,0
+2006-01-11,14:11:00,3675.00,3676.00,3675.00,3675.00,4,0
+2006-01-11,14:12:00,3676.00,3676.00,3676.00,3676.00,206,0
+2006-01-11,14:13:00,3675.00,3676.00,3675.00,3676.00,15,0
+2006-01-11,14:14:00,3676.00,3676.00,3675.00,3675.00,6,0
+2006-01-11,14:15:00,3675.00,3676.00,3675.00,3675.00,6,0
+2006-01-11,14:16:00,3676.00,3676.00,3675.00,3676.00,84,0
+2006-01-11,14:17:00,3676.00,3676.00,3675.00,3676.00,27,0
+2006-01-11,14:18:00,3675.00,3676.00,3675.00,3675.00,179,0
+2006-01-11,14:19:00,3675.00,3676.00,3675.00,3676.00,28,0
+2006-01-11,14:20:00,3676.00,3676.00,3675.00,3676.00,46,0
+2006-01-11,14:21:00,3675.00,3676.00,3674.00,3674.00,695,0
+2006-01-11,14:22:00,3674.00,3675.00,3674.00,3675.00,126,0
+2006-01-11,14:23:00,3675.00,3675.00,3675.00,3675.00,503,0
+2006-01-11,14:24:00,3675.00,3675.00,3673.00,3674.00,1004,0
+2006-01-11,14:25:00,3674.00,3674.00,3674.00,3674.00,27,0
+2006-01-11,14:26:00,3673.00,3674.00,3673.00,3674.00,8,0
+2006-01-11,14:27:00,3674.00,3674.00,3673.00,3673.00,6,0
+2006-01-11,14:28:00,3674.00,3674.00,3674.00,3674.00,3167,0
+2006-01-11,14:29:00,3674.00,3674.00,3673.00,3674.00,310,0
+2006-01-11,14:30:00,3674.00,3675.00,3674.00,3675.00,29,0
+2006-01-11,14:31:00,3674.00,3675.00,3674.00,3675.00,6,0
+2006-01-11,14:32:00,3674.00,3674.00,3674.00,3674.00,87,0
+2006-01-11,14:33:00,3674.00,3675.00,3673.00,3674.00,894,0
+2006-01-11,14:34:00,3674.00,3674.00,3674.00,3674.00,123,0
+2006-01-11,14:35:00,3674.00,3674.00,3673.00,3674.00,16,0
+2006-01-11,14:36:00,3673.00,3674.00,3673.00,3674.00,58,0
+2006-01-11,14:37:00,3674.00,3674.00,3673.00,3674.00,174,0
+2006-01-11,14:38:00,3673.00,3674.00,3673.00,3673.00,1097,0
+2006-01-11,14:39:00,3674.00,3674.00,3674.00,3674.00,115,0
+2006-01-11,14:40:00,3674.00,3675.00,3674.00,3675.00,279,0
+2006-01-11,14:41:00,3675.00,3676.00,3675.00,3676.00,663,0
+2006-01-11,14:42:00,3675.00,3677.00,3675.00,3676.00,504,0
+2006-01-11,14:43:00,3677.00,3677.00,3676.00,3677.00,307,0
+2006-01-11,14:44:00,3677.00,3677.00,3676.00,3676.00,426,0
+2006-01-11,14:45:00,3676.00,3677.00,3675.00,3677.00,91,0
+2006-01-11,14:46:00,3676.00,3677.00,3676.00,3677.00,4,0
+2006-01-11,14:47:00,3676.00,3677.00,3676.00,3677.00,31,0
+2006-01-11,14:48:00,3676.00,3677.00,3676.00,3677.00,6,0
+2006-01-11,14:49:00,3677.00,3677.00,3676.00,3677.00,233,0
+2006-01-11,14:50:00,3676.00,3677.00,3676.00,3677.00,251,0
+2006-01-11,14:51:00,3676.00,3677.00,3676.00,3677.00,13,0
+2006-01-11,14:52:00,3677.00,3677.00,3676.00,3677.00,6,0
+2006-01-11,14:53:00,3677.00,3677.00,3676.00,3677.00,218,0
+2006-01-11,14:54:00,3677.00,3677.00,3676.00,3676.00,218,0
+2006-01-11,14:55:00,3677.00,3677.00,3676.00,3677.00,637,0
+2006-01-11,14:56:00,3677.00,3677.00,3676.00,3677.00,500,0
+2006-01-11,14:57:00,3677.00,3677.00,3676.00,3677.00,119,0
+2006-01-11,14:58:00,3677.00,3677.00,3677.00,3677.00,52,0
+2006-01-11,14:59:00,3676.00,3677.00,3676.00,3677.00,362,0
+2006-01-11,15:00:00,3676.00,3677.00,3676.00,3677.00,2,0
+2006-01-11,15:01:00,3676.00,3676.00,3674.00,3675.00,1570,0
+2006-01-11,15:02:00,3675.00,3675.00,3674.00,3674.00,250,0
+2006-01-11,15:03:00,3674.00,3675.00,3674.00,3674.00,55,0
+2006-01-11,15:04:00,3675.00,3675.00,3674.00,3674.00,62,0
+2006-01-11,15:05:00,3675.00,3675.00,3674.00,3675.00,62,0
+2006-01-11,15:06:00,3675.00,3676.00,3674.00,3674.00,933,0
+2006-01-11,15:07:00,3675.00,3675.00,3675.00,3675.00,33,0
+2006-01-11,15:08:00,3674.00,3675.00,3674.00,3675.00,2,0
+2006-01-11,15:09:00,3675.00,3676.00,3675.00,3675.00,212,0
+2006-01-11,15:10:00,3676.00,3676.00,3675.00,3675.00,63,0
+2006-01-11,15:11:00,3676.00,3676.00,3675.00,3676.00,16,0
+2006-01-11,15:12:00,3675.00,3676.00,3675.00,3676.00,184,0
+2006-01-11,15:13:00,3676.00,3676.00,3675.00,3676.00,1073,0
+2006-01-11,15:14:00,3676.00,3676.00,3675.00,3675.00,188,0
+2006-01-11,15:15:00,3675.00,3675.00,3674.00,3674.00,46,0
+2006-01-11,15:16:00,3675.00,3675.00,3674.00,3675.00,12,0
+2006-01-11,15:17:00,3675.00,3675.00,3674.00,3675.00,174,0
+2006-01-11,15:18:00,3675.00,3676.00,3675.00,3676.00,584,0
+2006-01-11,15:19:00,3675.00,3675.00,3675.00,3675.00,31,0
+2006-01-11,15:20:00,3675.00,3676.00,3675.00,3676.00,346,0
+2006-01-11,15:21:00,3675.00,3675.00,3674.00,3675.00,187,0
+2006-01-11,15:22:00,3674.00,3674.00,3673.00,3673.00,1563,0
+2006-01-11,15:23:00,3673.00,3674.00,3673.00,3674.00,4,0
+2006-01-11,15:24:00,3674.00,3674.00,3673.00,3674.00,118,0
+2006-01-11,15:25:00,3673.00,3674.00,3672.00,3674.00,547,0
+2006-01-11,15:26:00,3674.00,3674.00,3673.00,3673.00,191,0
+2006-01-11,15:27:00,3673.00,3674.00,3673.00,3673.00,264,0
+2006-01-11,15:28:00,3673.00,3673.00,3672.00,3672.00,212,0
+2006-01-11,15:29:00,3673.00,3673.00,3672.00,3673.00,799,0
+2006-01-11,15:30:00,3673.00,3673.00,3672.00,3673.00,509,0
+2006-01-11,15:31:00,3672.00,3673.00,3672.00,3672.00,513,0
+2006-01-11,15:32:00,3672.00,3673.00,3672.00,3673.00,269,0
+2006-01-11,15:33:00,3672.00,3673.00,3669.00,3670.00,4334,0
+2006-01-11,15:34:00,3669.00,3671.00,3669.00,3670.00,3485,0
+2006-01-11,15:35:00,3671.00,3671.00,3670.00,3671.00,673,0
+2006-01-11,15:36:00,3671.00,3671.00,3669.00,3670.00,887,0
+2006-01-11,15:37:00,3670.00,3671.00,3670.00,3671.00,546,0
+2006-01-11,15:38:00,3670.00,3671.00,3669.00,3670.00,904,0
+2006-01-11,15:39:00,3670.00,3670.00,3669.00,3669.00,412,0
+2006-01-11,15:40:00,3670.00,3670.00,3667.00,3668.00,2246,0
+2006-01-11,15:41:00,3667.00,3668.00,3667.00,3668.00,1546,0
+2006-01-11,15:42:00,3668.00,3669.00,3667.00,3668.00,807,0
+2006-01-11,15:43:00,3668.00,3668.00,3666.00,3666.00,1354,0
+2006-01-11,15:44:00,3666.00,3667.00,3666.00,3667.00,754,0
+2006-01-11,15:45:00,3666.00,3668.00,3666.00,3668.00,1996,0
+2006-01-11,15:46:00,3667.00,3669.00,3666.00,3669.00,2381,0
+2006-01-11,15:47:00,3669.00,3669.00,3666.00,3666.00,1402,0
+2006-01-11,15:48:00,3666.00,3668.00,3666.00,3667.00,1012,0
+2006-01-11,15:49:00,3668.00,3669.00,3667.00,3667.00,1539,0
+2006-01-11,15:50:00,3667.00,3669.00,3667.00,3668.00,908,0
+2006-01-11,15:51:00,3668.00,3669.00,3668.00,3669.00,141,0
+2006-01-11,15:52:00,3669.00,3669.00,3668.00,3668.00,880,0
+2006-01-11,15:53:00,3669.00,3669.00,3667.00,3667.00,1572,0
+2006-01-11,15:54:00,3667.00,3667.00,3666.00,3666.00,670,0
+2006-01-11,15:55:00,3666.00,3668.00,3666.00,3667.00,774,0
+2006-01-11,15:56:00,3667.00,3669.00,3667.00,3669.00,940,0
+2006-01-11,15:57:00,3669.00,3669.00,3667.00,3668.00,372,0
+2006-01-11,15:58:00,3667.00,3669.00,3667.00,3669.00,1407,0
+2006-01-11,15:59:00,3670.00,3670.00,3669.00,3670.00,517,0
+2006-01-11,16:00:00,3669.00,3671.00,3669.00,3671.00,1966,0
+2006-01-11,16:01:00,3671.00,3672.00,3670.00,3670.00,1566,0
+2006-01-11,16:02:00,3670.00,3671.00,3668.00,3668.00,2524,0
+2006-01-11,16:03:00,3668.00,3669.00,3667.00,3668.00,2788,0
+2006-01-11,16:04:00,3668.00,3669.00,3667.00,3669.00,1419,0
+2006-01-11,16:05:00,3669.00,3671.00,3669.00,3670.00,1191,0
+2006-01-11,16:06:00,3670.00,3671.00,3670.00,3670.00,965,0
+2006-01-11,16:07:00,3671.00,3673.00,3671.00,3672.00,2547,0
+2006-01-11,16:08:00,3672.00,3673.00,3671.00,3671.00,460,0
+2006-01-11,16:09:00,3671.00,3672.00,3671.00,3671.00,1041,0
+2006-01-11,16:10:00,3671.00,3671.00,3670.00,3671.00,409,0
+2006-01-11,16:11:00,3671.00,3672.00,3670.00,3671.00,771,0
+2006-01-11,16:12:00,3671.00,3672.00,3670.00,3672.00,674,0
+2006-01-11,16:13:00,3671.00,3672.00,3670.00,3671.00,1181,0
+2006-01-11,16:14:00,3671.00,3672.00,3671.00,3671.00,687,0
+2006-01-11,16:15:00,3672.00,3672.00,3670.00,3671.00,2431,0
+2006-01-11,16:16:00,3671.00,3672.00,3671.00,3672.00,537,0
+2006-01-11,16:17:00,3671.00,3673.00,3670.00,3673.00,1057,0
+2006-01-11,16:18:00,3673.00,3676.00,3673.00,3675.00,3410,0
+2006-01-11,16:19:00,3675.00,3676.00,3674.00,3675.00,2771,0
+2006-01-11,16:20:00,3675.00,3675.00,3674.00,3675.00,581,0
+2006-01-11,16:21:00,3675.00,3676.00,3674.00,3675.00,481,0
+2006-01-11,16:22:00,3674.00,3676.00,3674.00,3676.00,547,0
+2006-01-11,16:23:00,3675.00,3676.00,3675.00,3675.00,1661,0
+2006-01-11,16:24:00,3676.00,3677.00,3676.00,3676.00,1472,0
+2006-01-11,16:25:00,3676.00,3677.00,3676.00,3677.00,790,0
+2006-01-11,16:26:00,3676.00,3677.00,3675.00,3676.00,1331,0
+2006-01-11,16:27:00,3675.00,3676.00,3675.00,3676.00,813,0
+2006-01-11,16:28:00,3675.00,3676.00,3675.00,3676.00,249,0
+2006-01-11,16:29:00,3676.00,3676.00,3675.00,3675.00,779,0
+2006-01-11,16:30:00,3676.00,3676.00,3676.00,3676.00,36,0
+2006-01-11,16:31:00,3675.00,3676.00,3674.00,3676.00,2434,0
+2006-01-11,16:32:00,3675.00,3675.00,3674.00,3674.00,1435,0
+2006-01-11,16:33:00,3674.00,3675.00,3673.00,3674.00,2643,0
+2006-01-11,16:34:00,3674.00,3674.00,3672.00,3672.00,1728,0
+2006-01-11,16:35:00,3672.00,3672.00,3669.00,3669.00,3904,0
+2006-01-11,16:36:00,3670.00,3671.00,3669.00,3671.00,2383,0
+2006-01-11,16:37:00,3670.00,3671.00,3670.00,3671.00,687,0
+2006-01-11,16:38:00,3670.00,3671.00,3669.00,3671.00,1734,0
+2006-01-11,16:39:00,3671.00,3672.00,3670.00,3672.00,722,0
+2006-01-11,16:40:00,3671.00,3673.00,3671.00,3673.00,1117,0
+2006-01-11,16:41:00,3672.00,3673.00,3671.00,3672.00,1836,0
+2006-01-11,16:42:00,3671.00,3672.00,3670.00,3671.00,1837,0
+2006-01-11,16:43:00,3672.00,3672.00,3671.00,3672.00,602,0
+2006-01-11,16:44:00,3672.00,3672.00,3670.00,3671.00,473,0
+2006-01-11,16:45:00,3671.00,3672.00,3671.00,3671.00,618,0
+2006-01-11,16:46:00,3672.00,3672.00,3671.00,3671.00,826,0
+2006-01-11,16:47:00,3670.00,3671.00,3670.00,3670.00,1438,0
+2006-01-11,16:48:00,3671.00,3672.00,3670.00,3671.00,1531,0
+2006-01-11,16:49:00,3671.00,3672.00,3671.00,3672.00,103,0
+2006-01-11,16:50:00,3671.00,3672.00,3670.00,3670.00,839,0
+2006-01-11,16:51:00,3671.00,3671.00,3670.00,3670.00,840,0
+2006-01-11,16:52:00,3671.00,3671.00,3669.00,3669.00,1899,0
+2006-01-11,16:53:00,3669.00,3670.00,3668.00,3668.00,1419,0
+2006-01-11,16:54:00,3668.00,3669.00,3668.00,3669.00,893,0
+2006-01-11,16:55:00,3669.00,3670.00,3667.00,3667.00,2611,0
+2006-01-11,16:56:00,3667.00,3668.00,3666.00,3667.00,2403,0
+2006-01-11,16:57:00,3667.00,3668.00,3666.00,3667.00,1126,0
+2006-01-11,16:58:00,3667.00,3668.00,3667.00,3667.00,31,0
+2006-01-11,16:59:00,3668.00,3669.00,3668.00,3668.00,1543,0
+2006-01-11,17:00:00,3669.00,3669.00,3668.00,3669.00,660,0
+2006-01-11,17:01:00,3669.00,3670.00,3668.00,3670.00,511,0
+2006-01-11,17:02:00,3670.00,3670.00,3668.00,3668.00,1748,0
+2006-01-11,17:03:00,3668.00,3668.00,3667.00,3668.00,666,0
+2006-01-11,17:04:00,3668.00,3670.00,3668.00,3669.00,699,0
+2006-01-11,17:05:00,3669.00,3669.00,3669.00,3669.00,12,0
+2006-01-11,17:06:00,3670.00,3671.00,3670.00,3670.00,1013,0
+2006-01-11,17:07:00,3670.00,3671.00,3670.00,3670.00,676,0
+2006-01-11,17:08:00,3671.00,3672.00,3671.00,3672.00,2838,0
+2006-01-11,17:09:00,3672.00,3673.00,3671.00,3673.00,1440,0
+2006-01-11,17:10:00,3673.00,3674.00,3672.00,3672.00,2090,0
+2006-01-11,17:11:00,3672.00,3673.00,3672.00,3673.00,2085,0
+2006-01-11,17:12:00,3672.00,3673.00,3672.00,3672.00,35,0
+2006-01-11,17:13:00,3672.00,3674.00,3672.00,3673.00,615,0
+2006-01-11,17:14:00,3673.00,3673.00,3672.00,3672.00,1388,0
+2006-01-11,17:15:00,3672.00,3675.00,3672.00,3674.00,1766,0
+2006-01-11,17:16:00,3674.00,3675.00,3673.00,3675.00,1131,0
+2006-01-11,17:17:00,3675.00,3677.00,3674.00,3677.00,3221,0
+2006-01-11,17:18:00,3676.00,3677.00,3675.00,3676.00,672,0
+2006-01-11,17:19:00,3676.00,3677.00,3675.00,3677.00,2256,0
+2006-01-11,17:20:00,3677.00,3677.00,3675.00,3675.00,1954,0
+2006-01-11,17:21:00,3675.00,3676.00,3674.00,3675.00,1680,0
+2006-01-11,17:22:00,3676.00,3676.00,3674.00,3675.00,590,0
+2006-01-11,17:23:00,3675.00,3675.00,3674.00,3675.00,832,0
+2006-01-11,17:24:00,3675.00,3676.00,3674.00,3675.00,1138,0
+2006-01-11,17:25:00,3676.00,3676.00,3674.00,3676.00,2364,0
+2006-01-11,17:26:00,3676.00,3676.00,3675.00,3676.00,616,0
+2006-01-11,17:27:00,3676.00,3676.00,3675.00,3676.00,1223,0
+2006-01-11,17:28:00,3676.00,3677.00,3675.00,3676.00,1674,0
+2006-01-11,17:29:00,3676.00,3678.00,3675.00,3678.00,2747,0
+2006-01-11,17:30:00,3678.00,3679.00,3677.00,3678.00,2731,0
+2006-01-11,17:31:00,3678.00,3680.00,3677.00,3680.00,3907,0
+2006-01-11,17:32:00,3679.00,3680.00,3679.00,3680.00,1705,0
+2006-01-11,17:33:00,3679.00,3680.00,3678.00,3679.00,1741,0
+2006-01-11,17:34:00,3680.00,3681.00,3679.00,3681.00,1352,0
+2006-01-11,17:35:00,3680.00,3681.00,3680.00,3681.00,1289,0
+2006-01-11,17:36:00,3681.00,3682.00,3681.00,3682.00,2549,0
+2006-01-11,17:37:00,3682.00,3682.00,3680.00,3681.00,1279,0
+2006-01-11,17:38:00,3681.00,3683.00,3681.00,3682.00,2544,0
+2006-01-11,17:39:00,3682.00,3684.00,3681.00,3683.00,2939,0
+2006-01-11,17:40:00,3683.00,3686.00,3683.00,3686.00,2654,0
+2006-01-11,17:41:00,3686.00,3686.00,3685.00,3686.00,2849,0
+2006-01-11,17:42:00,3686.00,3688.00,3685.00,3686.00,2446,0
+2006-01-11,17:43:00,3685.00,3686.00,3685.00,3685.00,525,0
+2006-01-11,17:44:00,3685.00,3686.00,3684.00,3685.00,1321,0
+2006-01-11,17:45:00,3684.00,3684.00,3683.00,3683.00,1646,0
+2006-01-11,17:46:00,3683.00,3684.00,3683.00,3683.00,653,0
+2006-01-11,17:47:00,3683.00,3683.00,3682.00,3682.00,1124,0
+2006-01-11,17:48:00,3682.00,3683.00,3682.00,3682.00,1099,0
+2006-01-11,17:49:00,3682.00,3683.00,3682.00,3682.00,523,0
+2006-01-11,17:50:00,3682.00,3684.00,3682.00,3684.00,717,0
+2006-01-11,17:51:00,3684.00,3684.00,3683.00,3683.00,557,0
+2006-01-11,17:52:00,3683.00,3683.00,3681.00,3681.00,823,0
+2006-01-11,17:53:00,3681.00,3683.00,3681.00,3683.00,238,0
+2006-01-11,17:54:00,3683.00,3683.00,3680.00,3680.00,1012,0
+2006-01-11,17:55:00,3681.00,3681.00,3679.00,3679.00,938,0
+2006-01-11,17:56:00,3680.00,3680.00,3679.00,3679.00,845,0
+2006-01-11,17:57:00,3680.00,3680.00,3679.00,3679.00,1139,0
+2006-01-11,17:58:00,3679.00,3681.00,3679.00,3681.00,235,0
+2006-01-11,17:59:00,3681.00,3681.00,3680.00,3680.00,522,0
+2006-01-11,18:00:00,3680.00,3681.00,3678.00,3679.00,1485,0
+2006-01-11,18:01:00,3679.00,3681.00,3679.00,3680.00,210,0
+2006-01-11,18:02:00,3681.00,3681.00,3680.00,3681.00,166,0
+2006-01-11,18:03:00,3680.00,3681.00,3680.00,3680.00,105,0
+2006-01-11,18:04:00,3680.00,3680.00,3678.00,3680.00,635,0
+2006-01-11,18:05:00,3679.00,3679.00,3678.00,3679.00,1765,0
+2006-01-11,18:06:00,3679.00,3680.00,3679.00,3679.00,418,0
+2006-01-11,18:07:00,3679.00,3680.00,3679.00,3680.00,424,0
+2006-01-11,18:08:00,3680.00,3680.00,3680.00,3680.00,16,0
+2006-01-11,18:09:00,3681.00,3681.00,3680.00,3680.00,69,0
+2006-01-11,18:10:00,3680.00,3681.00,3680.00,3681.00,250,0
+2006-01-11,18:11:00,3680.00,3680.00,3680.00,3680.00,72,0
+2006-01-11,18:12:00,3680.00,3681.00,3680.00,3680.00,27,0
+2006-01-11,18:13:00,3679.00,3679.00,3679.00,3679.00,12,0
+2006-01-11,18:14:00,3680.00,3680.00,3680.00,3680.00,81,0
+2006-01-11,18:15:00,3680.00,3680.00,3680.00,3680.00,82,0
+2006-01-11,18:16:00,3680.00,3681.00,3679.00,3681.00,296,0
+2006-01-11,18:17:00,3681.00,3682.00,3680.00,3681.00,1508,0
+2006-01-11,18:18:00,3681.00,3681.00,3680.00,3680.00,272,0
+2006-01-11,18:19:00,3680.00,3680.00,3680.00,3680.00,68,0
+2006-01-11,18:20:00,3680.00,3680.00,3679.00,3680.00,68,0
+2006-01-11,18:21:00,3680.00,3680.00,3680.00,3680.00,31,0
+2006-01-11,18:22:00,3681.00,3681.00,3681.00,3681.00,227,0
+2006-01-11,18:23:00,3681.00,3682.00,3681.00,3682.00,19,0
+2006-01-11,18:24:00,3681.00,3682.00,3681.00,3682.00,375,0
+2006-01-11,18:25:00,3682.00,3683.00,3681.00,3683.00,552,0
+2006-01-11,18:26:00,3683.00,3684.00,3682.00,3684.00,64,0
+2006-01-11,18:27:00,3684.00,3685.00,3684.00,3684.00,678,0
+2006-01-11,18:28:00,3684.00,3685.00,3683.00,3683.00,718,0
+2006-01-11,18:29:00,3684.00,3684.00,3683.00,3684.00,299,0
+2006-01-11,18:30:00,3683.00,3683.00,3681.00,3681.00,460,0
+2006-01-11,18:31:00,3681.00,3683.00,3681.00,3683.00,467,0
+2006-01-11,18:32:00,3683.00,3683.00,3682.00,3682.00,114,0
+2006-01-11,18:33:00,3682.00,3682.00,3681.00,3681.00,173,0
+2006-01-11,18:34:00,3682.00,3682.00,3681.00,3682.00,385,0
+2006-01-11,18:35:00,3681.00,3681.00,3681.00,3681.00,93,0
+2006-01-11,18:36:00,3681.00,3681.00,3681.00,3681.00,177,0
+2006-01-11,18:37:00,3681.00,3682.00,3681.00,3682.00,31,0
+2006-01-11,18:38:00,3682.00,3683.00,3682.00,3683.00,275,0
+2006-01-11,18:39:00,3683.00,3683.00,3682.00,3683.00,289,0
+2006-01-11,18:40:00,3683.00,3684.00,3683.00,3683.00,176,0
+2006-01-11,18:41:00,3683.00,3683.00,3683.00,3683.00,17,0
+2006-01-11,18:42:00,3683.00,3683.00,3681.00,3681.00,190,0
+2006-01-11,18:43:00,3681.00,3681.00,3680.00,3681.00,604,0
+2006-01-11,18:44:00,3680.00,3681.00,3680.00,3680.00,110,0
+2006-01-11,18:45:00,3681.00,3681.00,3680.00,3680.00,43,0
+2006-01-11,18:46:00,3681.00,3682.00,3681.00,3682.00,183,0
+2006-01-11,18:47:00,3683.00,3683.00,3682.00,3683.00,41,0
+2006-01-11,18:48:00,3683.00,3683.00,3682.00,3682.00,269,0
+2006-01-11,18:49:00,3683.00,3684.00,3682.00,3682.00,369,0
+2006-01-11,18:50:00,3682.00,3683.00,3682.00,3683.00,121,0
+2006-01-11,18:51:00,3684.00,3684.00,3683.00,3683.00,167,0
+2006-01-11,18:52:00,3682.00,3683.00,3682.00,3682.00,179,0
+2006-01-11,18:53:00,3681.00,3683.00,3681.00,3683.00,84,0
+2006-01-11,18:54:00,3683.00,3685.00,3683.00,3685.00,408,0
+2006-01-11,18:55:00,3685.00,3686.00,3684.00,3685.00,627,0
+2006-01-11,18:56:00,3685.00,3685.00,3683.00,3683.00,129,0
+2006-01-11,18:57:00,3684.00,3684.00,3683.00,3683.00,178,0
+2006-01-11,18:58:00,3683.00,3684.00,3683.00,3683.00,258,0
+2006-01-11,18:59:00,3682.00,3683.00,3682.00,3683.00,104,0
+2006-01-11,19:00:00,3683.00,3683.00,3682.00,3682.00,109,0
+2006-01-11,19:01:00,3683.00,3683.00,3682.00,3682.00,331,0
+2006-01-11,19:02:00,3683.00,3683.00,3682.00,3683.00,98,0
+2006-01-11,19:03:00,3682.00,3682.00,3680.00,3680.00,288,0
+2006-01-11,19:04:00,3680.00,3680.00,3680.00,3680.00,311,0
+2006-01-11,19:05:00,3680.00,3680.00,3679.00,3680.00,176,0
+2006-01-11,19:06:00,3680.00,3680.00,3680.00,3680.00,63,0
+2006-01-11,19:07:00,3680.00,3681.00,3680.00,3680.00,221,0
+2006-01-11,19:08:00,3679.00,3679.00,3675.00,3676.00,940,0
+2006-01-11,19:09:00,3676.00,3676.00,3675.00,3675.00,703,0
+2006-01-11,19:10:00,3676.00,3676.00,3675.00,3675.00,162,0
+2006-01-11,19:11:00,3675.00,3676.00,3675.00,3676.00,590,0
+2006-01-11,19:12:00,3677.00,3677.00,3677.00,3677.00,5,0
+2006-01-11,19:13:00,3677.00,3677.00,3677.00,3677.00,448,0
+2006-01-11,19:14:00,3677.00,3677.00,3674.00,3674.00,802,0
+2006-01-11,19:15:00,3674.00,3675.00,3672.00,3673.00,440,0
+2006-01-11,19:16:00,3672.00,3673.00,3672.00,3673.00,290,0
+2006-01-11,19:17:00,3673.00,3675.00,3673.00,3674.00,522,0
+2006-01-11,19:18:00,3675.00,3675.00,3674.00,3674.00,122,0
+2006-01-11,19:19:00,3674.00,3675.00,3674.00,3675.00,196,0
+2006-01-11,19:20:00,3675.00,3675.00,3674.00,3674.00,38,0
+2006-01-11,19:21:00,3674.00,3675.00,3674.00,3674.00,247,0
+2006-01-11,19:22:00,3674.00,3674.00,3674.00,3674.00,93,0
+2006-01-11,19:23:00,3674.00,3675.00,3674.00,3675.00,277,0
+2006-01-11,19:24:00,3675.00,3675.00,3675.00,3675.00,206,0
+2006-01-11,19:25:00,3675.00,3675.00,3675.00,3675.00,110,0
+2006-01-11,19:26:00,3674.00,3674.00,3674.00,3674.00,137,0
+2006-01-11,19:27:00,3674.00,3674.00,3674.00,3674.00,98,0
+2006-01-11,19:28:00,3674.00,3675.00,3674.00,3674.00,177,0
+2006-01-11,19:29:00,3674.00,3674.00,3673.00,3673.00,70,0
+2006-01-11,19:30:00,3673.00,3673.00,3672.00,3672.00,243,0
+2006-01-11,19:31:00,3672.00,3674.00,3672.00,3673.00,110,0
+2006-01-11,19:32:00,3674.00,3674.00,3674.00,3674.00,1,0
+2006-01-11,19:33:00,3674.00,3675.00,3673.00,3674.00,245,0
+2006-01-11,19:34:00,3674.00,3674.00,3674.00,3674.00,78,0
+2006-01-11,19:35:00,3673.00,3673.00,3672.00,3672.00,235,0
+2006-01-11,19:36:00,3673.00,3674.00,3672.00,3674.00,473,0
+2006-01-11,19:37:00,3674.00,3675.00,3674.00,3674.00,239,0
+2006-01-11,19:38:00,3674.00,3675.00,3674.00,3675.00,102,0
+2006-01-11,19:39:00,3675.00,3675.00,3674.00,3674.00,128,0
+2006-01-11,19:40:00,3675.00,3676.00,3675.00,3676.00,205,0
+2006-01-11,19:41:00,3677.00,3679.00,3677.00,3678.00,676,0
+2006-01-11,19:42:00,3679.00,3680.00,3679.00,3680.00,449,0
+2006-01-11,19:43:00,3679.00,3680.00,3678.00,3678.00,348,0
+2006-01-11,19:44:00,3677.00,3678.00,3677.00,3677.00,99,0
+2006-01-11,19:45:00,3678.00,3678.00,3677.00,3678.00,330,0
+2006-01-11,19:46:00,3678.00,3678.00,3678.00,3678.00,234,0
+2006-01-11,19:47:00,3677.00,3677.00,3676.00,3676.00,41,0
+2006-01-11,19:48:00,3677.00,3677.00,3677.00,3677.00,52,0
+2006-01-11,19:49:00,3676.00,3676.00,3676.00,3676.00,64,0
+2006-01-11,19:50:00,3676.00,3676.00,3676.00,3676.00,182,0
+2006-01-11,19:51:00,3676.00,3677.00,3676.00,3676.00,137,0
+2006-01-11,19:52:00,3675.00,3676.00,3675.00,3675.00,192,0
+2006-01-11,19:53:00,3676.00,3676.00,3675.00,3676.00,86,0
+2006-01-11,19:54:00,3676.00,3676.00,3675.00,3675.00,64,0
+2006-01-11,19:55:00,3675.00,3675.00,3675.00,3675.00,144,0
+2006-01-11,19:56:00,3675.00,3675.00,3674.00,3675.00,35,0
+2006-01-11,19:57:00,3675.00,3675.00,3673.00,3674.00,289,0
+2006-01-11,19:58:00,3673.00,3674.00,3672.00,3674.00,489,0
+2006-01-11,19:59:00,3674.00,3674.00,3672.00,3673.00,427,0
+2006-01-11,20:00:00,3673.00,3676.00,3673.00,3675.00,363,0
+2006-01-11,20:01:00,3675.00,3675.00,3674.00,3675.00,73,0
+2006-01-11,20:02:00,3675.00,3675.00,3674.00,3674.00,68,0
+2006-01-11,20:03:00,3674.00,3675.00,3674.00,3674.00,182,0
+2006-01-11,20:04:00,3675.00,3675.00,3675.00,3675.00,5,0
+2006-01-11,20:05:00,3675.00,3675.00,3675.00,3675.00,100,0
+2006-01-11,20:06:00,3675.00,3675.00,3674.00,3674.00,39,0
+2006-01-11,20:07:00,3675.00,3675.00,3675.00,3675.00,4,0
+2006-01-11,20:08:00,3675.00,3675.00,3675.00,3675.00,7,0
+2006-01-11,20:10:00,3676.00,3678.00,3676.00,3677.00,169,0
+2006-01-11,20:11:00,3677.00,3680.00,3677.00,3679.00,396,0
+2006-01-11,20:12:00,3678.00,3679.00,3678.00,3679.00,103,0
+2006-01-11,20:13:00,3679.00,3679.00,3678.00,3679.00,117,0
+2006-01-11,20:14:00,3679.00,3681.00,3679.00,3681.00,913,0
+2006-01-11,20:15:00,3680.00,3681.00,3680.00,3681.00,177,0
+2006-01-11,20:16:00,3680.00,3680.00,3680.00,3680.00,230,0
+2006-01-11,20:17:00,3680.00,3681.00,3680.00,3681.00,209,0
+2006-01-11,20:18:00,3681.00,3682.00,3681.00,3682.00,113,0
+2006-01-11,20:19:00,3681.00,3681.00,3680.00,3680.00,141,0
+2006-01-11,20:20:00,3680.00,3680.00,3680.00,3680.00,317,0
+2006-01-11,20:22:00,3680.00,3681.00,3680.00,3681.00,217,0
+2006-01-11,20:23:00,3681.00,3682.00,3680.00,3681.00,65,0
+2006-01-11,20:24:00,3681.00,3682.00,3681.00,3681.00,19,0
+2006-01-11,20:25:00,3681.00,3682.00,3681.00,3682.00,87,0
+2006-01-11,20:26:00,3683.00,3683.00,3683.00,3683.00,47,0
+2006-01-11,20:27:00,3683.00,3683.00,3682.00,3682.00,52,0
+2006-01-11,20:28:00,3682.00,3683.00,3682.00,3683.00,69,0
+2006-01-11,20:29:00,3682.00,3682.00,3681.00,3681.00,57,0
+2006-01-11,20:30:00,3680.00,3681.00,3680.00,3681.00,124,0
+2006-01-11,20:31:00,3681.00,3682.00,3681.00,3682.00,51,0
+2006-01-11,20:32:00,3681.00,3681.00,3681.00,3681.00,151,0
+2006-01-11,20:33:00,3681.00,3681.00,3680.00,3680.00,118,0
+2006-01-11,20:34:00,3681.00,3681.00,3680.00,3680.00,83,0
+2006-01-11,20:35:00,3680.00,3680.00,3680.00,3680.00,75,0
+2006-01-11,20:36:00,3681.00,3681.00,3681.00,3681.00,219,0
+2006-01-11,20:37:00,3682.00,3683.00,3682.00,3683.00,151,0
+2006-01-11,20:39:00,3683.00,3683.00,3683.00,3683.00,43,0
+2006-01-11,20:40:00,3683.00,3683.00,3683.00,3683.00,50,0
+2006-01-11,20:41:00,3684.00,3684.00,3684.00,3684.00,18,0
+2006-01-11,20:42:00,3683.00,3686.00,3683.00,3685.00,729,0
+2006-01-11,20:43:00,3685.00,3686.00,3685.00,3685.00,569,0
+2006-01-11,20:44:00,3685.00,3686.00,3685.00,3686.00,41,0
+2006-01-11,20:45:00,3685.00,3686.00,3685.00,3685.00,287,0
+2006-01-11,20:46:00,3684.00,3684.00,3684.00,3684.00,34,0
+2006-01-11,20:48:00,3685.00,3685.00,3684.00,3684.00,110,0
+2006-01-11,20:49:00,3684.00,3684.00,3684.00,3684.00,2,0
+2006-01-11,20:50:00,3683.00,3683.00,3682.00,3683.00,112,0
+2006-01-11,20:52:00,3683.00,3683.00,3683.00,3683.00,314,0
+2006-01-11,20:53:00,3684.00,3684.00,3684.00,3684.00,5,0
+2006-01-11,20:54:00,3684.00,3684.00,3684.00,3684.00,1,0
+2006-01-11,20:55:00,3684.00,3686.00,3684.00,3686.00,400,0
+2006-01-11,20:56:00,3686.00,3689.00,3686.00,3688.00,588,0
+2006-01-11,20:57:00,3688.00,3688.00,3688.00,3688.00,168,0
+2006-01-11,20:58:00,3688.00,3689.00,3687.00,3687.00,99,0
+2006-01-11,20:59:00,3688.00,3688.00,3687.00,3687.00,29,0
+2006-01-11,21:00:00,3687.00,3687.00,3687.00,3687.00,127,0
+2006-01-11,21:01:00,3687.00,3687.00,3687.00,3687.00,30,0
+2006-01-11,21:02:00,3687.00,3687.00,3687.00,3687.00,28,0
+2006-01-11,21:04:00,3687.00,3687.00,3687.00,3687.00,102,0
+2006-01-11,21:05:00,3687.00,3687.00,3687.00,3687.00,8,0
+2006-01-11,21:06:00,3687.00,3687.00,3687.00,3687.00,7,0
+2006-01-11,21:08:00,3687.00,3687.00,3687.00,3687.00,12,0
+2006-01-11,21:09:00,3687.00,3687.00,3687.00,3687.00,412,0
+2006-01-11,21:10:00,3686.00,3686.00,3686.00,3686.00,5,0
+2006-01-11,21:12:00,3686.00,3686.00,3686.00,3686.00,4,0
+2006-01-11,21:13:00,3686.00,3687.00,3686.00,3687.00,351,0
+2006-01-11,21:14:00,3687.00,3687.00,3687.00,3687.00,1,0
+2006-01-11,21:15:00,3687.00,3687.00,3686.00,3687.00,138,0
+2006-01-11,21:16:00,3686.00,3687.00,3686.00,3687.00,57,0
+2006-01-11,21:18:00,3687.00,3687.00,3687.00,3687.00,1,0
+2006-01-11,21:19:00,3687.00,3688.00,3687.00,3687.00,33,0
+2006-01-11,21:20:00,3687.00,3687.00,3687.00,3687.00,6,0
+2006-01-11,21:21:00,3687.00,3687.00,3687.00,3687.00,34,0
+2006-01-11,21:23:00,3686.00,3686.00,3686.00,3686.00,92,0
+2006-01-11,21:25:00,3686.00,3686.00,3686.00,3686.00,185,0
+2006-01-11,21:26:00,3686.00,3686.00,3686.00,3686.00,58,0
+2006-01-11,21:27:00,3686.00,3686.00,3686.00,3686.00,71,0
+2006-01-11,21:28:00,3686.00,3687.00,3685.00,3686.00,69,0
+2006-01-11,21:29:00,3685.00,3685.00,3685.00,3685.00,1,0
+2006-01-11,21:30:00,3686.00,3686.00,3685.00,3685.00,13,0
+2006-01-11,21:31:00,3686.00,3687.00,3686.00,3686.00,30,0
+2006-01-11,21:32:00,3686.00,3686.00,3686.00,3686.00,31,0
+2006-01-11,21:33:00,3686.00,3686.00,3686.00,3686.00,64,0
+2006-01-11,21:34:00,3686.00,3686.00,3686.00,3686.00,33,0
+2006-01-11,21:37:00,3687.00,3687.00,3687.00,3687.00,15,0
+2006-01-11,21:40:00,3686.00,3686.00,3686.00,3686.00,15,0
+2006-01-11,21:41:00,3687.00,3687.00,3686.00,3686.00,11,0
+2006-01-11,21:42:00,3686.00,3686.00,3686.00,3686.00,10,0
+2006-01-11,21:43:00,3687.00,3687.00,3687.00,3687.00,3,0
+2006-01-11,21:44:00,3687.00,3687.00,3687.00,3687.00,1,0
+2006-01-11,21:45:00,3687.00,3687.00,3687.00,3687.00,50,0
+2006-01-11,21:46:00,3687.00,3687.00,3687.00,3687.00,125,0
+2006-01-11,21:48:00,3687.00,3687.00,3687.00,3687.00,5,0
+2006-01-11,21:49:00,3687.00,3688.00,3687.00,3687.00,25,0
+2006-01-11,21:50:00,3687.00,3687.00,3686.00,3686.00,100,0
+2006-01-11,21:51:00,3686.00,3686.00,3686.00,3686.00,91,0
+2006-01-11,21:52:00,3685.00,3685.00,3685.00,3685.00,21,0
+2006-01-11,21:53:00,3685.00,3685.00,3685.00,3685.00,1,0
+2006-01-11,21:54:00,3686.00,3686.00,3684.00,3684.00,66,0
+2006-01-11,21:55:00,3684.00,3685.00,3683.00,3683.00,47,0
+2006-01-11,21:56:00,3684.00,3684.00,3682.00,3683.00,75,0
+2006-01-11,21:57:00,3683.00,3685.00,3683.00,3685.00,82,0
+2006-01-11,21:58:00,3683.00,3686.00,3683.00,3686.00,131,0
+2006-01-11,21:59:00,3685.00,3686.00,3683.00,3684.00,91,0
+2006-01-11,22:00:00,3684.00,3686.00,3683.00,3685.00,390,0
+2006-01-12,09:01:00,3676.00,3676.00,3672.00,3673.00,5068,0
+2006-01-12,09:02:00,3673.00,3673.00,3669.00,3672.00,4076,0
+2006-01-12,09:03:00,3671.00,3674.00,3671.00,3673.00,1734,0
+2006-01-12,09:04:00,3672.00,3673.00,3672.00,3673.00,745,0
+2006-01-12,09:05:00,3672.00,3674.00,3672.00,3673.00,1152,0
+2006-01-12,09:06:00,3673.00,3674.00,3672.00,3673.00,1167,0
+2006-01-12,09:07:00,3672.00,3673.00,3670.00,3671.00,2005,0
+2006-01-12,09:08:00,3670.00,3673.00,3670.00,3671.00,948,0
+2006-01-12,09:09:00,3672.00,3676.00,3671.00,3675.00,4600,0
+2006-01-12,09:10:00,3675.00,3677.00,3674.00,3676.00,1710,0
+2006-01-12,09:11:00,3676.00,3678.00,3676.00,3678.00,1188,0
+2006-01-12,09:12:00,3678.00,3680.00,3677.00,3678.00,2224,0
+2006-01-12,09:13:00,3679.00,3679.00,3678.00,3679.00,826,0
+2006-01-12,09:14:00,3679.00,3680.00,3678.00,3679.00,1192,0
+2006-01-12,09:15:00,3678.00,3680.00,3678.00,3680.00,647,0
+2006-01-12,09:16:00,3679.00,3680.00,3678.00,3679.00,2415,0
+2006-01-12,09:17:00,3679.00,3681.00,3678.00,3680.00,2228,0
+2006-01-12,09:18:00,3680.00,3681.00,3680.00,3681.00,1244,0
+2006-01-12,09:19:00,3680.00,3681.00,3680.00,3681.00,578,0
+2006-01-12,09:20:00,3680.00,3682.00,3679.00,3680.00,1335,0
+2006-01-12,09:21:00,3680.00,3682.00,3679.00,3682.00,1447,0
+2006-01-12,09:22:00,3682.00,3682.00,3680.00,3681.00,1040,0
+2006-01-12,09:23:00,3681.00,3682.00,3680.00,3682.00,624,0
+2006-01-12,09:24:00,3681.00,3681.00,3679.00,3680.00,1971,0
+2006-01-12,09:25:00,3680.00,3681.00,3679.00,3680.00,700,0
+2006-01-12,09:26:00,3679.00,3681.00,3679.00,3680.00,508,0
+2006-01-12,09:27:00,3679.00,3681.00,3679.00,3680.00,248,0
+2006-01-12,09:28:00,3681.00,3682.00,3680.00,3681.00,424,0
+2006-01-12,09:29:00,3681.00,3681.00,3678.00,3679.00,1529,0
+2006-01-12,09:30:00,3678.00,3680.00,3678.00,3680.00,617,0
+2006-01-12,09:31:00,3680.00,3680.00,3677.00,3677.00,664,0
+2006-01-12,09:32:00,3678.00,3680.00,3678.00,3679.00,610,0
+2006-01-12,09:33:00,3679.00,3680.00,3678.00,3678.00,295,0
+2006-01-12,09:34:00,3679.00,3679.00,3677.00,3678.00,778,0
+2006-01-12,09:35:00,3678.00,3678.00,3677.00,3677.00,422,0
+2006-01-12,09:36:00,3677.00,3677.00,3676.00,3677.00,1423,0
+2006-01-12,09:37:00,3677.00,3678.00,3677.00,3677.00,688,0
+2006-01-12,09:38:00,3678.00,3678.00,3677.00,3678.00,264,0
+2006-01-12,09:39:00,3677.00,3678.00,3676.00,3677.00,1049,0
+2006-01-12,09:40:00,3678.00,3678.00,3677.00,3678.00,347,0
+2006-01-12,09:41:00,3679.00,3679.00,3677.00,3677.00,602,0
+2006-01-12,09:42:00,3678.00,3679.00,3677.00,3679.00,122,0
+2006-01-12,09:43:00,3678.00,3679.00,3676.00,3676.00,980,0
+2006-01-12,09:44:00,3677.00,3677.00,3676.00,3676.00,128,0
+2006-01-12,09:45:00,3676.00,3678.00,3676.00,3678.00,856,0
+2006-01-12,09:46:00,3678.00,3679.00,3677.00,3677.00,1271,0
+2006-01-12,09:47:00,3678.00,3678.00,3676.00,3677.00,458,0
+2006-01-12,09:48:00,3677.00,3677.00,3676.00,3677.00,150,0
+2006-01-12,09:49:00,3676.00,3678.00,3676.00,3676.00,663,0
+2006-01-12,09:50:00,3676.00,3677.00,3675.00,3676.00,650,0
+2006-01-12,09:51:00,3676.00,3676.00,3675.00,3676.00,522,0
+2006-01-12,09:52:00,3676.00,3676.00,3675.00,3676.00,262,0
+2006-01-12,09:53:00,3677.00,3677.00,3675.00,3675.00,254,0
+2006-01-12,09:54:00,3676.00,3676.00,3674.00,3675.00,1466,0
+2006-01-12,09:55:00,3674.00,3675.00,3673.00,3675.00,880,0
+2006-01-12,09:56:00,3674.00,3675.00,3673.00,3674.00,518,0
+2006-01-12,09:57:00,3674.00,3675.00,3674.00,3674.00,438,0
+2006-01-12,09:58:00,3674.00,3675.00,3674.00,3675.00,120,0
+2006-01-12,09:59:00,3675.00,3675.00,3674.00,3674.00,478,0
+2006-01-12,10:00:00,3674.00,3675.00,3674.00,3674.00,48,0
+2006-01-12,10:01:00,3675.00,3675.00,3674.00,3674.00,946,0
+2006-01-12,10:02:00,3675.00,3676.00,3674.00,3676.00,355,0
+2006-01-12,10:03:00,3675.00,3676.00,3675.00,3675.00,76,0
+2006-01-12,10:04:00,3675.00,3675.00,3674.00,3674.00,242,0
+2006-01-12,10:05:00,3675.00,3675.00,3674.00,3674.00,11,0
+2006-01-12,10:06:00,3674.00,3674.00,3673.00,3673.00,629,0
+2006-01-12,10:07:00,3674.00,3674.00,3672.00,3673.00,469,0
+2006-01-12,10:08:00,3673.00,3674.00,3671.00,3672.00,797,0
+2006-01-12,10:09:00,3673.00,3673.00,3672.00,3673.00,996,0
+2006-01-12,10:10:00,3673.00,3674.00,3673.00,3674.00,320,0
+2006-01-12,10:11:00,3674.00,3675.00,3674.00,3674.00,37,0
+2006-01-12,10:12:00,3675.00,3675.00,3673.00,3673.00,415,0
+2006-01-12,10:13:00,3674.00,3674.00,3673.00,3673.00,511,0
+2006-01-12,10:14:00,3673.00,3674.00,3673.00,3674.00,505,0
+2006-01-12,10:15:00,3675.00,3675.00,3674.00,3674.00,123,0
+2006-01-12,10:16:00,3674.00,3676.00,3674.00,3675.00,913,0
+2006-01-12,10:17:00,3675.00,3677.00,3675.00,3677.00,165,0
+2006-01-12,10:18:00,3676.00,3677.00,3676.00,3676.00,608,0
+2006-01-12,10:19:00,3677.00,3677.00,3676.00,3676.00,425,0
+2006-01-12,10:20:00,3677.00,3677.00,3676.00,3677.00,49,0
+2006-01-12,10:21:00,3676.00,3677.00,3675.00,3676.00,529,0
+2006-01-12,10:22:00,3676.00,3677.00,3675.00,3677.00,431,0
+2006-01-12,10:23:00,3676.00,3676.00,3675.00,3676.00,159,0
+2006-01-12,10:24:00,3675.00,3676.00,3675.00,3676.00,25,0
+2006-01-12,10:25:00,3676.00,3676.00,3675.00,3676.00,74,0
+2006-01-12,10:26:00,3675.00,3676.00,3675.00,3676.00,214,0
+2006-01-12,10:27:00,3676.00,3676.00,3675.00,3676.00,2134,0
+2006-01-12,10:28:00,3676.00,3676.00,3675.00,3676.00,29,0
+2006-01-12,10:29:00,3676.00,3677.00,3676.00,3676.00,997,0
+2006-01-12,10:30:00,3676.00,3677.00,3676.00,3677.00,129,0
+2006-01-12,10:31:00,3676.00,3677.00,3676.00,3677.00,28,0
+2006-01-12,10:32:00,3677.00,3677.00,3676.00,3677.00,96,0
+2006-01-12,10:33:00,3676.00,3677.00,3676.00,3677.00,1049,0
+2006-01-12,10:34:00,3676.00,3677.00,3675.00,3676.00,1306,0
+2006-01-12,10:35:00,3676.00,3677.00,3676.00,3677.00,352,0
+2006-01-12,10:36:00,3677.00,3677.00,3676.00,3677.00,34,0
+2006-01-12,10:37:00,3677.00,3677.00,3676.00,3677.00,151,0
+2006-01-12,10:38:00,3677.00,3678.00,3677.00,3678.00,367,0
+2006-01-12,10:39:00,3678.00,3679.00,3678.00,3679.00,901,0
+2006-01-12,10:40:00,3679.00,3680.00,3678.00,3679.00,491,0
+2006-01-12,10:41:00,3678.00,3679.00,3678.00,3679.00,234,0
+2006-01-12,10:42:00,3679.00,3680.00,3678.00,3678.00,1164,0
+2006-01-12,10:43:00,3678.00,3678.00,3677.00,3678.00,250,0
+2006-01-12,10:44:00,3678.00,3678.00,3677.00,3678.00,694,0
+2006-01-12,10:45:00,3678.00,3678.00,3677.00,3678.00,139,0
+2006-01-12,10:46:00,3678.00,3678.00,3677.00,3678.00,338,0
+2006-01-12,10:47:00,3677.00,3678.00,3677.00,3678.00,107,0
+2006-01-12,10:48:00,3678.00,3678.00,3678.00,3678.00,176,0
+2006-01-12,10:49:00,3679.00,3679.00,3678.00,3679.00,56,0
+2006-01-12,10:50:00,3678.00,3679.00,3678.00,3678.00,131,0
+2006-01-12,10:51:00,3678.00,3678.00,3677.00,3678.00,170,0
+2006-01-12,10:52:00,3678.00,3679.00,3678.00,3678.00,80,0
+2006-01-12,10:53:00,3678.00,3678.00,3678.00,3678.00,70,0
+2006-01-12,10:54:00,3677.00,3678.00,3677.00,3678.00,27,0
+2006-01-12,10:55:00,3678.00,3678.00,3678.00,3678.00,217,0
+2006-01-12,10:56:00,3677.00,3678.00,3677.00,3677.00,30,0
+2006-01-12,10:57:00,3678.00,3679.00,3678.00,3678.00,206,0
+2006-01-12,10:58:00,3678.00,3678.00,3677.00,3678.00,236,0
+2006-01-12,10:59:00,3678.00,3678.00,3678.00,3678.00,157,0
+2006-01-12,11:00:00,3678.00,3679.00,3678.00,3679.00,462,0
+2006-01-12,11:01:00,3679.00,3679.00,3678.00,3679.00,212,0
+2006-01-12,11:02:00,3678.00,3679.00,3678.00,3679.00,207,0
+2006-01-12,11:03:00,3679.00,3679.00,3677.00,3677.00,265,0
+2006-01-12,11:04:00,3678.00,3678.00,3677.00,3678.00,306,0
+2006-01-12,11:05:00,3677.00,3678.00,3677.00,3678.00,2155,0
+2006-01-12,11:06:00,3677.00,3678.00,3677.00,3677.00,2145,0
+2006-01-12,11:07:00,3678.00,3678.00,3677.00,3678.00,1078,0
+2006-01-12,11:08:00,3678.00,3678.00,3677.00,3678.00,325,0
+2006-01-12,11:09:00,3678.00,3678.00,3677.00,3678.00,163,0
+2006-01-12,11:10:00,3678.00,3678.00,3677.00,3678.00,796,0
+2006-01-12,11:11:00,3678.00,3678.00,3677.00,3677.00,843,0
+2006-01-12,11:12:00,3678.00,3678.00,3676.00,3677.00,508,0
+2006-01-12,11:13:00,3677.00,3677.00,3675.00,3676.00,1505,0
+2006-01-12,11:14:00,3675.00,3676.00,3674.00,3675.00,2638,0
+2006-01-12,11:15:00,3674.00,3675.00,3673.00,3673.00,988,0
+2006-01-12,11:16:00,3673.00,3674.00,3672.00,3673.00,3713,0
+2006-01-12,11:17:00,3673.00,3674.00,3673.00,3674.00,473,0
+2006-01-12,11:18:00,3674.00,3674.00,3673.00,3674.00,39,0
+2006-01-12,11:19:00,3673.00,3674.00,3672.00,3673.00,1454,0
+2006-01-12,11:20:00,3673.00,3674.00,3672.00,3673.00,2017,0
+2006-01-12,11:21:00,3673.00,3675.00,3673.00,3675.00,872,0
+2006-01-12,11:22:00,3674.00,3676.00,3674.00,3675.00,688,0
+2006-01-12,11:23:00,3676.00,3676.00,3675.00,3675.00,1869,0
+2006-01-12,11:24:00,3675.00,3676.00,3675.00,3675.00,2322,0
+2006-01-12,11:25:00,3676.00,3677.00,3675.00,3677.00,411,0
+2006-01-12,11:26:00,3676.00,3677.00,3675.00,3676.00,220,0
+2006-01-12,11:27:00,3675.00,3676.00,3675.00,3676.00,5062,0
+2006-01-12,11:28:00,3676.00,3676.00,3675.00,3676.00,24,0
+2006-01-12,11:29:00,3676.00,3678.00,3676.00,3677.00,748,0
+2006-01-12,11:30:00,3676.00,3677.00,3676.00,3676.00,614,0
+2006-01-12,11:31:00,3676.00,3677.00,3675.00,3676.00,187,0
+2006-01-12,11:32:00,3675.00,3676.00,3675.00,3676.00,255,0
+2006-01-12,11:33:00,3676.00,3676.00,3675.00,3676.00,1090,0
+2006-01-12,11:34:00,3675.00,3676.00,3675.00,3676.00,2,0
+2006-01-12,11:35:00,3675.00,3675.00,3675.00,3675.00,5,0
+2006-01-12,11:36:00,3675.00,3676.00,3675.00,3675.00,16,0
+2006-01-12,11:37:00,3675.00,3676.00,3675.00,3675.00,332,0
+2006-01-12,11:38:00,3675.00,3676.00,3675.00,3676.00,842,0
+2006-01-12,11:39:00,3675.00,3676.00,3675.00,3676.00,32,0
+2006-01-12,11:40:00,3676.00,3676.00,3675.00,3675.00,62,0
+2006-01-12,11:41:00,3676.00,3676.00,3675.00,3675.00,470,0
+2006-01-12,11:42:00,3675.00,3676.00,3674.00,3675.00,322,0
+2006-01-12,11:43:00,3675.00,3676.00,3675.00,3676.00,12,0
+2006-01-12,11:44:00,3676.00,3676.00,3675.00,3676.00,2028,0
+2006-01-12,11:45:00,3676.00,3676.00,3675.00,3676.00,117,0
+2006-01-12,11:46:00,3675.00,3676.00,3675.00,3675.00,155,0
+2006-01-12,11:47:00,3675.00,3676.00,3675.00,3676.00,520,0
+2006-01-12,11:48:00,3677.00,3677.00,3676.00,3676.00,336,0
+2006-01-12,11:49:00,3676.00,3676.00,3675.00,3676.00,26,0
+2006-01-12,11:50:00,3675.00,3675.00,3675.00,3675.00,3,0
+2006-01-12,11:51:00,3676.00,3676.00,3675.00,3675.00,852,0
+2006-01-12,11:52:00,3676.00,3676.00,3675.00,3675.00,54,0
+2006-01-12,11:53:00,3676.00,3676.00,3676.00,3676.00,25,0
+2006-01-12,11:54:00,3675.00,3676.00,3675.00,3675.00,38,0
+2006-01-12,11:55:00,3675.00,3676.00,3675.00,3675.00,429,0
+2006-01-12,11:56:00,3675.00,3675.00,3675.00,3675.00,204,0
+2006-01-12,11:57:00,3676.00,3676.00,3675.00,3675.00,29,0
+2006-01-12,11:58:00,3675.00,3676.00,3675.00,3675.00,87,0
+2006-01-12,11:59:00,3676.00,3677.00,3675.00,3676.00,789,0
+2006-01-12,12:00:00,3676.00,3677.00,3676.00,3677.00,47,0
+2006-01-12,12:01:00,3676.00,3677.00,3676.00,3677.00,1104,0
+2006-01-12,12:02:00,3677.00,3677.00,3676.00,3676.00,58,0
+2006-01-12,12:03:00,3677.00,3677.00,3676.00,3677.00,122,0
+2006-01-12,12:04:00,3677.00,3677.00,3676.00,3676.00,15,0
+2006-01-12,12:05:00,3677.00,3677.00,3676.00,3676.00,4,0
+2006-01-12,12:06:00,3676.00,3676.00,3675.00,3676.00,900,0
+2006-01-12,12:07:00,3676.00,3676.00,3675.00,3676.00,944,0
+2006-01-12,12:08:00,3675.00,3676.00,3675.00,3676.00,92,0
+2006-01-12,12:09:00,3675.00,3675.00,3674.00,3674.00,1221,0
+2006-01-12,12:10:00,3675.00,3675.00,3674.00,3675.00,682,0
+2006-01-12,12:11:00,3675.00,3676.00,3674.00,3676.00,1856,0
+2006-01-12,12:12:00,3675.00,3675.00,3674.00,3675.00,80,0
+2006-01-12,12:13:00,3675.00,3675.00,3675.00,3675.00,528,0
+2006-01-12,12:14:00,3675.00,3676.00,3675.00,3676.00,4,0
+2006-01-12,12:15:00,3676.00,3677.00,3676.00,3677.00,303,0
+2006-01-12,12:16:00,3676.00,3677.00,3676.00,3676.00,1114,0
+2006-01-12,12:17:00,3676.00,3677.00,3676.00,3676.00,45,0
+2006-01-12,12:18:00,3676.00,3676.00,3675.00,3675.00,537,0
+2006-01-12,12:19:00,3675.00,3676.00,3675.00,3676.00,97,0
+2006-01-12,12:20:00,3675.00,3675.00,3674.00,3674.00,369,0
+2006-01-12,12:21:00,3674.00,3675.00,3673.00,3674.00,336,0
+2006-01-12,12:22:00,3674.00,3675.00,3672.00,3672.00,868,0
+2006-01-12,12:23:00,3673.00,3674.00,3673.00,3674.00,69,0
+2006-01-12,12:24:00,3674.00,3674.00,3672.00,3673.00,1027,0
+2006-01-12,12:25:00,3673.00,3673.00,3671.00,3672.00,1105,0
+2006-01-12,12:26:00,3672.00,3672.00,3671.00,3672.00,873,0
+2006-01-12,12:27:00,3672.00,3672.00,3671.00,3672.00,532,0
+2006-01-12,12:28:00,3672.00,3672.00,3672.00,3672.00,22,0
+2006-01-12,12:29:00,3671.00,3671.00,3670.00,3671.00,1651,0
+2006-01-12,12:30:00,3672.00,3672.00,3671.00,3672.00,629,0
+2006-01-12,12:31:00,3672.00,3672.00,3672.00,3672.00,5718,0
+2006-01-12,12:32:00,3672.00,3672.00,3672.00,3672.00,53,0
+2006-01-12,12:33:00,3671.00,3672.00,3671.00,3671.00,135,0
+2006-01-12,12:34:00,3672.00,3672.00,3671.00,3671.00,266,0
+2006-01-12,12:35:00,3672.00,3672.00,3671.00,3671.00,367,0
+2006-01-12,12:36:00,3672.00,3672.00,3671.00,3671.00,71,0
+2006-01-12,12:37:00,3672.00,3672.00,3672.00,3672.00,11492,0
+2006-01-12,12:38:00,3672.00,3672.00,3672.00,3672.00,553,0
+2006-01-12,12:39:00,3671.00,3672.00,3671.00,3671.00,484,0
+2006-01-12,12:40:00,3671.00,3672.00,3671.00,3672.00,33,0
+2006-01-12,12:41:00,3671.00,3672.00,3671.00,3672.00,320,0
+2006-01-12,12:42:00,3672.00,3672.00,3671.00,3671.00,57,0
+2006-01-12,12:43:00,3672.00,3672.00,3671.00,3672.00,847,0
+2006-01-12,12:44:00,3672.00,3672.00,3671.00,3671.00,10,0
+2006-01-12,12:45:00,3672.00,3672.00,3671.00,3672.00,267,0
+2006-01-12,12:46:00,3671.00,3672.00,3671.00,3672.00,20,0
+2006-01-12,12:47:00,3671.00,3672.00,3671.00,3672.00,155,0
+2006-01-12,12:48:00,3672.00,3672.00,3672.00,3672.00,400,0
+2006-01-12,12:49:00,3672.00,3673.00,3672.00,3673.00,28,0
+2006-01-12,12:50:00,3673.00,3673.00,3672.00,3672.00,91,0
+2006-01-12,12:51:00,3672.00,3672.00,3672.00,3672.00,232,0
+2006-01-12,12:52:00,3672.00,3673.00,3672.00,3673.00,177,0
+2006-01-12,12:53:00,3672.00,3673.00,3672.00,3673.00,12,0
+2006-01-12,12:54:00,3672.00,3673.00,3672.00,3673.00,43,0
+2006-01-12,12:55:00,3673.00,3673.00,3673.00,3673.00,267,0
+2006-01-12,12:56:00,3673.00,3673.00,3672.00,3673.00,452,0
+2006-01-12,12:57:00,3673.00,3673.00,3672.00,3673.00,87,0
+2006-01-12,12:58:00,3672.00,3673.00,3672.00,3673.00,43,0
+2006-01-12,12:59:00,3672.00,3673.00,3672.00,3672.00,13,0
+2006-01-12,13:00:00,3673.00,3673.00,3672.00,3673.00,24,0
+2006-01-12,13:01:00,3672.00,3673.00,3672.00,3673.00,121,0
+2006-01-12,13:02:00,3672.00,3672.00,3672.00,3672.00,398,0
+2006-01-12,13:03:00,3672.00,3672.00,3672.00,3672.00,23,0
+2006-01-12,13:04:00,3672.00,3673.00,3672.00,3672.00,212,0
+2006-01-12,13:05:00,3672.00,3672.00,3672.00,3672.00,40,0
+2006-01-12,13:06:00,3671.00,3672.00,3671.00,3672.00,87,0
+2006-01-12,13:07:00,3671.00,3672.00,3671.00,3671.00,120,0
+2006-01-12,13:08:00,3672.00,3672.00,3671.00,3671.00,363,0
+2006-01-12,13:09:00,3671.00,3672.00,3671.00,3672.00,93,0
+2006-01-12,13:10:00,3671.00,3672.00,3671.00,3672.00,53,0
+2006-01-12,13:11:00,3671.00,3672.00,3670.00,3670.00,154,0
+2006-01-12,13:12:00,3670.00,3671.00,3670.00,3671.00,331,0
+2006-01-12,13:13:00,3671.00,3671.00,3670.00,3671.00,5,0
+2006-01-12,13:14:00,3670.00,3670.00,3669.00,3670.00,809,0
+2006-01-12,13:15:00,3670.00,3670.00,3668.00,3670.00,1110,0
+2006-01-12,13:16:00,3669.00,3670.00,3669.00,3670.00,508,0
+2006-01-12,13:17:00,3669.00,3670.00,3669.00,3669.00,527,0
+2006-01-12,13:18:00,3670.00,3670.00,3669.00,3670.00,502,0
+2006-01-12,13:19:00,3669.00,3670.00,3669.00,3670.00,4,0
+2006-01-12,13:20:00,3669.00,3670.00,3669.00,3670.00,6,0
+2006-01-12,13:21:00,3670.00,3670.00,3669.00,3670.00,179,0
+2006-01-12,13:22:00,3670.00,3671.00,3670.00,3671.00,762,0
+2006-01-12,13:23:00,3671.00,3671.00,3670.00,3671.00,42,0
+2006-01-12,13:24:00,3671.00,3671.00,3670.00,3671.00,69,0
+2006-01-12,13:25:00,3670.00,3671.00,3670.00,3671.00,386,0
+2006-01-12,13:26:00,3671.00,3671.00,3671.00,3671.00,28,0
+2006-01-12,13:27:00,3670.00,3671.00,3670.00,3671.00,355,0
+2006-01-12,13:28:00,3671.00,3671.00,3670.00,3671.00,350,0
+2006-01-12,13:29:00,3670.00,3671.00,3670.00,3670.00,208,0
+2006-01-12,13:30:00,3670.00,3670.00,3670.00,3670.00,7,0
+2006-01-12,13:31:00,3670.00,3671.00,3670.00,3670.00,363,0
+2006-01-12,13:32:00,3671.00,3671.00,3670.00,3670.00,229,0
+2006-01-12,13:33:00,3670.00,3671.00,3669.00,3671.00,92,0
+2006-01-12,13:35:00,3670.00,3671.00,3670.00,3670.00,12,0
+2006-01-12,13:36:00,3671.00,3671.00,3670.00,3671.00,10,0
+2006-01-12,13:37:00,3671.00,3671.00,3670.00,3670.00,113,0
+2006-01-12,13:38:00,3671.00,3671.00,3671.00,3671.00,56,0
+2006-01-12,13:39:00,3670.00,3671.00,3670.00,3671.00,48,0
+2006-01-12,13:40:00,3670.00,3671.00,3670.00,3670.00,234,0
+2006-01-12,13:41:00,3671.00,3671.00,3669.00,3669.00,174,0
+2006-01-12,13:42:00,3670.00,3670.00,3670.00,3670.00,118,0
+2006-01-12,13:43:00,3670.00,3670.00,3670.00,3670.00,137,0
+2006-01-12,13:44:00,3670.00,3670.00,3669.00,3670.00,80,0
+2006-01-12,13:45:00,3670.00,3670.00,3670.00,3670.00,4,0
+2006-01-12,13:46:00,3670.00,3671.00,3670.00,3670.00,343,0
+2006-01-12,13:47:00,3671.00,3671.00,3670.00,3671.00,28,0
+2006-01-12,13:48:00,3670.00,3671.00,3670.00,3670.00,274,0
+2006-01-12,13:49:00,3669.00,3670.00,3669.00,3670.00,124,0
+2006-01-12,13:50:00,3670.00,3670.00,3669.00,3670.00,613,0
+2006-01-12,13:51:00,3670.00,3670.00,3669.00,3670.00,248,0
+2006-01-12,13:52:00,3670.00,3671.00,3670.00,3671.00,82,0
+2006-01-12,13:53:00,3670.00,3672.00,3670.00,3672.00,249,0
+2006-01-12,13:54:00,3672.00,3672.00,3671.00,3671.00,202,0
+2006-01-12,13:55:00,3671.00,3671.00,3670.00,3671.00,292,0
+2006-01-12,13:56:00,3671.00,3671.00,3670.00,3671.00,3,0
+2006-01-12,13:57:00,3670.00,3671.00,3670.00,3671.00,120,0
+2006-01-12,13:58:00,3671.00,3672.00,3671.00,3671.00,390,0
+2006-01-12,13:59:00,3671.00,3671.00,3670.00,3670.00,38,0
+2006-01-12,14:00:00,3670.00,3671.00,3670.00,3671.00,59,0
+2006-01-12,14:01:00,3670.00,3671.00,3670.00,3671.00,123,0
+2006-01-12,14:02:00,3670.00,3672.00,3670.00,3672.00,483,0
+2006-01-12,14:03:00,3672.00,3672.00,3672.00,3672.00,5,0
+2006-01-12,14:04:00,3671.00,3671.00,3670.00,3671.00,369,0
+2006-01-12,14:05:00,3671.00,3672.00,3671.00,3671.00,206,0
+2006-01-12,14:06:00,3672.00,3672.00,3671.00,3671.00,91,0
+2006-01-12,14:07:00,3671.00,3672.00,3671.00,3671.00,8,0
+2006-01-12,14:08:00,3671.00,3671.00,3671.00,3671.00,25,0
+2006-01-12,14:09:00,3671.00,3671.00,3671.00,3671.00,139,0
+2006-01-12,14:10:00,3671.00,3672.00,3671.00,3672.00,62,0
+2006-01-12,14:11:00,3672.00,3673.00,3672.00,3672.00,588,0
+2006-01-12,14:12:00,3672.00,3673.00,3672.00,3673.00,137,0
+2006-01-12,14:13:00,3673.00,3674.00,3673.00,3673.00,368,0
+2006-01-12,14:14:00,3673.00,3674.00,3673.00,3673.00,474,0
+2006-01-12,14:15:00,3674.00,3674.00,3673.00,3674.00,227,0
+2006-01-12,14:16:00,3673.00,3674.00,3673.00,3674.00,160,0
+2006-01-12,14:17:00,3674.00,3674.00,3673.00,3673.00,28,0
+2006-01-12,14:18:00,3673.00,3673.00,3673.00,3673.00,60,0
+2006-01-12,14:19:00,3673.00,3674.00,3673.00,3673.00,441,0
+2006-01-12,14:21:00,3673.00,3673.00,3672.00,3672.00,12,0
+2006-01-12,14:22:00,3672.00,3673.00,3672.00,3672.00,78,0
+2006-01-12,14:23:00,3672.00,3673.00,3672.00,3673.00,4,0
+2006-01-12,14:24:00,3672.00,3672.00,3672.00,3672.00,32,0
+2006-01-12,14:25:00,3673.00,3673.00,3672.00,3672.00,48,0
+2006-01-12,14:26:00,3672.00,3673.00,3672.00,3673.00,1395,0
+2006-01-12,14:27:00,3673.00,3673.00,3673.00,3673.00,1070,0
+2006-01-12,14:28:00,3673.00,3674.00,3673.00,3674.00,261,0
+2006-01-12,14:29:00,3673.00,3674.00,3673.00,3674.00,15,0
+2006-01-12,14:30:00,3674.00,3675.00,3673.00,3673.00,1696,0
+2006-01-12,14:31:00,3673.00,3677.00,3673.00,3677.00,3132,0
+2006-01-12,14:32:00,3676.00,3676.00,3675.00,3676.00,763,0
+2006-01-12,14:33:00,3675.00,3676.00,3674.00,3675.00,380,0
+2006-01-12,14:34:00,3674.00,3676.00,3674.00,3675.00,389,0
+2006-01-12,14:35:00,3675.00,3675.00,3674.00,3675.00,70,0
+2006-01-12,14:36:00,3675.00,3675.00,3674.00,3675.00,32,0
+2006-01-12,14:37:00,3674.00,3675.00,3673.00,3675.00,472,0
+2006-01-12,14:38:00,3674.00,3676.00,3674.00,3676.00,615,0
+2006-01-12,14:39:00,3676.00,3677.00,3674.00,3675.00,1169,0
+2006-01-12,14:40:00,3675.00,3675.00,3673.00,3674.00,308,0
+2006-01-12,14:41:00,3673.00,3674.00,3673.00,3674.00,305,0
+2006-01-12,14:42:00,3673.00,3674.00,3673.00,3673.00,193,0
+2006-01-12,14:43:00,3673.00,3674.00,3673.00,3674.00,576,0
+2006-01-12,14:44:00,3674.00,3675.00,3673.00,3673.00,456,0
+2006-01-12,14:45:00,3673.00,3674.00,3673.00,3673.00,145,0
+2006-01-12,14:46:00,3673.00,3674.00,3673.00,3674.00,202,0
+2006-01-12,14:47:00,3674.00,3675.00,3674.00,3675.00,369,0
+2006-01-12,14:48:00,3674.00,3675.00,3674.00,3675.00,25,0
+2006-01-12,14:49:00,3674.00,3674.00,3673.00,3674.00,240,0
+2006-01-12,14:50:00,3673.00,3674.00,3673.00,3674.00,1320,0
+2006-01-12,14:51:00,3674.00,3675.00,3674.00,3675.00,129,0
+2006-01-12,14:52:00,3675.00,3675.00,3674.00,3674.00,423,0
+2006-01-12,14:53:00,3674.00,3674.00,3674.00,3674.00,72,0
+2006-01-12,14:54:00,3674.00,3675.00,3674.00,3675.00,371,0
+2006-01-12,14:55:00,3674.00,3675.00,3674.00,3675.00,148,0
+2006-01-12,14:56:00,3674.00,3676.00,3674.00,3676.00,387,0
+2006-01-12,14:57:00,3676.00,3677.00,3675.00,3676.00,1373,0
+2006-01-12,14:58:00,3676.00,3677.00,3676.00,3677.00,94,0
+2006-01-12,14:59:00,3676.00,3677.00,3676.00,3677.00,83,0
+2006-01-12,15:00:00,3676.00,3676.00,3676.00,3676.00,311,0
+2006-01-12,15:01:00,3676.00,3677.00,3675.00,3676.00,214,0
+2006-01-12,15:02:00,3676.00,3678.00,3676.00,3678.00,1154,0
+2006-01-12,15:03:00,3677.00,3678.00,3676.00,3678.00,586,0
+2006-01-12,15:04:00,3678.00,3678.00,3677.00,3678.00,458,0
+2006-01-12,15:05:00,3678.00,3678.00,3677.00,3677.00,54,0
+2006-01-12,15:06:00,3678.00,3678.00,3676.00,3677.00,283,0
+2006-01-12,15:07:00,3676.00,3677.00,3676.00,3677.00,858,0
+2006-01-12,15:08:00,3676.00,3677.00,3676.00,3677.00,29,0
+2006-01-12,15:09:00,3676.00,3677.00,3676.00,3676.00,523,0
+2006-01-12,15:10:00,3677.00,3677.00,3676.00,3677.00,11,0
+2006-01-12,15:11:00,3676.00,3677.00,3676.00,3677.00,66,0
+2006-01-12,15:12:00,3676.00,3677.00,3676.00,3677.00,64,0
+2006-01-12,15:13:00,3677.00,3677.00,3675.00,3676.00,258,0
+2006-01-12,15:14:00,3676.00,3677.00,3676.00,3676.00,447,0
+2006-01-12,15:15:00,3675.00,3676.00,3675.00,3676.00,222,0
+2006-01-12,15:16:00,3676.00,3676.00,3675.00,3676.00,699,0
+2006-01-12,15:17:00,3675.00,3676.00,3675.00,3676.00,40,0
+2006-01-12,15:18:00,3675.00,3676.00,3674.00,3675.00,173,0
+2006-01-12,15:19:00,3675.00,3675.00,3674.00,3675.00,6,0
+2006-01-12,15:20:00,3674.00,3675.00,3674.00,3675.00,134,0
+2006-01-12,15:21:00,3675.00,3675.00,3675.00,3675.00,2,0
+2006-01-12,15:22:00,3674.00,3675.00,3674.00,3675.00,635,0
+2006-01-12,15:23:00,3675.00,3676.00,3675.00,3676.00,39,0
+2006-01-12,15:24:00,3675.00,3676.00,3675.00,3675.00,121,0
+2006-01-12,15:26:00,3676.00,3676.00,3675.00,3676.00,20,0
+2006-01-12,15:27:00,3676.00,3676.00,3676.00,3676.00,1,0
+2006-01-12,15:28:00,3676.00,3676.00,3675.00,3675.00,494,0
+2006-01-12,15:29:00,3676.00,3677.00,3676.00,3677.00,1546,0
+2006-01-12,15:30:00,3676.00,3677.00,3675.00,3677.00,2322,0
+2006-01-12,15:31:00,3677.00,3677.00,3676.00,3677.00,2651,0
+2006-01-12,15:32:00,3677.00,3677.00,3676.00,3677.00,5,0
+2006-01-12,15:33:00,3677.00,3677.00,3675.00,3676.00,531,0
+2006-01-12,15:34:00,3676.00,3677.00,3676.00,3677.00,350,0
+2006-01-12,15:35:00,3676.00,3677.00,3675.00,3676.00,839,0
+2006-01-12,15:36:00,3676.00,3676.00,3675.00,3675.00,225,0
+2006-01-12,15:37:00,3676.00,3676.00,3673.00,3674.00,1117,0
+2006-01-12,15:38:00,3674.00,3675.00,3674.00,3675.00,1143,0
+2006-01-12,15:39:00,3675.00,3676.00,3674.00,3675.00,255,0
+2006-01-12,15:40:00,3675.00,3675.00,3675.00,3675.00,454,0
+2006-01-12,15:41:00,3675.00,3675.00,3675.00,3675.00,414,0
+2006-01-12,15:42:00,3674.00,3675.00,3674.00,3675.00,173,0
+2006-01-12,15:43:00,3675.00,3675.00,3674.00,3674.00,1034,0
+2006-01-12,15:44:00,3673.00,3675.00,3673.00,3675.00,959,0
+2006-01-12,15:45:00,3674.00,3675.00,3674.00,3674.00,294,0
+2006-01-12,15:46:00,3674.00,3675.00,3674.00,3675.00,210,0
+2006-01-12,15:47:00,3674.00,3675.00,3673.00,3674.00,600,0
+2006-01-12,15:48:00,3674.00,3674.00,3672.00,3672.00,2139,0
+2006-01-12,15:49:00,3672.00,3673.00,3672.00,3672.00,485,0
+2006-01-12,15:50:00,3673.00,3673.00,3671.00,3672.00,828,0
+2006-01-12,15:51:00,3673.00,3674.00,3672.00,3673.00,1225,0
+2006-01-12,15:52:00,3674.00,3675.00,3673.00,3674.00,636,0
+2006-01-12,15:53:00,3674.00,3674.00,3672.00,3673.00,780,0
+2006-01-12,15:54:00,3673.00,3673.00,3672.00,3673.00,380,0
+2006-01-12,15:55:00,3672.00,3673.00,3672.00,3673.00,614,0
+2006-01-12,15:56:00,3673.00,3674.00,3673.00,3673.00,1227,0
+2006-01-12,15:57:00,3674.00,3674.00,3672.00,3672.00,235,0
+2006-01-12,15:58:00,3673.00,3673.00,3672.00,3672.00,155,0
+2006-01-12,15:59:00,3672.00,3674.00,3672.00,3674.00,855,0
+2006-01-12,16:00:00,3674.00,3674.00,3673.00,3674.00,706,0
+2006-01-12,16:01:00,3673.00,3676.00,3673.00,3676.00,880,0
+2006-01-12,16:02:00,3676.00,3676.00,3674.00,3674.00,3883,0
+2006-01-12,16:03:00,3675.00,3675.00,3674.00,3674.00,1307,0
+2006-01-12,16:04:00,3674.00,3675.00,3673.00,3674.00,233,0
+2006-01-12,16:05:00,3675.00,3677.00,3675.00,3677.00,1139,0
+2006-01-12,16:06:00,3676.00,3677.00,3676.00,3677.00,308,0
+2006-01-12,16:07:00,3677.00,3677.00,3676.00,3677.00,493,0
+2006-01-12,16:08:00,3676.00,3678.00,3676.00,3677.00,1082,0
+2006-01-12,16:09:00,3677.00,3678.00,3676.00,3676.00,2595,0
+2006-01-12,16:10:00,3677.00,3677.00,3675.00,3676.00,1200,0
+2006-01-12,16:11:00,3676.00,3677.00,3675.00,3677.00,1078,0
+2006-01-12,16:12:00,3677.00,3677.00,3676.00,3677.00,1939,0
+2006-01-12,16:13:00,3677.00,3677.00,3674.00,3675.00,1586,0
+2006-01-12,16:14:00,3675.00,3675.00,3674.00,3675.00,129,0
+2006-01-12,16:15:00,3675.00,3675.00,3674.00,3675.00,625,0
+2006-01-12,16:16:00,3674.00,3675.00,3674.00,3675.00,28,0
+2006-01-12,16:17:00,3674.00,3675.00,3674.00,3675.00,1092,0
+2006-01-12,16:18:00,3674.00,3675.00,3673.00,3674.00,565,0
+2006-01-12,16:19:00,3673.00,3674.00,3673.00,3673.00,687,0
+2006-01-12,16:20:00,3674.00,3675.00,3674.00,3674.00,786,0
+2006-01-12,16:21:00,3675.00,3675.00,3674.00,3675.00,419,0
+2006-01-12,16:22:00,3675.00,3675.00,3674.00,3675.00,113,0
+2006-01-12,16:23:00,3675.00,3675.00,3674.00,3675.00,383,0
+2006-01-12,16:24:00,3675.00,3675.00,3674.00,3674.00,1429,0
+2006-01-12,16:25:00,3674.00,3676.00,3673.00,3676.00,714,0
+2006-01-12,16:26:00,3676.00,3677.00,3675.00,3677.00,1205,0
+2006-01-12,16:27:00,3677.00,3677.00,3676.00,3676.00,681,0
+2006-01-12,16:28:00,3676.00,3677.00,3675.00,3676.00,1738,0
+2006-01-12,16:29:00,3676.00,3676.00,3675.00,3676.00,641,0
+2006-01-12,16:30:00,3676.00,3677.00,3676.00,3677.00,212,0
+2006-01-12,16:31:00,3676.00,3678.00,3675.00,3676.00,1433,0
+2006-01-12,16:32:00,3675.00,3677.00,3675.00,3676.00,69,0
+2006-01-12,16:33:00,3675.00,3676.00,3675.00,3675.00,1042,0
+2006-01-12,16:34:00,3675.00,3676.00,3675.00,3675.00,572,0
+2006-01-12,16:35:00,3674.00,3675.00,3674.00,3674.00,978,0
+2006-01-12,16:36:00,3674.00,3675.00,3673.00,3674.00,2237,0
+2006-01-12,16:37:00,3674.00,3674.00,3673.00,3674.00,972,0
+2006-01-12,16:38:00,3674.00,3676.00,3673.00,3676.00,1996,0
+2006-01-12,16:39:00,3675.00,3676.00,3674.00,3675.00,782,0
+2006-01-12,16:40:00,3675.00,3676.00,3674.00,3675.00,392,0
+2006-01-12,16:41:00,3675.00,3676.00,3675.00,3676.00,452,0
+2006-01-12,16:42:00,3675.00,3676.00,3674.00,3674.00,1690,0
+2006-01-12,16:43:00,3675.00,3675.00,3674.00,3674.00,1172,0
+2006-01-12,16:44:00,3674.00,3675.00,3674.00,3675.00,379,0
+2006-01-12,16:45:00,3675.00,3676.00,3675.00,3676.00,2088,0
+2006-01-12,16:46:00,3677.00,3677.00,3676.00,3677.00,1200,0
+2006-01-12,16:47:00,3677.00,3677.00,3676.00,3676.00,436,0
+2006-01-12,16:48:00,3676.00,3677.00,3676.00,3676.00,346,0
+2006-01-12,16:49:00,3677.00,3678.00,3677.00,3678.00,623,0
+2006-01-12,16:50:00,3678.00,3679.00,3677.00,3679.00,1381,0
+2006-01-12,16:51:00,3679.00,3679.00,3678.00,3678.00,683,0
+2006-01-12,16:52:00,3679.00,3681.00,3678.00,3680.00,3501,0
+2006-01-12,16:53:00,3680.00,3680.00,3679.00,3679.00,1386,0
+2006-01-12,16:54:00,3679.00,3680.00,3678.00,3679.00,1567,0
+2006-01-12,16:55:00,3680.00,3683.00,3680.00,3682.00,4858,0
+2006-01-12,16:56:00,3682.00,3683.00,3682.00,3682.00,1714,0
+2006-01-12,16:57:00,3682.00,3684.00,3681.00,3683.00,2923,0
+2006-01-12,16:58:00,3683.00,3683.00,3682.00,3682.00,1418,0
+2006-01-12,16:59:00,3682.00,3683.00,3682.00,3682.00,629,0
+2006-01-12,17:00:00,3683.00,3685.00,3682.00,3684.00,1538,0
+2006-01-12,17:01:00,3684.00,3687.00,3683.00,3686.00,4112,0
+2006-01-12,17:02:00,3686.00,3687.00,3686.00,3687.00,2404,0
+2006-01-12,17:03:00,3686.00,3687.00,3685.00,3686.00,3106,0
+2006-01-12,17:04:00,3685.00,3688.00,3685.00,3688.00,2420,0
+2006-01-12,17:05:00,3688.00,3688.00,3686.00,3687.00,2633,0
+2006-01-12,17:06:00,3687.00,3687.00,3685.00,3685.00,1674,0
+2006-01-12,17:07:00,3685.00,3686.00,3684.00,3685.00,1248,0
+2006-01-12,17:08:00,3685.00,3685.00,3683.00,3684.00,1288,0
+2006-01-12,17:09:00,3683.00,3684.00,3682.00,3683.00,1785,0
+2006-01-12,17:10:00,3682.00,3684.00,3682.00,3683.00,2171,0
+2006-01-12,17:11:00,3683.00,3685.00,3683.00,3684.00,1759,0
+2006-01-12,17:12:00,3684.00,3685.00,3683.00,3685.00,2954,0
+2006-01-12,17:13:00,3684.00,3685.00,3683.00,3684.00,1127,0
+2006-01-12,17:14:00,3684.00,3685.00,3684.00,3684.00,1658,0
+2006-01-12,17:15:00,3684.00,3684.00,3683.00,3683.00,193,0
+2006-01-12,17:16:00,3683.00,3685.00,3683.00,3685.00,978,0
+2006-01-12,17:17:00,3685.00,3685.00,3683.00,3684.00,728,0
+2006-01-12,17:18:00,3684.00,3684.00,3682.00,3683.00,991,0
+2006-01-12,17:19:00,3684.00,3684.00,3680.00,3680.00,2000,0
+2006-01-12,17:20:00,3680.00,3681.00,3679.00,3680.00,1758,0
+2006-01-12,17:21:00,3679.00,3680.00,3678.00,3679.00,1869,0
+2006-01-12,17:22:00,3679.00,3679.00,3678.00,3679.00,568,0
+2006-01-12,17:23:00,3679.00,3680.00,3678.00,3680.00,1700,0
+2006-01-12,17:24:00,3680.00,3680.00,3679.00,3680.00,1342,0
+2006-01-12,17:25:00,3679.00,3681.00,3679.00,3681.00,1273,0
+2006-01-12,17:26:00,3680.00,3681.00,3680.00,3681.00,992,0
+2006-01-12,17:27:00,3681.00,3682.00,3681.00,3681.00,2447,0
+2006-01-12,17:28:00,3681.00,3682.00,3680.00,3681.00,999,0
+2006-01-12,17:29:00,3682.00,3682.00,3680.00,3682.00,3189,0
+2006-01-12,17:30:00,3681.00,3682.00,3680.00,3681.00,2540,0
+2006-01-12,17:31:00,3680.00,3681.00,3679.00,3680.00,3764,0
+2006-01-12,17:32:00,3680.00,3681.00,3679.00,3679.00,1201,0
+2006-01-12,17:33:00,3679.00,3680.00,3679.00,3680.00,802,0
+2006-01-12,17:34:00,3680.00,3681.00,3680.00,3681.00,598,0
+2006-01-12,17:35:00,3681.00,3682.00,3680.00,3681.00,885,0
+2006-01-12,17:36:00,3681.00,3681.00,3680.00,3681.00,756,0
+2006-01-12,17:37:00,3680.00,3681.00,3680.00,3680.00,1029,0
+2006-01-12,17:38:00,3680.00,3680.00,3679.00,3680.00,278,0
+2006-01-12,17:39:00,3680.00,3680.00,3679.00,3679.00,72,0
+2006-01-12,17:40:00,3680.00,3680.00,3679.00,3679.00,200,0
+2006-01-12,17:41:00,3680.00,3680.00,3680.00,3680.00,1544,0
+2006-01-12,17:42:00,3680.00,3682.00,3680.00,3682.00,913,0
+2006-01-12,17:43:00,3682.00,3686.00,3682.00,3685.00,2908,0
+2006-01-12,17:44:00,3685.00,3685.00,3684.00,3684.00,489,0
+2006-01-12,17:45:00,3684.00,3684.00,3683.00,3683.00,174,0
+2006-01-12,17:46:00,3683.00,3684.00,3683.00,3683.00,98,0
+2006-01-12,17:47:00,3683.00,3683.00,3682.00,3683.00,679,0
+2006-01-12,17:48:00,3684.00,3684.00,3683.00,3684.00,23,0
+2006-01-12,17:49:00,3684.00,3685.00,3683.00,3684.00,1087,0
+2006-01-12,17:50:00,3685.00,3688.00,3685.00,3688.00,1857,0
+2006-01-12,17:51:00,3688.00,3689.00,3687.00,3689.00,2666,0
+2006-01-12,17:52:00,3689.00,3690.00,3688.00,3690.00,2650,0
+2006-01-12,17:53:00,3690.00,3691.00,3689.00,3690.00,2155,0
+2006-01-12,17:54:00,3690.00,3690.00,3688.00,3689.00,1288,0
+2006-01-12,17:55:00,3688.00,3690.00,3688.00,3690.00,399,0
+2006-01-12,17:56:00,3689.00,3689.00,3688.00,3688.00,661,0
+2006-01-12,17:57:00,3688.00,3688.00,3687.00,3688.00,310,0
+2006-01-12,17:58:00,3688.00,3689.00,3688.00,3688.00,549,0
+2006-01-12,17:59:00,3689.00,3689.00,3688.00,3688.00,480,0
+2006-01-12,18:00:00,3688.00,3688.00,3687.00,3688.00,595,0
+2006-01-12,18:01:00,3687.00,3688.00,3687.00,3687.00,65,0
+2006-01-12,18:02:00,3688.00,3688.00,3687.00,3687.00,793,0
+2006-01-12,18:03:00,3688.00,3688.00,3688.00,3688.00,49,0
+2006-01-12,18:04:00,3688.00,3688.00,3688.00,3688.00,17,0
+2006-01-12,18:05:00,3688.00,3689.00,3688.00,3689.00,729,0
+2006-01-12,18:06:00,3689.00,3689.00,3688.00,3688.00,310,0
+2006-01-12,18:07:00,3688.00,3688.00,3686.00,3687.00,667,0
+2006-01-12,18:08:00,3687.00,3687.00,3687.00,3687.00,258,0
+2006-01-12,18:09:00,3687.00,3687.00,3687.00,3687.00,5,0
+2006-01-12,18:10:00,3687.00,3688.00,3687.00,3688.00,9,0
+2006-01-12,18:11:00,3688.00,3688.00,3688.00,3688.00,231,0
+2006-01-12,18:12:00,3688.00,3688.00,3688.00,3688.00,50,0
+2006-01-12,18:13:00,3688.00,3688.00,3688.00,3688.00,291,0
+2006-01-12,18:14:00,3688.00,3688.00,3688.00,3688.00,257,0
+2006-01-12,18:15:00,3687.00,3687.00,3685.00,3685.00,817,0
+2006-01-12,18:16:00,3685.00,3685.00,3684.00,3684.00,617,0
+2006-01-12,18:17:00,3685.00,3685.00,3684.00,3684.00,230,0
+2006-01-12,18:18:00,3685.00,3686.00,3685.00,3686.00,313,0
+2006-01-12,18:19:00,3686.00,3686.00,3684.00,3684.00,182,0
+2006-01-12,18:20:00,3685.00,3685.00,3685.00,3685.00,4,0
+2006-01-12,18:22:00,3685.00,3686.00,3685.00,3685.00,260,0
+2006-01-12,18:23:00,3685.00,3687.00,3685.00,3687.00,448,0
+2006-01-12,18:24:00,3686.00,3686.00,3686.00,3686.00,152,0
+2006-01-12,18:25:00,3686.00,3686.00,3686.00,3686.00,8,0
+2006-01-12,18:26:00,3686.00,3686.00,3683.00,3684.00,409,0
+2006-01-12,18:27:00,3684.00,3685.00,3684.00,3685.00,607,0
+2006-01-12,18:28:00,3685.00,3685.00,3684.00,3684.00,1187,0
+2006-01-12,18:29:00,3685.00,3685.00,3685.00,3685.00,208,0
+2006-01-12,18:30:00,3685.00,3685.00,3683.00,3684.00,216,0
+2006-01-12,18:31:00,3683.00,3684.00,3683.00,3684.00,203,0
+2006-01-12,18:32:00,3684.00,3684.00,3684.00,3684.00,60,0
+2006-01-12,18:33:00,3685.00,3685.00,3684.00,3684.00,146,0
+2006-01-12,18:34:00,3685.00,3685.00,3685.00,3685.00,29,0
+2006-01-12,18:35:00,3685.00,3686.00,3685.00,3685.00,241,0
+2006-01-12,18:36:00,3685.00,3686.00,3685.00,3685.00,640,0
+2006-01-12,18:37:00,3685.00,3685.00,3685.00,3685.00,31,0
+2006-01-12,18:38:00,3685.00,3685.00,3684.00,3685.00,693,0
+2006-01-12,18:39:00,3685.00,3685.00,3685.00,3685.00,569,0
+2006-01-12,18:40:00,3685.00,3686.00,3685.00,3685.00,115,0
+2006-01-12,18:41:00,3685.00,3685.00,3685.00,3685.00,22,0
+2006-01-12,18:42:00,3684.00,3685.00,3684.00,3685.00,661,0
+2006-01-12,18:43:00,3685.00,3686.00,3685.00,3686.00,472,0
+2006-01-12,18:44:00,3685.00,3686.00,3685.00,3686.00,165,0
+2006-01-12,18:46:00,3686.00,3686.00,3685.00,3685.00,50,0
+2006-01-12,18:47:00,3686.00,3687.00,3685.00,3686.00,137,0
+2006-01-12,18:48:00,3686.00,3686.00,3686.00,3686.00,207,0
+2006-01-12,18:49:00,3686.00,3686.00,3686.00,3686.00,62,0
+2006-01-12,18:50:00,3687.00,3687.00,3685.00,3686.00,446,0
+2006-01-12,18:51:00,3686.00,3687.00,3686.00,3687.00,28,0
+2006-01-12,18:52:00,3686.00,3686.00,3686.00,3686.00,90,0
+2006-01-12,18:53:00,3686.00,3687.00,3686.00,3687.00,116,0
+2006-01-12,18:54:00,3686.00,3686.00,3686.00,3686.00,74,0
+2006-01-12,18:55:00,3686.00,3686.00,3686.00,3686.00,310,0
+2006-01-12,18:56:00,3686.00,3686.00,3686.00,3686.00,155,0
+2006-01-12,18:57:00,3686.00,3686.00,3686.00,3686.00,165,0
+2006-01-12,18:58:00,3686.00,3686.00,3685.00,3685.00,137,0
+2006-01-12,18:59:00,3686.00,3686.00,3686.00,3686.00,60,0
+2006-01-12,19:01:00,3686.00,3686.00,3685.00,3686.00,130,0
+2006-01-12,19:02:00,3686.00,3686.00,3686.00,3686.00,64,0
+2006-01-12,19:03:00,3686.00,3687.00,3685.00,3687.00,63,0
+2006-01-12,19:04:00,3686.00,3686.00,3686.00,3686.00,9,0
+2006-01-12,19:05:00,3686.00,3686.00,3686.00,3686.00,4,0
+2006-01-12,19:06:00,3686.00,3686.00,3686.00,3686.00,76,0
+2006-01-12,19:07:00,3687.00,3687.00,3686.00,3686.00,3,0
+2006-01-12,19:08:00,3686.00,3686.00,3686.00,3686.00,107,0
+2006-01-12,19:09:00,3685.00,3685.00,3684.00,3685.00,179,0
+2006-01-12,19:10:00,3684.00,3684.00,3684.00,3684.00,37,0
+2006-01-12,19:12:00,3685.00,3685.00,3685.00,3685.00,212,0
+2006-01-12,19:14:00,3685.00,3685.00,3684.00,3685.00,77,0
+2006-01-12,19:15:00,3685.00,3685.00,3685.00,3685.00,27,0
+2006-01-12,19:16:00,3685.00,3685.00,3685.00,3685.00,32,0
+2006-01-12,19:17:00,3685.00,3685.00,3685.00,3685.00,58,0
+2006-01-12,19:19:00,3686.00,3686.00,3684.00,3685.00,108,0
+2006-01-12,19:20:00,3685.00,3685.00,3685.00,3685.00,122,0
+2006-01-12,19:21:00,3685.00,3686.00,3685.00,3686.00,72,0
+2006-01-12,19:22:00,3685.00,3686.00,3685.00,3685.00,172,0
+2006-01-12,19:23:00,3685.00,3685.00,3685.00,3685.00,145,0
+2006-01-12,19:24:00,3685.00,3685.00,3685.00,3685.00,21,0
+2006-01-12,19:26:00,3684.00,3685.00,3683.00,3683.00,104,0
+2006-01-12,19:27:00,3683.00,3684.00,3683.00,3684.00,76,0
+2006-01-12,19:28:00,3685.00,3685.00,3684.00,3684.00,20,0
+2006-01-12,19:30:00,3685.00,3685.00,3684.00,3684.00,91,0
+2006-01-12,19:31:00,3684.00,3684.00,3684.00,3684.00,89,0
+2006-01-12,19:32:00,3683.00,3683.00,3683.00,3683.00,20,0
+2006-01-12,19:33:00,3683.00,3683.00,3683.00,3683.00,161,0
+2006-01-12,19:34:00,3684.00,3684.00,3683.00,3683.00,1330,0
+2006-01-12,19:36:00,3683.00,3683.00,3682.00,3682.00,93,0
+2006-01-12,19:37:00,3683.00,3683.00,3683.00,3683.00,82,0
+2006-01-12,19:38:00,3684.00,3684.00,3683.00,3683.00,15,0
+2006-01-12,19:39:00,3683.00,3684.00,3683.00,3684.00,245,0
+2006-01-12,19:41:00,3684.00,3684.00,3683.00,3684.00,111,0
+2006-01-12,19:43:00,3684.00,3684.00,3683.00,3684.00,407,0
+2006-01-12,19:44:00,3684.00,3684.00,3684.00,3684.00,44,0
+2006-01-12,19:45:00,3684.00,3684.00,3683.00,3683.00,5,0
+2006-01-12,19:46:00,3684.00,3684.00,3683.00,3683.00,98,0
+2006-01-12,19:47:00,3683.00,3683.00,3682.00,3683.00,666,0
+2006-01-12,19:48:00,3682.00,3682.00,3681.00,3682.00,128,0
+2006-01-12,19:49:00,3681.00,3682.00,3681.00,3682.00,183,0
+2006-01-12,19:50:00,3682.00,3682.00,3681.00,3682.00,273,0
+2006-01-12,19:51:00,3682.00,3682.00,3681.00,3681.00,47,0
+2006-01-12,19:52:00,3681.00,3682.00,3681.00,3681.00,759,0
+2006-01-12,19:53:00,3681.00,3681.00,3680.00,3680.00,577,0
+2006-01-12,19:54:00,3680.00,3681.00,3679.00,3679.00,707,0
+2006-01-12,19:55:00,3679.00,3680.00,3679.00,3679.00,648,0
+2006-01-12,19:56:00,3679.00,3679.00,3677.00,3678.00,634,0
+2006-01-12,19:57:00,3677.00,3678.00,3677.00,3678.00,962,0
+2006-01-12,19:58:00,3678.00,3678.00,3677.00,3677.00,381,0
+2006-01-12,19:59:00,3677.00,3678.00,3677.00,3678.00,117,0
+2006-01-12,20:00:00,3678.00,3678.00,3677.00,3678.00,67,0
+2006-01-12,20:01:00,3677.00,3678.00,3677.00,3677.00,217,0
+2006-01-12,20:02:00,3677.00,3678.00,3677.00,3677.00,150,0
+2006-01-12,20:03:00,3677.00,3677.00,3677.00,3677.00,626,0
+2006-01-12,20:04:00,3676.00,3676.00,3676.00,3676.00,631,0
+2006-01-12,20:05:00,3677.00,3677.00,3676.00,3677.00,436,0
+2006-01-12,20:06:00,3676.00,3677.00,3676.00,3677.00,224,0
+2006-01-12,20:07:00,3677.00,3677.00,3676.00,3676.00,22,0
+2006-01-12,20:08:00,3676.00,3676.00,3676.00,3676.00,5,0
+2006-01-12,20:09:00,3676.00,3676.00,3676.00,3676.00,988,0
+2006-01-12,20:10:00,3676.00,3677.00,3676.00,3677.00,370,0
+2006-01-12,20:11:00,3677.00,3677.00,3676.00,3676.00,278,0
+2006-01-12,20:12:00,3675.00,3676.00,3673.00,3673.00,1043,0
+2006-01-12,20:13:00,3673.00,3674.00,3673.00,3673.00,329,0
+2006-01-12,20:14:00,3673.00,3673.00,3669.00,3670.00,1465,0
+2006-01-12,20:15:00,3671.00,3671.00,3667.00,3668.00,1197,0
+2006-01-12,20:16:00,3668.00,3671.00,3667.00,3671.00,793,0
+2006-01-12,20:17:00,3671.00,3671.00,3669.00,3670.00,382,0
+2006-01-12,20:18:00,3671.00,3671.00,3669.00,3670.00,420,0
+2006-01-12,20:19:00,3670.00,3670.00,3669.00,3669.00,276,0
+2006-01-12,20:20:00,3669.00,3669.00,3668.00,3669.00,432,0
+2006-01-12,20:21:00,3668.00,3669.00,3666.00,3666.00,1200,0
+2006-01-12,20:22:00,3666.00,3668.00,3666.00,3668.00,214,0
+2006-01-12,20:23:00,3668.00,3669.00,3668.00,3669.00,33,0
+2006-01-12,20:24:00,3669.00,3670.00,3669.00,3669.00,284,0
+2006-01-12,20:25:00,3669.00,3670.00,3669.00,3670.00,76,0
+2006-01-12,20:26:00,3669.00,3671.00,3669.00,3670.00,179,0
+2006-01-12,20:27:00,3670.00,3671.00,3669.00,3670.00,61,0
+2006-01-12,20:28:00,3669.00,3669.00,3668.00,3668.00,39,0
+2006-01-12,20:29:00,3668.00,3668.00,3666.00,3666.00,316,0
+2006-01-12,20:30:00,3666.00,3666.00,3663.00,3664.00,1979,0
+2006-01-12,20:31:00,3664.00,3666.00,3664.00,3664.00,561,0
+2006-01-12,20:32:00,3664.00,3665.00,3663.00,3663.00,344,0
+2006-01-12,20:33:00,3664.00,3664.00,3660.00,3661.00,756,0
+2006-01-12,20:34:00,3661.00,3663.00,3661.00,3663.00,260,0
+2006-01-12,20:35:00,3663.00,3663.00,3663.00,3663.00,6,0
+2006-01-12,20:36:00,3663.00,3663.00,3661.00,3663.00,1044,0
+2006-01-12,20:37:00,3663.00,3664.00,3663.00,3664.00,234,0
+2006-01-12,20:38:00,3664.00,3664.00,3663.00,3663.00,167,0
+2006-01-12,20:39:00,3664.00,3664.00,3664.00,3664.00,87,0
+2006-01-12,20:40:00,3663.00,3664.00,3663.00,3663.00,108,0
+2006-01-12,20:41:00,3665.00,3665.00,3664.00,3664.00,21,0
+2006-01-12,20:42:00,3664.00,3665.00,3664.00,3665.00,20,0
+2006-01-12,20:43:00,3665.00,3666.00,3665.00,3666.00,63,0
+2006-01-12,20:44:00,3665.00,3665.00,3665.00,3665.00,35,0
+2006-01-12,20:45:00,3665.00,3665.00,3664.00,3665.00,158,0
+2006-01-12,20:46:00,3666.00,3666.00,3663.00,3663.00,319,0
+2006-01-12,20:47:00,3663.00,3663.00,3662.00,3662.00,220,0
+2006-01-12,20:48:00,3663.00,3664.00,3663.00,3663.00,288,0
+2006-01-12,20:49:00,3662.00,3662.00,3661.00,3661.00,251,0
+2006-01-12,20:50:00,3662.00,3662.00,3661.00,3661.00,11,0
+2006-01-12,20:51:00,3662.00,3662.00,3661.00,3662.00,37,0
+2006-01-12,20:52:00,3663.00,3663.00,3662.00,3663.00,257,0
+2006-01-12,20:53:00,3663.00,3663.00,3662.00,3663.00,291,0
+2006-01-12,20:54:00,3663.00,3663.00,3662.00,3662.00,223,0
+2006-01-12,20:55:00,3663.00,3663.00,3663.00,3663.00,58,0
+2006-01-12,20:56:00,3663.00,3663.00,3663.00,3663.00,143,0
+2006-01-12,20:57:00,3663.00,3663.00,3662.00,3662.00,200,0
+2006-01-12,20:58:00,3662.00,3663.00,3662.00,3663.00,62,0
+2006-01-12,20:59:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-12,21:00:00,3662.00,3662.00,3662.00,3662.00,9,0
+2006-01-12,21:01:00,3663.00,3663.00,3662.00,3663.00,82,0
+2006-01-12,21:02:00,3663.00,3663.00,3663.00,3663.00,6,0
+2006-01-12,21:03:00,3663.00,3663.00,3663.00,3663.00,102,0
+2006-01-12,21:04:00,3663.00,3663.00,3663.00,3663.00,19,0
+2006-01-12,21:05:00,3664.00,3664.00,3664.00,3664.00,25,0
+2006-01-12,21:06:00,3664.00,3664.00,3664.00,3664.00,7,0
+2006-01-12,21:07:00,3665.00,3666.00,3665.00,3666.00,21,0
+2006-01-12,21:08:00,3666.00,3666.00,3665.00,3665.00,7,0
+2006-01-12,21:09:00,3665.00,3665.00,3665.00,3665.00,26,0
+2006-01-12,21:10:00,3666.00,3666.00,3664.00,3664.00,8,0
+2006-01-12,21:11:00,3665.00,3665.00,3665.00,3665.00,2,0
+2006-01-12,21:12:00,3665.00,3665.00,3665.00,3665.00,61,0
+2006-01-12,21:13:00,3666.00,3666.00,3666.00,3666.00,20,0
+2006-01-12,21:14:00,3665.00,3665.00,3665.00,3665.00,1,0
+2006-01-12,21:15:00,3665.00,3665.00,3665.00,3665.00,10,0
+2006-01-12,21:16:00,3665.00,3665.00,3665.00,3665.00,3,0
+2006-01-12,21:17:00,3665.00,3666.00,3664.00,3664.00,14,0
+2006-01-12,21:20:00,3665.00,3665.00,3665.00,3665.00,9,0
+2006-01-12,21:21:00,3665.00,3665.00,3664.00,3664.00,11,0
+2006-01-12,21:23:00,3663.00,3663.00,3663.00,3663.00,11,0
+2006-01-12,21:24:00,3662.00,3662.00,3662.00,3662.00,75,0
+2006-01-12,21:25:00,3662.00,3662.00,3662.00,3662.00,20,0
+2006-01-12,21:26:00,3662.00,3662.00,3662.00,3662.00,36,0
+2006-01-12,21:27:00,3662.00,3662.00,3662.00,3662.00,3,0
+2006-01-12,21:28:00,3662.00,3662.00,3662.00,3662.00,4,0
+2006-01-12,21:30:00,3663.00,3663.00,3663.00,3663.00,6,0
+2006-01-12,21:31:00,3663.00,3663.00,3663.00,3663.00,1,0
+2006-01-12,21:32:00,3664.00,3664.00,3664.00,3664.00,2,0
+2006-01-12,21:33:00,3663.00,3663.00,3663.00,3663.00,34,0
+2006-01-12,21:34:00,3663.00,3664.00,3663.00,3664.00,62,0
+2006-01-12,21:35:00,3663.00,3664.00,3663.00,3664.00,4,0
+2006-01-12,21:37:00,3664.00,3664.00,3664.00,3664.00,24,0
+2006-01-12,21:38:00,3664.00,3664.00,3664.00,3664.00,2,0
+2006-01-12,21:39:00,3665.00,3665.00,3665.00,3665.00,3,0
+2006-01-12,21:40:00,3665.00,3665.00,3665.00,3665.00,24,0
+2006-01-12,21:41:00,3665.00,3665.00,3664.00,3664.00,4,0
+2006-01-12,21:42:00,3665.00,3665.00,3664.00,3664.00,46,0
+2006-01-12,21:43:00,3663.00,3663.00,3663.00,3663.00,32,0
+2006-01-12,21:44:00,3662.00,3662.00,3661.00,3661.00,223,0
+2006-01-12,21:45:00,3661.00,3661.00,3661.00,3661.00,15,0
+2006-01-12,21:46:00,3661.00,3661.00,3660.00,3660.00,17,0
+2006-01-12,21:47:00,3660.00,3660.00,3660.00,3660.00,4,0
+2006-01-12,21:48:00,3661.00,3661.00,3661.00,3661.00,27,0
+2006-01-12,21:49:00,3660.00,3660.00,3660.00,3660.00,1,0
+2006-01-12,21:50:00,3661.00,3661.00,3661.00,3661.00,17,0
+2006-01-12,21:51:00,3662.00,3662.00,3661.00,3661.00,14,0
+2006-01-12,21:52:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-12,21:53:00,3661.00,3661.00,3660.00,3660.00,312,0
+2006-01-12,21:54:00,3660.00,3661.00,3660.00,3661.00,25,0
+2006-01-12,21:55:00,3661.00,3661.00,3660.00,3661.00,413,0
+2006-01-12,21:56:00,3660.00,3661.00,3660.00,3661.00,320,0
+2006-01-12,21:57:00,3662.00,3662.00,3661.00,3661.00,109,0
+2006-01-12,21:58:00,3661.00,3661.00,3660.00,3660.00,178,0
+2006-01-12,21:59:00,3661.00,3661.00,3661.00,3661.00,125,0
+2006-01-12,22:00:00,3661.00,3664.00,3661.00,3664.00,369,0
+2006-01-13,09:01:00,3666.00,3668.00,3666.00,3668.00,4011,0
+2006-01-13,09:02:00,3669.00,3670.00,3668.00,3670.00,1135,0
+2006-01-13,09:03:00,3669.00,3669.00,3668.00,3668.00,1201,0
+2006-01-13,09:04:00,3668.00,3669.00,3667.00,3669.00,990,0
+2006-01-13,09:05:00,3669.00,3670.00,3669.00,3669.00,347,0
+2006-01-13,09:06:00,3670.00,3670.00,3669.00,3670.00,1342,0
+2006-01-13,09:07:00,3670.00,3670.00,3668.00,3669.00,2243,0
+2006-01-13,09:08:00,3669.00,3671.00,3669.00,3669.00,1028,0
+2006-01-13,09:09:00,3669.00,3669.00,3668.00,3668.00,1650,0
+2006-01-13,09:10:00,3668.00,3669.00,3667.00,3667.00,492,0
+2006-01-13,09:11:00,3667.00,3668.00,3666.00,3666.00,2033,0
+2006-01-13,09:12:00,3666.00,3666.00,3665.00,3666.00,2720,0
+2006-01-13,09:13:00,3666.00,3666.00,3664.00,3665.00,1818,0
+2006-01-13,09:14:00,3665.00,3666.00,3665.00,3665.00,315,0
+2006-01-13,09:15:00,3665.00,3667.00,3665.00,3666.00,589,0
+2006-01-13,09:16:00,3667.00,3667.00,3666.00,3667.00,146,0
+2006-01-13,09:17:00,3666.00,3667.00,3665.00,3666.00,1306,0
+2006-01-13,09:18:00,3666.00,3666.00,3666.00,3666.00,31,0
+2006-01-13,09:19:00,3666.00,3667.00,3666.00,3666.00,46,0
+2006-01-13,09:20:00,3667.00,3667.00,3665.00,3667.00,1738,0
+2006-01-13,09:21:00,3666.00,3667.00,3665.00,3665.00,1435,0
+2006-01-13,09:22:00,3665.00,3666.00,3663.00,3663.00,2306,0
+2006-01-13,09:23:00,3663.00,3665.00,3663.00,3663.00,957,0
+2006-01-13,09:24:00,3663.00,3664.00,3662.00,3663.00,1201,0
+2006-01-13,09:25:00,3663.00,3664.00,3663.00,3664.00,517,0
+2006-01-13,09:26:00,3663.00,3664.00,3662.00,3663.00,994,0
+2006-01-13,09:27:00,3663.00,3663.00,3661.00,3661.00,1957,0
+2006-01-13,09:28:00,3661.00,3661.00,3657.00,3658.00,4234,0
+2006-01-13,09:29:00,3658.00,3658.00,3656.00,3658.00,2242,0
+2006-01-13,09:30:00,3657.00,3659.00,3657.00,3658.00,1236,0
+2006-01-13,09:31:00,3659.00,3659.00,3657.00,3659.00,3419,0
+2006-01-13,09:32:00,3658.00,3659.00,3658.00,3659.00,964,0
+2006-01-13,09:33:00,3658.00,3659.00,3657.00,3658.00,565,0
+2006-01-13,09:34:00,3657.00,3658.00,3657.00,3658.00,485,0
+2006-01-13,09:35:00,3658.00,3658.00,3657.00,3658.00,977,0
+2006-01-13,09:36:00,3658.00,3659.00,3658.00,3658.00,702,0
+2006-01-13,09:37:00,3659.00,3660.00,3659.00,3660.00,1262,0
+2006-01-13,09:38:00,3659.00,3660.00,3658.00,3659.00,338,0
+2006-01-13,09:39:00,3659.00,3659.00,3658.00,3658.00,248,0
+2006-01-13,09:40:00,3658.00,3659.00,3657.00,3658.00,1141,0
+2006-01-13,09:41:00,3658.00,3659.00,3658.00,3658.00,114,0
+2006-01-13,09:42:00,3658.00,3659.00,3657.00,3657.00,232,0
+2006-01-13,09:43:00,3657.00,3657.00,3654.00,3654.00,3380,0
+2006-01-13,09:44:00,3654.00,3655.00,3652.00,3653.00,4356,0
+2006-01-13,09:45:00,3654.00,3655.00,3654.00,3654.00,1335,0
+2006-01-13,09:46:00,3653.00,3654.00,3653.00,3654.00,1689,0
+2006-01-13,09:47:00,3654.00,3655.00,3653.00,3655.00,713,0
+2006-01-13,09:48:00,3655.00,3655.00,3654.00,3655.00,559,0
+2006-01-13,09:49:00,3655.00,3657.00,3655.00,3657.00,438,0
+2006-01-13,09:50:00,3656.00,3657.00,3656.00,3657.00,854,0
+2006-01-13,09:51:00,3657.00,3658.00,3656.00,3657.00,1505,0
+2006-01-13,09:52:00,3657.00,3658.00,3656.00,3656.00,1029,0
+2006-01-13,09:53:00,3656.00,3657.00,3656.00,3657.00,326,0
+2006-01-13,09:54:00,3656.00,3657.00,3656.00,3656.00,270,0
+2006-01-13,09:55:00,3656.00,3657.00,3656.00,3657.00,937,0
+2006-01-13,09:56:00,3657.00,3657.00,3657.00,3657.00,335,0
+2006-01-13,09:57:00,3657.00,3657.00,3656.00,3657.00,269,0
+2006-01-13,09:58:00,3656.00,3657.00,3656.00,3657.00,321,0
+2006-01-13,09:59:00,3656.00,3658.00,3656.00,3657.00,680,0
+2006-01-13,10:00:00,3657.00,3657.00,3655.00,3656.00,1585,0
+2006-01-13,10:01:00,3656.00,3657.00,3654.00,3654.00,2689,0
+2006-01-13,10:02:00,3654.00,3655.00,3654.00,3654.00,952,0
+2006-01-13,10:03:00,3654.00,3655.00,3651.00,3652.00,3057,0
+2006-01-13,10:04:00,3651.00,3653.00,3651.00,3651.00,3177,0
+2006-01-13,10:05:00,3652.00,3653.00,3651.00,3653.00,1675,0
+2006-01-13,10:06:00,3653.00,3653.00,3651.00,3652.00,1221,0
+2006-01-13,10:07:00,3651.00,3652.00,3651.00,3652.00,1212,0
+2006-01-13,10:08:00,3652.00,3653.00,3649.00,3650.00,6350,0
+2006-01-13,10:09:00,3650.00,3651.00,3647.00,3648.00,4258,0
+2006-01-13,10:10:00,3648.00,3649.00,3647.00,3649.00,2962,0
+2006-01-13,10:11:00,3649.00,3650.00,3649.00,3649.00,776,0
+2006-01-13,10:12:00,3649.00,3650.00,3647.00,3648.00,1068,0
+2006-01-13,10:13:00,3649.00,3650.00,3648.00,3650.00,1150,0
+2006-01-13,10:14:00,3649.00,3651.00,3649.00,3651.00,1739,0
+2006-01-13,10:15:00,3651.00,3651.00,3648.00,3649.00,683,0
+2006-01-13,10:16:00,3649.00,3649.00,3646.00,3647.00,1754,0
+2006-01-13,10:17:00,3647.00,3648.00,3644.00,3644.00,3982,0
+2006-01-13,10:18:00,3644.00,3645.00,3642.00,3643.00,5359,0
+2006-01-13,10:19:00,3643.00,3646.00,3643.00,3646.00,6588,0
+2006-01-13,10:20:00,3646.00,3647.00,3646.00,3647.00,2082,0
+2006-01-13,10:21:00,3647.00,3647.00,3646.00,3647.00,435,0
+2006-01-13,10:22:00,3647.00,3648.00,3646.00,3648.00,1231,0
+2006-01-13,10:23:00,3647.00,3648.00,3646.00,3647.00,1530,0
+2006-01-13,10:24:00,3648.00,3648.00,3647.00,3647.00,335,0
+2006-01-13,10:25:00,3647.00,3648.00,3646.00,3646.00,668,0
+2006-01-13,10:26:00,3646.00,3647.00,3646.00,3646.00,241,0
+2006-01-13,10:27:00,3647.00,3649.00,3647.00,3649.00,1647,0
+2006-01-13,10:28:00,3649.00,3649.00,3648.00,3648.00,2645,0
+2006-01-13,10:29:00,3648.00,3649.00,3647.00,3648.00,1186,0
+2006-01-13,10:30:00,3648.00,3648.00,3647.00,3647.00,472,0
+2006-01-13,10:31:00,3648.00,3648.00,3647.00,3647.00,579,0
+2006-01-13,10:32:00,3647.00,3647.00,3645.00,3646.00,1657,0
+2006-01-13,10:33:00,3647.00,3647.00,3646.00,3646.00,671,0
+2006-01-13,10:34:00,3646.00,3647.00,3646.00,3647.00,1214,0
+2006-01-13,10:35:00,3647.00,3647.00,3645.00,3646.00,969,0
+2006-01-13,10:36:00,3646.00,3646.00,3645.00,3646.00,501,0
+2006-01-13,10:37:00,3647.00,3647.00,3646.00,3647.00,131,0
+2006-01-13,10:38:00,3647.00,3647.00,3646.00,3646.00,825,0
+2006-01-13,10:39:00,3646.00,3646.00,3645.00,3646.00,337,0
+2006-01-13,10:40:00,3647.00,3648.00,3647.00,3648.00,413,0
+2006-01-13,10:41:00,3647.00,3648.00,3647.00,3648.00,147,0
+2006-01-13,10:42:00,3647.00,3648.00,3647.00,3647.00,291,0
+2006-01-13,10:43:00,3647.00,3648.00,3647.00,3648.00,253,0
+2006-01-13,10:44:00,3648.00,3648.00,3647.00,3648.00,847,0
+2006-01-13,10:45:00,3648.00,3649.00,3648.00,3649.00,1174,0
+2006-01-13,10:46:00,3649.00,3650.00,3649.00,3650.00,1242,0
+2006-01-13,10:47:00,3650.00,3651.00,3649.00,3650.00,3282,0
+2006-01-13,10:48:00,3650.00,3651.00,3650.00,3651.00,319,0
+2006-01-13,10:49:00,3650.00,3652.00,3650.00,3651.00,2123,0
+2006-01-13,10:50:00,3650.00,3652.00,3650.00,3651.00,620,0
+2006-01-13,10:51:00,3650.00,3651.00,3650.00,3650.00,637,0
+2006-01-13,10:52:00,3650.00,3651.00,3647.00,3647.00,2957,0
+2006-01-13,10:53:00,3648.00,3648.00,3647.00,3647.00,190,0
+2006-01-13,10:54:00,3648.00,3648.00,3647.00,3647.00,62,0
+2006-01-13,10:55:00,3648.00,3648.00,3647.00,3648.00,1093,0
+2006-01-13,10:56:00,3647.00,3648.00,3646.00,3647.00,1079,0
+2006-01-13,10:57:00,3646.00,3647.00,3646.00,3647.00,76,0
+2006-01-13,10:58:00,3646.00,3648.00,3646.00,3648.00,796,0
+2006-01-13,10:59:00,3647.00,3647.00,3646.00,3646.00,972,0
+2006-01-13,11:00:00,3646.00,3647.00,3646.00,3646.00,13,0
+2006-01-13,11:01:00,3647.00,3648.00,3646.00,3647.00,2133,0
+2006-01-13,11:02:00,3647.00,3647.00,3646.00,3646.00,2178,0
+2006-01-13,11:03:00,3646.00,3646.00,3645.00,3646.00,1962,0
+2006-01-13,11:04:00,3646.00,3646.00,3645.00,3645.00,1137,0
+2006-01-13,11:05:00,3646.00,3646.00,3645.00,3645.00,633,0
+2006-01-13,11:06:00,3646.00,3647.00,3645.00,3645.00,748,0
+2006-01-13,11:07:00,3646.00,3646.00,3644.00,3644.00,2413,0
+2006-01-13,11:08:00,3645.00,3645.00,3644.00,3644.00,776,0
+2006-01-13,11:09:00,3644.00,3645.00,3643.00,3644.00,952,0
+2006-01-13,11:10:00,3643.00,3644.00,3643.00,3643.00,195,0
+2006-01-13,11:11:00,3643.00,3644.00,3643.00,3644.00,588,0
+2006-01-13,11:12:00,3645.00,3646.00,3644.00,3644.00,1749,0
+2006-01-13,11:13:00,3645.00,3646.00,3644.00,3646.00,650,0
+2006-01-13,11:14:00,3645.00,3647.00,3645.00,3647.00,1378,0
+2006-01-13,11:15:00,3646.00,3648.00,3646.00,3647.00,822,0
+2006-01-13,11:16:00,3647.00,3648.00,3647.00,3647.00,841,0
+2006-01-13,11:17:00,3648.00,3648.00,3647.00,3647.00,372,0
+2006-01-13,11:18:00,3647.00,3647.00,3646.00,3647.00,139,0
+2006-01-13,11:19:00,3647.00,3647.00,3646.00,3647.00,115,0
+2006-01-13,11:20:00,3647.00,3648.00,3647.00,3648.00,68,0
+2006-01-13,11:21:00,3648.00,3649.00,3647.00,3648.00,2149,0
+2006-01-13,11:22:00,3647.00,3648.00,3647.00,3648.00,109,0
+2006-01-13,11:23:00,3648.00,3648.00,3647.00,3647.00,167,0
+2006-01-13,11:24:00,3648.00,3648.00,3648.00,3648.00,216,0
+2006-01-13,11:25:00,3648.00,3649.00,3647.00,3649.00,487,0
+2006-01-13,11:26:00,3648.00,3649.00,3648.00,3649.00,247,0
+2006-01-13,11:27:00,3649.00,3649.00,3649.00,3649.00,197,0
+2006-01-13,11:28:00,3648.00,3649.00,3647.00,3648.00,1539,0
+2006-01-13,11:29:00,3648.00,3648.00,3647.00,3647.00,301,0
+2006-01-13,11:30:00,3648.00,3648.00,3647.00,3648.00,126,0
+2006-01-13,11:31:00,3647.00,3648.00,3647.00,3648.00,247,0
+2006-01-13,11:32:00,3647.00,3647.00,3646.00,3647.00,113,0
+2006-01-13,11:33:00,3647.00,3647.00,3647.00,3647.00,5,0
+2006-01-13,11:34:00,3647.00,3648.00,3647.00,3648.00,208,0
+2006-01-13,11:35:00,3648.00,3649.00,3648.00,3649.00,194,0
+2006-01-13,11:36:00,3649.00,3649.00,3648.00,3648.00,26,0
+2006-01-13,11:37:00,3649.00,3649.00,3647.00,3647.00,358,0
+2006-01-13,11:38:00,3648.00,3648.00,3647.00,3648.00,190,0
+2006-01-13,11:39:00,3648.00,3649.00,3648.00,3649.00,84,0
+2006-01-13,11:40:00,3648.00,3648.00,3647.00,3648.00,424,0
+2006-01-13,11:41:00,3648.00,3648.00,3647.00,3647.00,24,0
+2006-01-13,11:42:00,3648.00,3648.00,3647.00,3648.00,471,0
+2006-01-13,11:43:00,3647.00,3648.00,3647.00,3648.00,8,0
+2006-01-13,11:44:00,3647.00,3648.00,3647.00,3647.00,162,0
+2006-01-13,11:45:00,3648.00,3648.00,3648.00,3648.00,447,0
+2006-01-13,11:46:00,3648.00,3648.00,3648.00,3648.00,770,0
+2006-01-13,11:47:00,3647.00,3648.00,3647.00,3648.00,26,0
+2006-01-13,11:48:00,3648.00,3648.00,3647.00,3647.00,350,0
+2006-01-13,11:49:00,3647.00,3647.00,3646.00,3647.00,540,0
+2006-01-13,11:50:00,3647.00,3648.00,3647.00,3647.00,453,0
+2006-01-13,11:51:00,3647.00,3647.00,3647.00,3647.00,1,0
+2006-01-13,11:52:00,3647.00,3648.00,3647.00,3647.00,688,0
+2006-01-13,11:53:00,3647.00,3647.00,3647.00,3647.00,71,0
+2006-01-13,11:54:00,3648.00,3648.00,3647.00,3648.00,1249,0
+2006-01-13,11:55:00,3647.00,3647.00,3647.00,3647.00,19,0
+2006-01-13,11:56:00,3647.00,3648.00,3647.00,3648.00,220,0
+2006-01-13,11:57:00,3647.00,3648.00,3647.00,3648.00,24,0
+2006-01-13,11:58:00,3648.00,3648.00,3648.00,3648.00,185,0
+2006-01-13,11:59:00,3648.00,3648.00,3648.00,3648.00,125,0
+2006-01-13,12:00:00,3649.00,3649.00,3648.00,3648.00,19,0
+2006-01-13,12:01:00,3648.00,3648.00,3648.00,3648.00,496,0
+2006-01-13,12:02:00,3649.00,3649.00,3647.00,3648.00,307,0
+2006-01-13,12:03:00,3648.00,3648.00,3647.00,3648.00,281,0
+2006-01-13,12:04:00,3648.00,3649.00,3647.00,3647.00,160,0
+2006-01-13,12:05:00,3648.00,3648.00,3647.00,3647.00,36,0
+2006-01-13,12:06:00,3647.00,3648.00,3646.00,3646.00,175,0
+2006-01-13,12:07:00,3647.00,3647.00,3647.00,3647.00,245,0
+2006-01-13,12:08:00,3647.00,3647.00,3647.00,3647.00,116,0
+2006-01-13,12:09:00,3647.00,3647.00,3647.00,3647.00,197,0
+2006-01-13,12:10:00,3646.00,3647.00,3646.00,3646.00,176,0
+2006-01-13,12:11:00,3646.00,3647.00,3646.00,3646.00,152,0
+2006-01-13,12:12:00,3646.00,3648.00,3646.00,3646.00,190,0
+2006-01-13,12:13:00,3647.00,3647.00,3646.00,3646.00,88,0
+2006-01-13,12:14:00,3646.00,3647.00,3646.00,3646.00,1796,0
+2006-01-13,12:15:00,3647.00,3648.00,3647.00,3647.00,697,0
+2006-01-13,12:16:00,3648.00,3648.00,3647.00,3647.00,8,0
+2006-01-13,12:17:00,3647.00,3648.00,3647.00,3647.00,506,0
+2006-01-13,12:18:00,3647.00,3647.00,3646.00,3647.00,133,0
+2006-01-13,12:19:00,3647.00,3648.00,3647.00,3648.00,210,0
+2006-01-13,12:20:00,3648.00,3648.00,3647.00,3647.00,360,0
+2006-01-13,12:21:00,3647.00,3647.00,3647.00,3647.00,4,0
+2006-01-13,12:22:00,3648.00,3648.00,3647.00,3648.00,555,0
+2006-01-13,12:23:00,3649.00,3649.00,3648.00,3649.00,40,0
+2006-01-13,12:24:00,3648.00,3649.00,3648.00,3648.00,341,0
+2006-01-13,12:25:00,3649.00,3649.00,3648.00,3648.00,333,0
+2006-01-13,12:26:00,3649.00,3649.00,3648.00,3649.00,213,0
+2006-01-13,12:27:00,3648.00,3649.00,3647.00,3647.00,447,0
+2006-01-13,12:28:00,3648.00,3648.00,3647.00,3647.00,436,0
+2006-01-13,12:29:00,3647.00,3647.00,3647.00,3647.00,675,0
+2006-01-13,12:30:00,3648.00,3648.00,3647.00,3647.00,781,0
+2006-01-13,12:31:00,3648.00,3649.00,3648.00,3649.00,755,0
+2006-01-13,12:32:00,3648.00,3649.00,3648.00,3648.00,14158,0
+2006-01-13,12:33:00,3648.00,3649.00,3648.00,3649.00,234,0
+2006-01-13,12:34:00,3648.00,3648.00,3647.00,3647.00,271,0
+2006-01-13,12:35:00,3648.00,3648.00,3647.00,3647.00,57,0
+2006-01-13,12:36:00,3647.00,3648.00,3647.00,3648.00,225,0
+2006-01-13,12:37:00,3647.00,3647.00,3647.00,3647.00,15,0
+2006-01-13,12:38:00,3648.00,3648.00,3647.00,3648.00,7,0
+2006-01-13,12:39:00,3648.00,3648.00,3647.00,3647.00,74,0
+2006-01-13,12:40:00,3648.00,3648.00,3647.00,3647.00,200,0
+2006-01-13,12:41:00,3648.00,3648.00,3647.00,3647.00,129,0
+2006-01-13,12:42:00,3648.00,3648.00,3647.00,3647.00,146,0
+2006-01-13,12:43:00,3647.00,3647.00,3646.00,3647.00,170,0
+2006-01-13,12:44:00,3647.00,3648.00,3647.00,3648.00,154,0
+2006-01-13,12:45:00,3647.00,3647.00,3647.00,3647.00,5,0
+2006-01-13,12:46:00,3648.00,3648.00,3647.00,3647.00,29,0
+2006-01-13,12:47:00,3647.00,3648.00,3647.00,3647.00,960,0
+2006-01-13,12:48:00,3647.00,3647.00,3647.00,3647.00,1521,0
+2006-01-13,12:49:00,3647.00,3648.00,3647.00,3647.00,187,0
+2006-01-13,12:50:00,3647.00,3648.00,3647.00,3647.00,20,0
+2006-01-13,12:51:00,3647.00,3648.00,3647.00,3647.00,7,0
+2006-01-13,12:52:00,3648.00,3648.00,3647.00,3647.00,18,0
+2006-01-13,12:53:00,3648.00,3648.00,3647.00,3647.00,40,0
+2006-01-13,12:54:00,3647.00,3648.00,3647.00,3648.00,4,0
+2006-01-13,12:55:00,3647.00,3648.00,3646.00,3646.00,240,0
+2006-01-13,12:56:00,3647.00,3647.00,3646.00,3647.00,356,0
+2006-01-13,12:57:00,3646.00,3647.00,3646.00,3647.00,181,0
+2006-01-13,12:58:00,3646.00,3647.00,3646.00,3646.00,158,0
+2006-01-13,12:59:00,3646.00,3647.00,3646.00,3646.00,329,0
+2006-01-13,13:00:00,3646.00,3647.00,3646.00,3647.00,124,0
+2006-01-13,13:01:00,3647.00,3647.00,3645.00,3646.00,1339,0
+2006-01-13,13:02:00,3646.00,3646.00,3645.00,3645.00,361,0
+2006-01-13,13:03:00,3646.00,3646.00,3645.00,3645.00,387,0
+2006-01-13,13:04:00,3645.00,3645.00,3644.00,3645.00,1206,0
+2006-01-13,13:05:00,3645.00,3646.00,3645.00,3645.00,219,0
+2006-01-13,13:06:00,3645.00,3645.00,3645.00,3645.00,58,0
+2006-01-13,13:07:00,3645.00,3645.00,3645.00,3645.00,2086,0
+2006-01-13,13:08:00,3644.00,3645.00,3644.00,3645.00,1399,0
+2006-01-13,13:09:00,3645.00,3645.00,3643.00,3643.00,924,0
+2006-01-13,13:10:00,3643.00,3644.00,3642.00,3644.00,1699,0
+2006-01-13,13:11:00,3644.00,3644.00,3643.00,3644.00,428,0
+2006-01-13,13:12:00,3644.00,3644.00,3643.00,3644.00,344,0
+2006-01-13,13:13:00,3644.00,3645.00,3644.00,3645.00,38,0
+2006-01-13,13:14:00,3645.00,3645.00,3645.00,3645.00,6,0
+2006-01-13,13:15:00,3645.00,3645.00,3644.00,3645.00,8233,0
+2006-01-13,13:16:00,3645.00,3646.00,3644.00,3646.00,1063,0
+2006-01-13,13:17:00,3645.00,3646.00,3645.00,3645.00,1007,0
+2006-01-13,13:18:00,3646.00,3646.00,3645.00,3645.00,340,0
+2006-01-13,13:19:00,3645.00,3646.00,3645.00,3645.00,327,0
+2006-01-13,13:20:00,3645.00,3646.00,3645.00,3646.00,508,0
+2006-01-13,13:21:00,3645.00,3645.00,3645.00,3645.00,50,0
+2006-01-13,13:22:00,3645.00,3646.00,3645.00,3645.00,600,0
+2006-01-13,13:23:00,3645.00,3645.00,3645.00,3645.00,231,0
+2006-01-13,13:24:00,3645.00,3646.00,3645.00,3646.00,63,0
+2006-01-13,13:25:00,3645.00,3646.00,3645.00,3646.00,43,0
+2006-01-13,13:26:00,3645.00,3645.00,3645.00,3645.00,2,0
+2006-01-13,13:27:00,3645.00,3645.00,3645.00,3645.00,342,0
+2006-01-13,13:28:00,3645.00,3645.00,3644.00,3644.00,1016,0
+2006-01-13,13:29:00,3644.00,3644.00,3643.00,3644.00,377,0
+2006-01-13,13:30:00,3643.00,3643.00,3643.00,3643.00,324,0
+2006-01-13,13:31:00,3643.00,3644.00,3643.00,3643.00,670,0
+2006-01-13,13:32:00,3644.00,3644.00,3642.00,3643.00,195,0
+2006-01-13,13:33:00,3642.00,3643.00,3642.00,3643.00,12,0
+2006-01-13,13:34:00,3643.00,3643.00,3642.00,3642.00,599,0
+2006-01-13,13:35:00,3642.00,3643.00,3641.00,3642.00,1035,0
+2006-01-13,13:36:00,3642.00,3642.00,3641.00,3642.00,313,0
+2006-01-13,13:37:00,3642.00,3642.00,3641.00,3642.00,1271,0
+2006-01-13,13:38:00,3642.00,3642.00,3638.00,3639.00,5091,0
+2006-01-13,13:39:00,3639.00,3640.00,3639.00,3639.00,2530,0
+2006-01-13,13:40:00,3640.00,3640.00,3639.00,3640.00,2857,0
+2006-01-13,13:41:00,3640.00,3640.00,3636.00,3637.00,5206,0
+2006-01-13,13:42:00,3638.00,3638.00,3636.00,3637.00,3278,0
+2006-01-13,13:43:00,3637.00,3637.00,3636.00,3637.00,668,0
+2006-01-13,13:44:00,3637.00,3638.00,3637.00,3638.00,1500,0
+2006-01-13,13:45:00,3638.00,3638.00,3638.00,3638.00,808,0
+2006-01-13,13:46:00,3638.00,3639.00,3637.00,3637.00,1021,0
+2006-01-13,13:47:00,3638.00,3639.00,3638.00,3639.00,718,0
+2006-01-13,13:48:00,3638.00,3639.00,3638.00,3638.00,111,0
+2006-01-13,13:49:00,3638.00,3639.00,3638.00,3639.00,410,0
+2006-01-13,13:50:00,3639.00,3639.00,3639.00,3639.00,162,0
+2006-01-13,13:51:00,3639.00,3639.00,3639.00,3639.00,52,0
+2006-01-13,13:52:00,3638.00,3639.00,3638.00,3638.00,1447,0
+2006-01-13,13:53:00,3638.00,3639.00,3638.00,3638.00,3059,0
+2006-01-13,13:54:00,3639.00,3639.00,3639.00,3639.00,33,0
+2006-01-13,13:55:00,3639.00,3640.00,3639.00,3640.00,644,0
+2006-01-13,13:56:00,3640.00,3641.00,3640.00,3640.00,1021,0
+2006-01-13,13:57:00,3640.00,3642.00,3640.00,3642.00,306,0
+2006-01-13,13:58:00,3642.00,3642.00,3641.00,3642.00,703,0
+2006-01-13,13:59:00,3642.00,3642.00,3641.00,3642.00,91,0
+2006-01-13,14:00:00,3641.00,3642.00,3640.00,3641.00,623,0
+2006-01-13,14:01:00,3640.00,3642.00,3640.00,3642.00,887,0
+2006-01-13,14:02:00,3642.00,3642.00,3641.00,3642.00,178,0
+2006-01-13,14:03:00,3642.00,3643.00,3641.00,3643.00,861,0
+2006-01-13,14:04:00,3643.00,3644.00,3642.00,3644.00,429,0
+2006-01-13,14:05:00,3644.00,3644.00,3644.00,3644.00,303,0
+2006-01-13,14:06:00,3643.00,3644.00,3643.00,3643.00,414,0
+2006-01-13,14:07:00,3644.00,3644.00,3642.00,3642.00,1481,0
+2006-01-13,14:08:00,3642.00,3642.00,3640.00,3640.00,1125,0
+2006-01-13,14:09:00,3640.00,3640.00,3638.00,3639.00,1522,0
+2006-01-13,14:10:00,3638.00,3639.00,3638.00,3638.00,1640,0
+2006-01-13,14:11:00,3638.00,3639.00,3638.00,3638.00,454,0
+2006-01-13,14:12:00,3638.00,3638.00,3637.00,3637.00,276,0
+2006-01-13,14:13:00,3637.00,3638.00,3637.00,3638.00,73,0
+2006-01-13,14:14:00,3638.00,3638.00,3637.00,3638.00,2548,0
+2006-01-13,14:15:00,3638.00,3638.00,3637.00,3638.00,164,0
+2006-01-13,14:16:00,3638.00,3639.00,3638.00,3639.00,589,0
+2006-01-13,14:17:00,3639.00,3640.00,3639.00,3640.00,2521,0
+2006-01-13,14:18:00,3640.00,3640.00,3639.00,3640.00,339,0
+2006-01-13,14:19:00,3639.00,3641.00,3639.00,3640.00,627,0
+2006-01-13,14:20:00,3640.00,3641.00,3639.00,3641.00,338,0
+2006-01-13,14:21:00,3640.00,3641.00,3639.00,3639.00,442,0
+2006-01-13,14:22:00,3640.00,3640.00,3639.00,3639.00,554,0
+2006-01-13,14:23:00,3640.00,3642.00,3640.00,3642.00,547,0
+2006-01-13,14:24:00,3642.00,3642.00,3641.00,3641.00,806,0
+2006-01-13,14:25:00,3642.00,3642.00,3642.00,3642.00,210,0
+2006-01-13,14:26:00,3642.00,3642.00,3641.00,3642.00,37,0
+2006-01-13,14:27:00,3641.00,3642.00,3641.00,3642.00,1087,0
+2006-01-13,14:28:00,3642.00,3642.00,3641.00,3642.00,234,0
+2006-01-13,14:29:00,3642.00,3642.00,3641.00,3642.00,170,0
+2006-01-13,14:30:00,3642.00,3642.00,3641.00,3641.00,396,0
+2006-01-13,14:31:00,3640.00,3642.00,3637.00,3639.00,3836,0
+2006-01-13,14:32:00,3640.00,3641.00,3639.00,3641.00,990,0
+2006-01-13,14:33:00,3641.00,3643.00,3640.00,3642.00,1121,0
+2006-01-13,14:34:00,3642.00,3643.00,3641.00,3642.00,1767,0
+2006-01-13,14:35:00,3642.00,3643.00,3642.00,3642.00,962,0
+2006-01-13,14:36:00,3642.00,3643.00,3642.00,3643.00,711,0
+2006-01-13,14:37:00,3642.00,3644.00,3642.00,3644.00,1669,0
+2006-01-13,14:38:00,3643.00,3644.00,3643.00,3643.00,1044,0
+2006-01-13,14:39:00,3643.00,3644.00,3643.00,3644.00,230,0
+2006-01-13,14:40:00,3644.00,3644.00,3643.00,3644.00,847,0
+2006-01-13,14:41:00,3645.00,3646.00,3644.00,3645.00,978,0
+2006-01-13,14:42:00,3646.00,3646.00,3644.00,3644.00,1432,0
+2006-01-13,14:43:00,3644.00,3645.00,3643.00,3643.00,1660,0
+2006-01-13,14:44:00,3643.00,3643.00,3643.00,3643.00,307,0
+2006-01-13,14:45:00,3643.00,3644.00,3643.00,3644.00,504,0
+2006-01-13,14:46:00,3643.00,3643.00,3642.00,3643.00,597,0
+2006-01-13,14:47:00,3643.00,3643.00,3641.00,3642.00,2249,0
+2006-01-13,14:48:00,3642.00,3643.00,3641.00,3642.00,351,0
+2006-01-13,14:49:00,3642.00,3642.00,3641.00,3642.00,556,0
+2006-01-13,14:50:00,3642.00,3642.00,3642.00,3642.00,1143,0
+2006-01-13,14:51:00,3642.00,3643.00,3642.00,3642.00,109,0
+2006-01-13,14:52:00,3642.00,3642.00,3641.00,3641.00,1574,0
+2006-01-13,14:53:00,3642.00,3642.00,3640.00,3641.00,907,0
+2006-01-13,14:54:00,3641.00,3643.00,3641.00,3643.00,1098,0
+2006-01-13,14:55:00,3643.00,3643.00,3642.00,3643.00,23,0
+2006-01-13,14:56:00,3643.00,3643.00,3643.00,3643.00,305,0
+2006-01-13,14:57:00,3643.00,3643.00,3643.00,3643.00,138,0
+2006-01-13,14:58:00,3643.00,3643.00,3643.00,3643.00,1230,0
+2006-01-13,14:59:00,3642.00,3643.00,3642.00,3642.00,412,0
+2006-01-13,15:00:00,3643.00,3643.00,3642.00,3642.00,342,0
+2006-01-13,15:01:00,3642.00,3642.00,3641.00,3642.00,157,0
+2006-01-13,15:02:00,3642.00,3642.00,3641.00,3641.00,736,0
+2006-01-13,15:03:00,3642.00,3642.00,3641.00,3641.00,912,0
+2006-01-13,15:04:00,3642.00,3642.00,3641.00,3641.00,771,0
+2006-01-13,15:05:00,3642.00,3642.00,3641.00,3642.00,1288,0
+2006-01-13,15:06:00,3642.00,3642.00,3642.00,3642.00,8,0
+2006-01-13,15:07:00,3641.00,3642.00,3641.00,3641.00,701,0
+2006-01-13,15:08:00,3641.00,3642.00,3641.00,3642.00,367,0
+2006-01-13,15:09:00,3641.00,3642.00,3640.00,3641.00,329,0
+2006-01-13,15:10:00,3641.00,3641.00,3640.00,3641.00,32,0
+2006-01-13,15:11:00,3641.00,3641.00,3641.00,3641.00,37,0
+2006-01-13,15:12:00,3641.00,3642.00,3641.00,3642.00,754,0
+2006-01-13,15:13:00,3641.00,3642.00,3641.00,3642.00,7,0
+2006-01-13,15:14:00,3642.00,3642.00,3642.00,3642.00,221,0
+2006-01-13,15:15:00,3641.00,3641.00,3640.00,3640.00,740,0
+2006-01-13,15:16:00,3640.00,3641.00,3640.00,3640.00,94,0
+2006-01-13,15:17:00,3640.00,3641.00,3639.00,3640.00,820,0
+2006-01-13,15:18:00,3639.00,3640.00,3637.00,3638.00,2040,0
+2006-01-13,15:19:00,3638.00,3639.00,3638.00,3639.00,306,0
+2006-01-13,15:20:00,3639.00,3639.00,3637.00,3638.00,1514,0
+2006-01-13,15:21:00,3638.00,3638.00,3637.00,3638.00,911,0
+2006-01-13,15:22:00,3639.00,3639.00,3638.00,3638.00,766,0
+2006-01-13,15:23:00,3639.00,3639.00,3638.00,3639.00,157,0
+2006-01-13,15:24:00,3639.00,3639.00,3637.00,3638.00,953,0
+2006-01-13,15:25:00,3638.00,3638.00,3637.00,3637.00,199,0
+2006-01-13,15:26:00,3638.00,3639.00,3637.00,3638.00,980,0
+2006-01-13,15:27:00,3638.00,3639.00,3638.00,3638.00,315,0
+2006-01-13,15:28:00,3638.00,3639.00,3638.00,3639.00,315,0
+2006-01-13,15:29:00,3638.00,3639.00,3638.00,3638.00,6,0
+2006-01-13,15:30:00,3638.00,3638.00,3637.00,3638.00,885,0
+2006-01-13,15:31:00,3638.00,3640.00,3638.00,3640.00,2131,0
+2006-01-13,15:32:00,3640.00,3641.00,3639.00,3639.00,1501,0
+2006-01-13,15:33:00,3640.00,3641.00,3640.00,3640.00,1057,0
+2006-01-13,15:34:00,3641.00,3641.00,3640.00,3640.00,751,0
+2006-01-13,15:35:00,3640.00,3641.00,3639.00,3640.00,381,0
+2006-01-13,15:36:00,3641.00,3641.00,3640.00,3641.00,1231,0
+2006-01-13,15:37:00,3641.00,3642.00,3640.00,3642.00,643,0
+2006-01-13,15:38:00,3641.00,3642.00,3641.00,3642.00,772,0
+2006-01-13,15:39:00,3642.00,3644.00,3641.00,3643.00,1652,0
+2006-01-13,15:40:00,3644.00,3644.00,3643.00,3643.00,1225,0
+2006-01-13,15:41:00,3644.00,3645.00,3644.00,3645.00,1724,0
+2006-01-13,15:42:00,3645.00,3645.00,3642.00,3642.00,1443,0
+2006-01-13,15:43:00,3643.00,3643.00,3641.00,3641.00,1126,0
+2006-01-13,15:44:00,3641.00,3642.00,3641.00,3641.00,723,0
+2006-01-13,15:45:00,3641.00,3642.00,3640.00,3640.00,1296,0
+2006-01-13,15:46:00,3641.00,3642.00,3641.00,3641.00,1335,0
+2006-01-13,15:47:00,3641.00,3641.00,3640.00,3641.00,496,0
+2006-01-13,15:48:00,3641.00,3641.00,3640.00,3640.00,27,0
+2006-01-13,15:49:00,3640.00,3641.00,3640.00,3641.00,766,0
+2006-01-13,15:50:00,3641.00,3641.00,3640.00,3640.00,757,0
+2006-01-13,15:51:00,3640.00,3640.00,3639.00,3640.00,786,0
+2006-01-13,15:52:00,3639.00,3641.00,3639.00,3640.00,1194,0
+2006-01-13,15:53:00,3640.00,3640.00,3640.00,3640.00,65,0
+2006-01-13,15:54:00,3640.00,3641.00,3639.00,3640.00,2024,0
+2006-01-13,15:55:00,3641.00,3641.00,3640.00,3641.00,1640,0
+2006-01-13,15:56:00,3641.00,3643.00,3641.00,3643.00,763,0
+2006-01-13,15:57:00,3643.00,3643.00,3642.00,3642.00,789,0
+2006-01-13,15:58:00,3642.00,3642.00,3641.00,3642.00,75,0
+2006-01-13,15:59:00,3642.00,3642.00,3641.00,3642.00,982,0
+2006-01-13,16:00:00,3642.00,3642.00,3641.00,3642.00,536,0
+2006-01-13,16:01:00,3642.00,3642.00,3641.00,3642.00,380,0
+2006-01-13,16:02:00,3642.00,3643.00,3641.00,3641.00,2023,0
+2006-01-13,16:03:00,3642.00,3642.00,3640.00,3641.00,898,0
+2006-01-13,16:04:00,3641.00,3642.00,3640.00,3641.00,740,0
+2006-01-13,16:05:00,3642.00,3642.00,3641.00,3641.00,139,0
+2006-01-13,16:06:00,3642.00,3642.00,3641.00,3642.00,1187,0
+2006-01-13,16:07:00,3642.00,3643.00,3642.00,3642.00,933,0
+2006-01-13,16:08:00,3642.00,3643.00,3642.00,3642.00,958,0
+2006-01-13,16:09:00,3642.00,3642.00,3642.00,3642.00,255,0
+2006-01-13,16:10:00,3643.00,3644.00,3642.00,3642.00,1142,0
+2006-01-13,16:11:00,3642.00,3642.00,3640.00,3641.00,1289,0
+2006-01-13,16:12:00,3641.00,3641.00,3639.00,3640.00,484,0
+2006-01-13,16:13:00,3640.00,3641.00,3638.00,3638.00,988,0
+2006-01-13,16:14:00,3638.00,3639.00,3638.00,3638.00,1249,0
+2006-01-13,16:15:00,3638.00,3638.00,3636.00,3636.00,2494,0
+2006-01-13,16:16:00,3636.00,3637.00,3636.00,3636.00,2106,0
+2006-01-13,16:17:00,3636.00,3636.00,3635.00,3636.00,3800,0
+2006-01-13,16:18:00,3636.00,3637.00,3634.00,3635.00,2437,0
+2006-01-13,16:19:00,3635.00,3635.00,3633.00,3634.00,16582,0
+2006-01-13,16:20:00,3634.00,3635.00,3633.00,3635.00,1880,0
+2006-01-13,16:21:00,3634.00,3636.00,3634.00,3635.00,2451,0
+2006-01-13,16:22:00,3634.00,3635.00,3633.00,3633.00,1140,0
+2006-01-13,16:23:00,3633.00,3636.00,3633.00,3636.00,2968,0
+2006-01-13,16:24:00,3636.00,3637.00,3635.00,3636.00,1015,0
+2006-01-13,16:25:00,3637.00,3637.00,3636.00,3636.00,488,0
+2006-01-13,16:26:00,3636.00,3637.00,3634.00,3634.00,1604,0
+2006-01-13,16:27:00,3634.00,3634.00,3632.00,3634.00,2294,0
+2006-01-13,16:28:00,3634.00,3635.00,3633.00,3635.00,1567,0
+2006-01-13,16:29:00,3634.00,3635.00,3634.00,3635.00,1049,0
+2006-01-13,16:30:00,3635.00,3636.00,3635.00,3636.00,638,0
+2006-01-13,16:31:00,3636.00,3636.00,3635.00,3636.00,1093,0
+2006-01-13,16:32:00,3636.00,3636.00,3634.00,3634.00,1526,0
+2006-01-13,16:33:00,3634.00,3635.00,3633.00,3633.00,1415,0
+2006-01-13,16:34:00,3633.00,3635.00,3632.00,3635.00,730,0
+2006-01-13,16:35:00,3635.00,3636.00,3635.00,3635.00,676,0
+2006-01-13,16:36:00,3634.00,3635.00,3634.00,3635.00,702,0
+2006-01-13,16:37:00,3635.00,3636.00,3635.00,3636.00,12,0
+2006-01-13,16:38:00,3635.00,3635.00,3634.00,3635.00,493,0
+2006-01-13,16:39:00,3636.00,3636.00,3636.00,3636.00,78,0
+2006-01-13,16:40:00,3635.00,3636.00,3635.00,3636.00,884,0
+2006-01-13,16:41:00,3635.00,3636.00,3634.00,3635.00,1243,0
+2006-01-13,16:42:00,3634.00,3635.00,3634.00,3634.00,689,0
+2006-01-13,16:43:00,3634.00,3635.00,3634.00,3634.00,2032,0
+2006-01-13,16:44:00,3634.00,3634.00,3633.00,3633.00,756,0
+2006-01-13,16:45:00,3633.00,3633.00,3630.00,3630.00,3759,0
+2006-01-13,16:46:00,3630.00,3631.00,3629.00,3629.00,3357,0
+2006-01-13,16:47:00,3629.00,3630.00,3628.00,3629.00,2087,0
+2006-01-13,16:48:00,3629.00,3631.00,3629.00,3631.00,2958,0
+2006-01-13,16:49:00,3631.00,3632.00,3630.00,3631.00,2016,0
+2006-01-13,16:50:00,3631.00,3631.00,3629.00,3629.00,1852,0
+2006-01-13,16:51:00,3629.00,3631.00,3628.00,3631.00,2521,0
+2006-01-13,16:52:00,3630.00,3631.00,3628.00,3629.00,1808,0
+2006-01-13,16:53:00,3630.00,3631.00,3630.00,3631.00,1550,0
+2006-01-13,16:54:00,3630.00,3632.00,3630.00,3632.00,3056,0
+2006-01-13,16:55:00,3632.00,3633.00,3632.00,3632.00,1409,0
+2006-01-13,16:56:00,3633.00,3633.00,3632.00,3632.00,1262,0
+2006-01-13,16:57:00,3632.00,3633.00,3631.00,3633.00,1575,0
+2006-01-13,16:58:00,3633.00,3634.00,3632.00,3633.00,1292,0
+2006-01-13,16:59:00,3633.00,3635.00,3632.00,3634.00,2292,0
+2006-01-13,17:00:00,3634.00,3634.00,3633.00,3633.00,603,0
+2006-01-13,17:01:00,3633.00,3635.00,3633.00,3635.00,2145,0
+2006-01-13,17:02:00,3635.00,3636.00,3634.00,3635.00,985,0
+2006-01-13,17:03:00,3635.00,3637.00,3635.00,3636.00,1258,0
+2006-01-13,17:04:00,3636.00,3637.00,3636.00,3636.00,1608,0
+2006-01-13,17:05:00,3636.00,3636.00,3635.00,3635.00,1090,0
+2006-01-13,17:06:00,3636.00,3636.00,3635.00,3635.00,62,0
+2006-01-13,17:07:00,3635.00,3636.00,3635.00,3636.00,1058,0
+2006-01-13,17:08:00,3635.00,3636.00,3635.00,3635.00,934,0
+2006-01-13,17:09:00,3635.00,3636.00,3635.00,3636.00,228,0
+2006-01-13,17:10:00,3636.00,3636.00,3635.00,3635.00,784,0
+2006-01-13,17:11:00,3635.00,3637.00,3635.00,3637.00,1380,0
+2006-01-13,17:12:00,3637.00,3639.00,3637.00,3638.00,1896,0
+2006-01-13,17:13:00,3638.00,3639.00,3638.00,3639.00,518,0
+2006-01-13,17:14:00,3639.00,3639.00,3638.00,3639.00,1142,0
+2006-01-13,17:15:00,3639.00,3640.00,3638.00,3640.00,2812,0
+2006-01-13,17:16:00,3640.00,3641.00,3640.00,3641.00,933,0
+2006-01-13,17:17:00,3641.00,3643.00,3641.00,3642.00,2829,0
+2006-01-13,17:18:00,3642.00,3643.00,3642.00,3642.00,1145,0
+2006-01-13,17:19:00,3643.00,3643.00,3641.00,3641.00,1272,0
+2006-01-13,17:20:00,3641.00,3642.00,3641.00,3641.00,875,0
+2006-01-13,17:21:00,3641.00,3642.00,3640.00,3641.00,1217,0
+2006-01-13,17:22:00,3640.00,3640.00,3639.00,3639.00,2449,0
+2006-01-13,17:23:00,3639.00,3640.00,3638.00,3639.00,1557,0
+2006-01-13,17:24:00,3639.00,3639.00,3638.00,3639.00,850,0
+2006-01-13,17:25:00,3639.00,3641.00,3639.00,3640.00,1384,0
+2006-01-13,17:26:00,3640.00,3642.00,3640.00,3641.00,1262,0
+2006-01-13,17:27:00,3641.00,3642.00,3641.00,3642.00,1329,0
+2006-01-13,17:28:00,3642.00,3643.00,3641.00,3641.00,1314,0
+2006-01-13,17:29:00,3641.00,3642.00,3641.00,3641.00,1585,0
+2006-01-13,17:30:00,3641.00,3642.00,3641.00,3641.00,4272,0
+2006-01-13,17:31:00,3642.00,3643.00,3641.00,3643.00,5075,0
+2006-01-13,17:32:00,3643.00,3643.00,3642.00,3643.00,1698,0
+2006-01-13,17:33:00,3643.00,3643.00,3642.00,3642.00,1930,0
+2006-01-13,17:34:00,3643.00,3643.00,3642.00,3642.00,1826,0
+2006-01-13,17:35:00,3642.00,3643.00,3641.00,3642.00,1212,0
+2006-01-13,17:36:00,3642.00,3642.00,3640.00,3641.00,2165,0
+2006-01-13,17:37:00,3642.00,3642.00,3641.00,3642.00,2710,0
+2006-01-13,17:38:00,3642.00,3642.00,3640.00,3641.00,1025,0
+2006-01-13,17:39:00,3641.00,3641.00,3640.00,3641.00,250,0
+2006-01-13,17:40:00,3640.00,3641.00,3640.00,3641.00,504,0
+2006-01-13,17:41:00,3640.00,3641.00,3640.00,3641.00,2614,0
+2006-01-13,17:42:00,3641.00,3642.00,3641.00,3641.00,219,0
+2006-01-13,17:43:00,3640.00,3640.00,3640.00,3640.00,627,0
+2006-01-13,17:44:00,3640.00,3641.00,3640.00,3641.00,330,0
+2006-01-13,17:45:00,3640.00,3641.00,3640.00,3640.00,788,0
+2006-01-13,17:46:00,3641.00,3641.00,3639.00,3639.00,397,0
+2006-01-13,17:47:00,3639.00,3639.00,3638.00,3639.00,881,0
+2006-01-13,17:48:00,3638.00,3639.00,3638.00,3638.00,172,0
+2006-01-13,17:49:00,3639.00,3639.00,3638.00,3639.00,79,0
+2006-01-13,17:50:00,3638.00,3638.00,3637.00,3637.00,395,0
+2006-01-13,17:51:00,3637.00,3638.00,3637.00,3638.00,171,0
+2006-01-13,17:52:00,3638.00,3638.00,3637.00,3638.00,213,0
+2006-01-13,17:53:00,3637.00,3638.00,3637.00,3638.00,782,0
+2006-01-13,17:54:00,3639.00,3639.00,3639.00,3639.00,75,0
+2006-01-13,17:55:00,3639.00,3639.00,3637.00,3637.00,703,0
+2006-01-13,17:56:00,3637.00,3637.00,3636.00,3636.00,787,0
+2006-01-13,17:57:00,3636.00,3637.00,3636.00,3636.00,419,0
+2006-01-13,17:58:00,3636.00,3637.00,3635.00,3636.00,196,0
+2006-01-13,17:59:00,3635.00,3635.00,3634.00,3634.00,347,0
+2006-01-13,18:00:00,3634.00,3635.00,3634.00,3635.00,624,0
+2006-01-13,18:01:00,3635.00,3636.00,3635.00,3636.00,929,0
+2006-01-13,18:02:00,3636.00,3636.00,3636.00,3636.00,70,0
+2006-01-13,18:03:00,3636.00,3637.00,3635.00,3637.00,341,0
+2006-01-13,18:04:00,3636.00,3637.00,3636.00,3637.00,14,0
+2006-01-13,18:05:00,3637.00,3637.00,3636.00,3636.00,22,0
+2006-01-13,18:06:00,3637.00,3637.00,3636.00,3636.00,517,0
+2006-01-13,18:07:00,3635.00,3635.00,3635.00,3635.00,49,0
+2006-01-13,18:08:00,3635.00,3635.00,3634.00,3634.00,374,0
+2006-01-13,18:09:00,3634.00,3635.00,3634.00,3634.00,837,0
+2006-01-13,18:10:00,3633.00,3633.00,3633.00,3633.00,1034,0
+2006-01-13,18:11:00,3634.00,3634.00,3633.00,3633.00,747,0
+2006-01-13,18:12:00,3634.00,3634.00,3633.00,3634.00,580,0
+2006-01-13,18:13:00,3634.00,3634.00,3634.00,3634.00,56,0
+2006-01-13,18:14:00,3633.00,3634.00,3633.00,3634.00,134,0
+2006-01-13,18:15:00,3634.00,3634.00,3634.00,3634.00,14,0
+2006-01-13,18:16:00,3635.00,3635.00,3634.00,3635.00,328,0
+2006-01-13,18:17:00,3635.00,3635.00,3635.00,3635.00,229,0
+2006-01-13,18:18:00,3635.00,3635.00,3634.00,3635.00,124,0
+2006-01-13,18:20:00,3634.00,3635.00,3634.00,3634.00,60,0
+2006-01-13,18:21:00,3635.00,3636.00,3635.00,3636.00,594,0
+2006-01-13,18:22:00,3636.00,3637.00,3636.00,3637.00,65,0
+2006-01-13,18:23:00,3637.00,3637.00,3637.00,3637.00,238,0
+2006-01-13,18:24:00,3637.00,3638.00,3636.00,3637.00,191,0
+2006-01-13,18:25:00,3637.00,3637.00,3637.00,3637.00,5,0
+2006-01-13,18:27:00,3638.00,3638.00,3638.00,3638.00,84,0
+2006-01-13,18:28:00,3637.00,3638.00,3637.00,3637.00,301,0
+2006-01-13,18:29:00,3637.00,3638.00,3637.00,3637.00,122,0
+2006-01-13,18:30:00,3637.00,3637.00,3637.00,3637.00,98,0
+2006-01-13,18:31:00,3637.00,3637.00,3636.00,3637.00,28,0
+2006-01-13,18:32:00,3636.00,3637.00,3636.00,3636.00,59,0
+2006-01-13,18:33:00,3636.00,3636.00,3636.00,3636.00,30,0
+2006-01-13,18:34:00,3636.00,3636.00,3636.00,3636.00,102,0
+2006-01-13,18:35:00,3636.00,3637.00,3636.00,3636.00,214,0
+2006-01-13,18:36:00,3636.00,3636.00,3635.00,3636.00,240,0
+2006-01-13,18:37:00,3636.00,3636.00,3634.00,3634.00,296,0
+2006-01-13,18:38:00,3634.00,3634.00,3634.00,3634.00,260,0
+2006-01-13,18:39:00,3633.00,3633.00,3632.00,3633.00,350,0
+2006-01-13,18:40:00,3633.00,3633.00,3632.00,3633.00,382,0
+2006-01-13,18:41:00,3633.00,3633.00,3633.00,3633.00,106,0
+2006-01-13,18:42:00,3633.00,3633.00,3632.00,3633.00,10,0
+2006-01-13,18:43:00,3632.00,3632.00,3631.00,3631.00,730,0
+2006-01-13,18:44:00,3631.00,3631.00,3629.00,3629.00,751,0
+2006-01-13,18:45:00,3629.00,3629.00,3624.00,3625.00,2611,0
+2006-01-13,18:46:00,3625.00,3625.00,3623.00,3624.00,1071,0
+2006-01-13,18:47:00,3624.00,3627.00,3623.00,3627.00,521,0
+2006-01-13,18:48:00,3626.00,3627.00,3626.00,3627.00,347,0
+2006-01-13,18:49:00,3626.00,3628.00,3626.00,3628.00,350,0
+2006-01-13,18:50:00,3627.00,3628.00,3626.00,3626.00,611,0
+2006-01-13,18:51:00,3626.00,3627.00,3626.00,3627.00,991,0
+2006-01-13,18:52:00,3627.00,3629.00,3627.00,3627.00,244,0
+2006-01-13,18:53:00,3627.00,3629.00,3627.00,3629.00,334,0
+2006-01-13,18:54:00,3628.00,3630.00,3628.00,3630.00,329,0
+2006-01-13,18:55:00,3630.00,3630.00,3630.00,3630.00,225,0
+2006-01-13,18:56:00,3629.00,3629.00,3629.00,3629.00,34,0
+2006-01-13,18:57:00,3629.00,3629.00,3628.00,3629.00,320,0
+2006-01-13,18:58:00,3629.00,3629.00,3628.00,3629.00,248,0
+2006-01-13,18:59:00,3629.00,3629.00,3628.00,3628.00,42,0
+2006-01-13,19:00:00,3628.00,3629.00,3628.00,3628.00,461,0
+2006-01-13,19:01:00,3628.00,3629.00,3628.00,3628.00,84,0
+2006-01-13,19:02:00,3629.00,3630.00,3629.00,3630.00,190,0
+2006-01-13,19:03:00,3630.00,3630.00,3629.00,3630.00,20,0
+2006-01-13,19:04:00,3630.00,3631.00,3630.00,3630.00,315,0
+2006-01-13,19:05:00,3630.00,3632.00,3630.00,3631.00,354,0
+2006-01-13,19:06:00,3631.00,3632.00,3630.00,3631.00,218,0
+2006-01-13,19:07:00,3630.00,3630.00,3630.00,3630.00,54,0
+2006-01-13,19:08:00,3631.00,3631.00,3631.00,3631.00,9,0
+2006-01-13,19:09:00,3630.00,3630.00,3630.00,3630.00,36,0
+2006-01-13,19:10:00,3630.00,3630.00,3629.00,3629.00,364,0
+2006-01-13,19:11:00,3628.00,3629.00,3628.00,3628.00,179,0
+2006-01-13,19:12:00,3629.00,3629.00,3628.00,3628.00,219,0
+2006-01-13,19:13:00,3627.00,3628.00,3627.00,3628.00,7,0
+2006-01-13,19:14:00,3628.00,3628.00,3628.00,3628.00,247,0
+2006-01-13,19:15:00,3628.00,3628.00,3627.00,3627.00,128,0
+2006-01-13,19:16:00,3627.00,3627.00,3627.00,3627.00,379,0
+2006-01-13,19:17:00,3626.00,3627.00,3626.00,3626.00,312,0
+2006-01-13,19:18:00,3627.00,3627.00,3627.00,3627.00,31,0
+2006-01-13,19:19:00,3627.00,3627.00,3627.00,3627.00,48,0
+2006-01-13,19:20:00,3628.00,3628.00,3628.00,3628.00,38,0
+2006-01-13,19:21:00,3628.00,3629.00,3628.00,3629.00,37,0
+2006-01-13,19:22:00,3628.00,3628.00,3628.00,3628.00,10,0
+2006-01-13,19:23:00,3628.00,3628.00,3628.00,3628.00,103,0
+2006-01-13,19:24:00,3628.00,3629.00,3628.00,3629.00,33,0
+2006-01-13,19:25:00,3628.00,3629.00,3628.00,3629.00,51,0
+2006-01-13,19:26:00,3628.00,3628.00,3628.00,3628.00,180,0
+2006-01-13,19:27:00,3629.00,3630.00,3629.00,3630.00,45,0
+2006-01-13,19:28:00,3630.00,3630.00,3630.00,3630.00,7,0
+2006-01-13,19:30:00,3630.00,3630.00,3629.00,3629.00,91,0
+2006-01-13,19:31:00,3629.00,3629.00,3629.00,3629.00,77,0
+2006-01-13,19:33:00,3629.00,3630.00,3629.00,3630.00,175,0
+2006-01-13,19:34:00,3629.00,3630.00,3629.00,3630.00,114,0
+2006-01-13,19:35:00,3630.00,3630.00,3629.00,3629.00,15,0
+2006-01-13,19:36:00,3629.00,3629.00,3629.00,3629.00,89,0
+2006-01-13,19:37:00,3629.00,3629.00,3629.00,3629.00,15,0
+2006-01-13,19:38:00,3630.00,3630.00,3627.00,3628.00,129,0
+2006-01-13,19:39:00,3628.00,3628.00,3627.00,3627.00,147,0
+2006-01-13,19:40:00,3628.00,3628.00,3627.00,3627.00,6,0
+2006-01-13,19:41:00,3627.00,3628.00,3627.00,3627.00,32,0
+2006-01-13,19:42:00,3627.00,3628.00,3627.00,3628.00,147,0
+2006-01-13,19:43:00,3627.00,3627.00,3626.00,3626.00,31,0
+2006-01-13,19:44:00,3626.00,3626.00,3626.00,3626.00,1,0
+2006-01-13,19:45:00,3627.00,3627.00,3627.00,3627.00,35,0
+2006-01-13,19:46:00,3627.00,3627.00,3626.00,3626.00,167,0
+2006-01-13,19:47:00,3626.00,3627.00,3626.00,3627.00,25,0
+2006-01-13,19:48:00,3626.00,3627.00,3626.00,3626.00,117,0
+2006-01-13,19:49:00,3626.00,3626.00,3626.00,3626.00,49,0
+2006-01-13,19:50:00,3626.00,3627.00,3626.00,3626.00,92,0
+2006-01-13,19:51:00,3626.00,3627.00,3625.00,3626.00,469,0
+2006-01-13,19:52:00,3626.00,3629.00,3626.00,3629.00,242,0
+2006-01-13,19:53:00,3629.00,3629.00,3628.00,3629.00,14,0
+2006-01-13,19:54:00,3629.00,3630.00,3629.00,3630.00,90,0
+2006-01-13,19:56:00,3630.00,3630.00,3629.00,3629.00,105,0
+2006-01-13,19:57:00,3630.00,3630.00,3629.00,3629.00,5,0
+2006-01-13,19:58:00,3630.00,3630.00,3630.00,3630.00,1,0
+2006-01-13,19:59:00,3630.00,3631.00,3629.00,3631.00,116,0
+2006-01-13,20:00:00,3631.00,3632.00,3631.00,3631.00,184,0
+2006-01-13,20:01:00,3630.00,3631.00,3630.00,3631.00,174,0
+2006-01-13,20:02:00,3630.00,3631.00,3630.00,3631.00,54,0
+2006-01-13,20:03:00,3632.00,3632.00,3630.00,3630.00,281,0
+2006-01-13,20:04:00,3630.00,3630.00,3630.00,3630.00,10,0
+2006-01-13,20:05:00,3631.00,3631.00,3631.00,3631.00,54,0
+2006-01-13,20:06:00,3631.00,3631.00,3631.00,3631.00,5,0
+2006-01-13,20:07:00,3630.00,3631.00,3630.00,3631.00,5,0
+2006-01-13,20:08:00,3631.00,3631.00,3631.00,3631.00,26,0
+2006-01-13,20:10:00,3631.00,3631.00,3630.00,3630.00,210,0
+2006-01-13,20:12:00,3631.00,3631.00,3630.00,3630.00,128,0
+2006-01-13,20:13:00,3630.00,3630.00,3629.00,3630.00,192,0
+2006-01-13,20:14:00,3629.00,3630.00,3629.00,3630.00,45,0
+2006-01-13,20:15:00,3629.00,3629.00,3628.00,3628.00,160,0
+2006-01-13,20:16:00,3628.00,3629.00,3628.00,3629.00,155,0
+2006-01-13,20:17:00,3629.00,3630.00,3629.00,3630.00,63,0
+2006-01-13,20:18:00,3630.00,3630.00,3630.00,3630.00,6,0
+2006-01-13,20:19:00,3630.00,3630.00,3630.00,3630.00,4,0
+2006-01-13,20:20:00,3631.00,3631.00,3631.00,3631.00,11,0
+2006-01-13,20:23:00,3632.00,3632.00,3632.00,3632.00,20,0
+2006-01-13,20:24:00,3632.00,3632.00,3632.00,3632.00,111,0
+2006-01-13,20:25:00,3632.00,3632.00,3632.00,3632.00,57,0
+2006-01-13,20:28:00,3632.00,3633.00,3632.00,3632.00,225,0
+2006-01-13,20:29:00,3632.00,3632.00,3631.00,3631.00,3,0
+2006-01-13,20:31:00,3632.00,3632.00,3632.00,3632.00,10,0
+2006-01-13,20:32:00,3632.00,3632.00,3631.00,3631.00,152,0
+2006-01-13,20:34:00,3631.00,3631.00,3631.00,3631.00,5,0
+2006-01-13,20:36:00,3632.00,3633.00,3632.00,3632.00,35,0
+2006-01-13,20:37:00,3632.00,3632.00,3632.00,3632.00,46,0
+2006-01-13,20:38:00,3632.00,3632.00,3631.00,3632.00,97,0
+2006-01-13,20:39:00,3632.00,3632.00,3632.00,3632.00,56,0
+2006-01-13,20:40:00,3632.00,3632.00,3632.00,3632.00,53,0
+2006-01-13,20:41:00,3632.00,3633.00,3632.00,3633.00,162,0
+2006-01-13,20:42:00,3632.00,3634.00,3632.00,3634.00,439,0
+2006-01-13,20:43:00,3633.00,3634.00,3632.00,3632.00,86,0
+2006-01-13,20:45:00,3633.00,3633.00,3633.00,3633.00,10,0
+2006-01-13,20:46:00,3633.00,3633.00,3633.00,3633.00,7,0
+2006-01-13,20:47:00,3633.00,3633.00,3633.00,3633.00,53,0
+2006-01-13,20:48:00,3633.00,3633.00,3633.00,3633.00,36,0
+2006-01-13,20:49:00,3633.00,3634.00,3633.00,3634.00,42,0
+2006-01-13,20:50:00,3635.00,3636.00,3635.00,3636.00,149,0
+2006-01-13,20:51:00,3636.00,3636.00,3636.00,3636.00,34,0
+2006-01-13,20:52:00,3635.00,3635.00,3635.00,3635.00,136,0
+2006-01-13,20:53:00,3636.00,3639.00,3635.00,3637.00,432,0
+2006-01-13,20:54:00,3638.00,3639.00,3637.00,3638.00,97,0
+2006-01-13,20:55:00,3638.00,3639.00,3638.00,3639.00,55,0
+2006-01-13,20:56:00,3638.00,3639.00,3636.00,3636.00,7,0
+2006-01-13,20:57:00,3637.00,3638.00,3637.00,3638.00,204,0
+2006-01-13,20:58:00,3637.00,3637.00,3637.00,3637.00,2,0
+2006-01-13,20:59:00,3638.00,3638.00,3638.00,3638.00,10,0
+2006-01-13,21:00:00,3638.00,3638.00,3638.00,3638.00,74,0
+2006-01-13,21:01:00,3638.00,3638.00,3637.00,3637.00,59,0
+2006-01-13,21:03:00,3637.00,3637.00,3637.00,3637.00,11,0
+2006-01-13,21:04:00,3636.00,3637.00,3636.00,3637.00,7,0
+2006-01-13,21:05:00,3637.00,3637.00,3637.00,3637.00,1,0
+2006-01-13,21:06:00,3636.00,3636.00,3636.00,3636.00,5,0
+2006-01-13,21:08:00,3636.00,3637.00,3636.00,3637.00,5,0
+2006-01-13,21:11:00,3636.00,3636.00,3636.00,3636.00,19,0
+2006-01-13,21:12:00,3636.00,3636.00,3636.00,3636.00,2,0
+2006-01-13,21:14:00,3635.00,3635.00,3635.00,3635.00,55,0
+2006-01-13,21:15:00,3635.00,3635.00,3635.00,3635.00,1,0
+2006-01-13,21:17:00,3635.00,3635.00,3635.00,3635.00,1,0
+2006-01-13,21:18:00,3635.00,3635.00,3635.00,3635.00,9,0
+2006-01-13,21:21:00,3636.00,3636.00,3636.00,3636.00,1,0
+2006-01-13,21:22:00,3636.00,3636.00,3636.00,3636.00,2,0
+2006-01-13,21:23:00,3636.00,3636.00,3636.00,3636.00,8,0
+2006-01-13,21:25:00,3636.00,3636.00,3635.00,3635.00,2,0
+2006-01-13,21:26:00,3636.00,3636.00,3635.00,3636.00,7,0
+2006-01-13,21:27:00,3636.00,3636.00,3636.00,3636.00,1,0
+2006-01-13,21:28:00,3636.00,3636.00,3636.00,3636.00,1,0
+2006-01-13,21:29:00,3636.00,3637.00,3636.00,3637.00,5,0
+2006-01-13,21:30:00,3636.00,3636.00,3636.00,3636.00,1,0
+2006-01-13,21:31:00,3636.00,3637.00,3636.00,3637.00,6,0
+2006-01-13,21:32:00,3635.00,3635.00,3635.00,3635.00,1,0
+2006-01-13,21:33:00,3635.00,3635.00,3635.00,3635.00,1,0
+2006-01-13,21:34:00,3635.00,3635.00,3635.00,3635.00,6,0
+2006-01-13,21:39:00,3637.00,3637.00,3637.00,3637.00,23,0
+2006-01-13,21:40:00,3637.00,3637.00,3636.00,3637.00,45,0
+2006-01-13,21:44:00,3636.00,3637.00,3636.00,3636.00,10,0
+2006-01-13,21:45:00,3637.00,3637.00,3637.00,3637.00,60,0
+2006-01-13,21:46:00,3636.00,3636.00,3636.00,3636.00,10,0
+2006-01-13,21:47:00,3637.00,3637.00,3637.00,3637.00,27,0
+2006-01-13,21:48:00,3637.00,3638.00,3637.00,3638.00,102,0
+2006-01-13,21:49:00,3637.00,3638.00,3637.00,3638.00,6,0
+2006-01-13,21:50:00,3638.00,3638.00,3637.00,3637.00,26,0
+2006-01-13,21:51:00,3637.00,3638.00,3637.00,3638.00,25,0
+2006-01-13,21:52:00,3638.00,3638.00,3638.00,3638.00,2,0
+2006-01-13,21:53:00,3638.00,3638.00,3637.00,3637.00,27,0
+2006-01-13,21:54:00,3636.00,3637.00,3636.00,3637.00,4,0
+2006-01-13,21:55:00,3638.00,3638.00,3637.00,3637.00,78,0
+2006-01-13,21:56:00,3638.00,3638.00,3638.00,3638.00,120,0
+2006-01-13,21:57:00,3638.00,3638.00,3638.00,3638.00,22,0
+2006-01-13,21:58:00,3638.00,3638.00,3638.00,3638.00,104,0
+2006-01-13,21:59:00,3637.00,3637.00,3637.00,3637.00,17,0
+2006-01-13,22:00:00,3637.00,3639.00,3637.00,3639.00,147,0
+2006-01-16,09:01:00,3635.00,3636.00,3632.00,3634.00,4839,0
+2006-01-16,09:02:00,3635.00,3637.00,3635.00,3636.00,995,0
+2006-01-16,09:03:00,3637.00,3638.00,3636.00,3636.00,431,0
+2006-01-16,09:04:00,3637.00,3641.00,3636.00,3640.00,2177,0
+2006-01-16,09:05:00,3641.00,3642.00,3640.00,3640.00,544,0
+2006-01-16,09:06:00,3639.00,3640.00,3637.00,3638.00,1730,0
+2006-01-16,09:07:00,3637.00,3638.00,3635.00,3636.00,2960,0
+2006-01-16,09:08:00,3636.00,3637.00,3634.00,3635.00,1676,0
+2006-01-16,09:09:00,3635.00,3636.00,3634.00,3635.00,1061,0
+2006-01-16,09:10:00,3635.00,3636.00,3634.00,3634.00,699,0
+2006-01-16,09:11:00,3634.00,3636.00,3634.00,3634.00,1326,0
+2006-01-16,09:12:00,3633.00,3634.00,3632.00,3633.00,1486,0
+2006-01-16,09:13:00,3632.00,3633.00,3632.00,3633.00,850,0
+2006-01-16,09:14:00,3633.00,3633.00,3632.00,3633.00,547,0
+2006-01-16,09:15:00,3633.00,3635.00,3633.00,3633.00,461,0
+2006-01-16,09:16:00,3633.00,3638.00,3633.00,3636.00,4276,0
+2006-01-16,09:17:00,3635.00,3638.00,3635.00,3637.00,1447,0
+2006-01-16,09:18:00,3637.00,3638.00,3635.00,3637.00,684,0
+2006-01-16,09:19:00,3637.00,3637.00,3636.00,3637.00,534,0
+2006-01-16,09:20:00,3637.00,3637.00,3636.00,3637.00,593,0
+2006-01-16,09:21:00,3637.00,3638.00,3636.00,3637.00,858,0
+2006-01-16,09:22:00,3637.00,3637.00,3636.00,3637.00,357,0
+2006-01-16,09:23:00,3637.00,3637.00,3636.00,3636.00,664,0
+2006-01-16,09:24:00,3636.00,3637.00,3636.00,3636.00,163,0
+2006-01-16,09:25:00,3637.00,3637.00,3636.00,3637.00,662,0
+2006-01-16,09:26:00,3637.00,3637.00,3636.00,3636.00,111,0
+2006-01-16,09:27:00,3637.00,3638.00,3637.00,3637.00,995,0
+2006-01-16,09:28:00,3638.00,3638.00,3637.00,3637.00,426,0
+2006-01-16,09:29:00,3637.00,3637.00,3636.00,3636.00,302,0
+2006-01-16,09:30:00,3636.00,3638.00,3636.00,3638.00,343,0
+2006-01-16,09:31:00,3638.00,3638.00,3635.00,3635.00,974,0
+2006-01-16,09:32:00,3635.00,3637.00,3635.00,3637.00,294,0
+2006-01-16,09:33:00,3637.00,3637.00,3635.00,3635.00,620,0
+2006-01-16,09:34:00,3636.00,3636.00,3635.00,3635.00,86,0
+2006-01-16,09:35:00,3635.00,3637.00,3635.00,3637.00,694,0
+2006-01-16,09:36:00,3636.00,3638.00,3636.00,3637.00,819,0
+2006-01-16,09:37:00,3636.00,3637.00,3636.00,3636.00,246,0
+2006-01-16,09:38:00,3637.00,3637.00,3636.00,3637.00,211,0
+2006-01-16,09:39:00,3637.00,3637.00,3637.00,3637.00,186,0
+2006-01-16,09:40:00,3637.00,3639.00,3636.00,3639.00,456,0
+2006-01-16,09:41:00,3639.00,3639.00,3638.00,3638.00,708,0
+2006-01-16,09:42:00,3638.00,3639.00,3637.00,3638.00,159,0
+2006-01-16,09:43:00,3638.00,3638.00,3637.00,3637.00,108,0
+2006-01-16,09:44:00,3638.00,3639.00,3638.00,3638.00,478,0
+2006-01-16,09:45:00,3638.00,3639.00,3638.00,3639.00,669,0
+2006-01-16,09:46:00,3640.00,3642.00,3639.00,3642.00,2438,0
+2006-01-16,09:47:00,3642.00,3642.00,3640.00,3640.00,1203,0
+2006-01-16,09:48:00,3640.00,3641.00,3640.00,3640.00,297,0
+2006-01-16,09:49:00,3641.00,3641.00,3640.00,3641.00,986,0
+2006-01-16,09:50:00,3641.00,3642.00,3641.00,3642.00,721,0
+2006-01-16,09:51:00,3641.00,3642.00,3641.00,3642.00,895,0
+2006-01-16,09:52:00,3641.00,3642.00,3640.00,3640.00,571,0
+2006-01-16,09:53:00,3640.00,3640.00,3639.00,3639.00,1934,0
+2006-01-16,09:54:00,3639.00,3641.00,3639.00,3640.00,878,0
+2006-01-16,09:55:00,3639.00,3640.00,3638.00,3638.00,470,0
+2006-01-16,09:56:00,3638.00,3639.00,3637.00,3638.00,792,0
+2006-01-16,09:57:00,3638.00,3639.00,3638.00,3639.00,401,0
+2006-01-16,09:58:00,3638.00,3638.00,3638.00,3638.00,472,0
+2006-01-16,09:59:00,3639.00,3639.00,3639.00,3639.00,200,0
+2006-01-16,10:00:00,3639.00,3639.00,3638.00,3639.00,278,0
+2006-01-16,10:01:00,3639.00,3640.00,3639.00,3639.00,42,0
+2006-01-16,10:02:00,3639.00,3639.00,3638.00,3639.00,772,0
+2006-01-16,10:03:00,3639.00,3640.00,3639.00,3639.00,284,0
+2006-01-16,10:04:00,3640.00,3640.00,3639.00,3640.00,40,0
+2006-01-16,10:05:00,3640.00,3642.00,3640.00,3642.00,1069,0
+2006-01-16,10:06:00,3642.00,3642.00,3642.00,3642.00,465,0
+2006-01-16,10:07:00,3642.00,3642.00,3641.00,3642.00,440,0
+2006-01-16,10:08:00,3642.00,3642.00,3640.00,3640.00,449,0
+2006-01-16,10:09:00,3641.00,3642.00,3640.00,3642.00,437,0
+2006-01-16,10:10:00,3641.00,3643.00,3641.00,3642.00,1545,0
+2006-01-16,10:11:00,3642.00,3643.00,3642.00,3642.00,376,0
+2006-01-16,10:12:00,3641.00,3643.00,3641.00,3643.00,827,0
+2006-01-16,10:13:00,3643.00,3644.00,3642.00,3642.00,586,0
+2006-01-16,10:14:00,3642.00,3643.00,3642.00,3642.00,5,0
+2006-01-16,10:15:00,3642.00,3643.00,3642.00,3642.00,732,0
+2006-01-16,10:16:00,3641.00,3642.00,3641.00,3642.00,268,0
+2006-01-16,10:17:00,3642.00,3643.00,3642.00,3642.00,25,0
+2006-01-16,10:18:00,3642.00,3642.00,3642.00,3642.00,141,0
+2006-01-16,10:19:00,3642.00,3643.00,3642.00,3643.00,242,0
+2006-01-16,10:20:00,3643.00,3643.00,3642.00,3643.00,409,0
+2006-01-16,10:21:00,3642.00,3642.00,3641.00,3641.00,163,0
+2006-01-16,10:22:00,3642.00,3642.00,3641.00,3641.00,22,0
+2006-01-16,10:23:00,3642.00,3642.00,3641.00,3641.00,227,0
+2006-01-16,10:24:00,3642.00,3642.00,3641.00,3642.00,249,0
+2006-01-16,10:25:00,3641.00,3642.00,3641.00,3641.00,21,0
+2006-01-16,10:26:00,3642.00,3644.00,3642.00,3644.00,899,0
+2006-01-16,10:27:00,3643.00,3645.00,3643.00,3644.00,1032,0
+2006-01-16,10:28:00,3644.00,3645.00,3643.00,3644.00,664,0
+2006-01-16,10:29:00,3643.00,3644.00,3643.00,3644.00,249,0
+2006-01-16,10:30:00,3645.00,3646.00,3644.00,3646.00,2442,0
+2006-01-16,10:31:00,3646.00,3646.00,3644.00,3645.00,928,0
+2006-01-16,10:32:00,3646.00,3646.00,3645.00,3645.00,596,0
+2006-01-16,10:33:00,3646.00,3646.00,3645.00,3645.00,177,0
+2006-01-16,10:34:00,3646.00,3646.00,3645.00,3645.00,1018,0
+2006-01-16,10:35:00,3644.00,3645.00,3644.00,3645.00,691,0
+2006-01-16,10:36:00,3645.00,3645.00,3643.00,3644.00,2238,0
+2006-01-16,10:37:00,3644.00,3644.00,3644.00,3644.00,85,0
+2006-01-16,10:38:00,3644.00,3645.00,3643.00,3644.00,132,0
+2006-01-16,10:39:00,3643.00,3644.00,3643.00,3644.00,13,0
+2006-01-16,10:40:00,3644.00,3644.00,3643.00,3644.00,438,0
+2006-01-16,10:41:00,3644.00,3644.00,3643.00,3644.00,218,0
+2006-01-16,10:42:00,3644.00,3645.00,3644.00,3645.00,53,0
+2006-01-16,10:43:00,3644.00,3644.00,3644.00,3644.00,28,0
+2006-01-16,10:44:00,3644.00,3644.00,3644.00,3644.00,21,0
+2006-01-16,10:45:00,3644.00,3645.00,3644.00,3644.00,627,0
+2006-01-16,10:46:00,3644.00,3644.00,3644.00,3644.00,245,0
+2006-01-16,10:47:00,3644.00,3644.00,3643.00,3643.00,32,0
+2006-01-16,10:48:00,3644.00,3644.00,3643.00,3643.00,4,0
+2006-01-16,10:49:00,3644.00,3644.00,3643.00,3643.00,4,0
+2006-01-16,10:50:00,3644.00,3644.00,3643.00,3643.00,227,0
+2006-01-16,10:51:00,3643.00,3644.00,3642.00,3643.00,549,0
+2006-01-16,10:52:00,3642.00,3643.00,3642.00,3642.00,515,0
+2006-01-16,10:53:00,3642.00,3643.00,3641.00,3641.00,415,0
+2006-01-16,10:54:00,3642.00,3642.00,3641.00,3642.00,482,0
+2006-01-16,10:55:00,3642.00,3642.00,3641.00,3641.00,70,0
+2006-01-16,10:56:00,3641.00,3642.00,3641.00,3642.00,117,0
+2006-01-16,10:57:00,3642.00,3642.00,3642.00,3642.00,28,0
+2006-01-16,10:58:00,3642.00,3643.00,3642.00,3643.00,592,0
+2006-01-16,10:59:00,3642.00,3642.00,3640.00,3641.00,1702,0
+2006-01-16,11:00:00,3641.00,3641.00,3640.00,3641.00,18,0
+2006-01-16,11:01:00,3641.00,3641.00,3640.00,3640.00,1400,0
+2006-01-16,11:02:00,3640.00,3641.00,3640.00,3641.00,345,0
+2006-01-16,11:03:00,3641.00,3641.00,3641.00,3641.00,24,0
+2006-01-16,11:04:00,3642.00,3642.00,3641.00,3642.00,263,0
+2006-01-16,11:05:00,3642.00,3642.00,3641.00,3641.00,379,0
+2006-01-16,11:06:00,3641.00,3642.00,3641.00,3641.00,39,0
+2006-01-16,11:07:00,3641.00,3642.00,3641.00,3641.00,5603,0
+2006-01-16,11:08:00,3642.00,3642.00,3641.00,3641.00,71,0
+2006-01-16,11:09:00,3641.00,3642.00,3641.00,3642.00,21,0
+2006-01-16,11:10:00,3641.00,3642.00,3641.00,3642.00,559,0
+2006-01-16,11:11:00,3642.00,3642.00,3641.00,3642.00,631,0
+2006-01-16,11:12:00,3641.00,3642.00,3641.00,3642.00,785,0
+2006-01-16,11:13:00,3642.00,3642.00,3642.00,3642.00,78,0
+2006-01-16,11:14:00,3641.00,3642.00,3641.00,3641.00,25,0
+2006-01-16,11:15:00,3641.00,3642.00,3641.00,3642.00,31,0
+2006-01-16,11:16:00,3642.00,3642.00,3641.00,3642.00,77,0
+2006-01-16,11:17:00,3642.00,3642.00,3642.00,3642.00,465,0
+2006-01-16,11:18:00,3642.00,3642.00,3641.00,3642.00,513,0
+2006-01-16,11:19:00,3642.00,3642.00,3641.00,3642.00,1229,0
+2006-01-16,11:20:00,3642.00,3643.00,3642.00,3642.00,345,0
+2006-01-16,11:21:00,3643.00,3643.00,3642.00,3642.00,1588,0
+2006-01-16,11:22:00,3643.00,3643.00,3642.00,3642.00,1147,0
+2006-01-16,11:23:00,3642.00,3643.00,3642.00,3643.00,35,0
+2006-01-16,11:24:00,3643.00,3643.00,3642.00,3642.00,107,0
+2006-01-16,11:25:00,3643.00,3643.00,3642.00,3643.00,453,0
+2006-01-16,11:26:00,3643.00,3644.00,3643.00,3643.00,1815,0
+2006-01-16,11:27:00,3643.00,3643.00,3642.00,3643.00,1383,0
+2006-01-16,11:28:00,3643.00,3644.00,3643.00,3644.00,480,0
+2006-01-16,11:29:00,3643.00,3644.00,3643.00,3644.00,39,0
+2006-01-16,11:30:00,3643.00,3644.00,3643.00,3644.00,27,0
+2006-01-16,11:31:00,3644.00,3645.00,3644.00,3645.00,1590,0
+2006-01-16,11:32:00,3644.00,3645.00,3644.00,3645.00,774,0
+2006-01-16,11:33:00,3644.00,3645.00,3644.00,3644.00,23,0
+2006-01-16,11:34:00,3645.00,3645.00,3644.00,3644.00,4,0
+2006-01-16,11:35:00,3644.00,3645.00,3644.00,3644.00,115,0
+2006-01-16,11:36:00,3645.00,3646.00,3644.00,3646.00,1456,0
+2006-01-16,11:37:00,3646.00,3647.00,3645.00,3646.00,2549,0
+2006-01-16,11:38:00,3646.00,3646.00,3645.00,3645.00,1163,0
+2006-01-16,11:39:00,3646.00,3646.00,3645.00,3645.00,129,0
+2006-01-16,11:40:00,3646.00,3646.00,3645.00,3645.00,75,0
+2006-01-16,11:41:00,3645.00,3646.00,3645.00,3645.00,753,0
+2006-01-16,11:42:00,3645.00,3646.00,3645.00,3645.00,56,0
+2006-01-16,11:43:00,3645.00,3646.00,3645.00,3646.00,62,0
+2006-01-16,11:45:00,3646.00,3647.00,3646.00,3646.00,617,0
+2006-01-16,11:46:00,3647.00,3647.00,3645.00,3646.00,1145,0
+2006-01-16,11:47:00,3646.00,3647.00,3645.00,3645.00,133,0
+2006-01-16,11:48:00,3645.00,3646.00,3645.00,3645.00,81,0
+2006-01-16,11:49:00,3646.00,3646.00,3645.00,3646.00,334,0
+2006-01-16,11:50:00,3646.00,3647.00,3645.00,3646.00,135,0
+2006-01-16,11:51:00,3645.00,3646.00,3645.00,3646.00,92,0
+2006-01-16,11:52:00,3645.00,3646.00,3645.00,3645.00,254,0
+2006-01-16,11:53:00,3646.00,3646.00,3645.00,3645.00,35,0
+2006-01-16,11:54:00,3646.00,3646.00,3645.00,3645.00,6,0
+2006-01-16,11:55:00,3646.00,3646.00,3645.00,3645.00,16,0
+2006-01-16,11:56:00,3645.00,3645.00,3644.00,3644.00,3498,0
+2006-01-16,11:57:00,3644.00,3645.00,3644.00,3645.00,184,0
+2006-01-16,11:58:00,3646.00,3646.00,3645.00,3645.00,80,0
+2006-01-16,11:59:00,3646.00,3646.00,3645.00,3646.00,721,0
+2006-01-16,12:00:00,3647.00,3648.00,3646.00,3648.00,1159,0
+2006-01-16,12:01:00,3647.00,3648.00,3646.00,3646.00,741,0
+2006-01-16,12:02:00,3647.00,3648.00,3646.00,3647.00,227,0
+2006-01-16,12:03:00,3647.00,3647.00,3647.00,3647.00,224,0
+2006-01-16,12:04:00,3647.00,3647.00,3646.00,3647.00,80,0
+2006-01-16,12:05:00,3646.00,3647.00,3646.00,3647.00,26,0
+2006-01-16,12:06:00,3646.00,3647.00,3646.00,3647.00,42,0
+2006-01-16,12:07:00,3647.00,3647.00,3647.00,3647.00,255,0
+2006-01-16,12:08:00,3647.00,3648.00,3646.00,3647.00,159,0
+2006-01-16,12:09:00,3647.00,3647.00,3647.00,3647.00,30,0
+2006-01-16,12:10:00,3647.00,3648.00,3646.00,3648.00,1258,0
+2006-01-16,12:11:00,3647.00,3648.00,3647.00,3647.00,46,0
+2006-01-16,12:12:00,3647.00,3647.00,3646.00,3646.00,232,0
+2006-01-16,12:13:00,3647.00,3647.00,3646.00,3646.00,76,0
+2006-01-16,12:14:00,3647.00,3647.00,3646.00,3646.00,32,0
+2006-01-16,12:15:00,3647.00,3647.00,3646.00,3646.00,308,0
+2006-01-16,12:16:00,3647.00,3647.00,3646.00,3646.00,5077,0
+2006-01-16,12:17:00,3646.00,3646.00,3646.00,3646.00,16,0
+2006-01-16,12:18:00,3647.00,3647.00,3646.00,3646.00,113,0
+2006-01-16,12:19:00,3647.00,3648.00,3646.00,3647.00,554,0
+2006-01-16,12:20:00,3648.00,3648.00,3647.00,3647.00,4,0
+2006-01-16,12:21:00,3647.00,3647.00,3647.00,3647.00,1253,0
+2006-01-16,12:22:00,3647.00,3647.00,3647.00,3647.00,162,0
+2006-01-16,12:23:00,3647.00,3648.00,3647.00,3647.00,114,0
+2006-01-16,12:24:00,3648.00,3648.00,3647.00,3647.00,60,0
+2006-01-16,12:25:00,3647.00,3648.00,3647.00,3647.00,253,0
+2006-01-16,12:26:00,3647.00,3648.00,3647.00,3647.00,35,0
+2006-01-16,12:27:00,3647.00,3648.00,3647.00,3647.00,5,0
+2006-01-16,12:28:00,3647.00,3648.00,3647.00,3647.00,65,0
+2006-01-16,12:29:00,3647.00,3648.00,3647.00,3647.00,203,0
+2006-01-16,12:30:00,3647.00,3647.00,3646.00,3647.00,523,0
+2006-01-16,12:31:00,3647.00,3648.00,3646.00,3646.00,1629,0
+2006-01-16,12:32:00,3647.00,3647.00,3646.00,3646.00,18,0
+2006-01-16,12:33:00,3647.00,3648.00,3646.00,3646.00,111,0
+2006-01-16,12:34:00,3647.00,3648.00,3646.00,3647.00,215,0
+2006-01-16,12:35:00,3646.00,3646.00,3646.00,3646.00,1,0
+2006-01-16,12:36:00,3647.00,3647.00,3646.00,3646.00,204,0
+2006-01-16,12:37:00,3646.00,3647.00,3646.00,3647.00,745,0
+2006-01-16,12:38:00,3647.00,3647.00,3646.00,3647.00,99,0
+2006-01-16,12:39:00,3647.00,3647.00,3646.00,3647.00,13,0
+2006-01-16,12:40:00,3646.00,3647.00,3646.00,3646.00,511,0
+2006-01-16,12:41:00,3646.00,3647.00,3646.00,3646.00,36,0
+2006-01-16,12:42:00,3647.00,3647.00,3646.00,3646.00,14,0
+2006-01-16,12:44:00,3647.00,3647.00,3646.00,3646.00,2,0
+2006-01-16,12:45:00,3646.00,3646.00,3646.00,3646.00,15,0
+2006-01-16,12:46:00,3647.00,3647.00,3646.00,3646.00,33,0
+2006-01-16,12:47:00,3647.00,3647.00,3646.00,3646.00,11,0
+2006-01-16,12:48:00,3646.00,3646.00,3646.00,3646.00,517,0
+2006-01-16,12:49:00,3647.00,3647.00,3646.00,3646.00,511,0
+2006-01-16,12:50:00,3646.00,3647.00,3646.00,3647.00,20,0
+2006-01-16,12:51:00,3647.00,3647.00,3646.00,3647.00,1519,0
+2006-01-16,12:52:00,3647.00,3647.00,3646.00,3646.00,100,0
+2006-01-16,12:53:00,3647.00,3647.00,3646.00,3647.00,20,0
+2006-01-16,12:54:00,3647.00,3647.00,3646.00,3646.00,23,0
+2006-01-16,12:55:00,3647.00,3647.00,3646.00,3646.00,19,0
+2006-01-16,12:56:00,3647.00,3647.00,3646.00,3646.00,286,0
+2006-01-16,12:57:00,3646.00,3646.00,3646.00,3646.00,81,0
+2006-01-16,12:59:00,3647.00,3647.00,3646.00,3646.00,2,0
+2006-01-16,13:00:00,3646.00,3647.00,3646.00,3647.00,36,0
+2006-01-16,13:01:00,3646.00,3647.00,3646.00,3647.00,31,0
+2006-01-16,13:02:00,3647.00,3648.00,3647.00,3647.00,515,0
+2006-01-16,13:03:00,3647.00,3647.00,3647.00,3647.00,24,0
+2006-01-16,13:04:00,3647.00,3648.00,3647.00,3648.00,26,0
+2006-01-16,13:05:00,3648.00,3648.00,3648.00,3648.00,41,0
+2006-01-16,13:06:00,3648.00,3648.00,3648.00,3648.00,2,0
+2006-01-16,13:07:00,3647.00,3648.00,3647.00,3647.00,15,0
+2006-01-16,13:09:00,3647.00,3648.00,3647.00,3648.00,5,0
+2006-01-16,13:10:00,3648.00,3648.00,3647.00,3648.00,136,0
+2006-01-16,13:11:00,3648.00,3649.00,3648.00,3648.00,1369,0
+2006-01-16,13:12:00,3649.00,3649.00,3648.00,3648.00,162,0
+2006-01-16,13:13:00,3648.00,3648.00,3647.00,3647.00,229,0
+2006-01-16,13:14:00,3648.00,3648.00,3647.00,3648.00,261,0
+2006-01-16,13:15:00,3648.00,3648.00,3648.00,3648.00,4,0
+2006-01-16,13:17:00,3647.00,3648.00,3647.00,3647.00,834,0
+2006-01-16,13:18:00,3648.00,3648.00,3648.00,3648.00,17,0
+2006-01-16,13:19:00,3647.00,3648.00,3647.00,3647.00,363,0
+2006-01-16,13:20:00,3647.00,3648.00,3646.00,3648.00,99,0
+2006-01-16,13:21:00,3648.00,3648.00,3648.00,3648.00,21,0
+2006-01-16,13:23:00,3647.00,3647.00,3646.00,3646.00,608,0
+2006-01-16,13:24:00,3647.00,3648.00,3646.00,3648.00,907,0
+2006-01-16,13:25:00,3647.00,3648.00,3647.00,3647.00,34,0
+2006-01-16,13:26:00,3647.00,3648.00,3647.00,3647.00,29,0
+2006-01-16,13:27:00,3647.00,3648.00,3647.00,3648.00,18,0
+2006-01-16,13:28:00,3648.00,3648.00,3647.00,3647.00,151,0
+2006-01-16,13:31:00,3647.00,3647.00,3647.00,3647.00,62,0
+2006-01-16,13:32:00,3647.00,3647.00,3647.00,3647.00,28,0
+2006-01-16,13:33:00,3648.00,3648.00,3647.00,3647.00,15,0
+2006-01-16,13:34:00,3647.00,3648.00,3647.00,3648.00,12,0
+2006-01-16,13:35:00,3647.00,3649.00,3647.00,3647.00,1433,0
+2006-01-16,13:36:00,3647.00,3647.00,3647.00,3647.00,3,0
+2006-01-16,13:37:00,3648.00,3648.00,3647.00,3648.00,17,0
+2006-01-16,13:38:00,3648.00,3649.00,3648.00,3648.00,668,0
+2006-01-16,13:39:00,3647.00,3647.00,3647.00,3647.00,3,0
+2006-01-16,13:40:00,3647.00,3648.00,3647.00,3648.00,2,0
+2006-01-16,13:42:00,3648.00,3648.00,3647.00,3647.00,205,0
+2006-01-16,13:43:00,3648.00,3648.00,3648.00,3648.00,1,0
+2006-01-16,13:45:00,3647.00,3647.00,3647.00,3647.00,6,0
+2006-01-16,13:46:00,3648.00,3648.00,3648.00,3648.00,254,0
+2006-01-16,13:47:00,3647.00,3648.00,3647.00,3648.00,15,0
+2006-01-16,13:48:00,3648.00,3648.00,3648.00,3648.00,36,0
+2006-01-16,13:49:00,3648.00,3648.00,3648.00,3648.00,30,0
+2006-01-16,13:50:00,3648.00,3648.00,3647.00,3648.00,29,0
+2006-01-16,13:51:00,3648.00,3648.00,3647.00,3648.00,25,0
+2006-01-16,13:52:00,3647.00,3648.00,3647.00,3647.00,287,0
+2006-01-16,13:53:00,3647.00,3648.00,3647.00,3647.00,116,0
+2006-01-16,13:54:00,3648.00,3648.00,3648.00,3648.00,2,0
+2006-01-16,13:55:00,3647.00,3648.00,3647.00,3648.00,84,0
+2006-01-16,13:56:00,3647.00,3648.00,3647.00,3648.00,127,0
+2006-01-16,13:57:00,3648.00,3648.00,3648.00,3648.00,1,0
+2006-01-16,13:58:00,3648.00,3648.00,3648.00,3648.00,10,0
+2006-01-16,13:59:00,3647.00,3647.00,3647.00,3647.00,145,0
+2006-01-16,14:00:00,3647.00,3648.00,3647.00,3648.00,46,0
+2006-01-16,14:01:00,3647.00,3648.00,3647.00,3647.00,25,0
+2006-01-16,14:02:00,3648.00,3648.00,3647.00,3647.00,182,0
+2006-01-16,14:03:00,3646.00,3647.00,3646.00,3647.00,190,0
+2006-01-16,14:04:00,3647.00,3647.00,3647.00,3647.00,52,0
+2006-01-16,14:05:00,3647.00,3648.00,3647.00,3648.00,22,0
+2006-01-16,14:06:00,3648.00,3648.00,3647.00,3647.00,76,0
+2006-01-16,14:07:00,3647.00,3647.00,3647.00,3647.00,42,0
+2006-01-16,14:09:00,3647.00,3648.00,3647.00,3648.00,8,0
+2006-01-16,14:10:00,3647.00,3648.00,3647.00,3647.00,12,0
+2006-01-16,14:11:00,3647.00,3647.00,3647.00,3647.00,102,0
+2006-01-16,14:12:00,3647.00,3647.00,3647.00,3647.00,1,0
+2006-01-16,14:13:00,3648.00,3648.00,3648.00,3648.00,407,0
+2006-01-16,14:14:00,3648.00,3648.00,3648.00,3648.00,1,0
+2006-01-16,14:15:00,3647.00,3648.00,3647.00,3647.00,448,0
+2006-01-16,14:16:00,3647.00,3647.00,3647.00,3647.00,41,0
+2006-01-16,14:17:00,3647.00,3648.00,3647.00,3647.00,23,0
+2006-01-16,14:18:00,3648.00,3648.00,3647.00,3647.00,23,0
+2006-01-16,14:19:00,3647.00,3647.00,3647.00,3647.00,1,0
+2006-01-16,14:20:00,3648.00,3648.00,3647.00,3647.00,35,0
+2006-01-16,14:21:00,3648.00,3648.00,3647.00,3648.00,24,0
+2006-01-16,14:22:00,3647.00,3648.00,3647.00,3648.00,3,0
+2006-01-16,14:23:00,3648.00,3648.00,3648.00,3648.00,1,0
+2006-01-16,14:24:00,3647.00,3648.00,3647.00,3648.00,11,0
+2006-01-16,14:25:00,3648.00,3648.00,3648.00,3648.00,5,0
+2006-01-16,14:26:00,3648.00,3648.00,3647.00,3647.00,57,0
+2006-01-16,14:27:00,3648.00,3648.00,3647.00,3648.00,24,0
+2006-01-16,14:28:00,3647.00,3648.00,3647.00,3647.00,128,0
+2006-01-16,14:29:00,3648.00,3648.00,3648.00,3648.00,51,0
+2006-01-16,14:30:00,3647.00,3647.00,3647.00,3647.00,1,0
+2006-01-16,14:31:00,3648.00,3648.00,3648.00,3648.00,122,0
+2006-01-16,14:32:00,3647.00,3648.00,3647.00,3648.00,2,0
+2006-01-16,14:33:00,3647.00,3648.00,3647.00,3648.00,122,0
+2006-01-16,14:34:00,3647.00,3649.00,3647.00,3649.00,1619,0
+2006-01-16,14:35:00,3648.00,3649.00,3648.00,3649.00,472,0
+2006-01-16,14:36:00,3649.00,3649.00,3648.00,3648.00,27,0
+2006-01-16,14:37:00,3649.00,3649.00,3649.00,3649.00,1,0
+2006-01-16,14:38:00,3649.00,3649.00,3648.00,3648.00,218,0
+2006-01-16,14:39:00,3648.00,3649.00,3648.00,3648.00,4,0
+2006-01-16,14:40:00,3649.00,3649.00,3649.00,3649.00,10,0
+2006-01-16,14:41:00,3648.00,3649.00,3648.00,3649.00,3,0
+2006-01-16,14:42:00,3648.00,3649.00,3648.00,3649.00,3,0
+2006-01-16,14:43:00,3649.00,3649.00,3648.00,3648.00,336,0
+2006-01-16,14:44:00,3649.00,3649.00,3648.00,3649.00,138,0
+2006-01-16,14:45:00,3649.00,3650.00,3649.00,3649.00,1134,0
+2006-01-16,14:46:00,3649.00,3650.00,3649.00,3649.00,38,0
+2006-01-16,14:47:00,3649.00,3650.00,3649.00,3650.00,704,0
+2006-01-16,14:48:00,3649.00,3650.00,3649.00,3650.00,2,0
+2006-01-16,14:49:00,3649.00,3650.00,3648.00,3649.00,551,0
+2006-01-16,14:50:00,3649.00,3649.00,3649.00,3649.00,105,0
+2006-01-16,14:51:00,3649.00,3650.00,3649.00,3650.00,12,0
+2006-01-16,14:52:00,3650.00,3650.00,3649.00,3650.00,115,0
+2006-01-16,14:53:00,3649.00,3650.00,3649.00,3650.00,17,0
+2006-01-16,14:54:00,3649.00,3650.00,3649.00,3649.00,302,0
+2006-01-16,14:55:00,3649.00,3650.00,3649.00,3650.00,83,0
+2006-01-16,14:57:00,3650.00,3650.00,3650.00,3650.00,70,0
+2006-01-16,14:58:00,3650.00,3650.00,3650.00,3650.00,1,0
+2006-01-16,14:59:00,3650.00,3652.00,3650.00,3652.00,3650,0
+2006-01-16,15:00:00,3651.00,3651.00,3650.00,3651.00,953,0
+2006-01-16,15:01:00,3652.00,3652.00,3651.00,3652.00,296,0
+2006-01-16,15:02:00,3651.00,3652.00,3651.00,3652.00,88,0
+2006-01-16,15:03:00,3651.00,3652.00,3651.00,3651.00,57,0
+2006-01-16,15:04:00,3651.00,3652.00,3650.00,3651.00,1627,0
+2006-01-16,15:05:00,3651.00,3652.00,3651.00,3652.00,605,0
+2006-01-16,15:06:00,3652.00,3653.00,3651.00,3652.00,1292,0
+2006-01-16,15:07:00,3652.00,3652.00,3651.00,3652.00,205,0
+2006-01-16,15:08:00,3652.00,3652.00,3651.00,3652.00,159,0
+2006-01-16,15:09:00,3652.00,3652.00,3651.00,3652.00,270,0
+2006-01-16,15:10:00,3651.00,3652.00,3651.00,3651.00,138,0
+2006-01-16,15:11:00,3651.00,3652.00,3651.00,3651.00,147,0
+2006-01-16,15:12:00,3651.00,3652.00,3651.00,3651.00,107,0
+2006-01-16,15:13:00,3652.00,3652.00,3651.00,3651.00,114,0
+2006-01-16,15:14:00,3651.00,3652.00,3650.00,3650.00,429,0
+2006-01-16,15:15:00,3651.00,3651.00,3650.00,3651.00,20,0
+2006-01-16,15:16:00,3650.00,3650.00,3650.00,3650.00,1,0
+2006-01-16,15:17:00,3651.00,3652.00,3650.00,3651.00,371,0
+2006-01-16,15:18:00,3651.00,3651.00,3650.00,3651.00,227,0
+2006-01-16,15:19:00,3651.00,3651.00,3650.00,3650.00,70,0
+2006-01-16,15:20:00,3651.00,3651.00,3650.00,3650.00,492,0
+2006-01-16,15:21:00,3650.00,3650.00,3650.00,3650.00,1,0
+2006-01-16,15:22:00,3650.00,3650.00,3650.00,3650.00,57,0
+2006-01-16,15:23:00,3650.00,3651.00,3650.00,3650.00,340,0
+2006-01-16,15:24:00,3651.00,3651.00,3650.00,3650.00,195,0
+2006-01-16,15:25:00,3651.00,3651.00,3650.00,3650.00,322,0
+2006-01-16,15:26:00,3650.00,3650.00,3650.00,3650.00,1,0
+2006-01-16,15:27:00,3650.00,3650.00,3650.00,3650.00,437,0
+2006-01-16,15:28:00,3650.00,3651.00,3650.00,3650.00,49,0
+2006-01-16,15:29:00,3650.00,3651.00,3650.00,3650.00,169,0
+2006-01-16,15:30:00,3650.00,3651.00,3650.00,3651.00,21,0
+2006-01-16,15:31:00,3651.00,3651.00,3650.00,3650.00,302,0
+2006-01-16,15:32:00,3650.00,3651.00,3650.00,3650.00,134,0
+2006-01-16,15:33:00,3650.00,3650.00,3650.00,3650.00,63,0
+2006-01-16,15:34:00,3651.00,3651.00,3650.00,3650.00,14,0
+2006-01-16,15:35:00,3651.00,3651.00,3650.00,3650.00,41,0
+2006-01-16,15:36:00,3651.00,3651.00,3650.00,3651.00,512,0
+2006-01-16,15:37:00,3651.00,3652.00,3651.00,3652.00,20,0
+2006-01-16,15:38:00,3652.00,3652.00,3652.00,3652.00,41,0
+2006-01-16,15:39:00,3652.00,3652.00,3651.00,3652.00,264,0
+2006-01-16,15:40:00,3651.00,3652.00,3651.00,3652.00,17,0
+2006-01-16,15:41:00,3651.00,3651.00,3650.00,3650.00,178,0
+2006-01-16,15:42:00,3651.00,3651.00,3650.00,3650.00,103,0
+2006-01-16,15:43:00,3650.00,3651.00,3650.00,3650.00,14,0
+2006-01-16,15:44:00,3650.00,3650.00,3650.00,3650.00,4,0
+2006-01-16,15:45:00,3650.00,3651.00,3650.00,3650.00,291,0
+2006-01-16,15:46:00,3651.00,3651.00,3650.00,3650.00,24,0
+2006-01-16,15:47:00,3650.00,3650.00,3650.00,3650.00,122,0
+2006-01-16,15:48:00,3651.00,3651.00,3650.00,3650.00,70,0
+2006-01-16,15:49:00,3650.00,3651.00,3650.00,3650.00,290,0
+2006-01-16,15:50:00,3651.00,3651.00,3650.00,3651.00,358,0
+2006-01-16,15:52:00,3651.00,3651.00,3651.00,3651.00,16,0
+2006-01-16,15:53:00,3652.00,3652.00,3651.00,3651.00,14,0
+2006-01-16,15:54:00,3651.00,3652.00,3651.00,3651.00,202,0
+2006-01-16,15:55:00,3651.00,3652.00,3651.00,3652.00,4,0
+2006-01-16,15:56:00,3652.00,3652.00,3651.00,3651.00,526,0
+2006-01-16,15:57:00,3651.00,3652.00,3651.00,3651.00,37,0
+2006-01-16,15:58:00,3651.00,3652.00,3651.00,3651.00,31,0
+2006-01-16,15:59:00,3651.00,3651.00,3650.00,3650.00,848,0
+2006-01-16,16:00:00,3651.00,3651.00,3651.00,3651.00,237,0
+2006-01-16,16:01:00,3652.00,3652.00,3651.00,3651.00,136,0
+2006-01-16,16:02:00,3652.00,3652.00,3651.00,3651.00,151,0
+2006-01-16,16:03:00,3652.00,3653.00,3651.00,3652.00,2669,0
+2006-01-16,16:04:00,3652.00,3653.00,3652.00,3653.00,952,0
+2006-01-16,16:05:00,3653.00,3653.00,3652.00,3652.00,214,0
+2006-01-16,16:06:00,3653.00,3653.00,3652.00,3653.00,959,0
+2006-01-16,16:07:00,3652.00,3653.00,3651.00,3651.00,399,0
+2006-01-16,16:08:00,3652.00,3652.00,3651.00,3652.00,356,0
+2006-01-16,16:09:00,3652.00,3652.00,3652.00,3652.00,38,0
+2006-01-16,16:10:00,3651.00,3652.00,3651.00,3651.00,213,0
+2006-01-16,16:11:00,3651.00,3652.00,3651.00,3651.00,64,0
+2006-01-16,16:12:00,3651.00,3653.00,3651.00,3653.00,583,0
+2006-01-16,16:13:00,3652.00,3653.00,3652.00,3653.00,149,0
+2006-01-16,16:14:00,3653.00,3653.00,3652.00,3653.00,274,0
+2006-01-16,16:15:00,3653.00,3653.00,3652.00,3652.00,199,0
+2006-01-16,16:16:00,3653.00,3655.00,3652.00,3654.00,2025,0
+2006-01-16,16:17:00,3654.00,3655.00,3654.00,3654.00,83,0
+2006-01-16,16:18:00,3655.00,3655.00,3653.00,3654.00,979,0
+2006-01-16,16:19:00,3654.00,3655.00,3654.00,3655.00,649,0
+2006-01-16,16:20:00,3655.00,3656.00,3654.00,3655.00,1404,0
+2006-01-16,16:21:00,3655.00,3657.00,3655.00,3656.00,3587,0
+2006-01-16,16:22:00,3657.00,3657.00,3656.00,3657.00,997,0
+2006-01-16,16:23:00,3656.00,3657.00,3656.00,3657.00,547,0
+2006-01-16,16:24:00,3656.00,3657.00,3656.00,3656.00,792,0
+2006-01-16,16:25:00,3656.00,3657.00,3656.00,3657.00,1696,0
+2006-01-16,16:26:00,3658.00,3658.00,3657.00,3657.00,604,0
+2006-01-16,16:27:00,3657.00,3658.00,3657.00,3657.00,836,0
+2006-01-16,16:28:00,3657.00,3657.00,3657.00,3657.00,202,0
+2006-01-16,16:29:00,3657.00,3659.00,3657.00,3658.00,2628,0
+2006-01-16,16:30:00,3658.00,3658.00,3657.00,3658.00,950,0
+2006-01-16,16:31:00,3658.00,3658.00,3657.00,3657.00,164,0
+2006-01-16,16:32:00,3657.00,3658.00,3657.00,3658.00,312,0
+2006-01-16,16:33:00,3658.00,3658.00,3656.00,3656.00,2287,0
+2006-01-16,16:34:00,3657.00,3657.00,3656.00,3657.00,129,0
+2006-01-16,16:35:00,3656.00,3657.00,3655.00,3656.00,2877,0
+2006-01-16,16:36:00,3656.00,3656.00,3655.00,3656.00,403,0
+2006-01-16,16:37:00,3655.00,3657.00,3655.00,3657.00,790,0
+2006-01-16,16:38:00,3657.00,3657.00,3655.00,3656.00,784,0
+2006-01-16,16:39:00,3656.00,3656.00,3656.00,3656.00,12,0
+2006-01-16,16:40:00,3655.00,3656.00,3655.00,3655.00,297,0
+2006-01-16,16:41:00,3656.00,3657.00,3655.00,3657.00,137,0
+2006-01-16,16:42:00,3656.00,3656.00,3656.00,3656.00,188,0
+2006-01-16,16:43:00,3656.00,3656.00,3655.00,3655.00,205,0
+2006-01-16,16:44:00,3655.00,3657.00,3655.00,3656.00,289,0
+2006-01-16,16:45:00,3657.00,3657.00,3657.00,3657.00,12,0
+2006-01-16,16:46:00,3657.00,3657.00,3656.00,3656.00,17,0
+2006-01-16,16:47:00,3656.00,3659.00,3656.00,3658.00,1865,0
+2006-01-16,16:48:00,3658.00,3658.00,3657.00,3657.00,359,0
+2006-01-16,16:49:00,3658.00,3658.00,3657.00,3657.00,537,0
+2006-01-16,16:50:00,3658.00,3658.00,3657.00,3657.00,393,0
+2006-01-16,16:51:00,3658.00,3659.00,3658.00,3659.00,289,0
+2006-01-16,16:52:00,3658.00,3659.00,3658.00,3658.00,39,0
+2006-01-16,16:53:00,3658.00,3660.00,3658.00,3660.00,1969,0
+2006-01-16,16:54:00,3660.00,3660.00,3659.00,3660.00,502,0
+2006-01-16,16:55:00,3659.00,3660.00,3658.00,3659.00,850,0
+2006-01-16,16:56:00,3659.00,3660.00,3658.00,3658.00,374,0
+2006-01-16,16:57:00,3658.00,3660.00,3658.00,3660.00,384,0
+2006-01-16,16:58:00,3659.00,3660.00,3659.00,3660.00,986,0
+2006-01-16,16:59:00,3660.00,3660.00,3659.00,3659.00,403,0
+2006-01-16,17:00:00,3659.00,3660.00,3659.00,3659.00,21,0
+2006-01-16,17:01:00,3659.00,3660.00,3659.00,3659.00,146,0
+2006-01-16,17:02:00,3660.00,3660.00,3658.00,3659.00,461,0
+2006-01-16,17:03:00,3658.00,3659.00,3658.00,3659.00,915,0
+2006-01-16,17:04:00,3658.00,3659.00,3657.00,3657.00,606,0
+2006-01-16,17:05:00,3658.00,3658.00,3657.00,3657.00,74,0
+2006-01-16,17:06:00,3658.00,3658.00,3657.00,3657.00,90,0
+2006-01-16,17:07:00,3657.00,3658.00,3657.00,3657.00,1155,0
+2006-01-16,17:08:00,3657.00,3658.00,3657.00,3657.00,484,0
+2006-01-16,17:09:00,3658.00,3658.00,3657.00,3658.00,7,0
+2006-01-16,17:10:00,3658.00,3659.00,3658.00,3658.00,712,0
+2006-01-16,17:11:00,3658.00,3659.00,3658.00,3659.00,1213,0
+2006-01-16,17:12:00,3658.00,3659.00,3657.00,3659.00,487,0
+2006-01-16,17:13:00,3658.00,3659.00,3658.00,3659.00,105,0
+2006-01-16,17:14:00,3659.00,3659.00,3658.00,3658.00,256,0
+2006-01-16,17:15:00,3659.00,3659.00,3658.00,3659.00,442,0
+2006-01-16,17:16:00,3658.00,3660.00,3658.00,3660.00,817,0
+2006-01-16,17:17:00,3659.00,3659.00,3659.00,3659.00,221,0
+2006-01-16,17:18:00,3660.00,3660.00,3658.00,3658.00,798,0
+2006-01-16,17:19:00,3659.00,3659.00,3658.00,3659.00,78,0
+2006-01-16,17:20:00,3659.00,3659.00,3658.00,3659.00,111,0
+2006-01-16,17:21:00,3659.00,3659.00,3658.00,3658.00,83,0
+2006-01-16,17:22:00,3659.00,3660.00,3658.00,3660.00,1135,0
+2006-01-16,17:23:00,3659.00,3661.00,3659.00,3660.00,1436,0
+2006-01-16,17:24:00,3660.00,3660.00,3659.00,3660.00,766,0
+2006-01-16,17:25:00,3659.00,3660.00,3659.00,3660.00,1334,0
+2006-01-16,17:26:00,3660.00,3660.00,3659.00,3659.00,371,0
+2006-01-16,17:27:00,3660.00,3661.00,3659.00,3660.00,1085,0
+2006-01-16,17:28:00,3660.00,3661.00,3660.00,3660.00,764,0
+2006-01-16,17:29:00,3660.00,3661.00,3659.00,3660.00,852,0
+2006-01-16,17:30:00,3660.00,3661.00,3660.00,3661.00,4268,0
+2006-01-16,17:31:00,3660.00,3661.00,3660.00,3660.00,2262,0
+2006-01-16,17:32:00,3660.00,3661.00,3660.00,3661.00,1660,0
+2006-01-16,17:33:00,3660.00,3661.00,3660.00,3660.00,393,0
+2006-01-16,17:34:00,3661.00,3661.00,3659.00,3660.00,1919,0
+2006-01-16,17:35:00,3660.00,3661.00,3659.00,3660.00,1414,0
+2006-01-16,17:36:00,3660.00,3660.00,3659.00,3659.00,914,0
+2006-01-16,17:37:00,3659.00,3660.00,3659.00,3659.00,645,0
+2006-01-16,17:38:00,3660.00,3660.00,3659.00,3660.00,195,0
+2006-01-16,17:39:00,3659.00,3660.00,3659.00,3659.00,953,0
+2006-01-16,17:40:00,3660.00,3660.00,3659.00,3659.00,626,0
+2006-01-16,17:41:00,3659.00,3660.00,3659.00,3659.00,582,0
+2006-01-16,17:42:00,3659.00,3659.00,3659.00,3659.00,9,0
+2006-01-16,17:43:00,3660.00,3660.00,3658.00,3659.00,724,0
+2006-01-16,17:44:00,3658.00,3659.00,3658.00,3659.00,426,0
+2006-01-16,17:45:00,3659.00,3659.00,3658.00,3659.00,1054,0
+2006-01-16,17:46:00,3659.00,3659.00,3659.00,3659.00,306,0
+2006-01-16,17:47:00,3659.00,3660.00,3659.00,3659.00,60,0
+2006-01-16,17:48:00,3659.00,3660.00,3659.00,3660.00,66,0
+2006-01-16,17:49:00,3659.00,3660.00,3659.00,3659.00,1584,0
+2006-01-16,17:50:00,3660.00,3660.00,3659.00,3660.00,137,0
+2006-01-16,17:51:00,3659.00,3660.00,3659.00,3660.00,69,0
+2006-01-16,17:52:00,3659.00,3659.00,3659.00,3659.00,20,0
+2006-01-16,17:53:00,3659.00,3660.00,3659.00,3659.00,9,0
+2006-01-16,17:54:00,3660.00,3660.00,3658.00,3658.00,528,0
+2006-01-16,17:55:00,3658.00,3659.00,3658.00,3658.00,81,0
+2006-01-16,17:56:00,3658.00,3658.00,3658.00,3658.00,21,0
+2006-01-16,17:57:00,3658.00,3659.00,3658.00,3658.00,333,0
+2006-01-16,17:58:00,3658.00,3658.00,3658.00,3658.00,50,0
+2006-01-16,17:59:00,3658.00,3659.00,3658.00,3658.00,42,0
+2006-01-16,18:00:00,3659.00,3659.00,3658.00,3658.00,195,0
+2006-01-16,18:01:00,3658.00,3659.00,3658.00,3659.00,784,0
+2006-01-16,18:02:00,3659.00,3660.00,3659.00,3660.00,163,0
+2006-01-16,18:03:00,3660.00,3660.00,3659.00,3660.00,238,0
+2006-01-16,18:04:00,3660.00,3660.00,3660.00,3660.00,474,0
+2006-01-16,18:05:00,3660.00,3661.00,3660.00,3661.00,1316,0
+2006-01-16,18:06:00,3661.00,3661.00,3661.00,3661.00,152,0
+2006-01-16,18:07:00,3661.00,3661.00,3661.00,3661.00,635,0
+2006-01-16,18:08:00,3661.00,3662.00,3661.00,3661.00,388,0
+2006-01-16,18:09:00,3662.00,3662.00,3660.00,3662.00,184,0
+2006-01-16,18:10:00,3661.00,3661.00,3661.00,3661.00,263,0
+2006-01-16,18:11:00,3661.00,3661.00,3661.00,3661.00,6,0
+2006-01-16,18:13:00,3662.00,3662.00,3661.00,3662.00,197,0
+2006-01-16,18:14:00,3661.00,3662.00,3661.00,3661.00,111,0
+2006-01-16,18:15:00,3662.00,3662.00,3661.00,3662.00,733,0
+2006-01-16,18:16:00,3661.00,3662.00,3661.00,3662.00,38,0
+2006-01-16,18:17:00,3662.00,3662.00,3661.00,3661.00,107,0
+2006-01-16,18:18:00,3661.00,3662.00,3661.00,3661.00,6,0
+2006-01-16,18:19:00,3662.00,3662.00,3661.00,3661.00,2,0
+2006-01-16,18:20:00,3661.00,3662.00,3661.00,3661.00,166,0
+2006-01-16,18:21:00,3661.00,3662.00,3661.00,3661.00,14,0
+2006-01-16,18:22:00,3661.00,3661.00,3661.00,3661.00,40,0
+2006-01-16,18:23:00,3661.00,3662.00,3661.00,3662.00,14,0
+2006-01-16,18:24:00,3662.00,3662.00,3661.00,3661.00,81,0
+2006-01-16,18:25:00,3662.00,3662.00,3661.00,3661.00,4,0
+2006-01-16,18:26:00,3662.00,3662.00,3661.00,3662.00,3,0
+2006-01-16,18:28:00,3662.00,3662.00,3661.00,3662.00,61,0
+2006-01-16,18:29:00,3663.00,3663.00,3662.00,3662.00,265,0
+2006-01-16,18:30:00,3662.00,3663.00,3662.00,3663.00,4,0
+2006-01-16,18:31:00,3663.00,3663.00,3662.00,3662.00,55,0
+2006-01-16,18:32:00,3662.00,3662.00,3662.00,3662.00,15,0
+2006-01-16,18:33:00,3663.00,3663.00,3663.00,3663.00,1,0
+2006-01-16,18:34:00,3663.00,3663.00,3663.00,3663.00,3,0
+2006-01-16,18:36:00,3662.00,3663.00,3662.00,3662.00,12,0
+2006-01-16,18:37:00,3662.00,3662.00,3662.00,3662.00,3,0
+2006-01-16,18:38:00,3663.00,3663.00,3662.00,3662.00,9,0
+2006-01-16,18:39:00,3662.00,3662.00,3662.00,3662.00,24,0
+2006-01-16,18:40:00,3662.00,3663.00,3662.00,3663.00,43,0
+2006-01-16,18:44:00,3663.00,3664.00,3662.00,3664.00,1189,0
+2006-01-16,18:45:00,3663.00,3663.00,3662.00,3662.00,112,0
+2006-01-16,18:47:00,3662.00,3663.00,3662.00,3663.00,31,0
+2006-01-16,18:48:00,3663.00,3663.00,3662.00,3662.00,101,0
+2006-01-16,18:50:00,3662.00,3662.00,3662.00,3662.00,3,0
+2006-01-16,18:51:00,3662.00,3662.00,3662.00,3662.00,18,0
+2006-01-16,18:52:00,3663.00,3663.00,3663.00,3663.00,1,0
+2006-01-16,18:53:00,3663.00,3663.00,3663.00,3663.00,53,0
+2006-01-16,18:54:00,3663.00,3663.00,3663.00,3663.00,1,0
+2006-01-16,18:55:00,3662.00,3663.00,3662.00,3663.00,4,0
+2006-01-16,18:56:00,3662.00,3662.00,3662.00,3662.00,30,0
+2006-01-16,18:57:00,3662.00,3663.00,3662.00,3662.00,9,0
+2006-01-16,18:58:00,3662.00,3663.00,3662.00,3662.00,409,0
+2006-01-16,18:59:00,3662.00,3663.00,3662.00,3662.00,10,0
+2006-01-16,19:00:00,3662.00,3663.00,3662.00,3663.00,143,0
+2006-01-16,19:06:00,3662.00,3662.00,3662.00,3662.00,71,0
+2006-01-16,19:07:00,3662.00,3662.00,3662.00,3662.00,428,0
+2006-01-16,19:08:00,3661.00,3661.00,3661.00,3661.00,1,0
+2006-01-16,19:09:00,3662.00,3662.00,3661.00,3662.00,103,0
+2006-01-16,19:12:00,3663.00,3663.00,3662.00,3662.00,402,0
+2006-01-16,19:13:00,3663.00,3663.00,3663.00,3663.00,174,0
+2006-01-16,19:14:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-16,19:15:00,3662.00,3662.00,3662.00,3662.00,2,0
+2006-01-16,19:19:00,3662.00,3662.00,3662.00,3662.00,7,0
+2006-01-16,19:20:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-16,19:21:00,3663.00,3663.00,3662.00,3662.00,51,0
+2006-01-16,19:23:00,3663.00,3663.00,3662.00,3662.00,103,0
+2006-01-16,19:24:00,3662.00,3662.00,3662.00,3662.00,3,0
+2006-01-16,19:25:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-16,19:26:00,3662.00,3662.00,3662.00,3662.00,182,0
+2006-01-16,19:27:00,3661.00,3662.00,3661.00,3662.00,2,0
+2006-01-16,19:28:00,3662.00,3662.00,3661.00,3661.00,9,0
+2006-01-16,19:29:00,3661.00,3661.00,3661.00,3661.00,50,0
+2006-01-16,19:31:00,3662.00,3662.00,3661.00,3661.00,87,0
+2006-01-16,19:32:00,3662.00,3662.00,3662.00,3662.00,5,0
+2006-01-16,19:33:00,3661.00,3661.00,3661.00,3661.00,1,0
+2006-01-16,19:34:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-16,19:35:00,3661.00,3661.00,3661.00,3661.00,1,0
+2006-01-16,19:37:00,3662.00,3662.00,3661.00,3661.00,401,0
+2006-01-16,19:38:00,3662.00,3662.00,3661.00,3661.00,37,0
+2006-01-16,19:39:00,3662.00,3662.00,3662.00,3662.00,41,0
+2006-01-16,19:40:00,3661.00,3661.00,3661.00,3661.00,1,0
+2006-01-16,19:42:00,3662.00,3662.00,3662.00,3662.00,101,0
+2006-01-16,19:43:00,3662.00,3662.00,3662.00,3662.00,73,0
+2006-01-16,19:44:00,3661.00,3662.00,3661.00,3661.00,3,0
+2006-01-16,19:45:00,3661.00,3661.00,3661.00,3661.00,22,0
+2006-01-16,19:47:00,3662.00,3662.00,3661.00,3661.00,9,0
+2006-01-16,19:48:00,3661.00,3661.00,3661.00,3661.00,2,0
+2006-01-16,19:49:00,3661.00,3661.00,3661.00,3661.00,20,0
+2006-01-16,19:50:00,3662.00,3662.00,3661.00,3661.00,6,0
+2006-01-16,19:51:00,3661.00,3661.00,3661.00,3661.00,3,0
+2006-01-16,19:52:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-16,19:53:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-16,19:55:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-16,19:56:00,3661.00,3661.00,3661.00,3661.00,3,0
+2006-01-16,19:57:00,3661.00,3661.00,3661.00,3661.00,28,0
+2006-01-16,19:58:00,3661.00,3662.00,3660.00,3660.00,348,0
+2006-01-16,19:59:00,3660.00,3660.00,3660.00,3660.00,1,0
+2006-01-16,20:00:00,3661.00,3661.00,3660.00,3661.00,30,0
+2006-01-16,20:01:00,3661.00,3662.00,3661.00,3661.00,84,0
+2006-01-16,20:04:00,3662.00,3662.00,3662.00,3662.00,380,0
+2006-01-16,20:06:00,3661.00,3661.00,3661.00,3661.00,2,0
+2006-01-16,20:13:00,3661.00,3661.00,3661.00,3661.00,11,0
+2006-01-16,20:16:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-16,20:19:00,3661.00,3661.00,3661.00,3661.00,1,0
+2006-01-16,20:20:00,3661.00,3661.00,3661.00,3661.00,7,0
+2006-01-16,20:25:00,3662.00,3662.00,3662.00,3662.00,131,0
+2006-01-16,20:26:00,3661.00,3661.00,3660.00,3660.00,200,0
+2006-01-16,20:40:00,3661.00,3661.00,3661.00,3661.00,21,0
+2006-01-16,20:42:00,3660.00,3660.00,3660.00,3660.00,28,0
+2006-01-16,20:55:00,3661.00,3661.00,3661.00,3661.00,2,0
+2006-01-16,21:05:00,3661.00,3661.00,3661.00,3661.00,1,0
+2006-01-16,21:06:00,3661.00,3661.00,3661.00,3661.00,1,0
+2006-01-16,21:09:00,3660.00,3660.00,3660.00,3660.00,2,0
+2006-01-16,21:10:00,3660.00,3660.00,3660.00,3660.00,2,0
+2006-01-16,21:12:00,3660.00,3660.00,3660.00,3660.00,6,0
+2006-01-16,21:15:00,3660.00,3660.00,3660.00,3660.00,9,0
+2006-01-16,21:16:00,3661.00,3661.00,3661.00,3661.00,30,0
+2006-01-16,21:30:00,3661.00,3661.00,3661.00,3661.00,1,0
+2006-01-16,21:31:00,3661.00,3661.00,3661.00,3661.00,5,0
+2006-01-16,21:32:00,3661.00,3662.00,3661.00,3662.00,2,0
+2006-01-16,21:40:00,3661.00,3661.00,3661.00,3661.00,24,0
+2006-01-16,21:43:00,3662.00,3662.00,3662.00,3662.00,26,0
+2006-01-16,21:47:00,3661.00,3661.00,3661.00,3661.00,1,0
+2006-01-16,21:53:00,3662.00,3662.00,3662.00,3662.00,2,0
+2006-01-16,21:54:00,3661.00,3661.00,3659.00,3659.00,474,0
+2006-01-16,21:58:00,3660.00,3660.00,3660.00,3660.00,3,0
+2006-01-16,21:59:00,3660.00,3660.00,3659.00,3659.00,176,0
+2006-01-16,22:00:00,3659.00,3660.00,3659.00,3660.00,50,0
+2006-01-17,09:01:00,3632.00,3634.00,3626.00,3627.00,13101,0
+2006-01-17,09:02:00,3628.00,3630.00,3627.00,3628.00,3959,0
+2006-01-17,09:03:00,3628.00,3630.00,3627.00,3629.00,2194,0
+2006-01-17,09:04:00,3630.00,3631.00,3629.00,3630.00,2500,0
+2006-01-17,09:05:00,3630.00,3631.00,3629.00,3630.00,2721,0
+2006-01-17,09:06:00,3629.00,3630.00,3624.00,3624.00,6866,0
+2006-01-17,09:07:00,3624.00,3625.00,3621.00,3621.00,7939,0
+2006-01-17,09:08:00,3622.00,3624.00,3621.00,3623.00,3492,0
+2006-01-17,09:09:00,3623.00,3625.00,3622.00,3625.00,2440,0
+2006-01-17,09:10:00,3624.00,3626.00,3624.00,3626.00,1279,0
+2006-01-17,09:11:00,3626.00,3627.00,3624.00,3626.00,2481,0
+2006-01-17,09:12:00,3626.00,3627.00,3625.00,3625.00,1477,0
+2006-01-17,09:13:00,3626.00,3626.00,3624.00,3626.00,3739,0
+2006-01-17,09:14:00,3626.00,3629.00,3626.00,3628.00,1683,0
+2006-01-17,09:15:00,3628.00,3629.00,3627.00,3629.00,1456,0
+2006-01-17,09:16:00,3629.00,3630.00,3627.00,3629.00,1677,0
+2006-01-17,09:17:00,3630.00,3632.00,3630.00,3630.00,3194,0
+2006-01-17,09:18:00,3630.00,3631.00,3630.00,3631.00,1633,0
+2006-01-17,09:19:00,3631.00,3631.00,3629.00,3629.00,2368,0
+2006-01-17,09:20:00,3629.00,3629.00,3627.00,3627.00,1606,0
+2006-01-17,09:21:00,3627.00,3628.00,3626.00,3626.00,1629,0
+2006-01-17,09:22:00,3626.00,3629.00,3625.00,3629.00,1108,0
+2006-01-17,09:23:00,3628.00,3630.00,3628.00,3629.00,1669,0
+2006-01-17,09:24:00,3629.00,3630.00,3628.00,3629.00,635,0
+2006-01-17,09:25:00,3630.00,3631.00,3630.00,3630.00,1144,0
+2006-01-17,09:26:00,3629.00,3630.00,3629.00,3629.00,548,0
+2006-01-17,09:27:00,3629.00,3630.00,3628.00,3630.00,521,0
+2006-01-17,09:28:00,3629.00,3630.00,3628.00,3629.00,484,0
+2006-01-17,09:29:00,3629.00,3630.00,3629.00,3629.00,459,0
+2006-01-17,09:30:00,3629.00,3630.00,3628.00,3629.00,2206,0
+2006-01-17,09:31:00,3629.00,3629.00,3627.00,3628.00,1542,0
+2006-01-17,09:32:00,3628.00,3628.00,3626.00,3627.00,588,0
+2006-01-17,09:33:00,3627.00,3627.00,3626.00,3627.00,476,0
+2006-01-17,09:34:00,3627.00,3627.00,3626.00,3626.00,1038,0
+2006-01-17,09:35:00,3626.00,3628.00,3626.00,3627.00,586,0
+2006-01-17,09:36:00,3627.00,3628.00,3626.00,3627.00,649,0
+2006-01-17,09:37:00,3627.00,3628.00,3626.00,3628.00,1260,0
+2006-01-17,09:38:00,3628.00,3629.00,3627.00,3629.00,1709,0
+2006-01-17,09:39:00,3629.00,3632.00,3629.00,3632.00,1508,0
+2006-01-17,09:40:00,3632.00,3632.00,3629.00,3629.00,1908,0
+2006-01-17,09:41:00,3630.00,3630.00,3629.00,3630.00,205,0
+2006-01-17,09:42:00,3630.00,3631.00,3629.00,3630.00,1307,0
+2006-01-17,09:43:00,3629.00,3631.00,3629.00,3630.00,522,0
+2006-01-17,09:44:00,3630.00,3631.00,3629.00,3630.00,643,0
+2006-01-17,09:45:00,3630.00,3630.00,3627.00,3628.00,1433,0
+2006-01-17,09:46:00,3628.00,3630.00,3628.00,3628.00,1351,0
+2006-01-17,09:47:00,3628.00,3628.00,3626.00,3627.00,521,0
+2006-01-17,09:48:00,3627.00,3628.00,3626.00,3628.00,1102,0
+2006-01-17,09:49:00,3628.00,3629.00,3628.00,3628.00,1163,0
+2006-01-17,09:50:00,3628.00,3629.00,3628.00,3628.00,1264,0
+2006-01-17,09:51:00,3628.00,3629.00,3628.00,3628.00,40,0
+2006-01-17,09:52:00,3629.00,3629.00,3627.00,3627.00,761,0
+2006-01-17,09:53:00,3627.00,3627.00,3626.00,3626.00,859,0
+2006-01-17,09:54:00,3626.00,3627.00,3625.00,3626.00,649,0
+2006-01-17,09:55:00,3626.00,3627.00,3625.00,3626.00,1228,0
+2006-01-17,09:56:00,3626.00,3626.00,3623.00,3624.00,2865,0
+2006-01-17,09:57:00,3623.00,3624.00,3621.00,3622.00,3173,0
+2006-01-17,09:58:00,3621.00,3624.00,3621.00,3624.00,2326,0
+2006-01-17,09:59:00,3624.00,3624.00,3623.00,3624.00,976,0
+2006-01-17,10:00:00,3624.00,3624.00,3622.00,3623.00,1206,0
+2006-01-17,10:01:00,3623.00,3623.00,3620.00,3622.00,3884,0
+2006-01-17,10:02:00,3622.00,3623.00,3620.00,3621.00,2057,0
+2006-01-17,10:03:00,3621.00,3621.00,3617.00,3617.00,6361,0
+2006-01-17,10:04:00,3618.00,3620.00,3617.00,3618.00,3132,0
+2006-01-17,10:05:00,3618.00,3619.00,3618.00,3618.00,1709,0
+2006-01-17,10:06:00,3618.00,3621.00,3617.00,3620.00,2452,0
+2006-01-17,10:07:00,3621.00,3621.00,3619.00,3619.00,1345,0
+2006-01-17,10:08:00,3619.00,3621.00,3619.00,3620.00,1161,0
+2006-01-17,10:09:00,3620.00,3621.00,3619.00,3619.00,1325,0
+2006-01-17,10:10:00,3619.00,3619.00,3618.00,3618.00,631,0
+2006-01-17,10:11:00,3619.00,3620.00,3618.00,3618.00,1690,0
+2006-01-17,10:12:00,3618.00,3620.00,3618.00,3620.00,649,0
+2006-01-17,10:13:00,3620.00,3620.00,3619.00,3619.00,588,0
+2006-01-17,10:14:00,3619.00,3621.00,3619.00,3621.00,652,0
+2006-01-17,10:15:00,3620.00,3622.00,3620.00,3621.00,4256,0
+2006-01-17,10:16:00,3621.00,3623.00,3621.00,3622.00,2570,0
+2006-01-17,10:17:00,3622.00,3622.00,3621.00,3622.00,168,0
+2006-01-17,10:18:00,3621.00,3621.00,3619.00,3620.00,1766,0
+2006-01-17,10:19:00,3619.00,3620.00,3619.00,3620.00,331,0
+2006-01-17,10:20:00,3620.00,3620.00,3618.00,3620.00,1256,0
+2006-01-17,10:21:00,3619.00,3621.00,3619.00,3620.00,1398,0
+2006-01-17,10:22:00,3621.00,3622.00,3621.00,3622.00,1359,0
+2006-01-17,10:23:00,3621.00,3623.00,3621.00,3622.00,532,0
+2006-01-17,10:24:00,3622.00,3623.00,3622.00,3622.00,44,0
+2006-01-17,10:25:00,3622.00,3624.00,3622.00,3623.00,1386,0
+2006-01-17,10:26:00,3623.00,3623.00,3622.00,3622.00,1061,0
+2006-01-17,10:27:00,3622.00,3624.00,3622.00,3623.00,522,0
+2006-01-17,10:28:00,3624.00,3626.00,3624.00,3625.00,3163,0
+2006-01-17,10:29:00,3625.00,3625.00,3624.00,3625.00,412,0
+2006-01-17,10:30:00,3625.00,3626.00,3625.00,3626.00,758,0
+2006-01-17,10:31:00,3626.00,3626.00,3624.00,3624.00,364,0
+2006-01-17,10:32:00,3624.00,3625.00,3624.00,3624.00,472,0
+2006-01-17,10:33:00,3624.00,3625.00,3624.00,3624.00,781,0
+2006-01-17,10:34:00,3624.00,3624.00,3623.00,3624.00,414,0
+2006-01-17,10:35:00,3624.00,3625.00,3623.00,3624.00,913,0
+2006-01-17,10:36:00,3624.00,3625.00,3624.00,3625.00,319,0
+2006-01-17,10:37:00,3625.00,3625.00,3625.00,3625.00,371,0
+2006-01-17,10:38:00,3625.00,3625.00,3624.00,3624.00,381,0
+2006-01-17,10:39:00,3625.00,3625.00,3625.00,3625.00,42,0
+2006-01-17,10:40:00,3625.00,3626.00,3625.00,3626.00,949,0
+2006-01-17,10:41:00,3626.00,3627.00,3625.00,3626.00,2134,0
+2006-01-17,10:42:00,3626.00,3628.00,3626.00,3627.00,1497,0
+2006-01-17,10:43:00,3627.00,3627.00,3626.00,3627.00,573,0
+2006-01-17,10:44:00,3626.00,3627.00,3625.00,3626.00,1747,0
+2006-01-17,10:45:00,3627.00,3627.00,3626.00,3627.00,259,0
+2006-01-17,10:46:00,3626.00,3627.00,3626.00,3626.00,8,0
+2006-01-17,10:47:00,3627.00,3628.00,3627.00,3627.00,1708,0
+2006-01-17,10:48:00,3627.00,3628.00,3626.00,3626.00,493,0
+2006-01-17,10:49:00,3627.00,3627.00,3626.00,3626.00,749,0
+2006-01-17,10:50:00,3627.00,3627.00,3625.00,3626.00,1113,0
+2006-01-17,10:51:00,3626.00,3626.00,3625.00,3626.00,142,0
+2006-01-17,10:52:00,3625.00,3625.00,3624.00,3624.00,3152,0
+2006-01-17,10:53:00,3624.00,3625.00,3624.00,3624.00,227,0
+2006-01-17,10:54:00,3625.00,3625.00,3625.00,3625.00,184,0
+2006-01-17,10:55:00,3625.00,3625.00,3624.00,3625.00,410,0
+2006-01-17,10:56:00,3625.00,3625.00,3625.00,3625.00,596,0
+2006-01-17,10:57:00,3625.00,3625.00,3624.00,3625.00,215,0
+2006-01-17,10:58:00,3625.00,3626.00,3624.00,3625.00,962,0
+2006-01-17,10:59:00,3625.00,3627.00,3625.00,3626.00,819,0
+2006-01-17,11:00:00,3626.00,3627.00,3626.00,3627.00,186,0
+2006-01-17,11:01:00,3627.00,3627.00,3626.00,3626.00,687,0
+2006-01-17,11:02:00,3626.00,3627.00,3626.00,3627.00,136,0
+2006-01-17,11:03:00,3626.00,3627.00,3626.00,3627.00,1317,0
+2006-01-17,11:04:00,3627.00,3627.00,3626.00,3626.00,193,0
+2006-01-17,11:05:00,3626.00,3627.00,3626.00,3627.00,2349,0
+2006-01-17,11:06:00,3626.00,3627.00,3626.00,3626.00,304,0
+2006-01-17,11:07:00,3626.00,3626.00,3625.00,3625.00,3,0
+2006-01-17,11:08:00,3625.00,3626.00,3625.00,3626.00,102,0
+2006-01-17,11:09:00,3625.00,3626.00,3625.00,3625.00,423,0
+2006-01-17,11:10:00,3625.00,3627.00,3625.00,3626.00,994,0
+2006-01-17,11:11:00,3626.00,3627.00,3626.00,3626.00,6,0
+2006-01-17,11:12:00,3626.00,3627.00,3626.00,3626.00,149,0
+2006-01-17,11:13:00,3627.00,3627.00,3625.00,3625.00,230,0
+2006-01-17,11:14:00,3625.00,3626.00,3625.00,3625.00,56,0
+2006-01-17,11:15:00,3625.00,3626.00,3625.00,3625.00,10,0
+2006-01-17,11:16:00,3626.00,3627.00,3626.00,3627.00,230,0
+2006-01-17,11:17:00,3627.00,3627.00,3627.00,3627.00,349,0
+2006-01-17,11:18:00,3627.00,3627.00,3626.00,3626.00,447,0
+2006-01-17,11:19:00,3626.00,3627.00,3625.00,3627.00,180,0
+2006-01-17,11:20:00,3626.00,3627.00,3626.00,3627.00,405,0
+2006-01-17,11:21:00,3627.00,3627.00,3626.00,3626.00,99,0
+2006-01-17,11:22:00,3626.00,3626.00,3625.00,3626.00,272,0
+2006-01-17,11:23:00,3626.00,3626.00,3625.00,3626.00,145,0
+2006-01-17,11:24:00,3625.00,3627.00,3625.00,3626.00,241,0
+2006-01-17,11:25:00,3626.00,3627.00,3626.00,3627.00,13,0
+2006-01-17,11:26:00,3627.00,3627.00,3626.00,3626.00,304,0
+2006-01-17,11:27:00,3627.00,3627.00,3626.00,3627.00,187,0
+2006-01-17,11:28:00,3626.00,3627.00,3625.00,3626.00,462,0
+2006-01-17,11:29:00,3626.00,3626.00,3623.00,3624.00,1296,0
+2006-01-17,11:30:00,3623.00,3623.00,3622.00,3623.00,873,0
+2006-01-17,11:31:00,3622.00,3623.00,3622.00,3623.00,180,0
+2006-01-17,11:32:00,3623.00,3624.00,3623.00,3624.00,88,0
+2006-01-17,11:33:00,3624.00,3624.00,3623.00,3624.00,288,0
+2006-01-17,11:34:00,3623.00,3623.00,3623.00,3623.00,772,0
+2006-01-17,11:35:00,3623.00,3623.00,3623.00,3623.00,2,0
+2006-01-17,11:36:00,3624.00,3624.00,3623.00,3624.00,233,0
+2006-01-17,11:37:00,3624.00,3624.00,3623.00,3623.00,829,0
+2006-01-17,11:38:00,3623.00,3623.00,3622.00,3622.00,150,0
+2006-01-17,11:39:00,3623.00,3623.00,3622.00,3622.00,178,0
+2006-01-17,11:40:00,3623.00,3623.00,3623.00,3623.00,1,0
+2006-01-17,11:41:00,3623.00,3623.00,3623.00,3623.00,161,0
+2006-01-17,11:42:00,3623.00,3624.00,3623.00,3623.00,287,0
+2006-01-17,11:43:00,3624.00,3624.00,3623.00,3623.00,45,0
+2006-01-17,11:44:00,3623.00,3623.00,3622.00,3623.00,405,0
+2006-01-17,11:45:00,3623.00,3623.00,3622.00,3622.00,14,0
+2006-01-17,11:46:00,3623.00,3623.00,3622.00,3623.00,409,0
+2006-01-17,11:47:00,3622.00,3623.00,3622.00,3623.00,115,0
+2006-01-17,11:48:00,3623.00,3624.00,3622.00,3624.00,493,0
+2006-01-17,11:49:00,3623.00,3624.00,3623.00,3623.00,1582,0
+2006-01-17,11:50:00,3623.00,3624.00,3623.00,3624.00,49,0
+2006-01-17,11:51:00,3623.00,3624.00,3623.00,3624.00,28,0
+2006-01-17,11:52:00,3623.00,3623.00,3622.00,3622.00,825,0
+2006-01-17,11:53:00,3622.00,3623.00,3622.00,3623.00,141,0
+2006-01-17,11:54:00,3623.00,3623.00,3622.00,3623.00,835,0
+2006-01-17,11:55:00,3622.00,3623.00,3622.00,3622.00,403,0
+2006-01-17,11:56:00,3622.00,3623.00,3622.00,3623.00,229,0
+2006-01-17,11:57:00,3623.00,3624.00,3622.00,3623.00,681,0
+2006-01-17,11:58:00,3624.00,3625.00,3624.00,3624.00,654,0
+2006-01-17,11:59:00,3625.00,3625.00,3624.00,3624.00,293,0
+2006-01-17,12:00:00,3624.00,3625.00,3624.00,3624.00,275,0
+2006-01-17,12:01:00,3624.00,3624.00,3622.00,3623.00,931,0
+2006-01-17,12:02:00,3623.00,3624.00,3622.00,3623.00,139,0
+2006-01-17,12:03:00,3623.00,3623.00,3622.00,3623.00,273,0
+2006-01-17,12:04:00,3622.00,3623.00,3621.00,3622.00,784,0
+2006-01-17,12:05:00,3622.00,3623.00,3622.00,3623.00,66,0
+2006-01-17,12:06:00,3622.00,3623.00,3621.00,3623.00,227,0
+2006-01-17,12:07:00,3622.00,3622.00,3622.00,3622.00,21,0
+2006-01-17,12:08:00,3623.00,3624.00,3622.00,3623.00,766,0
+2006-01-17,12:09:00,3622.00,3623.00,3621.00,3623.00,454,0
+2006-01-17,12:10:00,3623.00,3624.00,3622.00,3624.00,803,0
+2006-01-17,12:11:00,3623.00,3623.00,3621.00,3622.00,899,0
+2006-01-17,12:12:00,3622.00,3623.00,3622.00,3623.00,100,0
+2006-01-17,12:13:00,3622.00,3623.00,3622.00,3623.00,749,0
+2006-01-17,12:14:00,3622.00,3623.00,3622.00,3622.00,116,0
+2006-01-17,12:15:00,3623.00,3623.00,3623.00,3623.00,5,0
+2006-01-17,12:16:00,3623.00,3624.00,3622.00,3624.00,702,0
+2006-01-17,12:17:00,3623.00,3624.00,3622.00,3623.00,952,0
+2006-01-17,12:18:00,3623.00,3624.00,3623.00,3623.00,39,0
+2006-01-17,12:19:00,3623.00,3624.00,3623.00,3624.00,1053,0
+2006-01-17,12:20:00,3624.00,3626.00,3624.00,3626.00,1233,0
+2006-01-17,12:21:00,3625.00,3628.00,3625.00,3628.00,2340,0
+2006-01-17,12:22:00,3627.00,3627.00,3626.00,3626.00,103,0
+2006-01-17,12:23:00,3627.00,3628.00,3627.00,3627.00,309,0
+2006-01-17,12:24:00,3628.00,3628.00,3627.00,3628.00,518,0
+2006-01-17,12:25:00,3628.00,3628.00,3627.00,3628.00,52,0
+2006-01-17,12:26:00,3628.00,3628.00,3627.00,3627.00,746,0
+2006-01-17,12:27:00,3627.00,3628.00,3627.00,3628.00,572,0
+2006-01-17,12:28:00,3628.00,3628.00,3628.00,3628.00,92,0
+2006-01-17,12:29:00,3628.00,3628.00,3627.00,3627.00,509,0
+2006-01-17,12:30:00,3627.00,3628.00,3626.00,3626.00,310,0
+2006-01-17,12:31:00,3626.00,3626.00,3626.00,3626.00,50,0
+2006-01-17,12:32:00,3627.00,3627.00,3626.00,3627.00,19,0
+2006-01-17,12:33:00,3626.00,3627.00,3626.00,3627.00,1204,0
+2006-01-17,12:34:00,3627.00,3627.00,3626.00,3627.00,342,0
+2006-01-17,12:35:00,3626.00,3627.00,3625.00,3626.00,203,0
+2006-01-17,12:36:00,3626.00,3627.00,3625.00,3625.00,343,0
+2006-01-17,12:37:00,3626.00,3626.00,3626.00,3626.00,11,0
+2006-01-17,12:38:00,3626.00,3626.00,3625.00,3625.00,315,0
+2006-01-17,12:39:00,3625.00,3625.00,3624.00,3624.00,96,0
+2006-01-17,12:40:00,3625.00,3626.00,3625.00,3626.00,84,0
+2006-01-17,12:41:00,3625.00,3626.00,3625.00,3625.00,68,0
+2006-01-17,12:42:00,3625.00,3626.00,3625.00,3626.00,398,0
+2006-01-17,12:43:00,3626.00,3627.00,3625.00,3627.00,820,0
+2006-01-17,12:44:00,3627.00,3627.00,3626.00,3626.00,617,0
+2006-01-17,12:45:00,3627.00,3627.00,3626.00,3626.00,35,0
+2006-01-17,12:46:00,3627.00,3627.00,3626.00,3626.00,173,0
+2006-01-17,12:47:00,3625.00,3627.00,3625.00,3626.00,565,0
+2006-01-17,12:48:00,3625.00,3626.00,3625.00,3626.00,64,0
+2006-01-17,12:49:00,3626.00,3626.00,3625.00,3626.00,966,0
+2006-01-17,12:50:00,3626.00,3627.00,3626.00,3626.00,340,0
+2006-01-17,12:51:00,3626.00,3626.00,3626.00,3626.00,39,0
+2006-01-17,12:52:00,3626.00,3626.00,3626.00,3626.00,5,0
+2006-01-17,12:53:00,3625.00,3626.00,3625.00,3626.00,65,0
+2006-01-17,12:54:00,3625.00,3626.00,3625.00,3626.00,181,0
+2006-01-17,12:55:00,3625.00,3626.00,3625.00,3626.00,14,0
+2006-01-17,12:56:00,3626.00,3626.00,3626.00,3626.00,100,0
+2006-01-17,12:58:00,3626.00,3627.00,3626.00,3627.00,207,0
+2006-01-17,12:59:00,3626.00,3627.00,3626.00,3627.00,36,0
+2006-01-17,13:00:00,3626.00,3627.00,3626.00,3627.00,83,0
+2006-01-17,13:01:00,3627.00,3627.00,3627.00,3627.00,133,0
+2006-01-17,13:02:00,3626.00,3627.00,3626.00,3627.00,406,0
+2006-01-17,13:03:00,3627.00,3627.00,3626.00,3627.00,1002,0
+2006-01-17,13:04:00,3626.00,3626.00,3626.00,3626.00,15,0
+2006-01-17,13:05:00,3627.00,3627.00,3626.00,3626.00,3,0
+2006-01-17,13:06:00,3627.00,3627.00,3625.00,3626.00,438,0
+2006-01-17,13:07:00,3626.00,3626.00,3624.00,3625.00,1228,0
+2006-01-17,13:08:00,3624.00,3625.00,3622.00,3623.00,1889,0
+2006-01-17,13:09:00,3622.00,3624.00,3621.00,3623.00,1517,0
+2006-01-17,13:10:00,3623.00,3623.00,3622.00,3622.00,532,0
+2006-01-17,13:11:00,3622.00,3624.00,3622.00,3623.00,335,0
+2006-01-17,13:12:00,3624.00,3624.00,3623.00,3623.00,4,0
+2006-01-17,13:13:00,3624.00,3624.00,3623.00,3624.00,200,0
+2006-01-17,13:14:00,3623.00,3623.00,3622.00,3622.00,490,0
+2006-01-17,13:15:00,3622.00,3623.00,3622.00,3623.00,1180,0
+2006-01-17,13:16:00,3623.00,3624.00,3623.00,3623.00,715,0
+2006-01-17,13:17:00,3623.00,3624.00,3623.00,3623.00,593,0
+2006-01-17,13:18:00,3623.00,3623.00,3622.00,3623.00,157,0
+2006-01-17,13:19:00,3623.00,3623.00,3621.00,3622.00,1104,0
+2006-01-17,13:20:00,3622.00,3622.00,3621.00,3622.00,252,0
+2006-01-17,13:21:00,3622.00,3623.00,3622.00,3622.00,100,0
+2006-01-17,13:22:00,3623.00,3623.00,3622.00,3622.00,262,0
+2006-01-17,13:23:00,3622.00,3622.00,3622.00,3622.00,67,0
+2006-01-17,13:24:00,3623.00,3623.00,3622.00,3623.00,414,0
+2006-01-17,13:25:00,3623.00,3624.00,3623.00,3623.00,179,0
+2006-01-17,13:26:00,3623.00,3624.00,3623.00,3624.00,87,0
+2006-01-17,13:27:00,3623.00,3624.00,3623.00,3624.00,178,0
+2006-01-17,13:28:00,3624.00,3625.00,3624.00,3624.00,806,0
+2006-01-17,13:29:00,3623.00,3624.00,3623.00,3623.00,59,0
+2006-01-17,13:30:00,3623.00,3624.00,3623.00,3623.00,180,0
+2006-01-17,13:31:00,3624.00,3624.00,3623.00,3624.00,107,0
+2006-01-17,13:32:00,3623.00,3624.00,3623.00,3623.00,421,0
+2006-01-17,13:33:00,3623.00,3623.00,3622.00,3623.00,100,0
+2006-01-17,13:34:00,3622.00,3623.00,3622.00,3623.00,23,0
+2006-01-17,13:35:00,3623.00,3623.00,3622.00,3622.00,342,0
+2006-01-17,13:37:00,3623.00,3623.00,3622.00,3622.00,218,0
+2006-01-17,13:38:00,3622.00,3622.00,3622.00,3622.00,932,0
+2006-01-17,13:39:00,3622.00,3622.00,3621.00,3622.00,296,0
+2006-01-17,13:40:00,3622.00,3622.00,3622.00,3622.00,329,0
+2006-01-17,13:41:00,3622.00,3622.00,3622.00,3622.00,2065,0
+2006-01-17,13:42:00,3622.00,3623.00,3622.00,3622.00,7,0
+2006-01-17,13:43:00,3623.00,3623.00,3623.00,3623.00,1422,0
+2006-01-17,13:44:00,3623.00,3623.00,3623.00,3623.00,43,0
+2006-01-17,13:45:00,3622.00,3623.00,3622.00,3623.00,155,0
+2006-01-17,13:46:00,3623.00,3623.00,3622.00,3622.00,17,0
+2006-01-17,13:47:00,3623.00,3623.00,3622.00,3622.00,36,0
+2006-01-17,13:48:00,3622.00,3623.00,3622.00,3622.00,5,0
+2006-01-17,13:49:00,3622.00,3622.00,3622.00,3622.00,270,0
+2006-01-17,13:50:00,3623.00,3623.00,3622.00,3622.00,42,0
+2006-01-17,13:51:00,3622.00,3623.00,3622.00,3623.00,676,0
+2006-01-17,13:52:00,3623.00,3623.00,3622.00,3623.00,398,0
+2006-01-17,13:53:00,3624.00,3624.00,3623.00,3623.00,3,0
+2006-01-17,13:54:00,3624.00,3624.00,3624.00,3624.00,629,0
+2006-01-17,13:55:00,3623.00,3623.00,3623.00,3623.00,25,0
+2006-01-17,13:56:00,3623.00,3623.00,3623.00,3623.00,24,0
+2006-01-17,13:57:00,3624.00,3624.00,3623.00,3623.00,35,0
+2006-01-17,13:58:00,3623.00,3623.00,3622.00,3623.00,155,0
+2006-01-17,13:59:00,3623.00,3623.00,3623.00,3623.00,83,0
+2006-01-17,14:00:00,3623.00,3623.00,3622.00,3623.00,35,0
+2006-01-17,14:01:00,3623.00,3623.00,3622.00,3623.00,250,0
+2006-01-17,14:02:00,3623.00,3623.00,3623.00,3623.00,124,0
+2006-01-17,14:03:00,3623.00,3623.00,3623.00,3623.00,18,0
+2006-01-17,14:04:00,3624.00,3624.00,3623.00,3623.00,1337,0
+2006-01-17,14:05:00,3624.00,3624.00,3623.00,3623.00,134,0
+2006-01-17,14:06:00,3622.00,3623.00,3622.00,3623.00,513,0
+2006-01-17,14:07:00,3622.00,3622.00,3622.00,3622.00,101,0
+2006-01-17,14:08:00,3623.00,3623.00,3623.00,3623.00,2,0
+2006-01-17,14:09:00,3622.00,3623.00,3622.00,3622.00,22,0
+2006-01-17,14:10:00,3622.00,3622.00,3621.00,3621.00,905,0
+2006-01-17,14:11:00,3621.00,3622.00,3621.00,3622.00,189,0
+2006-01-17,14:12:00,3621.00,3622.00,3621.00,3622.00,15,0
+2006-01-17,14:13:00,3621.00,3621.00,3621.00,3621.00,6,0
+2006-01-17,14:14:00,3622.00,3622.00,3621.00,3621.00,1118,0
+2006-01-17,14:15:00,3622.00,3622.00,3620.00,3620.00,2046,0
+2006-01-17,14:16:00,3620.00,3621.00,3620.00,3620.00,1306,0
+2006-01-17,14:17:00,3620.00,3621.00,3620.00,3621.00,646,0
+2006-01-17,14:18:00,3621.00,3622.00,3620.00,3620.00,714,0
+2006-01-17,14:19:00,3620.00,3621.00,3620.00,3621.00,240,0
+2006-01-17,14:20:00,3622.00,3622.00,3621.00,3621.00,354,0
+2006-01-17,14:21:00,3621.00,3621.00,3621.00,3621.00,162,0
+2006-01-17,14:22:00,3621.00,3621.00,3621.00,3621.00,626,0
+2006-01-17,14:23:00,3620.00,3620.00,3620.00,3620.00,339,0
+2006-01-17,14:24:00,3621.00,3621.00,3620.00,3620.00,17,0
+2006-01-17,14:25:00,3621.00,3621.00,3620.00,3621.00,635,0
+2006-01-17,14:26:00,3620.00,3621.00,3620.00,3620.00,160,0
+2006-01-17,14:27:00,3620.00,3621.00,3620.00,3620.00,1246,0
+2006-01-17,14:28:00,3620.00,3620.00,3619.00,3620.00,1150,0
+2006-01-17,14:29:00,3619.00,3620.00,3619.00,3619.00,272,0
+2006-01-17,14:30:00,3620.00,3620.00,3619.00,3620.00,152,0
+2006-01-17,14:31:00,3620.00,3620.00,3617.00,3618.00,2157,0
+2006-01-17,14:32:00,3617.00,3619.00,3617.00,3618.00,1310,0
+2006-01-17,14:33:00,3619.00,3619.00,3618.00,3619.00,741,0
+2006-01-17,14:34:00,3618.00,3619.00,3617.00,3617.00,1605,0
+2006-01-17,14:35:00,3617.00,3618.00,3616.00,3617.00,2121,0
+2006-01-17,14:36:00,3617.00,3618.00,3616.00,3618.00,1419,0
+2006-01-17,14:37:00,3618.00,3618.00,3617.00,3618.00,1484,0
+2006-01-17,14:38:00,3618.00,3618.00,3617.00,3618.00,240,0
+2006-01-17,14:39:00,3617.00,3619.00,3617.00,3619.00,1112,0
+2006-01-17,14:40:00,3619.00,3619.00,3618.00,3619.00,1586,0
+2006-01-17,14:41:00,3619.00,3619.00,3619.00,3619.00,479,0
+2006-01-17,14:42:00,3619.00,3620.00,3619.00,3620.00,53,0
+2006-01-17,14:43:00,3619.00,3620.00,3619.00,3620.00,1845,0
+2006-01-17,14:44:00,3620.00,3621.00,3620.00,3620.00,644,0
+2006-01-17,14:45:00,3621.00,3621.00,3620.00,3620.00,177,0
+2006-01-17,14:46:00,3620.00,3620.00,3619.00,3620.00,244,0
+2006-01-17,14:47:00,3620.00,3620.00,3619.00,3619.00,808,0
+2006-01-17,14:48:00,3619.00,3619.00,3619.00,3619.00,80,0
+2006-01-17,14:49:00,3619.00,3620.00,3619.00,3620.00,538,0
+2006-01-17,14:50:00,3620.00,3621.00,3620.00,3621.00,578,0
+2006-01-17,14:51:00,3621.00,3621.00,3620.00,3621.00,751,0
+2006-01-17,14:52:00,3621.00,3622.00,3620.00,3621.00,324,0
+2006-01-17,14:53:00,3621.00,3621.00,3620.00,3621.00,133,0
+2006-01-17,14:54:00,3621.00,3622.00,3621.00,3621.00,552,0
+2006-01-17,14:55:00,3622.00,3622.00,3621.00,3622.00,339,0
+2006-01-17,14:56:00,3621.00,3622.00,3621.00,3621.00,263,0
+2006-01-17,14:57:00,3621.00,3622.00,3621.00,3622.00,830,0
+2006-01-17,14:58:00,3621.00,3622.00,3621.00,3622.00,23,0
+2006-01-17,14:59:00,3622.00,3622.00,3621.00,3621.00,695,0
+2006-01-17,15:00:00,3621.00,3622.00,3621.00,3622.00,5136,0
+2006-01-17,15:01:00,3622.00,3623.00,3621.00,3623.00,546,0
+2006-01-17,15:02:00,3623.00,3623.00,3622.00,3622.00,158,0
+2006-01-17,15:03:00,3622.00,3622.00,3622.00,3622.00,8,0
+2006-01-17,15:04:00,3622.00,3622.00,3622.00,3622.00,623,0
+2006-01-17,15:05:00,3621.00,3623.00,3621.00,3623.00,109,0
+2006-01-17,15:06:00,3623.00,3623.00,3622.00,3623.00,2679,0
+2006-01-17,15:07:00,3622.00,3622.00,3621.00,3622.00,660,0
+2006-01-17,15:08:00,3622.00,3622.00,3622.00,3622.00,1020,0
+2006-01-17,15:09:00,3622.00,3623.00,3622.00,3622.00,509,0
+2006-01-17,15:10:00,3623.00,3623.00,3622.00,3623.00,36,0
+2006-01-17,15:11:00,3622.00,3623.00,3622.00,3622.00,214,0
+2006-01-17,15:12:00,3622.00,3623.00,3621.00,3623.00,308,0
+2006-01-17,15:13:00,3622.00,3622.00,3621.00,3622.00,348,0
+2006-01-17,15:14:00,3622.00,3622.00,3622.00,3622.00,13,0
+2006-01-17,15:15:00,3622.00,3622.00,3621.00,3621.00,304,0
+2006-01-17,15:16:00,3621.00,3622.00,3621.00,3621.00,1180,0
+2006-01-17,15:17:00,3622.00,3622.00,3621.00,3622.00,442,0
+2006-01-17,15:18:00,3622.00,3623.00,3622.00,3623.00,147,0
+2006-01-17,15:19:00,3623.00,3623.00,3622.00,3622.00,1006,0
+2006-01-17,15:20:00,3622.00,3623.00,3621.00,3622.00,1273,0
+2006-01-17,15:21:00,3622.00,3622.00,3622.00,3622.00,207,0
+2006-01-17,15:22:00,3622.00,3623.00,3622.00,3623.00,215,0
+2006-01-17,15:23:00,3623.00,3623.00,3622.00,3623.00,265,0
+2006-01-17,15:24:00,3622.00,3623.00,3622.00,3622.00,424,0
+2006-01-17,15:25:00,3622.00,3622.00,3622.00,3622.00,9,0
+2006-01-17,15:26:00,3622.00,3623.00,3622.00,3622.00,234,0
+2006-01-17,15:27:00,3621.00,3621.00,3621.00,3621.00,51,0
+2006-01-17,15:29:00,3622.00,3622.00,3621.00,3622.00,157,0
+2006-01-17,15:30:00,3622.00,3623.00,3621.00,3622.00,625,0
+2006-01-17,15:31:00,3622.00,3622.00,3620.00,3620.00,2382,0
+2006-01-17,15:32:00,3620.00,3621.00,3620.00,3621.00,588,0
+2006-01-17,15:33:00,3620.00,3621.00,3620.00,3620.00,1604,0
+2006-01-17,15:34:00,3620.00,3621.00,3620.00,3621.00,135,0
+2006-01-17,15:35:00,3620.00,3620.00,3620.00,3620.00,731,0
+2006-01-17,15:36:00,3621.00,3621.00,3620.00,3621.00,795,0
+2006-01-17,15:37:00,3620.00,3621.00,3620.00,3620.00,62,0
+2006-01-17,15:38:00,3620.00,3621.00,3620.00,3620.00,533,0
+2006-01-17,15:39:00,3620.00,3621.00,3620.00,3621.00,39,0
+2006-01-17,15:40:00,3621.00,3621.00,3620.00,3621.00,563,0
+2006-01-17,15:41:00,3620.00,3621.00,3620.00,3621.00,431,0
+2006-01-17,15:42:00,3621.00,3622.00,3620.00,3622.00,789,0
+2006-01-17,15:43:00,3622.00,3623.00,3621.00,3623.00,1038,0
+2006-01-17,15:44:00,3623.00,3623.00,3623.00,3623.00,579,0
+2006-01-17,15:45:00,3623.00,3624.00,3622.00,3624.00,403,0
+2006-01-17,15:46:00,3624.00,3625.00,3623.00,3625.00,3260,0
+2006-01-17,15:47:00,3625.00,3626.00,3624.00,3626.00,1921,0
+2006-01-17,15:48:00,3626.00,3627.00,3625.00,3627.00,1347,0
+2006-01-17,15:49:00,3627.00,3628.00,3626.00,3627.00,3871,0
+2006-01-17,15:50:00,3627.00,3628.00,3627.00,3627.00,2001,0
+2006-01-17,15:51:00,3627.00,3628.00,3627.00,3627.00,1232,0
+2006-01-17,15:52:00,3627.00,3627.00,3626.00,3627.00,960,0
+2006-01-17,15:53:00,3627.00,3631.00,3627.00,3630.00,4351,0
+2006-01-17,15:54:00,3630.00,3631.00,3629.00,3630.00,1842,0
+2006-01-17,15:55:00,3631.00,3631.00,3629.00,3630.00,2242,0
+2006-01-17,15:56:00,3629.00,3630.00,3628.00,3630.00,1520,0
+2006-01-17,15:57:00,3629.00,3630.00,3628.00,3629.00,1028,0
+2006-01-17,15:58:00,3629.00,3629.00,3626.00,3626.00,2199,0
+2006-01-17,15:59:00,3626.00,3627.00,3625.00,3626.00,2640,0
+2006-01-17,16:00:00,3627.00,3627.00,3625.00,3625.00,411,0
+2006-01-17,16:01:00,3625.00,3627.00,3625.00,3626.00,1204,0
+2006-01-17,16:02:00,3625.00,3626.00,3624.00,3625.00,2535,0
+2006-01-17,16:03:00,3625.00,3625.00,3624.00,3625.00,732,0
+2006-01-17,16:04:00,3624.00,3625.00,3623.00,3624.00,1515,0
+2006-01-17,16:05:00,3624.00,3625.00,3623.00,3624.00,738,0
+2006-01-17,16:06:00,3625.00,3625.00,3624.00,3624.00,1136,0
+2006-01-17,16:07:00,3624.00,3625.00,3623.00,3625.00,889,0
+2006-01-17,16:08:00,3625.00,3626.00,3625.00,3625.00,995,0
+2006-01-17,16:09:00,3626.00,3627.00,3625.00,3626.00,1317,0
+2006-01-17,16:10:00,3626.00,3626.00,3624.00,3626.00,554,0
+2006-01-17,16:11:00,3626.00,3627.00,3625.00,3627.00,511,0
+2006-01-17,16:12:00,3627.00,3629.00,3627.00,3629.00,1311,0
+2006-01-17,16:13:00,3628.00,3631.00,3628.00,3630.00,2793,0
+2006-01-17,16:14:00,3629.00,3630.00,3629.00,3629.00,701,0
+2006-01-17,16:15:00,3629.00,3629.00,3626.00,3627.00,3077,0
+2006-01-17,16:16:00,3627.00,3627.00,3626.00,3626.00,1349,0
+2006-01-17,16:17:00,3626.00,3626.00,3624.00,3624.00,1518,0
+2006-01-17,16:18:00,3624.00,3625.00,3621.00,3622.00,3388,0
+2006-01-17,16:19:00,3623.00,3623.00,3622.00,3623.00,2087,0
+2006-01-17,16:20:00,3623.00,3623.00,3622.00,3623.00,864,0
+2006-01-17,16:21:00,3623.00,3624.00,3622.00,3623.00,536,0
+2006-01-17,16:22:00,3622.00,3623.00,3620.00,3621.00,2331,0
+2006-01-17,16:23:00,3621.00,3623.00,3621.00,3623.00,854,0
+2006-01-17,16:24:00,3623.00,3623.00,3621.00,3623.00,626,0
+2006-01-17,16:25:00,3623.00,3625.00,3623.00,3625.00,1056,0
+2006-01-17,16:26:00,3625.00,3626.00,3623.00,3626.00,1612,0
+2006-01-17,16:27:00,3625.00,3626.00,3624.00,3625.00,865,0
+2006-01-17,16:28:00,3625.00,3626.00,3624.00,3626.00,726,0
+2006-01-17,16:29:00,3626.00,3627.00,3625.00,3626.00,2478,0
+2006-01-17,16:30:00,3626.00,3626.00,3625.00,3626.00,525,0
+2006-01-17,16:31:00,3626.00,3627.00,3626.00,3627.00,705,0
+2006-01-17,16:32:00,3626.00,3627.00,3625.00,3625.00,561,0
+2006-01-17,16:33:00,3625.00,3626.00,3625.00,3626.00,274,0
+2006-01-17,16:34:00,3626.00,3627.00,3625.00,3625.00,352,0
+2006-01-17,16:35:00,3625.00,3625.00,3624.00,3624.00,798,0
+2006-01-17,16:36:00,3624.00,3624.00,3622.00,3623.00,2333,0
+2006-01-17,16:37:00,3623.00,3624.00,3623.00,3623.00,1137,0
+2006-01-17,16:38:00,3624.00,3625.00,3624.00,3624.00,544,0
+2006-01-17,16:39:00,3625.00,3625.00,3622.00,3623.00,1031,0
+2006-01-17,16:40:00,3623.00,3623.00,3621.00,3622.00,2197,0
+2006-01-17,16:41:00,3622.00,3623.00,3621.00,3622.00,845,0
+2006-01-17,16:42:00,3622.00,3623.00,3620.00,3621.00,1529,0
+2006-01-17,16:43:00,3621.00,3622.00,3620.00,3620.00,1305,0
+2006-01-17,16:44:00,3620.00,3621.00,3619.00,3619.00,1817,0
+2006-01-17,16:45:00,3619.00,3621.00,3619.00,3620.00,2221,0
+2006-01-17,16:46:00,3619.00,3620.00,3618.00,3618.00,2350,0
+2006-01-17,16:47:00,3618.00,3620.00,3618.00,3619.00,1217,0
+2006-01-17,16:48:00,3619.00,3620.00,3618.00,3619.00,1498,0
+2006-01-17,16:49:00,3620.00,3621.00,3620.00,3621.00,804,0
+2006-01-17,16:50:00,3621.00,3621.00,3620.00,3621.00,1353,0
+2006-01-17,16:51:00,3621.00,3623.00,3621.00,3622.00,2007,0
+2006-01-17,16:52:00,3622.00,3623.00,3622.00,3623.00,1078,0
+2006-01-17,16:53:00,3622.00,3622.00,3621.00,3622.00,767,0
+2006-01-17,16:54:00,3621.00,3622.00,3621.00,3622.00,109,0
+2006-01-17,16:55:00,3622.00,3622.00,3621.00,3622.00,455,0
+2006-01-17,16:56:00,3622.00,3622.00,3621.00,3621.00,280,0
+2006-01-17,16:57:00,3622.00,3623.00,3621.00,3623.00,1019,0
+2006-01-17,16:58:00,3623.00,3623.00,3621.00,3621.00,1064,0
+2006-01-17,16:59:00,3622.00,3623.00,3621.00,3622.00,332,0
+2006-01-17,17:00:00,3623.00,3624.00,3621.00,3623.00,790,0
+2006-01-17,17:01:00,3624.00,3625.00,3623.00,3625.00,1583,0
+2006-01-17,17:02:00,3625.00,3625.00,3623.00,3624.00,1543,0
+2006-01-17,17:03:00,3624.00,3625.00,3623.00,3625.00,552,0
+2006-01-17,17:04:00,3625.00,3625.00,3623.00,3624.00,241,0
+2006-01-17,17:05:00,3624.00,3624.00,3623.00,3624.00,1659,0
+2006-01-17,17:06:00,3624.00,3625.00,3624.00,3625.00,624,0
+2006-01-17,17:07:00,3625.00,3626.00,3624.00,3626.00,1740,0
+2006-01-17,17:08:00,3626.00,3626.00,3625.00,3625.00,2449,0
+2006-01-17,17:09:00,3624.00,3626.00,3624.00,3626.00,908,0
+2006-01-17,17:10:00,3626.00,3627.00,3625.00,3627.00,1544,0
+2006-01-17,17:11:00,3627.00,3628.00,3626.00,3627.00,3164,0
+2006-01-17,17:12:00,3628.00,3628.00,3626.00,3626.00,981,0
+2006-01-17,17:13:00,3627.00,3627.00,3625.00,3626.00,944,0
+2006-01-17,17:14:00,3626.00,3626.00,3625.00,3626.00,380,0
+2006-01-17,17:15:00,3626.00,3626.00,3625.00,3626.00,412,0
+2006-01-17,17:16:00,3626.00,3626.00,3624.00,3624.00,785,0
+2006-01-17,17:17:00,3625.00,3626.00,3624.00,3625.00,2083,0
+2006-01-17,17:18:00,3625.00,3627.00,3625.00,3627.00,642,0
+2006-01-17,17:19:00,3627.00,3627.00,3625.00,3626.00,524,0
+2006-01-17,17:20:00,3626.00,3627.00,3625.00,3627.00,1375,0
+2006-01-17,17:21:00,3626.00,3627.00,3625.00,3625.00,1462,0
+2006-01-17,17:22:00,3625.00,3625.00,3624.00,3625.00,1545,0
+2006-01-17,17:23:00,3624.00,3625.00,3623.00,3623.00,845,0
+2006-01-17,17:24:00,3624.00,3624.00,3623.00,3624.00,680,0
+2006-01-17,17:25:00,3624.00,3624.00,3622.00,3622.00,565,0
+2006-01-17,17:26:00,3622.00,3624.00,3622.00,3623.00,2147,0
+2006-01-17,17:27:00,3622.00,3623.00,3621.00,3621.00,1629,0
+2006-01-17,17:28:00,3622.00,3622.00,3620.00,3620.00,2078,0
+2006-01-17,17:29:00,3620.00,3622.00,3620.00,3622.00,3453,0
+2006-01-17,17:30:00,3621.00,3623.00,3620.00,3622.00,6180,0
+2006-01-17,17:31:00,3622.00,3623.00,3621.00,3621.00,3828,0
+2006-01-17,17:32:00,3622.00,3622.00,3621.00,3622.00,2279,0
+2006-01-17,17:33:00,3621.00,3622.00,3621.00,3621.00,2825,0
+2006-01-17,17:34:00,3621.00,3621.00,3620.00,3621.00,1110,0
+2006-01-17,17:35:00,3621.00,3622.00,3620.00,3621.00,2357,0
+2006-01-17,17:36:00,3621.00,3622.00,3621.00,3621.00,818,0
+2006-01-17,17:37:00,3622.00,3623.00,3621.00,3622.00,819,0
+2006-01-17,17:38:00,3621.00,3622.00,3621.00,3621.00,371,0
+2006-01-17,17:39:00,3621.00,3622.00,3621.00,3621.00,825,0
+2006-01-17,17:40:00,3621.00,3621.00,3620.00,3620.00,1008,0
+2006-01-17,17:41:00,3620.00,3620.00,3620.00,3620.00,66,0
+2006-01-17,17:42:00,3620.00,3621.00,3620.00,3620.00,289,0
+2006-01-17,17:43:00,3621.00,3621.00,3619.00,3620.00,857,0
+2006-01-17,17:44:00,3620.00,3620.00,3619.00,3620.00,510,0
+2006-01-17,17:45:00,3619.00,3620.00,3619.00,3619.00,154,0
+2006-01-17,17:46:00,3620.00,3622.00,3619.00,3622.00,1436,0
+2006-01-17,17:47:00,3622.00,3623.00,3621.00,3621.00,842,0
+2006-01-17,17:48:00,3621.00,3621.00,3620.00,3620.00,824,0
+2006-01-17,17:49:00,3620.00,3621.00,3619.00,3620.00,956,0
+2006-01-17,17:50:00,3619.00,3619.00,3618.00,3619.00,2015,0
+2006-01-17,17:51:00,3619.00,3620.00,3619.00,3619.00,596,0
+2006-01-17,17:52:00,3619.00,3621.00,3619.00,3621.00,782,0
+2006-01-17,17:53:00,3621.00,3622.00,3621.00,3622.00,469,0
+2006-01-17,17:54:00,3622.00,3622.00,3621.00,3621.00,381,0
+2006-01-17,17:55:00,3622.00,3622.00,3622.00,3622.00,282,0
+2006-01-17,17:56:00,3621.00,3621.00,3621.00,3621.00,68,0
+2006-01-17,17:57:00,3622.00,3622.00,3622.00,3622.00,325,0
+2006-01-17,17:58:00,3622.00,3622.00,3621.00,3621.00,365,0
+2006-01-17,17:59:00,3622.00,3622.00,3621.00,3621.00,14,0
+2006-01-17,18:00:00,3622.00,3622.00,3621.00,3621.00,28,0
+2006-01-17,18:01:00,3622.00,3623.00,3622.00,3622.00,273,0
+2006-01-17,18:02:00,3622.00,3622.00,3621.00,3621.00,131,0
+2006-01-17,18:03:00,3621.00,3622.00,3621.00,3621.00,225,0
+2006-01-17,18:04:00,3621.00,3622.00,3621.00,3622.00,188,0
+2006-01-17,18:05:00,3621.00,3622.00,3621.00,3622.00,134,0
+2006-01-17,18:06:00,3621.00,3622.00,3620.00,3622.00,894,0
+2006-01-17,18:07:00,3621.00,3622.00,3621.00,3622.00,462,0
+2006-01-17,18:08:00,3622.00,3622.00,3622.00,3622.00,2060,0
+2006-01-17,18:09:00,3622.00,3622.00,3621.00,3622.00,552,0
+2006-01-17,18:10:00,3623.00,3623.00,3622.00,3622.00,746,0
+2006-01-17,18:11:00,3623.00,3623.00,3622.00,3623.00,508,0
+2006-01-17,18:12:00,3622.00,3622.00,3621.00,3621.00,11825,0
+2006-01-17,18:13:00,3620.00,3621.00,3620.00,3621.00,6,0
+2006-01-17,18:14:00,3622.00,3622.00,3621.00,3621.00,373,0
+2006-01-17,18:15:00,3621.00,3621.00,3620.00,3621.00,79,0
+2006-01-17,18:16:00,3620.00,3621.00,3620.00,3620.00,83,0
+2006-01-17,18:17:00,3620.00,3620.00,3620.00,3620.00,167,0
+2006-01-17,18:18:00,3620.00,3620.00,3619.00,3620.00,637,0
+2006-01-17,18:19:00,3621.00,3621.00,3620.00,3621.00,47,0
+2006-01-17,18:20:00,3620.00,3621.00,3619.00,3619.00,530,0
+2006-01-17,18:21:00,3619.00,3620.00,3618.00,3619.00,298,0
+2006-01-17,18:22:00,3618.00,3618.00,3616.00,3617.00,1769,0
+2006-01-17,18:23:00,3617.00,3617.00,3615.00,3616.00,2443,0
+2006-01-17,18:24:00,3615.00,3616.00,3615.00,3616.00,634,0
+2006-01-17,18:25:00,3616.00,3617.00,3615.00,3616.00,876,0
+2006-01-17,18:26:00,3616.00,3616.00,3615.00,3616.00,521,0
+2006-01-17,18:27:00,3616.00,3617.00,3614.00,3615.00,1124,0
+2006-01-17,18:28:00,3614.00,3615.00,3614.00,3615.00,118,0
+2006-01-17,18:29:00,3615.00,3616.00,3615.00,3615.00,357,0
+2006-01-17,18:30:00,3616.00,3616.00,3614.00,3614.00,1141,0
+2006-01-17,18:31:00,3614.00,3615.00,3613.00,3613.00,1220,0
+2006-01-17,18:32:00,3613.00,3615.00,3613.00,3615.00,755,0
+2006-01-17,18:33:00,3615.00,3615.00,3615.00,3615.00,342,0
+2006-01-17,18:34:00,3615.00,3615.00,3614.00,3615.00,421,0
+2006-01-17,18:35:00,3614.00,3614.00,3613.00,3614.00,312,0
+2006-01-17,18:36:00,3614.00,3614.00,3613.00,3613.00,141,0
+2006-01-17,18:37:00,3614.00,3614.00,3613.00,3613.00,125,0
+2006-01-17,18:38:00,3613.00,3614.00,3613.00,3613.00,90,0
+2006-01-17,18:39:00,3614.00,3614.00,3613.00,3613.00,1332,0
+2006-01-17,18:40:00,3614.00,3615.00,3614.00,3614.00,1154,0
+2006-01-17,18:41:00,3615.00,3615.00,3614.00,3615.00,1036,0
+2006-01-17,18:42:00,3615.00,3615.00,3614.00,3614.00,5,0
+2006-01-17,18:43:00,3615.00,3616.00,3615.00,3616.00,449,0
+2006-01-17,18:44:00,3616.00,3616.00,3616.00,3616.00,389,0
+2006-01-17,18:45:00,3617.00,3618.00,3617.00,3618.00,501,0
+2006-01-17,18:46:00,3617.00,3618.00,3616.00,3617.00,330,0
+2006-01-17,18:47:00,3616.00,3617.00,3616.00,3616.00,77,0
+2006-01-17,18:48:00,3617.00,3617.00,3617.00,3617.00,51,0
+2006-01-17,18:49:00,3617.00,3617.00,3617.00,3617.00,50,0
+2006-01-17,18:50:00,3617.00,3617.00,3617.00,3617.00,44,0
+2006-01-17,18:51:00,3617.00,3617.00,3617.00,3617.00,52,0
+2006-01-17,18:52:00,3617.00,3617.00,3617.00,3617.00,26,0
+2006-01-17,18:53:00,3618.00,3618.00,3617.00,3617.00,176,0
+2006-01-17,18:54:00,3618.00,3618.00,3618.00,3618.00,461,0
+2006-01-17,18:55:00,3618.00,3618.00,3617.00,3617.00,14,0
+2006-01-17,18:57:00,3618.00,3618.00,3617.00,3618.00,33,0
+2006-01-17,18:59:00,3618.00,3618.00,3618.00,3618.00,1,0
+2006-01-17,19:00:00,3617.00,3617.00,3616.00,3617.00,363,0
+2006-01-17,19:01:00,3617.00,3617.00,3616.00,3616.00,34,0
+2006-01-17,19:02:00,3616.00,3616.00,3616.00,3616.00,71,0
+2006-01-17,19:03:00,3616.00,3616.00,3615.00,3615.00,355,0
+2006-01-17,19:04:00,3616.00,3616.00,3614.00,3615.00,176,0
+2006-01-17,19:05:00,3615.00,3615.00,3613.00,3613.00,332,0
+2006-01-17,19:06:00,3614.00,3614.00,3614.00,3614.00,261,0
+2006-01-17,19:07:00,3614.00,3615.00,3613.00,3615.00,104,0
+2006-01-17,19:08:00,3615.00,3615.00,3615.00,3615.00,219,0
+2006-01-17,19:09:00,3616.00,3616.00,3616.00,3616.00,4,0
+2006-01-17,19:10:00,3616.00,3616.00,3614.00,3614.00,130,0
+2006-01-17,19:11:00,3615.00,3615.00,3615.00,3615.00,105,0
+2006-01-17,19:12:00,3615.00,3615.00,3614.00,3615.00,88,0
+2006-01-17,19:13:00,3614.00,3615.00,3614.00,3615.00,122,0
+2006-01-17,19:14:00,3615.00,3615.00,3613.00,3613.00,129,0
+2006-01-17,19:15:00,3613.00,3615.00,3613.00,3615.00,178,0
+2006-01-17,19:16:00,3615.00,3616.00,3615.00,3616.00,34,0
+2006-01-17,19:17:00,3615.00,3616.00,3615.00,3615.00,77,0
+2006-01-17,19:18:00,3615.00,3615.00,3614.00,3614.00,193,0
+2006-01-17,19:19:00,3614.00,3615.00,3613.00,3613.00,215,0
+2006-01-17,19:20:00,3614.00,3614.00,3612.00,3612.00,238,0
+2006-01-17,19:21:00,3613.00,3614.00,3613.00,3614.00,332,0
+2006-01-17,19:22:00,3615.00,3616.00,3615.00,3616.00,280,0
+2006-01-17,19:23:00,3615.00,3615.00,3615.00,3615.00,101,0
+2006-01-17,19:25:00,3614.00,3614.00,3614.00,3614.00,8,0
+2006-01-17,19:27:00,3614.00,3614.00,3613.00,3614.00,170,0
+2006-01-17,19:28:00,3614.00,3615.00,3614.00,3614.00,124,0
+2006-01-17,19:29:00,3614.00,3614.00,3613.00,3614.00,62,0
+2006-01-17,19:30:00,3614.00,3616.00,3614.00,3616.00,51,0
+2006-01-17,19:31:00,3615.00,3617.00,3615.00,3617.00,112,0
+2006-01-17,19:32:00,3617.00,3617.00,3616.00,3616.00,166,0
+2006-01-17,19:33:00,3617.00,3619.00,3617.00,3619.00,481,0
+2006-01-17,19:34:00,3618.00,3619.00,3618.00,3618.00,191,0
+2006-01-17,19:35:00,3618.00,3618.00,3618.00,3618.00,40,0
+2006-01-17,19:36:00,3617.00,3617.00,3617.00,3617.00,143,0
+2006-01-17,19:37:00,3616.00,3617.00,3616.00,3617.00,7,0
+2006-01-17,19:38:00,3616.00,3617.00,3616.00,3617.00,44,0
+2006-01-17,19:39:00,3617.00,3617.00,3616.00,3616.00,55,0
+2006-01-17,19:42:00,3616.00,3617.00,3616.00,3617.00,216,0
+2006-01-17,19:43:00,3617.00,3618.00,3617.00,3618.00,56,0
+2006-01-17,19:44:00,3618.00,3618.00,3618.00,3618.00,124,0
+2006-01-17,19:45:00,3618.00,3618.00,3618.00,3618.00,23,0
+2006-01-17,19:46:00,3618.00,3619.00,3615.00,3616.00,480,0
+2006-01-17,19:47:00,3616.00,3616.00,3616.00,3616.00,10,0
+2006-01-17,19:48:00,3615.00,3615.00,3614.00,3614.00,131,0
+2006-01-17,19:49:00,3615.00,3615.00,3614.00,3614.00,80,0
+2006-01-17,19:50:00,3614.00,3614.00,3613.00,3613.00,289,0
+2006-01-17,19:51:00,3614.00,3615.00,3613.00,3614.00,483,0
+2006-01-17,19:52:00,3614.00,3615.00,3614.00,3615.00,137,0
+2006-01-17,19:53:00,3615.00,3615.00,3614.00,3615.00,63,0
+2006-01-17,19:54:00,3615.00,3615.00,3615.00,3615.00,12,0
+2006-01-17,19:55:00,3615.00,3616.00,3615.00,3616.00,137,0
+2006-01-17,19:56:00,3616.00,3617.00,3615.00,3617.00,154,0
+2006-01-17,19:57:00,3617.00,3620.00,3617.00,3620.00,539,0
+2006-01-17,19:58:00,3620.00,3621.00,3620.00,3620.00,1484,0
+2006-01-17,19:59:00,3621.00,3621.00,3619.00,3620.00,773,0
+2006-01-17,20:00:00,3620.00,3621.00,3620.00,3620.00,65,0
+2006-01-17,20:01:00,3620.00,3622.00,3620.00,3622.00,239,0
+2006-01-17,20:02:00,3622.00,3622.00,3621.00,3622.00,411,0
+2006-01-17,20:03:00,3622.00,3623.00,3621.00,3621.00,1021,0
+2006-01-17,20:04:00,3621.00,3622.00,3620.00,3621.00,161,0
+2006-01-17,20:05:00,3622.00,3622.00,3621.00,3621.00,137,0
+2006-01-17,20:06:00,3621.00,3622.00,3621.00,3622.00,136,0
+2006-01-17,20:07:00,3621.00,3622.00,3621.00,3621.00,9,0
+2006-01-17,20:08:00,3622.00,3623.00,3622.00,3622.00,351,0
+2006-01-17,20:09:00,3622.00,3622.00,3622.00,3622.00,47,0
+2006-01-17,20:10:00,3621.00,3621.00,3621.00,3621.00,23,0
+2006-01-17,20:11:00,3620.00,3621.00,3620.00,3621.00,20,0
+2006-01-17,20:12:00,3620.00,3620.00,3620.00,3620.00,51,0
+2006-01-17,20:13:00,3620.00,3620.00,3618.00,3619.00,612,0
+2006-01-17,20:14:00,3619.00,3620.00,3619.00,3620.00,94,0
+2006-01-17,20:15:00,3620.00,3620.00,3620.00,3620.00,255,0
+2006-01-17,20:16:00,3620.00,3620.00,3620.00,3620.00,13,0
+2006-01-17,20:17:00,3620.00,3620.00,3618.00,3619.00,55,0
+2006-01-17,20:18:00,3618.00,3618.00,3618.00,3618.00,48,0
+2006-01-17,20:19:00,3618.00,3618.00,3617.00,3618.00,3,0
+2006-01-17,20:20:00,3617.00,3617.00,3617.00,3617.00,1,0
+2006-01-17,20:21:00,3617.00,3617.00,3615.00,3616.00,91,0
+2006-01-17,20:22:00,3617.00,3617.00,3617.00,3617.00,36,0
+2006-01-17,20:23:00,3617.00,3617.00,3617.00,3617.00,71,0
+2006-01-17,20:24:00,3617.00,3617.00,3617.00,3617.00,24,0
+2006-01-17,20:25:00,3618.00,3619.00,3617.00,3618.00,56,0
+2006-01-17,20:26:00,3617.00,3617.00,3617.00,3617.00,1,0
+2006-01-17,20:27:00,3618.00,3618.00,3618.00,3618.00,1,0
+2006-01-17,20:28:00,3617.00,3617.00,3617.00,3617.00,9,0
+2006-01-17,20:29:00,3617.00,3617.00,3617.00,3617.00,20,0
+2006-01-17,20:31:00,3618.00,3619.00,3618.00,3618.00,67,0
+2006-01-17,20:32:00,3619.00,3619.00,3619.00,3619.00,10,0
+2006-01-17,20:33:00,3619.00,3620.00,3619.00,3619.00,22,0
+2006-01-17,20:34:00,3618.00,3618.00,3618.00,3618.00,5,0
+2006-01-17,20:35:00,3618.00,3618.00,3617.00,3617.00,105,0
+2006-01-17,20:36:00,3617.00,3617.00,3616.00,3616.00,192,0
+2006-01-17,20:37:00,3616.00,3616.00,3616.00,3616.00,3,0
+2006-01-17,20:38:00,3616.00,3617.00,3616.00,3617.00,85,0
+2006-01-17,20:40:00,3616.00,3616.00,3616.00,3616.00,1,0
+2006-01-17,20:41:00,3617.00,3617.00,3617.00,3617.00,10,0
+2006-01-17,20:42:00,3616.00,3616.00,3615.00,3615.00,382,0
+2006-01-17,20:45:00,3615.00,3615.00,3615.00,3615.00,35,0
+2006-01-17,20:46:00,3615.00,3615.00,3615.00,3615.00,5,0
+2006-01-17,20:49:00,3615.00,3615.00,3615.00,3615.00,51,0
+2006-01-17,20:50:00,3615.00,3615.00,3615.00,3615.00,2,0
+2006-01-17,20:51:00,3615.00,3616.00,3614.00,3614.00,18,0
+2006-01-17,20:52:00,3616.00,3616.00,3616.00,3616.00,7,0
+2006-01-17,20:53:00,3616.00,3617.00,3616.00,3617.00,12,0
+2006-01-17,20:54:00,3617.00,3618.00,3617.00,3618.00,95,0
+2006-01-17,20:55:00,3619.00,3619.00,3619.00,3619.00,57,0
+2006-01-17,20:56:00,3619.00,3619.00,3619.00,3619.00,43,0
+2006-01-17,20:57:00,3619.00,3619.00,3619.00,3619.00,30,0
+2006-01-17,20:58:00,3619.00,3619.00,3619.00,3619.00,5,0
+2006-01-17,21:00:00,3619.00,3620.00,3619.00,3620.00,134,0
+2006-01-17,21:01:00,3621.00,3621.00,3620.00,3620.00,85,0
+2006-01-17,21:02:00,3620.00,3620.00,3620.00,3620.00,121,0
+2006-01-17,21:03:00,3620.00,3620.00,3620.00,3620.00,62,0
+2006-01-17,21:04:00,3619.00,3619.00,3619.00,3619.00,1,0
+2006-01-17,21:07:00,3620.00,3620.00,3620.00,3620.00,11,0
+2006-01-17,21:08:00,3620.00,3621.00,3620.00,3621.00,53,0
+2006-01-17,21:10:00,3621.00,3623.00,3621.00,3622.00,94,0
+2006-01-17,21:11:00,3622.00,3622.00,3622.00,3622.00,9,0
+2006-01-17,21:12:00,3621.00,3621.00,3621.00,3621.00,18,0
+2006-01-17,21:13:00,3622.00,3622.00,3622.00,3622.00,29,0
+2006-01-17,21:14:00,3622.00,3622.00,3621.00,3621.00,25,0
+2006-01-17,21:15:00,3621.00,3621.00,3621.00,3621.00,11,0
+2006-01-17,21:16:00,3621.00,3621.00,3621.00,3621.00,10,0
+2006-01-17,21:17:00,3620.00,3620.00,3620.00,3620.00,3,0
+2006-01-17,21:18:00,3620.00,3620.00,3620.00,3620.00,1,0
+2006-01-17,21:20:00,3621.00,3621.00,3621.00,3621.00,5,0
+2006-01-17,21:21:00,3620.00,3621.00,3620.00,3621.00,32,0
+2006-01-17,21:22:00,3621.00,3621.00,3621.00,3621.00,43,0
+2006-01-17,21:23:00,3621.00,3622.00,3621.00,3622.00,56,0
+2006-01-17,21:24:00,3621.00,3621.00,3621.00,3621.00,66,0
+2006-01-17,21:25:00,3621.00,3621.00,3621.00,3621.00,4,0
+2006-01-17,21:26:00,3621.00,3621.00,3621.00,3621.00,9,0
+2006-01-17,21:27:00,3621.00,3621.00,3621.00,3621.00,6,0
+2006-01-17,21:28:00,3621.00,3622.00,3621.00,3621.00,13,0
+2006-01-17,21:29:00,3621.00,3621.00,3620.00,3620.00,96,0
+2006-01-17,21:30:00,3621.00,3621.00,3621.00,3621.00,10,0
+2006-01-17,21:31:00,3621.00,3621.00,3620.00,3620.00,233,0
+2006-01-17,21:32:00,3620.00,3620.00,3620.00,3620.00,149,0
+2006-01-17,21:33:00,3620.00,3620.00,3620.00,3620.00,41,0
+2006-01-17,21:34:00,3620.00,3620.00,3620.00,3620.00,19,0
+2006-01-17,21:35:00,3620.00,3620.00,3620.00,3620.00,51,0
+2006-01-17,21:36:00,3619.00,3620.00,3618.00,3620.00,78,0
+2006-01-17,21:37:00,3619.00,3620.00,3619.00,3620.00,7,0
+2006-01-17,21:38:00,3619.00,3619.00,3619.00,3619.00,16,0
+2006-01-17,21:39:00,3619.00,3620.00,3618.00,3618.00,30,0
+2006-01-17,21:40:00,3620.00,3620.00,3619.00,3620.00,22,0
+2006-01-17,21:41:00,3620.00,3620.00,3619.00,3620.00,28,0
+2006-01-17,21:42:00,3620.00,3621.00,3620.00,3620.00,18,0
+2006-01-17,21:43:00,3621.00,3621.00,3620.00,3620.00,26,0
+2006-01-17,21:44:00,3620.00,3620.00,3620.00,3620.00,42,0
+2006-01-17,21:45:00,3620.00,3620.00,3620.00,3620.00,30,0
+2006-01-17,21:46:00,3620.00,3620.00,3620.00,3620.00,25,0
+2006-01-17,21:47:00,3620.00,3621.00,3620.00,3621.00,19,0
+2006-01-17,21:48:00,3621.00,3622.00,3621.00,3621.00,25,0
+2006-01-17,21:49:00,3622.00,3622.00,3621.00,3621.00,16,0
+2006-01-17,21:50:00,3622.00,3622.00,3622.00,3622.00,10,0
+2006-01-17,21:51:00,3621.00,3622.00,3621.00,3622.00,15,0
+2006-01-17,21:52:00,3622.00,3622.00,3621.00,3621.00,21,0
+2006-01-17,21:53:00,3622.00,3622.00,3621.00,3621.00,19,0
+2006-01-17,21:54:00,3622.00,3622.00,3622.00,3622.00,111,0
+2006-01-17,21:55:00,3622.00,3622.00,3622.00,3622.00,35,0
+2006-01-17,21:56:00,3621.00,3622.00,3621.00,3621.00,20,0
+2006-01-17,21:57:00,3622.00,3622.00,3621.00,3621.00,26,0
+2006-01-17,21:58:00,3622.00,3622.00,3622.00,3622.00,62,0
+2006-01-17,21:59:00,3622.00,3622.00,3622.00,3622.00,179,0
+2006-01-17,22:00:00,3622.00,3622.00,3621.00,3622.00,443,0
+2006-01-18,09:01:00,3575.00,3575.00,3567.00,3572.00,24868,0
+2006-01-18,09:02:00,3572.00,3573.00,3568.00,3569.00,7406,0
+2006-01-18,09:03:00,3569.00,3569.00,3564.00,3566.00,11447,0
+2006-01-18,09:04:00,3566.00,3568.00,3562.00,3563.00,8930,0
+2006-01-18,09:05:00,3564.00,3567.00,3564.00,3565.00,4871,0
+2006-01-18,09:06:00,3566.00,3567.00,3563.00,3566.00,4362,0
+2006-01-18,09:07:00,3567.00,3569.00,3566.00,3569.00,3006,0
+2006-01-18,09:08:00,3568.00,3571.00,3568.00,3570.00,6402,0
+2006-01-18,09:09:00,3571.00,3571.00,3569.00,3569.00,3158,0
+2006-01-18,09:10:00,3569.00,3570.00,3568.00,3568.00,2542,0
+2006-01-18,09:11:00,3568.00,3569.00,3567.00,3569.00,3468,0
+2006-01-18,09:12:00,3569.00,3569.00,3566.00,3568.00,3611,0
+2006-01-18,09:13:00,3567.00,3568.00,3562.00,3563.00,5357,0
+2006-01-18,09:14:00,3563.00,3565.00,3562.00,3565.00,4901,0
+2006-01-18,09:15:00,3564.00,3566.00,3563.00,3565.00,4306,0
+2006-01-18,09:16:00,3564.00,3565.00,3563.00,3564.00,4090,0
+2006-01-18,09:17:00,3563.00,3565.00,3563.00,3564.00,3454,0
+2006-01-18,09:18:00,3564.00,3566.00,3561.00,3563.00,7027,0
+2006-01-18,09:19:00,3562.00,3563.00,3558.00,3559.00,6840,0
+2006-01-18,09:20:00,3560.00,3562.00,3560.00,3561.00,3996,0
+2006-01-18,09:21:00,3561.00,3563.00,3560.00,3563.00,2766,0
+2006-01-18,09:22:00,3563.00,3564.00,3562.00,3564.00,3104,0
+2006-01-18,09:23:00,3564.00,3564.00,3563.00,3564.00,2082,0
+2006-01-18,09:24:00,3564.00,3565.00,3563.00,3565.00,2163,0
+2006-01-18,09:25:00,3565.00,3565.00,3563.00,3564.00,2801,0
+2006-01-18,09:26:00,3564.00,3566.00,3563.00,3565.00,2367,0
+2006-01-18,09:27:00,3566.00,3566.00,3564.00,3564.00,1544,0
+2006-01-18,09:28:00,3565.00,3566.00,3564.00,3565.00,1727,0
+2006-01-18,09:29:00,3564.00,3567.00,3564.00,3567.00,2568,0
+2006-01-18,09:30:00,3566.00,3568.00,3566.00,3568.00,2286,0
+2006-01-18,09:31:00,3568.00,3570.00,3568.00,3569.00,2317,0
+2006-01-18,09:32:00,3570.00,3571.00,3568.00,3570.00,3192,0
+2006-01-18,09:33:00,3570.00,3573.00,3570.00,3573.00,3759,0
+2006-01-18,09:34:00,3573.00,3576.00,3572.00,3575.00,7440,0
+2006-01-18,09:35:00,3574.00,3577.00,3574.00,3576.00,6057,0
+2006-01-18,09:36:00,3577.00,3577.00,3574.00,3576.00,4346,0
+2006-01-18,09:37:00,3576.00,3577.00,3575.00,3575.00,3294,0
+2006-01-18,09:38:00,3574.00,3575.00,3573.00,3574.00,2638,0
+2006-01-18,09:39:00,3574.00,3575.00,3572.00,3573.00,1631,0
+2006-01-18,09:40:00,3573.00,3574.00,3571.00,3571.00,5009,0
+2006-01-18,09:41:00,3571.00,3572.00,3570.00,3571.00,1700,0
+2006-01-18,09:42:00,3571.00,3572.00,3570.00,3571.00,1825,0
+2006-01-18,09:43:00,3571.00,3572.00,3571.00,3571.00,748,0
+2006-01-18,09:44:00,3572.00,3574.00,3572.00,3574.00,1433,0
+2006-01-18,09:45:00,3573.00,3574.00,3573.00,3573.00,1047,0
+2006-01-18,09:46:00,3573.00,3575.00,3573.00,3573.00,2086,0
+2006-01-18,09:47:00,3574.00,3575.00,3573.00,3573.00,1409,0
+2006-01-18,09:48:00,3573.00,3573.00,3572.00,3573.00,1663,0
+2006-01-18,09:49:00,3574.00,3575.00,3573.00,3574.00,2119,0
+2006-01-18,09:50:00,3573.00,3574.00,3572.00,3573.00,1586,0
+2006-01-18,09:51:00,3573.00,3573.00,3571.00,3571.00,1613,0
+2006-01-18,09:52:00,3572.00,3572.00,3571.00,3572.00,948,0
+2006-01-18,09:53:00,3572.00,3573.00,3571.00,3573.00,1311,0
+2006-01-18,09:54:00,3573.00,3574.00,3570.00,3571.00,3348,0
+2006-01-18,09:55:00,3571.00,3572.00,3571.00,3571.00,551,0
+2006-01-18,09:56:00,3571.00,3573.00,3571.00,3573.00,897,0
+2006-01-18,09:57:00,3573.00,3574.00,3573.00,3573.00,869,0
+2006-01-18,09:58:00,3573.00,3574.00,3572.00,3573.00,708,0
+2006-01-18,09:59:00,3574.00,3574.00,3573.00,3574.00,910,0
+2006-01-18,10:00:00,3575.00,3575.00,3574.00,3574.00,1117,0
+2006-01-18,10:01:00,3574.00,3574.00,3573.00,3574.00,1493,0
+2006-01-18,10:02:00,3574.00,3575.00,3573.00,3573.00,1479,0
+2006-01-18,10:03:00,3573.00,3574.00,3572.00,3573.00,1804,0
+2006-01-18,10:04:00,3573.00,3574.00,3572.00,3573.00,489,0
+2006-01-18,10:05:00,3573.00,3574.00,3573.00,3574.00,1470,0
+2006-01-18,10:06:00,3574.00,3574.00,3573.00,3574.00,219,0
+2006-01-18,10:07:00,3573.00,3574.00,3570.00,3572.00,5044,0
+2006-01-18,10:08:00,3572.00,3572.00,3569.00,3570.00,2045,0
+2006-01-18,10:09:00,3570.00,3572.00,3570.00,3571.00,1703,0
+2006-01-18,10:10:00,3572.00,3573.00,3570.00,3572.00,3948,0
+2006-01-18,10:11:00,3572.00,3572.00,3569.00,3570.00,3213,0
+2006-01-18,10:12:00,3571.00,3571.00,3570.00,3570.00,2116,0
+2006-01-18,10:13:00,3570.00,3571.00,3570.00,3571.00,939,0
+2006-01-18,10:14:00,3571.00,3572.00,3570.00,3570.00,1325,0
+2006-01-18,10:15:00,3570.00,3571.00,3568.00,3568.00,4672,0
+2006-01-18,10:16:00,3569.00,3569.00,3567.00,3567.00,1672,0
+2006-01-18,10:17:00,3568.00,3569.00,3567.00,3568.00,1582,0
+2006-01-18,10:18:00,3568.00,3568.00,3566.00,3566.00,5296,0
+2006-01-18,10:19:00,3566.00,3569.00,3566.00,3568.00,6320,0
+2006-01-18,10:20:00,3568.00,3569.00,3568.00,3568.00,3362,0
+2006-01-18,10:21:00,3568.00,3569.00,3568.00,3568.00,2437,0
+2006-01-18,10:22:00,3568.00,3568.00,3566.00,3567.00,2140,0
+2006-01-18,10:23:00,3567.00,3567.00,3564.00,3564.00,4437,0
+2006-01-18,10:24:00,3564.00,3565.00,3564.00,3565.00,2760,0
+2006-01-18,10:25:00,3565.00,3566.00,3564.00,3565.00,1202,0
+2006-01-18,10:26:00,3565.00,3565.00,3564.00,3565.00,1263,0
+2006-01-18,10:27:00,3565.00,3566.00,3565.00,3566.00,2433,0
+2006-01-18,10:28:00,3566.00,3568.00,3566.00,3568.00,2462,0
+2006-01-18,10:29:00,3568.00,3568.00,3566.00,3567.00,1835,0
+2006-01-18,10:30:00,3567.00,3568.00,3565.00,3566.00,2314,0
+2006-01-18,10:31:00,3565.00,3566.00,3565.00,3565.00,678,0
+2006-01-18,10:32:00,3565.00,3568.00,3565.00,3567.00,1766,0
+2006-01-18,10:33:00,3568.00,3568.00,3565.00,3566.00,2422,0
+2006-01-18,10:34:00,3566.00,3566.00,3565.00,3565.00,1290,0
+2006-01-18,10:35:00,3565.00,3567.00,3565.00,3567.00,445,0
+2006-01-18,10:36:00,3567.00,3567.00,3566.00,3566.00,568,0
+2006-01-18,10:37:00,3567.00,3568.00,3566.00,3567.00,1304,0
+2006-01-18,10:38:00,3567.00,3567.00,3566.00,3566.00,4395,0
+2006-01-18,10:39:00,3567.00,3567.00,3566.00,3566.00,481,0
+2006-01-18,10:40:00,3567.00,3567.00,3566.00,3566.00,237,0
+2006-01-18,10:41:00,3566.00,3566.00,3566.00,3566.00,257,0
+2006-01-18,10:42:00,3567.00,3567.00,3566.00,3566.00,404,0
+2006-01-18,10:43:00,3566.00,3567.00,3566.00,3566.00,79,0
+2006-01-18,10:44:00,3566.00,3567.00,3566.00,3566.00,1519,0
+2006-01-18,10:45:00,3566.00,3568.00,3566.00,3568.00,956,0
+2006-01-18,10:46:00,3567.00,3569.00,3567.00,3567.00,1535,0
+2006-01-18,10:47:00,3568.00,3569.00,3567.00,3568.00,381,0
+2006-01-18,10:48:00,3568.00,3569.00,3568.00,3568.00,318,0
+2006-01-18,10:49:00,3568.00,3568.00,3567.00,3568.00,254,0
+2006-01-18,10:50:00,3568.00,3568.00,3567.00,3567.00,303,0
+2006-01-18,10:51:00,3568.00,3568.00,3567.00,3567.00,375,0
+2006-01-18,10:52:00,3567.00,3567.00,3566.00,3567.00,434,0
+2006-01-18,10:53:00,3567.00,3567.00,3566.00,3566.00,2730,0
+2006-01-18,10:54:00,3566.00,3567.00,3566.00,3566.00,679,0
+2006-01-18,10:55:00,3566.00,3566.00,3564.00,3565.00,2538,0
+2006-01-18,10:56:00,3565.00,3566.00,3565.00,3566.00,1144,0
+2006-01-18,10:57:00,3566.00,3567.00,3566.00,3566.00,658,0
+2006-01-18,10:58:00,3567.00,3568.00,3567.00,3568.00,2777,0
+2006-01-18,10:59:00,3568.00,3568.00,3567.00,3567.00,1115,0
+2006-01-18,11:00:00,3568.00,3568.00,3567.00,3568.00,517,0
+2006-01-18,11:01:00,3568.00,3568.00,3567.00,3568.00,377,0
+2006-01-18,11:02:00,3567.00,3568.00,3567.00,3568.00,285,0
+2006-01-18,11:03:00,3568.00,3568.00,3567.00,3568.00,321,0
+2006-01-18,11:04:00,3568.00,3569.00,3568.00,3569.00,148,0
+2006-01-18,11:05:00,3569.00,3569.00,3567.00,3569.00,2305,0
+2006-01-18,11:06:00,3569.00,3570.00,3568.00,3569.00,1297,0
+2006-01-18,11:07:00,3568.00,3571.00,3568.00,3571.00,1538,0
+2006-01-18,11:08:00,3570.00,3571.00,3569.00,3571.00,1867,0
+2006-01-18,11:09:00,3570.00,3571.00,3570.00,3571.00,1501,0
+2006-01-18,11:10:00,3570.00,3572.00,3570.00,3572.00,463,0
+2006-01-18,11:11:00,3571.00,3571.00,3570.00,3570.00,495,0
+2006-01-18,11:12:00,3570.00,3571.00,3570.00,3571.00,760,0
+2006-01-18,11:13:00,3571.00,3571.00,3570.00,3571.00,1881,0
+2006-01-18,11:14:00,3570.00,3571.00,3570.00,3571.00,931,0
+2006-01-18,11:15:00,3571.00,3571.00,3570.00,3571.00,905,0
+2006-01-18,11:16:00,3571.00,3572.00,3571.00,3572.00,1417,0
+2006-01-18,11:17:00,3572.00,3573.00,3571.00,3572.00,1615,0
+2006-01-18,11:18:00,3572.00,3573.00,3572.00,3573.00,1131,0
+2006-01-18,11:19:00,3572.00,3572.00,3571.00,3572.00,651,0
+2006-01-18,11:20:00,3572.00,3573.00,3572.00,3573.00,323,0
+2006-01-18,11:21:00,3573.00,3574.00,3572.00,3572.00,1598,0
+2006-01-18,11:22:00,3572.00,3572.00,3572.00,3572.00,384,0
+2006-01-18,11:23:00,3572.00,3574.00,3572.00,3573.00,924,0
+2006-01-18,11:24:00,3573.00,3573.00,3572.00,3572.00,538,0
+2006-01-18,11:25:00,3573.00,3574.00,3572.00,3573.00,594,0
+2006-01-18,11:26:00,3572.00,3573.00,3572.00,3572.00,822,0
+2006-01-18,11:27:00,3572.00,3572.00,3571.00,3572.00,50,0
+2006-01-18,11:28:00,3572.00,3572.00,3572.00,3572.00,18,0
+2006-01-18,11:29:00,3571.00,3572.00,3571.00,3572.00,703,0
+2006-01-18,11:30:00,3572.00,3572.00,3571.00,3572.00,358,0
+2006-01-18,11:31:00,3571.00,3572.00,3571.00,3571.00,129,0
+2006-01-18,11:32:00,3572.00,3572.00,3571.00,3571.00,2270,0
+2006-01-18,11:33:00,3572.00,3572.00,3571.00,3571.00,987,0
+2006-01-18,11:34:00,3572.00,3572.00,3571.00,3571.00,66,0
+2006-01-18,11:35:00,3572.00,3572.00,3571.00,3572.00,77,0
+2006-01-18,11:36:00,3572.00,3572.00,3571.00,3572.00,112,0
+2006-01-18,11:37:00,3571.00,3571.00,3570.00,3570.00,2342,0
+2006-01-18,11:38:00,3570.00,3570.00,3568.00,3569.00,832,0
+2006-01-18,11:39:00,3570.00,3570.00,3568.00,3568.00,1454,0
+2006-01-18,11:40:00,3569.00,3569.00,3568.00,3569.00,563,0
+2006-01-18,11:41:00,3568.00,3570.00,3568.00,3569.00,807,0
+2006-01-18,11:42:00,3570.00,3570.00,3569.00,3570.00,307,0
+2006-01-18,11:43:00,3569.00,3570.00,3569.00,3570.00,70,0
+2006-01-18,11:44:00,3570.00,3571.00,3569.00,3570.00,785,0
+2006-01-18,11:45:00,3570.00,3571.00,3570.00,3571.00,560,0
+2006-01-18,11:46:00,3571.00,3571.00,3569.00,3570.00,1467,0
+2006-01-18,11:47:00,3570.00,3570.00,3570.00,3570.00,158,0
+2006-01-18,11:48:00,3569.00,3570.00,3569.00,3569.00,91,0
+2006-01-18,11:49:00,3570.00,3571.00,3569.00,3571.00,651,0
+2006-01-18,11:50:00,3570.00,3571.00,3569.00,3570.00,1161,0
+2006-01-18,11:51:00,3571.00,3571.00,3570.00,3570.00,311,0
+2006-01-18,11:52:00,3570.00,3570.00,3570.00,3570.00,1772,0
+2006-01-18,11:53:00,3570.00,3570.00,3570.00,3570.00,55,0
+2006-01-18,11:54:00,3571.00,3571.00,3570.00,3571.00,76,0
+2006-01-18,11:55:00,3571.00,3571.00,3571.00,3571.00,293,0
+2006-01-18,11:56:00,3570.00,3571.00,3570.00,3570.00,551,0
+2006-01-18,11:57:00,3570.00,3571.00,3569.00,3570.00,421,0
+2006-01-18,11:58:00,3570.00,3570.00,3569.00,3570.00,770,0
+2006-01-18,11:59:00,3570.00,3570.00,3569.00,3570.00,693,0
+2006-01-18,12:00:00,3570.00,3570.00,3570.00,3570.00,76,0
+2006-01-18,12:01:00,3570.00,3570.00,3569.00,3569.00,341,0
+2006-01-18,12:02:00,3570.00,3570.00,3569.00,3569.00,128,0
+2006-01-18,12:03:00,3569.00,3570.00,3569.00,3569.00,1385,0
+2006-01-18,12:04:00,3569.00,3570.00,3569.00,3569.00,105,0
+2006-01-18,12:05:00,3570.00,3570.00,3569.00,3570.00,3011,0
+2006-01-18,12:06:00,3570.00,3570.00,3569.00,3569.00,8,0
+2006-01-18,12:07:00,3569.00,3570.00,3569.00,3569.00,960,0
+2006-01-18,12:08:00,3569.00,3570.00,3569.00,3570.00,1523,0
+2006-01-18,12:09:00,3570.00,3570.00,3569.00,3569.00,7,0
+2006-01-18,12:10:00,3570.00,3570.00,3569.00,3569.00,49,0
+2006-01-18,12:11:00,3569.00,3570.00,3568.00,3569.00,787,0
+2006-01-18,12:12:00,3569.00,3569.00,3569.00,3569.00,157,0
+2006-01-18,12:13:00,3569.00,3569.00,3568.00,3569.00,712,0
+2006-01-18,12:14:00,3569.00,3569.00,3569.00,3569.00,328,0
+2006-01-18,12:15:00,3570.00,3570.00,3570.00,3570.00,51,0
+2006-01-18,12:16:00,3570.00,3570.00,3568.00,3568.00,218,0
+2006-01-18,12:17:00,3569.00,3569.00,3568.00,3569.00,924,0
+2006-01-18,12:18:00,3569.00,3569.00,3569.00,3569.00,227,0
+2006-01-18,12:19:00,3569.00,3569.00,3568.00,3569.00,2917,0
+2006-01-18,12:20:00,3569.00,3569.00,3569.00,3569.00,196,0
+2006-01-18,12:21:00,3568.00,3569.00,3568.00,3568.00,66,0
+2006-01-18,12:22:00,3569.00,3569.00,3568.00,3568.00,374,0
+2006-01-18,12:23:00,3569.00,3569.00,3568.00,3568.00,125,0
+2006-01-18,12:24:00,3568.00,3568.00,3567.00,3568.00,716,0
+2006-01-18,12:25:00,3568.00,3569.00,3568.00,3568.00,1126,0
+2006-01-18,12:26:00,3567.00,3567.00,3567.00,3567.00,2,0
+2006-01-18,12:27:00,3567.00,3568.00,3567.00,3568.00,152,0
+2006-01-18,12:28:00,3568.00,3568.00,3568.00,3568.00,104,0
+2006-01-18,12:29:00,3568.00,3568.00,3568.00,3568.00,416,0
+2006-01-18,12:30:00,3568.00,3568.00,3567.00,3568.00,295,0
+2006-01-18,12:31:00,3568.00,3568.00,3568.00,3568.00,318,0
+2006-01-18,12:32:00,3568.00,3569.00,3568.00,3568.00,660,0
+2006-01-18,12:33:00,3568.00,3568.00,3568.00,3568.00,153,0
+2006-01-18,12:35:00,3569.00,3569.00,3568.00,3568.00,212,0
+2006-01-18,12:36:00,3568.00,3568.00,3568.00,3568.00,445,0
+2006-01-18,12:37:00,3568.00,3568.00,3568.00,3568.00,149,0
+2006-01-18,12:38:00,3568.00,3568.00,3567.00,3567.00,409,0
+2006-01-18,12:39:00,3568.00,3568.00,3567.00,3567.00,152,0
+2006-01-18,12:40:00,3568.00,3568.00,3566.00,3568.00,778,0
+2006-01-18,12:41:00,3568.00,3568.00,3568.00,3568.00,502,0
+2006-01-18,12:42:00,3568.00,3568.00,3567.00,3568.00,2449,0
+2006-01-18,12:43:00,3568.00,3569.00,3568.00,3568.00,364,0
+2006-01-18,12:44:00,3568.00,3568.00,3567.00,3568.00,229,0
+2006-01-18,12:45:00,3568.00,3568.00,3566.00,3567.00,1032,0
+2006-01-18,12:46:00,3567.00,3568.00,3566.00,3568.00,885,0
+2006-01-18,12:47:00,3568.00,3568.00,3567.00,3568.00,280,0
+2006-01-18,12:48:00,3567.00,3568.00,3566.00,3567.00,571,0
+2006-01-18,12:49:00,3566.00,3567.00,3566.00,3567.00,2413,0
+2006-01-18,12:50:00,3567.00,3567.00,3566.00,3567.00,39,0
+2006-01-18,12:51:00,3567.00,3568.00,3567.00,3568.00,810,0
+2006-01-18,12:52:00,3568.00,3569.00,3568.00,3568.00,1598,0
+2006-01-18,12:53:00,3568.00,3569.00,3567.00,3568.00,319,0
+2006-01-18,12:54:00,3568.00,3568.00,3568.00,3568.00,452,0
+2006-01-18,12:55:00,3569.00,3569.00,3568.00,3569.00,128,0
+2006-01-18,12:56:00,3568.00,3569.00,3567.00,3567.00,192,0
+2006-01-18,12:57:00,3568.00,3568.00,3566.00,3566.00,357,0
+2006-01-18,12:58:00,3566.00,3567.00,3566.00,3567.00,190,0
+2006-01-18,12:59:00,3567.00,3567.00,3566.00,3567.00,506,0
+2006-01-18,13:00:00,3567.00,3567.00,3566.00,3567.00,207,0
+2006-01-18,13:01:00,3567.00,3567.00,3566.00,3567.00,29,0
+2006-01-18,13:02:00,3567.00,3567.00,3565.00,3566.00,734,0
+2006-01-18,13:03:00,3565.00,3568.00,3565.00,3567.00,402,0
+2006-01-18,13:04:00,3567.00,3568.00,3567.00,3567.00,670,0
+2006-01-18,13:05:00,3567.00,3567.00,3566.00,3567.00,372,0
+2006-01-18,13:06:00,3566.00,3568.00,3566.00,3568.00,368,0
+2006-01-18,13:07:00,3568.00,3568.00,3567.00,3567.00,115,0
+2006-01-18,13:08:00,3568.00,3569.00,3568.00,3569.00,735,0
+2006-01-18,13:09:00,3569.00,3569.00,3568.00,3568.00,1123,0
+2006-01-18,13:10:00,3568.00,3569.00,3568.00,3568.00,355,0
+2006-01-18,13:11:00,3569.00,3570.00,3568.00,3570.00,508,0
+2006-01-18,13:12:00,3569.00,3571.00,3569.00,3571.00,926,0
+2006-01-18,13:13:00,3570.00,3571.00,3570.00,3570.00,458,0
+2006-01-18,13:14:00,3570.00,3570.00,3570.00,3570.00,245,0
+2006-01-18,13:15:00,3570.00,3571.00,3570.00,3571.00,1817,0
+2006-01-18,13:16:00,3570.00,3570.00,3569.00,3569.00,428,0
+2006-01-18,13:17:00,3570.00,3572.00,3570.00,3572.00,2390,0
+2006-01-18,13:18:00,3572.00,3574.00,3571.00,3573.00,2740,0
+2006-01-18,13:19:00,3573.00,3574.00,3572.00,3573.00,1765,0
+2006-01-18,13:20:00,3573.00,3575.00,3573.00,3574.00,889,0
+2006-01-18,13:21:00,3574.00,3574.00,3573.00,3573.00,734,0
+2006-01-18,13:22:00,3574.00,3575.00,3574.00,3575.00,1882,0
+2006-01-18,13:23:00,3574.00,3575.00,3574.00,3574.00,857,0
+2006-01-18,13:24:00,3574.00,3575.00,3573.00,3575.00,607,0
+2006-01-18,13:25:00,3574.00,3576.00,3574.00,3576.00,864,0
+2006-01-18,13:26:00,3576.00,3577.00,3575.00,3577.00,4674,0
+2006-01-18,13:27:00,3577.00,3577.00,3576.00,3577.00,252,0
+2006-01-18,13:28:00,3577.00,3577.00,3576.00,3576.00,1621,0
+2006-01-18,13:29:00,3576.00,3576.00,3575.00,3575.00,314,0
+2006-01-18,13:30:00,3576.00,3578.00,3575.00,3577.00,1289,0
+2006-01-18,13:31:00,3577.00,3578.00,3577.00,3577.00,954,0
+2006-01-18,13:32:00,3578.00,3578.00,3577.00,3578.00,304,0
+2006-01-18,13:33:00,3578.00,3580.00,3578.00,3579.00,2621,0
+2006-01-18,13:34:00,3578.00,3579.00,3577.00,3578.00,654,0
+2006-01-18,13:35:00,3578.00,3579.00,3578.00,3578.00,796,0
+2006-01-18,13:36:00,3578.00,3579.00,3577.00,3578.00,954,0
+2006-01-18,13:37:00,3579.00,3579.00,3578.00,3578.00,247,0
+2006-01-18,13:38:00,3579.00,3579.00,3578.00,3578.00,116,0
+2006-01-18,13:39:00,3579.00,3579.00,3577.00,3578.00,1364,0
+2006-01-18,13:40:00,3577.00,3577.00,3576.00,3576.00,1076,0
+2006-01-18,13:41:00,3576.00,3576.00,3575.00,3576.00,544,0
+2006-01-18,13:42:00,3576.00,3576.00,3575.00,3575.00,73,0
+2006-01-18,13:43:00,3576.00,3577.00,3576.00,3577.00,477,0
+2006-01-18,13:44:00,3576.00,3577.00,3576.00,3577.00,420,0
+2006-01-18,13:45:00,3576.00,3577.00,3576.00,3577.00,154,0
+2006-01-18,13:46:00,3576.00,3577.00,3576.00,3577.00,1059,0
+2006-01-18,13:47:00,3576.00,3577.00,3575.00,3576.00,731,0
+2006-01-18,13:48:00,3575.00,3576.00,3575.00,3576.00,291,0
+2006-01-18,13:49:00,3576.00,3576.00,3575.00,3575.00,1129,0
+2006-01-18,13:50:00,3576.00,3576.00,3575.00,3576.00,78,0
+2006-01-18,13:51:00,3575.00,3576.00,3575.00,3576.00,32,0
+2006-01-18,13:52:00,3576.00,3576.00,3575.00,3576.00,847,0
+2006-01-18,13:54:00,3576.00,3576.00,3575.00,3575.00,181,0
+2006-01-18,13:55:00,3575.00,3576.00,3575.00,3576.00,37,0
+2006-01-18,13:56:00,3576.00,3576.00,3576.00,3576.00,602,0
+2006-01-18,13:57:00,3576.00,3576.00,3576.00,3576.00,163,0
+2006-01-18,13:58:00,3575.00,3576.00,3574.00,3574.00,1074,0
+2006-01-18,13:59:00,3574.00,3575.00,3573.00,3573.00,1061,0
+2006-01-18,14:00:00,3574.00,3575.00,3574.00,3574.00,862,0
+2006-01-18,14:01:00,3574.00,3574.00,3574.00,3574.00,776,0
+2006-01-18,14:02:00,3574.00,3575.00,3574.00,3575.00,35,0
+2006-01-18,14:03:00,3574.00,3575.00,3574.00,3574.00,26,0
+2006-01-18,14:04:00,3574.00,3575.00,3574.00,3574.00,482,0
+2006-01-18,14:05:00,3573.00,3573.00,3573.00,3573.00,295,0
+2006-01-18,14:06:00,3573.00,3574.00,3572.00,3573.00,1002,0
+2006-01-18,14:07:00,3574.00,3574.00,3573.00,3573.00,1479,0
+2006-01-18,14:08:00,3573.00,3573.00,3572.00,3573.00,482,0
+2006-01-18,14:09:00,3573.00,3573.00,3573.00,3573.00,312,0
+2006-01-18,14:10:00,3573.00,3573.00,3573.00,3573.00,98,0
+2006-01-18,14:11:00,3572.00,3573.00,3572.00,3573.00,134,0
+2006-01-18,14:12:00,3572.00,3573.00,3572.00,3573.00,4,0
+2006-01-18,14:13:00,3573.00,3574.00,3572.00,3573.00,843,0
+2006-01-18,14:14:00,3573.00,3573.00,3572.00,3572.00,888,0
+2006-01-18,14:15:00,3573.00,3573.00,3572.00,3573.00,116,0
+2006-01-18,14:16:00,3573.00,3573.00,3573.00,3573.00,25,0
+2006-01-18,14:17:00,3573.00,3573.00,3572.00,3573.00,145,0
+2006-01-18,14:18:00,3573.00,3573.00,3572.00,3573.00,376,0
+2006-01-18,14:19:00,3573.00,3573.00,3572.00,3573.00,57,0
+2006-01-18,14:20:00,3573.00,3573.00,3572.00,3573.00,232,0
+2006-01-18,14:21:00,3573.00,3573.00,3573.00,3573.00,386,0
+2006-01-18,14:22:00,3573.00,3574.00,3573.00,3573.00,1283,0
+2006-01-18,14:23:00,3574.00,3574.00,3573.00,3574.00,192,0
+2006-01-18,14:24:00,3574.00,3574.00,3573.00,3574.00,64,0
+2006-01-18,14:25:00,3573.00,3574.00,3573.00,3574.00,194,0
+2006-01-18,14:26:00,3574.00,3574.00,3573.00,3574.00,253,0
+2006-01-18,14:27:00,3574.00,3575.00,3573.00,3575.00,927,0
+2006-01-18,14:28:00,3575.00,3575.00,3574.00,3575.00,348,0
+2006-01-18,14:29:00,3574.00,3575.00,3574.00,3575.00,390,0
+2006-01-18,14:30:00,3575.00,3575.00,3574.00,3575.00,139,0
+2006-01-18,14:31:00,3574.00,3577.00,3574.00,3576.00,3367,0
+2006-01-18,14:32:00,3577.00,3578.00,3576.00,3578.00,2425,0
+2006-01-18,14:33:00,3577.00,3577.00,3574.00,3575.00,1340,0
+2006-01-18,14:34:00,3575.00,3576.00,3575.00,3575.00,699,0
+2006-01-18,14:35:00,3575.00,3575.00,3574.00,3575.00,135,0
+2006-01-18,14:36:00,3574.00,3575.00,3573.00,3573.00,263,0
+2006-01-18,14:37:00,3573.00,3574.00,3573.00,3574.00,532,0
+2006-01-18,14:38:00,3574.00,3575.00,3574.00,3574.00,1051,0
+2006-01-18,14:39:00,3574.00,3574.00,3573.00,3574.00,219,0
+2006-01-18,14:40:00,3573.00,3574.00,3573.00,3574.00,859,0
+2006-01-18,14:41:00,3574.00,3575.00,3574.00,3575.00,193,0
+2006-01-18,14:42:00,3575.00,3575.00,3575.00,3575.00,191,0
+2006-01-18,14:43:00,3574.00,3575.00,3574.00,3575.00,464,0
+2006-01-18,14:44:00,3575.00,3576.00,3575.00,3576.00,402,0
+2006-01-18,14:45:00,3576.00,3576.00,3575.00,3575.00,61,0
+2006-01-18,14:46:00,3575.00,3576.00,3575.00,3575.00,763,0
+2006-01-18,14:47:00,3575.00,3575.00,3575.00,3575.00,145,0
+2006-01-18,14:48:00,3575.00,3575.00,3574.00,3574.00,143,0
+2006-01-18,14:49:00,3575.00,3576.00,3575.00,3575.00,719,0
+2006-01-18,14:50:00,3575.00,3575.00,3574.00,3575.00,1506,0
+2006-01-18,14:51:00,3575.00,3576.00,3575.00,3576.00,565,0
+2006-01-18,14:52:00,3575.00,3576.00,3575.00,3575.00,242,0
+2006-01-18,14:53:00,3575.00,3576.00,3574.00,3574.00,262,0
+2006-01-18,14:54:00,3575.00,3576.00,3575.00,3575.00,577,0
+2006-01-18,14:55:00,3575.00,3576.00,3575.00,3576.00,359,0
+2006-01-18,14:56:00,3576.00,3577.00,3576.00,3577.00,489,0
+2006-01-18,14:57:00,3576.00,3577.00,3576.00,3576.00,316,0
+2006-01-18,14:58:00,3576.00,3577.00,3576.00,3577.00,247,0
+2006-01-18,14:59:00,3577.00,3579.00,3576.00,3578.00,1586,0
+2006-01-18,15:00:00,3578.00,3580.00,3578.00,3580.00,1692,0
+2006-01-18,15:01:00,3579.00,3581.00,3579.00,3580.00,2301,0
+2006-01-18,15:02:00,3580.00,3580.00,3579.00,3579.00,852,0
+2006-01-18,15:03:00,3579.00,3580.00,3578.00,3579.00,1700,0
+2006-01-18,15:04:00,3579.00,3581.00,3579.00,3579.00,1672,0
+2006-01-18,15:05:00,3580.00,3580.00,3579.00,3579.00,1126,0
+2006-01-18,15:06:00,3580.00,3582.00,3580.00,3581.00,2435,0
+2006-01-18,15:07:00,3581.00,3581.00,3580.00,3581.00,650,0
+2006-01-18,15:08:00,3580.00,3581.00,3580.00,3580.00,639,0
+2006-01-18,15:09:00,3581.00,3582.00,3581.00,3582.00,1503,0
+2006-01-18,15:10:00,3581.00,3584.00,3581.00,3584.00,5650,0
+2006-01-18,15:11:00,3584.00,3586.00,3584.00,3585.00,6444,0
+2006-01-18,15:12:00,3584.00,3585.00,3584.00,3585.00,1047,0
+2006-01-18,15:13:00,3584.00,3585.00,3584.00,3584.00,2586,0
+2006-01-18,15:14:00,3585.00,3585.00,3584.00,3584.00,1676,0
+2006-01-18,15:15:00,3584.00,3585.00,3583.00,3584.00,242,0
+2006-01-18,15:16:00,3583.00,3584.00,3583.00,3584.00,72,0
+2006-01-18,15:17:00,3583.00,3584.00,3582.00,3583.00,988,0
+2006-01-18,15:18:00,3583.00,3583.00,3582.00,3583.00,1208,0
+2006-01-18,15:19:00,3583.00,3584.00,3583.00,3583.00,1251,0
+2006-01-18,15:20:00,3582.00,3583.00,3582.00,3582.00,660,0
+2006-01-18,15:21:00,3582.00,3583.00,3582.00,3583.00,261,0
+2006-01-18,15:22:00,3583.00,3583.00,3582.00,3583.00,699,0
+2006-01-18,15:23:00,3582.00,3583.00,3582.00,3583.00,162,0
+2006-01-18,15:24:00,3582.00,3583.00,3582.00,3583.00,314,0
+2006-01-18,15:25:00,3583.00,3583.00,3582.00,3583.00,133,0
+2006-01-18,15:26:00,3583.00,3584.00,3582.00,3583.00,393,0
+2006-01-18,15:27:00,3583.00,3583.00,3582.00,3583.00,485,0
+2006-01-18,15:28:00,3583.00,3583.00,3582.00,3582.00,266,0
+2006-01-18,15:29:00,3582.00,3583.00,3582.00,3582.00,86,0
+2006-01-18,15:30:00,3582.00,3583.00,3581.00,3581.00,2635,0
+2006-01-18,15:31:00,3581.00,3582.00,3580.00,3581.00,1505,0
+2006-01-18,15:32:00,3581.00,3582.00,3581.00,3581.00,1326,0
+2006-01-18,15:33:00,3582.00,3582.00,3581.00,3582.00,1416,0
+2006-01-18,15:34:00,3581.00,3582.00,3581.00,3581.00,207,0
+2006-01-18,15:35:00,3582.00,3582.00,3580.00,3580.00,840,0
+2006-01-18,15:36:00,3580.00,3581.00,3579.00,3580.00,2503,0
+2006-01-18,15:37:00,3580.00,3581.00,3580.00,3580.00,1126,0
+2006-01-18,15:38:00,3579.00,3580.00,3579.00,3579.00,2224,0
+2006-01-18,15:39:00,3578.00,3578.00,3577.00,3578.00,2690,0
+2006-01-18,15:40:00,3578.00,3579.00,3577.00,3579.00,2534,0
+2006-01-18,15:41:00,3578.00,3579.00,3577.00,3578.00,2272,0
+2006-01-18,15:42:00,3578.00,3578.00,3577.00,3578.00,1510,0
+2006-01-18,15:43:00,3578.00,3580.00,3578.00,3579.00,1658,0
+2006-01-18,15:44:00,3580.00,3582.00,3580.00,3582.00,2218,0
+2006-01-18,15:45:00,3581.00,3587.00,3581.00,3587.00,6538,0
+2006-01-18,15:46:00,3587.00,3588.00,3586.00,3587.00,6401,0
+2006-01-18,15:47:00,3587.00,3587.00,3585.00,3587.00,1727,0
+2006-01-18,15:48:00,3587.00,3589.00,3586.00,3587.00,3139,0
+2006-01-18,15:49:00,3588.00,3589.00,3586.00,3586.00,2925,0
+2006-01-18,15:50:00,3587.00,3587.00,3585.00,3586.00,1948,0
+2006-01-18,15:51:00,3585.00,3587.00,3585.00,3587.00,2013,0
+2006-01-18,15:52:00,3586.00,3587.00,3586.00,3587.00,1351,0
+2006-01-18,15:53:00,3587.00,3588.00,3585.00,3585.00,1566,0
+2006-01-18,15:54:00,3585.00,3587.00,3585.00,3586.00,1226,0
+2006-01-18,15:55:00,3585.00,3586.00,3584.00,3584.00,1003,0
+2006-01-18,15:56:00,3584.00,3585.00,3584.00,3584.00,1466,0
+2006-01-18,15:57:00,3584.00,3585.00,3583.00,3584.00,1442,0
+2006-01-18,15:58:00,3584.00,3584.00,3583.00,3583.00,1596,0
+2006-01-18,15:59:00,3583.00,3584.00,3582.00,3582.00,1780,0
+2006-01-18,16:00:00,3582.00,3584.00,3582.00,3584.00,1937,0
+2006-01-18,16:01:00,3583.00,3584.00,3581.00,3582.00,6629,0
+2006-01-18,16:02:00,3582.00,3583.00,3581.00,3583.00,1296,0
+2006-01-18,16:03:00,3582.00,3583.00,3582.00,3583.00,2015,0
+2006-01-18,16:04:00,3583.00,3584.00,3582.00,3583.00,2082,0
+2006-01-18,16:05:00,3584.00,3585.00,3583.00,3585.00,1439,0
+2006-01-18,16:06:00,3585.00,3587.00,3584.00,3587.00,3687,0
+2006-01-18,16:07:00,3587.00,3589.00,3587.00,3589.00,2906,0
+2006-01-18,16:08:00,3589.00,3590.00,3588.00,3588.00,2886,0
+2006-01-18,16:09:00,3589.00,3590.00,3588.00,3590.00,3201,0
+2006-01-18,16:10:00,3589.00,3589.00,3588.00,3588.00,1635,0
+2006-01-18,16:11:00,3589.00,3589.00,3588.00,3588.00,604,0
+2006-01-18,16:12:00,3589.00,3589.00,3587.00,3587.00,1837,0
+2006-01-18,16:13:00,3588.00,3590.00,3587.00,3589.00,3301,0
+2006-01-18,16:14:00,3588.00,3590.00,3588.00,3589.00,1506,0
+2006-01-18,16:15:00,3589.00,3590.00,3589.00,3590.00,1988,0
+2006-01-18,16:16:00,3590.00,3591.00,3589.00,3590.00,2698,0
+2006-01-18,16:17:00,3589.00,3591.00,3588.00,3591.00,2992,0
+2006-01-18,16:18:00,3591.00,3593.00,3591.00,3592.00,3370,0
+2006-01-18,16:19:00,3592.00,3594.00,3591.00,3593.00,4146,0
+2006-01-18,16:20:00,3593.00,3593.00,3591.00,3592.00,2058,0
+2006-01-18,16:21:00,3591.00,3592.00,3591.00,3592.00,1616,0
+2006-01-18,16:22:00,3592.00,3593.00,3591.00,3593.00,2783,0
+2006-01-18,16:23:00,3593.00,3598.00,3593.00,3598.00,6806,0
+2006-01-18,16:24:00,3597.00,3598.00,3596.00,3597.00,3855,0
+2006-01-18,16:25:00,3597.00,3598.00,3596.00,3597.00,951,0
+2006-01-18,16:26:00,3597.00,3598.00,3596.00,3597.00,2829,0
+2006-01-18,16:27:00,3597.00,3597.00,3596.00,3596.00,1156,0
+2006-01-18,16:28:00,3597.00,3597.00,3595.00,3595.00,3325,0
+2006-01-18,16:29:00,3595.00,3596.00,3594.00,3594.00,2344,0
+2006-01-18,16:30:00,3595.00,3595.00,3594.00,3595.00,774,0
+2006-01-18,16:31:00,3594.00,3595.00,3593.00,3593.00,1133,0
+2006-01-18,16:32:00,3594.00,3594.00,3593.00,3593.00,563,0
+2006-01-18,16:33:00,3593.00,3594.00,3593.00,3594.00,576,0
+2006-01-18,16:34:00,3593.00,3594.00,3592.00,3594.00,4558,0
+2006-01-18,16:35:00,3593.00,3595.00,3593.00,3593.00,2453,0
+2006-01-18,16:36:00,3593.00,3593.00,3592.00,3592.00,1670,0
+2006-01-18,16:37:00,3592.00,3593.00,3592.00,3593.00,857,0
+2006-01-18,16:38:00,3593.00,3593.00,3591.00,3592.00,1148,0
+2006-01-18,16:39:00,3592.00,3592.00,3590.00,3591.00,2302,0
+2006-01-18,16:40:00,3591.00,3591.00,3589.00,3589.00,1846,0
+2006-01-18,16:41:00,3589.00,3591.00,3589.00,3590.00,2283,0
+2006-01-18,16:42:00,3590.00,3592.00,3590.00,3591.00,3334,0
+2006-01-18,16:43:00,3591.00,3592.00,3591.00,3592.00,226,0
+2006-01-18,16:44:00,3592.00,3593.00,3591.00,3592.00,946,0
+2006-01-18,16:45:00,3593.00,3593.00,3592.00,3592.00,1536,0
+2006-01-18,16:46:00,3593.00,3593.00,3592.00,3593.00,578,0
+2006-01-18,16:47:00,3594.00,3594.00,3593.00,3593.00,832,0
+2006-01-18,16:48:00,3593.00,3593.00,3590.00,3591.00,1816,0
+2006-01-18,16:49:00,3590.00,3592.00,3590.00,3591.00,1350,0
+2006-01-18,16:50:00,3591.00,3591.00,3589.00,3589.00,1270,0
+2006-01-18,16:51:00,3589.00,3590.00,3588.00,3589.00,2268,0
+2006-01-18,16:52:00,3589.00,3591.00,3589.00,3590.00,1783,0
+2006-01-18,16:53:00,3589.00,3590.00,3588.00,3590.00,949,0
+2006-01-18,16:54:00,3590.00,3590.00,3589.00,3589.00,502,0
+2006-01-18,16:55:00,3589.00,3591.00,3589.00,3590.00,4043,0
+2006-01-18,16:56:00,3591.00,3591.00,3589.00,3589.00,1413,0
+2006-01-18,16:57:00,3590.00,3591.00,3589.00,3590.00,1302,0
+2006-01-18,16:58:00,3590.00,3591.00,3589.00,3589.00,432,0
+2006-01-18,16:59:00,3590.00,3590.00,3588.00,3588.00,2938,0
+2006-01-18,17:00:00,3589.00,3589.00,3587.00,3588.00,1426,0
+2006-01-18,17:01:00,3587.00,3589.00,3587.00,3588.00,1930,0
+2006-01-18,17:02:00,3588.00,3589.00,3588.00,3589.00,1391,0
+2006-01-18,17:03:00,3589.00,3589.00,3588.00,3589.00,1869,0
+2006-01-18,17:04:00,3589.00,3590.00,3589.00,3590.00,625,0
+2006-01-18,17:05:00,3589.00,3590.00,3588.00,3589.00,1855,0
+2006-01-18,17:06:00,3589.00,3590.00,3589.00,3589.00,2095,0
+2006-01-18,17:07:00,3589.00,3589.00,3588.00,3588.00,1434,0
+2006-01-18,17:08:00,3588.00,3588.00,3588.00,3588.00,1010,0
+2006-01-18,17:09:00,3588.00,3588.00,3587.00,3588.00,714,0
+2006-01-18,17:10:00,3588.00,3588.00,3586.00,3586.00,1867,0
+2006-01-18,17:11:00,3587.00,3588.00,3586.00,3588.00,1375,0
+2006-01-18,17:12:00,3587.00,3588.00,3587.00,3588.00,2131,0
+2006-01-18,17:13:00,3588.00,3588.00,3587.00,3587.00,805,0
+2006-01-18,17:14:00,3587.00,3588.00,3587.00,3588.00,742,0
+2006-01-18,17:15:00,3588.00,3589.00,3588.00,3589.00,1501,0
+2006-01-18,17:16:00,3588.00,3589.00,3587.00,3587.00,663,0
+2006-01-18,17:17:00,3587.00,3588.00,3587.00,3587.00,60,0
+2006-01-18,17:18:00,3587.00,3588.00,3586.00,3586.00,1594,0
+2006-01-18,17:19:00,3586.00,3586.00,3585.00,3585.00,1577,0
+2006-01-18,17:20:00,3586.00,3586.00,3585.00,3586.00,894,0
+2006-01-18,17:21:00,3585.00,3586.00,3585.00,3586.00,254,0
+2006-01-18,17:22:00,3585.00,3587.00,3585.00,3587.00,1166,0
+2006-01-18,17:23:00,3587.00,3588.00,3586.00,3587.00,1077,0
+2006-01-18,17:24:00,3588.00,3589.00,3587.00,3588.00,1703,0
+2006-01-18,17:25:00,3588.00,3588.00,3588.00,3588.00,693,0
+2006-01-18,17:26:00,3587.00,3588.00,3587.00,3588.00,1361,0
+2006-01-18,17:27:00,3587.00,3588.00,3587.00,3587.00,769,0
+2006-01-18,17:28:00,3587.00,3587.00,3586.00,3586.00,519,0
+2006-01-18,17:29:00,3586.00,3586.00,3585.00,3585.00,1558,0
+2006-01-18,17:30:00,3585.00,3585.00,3581.00,3582.00,6565,0
+2006-01-18,17:31:00,3582.00,3583.00,3580.00,3580.00,5445,0
+2006-01-18,17:32:00,3581.00,3581.00,3580.00,3580.00,5278,0
+2006-01-18,17:33:00,3581.00,3581.00,3579.00,3580.00,1566,0
+2006-01-18,17:34:00,3580.00,3580.00,3578.00,3578.00,2920,0
+2006-01-18,17:35:00,3578.00,3578.00,3576.00,3576.00,2641,0
+2006-01-18,17:36:00,3577.00,3577.00,3575.00,3576.00,3288,0
+2006-01-18,17:37:00,3577.00,3578.00,3576.00,3577.00,2045,0
+2006-01-18,17:38:00,3577.00,3578.00,3577.00,3577.00,1850,0
+2006-01-18,17:39:00,3577.00,3578.00,3576.00,3577.00,1675,0
+2006-01-18,17:40:00,3577.00,3578.00,3577.00,3578.00,1380,0
+2006-01-18,17:41:00,3577.00,3577.00,3576.00,3576.00,546,0
+2006-01-18,17:42:00,3576.00,3577.00,3573.00,3574.00,2904,0
+2006-01-18,17:43:00,3573.00,3574.00,3572.00,3574.00,2326,0
+2006-01-18,17:44:00,3573.00,3575.00,3573.00,3575.00,865,0
+2006-01-18,17:45:00,3574.00,3575.00,3574.00,3575.00,882,0
+2006-01-18,17:46:00,3575.00,3576.00,3575.00,3576.00,1246,0
+2006-01-18,17:47:00,3576.00,3577.00,3576.00,3577.00,871,0
+2006-01-18,17:48:00,3577.00,3577.00,3575.00,3576.00,766,0
+2006-01-18,17:49:00,3576.00,3577.00,3576.00,3576.00,491,0
+2006-01-18,17:50:00,3576.00,3577.00,3575.00,3576.00,1125,0
+2006-01-18,17:51:00,3576.00,3576.00,3575.00,3575.00,218,0
+2006-01-18,17:52:00,3575.00,3575.00,3573.00,3573.00,2889,0
+2006-01-18,17:53:00,3573.00,3574.00,3573.00,3573.00,194,0
+2006-01-18,17:54:00,3573.00,3574.00,3572.00,3572.00,1378,0
+2006-01-18,17:55:00,3573.00,3576.00,3572.00,3575.00,1708,0
+2006-01-18,17:56:00,3575.00,3576.00,3575.00,3576.00,197,0
+2006-01-18,17:57:00,3576.00,3576.00,3574.00,3575.00,594,0
+2006-01-18,17:58:00,3574.00,3575.00,3573.00,3574.00,931,0
+2006-01-18,17:59:00,3574.00,3574.00,3573.00,3574.00,257,0
+2006-01-18,18:00:00,3574.00,3576.00,3574.00,3575.00,995,0
+2006-01-18,18:01:00,3575.00,3576.00,3574.00,3576.00,770,0
+2006-01-18,18:02:00,3576.00,3577.00,3576.00,3577.00,813,0
+2006-01-18,18:03:00,3577.00,3577.00,3575.00,3575.00,742,0
+2006-01-18,18:04:00,3574.00,3576.00,3574.00,3576.00,341,0
+2006-01-18,18:05:00,3575.00,3575.00,3573.00,3574.00,1145,0
+2006-01-18,18:06:00,3573.00,3574.00,3572.00,3574.00,3814,0
+2006-01-18,18:07:00,3573.00,3575.00,3573.00,3575.00,926,0
+2006-01-18,18:08:00,3574.00,3574.00,3573.00,3573.00,270,0
+2006-01-18,18:09:00,3574.00,3574.00,3574.00,3574.00,465,0
+2006-01-18,18:10:00,3575.00,3576.00,3575.00,3575.00,339,0
+2006-01-18,18:11:00,3576.00,3577.00,3576.00,3576.00,530,0
+2006-01-18,18:12:00,3576.00,3576.00,3573.00,3573.00,374,0
+2006-01-18,18:13:00,3574.00,3575.00,3573.00,3573.00,187,0
+2006-01-18,18:14:00,3574.00,3574.00,3573.00,3574.00,188,0
+2006-01-18,18:15:00,3575.00,3575.00,3575.00,3575.00,56,0
+2006-01-18,18:16:00,3574.00,3574.00,3572.00,3573.00,563,0
+2006-01-18,18:17:00,3572.00,3573.00,3572.00,3573.00,323,0
+2006-01-18,18:18:00,3573.00,3573.00,3572.00,3573.00,227,0
+2006-01-18,18:19:00,3573.00,3573.00,3573.00,3573.00,336,0
+2006-01-18,18:20:00,3574.00,3574.00,3574.00,3574.00,417,0
+2006-01-18,18:21:00,3575.00,3575.00,3574.00,3575.00,236,0
+2006-01-18,18:22:00,3574.00,3574.00,3573.00,3573.00,415,0
+2006-01-18,18:23:00,3573.00,3573.00,3572.00,3572.00,268,0
+2006-01-18,18:24:00,3572.00,3573.00,3571.00,3573.00,377,0
+2006-01-18,18:25:00,3574.00,3574.00,3572.00,3572.00,659,0
+2006-01-18,18:26:00,3572.00,3572.00,3571.00,3572.00,382,0
+2006-01-18,18:27:00,3572.00,3572.00,3571.00,3572.00,157,0
+2006-01-18,18:28:00,3571.00,3573.00,3571.00,3573.00,390,0
+2006-01-18,18:29:00,3574.00,3574.00,3573.00,3574.00,268,0
+2006-01-18,18:30:00,3574.00,3574.00,3572.00,3572.00,381,0
+2006-01-18,18:31:00,3572.00,3573.00,3572.00,3572.00,233,0
+2006-01-18,18:32:00,3572.00,3572.00,3572.00,3572.00,66,0
+2006-01-18,18:33:00,3572.00,3572.00,3572.00,3572.00,237,0
+2006-01-18,18:34:00,3573.00,3575.00,3573.00,3575.00,1269,0
+2006-01-18,18:35:00,3575.00,3576.00,3575.00,3575.00,712,0
+2006-01-18,18:36:00,3575.00,3575.00,3575.00,3575.00,279,0
+2006-01-18,18:37:00,3575.00,3577.00,3575.00,3575.00,360,0
+2006-01-18,18:38:00,3575.00,3578.00,3574.00,3578.00,1086,0
+2006-01-18,18:39:00,3577.00,3578.00,3577.00,3578.00,299,0
+2006-01-18,18:40:00,3578.00,3579.00,3578.00,3578.00,549,0
+2006-01-18,18:41:00,3579.00,3579.00,3577.00,3577.00,520,0
+2006-01-18,18:42:00,3577.00,3577.00,3576.00,3576.00,357,0
+2006-01-18,18:43:00,3577.00,3577.00,3577.00,3577.00,103,0
+2006-01-18,18:44:00,3578.00,3578.00,3577.00,3578.00,167,0
+2006-01-18,18:45:00,3578.00,3579.00,3578.00,3579.00,298,0
+2006-01-18,18:46:00,3579.00,3579.00,3578.00,3579.00,338,0
+2006-01-18,18:47:00,3579.00,3579.00,3578.00,3578.00,101,0
+2006-01-18,18:48:00,3578.00,3579.00,3578.00,3579.00,114,0
+2006-01-18,18:49:00,3579.00,3579.00,3578.00,3578.00,22,0
+2006-01-18,18:50:00,3578.00,3578.00,3577.00,3578.00,424,0
+2006-01-18,18:51:00,3577.00,3577.00,3576.00,3576.00,607,0
+2006-01-18,18:52:00,3575.00,3575.00,3574.00,3575.00,548,0
+2006-01-18,18:53:00,3575.00,3575.00,3575.00,3575.00,158,0
+2006-01-18,18:54:00,3574.00,3574.00,3574.00,3574.00,382,0
+2006-01-18,18:55:00,3574.00,3574.00,3573.00,3574.00,222,0
+2006-01-18,18:56:00,3574.00,3574.00,3573.00,3574.00,341,0
+2006-01-18,18:57:00,3574.00,3575.00,3574.00,3575.00,273,0
+2006-01-18,18:58:00,3574.00,3574.00,3574.00,3574.00,544,0
+2006-01-18,18:59:00,3574.00,3575.00,3574.00,3574.00,308,0
+2006-01-18,19:00:00,3574.00,3575.00,3573.00,3575.00,227,0
+2006-01-18,19:01:00,3574.00,3575.00,3573.00,3574.00,458,0
+2006-01-18,19:02:00,3574.00,3575.00,3574.00,3574.00,194,0
+2006-01-18,19:03:00,3573.00,3575.00,3573.00,3574.00,150,0
+2006-01-18,19:04:00,3574.00,3575.00,3574.00,3575.00,301,0
+2006-01-18,19:05:00,3575.00,3576.00,3575.00,3575.00,352,0
+2006-01-18,19:06:00,3575.00,3576.00,3575.00,3575.00,128,0
+2006-01-18,19:07:00,3575.00,3576.00,3575.00,3576.00,191,0
+2006-01-18,19:08:00,3576.00,3576.00,3575.00,3575.00,22,0
+2006-01-18,19:09:00,3575.00,3575.00,3575.00,3575.00,152,0
+2006-01-18,19:10:00,3574.00,3575.00,3574.00,3574.00,123,0
+2006-01-18,19:11:00,3574.00,3574.00,3574.00,3574.00,30,0
+2006-01-18,19:12:00,3573.00,3573.00,3573.00,3573.00,150,0
+2006-01-18,19:13:00,3574.00,3574.00,3574.00,3574.00,79,0
+2006-01-18,19:14:00,3574.00,3574.00,3573.00,3574.00,65,0
+2006-01-18,19:15:00,3574.00,3575.00,3574.00,3575.00,268,0
+2006-01-18,19:16:00,3575.00,3576.00,3574.00,3576.00,140,0
+2006-01-18,19:17:00,3576.00,3576.00,3575.00,3575.00,25,0
+2006-01-18,19:18:00,3575.00,3575.00,3575.00,3575.00,79,0
+2006-01-18,19:19:00,3575.00,3575.00,3575.00,3575.00,34,0
+2006-01-18,19:20:00,3576.00,3576.00,3573.00,3573.00,336,0
+2006-01-18,19:21:00,3572.00,3573.00,3572.00,3572.00,290,0
+2006-01-18,19:22:00,3573.00,3573.00,3572.00,3572.00,122,0
+2006-01-18,19:23:00,3572.00,3573.00,3571.00,3573.00,452,0
+2006-01-18,19:24:00,3573.00,3573.00,3571.00,3571.00,656,0
+2006-01-18,19:25:00,3572.00,3572.00,3572.00,3572.00,177,0
+2006-01-18,19:26:00,3573.00,3573.00,3570.00,3570.00,661,0
+2006-01-18,19:27:00,3571.00,3572.00,3571.00,3571.00,206,0
+2006-01-18,19:28:00,3571.00,3571.00,3569.00,3570.00,495,0
+2006-01-18,19:29:00,3571.00,3571.00,3569.00,3570.00,123,0
+2006-01-18,19:30:00,3570.00,3570.00,3568.00,3568.00,778,0
+2006-01-18,19:31:00,3568.00,3568.00,3567.00,3568.00,627,0
+2006-01-18,19:32:00,3568.00,3568.00,3567.00,3568.00,401,0
+2006-01-18,19:33:00,3568.00,3568.00,3567.00,3567.00,520,0
+2006-01-18,19:34:00,3567.00,3568.00,3566.00,3567.00,464,0
+2006-01-18,19:35:00,3567.00,3568.00,3567.00,3568.00,156,0
+2006-01-18,19:36:00,3567.00,3567.00,3567.00,3567.00,605,0
+2006-01-18,19:37:00,3568.00,3568.00,3567.00,3567.00,424,0
+2006-01-18,19:38:00,3568.00,3568.00,3567.00,3568.00,399,0
+2006-01-18,19:39:00,3568.00,3568.00,3567.00,3568.00,214,0
+2006-01-18,19:40:00,3568.00,3569.00,3568.00,3568.00,296,0
+2006-01-18,19:41:00,3569.00,3569.00,3568.00,3568.00,5,0
+2006-01-18,19:42:00,3567.00,3568.00,3566.00,3566.00,549,0
+2006-01-18,19:43:00,3566.00,3567.00,3566.00,3567.00,283,0
+2006-01-18,19:44:00,3567.00,3567.00,3566.00,3567.00,149,0
+2006-01-18,19:45:00,3567.00,3569.00,3566.00,3569.00,987,0
+2006-01-18,19:46:00,3570.00,3570.00,3569.00,3569.00,56,0
+2006-01-18,19:47:00,3569.00,3570.00,3569.00,3570.00,16,0
+2006-01-18,19:48:00,3570.00,3571.00,3570.00,3570.00,266,0
+2006-01-18,19:49:00,3570.00,3570.00,3569.00,3569.00,113,0
+2006-01-18,19:50:00,3569.00,3569.00,3568.00,3568.00,8,0
+2006-01-18,19:51:00,3568.00,3568.00,3567.00,3567.00,333,0
+2006-01-18,19:52:00,3568.00,3570.00,3568.00,3570.00,575,0
+2006-01-18,19:53:00,3570.00,3570.00,3569.00,3570.00,139,0
+2006-01-18,19:54:00,3569.00,3570.00,3569.00,3569.00,32,0
+2006-01-18,19:55:00,3570.00,3571.00,3570.00,3570.00,205,0
+2006-01-18,19:56:00,3571.00,3571.00,3569.00,3569.00,116,0
+2006-01-18,19:57:00,3570.00,3571.00,3570.00,3570.00,279,0
+2006-01-18,19:58:00,3571.00,3572.00,3571.00,3572.00,264,0
+2006-01-18,19:59:00,3572.00,3572.00,3570.00,3570.00,134,0
+2006-01-18,20:00:00,3570.00,3570.00,3570.00,3570.00,59,0
+2006-01-18,20:01:00,3570.00,3571.00,3570.00,3570.00,164,0
+2006-01-18,20:02:00,3570.00,3572.00,3570.00,3572.00,414,0
+2006-01-18,20:03:00,3571.00,3573.00,3571.00,3573.00,113,0
+2006-01-18,20:04:00,3573.00,3574.00,3572.00,3573.00,148,0
+2006-01-18,20:05:00,3574.00,3576.00,3574.00,3576.00,481,0
+2006-01-18,20:06:00,3576.00,3576.00,3574.00,3576.00,422,0
+2006-01-18,20:07:00,3577.00,3578.00,3577.00,3577.00,207,0
+2006-01-18,20:08:00,3576.00,3577.00,3576.00,3576.00,218,0
+2006-01-18,20:09:00,3575.00,3576.00,3575.00,3576.00,29,0
+2006-01-18,20:10:00,3575.00,3575.00,3574.00,3574.00,253,0
+2006-01-18,20:11:00,3574.00,3574.00,3574.00,3574.00,10,0
+2006-01-18,20:12:00,3574.00,3576.00,3574.00,3575.00,250,0
+2006-01-18,20:13:00,3575.00,3575.00,3574.00,3574.00,5,0
+2006-01-18,20:14:00,3575.00,3575.00,3575.00,3575.00,5,0
+2006-01-18,20:15:00,3574.00,3574.00,3574.00,3574.00,50,0
+2006-01-18,20:16:00,3574.00,3576.00,3574.00,3576.00,86,0
+2006-01-18,20:17:00,3576.00,3577.00,3576.00,3577.00,66,0
+2006-01-18,20:18:00,3577.00,3579.00,3577.00,3579.00,611,0
+2006-01-18,20:19:00,3579.00,3579.00,3578.00,3579.00,380,0
+2006-01-18,20:20:00,3579.00,3580.00,3579.00,3580.00,221,0
+2006-01-18,20:21:00,3580.00,3580.00,3578.00,3578.00,165,0
+2006-01-18,20:22:00,3579.00,3580.00,3579.00,3580.00,101,0
+2006-01-18,20:23:00,3579.00,3579.00,3578.00,3578.00,12,0
+2006-01-18,20:24:00,3579.00,3579.00,3578.00,3578.00,67,0
+2006-01-18,20:25:00,3579.00,3579.00,3578.00,3579.00,231,0
+2006-01-18,20:26:00,3580.00,3580.00,3580.00,3580.00,150,0
+2006-01-18,20:27:00,3579.00,3580.00,3579.00,3579.00,281,0
+2006-01-18,20:28:00,3579.00,3581.00,3579.00,3580.00,753,0
+2006-01-18,20:29:00,3580.00,3580.00,3579.00,3580.00,61,0
+2006-01-18,20:30:00,3580.00,3580.00,3578.00,3578.00,59,0
+2006-01-18,20:31:00,3579.00,3581.00,3579.00,3580.00,88,0
+2006-01-18,20:32:00,3580.00,3582.00,3580.00,3581.00,222,0
+2006-01-18,20:33:00,3582.00,3583.00,3581.00,3582.00,1038,0
+2006-01-18,20:34:00,3582.00,3582.00,3580.00,3580.00,160,0
+2006-01-18,20:35:00,3581.00,3582.00,3580.00,3582.00,208,0
+2006-01-18,20:36:00,3583.00,3583.00,3582.00,3582.00,377,0
+2006-01-18,20:37:00,3581.00,3581.00,3580.00,3581.00,120,0
+2006-01-18,20:38:00,3581.00,3581.00,3579.00,3580.00,204,0
+2006-01-18,20:39:00,3580.00,3580.00,3579.00,3579.00,95,0
+2006-01-18,20:40:00,3579.00,3580.00,3579.00,3580.00,203,0
+2006-01-18,20:41:00,3580.00,3580.00,3578.00,3579.00,128,0
+2006-01-18,20:42:00,3578.00,3578.00,3578.00,3578.00,100,0
+2006-01-18,20:43:00,3578.00,3579.00,3578.00,3579.00,26,0
+2006-01-18,20:44:00,3578.00,3578.00,3576.00,3576.00,116,0
+2006-01-18,20:45:00,3576.00,3576.00,3576.00,3576.00,124,0
+2006-01-18,20:46:00,3575.00,3576.00,3574.00,3576.00,243,0
+2006-01-18,20:47:00,3576.00,3576.00,3575.00,3575.00,9,0
+2006-01-18,20:48:00,3576.00,3576.00,3576.00,3576.00,36,0
+2006-01-18,20:49:00,3576.00,3577.00,3576.00,3577.00,12,0
+2006-01-18,20:50:00,3577.00,3577.00,3577.00,3577.00,20,0
+2006-01-18,20:51:00,3576.00,3576.00,3573.00,3573.00,264,0
+2006-01-18,20:52:00,3573.00,3575.00,3571.00,3573.00,248,0
+2006-01-18,20:53:00,3573.00,3575.00,3573.00,3575.00,358,0
+2006-01-18,20:54:00,3576.00,3576.00,3575.00,3576.00,175,0
+2006-01-18,20:55:00,3576.00,3576.00,3575.00,3576.00,162,0
+2006-01-18,20:56:00,3576.00,3577.00,3575.00,3575.00,49,0
+2006-01-18,20:57:00,3575.00,3576.00,3575.00,3575.00,192,0
+2006-01-18,20:58:00,3574.00,3576.00,3574.00,3576.00,167,0
+2006-01-18,20:59:00,3577.00,3577.00,3576.00,3576.00,116,0
+2006-01-18,21:00:00,3576.00,3577.00,3575.00,3576.00,82,0
+2006-01-18,21:01:00,3577.00,3578.00,3577.00,3578.00,111,0
+2006-01-18,21:02:00,3577.00,3577.00,3577.00,3577.00,84,0
+2006-01-18,21:03:00,3576.00,3578.00,3576.00,3576.00,127,0
+2006-01-18,21:04:00,3575.00,3576.00,3575.00,3576.00,131,0
+2006-01-18,21:05:00,3576.00,3576.00,3576.00,3576.00,60,0
+2006-01-18,21:06:00,3576.00,3576.00,3574.00,3574.00,237,0
+2006-01-18,21:07:00,3575.00,3575.00,3575.00,3575.00,100,0
+2006-01-18,21:08:00,3575.00,3575.00,3575.00,3575.00,43,0
+2006-01-18,21:09:00,3575.00,3575.00,3575.00,3575.00,160,0
+2006-01-18,21:10:00,3576.00,3579.00,3576.00,3578.00,141,0
+2006-01-18,21:11:00,3579.00,3579.00,3578.00,3578.00,12,0
+2006-01-18,21:12:00,3578.00,3578.00,3578.00,3578.00,58,0
+2006-01-18,21:13:00,3578.00,3578.00,3578.00,3578.00,13,0
+2006-01-18,21:14:00,3579.00,3580.00,3579.00,3579.00,52,0
+2006-01-18,21:15:00,3579.00,3580.00,3579.00,3579.00,89,0
+2006-01-18,21:16:00,3578.00,3579.00,3578.00,3579.00,9,0
+2006-01-18,21:17:00,3579.00,3579.00,3579.00,3579.00,34,0
+2006-01-18,21:18:00,3578.00,3578.00,3577.00,3577.00,24,0
+2006-01-18,21:19:00,3577.00,3577.00,3577.00,3577.00,61,0
+2006-01-18,21:20:00,3577.00,3579.00,3577.00,3579.00,20,0
+2006-01-18,21:21:00,3579.00,3579.00,3578.00,3578.00,13,0
+2006-01-18,21:22:00,3580.00,3580.00,3579.00,3579.00,22,0
+2006-01-18,21:23:00,3579.00,3579.00,3579.00,3579.00,14,0
+2006-01-18,21:24:00,3580.00,3580.00,3580.00,3580.00,5,0
+2006-01-18,21:25:00,3579.00,3579.00,3579.00,3579.00,42,0
+2006-01-18,21:26:00,3579.00,3579.00,3579.00,3579.00,11,0
+2006-01-18,21:27:00,3579.00,3579.00,3577.00,3579.00,104,0
+2006-01-18,21:28:00,3578.00,3579.00,3578.00,3579.00,8,0
+2006-01-18,21:29:00,3579.00,3581.00,3579.00,3580.00,73,0
+2006-01-18,21:30:00,3580.00,3581.00,3580.00,3581.00,34,0
+2006-01-18,21:31:00,3580.00,3582.00,3580.00,3582.00,115,0
+2006-01-18,21:32:00,3582.00,3582.00,3581.00,3582.00,92,0
+2006-01-18,21:33:00,3582.00,3583.00,3582.00,3582.00,12,0
+2006-01-18,21:34:00,3582.00,3582.00,3579.00,3581.00,82,0
+2006-01-18,21:35:00,3581.00,3582.00,3581.00,3582.00,6,0
+2006-01-18,21:36:00,3582.00,3582.00,3581.00,3581.00,51,0
+2006-01-18,21:37:00,3581.00,3582.00,3581.00,3582.00,20,0
+2006-01-18,21:38:00,3582.00,3582.00,3582.00,3582.00,13,0
+2006-01-18,21:39:00,3582.00,3582.00,3581.00,3581.00,37,0
+2006-01-18,21:40:00,3581.00,3582.00,3581.00,3582.00,89,0
+2006-01-18,21:41:00,3580.00,3581.00,3580.00,3581.00,59,0
+2006-01-18,21:42:00,3581.00,3581.00,3581.00,3581.00,60,0
+2006-01-18,21:43:00,3580.00,3581.00,3580.00,3581.00,51,0
+2006-01-18,21:44:00,3581.00,3582.00,3581.00,3581.00,56,0
+2006-01-18,21:45:00,3581.00,3582.00,3581.00,3582.00,107,0
+2006-01-18,21:46:00,3582.00,3584.00,3582.00,3584.00,847,0
+2006-01-18,21:47:00,3584.00,3588.00,3583.00,3586.00,972,0
+2006-01-18,21:48:00,3586.00,3586.00,3586.00,3586.00,74,0
+2006-01-18,21:49:00,3587.00,3587.00,3584.00,3585.00,98,0
+2006-01-18,21:50:00,3585.00,3585.00,3584.00,3585.00,63,0
+2006-01-18,21:51:00,3585.00,3586.00,3585.00,3585.00,96,0
+2006-01-18,21:52:00,3585.00,3585.00,3584.00,3584.00,3,0
+2006-01-18,21:53:00,3584.00,3586.00,3584.00,3586.00,48,0
+2006-01-18,21:54:00,3586.00,3586.00,3586.00,3586.00,2,0
+2006-01-18,21:55:00,3586.00,3586.00,3585.00,3585.00,35,0
+2006-01-18,21:56:00,3585.00,3585.00,3584.00,3584.00,125,0
+2006-01-18,21:57:00,3585.00,3585.00,3584.00,3585.00,122,0
+2006-01-18,21:58:00,3585.00,3585.00,3583.00,3583.00,71,0
+2006-01-18,21:59:00,3584.00,3584.00,3583.00,3584.00,172,0
+2006-01-18,22:00:00,3583.00,3584.00,3581.00,3581.00,615,0
+2006-01-19,09:01:00,3594.00,3606.00,3594.00,3605.00,15357,0
+2006-01-19,09:02:00,3606.00,3607.00,3604.00,3605.00,7751,0
+2006-01-19,09:03:00,3606.00,3608.00,3605.00,3607.00,4445,0
+2006-01-19,09:04:00,3607.00,3608.00,3605.00,3607.00,3261,0
+2006-01-19,09:05:00,3608.00,3608.00,3606.00,3607.00,2937,0
+2006-01-19,09:06:00,3607.00,3609.00,3606.00,3606.00,2596,0
+2006-01-19,09:07:00,3606.00,3607.00,3605.00,3606.00,3058,0
+2006-01-19,09:08:00,3606.00,3607.00,3604.00,3604.00,2117,0
+2006-01-19,09:09:00,3605.00,3606.00,3604.00,3606.00,762,0
+2006-01-19,09:10:00,3605.00,3608.00,3605.00,3605.00,2883,0
+2006-01-19,09:11:00,3606.00,3607.00,3605.00,3606.00,1530,0
+2006-01-19,09:12:00,3605.00,3606.00,3603.00,3604.00,2140,0
+2006-01-19,09:13:00,3604.00,3604.00,3602.00,3603.00,1597,0
+2006-01-19,09:14:00,3603.00,3604.00,3602.00,3602.00,997,0
+2006-01-19,09:15:00,3603.00,3603.00,3601.00,3602.00,2065,0
+2006-01-19,09:16:00,3602.00,3604.00,3602.00,3603.00,2085,0
+2006-01-19,09:17:00,3603.00,3603.00,3601.00,3602.00,1637,0
+2006-01-19,09:18:00,3602.00,3603.00,3601.00,3602.00,598,0
+2006-01-19,09:19:00,3602.00,3602.00,3601.00,3602.00,1812,0
+2006-01-19,09:20:00,3602.00,3604.00,3601.00,3604.00,1459,0
+2006-01-19,09:21:00,3603.00,3604.00,3602.00,3604.00,1683,0
+2006-01-19,09:22:00,3604.00,3605.00,3601.00,3602.00,4825,0
+2006-01-19,09:23:00,3601.00,3602.00,3599.00,3599.00,4249,0
+2006-01-19,09:24:00,3599.00,3600.00,3597.00,3598.00,2081,0
+2006-01-19,09:25:00,3598.00,3599.00,3597.00,3598.00,2284,0
+2006-01-19,09:26:00,3598.00,3598.00,3595.00,3596.00,2851,0
+2006-01-19,09:27:00,3597.00,3597.00,3595.00,3597.00,2257,0
+2006-01-19,09:28:00,3597.00,3597.00,3595.00,3597.00,1951,0
+2006-01-19,09:29:00,3597.00,3598.00,3597.00,3598.00,409,0
+2006-01-19,09:30:00,3598.00,3599.00,3597.00,3598.00,1150,0
+2006-01-19,09:31:00,3598.00,3599.00,3598.00,3598.00,736,0
+2006-01-19,09:32:00,3598.00,3599.00,3598.00,3599.00,1250,0
+2006-01-19,09:33:00,3598.00,3599.00,3598.00,3598.00,912,0
+2006-01-19,09:34:00,3598.00,3600.00,3598.00,3599.00,1714,0
+2006-01-19,09:35:00,3599.00,3600.00,3599.00,3600.00,425,0
+2006-01-19,09:36:00,3599.00,3601.00,3599.00,3600.00,1692,0
+2006-01-19,09:37:00,3600.00,3601.00,3599.00,3600.00,252,0
+2006-01-19,09:38:00,3600.00,3600.00,3600.00,3600.00,653,0
+2006-01-19,09:39:00,3600.00,3602.00,3600.00,3601.00,1351,0
+2006-01-19,09:40:00,3601.00,3602.00,3601.00,3601.00,294,0
+2006-01-19,09:41:00,3601.00,3602.00,3601.00,3602.00,114,0
+2006-01-19,09:42:00,3601.00,3602.00,3600.00,3601.00,1023,0
+2006-01-19,09:43:00,3600.00,3601.00,3598.00,3599.00,1890,0
+2006-01-19,09:44:00,3598.00,3598.00,3597.00,3598.00,1951,0
+2006-01-19,09:45:00,3598.00,3599.00,3597.00,3598.00,417,0
+2006-01-19,09:46:00,3599.00,3599.00,3597.00,3597.00,419,0
+2006-01-19,09:47:00,3598.00,3600.00,3598.00,3599.00,1014,0
+2006-01-19,09:48:00,3598.00,3600.00,3598.00,3599.00,1277,0
+2006-01-19,09:49:00,3599.00,3600.00,3597.00,3597.00,613,0
+2006-01-19,09:50:00,3597.00,3597.00,3596.00,3597.00,2239,0
+2006-01-19,09:51:00,3597.00,3598.00,3597.00,3597.00,465,0
+2006-01-19,09:52:00,3598.00,3598.00,3598.00,3598.00,499,0
+2006-01-19,09:53:00,3598.00,3598.00,3597.00,3598.00,206,0
+2006-01-19,09:54:00,3598.00,3598.00,3597.00,3598.00,71,0
+2006-01-19,09:55:00,3598.00,3600.00,3598.00,3599.00,970,0
+2006-01-19,09:56:00,3600.00,3600.00,3598.00,3599.00,1342,0
+2006-01-19,09:57:00,3599.00,3600.00,3599.00,3599.00,42,0
+2006-01-19,09:58:00,3599.00,3600.00,3598.00,3598.00,612,0
+2006-01-19,09:59:00,3599.00,3600.00,3598.00,3599.00,196,0
+2006-01-19,10:00:00,3599.00,3599.00,3597.00,3598.00,610,0
+2006-01-19,10:01:00,3598.00,3599.00,3597.00,3599.00,1113,0
+2006-01-19,10:02:00,3599.00,3599.00,3598.00,3598.00,254,0
+2006-01-19,10:03:00,3599.00,3599.00,3597.00,3597.00,1300,0
+2006-01-19,10:04:00,3597.00,3597.00,3595.00,3596.00,2715,0
+2006-01-19,10:05:00,3596.00,3597.00,3596.00,3596.00,70,0
+2006-01-19,10:06:00,3597.00,3597.00,3596.00,3597.00,100,0
+2006-01-19,10:07:00,3597.00,3598.00,3597.00,3598.00,1693,0
+2006-01-19,10:08:00,3597.00,3598.00,3597.00,3598.00,149,0
+2006-01-19,10:09:00,3598.00,3601.00,3597.00,3601.00,2392,0
+2006-01-19,10:10:00,3601.00,3601.00,3599.00,3600.00,444,0
+2006-01-19,10:11:00,3599.00,3601.00,3599.00,3600.00,692,0
+2006-01-19,10:12:00,3599.00,3602.00,3599.00,3601.00,1045,0
+2006-01-19,10:13:00,3601.00,3602.00,3600.00,3601.00,793,0
+2006-01-19,10:14:00,3601.00,3602.00,3601.00,3601.00,389,0
+2006-01-19,10:15:00,3601.00,3601.00,3601.00,3601.00,733,0
+2006-01-19,10:16:00,3600.00,3601.00,3600.00,3601.00,48,0
+2006-01-19,10:17:00,3600.00,3603.00,3600.00,3603.00,1649,0
+2006-01-19,10:18:00,3602.00,3603.00,3601.00,3602.00,375,0
+2006-01-19,10:19:00,3603.00,3603.00,3602.00,3602.00,24,0
+2006-01-19,10:20:00,3602.00,3603.00,3602.00,3602.00,63,0
+2006-01-19,10:21:00,3603.00,3603.00,3601.00,3601.00,343,0
+2006-01-19,10:22:00,3602.00,3602.00,3601.00,3601.00,138,0
+2006-01-19,10:23:00,3602.00,3603.00,3601.00,3601.00,1413,0
+2006-01-19,10:24:00,3602.00,3602.00,3601.00,3602.00,299,0
+2006-01-19,10:25:00,3602.00,3603.00,3602.00,3602.00,221,0
+2006-01-19,10:26:00,3602.00,3604.00,3602.00,3603.00,917,0
+2006-01-19,10:27:00,3603.00,3603.00,3602.00,3602.00,103,0
+2006-01-19,10:28:00,3602.00,3603.00,3602.00,3602.00,559,0
+2006-01-19,10:29:00,3602.00,3603.00,3602.00,3602.00,16,0
+2006-01-19,10:30:00,3603.00,3603.00,3602.00,3603.00,163,0
+2006-01-19,10:31:00,3602.00,3603.00,3601.00,3602.00,1001,0
+2006-01-19,10:32:00,3601.00,3602.00,3601.00,3602.00,51,0
+2006-01-19,10:33:00,3601.00,3602.00,3601.00,3601.00,1013,0
+2006-01-19,10:34:00,3601.00,3601.00,3600.00,3601.00,4004,0
+2006-01-19,10:35:00,3601.00,3602.00,3601.00,3602.00,1644,0
+2006-01-19,10:36:00,3603.00,3603.00,3602.00,3602.00,90,0
+2006-01-19,10:37:00,3602.00,3602.00,3601.00,3602.00,229,0
+2006-01-19,10:38:00,3602.00,3602.00,3600.00,3601.00,728,0
+2006-01-19,10:39:00,3601.00,3602.00,3601.00,3602.00,263,0
+2006-01-19,10:40:00,3602.00,3603.00,3602.00,3602.00,148,0
+2006-01-19,10:41:00,3602.00,3603.00,3601.00,3603.00,3731,0
+2006-01-19,10:42:00,3602.00,3604.00,3602.00,3603.00,339,0
+2006-01-19,10:43:00,3603.00,3603.00,3602.00,3603.00,250,0
+2006-01-19,10:44:00,3602.00,3602.00,3601.00,3601.00,1383,0
+2006-01-19,10:45:00,3602.00,3602.00,3601.00,3602.00,722,0
+2006-01-19,10:46:00,3601.00,3602.00,3600.00,3601.00,1797,0
+2006-01-19,10:47:00,3601.00,3602.00,3601.00,3602.00,145,0
+2006-01-19,10:48:00,3602.00,3602.00,3600.00,3601.00,1993,0
+2006-01-19,10:49:00,3600.00,3601.00,3600.00,3600.00,284,0
+2006-01-19,10:50:00,3601.00,3601.00,3598.00,3599.00,1720,0
+2006-01-19,10:51:00,3599.00,3600.00,3599.00,3599.00,289,0
+2006-01-19,10:52:00,3599.00,3600.00,3599.00,3600.00,994,0
+2006-01-19,10:53:00,3599.00,3600.00,3598.00,3598.00,3217,0
+2006-01-19,10:54:00,3599.00,3599.00,3598.00,3598.00,594,0
+2006-01-19,10:55:00,3598.00,3599.00,3598.00,3598.00,3123,0
+2006-01-19,10:56:00,3598.00,3600.00,3598.00,3599.00,642,0
+2006-01-19,10:57:00,3599.00,3600.00,3597.00,3598.00,3446,0
+2006-01-19,10:58:00,3598.00,3599.00,3598.00,3598.00,2501,0
+2006-01-19,10:59:00,3599.00,3599.00,3597.00,3598.00,1348,0
+2006-01-19,11:00:00,3597.00,3599.00,3597.00,3599.00,314,0
+2006-01-19,11:01:00,3598.00,3599.00,3598.00,3599.00,450,0
+2006-01-19,11:02:00,3598.00,3599.00,3598.00,3598.00,1275,0
+2006-01-19,11:03:00,3598.00,3599.00,3598.00,3599.00,60,0
+2006-01-19,11:04:00,3598.00,3599.00,3598.00,3599.00,14,0
+2006-01-19,11:05:00,3599.00,3599.00,3598.00,3598.00,142,0
+2006-01-19,11:06:00,3598.00,3600.00,3598.00,3598.00,487,0
+2006-01-19,11:07:00,3599.00,3599.00,3598.00,3598.00,53,0
+2006-01-19,11:08:00,3599.00,3599.00,3597.00,3598.00,1020,0
+2006-01-19,11:09:00,3597.00,3598.00,3597.00,3597.00,516,0
+2006-01-19,11:10:00,3597.00,3597.00,3597.00,3597.00,31,0
+2006-01-19,11:11:00,3598.00,3598.00,3597.00,3597.00,106,0
+2006-01-19,11:12:00,3597.00,3597.00,3596.00,3596.00,671,0
+2006-01-19,11:13:00,3597.00,3597.00,3595.00,3596.00,1464,0
+2006-01-19,11:14:00,3596.00,3597.00,3596.00,3596.00,302,0
+2006-01-19,11:15:00,3597.00,3599.00,3597.00,3598.00,1290,0
+2006-01-19,11:16:00,3597.00,3599.00,3597.00,3599.00,137,0
+2006-01-19,11:17:00,3598.00,3599.00,3597.00,3598.00,218,0
+2006-01-19,11:18:00,3598.00,3598.00,3597.00,3598.00,428,0
+2006-01-19,11:19:00,3598.00,3599.00,3598.00,3598.00,1520,0
+2006-01-19,11:20:00,3598.00,3598.00,3598.00,3598.00,2,0
+2006-01-19,11:21:00,3599.00,3599.00,3598.00,3599.00,209,0
+2006-01-19,11:22:00,3599.00,3600.00,3598.00,3599.00,1198,0
+2006-01-19,11:23:00,3598.00,3599.00,3598.00,3599.00,765,0
+2006-01-19,11:24:00,3598.00,3599.00,3598.00,3599.00,1401,0
+2006-01-19,11:25:00,3599.00,3599.00,3598.00,3599.00,3062,0
+2006-01-19,11:26:00,3599.00,3599.00,3598.00,3599.00,2845,0
+2006-01-19,11:27:00,3600.00,3600.00,3598.00,3599.00,334,0
+2006-01-19,11:28:00,3599.00,3599.00,3598.00,3598.00,818,0
+2006-01-19,11:29:00,3598.00,3599.00,3598.00,3598.00,352,0
+2006-01-19,11:30:00,3599.00,3599.00,3598.00,3598.00,502,0
+2006-01-19,11:31:00,3598.00,3599.00,3598.00,3599.00,49,0
+2006-01-19,11:32:00,3598.00,3600.00,3598.00,3600.00,360,0
+2006-01-19,11:33:00,3600.00,3600.00,3599.00,3600.00,125,0
+2006-01-19,11:34:00,3600.00,3600.00,3599.00,3600.00,77,0
+2006-01-19,11:35:00,3600.00,3601.00,3599.00,3600.00,927,0
+2006-01-19,11:36:00,3600.00,3600.00,3598.00,3599.00,2390,0
+2006-01-19,11:37:00,3599.00,3599.00,3598.00,3598.00,453,0
+2006-01-19,11:38:00,3599.00,3599.00,3598.00,3599.00,12,0
+2006-01-19,11:39:00,3598.00,3599.00,3598.00,3599.00,169,0
+2006-01-19,11:40:00,3599.00,3599.00,3598.00,3598.00,311,0
+2006-01-19,11:41:00,3599.00,3600.00,3598.00,3600.00,1333,0
+2006-01-19,11:42:00,3599.00,3599.00,3597.00,3597.00,488,0
+2006-01-19,11:43:00,3598.00,3598.00,3597.00,3597.00,78,0
+2006-01-19,11:44:00,3598.00,3598.00,3596.00,3596.00,1413,0
+2006-01-19,11:45:00,3596.00,3596.00,3595.00,3596.00,1923,0
+2006-01-19,11:46:00,3596.00,3596.00,3595.00,3596.00,426,0
+2006-01-19,11:47:00,3595.00,3597.00,3595.00,3596.00,55,0
+2006-01-19,11:48:00,3596.00,3597.00,3596.00,3597.00,566,0
+2006-01-19,11:49:00,3596.00,3597.00,3596.00,3596.00,3097,0
+2006-01-19,11:50:00,3596.00,3596.00,3595.00,3596.00,597,0
+2006-01-19,11:51:00,3596.00,3597.00,3595.00,3596.00,359,0
+2006-01-19,11:52:00,3596.00,3597.00,3596.00,3596.00,9,0
+2006-01-19,11:53:00,3597.00,3598.00,3596.00,3597.00,1047,0
+2006-01-19,11:54:00,3597.00,3598.00,3596.00,3597.00,1300,0
+2006-01-19,11:55:00,3598.00,3598.00,3597.00,3598.00,104,0
+2006-01-19,11:56:00,3597.00,3598.00,3596.00,3596.00,1439,0
+2006-01-19,11:57:00,3596.00,3597.00,3596.00,3597.00,42,0
+2006-01-19,11:58:00,3596.00,3597.00,3596.00,3597.00,913,0
+2006-01-19,11:59:00,3598.00,3598.00,3597.00,3597.00,882,0
+2006-01-19,12:00:00,3598.00,3598.00,3597.00,3597.00,12,0
+2006-01-19,12:01:00,3597.00,3598.00,3597.00,3597.00,271,0
+2006-01-19,12:02:00,3598.00,3598.00,3596.00,3597.00,3493,0
+2006-01-19,12:03:00,3596.00,3597.00,3596.00,3596.00,214,0
+2006-01-19,12:04:00,3596.00,3597.00,3596.00,3597.00,1182,0
+2006-01-19,12:05:00,3598.00,3598.00,3597.00,3598.00,182,0
+2006-01-19,12:06:00,3597.00,3597.00,3596.00,3597.00,539,0
+2006-01-19,12:07:00,3596.00,3596.00,3595.00,3596.00,555,0
+2006-01-19,12:08:00,3596.00,3596.00,3594.00,3595.00,2742,0
+2006-01-19,12:09:00,3595.00,3595.00,3591.00,3592.00,4963,0
+2006-01-19,12:10:00,3592.00,3594.00,3592.00,3593.00,673,0
+2006-01-19,12:11:00,3593.00,3594.00,3592.00,3594.00,602,0
+2006-01-19,12:12:00,3593.00,3594.00,3592.00,3593.00,1202,0
+2006-01-19,12:13:00,3593.00,3594.00,3591.00,3592.00,3001,0
+2006-01-19,12:14:00,3592.00,3592.00,3589.00,3590.00,2244,0
+2006-01-19,12:15:00,3591.00,3592.00,3590.00,3592.00,917,0
+2006-01-19,12:16:00,3591.00,3593.00,3591.00,3591.00,1143,0
+2006-01-19,12:17:00,3592.00,3592.00,3588.00,3591.00,4199,0
+2006-01-19,12:18:00,3591.00,3592.00,3590.00,3591.00,686,0
+2006-01-19,12:19:00,3591.00,3591.00,3590.00,3591.00,842,0
+2006-01-19,12:20:00,3591.00,3591.00,3590.00,3590.00,373,0
+2006-01-19,12:21:00,3590.00,3591.00,3589.00,3590.00,1647,0
+2006-01-19,12:22:00,3590.00,3591.00,3590.00,3591.00,26,0
+2006-01-19,12:23:00,3591.00,3593.00,3591.00,3593.00,2772,0
+2006-01-19,12:24:00,3593.00,3593.00,3592.00,3592.00,275,0
+2006-01-19,12:25:00,3593.00,3593.00,3592.00,3593.00,46,0
+2006-01-19,12:26:00,3593.00,3593.00,3592.00,3593.00,31,0
+2006-01-19,12:27:00,3593.00,3593.00,3591.00,3591.00,1567,0
+2006-01-19,12:28:00,3591.00,3591.00,3589.00,3591.00,1009,0
+2006-01-19,12:29:00,3591.00,3591.00,3591.00,3591.00,89,0
+2006-01-19,12:30:00,3591.00,3594.00,3591.00,3593.00,1619,0
+2006-01-19,12:31:00,3593.00,3594.00,3592.00,3594.00,713,0
+2006-01-19,12:32:00,3592.00,3593.00,3591.00,3592.00,1468,0
+2006-01-19,12:33:00,3592.00,3592.00,3591.00,3592.00,23,0
+2006-01-19,12:34:00,3591.00,3591.00,3590.00,3591.00,645,0
+2006-01-19,12:35:00,3591.00,3591.00,3590.00,3591.00,959,0
+2006-01-19,12:36:00,3591.00,3592.00,3591.00,3592.00,358,0
+2006-01-19,12:37:00,3592.00,3592.00,3591.00,3592.00,181,0
+2006-01-19,12:38:00,3592.00,3593.00,3591.00,3592.00,1807,0
+2006-01-19,12:39:00,3592.00,3593.00,3591.00,3593.00,854,0
+2006-01-19,12:40:00,3593.00,3593.00,3592.00,3593.00,840,0
+2006-01-19,12:41:00,3593.00,3593.00,3592.00,3592.00,522,0
+2006-01-19,12:42:00,3593.00,3593.00,3592.00,3593.00,1582,0
+2006-01-19,12:43:00,3593.00,3596.00,3592.00,3595.00,1816,0
+2006-01-19,12:44:00,3595.00,3596.00,3594.00,3595.00,2172,0
+2006-01-19,12:45:00,3595.00,3596.00,3595.00,3596.00,349,0
+2006-01-19,12:46:00,3595.00,3596.00,3595.00,3596.00,491,0
+2006-01-19,12:47:00,3595.00,3596.00,3595.00,3595.00,880,0
+2006-01-19,12:48:00,3595.00,3596.00,3595.00,3596.00,321,0
+2006-01-19,12:49:00,3596.00,3598.00,3596.00,3597.00,906,0
+2006-01-19,12:50:00,3598.00,3598.00,3596.00,3596.00,2002,0
+2006-01-19,12:51:00,3596.00,3596.00,3595.00,3596.00,1142,0
+2006-01-19,12:52:00,3595.00,3597.00,3595.00,3597.00,663,0
+2006-01-19,12:53:00,3596.00,3596.00,3596.00,3596.00,1501,0
+2006-01-19,12:54:00,3596.00,3597.00,3596.00,3596.00,1012,0
+2006-01-19,12:55:00,3596.00,3596.00,3596.00,3596.00,2231,0
+2006-01-19,12:56:00,3596.00,3596.00,3595.00,3596.00,225,0
+2006-01-19,12:57:00,3596.00,3596.00,3595.00,3595.00,54,0
+2006-01-19,12:58:00,3595.00,3596.00,3595.00,3596.00,598,0
+2006-01-19,12:59:00,3595.00,3596.00,3595.00,3596.00,980,0
+2006-01-19,13:00:00,3596.00,3596.00,3595.00,3596.00,1121,0
+2006-01-19,13:01:00,3596.00,3596.00,3595.00,3595.00,2649,0
+2006-01-19,13:02:00,3595.00,3595.00,3595.00,3595.00,36,0
+2006-01-19,13:03:00,3595.00,3596.00,3595.00,3595.00,479,0
+2006-01-19,13:04:00,3595.00,3595.00,3592.00,3593.00,1789,0
+2006-01-19,13:05:00,3593.00,3594.00,3592.00,3593.00,548,0
+2006-01-19,13:06:00,3592.00,3593.00,3591.00,3591.00,500,0
+2006-01-19,13:07:00,3591.00,3591.00,3590.00,3590.00,1115,0
+2006-01-19,13:08:00,3590.00,3591.00,3589.00,3590.00,1823,0
+2006-01-19,13:09:00,3590.00,3591.00,3590.00,3590.00,1774,0
+2006-01-19,13:10:00,3591.00,3592.00,3591.00,3592.00,240,0
+2006-01-19,13:11:00,3592.00,3592.00,3591.00,3591.00,196,0
+2006-01-19,13:12:00,3591.00,3592.00,3591.00,3592.00,1413,0
+2006-01-19,13:13:00,3592.00,3593.00,3592.00,3593.00,1579,0
+2006-01-19,13:14:00,3593.00,3594.00,3593.00,3593.00,256,0
+2006-01-19,13:15:00,3593.00,3593.00,3592.00,3593.00,115,0
+2006-01-19,13:16:00,3592.00,3593.00,3592.00,3593.00,18,0
+2006-01-19,13:17:00,3592.00,3593.00,3592.00,3592.00,440,0
+2006-01-19,13:18:00,3593.00,3594.00,3593.00,3593.00,420,0
+2006-01-19,13:19:00,3593.00,3594.00,3593.00,3593.00,92,0
+2006-01-19,13:20:00,3593.00,3593.00,3593.00,3593.00,15,0
+2006-01-19,13:21:00,3593.00,3594.00,3593.00,3594.00,3,0
+2006-01-19,13:22:00,3593.00,3593.00,3593.00,3593.00,211,0
+2006-01-19,13:23:00,3593.00,3594.00,3593.00,3593.00,424,0
+2006-01-19,13:24:00,3593.00,3593.00,3593.00,3593.00,158,0
+2006-01-19,13:25:00,3593.00,3594.00,3593.00,3594.00,11,0
+2006-01-19,13:26:00,3593.00,3593.00,3593.00,3593.00,3582,0
+2006-01-19,13:27:00,3593.00,3593.00,3593.00,3593.00,207,0
+2006-01-19,13:28:00,3593.00,3593.00,3593.00,3593.00,230,0
+2006-01-19,13:29:00,3593.00,3594.00,3593.00,3594.00,385,0
+2006-01-19,13:30:00,3593.00,3594.00,3593.00,3594.00,107,0
+2006-01-19,13:31:00,3593.00,3597.00,3593.00,3596.00,1707,0
+2006-01-19,13:32:00,3596.00,3597.00,3595.00,3597.00,589,0
+2006-01-19,13:33:00,3596.00,3597.00,3596.00,3596.00,36,0
+2006-01-19,13:34:00,3597.00,3598.00,3597.00,3598.00,1724,0
+2006-01-19,13:35:00,3598.00,3599.00,3597.00,3599.00,592,0
+2006-01-19,13:36:00,3599.00,3600.00,3597.00,3597.00,1551,0
+2006-01-19,13:37:00,3597.00,3597.00,3596.00,3597.00,186,0
+2006-01-19,13:38:00,3596.00,3597.00,3595.00,3597.00,642,0
+2006-01-19,13:39:00,3596.00,3596.00,3595.00,3595.00,34,0
+2006-01-19,13:40:00,3595.00,3596.00,3595.00,3595.00,63,0
+2006-01-19,13:41:00,3595.00,3596.00,3595.00,3595.00,4,0
+2006-01-19,13:42:00,3595.00,3595.00,3594.00,3595.00,363,0
+2006-01-19,13:43:00,3595.00,3595.00,3594.00,3595.00,215,0
+2006-01-19,13:44:00,3595.00,3595.00,3594.00,3594.00,1278,0
+2006-01-19,13:45:00,3595.00,3595.00,3593.00,3594.00,887,0
+2006-01-19,13:46:00,3593.00,3594.00,3593.00,3593.00,30,0
+2006-01-19,13:47:00,3593.00,3594.00,3593.00,3593.00,49,0
+2006-01-19,13:48:00,3594.00,3595.00,3593.00,3594.00,353,0
+2006-01-19,13:49:00,3594.00,3594.00,3594.00,3594.00,3,0
+2006-01-19,13:50:00,3594.00,3594.00,3594.00,3594.00,1322,0
+2006-01-19,13:51:00,3594.00,3595.00,3594.00,3594.00,424,0
+2006-01-19,13:52:00,3595.00,3595.00,3593.00,3593.00,242,0
+2006-01-19,13:53:00,3594.00,3595.00,3593.00,3595.00,2583,0
+2006-01-19,13:54:00,3594.00,3595.00,3594.00,3594.00,461,0
+2006-01-19,13:55:00,3595.00,3595.00,3593.00,3593.00,338,0
+2006-01-19,13:56:00,3593.00,3593.00,3593.00,3593.00,4,0
+2006-01-19,13:57:00,3594.00,3594.00,3593.00,3593.00,111,0
+2006-01-19,13:58:00,3593.00,3594.00,3593.00,3594.00,101,0
+2006-01-19,13:59:00,3594.00,3595.00,3594.00,3594.00,404,0
+2006-01-19,14:00:00,3594.00,3596.00,3594.00,3595.00,281,0
+2006-01-19,14:01:00,3595.00,3596.00,3595.00,3595.00,190,0
+2006-01-19,14:02:00,3595.00,3597.00,3595.00,3595.00,1598,0
+2006-01-19,14:03:00,3595.00,3596.00,3595.00,3596.00,602,0
+2006-01-19,14:04:00,3596.00,3596.00,3596.00,3596.00,2,0
+2006-01-19,14:05:00,3596.00,3597.00,3596.00,3596.00,502,0
+2006-01-19,14:06:00,3597.00,3598.00,3597.00,3598.00,783,0
+2006-01-19,14:07:00,3598.00,3598.00,3597.00,3597.00,58,0
+2006-01-19,14:08:00,3598.00,3600.00,3597.00,3599.00,1441,0
+2006-01-19,14:09:00,3599.00,3600.00,3599.00,3599.00,791,0
+2006-01-19,14:10:00,3599.00,3599.00,3599.00,3599.00,2425,0
+2006-01-19,14:11:00,3599.00,3600.00,3599.00,3600.00,15,0
+2006-01-19,14:12:00,3600.00,3600.00,3599.00,3599.00,1153,0
+2006-01-19,14:13:00,3599.00,3600.00,3598.00,3599.00,1808,0
+2006-01-19,14:14:00,3599.00,3599.00,3598.00,3599.00,550,0
+2006-01-19,14:15:00,3599.00,3600.00,3598.00,3598.00,460,0
+2006-01-19,14:16:00,3598.00,3598.00,3598.00,3598.00,811,0
+2006-01-19,14:17:00,3598.00,3598.00,3597.00,3598.00,141,0
+2006-01-19,14:18:00,3598.00,3598.00,3597.00,3598.00,318,0
+2006-01-19,14:19:00,3598.00,3599.00,3598.00,3598.00,510,0
+2006-01-19,14:20:00,3599.00,3599.00,3598.00,3598.00,226,0
+2006-01-19,14:21:00,3598.00,3599.00,3598.00,3599.00,275,0
+2006-01-19,14:22:00,3599.00,3599.00,3598.00,3599.00,146,0
+2006-01-19,14:23:00,3599.00,3600.00,3598.00,3600.00,594,0
+2006-01-19,14:24:00,3600.00,3600.00,3598.00,3598.00,588,0
+2006-01-19,14:25:00,3598.00,3599.00,3598.00,3598.00,244,0
+2006-01-19,14:26:00,3599.00,3600.00,3599.00,3600.00,345,0
+2006-01-19,14:27:00,3599.00,3599.00,3599.00,3599.00,138,0
+2006-01-19,14:28:00,3599.00,3600.00,3599.00,3600.00,603,0
+2006-01-19,14:29:00,3599.00,3600.00,3599.00,3599.00,398,0
+2006-01-19,14:30:00,3600.00,3601.00,3599.00,3599.00,332,0
+2006-01-19,14:31:00,3599.00,3602.00,3598.00,3600.00,1916,0
+2006-01-19,14:32:00,3599.00,3600.00,3599.00,3599.00,589,0
+2006-01-19,14:33:00,3599.00,3599.00,3597.00,3598.00,1787,0
+2006-01-19,14:34:00,3599.00,3601.00,3598.00,3600.00,1285,0
+2006-01-19,14:35:00,3599.00,3600.00,3599.00,3599.00,546,0
+2006-01-19,14:36:00,3600.00,3600.00,3599.00,3600.00,499,0
+2006-01-19,14:37:00,3600.00,3601.00,3600.00,3601.00,470,0
+2006-01-19,14:38:00,3600.00,3601.00,3600.00,3600.00,113,0
+2006-01-19,14:39:00,3600.00,3601.00,3600.00,3600.00,10,0
+2006-01-19,14:40:00,3601.00,3602.00,3601.00,3601.00,1018,0
+2006-01-19,14:41:00,3602.00,3602.00,3600.00,3601.00,2010,0
+2006-01-19,14:42:00,3602.00,3603.00,3601.00,3602.00,1682,0
+2006-01-19,14:43:00,3602.00,3604.00,3602.00,3603.00,721,0
+2006-01-19,14:44:00,3603.00,3603.00,3602.00,3602.00,248,0
+2006-01-19,14:45:00,3602.00,3603.00,3601.00,3602.00,580,0
+2006-01-19,14:46:00,3601.00,3602.00,3601.00,3602.00,778,0
+2006-01-19,14:47:00,3602.00,3603.00,3602.00,3602.00,37,0
+2006-01-19,14:48:00,3602.00,3602.00,3601.00,3602.00,483,0
+2006-01-19,14:49:00,3601.00,3602.00,3601.00,3601.00,759,0
+2006-01-19,14:50:00,3601.00,3603.00,3601.00,3603.00,933,0
+2006-01-19,14:51:00,3602.00,3603.00,3602.00,3602.00,138,0
+2006-01-19,14:52:00,3602.00,3602.00,3601.00,3602.00,238,0
+2006-01-19,14:53:00,3601.00,3601.00,3601.00,3601.00,1079,0
+2006-01-19,14:54:00,3601.00,3601.00,3601.00,3601.00,154,0
+2006-01-19,14:55:00,3601.00,3601.00,3600.00,3600.00,160,0
+2006-01-19,14:56:00,3600.00,3601.00,3600.00,3600.00,399,0
+2006-01-19,14:57:00,3599.00,3600.00,3598.00,3599.00,1384,0
+2006-01-19,14:58:00,3599.00,3600.00,3598.00,3599.00,227,0
+2006-01-19,14:59:00,3599.00,3600.00,3599.00,3599.00,187,0
+2006-01-19,15:00:00,3599.00,3600.00,3599.00,3600.00,18,0
+2006-01-19,15:01:00,3599.00,3601.00,3599.00,3601.00,341,0
+2006-01-19,15:02:00,3600.00,3601.00,3600.00,3601.00,8,0
+2006-01-19,15:03:00,3601.00,3601.00,3600.00,3601.00,505,0
+2006-01-19,15:04:00,3601.00,3602.00,3601.00,3601.00,94,0
+2006-01-19,15:05:00,3601.00,3601.00,3601.00,3601.00,41,0
+2006-01-19,15:06:00,3602.00,3602.00,3601.00,3601.00,461,0
+2006-01-19,15:07:00,3602.00,3604.00,3602.00,3603.00,931,0
+2006-01-19,15:08:00,3603.00,3604.00,3603.00,3604.00,465,0
+2006-01-19,15:09:00,3604.00,3605.00,3603.00,3604.00,752,0
+2006-01-19,15:10:00,3605.00,3605.00,3604.00,3605.00,322,0
+2006-01-19,15:11:00,3605.00,3605.00,3603.00,3604.00,1260,0
+2006-01-19,15:12:00,3603.00,3604.00,3603.00,3604.00,81,0
+2006-01-19,15:13:00,3603.00,3604.00,3603.00,3603.00,796,0
+2006-01-19,15:14:00,3604.00,3605.00,3603.00,3604.00,669,0
+2006-01-19,15:15:00,3604.00,3605.00,3604.00,3605.00,327,0
+2006-01-19,15:16:00,3604.00,3605.00,3604.00,3604.00,303,0
+2006-01-19,15:17:00,3604.00,3604.00,3604.00,3604.00,377,0
+2006-01-19,15:18:00,3603.00,3604.00,3603.00,3604.00,224,0
+2006-01-19,15:19:00,3603.00,3604.00,3603.00,3603.00,451,0
+2006-01-19,15:20:00,3603.00,3603.00,3602.00,3602.00,287,0
+2006-01-19,15:21:00,3603.00,3604.00,3602.00,3604.00,289,0
+2006-01-19,15:22:00,3603.00,3603.00,3602.00,3602.00,235,0
+2006-01-19,15:23:00,3602.00,3603.00,3602.00,3603.00,775,0
+2006-01-19,15:24:00,3603.00,3603.00,3602.00,3603.00,527,0
+2006-01-19,15:25:00,3603.00,3603.00,3602.00,3602.00,404,0
+2006-01-19,15:26:00,3602.00,3603.00,3601.00,3602.00,844,0
+2006-01-19,15:27:00,3601.00,3602.00,3600.00,3600.00,1043,0
+2006-01-19,15:28:00,3601.00,3601.00,3600.00,3600.00,85,0
+2006-01-19,15:29:00,3600.00,3601.00,3600.00,3600.00,25,0
+2006-01-19,15:30:00,3601.00,3601.00,3600.00,3601.00,177,0
+2006-01-19,15:31:00,3601.00,3601.00,3600.00,3601.00,822,0
+2006-01-19,15:32:00,3600.00,3601.00,3600.00,3600.00,353,0
+2006-01-19,15:33:00,3600.00,3600.00,3599.00,3599.00,1449,0
+2006-01-19,15:34:00,3599.00,3601.00,3599.00,3600.00,567,0
+2006-01-19,15:35:00,3600.00,3601.00,3600.00,3600.00,141,0
+2006-01-19,15:36:00,3600.00,3602.00,3600.00,3601.00,1020,0
+2006-01-19,15:37:00,3601.00,3601.00,3599.00,3599.00,1831,0
+2006-01-19,15:38:00,3600.00,3600.00,3599.00,3600.00,694,0
+2006-01-19,15:39:00,3601.00,3601.00,3600.00,3601.00,322,0
+2006-01-19,15:40:00,3600.00,3602.00,3600.00,3601.00,655,0
+2006-01-19,15:41:00,3602.00,3603.00,3601.00,3602.00,601,0
+2006-01-19,15:42:00,3602.00,3602.00,3601.00,3601.00,448,0
+2006-01-19,15:43:00,3601.00,3602.00,3600.00,3601.00,778,0
+2006-01-19,15:44:00,3601.00,3602.00,3601.00,3602.00,867,0
+2006-01-19,15:45:00,3603.00,3603.00,3601.00,3603.00,699,0
+2006-01-19,15:46:00,3602.00,3602.00,3600.00,3601.00,1238,0
+2006-01-19,15:47:00,3601.00,3601.00,3600.00,3600.00,1137,0
+2006-01-19,15:48:00,3601.00,3602.00,3600.00,3601.00,1279,0
+2006-01-19,15:49:00,3600.00,3601.00,3600.00,3601.00,1641,0
+2006-01-19,15:50:00,3600.00,3602.00,3600.00,3601.00,681,0
+2006-01-19,15:51:00,3601.00,3601.00,3600.00,3600.00,526,0
+2006-01-19,15:52:00,3600.00,3601.00,3600.00,3600.00,2912,0
+2006-01-19,15:53:00,3601.00,3601.00,3600.00,3600.00,963,0
+2006-01-19,15:54:00,3600.00,3601.00,3600.00,3600.00,163,0
+2006-01-19,15:55:00,3600.00,3601.00,3599.00,3599.00,726,0
+2006-01-19,15:56:00,3599.00,3599.00,3598.00,3599.00,984,0
+2006-01-19,15:57:00,3599.00,3600.00,3598.00,3599.00,1252,0
+2006-01-19,15:58:00,3599.00,3600.00,3598.00,3599.00,2264,0
+2006-01-19,15:59:00,3599.00,3600.00,3599.00,3599.00,2165,0
+2006-01-19,16:00:00,3600.00,3602.00,3599.00,3602.00,1301,0
+2006-01-19,16:01:00,3602.00,3603.00,3601.00,3603.00,2171,0
+2006-01-19,16:02:00,3603.00,3604.00,3602.00,3602.00,811,0
+2006-01-19,16:03:00,3602.00,3603.00,3599.00,3600.00,4192,0
+2006-01-19,16:04:00,3600.00,3601.00,3599.00,3601.00,1880,0
+2006-01-19,16:05:00,3601.00,3602.00,3600.00,3601.00,2822,0
+2006-01-19,16:06:00,3600.00,3600.00,3597.00,3597.00,2423,0
+2006-01-19,16:07:00,3597.00,3599.00,3597.00,3598.00,2302,0
+2006-01-19,16:08:00,3598.00,3599.00,3597.00,3598.00,1832,0
+2006-01-19,16:09:00,3599.00,3599.00,3597.00,3597.00,2117,0
+2006-01-19,16:10:00,3598.00,3598.00,3597.00,3598.00,1156,0
+2006-01-19,16:11:00,3597.00,3598.00,3597.00,3597.00,1076,0
+2006-01-19,16:12:00,3597.00,3598.00,3594.00,3595.00,3678,0
+2006-01-19,16:13:00,3595.00,3596.00,3595.00,3595.00,653,0
+2006-01-19,16:14:00,3596.00,3598.00,3595.00,3598.00,1549,0
+2006-01-19,16:15:00,3598.00,3599.00,3597.00,3597.00,2297,0
+2006-01-19,16:16:00,3597.00,3600.00,3597.00,3599.00,2749,0
+2006-01-19,16:17:00,3599.00,3601.00,3599.00,3600.00,1809,0
+2006-01-19,16:18:00,3601.00,3601.00,3599.00,3600.00,935,0
+2006-01-19,16:19:00,3599.00,3601.00,3598.00,3600.00,924,0
+2006-01-19,16:20:00,3600.00,3601.00,3598.00,3599.00,2182,0
+2006-01-19,16:21:00,3599.00,3599.00,3597.00,3597.00,1153,0
+2006-01-19,16:22:00,3597.00,3599.00,3597.00,3598.00,827,0
+2006-01-19,16:23:00,3598.00,3599.00,3598.00,3598.00,40,0
+2006-01-19,16:24:00,3599.00,3599.00,3598.00,3598.00,997,0
+2006-01-19,16:25:00,3599.00,3599.00,3597.00,3597.00,646,0
+2006-01-19,16:26:00,3597.00,3598.00,3597.00,3597.00,656,0
+2006-01-19,16:27:00,3597.00,3599.00,3597.00,3599.00,795,0
+2006-01-19,16:28:00,3599.00,3600.00,3598.00,3598.00,257,0
+2006-01-19,16:29:00,3598.00,3599.00,3597.00,3597.00,1139,0
+2006-01-19,16:30:00,3598.00,3599.00,3597.00,3599.00,595,0
+2006-01-19,16:31:00,3598.00,3601.00,3598.00,3598.00,2944,0
+2006-01-19,16:32:00,3598.00,3601.00,3598.00,3599.00,1250,0
+2006-01-19,16:33:00,3599.00,3599.00,3597.00,3597.00,1652,0
+2006-01-19,16:34:00,3597.00,3599.00,3597.00,3598.00,901,0
+2006-01-19,16:35:00,3598.00,3598.00,3597.00,3598.00,249,0
+2006-01-19,16:36:00,3597.00,3599.00,3597.00,3598.00,497,0
+2006-01-19,16:37:00,3598.00,3599.00,3598.00,3599.00,1227,0
+2006-01-19,16:38:00,3598.00,3601.00,3598.00,3600.00,1456,0
+2006-01-19,16:39:00,3600.00,3600.00,3599.00,3599.00,749,0
+2006-01-19,16:40:00,3599.00,3600.00,3599.00,3599.00,930,0
+2006-01-19,16:41:00,3600.00,3600.00,3599.00,3600.00,252,0
+2006-01-19,16:42:00,3600.00,3600.00,3599.00,3600.00,1748,0
+2006-01-19,16:43:00,3600.00,3600.00,3599.00,3599.00,383,0
+2006-01-19,16:44:00,3599.00,3600.00,3598.00,3599.00,1078,0
+2006-01-19,16:45:00,3598.00,3600.00,3598.00,3599.00,4433,0
+2006-01-19,16:46:00,3599.00,3600.00,3598.00,3599.00,826,0
+2006-01-19,16:47:00,3598.00,3600.00,3597.00,3600.00,1490,0
+2006-01-19,16:48:00,3599.00,3600.00,3599.00,3599.00,1294,0
+2006-01-19,16:49:00,3599.00,3601.00,3599.00,3601.00,1957,0
+2006-01-19,16:50:00,3600.00,3601.00,3600.00,3600.00,1007,0
+2006-01-19,16:51:00,3599.00,3601.00,3599.00,3600.00,309,0
+2006-01-19,16:52:00,3600.00,3601.00,3600.00,3600.00,231,0
+2006-01-19,16:53:00,3600.00,3601.00,3599.00,3600.00,1614,0
+2006-01-19,16:54:00,3600.00,3601.00,3600.00,3600.00,2235,0
+2006-01-19,16:55:00,3601.00,3601.00,3599.00,3600.00,1578,0
+2006-01-19,16:56:00,3599.00,3600.00,3599.00,3599.00,937,0
+2006-01-19,16:57:00,3599.00,3600.00,3599.00,3599.00,268,0
+2006-01-19,16:58:00,3599.00,3600.00,3599.00,3599.00,1069,0
+2006-01-19,16:59:00,3599.00,3600.00,3598.00,3599.00,2085,0
+2006-01-19,17:00:00,3598.00,3599.00,3598.00,3598.00,316,0
+2006-01-19,17:01:00,3598.00,3600.00,3598.00,3600.00,628,0
+2006-01-19,17:02:00,3600.00,3601.00,3599.00,3601.00,707,0
+2006-01-19,17:03:00,3601.00,3601.00,3599.00,3599.00,701,0
+2006-01-19,17:04:00,3599.00,3599.00,3599.00,3599.00,220,0
+2006-01-19,17:05:00,3599.00,3600.00,3598.00,3600.00,1995,0
+2006-01-19,17:06:00,3600.00,3602.00,3599.00,3601.00,1967,0
+2006-01-19,17:07:00,3601.00,3602.00,3600.00,3600.00,705,0
+2006-01-19,17:08:00,3600.00,3602.00,3600.00,3601.00,1418,0
+2006-01-19,17:09:00,3602.00,3602.00,3601.00,3602.00,676,0
+2006-01-19,17:10:00,3601.00,3604.00,3601.00,3603.00,4504,0
+2006-01-19,17:11:00,3603.00,3603.00,3602.00,3602.00,2642,0
+2006-01-19,17:12:00,3603.00,3604.00,3602.00,3604.00,3558,0
+2006-01-19,17:13:00,3603.00,3606.00,3603.00,3605.00,3132,0
+2006-01-19,17:14:00,3605.00,3606.00,3604.00,3604.00,1683,0
+2006-01-19,17:15:00,3604.00,3605.00,3603.00,3603.00,2219,0
+2006-01-19,17:16:00,3603.00,3604.00,3603.00,3603.00,1939,0
+2006-01-19,17:17:00,3602.00,3603.00,3601.00,3601.00,2263,0
+2006-01-19,17:18:00,3601.00,3602.00,3601.00,3602.00,1129,0
+2006-01-19,17:19:00,3602.00,3602.00,3600.00,3601.00,1543,0
+2006-01-19,17:20:00,3601.00,3602.00,3600.00,3601.00,1314,0
+2006-01-19,17:21:00,3601.00,3602.00,3600.00,3600.00,3018,0
+2006-01-19,17:22:00,3601.00,3601.00,3599.00,3600.00,1741,0
+2006-01-19,17:23:00,3599.00,3600.00,3599.00,3599.00,2332,0
+2006-01-19,17:24:00,3600.00,3600.00,3599.00,3599.00,2498,0
+2006-01-19,17:25:00,3600.00,3600.00,3599.00,3600.00,1218,0
+2006-01-19,17:26:00,3600.00,3600.00,3599.00,3599.00,1153,0
+2006-01-19,17:27:00,3600.00,3600.00,3599.00,3599.00,1030,0
+2006-01-19,17:28:00,3599.00,3600.00,3599.00,3599.00,956,0
+2006-01-19,17:29:00,3599.00,3601.00,3599.00,3601.00,2637,0
+2006-01-19,17:30:00,3602.00,3603.00,3601.00,3602.00,7903,0
+2006-01-19,17:31:00,3602.00,3603.00,3601.00,3601.00,4111,0
+2006-01-19,17:32:00,3601.00,3601.00,3600.00,3600.00,1697,0
+2006-01-19,17:33:00,3600.00,3602.00,3600.00,3602.00,1765,0
+2006-01-19,17:34:00,3602.00,3603.00,3602.00,3603.00,2750,0
+2006-01-19,17:35:00,3603.00,3604.00,3603.00,3603.00,2898,0
+2006-01-19,17:36:00,3602.00,3604.00,3602.00,3604.00,631,0
+2006-01-19,17:37:00,3604.00,3604.00,3602.00,3603.00,1688,0
+2006-01-19,17:38:00,3602.00,3604.00,3602.00,3603.00,1707,0
+2006-01-19,17:39:00,3603.00,3603.00,3602.00,3602.00,285,0
+2006-01-19,17:40:00,3602.00,3603.00,3602.00,3603.00,244,0
+2006-01-19,17:41:00,3602.00,3603.00,3602.00,3603.00,99,0
+2006-01-19,17:42:00,3602.00,3603.00,3602.00,3602.00,180,0
+2006-01-19,17:43:00,3602.00,3602.00,3601.00,3601.00,456,0
+2006-01-19,17:44:00,3602.00,3602.00,3602.00,3602.00,515,0
+2006-01-19,17:45:00,3602.00,3604.00,3602.00,3603.00,1805,0
+2006-01-19,17:46:00,3603.00,3604.00,3603.00,3604.00,174,0
+2006-01-19,17:47:00,3604.00,3604.00,3603.00,3604.00,511,0
+2006-01-19,17:48:00,3604.00,3604.00,3603.00,3603.00,408,0
+2006-01-19,17:49:00,3604.00,3604.00,3603.00,3603.00,349,0
+2006-01-19,17:50:00,3604.00,3607.00,3604.00,3606.00,2653,0
+2006-01-19,17:51:00,3606.00,3607.00,3606.00,3606.00,659,0
+2006-01-19,17:52:00,3606.00,3607.00,3606.00,3606.00,1009,0
+2006-01-19,17:53:00,3606.00,3608.00,3606.00,3606.00,2052,0
+2006-01-19,17:54:00,3606.00,3607.00,3605.00,3606.00,641,0
+2006-01-19,17:55:00,3606.00,3606.00,3605.00,3606.00,484,0
+2006-01-19,17:56:00,3606.00,3606.00,3605.00,3606.00,394,0
+2006-01-19,17:57:00,3606.00,3606.00,3604.00,3604.00,738,0
+2006-01-19,17:58:00,3604.00,3606.00,3604.00,3605.00,817,0
+2006-01-19,17:59:00,3606.00,3607.00,3606.00,3606.00,485,0
+2006-01-19,18:00:00,3606.00,3606.00,3605.00,3605.00,105,0
+2006-01-19,18:01:00,3605.00,3606.00,3601.00,3601.00,4519,0
+2006-01-19,18:02:00,3601.00,3604.00,3601.00,3603.00,1540,0
+2006-01-19,18:03:00,3604.00,3606.00,3603.00,3606.00,1834,0
+2006-01-19,18:04:00,3606.00,3608.00,3604.00,3608.00,796,0
+2006-01-19,18:05:00,3608.00,3611.00,3608.00,3610.00,4647,0
+2006-01-19,18:06:00,3611.00,3612.00,3610.00,3610.00,2110,0
+2006-01-19,18:07:00,3610.00,3612.00,3609.00,3611.00,2683,0
+2006-01-19,18:08:00,3611.00,3612.00,3609.00,3610.00,1849,0
+2006-01-19,18:09:00,3610.00,3610.00,3609.00,3610.00,1283,0
+2006-01-19,18:10:00,3610.00,3610.00,3610.00,3610.00,606,0
+2006-01-19,18:11:00,3610.00,3611.00,3610.00,3611.00,1595,0
+2006-01-19,18:12:00,3611.00,3611.00,3610.00,3610.00,228,0
+2006-01-19,18:13:00,3611.00,3611.00,3610.00,3610.00,437,0
+2006-01-19,18:14:00,3610.00,3610.00,3610.00,3610.00,232,0
+2006-01-19,18:15:00,3610.00,3611.00,3610.00,3611.00,174,0
+2006-01-19,18:16:00,3611.00,3611.00,3611.00,3611.00,498,0
+2006-01-19,18:17:00,3611.00,3612.00,3610.00,3611.00,860,0
+2006-01-19,18:18:00,3610.00,3611.00,3610.00,3610.00,515,0
+2006-01-19,18:19:00,3610.00,3612.00,3610.00,3612.00,193,0
+2006-01-19,18:20:00,3612.00,3612.00,3610.00,3611.00,1437,0
+2006-01-19,18:21:00,3611.00,3611.00,3610.00,3611.00,359,0
+2006-01-19,18:22:00,3610.00,3611.00,3610.00,3611.00,284,0
+2006-01-19,18:23:00,3611.00,3613.00,3611.00,3612.00,1816,0
+2006-01-19,18:24:00,3612.00,3613.00,3611.00,3612.00,885,0
+2006-01-19,18:25:00,3612.00,3612.00,3611.00,3612.00,343,0
+2006-01-19,18:26:00,3611.00,3612.00,3611.00,3611.00,330,0
+2006-01-19,18:27:00,3611.00,3611.00,3611.00,3611.00,89,0
+2006-01-19,18:28:00,3611.00,3611.00,3610.00,3610.00,803,0
+2006-01-19,18:29:00,3610.00,3610.00,3610.00,3610.00,10,0
+2006-01-19,18:30:00,3611.00,3613.00,3611.00,3612.00,754,0
+2006-01-19,18:31:00,3612.00,3613.00,3612.00,3613.00,727,0
+2006-01-19,18:32:00,3612.00,3613.00,3612.00,3612.00,550,0
+2006-01-19,18:33:00,3612.00,3612.00,3611.00,3612.00,141,0
+2006-01-19,18:34:00,3611.00,3612.00,3611.00,3612.00,197,0
+2006-01-19,18:35:00,3612.00,3612.00,3612.00,3612.00,6,0
+2006-01-19,18:36:00,3612.00,3612.00,3611.00,3611.00,722,0
+2006-01-19,18:37:00,3611.00,3612.00,3611.00,3612.00,304,0
+2006-01-19,18:38:00,3611.00,3613.00,3611.00,3612.00,811,0
+2006-01-19,18:39:00,3612.00,3612.00,3612.00,3612.00,337,0
+2006-01-19,18:40:00,3612.00,3613.00,3612.00,3612.00,113,0
+2006-01-19,18:41:00,3612.00,3613.00,3612.00,3613.00,92,0
+2006-01-19,18:42:00,3612.00,3612.00,3612.00,3612.00,35,0
+2006-01-19,18:43:00,3612.00,3613.00,3612.00,3612.00,567,0
+2006-01-19,18:44:00,3612.00,3613.00,3612.00,3612.00,206,0
+2006-01-19,18:45:00,3612.00,3613.00,3612.00,3613.00,198,0
+2006-01-19,18:46:00,3613.00,3613.00,3612.00,3612.00,559,0
+2006-01-19,18:47:00,3612.00,3614.00,3612.00,3613.00,1103,0
+2006-01-19,18:48:00,3613.00,3614.00,3612.00,3613.00,991,0
+2006-01-19,18:49:00,3614.00,3614.00,3612.00,3612.00,69,0
+2006-01-19,18:50:00,3613.00,3613.00,3613.00,3613.00,2,0
+2006-01-19,18:51:00,3613.00,3614.00,3613.00,3613.00,415,0
+2006-01-19,18:52:00,3614.00,3615.00,3613.00,3614.00,2659,0
+2006-01-19,18:53:00,3614.00,3615.00,3614.00,3614.00,870,0
+2006-01-19,18:54:00,3615.00,3615.00,3613.00,3614.00,629,0
+2006-01-19,18:55:00,3614.00,3614.00,3613.00,3613.00,187,0
+2006-01-19,18:56:00,3614.00,3614.00,3613.00,3613.00,738,0
+2006-01-19,18:57:00,3613.00,3613.00,3613.00,3613.00,1,0
+2006-01-19,18:58:00,3613.00,3613.00,3613.00,3613.00,60,0
+2006-01-19,18:59:00,3614.00,3615.00,3613.00,3613.00,570,0
+2006-01-19,19:00:00,3614.00,3614.00,3614.00,3614.00,179,0
+2006-01-19,19:01:00,3614.00,3614.00,3613.00,3614.00,597,0
+2006-01-19,19:02:00,3614.00,3615.00,3614.00,3614.00,88,0
+2006-01-19,19:03:00,3615.00,3616.00,3615.00,3616.00,1536,0
+2006-01-19,19:04:00,3616.00,3616.00,3615.00,3615.00,1026,0
+2006-01-19,19:05:00,3615.00,3616.00,3614.00,3615.00,415,0
+2006-01-19,19:06:00,3615.00,3616.00,3615.00,3616.00,3,0
+2006-01-19,19:07:00,3615.00,3617.00,3615.00,3616.00,267,0
+2006-01-19,19:08:00,3616.00,3617.00,3616.00,3616.00,713,0
+2006-01-19,19:09:00,3616.00,3617.00,3616.00,3617.00,9,0
+2006-01-19,19:10:00,3617.00,3617.00,3615.00,3615.00,606,0
+2006-01-19,19:11:00,3616.00,3616.00,3615.00,3615.00,905,0
+2006-01-19,19:12:00,3615.00,3615.00,3614.00,3615.00,149,0
+2006-01-19,19:13:00,3615.00,3615.00,3615.00,3615.00,212,0
+2006-01-19,19:14:00,3615.00,3615.00,3615.00,3615.00,3,0
+2006-01-19,19:15:00,3615.00,3615.00,3615.00,3615.00,4,0
+2006-01-19,19:16:00,3615.00,3616.00,3615.00,3616.00,327,0
+2006-01-19,19:18:00,3615.00,3616.00,3615.00,3616.00,176,0
+2006-01-19,19:19:00,3616.00,3616.00,3616.00,3616.00,172,0
+2006-01-19,19:21:00,3616.00,3616.00,3615.00,3615.00,90,0
+2006-01-19,19:22:00,3615.00,3615.00,3614.00,3614.00,3,0
+2006-01-19,19:23:00,3615.00,3615.00,3615.00,3615.00,85,0
+2006-01-19,19:25:00,3616.00,3616.00,3616.00,3616.00,41,0
+2006-01-19,19:26:00,3616.00,3616.00,3616.00,3616.00,5,0
+2006-01-19,19:27:00,3616.00,3616.00,3616.00,3616.00,27,0
+2006-01-19,19:28:00,3616.00,3616.00,3615.00,3615.00,193,0
+2006-01-19,19:29:00,3615.00,3615.00,3614.00,3615.00,147,0
+2006-01-19,19:30:00,3615.00,3615.00,3615.00,3615.00,1,0
+2006-01-19,19:31:00,3616.00,3616.00,3615.00,3615.00,18,0
+2006-01-19,19:32:00,3616.00,3616.00,3616.00,3616.00,93,0
+2006-01-19,19:33:00,3616.00,3616.00,3615.00,3616.00,70,0
+2006-01-19,19:34:00,3616.00,3616.00,3616.00,3616.00,1,0
+2006-01-19,19:35:00,3616.00,3616.00,3616.00,3616.00,29,0
+2006-01-19,19:36:00,3616.00,3616.00,3616.00,3616.00,53,0
+2006-01-19,19:37:00,3615.00,3615.00,3615.00,3615.00,151,0
+2006-01-19,19:38:00,3616.00,3616.00,3615.00,3616.00,201,0
+2006-01-19,19:39:00,3616.00,3617.00,3616.00,3616.00,193,0
+2006-01-19,19:40:00,3616.00,3616.00,3616.00,3616.00,120,0
+2006-01-19,19:41:00,3617.00,3617.00,3616.00,3616.00,13,0
+2006-01-19,19:42:00,3617.00,3617.00,3617.00,3617.00,1221,0
+2006-01-19,19:43:00,3618.00,3618.00,3617.00,3617.00,294,0
+2006-01-19,19:44:00,3616.00,3617.00,3616.00,3617.00,269,0
+2006-01-19,19:45:00,3617.00,3617.00,3617.00,3617.00,207,0
+2006-01-19,19:46:00,3617.00,3618.00,3616.00,3618.00,157,0
+2006-01-19,19:47:00,3617.00,3618.00,3617.00,3618.00,167,0
+2006-01-19,19:48:00,3618.00,3618.00,3618.00,3618.00,202,0
+2006-01-19,19:49:00,3618.00,3618.00,3618.00,3618.00,136,0
+2006-01-19,19:50:00,3618.00,3619.00,3618.00,3618.00,388,0
+2006-01-19,19:51:00,3618.00,3618.00,3618.00,3618.00,473,0
+2006-01-19,19:52:00,3617.00,3617.00,3617.00,3617.00,82,0
+2006-01-19,19:53:00,3617.00,3617.00,3617.00,3617.00,1,0
+2006-01-19,19:54:00,3617.00,3617.00,3617.00,3617.00,157,0
+2006-01-19,19:55:00,3617.00,3617.00,3617.00,3617.00,1,0
+2006-01-19,19:56:00,3617.00,3618.00,3617.00,3618.00,352,0
+2006-01-19,19:57:00,3617.00,3618.00,3617.00,3617.00,53,0
+2006-01-19,19:58:00,3617.00,3618.00,3617.00,3617.00,72,0
+2006-01-19,19:59:00,3617.00,3618.00,3617.00,3617.00,102,0
+2006-01-19,20:00:00,3617.00,3617.00,3617.00,3617.00,162,0
+2006-01-19,20:01:00,3617.00,3617.00,3617.00,3617.00,105,0
+2006-01-19,20:02:00,3616.00,3616.00,3616.00,3616.00,200,0
+2006-01-19,20:03:00,3616.00,3616.00,3616.00,3616.00,100,0
+2006-01-19,20:04:00,3617.00,3617.00,3617.00,3617.00,1,0
+2006-01-19,20:05:00,3617.00,3617.00,3616.00,3617.00,177,0
+2006-01-19,20:06:00,3617.00,3617.00,3617.00,3617.00,191,0
+2006-01-19,20:07:00,3617.00,3617.00,3616.00,3616.00,196,0
+2006-01-19,20:08:00,3616.00,3616.00,3616.00,3616.00,239,0
+2006-01-19,20:09:00,3616.00,3617.00,3616.00,3617.00,175,0
+2006-01-19,20:10:00,3617.00,3617.00,3617.00,3617.00,45,0
+2006-01-19,20:11:00,3617.00,3617.00,3617.00,3617.00,1,0
+2006-01-19,20:12:00,3617.00,3617.00,3617.00,3617.00,201,0
+2006-01-19,20:13:00,3617.00,3617.00,3617.00,3617.00,106,0
+2006-01-19,20:15:00,3616.00,3616.00,3616.00,3616.00,2,0
+2006-01-19,20:16:00,3617.00,3617.00,3617.00,3617.00,87,0
+2006-01-19,20:17:00,3617.00,3617.00,3616.00,3616.00,70,0
+2006-01-19,20:19:00,3616.00,3617.00,3616.00,3617.00,154,0
+2006-01-19,20:21:00,3617.00,3617.00,3617.00,3617.00,5,0
+2006-01-19,20:22:00,3617.00,3617.00,3617.00,3617.00,3,0
+2006-01-19,20:23:00,3617.00,3617.00,3617.00,3617.00,396,0
+2006-01-19,20:24:00,3617.00,3617.00,3617.00,3617.00,58,0
+2006-01-19,20:25:00,3618.00,3618.00,3617.00,3617.00,51,0
+2006-01-19,20:26:00,3617.00,3617.00,3616.00,3616.00,308,0
+2006-01-19,20:27:00,3615.00,3615.00,3615.00,3615.00,100,0
+2006-01-19,20:28:00,3615.00,3615.00,3615.00,3615.00,50,0
+2006-01-19,20:30:00,3615.00,3615.00,3614.00,3615.00,205,0
+2006-01-19,20:31:00,3615.00,3616.00,3615.00,3616.00,199,0
+2006-01-19,20:32:00,3615.00,3615.00,3614.00,3614.00,237,0
+2006-01-19,20:33:00,3615.00,3615.00,3615.00,3615.00,60,0
+2006-01-19,20:34:00,3614.00,3614.00,3614.00,3614.00,420,0
+2006-01-19,20:35:00,3614.00,3614.00,3614.00,3614.00,4,0
+2006-01-19,20:36:00,3614.00,3615.00,3614.00,3615.00,84,0
+2006-01-19,20:37:00,3615.00,3615.00,3615.00,3615.00,18,0
+2006-01-19,20:38:00,3615.00,3615.00,3615.00,3615.00,115,0
+2006-01-19,20:39:00,3614.00,3614.00,3612.00,3613.00,571,0
+2006-01-19,20:40:00,3613.00,3613.00,3613.00,3613.00,244,0
+2006-01-19,20:41:00,3613.00,3613.00,3612.00,3612.00,151,0
+2006-01-19,20:42:00,3613.00,3613.00,3612.00,3613.00,72,0
+2006-01-19,20:43:00,3613.00,3613.00,3613.00,3613.00,30,0
+2006-01-19,20:45:00,3612.00,3612.00,3612.00,3612.00,83,0
+2006-01-19,20:46:00,3612.00,3612.00,3612.00,3612.00,51,0
+2006-01-19,20:47:00,3612.00,3612.00,3612.00,3612.00,10,0
+2006-01-19,20:48:00,3613.00,3613.00,3612.00,3612.00,65,0
+2006-01-19,20:50:00,3612.00,3612.00,3612.00,3612.00,5,0
+2006-01-19,20:51:00,3613.00,3613.00,3613.00,3613.00,65,0
+2006-01-19,20:52:00,3613.00,3613.00,3613.00,3613.00,59,0
+2006-01-19,20:55:00,3613.00,3613.00,3613.00,3613.00,64,0
+2006-01-19,20:57:00,3612.00,3612.00,3612.00,3612.00,5,0
+2006-01-19,20:58:00,3613.00,3614.00,3613.00,3614.00,197,0
+2006-01-19,20:59:00,3614.00,3615.00,3614.00,3615.00,228,0
+2006-01-19,21:00:00,3615.00,3615.00,3615.00,3615.00,40,0
+2006-01-19,21:01:00,3614.00,3614.00,3614.00,3614.00,47,0
+2006-01-19,21:02:00,3614.00,3614.00,3614.00,3614.00,25,0
+2006-01-19,21:03:00,3615.00,3615.00,3614.00,3614.00,2,0
+2006-01-19,21:04:00,3614.00,3615.00,3614.00,3614.00,21,0
+2006-01-19,21:06:00,3614.00,3614.00,3614.00,3614.00,57,0
+2006-01-19,21:07:00,3613.00,3613.00,3612.00,3612.00,111,0
+2006-01-19,21:08:00,3612.00,3612.00,3611.00,3611.00,22,0
+2006-01-19,21:09:00,3612.00,3612.00,3612.00,3612.00,58,0
+2006-01-19,21:10:00,3612.00,3612.00,3612.00,3612.00,34,0
+2006-01-19,21:11:00,3611.00,3611.00,3611.00,3611.00,259,0
+2006-01-19,21:12:00,3611.00,3612.00,3611.00,3612.00,127,0
+2006-01-19,21:13:00,3612.00,3612.00,3612.00,3612.00,6,0
+2006-01-19,21:14:00,3612.00,3612.00,3612.00,3612.00,113,0
+2006-01-19,21:15:00,3612.00,3613.00,3612.00,3613.00,61,0
+2006-01-19,21:16:00,3613.00,3613.00,3612.00,3612.00,73,0
+2006-01-19,21:17:00,3612.00,3612.00,3611.00,3612.00,24,0
+2006-01-19,21:19:00,3612.00,3612.00,3612.00,3612.00,23,0
+2006-01-19,21:20:00,3612.00,3612.00,3612.00,3612.00,17,0
+2006-01-19,21:21:00,3612.00,3613.00,3612.00,3612.00,15,0
+2006-01-19,21:22:00,3612.00,3612.00,3612.00,3612.00,12,0
+2006-01-19,21:24:00,3612.00,3613.00,3612.00,3613.00,70,0
+2006-01-19,21:25:00,3613.00,3613.00,3612.00,3612.00,31,0
+2006-01-19,21:26:00,3613.00,3613.00,3612.00,3612.00,10,0
+2006-01-19,21:27:00,3612.00,3612.00,3611.00,3612.00,51,0
+2006-01-19,21:28:00,3611.00,3612.00,3611.00,3612.00,57,0
+2006-01-19,21:29:00,3612.00,3612.00,3611.00,3611.00,34,0
+2006-01-19,21:30:00,3612.00,3612.00,3612.00,3612.00,8,0
+2006-01-19,21:31:00,3612.00,3612.00,3611.00,3612.00,40,0
+2006-01-19,21:32:00,3611.00,3611.00,3611.00,3611.00,34,0
+2006-01-19,21:33:00,3611.00,3612.00,3611.00,3611.00,33,0
+2006-01-19,21:34:00,3612.00,3612.00,3611.00,3612.00,31,0
+2006-01-19,21:35:00,3611.00,3611.00,3611.00,3611.00,55,0
+2006-01-19,21:36:00,3611.00,3611.00,3611.00,3611.00,15,0
+2006-01-19,21:37:00,3611.00,3612.00,3611.00,3612.00,81,0
+2006-01-19,21:38:00,3612.00,3613.00,3612.00,3613.00,115,0
+2006-01-19,21:39:00,3612.00,3612.00,3612.00,3612.00,20,0
+2006-01-19,21:40:00,3611.00,3611.00,3611.00,3611.00,73,0
+2006-01-19,21:41:00,3611.00,3612.00,3611.00,3611.00,72,0
+2006-01-19,21:42:00,3612.00,3612.00,3611.00,3611.00,29,0
+2006-01-19,21:43:00,3612.00,3612.00,3611.00,3611.00,27,0
+2006-01-19,21:44:00,3611.00,3611.00,3611.00,3611.00,25,0
+2006-01-19,21:45:00,3611.00,3611.00,3611.00,3611.00,25,0
+2006-01-19,21:46:00,3611.00,3611.00,3611.00,3611.00,42,0
+2006-01-19,21:47:00,3611.00,3612.00,3611.00,3611.00,46,0
+2006-01-19,21:48:00,3610.00,3611.00,3610.00,3611.00,41,0
+2006-01-19,21:49:00,3611.00,3611.00,3610.00,3610.00,72,0
+2006-01-19,21:50:00,3611.00,3611.00,3610.00,3610.00,74,0
+2006-01-19,21:51:00,3610.00,3611.00,3610.00,3611.00,38,0
+2006-01-19,21:52:00,3611.00,3611.00,3611.00,3611.00,123,0
+2006-01-19,21:53:00,3612.00,3612.00,3611.00,3611.00,56,0
+2006-01-19,21:54:00,3611.00,3612.00,3611.00,3612.00,29,0
+2006-01-19,21:55:00,3612.00,3612.00,3611.00,3612.00,57,0
+2006-01-19,21:56:00,3612.00,3612.00,3611.00,3612.00,75,0
+2006-01-19,21:57:00,3611.00,3612.00,3610.00,3611.00,49,0
+2006-01-19,21:58:00,3611.00,3612.00,3610.00,3611.00,78,0
+2006-01-19,21:59:00,3611.00,3611.00,3610.00,3610.00,323,0
+2006-01-19,22:00:00,3610.00,3611.00,3609.00,3610.00,334,0
+2006-01-20,09:01:00,3607.00,3610.00,3607.00,3610.00,6382,0
+2006-01-20,09:02:00,3610.00,3612.00,3609.00,3611.00,3216,0
+2006-01-20,09:03:00,3612.00,3613.00,3611.00,3612.00,1294,0
+2006-01-20,09:04:00,3612.00,3613.00,3611.00,3612.00,1907,0
+2006-01-20,09:05:00,3612.00,3614.00,3611.00,3613.00,2147,0
+2006-01-20,09:06:00,3613.00,3614.00,3612.00,3613.00,1129,0
+2006-01-20,09:07:00,3613.00,3614.00,3612.00,3613.00,907,0
+2006-01-20,09:08:00,3613.00,3617.00,3613.00,3616.00,3101,0
+2006-01-20,09:09:00,3616.00,3617.00,3615.00,3617.00,1847,0
+2006-01-20,09:10:00,3616.00,3618.00,3616.00,3617.00,2422,0
+2006-01-20,09:11:00,3617.00,3617.00,3616.00,3616.00,896,0
+2006-01-20,09:12:00,3616.00,3618.00,3616.00,3617.00,1201,0
+2006-01-20,09:13:00,3617.00,3617.00,3616.00,3617.00,278,0
+2006-01-20,09:14:00,3616.00,3617.00,3615.00,3617.00,2338,0
+2006-01-20,09:15:00,3617.00,3617.00,3616.00,3617.00,348,0
+2006-01-20,09:16:00,3617.00,3617.00,3616.00,3617.00,832,0
+2006-01-20,09:17:00,3617.00,3617.00,3615.00,3615.00,1678,0
+2006-01-20,09:18:00,3616.00,3618.00,3615.00,3618.00,1947,0
+2006-01-20,09:19:00,3617.00,3619.00,3617.00,3618.00,1761,0
+2006-01-20,09:20:00,3617.00,3618.00,3615.00,3616.00,910,0
+2006-01-20,09:21:00,3615.00,3616.00,3615.00,3615.00,545,0
+2006-01-20,09:22:00,3615.00,3616.00,3615.00,3615.00,859,0
+2006-01-20,09:23:00,3616.00,3616.00,3615.00,3615.00,326,0
+2006-01-20,09:24:00,3615.00,3616.00,3615.00,3615.00,82,0
+2006-01-20,09:25:00,3616.00,3617.00,3615.00,3617.00,499,0
+2006-01-20,09:26:00,3616.00,3617.00,3616.00,3616.00,573,0
+2006-01-20,09:27:00,3616.00,3618.00,3616.00,3616.00,1299,0
+2006-01-20,09:28:00,3615.00,3616.00,3615.00,3615.00,833,0
+2006-01-20,09:29:00,3615.00,3615.00,3614.00,3614.00,611,0
+2006-01-20,09:30:00,3614.00,3615.00,3613.00,3614.00,764,0
+2006-01-20,09:31:00,3614.00,3614.00,3614.00,3614.00,535,0
+2006-01-20,09:32:00,3614.00,3615.00,3613.00,3614.00,2361,0
+2006-01-20,09:33:00,3614.00,3615.00,3614.00,3614.00,350,0
+2006-01-20,09:34:00,3614.00,3616.00,3614.00,3615.00,1048,0
+2006-01-20,09:35:00,3615.00,3615.00,3615.00,3615.00,236,0
+2006-01-20,09:36:00,3615.00,3616.00,3615.00,3616.00,520,0
+2006-01-20,09:37:00,3616.00,3617.00,3615.00,3615.00,716,0
+2006-01-20,09:38:00,3616.00,3617.00,3614.00,3614.00,896,0
+2006-01-20,09:39:00,3614.00,3615.00,3613.00,3613.00,378,0
+2006-01-20,09:40:00,3614.00,3615.00,3614.00,3615.00,339,0
+2006-01-20,09:41:00,3614.00,3615.00,3614.00,3615.00,2505,0
+2006-01-20,09:42:00,3615.00,3616.00,3615.00,3615.00,715,0
+2006-01-20,09:43:00,3615.00,3616.00,3614.00,3614.00,1617,0
+2006-01-20,09:44:00,3614.00,3615.00,3614.00,3615.00,202,0
+2006-01-20,09:45:00,3615.00,3616.00,3615.00,3616.00,295,0
+2006-01-20,09:46:00,3615.00,3616.00,3615.00,3615.00,194,0
+2006-01-20,09:47:00,3616.00,3616.00,3615.00,3615.00,110,0
+2006-01-20,09:48:00,3616.00,3618.00,3616.00,3617.00,2657,0
+2006-01-20,09:49:00,3617.00,3618.00,3617.00,3617.00,920,0
+2006-01-20,09:50:00,3617.00,3619.00,3616.00,3618.00,1282,0
+2006-01-20,09:51:00,3617.00,3619.00,3617.00,3618.00,838,0
+2006-01-20,09:52:00,3618.00,3619.00,3618.00,3618.00,2321,0
+2006-01-20,09:53:00,3619.00,3620.00,3618.00,3620.00,1497,0
+2006-01-20,09:54:00,3620.00,3620.00,3619.00,3619.00,1300,0
+2006-01-20,09:55:00,3620.00,3620.00,3618.00,3620.00,4895,0
+2006-01-20,09:56:00,3619.00,3622.00,3619.00,3620.00,1854,0
+2006-01-20,09:57:00,3621.00,3622.00,3620.00,3620.00,4930,0
+2006-01-20,09:58:00,3620.00,3621.00,3620.00,3621.00,184,0
+2006-01-20,09:59:00,3621.00,3621.00,3620.00,3621.00,138,0
+2006-01-20,10:00:00,3621.00,3621.00,3620.00,3621.00,187,0
+2006-01-20,10:01:00,3621.00,3621.00,3618.00,3619.00,3758,0
+2006-01-20,10:02:00,3619.00,3620.00,3618.00,3619.00,945,0
+2006-01-20,10:03:00,3619.00,3620.00,3618.00,3619.00,462,0
+2006-01-20,10:04:00,3619.00,3619.00,3618.00,3619.00,637,0
+2006-01-20,10:05:00,3618.00,3620.00,3618.00,3618.00,985,0
+2006-01-20,10:06:00,3619.00,3619.00,3617.00,3618.00,2814,0
+2006-01-20,10:07:00,3618.00,3619.00,3618.00,3619.00,505,0
+2006-01-20,10:08:00,3619.00,3619.00,3618.00,3619.00,807,0
+2006-01-20,10:09:00,3619.00,3619.00,3618.00,3618.00,5,0
+2006-01-20,10:10:00,3618.00,3619.00,3618.00,3618.00,591,0
+2006-01-20,10:11:00,3619.00,3619.00,3618.00,3618.00,77,0
+2006-01-20,10:12:00,3619.00,3619.00,3617.00,3618.00,1300,0
+2006-01-20,10:13:00,3618.00,3618.00,3617.00,3617.00,679,0
+2006-01-20,10:14:00,3618.00,3618.00,3617.00,3618.00,14,0
+2006-01-20,10:15:00,3617.00,3618.00,3617.00,3617.00,1711,0
+2006-01-20,10:16:00,3617.00,3617.00,3616.00,3616.00,491,0
+2006-01-20,10:17:00,3616.00,3617.00,3615.00,3616.00,3588,0
+2006-01-20,10:18:00,3616.00,3617.00,3615.00,3616.00,415,0
+2006-01-20,10:19:00,3616.00,3617.00,3616.00,3617.00,121,0
+2006-01-20,10:20:00,3617.00,3617.00,3616.00,3616.00,94,0
+2006-01-20,10:21:00,3616.00,3618.00,3616.00,3618.00,1244,0
+2006-01-20,10:22:00,3617.00,3618.00,3617.00,3618.00,77,0
+2006-01-20,10:23:00,3618.00,3618.00,3618.00,3618.00,501,0
+2006-01-20,10:24:00,3618.00,3618.00,3618.00,3618.00,1931,0
+2006-01-20,10:25:00,3619.00,3619.00,3618.00,3618.00,559,0
+2006-01-20,10:26:00,3618.00,3618.00,3617.00,3617.00,464,0
+2006-01-20,10:27:00,3617.00,3617.00,3616.00,3617.00,538,0
+2006-01-20,10:28:00,3618.00,3618.00,3616.00,3617.00,237,0
+2006-01-20,10:29:00,3617.00,3618.00,3616.00,3617.00,351,0
+2006-01-20,10:30:00,3618.00,3618.00,3617.00,3617.00,746,0
+2006-01-20,10:31:00,3618.00,3618.00,3616.00,3618.00,3300,0
+2006-01-20,10:32:00,3618.00,3618.00,3617.00,3618.00,214,0
+2006-01-20,10:33:00,3618.00,3618.00,3617.00,3617.00,1010,0
+2006-01-20,10:34:00,3618.00,3618.00,3617.00,3618.00,292,0
+2006-01-20,10:35:00,3618.00,3618.00,3618.00,3618.00,108,0
+2006-01-20,10:36:00,3618.00,3618.00,3618.00,3618.00,262,0
+2006-01-20,10:37:00,3618.00,3618.00,3618.00,3618.00,250,0
+2006-01-20,10:38:00,3618.00,3619.00,3618.00,3619.00,570,0
+2006-01-20,10:39:00,3619.00,3619.00,3618.00,3618.00,217,0
+2006-01-20,10:40:00,3619.00,3619.00,3618.00,3618.00,594,0
+2006-01-20,10:41:00,3619.00,3619.00,3618.00,3619.00,59,0
+2006-01-20,10:42:00,3618.00,3619.00,3618.00,3618.00,1131,0
+2006-01-20,10:43:00,3619.00,3619.00,3619.00,3619.00,74,0
+2006-01-20,10:44:00,3619.00,3619.00,3618.00,3618.00,1484,0
+2006-01-20,10:45:00,3618.00,3618.00,3618.00,3618.00,506,0
+2006-01-20,10:46:00,3617.00,3618.00,3617.00,3618.00,4,0
+2006-01-20,10:47:00,3618.00,3618.00,3616.00,3616.00,1526,0
+2006-01-20,10:48:00,3617.00,3618.00,3617.00,3618.00,604,0
+2006-01-20,10:49:00,3617.00,3617.00,3617.00,3617.00,49,0
+2006-01-20,10:50:00,3617.00,3617.00,3617.00,3617.00,133,0
+2006-01-20,10:51:00,3617.00,3617.00,3617.00,3617.00,3,0
+2006-01-20,10:52:00,3617.00,3617.00,3617.00,3617.00,93,0
+2006-01-20,10:53:00,3618.00,3618.00,3617.00,3617.00,356,0
+2006-01-20,10:54:00,3618.00,3618.00,3617.00,3617.00,33,0
+2006-01-20,10:55:00,3617.00,3617.00,3617.00,3617.00,17,0
+2006-01-20,10:56:00,3618.00,3618.00,3617.00,3618.00,165,0
+2006-01-20,10:57:00,3617.00,3618.00,3617.00,3618.00,32,0
+2006-01-20,10:58:00,3617.00,3617.00,3616.00,3617.00,935,0
+2006-01-20,10:59:00,3617.00,3618.00,3616.00,3617.00,1051,0
+2006-01-20,11:00:00,3617.00,3617.00,3616.00,3616.00,1231,0
+2006-01-20,11:01:00,3617.00,3617.00,3616.00,3616.00,219,0
+2006-01-20,11:02:00,3616.00,3616.00,3613.00,3614.00,2947,0
+2006-01-20,11:03:00,3614.00,3614.00,3613.00,3614.00,3071,0
+2006-01-20,11:04:00,3613.00,3614.00,3613.00,3613.00,496,0
+2006-01-20,11:05:00,3613.00,3614.00,3613.00,3613.00,160,0
+2006-01-20,11:06:00,3613.00,3613.00,3612.00,3613.00,905,0
+2006-01-20,11:07:00,3614.00,3614.00,3612.00,3613.00,920,0
+2006-01-20,11:08:00,3613.00,3613.00,3612.00,3612.00,597,0
+2006-01-20,11:09:00,3613.00,3614.00,3613.00,3614.00,483,0
+2006-01-20,11:10:00,3613.00,3613.00,3613.00,3613.00,1324,0
+2006-01-20,11:11:00,3612.00,3613.00,3609.00,3610.00,3088,0
+2006-01-20,11:12:00,3610.00,3611.00,3608.00,3609.00,3452,0
+2006-01-20,11:13:00,3609.00,3610.00,3609.00,3609.00,2025,0
+2006-01-20,11:14:00,3609.00,3610.00,3609.00,3610.00,821,0
+2006-01-20,11:15:00,3610.00,3612.00,3609.00,3611.00,1678,0
+2006-01-20,11:16:00,3610.00,3612.00,3610.00,3612.00,1912,0
+2006-01-20,11:17:00,3612.00,3612.00,3611.00,3611.00,526,0
+2006-01-20,11:18:00,3611.00,3612.00,3611.00,3611.00,642,0
+2006-01-20,11:19:00,3611.00,3612.00,3610.00,3611.00,1007,0
+2006-01-20,11:20:00,3611.00,3611.00,3610.00,3610.00,206,0
+2006-01-20,11:21:00,3611.00,3612.00,3610.00,3612.00,466,0
+2006-01-20,11:22:00,3611.00,3612.00,3611.00,3611.00,892,0
+2006-01-20,11:23:00,3611.00,3611.00,3610.00,3610.00,2597,0
+2006-01-20,11:24:00,3610.00,3611.00,3609.00,3609.00,220,0
+2006-01-20,11:25:00,3609.00,3609.00,3607.00,3607.00,1866,0
+2006-01-20,11:26:00,3607.00,3608.00,3607.00,3608.00,3130,0
+2006-01-20,11:27:00,3607.00,3608.00,3607.00,3607.00,1570,0
+2006-01-20,11:28:00,3607.00,3608.00,3607.00,3608.00,313,0
+2006-01-20,11:29:00,3608.00,3609.00,3608.00,3609.00,1137,0
+2006-01-20,11:30:00,3609.00,3609.00,3608.00,3608.00,140,0
+2006-01-20,11:31:00,3609.00,3609.00,3608.00,3608.00,2735,0
+2006-01-20,11:32:00,3608.00,3608.00,3606.00,3606.00,1351,0
+2006-01-20,11:33:00,3607.00,3608.00,3606.00,3608.00,1445,0
+2006-01-20,11:34:00,3607.00,3608.00,3607.00,3608.00,170,0
+2006-01-20,11:35:00,3608.00,3608.00,3608.00,3608.00,575,0
+2006-01-20,11:36:00,3608.00,3609.00,3607.00,3608.00,1512,0
+2006-01-20,11:37:00,3607.00,3608.00,3607.00,3608.00,397,0
+2006-01-20,11:38:00,3607.00,3609.00,3607.00,3609.00,308,0
+2006-01-20,11:39:00,3608.00,3609.00,3608.00,3609.00,183,0
+2006-01-20,11:40:00,3608.00,3609.00,3608.00,3609.00,275,0
+2006-01-20,11:41:00,3608.00,3609.00,3608.00,3608.00,1376,0
+2006-01-20,11:42:00,3609.00,3610.00,3609.00,3609.00,2017,0
+2006-01-20,11:43:00,3609.00,3610.00,3608.00,3608.00,1085,0
+2006-01-20,11:44:00,3608.00,3611.00,3607.00,3610.00,2149,0
+2006-01-20,11:45:00,3611.00,3611.00,3610.00,3611.00,768,0
+2006-01-20,11:46:00,3611.00,3611.00,3610.00,3611.00,1734,0
+2006-01-20,11:47:00,3611.00,3613.00,3611.00,3611.00,3298,0
+2006-01-20,11:48:00,3612.00,3612.00,3611.00,3612.00,1000,0
+2006-01-20,11:49:00,3612.00,3612.00,3611.00,3611.00,1104,0
+2006-01-20,11:50:00,3611.00,3612.00,3611.00,3611.00,1012,0
+2006-01-20,11:51:00,3612.00,3613.00,3611.00,3612.00,6269,0
+2006-01-20,11:52:00,3612.00,3617.00,3612.00,3615.00,8113,0
+2006-01-20,11:53:00,3614.00,3615.00,3612.00,3614.00,3271,0
+2006-01-20,11:54:00,3614.00,3615.00,3613.00,3614.00,5922,0
+2006-01-20,11:55:00,3613.00,3614.00,3613.00,3613.00,481,0
+2006-01-20,11:56:00,3613.00,3613.00,3611.00,3611.00,1530,0
+2006-01-20,11:57:00,3612.00,3612.00,3610.00,3611.00,739,0
+2006-01-20,11:58:00,3611.00,3611.00,3609.00,3609.00,1581,0
+2006-01-20,11:59:00,3609.00,3610.00,3608.00,3608.00,1194,0
+2006-01-20,12:00:00,3608.00,3609.00,3606.00,3607.00,3261,0
+2006-01-20,12:01:00,3606.00,3609.00,3606.00,3608.00,6511,0
+2006-01-20,12:02:00,3607.00,3609.00,3607.00,3608.00,1746,0
+2006-01-20,12:03:00,3608.00,3608.00,3607.00,3608.00,673,0
+2006-01-20,12:04:00,3608.00,3609.00,3608.00,3608.00,430,0
+2006-01-20,12:05:00,3609.00,3609.00,3606.00,3607.00,2361,0
+2006-01-20,12:06:00,3607.00,3608.00,3605.00,3607.00,2380,0
+2006-01-20,12:07:00,3606.00,3607.00,3605.00,3606.00,1207,0
+2006-01-20,12:08:00,3606.00,3607.00,3605.00,3606.00,1193,0
+2006-01-20,12:09:00,3606.00,3606.00,3606.00,3606.00,405,0
+2006-01-20,12:10:00,3606.00,3606.00,3604.00,3606.00,3594,0
+2006-01-20,12:11:00,3606.00,3606.00,3605.00,3605.00,1500,0
+2006-01-20,12:12:00,3605.00,3606.00,3604.00,3604.00,3303,0
+2006-01-20,12:13:00,3605.00,3605.00,3604.00,3604.00,1154,0
+2006-01-20,12:14:00,3605.00,3605.00,3605.00,3605.00,151,0
+2006-01-20,12:15:00,3605.00,3605.00,3605.00,3605.00,561,0
+2006-01-20,12:16:00,3605.00,3605.00,3605.00,3605.00,890,0
+2006-01-20,12:17:00,3605.00,3606.00,3604.00,3605.00,425,0
+2006-01-20,12:18:00,3605.00,3606.00,3604.00,3605.00,392,0
+2006-01-20,12:19:00,3605.00,3605.00,3605.00,3605.00,85,0
+2006-01-20,12:20:00,3605.00,3605.00,3604.00,3605.00,393,0
+2006-01-20,12:21:00,3605.00,3605.00,3605.00,3605.00,725,0
+2006-01-20,12:22:00,3605.00,3606.00,3605.00,3605.00,1225,0
+2006-01-20,12:23:00,3605.00,3606.00,3605.00,3606.00,431,0
+2006-01-20,12:24:00,3606.00,3607.00,3606.00,3606.00,1897,0
+2006-01-20,12:25:00,3606.00,3607.00,3606.00,3607.00,594,0
+2006-01-20,12:26:00,3606.00,3607.00,3606.00,3607.00,321,0
+2006-01-20,12:27:00,3606.00,3606.00,3606.00,3606.00,353,0
+2006-01-20,12:28:00,3606.00,3606.00,3605.00,3605.00,381,0
+2006-01-20,12:29:00,3605.00,3605.00,3604.00,3605.00,1105,0
+2006-01-20,12:30:00,3605.00,3605.00,3605.00,3605.00,942,0
+2006-01-20,12:31:00,3604.00,3606.00,3604.00,3606.00,999,0
+2006-01-20,12:32:00,3606.00,3606.00,3606.00,3606.00,552,0
+2006-01-20,12:33:00,3605.00,3606.00,3605.00,3606.00,427,0
+2006-01-20,12:34:00,3606.00,3607.00,3606.00,3607.00,142,0
+2006-01-20,12:35:00,3607.00,3607.00,3605.00,3606.00,1106,0
+2006-01-20,12:36:00,3606.00,3607.00,3606.00,3606.00,206,0
+2006-01-20,12:37:00,3605.00,3605.00,3604.00,3604.00,769,0
+2006-01-20,12:38:00,3605.00,3605.00,3603.00,3604.00,1788,0
+2006-01-20,12:39:00,3604.00,3604.00,3602.00,3602.00,870,0
+2006-01-20,12:40:00,3602.00,3604.00,3602.00,3603.00,2140,0
+2006-01-20,12:41:00,3603.00,3604.00,3603.00,3604.00,26,0
+2006-01-20,12:42:00,3604.00,3604.00,3603.00,3604.00,765,0
+2006-01-20,12:43:00,3604.00,3604.00,3604.00,3604.00,10,0
+2006-01-20,12:44:00,3603.00,3604.00,3602.00,3604.00,863,0
+2006-01-20,12:45:00,3604.00,3604.00,3603.00,3604.00,1699,0
+2006-01-20,12:46:00,3603.00,3604.00,3602.00,3603.00,448,0
+2006-01-20,12:47:00,3602.00,3603.00,3602.00,3602.00,223,0
+2006-01-20,12:48:00,3603.00,3603.00,3602.00,3602.00,725,0
+2006-01-20,12:49:00,3603.00,3603.00,3603.00,3603.00,556,0
+2006-01-20,12:50:00,3603.00,3603.00,3603.00,3603.00,223,0
+2006-01-20,12:51:00,3603.00,3604.00,3603.00,3603.00,709,0
+2006-01-20,12:52:00,3602.00,3602.00,3601.00,3602.00,1050,0
+2006-01-20,12:53:00,3602.00,3602.00,3602.00,3602.00,427,0
+2006-01-20,12:54:00,3602.00,3603.00,3602.00,3603.00,433,0
+2006-01-20,12:55:00,3603.00,3604.00,3603.00,3603.00,524,0
+2006-01-20,12:56:00,3603.00,3603.00,3602.00,3602.00,59,0
+2006-01-20,12:57:00,3602.00,3602.00,3602.00,3602.00,694,0
+2006-01-20,12:58:00,3602.00,3603.00,3602.00,3602.00,385,0
+2006-01-20,12:59:00,3602.00,3603.00,3602.00,3603.00,379,0
+2006-01-20,13:00:00,3602.00,3602.00,3602.00,3602.00,23,0
+2006-01-20,13:01:00,3602.00,3603.00,3602.00,3603.00,1412,0
+2006-01-20,13:02:00,3602.00,3603.00,3601.00,3602.00,1438,0
+2006-01-20,13:03:00,3602.00,3602.00,3601.00,3601.00,1085,0
+2006-01-20,13:04:00,3601.00,3602.00,3601.00,3601.00,345,0
+2006-01-20,13:05:00,3602.00,3602.00,3601.00,3601.00,1140,0
+2006-01-20,13:06:00,3600.00,3602.00,3600.00,3601.00,1852,0
+2006-01-20,13:07:00,3601.00,3602.00,3600.00,3600.00,5495,0
+2006-01-20,13:08:00,3600.00,3601.00,3599.00,3599.00,725,0
+2006-01-20,13:09:00,3599.00,3599.00,3597.00,3597.00,3112,0
+2006-01-20,13:10:00,3597.00,3599.00,3597.00,3598.00,1884,0
+2006-01-20,13:11:00,3598.00,3599.00,3598.00,3599.00,1902,0
+2006-01-20,13:12:00,3599.00,3599.00,3598.00,3599.00,141,0
+2006-01-20,13:13:00,3598.00,3599.00,3597.00,3598.00,2072,0
+2006-01-20,13:14:00,3598.00,3599.00,3598.00,3599.00,574,0
+2006-01-20,13:15:00,3599.00,3599.00,3599.00,3599.00,759,0
+2006-01-20,13:16:00,3599.00,3599.00,3598.00,3599.00,498,0
+2006-01-20,13:17:00,3599.00,3599.00,3598.00,3598.00,232,0
+2006-01-20,13:18:00,3598.00,3599.00,3598.00,3598.00,166,0
+2006-01-20,13:19:00,3599.00,3599.00,3598.00,3598.00,766,0
+2006-01-20,13:20:00,3599.00,3600.00,3598.00,3600.00,2018,0
+2006-01-20,13:21:00,3600.00,3600.00,3599.00,3600.00,268,0
+2006-01-20,13:22:00,3599.00,3600.00,3599.00,3600.00,250,0
+2006-01-20,13:23:00,3600.00,3601.00,3599.00,3601.00,1504,0
+2006-01-20,13:24:00,3600.00,3601.00,3600.00,3600.00,346,0
+2006-01-20,13:25:00,3600.00,3600.00,3600.00,3600.00,524,0
+2006-01-20,13:26:00,3600.00,3601.00,3600.00,3600.00,891,0
+2006-01-20,13:28:00,3600.00,3600.00,3600.00,3600.00,42,0
+2006-01-20,13:29:00,3600.00,3600.00,3600.00,3600.00,218,0
+2006-01-20,13:30:00,3600.00,3600.00,3600.00,3600.00,283,0
+2006-01-20,13:31:00,3601.00,3601.00,3600.00,3601.00,903,0
+2006-01-20,13:32:00,3600.00,3601.00,3600.00,3600.00,505,0
+2006-01-20,13:34:00,3601.00,3601.00,3601.00,3601.00,281,0
+2006-01-20,13:35:00,3601.00,3601.00,3601.00,3601.00,2,0
+2006-01-20,13:36:00,3601.00,3601.00,3601.00,3601.00,324,0
+2006-01-20,13:37:00,3601.00,3601.00,3601.00,3601.00,35,0
+2006-01-20,13:38:00,3601.00,3601.00,3601.00,3601.00,44,0
+2006-01-20,13:39:00,3601.00,3601.00,3600.00,3601.00,145,0
+2006-01-20,13:40:00,3601.00,3601.00,3600.00,3600.00,484,0
+2006-01-20,13:41:00,3600.00,3600.00,3600.00,3600.00,64,0
+2006-01-20,13:42:00,3600.00,3600.00,3600.00,3600.00,66,0
+2006-01-20,13:43:00,3599.00,3600.00,3599.00,3600.00,90,0
+2006-01-20,13:44:00,3600.00,3602.00,3600.00,3601.00,840,0
+2006-01-20,13:45:00,3601.00,3601.00,3601.00,3601.00,743,0
+2006-01-20,13:46:00,3601.00,3601.00,3601.00,3601.00,10,0
+2006-01-20,13:47:00,3601.00,3601.00,3600.00,3600.00,5,0
+2006-01-20,13:48:00,3600.00,3601.00,3600.00,3600.00,460,0
+2006-01-20,13:49:00,3599.00,3600.00,3599.00,3600.00,387,0
+2006-01-20,13:50:00,3601.00,3601.00,3601.00,3601.00,556,0
+2006-01-20,13:51:00,3601.00,3602.00,3601.00,3601.00,852,0
+2006-01-20,13:52:00,3601.00,3601.00,3601.00,3601.00,77,0
+2006-01-20,13:53:00,3601.00,3601.00,3601.00,3601.00,107,0
+2006-01-20,13:54:00,3601.00,3602.00,3601.00,3601.00,7,0
+2006-01-20,13:55:00,3601.00,3601.00,3601.00,3601.00,1,0
+2006-01-20,13:56:00,3602.00,3602.00,3601.00,3601.00,94,0
+2006-01-20,13:57:00,3601.00,3602.00,3601.00,3602.00,82,0
+2006-01-20,13:58:00,3601.00,3601.00,3601.00,3601.00,11,0
+2006-01-20,13:59:00,3602.00,3603.00,3602.00,3602.00,883,0
+2006-01-20,14:00:00,3602.00,3602.00,3602.00,3602.00,75,0
+2006-01-20,14:01:00,3602.00,3603.00,3602.00,3602.00,112,0
+2006-01-20,14:02:00,3603.00,3603.00,3602.00,3603.00,146,0
+2006-01-20,14:03:00,3603.00,3603.00,3603.00,3603.00,120,0
+2006-01-20,14:04:00,3603.00,3604.00,3602.00,3603.00,730,0
+2006-01-20,14:06:00,3603.00,3603.00,3603.00,3603.00,2,0
+2006-01-20,14:07:00,3603.00,3603.00,3603.00,3603.00,2000,0
+2006-01-20,14:08:00,3602.00,3603.00,3602.00,3603.00,6,0
+2006-01-20,14:09:00,3603.00,3603.00,3602.00,3603.00,14,0
+2006-01-20,14:10:00,3603.00,3603.00,3603.00,3603.00,32,0
+2006-01-20,14:11:00,3602.00,3603.00,3602.00,3603.00,267,0
+2006-01-20,14:12:00,3603.00,3603.00,3603.00,3603.00,209,0
+2006-01-20,14:13:00,3603.00,3603.00,3602.00,3602.00,2,0
+2006-01-20,14:14:00,3602.00,3603.00,3602.00,3602.00,32,0
+2006-01-20,14:15:00,3603.00,3603.00,3603.00,3603.00,6,0
+2006-01-20,14:16:00,3603.00,3603.00,3602.00,3602.00,922,0
+2006-01-20,14:17:00,3602.00,3603.00,3602.00,3602.00,360,0
+2006-01-20,14:18:00,3602.00,3603.00,3602.00,3603.00,163,0
+2006-01-20,14:19:00,3603.00,3603.00,3603.00,3603.00,261,0
+2006-01-20,14:20:00,3603.00,3603.00,3603.00,3603.00,26,0
+2006-01-20,14:21:00,3602.00,3604.00,3602.00,3604.00,395,0
+2006-01-20,14:22:00,3603.00,3604.00,3603.00,3604.00,46,0
+2006-01-20,14:23:00,3603.00,3603.00,3603.00,3603.00,1433,0
+2006-01-20,14:24:00,3604.00,3604.00,3603.00,3603.00,12,0
+2006-01-20,14:25:00,3603.00,3603.00,3602.00,3602.00,248,0
+2006-01-20,14:26:00,3602.00,3602.00,3602.00,3602.00,103,0
+2006-01-20,14:27:00,3602.00,3602.00,3602.00,3602.00,1092,0
+2006-01-20,14:28:00,3602.00,3602.00,3601.00,3602.00,108,0
+2006-01-20,14:29:00,3602.00,3602.00,3601.00,3601.00,57,0
+2006-01-20,14:30:00,3601.00,3602.00,3601.00,3601.00,26,0
+2006-01-20,14:31:00,3602.00,3602.00,3601.00,3602.00,34,0
+2006-01-20,14:32:00,3602.00,3602.00,3601.00,3602.00,520,0
+2006-01-20,14:33:00,3602.00,3602.00,3601.00,3601.00,106,0
+2006-01-20,14:34:00,3601.00,3602.00,3601.00,3601.00,4408,0
+2006-01-20,14:35:00,3601.00,3601.00,3601.00,3601.00,4807,0
+2006-01-20,14:36:00,3601.00,3602.00,3601.00,3601.00,498,0
+2006-01-20,14:37:00,3601.00,3601.00,3601.00,3601.00,724,0
+2006-01-20,14:38:00,3601.00,3601.00,3601.00,3601.00,176,0
+2006-01-20,14:39:00,3602.00,3602.00,3602.00,3602.00,486,0
+2006-01-20,14:40:00,3603.00,3603.00,3602.00,3602.00,72,0
+2006-01-20,14:41:00,3603.00,3603.00,3601.00,3602.00,274,0
+2006-01-20,14:42:00,3602.00,3602.00,3602.00,3602.00,219,0
+2006-01-20,14:43:00,3601.00,3601.00,3601.00,3601.00,1,0
+2006-01-20,14:44:00,3601.00,3602.00,3601.00,3601.00,7,0
+2006-01-20,14:45:00,3602.00,3602.00,3601.00,3601.00,543,0
+2006-01-20,14:46:00,3601.00,3601.00,3601.00,3601.00,4,0
+2006-01-20,14:47:00,3601.00,3602.00,3601.00,3601.00,54,0
+2006-01-20,14:48:00,3602.00,3603.00,3601.00,3602.00,370,0
+2006-01-20,14:49:00,3602.00,3603.00,3602.00,3603.00,95,0
+2006-01-20,14:50:00,3602.00,3603.00,3602.00,3603.00,121,0
+2006-01-20,14:51:00,3602.00,3603.00,3602.00,3602.00,214,0
+2006-01-20,14:52:00,3602.00,3602.00,3602.00,3602.00,3023,0
+2006-01-20,14:53:00,3603.00,3603.00,3603.00,3603.00,155,0
+2006-01-20,14:54:00,3603.00,3604.00,3603.00,3604.00,499,0
+2006-01-20,14:55:00,3604.00,3604.00,3603.00,3603.00,455,0
+2006-01-20,14:56:00,3603.00,3603.00,3602.00,3602.00,930,0
+2006-01-20,14:57:00,3602.00,3602.00,3600.00,3600.00,995,0
+2006-01-20,14:58:00,3600.00,3600.00,3599.00,3600.00,54,0
+2006-01-20,14:59:00,3599.00,3601.00,3599.00,3600.00,1632,0
+2006-01-20,15:00:00,3600.00,3601.00,3600.00,3601.00,1000,0
+2006-01-20,15:01:00,3601.00,3602.00,3601.00,3601.00,1090,0
+2006-01-20,15:02:00,3601.00,3602.00,3601.00,3602.00,863,0
+2006-01-20,15:03:00,3602.00,3603.00,3602.00,3602.00,5356,0
+2006-01-20,15:04:00,3601.00,3602.00,3601.00,3602.00,5093,0
+2006-01-20,15:05:00,3602.00,3602.00,3602.00,3602.00,1266,0
+2006-01-20,15:06:00,3602.00,3602.00,3602.00,3602.00,28,0
+2006-01-20,15:07:00,3602.00,3603.00,3601.00,3602.00,262,0
+2006-01-20,15:08:00,3603.00,3603.00,3603.00,3603.00,1555,0
+2006-01-20,15:09:00,3604.00,3604.00,3602.00,3603.00,623,0
+2006-01-20,15:10:00,3603.00,3603.00,3603.00,3603.00,22,0
+2006-01-20,15:11:00,3603.00,3603.00,3603.00,3603.00,7,0
+2006-01-20,15:12:00,3602.00,3602.00,3602.00,3602.00,41,0
+2006-01-20,15:13:00,3603.00,3603.00,3602.00,3602.00,348,0
+2006-01-20,15:14:00,3602.00,3602.00,3602.00,3602.00,383,0
+2006-01-20,15:15:00,3602.00,3604.00,3602.00,3604.00,503,0
+2006-01-20,15:16:00,3604.00,3604.00,3603.00,3603.00,297,0
+2006-01-20,15:17:00,3604.00,3605.00,3603.00,3604.00,634,0
+2006-01-20,15:18:00,3605.00,3605.00,3604.00,3605.00,65,0
+2006-01-20,15:19:00,3604.00,3605.00,3604.00,3604.00,178,0
+2006-01-20,15:20:00,3605.00,3605.00,3603.00,3604.00,578,0
+2006-01-20,15:21:00,3604.00,3604.00,3604.00,3604.00,243,0
+2006-01-20,15:22:00,3604.00,3604.00,3603.00,3603.00,496,0
+2006-01-20,15:23:00,3603.00,3603.00,3603.00,3603.00,462,0
+2006-01-20,15:24:00,3602.00,3604.00,3602.00,3603.00,295,0
+2006-01-20,15:25:00,3604.00,3604.00,3603.00,3603.00,1226,0
+2006-01-20,15:26:00,3603.00,3604.00,3603.00,3604.00,332,0
+2006-01-20,15:27:00,3604.00,3605.00,3603.00,3605.00,719,0
+2006-01-20,15:28:00,3604.00,3605.00,3604.00,3605.00,262,0
+2006-01-20,15:29:00,3605.00,3606.00,3605.00,3605.00,821,0
+2006-01-20,15:30:00,3606.00,3606.00,3604.00,3605.00,441,0
+2006-01-20,15:31:00,3606.00,3606.00,3605.00,3605.00,333,0
+2006-01-20,15:32:00,3605.00,3606.00,3605.00,3606.00,488,0
+2006-01-20,15:33:00,3605.00,3606.00,3604.00,3604.00,1327,0
+2006-01-20,15:34:00,3604.00,3605.00,3603.00,3605.00,843,0
+2006-01-20,15:35:00,3605.00,3606.00,3605.00,3605.00,481,0
+2006-01-20,15:36:00,3605.00,3605.00,3604.00,3605.00,511,0
+2006-01-20,15:37:00,3604.00,3605.00,3604.00,3605.00,453,0
+2006-01-20,15:38:00,3605.00,3605.00,3603.00,3604.00,858,0
+2006-01-20,15:39:00,3605.00,3605.00,3604.00,3605.00,1218,0
+2006-01-20,15:40:00,3605.00,3605.00,3605.00,3605.00,55,0
+2006-01-20,15:41:00,3605.00,3605.00,3604.00,3605.00,122,0
+2006-01-20,15:42:00,3605.00,3606.00,3605.00,3605.00,381,0
+2006-01-20,15:43:00,3606.00,3606.00,3605.00,3605.00,187,0
+2006-01-20,15:44:00,3605.00,3606.00,3605.00,3606.00,830,0
+2006-01-20,15:45:00,3605.00,3606.00,3604.00,3605.00,281,0
+2006-01-20,15:46:00,3605.00,3606.00,3604.00,3605.00,99,0
+2006-01-20,15:47:00,3606.00,3606.00,3604.00,3604.00,756,0
+2006-01-20,15:48:00,3605.00,3605.00,3603.00,3604.00,390,0
+2006-01-20,15:49:00,3603.00,3606.00,3603.00,3605.00,2212,0
+2006-01-20,15:50:00,3605.00,3607.00,3605.00,3606.00,1900,0
+2006-01-20,15:51:00,3605.00,3606.00,3604.00,3606.00,1433,0
+2006-01-20,15:52:00,3606.00,3607.00,3605.00,3606.00,753,0
+2006-01-20,15:53:00,3607.00,3607.00,3605.00,3605.00,1384,0
+2006-01-20,15:54:00,3605.00,3606.00,3604.00,3605.00,1647,0
+2006-01-20,15:55:00,3605.00,3606.00,3605.00,3605.00,136,0
+2006-01-20,15:56:00,3605.00,3606.00,3604.00,3605.00,1710,0
+2006-01-20,15:57:00,3605.00,3605.00,3603.00,3603.00,441,0
+2006-01-20,15:58:00,3603.00,3603.00,3601.00,3602.00,2528,0
+2006-01-20,15:59:00,3602.00,3602.00,3595.00,3595.00,9873,0
+2006-01-20,16:00:00,3595.00,3596.00,3591.00,3591.00,8897,0
+2006-01-20,16:01:00,3592.00,3592.00,3586.00,3587.00,8059,0
+2006-01-20,16:02:00,3587.00,3591.00,3583.00,3590.00,12474,0
+2006-01-20,16:03:00,3590.00,3595.00,3590.00,3595.00,12993,0
+2006-01-20,16:04:00,3595.00,3599.00,3595.00,3597.00,8385,0
+2006-01-20,16:05:00,3596.00,3596.00,3594.00,3596.00,5886,0
+2006-01-20,16:06:00,3596.00,3596.00,3594.00,3595.00,1869,0
+2006-01-20,16:07:00,3595.00,3597.00,3594.00,3595.00,3204,0
+2006-01-20,16:08:00,3595.00,3596.00,3594.00,3594.00,896,0
+2006-01-20,16:09:00,3594.00,3594.00,3593.00,3593.00,2815,0
+2006-01-20,16:10:00,3593.00,3595.00,3593.00,3594.00,1691,0
+2006-01-20,16:11:00,3595.00,3595.00,3594.00,3595.00,861,0
+2006-01-20,16:12:00,3595.00,3595.00,3591.00,3591.00,2643,0
+2006-01-20,16:13:00,3591.00,3591.00,3586.00,3588.00,6718,0
+2006-01-20,16:14:00,3588.00,3590.00,3586.00,3586.00,5448,0
+2006-01-20,16:15:00,3586.00,3587.00,3583.00,3585.00,4537,0
+2006-01-20,16:16:00,3585.00,3586.00,3583.00,3584.00,5264,0
+2006-01-20,16:17:00,3585.00,3588.00,3584.00,3588.00,3399,0
+2006-01-20,16:18:00,3588.00,3591.00,3587.00,3590.00,4355,0
+2006-01-20,16:19:00,3590.00,3590.00,3584.00,3584.00,4770,0
+2006-01-20,16:20:00,3585.00,3587.00,3584.00,3586.00,8808,0
+2006-01-20,16:21:00,3586.00,3587.00,3584.00,3585.00,4257,0
+2006-01-20,16:22:00,3585.00,3588.00,3584.00,3587.00,3940,0
+2006-01-20,16:23:00,3586.00,3587.00,3586.00,3587.00,1676,0
+2006-01-20,16:24:00,3588.00,3589.00,3587.00,3588.00,1922,0
+2006-01-20,16:25:00,3588.00,3589.00,3588.00,3588.00,1486,0
+2006-01-20,16:26:00,3588.00,3589.00,3586.00,3587.00,2617,0
+2006-01-20,16:27:00,3587.00,3587.00,3584.00,3585.00,2414,0
+2006-01-20,16:28:00,3585.00,3587.00,3585.00,3586.00,1897,0
+2006-01-20,16:29:00,3586.00,3586.00,3584.00,3585.00,957,0
+2006-01-20,16:30:00,3585.00,3585.00,3583.00,3584.00,1363,0
+2006-01-20,16:31:00,3584.00,3585.00,3583.00,3584.00,1989,0
+2006-01-20,16:32:00,3584.00,3585.00,3579.00,3579.00,10847,0
+2006-01-20,16:33:00,3579.00,3579.00,3574.00,3574.00,8933,0
+2006-01-20,16:34:00,3574.00,3577.00,3574.00,3577.00,3546,0
+2006-01-20,16:35:00,3577.00,3580.00,3576.00,3579.00,5057,0
+2006-01-20,16:36:00,3579.00,3581.00,3578.00,3578.00,1693,0
+2006-01-20,16:37:00,3578.00,3580.00,3578.00,3578.00,1822,0
+2006-01-20,16:38:00,3579.00,3580.00,3579.00,3580.00,1651,0
+2006-01-20,16:39:00,3579.00,3580.00,3578.00,3579.00,1180,0
+2006-01-20,16:40:00,3579.00,3580.00,3579.00,3580.00,1078,0
+2006-01-20,16:41:00,3580.00,3580.00,3579.00,3580.00,1801,0
+2006-01-20,16:42:00,3580.00,3581.00,3580.00,3580.00,2303,0
+2006-01-20,16:43:00,3579.00,3581.00,3579.00,3580.00,1437,0
+2006-01-20,16:44:00,3580.00,3581.00,3579.00,3579.00,2475,0
+2006-01-20,16:45:00,3580.00,3580.00,3574.00,3574.00,3153,0
+2006-01-20,16:46:00,3574.00,3575.00,3573.00,3575.00,6954,0
+2006-01-20,16:47:00,3574.00,3576.00,3574.00,3574.00,3018,0
+2006-01-20,16:48:00,3573.00,3577.00,3573.00,3576.00,2972,0
+2006-01-20,16:49:00,3576.00,3576.00,3573.00,3573.00,1822,0
+2006-01-20,16:50:00,3573.00,3574.00,3572.00,3573.00,3017,0
+2006-01-20,16:51:00,3574.00,3575.00,3571.00,3572.00,5351,0
+2006-01-20,16:52:00,3571.00,3572.00,3568.00,3568.00,8541,0
+2006-01-20,16:53:00,3569.00,3571.00,3567.00,3567.00,6246,0
+2006-01-20,16:54:00,3567.00,3569.00,3563.00,3566.00,9557,0
+2006-01-20,16:55:00,3567.00,3569.00,3566.00,3568.00,3130,0
+2006-01-20,16:56:00,3569.00,3570.00,3567.00,3569.00,4534,0
+2006-01-20,16:57:00,3569.00,3569.00,3568.00,3569.00,1890,0
+2006-01-20,16:58:00,3569.00,3570.00,3568.00,3569.00,2928,0
+2006-01-20,16:59:00,3569.00,3571.00,3568.00,3570.00,3732,0
+2006-01-20,17:00:00,3570.00,3571.00,3567.00,3567.00,2497,0
+2006-01-20,17:01:00,3567.00,3567.00,3565.00,3566.00,5403,0
+2006-01-20,17:02:00,3566.00,3567.00,3564.00,3566.00,6328,0
+2006-01-20,17:03:00,3566.00,3568.00,3566.00,3568.00,2152,0
+2006-01-20,17:04:00,3567.00,3570.00,3567.00,3570.00,2984,0
+2006-01-20,17:05:00,3570.00,3572.00,3570.00,3571.00,2384,0
+2006-01-20,17:06:00,3571.00,3571.00,3568.00,3570.00,3865,0
+2006-01-20,17:07:00,3570.00,3573.00,3569.00,3573.00,3794,0
+2006-01-20,17:08:00,3573.00,3573.00,3571.00,3572.00,4077,0
+2006-01-20,17:09:00,3572.00,3573.00,3571.00,3572.00,2397,0
+2006-01-20,17:10:00,3573.00,3573.00,3570.00,3572.00,2620,0
+2006-01-20,17:11:00,3572.00,3572.00,3569.00,3571.00,2730,0
+2006-01-20,17:12:00,3571.00,3572.00,3570.00,3572.00,1904,0
+2006-01-20,17:13:00,3572.00,3576.00,3571.00,3575.00,3712,0
+2006-01-20,17:14:00,3576.00,3578.00,3575.00,3577.00,4555,0
+2006-01-20,17:15:00,3576.00,3578.00,3576.00,3577.00,2738,0
+2006-01-20,17:16:00,3577.00,3577.00,3574.00,3574.00,2221,0
+2006-01-20,17:17:00,3574.00,3574.00,3570.00,3571.00,4527,0
+2006-01-20,17:18:00,3571.00,3573.00,3571.00,3573.00,948,0
+2006-01-20,17:19:00,3572.00,3573.00,3572.00,3572.00,372,0
+2006-01-20,17:20:00,3572.00,3572.00,3569.00,3569.00,3787,0
+2006-01-20,17:21:00,3568.00,3569.00,3566.00,3567.00,6778,0
+2006-01-20,17:22:00,3566.00,3567.00,3561.00,3564.00,6844,0
+2006-01-20,17:23:00,3564.00,3565.00,3562.00,3563.00,4469,0
+2006-01-20,17:24:00,3564.00,3565.00,3562.00,3564.00,6289,0
+2006-01-20,17:25:00,3565.00,3565.00,3562.00,3562.00,2703,0
+2006-01-20,17:26:00,3563.00,3567.00,3563.00,3566.00,4069,0
+2006-01-20,17:27:00,3566.00,3568.00,3566.00,3567.00,4246,0
+2006-01-20,17:28:00,3567.00,3567.00,3565.00,3565.00,3311,0
+2006-01-20,17:29:00,3565.00,3566.00,3564.00,3565.00,5336,0
+2006-01-20,17:30:00,3565.00,3565.00,3562.00,3563.00,6167,0
+2006-01-20,17:31:00,3564.00,3564.00,3561.00,3562.00,6491,0
+2006-01-20,17:32:00,3562.00,3563.00,3557.00,3557.00,10100,0
+2006-01-20,17:33:00,3558.00,3562.00,3557.00,3561.00,5223,0
+2006-01-20,17:34:00,3561.00,3562.00,3561.00,3561.00,2175,0
+2006-01-20,17:35:00,3562.00,3563.00,3560.00,3561.00,3340,0
+2006-01-20,17:36:00,3561.00,3563.00,3560.00,3562.00,1918,0
+2006-01-20,17:37:00,3562.00,3562.00,3561.00,3561.00,1644,0
+2006-01-20,17:38:00,3560.00,3561.00,3558.00,3560.00,2554,0
+2006-01-20,17:39:00,3560.00,3560.00,3556.00,3557.00,6842,0
+2006-01-20,17:40:00,3556.00,3559.00,3556.00,3558.00,3124,0
+2006-01-20,17:41:00,3558.00,3558.00,3555.00,3556.00,3601,0
+2006-01-20,17:42:00,3556.00,3559.00,3555.00,3556.00,5845,0
+2006-01-20,17:43:00,3556.00,3559.00,3554.00,3558.00,4804,0
+2006-01-20,17:44:00,3558.00,3558.00,3556.00,3558.00,1445,0
+2006-01-20,17:45:00,3558.00,3558.00,3554.00,3555.00,1708,0
+2006-01-20,17:46:00,3556.00,3558.00,3556.00,3558.00,1070,0
+2006-01-20,17:47:00,3557.00,3559.00,3557.00,3559.00,444,0
+2006-01-20,17:48:00,3559.00,3559.00,3557.00,3558.00,1011,0
+2006-01-20,17:49:00,3559.00,3559.00,3554.00,3554.00,10756,0
+2006-01-20,17:50:00,3555.00,3557.00,3551.00,3553.00,5529,0
+2006-01-20,17:51:00,3554.00,3555.00,3553.00,3554.00,2798,0
+2006-01-20,17:52:00,3554.00,3555.00,3551.00,3553.00,4857,0
+2006-01-20,17:53:00,3552.00,3555.00,3552.00,3554.00,1985,0
+2006-01-20,17:54:00,3553.00,3553.00,3549.00,3550.00,3316,0
+2006-01-20,17:55:00,3550.00,3552.00,3550.00,3550.00,1652,0
+2006-01-20,17:56:00,3550.00,3550.00,3547.00,3550.00,3886,0
+2006-01-20,17:57:00,3550.00,3551.00,3549.00,3550.00,1872,0
+2006-01-20,17:58:00,3550.00,3551.00,3548.00,3549.00,2409,0
+2006-01-20,17:59:00,3549.00,3551.00,3547.00,3551.00,1584,0
+2006-01-20,18:00:00,3551.00,3552.00,3550.00,3551.00,1909,0
+2006-01-20,18:01:00,3551.00,3552.00,3551.00,3552.00,603,0
+2006-01-20,18:02:00,3552.00,3554.00,3550.00,3554.00,2152,0
+2006-01-20,18:03:00,3554.00,3554.00,3550.00,3551.00,1044,0
+2006-01-20,18:04:00,3551.00,3552.00,3550.00,3551.00,575,0
+2006-01-20,18:05:00,3552.00,3552.00,3551.00,3551.00,487,0
+2006-01-20,18:06:00,3551.00,3553.00,3551.00,3553.00,567,0
+2006-01-20,18:07:00,3553.00,3553.00,3552.00,3553.00,598,0
+2006-01-20,18:08:00,3552.00,3553.00,3551.00,3553.00,953,0
+2006-01-20,18:09:00,3552.00,3552.00,3550.00,3551.00,749,0
+2006-01-20,18:10:00,3550.00,3551.00,3549.00,3551.00,763,0
+2006-01-20,18:11:00,3551.00,3551.00,3550.00,3551.00,755,0
+2006-01-20,18:12:00,3551.00,3553.00,3551.00,3553.00,504,0
+2006-01-20,18:13:00,3552.00,3553.00,3546.00,3547.00,2712,0
+2006-01-20,18:14:00,3547.00,3548.00,3547.00,3548.00,1342,0
+2006-01-20,18:15:00,3548.00,3549.00,3548.00,3549.00,348,0
+2006-01-20,18:16:00,3549.00,3550.00,3548.00,3550.00,654,0
+2006-01-20,18:17:00,3550.00,3550.00,3549.00,3549.00,498,0
+2006-01-20,18:18:00,3548.00,3550.00,3548.00,3550.00,541,0
+2006-01-20,18:19:00,3550.00,3551.00,3549.00,3549.00,1045,0
+2006-01-20,18:20:00,3548.00,3549.00,3548.00,3548.00,423,0
+2006-01-20,18:21:00,3547.00,3550.00,3547.00,3550.00,1018,0
+2006-01-20,18:22:00,3549.00,3550.00,3549.00,3549.00,654,0
+2006-01-20,18:23:00,3550.00,3551.00,3550.00,3551.00,332,0
+2006-01-20,18:24:00,3551.00,3554.00,3550.00,3554.00,2278,0
+2006-01-20,18:25:00,3553.00,3556.00,3553.00,3555.00,1326,0
+2006-01-20,18:26:00,3555.00,3556.00,3554.00,3556.00,469,0
+2006-01-20,18:27:00,3555.00,3555.00,3554.00,3554.00,196,0
+2006-01-20,18:28:00,3554.00,3555.00,3554.00,3555.00,368,0
+2006-01-20,18:29:00,3555.00,3556.00,3554.00,3556.00,560,0
+2006-01-20,18:30:00,3556.00,3556.00,3555.00,3555.00,43,0
+2006-01-20,18:31:00,3554.00,3555.00,3553.00,3553.00,336,0
+2006-01-20,18:32:00,3552.00,3552.00,3552.00,3552.00,195,0
+2006-01-20,18:33:00,3553.00,3554.00,3552.00,3554.00,205,0
+2006-01-20,18:34:00,3554.00,3554.00,3553.00,3553.00,232,0
+2006-01-20,18:35:00,3553.00,3553.00,3553.00,3553.00,27,0
+2006-01-20,18:36:00,3554.00,3554.00,3553.00,3553.00,78,0
+2006-01-20,18:37:00,3554.00,3554.00,3553.00,3553.00,116,0
+2006-01-20,18:38:00,3552.00,3552.00,3551.00,3551.00,190,0
+2006-01-20,18:39:00,3552.00,3552.00,3550.00,3551.00,564,0
+2006-01-20,18:40:00,3551.00,3551.00,3551.00,3551.00,15,0
+2006-01-20,18:41:00,3552.00,3552.00,3550.00,3551.00,143,0
+2006-01-20,18:42:00,3551.00,3551.00,3551.00,3551.00,35,0
+2006-01-20,18:43:00,3552.00,3552.00,3548.00,3548.00,708,0
+2006-01-20,18:44:00,3549.00,3549.00,3546.00,3547.00,969,0
+2006-01-20,18:45:00,3546.00,3546.00,3544.00,3544.00,1708,0
+2006-01-20,18:46:00,3544.00,3547.00,3544.00,3547.00,1442,0
+2006-01-20,18:47:00,3547.00,3547.00,3545.00,3545.00,808,0
+2006-01-20,18:48:00,3546.00,3546.00,3543.00,3544.00,1363,0
+2006-01-20,18:49:00,3544.00,3546.00,3544.00,3545.00,631,0
+2006-01-20,18:50:00,3545.00,3548.00,3545.00,3548.00,932,0
+2006-01-20,18:51:00,3547.00,3548.00,3547.00,3547.00,293,0
+2006-01-20,18:52:00,3548.00,3548.00,3546.00,3547.00,444,0
+2006-01-20,18:53:00,3546.00,3547.00,3546.00,3546.00,618,0
+2006-01-20,18:54:00,3546.00,3547.00,3546.00,3547.00,358,0
+2006-01-20,18:55:00,3546.00,3548.00,3546.00,3547.00,470,0
+2006-01-20,18:56:00,3546.00,3548.00,3546.00,3547.00,710,0
+2006-01-20,18:57:00,3547.00,3547.00,3546.00,3546.00,241,0
+2006-01-20,18:58:00,3546.00,3546.00,3545.00,3546.00,132,0
+2006-01-20,18:59:00,3545.00,3547.00,3544.00,3547.00,959,0
+2006-01-20,19:00:00,3547.00,3547.00,3546.00,3546.00,121,0
+2006-01-20,19:01:00,3546.00,3547.00,3546.00,3546.00,69,0
+2006-01-20,19:02:00,3546.00,3546.00,3545.00,3546.00,128,0
+2006-01-20,19:03:00,3546.00,3546.00,3546.00,3546.00,59,0
+2006-01-20,19:04:00,3546.00,3546.00,3542.00,3542.00,997,0
+2006-01-20,19:05:00,3542.00,3543.00,3541.00,3542.00,645,0
+2006-01-20,19:06:00,3541.00,3544.00,3541.00,3544.00,377,0
+2006-01-20,19:07:00,3544.00,3544.00,3543.00,3543.00,358,0
+2006-01-20,19:08:00,3543.00,3543.00,3541.00,3542.00,484,0
+2006-01-20,19:09:00,3543.00,3544.00,3543.00,3544.00,258,0
+2006-01-20,19:10:00,3543.00,3543.00,3540.00,3542.00,1228,0
+2006-01-20,19:11:00,3543.00,3543.00,3543.00,3543.00,327,0
+2006-01-20,19:12:00,3542.00,3543.00,3542.00,3543.00,281,0
+2006-01-20,19:13:00,3543.00,3545.00,3543.00,3545.00,801,0
+2006-01-20,19:14:00,3544.00,3545.00,3544.00,3545.00,212,0
+2006-01-20,19:15:00,3545.00,3545.00,3544.00,3545.00,172,0
+2006-01-20,19:16:00,3545.00,3545.00,3543.00,3544.00,675,0
+2006-01-20,19:17:00,3544.00,3545.00,3544.00,3545.00,211,0
+2006-01-20,19:18:00,3545.00,3546.00,3544.00,3544.00,626,0
+2006-01-20,19:19:00,3544.00,3544.00,3543.00,3543.00,252,0
+2006-01-20,19:20:00,3543.00,3543.00,3542.00,3542.00,238,0
+2006-01-20,19:21:00,3542.00,3542.00,3541.00,3541.00,318,0
+2006-01-20,19:22:00,3541.00,3543.00,3541.00,3543.00,277,0
+2006-01-20,19:23:00,3542.00,3542.00,3542.00,3542.00,94,0
+2006-01-20,19:24:00,3543.00,3543.00,3542.00,3543.00,409,0
+2006-01-20,19:25:00,3543.00,3543.00,3542.00,3543.00,264,0
+2006-01-20,19:26:00,3544.00,3547.00,3544.00,3547.00,2008,0
+2006-01-20,19:27:00,3547.00,3548.00,3546.00,3547.00,741,0
+2006-01-20,19:28:00,3548.00,3549.00,3547.00,3547.00,617,0
+2006-01-20,19:29:00,3547.00,3547.00,3546.00,3547.00,257,0
+2006-01-20,19:30:00,3546.00,3546.00,3546.00,3546.00,51,0
+2006-01-20,19:31:00,3545.00,3546.00,3544.00,3544.00,231,0
+2006-01-20,19:32:00,3544.00,3545.00,3544.00,3544.00,153,0
+2006-01-20,19:33:00,3544.00,3545.00,3544.00,3545.00,40,0
+2006-01-20,19:34:00,3545.00,3545.00,3541.00,3541.00,387,0
+2006-01-20,19:35:00,3541.00,3543.00,3541.00,3542.00,904,0
+2006-01-20,19:36:00,3542.00,3543.00,3542.00,3542.00,101,0
+2006-01-20,19:37:00,3542.00,3546.00,3542.00,3546.00,726,0
+2006-01-20,19:38:00,3546.00,3546.00,3545.00,3545.00,263,0
+2006-01-20,19:39:00,3544.00,3544.00,3544.00,3544.00,22,0
+2006-01-20,19:40:00,3545.00,3546.00,3545.00,3545.00,349,0
+2006-01-20,19:41:00,3545.00,3546.00,3545.00,3545.00,195,0
+2006-01-20,19:42:00,3545.00,3545.00,3544.00,3544.00,44,0
+2006-01-20,19:43:00,3545.00,3545.00,3544.00,3544.00,195,0
+2006-01-20,19:44:00,3543.00,3543.00,3543.00,3543.00,150,0
+2006-01-20,19:45:00,3543.00,3543.00,3541.00,3541.00,565,0
+2006-01-20,19:46:00,3542.00,3542.00,3541.00,3542.00,208,0
+2006-01-20,19:47:00,3542.00,3542.00,3540.00,3540.00,522,0
+2006-01-20,19:48:00,3541.00,3541.00,3540.00,3540.00,647,0
+2006-01-20,19:49:00,3539.00,3540.00,3538.00,3538.00,369,0
+2006-01-20,19:50:00,3539.00,3541.00,3538.00,3541.00,215,0
+2006-01-20,19:51:00,3541.00,3542.00,3540.00,3541.00,302,0
+2006-01-20,19:52:00,3541.00,3541.00,3540.00,3541.00,390,0
+2006-01-20,19:53:00,3541.00,3541.00,3540.00,3541.00,265,0
+2006-01-20,19:54:00,3541.00,3542.00,3541.00,3541.00,92,0
+2006-01-20,19:55:00,3541.00,3542.00,3541.00,3541.00,299,0
+2006-01-20,19:56:00,3540.00,3540.00,3539.00,3539.00,688,0
+2006-01-20,19:57:00,3539.00,3541.00,3539.00,3541.00,1331,0
+2006-01-20,19:58:00,3540.00,3540.00,3539.00,3540.00,559,0
+2006-01-20,19:59:00,3540.00,3542.00,3540.00,3541.00,461,0
+2006-01-20,20:00:00,3541.00,3541.00,3538.00,3538.00,318,0
+2006-01-20,20:01:00,3540.00,3540.00,3538.00,3538.00,793,0
+2006-01-20,20:02:00,3537.00,3538.00,3537.00,3538.00,378,0
+2006-01-20,20:03:00,3537.00,3539.00,3537.00,3538.00,517,0
+2006-01-20,20:04:00,3539.00,3539.00,3539.00,3539.00,52,0
+2006-01-20,20:05:00,3538.00,3539.00,3538.00,3539.00,87,0
+2006-01-20,20:06:00,3539.00,3539.00,3539.00,3539.00,19,0
+2006-01-20,20:07:00,3539.00,3541.00,3539.00,3541.00,271,0
+2006-01-20,20:08:00,3541.00,3542.00,3541.00,3542.00,31,0
+2006-01-20,20:09:00,3542.00,3542.00,3540.00,3541.00,326,0
+2006-01-20,20:10:00,3541.00,3541.00,3541.00,3541.00,195,0
+2006-01-20,20:11:00,3541.00,3541.00,3540.00,3540.00,34,0
+2006-01-20,20:12:00,3540.00,3541.00,3540.00,3540.00,20,0
+2006-01-20,20:13:00,3539.00,3539.00,3539.00,3539.00,97,0
+2006-01-20,20:14:00,3539.00,3540.00,3539.00,3540.00,134,0
+2006-01-20,20:15:00,3540.00,3540.00,3540.00,3540.00,27,0
+2006-01-20,20:16:00,3541.00,3541.00,3540.00,3541.00,227,0
+2006-01-20,20:17:00,3542.00,3542.00,3541.00,3542.00,122,0
+2006-01-20,20:18:00,3541.00,3541.00,3539.00,3539.00,147,0
+2006-01-20,20:19:00,3539.00,3539.00,3539.00,3539.00,20,0
+2006-01-20,20:20:00,3540.00,3540.00,3537.00,3537.00,255,0
+2006-01-20,20:21:00,3538.00,3540.00,3538.00,3539.00,388,0
+2006-01-20,20:22:00,3539.00,3541.00,3539.00,3540.00,410,0
+2006-01-20,20:23:00,3540.00,3540.00,3539.00,3539.00,47,0
+2006-01-20,20:25:00,3540.00,3540.00,3540.00,3540.00,9,0
+2006-01-20,20:26:00,3541.00,3541.00,3541.00,3541.00,83,0
+2006-01-20,20:27:00,3541.00,3541.00,3541.00,3541.00,10,0
+2006-01-20,20:28:00,3541.00,3542.00,3541.00,3541.00,48,0
+2006-01-20,20:29:00,3542.00,3542.00,3542.00,3542.00,417,0
+2006-01-20,20:30:00,3543.00,3544.00,3543.00,3543.00,856,0
+2006-01-20,20:31:00,3543.00,3543.00,3542.00,3542.00,233,0
+2006-01-20,20:32:00,3541.00,3542.00,3541.00,3542.00,44,0
+2006-01-20,20:33:00,3543.00,3543.00,3542.00,3543.00,532,0
+2006-01-20,20:34:00,3543.00,3543.00,3542.00,3543.00,77,0
+2006-01-20,20:35:00,3544.00,3544.00,3543.00,3543.00,809,0
+2006-01-20,20:36:00,3543.00,3543.00,3543.00,3543.00,201,0
+2006-01-20,20:37:00,3543.00,3543.00,3541.00,3541.00,234,0
+2006-01-20,20:38:00,3541.00,3542.00,3541.00,3542.00,194,0
+2006-01-20,20:39:00,3542.00,3542.00,3542.00,3542.00,1,0
+2006-01-20,20:40:00,3542.00,3542.00,3542.00,3542.00,3,0
+2006-01-20,20:41:00,3542.00,3542.00,3542.00,3542.00,11,0
+2006-01-20,20:42:00,3542.00,3542.00,3541.00,3541.00,44,0
+2006-01-20,20:43:00,3540.00,3540.00,3540.00,3540.00,103,0
+2006-01-20,20:44:00,3541.00,3542.00,3541.00,3542.00,96,0
+2006-01-20,20:45:00,3542.00,3542.00,3541.00,3541.00,112,0
+2006-01-20,20:46:00,3541.00,3541.00,3541.00,3541.00,181,0
+2006-01-20,20:47:00,3540.00,3541.00,3539.00,3540.00,28,0
+2006-01-20,20:48:00,3540.00,3540.00,3540.00,3540.00,6,0
+2006-01-20,20:49:00,3540.00,3541.00,3540.00,3541.00,32,0
+2006-01-20,20:50:00,3541.00,3541.00,3541.00,3541.00,254,0
+2006-01-20,20:51:00,3540.00,3540.00,3539.00,3539.00,238,0
+2006-01-20,20:52:00,3538.00,3539.00,3537.00,3537.00,92,0
+2006-01-20,20:53:00,3538.00,3541.00,3538.00,3540.00,169,0
+2006-01-20,20:54:00,3539.00,3539.00,3539.00,3539.00,62,0
+2006-01-20,20:55:00,3538.00,3539.00,3537.00,3538.00,73,0
+2006-01-20,20:56:00,3538.00,3538.00,3537.00,3537.00,122,0
+2006-01-20,20:57:00,3537.00,3537.00,3536.00,3537.00,45,0
+2006-01-20,20:58:00,3537.00,3538.00,3535.00,3535.00,1228,0
+2006-01-20,20:59:00,3536.00,3536.00,3535.00,3535.00,142,0
+2006-01-20,21:00:00,3534.00,3534.00,3533.00,3534.00,525,0
+2006-01-20,21:01:00,3533.00,3535.00,3533.00,3535.00,108,0
+2006-01-20,21:02:00,3536.00,3536.00,3535.00,3535.00,162,0
+2006-01-20,21:03:00,3535.00,3536.00,3534.00,3534.00,89,0
+2006-01-20,21:04:00,3534.00,3536.00,3534.00,3536.00,44,0
+2006-01-20,21:05:00,3535.00,3535.00,3534.00,3534.00,37,0
+2006-01-20,21:06:00,3535.00,3535.00,3535.00,3535.00,41,0
+2006-01-20,21:07:00,3535.00,3535.00,3535.00,3535.00,25,0
+2006-01-20,21:08:00,3535.00,3536.00,3535.00,3536.00,253,0
+2006-01-20,21:09:00,3536.00,3536.00,3534.00,3535.00,141,0
+2006-01-20,21:10:00,3536.00,3537.00,3536.00,3537.00,130,0
+2006-01-20,21:11:00,3537.00,3537.00,3536.00,3536.00,119,0
+2006-01-20,21:12:00,3535.00,3535.00,3533.00,3533.00,140,0
+2006-01-20,21:13:00,3534.00,3536.00,3534.00,3536.00,94,0
+2006-01-20,21:14:00,3535.00,3535.00,3534.00,3534.00,52,0
+2006-01-20,21:15:00,3534.00,3534.00,3534.00,3534.00,58,0
+2006-01-20,21:16:00,3533.00,3535.00,3533.00,3534.00,126,0
+2006-01-20,21:17:00,3535.00,3535.00,3533.00,3534.00,99,0
+2006-01-20,21:18:00,3534.00,3534.00,3532.00,3534.00,283,0
+2006-01-20,21:19:00,3533.00,3534.00,3533.00,3534.00,148,0
+2006-01-20,21:20:00,3534.00,3536.00,3534.00,3535.00,265,0
+2006-01-20,21:21:00,3535.00,3536.00,3535.00,3535.00,265,0
+2006-01-20,21:22:00,3535.00,3536.00,3535.00,3536.00,455,0
+2006-01-20,21:23:00,3536.00,3536.00,3534.00,3536.00,62,0
+2006-01-20,21:24:00,3534.00,3534.00,3534.00,3534.00,39,0
+2006-01-20,21:25:00,3535.00,3535.00,3534.00,3534.00,107,0
+2006-01-20,21:26:00,3534.00,3535.00,3534.00,3535.00,12,0
+2006-01-20,21:27:00,3534.00,3534.00,3534.00,3534.00,106,0
+2006-01-20,21:28:00,3534.00,3534.00,3533.00,3533.00,56,0
+2006-01-20,21:29:00,3533.00,3535.00,3533.00,3535.00,15,0
+2006-01-20,21:30:00,3533.00,3533.00,3533.00,3533.00,10,0
+2006-01-20,21:31:00,3534.00,3534.00,3533.00,3534.00,20,0
+2006-01-20,21:32:00,3534.00,3534.00,3533.00,3533.00,34,0
+2006-01-20,21:33:00,3533.00,3535.00,3533.00,3534.00,191,0
+2006-01-20,21:34:00,3534.00,3536.00,3534.00,3534.00,159,0
+2006-01-20,21:35:00,3534.00,3535.00,3533.00,3534.00,18,0
+2006-01-20,21:36:00,3534.00,3535.00,3534.00,3535.00,8,0
+2006-01-20,21:37:00,3533.00,3534.00,3533.00,3533.00,84,0
+2006-01-20,21:38:00,3532.00,3533.00,3532.00,3532.00,1125,0
+2006-01-20,21:39:00,3532.00,3532.00,3531.00,3531.00,345,0
+2006-01-20,21:40:00,3531.00,3531.00,3531.00,3531.00,369,0
+2006-01-20,21:41:00,3532.00,3532.00,3531.00,3531.00,433,0
+2006-01-20,21:42:00,3531.00,3531.00,3529.00,3530.00,1199,0
+2006-01-20,21:43:00,3530.00,3530.00,3529.00,3530.00,19,0
+2006-01-20,21:44:00,3530.00,3530.00,3529.00,3530.00,39,0
+2006-01-20,21:45:00,3530.00,3530.00,3529.00,3529.00,137,0
+2006-01-20,21:46:00,3529.00,3529.00,3527.00,3527.00,17,0
+2006-01-20,21:47:00,3527.00,3528.00,3527.00,3528.00,184,0
+2006-01-20,21:48:00,3528.00,3528.00,3528.00,3528.00,86,0
+2006-01-20,21:49:00,3527.00,3529.00,3527.00,3529.00,182,0
+2006-01-20,21:50:00,3529.00,3529.00,3528.00,3529.00,37,0
+2006-01-20,21:51:00,3529.00,3529.00,3529.00,3529.00,21,0
+2006-01-20,21:52:00,3530.00,3530.00,3530.00,3530.00,19,0
+2006-01-20,21:53:00,3530.00,3530.00,3530.00,3530.00,73,0
+2006-01-20,21:54:00,3530.00,3532.00,3530.00,3532.00,505,0
+2006-01-20,21:55:00,3531.00,3531.00,3530.00,3530.00,263,0
+2006-01-20,21:56:00,3531.00,3531.00,3531.00,3531.00,319,0
+2006-01-20,21:57:00,3530.00,3530.00,3530.00,3530.00,54,0
+2006-01-20,21:58:00,3530.00,3530.00,3528.00,3528.00,49,0
+2006-01-20,21:59:00,3528.00,3528.00,3527.00,3527.00,9,0
+2006-01-20,22:00:00,3527.00,3528.00,3525.00,3528.00,1003,0
+2006-01-23,09:01:00,3525.00,3529.00,3523.00,3526.00,14980,0
+2006-01-23,09:02:00,3525.00,3526.00,3521.00,3524.00,10001,0
+2006-01-23,09:03:00,3522.00,3524.00,3522.00,3524.00,1895,0
+2006-01-23,09:04:00,3524.00,3526.00,3523.00,3524.00,6723,0
+2006-01-23,09:05:00,3525.00,3528.00,3524.00,3527.00,3663,0
+2006-01-23,09:06:00,3527.00,3530.00,3527.00,3529.00,3599,0
+2006-01-23,09:07:00,3528.00,3529.00,3527.00,3527.00,3064,0
+2006-01-23,09:08:00,3527.00,3528.00,3526.00,3526.00,2846,0
+2006-01-23,09:09:00,3527.00,3527.00,3522.00,3523.00,4636,0
+2006-01-23,09:10:00,3523.00,3524.00,3522.00,3524.00,2068,0
+2006-01-23,09:11:00,3524.00,3527.00,3523.00,3526.00,3156,0
+2006-01-23,09:12:00,3526.00,3526.00,3524.00,3525.00,3789,0
+2006-01-23,09:13:00,3525.00,3528.00,3525.00,3526.00,2515,0
+2006-01-23,09:14:00,3527.00,3527.00,3526.00,3527.00,2009,0
+2006-01-23,09:15:00,3527.00,3530.00,3527.00,3530.00,2565,0
+2006-01-23,09:16:00,3530.00,3531.00,3529.00,3531.00,2981,0
+2006-01-23,09:17:00,3531.00,3531.00,3529.00,3530.00,2441,0
+2006-01-23,09:18:00,3530.00,3533.00,3530.00,3533.00,3658,0
+2006-01-23,09:19:00,3533.00,3536.00,3532.00,3535.00,5307,0
+2006-01-23,09:20:00,3535.00,3535.00,3532.00,3532.00,3991,0
+2006-01-23,09:21:00,3531.00,3533.00,3531.00,3531.00,2520,0
+2006-01-23,09:22:00,3532.00,3532.00,3531.00,3531.00,1832,0
+2006-01-23,09:23:00,3531.00,3533.00,3530.00,3530.00,1929,0
+2006-01-23,09:24:00,3531.00,3531.00,3530.00,3531.00,1932,0
+2006-01-23,09:25:00,3531.00,3532.00,3530.00,3532.00,1287,0
+2006-01-23,09:26:00,3532.00,3532.00,3530.00,3531.00,1539,0
+2006-01-23,09:27:00,3531.00,3531.00,3530.00,3531.00,1172,0
+2006-01-23,09:28:00,3532.00,3532.00,3528.00,3529.00,3280,0
+2006-01-23,09:29:00,3530.00,3530.00,3528.00,3530.00,2109,0
+2006-01-23,09:30:00,3530.00,3531.00,3529.00,3529.00,1613,0
+2006-01-23,09:31:00,3529.00,3530.00,3528.00,3528.00,2226,0
+2006-01-23,09:32:00,3527.00,3529.00,3527.00,3529.00,1461,0
+2006-01-23,09:33:00,3528.00,3529.00,3528.00,3528.00,1612,0
+2006-01-23,09:34:00,3528.00,3528.00,3527.00,3528.00,761,0
+2006-01-23,09:35:00,3528.00,3529.00,3527.00,3527.00,1182,0
+2006-01-23,09:36:00,3527.00,3529.00,3527.00,3528.00,1690,0
+2006-01-23,09:37:00,3528.00,3530.00,3528.00,3530.00,1088,0
+2006-01-23,09:38:00,3529.00,3530.00,3529.00,3530.00,954,0
+2006-01-23,09:39:00,3529.00,3530.00,3529.00,3530.00,762,0
+2006-01-23,09:40:00,3530.00,3531.00,3527.00,3528.00,1697,0
+2006-01-23,09:41:00,3528.00,3529.00,3528.00,3529.00,1028,0
+2006-01-23,09:42:00,3529.00,3530.00,3528.00,3530.00,3086,0
+2006-01-23,09:43:00,3530.00,3530.00,3528.00,3528.00,1348,0
+2006-01-23,09:44:00,3529.00,3532.00,3529.00,3531.00,3384,0
+2006-01-23,09:45:00,3532.00,3533.00,3531.00,3531.00,1046,0
+2006-01-23,09:46:00,3531.00,3532.00,3531.00,3531.00,1075,0
+2006-01-23,09:47:00,3531.00,3533.00,3531.00,3532.00,1814,0
+2006-01-23,09:48:00,3532.00,3533.00,3531.00,3532.00,1182,0
+2006-01-23,09:49:00,3532.00,3532.00,3531.00,3532.00,1865,0
+2006-01-23,09:50:00,3532.00,3534.00,3532.00,3533.00,1396,0
+2006-01-23,09:51:00,3533.00,3535.00,3533.00,3534.00,2142,0
+2006-01-23,09:52:00,3535.00,3535.00,3534.00,3535.00,1131,0
+2006-01-23,09:53:00,3535.00,3537.00,3535.00,3536.00,3934,0
+2006-01-23,09:54:00,3535.00,3538.00,3535.00,3537.00,3501,0
+2006-01-23,09:55:00,3537.00,3538.00,3536.00,3537.00,2518,0
+2006-01-23,09:56:00,3537.00,3538.00,3536.00,3537.00,700,0
+2006-01-23,09:57:00,3537.00,3537.00,3536.00,3536.00,199,0
+2006-01-23,09:58:00,3536.00,3537.00,3536.00,3537.00,104,0
+2006-01-23,09:59:00,3537.00,3537.00,3536.00,3536.00,250,0
+2006-01-23,10:00:00,3537.00,3537.00,3535.00,3535.00,1595,0
+2006-01-23,10:01:00,3535.00,3536.00,3535.00,3536.00,820,0
+2006-01-23,10:02:00,3535.00,3537.00,3535.00,3537.00,1853,0
+2006-01-23,10:03:00,3537.00,3537.00,3536.00,3536.00,1162,0
+2006-01-23,10:04:00,3536.00,3537.00,3535.00,3535.00,683,0
+2006-01-23,10:05:00,3535.00,3535.00,3533.00,3534.00,2828,0
+2006-01-23,10:06:00,3534.00,3536.00,3533.00,3535.00,1272,0
+2006-01-23,10:07:00,3535.00,3536.00,3534.00,3536.00,2077,0
+2006-01-23,10:08:00,3536.00,3537.00,3535.00,3536.00,421,0
+2006-01-23,10:09:00,3536.00,3536.00,3535.00,3536.00,380,0
+2006-01-23,10:10:00,3535.00,3535.00,3534.00,3534.00,650,0
+2006-01-23,10:11:00,3534.00,3535.00,3533.00,3533.00,530,0
+2006-01-23,10:12:00,3534.00,3535.00,3534.00,3535.00,1373,0
+2006-01-23,10:13:00,3534.00,3535.00,3533.00,3533.00,940,0
+2006-01-23,10:14:00,3534.00,3534.00,3533.00,3533.00,170,0
+2006-01-23,10:15:00,3534.00,3534.00,3533.00,3534.00,236,0
+2006-01-23,10:16:00,3533.00,3534.00,3533.00,3534.00,654,0
+2006-01-23,10:17:00,3534.00,3535.00,3534.00,3534.00,204,0
+2006-01-23,10:18:00,3534.00,3535.00,3533.00,3534.00,358,0
+2006-01-23,10:19:00,3534.00,3535.00,3534.00,3535.00,585,0
+2006-01-23,10:20:00,3535.00,3535.00,3534.00,3535.00,1184,0
+2006-01-23,10:21:00,3535.00,3536.00,3534.00,3535.00,4730,0
+2006-01-23,10:22:00,3535.00,3536.00,3535.00,3536.00,221,0
+2006-01-23,10:23:00,3536.00,3537.00,3535.00,3537.00,2076,0
+2006-01-23,10:24:00,3537.00,3537.00,3535.00,3536.00,4842,0
+2006-01-23,10:25:00,3536.00,3536.00,3535.00,3535.00,1059,0
+2006-01-23,10:26:00,3535.00,3536.00,3535.00,3536.00,833,0
+2006-01-23,10:27:00,3535.00,3537.00,3535.00,3536.00,224,0
+2006-01-23,10:28:00,3537.00,3538.00,3536.00,3538.00,2276,0
+2006-01-23,10:29:00,3538.00,3538.00,3537.00,3537.00,161,0
+2006-01-23,10:30:00,3538.00,3538.00,3537.00,3537.00,441,0
+2006-01-23,10:31:00,3537.00,3540.00,3537.00,3539.00,3676,0
+2006-01-23,10:32:00,3539.00,3539.00,3538.00,3539.00,546,0
+2006-01-23,10:33:00,3539.00,3540.00,3538.00,3540.00,2307,0
+2006-01-23,10:34:00,3540.00,3542.00,3539.00,3541.00,1614,0
+2006-01-23,10:35:00,3542.00,3542.00,3540.00,3541.00,1041,0
+2006-01-23,10:36:00,3541.00,3541.00,3539.00,3540.00,883,0
+2006-01-23,10:37:00,3539.00,3540.00,3539.00,3540.00,1231,0
+2006-01-23,10:38:00,3540.00,3540.00,3539.00,3540.00,121,0
+2006-01-23,10:39:00,3540.00,3541.00,3540.00,3541.00,535,0
+2006-01-23,10:40:00,3541.00,3541.00,3540.00,3540.00,109,0
+2006-01-23,10:41:00,3541.00,3543.00,3541.00,3542.00,2071,0
+2006-01-23,10:42:00,3542.00,3543.00,3542.00,3542.00,1856,0
+2006-01-23,10:43:00,3543.00,3544.00,3543.00,3543.00,2704,0
+2006-01-23,10:44:00,3544.00,3544.00,3543.00,3544.00,1575,0
+2006-01-23,10:45:00,3544.00,3544.00,3543.00,3544.00,531,0
+2006-01-23,10:46:00,3543.00,3545.00,3543.00,3544.00,875,0
+2006-01-23,10:47:00,3545.00,3545.00,3544.00,3545.00,1381,0
+2006-01-23,10:48:00,3544.00,3544.00,3543.00,3543.00,2458,0
+2006-01-23,10:49:00,3543.00,3543.00,3541.00,3541.00,3971,0
+2006-01-23,10:50:00,3541.00,3542.00,3541.00,3541.00,276,0
+2006-01-23,10:51:00,3541.00,3542.00,3541.00,3541.00,441,0
+2006-01-23,10:52:00,3542.00,3543.00,3542.00,3543.00,1037,0
+2006-01-23,10:53:00,3542.00,3543.00,3542.00,3542.00,1056,0
+2006-01-23,10:54:00,3542.00,3543.00,3542.00,3543.00,143,0
+2006-01-23,10:55:00,3543.00,3543.00,3542.00,3542.00,431,0
+2006-01-23,10:56:00,3543.00,3544.00,3543.00,3544.00,3339,0
+2006-01-23,10:57:00,3544.00,3544.00,3543.00,3544.00,617,0
+2006-01-23,10:58:00,3544.00,3544.00,3542.00,3542.00,464,0
+2006-01-23,10:59:00,3542.00,3544.00,3542.00,3544.00,601,0
+2006-01-23,11:00:00,3543.00,3544.00,3542.00,3542.00,785,0
+2006-01-23,11:01:00,3542.00,3543.00,3540.00,3540.00,2197,0
+2006-01-23,11:02:00,3540.00,3541.00,3539.00,3540.00,941,0
+2006-01-23,11:03:00,3541.00,3541.00,3540.00,3541.00,63,0
+2006-01-23,11:04:00,3541.00,3541.00,3539.00,3539.00,2095,0
+2006-01-23,11:05:00,3540.00,3541.00,3538.00,3539.00,1411,0
+2006-01-23,11:06:00,3539.00,3539.00,3538.00,3539.00,717,0
+2006-01-23,11:07:00,3539.00,3539.00,3538.00,3538.00,685,0
+2006-01-23,11:08:00,3539.00,3540.00,3539.00,3539.00,544,0
+2006-01-23,11:09:00,3540.00,3540.00,3538.00,3538.00,465,0
+2006-01-23,11:10:00,3539.00,3539.00,3538.00,3539.00,1191,0
+2006-01-23,11:11:00,3539.00,3540.00,3539.00,3540.00,481,0
+2006-01-23,11:12:00,3539.00,3540.00,3539.00,3539.00,459,0
+2006-01-23,11:13:00,3540.00,3541.00,3539.00,3540.00,1084,0
+2006-01-23,11:14:00,3540.00,3540.00,3539.00,3539.00,764,0
+2006-01-23,11:15:00,3539.00,3540.00,3539.00,3539.00,178,0
+2006-01-23,11:16:00,3540.00,3540.00,3539.00,3540.00,589,0
+2006-01-23,11:17:00,3540.00,3540.00,3539.00,3540.00,416,0
+2006-01-23,11:18:00,3540.00,3540.00,3539.00,3540.00,941,0
+2006-01-23,11:19:00,3540.00,3540.00,3540.00,3540.00,420,0
+2006-01-23,11:20:00,3539.00,3540.00,3539.00,3539.00,78,0
+2006-01-23,11:21:00,3539.00,3541.00,3539.00,3541.00,938,0
+2006-01-23,11:22:00,3541.00,3542.00,3540.00,3540.00,1138,0
+2006-01-23,11:23:00,3541.00,3542.00,3541.00,3542.00,785,0
+2006-01-23,11:24:00,3542.00,3543.00,3541.00,3542.00,610,0
+2006-01-23,11:25:00,3542.00,3543.00,3542.00,3542.00,806,0
+2006-01-23,11:26:00,3542.00,3544.00,3542.00,3543.00,1268,0
+2006-01-23,11:27:00,3544.00,3544.00,3543.00,3543.00,361,0
+2006-01-23,11:28:00,3543.00,3543.00,3542.00,3542.00,785,0
+2006-01-23,11:29:00,3542.00,3542.00,3541.00,3541.00,1003,0
+2006-01-23,11:30:00,3541.00,3542.00,3541.00,3541.00,897,0
+2006-01-23,11:31:00,3541.00,3542.00,3540.00,3541.00,215,0
+2006-01-23,11:32:00,3541.00,3542.00,3540.00,3540.00,761,0
+2006-01-23,11:33:00,3541.00,3541.00,3539.00,3539.00,724,0
+2006-01-23,11:34:00,3539.00,3540.00,3538.00,3539.00,825,0
+2006-01-23,11:35:00,3540.00,3540.00,3540.00,3540.00,138,0
+2006-01-23,11:36:00,3539.00,3540.00,3539.00,3540.00,75,0
+2006-01-23,11:37:00,3540.00,3540.00,3538.00,3538.00,2405,0
+2006-01-23,11:38:00,3538.00,3539.00,3538.00,3539.00,1658,0
+2006-01-23,11:39:00,3539.00,3540.00,3539.00,3539.00,190,0
+2006-01-23,11:40:00,3539.00,3539.00,3538.00,3538.00,1066,0
+2006-01-23,11:41:00,3538.00,3539.00,3538.00,3538.00,85,0
+2006-01-23,11:42:00,3538.00,3539.00,3538.00,3539.00,465,0
+2006-01-23,11:43:00,3538.00,3539.00,3538.00,3538.00,542,0
+2006-01-23,11:44:00,3538.00,3539.00,3538.00,3538.00,464,0
+2006-01-23,11:45:00,3538.00,3539.00,3537.00,3538.00,1215,0
+2006-01-23,11:46:00,3539.00,3540.00,3539.00,3539.00,660,0
+2006-01-23,11:47:00,3539.00,3540.00,3539.00,3540.00,188,0
+2006-01-23,11:48:00,3540.00,3540.00,3539.00,3540.00,266,0
+2006-01-23,11:49:00,3540.00,3540.00,3539.00,3540.00,321,0
+2006-01-23,11:50:00,3540.00,3540.00,3539.00,3540.00,454,0
+2006-01-23,11:51:00,3540.00,3540.00,3539.00,3539.00,938,0
+2006-01-23,11:52:00,3540.00,3541.00,3539.00,3540.00,541,0
+2006-01-23,11:53:00,3540.00,3540.00,3540.00,3540.00,80,0
+2006-01-23,11:54:00,3540.00,3540.00,3540.00,3540.00,396,0
+2006-01-23,11:55:00,3540.00,3541.00,3540.00,3540.00,137,0
+2006-01-23,11:56:00,3540.00,3541.00,3540.00,3541.00,2119,0
+2006-01-23,11:57:00,3541.00,3541.00,3540.00,3540.00,210,0
+2006-01-23,11:58:00,3541.00,3541.00,3540.00,3540.00,27,0
+2006-01-23,11:59:00,3540.00,3540.00,3539.00,3540.00,889,0
+2006-01-23,12:00:00,3539.00,3540.00,3539.00,3539.00,404,0
+2006-01-23,12:01:00,3539.00,3540.00,3539.00,3540.00,422,0
+2006-01-23,12:02:00,3540.00,3540.00,3540.00,3540.00,617,0
+2006-01-23,12:03:00,3540.00,3540.00,3540.00,3540.00,118,0
+2006-01-23,12:04:00,3540.00,3541.00,3540.00,3540.00,151,0
+2006-01-23,12:05:00,3540.00,3540.00,3539.00,3539.00,313,0
+2006-01-23,12:06:00,3540.00,3540.00,3539.00,3539.00,226,0
+2006-01-23,12:07:00,3539.00,3540.00,3539.00,3540.00,310,0
+2006-01-23,12:08:00,3540.00,3541.00,3539.00,3540.00,2092,0
+2006-01-23,12:09:00,3540.00,3540.00,3539.00,3540.00,410,0
+2006-01-23,12:10:00,3540.00,3540.00,3540.00,3540.00,15,0
+2006-01-23,12:11:00,3539.00,3540.00,3539.00,3540.00,233,0
+2006-01-23,12:12:00,3540.00,3540.00,3539.00,3540.00,98,0
+2006-01-23,12:13:00,3539.00,3540.00,3539.00,3540.00,41,0
+2006-01-23,12:14:00,3539.00,3540.00,3539.00,3539.00,478,0
+2006-01-23,12:15:00,3540.00,3540.00,3538.00,3538.00,548,0
+2006-01-23,12:16:00,3538.00,3538.00,3536.00,3537.00,1871,0
+2006-01-23,12:17:00,3537.00,3537.00,3536.00,3536.00,346,0
+2006-01-23,12:18:00,3537.00,3537.00,3536.00,3537.00,251,0
+2006-01-23,12:19:00,3536.00,3537.00,3536.00,3536.00,339,0
+2006-01-23,12:20:00,3537.00,3537.00,3537.00,3537.00,368,0
+2006-01-23,12:21:00,3537.00,3537.00,3536.00,3537.00,172,0
+2006-01-23,12:22:00,3537.00,3538.00,3536.00,3538.00,1578,0
+2006-01-23,12:23:00,3537.00,3537.00,3534.00,3535.00,2847,0
+2006-01-23,12:24:00,3535.00,3535.00,3533.00,3534.00,1358,0
+2006-01-23,12:25:00,3534.00,3534.00,3531.00,3532.00,3487,0
+2006-01-23,12:26:00,3531.00,3532.00,3531.00,3532.00,84,0
+2006-01-23,12:27:00,3532.00,3533.00,3531.00,3533.00,960,0
+2006-01-23,12:28:00,3532.00,3533.00,3531.00,3532.00,1208,0
+2006-01-23,12:29:00,3532.00,3532.00,3531.00,3532.00,866,0
+2006-01-23,12:30:00,3533.00,3533.00,3532.00,3532.00,780,0
+2006-01-23,12:31:00,3533.00,3534.00,3532.00,3533.00,511,0
+2006-01-23,12:32:00,3533.00,3533.00,3533.00,3533.00,721,0
+2006-01-23,12:33:00,3533.00,3534.00,3532.00,3532.00,974,0
+2006-01-23,12:34:00,3532.00,3532.00,3531.00,3532.00,508,0
+2006-01-23,12:35:00,3532.00,3532.00,3530.00,3531.00,1698,0
+2006-01-23,12:36:00,3531.00,3532.00,3530.00,3531.00,1341,0
+2006-01-23,12:37:00,3530.00,3532.00,3530.00,3531.00,227,0
+2006-01-23,12:38:00,3531.00,3532.00,3531.00,3532.00,67,0
+2006-01-23,12:39:00,3532.00,3532.00,3531.00,3532.00,731,0
+2006-01-23,12:40:00,3532.00,3533.00,3532.00,3532.00,788,0
+2006-01-23,12:41:00,3532.00,3532.00,3530.00,3531.00,2043,0
+2006-01-23,12:42:00,3531.00,3531.00,3530.00,3530.00,1436,0
+2006-01-23,12:43:00,3530.00,3530.00,3528.00,3529.00,2111,0
+2006-01-23,12:44:00,3529.00,3529.00,3528.00,3529.00,238,0
+2006-01-23,12:45:00,3528.00,3529.00,3528.00,3528.00,607,0
+2006-01-23,12:46:00,3529.00,3529.00,3527.00,3528.00,523,0
+2006-01-23,12:47:00,3528.00,3529.00,3527.00,3529.00,1474,0
+2006-01-23,12:48:00,3529.00,3529.00,3527.00,3527.00,465,0
+2006-01-23,12:49:00,3528.00,3529.00,3528.00,3528.00,307,0
+2006-01-23,12:50:00,3528.00,3528.00,3527.00,3528.00,384,0
+2006-01-23,12:51:00,3527.00,3528.00,3527.00,3528.00,401,0
+2006-01-23,12:52:00,3528.00,3529.00,3528.00,3529.00,232,0
+2006-01-23,12:53:00,3529.00,3530.00,3528.00,3529.00,1643,0
+2006-01-23,12:54:00,3529.00,3530.00,3529.00,3530.00,638,0
+2006-01-23,12:55:00,3530.00,3530.00,3529.00,3530.00,1519,0
+2006-01-23,12:56:00,3530.00,3530.00,3529.00,3530.00,228,0
+2006-01-23,12:58:00,3530.00,3530.00,3530.00,3530.00,80,0
+2006-01-23,12:59:00,3530.00,3530.00,3529.00,3530.00,956,0
+2006-01-23,13:00:00,3530.00,3531.00,3529.00,3529.00,717,0
+2006-01-23,13:01:00,3529.00,3530.00,3528.00,3529.00,1039,0
+2006-01-23,13:02:00,3530.00,3530.00,3529.00,3530.00,430,0
+2006-01-23,13:03:00,3530.00,3530.00,3530.00,3530.00,291,0
+2006-01-23,13:04:00,3530.00,3531.00,3530.00,3531.00,355,0
+2006-01-23,13:05:00,3531.00,3531.00,3530.00,3530.00,969,0
+2006-01-23,13:06:00,3531.00,3531.00,3530.00,3530.00,616,0
+2006-01-23,13:07:00,3531.00,3532.00,3530.00,3532.00,804,0
+2006-01-23,13:08:00,3532.00,3532.00,3532.00,3532.00,694,0
+2006-01-23,13:09:00,3532.00,3534.00,3532.00,3534.00,867,0
+2006-01-23,13:10:00,3534.00,3534.00,3533.00,3534.00,85,0
+2006-01-23,13:11:00,3533.00,3534.00,3533.00,3534.00,102,0
+2006-01-23,13:12:00,3534.00,3534.00,3534.00,3534.00,399,0
+2006-01-23,13:13:00,3534.00,3534.00,3533.00,3533.00,328,0
+2006-01-23,13:14:00,3534.00,3535.00,3534.00,3534.00,662,0
+2006-01-23,13:15:00,3534.00,3535.00,3534.00,3535.00,258,0
+2006-01-23,13:16:00,3535.00,3535.00,3534.00,3535.00,218,0
+2006-01-23,13:17:00,3535.00,3536.00,3535.00,3535.00,912,0
+2006-01-23,13:18:00,3536.00,3537.00,3535.00,3537.00,1116,0
+2006-01-23,13:19:00,3537.00,3537.00,3536.00,3536.00,592,0
+2006-01-23,13:20:00,3537.00,3537.00,3536.00,3537.00,276,0
+2006-01-23,13:21:00,3537.00,3537.00,3537.00,3537.00,175,0
+2006-01-23,13:22:00,3537.00,3537.00,3536.00,3537.00,194,0
+2006-01-23,13:23:00,3536.00,3537.00,3536.00,3536.00,430,0
+2006-01-23,13:24:00,3536.00,3537.00,3536.00,3537.00,351,0
+2006-01-23,13:25:00,3537.00,3537.00,3536.00,3537.00,662,0
+2006-01-23,13:26:00,3537.00,3537.00,3536.00,3536.00,31,0
+2006-01-23,13:27:00,3536.00,3537.00,3536.00,3537.00,504,0
+2006-01-23,13:28:00,3537.00,3537.00,3536.00,3536.00,417,0
+2006-01-23,13:29:00,3536.00,3536.00,3536.00,3536.00,519,0
+2006-01-23,13:30:00,3537.00,3537.00,3537.00,3537.00,50,0
+2006-01-23,13:31:00,3537.00,3539.00,3537.00,3538.00,2545,0
+2006-01-23,13:32:00,3539.00,3539.00,3538.00,3539.00,890,0
+2006-01-23,13:33:00,3538.00,3540.00,3538.00,3539.00,902,0
+2006-01-23,13:34:00,3539.00,3539.00,3538.00,3538.00,550,0
+2006-01-23,13:35:00,3538.00,3538.00,3537.00,3538.00,187,0
+2006-01-23,13:36:00,3538.00,3539.00,3537.00,3539.00,337,0
+2006-01-23,13:37:00,3538.00,3539.00,3538.00,3539.00,876,0
+2006-01-23,13:38:00,3539.00,3539.00,3537.00,3538.00,1183,0
+2006-01-23,13:39:00,3537.00,3538.00,3537.00,3538.00,510,0
+2006-01-23,13:40:00,3537.00,3537.00,3536.00,3537.00,617,0
+2006-01-23,13:41:00,3537.00,3538.00,3537.00,3538.00,305,0
+2006-01-23,13:42:00,3537.00,3537.00,3536.00,3536.00,257,0
+2006-01-23,13:43:00,3537.00,3537.00,3537.00,3537.00,341,0
+2006-01-23,13:44:00,3538.00,3538.00,3538.00,3538.00,6,0
+2006-01-23,13:45:00,3538.00,3538.00,3538.00,3538.00,103,0
+2006-01-23,13:46:00,3537.00,3537.00,3537.00,3537.00,74,0
+2006-01-23,13:47:00,3537.00,3538.00,3537.00,3538.00,24,0
+2006-01-23,13:48:00,3538.00,3540.00,3538.00,3540.00,3853,0
+2006-01-23,13:49:00,3539.00,3542.00,3539.00,3541.00,1260,0
+2006-01-23,13:50:00,3542.00,3542.00,3541.00,3541.00,669,0
+2006-01-23,13:51:00,3542.00,3542.00,3540.00,3540.00,1118,0
+2006-01-23,13:52:00,3540.00,3541.00,3540.00,3540.00,577,0
+2006-01-23,13:53:00,3540.00,3540.00,3539.00,3539.00,110,0
+2006-01-23,13:54:00,3539.00,3539.00,3539.00,3539.00,8,0
+2006-01-23,13:55:00,3539.00,3539.00,3538.00,3538.00,438,0
+2006-01-23,13:56:00,3538.00,3539.00,3538.00,3539.00,50,0
+2006-01-23,13:57:00,3539.00,3539.00,3539.00,3539.00,37,0
+2006-01-23,13:58:00,3539.00,3539.00,3539.00,3539.00,169,0
+2006-01-23,13:59:00,3538.00,3538.00,3538.00,3538.00,25,0
+2006-01-23,14:00:00,3538.00,3539.00,3538.00,3539.00,93,0
+2006-01-23,14:01:00,3539.00,3539.00,3536.00,3536.00,1157,0
+2006-01-23,14:02:00,3537.00,3538.00,3537.00,3538.00,971,0
+2006-01-23,14:03:00,3538.00,3539.00,3538.00,3538.00,396,0
+2006-01-23,14:04:00,3539.00,3539.00,3539.00,3539.00,649,0
+2006-01-23,14:05:00,3539.00,3540.00,3539.00,3540.00,167,0
+2006-01-23,14:06:00,3539.00,3540.00,3539.00,3539.00,15,0
+2006-01-23,14:07:00,3540.00,3540.00,3539.00,3539.00,1002,0
+2006-01-23,14:08:00,3539.00,3541.00,3539.00,3541.00,928,0
+2006-01-23,14:09:00,3541.00,3542.00,3541.00,3542.00,884,0
+2006-01-23,14:10:00,3542.00,3543.00,3542.00,3542.00,274,0
+2006-01-23,14:11:00,3542.00,3543.00,3542.00,3542.00,518,0
+2006-01-23,14:12:00,3542.00,3542.00,3542.00,3542.00,285,0
+2006-01-23,14:13:00,3542.00,3543.00,3542.00,3543.00,69,0
+2006-01-23,14:14:00,3543.00,3543.00,3542.00,3542.00,71,0
+2006-01-23,14:15:00,3542.00,3542.00,3542.00,3542.00,198,0
+2006-01-23,14:16:00,3541.00,3542.00,3541.00,3541.00,83,0
+2006-01-23,14:17:00,3542.00,3542.00,3542.00,3542.00,474,0
+2006-01-23,14:18:00,3542.00,3542.00,3541.00,3542.00,371,0
+2006-01-23,14:19:00,3541.00,3541.00,3541.00,3541.00,211,0
+2006-01-23,14:20:00,3541.00,3541.00,3540.00,3541.00,313,0
+2006-01-23,14:21:00,3540.00,3540.00,3540.00,3540.00,6,0
+2006-01-23,14:22:00,3540.00,3541.00,3540.00,3541.00,338,0
+2006-01-23,14:23:00,3540.00,3542.00,3540.00,3542.00,482,0
+2006-01-23,14:24:00,3541.00,3541.00,3541.00,3541.00,275,0
+2006-01-23,14:25:00,3541.00,3542.00,3541.00,3542.00,225,0
+2006-01-23,14:26:00,3542.00,3542.00,3541.00,3542.00,171,0
+2006-01-23,14:27:00,3541.00,3541.00,3541.00,3541.00,45,0
+2006-01-23,14:28:00,3541.00,3541.00,3541.00,3541.00,11,0
+2006-01-23,14:29:00,3542.00,3542.00,3541.00,3541.00,262,0
+2006-01-23,14:30:00,3541.00,3541.00,3540.00,3540.00,20,0
+2006-01-23,14:31:00,3540.00,3540.00,3540.00,3540.00,52,0
+2006-01-23,14:32:00,3540.00,3541.00,3540.00,3541.00,615,0
+2006-01-23,14:33:00,3541.00,3541.00,3540.00,3541.00,204,0
+2006-01-23,14:34:00,3541.00,3541.00,3540.00,3540.00,474,0
+2006-01-23,14:35:00,3540.00,3541.00,3540.00,3540.00,303,0
+2006-01-23,14:36:00,3539.00,3540.00,3539.00,3540.00,155,0
+2006-01-23,14:37:00,3540.00,3541.00,3540.00,3540.00,707,0
+2006-01-23,14:38:00,3541.00,3541.00,3540.00,3541.00,156,0
+2006-01-23,14:39:00,3541.00,3541.00,3540.00,3541.00,48,0
+2006-01-23,14:40:00,3540.00,3540.00,3540.00,3540.00,3,0
+2006-01-23,14:41:00,3540.00,3541.00,3539.00,3540.00,180,0
+2006-01-23,14:42:00,3540.00,3540.00,3539.00,3539.00,66,0
+2006-01-23,14:43:00,3540.00,3540.00,3539.00,3540.00,260,0
+2006-01-23,14:44:00,3540.00,3540.00,3540.00,3540.00,47,0
+2006-01-23,14:45:00,3541.00,3541.00,3540.00,3541.00,214,0
+2006-01-23,14:46:00,3541.00,3542.00,3541.00,3541.00,104,0
+2006-01-23,14:47:00,3541.00,3542.00,3541.00,3542.00,457,0
+2006-01-23,14:48:00,3542.00,3543.00,3542.00,3542.00,102,0
+2006-01-23,14:49:00,3543.00,3543.00,3542.00,3542.00,523,0
+2006-01-23,14:50:00,3543.00,3543.00,3542.00,3543.00,114,0
+2006-01-23,14:51:00,3542.00,3543.00,3541.00,3541.00,939,0
+2006-01-23,14:52:00,3541.00,3541.00,3541.00,3541.00,241,0
+2006-01-23,14:53:00,3541.00,3541.00,3541.00,3541.00,133,0
+2006-01-23,14:54:00,3541.00,3541.00,3540.00,3540.00,355,0
+2006-01-23,14:55:00,3540.00,3542.00,3540.00,3542.00,575,0
+2006-01-23,14:56:00,3542.00,3542.00,3541.00,3541.00,167,0
+2006-01-23,14:57:00,3542.00,3542.00,3540.00,3541.00,710,0
+2006-01-23,14:58:00,3540.00,3541.00,3540.00,3540.00,641,0
+2006-01-23,14:59:00,3540.00,3540.00,3539.00,3540.00,705,0
+2006-01-23,15:00:00,3540.00,3540.00,3538.00,3538.00,1370,0
+2006-01-23,15:01:00,3538.00,3538.00,3537.00,3537.00,1512,0
+2006-01-23,15:02:00,3537.00,3539.00,3537.00,3538.00,1339,0
+2006-01-23,15:03:00,3539.00,3539.00,3539.00,3539.00,309,0
+2006-01-23,15:04:00,3539.00,3539.00,3539.00,3539.00,340,0
+2006-01-23,15:05:00,3539.00,3540.00,3538.00,3538.00,378,0
+2006-01-23,15:06:00,3538.00,3539.00,3538.00,3539.00,169,0
+2006-01-23,15:07:00,3539.00,3539.00,3538.00,3538.00,251,0
+2006-01-23,15:08:00,3539.00,3539.00,3539.00,3539.00,10,0
+2006-01-23,15:09:00,3539.00,3539.00,3539.00,3539.00,37,0
+2006-01-23,15:10:00,3538.00,3539.00,3538.00,3539.00,360,0
+2006-01-23,15:11:00,3539.00,3539.00,3539.00,3539.00,28,0
+2006-01-23,15:12:00,3538.00,3539.00,3538.00,3538.00,667,0
+2006-01-23,15:13:00,3538.00,3538.00,3538.00,3538.00,52,0
+2006-01-23,15:14:00,3537.00,3538.00,3537.00,3538.00,234,0
+2006-01-23,15:15:00,3538.00,3539.00,3537.00,3539.00,213,0
+2006-01-23,15:16:00,3538.00,3539.00,3538.00,3538.00,85,0
+2006-01-23,15:17:00,3539.00,3539.00,3538.00,3539.00,72,0
+2006-01-23,15:18:00,3538.00,3539.00,3538.00,3539.00,48,0
+2006-01-23,15:19:00,3538.00,3539.00,3538.00,3538.00,396,0
+2006-01-23,15:20:00,3539.00,3539.00,3539.00,3539.00,13,0
+2006-01-23,15:21:00,3538.00,3539.00,3538.00,3538.00,77,0
+2006-01-23,15:22:00,3539.00,3539.00,3538.00,3539.00,403,0
+2006-01-23,15:23:00,3539.00,3540.00,3539.00,3539.00,694,0
+2006-01-23,15:24:00,3540.00,3540.00,3539.00,3540.00,141,0
+2006-01-23,15:25:00,3539.00,3540.00,3539.00,3540.00,410,0
+2006-01-23,15:26:00,3540.00,3541.00,3540.00,3541.00,8,0
+2006-01-23,15:27:00,3541.00,3541.00,3540.00,3540.00,870,0
+2006-01-23,15:28:00,3541.00,3542.00,3540.00,3541.00,241,0
+2006-01-23,15:29:00,3541.00,3542.00,3540.00,3541.00,255,0
+2006-01-23,15:30:00,3540.00,3541.00,3540.00,3540.00,114,0
+2006-01-23,15:31:00,3540.00,3540.00,3540.00,3540.00,152,0
+2006-01-23,15:32:00,3541.00,3541.00,3539.00,3539.00,128,0
+2006-01-23,15:33:00,3539.00,3540.00,3538.00,3539.00,728,0
+2006-01-23,15:34:00,3539.00,3539.00,3539.00,3539.00,519,0
+2006-01-23,15:35:00,3539.00,3540.00,3539.00,3540.00,510,0
+2006-01-23,15:36:00,3540.00,3540.00,3540.00,3540.00,634,0
+2006-01-23,15:37:00,3541.00,3541.00,3538.00,3540.00,1769,0
+2006-01-23,15:38:00,3540.00,3540.00,3539.00,3540.00,784,0
+2006-01-23,15:39:00,3540.00,3540.00,3538.00,3538.00,211,0
+2006-01-23,15:40:00,3539.00,3541.00,3538.00,3540.00,2214,0
+2006-01-23,15:41:00,3540.00,3541.00,3539.00,3540.00,312,0
+2006-01-23,15:42:00,3541.00,3541.00,3539.00,3541.00,913,0
+2006-01-23,15:43:00,3541.00,3541.00,3539.00,3540.00,1185,0
+2006-01-23,15:44:00,3540.00,3541.00,3539.00,3540.00,1367,0
+2006-01-23,15:45:00,3540.00,3541.00,3540.00,3540.00,210,0
+2006-01-23,15:46:00,3540.00,3540.00,3539.00,3539.00,783,0
+2006-01-23,15:47:00,3538.00,3539.00,3537.00,3538.00,1077,0
+2006-01-23,15:48:00,3538.00,3538.00,3537.00,3537.00,1407,0
+2006-01-23,15:49:00,3538.00,3539.00,3538.00,3538.00,867,0
+2006-01-23,15:50:00,3538.00,3541.00,3538.00,3540.00,824,0
+2006-01-23,15:51:00,3540.00,3540.00,3539.00,3539.00,805,0
+2006-01-23,15:52:00,3539.00,3540.00,3538.00,3539.00,222,0
+2006-01-23,15:53:00,3539.00,3540.00,3539.00,3540.00,768,0
+2006-01-23,15:54:00,3541.00,3541.00,3539.00,3539.00,1003,0
+2006-01-23,15:55:00,3539.00,3540.00,3538.00,3539.00,1080,0
+2006-01-23,15:56:00,3539.00,3540.00,3539.00,3539.00,512,0
+2006-01-23,15:57:00,3538.00,3539.00,3538.00,3538.00,1047,0
+2006-01-23,15:58:00,3538.00,3538.00,3537.00,3537.00,1401,0
+2006-01-23,15:59:00,3538.00,3538.00,3537.00,3538.00,1102,0
+2006-01-23,16:00:00,3537.00,3537.00,3534.00,3534.00,2088,0
+2006-01-23,16:01:00,3534.00,3535.00,3533.00,3534.00,2838,0
+2006-01-23,16:02:00,3534.00,3534.00,3530.00,3531.00,4445,0
+2006-01-23,16:03:00,3531.00,3532.00,3531.00,3532.00,1822,0
+2006-01-23,16:04:00,3532.00,3533.00,3530.00,3530.00,1787,0
+2006-01-23,16:05:00,3530.00,3532.00,3529.00,3531.00,2260,0
+2006-01-23,16:06:00,3532.00,3532.00,3531.00,3531.00,756,0
+2006-01-23,16:07:00,3532.00,3532.00,3530.00,3531.00,1431,0
+2006-01-23,16:08:00,3530.00,3530.00,3529.00,3529.00,1660,0
+2006-01-23,16:09:00,3530.00,3531.00,3529.00,3530.00,2384,0
+2006-01-23,16:10:00,3530.00,3532.00,3529.00,3532.00,2527,0
+2006-01-23,16:11:00,3532.00,3535.00,3532.00,3535.00,1690,0
+2006-01-23,16:12:00,3535.00,3536.00,3535.00,3536.00,606,0
+2006-01-23,16:13:00,3536.00,3536.00,3534.00,3535.00,2237,0
+2006-01-23,16:14:00,3535.00,3536.00,3534.00,3536.00,719,0
+2006-01-23,16:15:00,3536.00,3536.00,3535.00,3536.00,322,0
+2006-01-23,16:16:00,3535.00,3537.00,3535.00,3537.00,1226,0
+2006-01-23,16:17:00,3537.00,3538.00,3536.00,3537.00,1139,0
+2006-01-23,16:18:00,3537.00,3537.00,3536.00,3536.00,271,0
+2006-01-23,16:19:00,3536.00,3536.00,3535.00,3536.00,1141,0
+2006-01-23,16:20:00,3536.00,3536.00,3535.00,3535.00,427,0
+2006-01-23,16:21:00,3536.00,3538.00,3535.00,3538.00,1604,0
+2006-01-23,16:22:00,3538.00,3538.00,3537.00,3538.00,759,0
+2006-01-23,16:23:00,3538.00,3540.00,3538.00,3538.00,1840,0
+2006-01-23,16:24:00,3539.00,3540.00,3539.00,3540.00,298,0
+2006-01-23,16:25:00,3540.00,3543.00,3540.00,3542.00,4395,0
+2006-01-23,16:26:00,3542.00,3543.00,3541.00,3542.00,1331,0
+2006-01-23,16:27:00,3542.00,3543.00,3541.00,3543.00,1907,0
+2006-01-23,16:28:00,3542.00,3544.00,3542.00,3544.00,2787,0
+2006-01-23,16:29:00,3543.00,3544.00,3542.00,3542.00,1724,0
+2006-01-23,16:30:00,3541.00,3542.00,3541.00,3542.00,2320,0
+2006-01-23,16:31:00,3542.00,3544.00,3541.00,3543.00,1237,0
+2006-01-23,16:32:00,3543.00,3543.00,3542.00,3543.00,995,0
+2006-01-23,16:33:00,3543.00,3543.00,3542.00,3542.00,1026,0
+2006-01-23,16:34:00,3543.00,3543.00,3541.00,3542.00,1469,0
+2006-01-23,16:35:00,3541.00,3541.00,3538.00,3538.00,5908,0
+2006-01-23,16:36:00,3538.00,3539.00,3538.00,3539.00,1263,0
+2006-01-23,16:37:00,3538.00,3539.00,3537.00,3538.00,907,0
+2006-01-23,16:38:00,3537.00,3539.00,3537.00,3538.00,882,0
+2006-01-23,16:39:00,3539.00,3539.00,3537.00,3538.00,1419,0
+2006-01-23,16:40:00,3538.00,3538.00,3537.00,3538.00,458,0
+2006-01-23,16:41:00,3537.00,3537.00,3536.00,3537.00,1898,0
+2006-01-23,16:42:00,3537.00,3537.00,3535.00,3537.00,2139,0
+2006-01-23,16:43:00,3536.00,3537.00,3535.00,3536.00,1696,0
+2006-01-23,16:44:00,3536.00,3539.00,3535.00,3539.00,1644,0
+2006-01-23,16:45:00,3539.00,3539.00,3538.00,3539.00,993,0
+2006-01-23,16:46:00,3540.00,3540.00,3538.00,3539.00,1791,0
+2006-01-23,16:47:00,3539.00,3541.00,3539.00,3541.00,463,0
+2006-01-23,16:48:00,3541.00,3543.00,3540.00,3541.00,3924,0
+2006-01-23,16:49:00,3541.00,3542.00,3540.00,3541.00,2125,0
+2006-01-23,16:50:00,3540.00,3541.00,3539.00,3540.00,986,0
+2006-01-23,16:51:00,3540.00,3540.00,3540.00,3540.00,228,0
+2006-01-23,16:52:00,3540.00,3542.00,3540.00,3541.00,1316,0
+2006-01-23,16:53:00,3540.00,3540.00,3539.00,3540.00,1297,0
+2006-01-23,16:54:00,3540.00,3541.00,3540.00,3541.00,1939,0
+2006-01-23,16:55:00,3540.00,3543.00,3540.00,3542.00,1540,0
+2006-01-23,16:56:00,3542.00,3543.00,3541.00,3543.00,1099,0
+2006-01-23,16:57:00,3543.00,3544.00,3542.00,3544.00,7847,0
+2006-01-23,16:58:00,3544.00,3545.00,3543.00,3544.00,3413,0
+2006-01-23,16:59:00,3543.00,3544.00,3542.00,3542.00,1688,0
+2006-01-23,17:00:00,3543.00,3544.00,3542.00,3543.00,2400,0
+2006-01-23,17:01:00,3543.00,3543.00,3542.00,3543.00,2009,0
+2006-01-23,17:02:00,3543.00,3545.00,3543.00,3544.00,1813,0
+2006-01-23,17:03:00,3544.00,3547.00,3544.00,3546.00,4611,0
+2006-01-23,17:04:00,3547.00,3548.00,3546.00,3548.00,2100,0
+2006-01-23,17:05:00,3548.00,3548.00,3545.00,3545.00,2218,0
+2006-01-23,17:06:00,3546.00,3548.00,3546.00,3547.00,2063,0
+2006-01-23,17:07:00,3547.00,3548.00,3547.00,3548.00,1481,0
+2006-01-23,17:08:00,3548.00,3549.00,3547.00,3548.00,1695,0
+2006-01-23,17:09:00,3548.00,3548.00,3547.00,3548.00,1351,0
+2006-01-23,17:10:00,3548.00,3549.00,3548.00,3549.00,2314,0
+2006-01-23,17:11:00,3550.00,3552.00,3549.00,3551.00,4224,0
+2006-01-23,17:12:00,3551.00,3551.00,3550.00,3551.00,2507,0
+2006-01-23,17:13:00,3551.00,3551.00,3550.00,3551.00,2190,0
+2006-01-23,17:14:00,3552.00,3554.00,3551.00,3554.00,5029,0
+2006-01-23,17:15:00,3553.00,3554.00,3552.00,3553.00,3697,0
+2006-01-23,17:16:00,3552.00,3553.00,3552.00,3553.00,2227,0
+2006-01-23,17:17:00,3553.00,3554.00,3552.00,3553.00,2509,0
+2006-01-23,17:18:00,3552.00,3553.00,3552.00,3553.00,2608,0
+2006-01-23,17:19:00,3553.00,3553.00,3552.00,3553.00,299,0
+2006-01-23,17:20:00,3553.00,3553.00,3552.00,3553.00,1331,0
+2006-01-23,17:21:00,3553.00,3554.00,3552.00,3553.00,1565,0
+2006-01-23,17:22:00,3552.00,3553.00,3552.00,3552.00,616,0
+2006-01-23,17:23:00,3552.00,3553.00,3551.00,3551.00,1159,0
+2006-01-23,17:24:00,3552.00,3552.00,3551.00,3552.00,463,0
+2006-01-23,17:25:00,3551.00,3552.00,3551.00,3552.00,957,0
+2006-01-23,17:26:00,3552.00,3553.00,3551.00,3553.00,1267,0
+2006-01-23,17:27:00,3553.00,3553.00,3552.00,3552.00,953,0
+2006-01-23,17:28:00,3553.00,3553.00,3552.00,3552.00,2049,0
+2006-01-23,17:29:00,3553.00,3553.00,3552.00,3553.00,1112,0
+2006-01-23,17:30:00,3553.00,3554.00,3552.00,3553.00,6377,0
+2006-01-23,17:31:00,3554.00,3554.00,3553.00,3554.00,2764,0
+2006-01-23,17:32:00,3553.00,3553.00,3552.00,3553.00,1806,0
+2006-01-23,17:33:00,3552.00,3554.00,3551.00,3552.00,3084,0
+2006-01-23,17:34:00,3551.00,3552.00,3550.00,3551.00,1707,0
+2006-01-23,17:35:00,3550.00,3551.00,3550.00,3551.00,1275,0
+2006-01-23,17:36:00,3551.00,3551.00,3549.00,3549.00,3871,0
+2006-01-23,17:37:00,3550.00,3550.00,3548.00,3550.00,1697,0
+2006-01-23,17:38:00,3550.00,3550.00,3549.00,3550.00,598,0
+2006-01-23,17:39:00,3549.00,3549.00,3548.00,3549.00,2426,0
+2006-01-23,17:40:00,3548.00,3548.00,3547.00,3548.00,373,0
+2006-01-23,17:41:00,3547.00,3548.00,3547.00,3548.00,1586,0
+2006-01-23,17:42:00,3548.00,3550.00,3548.00,3550.00,1533,0
+2006-01-23,17:43:00,3550.00,3550.00,3549.00,3550.00,1028,0
+2006-01-23,17:44:00,3550.00,3550.00,3549.00,3549.00,576,0
+2006-01-23,17:45:00,3549.00,3549.00,3548.00,3549.00,674,0
+2006-01-23,17:46:00,3549.00,3550.00,3549.00,3550.00,437,0
+2006-01-23,17:47:00,3550.00,3550.00,3549.00,3550.00,534,0
+2006-01-23,17:48:00,3550.00,3550.00,3550.00,3550.00,1431,0
+2006-01-23,17:49:00,3550.00,3551.00,3550.00,3551.00,260,0
+2006-01-23,17:50:00,3551.00,3552.00,3550.00,3552.00,1197,0
+2006-01-23,17:51:00,3552.00,3552.00,3551.00,3551.00,997,0
+2006-01-23,17:52:00,3551.00,3553.00,3551.00,3553.00,352,0
+2006-01-23,17:53:00,3552.00,3552.00,3551.00,3551.00,557,0
+2006-01-23,17:54:00,3551.00,3553.00,3551.00,3553.00,998,0
+2006-01-23,17:55:00,3553.00,3553.00,3552.00,3553.00,169,0
+2006-01-23,17:56:00,3553.00,3554.00,3552.00,3553.00,669,0
+2006-01-23,17:57:00,3553.00,3553.00,3553.00,3553.00,73,0
+2006-01-23,17:58:00,3552.00,3552.00,3551.00,3551.00,824,0
+2006-01-23,17:59:00,3551.00,3552.00,3551.00,3551.00,772,0
+2006-01-23,18:00:00,3551.00,3551.00,3550.00,3550.00,88,0
+2006-01-23,18:01:00,3550.00,3550.00,3549.00,3550.00,284,0
+2006-01-23,18:02:00,3550.00,3550.00,3549.00,3549.00,268,0
+2006-01-23,18:03:00,3549.00,3550.00,3549.00,3550.00,550,0
+2006-01-23,18:04:00,3549.00,3549.00,3548.00,3548.00,160,0
+2006-01-23,18:05:00,3549.00,3549.00,3548.00,3549.00,646,0
+2006-01-23,18:06:00,3549.00,3549.00,3548.00,3549.00,233,0
+2006-01-23,18:07:00,3549.00,3549.00,3549.00,3549.00,155,0
+2006-01-23,18:08:00,3550.00,3550.00,3548.00,3548.00,333,0
+2006-01-23,18:09:00,3548.00,3548.00,3547.00,3547.00,556,0
+2006-01-23,18:10:00,3547.00,3548.00,3547.00,3548.00,48,0
+2006-01-23,18:11:00,3548.00,3548.00,3547.00,3547.00,644,0
+2006-01-23,18:12:00,3547.00,3547.00,3546.00,3547.00,201,0
+2006-01-23,18:13:00,3547.00,3547.00,3546.00,3546.00,1016,0
+2006-01-23,18:14:00,3547.00,3547.00,3547.00,3547.00,697,0
+2006-01-23,18:15:00,3547.00,3547.00,3547.00,3547.00,212,0
+2006-01-23,18:16:00,3548.00,3548.00,3547.00,3547.00,18,0
+2006-01-23,18:17:00,3548.00,3548.00,3547.00,3547.00,450,0
+2006-01-23,18:18:00,3547.00,3547.00,3547.00,3547.00,278,0
+2006-01-23,18:19:00,3546.00,3546.00,3545.00,3545.00,773,0
+2006-01-23,18:20:00,3545.00,3546.00,3545.00,3546.00,1299,0
+2006-01-23,18:21:00,3546.00,3546.00,3546.00,3546.00,293,0
+2006-01-23,18:22:00,3546.00,3547.00,3546.00,3547.00,93,0
+2006-01-23,18:23:00,3547.00,3547.00,3545.00,3546.00,123,0
+2006-01-23,18:24:00,3546.00,3546.00,3545.00,3545.00,150,0
+2006-01-23,18:25:00,3545.00,3545.00,3540.00,3541.00,4076,0
+2006-01-23,18:26:00,3542.00,3542.00,3540.00,3540.00,1456,0
+2006-01-23,18:27:00,3541.00,3542.00,3540.00,3541.00,588,0
+2006-01-23,18:28:00,3541.00,3542.00,3540.00,3542.00,409,0
+2006-01-23,18:29:00,3542.00,3542.00,3541.00,3541.00,393,0
+2006-01-23,18:30:00,3541.00,3541.00,3540.00,3541.00,1426,0
+2006-01-23,18:31:00,3540.00,3542.00,3540.00,3542.00,753,0
+2006-01-23,18:32:00,3541.00,3543.00,3541.00,3543.00,877,0
+2006-01-23,18:33:00,3543.00,3544.00,3543.00,3543.00,755,0
+2006-01-23,18:34:00,3543.00,3544.00,3543.00,3544.00,54,0
+2006-01-23,18:35:00,3543.00,3543.00,3542.00,3543.00,582,0
+2006-01-23,18:36:00,3543.00,3543.00,3543.00,3543.00,52,0
+2006-01-23,18:37:00,3543.00,3543.00,3541.00,3541.00,456,0
+2006-01-23,18:38:00,3541.00,3543.00,3541.00,3543.00,472,0
+2006-01-23,18:39:00,3543.00,3543.00,3543.00,3543.00,498,0
+2006-01-23,18:40:00,3542.00,3542.00,3541.00,3541.00,115,0
+2006-01-23,18:41:00,3542.00,3542.00,3541.00,3541.00,473,0
+2006-01-23,18:42:00,3541.00,3541.00,3539.00,3539.00,485,0
+2006-01-23,18:43:00,3539.00,3540.00,3538.00,3539.00,1025,0
+2006-01-23,18:44:00,3539.00,3539.00,3537.00,3538.00,689,0
+2006-01-23,18:45:00,3538.00,3539.00,3538.00,3539.00,166,0
+2006-01-23,18:46:00,3539.00,3539.00,3539.00,3539.00,20,0
+2006-01-23,18:47:00,3539.00,3540.00,3538.00,3540.00,609,0
+2006-01-23,18:48:00,3539.00,3540.00,3539.00,3539.00,504,0
+2006-01-23,18:49:00,3538.00,3539.00,3534.00,3534.00,2590,0
+2006-01-23,18:50:00,3534.00,3535.00,3533.00,3534.00,1128,0
+2006-01-23,18:51:00,3534.00,3535.00,3534.00,3534.00,555,0
+2006-01-23,18:52:00,3535.00,3536.00,3535.00,3535.00,667,0
+2006-01-23,18:53:00,3536.00,3536.00,3535.00,3536.00,464,0
+2006-01-23,18:54:00,3536.00,3537.00,3536.00,3536.00,299,0
+2006-01-23,18:55:00,3536.00,3536.00,3536.00,3536.00,165,0
+2006-01-23,18:56:00,3536.00,3537.00,3536.00,3537.00,47,0
+2006-01-23,18:57:00,3537.00,3537.00,3536.00,3536.00,6,0
+2006-01-23,18:58:00,3536.00,3536.00,3535.00,3535.00,407,0
+2006-01-23,18:59:00,3535.00,3535.00,3535.00,3535.00,32,0
+2006-01-23,19:00:00,3535.00,3536.00,3534.00,3536.00,267,0
+2006-01-23,19:01:00,3536.00,3536.00,3535.00,3536.00,151,0
+2006-01-23,19:02:00,3536.00,3536.00,3536.00,3536.00,107,0
+2006-01-23,19:03:00,3536.00,3538.00,3536.00,3538.00,405,0
+2006-01-23,19:04:00,3538.00,3539.00,3538.00,3539.00,491,0
+2006-01-23,19:05:00,3538.00,3538.00,3537.00,3537.00,205,0
+2006-01-23,19:06:00,3537.00,3538.00,3537.00,3538.00,171,0
+2006-01-23,19:07:00,3539.00,3539.00,3538.00,3538.00,336,0
+2006-01-23,19:08:00,3538.00,3538.00,3538.00,3538.00,171,0
+2006-01-23,19:09:00,3538.00,3538.00,3537.00,3538.00,84,0
+2006-01-23,19:10:00,3538.00,3540.00,3538.00,3540.00,423,0
+2006-01-23,19:11:00,3539.00,3540.00,3539.00,3539.00,106,0
+2006-01-23,19:12:00,3539.00,3539.00,3539.00,3539.00,82,0
+2006-01-23,19:13:00,3539.00,3539.00,3539.00,3539.00,100,0
+2006-01-23,19:14:00,3539.00,3539.00,3537.00,3537.00,380,0
+2006-01-23,19:15:00,3538.00,3538.00,3537.00,3537.00,302,0
+2006-01-23,19:16:00,3538.00,3538.00,3537.00,3537.00,52,0
+2006-01-23,19:17:00,3537.00,3537.00,3537.00,3537.00,32,0
+2006-01-23,19:18:00,3537.00,3537.00,3537.00,3537.00,12,0
+2006-01-23,19:19:00,3537.00,3537.00,3537.00,3537.00,20,0
+2006-01-23,19:20:00,3537.00,3538.00,3537.00,3538.00,192,0
+2006-01-23,19:21:00,3539.00,3540.00,3539.00,3540.00,328,0
+2006-01-23,19:22:00,3540.00,3541.00,3540.00,3540.00,402,0
+2006-01-23,19:23:00,3541.00,3542.00,3541.00,3541.00,359,0
+2006-01-23,19:24:00,3541.00,3541.00,3541.00,3541.00,183,0
+2006-01-23,19:25:00,3540.00,3540.00,3540.00,3540.00,127,0
+2006-01-23,19:26:00,3541.00,3541.00,3540.00,3540.00,129,0
+2006-01-23,19:27:00,3540.00,3542.00,3540.00,3542.00,385,0
+2006-01-23,19:28:00,3542.00,3543.00,3542.00,3543.00,531,0
+2006-01-23,19:29:00,3543.00,3543.00,3543.00,3543.00,88,0
+2006-01-23,19:30:00,3542.00,3542.00,3542.00,3542.00,177,0
+2006-01-23,19:31:00,3542.00,3542.00,3541.00,3542.00,425,0
+2006-01-23,19:32:00,3542.00,3542.00,3541.00,3542.00,84,0
+2006-01-23,19:33:00,3541.00,3541.00,3541.00,3541.00,104,0
+2006-01-23,19:34:00,3542.00,3543.00,3542.00,3542.00,288,0
+2006-01-23,19:35:00,3543.00,3543.00,3542.00,3542.00,11,0
+2006-01-23,19:36:00,3542.00,3542.00,3542.00,3542.00,1,0
+2006-01-23,19:37:00,3542.00,3542.00,3541.00,3541.00,6,0
+2006-01-23,19:38:00,3541.00,3541.00,3541.00,3541.00,6,0
+2006-01-23,19:40:00,3540.00,3540.00,3539.00,3539.00,397,0
+2006-01-23,19:41:00,3539.00,3539.00,3538.00,3538.00,206,0
+2006-01-23,19:42:00,3538.00,3538.00,3537.00,3538.00,358,0
+2006-01-23,19:43:00,3538.00,3538.00,3538.00,3538.00,144,0
+2006-01-23,19:44:00,3538.00,3538.00,3537.00,3538.00,39,0
+2006-01-23,19:45:00,3537.00,3537.00,3537.00,3537.00,300,0
+2006-01-23,19:46:00,3536.00,3538.00,3536.00,3538.00,136,0
+2006-01-23,19:47:00,3539.00,3541.00,3539.00,3541.00,183,0
+2006-01-23,19:48:00,3540.00,3541.00,3540.00,3540.00,12,0
+2006-01-23,19:49:00,3540.00,3540.00,3539.00,3539.00,182,0
+2006-01-23,19:50:00,3539.00,3539.00,3538.00,3539.00,274,0
+2006-01-23,19:51:00,3539.00,3539.00,3538.00,3538.00,90,0
+2006-01-23,19:52:00,3538.00,3538.00,3537.00,3537.00,56,0
+2006-01-23,19:53:00,3537.00,3537.00,3537.00,3537.00,77,0
+2006-01-23,19:54:00,3537.00,3537.00,3535.00,3536.00,266,0
+2006-01-23,19:55:00,3536.00,3536.00,3536.00,3536.00,272,0
+2006-01-23,19:56:00,3537.00,3537.00,3535.00,3535.00,505,0
+2006-01-23,19:57:00,3535.00,3535.00,3535.00,3535.00,142,0
+2006-01-23,19:58:00,3535.00,3536.00,3534.00,3534.00,304,0
+2006-01-23,19:59:00,3534.00,3535.00,3534.00,3534.00,70,0
+2006-01-23,20:00:00,3534.00,3536.00,3534.00,3536.00,395,0
+2006-01-23,20:01:00,3537.00,3537.00,3535.00,3536.00,31,0
+2006-01-23,20:02:00,3536.00,3537.00,3536.00,3537.00,167,0
+2006-01-23,20:03:00,3537.00,3537.00,3536.00,3536.00,71,0
+2006-01-23,20:04:00,3536.00,3536.00,3536.00,3536.00,40,0
+2006-01-23,20:05:00,3536.00,3537.00,3536.00,3537.00,101,0
+2006-01-23,20:06:00,3537.00,3537.00,3537.00,3537.00,50,0
+2006-01-23,20:07:00,3538.00,3538.00,3538.00,3538.00,107,0
+2006-01-23,20:08:00,3539.00,3540.00,3539.00,3539.00,562,0
+2006-01-23,20:09:00,3539.00,3540.00,3539.00,3540.00,138,0
+2006-01-23,20:10:00,3540.00,3540.00,3540.00,3540.00,65,0
+2006-01-23,20:11:00,3539.00,3539.00,3538.00,3538.00,62,0
+2006-01-23,20:12:00,3537.00,3537.00,3537.00,3537.00,7,0
+2006-01-23,20:13:00,3537.00,3538.00,3537.00,3538.00,39,0
+2006-01-23,20:14:00,3536.00,3536.00,3535.00,3536.00,120,0
+2006-01-23,20:15:00,3536.00,3537.00,3536.00,3536.00,148,0
+2006-01-23,20:16:00,3535.00,3535.00,3534.00,3535.00,125,0
+2006-01-23,20:17:00,3534.00,3535.00,3534.00,3535.00,32,0
+2006-01-23,20:19:00,3536.00,3536.00,3535.00,3536.00,420,0
+2006-01-23,20:20:00,3536.00,3536.00,3536.00,3536.00,44,0
+2006-01-23,20:21:00,3536.00,3536.00,3536.00,3536.00,31,0
+2006-01-23,20:22:00,3536.00,3537.00,3536.00,3537.00,121,0
+2006-01-23,20:23:00,3538.00,3538.00,3537.00,3537.00,67,0
+2006-01-23,20:24:00,3538.00,3538.00,3538.00,3538.00,40,0
+2006-01-23,20:25:00,3538.00,3539.00,3538.00,3538.00,54,0
+2006-01-23,20:26:00,3538.00,3538.00,3537.00,3537.00,45,0
+2006-01-23,20:27:00,3536.00,3536.00,3536.00,3536.00,20,0
+2006-01-23,20:28:00,3535.00,3536.00,3535.00,3536.00,13,0
+2006-01-23,20:29:00,3536.00,3536.00,3536.00,3536.00,13,0
+2006-01-23,20:31:00,3537.00,3537.00,3537.00,3537.00,59,0
+2006-01-23,20:32:00,3538.00,3539.00,3538.00,3539.00,45,0
+2006-01-23,20:33:00,3539.00,3539.00,3539.00,3539.00,8,0
+2006-01-23,20:34:00,3540.00,3540.00,3538.00,3538.00,113,0
+2006-01-23,20:35:00,3538.00,3539.00,3538.00,3538.00,14,0
+2006-01-23,20:36:00,3539.00,3539.00,3537.00,3537.00,77,0
+2006-01-23,20:37:00,3537.00,3537.00,3535.00,3535.00,322,0
+2006-01-23,20:38:00,3536.00,3537.00,3536.00,3537.00,80,0
+2006-01-23,20:39:00,3536.00,3537.00,3536.00,3537.00,161,0
+2006-01-23,20:40:00,3537.00,3537.00,3537.00,3537.00,164,0
+2006-01-23,20:41:00,3536.00,3536.00,3536.00,3536.00,5,0
+2006-01-23,20:42:00,3537.00,3538.00,3537.00,3537.00,82,0
+2006-01-23,20:44:00,3538.00,3538.00,3538.00,3538.00,81,0
+2006-01-23,20:45:00,3537.00,3538.00,3537.00,3538.00,85,0
+2006-01-23,20:46:00,3538.00,3538.00,3537.00,3538.00,65,0
+2006-01-23,20:47:00,3538.00,3538.00,3538.00,3538.00,64,0
+2006-01-23,20:48:00,3538.00,3540.00,3538.00,3540.00,211,0
+2006-01-23,20:49:00,3539.00,3539.00,3539.00,3539.00,23,0
+2006-01-23,20:50:00,3539.00,3539.00,3538.00,3538.00,11,0
+2006-01-23,20:51:00,3538.00,3539.00,3538.00,3539.00,24,0
+2006-01-23,20:52:00,3539.00,3539.00,3539.00,3539.00,114,0
+2006-01-23,20:53:00,3539.00,3539.00,3538.00,3538.00,55,0
+2006-01-23,20:54:00,3538.00,3538.00,3537.00,3537.00,105,0
+2006-01-23,20:55:00,3538.00,3538.00,3538.00,3538.00,99,0
+2006-01-23,20:56:00,3538.00,3538.00,3536.00,3536.00,10,0
+2006-01-23,20:57:00,3538.00,3539.00,3538.00,3539.00,31,0
+2006-01-23,20:58:00,3539.00,3539.00,3539.00,3539.00,107,0
+2006-01-23,20:59:00,3540.00,3540.00,3540.00,3540.00,155,0
+2006-01-23,21:00:00,3539.00,3540.00,3539.00,3540.00,150,0
+2006-01-23,21:01:00,3541.00,3542.00,3541.00,3541.00,197,0
+2006-01-23,21:02:00,3541.00,3541.00,3539.00,3539.00,97,0
+2006-01-23,21:03:00,3540.00,3540.00,3538.00,3538.00,117,0
+2006-01-23,21:04:00,3539.00,3539.00,3539.00,3539.00,21,0
+2006-01-23,21:05:00,3538.00,3538.00,3538.00,3538.00,50,0
+2006-01-23,21:06:00,3539.00,3539.00,3539.00,3539.00,1,0
+2006-01-23,21:07:00,3539.00,3540.00,3539.00,3540.00,263,0
+2006-01-23,21:08:00,3540.00,3540.00,3539.00,3539.00,16,0
+2006-01-23,21:09:00,3539.00,3539.00,3539.00,3539.00,11,0
+2006-01-23,21:10:00,3539.00,3539.00,3539.00,3539.00,31,0
+2006-01-23,21:11:00,3539.00,3539.00,3538.00,3538.00,147,0
+2006-01-23,21:12:00,3538.00,3538.00,3538.00,3538.00,12,0
+2006-01-23,21:13:00,3537.00,3537.00,3537.00,3537.00,146,0
+2006-01-23,21:14:00,3537.00,3537.00,3535.00,3535.00,69,0
+2006-01-23,21:15:00,3536.00,3536.00,3535.00,3536.00,361,0
+2006-01-23,21:16:00,3536.00,3536.00,3536.00,3536.00,126,0
+2006-01-23,21:17:00,3536.00,3536.00,3536.00,3536.00,50,0
+2006-01-23,21:18:00,3536.00,3537.00,3536.00,3537.00,70,0
+2006-01-23,21:19:00,3537.00,3537.00,3537.00,3537.00,23,0
+2006-01-23,21:20:00,3537.00,3538.00,3536.00,3538.00,58,0
+2006-01-23,21:21:00,3538.00,3539.00,3538.00,3539.00,46,0
+2006-01-23,21:22:00,3539.00,3541.00,3539.00,3539.00,301,0
+2006-01-23,21:23:00,3539.00,3539.00,3538.00,3539.00,127,0
+2006-01-23,21:24:00,3540.00,3542.00,3540.00,3541.00,100,0
+2006-01-23,21:25:00,3541.00,3542.00,3541.00,3541.00,84,0
+2006-01-23,21:26:00,3541.00,3541.00,3540.00,3540.00,158,0
+2006-01-23,21:27:00,3540.00,3541.00,3539.00,3541.00,274,0
+2006-01-23,21:28:00,3541.00,3541.00,3540.00,3540.00,61,0
+2006-01-23,21:29:00,3541.00,3541.00,3540.00,3540.00,123,0
+2006-01-23,21:30:00,3540.00,3541.00,3540.00,3540.00,10,0
+2006-01-23,21:31:00,3541.00,3542.00,3541.00,3541.00,62,0
+2006-01-23,21:32:00,3541.00,3541.00,3541.00,3541.00,9,0
+2006-01-23,21:33:00,3542.00,3542.00,3541.00,3541.00,34,0
+2006-01-23,21:34:00,3541.00,3541.00,3540.00,3540.00,43,0
+2006-01-23,21:35:00,3540.00,3541.00,3540.00,3541.00,43,0
+2006-01-23,21:36:00,3540.00,3540.00,3540.00,3540.00,16,0
+2006-01-23,21:37:00,3540.00,3541.00,3540.00,3541.00,13,0
+2006-01-23,21:38:00,3540.00,3541.00,3540.00,3540.00,13,0
+2006-01-23,21:39:00,3540.00,3541.00,3540.00,3540.00,10,0
+2006-01-23,21:40:00,3540.00,3541.00,3538.00,3539.00,81,0
+2006-01-23,21:41:00,3538.00,3540.00,3538.00,3540.00,84,0
+2006-01-23,21:42:00,3539.00,3540.00,3538.00,3538.00,28,0
+2006-01-23,21:43:00,3538.00,3538.00,3537.00,3538.00,22,0
+2006-01-23,21:44:00,3537.00,3539.00,3537.00,3539.00,44,0
+2006-01-23,21:45:00,3539.00,3539.00,3538.00,3539.00,22,0
+2006-01-23,21:46:00,3538.00,3538.00,3537.00,3537.00,14,0
+2006-01-23,21:47:00,3537.00,3537.00,3536.00,3537.00,35,0
+2006-01-23,21:48:00,3536.00,3537.00,3536.00,3537.00,163,0
+2006-01-23,21:49:00,3537.00,3537.00,3537.00,3537.00,9,0
+2006-01-23,21:50:00,3537.00,3537.00,3536.00,3536.00,47,0
+2006-01-23,21:51:00,3537.00,3537.00,3536.00,3537.00,98,0
+2006-01-23,21:52:00,3537.00,3537.00,3536.00,3536.00,40,0
+2006-01-23,21:53:00,3536.00,3537.00,3536.00,3537.00,45,0
+2006-01-23,21:54:00,3537.00,3537.00,3537.00,3537.00,12,0
+2006-01-23,21:55:00,3536.00,3537.00,3536.00,3537.00,15,0
+2006-01-23,21:56:00,3537.00,3538.00,3537.00,3538.00,22,0
+2006-01-23,21:57:00,3537.00,3538.00,3536.00,3537.00,24,0
+2006-01-23,21:58:00,3537.00,3538.00,3536.00,3538.00,17,0
+2006-01-23,21:59:00,3536.00,3539.00,3536.00,3539.00,216,0
+2006-01-23,22:00:00,3539.00,3541.00,3539.00,3540.00,237,0
+2006-01-24,09:01:00,3550.00,3553.00,3550.00,3551.00,7534,0
+2006-01-24,09:02:00,3551.00,3553.00,3550.00,3553.00,2420,0
+2006-01-24,09:03:00,3553.00,3554.00,3553.00,3554.00,2416,0
+2006-01-24,09:04:00,3554.00,3555.00,3553.00,3554.00,2177,0
+2006-01-24,09:05:00,3554.00,3558.00,3554.00,3556.00,4408,0
+2006-01-24,09:06:00,3556.00,3558.00,3556.00,3558.00,1295,0
+2006-01-24,09:07:00,3557.00,3557.00,3555.00,3555.00,1461,0
+2006-01-24,09:08:00,3555.00,3557.00,3554.00,3554.00,2108,0
+2006-01-24,09:09:00,3555.00,3556.00,3552.00,3553.00,2222,0
+2006-01-24,09:10:00,3553.00,3553.00,3549.00,3550.00,3522,0
+2006-01-24,09:11:00,3550.00,3552.00,3549.00,3551.00,2828,0
+2006-01-24,09:12:00,3552.00,3554.00,3551.00,3553.00,3206,0
+2006-01-24,09:13:00,3553.00,3553.00,3551.00,3552.00,413,0
+2006-01-24,09:14:00,3552.00,3554.00,3552.00,3553.00,841,0
+2006-01-24,09:15:00,3553.00,3554.00,3552.00,3552.00,375,0
+2006-01-24,09:16:00,3552.00,3553.00,3551.00,3553.00,1465,0
+2006-01-24,09:17:00,3554.00,3555.00,3552.00,3554.00,2166,0
+2006-01-24,09:18:00,3554.00,3554.00,3552.00,3552.00,1407,0
+2006-01-24,09:19:00,3552.00,3554.00,3551.00,3552.00,1371,0
+2006-01-24,09:20:00,3553.00,3553.00,3551.00,3552.00,867,0
+2006-01-24,09:21:00,3552.00,3553.00,3548.00,3548.00,3566,0
+2006-01-24,09:22:00,3548.00,3550.00,3548.00,3548.00,1317,0
+2006-01-24,09:23:00,3549.00,3549.00,3547.00,3548.00,2860,0
+2006-01-24,09:24:00,3548.00,3549.00,3547.00,3548.00,3247,0
+2006-01-24,09:25:00,3548.00,3548.00,3546.00,3546.00,2287,0
+2006-01-24,09:26:00,3546.00,3546.00,3544.00,3545.00,4445,0
+2006-01-24,09:27:00,3545.00,3547.00,3545.00,3547.00,1360,0
+2006-01-24,09:28:00,3547.00,3547.00,3546.00,3546.00,2145,0
+2006-01-24,09:29:00,3546.00,3547.00,3546.00,3547.00,1755,0
+2006-01-24,09:30:00,3546.00,3546.00,3543.00,3544.00,1983,0
+2006-01-24,09:31:00,3544.00,3546.00,3544.00,3546.00,999,0
+2006-01-24,09:32:00,3545.00,3547.00,3545.00,3546.00,2413,0
+2006-01-24,09:33:00,3547.00,3547.00,3546.00,3546.00,1869,0
+2006-01-24,09:34:00,3547.00,3547.00,3546.00,3546.00,1075,0
+2006-01-24,09:35:00,3547.00,3548.00,3547.00,3547.00,835,0
+2006-01-24,09:36:00,3546.00,3547.00,3546.00,3547.00,175,0
+2006-01-24,09:37:00,3547.00,3547.00,3546.00,3546.00,466,0
+2006-01-24,09:38:00,3546.00,3548.00,3546.00,3548.00,1326,0
+2006-01-24,09:39:00,3548.00,3549.00,3547.00,3547.00,1263,0
+2006-01-24,09:40:00,3548.00,3548.00,3546.00,3546.00,1266,0
+2006-01-24,09:41:00,3546.00,3546.00,3545.00,3546.00,905,0
+2006-01-24,09:42:00,3546.00,3546.00,3544.00,3544.00,1400,0
+2006-01-24,09:43:00,3544.00,3544.00,3543.00,3543.00,869,0
+2006-01-24,09:44:00,3543.00,3544.00,3542.00,3544.00,1224,0
+2006-01-24,09:45:00,3544.00,3544.00,3543.00,3544.00,629,0
+2006-01-24,09:46:00,3543.00,3544.00,3543.00,3543.00,315,0
+2006-01-24,09:47:00,3543.00,3545.00,3543.00,3544.00,828,0
+2006-01-24,09:48:00,3544.00,3544.00,3542.00,3543.00,1663,0
+2006-01-24,09:49:00,3542.00,3542.00,3540.00,3541.00,2127,0
+2006-01-24,09:50:00,3542.00,3543.00,3542.00,3542.00,1329,0
+2006-01-24,09:51:00,3542.00,3542.00,3538.00,3540.00,3894,0
+2006-01-24,09:52:00,3540.00,3541.00,3539.00,3540.00,1198,0
+2006-01-24,09:53:00,3540.00,3541.00,3539.00,3540.00,913,0
+2006-01-24,09:54:00,3540.00,3540.00,3539.00,3539.00,1078,0
+2006-01-24,09:55:00,3539.00,3541.00,3538.00,3541.00,1219,0
+2006-01-24,09:56:00,3541.00,3542.00,3540.00,3542.00,614,0
+2006-01-24,09:57:00,3541.00,3542.00,3540.00,3540.00,1265,0
+2006-01-24,09:58:00,3541.00,3542.00,3540.00,3542.00,282,0
+2006-01-24,09:59:00,3542.00,3543.00,3542.00,3542.00,1168,0
+2006-01-24,10:00:00,3542.00,3542.00,3541.00,3542.00,561,0
+2006-01-24,10:01:00,3542.00,3543.00,3542.00,3543.00,541,0
+2006-01-24,10:02:00,3543.00,3544.00,3542.00,3544.00,1009,0
+2006-01-24,10:03:00,3543.00,3544.00,3542.00,3543.00,2547,0
+2006-01-24,10:04:00,3544.00,3545.00,3544.00,3544.00,1179,0
+2006-01-24,10:05:00,3544.00,3545.00,3544.00,3545.00,731,0
+2006-01-24,10:06:00,3545.00,3545.00,3544.00,3544.00,608,0
+2006-01-24,10:07:00,3544.00,3545.00,3544.00,3545.00,162,0
+2006-01-24,10:08:00,3545.00,3545.00,3544.00,3544.00,36,0
+2006-01-24,10:09:00,3544.00,3545.00,3544.00,3544.00,97,0
+2006-01-24,10:10:00,3544.00,3545.00,3543.00,3545.00,579,0
+2006-01-24,10:11:00,3545.00,3547.00,3545.00,3546.00,929,0
+2006-01-24,10:12:00,3546.00,3547.00,3546.00,3547.00,107,0
+2006-01-24,10:13:00,3547.00,3547.00,3546.00,3547.00,760,0
+2006-01-24,10:14:00,3548.00,3548.00,3546.00,3546.00,273,0
+2006-01-24,10:15:00,3546.00,3547.00,3546.00,3546.00,179,0
+2006-01-24,10:16:00,3546.00,3547.00,3546.00,3547.00,20,0
+2006-01-24,10:17:00,3547.00,3547.00,3546.00,3546.00,286,0
+2006-01-24,10:18:00,3547.00,3547.00,3544.00,3544.00,896,0
+2006-01-24,10:19:00,3544.00,3545.00,3544.00,3544.00,98,0
+2006-01-24,10:20:00,3545.00,3545.00,3544.00,3545.00,46,0
+2006-01-24,10:21:00,3545.00,3546.00,3545.00,3545.00,532,0
+2006-01-24,10:22:00,3545.00,3546.00,3545.00,3546.00,454,0
+2006-01-24,10:23:00,3545.00,3548.00,3545.00,3548.00,1216,0
+2006-01-24,10:24:00,3547.00,3547.00,3546.00,3546.00,1903,0
+2006-01-24,10:25:00,3546.00,3547.00,3546.00,3546.00,279,0
+2006-01-24,10:26:00,3547.00,3547.00,3547.00,3547.00,14,0
+2006-01-24,10:27:00,3546.00,3547.00,3546.00,3547.00,11,0
+2006-01-24,10:28:00,3546.00,3546.00,3545.00,3545.00,843,0
+2006-01-24,10:29:00,3545.00,3546.00,3544.00,3546.00,854,0
+2006-01-24,10:30:00,3545.00,3546.00,3545.00,3546.00,106,0
+2006-01-24,10:31:00,3545.00,3545.00,3545.00,3545.00,127,0
+2006-01-24,10:32:00,3545.00,3545.00,3544.00,3545.00,620,0
+2006-01-24,10:33:00,3544.00,3544.00,3543.00,3544.00,1013,0
+2006-01-24,10:34:00,3544.00,3546.00,3544.00,3546.00,701,0
+2006-01-24,10:35:00,3546.00,3546.00,3544.00,3545.00,342,0
+2006-01-24,10:36:00,3545.00,3545.00,3545.00,3545.00,299,0
+2006-01-24,10:37:00,3545.00,3546.00,3545.00,3546.00,76,0
+2006-01-24,10:38:00,3545.00,3545.00,3545.00,3545.00,89,0
+2006-01-24,10:39:00,3545.00,3546.00,3544.00,3545.00,297,0
+2006-01-24,10:40:00,3546.00,3546.00,3545.00,3545.00,162,0
+2006-01-24,10:41:00,3545.00,3546.00,3545.00,3546.00,3,0
+2006-01-24,10:42:00,3545.00,3546.00,3545.00,3546.00,12,0
+2006-01-24,10:43:00,3546.00,3546.00,3544.00,3544.00,901,0
+2006-01-24,10:44:00,3544.00,3544.00,3542.00,3542.00,625,0
+2006-01-24,10:45:00,3543.00,3543.00,3542.00,3542.00,1310,0
+2006-01-24,10:46:00,3542.00,3543.00,3542.00,3542.00,75,0
+2006-01-24,10:47:00,3542.00,3543.00,3542.00,3543.00,1016,0
+2006-01-24,10:48:00,3543.00,3544.00,3543.00,3543.00,176,0
+2006-01-24,10:49:00,3543.00,3543.00,3542.00,3542.00,985,0
+2006-01-24,10:50:00,3542.00,3542.00,3541.00,3541.00,778,0
+2006-01-24,10:51:00,3541.00,3541.00,3540.00,3541.00,1088,0
+2006-01-24,10:52:00,3541.00,3541.00,3538.00,3539.00,2338,0
+2006-01-24,10:53:00,3538.00,3540.00,3538.00,3539.00,921,0
+2006-01-24,10:54:00,3540.00,3540.00,3539.00,3539.00,1039,0
+2006-01-24,10:55:00,3539.00,3541.00,3539.00,3541.00,636,0
+2006-01-24,10:56:00,3540.00,3540.00,3539.00,3540.00,721,0
+2006-01-24,10:57:00,3540.00,3541.00,3539.00,3541.00,1331,0
+2006-01-24,10:58:00,3541.00,3542.00,3541.00,3541.00,580,0
+2006-01-24,10:59:00,3542.00,3542.00,3541.00,3541.00,202,0
+2006-01-24,11:00:00,3541.00,3542.00,3541.00,3541.00,604,0
+2006-01-24,11:01:00,3541.00,3543.00,3540.00,3541.00,1334,0
+2006-01-24,11:02:00,3541.00,3541.00,3540.00,3541.00,727,0
+2006-01-24,11:03:00,3541.00,3541.00,3540.00,3541.00,299,0
+2006-01-24,11:04:00,3541.00,3542.00,3540.00,3541.00,674,0
+2006-01-24,11:05:00,3541.00,3542.00,3540.00,3542.00,493,0
+2006-01-24,11:06:00,3541.00,3542.00,3541.00,3542.00,157,0
+2006-01-24,11:07:00,3541.00,3543.00,3541.00,3542.00,1222,0
+2006-01-24,11:08:00,3542.00,3542.00,3541.00,3542.00,205,0
+2006-01-24,11:09:00,3541.00,3542.00,3541.00,3542.00,774,0
+2006-01-24,11:10:00,3542.00,3543.00,3542.00,3542.00,157,0
+2006-01-24,11:11:00,3542.00,3543.00,3542.00,3543.00,211,0
+2006-01-24,11:12:00,3543.00,3543.00,3542.00,3542.00,1017,0
+2006-01-24,11:13:00,3542.00,3542.00,3542.00,3542.00,407,0
+2006-01-24,11:14:00,3542.00,3542.00,3541.00,3541.00,387,0
+2006-01-24,11:15:00,3542.00,3542.00,3540.00,3542.00,621,0
+2006-01-24,11:16:00,3541.00,3541.00,3540.00,3540.00,202,0
+2006-01-24,11:17:00,3540.00,3541.00,3540.00,3541.00,1795,0
+2006-01-24,11:18:00,3540.00,3541.00,3539.00,3540.00,482,0
+2006-01-24,11:19:00,3540.00,3540.00,3536.00,3538.00,4681,0
+2006-01-24,11:20:00,3538.00,3539.00,3537.00,3537.00,2763,0
+2006-01-24,11:21:00,3538.00,3538.00,3536.00,3537.00,1198,0
+2006-01-24,11:22:00,3537.00,3539.00,3537.00,3539.00,439,0
+2006-01-24,11:23:00,3538.00,3541.00,3538.00,3541.00,3328,0
+2006-01-24,11:24:00,3541.00,3542.00,3540.00,3540.00,1055,0
+2006-01-24,11:25:00,3540.00,3541.00,3540.00,3541.00,327,0
+2006-01-24,11:26:00,3541.00,3542.00,3540.00,3540.00,412,0
+2006-01-24,11:27:00,3540.00,3541.00,3540.00,3541.00,563,0
+2006-01-24,11:28:00,3540.00,3541.00,3540.00,3540.00,917,0
+2006-01-24,11:29:00,3540.00,3541.00,3540.00,3541.00,151,0
+2006-01-24,11:31:00,3541.00,3541.00,3540.00,3541.00,623,0
+2006-01-24,11:32:00,3541.00,3541.00,3541.00,3541.00,3,0
+2006-01-24,11:33:00,3541.00,3542.00,3541.00,3542.00,227,0
+2006-01-24,11:34:00,3541.00,3542.00,3541.00,3541.00,108,0
+2006-01-24,11:35:00,3542.00,3542.00,3541.00,3542.00,34,0
+2006-01-24,11:36:00,3542.00,3542.00,3541.00,3542.00,106,0
+2006-01-24,11:37:00,3542.00,3542.00,3541.00,3542.00,1098,0
+2006-01-24,11:38:00,3542.00,3543.00,3542.00,3543.00,541,0
+2006-01-24,11:39:00,3543.00,3543.00,3542.00,3542.00,1122,0
+2006-01-24,11:40:00,3542.00,3543.00,3542.00,3543.00,144,0
+2006-01-24,11:41:00,3543.00,3543.00,3543.00,3543.00,212,0
+2006-01-24,11:42:00,3543.00,3544.00,3541.00,3542.00,2311,0
+2006-01-24,11:43:00,3542.00,3542.00,3542.00,3542.00,116,0
+2006-01-24,11:44:00,3542.00,3542.00,3542.00,3542.00,14,0
+2006-01-24,11:45:00,3542.00,3542.00,3541.00,3542.00,671,0
+2006-01-24,11:46:00,3541.00,3541.00,3540.00,3540.00,1048,0
+2006-01-24,11:47:00,3541.00,3542.00,3540.00,3542.00,431,0
+2006-01-24,11:48:00,3542.00,3542.00,3542.00,3542.00,147,0
+2006-01-24,11:49:00,3542.00,3542.00,3541.00,3541.00,36,0
+2006-01-24,11:50:00,3541.00,3541.00,3541.00,3541.00,27,0
+2006-01-24,11:51:00,3541.00,3541.00,3540.00,3541.00,728,0
+2006-01-24,11:52:00,3540.00,3540.00,3540.00,3540.00,20,0
+2006-01-24,11:53:00,3540.00,3542.00,3540.00,3541.00,1048,0
+2006-01-24,11:54:00,3542.00,3542.00,3542.00,3542.00,5,0
+2006-01-24,11:55:00,3542.00,3542.00,3542.00,3542.00,206,0
+2006-01-24,11:56:00,3542.00,3542.00,3541.00,3541.00,281,0
+2006-01-24,11:57:00,3541.00,3542.00,3541.00,3542.00,261,0
+2006-01-24,11:58:00,3542.00,3542.00,3541.00,3541.00,264,0
+2006-01-24,11:59:00,3541.00,3541.00,3541.00,3541.00,449,0
+2006-01-24,12:00:00,3541.00,3541.00,3541.00,3541.00,4492,0
+2006-01-24,12:01:00,3541.00,3541.00,3540.00,3541.00,307,0
+2006-01-24,12:02:00,3540.00,3540.00,3540.00,3540.00,530,0
+2006-01-24,12:03:00,3540.00,3540.00,3540.00,3540.00,210,0
+2006-01-24,12:04:00,3540.00,3541.00,3540.00,3541.00,234,0
+2006-01-24,12:05:00,3541.00,3541.00,3540.00,3541.00,50,0
+2006-01-24,12:06:00,3541.00,3541.00,3541.00,3541.00,100,0
+2006-01-24,12:07:00,3541.00,3541.00,3541.00,3541.00,26,0
+2006-01-24,12:08:00,3540.00,3541.00,3540.00,3540.00,122,0
+2006-01-24,12:09:00,3540.00,3540.00,3539.00,3539.00,2118,0
+2006-01-24,12:10:00,3539.00,3541.00,3539.00,3541.00,1041,0
+2006-01-24,12:11:00,3541.00,3542.00,3541.00,3542.00,653,0
+2006-01-24,12:12:00,3542.00,3543.00,3542.00,3542.00,280,0
+2006-01-24,12:13:00,3543.00,3543.00,3543.00,3543.00,149,0
+2006-01-24,12:14:00,3542.00,3542.00,3542.00,3542.00,23,0
+2006-01-24,12:15:00,3543.00,3543.00,3542.00,3542.00,399,0
+2006-01-24,12:16:00,3542.00,3543.00,3542.00,3543.00,257,0
+2006-01-24,12:17:00,3542.00,3543.00,3542.00,3542.00,17,0
+2006-01-24,12:18:00,3543.00,3543.00,3542.00,3543.00,247,0
+2006-01-24,12:19:00,3542.00,3543.00,3542.00,3543.00,88,0
+2006-01-24,12:20:00,3543.00,3543.00,3542.00,3542.00,685,0
+2006-01-24,12:21:00,3543.00,3543.00,3542.00,3543.00,240,0
+2006-01-24,12:22:00,3542.00,3543.00,3542.00,3543.00,16,0
+2006-01-24,12:23:00,3543.00,3543.00,3543.00,3543.00,2,0
+2006-01-24,12:24:00,3543.00,3543.00,3543.00,3543.00,23,0
+2006-01-24,12:25:00,3542.00,3543.00,3541.00,3542.00,677,0
+2006-01-24,12:26:00,3542.00,3542.00,3542.00,3542.00,18,0
+2006-01-24,12:27:00,3541.00,3542.00,3540.00,3541.00,1181,0
+2006-01-24,12:28:00,3541.00,3541.00,3539.00,3539.00,482,0
+2006-01-24,12:29:00,3540.00,3541.00,3540.00,3541.00,412,0
+2006-01-24,12:30:00,3541.00,3541.00,3541.00,3541.00,1297,0
+2006-01-24,12:31:00,3542.00,3543.00,3541.00,3541.00,689,0
+2006-01-24,12:32:00,3542.00,3542.00,3541.00,3542.00,188,0
+2006-01-24,12:33:00,3543.00,3543.00,3543.00,3543.00,12,0
+2006-01-24,12:34:00,3543.00,3543.00,3541.00,3542.00,819,0
+2006-01-24,12:35:00,3543.00,3545.00,3542.00,3544.00,1211,0
+2006-01-24,12:36:00,3544.00,3546.00,3544.00,3545.00,1365,0
+2006-01-24,12:37:00,3545.00,3545.00,3544.00,3545.00,522,0
+2006-01-24,12:38:00,3544.00,3547.00,3544.00,3547.00,1144,0
+2006-01-24,12:39:00,3547.00,3547.00,3545.00,3546.00,944,0
+2006-01-24,12:40:00,3545.00,3549.00,3545.00,3548.00,2910,0
+2006-01-24,12:41:00,3547.00,3549.00,3547.00,3548.00,655,0
+2006-01-24,12:42:00,3548.00,3548.00,3547.00,3547.00,309,0
+2006-01-24,12:43:00,3546.00,3547.00,3546.00,3547.00,104,0
+2006-01-24,12:44:00,3547.00,3547.00,3546.00,3546.00,1578,0
+2006-01-24,12:45:00,3546.00,3547.00,3546.00,3547.00,444,0
+2006-01-24,12:46:00,3546.00,3546.00,3546.00,3546.00,824,0
+2006-01-24,12:47:00,3546.00,3547.00,3546.00,3547.00,81,0
+2006-01-24,12:48:00,3547.00,3548.00,3547.00,3548.00,917,0
+2006-01-24,12:49:00,3548.00,3548.00,3546.00,3546.00,830,0
+2006-01-24,12:50:00,3547.00,3547.00,3546.00,3547.00,37,0
+2006-01-24,12:51:00,3546.00,3546.00,3546.00,3546.00,904,0
+2006-01-24,12:52:00,3546.00,3547.00,3546.00,3546.00,49,0
+2006-01-24,12:53:00,3546.00,3547.00,3546.00,3547.00,893,0
+2006-01-24,12:54:00,3547.00,3547.00,3547.00,3547.00,582,0
+2006-01-24,12:55:00,3547.00,3549.00,3547.00,3549.00,500,0
+2006-01-24,12:56:00,3548.00,3549.00,3548.00,3549.00,903,0
+2006-01-24,12:57:00,3549.00,3549.00,3548.00,3548.00,107,0
+2006-01-24,12:58:00,3548.00,3548.00,3548.00,3548.00,489,0
+2006-01-24,12:59:00,3548.00,3550.00,3548.00,3549.00,625,0
+2006-01-24,13:00:00,3549.00,3549.00,3548.00,3548.00,13,0
+2006-01-24,13:01:00,3549.00,3550.00,3548.00,3549.00,450,0
+2006-01-24,13:02:00,3549.00,3549.00,3549.00,3549.00,292,0
+2006-01-24,13:03:00,3549.00,3549.00,3548.00,3548.00,687,0
+2006-01-24,13:04:00,3548.00,3548.00,3547.00,3547.00,218,0
+2006-01-24,13:05:00,3548.00,3548.00,3547.00,3548.00,1330,0
+2006-01-24,13:06:00,3548.00,3549.00,3548.00,3549.00,283,0
+2006-01-24,13:07:00,3548.00,3549.00,3547.00,3549.00,388,0
+2006-01-24,13:08:00,3548.00,3548.00,3548.00,3548.00,163,0
+2006-01-24,13:09:00,3548.00,3549.00,3548.00,3549.00,654,0
+2006-01-24,13:10:00,3549.00,3549.00,3549.00,3549.00,20,0
+2006-01-24,13:11:00,3549.00,3550.00,3549.00,3549.00,667,0
+2006-01-24,13:12:00,3548.00,3548.00,3548.00,3548.00,363,0
+2006-01-24,13:13:00,3547.00,3548.00,3547.00,3548.00,679,0
+2006-01-24,13:14:00,3548.00,3548.00,3548.00,3548.00,2,0
+2006-01-24,13:15:00,3549.00,3549.00,3546.00,3547.00,2246,0
+2006-01-24,13:16:00,3546.00,3547.00,3546.00,3547.00,294,0
+2006-01-24,13:17:00,3547.00,3547.00,3547.00,3547.00,536,0
+2006-01-24,13:18:00,3547.00,3547.00,3546.00,3547.00,207,0
+2006-01-24,13:19:00,3547.00,3548.00,3547.00,3547.00,115,0
+2006-01-24,13:20:00,3547.00,3548.00,3547.00,3548.00,3,0
+2006-01-24,13:21:00,3547.00,3547.00,3547.00,3547.00,2,0
+2006-01-24,13:22:00,3547.00,3548.00,3547.00,3548.00,25,0
+2006-01-24,13:23:00,3547.00,3548.00,3547.00,3548.00,9,0
+2006-01-24,13:24:00,3548.00,3548.00,3547.00,3548.00,79,0
+2006-01-24,13:25:00,3548.00,3548.00,3548.00,3548.00,68,0
+2006-01-24,13:26:00,3548.00,3549.00,3548.00,3548.00,734,0
+2006-01-24,13:27:00,3548.00,3549.00,3548.00,3549.00,381,0
+2006-01-24,13:28:00,3549.00,3549.00,3548.00,3549.00,303,0
+2006-01-24,13:29:00,3549.00,3549.00,3548.00,3548.00,535,0
+2006-01-24,13:30:00,3549.00,3550.00,3549.00,3550.00,1103,0
+2006-01-24,13:31:00,3550.00,3551.00,3550.00,3551.00,3039,0
+2006-01-24,13:32:00,3551.00,3551.00,3550.00,3550.00,684,0
+2006-01-24,13:33:00,3550.00,3551.00,3550.00,3551.00,361,0
+2006-01-24,13:34:00,3550.00,3552.00,3549.00,3551.00,1150,0
+2006-01-24,13:35:00,3551.00,3551.00,3550.00,3550.00,868,0
+2006-01-24,13:36:00,3550.00,3550.00,3549.00,3550.00,256,0
+2006-01-24,13:37:00,3550.00,3550.00,3549.00,3549.00,47,0
+2006-01-24,13:38:00,3549.00,3549.00,3549.00,3549.00,1012,0
+2006-01-24,13:39:00,3549.00,3550.00,3549.00,3550.00,662,0
+2006-01-24,13:40:00,3550.00,3550.00,3549.00,3550.00,119,0
+2006-01-24,13:41:00,3550.00,3550.00,3549.00,3550.00,558,0
+2006-01-24,13:42:00,3550.00,3551.00,3550.00,3550.00,101,0
+2006-01-24,13:43:00,3550.00,3550.00,3550.00,3550.00,15,0
+2006-01-24,13:44:00,3551.00,3552.00,3551.00,3551.00,597,0
+2006-01-24,13:45:00,3551.00,3552.00,3550.00,3550.00,352,0
+2006-01-24,13:46:00,3550.00,3550.00,3549.00,3550.00,565,0
+2006-01-24,13:47:00,3549.00,3549.00,3549.00,3549.00,181,0
+2006-01-24,13:49:00,3550.00,3550.00,3550.00,3550.00,264,0
+2006-01-24,13:50:00,3551.00,3551.00,3551.00,3551.00,53,0
+2006-01-24,13:51:00,3550.00,3552.00,3550.00,3552.00,1247,0
+2006-01-24,13:52:00,3552.00,3553.00,3552.00,3552.00,352,0
+2006-01-24,13:53:00,3552.00,3552.00,3552.00,3552.00,11,0
+2006-01-24,13:54:00,3552.00,3552.00,3551.00,3551.00,103,0
+2006-01-24,13:55:00,3551.00,3551.00,3550.00,3550.00,1182,0
+2006-01-24,13:56:00,3550.00,3550.00,3549.00,3549.00,60,0
+2006-01-24,13:57:00,3550.00,3550.00,3550.00,3550.00,193,0
+2006-01-24,13:58:00,3549.00,3550.00,3549.00,3550.00,22,0
+2006-01-24,13:59:00,3550.00,3550.00,3549.00,3549.00,16,0
+2006-01-24,14:00:00,3550.00,3550.00,3549.00,3550.00,136,0
+2006-01-24,14:01:00,3549.00,3549.00,3546.00,3546.00,2394,0
+2006-01-24,14:02:00,3547.00,3547.00,3546.00,3546.00,485,0
+2006-01-24,14:03:00,3546.00,3548.00,3546.00,3547.00,1026,0
+2006-01-24,14:04:00,3547.00,3547.00,3546.00,3547.00,269,0
+2006-01-24,14:05:00,3547.00,3547.00,3547.00,3547.00,107,0
+2006-01-24,14:06:00,3547.00,3547.00,3546.00,3547.00,263,0
+2006-01-24,14:07:00,3546.00,3547.00,3546.00,3547.00,116,0
+2006-01-24,14:08:00,3547.00,3547.00,3547.00,3547.00,108,0
+2006-01-24,14:09:00,3546.00,3547.00,3546.00,3547.00,22,0
+2006-01-24,14:10:00,3547.00,3547.00,3546.00,3546.00,406,0
+2006-01-24,14:11:00,3547.00,3547.00,3545.00,3545.00,681,0
+2006-01-24,14:12:00,3546.00,3547.00,3546.00,3546.00,536,0
+2006-01-24,14:13:00,3545.00,3546.00,3545.00,3545.00,239,0
+2006-01-24,14:14:00,3545.00,3546.00,3544.00,3545.00,651,0
+2006-01-24,14:15:00,3545.00,3546.00,3545.00,3545.00,357,0
+2006-01-24,14:16:00,3546.00,3546.00,3545.00,3546.00,529,0
+2006-01-24,14:17:00,3547.00,3547.00,3546.00,3547.00,316,0
+2006-01-24,14:18:00,3547.00,3548.00,3546.00,3546.00,617,0
+2006-01-24,14:19:00,3546.00,3547.00,3546.00,3547.00,244,0
+2006-01-24,14:20:00,3547.00,3547.00,3546.00,3546.00,80,0
+2006-01-24,14:21:00,3547.00,3547.00,3546.00,3547.00,112,0
+2006-01-24,14:22:00,3547.00,3547.00,3547.00,3547.00,888,0
+2006-01-24,14:23:00,3547.00,3547.00,3547.00,3547.00,173,0
+2006-01-24,14:24:00,3547.00,3548.00,3547.00,3548.00,246,0
+2006-01-24,14:25:00,3547.00,3547.00,3547.00,3547.00,91,0
+2006-01-24,14:26:00,3547.00,3547.00,3547.00,3547.00,336,0
+2006-01-24,14:27:00,3546.00,3547.00,3546.00,3547.00,135,0
+2006-01-24,14:28:00,3546.00,3546.00,3546.00,3546.00,6,0
+2006-01-24,14:29:00,3546.00,3549.00,3546.00,3549.00,555,0
+2006-01-24,14:30:00,3548.00,3548.00,3548.00,3548.00,360,0
+2006-01-24,14:31:00,3549.00,3549.00,3548.00,3548.00,177,0
+2006-01-24,14:32:00,3548.00,3548.00,3548.00,3548.00,4,0
+2006-01-24,14:33:00,3549.00,3550.00,3549.00,3550.00,633,0
+2006-01-24,14:34:00,3550.00,3551.00,3550.00,3550.00,863,0
+2006-01-24,14:35:00,3550.00,3550.00,3550.00,3550.00,67,0
+2006-01-24,14:37:00,3550.00,3550.00,3550.00,3550.00,76,0
+2006-01-24,14:38:00,3550.00,3550.00,3550.00,3550.00,72,0
+2006-01-24,14:39:00,3550.00,3550.00,3550.00,3550.00,243,0
+2006-01-24,14:40:00,3549.00,3550.00,3549.00,3550.00,43,0
+2006-01-24,14:41:00,3549.00,3550.00,3549.00,3549.00,765,0
+2006-01-24,14:42:00,3550.00,3550.00,3550.00,3550.00,606,0
+2006-01-24,14:43:00,3549.00,3550.00,3549.00,3549.00,24,0
+2006-01-24,14:44:00,3549.00,3550.00,3549.00,3550.00,159,0
+2006-01-24,14:45:00,3550.00,3550.00,3549.00,3549.00,916,0
+2006-01-24,14:46:00,3549.00,3550.00,3548.00,3548.00,1990,0
+2006-01-24,14:47:00,3548.00,3549.00,3548.00,3549.00,36,0
+2006-01-24,14:48:00,3548.00,3549.00,3548.00,3548.00,81,0
+2006-01-24,14:49:00,3549.00,3549.00,3548.00,3549.00,289,0
+2006-01-24,14:50:00,3549.00,3550.00,3549.00,3550.00,219,0
+2006-01-24,14:51:00,3550.00,3550.00,3549.00,3550.00,144,0
+2006-01-24,14:52:00,3550.00,3550.00,3549.00,3549.00,120,0
+2006-01-24,14:53:00,3550.00,3550.00,3549.00,3549.00,322,0
+2006-01-24,14:54:00,3549.00,3549.00,3548.00,3548.00,298,0
+2006-01-24,14:55:00,3548.00,3549.00,3548.00,3548.00,42,0
+2006-01-24,14:56:00,3548.00,3548.00,3547.00,3547.00,1363,0
+2006-01-24,14:57:00,3547.00,3548.00,3547.00,3548.00,238,0
+2006-01-24,14:58:00,3548.00,3548.00,3547.00,3547.00,89,0
+2006-01-24,14:59:00,3548.00,3548.00,3548.00,3548.00,531,0
+2006-01-24,15:00:00,3547.00,3547.00,3547.00,3547.00,1,0
+2006-01-24,15:01:00,3547.00,3547.00,3546.00,3546.00,886,0
+2006-01-24,15:02:00,3546.00,3548.00,3546.00,3547.00,484,0
+2006-01-24,15:03:00,3547.00,3547.00,3546.00,3547.00,524,0
+2006-01-24,15:04:00,3546.00,3547.00,3546.00,3547.00,142,0
+2006-01-24,15:05:00,3547.00,3548.00,3547.00,3547.00,768,0
+2006-01-24,15:06:00,3548.00,3549.00,3548.00,3548.00,325,0
+2006-01-24,15:07:00,3548.00,3548.00,3547.00,3548.00,228,0
+2006-01-24,15:08:00,3548.00,3548.00,3548.00,3548.00,235,0
+2006-01-24,15:09:00,3548.00,3549.00,3548.00,3549.00,79,0
+2006-01-24,15:10:00,3549.00,3549.00,3548.00,3548.00,95,0
+2006-01-24,15:11:00,3548.00,3548.00,3547.00,3548.00,105,0
+2006-01-24,15:12:00,3549.00,3549.00,3549.00,3549.00,29,0
+2006-01-24,15:13:00,3548.00,3548.00,3548.00,3548.00,44,0
+2006-01-24,15:14:00,3548.00,3548.00,3548.00,3548.00,61,0
+2006-01-24,15:15:00,3548.00,3548.00,3548.00,3548.00,21,0
+2006-01-24,15:16:00,3549.00,3549.00,3548.00,3549.00,818,0
+2006-01-24,15:17:00,3548.00,3548.00,3548.00,3548.00,400,0
+2006-01-24,15:18:00,3548.00,3549.00,3547.00,3548.00,183,0
+2006-01-24,15:19:00,3548.00,3549.00,3548.00,3548.00,147,0
+2006-01-24,15:20:00,3549.00,3549.00,3548.00,3549.00,159,0
+2006-01-24,15:22:00,3548.00,3549.00,3548.00,3549.00,6,0
+2006-01-24,15:23:00,3549.00,3549.00,3549.00,3549.00,278,0
+2006-01-24,15:24:00,3549.00,3549.00,3548.00,3548.00,215,0
+2006-01-24,15:25:00,3548.00,3548.00,3547.00,3548.00,1676,0
+2006-01-24,15:26:00,3548.00,3548.00,3547.00,3547.00,727,0
+2006-01-24,15:27:00,3548.00,3548.00,3548.00,3548.00,561,0
+2006-01-24,15:28:00,3548.00,3548.00,3548.00,3548.00,18,0
+2006-01-24,15:29:00,3548.00,3548.00,3547.00,3548.00,212,0
+2006-01-24,15:30:00,3548.00,3548.00,3548.00,3548.00,632,0
+2006-01-24,15:31:00,3548.00,3549.00,3548.00,3549.00,78,0
+2006-01-24,15:32:00,3549.00,3550.00,3549.00,3549.00,529,0
+2006-01-24,15:33:00,3550.00,3550.00,3549.00,3549.00,178,0
+2006-01-24,15:34:00,3549.00,3550.00,3549.00,3550.00,797,0
+2006-01-24,15:35:00,3550.00,3551.00,3550.00,3550.00,691,0
+2006-01-24,15:36:00,3551.00,3552.00,3551.00,3552.00,1257,0
+2006-01-24,15:37:00,3551.00,3553.00,3551.00,3552.00,1771,0
+2006-01-24,15:38:00,3552.00,3553.00,3552.00,3552.00,1370,0
+2006-01-24,15:39:00,3552.00,3553.00,3552.00,3552.00,604,0
+2006-01-24,15:40:00,3552.00,3553.00,3551.00,3553.00,1662,0
+2006-01-24,15:41:00,3553.00,3553.00,3552.00,3552.00,651,0
+2006-01-24,15:42:00,3552.00,3552.00,3550.00,3551.00,1528,0
+2006-01-24,15:43:00,3551.00,3551.00,3551.00,3551.00,296,0
+2006-01-24,15:44:00,3552.00,3553.00,3552.00,3552.00,1403,0
+2006-01-24,15:45:00,3552.00,3553.00,3551.00,3553.00,2820,0
+2006-01-24,15:46:00,3554.00,3554.00,3553.00,3554.00,1579,0
+2006-01-24,15:47:00,3554.00,3555.00,3553.00,3553.00,1319,0
+2006-01-24,15:48:00,3553.00,3554.00,3553.00,3554.00,1850,0
+2006-01-24,15:49:00,3555.00,3555.00,3553.00,3553.00,948,0
+2006-01-24,15:50:00,3553.00,3556.00,3553.00,3554.00,2226,0
+2006-01-24,15:51:00,3554.00,3555.00,3554.00,3554.00,721,0
+2006-01-24,15:52:00,3554.00,3555.00,3554.00,3555.00,658,0
+2006-01-24,15:53:00,3555.00,3557.00,3554.00,3556.00,1958,0
+2006-01-24,15:54:00,3556.00,3557.00,3556.00,3557.00,1672,0
+2006-01-24,15:55:00,3556.00,3557.00,3556.00,3557.00,2787,0
+2006-01-24,15:56:00,3557.00,3558.00,3556.00,3557.00,1511,0
+2006-01-24,15:57:00,3557.00,3559.00,3557.00,3558.00,4504,0
+2006-01-24,15:58:00,3558.00,3559.00,3557.00,3558.00,1202,0
+2006-01-24,15:59:00,3558.00,3558.00,3557.00,3558.00,855,0
+2006-01-24,16:00:00,3558.00,3559.00,3558.00,3559.00,1151,0
+2006-01-24,16:01:00,3558.00,3560.00,3557.00,3558.00,3155,0
+2006-01-24,16:02:00,3558.00,3558.00,3557.00,3557.00,2183,0
+2006-01-24,16:03:00,3557.00,3557.00,3556.00,3556.00,4119,0
+2006-01-24,16:04:00,3556.00,3556.00,3555.00,3556.00,929,0
+2006-01-24,16:05:00,3556.00,3558.00,3556.00,3557.00,1126,0
+2006-01-24,16:06:00,3558.00,3558.00,3556.00,3557.00,1441,0
+2006-01-24,16:07:00,3556.00,3557.00,3555.00,3556.00,480,0
+2006-01-24,16:08:00,3555.00,3556.00,3555.00,3556.00,1026,0
+2006-01-24,16:09:00,3556.00,3556.00,3555.00,3556.00,376,0
+2006-01-24,16:10:00,3557.00,3557.00,3555.00,3555.00,838,0
+2006-01-24,16:11:00,3555.00,3556.00,3555.00,3556.00,918,0
+2006-01-24,16:12:00,3556.00,3557.00,3556.00,3556.00,451,0
+2006-01-24,16:13:00,3556.00,3556.00,3556.00,3556.00,162,0
+2006-01-24,16:14:00,3556.00,3556.00,3554.00,3555.00,1356,0
+2006-01-24,16:15:00,3555.00,3557.00,3555.00,3556.00,810,0
+2006-01-24,16:16:00,3556.00,3557.00,3556.00,3556.00,431,0
+2006-01-24,16:17:00,3556.00,3556.00,3555.00,3555.00,633,0
+2006-01-24,16:18:00,3555.00,3556.00,3555.00,3555.00,1071,0
+2006-01-24,16:19:00,3555.00,3557.00,3555.00,3556.00,1318,0
+2006-01-24,16:20:00,3556.00,3557.00,3555.00,3557.00,1290,0
+2006-01-24,16:21:00,3558.00,3562.00,3558.00,3560.00,5521,0
+2006-01-24,16:22:00,3561.00,3561.00,3559.00,3560.00,3738,0
+2006-01-24,16:23:00,3560.00,3561.00,3559.00,3559.00,1135,0
+2006-01-24,16:24:00,3559.00,3559.00,3558.00,3559.00,2825,0
+2006-01-24,16:25:00,3559.00,3559.00,3557.00,3558.00,633,0
+2006-01-24,16:26:00,3557.00,3557.00,3554.00,3554.00,3145,0
+2006-01-24,16:27:00,3554.00,3554.00,3554.00,3554.00,857,0
+2006-01-24,16:28:00,3553.00,3554.00,3552.00,3552.00,4445,0
+2006-01-24,16:29:00,3552.00,3553.00,3551.00,3552.00,2204,0
+2006-01-24,16:30:00,3552.00,3554.00,3551.00,3553.00,1412,0
+2006-01-24,16:31:00,3553.00,3553.00,3552.00,3552.00,1883,0
+2006-01-24,16:32:00,3552.00,3554.00,3551.00,3552.00,1777,0
+2006-01-24,16:33:00,3552.00,3553.00,3551.00,3553.00,1453,0
+2006-01-24,16:34:00,3553.00,3554.00,3552.00,3553.00,858,0
+2006-01-24,16:35:00,3554.00,3554.00,3553.00,3553.00,1042,0
+2006-01-24,16:36:00,3553.00,3554.00,3552.00,3553.00,5643,0
+2006-01-24,16:37:00,3553.00,3553.00,3552.00,3553.00,629,0
+2006-01-24,16:38:00,3553.00,3553.00,3552.00,3553.00,822,0
+2006-01-24,16:39:00,3553.00,3555.00,3553.00,3554.00,671,0
+2006-01-24,16:40:00,3554.00,3554.00,3553.00,3554.00,731,0
+2006-01-24,16:41:00,3553.00,3554.00,3553.00,3554.00,1131,0
+2006-01-24,16:42:00,3555.00,3555.00,3554.00,3554.00,596,0
+2006-01-24,16:43:00,3555.00,3555.00,3554.00,3555.00,1055,0
+2006-01-24,16:44:00,3556.00,3557.00,3555.00,3555.00,1427,0
+2006-01-24,16:45:00,3555.00,3556.00,3554.00,3555.00,726,0
+2006-01-24,16:46:00,3556.00,3557.00,3555.00,3557.00,1036,0
+2006-01-24,16:47:00,3557.00,3557.00,3556.00,3556.00,387,0
+2006-01-24,16:48:00,3556.00,3557.00,3556.00,3556.00,852,0
+2006-01-24,16:49:00,3556.00,3557.00,3556.00,3556.00,816,0
+2006-01-24,16:50:00,3555.00,3555.00,3554.00,3555.00,1121,0
+2006-01-24,16:51:00,3555.00,3556.00,3555.00,3556.00,1211,0
+2006-01-24,16:52:00,3557.00,3557.00,3555.00,3556.00,922,0
+2006-01-24,16:53:00,3556.00,3556.00,3554.00,3554.00,863,0
+2006-01-24,16:54:00,3554.00,3555.00,3554.00,3554.00,287,0
+2006-01-24,16:55:00,3555.00,3555.00,3551.00,3551.00,3195,0
+2006-01-24,16:56:00,3551.00,3552.00,3549.00,3550.00,3933,0
+2006-01-24,16:57:00,3550.00,3551.00,3549.00,3549.00,1571,0
+2006-01-24,16:58:00,3549.00,3551.00,3549.00,3551.00,1660,0
+2006-01-24,16:59:00,3551.00,3551.00,3549.00,3549.00,1185,0
+2006-01-24,17:00:00,3549.00,3550.00,3548.00,3548.00,1513,0
+2006-01-24,17:01:00,3548.00,3549.00,3546.00,3547.00,6060,0
+2006-01-24,17:02:00,3546.00,3548.00,3545.00,3548.00,2489,0
+2006-01-24,17:03:00,3547.00,3548.00,3547.00,3547.00,1399,0
+2006-01-24,17:04:00,3548.00,3548.00,3545.00,3546.00,2784,0
+2006-01-24,17:05:00,3545.00,3547.00,3545.00,3545.00,1464,0
+2006-01-24,17:06:00,3545.00,3546.00,3542.00,3542.00,3773,0
+2006-01-24,17:07:00,3542.00,3543.00,3541.00,3542.00,5716,0
+2006-01-24,17:08:00,3542.00,3544.00,3536.00,3537.00,10304,0
+2006-01-24,17:09:00,3536.00,3539.00,3536.00,3538.00,6818,0
+2006-01-24,17:10:00,3537.00,3540.00,3537.00,3539.00,3661,0
+2006-01-24,17:11:00,3540.00,3540.00,3539.00,3539.00,6080,0
+2006-01-24,17:12:00,3539.00,3540.00,3538.00,3540.00,3627,0
+2006-01-24,17:13:00,3539.00,3540.00,3538.00,3538.00,2035,0
+2006-01-24,17:14:00,3538.00,3539.00,3536.00,3536.00,2905,0
+2006-01-24,17:15:00,3536.00,3536.00,3534.00,3535.00,3785,0
+2006-01-24,17:16:00,3536.00,3538.00,3535.00,3537.00,3818,0
+2006-01-24,17:17:00,3537.00,3537.00,3535.00,3537.00,1800,0
+2006-01-24,17:18:00,3536.00,3537.00,3535.00,3535.00,2280,0
+2006-01-24,17:19:00,3535.00,3536.00,3534.00,3534.00,2301,0
+2006-01-24,17:20:00,3534.00,3537.00,3534.00,3536.00,2620,0
+2006-01-24,17:21:00,3537.00,3538.00,3536.00,3538.00,3247,0
+2006-01-24,17:22:00,3538.00,3540.00,3538.00,3539.00,2145,0
+2006-01-24,17:23:00,3539.00,3540.00,3538.00,3538.00,3402,0
+2006-01-24,17:24:00,3539.00,3539.00,3538.00,3539.00,6374,0
+2006-01-24,17:25:00,3538.00,3539.00,3537.00,3537.00,1642,0
+2006-01-24,17:26:00,3538.00,3539.00,3537.00,3539.00,788,0
+2006-01-24,17:27:00,3539.00,3541.00,3539.00,3540.00,4295,0
+2006-01-24,17:28:00,3541.00,3541.00,3540.00,3541.00,1486,0
+2006-01-24,17:29:00,3541.00,3543.00,3540.00,3542.00,4248,0
+2006-01-24,17:30:00,3542.00,3543.00,3540.00,3542.00,3996,0
+2006-01-24,17:31:00,3542.00,3542.00,3541.00,3542.00,2714,0
+2006-01-24,17:32:00,3541.00,3542.00,3541.00,3541.00,1503,0
+2006-01-24,17:33:00,3541.00,3542.00,3540.00,3541.00,2328,0
+2006-01-24,17:34:00,3541.00,3541.00,3540.00,3540.00,2182,0
+2006-01-24,17:35:00,3540.00,3541.00,3539.00,3541.00,1060,0
+2006-01-24,17:36:00,3540.00,3541.00,3540.00,3540.00,816,0
+2006-01-24,17:37:00,3540.00,3540.00,3539.00,3539.00,1271,0
+2006-01-24,17:38:00,3539.00,3540.00,3538.00,3538.00,3236,0
+2006-01-24,17:39:00,3538.00,3539.00,3538.00,3538.00,1864,0
+2006-01-24,17:40:00,3538.00,3539.00,3537.00,3538.00,1400,0
+2006-01-24,17:41:00,3539.00,3539.00,3538.00,3538.00,631,0
+2006-01-24,17:42:00,3538.00,3540.00,3538.00,3540.00,1132,0
+2006-01-24,17:43:00,3539.00,3539.00,3539.00,3539.00,967,0
+2006-01-24,17:44:00,3539.00,3541.00,3539.00,3541.00,1461,0
+2006-01-24,17:45:00,3540.00,3543.00,3540.00,3542.00,1229,0
+2006-01-24,17:46:00,3542.00,3543.00,3542.00,3542.00,4251,0
+2006-01-24,17:47:00,3543.00,3543.00,3542.00,3543.00,443,0
+2006-01-24,17:48:00,3543.00,3543.00,3542.00,3543.00,754,0
+2006-01-24,17:49:00,3543.00,3544.00,3542.00,3542.00,1245,0
+2006-01-24,17:50:00,3541.00,3543.00,3541.00,3543.00,303,0
+2006-01-24,17:51:00,3543.00,3543.00,3542.00,3543.00,418,0
+2006-01-24,17:52:00,3543.00,3543.00,3542.00,3542.00,476,0
+2006-01-24,17:53:00,3542.00,3542.00,3541.00,3542.00,119,0
+2006-01-24,17:54:00,3542.00,3542.00,3541.00,3542.00,241,0
+2006-01-24,17:55:00,3541.00,3542.00,3541.00,3542.00,187,0
+2006-01-24,17:56:00,3543.00,3543.00,3542.00,3542.00,91,0
+2006-01-24,17:57:00,3542.00,3543.00,3542.00,3542.00,153,0
+2006-01-24,17:58:00,3542.00,3542.00,3542.00,3542.00,330,0
+2006-01-24,17:59:00,3542.00,3542.00,3541.00,3541.00,776,0
+2006-01-24,18:00:00,3541.00,3542.00,3541.00,3542.00,229,0
+2006-01-24,18:01:00,3541.00,3542.00,3540.00,3540.00,299,0
+2006-01-24,18:02:00,3540.00,3542.00,3540.00,3541.00,610,0
+2006-01-24,18:03:00,3542.00,3542.00,3542.00,3542.00,43,0
+2006-01-24,18:04:00,3542.00,3542.00,3541.00,3542.00,722,0
+2006-01-24,18:05:00,3542.00,3542.00,3540.00,3541.00,802,0
+2006-01-24,18:06:00,3541.00,3541.00,3540.00,3541.00,1062,0
+2006-01-24,18:07:00,3541.00,3541.00,3540.00,3540.00,284,0
+2006-01-24,18:08:00,3540.00,3540.00,3539.00,3539.00,313,0
+2006-01-24,18:09:00,3540.00,3540.00,3540.00,3540.00,746,0
+2006-01-24,18:10:00,3540.00,3541.00,3539.00,3541.00,642,0
+2006-01-24,18:11:00,3541.00,3544.00,3541.00,3543.00,1017,0
+2006-01-24,18:12:00,3543.00,3543.00,3542.00,3543.00,71,0
+2006-01-24,18:13:00,3543.00,3543.00,3542.00,3543.00,386,0
+2006-01-24,18:14:00,3543.00,3543.00,3542.00,3543.00,555,0
+2006-01-24,18:15:00,3542.00,3543.00,3542.00,3542.00,390,0
+2006-01-24,18:16:00,3541.00,3541.00,3539.00,3539.00,973,0
+2006-01-24,18:17:00,3539.00,3539.00,3536.00,3537.00,2651,0
+2006-01-24,18:18:00,3537.00,3537.00,3536.00,3537.00,510,0
+2006-01-24,18:19:00,3537.00,3537.00,3536.00,3536.00,296,0
+2006-01-24,18:20:00,3536.00,3536.00,3534.00,3535.00,771,0
+2006-01-24,18:21:00,3535.00,3535.00,3533.00,3535.00,982,0
+2006-01-24,18:22:00,3534.00,3535.00,3533.00,3534.00,893,0
+2006-01-24,18:23:00,3534.00,3536.00,3533.00,3535.00,1123,0
+2006-01-24,18:24:00,3536.00,3536.00,3535.00,3535.00,627,0
+2006-01-24,18:25:00,3535.00,3536.00,3535.00,3536.00,540,0
+2006-01-24,18:26:00,3536.00,3536.00,3536.00,3536.00,22,0
+2006-01-24,18:27:00,3536.00,3536.00,3535.00,3536.00,456,0
+2006-01-24,18:28:00,3536.00,3538.00,3536.00,3537.00,504,0
+2006-01-24,18:29:00,3537.00,3538.00,3537.00,3537.00,19,0
+2006-01-24,18:30:00,3537.00,3538.00,3536.00,3537.00,486,0
+2006-01-24,18:31:00,3538.00,3538.00,3535.00,3536.00,526,0
+2006-01-24,18:32:00,3536.00,3537.00,3535.00,3536.00,168,0
+2006-01-24,18:33:00,3536.00,3537.00,3536.00,3536.00,166,0
+2006-01-24,18:34:00,3536.00,3537.00,3536.00,3536.00,19,0
+2006-01-24,18:35:00,3537.00,3539.00,3537.00,3538.00,428,0
+2006-01-24,18:36:00,3538.00,3538.00,3537.00,3537.00,219,0
+2006-01-24,18:37:00,3537.00,3538.00,3537.00,3538.00,96,0
+2006-01-24,18:38:00,3538.00,3540.00,3538.00,3539.00,211,0
+2006-01-24,18:39:00,3539.00,3539.00,3538.00,3538.00,330,0
+2006-01-24,18:40:00,3538.00,3538.00,3537.00,3538.00,127,0
+2006-01-24,18:41:00,3538.00,3539.00,3537.00,3537.00,305,0
+2006-01-24,18:42:00,3537.00,3538.00,3536.00,3537.00,311,0
+2006-01-24,18:43:00,3536.00,3536.00,3535.00,3535.00,853,0
+2006-01-24,18:44:00,3534.00,3537.00,3534.00,3537.00,1940,0
+2006-01-24,18:45:00,3537.00,3538.00,3537.00,3537.00,381,0
+2006-01-24,18:46:00,3537.00,3537.00,3537.00,3537.00,206,0
+2006-01-24,18:47:00,3537.00,3537.00,3536.00,3536.00,478,0
+2006-01-24,18:48:00,3536.00,3537.00,3536.00,3536.00,480,0
+2006-01-24,18:49:00,3537.00,3537.00,3537.00,3537.00,87,0
+2006-01-24,18:50:00,3537.00,3539.00,3537.00,3539.00,582,0
+2006-01-24,18:51:00,3539.00,3542.00,3539.00,3541.00,804,0
+2006-01-24,18:52:00,3541.00,3543.00,3541.00,3543.00,480,0
+2006-01-24,18:53:00,3543.00,3543.00,3541.00,3542.00,178,0
+2006-01-24,18:54:00,3542.00,3544.00,3542.00,3543.00,474,0
+2006-01-24,18:55:00,3543.00,3544.00,3542.00,3542.00,729,0
+2006-01-24,18:56:00,3542.00,3542.00,3541.00,3541.00,14,0
+2006-01-24,18:58:00,3541.00,3542.00,3541.00,3542.00,22,0
+2006-01-24,18:59:00,3541.00,3541.00,3540.00,3540.00,170,0
+2006-01-24,19:00:00,3541.00,3541.00,3540.00,3541.00,456,0
+2006-01-24,19:01:00,3540.00,3540.00,3540.00,3540.00,164,0
+2006-01-24,19:02:00,3540.00,3541.00,3540.00,3541.00,352,0
+2006-01-24,19:03:00,3541.00,3542.00,3540.00,3540.00,176,0
+2006-01-24,19:04:00,3540.00,3541.00,3540.00,3541.00,346,0
+2006-01-24,19:05:00,3542.00,3542.00,3542.00,3542.00,254,0
+2006-01-24,19:06:00,3541.00,3541.00,3540.00,3540.00,159,0
+2006-01-24,19:07:00,3539.00,3539.00,3538.00,3538.00,174,0
+2006-01-24,19:08:00,3538.00,3538.00,3537.00,3537.00,120,0
+2006-01-24,19:09:00,3537.00,3538.00,3537.00,3538.00,62,0
+2006-01-24,19:10:00,3538.00,3538.00,3535.00,3536.00,575,0
+2006-01-24,19:11:00,3536.00,3537.00,3536.00,3536.00,144,0
+2006-01-24,19:12:00,3537.00,3538.00,3536.00,3538.00,462,0
+2006-01-24,19:13:00,3539.00,3539.00,3539.00,3539.00,76,0
+2006-01-24,19:14:00,3539.00,3539.00,3539.00,3539.00,51,0
+2006-01-24,19:15:00,3538.00,3538.00,3537.00,3537.00,191,0
+2006-01-24,19:16:00,3537.00,3539.00,3537.00,3539.00,81,0
+2006-01-24,19:17:00,3538.00,3538.00,3537.00,3537.00,120,0
+2006-01-24,19:18:00,3538.00,3538.00,3538.00,3538.00,224,0
+2006-01-24,19:19:00,3539.00,3539.00,3538.00,3538.00,12,0
+2006-01-24,19:20:00,3538.00,3538.00,3538.00,3538.00,9,0
+2006-01-24,19:21:00,3538.00,3538.00,3538.00,3538.00,59,0
+2006-01-24,19:22:00,3539.00,3539.00,3538.00,3538.00,37,0
+2006-01-24,19:23:00,3537.00,3538.00,3537.00,3538.00,292,0
+2006-01-24,19:24:00,3538.00,3539.00,3538.00,3539.00,237,0
+2006-01-24,19:25:00,3539.00,3540.00,3539.00,3539.00,177,0
+2006-01-24,19:26:00,3539.00,3539.00,3539.00,3539.00,2,0
+2006-01-24,19:27:00,3539.00,3539.00,3538.00,3539.00,110,0
+2006-01-24,19:29:00,3539.00,3540.00,3539.00,3540.00,187,0
+2006-01-24,19:30:00,3541.00,3543.00,3541.00,3543.00,532,0
+2006-01-24,19:31:00,3544.00,3544.00,3543.00,3543.00,596,0
+2006-01-24,19:32:00,3543.00,3543.00,3542.00,3543.00,258,0
+2006-01-24,19:33:00,3543.00,3543.00,3543.00,3543.00,80,0
+2006-01-24,19:34:00,3543.00,3543.00,3542.00,3543.00,339,0
+2006-01-24,19:35:00,3543.00,3543.00,3542.00,3542.00,23,0
+2006-01-24,19:36:00,3542.00,3543.00,3542.00,3543.00,49,0
+2006-01-24,19:37:00,3543.00,3543.00,3542.00,3542.00,115,0
+2006-01-24,19:38:00,3541.00,3541.00,3541.00,3541.00,79,0
+2006-01-24,19:39:00,3541.00,3541.00,3541.00,3541.00,133,0
+2006-01-24,19:40:00,3541.00,3541.00,3540.00,3540.00,31,0
+2006-01-24,19:41:00,3541.00,3541.00,3540.00,3540.00,178,0
+2006-01-24,19:42:00,3541.00,3541.00,3540.00,3540.00,123,0
+2006-01-24,19:43:00,3540.00,3540.00,3539.00,3539.00,206,0
+2006-01-24,19:44:00,3539.00,3539.00,3539.00,3539.00,425,0
+2006-01-24,19:45:00,3539.00,3539.00,3539.00,3539.00,34,0
+2006-01-24,19:46:00,3540.00,3540.00,3538.00,3538.00,159,0
+2006-01-24,19:47:00,3539.00,3540.00,3539.00,3540.00,155,0
+2006-01-24,19:48:00,3540.00,3541.00,3539.00,3540.00,270,0
+2006-01-24,19:49:00,3540.00,3540.00,3540.00,3540.00,27,0
+2006-01-24,19:50:00,3541.00,3541.00,3541.00,3541.00,31,0
+2006-01-24,19:51:00,3541.00,3541.00,3541.00,3541.00,60,0
+2006-01-24,19:52:00,3542.00,3544.00,3542.00,3544.00,438,0
+2006-01-24,19:53:00,3544.00,3544.00,3542.00,3542.00,200,0
+2006-01-24,19:54:00,3543.00,3543.00,3543.00,3543.00,71,0
+2006-01-24,19:55:00,3543.00,3543.00,3543.00,3543.00,196,0
+2006-01-24,19:56:00,3543.00,3544.00,3543.00,3543.00,753,0
+2006-01-24,19:57:00,3544.00,3545.00,3544.00,3544.00,213,0
+2006-01-24,19:58:00,3544.00,3545.00,3544.00,3545.00,255,0
+2006-01-24,19:59:00,3546.00,3547.00,3546.00,3546.00,849,0
+2006-01-24,20:00:00,3547.00,3548.00,3547.00,3547.00,706,0
+2006-01-24,20:01:00,3547.00,3553.00,3547.00,3551.00,2583,0
+2006-01-24,20:02:00,3552.00,3552.00,3550.00,3550.00,560,0
+2006-01-24,20:03:00,3550.00,3552.00,3550.00,3551.00,204,0
+2006-01-24,20:04:00,3551.00,3554.00,3551.00,3553.00,830,0
+2006-01-24,20:05:00,3553.00,3555.00,3553.00,3554.00,641,0
+2006-01-24,20:06:00,3555.00,3555.00,3554.00,3554.00,204,0
+2006-01-24,20:07:00,3553.00,3554.00,3552.00,3552.00,371,0
+2006-01-24,20:08:00,3552.00,3552.00,3551.00,3551.00,264,0
+2006-01-24,20:09:00,3552.00,3553.00,3552.00,3553.00,79,0
+2006-01-24,20:10:00,3552.00,3552.00,3552.00,3552.00,142,0
+2006-01-24,20:11:00,3552.00,3553.00,3551.00,3553.00,223,0
+2006-01-24,20:12:00,3554.00,3555.00,3553.00,3554.00,464,0
+2006-01-24,20:13:00,3554.00,3555.00,3554.00,3555.00,170,0
+2006-01-24,20:14:00,3555.00,3555.00,3553.00,3554.00,735,0
+2006-01-24,20:15:00,3553.00,3553.00,3553.00,3553.00,163,0
+2006-01-24,20:16:00,3553.00,3553.00,3553.00,3553.00,59,0
+2006-01-24,20:17:00,3553.00,3553.00,3553.00,3553.00,25,0
+2006-01-24,20:18:00,3553.00,3553.00,3553.00,3553.00,53,0
+2006-01-24,20:19:00,3552.00,3552.00,3552.00,3552.00,142,0
+2006-01-24,20:20:00,3551.00,3553.00,3551.00,3552.00,85,0
+2006-01-24,20:21:00,3552.00,3554.00,3552.00,3554.00,220,0
+2006-01-24,20:22:00,3553.00,3555.00,3553.00,3554.00,122,0
+2006-01-24,20:23:00,3554.00,3554.00,3553.00,3554.00,119,0
+2006-01-24,20:24:00,3554.00,3554.00,3553.00,3553.00,212,0
+2006-01-24,20:25:00,3552.00,3552.00,3551.00,3552.00,349,0
+2006-01-24,20:26:00,3552.00,3552.00,3551.00,3552.00,277,0
+2006-01-24,20:27:00,3551.00,3553.00,3551.00,3553.00,188,0
+2006-01-24,20:28:00,3553.00,3554.00,3553.00,3554.00,25,0
+2006-01-24,20:29:00,3553.00,3553.00,3553.00,3553.00,9,0
+2006-01-24,20:30:00,3552.00,3552.00,3552.00,3552.00,55,0
+2006-01-24,20:31:00,3552.00,3552.00,3552.00,3552.00,13,0
+2006-01-24,20:32:00,3553.00,3553.00,3552.00,3552.00,116,0
+2006-01-24,20:33:00,3552.00,3553.00,3552.00,3553.00,149,0
+2006-01-24,20:34:00,3553.00,3553.00,3553.00,3553.00,89,0
+2006-01-24,20:35:00,3553.00,3553.00,3553.00,3553.00,27,0
+2006-01-24,20:36:00,3553.00,3553.00,3553.00,3553.00,109,0
+2006-01-24,20:37:00,3553.00,3553.00,3553.00,3553.00,58,0
+2006-01-24,20:38:00,3553.00,3553.00,3553.00,3553.00,21,0
+2006-01-24,20:39:00,3552.00,3552.00,3551.00,3551.00,63,0
+2006-01-24,20:40:00,3551.00,3552.00,3551.00,3552.00,11,0
+2006-01-24,20:41:00,3552.00,3552.00,3551.00,3551.00,137,0
+2006-01-24,20:43:00,3551.00,3552.00,3551.00,3552.00,72,0
+2006-01-24,20:44:00,3552.00,3552.00,3552.00,3552.00,17,0
+2006-01-24,20:45:00,3552.00,3553.00,3552.00,3553.00,7,0
+2006-01-24,20:46:00,3553.00,3554.00,3553.00,3554.00,51,0
+2006-01-24,20:47:00,3554.00,3554.00,3553.00,3554.00,212,0
+2006-01-24,20:48:00,3553.00,3553.00,3552.00,3552.00,153,0
+2006-01-24,20:49:00,3552.00,3552.00,3552.00,3552.00,55,0
+2006-01-24,20:50:00,3552.00,3552.00,3551.00,3551.00,6,0
+2006-01-24,20:51:00,3552.00,3553.00,3552.00,3553.00,73,0
+2006-01-24,20:52:00,3554.00,3554.00,3553.00,3553.00,47,0
+2006-01-24,20:54:00,3553.00,3553.00,3553.00,3553.00,136,0
+2006-01-24,20:55:00,3552.00,3552.00,3551.00,3551.00,86,0
+2006-01-24,20:56:00,3550.00,3550.00,3549.00,3550.00,2692,0
+2006-01-24,20:57:00,3549.00,3549.00,3549.00,3549.00,43,0
+2006-01-24,20:58:00,3549.00,3549.00,3549.00,3549.00,115,0
+2006-01-24,20:59:00,3548.00,3548.00,3548.00,3548.00,42,0
+2006-01-24,21:00:00,3548.00,3548.00,3547.00,3547.00,66,0
+2006-01-24,21:01:00,3547.00,3549.00,3547.00,3549.00,226,0
+2006-01-24,21:02:00,3549.00,3549.00,3549.00,3549.00,83,0
+2006-01-24,21:03:00,3549.00,3549.00,3549.00,3549.00,40,0
+2006-01-24,21:04:00,3550.00,3550.00,3549.00,3549.00,23,0
+2006-01-24,21:05:00,3549.00,3550.00,3548.00,3549.00,304,0
+2006-01-24,21:06:00,3548.00,3549.00,3548.00,3549.00,141,0
+2006-01-24,21:07:00,3549.00,3550.00,3549.00,3549.00,93,0
+2006-01-24,21:08:00,3549.00,3550.00,3549.00,3550.00,59,0
+2006-01-24,21:10:00,3550.00,3550.00,3548.00,3548.00,116,0
+2006-01-24,21:11:00,3548.00,3548.00,3547.00,3548.00,131,0
+2006-01-24,21:12:00,3548.00,3549.00,3548.00,3548.00,101,0
+2006-01-24,21:13:00,3548.00,3549.00,3548.00,3548.00,113,0
+2006-01-24,21:14:00,3549.00,3549.00,3548.00,3549.00,56,0
+2006-01-24,21:15:00,3549.00,3549.00,3547.00,3548.00,36,0
+2006-01-24,21:16:00,3548.00,3548.00,3548.00,3548.00,26,0
+2006-01-24,21:17:00,3547.00,3549.00,3547.00,3549.00,16,0
+2006-01-24,21:18:00,3548.00,3549.00,3548.00,3549.00,35,0
+2006-01-24,21:19:00,3549.00,3549.00,3548.00,3548.00,48,0
+2006-01-24,21:20:00,3549.00,3550.00,3548.00,3550.00,71,0
+2006-01-24,21:21:00,3550.00,3550.00,3549.00,3550.00,76,0
+2006-01-24,21:22:00,3550.00,3551.00,3549.00,3551.00,382,0
+2006-01-24,21:23:00,3552.00,3552.00,3551.00,3551.00,76,0
+2006-01-24,21:24:00,3550.00,3550.00,3550.00,3550.00,138,0
+2006-01-24,21:25:00,3551.00,3551.00,3550.00,3551.00,29,0
+2006-01-24,21:26:00,3551.00,3551.00,3550.00,3551.00,26,0
+2006-01-24,21:27:00,3551.00,3551.00,3550.00,3551.00,12,0
+2006-01-24,21:28:00,3550.00,3551.00,3550.00,3551.00,42,0
+2006-01-24,21:29:00,3551.00,3551.00,3551.00,3551.00,10,0
+2006-01-24,21:30:00,3551.00,3551.00,3551.00,3551.00,65,0
+2006-01-24,21:31:00,3552.00,3553.00,3552.00,3553.00,35,0
+2006-01-24,21:32:00,3552.00,3553.00,3552.00,3553.00,42,0
+2006-01-24,21:33:00,3552.00,3552.00,3551.00,3552.00,48,0
+2006-01-24,21:34:00,3552.00,3552.00,3551.00,3552.00,31,0
+2006-01-24,21:35:00,3551.00,3552.00,3550.00,3550.00,38,0
+2006-01-24,21:36:00,3551.00,3552.00,3551.00,3551.00,161,0
+2006-01-24,21:37:00,3551.00,3552.00,3551.00,3552.00,44,0
+2006-01-24,21:38:00,3552.00,3552.00,3551.00,3551.00,64,0
+2006-01-24,21:39:00,3552.00,3552.00,3552.00,3552.00,35,0
+2006-01-24,21:40:00,3552.00,3552.00,3552.00,3552.00,34,0
+2006-01-24,21:41:00,3552.00,3552.00,3552.00,3552.00,10,0
+2006-01-24,21:42:00,3552.00,3552.00,3551.00,3552.00,94,0
+2006-01-24,21:43:00,3551.00,3552.00,3551.00,3552.00,12,0
+2006-01-24,21:44:00,3552.00,3552.00,3551.00,3552.00,47,0
+2006-01-24,21:45:00,3552.00,3552.00,3552.00,3552.00,12,0
+2006-01-24,21:46:00,3552.00,3552.00,3552.00,3552.00,38,0
+2006-01-24,21:47:00,3552.00,3552.00,3552.00,3552.00,17,0
+2006-01-24,21:48:00,3552.00,3552.00,3551.00,3552.00,31,0
+2006-01-24,21:49:00,3552.00,3552.00,3552.00,3552.00,10,0
+2006-01-24,21:50:00,3552.00,3552.00,3551.00,3552.00,40,0
+2006-01-24,21:51:00,3552.00,3552.00,3552.00,3552.00,10,0
+2006-01-24,21:52:00,3552.00,3552.00,3551.00,3551.00,31,0
+2006-01-24,21:53:00,3552.00,3552.00,3551.00,3552.00,230,0
+2006-01-24,21:54:00,3552.00,3552.00,3552.00,3552.00,26,0
+2006-01-24,21:55:00,3552.00,3552.00,3551.00,3552.00,184,0
+2006-01-24,21:56:00,3552.00,3553.00,3551.00,3552.00,80,0
+2006-01-24,21:57:00,3552.00,3552.00,3551.00,3551.00,198,0
+2006-01-24,21:58:00,3551.00,3552.00,3551.00,3551.00,63,0
+2006-01-24,21:59:00,3551.00,3551.00,3550.00,3550.00,84,0
+2006-01-24,22:00:00,3550.00,3550.00,3547.00,3547.00,111,0
+2006-01-25,09:01:00,3559.00,3560.00,3557.00,3557.00,7404,0
+2006-01-25,09:02:00,3557.00,3558.00,3556.00,3557.00,1295,0
+2006-01-25,09:03:00,3557.00,3557.00,3552.00,3553.00,6060,0
+2006-01-25,09:04:00,3553.00,3554.00,3553.00,3554.00,1655,0
+2006-01-25,09:05:00,3554.00,3554.00,3552.00,3553.00,2976,0
+2006-01-25,09:06:00,3552.00,3553.00,3551.00,3552.00,2525,0
+2006-01-25,09:07:00,3552.00,3552.00,3550.00,3552.00,2467,0
+2006-01-25,09:08:00,3552.00,3553.00,3551.00,3552.00,977,0
+2006-01-25,09:09:00,3552.00,3553.00,3550.00,3553.00,1089,0
+2006-01-25,09:10:00,3553.00,3554.00,3551.00,3551.00,1631,0
+2006-01-25,09:11:00,3552.00,3552.00,3550.00,3550.00,717,0
+2006-01-25,09:12:00,3551.00,3552.00,3550.00,3550.00,1766,0
+2006-01-25,09:13:00,3550.00,3550.00,3549.00,3550.00,1341,0
+2006-01-25,09:14:00,3551.00,3553.00,3550.00,3552.00,974,0
+2006-01-25,09:15:00,3552.00,3552.00,3550.00,3550.00,1057,0
+2006-01-25,09:16:00,3551.00,3552.00,3548.00,3550.00,4954,0
+2006-01-25,09:17:00,3550.00,3551.00,3549.00,3551.00,1282,0
+2006-01-25,09:18:00,3551.00,3552.00,3551.00,3551.00,824,0
+2006-01-25,09:19:00,3551.00,3553.00,3551.00,3553.00,786,0
+2006-01-25,09:20:00,3553.00,3553.00,3552.00,3553.00,1182,0
+2006-01-25,09:21:00,3553.00,3553.00,3551.00,3553.00,1626,0
+2006-01-25,09:22:00,3553.00,3553.00,3552.00,3552.00,378,0
+2006-01-25,09:23:00,3553.00,3553.00,3552.00,3553.00,303,0
+2006-01-25,09:24:00,3553.00,3554.00,3553.00,3554.00,542,0
+2006-01-25,09:25:00,3554.00,3556.00,3554.00,3555.00,2493,0
+2006-01-25,09:26:00,3555.00,3556.00,3555.00,3556.00,1116,0
+2006-01-25,09:27:00,3556.00,3556.00,3554.00,3555.00,1362,0
+2006-01-25,09:28:00,3554.00,3555.00,3554.00,3555.00,767,0
+2006-01-25,09:29:00,3555.00,3555.00,3552.00,3553.00,1589,0
+2006-01-25,09:30:00,3553.00,3554.00,3551.00,3551.00,3845,0
+2006-01-25,09:31:00,3551.00,3552.00,3550.00,3552.00,1659,0
+2006-01-25,09:32:00,3552.00,3553.00,3552.00,3553.00,334,0
+2006-01-25,09:33:00,3553.00,3554.00,3552.00,3553.00,160,0
+2006-01-25,09:34:00,3554.00,3556.00,3554.00,3556.00,1264,0
+2006-01-25,09:35:00,3555.00,3556.00,3554.00,3554.00,980,0
+2006-01-25,09:36:00,3554.00,3555.00,3554.00,3554.00,614,0
+2006-01-25,09:37:00,3555.00,3555.00,3553.00,3554.00,311,0
+2006-01-25,09:38:00,3554.00,3554.00,3552.00,3552.00,1199,0
+2006-01-25,09:39:00,3552.00,3553.00,3551.00,3553.00,1289,0
+2006-01-25,09:40:00,3552.00,3553.00,3551.00,3552.00,1285,0
+2006-01-25,09:41:00,3551.00,3554.00,3551.00,3553.00,522,0
+2006-01-25,09:42:00,3552.00,3554.00,3552.00,3554.00,157,0
+2006-01-25,09:43:00,3553.00,3556.00,3553.00,3556.00,1374,0
+2006-01-25,09:44:00,3555.00,3556.00,3554.00,3556.00,1827,0
+2006-01-25,09:45:00,3556.00,3556.00,3555.00,3555.00,1735,0
+2006-01-25,09:46:00,3555.00,3556.00,3555.00,3556.00,409,0
+2006-01-25,09:47:00,3556.00,3556.00,3554.00,3555.00,553,0
+2006-01-25,09:48:00,3555.00,3557.00,3555.00,3557.00,1367,0
+2006-01-25,09:49:00,3556.00,3557.00,3555.00,3556.00,1974,0
+2006-01-25,09:50:00,3555.00,3556.00,3555.00,3556.00,449,0
+2006-01-25,09:51:00,3555.00,3556.00,3554.00,3555.00,312,0
+2006-01-25,09:52:00,3554.00,3557.00,3554.00,3556.00,945,0
+2006-01-25,09:53:00,3556.00,3558.00,3556.00,3558.00,1419,0
+2006-01-25,09:54:00,3557.00,3558.00,3557.00,3557.00,510,0
+2006-01-25,09:55:00,3558.00,3558.00,3556.00,3557.00,950,0
+2006-01-25,09:56:00,3556.00,3557.00,3556.00,3556.00,435,0
+2006-01-25,09:57:00,3557.00,3559.00,3556.00,3559.00,1875,0
+2006-01-25,09:58:00,3558.00,3560.00,3558.00,3559.00,1422,0
+2006-01-25,09:59:00,3559.00,3560.00,3558.00,3559.00,1110,0
+2006-01-25,10:00:00,3558.00,3559.00,3558.00,3559.00,537,0
+2006-01-25,10:01:00,3559.00,3563.00,3558.00,3562.00,5230,0
+2006-01-25,10:02:00,3562.00,3565.00,3562.00,3563.00,7045,0
+2006-01-25,10:03:00,3563.00,3565.00,3563.00,3565.00,2008,0
+2006-01-25,10:04:00,3564.00,3566.00,3564.00,3566.00,4773,0
+2006-01-25,10:05:00,3565.00,3566.00,3564.00,3564.00,3267,0
+2006-01-25,10:06:00,3564.00,3565.00,3562.00,3563.00,3097,0
+2006-01-25,10:07:00,3563.00,3564.00,3562.00,3564.00,2220,0
+2006-01-25,10:08:00,3563.00,3565.00,3563.00,3565.00,1099,0
+2006-01-25,10:09:00,3564.00,3565.00,3563.00,3564.00,1715,0
+2006-01-25,10:10:00,3564.00,3565.00,3563.00,3563.00,477,0
+2006-01-25,10:11:00,3564.00,3564.00,3563.00,3563.00,769,0
+2006-01-25,10:12:00,3563.00,3563.00,3562.00,3562.00,1275,0
+2006-01-25,10:13:00,3562.00,3563.00,3562.00,3563.00,2021,0
+2006-01-25,10:14:00,3563.00,3563.00,3562.00,3562.00,1972,0
+2006-01-25,10:15:00,3562.00,3562.00,3560.00,3561.00,3132,0
+2006-01-25,10:16:00,3562.00,3562.00,3560.00,3561.00,716,0
+2006-01-25,10:17:00,3561.00,3563.00,3561.00,3563.00,702,0
+2006-01-25,10:18:00,3562.00,3564.00,3562.00,3563.00,1197,0
+2006-01-25,10:19:00,3563.00,3564.00,3563.00,3564.00,455,0
+2006-01-25,10:20:00,3564.00,3565.00,3563.00,3564.00,696,0
+2006-01-25,10:21:00,3565.00,3565.00,3562.00,3564.00,1194,0
+2006-01-25,10:22:00,3563.00,3564.00,3563.00,3563.00,1912,0
+2006-01-25,10:23:00,3563.00,3563.00,3562.00,3563.00,304,0
+2006-01-25,10:24:00,3562.00,3563.00,3562.00,3563.00,2459,0
+2006-01-25,10:25:00,3564.00,3564.00,3562.00,3563.00,1123,0
+2006-01-25,10:26:00,3562.00,3563.00,3562.00,3563.00,355,0
+2006-01-25,10:27:00,3562.00,3564.00,3561.00,3562.00,1707,0
+2006-01-25,10:28:00,3561.00,3562.00,3561.00,3561.00,998,0
+2006-01-25,10:29:00,3561.00,3562.00,3561.00,3562.00,160,0
+2006-01-25,10:30:00,3561.00,3562.00,3561.00,3561.00,1596,0
+2006-01-25,10:31:00,3561.00,3562.00,3561.00,3561.00,6,0
+2006-01-25,10:32:00,3562.00,3562.00,3561.00,3561.00,1585,0
+2006-01-25,10:33:00,3561.00,3563.00,3560.00,3563.00,778,0
+2006-01-25,10:34:00,3563.00,3563.00,3561.00,3562.00,187,0
+2006-01-25,10:35:00,3562.00,3562.00,3561.00,3562.00,309,0
+2006-01-25,10:36:00,3562.00,3562.00,3561.00,3562.00,54,0
+2006-01-25,10:37:00,3562.00,3562.00,3561.00,3562.00,129,0
+2006-01-25,10:38:00,3562.00,3563.00,3562.00,3563.00,861,0
+2006-01-25,10:39:00,3563.00,3564.00,3562.00,3563.00,752,0
+2006-01-25,10:40:00,3562.00,3563.00,3562.00,3563.00,38,0
+2006-01-25,10:41:00,3562.00,3562.00,3562.00,3562.00,483,0
+2006-01-25,10:42:00,3562.00,3562.00,3561.00,3562.00,388,0
+2006-01-25,10:43:00,3562.00,3563.00,3562.00,3562.00,373,0
+2006-01-25,10:44:00,3562.00,3562.00,3562.00,3562.00,52,0
+2006-01-25,10:45:00,3562.00,3563.00,3562.00,3562.00,415,0
+2006-01-25,10:46:00,3562.00,3562.00,3560.00,3560.00,1008,0
+2006-01-25,10:47:00,3560.00,3560.00,3559.00,3560.00,885,0
+2006-01-25,10:48:00,3560.00,3560.00,3560.00,3560.00,323,0
+2006-01-25,10:49:00,3561.00,3561.00,3559.00,3560.00,602,0
+2006-01-25,10:50:00,3560.00,3561.00,3559.00,3560.00,682,0
+2006-01-25,10:51:00,3560.00,3561.00,3560.00,3561.00,521,0
+2006-01-25,10:52:00,3561.00,3562.00,3561.00,3561.00,556,0
+2006-01-25,10:53:00,3562.00,3562.00,3561.00,3562.00,309,0
+2006-01-25,10:54:00,3562.00,3562.00,3561.00,3562.00,137,0
+2006-01-25,10:55:00,3562.00,3562.00,3561.00,3562.00,165,0
+2006-01-25,10:56:00,3562.00,3562.00,3561.00,3562.00,27,0
+2006-01-25,10:57:00,3562.00,3562.00,3561.00,3562.00,67,0
+2006-01-25,10:58:00,3561.00,3561.00,3560.00,3560.00,1447,0
+2006-01-25,10:59:00,3560.00,3560.00,3560.00,3560.00,25,0
+2006-01-25,11:00:00,3560.00,3561.00,3560.00,3561.00,191,0
+2006-01-25,11:01:00,3561.00,3563.00,3561.00,3563.00,1079,0
+2006-01-25,11:02:00,3562.00,3565.00,3562.00,3564.00,1652,0
+2006-01-25,11:03:00,3564.00,3565.00,3563.00,3564.00,964,0
+2006-01-25,11:04:00,3565.00,3565.00,3564.00,3564.00,446,0
+2006-01-25,11:05:00,3564.00,3564.00,3563.00,3563.00,761,0
+2006-01-25,11:06:00,3564.00,3564.00,3563.00,3563.00,184,0
+2006-01-25,11:07:00,3563.00,3564.00,3563.00,3564.00,2143,0
+2006-01-25,11:08:00,3563.00,3564.00,3563.00,3563.00,1303,0
+2006-01-25,11:09:00,3563.00,3563.00,3563.00,3563.00,2002,0
+2006-01-25,11:10:00,3563.00,3564.00,3563.00,3563.00,545,0
+2006-01-25,11:11:00,3563.00,3563.00,3562.00,3563.00,155,0
+2006-01-25,11:12:00,3563.00,3564.00,3562.00,3564.00,1139,0
+2006-01-25,11:13:00,3564.00,3565.00,3563.00,3565.00,2039,0
+2006-01-25,11:14:00,3565.00,3565.00,3563.00,3564.00,1204,0
+2006-01-25,11:15:00,3564.00,3565.00,3564.00,3564.00,499,0
+2006-01-25,11:16:00,3564.00,3565.00,3564.00,3565.00,268,0
+2006-01-25,11:17:00,3565.00,3565.00,3564.00,3564.00,505,0
+2006-01-25,11:18:00,3565.00,3567.00,3565.00,3567.00,2175,0
+2006-01-25,11:19:00,3567.00,3567.00,3565.00,3565.00,3219,0
+2006-01-25,11:20:00,3565.00,3566.00,3565.00,3566.00,1196,0
+2006-01-25,11:21:00,3565.00,3567.00,3565.00,3566.00,598,0
+2006-01-25,11:22:00,3566.00,3567.00,3565.00,3566.00,861,0
+2006-01-25,11:23:00,3566.00,3566.00,3565.00,3565.00,466,0
+2006-01-25,11:24:00,3565.00,3566.00,3564.00,3566.00,1537,0
+2006-01-25,11:25:00,3565.00,3567.00,3565.00,3566.00,2857,0
+2006-01-25,11:26:00,3566.00,3566.00,3566.00,3566.00,237,0
+2006-01-25,11:27:00,3567.00,3567.00,3566.00,3566.00,45,0
+2006-01-25,11:28:00,3566.00,3566.00,3565.00,3565.00,681,0
+2006-01-25,11:29:00,3565.00,3566.00,3565.00,3565.00,12,0
+2006-01-25,11:30:00,3566.00,3566.00,3565.00,3566.00,812,0
+2006-01-25,11:31:00,3566.00,3567.00,3565.00,3566.00,372,0
+2006-01-25,11:32:00,3566.00,3567.00,3566.00,3566.00,242,0
+2006-01-25,11:33:00,3567.00,3567.00,3566.00,3567.00,554,0
+2006-01-25,11:34:00,3566.00,3567.00,3566.00,3566.00,562,0
+2006-01-25,11:35:00,3567.00,3568.00,3566.00,3568.00,4218,0
+2006-01-25,11:36:00,3568.00,3569.00,3568.00,3569.00,1298,0
+2006-01-25,11:37:00,3569.00,3570.00,3568.00,3568.00,3884,0
+2006-01-25,11:38:00,3568.00,3569.00,3568.00,3569.00,52,0
+2006-01-25,11:39:00,3568.00,3569.00,3568.00,3569.00,189,0
+2006-01-25,11:40:00,3568.00,3569.00,3567.00,3567.00,1023,0
+2006-01-25,11:41:00,3568.00,3568.00,3567.00,3568.00,1331,0
+2006-01-25,11:42:00,3568.00,3569.00,3567.00,3568.00,994,0
+2006-01-25,11:43:00,3568.00,3569.00,3568.00,3568.00,138,0
+2006-01-25,11:44:00,3568.00,3570.00,3568.00,3569.00,758,0
+2006-01-25,11:45:00,3569.00,3570.00,3569.00,3569.00,2474,0
+2006-01-25,11:46:00,3570.00,3572.00,3569.00,3572.00,2409,0
+2006-01-25,11:47:00,3572.00,3573.00,3570.00,3570.00,7114,0
+2006-01-25,11:48:00,3570.00,3571.00,3569.00,3571.00,3159,0
+2006-01-25,11:49:00,3571.00,3571.00,3569.00,3569.00,464,0
+2006-01-25,11:50:00,3570.00,3570.00,3569.00,3570.00,781,0
+2006-01-25,11:51:00,3569.00,3570.00,3569.00,3570.00,211,0
+2006-01-25,11:52:00,3570.00,3570.00,3569.00,3570.00,106,0
+2006-01-25,11:53:00,3570.00,3570.00,3569.00,3570.00,13,0
+2006-01-25,11:54:00,3569.00,3570.00,3569.00,3569.00,238,0
+2006-01-25,11:55:00,3569.00,3570.00,3569.00,3570.00,273,0
+2006-01-25,11:56:00,3569.00,3570.00,3569.00,3570.00,230,0
+2006-01-25,11:57:00,3570.00,3570.00,3569.00,3569.00,174,0
+2006-01-25,11:58:00,3570.00,3571.00,3570.00,3570.00,952,0
+2006-01-25,11:59:00,3570.00,3571.00,3570.00,3571.00,11,0
+2006-01-25,12:00:00,3570.00,3570.00,3570.00,3570.00,121,0
+2006-01-25,12:01:00,3571.00,3572.00,3569.00,3569.00,1218,0
+2006-01-25,12:02:00,3570.00,3571.00,3569.00,3570.00,924,0
+2006-01-25,12:03:00,3570.00,3570.00,3569.00,3569.00,964,0
+2006-01-25,12:04:00,3569.00,3570.00,3569.00,3570.00,445,0
+2006-01-25,12:05:00,3569.00,3570.00,3569.00,3569.00,175,0
+2006-01-25,12:06:00,3569.00,3569.00,3569.00,3569.00,418,0
+2006-01-25,12:07:00,3569.00,3570.00,3569.00,3569.00,243,0
+2006-01-25,12:08:00,3569.00,3570.00,3569.00,3569.00,430,0
+2006-01-25,12:09:00,3569.00,3570.00,3568.00,3570.00,2108,0
+2006-01-25,12:10:00,3569.00,3569.00,3569.00,3569.00,21,0
+2006-01-25,12:11:00,3570.00,3571.00,3570.00,3570.00,466,0
+2006-01-25,12:12:00,3570.00,3570.00,3570.00,3570.00,73,0
+2006-01-25,12:13:00,3570.00,3572.00,3570.00,3572.00,705,0
+2006-01-25,12:14:00,3572.00,3573.00,3572.00,3573.00,1124,0
+2006-01-25,12:15:00,3573.00,3573.00,3571.00,3572.00,808,0
+2006-01-25,12:16:00,3572.00,3572.00,3571.00,3572.00,22,0
+2006-01-25,12:17:00,3572.00,3572.00,3571.00,3572.00,911,0
+2006-01-25,12:18:00,3572.00,3572.00,3571.00,3571.00,1389,0
+2006-01-25,12:19:00,3571.00,3571.00,3570.00,3570.00,218,0
+2006-01-25,12:20:00,3570.00,3572.00,3570.00,3572.00,631,0
+2006-01-25,12:21:00,3572.00,3573.00,3572.00,3572.00,288,0
+2006-01-25,12:22:00,3572.00,3574.00,3572.00,3573.00,1319,0
+2006-01-25,12:23:00,3573.00,3574.00,3572.00,3572.00,2166,0
+2006-01-25,12:24:00,3572.00,3573.00,3572.00,3572.00,1283,0
+2006-01-25,12:25:00,3572.00,3573.00,3572.00,3572.00,183,0
+2006-01-25,12:26:00,3572.00,3573.00,3572.00,3572.00,1298,0
+2006-01-25,12:27:00,3572.00,3573.00,3572.00,3572.00,1716,0
+2006-01-25,12:28:00,3572.00,3572.00,3571.00,3571.00,703,0
+2006-01-25,12:29:00,3571.00,3572.00,3571.00,3571.00,1644,0
+2006-01-25,12:30:00,3571.00,3571.00,3571.00,3571.00,563,0
+2006-01-25,12:31:00,3571.00,3572.00,3571.00,3571.00,2595,0
+2006-01-25,12:32:00,3572.00,3572.00,3571.00,3571.00,138,0
+2006-01-25,12:33:00,3571.00,3571.00,3571.00,3571.00,25,0
+2006-01-25,12:34:00,3571.00,3571.00,3570.00,3570.00,771,0
+2006-01-25,12:35:00,3570.00,3570.00,3570.00,3570.00,708,0
+2006-01-25,12:36:00,3570.00,3570.00,3570.00,3570.00,348,0
+2006-01-25,12:37:00,3571.00,3571.00,3571.00,3571.00,589,0
+2006-01-25,12:38:00,3571.00,3571.00,3570.00,3570.00,136,0
+2006-01-25,12:39:00,3571.00,3571.00,3570.00,3570.00,267,0
+2006-01-25,12:40:00,3570.00,3571.00,3570.00,3571.00,209,0
+2006-01-25,12:41:00,3571.00,3571.00,3570.00,3570.00,626,0
+2006-01-25,12:42:00,3570.00,3571.00,3570.00,3570.00,42,0
+2006-01-25,12:43:00,3570.00,3570.00,3569.00,3569.00,234,0
+2006-01-25,12:44:00,3569.00,3569.00,3568.00,3569.00,1087,0
+2006-01-25,12:45:00,3569.00,3569.00,3568.00,3569.00,156,0
+2006-01-25,12:46:00,3568.00,3569.00,3568.00,3568.00,849,0
+2006-01-25,12:47:00,3568.00,3568.00,3567.00,3568.00,420,0
+2006-01-25,12:48:00,3567.00,3568.00,3567.00,3567.00,282,0
+2006-01-25,12:49:00,3567.00,3568.00,3567.00,3567.00,1005,0
+2006-01-25,12:50:00,3567.00,3567.00,3567.00,3567.00,442,0
+2006-01-25,12:51:00,3567.00,3568.00,3567.00,3568.00,657,0
+2006-01-25,12:52:00,3567.00,3568.00,3567.00,3568.00,1039,0
+2006-01-25,12:53:00,3567.00,3568.00,3567.00,3568.00,76,0
+2006-01-25,12:54:00,3567.00,3568.00,3567.00,3567.00,541,0
+2006-01-25,12:55:00,3568.00,3568.00,3566.00,3567.00,984,0
+2006-01-25,12:56:00,3567.00,3567.00,3566.00,3566.00,900,0
+2006-01-25,12:57:00,3566.00,3567.00,3566.00,3566.00,1121,0
+2006-01-25,12:58:00,3567.00,3567.00,3566.00,3567.00,2418,0
+2006-01-25,12:59:00,3567.00,3567.00,3566.00,3566.00,2366,0
+2006-01-25,13:00:00,3567.00,3567.00,3566.00,3567.00,580,0
+2006-01-25,13:01:00,3566.00,3567.00,3566.00,3566.00,97,0
+2006-01-25,13:02:00,3566.00,3567.00,3566.00,3566.00,389,0
+2006-01-25,13:03:00,3566.00,3567.00,3566.00,3567.00,153,0
+2006-01-25,13:04:00,3567.00,3567.00,3566.00,3566.00,283,0
+2006-01-25,13:05:00,3566.00,3567.00,3566.00,3567.00,702,0
+2006-01-25,13:06:00,3567.00,3568.00,3567.00,3568.00,8,0
+2006-01-25,13:07:00,3568.00,3568.00,3568.00,3568.00,2,0
+2006-01-25,13:08:00,3567.00,3568.00,3567.00,3568.00,10,0
+2006-01-25,13:09:00,3567.00,3568.00,3567.00,3568.00,475,0
+2006-01-25,13:10:00,3568.00,3568.00,3567.00,3568.00,1200,0
+2006-01-25,13:11:00,3569.00,3569.00,3568.00,3568.00,1494,0
+2006-01-25,13:12:00,3568.00,3569.00,3568.00,3569.00,81,0
+2006-01-25,13:13:00,3569.00,3569.00,3568.00,3568.00,3,0
+2006-01-25,13:14:00,3569.00,3569.00,3568.00,3569.00,26,0
+2006-01-25,13:15:00,3569.00,3570.00,3569.00,3570.00,775,0
+2006-01-25,13:16:00,3570.00,3570.00,3569.00,3570.00,408,0
+2006-01-25,13:17:00,3570.00,3571.00,3570.00,3570.00,801,0
+2006-01-25,13:18:00,3570.00,3571.00,3570.00,3571.00,128,0
+2006-01-25,13:19:00,3570.00,3571.00,3570.00,3571.00,140,0
+2006-01-25,13:20:00,3571.00,3572.00,3571.00,3572.00,1475,0
+2006-01-25,13:21:00,3572.00,3573.00,3572.00,3572.00,1042,0
+2006-01-25,13:22:00,3573.00,3573.00,3572.00,3573.00,1731,0
+2006-01-25,13:23:00,3572.00,3573.00,3572.00,3573.00,774,0
+2006-01-25,13:24:00,3572.00,3572.00,3572.00,3572.00,169,0
+2006-01-25,13:25:00,3572.00,3573.00,3571.00,3572.00,708,0
+2006-01-25,13:26:00,3572.00,3572.00,3572.00,3572.00,371,0
+2006-01-25,13:27:00,3572.00,3572.00,3572.00,3572.00,197,0
+2006-01-25,13:28:00,3572.00,3572.00,3572.00,3572.00,206,0
+2006-01-25,13:29:00,3572.00,3572.00,3572.00,3572.00,1,0
+2006-01-25,13:30:00,3573.00,3573.00,3572.00,3572.00,56,0
+2006-01-25,13:31:00,3573.00,3573.00,3572.00,3573.00,28,0
+2006-01-25,13:32:00,3572.00,3573.00,3572.00,3572.00,116,0
+2006-01-25,13:33:00,3573.00,3574.00,3573.00,3573.00,664,0
+2006-01-25,13:34:00,3573.00,3573.00,3572.00,3573.00,133,0
+2006-01-25,13:35:00,3573.00,3575.00,3573.00,3574.00,1105,0
+2006-01-25,13:36:00,3574.00,3575.00,3573.00,3574.00,508,0
+2006-01-25,13:37:00,3573.00,3574.00,3572.00,3574.00,1821,0
+2006-01-25,13:38:00,3574.00,3574.00,3573.00,3573.00,366,0
+2006-01-25,13:39:00,3573.00,3573.00,3573.00,3573.00,205,0
+2006-01-25,13:40:00,3573.00,3574.00,3573.00,3573.00,331,0
+2006-01-25,13:41:00,3573.00,3574.00,3573.00,3573.00,106,0
+2006-01-25,13:42:00,3573.00,3573.00,3573.00,3573.00,38,0
+2006-01-25,13:43:00,3574.00,3574.00,3574.00,3574.00,171,0
+2006-01-25,13:44:00,3574.00,3575.00,3574.00,3574.00,639,0
+2006-01-25,13:45:00,3574.00,3576.00,3574.00,3576.00,984,0
+2006-01-25,13:46:00,3576.00,3576.00,3575.00,3575.00,1975,0
+2006-01-25,13:47:00,3575.00,3576.00,3574.00,3574.00,1157,0
+2006-01-25,13:48:00,3574.00,3574.00,3574.00,3574.00,95,0
+2006-01-25,13:49:00,3574.00,3575.00,3574.00,3574.00,382,0
+2006-01-25,13:50:00,3574.00,3574.00,3573.00,3573.00,464,0
+2006-01-25,13:51:00,3574.00,3574.00,3572.00,3573.00,1236,0
+2006-01-25,13:52:00,3573.00,3573.00,3572.00,3572.00,65,0
+2006-01-25,13:53:00,3573.00,3573.00,3572.00,3572.00,338,0
+2006-01-25,13:54:00,3572.00,3572.00,3572.00,3572.00,357,0
+2006-01-25,13:55:00,3572.00,3572.00,3572.00,3572.00,61,0
+2006-01-25,13:56:00,3572.00,3572.00,3571.00,3572.00,404,0
+2006-01-25,13:57:00,3572.00,3572.00,3571.00,3571.00,1281,0
+2006-01-25,13:58:00,3570.00,3571.00,3570.00,3570.00,834,0
+2006-01-25,13:59:00,3571.00,3571.00,3570.00,3570.00,1168,0
+2006-01-25,14:00:00,3571.00,3571.00,3570.00,3571.00,71,0
+2006-01-25,14:01:00,3570.00,3571.00,3570.00,3571.00,393,0
+2006-01-25,14:02:00,3571.00,3572.00,3571.00,3572.00,17,0
+2006-01-25,14:03:00,3571.00,3571.00,3571.00,3571.00,3,0
+2006-01-25,14:04:00,3572.00,3572.00,3571.00,3571.00,59,0
+2006-01-25,14:05:00,3572.00,3572.00,3571.00,3571.00,81,0
+2006-01-25,14:06:00,3572.00,3572.00,3571.00,3572.00,190,0
+2006-01-25,14:07:00,3572.00,3572.00,3571.00,3571.00,3,0
+2006-01-25,14:08:00,3571.00,3572.00,3571.00,3571.00,56,0
+2006-01-25,14:09:00,3572.00,3574.00,3572.00,3573.00,687,0
+2006-01-25,14:10:00,3573.00,3574.00,3573.00,3574.00,287,0
+2006-01-25,14:11:00,3573.00,3574.00,3572.00,3572.00,964,0
+2006-01-25,14:12:00,3573.00,3573.00,3572.00,3573.00,176,0
+2006-01-25,14:13:00,3573.00,3573.00,3573.00,3573.00,64,0
+2006-01-25,14:14:00,3572.00,3573.00,3572.00,3572.00,229,0
+2006-01-25,14:15:00,3573.00,3573.00,3572.00,3573.00,264,0
+2006-01-25,14:16:00,3573.00,3573.00,3572.00,3572.00,418,0
+2006-01-25,14:17:00,3572.00,3572.00,3572.00,3572.00,248,0
+2006-01-25,14:18:00,3572.00,3572.00,3571.00,3572.00,43,0
+2006-01-25,14:19:00,3572.00,3572.00,3572.00,3572.00,130,0
+2006-01-25,14:20:00,3572.00,3572.00,3572.00,3572.00,24,0
+2006-01-25,14:21:00,3573.00,3573.00,3572.00,3572.00,226,0
+2006-01-25,14:22:00,3573.00,3573.00,3572.00,3573.00,301,0
+2006-01-25,14:23:00,3572.00,3573.00,3572.00,3572.00,557,0
+2006-01-25,14:24:00,3571.00,3572.00,3571.00,3572.00,562,0
+2006-01-25,14:25:00,3571.00,3572.00,3571.00,3572.00,117,0
+2006-01-25,14:26:00,3571.00,3572.00,3571.00,3572.00,100,0
+2006-01-25,14:27:00,3573.00,3573.00,3572.00,3572.00,659,0
+2006-01-25,14:28:00,3573.00,3574.00,3572.00,3573.00,356,0
+2006-01-25,14:29:00,3573.00,3573.00,3573.00,3573.00,333,0
+2006-01-25,14:30:00,3573.00,3573.00,3572.00,3573.00,229,0
+2006-01-25,14:31:00,3574.00,3574.00,3573.00,3574.00,239,0
+2006-01-25,14:32:00,3573.00,3574.00,3573.00,3574.00,294,0
+2006-01-25,14:33:00,3574.00,3574.00,3572.00,3573.00,983,0
+2006-01-25,14:34:00,3573.00,3574.00,3573.00,3573.00,87,0
+2006-01-25,14:35:00,3573.00,3574.00,3573.00,3574.00,132,0
+2006-01-25,14:36:00,3573.00,3573.00,3573.00,3573.00,121,0
+2006-01-25,14:37:00,3572.00,3573.00,3572.00,3572.00,133,0
+2006-01-25,14:38:00,3572.00,3572.00,3571.00,3571.00,498,0
+2006-01-25,14:39:00,3571.00,3571.00,3570.00,3571.00,491,0
+2006-01-25,14:40:00,3571.00,3572.00,3571.00,3571.00,8,0
+2006-01-25,14:41:00,3572.00,3573.00,3572.00,3573.00,497,0
+2006-01-25,14:42:00,3572.00,3573.00,3572.00,3573.00,366,0
+2006-01-25,14:43:00,3573.00,3574.00,3573.00,3573.00,3880,0
+2006-01-25,14:44:00,3573.00,3573.00,3572.00,3573.00,460,0
+2006-01-25,14:45:00,3573.00,3574.00,3573.00,3573.00,272,0
+2006-01-25,14:46:00,3573.00,3573.00,3572.00,3572.00,312,0
+2006-01-25,14:47:00,3572.00,3572.00,3571.00,3571.00,791,0
+2006-01-25,14:48:00,3572.00,3572.00,3572.00,3572.00,225,0
+2006-01-25,14:49:00,3573.00,3573.00,3572.00,3573.00,434,0
+2006-01-25,14:50:00,3572.00,3572.00,3572.00,3572.00,2005,0
+2006-01-25,14:51:00,3572.00,3572.00,3572.00,3572.00,471,0
+2006-01-25,14:52:00,3573.00,3573.00,3572.00,3573.00,113,0
+2006-01-25,14:53:00,3573.00,3574.00,3572.00,3574.00,300,0
+2006-01-25,14:54:00,3574.00,3574.00,3573.00,3574.00,595,0
+2006-01-25,14:55:00,3574.00,3575.00,3573.00,3575.00,502,0
+2006-01-25,14:56:00,3574.00,3575.00,3573.00,3574.00,491,0
+2006-01-25,14:57:00,3574.00,3574.00,3574.00,3574.00,8,0
+2006-01-25,14:58:00,3574.00,3575.00,3573.00,3575.00,331,0
+2006-01-25,14:59:00,3574.00,3574.00,3574.00,3574.00,20,0
+2006-01-25,15:00:00,3575.00,3575.00,3574.00,3575.00,364,0
+2006-01-25,15:01:00,3575.00,3576.00,3575.00,3575.00,525,0
+2006-01-25,15:02:00,3575.00,3576.00,3575.00,3575.00,401,0
+2006-01-25,15:03:00,3574.00,3575.00,3574.00,3575.00,370,0
+2006-01-25,15:04:00,3574.00,3574.00,3574.00,3574.00,125,0
+2006-01-25,15:05:00,3575.00,3575.00,3575.00,3575.00,1,0
+2006-01-25,15:06:00,3574.00,3575.00,3573.00,3573.00,993,0
+2006-01-25,15:07:00,3574.00,3574.00,3573.00,3573.00,78,0
+2006-01-25,15:08:00,3574.00,3574.00,3573.00,3573.00,260,0
+2006-01-25,15:09:00,3574.00,3574.00,3573.00,3574.00,426,0
+2006-01-25,15:10:00,3574.00,3575.00,3574.00,3575.00,1060,0
+2006-01-25,15:11:00,3575.00,3575.00,3575.00,3575.00,1329,0
+2006-01-25,15:12:00,3574.00,3575.00,3574.00,3574.00,504,0
+2006-01-25,15:13:00,3574.00,3575.00,3573.00,3574.00,1305,0
+2006-01-25,15:14:00,3574.00,3574.00,3573.00,3574.00,1262,0
+2006-01-25,15:15:00,3574.00,3575.00,3574.00,3574.00,168,0
+2006-01-25,15:16:00,3574.00,3574.00,3574.00,3574.00,853,0
+2006-01-25,15:17:00,3574.00,3575.00,3573.00,3573.00,315,0
+2006-01-25,15:18:00,3574.00,3574.00,3573.00,3573.00,190,0
+2006-01-25,15:19:00,3574.00,3574.00,3573.00,3573.00,145,0
+2006-01-25,15:20:00,3573.00,3573.00,3573.00,3573.00,127,0
+2006-01-25,15:21:00,3573.00,3573.00,3573.00,3573.00,223,0
+2006-01-25,15:22:00,3574.00,3574.00,3574.00,3574.00,289,0
+2006-01-25,15:23:00,3573.00,3574.00,3573.00,3573.00,46,0
+2006-01-25,15:24:00,3574.00,3575.00,3573.00,3575.00,1556,0
+2006-01-25,15:25:00,3575.00,3575.00,3574.00,3574.00,323,0
+2006-01-25,15:26:00,3575.00,3575.00,3574.00,3574.00,78,0
+2006-01-25,15:27:00,3574.00,3575.00,3574.00,3575.00,331,0
+2006-01-25,15:28:00,3576.00,3576.00,3575.00,3576.00,51,0
+2006-01-25,15:29:00,3575.00,3578.00,3575.00,3577.00,2907,0
+2006-01-25,15:30:00,3577.00,3577.00,3576.00,3576.00,700,0
+2006-01-25,15:31:00,3577.00,3578.00,3577.00,3577.00,1368,0
+2006-01-25,15:32:00,3578.00,3578.00,3576.00,3577.00,1571,0
+2006-01-25,15:33:00,3577.00,3577.00,3576.00,3577.00,429,0
+2006-01-25,15:34:00,3576.00,3577.00,3575.00,3576.00,1287,0
+2006-01-25,15:35:00,3575.00,3577.00,3575.00,3576.00,396,0
+2006-01-25,15:36:00,3576.00,3576.00,3575.00,3575.00,1142,0
+2006-01-25,15:37:00,3575.00,3576.00,3574.00,3575.00,1376,0
+2006-01-25,15:38:00,3575.00,3575.00,3573.00,3574.00,2121,0
+2006-01-25,15:39:00,3574.00,3575.00,3573.00,3573.00,804,0
+2006-01-25,15:40:00,3574.00,3575.00,3573.00,3573.00,753,0
+2006-01-25,15:41:00,3573.00,3574.00,3573.00,3573.00,1344,0
+2006-01-25,15:42:00,3573.00,3574.00,3572.00,3573.00,916,0
+2006-01-25,15:43:00,3572.00,3573.00,3572.00,3572.00,2131,0
+2006-01-25,15:44:00,3573.00,3574.00,3571.00,3572.00,4172,0
+2006-01-25,15:45:00,3572.00,3573.00,3571.00,3571.00,1415,0
+2006-01-25,15:46:00,3572.00,3572.00,3571.00,3571.00,634,0
+2006-01-25,15:47:00,3571.00,3572.00,3570.00,3570.00,1489,0
+2006-01-25,15:48:00,3571.00,3571.00,3570.00,3570.00,1479,0
+2006-01-25,15:49:00,3571.00,3573.00,3571.00,3573.00,1308,0
+2006-01-25,15:50:00,3573.00,3575.00,3573.00,3574.00,1790,0
+2006-01-25,15:51:00,3574.00,3575.00,3573.00,3574.00,984,0
+2006-01-25,15:52:00,3574.00,3574.00,3573.00,3574.00,493,0
+2006-01-25,15:53:00,3574.00,3575.00,3573.00,3575.00,1115,0
+2006-01-25,15:54:00,3575.00,3576.00,3574.00,3574.00,2265,0
+2006-01-25,15:55:00,3575.00,3577.00,3574.00,3576.00,2185,0
+2006-01-25,15:56:00,3577.00,3577.00,3575.00,3575.00,1764,0
+2006-01-25,15:57:00,3575.00,3576.00,3575.00,3576.00,507,0
+2006-01-25,15:58:00,3576.00,3576.00,3574.00,3574.00,639,0
+2006-01-25,15:59:00,3574.00,3575.00,3574.00,3574.00,936,0
+2006-01-25,16:00:00,3573.00,3575.00,3573.00,3574.00,934,0
+2006-01-25,16:01:00,3574.00,3575.00,3573.00,3574.00,551,0
+2006-01-25,16:02:00,3573.00,3576.00,3573.00,3575.00,858,0
+2006-01-25,16:03:00,3576.00,3579.00,3576.00,3577.00,4168,0
+2006-01-25,16:04:00,3578.00,3581.00,3577.00,3580.00,3898,0
+2006-01-25,16:05:00,3580.00,3582.00,3580.00,3580.00,5481,0
+2006-01-25,16:06:00,3580.00,3581.00,3579.00,3579.00,2997,0
+2006-01-25,16:07:00,3579.00,3580.00,3577.00,3577.00,3661,0
+2006-01-25,16:08:00,3577.00,3579.00,3577.00,3578.00,1967,0
+2006-01-25,16:09:00,3578.00,3578.00,3575.00,3575.00,2758,0
+2006-01-25,16:10:00,3575.00,3576.00,3572.00,3572.00,4109,0
+2006-01-25,16:11:00,3573.00,3574.00,3571.00,3572.00,2186,0
+2006-01-25,16:12:00,3572.00,3572.00,3571.00,3572.00,2595,0
+2006-01-25,16:13:00,3572.00,3572.00,3569.00,3569.00,4441,0
+2006-01-25,16:14:00,3569.00,3571.00,3569.00,3571.00,4581,0
+2006-01-25,16:15:00,3570.00,3572.00,3570.00,3572.00,3759,0
+2006-01-25,16:16:00,3571.00,3572.00,3570.00,3571.00,1849,0
+2006-01-25,16:17:00,3570.00,3572.00,3570.00,3572.00,1901,0
+2006-01-25,16:18:00,3572.00,3573.00,3572.00,3573.00,1857,0
+2006-01-25,16:19:00,3573.00,3573.00,3571.00,3571.00,1290,0
+2006-01-25,16:20:00,3572.00,3572.00,3571.00,3572.00,1062,0
+2006-01-25,16:21:00,3571.00,3571.00,3571.00,3571.00,1136,0
+2006-01-25,16:22:00,3571.00,3572.00,3569.00,3569.00,1617,0
+2006-01-25,16:23:00,3569.00,3570.00,3565.00,3565.00,5027,0
+2006-01-25,16:24:00,3565.00,3565.00,3563.00,3564.00,5344,0
+2006-01-25,16:25:00,3565.00,3565.00,3561.00,3562.00,3906,0
+2006-01-25,16:26:00,3562.00,3563.00,3561.00,3563.00,4278,0
+2006-01-25,16:27:00,3563.00,3564.00,3562.00,3563.00,2917,0
+2006-01-25,16:28:00,3563.00,3565.00,3562.00,3563.00,3550,0
+2006-01-25,16:29:00,3563.00,3564.00,3562.00,3564.00,2228,0
+2006-01-25,16:30:00,3564.00,3566.00,3564.00,3565.00,1621,0
+2006-01-25,16:31:00,3566.00,3566.00,3563.00,3564.00,2543,0
+2006-01-25,16:32:00,3564.00,3564.00,3562.00,3562.00,1227,0
+2006-01-25,16:33:00,3562.00,3565.00,3562.00,3563.00,1768,0
+2006-01-25,16:34:00,3563.00,3563.00,3562.00,3562.00,1040,0
+2006-01-25,16:35:00,3561.00,3562.00,3556.00,3556.00,8611,0
+2006-01-25,16:36:00,3557.00,3560.00,3556.00,3559.00,2491,0
+2006-01-25,16:37:00,3560.00,3562.00,3559.00,3560.00,2461,0
+2006-01-25,16:38:00,3559.00,3561.00,3559.00,3560.00,1844,0
+2006-01-25,16:39:00,3560.00,3563.00,3560.00,3562.00,2854,0
+2006-01-25,16:40:00,3563.00,3564.00,3562.00,3563.00,4875,0
+2006-01-25,16:41:00,3563.00,3563.00,3561.00,3561.00,910,0
+2006-01-25,16:42:00,3561.00,3563.00,3561.00,3563.00,1003,0
+2006-01-25,16:43:00,3563.00,3563.00,3561.00,3562.00,2553,0
+2006-01-25,16:44:00,3562.00,3564.00,3562.00,3564.00,1836,0
+2006-01-25,16:45:00,3563.00,3564.00,3562.00,3564.00,776,0
+2006-01-25,16:46:00,3563.00,3563.00,3561.00,3562.00,1515,0
+2006-01-25,16:47:00,3562.00,3562.00,3561.00,3562.00,1316,0
+2006-01-25,16:48:00,3563.00,3565.00,3563.00,3565.00,1894,0
+2006-01-25,16:49:00,3565.00,3569.00,3565.00,3568.00,3857,0
+2006-01-25,16:50:00,3568.00,3569.00,3566.00,3567.00,3074,0
+2006-01-25,16:51:00,3567.00,3569.00,3567.00,3568.00,1306,0
+2006-01-25,16:52:00,3568.00,3571.00,3568.00,3571.00,4535,0
+2006-01-25,16:53:00,3571.00,3572.00,3571.00,3572.00,3368,0
+2006-01-25,16:54:00,3571.00,3572.00,3570.00,3570.00,1886,0
+2006-01-25,16:55:00,3570.00,3571.00,3569.00,3569.00,1870,0
+2006-01-25,16:56:00,3569.00,3570.00,3568.00,3569.00,2340,0
+2006-01-25,16:57:00,3569.00,3570.00,3568.00,3569.00,1182,0
+2006-01-25,16:58:00,3569.00,3569.00,3567.00,3569.00,1703,0
+2006-01-25,16:59:00,3569.00,3569.00,3567.00,3568.00,1354,0
+2006-01-25,17:00:00,3567.00,3570.00,3567.00,3570.00,1327,0
+2006-01-25,17:01:00,3569.00,3571.00,3569.00,3570.00,1566,0
+2006-01-25,17:02:00,3570.00,3575.00,3570.00,3575.00,5537,0
+2006-01-25,17:03:00,3575.00,3577.00,3574.00,3575.00,3870,0
+2006-01-25,17:04:00,3574.00,3576.00,3574.00,3574.00,1570,0
+2006-01-25,17:05:00,3574.00,3576.00,3573.00,3576.00,2364,0
+2006-01-25,17:06:00,3575.00,3575.00,3573.00,3573.00,1194,0
+2006-01-25,17:07:00,3573.00,3575.00,3573.00,3574.00,1918,0
+2006-01-25,17:08:00,3574.00,3574.00,3572.00,3572.00,1704,0
+2006-01-25,17:09:00,3573.00,3573.00,3572.00,3572.00,1713,0
+2006-01-25,17:10:00,3572.00,3573.00,3572.00,3572.00,948,0
+2006-01-25,17:11:00,3573.00,3574.00,3572.00,3572.00,799,0
+2006-01-25,17:12:00,3572.00,3574.00,3572.00,3573.00,818,0
+2006-01-25,17:13:00,3573.00,3574.00,3572.00,3573.00,978,0
+2006-01-25,17:14:00,3574.00,3574.00,3572.00,3573.00,1446,0
+2006-01-25,17:15:00,3573.00,3574.00,3572.00,3573.00,1357,0
+2006-01-25,17:16:00,3574.00,3575.00,3572.00,3574.00,795,0
+2006-01-25,17:17:00,3575.00,3577.00,3574.00,3577.00,2486,0
+2006-01-25,17:18:00,3577.00,3579.00,3577.00,3577.00,2305,0
+2006-01-25,17:19:00,3578.00,3580.00,3577.00,3579.00,1598,0
+2006-01-25,17:20:00,3580.00,3582.00,3580.00,3581.00,3600,0
+2006-01-25,17:21:00,3582.00,3583.00,3581.00,3583.00,4662,0
+2006-01-25,17:22:00,3582.00,3584.00,3582.00,3583.00,3413,0
+2006-01-25,17:23:00,3583.00,3585.00,3581.00,3581.00,4887,0
+2006-01-25,17:24:00,3582.00,3582.00,3580.00,3580.00,2650,0
+2006-01-25,17:25:00,3580.00,3582.00,3580.00,3580.00,2214,0
+2006-01-25,17:26:00,3580.00,3582.00,3580.00,3581.00,2635,0
+2006-01-25,17:27:00,3580.00,3582.00,3580.00,3582.00,2198,0
+2006-01-25,17:28:00,3582.00,3584.00,3581.00,3583.00,3407,0
+2006-01-25,17:29:00,3584.00,3584.00,3582.00,3582.00,2208,0
+2006-01-25,17:30:00,3583.00,3587.00,3582.00,3587.00,6361,0
+2006-01-25,17:31:00,3587.00,3591.00,3586.00,3591.00,8140,0
+2006-01-25,17:32:00,3590.00,3590.00,3587.00,3588.00,5806,0
+2006-01-25,17:33:00,3588.00,3589.00,3587.00,3588.00,3549,0
+2006-01-25,17:34:00,3588.00,3588.00,3585.00,3586.00,4552,0
+2006-01-25,17:35:00,3585.00,3587.00,3585.00,3585.00,2030,0
+2006-01-25,17:36:00,3586.00,3587.00,3585.00,3586.00,1365,0
+2006-01-25,17:37:00,3586.00,3589.00,3586.00,3589.00,3067,0
+2006-01-25,17:38:00,3589.00,3590.00,3585.00,3585.00,4134,0
+2006-01-25,17:39:00,3586.00,3587.00,3585.00,3585.00,1977,0
+2006-01-25,17:40:00,3585.00,3586.00,3584.00,3584.00,1825,0
+2006-01-25,17:41:00,3584.00,3586.00,3584.00,3586.00,1237,0
+2006-01-25,17:42:00,3586.00,3586.00,3583.00,3584.00,1777,0
+2006-01-25,17:43:00,3583.00,3585.00,3583.00,3585.00,1731,0
+2006-01-25,17:44:00,3584.00,3586.00,3584.00,3585.00,730,0
+2006-01-25,17:45:00,3585.00,3585.00,3585.00,3585.00,479,0
+2006-01-25,17:46:00,3584.00,3585.00,3584.00,3584.00,2157,0
+2006-01-25,17:47:00,3585.00,3585.00,3583.00,3584.00,1508,0
+2006-01-25,17:48:00,3585.00,3586.00,3584.00,3585.00,955,0
+2006-01-25,17:49:00,3584.00,3584.00,3582.00,3582.00,1398,0
+2006-01-25,17:50:00,3583.00,3583.00,3582.00,3583.00,937,0
+2006-01-25,17:51:00,3583.00,3583.00,3579.00,3580.00,2796,0
+2006-01-25,17:52:00,3580.00,3581.00,3578.00,3578.00,2711,0
+2006-01-25,17:53:00,3579.00,3580.00,3578.00,3579.00,1657,0
+2006-01-25,17:54:00,3580.00,3581.00,3579.00,3581.00,1330,0
+2006-01-25,17:55:00,3582.00,3583.00,3581.00,3582.00,1079,0
+2006-01-25,17:56:00,3581.00,3582.00,3579.00,3580.00,1724,0
+2006-01-25,17:57:00,3580.00,3582.00,3579.00,3582.00,1253,0
+2006-01-25,17:58:00,3583.00,3584.00,3582.00,3583.00,561,0
+2006-01-25,17:59:00,3584.00,3584.00,3582.00,3582.00,787,0
+2006-01-25,18:00:00,3583.00,3585.00,3582.00,3584.00,634,0
+2006-01-25,18:01:00,3584.00,3584.00,3582.00,3583.00,767,0
+2006-01-25,18:02:00,3583.00,3584.00,3583.00,3584.00,395,0
+2006-01-25,18:03:00,3584.00,3585.00,3584.00,3584.00,591,0
+2006-01-25,18:04:00,3584.00,3585.00,3583.00,3584.00,646,0
+2006-01-25,18:05:00,3584.00,3585.00,3583.00,3584.00,281,0
+2006-01-25,18:06:00,3584.00,3586.00,3584.00,3584.00,356,0
+2006-01-25,18:07:00,3584.00,3586.00,3583.00,3583.00,687,0
+2006-01-25,18:08:00,3584.00,3584.00,3581.00,3583.00,1020,0
+2006-01-25,18:09:00,3583.00,3584.00,3582.00,3584.00,538,0
+2006-01-25,18:10:00,3585.00,3585.00,3584.00,3585.00,467,0
+2006-01-25,18:11:00,3585.00,3586.00,3584.00,3584.00,288,0
+2006-01-25,18:12:00,3585.00,3585.00,3582.00,3583.00,925,0
+2006-01-25,18:13:00,3582.00,3583.00,3582.00,3583.00,347,0
+2006-01-25,18:14:00,3583.00,3583.00,3582.00,3583.00,552,0
+2006-01-25,18:15:00,3582.00,3583.00,3581.00,3581.00,3793,0
+2006-01-25,18:16:00,3581.00,3581.00,3579.00,3581.00,1651,0
+2006-01-25,18:17:00,3581.00,3581.00,3579.00,3580.00,1353,0
+2006-01-25,18:18:00,3580.00,3580.00,3579.00,3579.00,157,0
+2006-01-25,18:19:00,3580.00,3582.00,3580.00,3581.00,476,0
+2006-01-25,18:20:00,3581.00,3581.00,3579.00,3580.00,557,0
+2006-01-25,18:21:00,3580.00,3581.00,3579.00,3580.00,576,0
+2006-01-25,18:22:00,3580.00,3582.00,3579.00,3582.00,222,0
+2006-01-25,18:23:00,3581.00,3581.00,3580.00,3581.00,567,0
+2006-01-25,18:24:00,3581.00,3581.00,3580.00,3581.00,2849,0
+2006-01-25,18:25:00,3581.00,3581.00,3579.00,3579.00,594,0
+2006-01-25,18:26:00,3579.00,3579.00,3577.00,3577.00,1730,0
+2006-01-25,18:27:00,3577.00,3579.00,3575.00,3576.00,1878,0
+2006-01-25,18:28:00,3576.00,3577.00,3575.00,3575.00,2236,0
+2006-01-25,18:29:00,3575.00,3577.00,3575.00,3576.00,1580,0
+2006-01-25,18:30:00,3576.00,3577.00,3576.00,3577.00,835,0
+2006-01-25,18:31:00,3578.00,3583.00,3578.00,3582.00,1415,0
+2006-01-25,18:32:00,3582.00,3583.00,3580.00,3581.00,1628,0
+2006-01-25,18:33:00,3581.00,3583.00,3581.00,3582.00,823,0
+2006-01-25,18:34:00,3582.00,3583.00,3581.00,3583.00,1280,0
+2006-01-25,18:35:00,3583.00,3585.00,3583.00,3585.00,406,0
+2006-01-25,18:36:00,3584.00,3585.00,3582.00,3583.00,507,0
+2006-01-25,18:37:00,3583.00,3584.00,3582.00,3583.00,379,0
+2006-01-25,18:38:00,3583.00,3584.00,3582.00,3582.00,959,0
+2006-01-25,18:39:00,3582.00,3582.00,3581.00,3582.00,288,0
+2006-01-25,18:40:00,3582.00,3584.00,3582.00,3584.00,167,0
+2006-01-25,18:41:00,3583.00,3584.00,3583.00,3583.00,444,0
+2006-01-25,18:42:00,3583.00,3583.00,3582.00,3582.00,214,0
+2006-01-25,18:43:00,3583.00,3583.00,3583.00,3583.00,356,0
+2006-01-25,18:44:00,3582.00,3585.00,3582.00,3584.00,301,0
+2006-01-25,18:45:00,3584.00,3585.00,3584.00,3584.00,137,0
+2006-01-25,18:46:00,3584.00,3588.00,3584.00,3587.00,1255,0
+2006-01-25,18:47:00,3587.00,3587.00,3585.00,3587.00,962,0
+2006-01-25,18:48:00,3586.00,3586.00,3584.00,3585.00,131,0
+2006-01-25,18:49:00,3585.00,3585.00,3585.00,3585.00,163,0
+2006-01-25,18:50:00,3585.00,3585.00,3584.00,3584.00,30,0
+2006-01-25,18:51:00,3584.00,3585.00,3582.00,3583.00,444,0
+2006-01-25,18:52:00,3583.00,3584.00,3583.00,3584.00,140,0
+2006-01-25,18:53:00,3583.00,3585.00,3583.00,3584.00,254,0
+2006-01-25,18:54:00,3583.00,3585.00,3583.00,3585.00,136,0
+2006-01-25,18:55:00,3584.00,3585.00,3584.00,3585.00,176,0
+2006-01-25,18:56:00,3585.00,3586.00,3584.00,3584.00,299,0
+2006-01-25,18:57:00,3585.00,3585.00,3583.00,3583.00,93,0
+2006-01-25,18:58:00,3584.00,3585.00,3583.00,3585.00,215,0
+2006-01-25,18:59:00,3585.00,3587.00,3585.00,3587.00,714,0
+2006-01-25,19:00:00,3587.00,3588.00,3586.00,3588.00,989,0
+2006-01-25,19:01:00,3588.00,3589.00,3588.00,3588.00,277,0
+2006-01-25,19:02:00,3588.00,3589.00,3587.00,3587.00,271,0
+2006-01-25,19:03:00,3587.00,3588.00,3586.00,3586.00,257,0
+2006-01-25,19:04:00,3587.00,3588.00,3587.00,3587.00,382,0
+2006-01-25,19:05:00,3587.00,3588.00,3586.00,3587.00,471,0
+2006-01-25,19:06:00,3587.00,3587.00,3587.00,3587.00,111,0
+2006-01-25,19:07:00,3587.00,3589.00,3587.00,3587.00,536,0
+2006-01-25,19:08:00,3588.00,3590.00,3587.00,3590.00,789,0
+2006-01-25,19:09:00,3590.00,3591.00,3589.00,3589.00,1944,0
+2006-01-25,19:10:00,3589.00,3589.00,3588.00,3588.00,281,0
+2006-01-25,19:11:00,3589.00,3589.00,3589.00,3589.00,75,0
+2006-01-25,19:12:00,3589.00,3589.00,3587.00,3587.00,678,0
+2006-01-25,19:13:00,3587.00,3587.00,3586.00,3586.00,392,0
+2006-01-25,19:14:00,3586.00,3587.00,3586.00,3587.00,218,0
+2006-01-25,19:15:00,3586.00,3587.00,3586.00,3586.00,12,0
+2006-01-25,19:16:00,3587.00,3588.00,3586.00,3587.00,98,0
+2006-01-25,19:17:00,3587.00,3588.00,3587.00,3588.00,40,0
+2006-01-25,19:18:00,3587.00,3588.00,3586.00,3587.00,1121,0
+2006-01-25,19:19:00,3587.00,3588.00,3586.00,3588.00,362,0
+2006-01-25,19:20:00,3587.00,3588.00,3587.00,3587.00,204,0
+2006-01-25,19:21:00,3587.00,3590.00,3586.00,3589.00,886,0
+2006-01-25,19:22:00,3589.00,3590.00,3588.00,3588.00,311,0
+2006-01-25,19:23:00,3588.00,3589.00,3586.00,3586.00,558,0
+2006-01-25,19:24:00,3586.00,3586.00,3586.00,3586.00,3,0
+2006-01-25,19:25:00,3586.00,3587.00,3585.00,3586.00,549,0
+2006-01-25,19:26:00,3586.00,3587.00,3585.00,3586.00,245,0
+2006-01-25,19:27:00,3586.00,3588.00,3585.00,3587.00,556,0
+2006-01-25,19:28:00,3586.00,3587.00,3585.00,3586.00,294,0
+2006-01-25,19:29:00,3587.00,3587.00,3586.00,3586.00,218,0
+2006-01-25,19:30:00,3587.00,3588.00,3587.00,3587.00,197,0
+2006-01-25,19:31:00,3588.00,3588.00,3586.00,3587.00,90,0
+2006-01-25,19:32:00,3586.00,3587.00,3586.00,3587.00,68,0
+2006-01-25,19:33:00,3587.00,3587.00,3586.00,3586.00,62,0
+2006-01-25,19:34:00,3587.00,3587.00,3587.00,3587.00,304,0
+2006-01-25,19:35:00,3587.00,3587.00,3586.00,3587.00,114,0
+2006-01-25,19:36:00,3586.00,3588.00,3586.00,3587.00,347,0
+2006-01-25,19:37:00,3587.00,3588.00,3587.00,3587.00,301,0
+2006-01-25,19:38:00,3588.00,3588.00,3587.00,3587.00,33,0
+2006-01-25,19:39:00,3587.00,3588.00,3587.00,3587.00,79,0
+2006-01-25,19:40:00,3588.00,3588.00,3586.00,3587.00,683,0
+2006-01-25,19:41:00,3587.00,3588.00,3586.00,3588.00,255,0
+2006-01-25,19:42:00,3588.00,3588.00,3588.00,3588.00,105,0
+2006-01-25,19:43:00,3588.00,3589.00,3588.00,3588.00,154,0
+2006-01-25,19:44:00,3588.00,3588.00,3588.00,3588.00,114,0
+2006-01-25,19:45:00,3588.00,3588.00,3587.00,3587.00,142,0
+2006-01-25,19:46:00,3586.00,3587.00,3586.00,3586.00,184,0
+2006-01-25,19:47:00,3586.00,3587.00,3585.00,3585.00,347,0
+2006-01-25,19:48:00,3585.00,3586.00,3585.00,3585.00,185,0
+2006-01-25,19:49:00,3585.00,3586.00,3584.00,3585.00,814,0
+2006-01-25,19:50:00,3585.00,3586.00,3583.00,3583.00,654,0
+2006-01-25,19:51:00,3583.00,3584.00,3583.00,3584.00,582,0
+2006-01-25,19:52:00,3585.00,3585.00,3582.00,3582.00,243,0
+2006-01-25,19:53:00,3583.00,3583.00,3582.00,3583.00,855,0
+2006-01-25,19:54:00,3582.00,3582.00,3581.00,3581.00,265,0
+2006-01-25,19:55:00,3583.00,3583.00,3581.00,3582.00,433,0
+2006-01-25,19:56:00,3583.00,3584.00,3582.00,3583.00,303,0
+2006-01-25,19:57:00,3582.00,3583.00,3582.00,3582.00,212,0
+2006-01-25,19:58:00,3583.00,3583.00,3582.00,3583.00,62,0
+2006-01-25,19:59:00,3582.00,3583.00,3581.00,3581.00,145,0
+2006-01-25,20:00:00,3582.00,3582.00,3581.00,3582.00,146,0
+2006-01-25,20:01:00,3581.00,3582.00,3579.00,3579.00,498,0
+2006-01-25,20:02:00,3579.00,3582.00,3579.00,3582.00,251,0
+2006-01-25,20:03:00,3582.00,3582.00,3579.00,3580.00,230,0
+2006-01-25,20:04:00,3580.00,3582.00,3579.00,3582.00,151,0
+2006-01-25,20:05:00,3583.00,3583.00,3581.00,3582.00,57,0
+2006-01-25,20:06:00,3581.00,3583.00,3581.00,3582.00,67,0
+2006-01-25,20:07:00,3582.00,3583.00,3581.00,3583.00,144,0
+2006-01-25,20:08:00,3584.00,3586.00,3583.00,3585.00,172,0
+2006-01-25,20:09:00,3586.00,3587.00,3585.00,3585.00,217,0
+2006-01-25,20:10:00,3586.00,3587.00,3585.00,3585.00,106,0
+2006-01-25,20:11:00,3586.00,3587.00,3586.00,3587.00,170,0
+2006-01-25,20:12:00,3587.00,3588.00,3585.00,3585.00,235,0
+2006-01-25,20:13:00,3585.00,3586.00,3585.00,3586.00,155,0
+2006-01-25,20:14:00,3586.00,3586.00,3585.00,3586.00,433,0
+2006-01-25,20:15:00,3585.00,3585.00,3584.00,3585.00,172,0
+2006-01-25,20:16:00,3585.00,3585.00,3584.00,3584.00,42,0
+2006-01-25,20:17:00,3584.00,3585.00,3584.00,3585.00,92,0
+2006-01-25,20:18:00,3585.00,3586.00,3585.00,3586.00,63,0
+2006-01-25,20:19:00,3585.00,3585.00,3585.00,3585.00,44,0
+2006-01-25,20:20:00,3585.00,3585.00,3584.00,3585.00,53,0
+2006-01-25,20:21:00,3585.00,3587.00,3585.00,3587.00,102,0
+2006-01-25,20:22:00,3588.00,3588.00,3586.00,3587.00,156,0
+2006-01-25,20:23:00,3586.00,3587.00,3586.00,3586.00,176,0
+2006-01-25,20:24:00,3587.00,3587.00,3587.00,3587.00,25,0
+2006-01-25,20:25:00,3587.00,3587.00,3587.00,3587.00,25,0
+2006-01-25,20:26:00,3587.00,3588.00,3586.00,3588.00,142,0
+2006-01-25,20:27:00,3587.00,3587.00,3584.00,3584.00,282,0
+2006-01-25,20:28:00,3585.00,3585.00,3583.00,3584.00,149,0
+2006-01-25,20:29:00,3583.00,3583.00,3581.00,3581.00,322,0
+2006-01-25,20:30:00,3582.00,3582.00,3581.00,3582.00,125,0
+2006-01-25,20:31:00,3582.00,3582.00,3581.00,3581.00,542,0
+2006-01-25,20:32:00,3581.00,3581.00,3580.00,3581.00,63,0
+2006-01-25,20:33:00,3580.00,3581.00,3580.00,3580.00,199,0
+2006-01-25,20:34:00,3580.00,3582.00,3579.00,3579.00,404,0
+2006-01-25,20:35:00,3579.00,3579.00,3578.00,3578.00,222,0
+2006-01-25,20:36:00,3578.00,3578.00,3578.00,3578.00,119,0
+2006-01-25,20:37:00,3578.00,3578.00,3577.00,3578.00,241,0
+2006-01-25,20:38:00,3579.00,3579.00,3578.00,3578.00,141,0
+2006-01-25,20:39:00,3579.00,3579.00,3578.00,3579.00,171,0
+2006-01-25,20:40:00,3579.00,3580.00,3579.00,3580.00,40,0
+2006-01-25,20:41:00,3580.00,3582.00,3580.00,3581.00,665,0
+2006-01-25,20:42:00,3581.00,3581.00,3578.00,3578.00,212,0
+2006-01-25,20:43:00,3579.00,3579.00,3577.00,3577.00,135,0
+2006-01-25,20:44:00,3578.00,3580.00,3578.00,3580.00,201,0
+2006-01-25,20:45:00,3580.00,3581.00,3579.00,3579.00,217,0
+2006-01-25,20:46:00,3579.00,3579.00,3579.00,3579.00,24,0
+2006-01-25,20:47:00,3579.00,3580.00,3579.00,3579.00,32,0
+2006-01-25,20:48:00,3580.00,3580.00,3578.00,3579.00,183,0
+2006-01-25,20:49:00,3579.00,3579.00,3578.00,3578.00,96,0
+2006-01-25,20:50:00,3578.00,3578.00,3577.00,3578.00,509,0
+2006-01-25,20:51:00,3579.00,3579.00,3577.00,3579.00,198,0
+2006-01-25,20:52:00,3580.00,3581.00,3576.00,3579.00,556,0
+2006-01-25,20:53:00,3579.00,3579.00,3578.00,3578.00,89,0
+2006-01-25,20:54:00,3577.00,3580.00,3577.00,3580.00,78,0
+2006-01-25,20:55:00,3580.00,3580.00,3579.00,3580.00,421,0
+2006-01-25,20:56:00,3580.00,3580.00,3579.00,3580.00,262,0
+2006-01-25,20:57:00,3581.00,3581.00,3580.00,3580.00,41,0
+2006-01-25,20:58:00,3580.00,3582.00,3580.00,3580.00,76,0
+2006-01-25,20:59:00,3579.00,3579.00,3578.00,3578.00,183,0
+2006-01-25,21:00:00,3577.00,3577.00,3576.00,3576.00,448,0
+2006-01-25,21:01:00,3575.00,3576.00,3574.00,3575.00,409,0
+2006-01-25,21:02:00,3576.00,3578.00,3576.00,3578.00,116,0
+2006-01-25,21:03:00,3577.00,3578.00,3577.00,3577.00,125,0
+2006-01-25,21:04:00,3577.00,3577.00,3576.00,3576.00,61,0
+2006-01-25,21:05:00,3577.00,3578.00,3576.00,3576.00,655,0
+2006-01-25,21:06:00,3576.00,3576.00,3574.00,3575.00,347,0
+2006-01-25,21:07:00,3575.00,3578.00,3575.00,3578.00,279,0
+2006-01-25,21:08:00,3576.00,3578.00,3576.00,3578.00,360,0
+2006-01-25,21:09:00,3578.00,3578.00,3577.00,3577.00,66,0
+2006-01-25,21:10:00,3577.00,3579.00,3577.00,3579.00,234,0
+2006-01-25,21:11:00,3580.00,3581.00,3579.00,3581.00,221,0
+2006-01-25,21:12:00,3580.00,3580.00,3580.00,3580.00,354,0
+2006-01-25,21:13:00,3579.00,3580.00,3579.00,3580.00,313,0
+2006-01-25,21:14:00,3581.00,3581.00,3580.00,3580.00,119,0
+2006-01-25,21:15:00,3581.00,3581.00,3581.00,3581.00,245,0
+2006-01-25,21:16:00,3581.00,3581.00,3581.00,3581.00,81,0
+2006-01-25,21:17:00,3580.00,3581.00,3580.00,3581.00,36,0
+2006-01-25,21:18:00,3581.00,3581.00,3581.00,3581.00,29,0
+2006-01-25,21:19:00,3581.00,3581.00,3580.00,3581.00,38,0
+2006-01-25,21:20:00,3581.00,3582.00,3580.00,3581.00,93,0
+2006-01-25,21:21:00,3581.00,3581.00,3581.00,3581.00,42,0
+2006-01-25,21:22:00,3581.00,3582.00,3580.00,3582.00,110,0
+2006-01-25,21:23:00,3582.00,3582.00,3582.00,3582.00,35,0
+2006-01-25,21:24:00,3582.00,3584.00,3582.00,3583.00,54,0
+2006-01-25,21:25:00,3583.00,3585.00,3583.00,3585.00,230,0
+2006-01-25,21:26:00,3585.00,3586.00,3585.00,3585.00,147,0
+2006-01-25,21:27:00,3585.00,3587.00,3585.00,3586.00,141,0
+2006-01-25,21:28:00,3586.00,3587.00,3586.00,3587.00,158,0
+2006-01-25,21:29:00,3587.00,3587.00,3584.00,3585.00,269,0
+2006-01-25,21:30:00,3585.00,3586.00,3585.00,3586.00,28,0
+2006-01-25,21:31:00,3586.00,3586.00,3585.00,3585.00,53,0
+2006-01-25,21:32:00,3585.00,3586.00,3585.00,3585.00,48,0
+2006-01-25,21:33:00,3585.00,3587.00,3585.00,3586.00,87,0
+2006-01-25,21:34:00,3586.00,3587.00,3586.00,3587.00,26,0
+2006-01-25,21:35:00,3586.00,3587.00,3586.00,3586.00,30,0
+2006-01-25,21:36:00,3587.00,3587.00,3587.00,3587.00,82,0
+2006-01-25,21:37:00,3586.00,3586.00,3585.00,3585.00,92,0
+2006-01-25,21:38:00,3586.00,3586.00,3584.00,3584.00,199,0
+2006-01-25,21:39:00,3585.00,3586.00,3585.00,3586.00,31,0
+2006-01-25,21:40:00,3585.00,3586.00,3585.00,3586.00,53,0
+2006-01-25,21:41:00,3586.00,3587.00,3586.00,3587.00,115,0
+2006-01-25,21:42:00,3587.00,3587.00,3587.00,3587.00,13,0
+2006-01-25,21:43:00,3587.00,3588.00,3587.00,3587.00,73,0
+2006-01-25,21:44:00,3587.00,3588.00,3587.00,3588.00,40,0
+2006-01-25,21:45:00,3588.00,3588.00,3588.00,3588.00,43,0
+2006-01-25,21:46:00,3588.00,3588.00,3588.00,3588.00,66,0
+2006-01-25,21:47:00,3588.00,3589.00,3587.00,3588.00,54,0
+2006-01-25,21:48:00,3589.00,3589.00,3588.00,3588.00,68,0
+2006-01-25,21:49:00,3589.00,3589.00,3589.00,3589.00,49,0
+2006-01-25,21:50:00,3588.00,3588.00,3587.00,3588.00,132,0
+2006-01-25,21:51:00,3589.00,3589.00,3589.00,3589.00,60,0
+2006-01-25,21:52:00,3590.00,3591.00,3590.00,3591.00,406,0
+2006-01-25,21:53:00,3590.00,3591.00,3590.00,3591.00,75,0
+2006-01-25,21:54:00,3590.00,3591.00,3590.00,3590.00,33,0
+2006-01-25,21:55:00,3590.00,3591.00,3589.00,3589.00,122,0
+2006-01-25,21:56:00,3589.00,3590.00,3589.00,3589.00,71,0
+2006-01-25,21:57:00,3590.00,3591.00,3589.00,3590.00,62,0
+2006-01-25,21:58:00,3591.00,3592.00,3590.00,3592.00,196,0
+2006-01-25,21:59:00,3592.00,3592.00,3590.00,3592.00,300,0
+2006-01-25,22:00:00,3591.00,3592.00,3591.00,3592.00,370,0
+2006-01-26,09:01:00,3596.00,3597.00,3594.00,3595.00,9728,0
+2006-01-26,09:02:00,3596.00,3598.00,3596.00,3598.00,2128,0
+2006-01-26,09:03:00,3597.00,3599.00,3595.00,3595.00,4075,0
+2006-01-26,09:04:00,3596.00,3596.00,3592.00,3593.00,2211,0
+2006-01-26,09:05:00,3594.00,3595.00,3593.00,3594.00,1050,0
+2006-01-26,09:06:00,3594.00,3595.00,3592.00,3593.00,2895,0
+2006-01-26,09:07:00,3593.00,3598.00,3593.00,3596.00,4814,0
+2006-01-26,09:08:00,3597.00,3598.00,3595.00,3597.00,4994,0
+2006-01-26,09:09:00,3597.00,3602.00,3597.00,3602.00,4742,0
+2006-01-26,09:10:00,3602.00,3608.00,3601.00,3607.00,9772,0
+2006-01-26,09:11:00,3606.00,3610.00,3606.00,3610.00,6869,0
+2006-01-26,09:12:00,3610.00,3613.00,3609.00,3612.00,9535,0
+2006-01-26,09:13:00,3612.00,3618.00,3612.00,3617.00,10179,0
+2006-01-26,09:14:00,3617.00,3618.00,3614.00,3614.00,4964,0
+2006-01-26,09:15:00,3614.00,3615.00,3611.00,3613.00,5352,0
+2006-01-26,09:16:00,3613.00,3615.00,3612.00,3612.00,2027,0
+2006-01-26,09:17:00,3613.00,3613.00,3611.00,3612.00,2434,0
+2006-01-26,09:18:00,3612.00,3613.00,3612.00,3613.00,2288,0
+2006-01-26,09:19:00,3613.00,3614.00,3612.00,3614.00,2320,0
+2006-01-26,09:20:00,3614.00,3615.00,3612.00,3612.00,736,0
+2006-01-26,09:21:00,3613.00,3613.00,3611.00,3613.00,3200,0
+2006-01-26,09:22:00,3612.00,3614.00,3611.00,3614.00,2083,0
+2006-01-26,09:23:00,3614.00,3615.00,3614.00,3615.00,3222,0
+2006-01-26,09:24:00,3615.00,3616.00,3612.00,3616.00,4273,0
+2006-01-26,09:25:00,3615.00,3617.00,3615.00,3615.00,1284,0
+2006-01-26,09:26:00,3615.00,3618.00,3615.00,3618.00,3843,0
+2006-01-26,09:27:00,3619.00,3619.00,3616.00,3616.00,3605,0
+2006-01-26,09:28:00,3616.00,3618.00,3615.00,3616.00,1191,0
+2006-01-26,09:29:00,3615.00,3616.00,3615.00,3616.00,1274,0
+2006-01-26,09:30:00,3616.00,3617.00,3614.00,3615.00,2058,0
+2006-01-26,09:31:00,3614.00,3616.00,3614.00,3614.00,1151,0
+2006-01-26,09:32:00,3614.00,3616.00,3614.00,3616.00,1227,0
+2006-01-26,09:33:00,3616.00,3618.00,3616.00,3617.00,1529,0
+2006-01-26,09:34:00,3618.00,3618.00,3617.00,3618.00,973,0
+2006-01-26,09:35:00,3617.00,3618.00,3616.00,3617.00,690,0
+2006-01-26,09:36:00,3617.00,3620.00,3616.00,3619.00,3747,0
+2006-01-26,09:37:00,3619.00,3620.00,3618.00,3618.00,4991,0
+2006-01-26,09:38:00,3619.00,3620.00,3618.00,3619.00,1637,0
+2006-01-26,09:39:00,3619.00,3619.00,3618.00,3618.00,768,0
+2006-01-26,09:40:00,3618.00,3619.00,3617.00,3618.00,1467,0
+2006-01-26,09:41:00,3617.00,3618.00,3616.00,3617.00,1975,0
+2006-01-26,09:42:00,3617.00,3618.00,3616.00,3616.00,783,0
+2006-01-26,09:43:00,3616.00,3616.00,3614.00,3615.00,2308,0
+2006-01-26,09:44:00,3615.00,3616.00,3614.00,3616.00,1751,0
+2006-01-26,09:45:00,3615.00,3616.00,3615.00,3616.00,851,0
+2006-01-26,09:46:00,3616.00,3616.00,3614.00,3614.00,702,0
+2006-01-26,09:47:00,3614.00,3615.00,3614.00,3614.00,237,0
+2006-01-26,09:48:00,3615.00,3615.00,3613.00,3614.00,707,0
+2006-01-26,09:49:00,3613.00,3614.00,3613.00,3614.00,92,0
+2006-01-26,09:50:00,3614.00,3614.00,3613.00,3614.00,557,0
+2006-01-26,09:51:00,3613.00,3614.00,3613.00,3613.00,765,0
+2006-01-26,09:52:00,3614.00,3614.00,3613.00,3614.00,445,0
+2006-01-26,09:53:00,3614.00,3614.00,3613.00,3614.00,249,0
+2006-01-26,09:54:00,3613.00,3615.00,3613.00,3614.00,1617,0
+2006-01-26,09:55:00,3614.00,3614.00,3613.00,3613.00,1562,0
+2006-01-26,09:56:00,3613.00,3614.00,3612.00,3613.00,981,0
+2006-01-26,09:57:00,3613.00,3613.00,3612.00,3613.00,790,0
+2006-01-26,09:58:00,3613.00,3615.00,3613.00,3614.00,971,0
+2006-01-26,09:59:00,3614.00,3616.00,3614.00,3616.00,548,0
+2006-01-26,10:00:00,3615.00,3616.00,3614.00,3614.00,1478,0
+2006-01-26,10:01:00,3615.00,3618.00,3614.00,3617.00,3154,0
+2006-01-26,10:02:00,3617.00,3618.00,3616.00,3618.00,3377,0
+2006-01-26,10:03:00,3617.00,3619.00,3617.00,3619.00,1763,0
+2006-01-26,10:04:00,3620.00,3620.00,3618.00,3620.00,1861,0
+2006-01-26,10:05:00,3620.00,3621.00,3619.00,3621.00,2159,0
+2006-01-26,10:06:00,3621.00,3621.00,3619.00,3621.00,1069,0
+2006-01-26,10:07:00,3621.00,3623.00,3620.00,3621.00,4632,0
+2006-01-26,10:08:00,3621.00,3627.00,3621.00,3627.00,7995,0
+2006-01-26,10:09:00,3627.00,3631.00,3626.00,3630.00,14268,0
+2006-01-26,10:10:00,3630.00,3631.00,3628.00,3628.00,7197,0
+2006-01-26,10:11:00,3629.00,3630.00,3627.00,3627.00,3573,0
+2006-01-26,10:12:00,3627.00,3628.00,3626.00,3627.00,1811,0
+2006-01-26,10:13:00,3627.00,3628.00,3626.00,3628.00,1074,0
+2006-01-26,10:14:00,3627.00,3628.00,3626.00,3626.00,1844,0
+2006-01-26,10:15:00,3627.00,3627.00,3626.00,3626.00,588,0
+2006-01-26,10:16:00,3626.00,3628.00,3626.00,3627.00,1507,0
+2006-01-26,10:17:00,3627.00,3628.00,3627.00,3627.00,1322,0
+2006-01-26,10:18:00,3628.00,3629.00,3628.00,3628.00,1605,0
+2006-01-26,10:19:00,3628.00,3629.00,3627.00,3627.00,1956,0
+2006-01-26,10:20:00,3627.00,3628.00,3626.00,3628.00,1013,0
+2006-01-26,10:21:00,3628.00,3629.00,3627.00,3628.00,1091,0
+2006-01-26,10:22:00,3628.00,3629.00,3627.00,3628.00,3815,0
+2006-01-26,10:23:00,3629.00,3632.00,3628.00,3632.00,2913,0
+2006-01-26,10:24:00,3631.00,3632.00,3630.00,3631.00,2408,0
+2006-01-26,10:25:00,3631.00,3634.00,3631.00,3634.00,4794,0
+2006-01-26,10:26:00,3634.00,3635.00,3633.00,3633.00,2161,0
+2006-01-26,10:27:00,3633.00,3635.00,3633.00,3635.00,2609,0
+2006-01-26,10:28:00,3635.00,3638.00,3635.00,3636.00,6266,0
+2006-01-26,10:29:00,3636.00,3641.00,3635.00,3640.00,10067,0
+2006-01-26,10:30:00,3640.00,3644.00,3639.00,3640.00,9815,0
+2006-01-26,10:31:00,3640.00,3640.00,3636.00,3636.00,4766,0
+2006-01-26,10:32:00,3637.00,3638.00,3635.00,3637.00,3397,0
+2006-01-26,10:33:00,3636.00,3637.00,3635.00,3636.00,1358,0
+2006-01-26,10:34:00,3635.00,3637.00,3635.00,3637.00,1415,0
+2006-01-26,10:35:00,3636.00,3638.00,3635.00,3636.00,2687,0
+2006-01-26,10:36:00,3636.00,3637.00,3635.00,3636.00,1237,0
+2006-01-26,10:37:00,3636.00,3636.00,3634.00,3634.00,2393,0
+2006-01-26,10:38:00,3634.00,3635.00,3633.00,3633.00,1241,0
+2006-01-26,10:39:00,3634.00,3635.00,3634.00,3634.00,2311,0
+2006-01-26,10:40:00,3635.00,3635.00,3634.00,3634.00,273,0
+2006-01-26,10:41:00,3634.00,3634.00,3633.00,3634.00,647,0
+2006-01-26,10:42:00,3634.00,3634.00,3633.00,3633.00,693,0
+2006-01-26,10:43:00,3633.00,3634.00,3632.00,3633.00,1192,0
+2006-01-26,10:44:00,3633.00,3636.00,3633.00,3634.00,2897,0
+2006-01-26,10:45:00,3635.00,3636.00,3635.00,3636.00,1561,0
+2006-01-26,10:46:00,3636.00,3641.00,3635.00,3641.00,4348,0
+2006-01-26,10:47:00,3641.00,3646.00,3641.00,3645.00,8315,0
+2006-01-26,10:48:00,3645.00,3646.00,3644.00,3645.00,5120,0
+2006-01-26,10:49:00,3645.00,3645.00,3641.00,3642.00,2994,0
+2006-01-26,10:50:00,3642.00,3642.00,3640.00,3640.00,1644,0
+2006-01-26,10:51:00,3640.00,3641.00,3638.00,3639.00,3131,0
+2006-01-26,10:52:00,3638.00,3639.00,3638.00,3639.00,1211,0
+2006-01-26,10:53:00,3638.00,3639.00,3638.00,3639.00,773,0
+2006-01-26,10:54:00,3639.00,3639.00,3638.00,3638.00,424,0
+2006-01-26,10:55:00,3638.00,3639.00,3638.00,3638.00,578,0
+2006-01-26,10:56:00,3638.00,3638.00,3637.00,3638.00,1355,0
+2006-01-26,10:57:00,3638.00,3638.00,3636.00,3637.00,1621,0
+2006-01-26,10:58:00,3637.00,3637.00,3635.00,3635.00,2957,0
+2006-01-26,10:59:00,3634.00,3635.00,3633.00,3634.00,1857,0
+2006-01-26,11:00:00,3634.00,3634.00,3632.00,3633.00,1648,0
+2006-01-26,11:01:00,3633.00,3635.00,3633.00,3635.00,1471,0
+2006-01-26,11:02:00,3636.00,3639.00,3634.00,3637.00,2353,0
+2006-01-26,11:03:00,3636.00,3642.00,3636.00,3639.00,6706,0
+2006-01-26,11:04:00,3639.00,3640.00,3638.00,3638.00,2255,0
+2006-01-26,11:05:00,3638.00,3640.00,3636.00,3638.00,1887,0
+2006-01-26,11:06:00,3638.00,3641.00,3637.00,3638.00,3525,0
+2006-01-26,11:07:00,3638.00,3639.00,3629.00,3631.00,12910,0
+2006-01-26,11:08:00,3631.00,3631.00,3625.00,3629.00,10884,0
+2006-01-26,11:09:00,3629.00,3635.00,3628.00,3635.00,4479,0
+2006-01-26,11:10:00,3635.00,3638.00,3633.00,3634.00,7038,0
+2006-01-26,11:11:00,3634.00,3635.00,3631.00,3632.00,3290,0
+2006-01-26,11:12:00,3632.00,3633.00,3630.00,3632.00,2647,0
+2006-01-26,11:13:00,3632.00,3635.00,3631.00,3634.00,5074,0
+2006-01-26,11:14:00,3634.00,3635.00,3631.00,3633.00,2022,0
+2006-01-26,11:15:00,3633.00,3633.00,3628.00,3629.00,5383,0
+2006-01-26,11:16:00,3629.00,3631.00,3627.00,3630.00,4279,0
+2006-01-26,11:17:00,3631.00,3632.00,3629.00,3630.00,1695,0
+2006-01-26,11:18:00,3629.00,3633.00,3629.00,3633.00,1782,0
+2006-01-26,11:19:00,3633.00,3634.00,3631.00,3632.00,1181,0
+2006-01-26,11:20:00,3632.00,3633.00,3631.00,3633.00,847,0
+2006-01-26,11:21:00,3632.00,3634.00,3632.00,3633.00,718,0
+2006-01-26,11:22:00,3634.00,3634.00,3633.00,3633.00,787,0
+2006-01-26,11:23:00,3633.00,3634.00,3632.00,3633.00,2031,0
+2006-01-26,11:24:00,3632.00,3633.00,3631.00,3633.00,1074,0
+2006-01-26,11:25:00,3632.00,3632.00,3632.00,3632.00,471,0
+2006-01-26,11:26:00,3631.00,3631.00,3630.00,3631.00,1032,0
+2006-01-26,11:27:00,3631.00,3633.00,3631.00,3632.00,423,0
+2006-01-26,11:28:00,3632.00,3632.00,3632.00,3632.00,91,0
+2006-01-26,11:29:00,3632.00,3634.00,3632.00,3632.00,389,0
+2006-01-26,11:30:00,3633.00,3633.00,3632.00,3632.00,510,0
+2006-01-26,11:31:00,3632.00,3633.00,3631.00,3631.00,1400,0
+2006-01-26,11:32:00,3631.00,3631.00,3629.00,3630.00,1308,0
+2006-01-26,11:33:00,3630.00,3630.00,3628.00,3628.00,1416,0
+2006-01-26,11:34:00,3628.00,3629.00,3627.00,3628.00,816,0
+2006-01-26,11:35:00,3629.00,3629.00,3627.00,3627.00,671,0
+2006-01-26,11:36:00,3627.00,3629.00,3627.00,3628.00,623,0
+2006-01-26,11:37:00,3628.00,3629.00,3628.00,3628.00,465,0
+2006-01-26,11:38:00,3628.00,3629.00,3628.00,3629.00,393,0
+2006-01-26,11:39:00,3629.00,3630.00,3629.00,3629.00,261,0
+2006-01-26,11:40:00,3629.00,3630.00,3629.00,3630.00,573,0
+2006-01-26,11:41:00,3630.00,3632.00,3630.00,3632.00,1135,0
+2006-01-26,11:42:00,3631.00,3634.00,3631.00,3633.00,1503,0
+2006-01-26,11:43:00,3633.00,3636.00,3633.00,3636.00,2428,0
+2006-01-26,11:44:00,3636.00,3639.00,3635.00,3639.00,2575,0
+2006-01-26,11:45:00,3638.00,3639.00,3637.00,3637.00,1154,0
+2006-01-26,11:46:00,3637.00,3638.00,3637.00,3637.00,722,0
+2006-01-26,11:47:00,3637.00,3639.00,3637.00,3638.00,4694,0
+2006-01-26,11:48:00,3638.00,3639.00,3636.00,3636.00,523,0
+2006-01-26,11:49:00,3637.00,3637.00,3636.00,3637.00,417,0
+2006-01-26,11:50:00,3637.00,3638.00,3637.00,3638.00,753,0
+2006-01-26,11:51:00,3637.00,3638.00,3637.00,3638.00,341,0
+2006-01-26,11:52:00,3638.00,3640.00,3638.00,3639.00,814,0
+2006-01-26,11:53:00,3639.00,3641.00,3639.00,3641.00,3305,0
+2006-01-26,11:54:00,3641.00,3644.00,3640.00,3644.00,5172,0
+2006-01-26,11:55:00,3644.00,3644.00,3641.00,3641.00,3748,0
+2006-01-26,11:56:00,3642.00,3642.00,3639.00,3639.00,1865,0
+2006-01-26,11:57:00,3639.00,3640.00,3637.00,3638.00,1635,0
+2006-01-26,11:58:00,3638.00,3638.00,3637.00,3638.00,948,0
+2006-01-26,11:59:00,3638.00,3638.00,3637.00,3638.00,519,0
+2006-01-26,12:00:00,3638.00,3639.00,3638.00,3639.00,958,0
+2006-01-26,12:01:00,3639.00,3639.00,3636.00,3636.00,486,0
+2006-01-26,12:02:00,3636.00,3637.00,3634.00,3634.00,2101,0
+2006-01-26,12:03:00,3634.00,3634.00,3632.00,3633.00,4332,0
+2006-01-26,12:04:00,3634.00,3635.00,3633.00,3633.00,1560,0
+2006-01-26,12:05:00,3633.00,3633.00,3631.00,3631.00,1925,0
+2006-01-26,12:06:00,3632.00,3633.00,3631.00,3632.00,954,0
+2006-01-26,12:07:00,3631.00,3632.00,3630.00,3631.00,565,0
+2006-01-26,12:08:00,3631.00,3632.00,3630.00,3631.00,641,0
+2006-01-26,12:09:00,3631.00,3632.00,3630.00,3630.00,748,0
+2006-01-26,12:10:00,3630.00,3633.00,3630.00,3632.00,1595,0
+2006-01-26,12:11:00,3632.00,3634.00,3632.00,3633.00,429,0
+2006-01-26,12:12:00,3634.00,3635.00,3632.00,3632.00,1952,0
+2006-01-26,12:13:00,3633.00,3636.00,3631.00,3636.00,1714,0
+2006-01-26,12:14:00,3635.00,3635.00,3633.00,3634.00,878,0
+2006-01-26,12:15:00,3633.00,3634.00,3633.00,3634.00,554,0
+2006-01-26,12:16:00,3633.00,3634.00,3631.00,3632.00,383,0
+2006-01-26,12:17:00,3632.00,3633.00,3631.00,3631.00,164,0
+2006-01-26,12:18:00,3631.00,3632.00,3631.00,3632.00,1140,0
+2006-01-26,12:19:00,3631.00,3632.00,3631.00,3632.00,52,0
+2006-01-26,12:20:00,3632.00,3632.00,3631.00,3631.00,829,0
+2006-01-26,12:21:00,3632.00,3632.00,3630.00,3631.00,1361,0
+2006-01-26,12:22:00,3631.00,3631.00,3629.00,3630.00,1269,0
+2006-01-26,12:23:00,3629.00,3630.00,3629.00,3629.00,28,0
+2006-01-26,12:24:00,3630.00,3630.00,3629.00,3629.00,3538,0
+2006-01-26,12:25:00,3629.00,3630.00,3629.00,3630.00,731,0
+2006-01-26,12:26:00,3630.00,3630.00,3628.00,3629.00,1577,0
+2006-01-26,12:27:00,3629.00,3630.00,3628.00,3629.00,1072,0
+2006-01-26,12:28:00,3630.00,3631.00,3628.00,3629.00,2033,0
+2006-01-26,12:29:00,3629.00,3631.00,3628.00,3630.00,465,0
+2006-01-26,12:30:00,3630.00,3631.00,3630.00,3631.00,141,0
+2006-01-26,12:31:00,3631.00,3633.00,3631.00,3632.00,1107,0
+2006-01-26,12:32:00,3632.00,3632.00,3630.00,3630.00,716,0
+2006-01-26,12:33:00,3631.00,3631.00,3629.00,3631.00,758,0
+2006-01-26,12:34:00,3631.00,3632.00,3630.00,3631.00,543,0
+2006-01-26,12:35:00,3632.00,3632.00,3631.00,3631.00,40,0
+2006-01-26,12:36:00,3632.00,3632.00,3631.00,3632.00,434,0
+2006-01-26,12:37:00,3631.00,3632.00,3631.00,3631.00,34,0
+2006-01-26,12:38:00,3632.00,3632.00,3630.00,3630.00,580,0
+2006-01-26,12:39:00,3631.00,3631.00,3630.00,3630.00,529,0
+2006-01-26,12:40:00,3630.00,3630.00,3629.00,3630.00,165,0
+2006-01-26,12:41:00,3630.00,3630.00,3629.00,3630.00,354,0
+2006-01-26,12:42:00,3629.00,3632.00,3629.00,3632.00,902,0
+2006-01-26,12:43:00,3631.00,3632.00,3631.00,3632.00,163,0
+2006-01-26,12:44:00,3631.00,3632.00,3631.00,3631.00,92,0
+2006-01-26,12:45:00,3632.00,3633.00,3631.00,3633.00,332,0
+2006-01-26,12:46:00,3632.00,3633.00,3632.00,3633.00,49,0
+2006-01-26,12:47:00,3632.00,3633.00,3632.00,3633.00,966,0
+2006-01-26,12:48:00,3633.00,3634.00,3633.00,3634.00,416,0
+2006-01-26,12:49:00,3633.00,3634.00,3632.00,3633.00,430,0
+2006-01-26,12:50:00,3633.00,3634.00,3632.00,3634.00,187,0
+2006-01-26,12:51:00,3634.00,3635.00,3633.00,3634.00,494,0
+2006-01-26,12:52:00,3634.00,3636.00,3633.00,3636.00,895,0
+2006-01-26,12:53:00,3636.00,3636.00,3635.00,3635.00,149,0
+2006-01-26,12:54:00,3635.00,3635.00,3633.00,3634.00,96,0
+2006-01-26,12:55:00,3634.00,3634.00,3633.00,3634.00,5,0
+2006-01-26,12:56:00,3633.00,3634.00,3633.00,3634.00,100,0
+2006-01-26,12:57:00,3634.00,3634.00,3633.00,3633.00,43,0
+2006-01-26,12:58:00,3633.00,3633.00,3631.00,3632.00,945,0
+2006-01-26,12:59:00,3633.00,3633.00,3632.00,3633.00,216,0
+2006-01-26,13:00:00,3632.00,3633.00,3632.00,3633.00,51,0
+2006-01-26,13:01:00,3633.00,3634.00,3631.00,3633.00,1093,0
+2006-01-26,13:02:00,3633.00,3634.00,3632.00,3633.00,912,0
+2006-01-26,13:03:00,3633.00,3633.00,3631.00,3631.00,313,0
+2006-01-26,13:04:00,3632.00,3632.00,3630.00,3631.00,696,0
+2006-01-26,13:05:00,3631.00,3631.00,3630.00,3631.00,215,0
+2006-01-26,13:06:00,3631.00,3631.00,3630.00,3630.00,297,0
+2006-01-26,13:07:00,3631.00,3631.00,3630.00,3631.00,293,0
+2006-01-26,13:08:00,3630.00,3631.00,3630.00,3630.00,92,0
+2006-01-26,13:09:00,3630.00,3631.00,3629.00,3630.00,672,0
+2006-01-26,13:10:00,3630.00,3631.00,3629.00,3630.00,742,0
+2006-01-26,13:11:00,3630.00,3631.00,3629.00,3631.00,148,0
+2006-01-26,13:12:00,3630.00,3632.00,3630.00,3632.00,376,0
+2006-01-26,13:13:00,3632.00,3633.00,3632.00,3633.00,554,0
+2006-01-26,13:14:00,3632.00,3633.00,3632.00,3633.00,6,0
+2006-01-26,13:15:00,3632.00,3633.00,3632.00,3632.00,969,0
+2006-01-26,13:16:00,3632.00,3633.00,3631.00,3632.00,169,0
+2006-01-26,13:17:00,3631.00,3632.00,3631.00,3631.00,87,0
+2006-01-26,13:18:00,3631.00,3632.00,3630.00,3631.00,665,0
+2006-01-26,13:19:00,3630.00,3632.00,3630.00,3632.00,172,0
+2006-01-26,13:20:00,3631.00,3632.00,3631.00,3632.00,80,0
+2006-01-26,13:21:00,3631.00,3632.00,3630.00,3630.00,102,0
+2006-01-26,13:22:00,3631.00,3632.00,3631.00,3632.00,38,0
+2006-01-26,13:23:00,3631.00,3632.00,3631.00,3632.00,72,0
+2006-01-26,13:24:00,3631.00,3631.00,3631.00,3631.00,47,0
+2006-01-26,13:25:00,3632.00,3632.00,3631.00,3632.00,24,0
+2006-01-26,13:26:00,3631.00,3632.00,3631.00,3631.00,535,0
+2006-01-26,13:27:00,3632.00,3633.00,3632.00,3633.00,1823,0
+2006-01-26,13:28:00,3633.00,3633.00,3632.00,3633.00,84,0
+2006-01-26,13:29:00,3633.00,3633.00,3633.00,3633.00,412,0
+2006-01-26,13:30:00,3633.00,3633.00,3632.00,3632.00,365,0
+2006-01-26,13:31:00,3633.00,3634.00,3633.00,3633.00,282,0
+2006-01-26,13:32:00,3632.00,3634.00,3632.00,3634.00,463,0
+2006-01-26,13:33:00,3633.00,3635.00,3633.00,3634.00,597,0
+2006-01-26,13:34:00,3634.00,3636.00,3634.00,3636.00,911,0
+2006-01-26,13:35:00,3635.00,3636.00,3635.00,3636.00,306,0
+2006-01-26,13:36:00,3636.00,3636.00,3635.00,3636.00,54,0
+2006-01-26,13:37:00,3635.00,3636.00,3634.00,3634.00,610,0
+2006-01-26,13:38:00,3635.00,3635.00,3634.00,3635.00,425,0
+2006-01-26,13:39:00,3635.00,3635.00,3635.00,3635.00,43,0
+2006-01-26,13:40:00,3634.00,3636.00,3634.00,3636.00,666,0
+2006-01-26,13:41:00,3635.00,3636.00,3635.00,3636.00,72,0
+2006-01-26,13:42:00,3635.00,3636.00,3635.00,3636.00,211,0
+2006-01-26,13:43:00,3635.00,3637.00,3635.00,3635.00,908,0
+2006-01-26,13:44:00,3636.00,3636.00,3635.00,3636.00,110,0
+2006-01-26,13:45:00,3635.00,3636.00,3635.00,3636.00,40,0
+2006-01-26,13:46:00,3635.00,3636.00,3635.00,3636.00,166,0
+2006-01-26,13:47:00,3635.00,3637.00,3635.00,3637.00,402,0
+2006-01-26,13:48:00,3637.00,3638.00,3637.00,3638.00,1557,0
+2006-01-26,13:49:00,3638.00,3638.00,3636.00,3636.00,661,0
+2006-01-26,13:50:00,3637.00,3637.00,3636.00,3636.00,153,0
+2006-01-26,13:51:00,3637.00,3637.00,3635.00,3635.00,364,0
+2006-01-26,13:52:00,3635.00,3635.00,3634.00,3634.00,970,0
+2006-01-26,13:53:00,3634.00,3634.00,3634.00,3634.00,2,0
+2006-01-26,13:54:00,3634.00,3635.00,3634.00,3635.00,25,0
+2006-01-26,13:55:00,3634.00,3635.00,3634.00,3635.00,2,0
+2006-01-26,13:56:00,3635.00,3635.00,3634.00,3634.00,13,0
+2006-01-26,13:57:00,3634.00,3635.00,3634.00,3634.00,1113,0
+2006-01-26,13:58:00,3634.00,3634.00,3634.00,3634.00,918,0
+2006-01-26,13:59:00,3633.00,3635.00,3633.00,3635.00,300,0
+2006-01-26,14:00:00,3634.00,3635.00,3634.00,3635.00,18,0
+2006-01-26,14:01:00,3634.00,3636.00,3632.00,3633.00,2968,0
+2006-01-26,14:02:00,3633.00,3633.00,3631.00,3632.00,749,0
+2006-01-26,14:03:00,3632.00,3634.00,3632.00,3632.00,1252,0
+2006-01-26,14:04:00,3632.00,3633.00,3631.00,3633.00,376,0
+2006-01-26,14:05:00,3632.00,3633.00,3631.00,3632.00,421,0
+2006-01-26,14:06:00,3632.00,3633.00,3631.00,3633.00,675,0
+2006-01-26,14:08:00,3632.00,3633.00,3631.00,3633.00,725,0
+2006-01-26,14:09:00,3632.00,3634.00,3632.00,3634.00,710,0
+2006-01-26,14:10:00,3633.00,3634.00,3633.00,3633.00,448,0
+2006-01-26,14:11:00,3634.00,3635.00,3633.00,3635.00,722,0
+2006-01-26,14:12:00,3634.00,3635.00,3634.00,3634.00,126,0
+2006-01-26,14:13:00,3635.00,3636.00,3634.00,3636.00,760,0
+2006-01-26,14:14:00,3636.00,3636.00,3635.00,3636.00,312,0
+2006-01-26,14:15:00,3635.00,3636.00,3635.00,3635.00,31,0
+2006-01-26,14:16:00,3634.00,3634.00,3634.00,3634.00,332,0
+2006-01-26,14:17:00,3634.00,3634.00,3633.00,3633.00,35,0
+2006-01-26,14:18:00,3634.00,3634.00,3633.00,3633.00,92,0
+2006-01-26,14:19:00,3634.00,3634.00,3633.00,3634.00,343,0
+2006-01-26,14:20:00,3633.00,3635.00,3633.00,3635.00,947,0
+2006-01-26,14:21:00,3634.00,3635.00,3634.00,3635.00,705,0
+2006-01-26,14:22:00,3635.00,3636.00,3635.00,3636.00,533,0
+2006-01-26,14:23:00,3636.00,3637.00,3636.00,3637.00,1823,0
+2006-01-26,14:24:00,3636.00,3637.00,3636.00,3636.00,312,0
+2006-01-26,14:25:00,3635.00,3636.00,3634.00,3634.00,529,0
+2006-01-26,14:26:00,3634.00,3635.00,3633.00,3635.00,557,0
+2006-01-26,14:27:00,3634.00,3634.00,3633.00,3634.00,326,0
+2006-01-26,14:28:00,3634.00,3634.00,3633.00,3633.00,348,0
+2006-01-26,14:29:00,3634.00,3634.00,3633.00,3634.00,137,0
+2006-01-26,14:30:00,3633.00,3634.00,3633.00,3633.00,369,0
+2006-01-26,14:31:00,3633.00,3637.00,3633.00,3636.00,3391,0
+2006-01-26,14:32:00,3636.00,3638.00,3636.00,3637.00,2144,0
+2006-01-26,14:33:00,3638.00,3638.00,3635.00,3635.00,1449,0
+2006-01-26,14:34:00,3636.00,3636.00,3633.00,3633.00,1690,0
+2006-01-26,14:35:00,3633.00,3634.00,3632.00,3633.00,1211,0
+2006-01-26,14:36:00,3632.00,3633.00,3631.00,3631.00,884,0
+2006-01-26,14:37:00,3631.00,3634.00,3631.00,3633.00,429,0
+2006-01-26,14:38:00,3632.00,3633.00,3631.00,3631.00,660,0
+2006-01-26,14:39:00,3631.00,3632.00,3629.00,3630.00,1726,0
+2006-01-26,14:40:00,3630.00,3632.00,3630.00,3631.00,1080,0
+2006-01-26,14:41:00,3632.00,3632.00,3630.00,3631.00,1333,0
+2006-01-26,14:42:00,3631.00,3632.00,3630.00,3631.00,1214,0
+2006-01-26,14:43:00,3630.00,3632.00,3630.00,3631.00,560,0
+2006-01-26,14:44:00,3632.00,3633.00,3632.00,3632.00,250,0
+2006-01-26,14:45:00,3633.00,3633.00,3631.00,3633.00,196,0
+2006-01-26,14:46:00,3632.00,3633.00,3631.00,3631.00,180,0
+2006-01-26,14:47:00,3631.00,3632.00,3630.00,3632.00,355,0
+2006-01-26,14:48:00,3631.00,3632.00,3631.00,3631.00,39,0
+2006-01-26,14:49:00,3631.00,3632.00,3630.00,3631.00,243,0
+2006-01-26,14:50:00,3630.00,3631.00,3629.00,3629.00,522,0
+2006-01-26,14:51:00,3630.00,3630.00,3628.00,3629.00,1790,0
+2006-01-26,14:52:00,3628.00,3629.00,3627.00,3628.00,441,0
+2006-01-26,14:53:00,3628.00,3630.00,3628.00,3630.00,461,0
+2006-01-26,14:54:00,3630.00,3630.00,3628.00,3628.00,411,0
+2006-01-26,14:55:00,3629.00,3629.00,3627.00,3628.00,447,0
+2006-01-26,14:56:00,3627.00,3628.00,3627.00,3627.00,722,0
+2006-01-26,14:57:00,3628.00,3628.00,3626.00,3627.00,1305,0
+2006-01-26,14:58:00,3627.00,3630.00,3627.00,3630.00,1470,0
+2006-01-26,14:59:00,3629.00,3630.00,3629.00,3630.00,326,0
+2006-01-26,15:00:00,3630.00,3632.00,3630.00,3632.00,491,0
+2006-01-26,15:01:00,3631.00,3632.00,3630.00,3631.00,520,0
+2006-01-26,15:02:00,3632.00,3633.00,3631.00,3633.00,823,0
+2006-01-26,15:03:00,3632.00,3633.00,3631.00,3631.00,191,0
+2006-01-26,15:04:00,3631.00,3631.00,3629.00,3629.00,617,0
+2006-01-26,15:05:00,3630.00,3630.00,3628.00,3629.00,978,0
+2006-01-26,15:06:00,3630.00,3630.00,3628.00,3628.00,2218,0
+2006-01-26,15:07:00,3628.00,3631.00,3628.00,3631.00,1376,0
+2006-01-26,15:08:00,3630.00,3631.00,3629.00,3629.00,1477,0
+2006-01-26,15:09:00,3629.00,3630.00,3629.00,3630.00,1193,0
+2006-01-26,15:10:00,3629.00,3630.00,3629.00,3629.00,110,0
+2006-01-26,15:11:00,3630.00,3631.00,3629.00,3631.00,637,0
+2006-01-26,15:12:00,3631.00,3631.00,3630.00,3631.00,200,0
+2006-01-26,15:13:00,3630.00,3631.00,3629.00,3629.00,1066,0
+2006-01-26,15:14:00,3630.00,3630.00,3629.00,3629.00,127,0
+2006-01-26,15:15:00,3630.00,3631.00,3629.00,3631.00,1074,0
+2006-01-26,15:16:00,3630.00,3631.00,3630.00,3630.00,44,0
+2006-01-26,15:17:00,3630.00,3631.00,3628.00,3628.00,1912,0
+2006-01-26,15:18:00,3628.00,3630.00,3628.00,3630.00,459,0
+2006-01-26,15:19:00,3630.00,3630.00,3629.00,3629.00,2969,0
+2006-01-26,15:20:00,3630.00,3630.00,3629.00,3629.00,95,0
+2006-01-26,15:21:00,3629.00,3630.00,3629.00,3630.00,199,0
+2006-01-26,15:22:00,3630.00,3630.00,3629.00,3629.00,301,0
+2006-01-26,15:23:00,3630.00,3630.00,3628.00,3628.00,603,0
+2006-01-26,15:24:00,3628.00,3629.00,3628.00,3628.00,555,0
+2006-01-26,15:25:00,3629.00,3629.00,3628.00,3628.00,373,0
+2006-01-26,15:26:00,3628.00,3629.00,3628.00,3629.00,182,0
+2006-01-26,15:27:00,3628.00,3629.00,3628.00,3628.00,252,0
+2006-01-26,15:28:00,3628.00,3629.00,3628.00,3628.00,373,0
+2006-01-26,15:29:00,3629.00,3630.00,3629.00,3630.00,466,0
+2006-01-26,15:30:00,3629.00,3630.00,3629.00,3630.00,58,0
+2006-01-26,15:31:00,3629.00,3631.00,3629.00,3631.00,1673,0
+2006-01-26,15:32:00,3631.00,3632.00,3630.00,3631.00,518,0
+2006-01-26,15:33:00,3631.00,3631.00,3630.00,3631.00,257,0
+2006-01-26,15:34:00,3631.00,3631.00,3629.00,3630.00,807,0
+2006-01-26,15:35:00,3630.00,3631.00,3629.00,3631.00,1017,0
+2006-01-26,15:36:00,3631.00,3632.00,3630.00,3631.00,611,0
+2006-01-26,15:37:00,3631.00,3633.00,3631.00,3633.00,649,0
+2006-01-26,15:38:00,3632.00,3634.00,3632.00,3634.00,1143,0
+2006-01-26,15:39:00,3633.00,3634.00,3632.00,3633.00,1545,0
+2006-01-26,15:40:00,3633.00,3634.00,3631.00,3632.00,1527,0
+2006-01-26,15:41:00,3631.00,3632.00,3630.00,3630.00,762,0
+2006-01-26,15:42:00,3630.00,3631.00,3629.00,3630.00,3128,0
+2006-01-26,15:43:00,3629.00,3631.00,3628.00,3630.00,1476,0
+2006-01-26,15:44:00,3630.00,3632.00,3630.00,3632.00,1146,0
+2006-01-26,15:45:00,3631.00,3632.00,3629.00,3630.00,1182,0
+2006-01-26,15:46:00,3630.00,3631.00,3628.00,3630.00,1300,0
+2006-01-26,15:47:00,3629.00,3630.00,3629.00,3629.00,1508,0
+2006-01-26,15:48:00,3629.00,3631.00,3628.00,3629.00,1979,0
+2006-01-26,15:49:00,3628.00,3630.00,3628.00,3628.00,496,0
+2006-01-26,15:50:00,3628.00,3629.00,3627.00,3627.00,2179,0
+2006-01-26,15:51:00,3628.00,3629.00,3626.00,3628.00,2375,0
+2006-01-26,15:52:00,3629.00,3629.00,3628.00,3629.00,259,0
+2006-01-26,15:53:00,3629.00,3632.00,3628.00,3632.00,2465,0
+2006-01-26,15:54:00,3631.00,3634.00,3631.00,3634.00,2779,0
+2006-01-26,15:55:00,3635.00,3635.00,3633.00,3634.00,1960,0
+2006-01-26,15:56:00,3633.00,3634.00,3632.00,3633.00,1021,0
+2006-01-26,15:57:00,3633.00,3634.00,3631.00,3631.00,616,0
+2006-01-26,15:58:00,3631.00,3633.00,3631.00,3632.00,892,0
+2006-01-26,15:59:00,3632.00,3633.00,3631.00,3631.00,1125,0
+2006-01-26,16:00:00,3631.00,3631.00,3628.00,3629.00,1597,0
+2006-01-26,16:01:00,3629.00,3630.00,3628.00,3629.00,996,0
+2006-01-26,16:02:00,3628.00,3629.00,3628.00,3628.00,1029,0
+2006-01-26,16:03:00,3628.00,3629.00,3628.00,3628.00,1161,0
+2006-01-26,16:04:00,3628.00,3630.00,3627.00,3629.00,3004,0
+2006-01-26,16:05:00,3629.00,3631.00,3629.00,3630.00,1722,0
+2006-01-26,16:06:00,3631.00,3631.00,3628.00,3628.00,1145,0
+2006-01-26,16:07:00,3629.00,3632.00,3628.00,3632.00,1302,0
+2006-01-26,16:08:00,3632.00,3633.00,3631.00,3633.00,1521,0
+2006-01-26,16:09:00,3632.00,3637.00,3632.00,3637.00,4418,0
+2006-01-26,16:10:00,3637.00,3639.00,3636.00,3638.00,3087,0
+2006-01-26,16:11:00,3638.00,3640.00,3636.00,3636.00,4011,0
+2006-01-26,16:12:00,3637.00,3638.00,3636.00,3638.00,1005,0
+2006-01-26,16:13:00,3637.00,3638.00,3635.00,3635.00,1596,0
+2006-01-26,16:14:00,3635.00,3637.00,3635.00,3637.00,1642,0
+2006-01-26,16:15:00,3637.00,3637.00,3635.00,3635.00,1795,0
+2006-01-26,16:16:00,3636.00,3637.00,3635.00,3635.00,1434,0
+2006-01-26,16:17:00,3636.00,3636.00,3633.00,3633.00,2071,0
+2006-01-26,16:18:00,3634.00,3634.00,3631.00,3633.00,4128,0
+2006-01-26,16:19:00,3632.00,3633.00,3631.00,3633.00,1135,0
+2006-01-26,16:20:00,3633.00,3633.00,3631.00,3632.00,1677,0
+2006-01-26,16:21:00,3632.00,3634.00,3631.00,3631.00,887,0
+2006-01-26,16:22:00,3632.00,3633.00,3628.00,3628.00,4212,0
+2006-01-26,16:23:00,3628.00,3631.00,3628.00,3631.00,1924,0
+2006-01-26,16:24:00,3632.00,3634.00,3631.00,3632.00,1654,0
+2006-01-26,16:25:00,3633.00,3633.00,3632.00,3633.00,2129,0
+2006-01-26,16:26:00,3632.00,3634.00,3631.00,3631.00,1179,0
+2006-01-26,16:27:00,3632.00,3632.00,3630.00,3632.00,1825,0
+2006-01-26,16:28:00,3631.00,3633.00,3631.00,3632.00,1051,0
+2006-01-26,16:29:00,3633.00,3633.00,3630.00,3631.00,1132,0
+2006-01-26,16:30:00,3631.00,3632.00,3630.00,3631.00,2872,0
+2006-01-26,16:31:00,3631.00,3633.00,3630.00,3633.00,3121,0
+2006-01-26,16:32:00,3633.00,3634.00,3631.00,3633.00,1785,0
+2006-01-26,16:33:00,3633.00,3636.00,3633.00,3635.00,3095,0
+2006-01-26,16:34:00,3635.00,3638.00,3634.00,3634.00,2889,0
+2006-01-26,16:35:00,3634.00,3635.00,3632.00,3632.00,2421,0
+2006-01-26,16:36:00,3632.00,3633.00,3631.00,3632.00,3333,0
+2006-01-26,16:37:00,3632.00,3632.00,3629.00,3629.00,2422,0
+2006-01-26,16:38:00,3629.00,3630.00,3628.00,3628.00,3612,0
+2006-01-26,16:39:00,3628.00,3628.00,3625.00,3627.00,5508,0
+2006-01-26,16:40:00,3627.00,3628.00,3625.00,3626.00,2563,0
+2006-01-26,16:41:00,3626.00,3629.00,3626.00,3629.00,3209,0
+2006-01-26,16:42:00,3628.00,3631.00,3628.00,3629.00,1616,0
+2006-01-26,16:43:00,3629.00,3631.00,3629.00,3630.00,5335,0
+2006-01-26,16:44:00,3631.00,3632.00,3630.00,3631.00,1565,0
+2006-01-26,16:45:00,3631.00,3631.00,3629.00,3629.00,559,0
+2006-01-26,16:46:00,3629.00,3630.00,3629.00,3629.00,1379,0
+2006-01-26,16:47:00,3630.00,3630.00,3629.00,3629.00,727,0
+2006-01-26,16:48:00,3629.00,3631.00,3629.00,3630.00,1188,0
+2006-01-26,16:49:00,3631.00,3634.00,3630.00,3633.00,4540,0
+2006-01-26,16:50:00,3633.00,3634.00,3633.00,3633.00,2634,0
+2006-01-26,16:51:00,3634.00,3636.00,3634.00,3635.00,3158,0
+2006-01-26,16:52:00,3635.00,3637.00,3634.00,3636.00,2279,0
+2006-01-26,16:53:00,3636.00,3637.00,3635.00,3636.00,1526,0
+2006-01-26,16:54:00,3636.00,3638.00,3636.00,3637.00,9382,0
+2006-01-26,16:55:00,3637.00,3638.00,3637.00,3637.00,1369,0
+2006-01-26,16:56:00,3637.00,3638.00,3637.00,3637.00,1725,0
+2006-01-26,16:57:00,3637.00,3637.00,3635.00,3636.00,1479,0
+2006-01-26,16:58:00,3636.00,3639.00,3636.00,3639.00,1745,0
+2006-01-26,16:59:00,3639.00,3640.00,3638.00,3640.00,1953,0
+2006-01-26,17:00:00,3640.00,3645.00,3640.00,3645.00,10018,0
+2006-01-26,17:01:00,3644.00,3645.00,3642.00,3643.00,2950,0
+2006-01-26,17:02:00,3642.00,3642.00,3638.00,3638.00,5094,0
+2006-01-26,17:03:00,3638.00,3641.00,3638.00,3640.00,1905,0
+2006-01-26,17:04:00,3640.00,3642.00,3640.00,3640.00,1702,0
+2006-01-26,17:05:00,3640.00,3643.00,3640.00,3643.00,1588,0
+2006-01-26,17:06:00,3643.00,3644.00,3642.00,3642.00,1394,0
+2006-01-26,17:07:00,3642.00,3642.00,3639.00,3639.00,2544,0
+2006-01-26,17:08:00,3639.00,3640.00,3639.00,3640.00,1634,0
+2006-01-26,17:09:00,3639.00,3640.00,3638.00,3638.00,1930,0
+2006-01-26,17:10:00,3639.00,3640.00,3639.00,3639.00,3372,0
+2006-01-26,17:11:00,3638.00,3640.00,3638.00,3639.00,670,0
+2006-01-26,17:12:00,3639.00,3640.00,3639.00,3639.00,382,0
+2006-01-26,17:13:00,3640.00,3640.00,3638.00,3639.00,3101,0
+2006-01-26,17:14:00,3639.00,3640.00,3638.00,3640.00,4019,0
+2006-01-26,17:15:00,3639.00,3641.00,3639.00,3639.00,1415,0
+2006-01-26,17:16:00,3640.00,3642.00,3640.00,3641.00,1194,0
+2006-01-26,17:17:00,3641.00,3642.00,3640.00,3640.00,1389,0
+2006-01-26,17:18:00,3640.00,3640.00,3639.00,3639.00,1833,0
+2006-01-26,17:19:00,3639.00,3640.00,3638.00,3638.00,1831,0
+2006-01-26,17:20:00,3638.00,3640.00,3638.00,3640.00,3240,0
+2006-01-26,17:21:00,3639.00,3642.00,3639.00,3642.00,3337,0
+2006-01-26,17:22:00,3642.00,3643.00,3641.00,3641.00,1804,0
+2006-01-26,17:23:00,3641.00,3643.00,3641.00,3642.00,1063,0
+2006-01-26,17:24:00,3642.00,3643.00,3641.00,3643.00,1520,0
+2006-01-26,17:25:00,3642.00,3643.00,3642.00,3642.00,1023,0
+2006-01-26,17:26:00,3642.00,3644.00,3642.00,3643.00,1270,0
+2006-01-26,17:27:00,3644.00,3644.00,3643.00,3643.00,2186,0
+2006-01-26,17:28:00,3643.00,3645.00,3643.00,3643.00,3621,0
+2006-01-26,17:29:00,3643.00,3645.00,3643.00,3645.00,4041,0
+2006-01-26,17:30:00,3644.00,3646.00,3644.00,3644.00,8789,0
+2006-01-26,17:31:00,3644.00,3648.00,3644.00,3646.00,8147,0
+2006-01-26,17:32:00,3646.00,3647.00,3644.00,3644.00,3554,0
+2006-01-26,17:33:00,3644.00,3647.00,3644.00,3646.00,5717,0
+2006-01-26,17:34:00,3646.00,3648.00,3645.00,3648.00,2338,0
+2006-01-26,17:35:00,3648.00,3651.00,3647.00,3650.00,7202,0
+2006-01-26,17:36:00,3650.00,3652.00,3648.00,3649.00,4244,0
+2006-01-26,17:37:00,3649.00,3650.00,3648.00,3649.00,2611,0
+2006-01-26,17:38:00,3649.00,3649.00,3647.00,3648.00,2852,0
+2006-01-26,17:39:00,3648.00,3649.00,3647.00,3648.00,809,0
+2006-01-26,17:40:00,3649.00,3649.00,3647.00,3647.00,2785,0
+2006-01-26,17:41:00,3647.00,3648.00,3647.00,3648.00,2035,0
+2006-01-26,17:42:00,3648.00,3649.00,3648.00,3649.00,1579,0
+2006-01-26,17:43:00,3649.00,3650.00,3648.00,3648.00,2946,0
+2006-01-26,17:44:00,3649.00,3650.00,3648.00,3650.00,1045,0
+2006-01-26,17:45:00,3651.00,3651.00,3650.00,3651.00,1410,0
+2006-01-26,17:46:00,3652.00,3653.00,3651.00,3652.00,2073,0
+2006-01-26,17:47:00,3652.00,3656.00,3652.00,3655.00,4134,0
+2006-01-26,17:48:00,3655.00,3656.00,3653.00,3654.00,3123,0
+2006-01-26,17:49:00,3655.00,3655.00,3653.00,3654.00,700,0
+2006-01-26,17:50:00,3654.00,3654.00,3653.00,3653.00,535,0
+2006-01-26,17:51:00,3653.00,3655.00,3653.00,3654.00,1010,0
+2006-01-26,17:52:00,3654.00,3655.00,3654.00,3654.00,209,0
+2006-01-26,17:53:00,3654.00,3655.00,3653.00,3654.00,1066,0
+2006-01-26,17:54:00,3653.00,3655.00,3653.00,3655.00,1283,0
+2006-01-26,17:55:00,3656.00,3656.00,3655.00,3655.00,950,0
+2006-01-26,17:56:00,3655.00,3657.00,3655.00,3656.00,1358,0
+2006-01-26,17:57:00,3657.00,3658.00,3657.00,3657.00,1224,0
+2006-01-26,17:58:00,3657.00,3657.00,3654.00,3654.00,1401,0
+2006-01-26,17:59:00,3654.00,3654.00,3653.00,3654.00,850,0
+2006-01-26,18:00:00,3653.00,3655.00,3653.00,3655.00,981,0
+2006-01-26,18:01:00,3655.00,3658.00,3655.00,3657.00,1614,0
+2006-01-26,18:02:00,3658.00,3659.00,3657.00,3659.00,448,0
+2006-01-26,18:03:00,3659.00,3660.00,3658.00,3659.00,1241,0
+2006-01-26,18:04:00,3659.00,3660.00,3658.00,3659.00,963,0
+2006-01-26,18:05:00,3658.00,3659.00,3658.00,3659.00,1259,0
+2006-01-26,18:06:00,3659.00,3659.00,3658.00,3658.00,653,0
+2006-01-26,18:07:00,3659.00,3660.00,3659.00,3659.00,1602,0
+2006-01-26,18:08:00,3660.00,3660.00,3658.00,3658.00,1246,0
+2006-01-26,18:09:00,3658.00,3662.00,3658.00,3661.00,2627,0
+2006-01-26,18:10:00,3661.00,3661.00,3658.00,3658.00,1323,0
+2006-01-26,18:11:00,3658.00,3658.00,3657.00,3658.00,676,0
+2006-01-26,18:12:00,3658.00,3658.00,3657.00,3658.00,203,0
+2006-01-26,18:13:00,3658.00,3658.00,3657.00,3657.00,651,0
+2006-01-26,18:14:00,3657.00,3658.00,3657.00,3657.00,135,0
+2006-01-26,18:15:00,3657.00,3658.00,3657.00,3657.00,554,0
+2006-01-26,18:16:00,3658.00,3659.00,3657.00,3658.00,163,0
+2006-01-26,18:17:00,3657.00,3658.00,3657.00,3658.00,349,0
+2006-01-26,18:18:00,3658.00,3658.00,3657.00,3657.00,106,0
+2006-01-26,18:19:00,3658.00,3658.00,3657.00,3657.00,536,0
+2006-01-26,18:20:00,3657.00,3657.00,3656.00,3656.00,76,0
+2006-01-26,18:21:00,3657.00,3658.00,3656.00,3657.00,460,0
+2006-01-26,18:22:00,3657.00,3658.00,3657.00,3658.00,921,0
+2006-01-26,18:23:00,3657.00,3658.00,3657.00,3657.00,186,0
+2006-01-26,18:24:00,3658.00,3659.00,3658.00,3658.00,220,0
+2006-01-26,18:25:00,3658.00,3659.00,3657.00,3657.00,912,0
+2006-01-26,18:26:00,3657.00,3659.00,3657.00,3659.00,273,0
+2006-01-26,18:27:00,3659.00,3661.00,3659.00,3659.00,1460,0
+2006-01-26,18:28:00,3659.00,3661.00,3658.00,3658.00,1022,0
+2006-01-26,18:29:00,3658.00,3659.00,3657.00,3658.00,141,0
+2006-01-26,18:30:00,3657.00,3658.00,3657.00,3658.00,3,0
+2006-01-26,18:31:00,3658.00,3658.00,3657.00,3657.00,208,0
+2006-01-26,18:32:00,3657.00,3658.00,3656.00,3657.00,452,0
+2006-01-26,18:33:00,3656.00,3656.00,3655.00,3655.00,286,0
+2006-01-26,18:34:00,3655.00,3656.00,3655.00,3656.00,415,0
+2006-01-26,18:35:00,3656.00,3657.00,3656.00,3656.00,134,0
+2006-01-26,18:36:00,3655.00,3656.00,3655.00,3655.00,771,0
+2006-01-26,18:37:00,3654.00,3655.00,3654.00,3655.00,361,0
+2006-01-26,18:38:00,3655.00,3656.00,3655.00,3656.00,83,0
+2006-01-26,18:39:00,3656.00,3656.00,3655.00,3655.00,118,0
+2006-01-26,18:40:00,3655.00,3656.00,3655.00,3655.00,150,0
+2006-01-26,18:41:00,3655.00,3657.00,3655.00,3656.00,475,0
+2006-01-26,18:42:00,3656.00,3656.00,3655.00,3655.00,193,0
+2006-01-26,18:43:00,3655.00,3656.00,3655.00,3656.00,27,0
+2006-01-26,18:44:00,3655.00,3656.00,3655.00,3655.00,822,0
+2006-01-26,18:45:00,3655.00,3656.00,3655.00,3655.00,597,0
+2006-01-26,18:46:00,3656.00,3656.00,3656.00,3656.00,175,0
+2006-01-26,18:47:00,3656.00,3657.00,3656.00,3657.00,1144,0
+2006-01-26,18:48:00,3656.00,3656.00,3656.00,3656.00,107,0
+2006-01-26,18:49:00,3656.00,3657.00,3656.00,3656.00,55,0
+2006-01-26,18:50:00,3656.00,3656.00,3656.00,3656.00,341,0
+2006-01-26,18:51:00,3656.00,3656.00,3655.00,3655.00,620,0
+2006-01-26,18:52:00,3654.00,3655.00,3654.00,3654.00,270,0
+2006-01-26,18:54:00,3654.00,3655.00,3654.00,3655.00,479,0
+2006-01-26,18:55:00,3654.00,3654.00,3653.00,3654.00,557,0
+2006-01-26,18:56:00,3654.00,3654.00,3654.00,3654.00,171,0
+2006-01-26,18:57:00,3653.00,3654.00,3653.00,3653.00,568,0
+2006-01-26,18:58:00,3653.00,3653.00,3652.00,3652.00,111,0
+2006-01-26,18:59:00,3654.00,3654.00,3652.00,3652.00,326,0
+2006-01-26,19:00:00,3653.00,3653.00,3652.00,3652.00,467,0
+2006-01-26,19:01:00,3652.00,3653.00,3652.00,3653.00,108,0
+2006-01-26,19:02:00,3653.00,3655.00,3653.00,3655.00,501,0
+2006-01-26,19:03:00,3655.00,3656.00,3655.00,3655.00,47,0
+2006-01-26,19:04:00,3655.00,3655.00,3655.00,3655.00,147,0
+2006-01-26,19:05:00,3655.00,3655.00,3654.00,3655.00,288,0
+2006-01-26,19:06:00,3654.00,3654.00,3652.00,3652.00,339,0
+2006-01-26,19:07:00,3653.00,3653.00,3653.00,3653.00,289,0
+2006-01-26,19:08:00,3653.00,3653.00,3653.00,3653.00,191,0
+2006-01-26,19:10:00,3654.00,3654.00,3653.00,3654.00,153,0
+2006-01-26,19:11:00,3654.00,3654.00,3653.00,3653.00,41,0
+2006-01-26,19:12:00,3654.00,3654.00,3653.00,3654.00,216,0
+2006-01-26,19:13:00,3654.00,3655.00,3654.00,3655.00,318,0
+2006-01-26,19:14:00,3654.00,3656.00,3654.00,3655.00,139,0
+2006-01-26,19:15:00,3655.00,3655.00,3654.00,3654.00,115,0
+2006-01-26,19:16:00,3654.00,3655.00,3654.00,3654.00,524,0
+2006-01-26,19:17:00,3654.00,3654.00,3654.00,3654.00,15,0
+2006-01-26,19:18:00,3655.00,3655.00,3654.00,3655.00,81,0
+2006-01-26,19:19:00,3656.00,3656.00,3656.00,3656.00,168,0
+2006-01-26,19:20:00,3656.00,3656.00,3655.00,3655.00,161,0
+2006-01-26,19:21:00,3655.00,3656.00,3655.00,3655.00,54,0
+2006-01-26,19:23:00,3656.00,3656.00,3656.00,3656.00,241,0
+2006-01-26,19:24:00,3655.00,3656.00,3655.00,3656.00,4,0
+2006-01-26,19:25:00,3655.00,3655.00,3654.00,3654.00,260,0
+2006-01-26,19:26:00,3655.00,3655.00,3654.00,3654.00,44,0
+2006-01-26,19:27:00,3655.00,3655.00,3655.00,3655.00,101,0
+2006-01-26,19:28:00,3655.00,3655.00,3654.00,3654.00,247,0
+2006-01-26,19:30:00,3654.00,3654.00,3653.00,3653.00,374,0
+2006-01-26,19:31:00,3654.00,3654.00,3652.00,3652.00,114,0
+2006-01-26,19:32:00,3652.00,3654.00,3652.00,3654.00,365,0
+2006-01-26,19:33:00,3654.00,3654.00,3654.00,3654.00,2,0
+2006-01-26,19:34:00,3654.00,3655.00,3653.00,3655.00,288,0
+2006-01-26,19:35:00,3654.00,3654.00,3654.00,3654.00,3,0
+2006-01-26,19:37:00,3655.00,3655.00,3653.00,3653.00,154,0
+2006-01-26,19:38:00,3653.00,3655.00,3653.00,3654.00,178,0
+2006-01-26,19:40:00,3654.00,3654.00,3654.00,3654.00,235,0
+2006-01-26,19:41:00,3654.00,3654.00,3653.00,3653.00,226,0
+2006-01-26,19:42:00,3653.00,3654.00,3653.00,3654.00,49,0
+2006-01-26,19:43:00,3654.00,3654.00,3653.00,3654.00,124,0
+2006-01-26,19:44:00,3654.00,3654.00,3652.00,3653.00,283,0
+2006-01-26,19:45:00,3653.00,3654.00,3653.00,3654.00,150,0
+2006-01-26,19:46:00,3653.00,3653.00,3653.00,3653.00,4,0
+2006-01-26,19:47:00,3653.00,3653.00,3652.00,3652.00,108,0
+2006-01-26,19:48:00,3652.00,3652.00,3651.00,3652.00,796,0
+2006-01-26,19:49:00,3652.00,3652.00,3649.00,3651.00,763,0
+2006-01-26,19:50:00,3651.00,3651.00,3650.00,3650.00,178,0
+2006-01-26,19:51:00,3650.00,3651.00,3650.00,3651.00,391,0
+2006-01-26,19:52:00,3651.00,3652.00,3651.00,3651.00,116,0
+2006-01-26,19:53:00,3651.00,3651.00,3651.00,3651.00,16,0
+2006-01-26,19:54:00,3652.00,3652.00,3652.00,3652.00,272,0
+2006-01-26,19:55:00,3653.00,3653.00,3653.00,3653.00,1,0
+2006-01-26,19:56:00,3653.00,3655.00,3653.00,3655.00,506,0
+2006-01-26,19:57:00,3655.00,3656.00,3655.00,3655.00,248,0
+2006-01-26,19:58:00,3655.00,3655.00,3655.00,3655.00,33,0
+2006-01-26,19:59:00,3655.00,3656.00,3655.00,3655.00,126,0
+2006-01-26,20:00:00,3655.00,3656.00,3655.00,3655.00,174,0
+2006-01-26,20:01:00,3655.00,3657.00,3654.00,3657.00,182,0
+2006-01-26,20:02:00,3656.00,3657.00,3656.00,3656.00,29,0
+2006-01-26,20:03:00,3656.00,3656.00,3655.00,3655.00,111,0
+2006-01-26,20:04:00,3654.00,3656.00,3654.00,3656.00,101,0
+2006-01-26,20:05:00,3656.00,3656.00,3655.00,3655.00,71,0
+2006-01-26,20:06:00,3655.00,3655.00,3653.00,3654.00,86,0
+2006-01-26,20:07:00,3654.00,3654.00,3654.00,3654.00,31,0
+2006-01-26,20:08:00,3655.00,3656.00,3655.00,3656.00,90,0
+2006-01-26,20:09:00,3656.00,3658.00,3656.00,3656.00,119,0
+2006-01-26,20:10:00,3657.00,3657.00,3655.00,3657.00,104,0
+2006-01-26,20:11:00,3656.00,3656.00,3655.00,3655.00,45,0
+2006-01-26,20:12:00,3655.00,3656.00,3655.00,3656.00,25,0
+2006-01-26,20:15:00,3655.00,3657.00,3655.00,3657.00,42,0
+2006-01-26,20:16:00,3656.00,3656.00,3655.00,3655.00,199,0
+2006-01-26,20:17:00,3656.00,3656.00,3656.00,3656.00,100,0
+2006-01-26,20:18:00,3655.00,3656.00,3655.00,3656.00,12,0
+2006-01-26,20:19:00,3656.00,3658.00,3656.00,3657.00,162,0
+2006-01-26,20:20:00,3657.00,3657.00,3657.00,3657.00,131,0
+2006-01-26,20:21:00,3656.00,3657.00,3656.00,3657.00,33,0
+2006-01-26,20:22:00,3657.00,3657.00,3657.00,3657.00,26,0
+2006-01-26,20:23:00,3656.00,3656.00,3656.00,3656.00,69,0
+2006-01-26,20:24:00,3657.00,3659.00,3657.00,3658.00,211,0
+2006-01-26,20:25:00,3658.00,3658.00,3657.00,3657.00,58,0
+2006-01-26,20:26:00,3657.00,3657.00,3657.00,3657.00,27,0
+2006-01-26,20:27:00,3658.00,3658.00,3658.00,3658.00,10,0
+2006-01-26,20:28:00,3657.00,3658.00,3657.00,3657.00,10,0
+2006-01-26,20:30:00,3657.00,3657.00,3656.00,3656.00,20,0
+2006-01-26,20:31:00,3655.00,3655.00,3655.00,3655.00,120,0
+2006-01-26,20:32:00,3655.00,3655.00,3654.00,3654.00,149,0
+2006-01-26,20:33:00,3654.00,3654.00,3653.00,3653.00,141,0
+2006-01-26,20:34:00,3653.00,3654.00,3653.00,3653.00,150,0
+2006-01-26,20:35:00,3654.00,3654.00,3653.00,3653.00,43,0
+2006-01-26,20:36:00,3652.00,3653.00,3652.00,3653.00,90,0
+2006-01-26,20:37:00,3653.00,3653.00,3653.00,3653.00,23,0
+2006-01-26,20:38:00,3653.00,3654.00,3653.00,3654.00,57,0
+2006-01-26,20:39:00,3654.00,3654.00,3654.00,3654.00,21,0
+2006-01-26,20:40:00,3654.00,3655.00,3654.00,3654.00,29,0
+2006-01-26,20:41:00,3654.00,3654.00,3653.00,3654.00,306,0
+2006-01-26,20:42:00,3655.00,3655.00,3655.00,3655.00,76,0
+2006-01-26,20:43:00,3655.00,3655.00,3655.00,3655.00,1,0
+2006-01-26,20:44:00,3655.00,3659.00,3655.00,3658.00,558,0
+2006-01-26,20:45:00,3658.00,3658.00,3657.00,3657.00,26,0
+2006-01-26,20:46:00,3658.00,3660.00,3658.00,3659.00,166,0
+2006-01-26,20:47:00,3659.00,3659.00,3659.00,3659.00,46,0
+2006-01-26,20:48:00,3660.00,3660.00,3660.00,3660.00,25,0
+2006-01-26,20:49:00,3659.00,3660.00,3659.00,3660.00,21,0
+2006-01-26,20:50:00,3660.00,3661.00,3660.00,3661.00,8,0
+2006-01-26,20:51:00,3661.00,3661.00,3660.00,3660.00,55,0
+2006-01-26,20:52:00,3659.00,3660.00,3659.00,3660.00,39,0
+2006-01-26,20:53:00,3661.00,3661.00,3660.00,3660.00,74,0
+2006-01-26,20:54:00,3661.00,3662.00,3661.00,3662.00,72,0
+2006-01-26,20:55:00,3662.00,3663.00,3662.00,3662.00,132,0
+2006-01-26,20:56:00,3662.00,3662.00,3662.00,3662.00,2,0
+2006-01-26,20:57:00,3662.00,3662.00,3662.00,3662.00,104,0
+2006-01-26,20:58:00,3662.00,3662.00,3662.00,3662.00,56,0
+2006-01-26,20:59:00,3661.00,3662.00,3661.00,3662.00,68,0
+2006-01-26,21:00:00,3662.00,3662.00,3661.00,3661.00,72,0
+2006-01-26,21:01:00,3660.00,3660.00,3659.00,3660.00,119,0
+2006-01-26,21:02:00,3661.00,3662.00,3661.00,3661.00,68,0
+2006-01-26,21:03:00,3661.00,3661.00,3661.00,3661.00,41,0
+2006-01-26,21:04:00,3660.00,3660.00,3660.00,3660.00,21,0
+2006-01-26,21:05:00,3661.00,3661.00,3661.00,3661.00,34,0
+2006-01-26,21:06:00,3661.00,3661.00,3661.00,3661.00,10,0
+2006-01-26,21:07:00,3662.00,3662.00,3662.00,3662.00,38,0
+2006-01-26,21:08:00,3662.00,3663.00,3662.00,3662.00,70,0
+2006-01-26,21:09:00,3662.00,3662.00,3662.00,3662.00,53,0
+2006-01-26,21:10:00,3662.00,3662.00,3662.00,3662.00,1,0
+2006-01-26,21:11:00,3662.00,3662.00,3662.00,3662.00,36,0
+2006-01-26,21:12:00,3662.00,3663.00,3662.00,3663.00,51,0
+2006-01-26,21:13:00,3662.00,3663.00,3662.00,3662.00,54,0
+2006-01-26,21:14:00,3662.00,3662.00,3661.00,3661.00,57,0
+2006-01-26,21:15:00,3661.00,3661.00,3661.00,3661.00,16,0
+2006-01-26,21:16:00,3661.00,3661.00,3661.00,3661.00,74,0
+2006-01-26,21:17:00,3661.00,3662.00,3661.00,3662.00,85,0
+2006-01-26,21:18:00,3661.00,3661.00,3661.00,3661.00,25,0
+2006-01-26,21:19:00,3661.00,3661.00,3661.00,3661.00,7,0
+2006-01-26,21:20:00,3661.00,3661.00,3661.00,3661.00,39,0
+2006-01-26,21:21:00,3661.00,3662.00,3661.00,3662.00,132,0
+2006-01-26,21:22:00,3661.00,3661.00,3661.00,3661.00,43,0
+2006-01-26,21:23:00,3661.00,3661.00,3661.00,3661.00,81,0
+2006-01-26,21:24:00,3661.00,3661.00,3661.00,3661.00,32,0
+2006-01-26,21:25:00,3661.00,3661.00,3661.00,3661.00,55,0
+2006-01-26,21:26:00,3661.00,3662.00,3661.00,3662.00,24,0
+2006-01-26,21:27:00,3662.00,3662.00,3662.00,3662.00,15,0
+2006-01-26,21:28:00,3662.00,3662.00,3661.00,3661.00,12,0
+2006-01-26,21:29:00,3662.00,3662.00,3662.00,3662.00,77,0
+2006-01-26,21:30:00,3661.00,3661.00,3661.00,3661.00,30,0
+2006-01-26,21:31:00,3662.00,3662.00,3661.00,3661.00,4,0
+2006-01-26,21:32:00,3661.00,3662.00,3661.00,3662.00,2,0
+2006-01-26,21:33:00,3662.00,3662.00,3661.00,3661.00,29,0
+2006-01-26,21:34:00,3661.00,3662.00,3661.00,3662.00,78,0
+2006-01-26,21:35:00,3662.00,3662.00,3661.00,3661.00,21,0
+2006-01-26,21:36:00,3661.00,3661.00,3661.00,3661.00,62,0
+2006-01-26,21:37:00,3661.00,3661.00,3661.00,3661.00,35,0
+2006-01-26,21:38:00,3660.00,3660.00,3660.00,3660.00,5,0
+2006-01-26,21:39:00,3660.00,3660.00,3660.00,3660.00,203,0
+2006-01-26,21:40:00,3661.00,3661.00,3661.00,3661.00,16,0
+2006-01-26,21:41:00,3661.00,3661.00,3661.00,3661.00,25,0
+2006-01-26,21:42:00,3660.00,3660.00,3660.00,3660.00,75,0
+2006-01-26,21:43:00,3660.00,3660.00,3660.00,3660.00,81,0
+2006-01-26,21:44:00,3660.00,3661.00,3660.00,3661.00,36,0
+2006-01-26,21:45:00,3661.00,3661.00,3660.00,3660.00,26,0
+2006-01-26,21:46:00,3660.00,3660.00,3660.00,3660.00,31,0
+2006-01-26,21:47:00,3660.00,3660.00,3659.00,3659.00,54,0
+2006-01-26,21:48:00,3660.00,3660.00,3660.00,3660.00,10,0
+2006-01-26,21:49:00,3660.00,3660.00,3660.00,3660.00,56,0
+2006-01-26,21:50:00,3661.00,3661.00,3661.00,3661.00,72,0
+2006-01-26,21:51:00,3662.00,3662.00,3662.00,3662.00,5,0
+2006-01-26,21:53:00,3661.00,3661.00,3661.00,3661.00,44,0
+2006-01-26,21:54:00,3661.00,3661.00,3660.00,3660.00,24,0
+2006-01-26,21:55:00,3660.00,3660.00,3660.00,3660.00,18,0
+2006-01-26,21:56:00,3660.00,3661.00,3660.00,3661.00,36,0
+2006-01-26,21:57:00,3662.00,3662.00,3661.00,3662.00,46,0
+2006-01-26,21:58:00,3662.00,3663.00,3662.00,3662.00,85,0
+2006-01-26,21:59:00,3662.00,3664.00,3662.00,3664.00,897,0
+2006-01-26,22:00:00,3664.00,3665.00,3662.00,3662.00,1060,0
+2006-01-27,09:01:00,3679.00,3688.00,3679.00,3687.00,15685,0
+2006-01-27,09:02:00,3688.00,3689.00,3687.00,3689.00,5275,0
+2006-01-27,09:03:00,3688.00,3690.00,3687.00,3688.00,3782,0
+2006-01-27,09:04:00,3688.00,3692.00,3687.00,3691.00,6423,0
+2006-01-27,09:05:00,3691.00,3693.00,3690.00,3691.00,3973,0
+2006-01-27,09:06:00,3690.00,3692.00,3688.00,3688.00,7938,0
+2006-01-27,09:07:00,3688.00,3689.00,3686.00,3687.00,4347,0
+2006-01-27,09:08:00,3687.00,3688.00,3685.00,3685.00,1836,0
+2006-01-27,09:09:00,3686.00,3688.00,3686.00,3687.00,2746,0
+2006-01-27,09:10:00,3687.00,3688.00,3685.00,3686.00,1622,0
+2006-01-27,09:11:00,3686.00,3688.00,3685.00,3686.00,1351,0
+2006-01-27,09:12:00,3687.00,3687.00,3684.00,3685.00,2109,0
+2006-01-27,09:13:00,3685.00,3686.00,3684.00,3685.00,1275,0
+2006-01-27,09:14:00,3685.00,3685.00,3683.00,3685.00,2544,0
+2006-01-27,09:15:00,3685.00,3686.00,3684.00,3685.00,830,0
+2006-01-27,09:16:00,3685.00,3688.00,3685.00,3687.00,3423,0
+2006-01-27,09:17:00,3686.00,3687.00,3685.00,3686.00,2325,0
+2006-01-27,09:18:00,3686.00,3686.00,3684.00,3685.00,1005,0
+2006-01-27,09:19:00,3685.00,3685.00,3682.00,3682.00,2356,0
+2006-01-27,09:20:00,3682.00,3683.00,3681.00,3681.00,1249,0
+2006-01-27,09:21:00,3682.00,3683.00,3680.00,3681.00,2291,0
+2006-01-27,09:22:00,3681.00,3682.00,3678.00,3680.00,5122,0
+2006-01-27,09:23:00,3680.00,3681.00,3679.00,3680.00,1646,0
+2006-01-27,09:24:00,3680.00,3681.00,3679.00,3681.00,1587,0
+2006-01-27,09:25:00,3681.00,3683.00,3680.00,3682.00,933,0
+2006-01-27,09:26:00,3681.00,3683.00,3681.00,3682.00,1107,0
+2006-01-27,09:27:00,3683.00,3683.00,3682.00,3682.00,1107,0
+2006-01-27,09:28:00,3683.00,3683.00,3681.00,3682.00,290,0
+2006-01-27,09:29:00,3682.00,3684.00,3682.00,3683.00,1223,0
+2006-01-27,09:30:00,3684.00,3685.00,3683.00,3685.00,2948,0
+2006-01-27,09:31:00,3685.00,3686.00,3684.00,3685.00,579,0
+2006-01-27,09:32:00,3685.00,3687.00,3685.00,3686.00,2811,0
+2006-01-27,09:33:00,3686.00,3687.00,3685.00,3687.00,1401,0
+2006-01-27,09:34:00,3686.00,3686.00,3685.00,3685.00,397,0
+2006-01-27,09:35:00,3686.00,3686.00,3685.00,3685.00,411,0
+2006-01-27,09:36:00,3685.00,3685.00,3683.00,3684.00,1398,0
+2006-01-27,09:37:00,3684.00,3684.00,3683.00,3684.00,435,0
+2006-01-27,09:38:00,3684.00,3685.00,3683.00,3683.00,1079,0
+2006-01-27,09:39:00,3684.00,3684.00,3683.00,3684.00,1200,0
+2006-01-27,09:40:00,3684.00,3685.00,3684.00,3685.00,161,0
+2006-01-27,09:41:00,3685.00,3686.00,3683.00,3684.00,3934,0
+2006-01-27,09:42:00,3684.00,3686.00,3683.00,3684.00,1708,0
+2006-01-27,09:43:00,3684.00,3684.00,3683.00,3684.00,545,0
+2006-01-27,09:44:00,3683.00,3685.00,3682.00,3683.00,1594,0
+2006-01-27,09:45:00,3683.00,3683.00,3681.00,3683.00,1943,0
+2006-01-27,09:46:00,3682.00,3683.00,3682.00,3682.00,1825,0
+2006-01-27,09:47:00,3682.00,3683.00,3681.00,3683.00,472,0
+2006-01-27,09:48:00,3682.00,3683.00,3682.00,3683.00,337,0
+2006-01-27,09:49:00,3683.00,3686.00,3682.00,3686.00,2470,0
+2006-01-27,09:50:00,3685.00,3686.00,3684.00,3685.00,648,0
+2006-01-27,09:51:00,3685.00,3685.00,3683.00,3684.00,1001,0
+2006-01-27,09:52:00,3684.00,3685.00,3684.00,3685.00,1857,0
+2006-01-27,09:53:00,3684.00,3684.00,3683.00,3684.00,1431,0
+2006-01-27,09:54:00,3684.00,3684.00,3683.00,3684.00,694,0
+2006-01-27,09:55:00,3685.00,3685.00,3683.00,3684.00,924,0
+2006-01-27,09:56:00,3685.00,3686.00,3685.00,3686.00,1749,0
+2006-01-27,09:57:00,3686.00,3687.00,3685.00,3687.00,1378,0
+2006-01-27,09:58:00,3687.00,3687.00,3685.00,3685.00,464,0
+2006-01-27,09:59:00,3686.00,3686.00,3683.00,3683.00,920,0
+2006-01-27,10:00:00,3683.00,3684.00,3683.00,3683.00,3467,0
+2006-01-27,10:01:00,3684.00,3684.00,3682.00,3683.00,1746,0
+2006-01-27,10:02:00,3684.00,3684.00,3682.00,3682.00,1704,0
+2006-01-27,10:03:00,3683.00,3683.00,3683.00,3683.00,400,0
+2006-01-27,10:04:00,3683.00,3684.00,3683.00,3683.00,262,0
+2006-01-27,10:05:00,3682.00,3683.00,3681.00,3681.00,1149,0
+2006-01-27,10:06:00,3682.00,3683.00,3682.00,3683.00,696,0
+2006-01-27,10:07:00,3682.00,3683.00,3682.00,3683.00,1024,0
+2006-01-27,10:08:00,3682.00,3687.00,3682.00,3687.00,4169,0
+2006-01-27,10:09:00,3686.00,3690.00,3686.00,3689.00,2914,0
+2006-01-27,10:10:00,3688.00,3689.00,3687.00,3687.00,394,0
+2006-01-27,10:11:00,3688.00,3688.00,3687.00,3687.00,428,0
+2006-01-27,10:12:00,3688.00,3690.00,3687.00,3689.00,1617,0
+2006-01-27,10:13:00,3689.00,3689.00,3686.00,3687.00,2834,0
+2006-01-27,10:14:00,3687.00,3687.00,3686.00,3686.00,293,0
+2006-01-27,10:15:00,3686.00,3687.00,3685.00,3687.00,1698,0
+2006-01-27,10:16:00,3686.00,3687.00,3686.00,3687.00,2133,0
+2006-01-27,10:17:00,3687.00,3688.00,3687.00,3687.00,2557,0
+2006-01-27,10:18:00,3687.00,3687.00,3685.00,3685.00,1154,0
+2006-01-27,10:19:00,3685.00,3685.00,3684.00,3685.00,722,0
+2006-01-27,10:20:00,3684.00,3686.00,3684.00,3686.00,1640,0
+2006-01-27,10:21:00,3687.00,3687.00,3686.00,3686.00,726,0
+2006-01-27,10:22:00,3686.00,3686.00,3685.00,3685.00,811,0
+2006-01-27,10:23:00,3685.00,3685.00,3684.00,3685.00,853,0
+2006-01-27,10:24:00,3685.00,3685.00,3683.00,3683.00,2156,0
+2006-01-27,10:25:00,3683.00,3683.00,3681.00,3683.00,1154,0
+2006-01-27,10:26:00,3682.00,3682.00,3681.00,3682.00,975,0
+2006-01-27,10:27:00,3682.00,3682.00,3676.00,3677.00,6346,0
+2006-01-27,10:28:00,3677.00,3682.00,3677.00,3682.00,6498,0
+2006-01-27,10:29:00,3681.00,3683.00,3681.00,3682.00,2976,0
+2006-01-27,10:30:00,3682.00,3683.00,3680.00,3680.00,1427,0
+2006-01-27,10:31:00,3680.00,3681.00,3679.00,3680.00,1169,0
+2006-01-27,10:32:00,3681.00,3682.00,3680.00,3681.00,709,0
+2006-01-27,10:33:00,3680.00,3681.00,3679.00,3679.00,2039,0
+2006-01-27,10:34:00,3678.00,3679.00,3677.00,3678.00,2419,0
+2006-01-27,10:35:00,3678.00,3679.00,3676.00,3679.00,2222,0
+2006-01-27,10:36:00,3679.00,3679.00,3677.00,3678.00,739,0
+2006-01-27,10:37:00,3678.00,3679.00,3676.00,3678.00,2303,0
+2006-01-27,10:38:00,3678.00,3681.00,3678.00,3680.00,1263,0
+2006-01-27,10:39:00,3680.00,3680.00,3678.00,3679.00,957,0
+2006-01-27,10:40:00,3680.00,3680.00,3679.00,3680.00,433,0
+2006-01-27,10:41:00,3680.00,3680.00,3679.00,3680.00,653,0
+2006-01-27,10:42:00,3680.00,3683.00,3680.00,3683.00,2330,0
+2006-01-27,10:43:00,3683.00,3683.00,3681.00,3682.00,1571,0
+2006-01-27,10:44:00,3682.00,3683.00,3682.00,3683.00,369,0
+2006-01-27,10:45:00,3683.00,3683.00,3683.00,3683.00,185,0
+2006-01-27,10:46:00,3683.00,3683.00,3682.00,3682.00,545,0
+2006-01-27,10:47:00,3682.00,3682.00,3681.00,3682.00,223,0
+2006-01-27,10:48:00,3681.00,3682.00,3681.00,3682.00,2047,0
+2006-01-27,10:49:00,3681.00,3682.00,3681.00,3681.00,143,0
+2006-01-27,10:50:00,3681.00,3682.00,3680.00,3681.00,2028,0
+2006-01-27,10:51:00,3681.00,3681.00,3679.00,3680.00,1570,0
+2006-01-27,10:52:00,3679.00,3681.00,3679.00,3681.00,478,0
+2006-01-27,10:53:00,3680.00,3681.00,3680.00,3681.00,90,0
+2006-01-27,10:54:00,3681.00,3681.00,3680.00,3681.00,878,0
+2006-01-27,10:55:00,3681.00,3682.00,3680.00,3682.00,319,0
+2006-01-27,10:56:00,3682.00,3682.00,3679.00,3680.00,1052,0
+2006-01-27,10:57:00,3679.00,3680.00,3678.00,3679.00,880,0
+2006-01-27,10:58:00,3679.00,3679.00,3678.00,3679.00,281,0
+2006-01-27,10:59:00,3678.00,3679.00,3676.00,3678.00,784,0
+2006-01-27,11:00:00,3678.00,3679.00,3677.00,3678.00,783,0
+2006-01-27,11:01:00,3678.00,3681.00,3677.00,3680.00,2943,0
+2006-01-27,11:02:00,3679.00,3681.00,3679.00,3680.00,614,0
+2006-01-27,11:03:00,3680.00,3682.00,3680.00,3681.00,1011,0
+2006-01-27,11:04:00,3680.00,3682.00,3680.00,3681.00,1183,0
+2006-01-27,11:05:00,3681.00,3681.00,3679.00,3679.00,1160,0
+2006-01-27,11:06:00,3679.00,3680.00,3678.00,3680.00,694,0
+2006-01-27,11:07:00,3681.00,3681.00,3680.00,3680.00,323,0
+2006-01-27,11:08:00,3679.00,3681.00,3679.00,3680.00,1190,0
+2006-01-27,11:09:00,3680.00,3682.00,3680.00,3681.00,1644,0
+2006-01-27,11:10:00,3682.00,3683.00,3681.00,3683.00,1889,0
+2006-01-27,11:11:00,3683.00,3683.00,3682.00,3682.00,497,0
+2006-01-27,11:12:00,3682.00,3682.00,3680.00,3681.00,460,0
+2006-01-27,11:13:00,3681.00,3681.00,3680.00,3680.00,440,0
+2006-01-27,11:14:00,3681.00,3681.00,3680.00,3681.00,786,0
+2006-01-27,11:15:00,3680.00,3681.00,3680.00,3680.00,321,0
+2006-01-27,11:16:00,3680.00,3681.00,3680.00,3680.00,1473,0
+2006-01-27,11:17:00,3681.00,3681.00,3680.00,3681.00,1158,0
+2006-01-27,11:18:00,3680.00,3681.00,3680.00,3681.00,492,0
+2006-01-27,11:19:00,3681.00,3681.00,3680.00,3680.00,668,0
+2006-01-27,11:20:00,3680.00,3682.00,3680.00,3681.00,1066,0
+2006-01-27,11:21:00,3681.00,3681.00,3680.00,3681.00,415,0
+2006-01-27,11:22:00,3681.00,3681.00,3680.00,3681.00,322,0
+2006-01-27,11:23:00,3680.00,3681.00,3680.00,3681.00,2,0
+2006-01-27,11:24:00,3681.00,3681.00,3680.00,3680.00,16,0
+2006-01-27,11:25:00,3681.00,3681.00,3680.00,3680.00,191,0
+2006-01-27,11:26:00,3681.00,3681.00,3680.00,3680.00,544,0
+2006-01-27,11:27:00,3679.00,3679.00,3678.00,3679.00,614,0
+2006-01-27,11:28:00,3679.00,3679.00,3678.00,3679.00,125,0
+2006-01-27,11:29:00,3678.00,3678.00,3677.00,3677.00,1165,0
+2006-01-27,11:30:00,3677.00,3678.00,3676.00,3676.00,939,0
+2006-01-27,11:31:00,3676.00,3677.00,3675.00,3676.00,2499,0
+2006-01-27,11:32:00,3675.00,3676.00,3674.00,3675.00,1284,0
+2006-01-27,11:33:00,3675.00,3677.00,3675.00,3677.00,2083,0
+2006-01-27,11:34:00,3678.00,3678.00,3677.00,3677.00,283,0
+2006-01-27,11:35:00,3678.00,3678.00,3677.00,3678.00,49,0
+2006-01-27,11:36:00,3677.00,3678.00,3677.00,3678.00,49,0
+2006-01-27,11:37:00,3677.00,3679.00,3677.00,3679.00,1052,0
+2006-01-27,11:38:00,3678.00,3679.00,3678.00,3678.00,1085,0
+2006-01-27,11:39:00,3678.00,3679.00,3677.00,3678.00,897,0
+2006-01-27,11:40:00,3678.00,3678.00,3678.00,3678.00,459,0
+2006-01-27,11:41:00,3678.00,3678.00,3676.00,3677.00,1274,0
+2006-01-27,11:42:00,3678.00,3678.00,3677.00,3677.00,318,0
+2006-01-27,11:43:00,3678.00,3678.00,3677.00,3677.00,475,0
+2006-01-27,11:44:00,3677.00,3677.00,3676.00,3677.00,329,0
+2006-01-27,11:45:00,3676.00,3677.00,3676.00,3677.00,257,0
+2006-01-27,11:46:00,3677.00,3677.00,3676.00,3677.00,1011,0
+2006-01-27,11:47:00,3676.00,3677.00,3676.00,3677.00,1701,0
+2006-01-27,11:48:00,3677.00,3677.00,3676.00,3677.00,183,0
+2006-01-27,11:49:00,3677.00,3678.00,3676.00,3677.00,1507,0
+2006-01-27,11:50:00,3677.00,3677.00,3676.00,3677.00,233,0
+2006-01-27,11:51:00,3676.00,3676.00,3676.00,3676.00,439,0
+2006-01-27,11:52:00,3675.00,3677.00,3675.00,3676.00,1267,0
+2006-01-27,11:53:00,3676.00,3676.00,3676.00,3676.00,75,0
+2006-01-27,11:54:00,3675.00,3676.00,3675.00,3676.00,1033,0
+2006-01-27,11:55:00,3675.00,3676.00,3674.00,3675.00,739,0
+2006-01-27,11:56:00,3674.00,3675.00,3674.00,3674.00,1265,0
+2006-01-27,11:57:00,3675.00,3675.00,3674.00,3674.00,704,0
+2006-01-27,11:58:00,3674.00,3675.00,3673.00,3674.00,1230,0
+2006-01-27,11:59:00,3675.00,3675.00,3674.00,3675.00,142,0
+2006-01-27,12:00:00,3675.00,3675.00,3675.00,3675.00,149,0
+2006-01-27,12:01:00,3675.00,3676.00,3674.00,3674.00,1010,0
+2006-01-27,12:02:00,3674.00,3675.00,3674.00,3674.00,193,0
+2006-01-27,12:03:00,3674.00,3674.00,3673.00,3674.00,989,0
+2006-01-27,12:04:00,3674.00,3675.00,3673.00,3674.00,1970,0
+2006-01-27,12:05:00,3674.00,3675.00,3674.00,3675.00,140,0
+2006-01-27,12:06:00,3675.00,3675.00,3674.00,3674.00,734,0
+2006-01-27,12:07:00,3674.00,3675.00,3674.00,3675.00,38,0
+2006-01-27,12:08:00,3675.00,3676.00,3675.00,3675.00,1685,0
+2006-01-27,12:09:00,3675.00,3676.00,3675.00,3675.00,649,0
+2006-01-27,12:10:00,3675.00,3676.00,3675.00,3676.00,225,0
+2006-01-27,12:11:00,3676.00,3677.00,3675.00,3676.00,1632,0
+2006-01-27,12:12:00,3676.00,3678.00,3676.00,3678.00,1510,0
+2006-01-27,12:13:00,3677.00,3677.00,3676.00,3676.00,429,0
+2006-01-27,12:14:00,3677.00,3677.00,3676.00,3677.00,52,0
+2006-01-27,12:15:00,3676.00,3677.00,3675.00,3676.00,534,0
+2006-01-27,12:16:00,3675.00,3676.00,3675.00,3675.00,188,0
+2006-01-27,12:17:00,3675.00,3676.00,3675.00,3676.00,649,0
+2006-01-27,12:18:00,3675.00,3676.00,3675.00,3676.00,216,0
+2006-01-27,12:19:00,3676.00,3676.00,3675.00,3676.00,895,0
+2006-01-27,12:20:00,3676.00,3676.00,3675.00,3676.00,315,0
+2006-01-27,12:21:00,3675.00,3676.00,3674.00,3675.00,650,0
+2006-01-27,12:22:00,3674.00,3675.00,3674.00,3674.00,456,0
+2006-01-27,12:23:00,3675.00,3675.00,3674.00,3674.00,904,0
+2006-01-27,12:24:00,3673.00,3674.00,3673.00,3674.00,127,0
+2006-01-27,12:25:00,3674.00,3674.00,3673.00,3674.00,255,0
+2006-01-27,12:26:00,3675.00,3675.00,3674.00,3675.00,272,0
+2006-01-27,12:27:00,3675.00,3675.00,3675.00,3675.00,423,0
+2006-01-27,12:28:00,3675.00,3676.00,3675.00,3676.00,888,0
+2006-01-27,12:29:00,3675.00,3676.00,3675.00,3675.00,587,0
+2006-01-27,12:30:00,3675.00,3675.00,3674.00,3675.00,1169,0
+2006-01-27,12:31:00,3675.00,3675.00,3674.00,3675.00,452,0
+2006-01-27,12:32:00,3674.00,3675.00,3674.00,3674.00,752,0
+2006-01-27,12:33:00,3674.00,3675.00,3673.00,3675.00,570,0
+2006-01-27,12:34:00,3675.00,3675.00,3675.00,3675.00,44,0
+2006-01-27,12:35:00,3675.00,3675.00,3675.00,3675.00,256,0
+2006-01-27,12:36:00,3675.00,3676.00,3675.00,3675.00,46,0
+2006-01-27,12:37:00,3675.00,3675.00,3674.00,3674.00,219,0
+2006-01-27,12:39:00,3675.00,3675.00,3674.00,3674.00,2,0
+2006-01-27,12:40:00,3674.00,3675.00,3674.00,3674.00,127,0
+2006-01-27,12:41:00,3674.00,3674.00,3674.00,3674.00,240,0
+2006-01-27,12:42:00,3674.00,3675.00,3674.00,3675.00,57,0
+2006-01-27,12:43:00,3675.00,3676.00,3675.00,3675.00,328,0
+2006-01-27,12:44:00,3676.00,3676.00,3676.00,3676.00,249,0
+2006-01-27,12:45:00,3675.00,3677.00,3675.00,3676.00,478,0
+2006-01-27,12:46:00,3676.00,3678.00,3676.00,3676.00,686,0
+2006-01-27,12:47:00,3677.00,3677.00,3676.00,3677.00,331,0
+2006-01-27,12:48:00,3677.00,3677.00,3676.00,3677.00,363,0
+2006-01-27,12:49:00,3677.00,3677.00,3676.00,3677.00,576,0
+2006-01-27,12:50:00,3677.00,3677.00,3677.00,3677.00,24,0
+2006-01-27,12:51:00,3677.00,3679.00,3677.00,3678.00,615,0
+2006-01-27,12:52:00,3679.00,3680.00,3678.00,3679.00,1226,0
+2006-01-27,12:53:00,3679.00,3679.00,3678.00,3679.00,403,0
+2006-01-27,12:54:00,3678.00,3679.00,3678.00,3679.00,245,0
+2006-01-27,12:55:00,3679.00,3679.00,3678.00,3679.00,41,0
+2006-01-27,12:56:00,3679.00,3679.00,3678.00,3678.00,195,0
+2006-01-27,12:57:00,3678.00,3679.00,3678.00,3679.00,236,0
+2006-01-27,12:58:00,3679.00,3679.00,3678.00,3678.00,105,0
+2006-01-27,12:59:00,3678.00,3678.00,3678.00,3678.00,67,0
+2006-01-27,13:00:00,3679.00,3679.00,3678.00,3678.00,40,0
+2006-01-27,13:01:00,3679.00,3679.00,3677.00,3677.00,646,0
+2006-01-27,13:02:00,3678.00,3678.00,3677.00,3678.00,538,0
+2006-01-27,13:03:00,3677.00,3677.00,3677.00,3677.00,10,0
+2006-01-27,13:04:00,3677.00,3678.00,3677.00,3678.00,72,0
+2006-01-27,13:05:00,3678.00,3678.00,3677.00,3677.00,419,0
+2006-01-27,13:06:00,3677.00,3678.00,3677.00,3677.00,44,0
+2006-01-27,13:07:00,3678.00,3678.00,3677.00,3677.00,106,0
+2006-01-27,13:09:00,3678.00,3678.00,3677.00,3678.00,374,0
+2006-01-27,13:10:00,3678.00,3679.00,3678.00,3678.00,216,0
+2006-01-27,13:11:00,3678.00,3678.00,3677.00,3678.00,77,0
+2006-01-27,13:12:00,3678.00,3678.00,3678.00,3678.00,1,0
+2006-01-27,13:13:00,3678.00,3678.00,3678.00,3678.00,27,0
+2006-01-27,13:14:00,3677.00,3677.00,3677.00,3677.00,19,0
+2006-01-27,13:15:00,3677.00,3678.00,3677.00,3677.00,586,0
+2006-01-27,13:16:00,3677.00,3677.00,3676.00,3677.00,207,0
+2006-01-27,13:17:00,3677.00,3677.00,3676.00,3676.00,10,0
+2006-01-27,13:18:00,3677.00,3677.00,3676.00,3676.00,947,0
+2006-01-27,13:19:00,3676.00,3676.00,3676.00,3676.00,44,0
+2006-01-27,13:20:00,3676.00,3677.00,3676.00,3677.00,1762,0
+2006-01-27,13:21:00,3676.00,3676.00,3676.00,3676.00,28,0
+2006-01-27,13:22:00,3676.00,3677.00,3676.00,3676.00,42,0
+2006-01-27,13:23:00,3676.00,3676.00,3676.00,3676.00,114,0
+2006-01-27,13:24:00,3676.00,3676.00,3675.00,3675.00,39,0
+2006-01-27,13:25:00,3675.00,3676.00,3675.00,3676.00,228,0
+2006-01-27,13:26:00,3675.00,3675.00,3675.00,3675.00,16,0
+2006-01-27,13:27:00,3675.00,3675.00,3674.00,3675.00,631,0
+2006-01-27,13:28:00,3675.00,3675.00,3674.00,3674.00,112,0
+2006-01-27,13:29:00,3674.00,3675.00,3674.00,3675.00,57,0
+2006-01-27,13:30:00,3675.00,3675.00,3675.00,3675.00,10,0
+2006-01-27,13:31:00,3674.00,3676.00,3674.00,3675.00,495,0
+2006-01-27,13:32:00,3675.00,3675.00,3674.00,3675.00,539,0
+2006-01-27,13:33:00,3675.00,3675.00,3674.00,3675.00,22,0
+2006-01-27,13:34:00,3675.00,3675.00,3675.00,3675.00,242,0
+2006-01-27,13:35:00,3675.00,3675.00,3674.00,3675.00,113,0
+2006-01-27,13:36:00,3674.00,3675.00,3673.00,3674.00,937,0
+2006-01-27,13:37:00,3674.00,3675.00,3672.00,3673.00,1046,0
+2006-01-27,13:38:00,3673.00,3673.00,3672.00,3672.00,529,0
+2006-01-27,13:39:00,3673.00,3676.00,3672.00,3676.00,2678,0
+2006-01-27,13:40:00,3675.00,3676.00,3674.00,3674.00,1142,0
+2006-01-27,13:41:00,3675.00,3676.00,3674.00,3675.00,127,0
+2006-01-27,13:42:00,3675.00,3676.00,3674.00,3676.00,1660,0
+2006-01-27,13:43:00,3676.00,3676.00,3675.00,3676.00,359,0
+2006-01-27,13:44:00,3676.00,3677.00,3676.00,3676.00,810,0
+2006-01-27,13:45:00,3676.00,3677.00,3676.00,3677.00,370,0
+2006-01-27,13:46:00,3676.00,3679.00,3676.00,3678.00,712,0
+2006-01-27,13:47:00,3679.00,3679.00,3677.00,3678.00,163,0
+2006-01-27,13:48:00,3677.00,3678.00,3677.00,3678.00,216,0
+2006-01-27,13:49:00,3679.00,3679.00,3678.00,3678.00,479,0
+2006-01-27,13:50:00,3678.00,3679.00,3678.00,3679.00,637,0
+2006-01-27,13:51:00,3678.00,3679.00,3678.00,3679.00,11,0
+2006-01-27,13:52:00,3678.00,3679.00,3678.00,3679.00,9,0
+2006-01-27,13:53:00,3678.00,3679.00,3678.00,3679.00,51,0
+2006-01-27,13:54:00,3679.00,3679.00,3678.00,3679.00,161,0
+2006-01-27,13:55:00,3679.00,3679.00,3678.00,3679.00,376,0
+2006-01-27,13:56:00,3679.00,3679.00,3678.00,3678.00,15,0
+2006-01-27,13:57:00,3678.00,3679.00,3678.00,3679.00,15,0
+2006-01-27,13:58:00,3679.00,3679.00,3678.00,3679.00,4,0
+2006-01-27,13:59:00,3678.00,3679.00,3678.00,3678.00,35,0
+2006-01-27,14:00:00,3678.00,3679.00,3677.00,3677.00,614,0
+2006-01-27,14:01:00,3678.00,3678.00,3677.00,3678.00,113,0
+2006-01-27,14:02:00,3677.00,3678.00,3677.00,3678.00,361,0
+2006-01-27,14:03:00,3678.00,3681.00,3678.00,3680.00,2651,0
+2006-01-27,14:04:00,3680.00,3681.00,3679.00,3679.00,743,0
+2006-01-27,14:05:00,3679.00,3680.00,3679.00,3680.00,2098,0
+2006-01-27,14:06:00,3680.00,3683.00,3679.00,3683.00,3114,0
+2006-01-27,14:07:00,3682.00,3683.00,3682.00,3683.00,704,0
+2006-01-27,14:08:00,3683.00,3683.00,3683.00,3683.00,218,0
+2006-01-27,14:09:00,3683.00,3683.00,3681.00,3681.00,1280,0
+2006-01-27,14:10:00,3682.00,3683.00,3681.00,3683.00,1047,0
+2006-01-27,14:11:00,3682.00,3686.00,3682.00,3684.00,3527,0
+2006-01-27,14:12:00,3683.00,3684.00,3682.00,3683.00,351,0
+2006-01-27,14:13:00,3683.00,3683.00,3681.00,3682.00,802,0
+2006-01-27,14:14:00,3682.00,3682.00,3682.00,3682.00,862,0
+2006-01-27,14:15:00,3682.00,3682.00,3682.00,3682.00,178,0
+2006-01-27,14:16:00,3682.00,3683.00,3682.00,3682.00,871,0
+2006-01-27,14:17:00,3682.00,3682.00,3682.00,3682.00,97,0
+2006-01-27,14:18:00,3681.00,3682.00,3681.00,3681.00,178,0
+2006-01-27,14:19:00,3682.00,3682.00,3681.00,3682.00,42,0
+2006-01-27,14:20:00,3682.00,3683.00,3682.00,3682.00,145,0
+2006-01-27,14:21:00,3682.00,3683.00,3681.00,3681.00,234,0
+2006-01-27,14:22:00,3682.00,3682.00,3681.00,3682.00,483,0
+2006-01-27,14:23:00,3682.00,3682.00,3681.00,3682.00,765,0
+2006-01-27,14:24:00,3681.00,3682.00,3681.00,3681.00,765,0
+2006-01-27,14:25:00,3681.00,3681.00,3679.00,3680.00,857,0
+2006-01-27,14:26:00,3679.00,3680.00,3678.00,3679.00,1278,0
+2006-01-27,14:27:00,3680.00,3680.00,3678.00,3678.00,1545,0
+2006-01-27,14:28:00,3678.00,3679.00,3678.00,3678.00,559,0
+2006-01-27,14:29:00,3679.00,3679.00,3679.00,3679.00,5,0
+2006-01-27,14:30:00,3679.00,3680.00,3678.00,3679.00,939,0
+2006-01-27,14:31:00,3679.00,3679.00,3667.00,3669.00,13775,0
+2006-01-27,14:32:00,3668.00,3673.00,3667.00,3673.00,4999,0
+2006-01-27,14:33:00,3673.00,3674.00,3671.00,3672.00,3979,0
+2006-01-27,14:34:00,3672.00,3673.00,3669.00,3670.00,2673,0
+2006-01-27,14:35:00,3670.00,3673.00,3670.00,3671.00,2424,0
+2006-01-27,14:36:00,3671.00,3671.00,3669.00,3669.00,2496,0
+2006-01-27,14:37:00,3670.00,3670.00,3663.00,3663.00,7632,0
+2006-01-27,14:38:00,3663.00,3665.00,3660.00,3662.00,5613,0
+2006-01-27,14:39:00,3662.00,3664.00,3661.00,3662.00,4287,0
+2006-01-27,14:40:00,3662.00,3662.00,3659.00,3660.00,2570,0
+2006-01-27,14:41:00,3660.00,3664.00,3660.00,3664.00,3640,0
+2006-01-27,14:42:00,3663.00,3668.00,3663.00,3668.00,4347,0
+2006-01-27,14:43:00,3668.00,3669.00,3667.00,3667.00,2913,0
+2006-01-27,14:44:00,3668.00,3671.00,3667.00,3670.00,4359,0
+2006-01-27,14:45:00,3669.00,3671.00,3669.00,3669.00,2466,0
+2006-01-27,14:46:00,3669.00,3669.00,3666.00,3667.00,1490,0
+2006-01-27,14:47:00,3667.00,3667.00,3666.00,3667.00,828,0
+2006-01-27,14:48:00,3667.00,3668.00,3665.00,3668.00,1053,0
+2006-01-27,14:49:00,3668.00,3668.00,3667.00,3668.00,1101,0
+2006-01-27,14:50:00,3668.00,3668.00,3667.00,3668.00,460,0
+2006-01-27,14:51:00,3667.00,3668.00,3666.00,3667.00,765,0
+2006-01-27,14:52:00,3667.00,3668.00,3667.00,3668.00,611,0
+2006-01-27,14:53:00,3668.00,3669.00,3666.00,3667.00,727,0
+2006-01-27,14:54:00,3666.00,3667.00,3666.00,3666.00,1019,0
+2006-01-27,14:55:00,3665.00,3667.00,3665.00,3667.00,1355,0
+2006-01-27,14:56:00,3667.00,3667.00,3666.00,3667.00,634,0
+2006-01-27,14:57:00,3666.00,3666.00,3664.00,3664.00,793,0
+2006-01-27,14:58:00,3664.00,3664.00,3660.00,3662.00,2440,0
+2006-01-27,14:59:00,3662.00,3664.00,3661.00,3661.00,1675,0
+2006-01-27,15:00:00,3661.00,3663.00,3661.00,3662.00,3502,0
+2006-01-27,15:01:00,3662.00,3663.00,3661.00,3662.00,1445,0
+2006-01-27,15:02:00,3662.00,3662.00,3660.00,3661.00,2404,0
+2006-01-27,15:03:00,3661.00,3662.00,3661.00,3662.00,716,0
+2006-01-27,15:04:00,3661.00,3662.00,3661.00,3661.00,1231,0
+2006-01-27,15:05:00,3662.00,3663.00,3662.00,3663.00,875,0
+2006-01-27,15:06:00,3663.00,3664.00,3663.00,3664.00,2003,0
+2006-01-27,15:07:00,3664.00,3666.00,3663.00,3666.00,1306,0
+2006-01-27,15:08:00,3666.00,3666.00,3664.00,3666.00,523,0
+2006-01-27,15:09:00,3665.00,3666.00,3665.00,3665.00,641,0
+2006-01-27,15:10:00,3665.00,3665.00,3663.00,3664.00,926,0
+2006-01-27,15:11:00,3664.00,3665.00,3664.00,3665.00,552,0
+2006-01-27,15:12:00,3664.00,3666.00,3664.00,3665.00,819,0
+2006-01-27,15:13:00,3665.00,3668.00,3665.00,3667.00,1119,0
+2006-01-27,15:14:00,3667.00,3668.00,3667.00,3668.00,559,0
+2006-01-27,15:15:00,3668.00,3668.00,3667.00,3668.00,588,0
+2006-01-27,15:16:00,3668.00,3670.00,3668.00,3670.00,3959,0
+2006-01-27,15:17:00,3671.00,3671.00,3669.00,3670.00,1644,0
+2006-01-27,15:18:00,3670.00,3670.00,3668.00,3670.00,662,0
+2006-01-27,15:19:00,3669.00,3670.00,3668.00,3668.00,523,0
+2006-01-27,15:20:00,3668.00,3669.00,3667.00,3668.00,513,0
+2006-01-27,15:21:00,3668.00,3668.00,3667.00,3667.00,1383,0
+2006-01-27,15:22:00,3667.00,3669.00,3667.00,3669.00,805,0
+2006-01-27,15:23:00,3669.00,3670.00,3669.00,3670.00,1054,0
+2006-01-27,15:24:00,3669.00,3670.00,3669.00,3669.00,1133,0
+2006-01-27,15:25:00,3669.00,3670.00,3669.00,3669.00,1065,0
+2006-01-27,15:26:00,3669.00,3671.00,3669.00,3671.00,292,0
+2006-01-27,15:27:00,3671.00,3674.00,3671.00,3673.00,2812,0
+2006-01-27,15:28:00,3673.00,3674.00,3673.00,3673.00,1808,0
+2006-01-27,15:29:00,3673.00,3673.00,3672.00,3673.00,708,0
+2006-01-27,15:30:00,3673.00,3673.00,3672.00,3673.00,593,0
+2006-01-27,15:31:00,3672.00,3674.00,3672.00,3674.00,387,0
+2006-01-27,15:32:00,3673.00,3677.00,3673.00,3676.00,2659,0
+2006-01-27,15:33:00,3677.00,3679.00,3677.00,3679.00,2636,0
+2006-01-27,15:34:00,3678.00,3678.00,3675.00,3675.00,2756,0
+2006-01-27,15:35:00,3675.00,3676.00,3672.00,3673.00,1534,0
+2006-01-27,15:36:00,3672.00,3673.00,3671.00,3671.00,1679,0
+2006-01-27,15:37:00,3671.00,3671.00,3669.00,3670.00,1940,0
+2006-01-27,15:38:00,3670.00,3671.00,3669.00,3671.00,1032,0
+2006-01-27,15:39:00,3670.00,3672.00,3669.00,3672.00,1787,0
+2006-01-27,15:40:00,3672.00,3672.00,3671.00,3671.00,2238,0
+2006-01-27,15:41:00,3670.00,3672.00,3670.00,3671.00,1451,0
+2006-01-27,15:42:00,3672.00,3673.00,3672.00,3672.00,648,0
+2006-01-27,15:43:00,3673.00,3674.00,3672.00,3673.00,2002,0
+2006-01-27,15:44:00,3673.00,3675.00,3672.00,3675.00,1226,0
+2006-01-27,15:45:00,3674.00,3675.00,3673.00,3674.00,766,0
+2006-01-27,15:46:00,3673.00,3676.00,3673.00,3675.00,2467,0
+2006-01-27,15:47:00,3675.00,3676.00,3674.00,3676.00,1944,0
+2006-01-27,15:48:00,3675.00,3676.00,3672.00,3672.00,3057,0
+2006-01-27,15:49:00,3673.00,3674.00,3672.00,3673.00,1464,0
+2006-01-27,15:50:00,3673.00,3675.00,3672.00,3673.00,5679,0
+2006-01-27,15:51:00,3673.00,3675.00,3673.00,3674.00,1250,0
+2006-01-27,15:52:00,3674.00,3674.00,3671.00,3671.00,1285,0
+2006-01-27,15:53:00,3671.00,3673.00,3670.00,3672.00,1355,0
+2006-01-27,15:54:00,3671.00,3672.00,3670.00,3672.00,1214,0
+2006-01-27,15:55:00,3672.00,3674.00,3672.00,3674.00,680,0
+2006-01-27,15:56:00,3673.00,3674.00,3673.00,3674.00,900,0
+2006-01-27,15:57:00,3674.00,3675.00,3674.00,3674.00,1002,0
+2006-01-27,15:58:00,3674.00,3676.00,3674.00,3675.00,2417,0
+2006-01-27,15:59:00,3674.00,3676.00,3674.00,3675.00,741,0
+2006-01-27,16:00:00,3675.00,3675.00,3674.00,3675.00,242,0
+2006-01-27,16:01:00,3675.00,3677.00,3674.00,3677.00,1575,0
+2006-01-27,16:02:00,3677.00,3681.00,3677.00,3680.00,5201,0
+2006-01-27,16:03:00,3680.00,3681.00,3679.00,3681.00,2510,0
+2006-01-27,16:04:00,3681.00,3684.00,3680.00,3684.00,4370,0
+2006-01-27,16:05:00,3684.00,3685.00,3682.00,3684.00,3060,0
+2006-01-27,16:06:00,3684.00,3689.00,3684.00,3689.00,4478,0
+2006-01-27,16:07:00,3689.00,3692.00,3688.00,3690.00,7071,0
+2006-01-27,16:08:00,3689.00,3690.00,3688.00,3688.00,2124,0
+2006-01-27,16:09:00,3688.00,3688.00,3686.00,3686.00,3029,0
+2006-01-27,16:10:00,3685.00,3686.00,3684.00,3686.00,2867,0
+2006-01-27,16:11:00,3686.00,3687.00,3685.00,3686.00,1903,0
+2006-01-27,16:12:00,3686.00,3688.00,3686.00,3687.00,1504,0
+2006-01-27,16:13:00,3687.00,3687.00,3686.00,3687.00,897,0
+2006-01-27,16:14:00,3686.00,3689.00,3685.00,3688.00,2585,0
+2006-01-27,16:15:00,3687.00,3687.00,3684.00,3686.00,1876,0
+2006-01-27,16:16:00,3685.00,3688.00,3684.00,3688.00,3080,0
+2006-01-27,16:17:00,3688.00,3692.00,3688.00,3689.00,5605,0
+2006-01-27,16:18:00,3689.00,3690.00,3688.00,3690.00,2179,0
+2006-01-27,16:19:00,3690.00,3691.00,3687.00,3688.00,2186,0
+2006-01-27,16:20:00,3688.00,3690.00,3688.00,3689.00,1942,0
+2006-01-27,16:21:00,3689.00,3689.00,3687.00,3688.00,1714,0
+2006-01-27,16:22:00,3688.00,3689.00,3687.00,3689.00,2358,0
+2006-01-27,16:23:00,3688.00,3689.00,3686.00,3687.00,1529,0
+2006-01-27,16:24:00,3686.00,3687.00,3686.00,3686.00,1599,0
+2006-01-27,16:25:00,3686.00,3688.00,3686.00,3688.00,1399,0
+2006-01-27,16:26:00,3688.00,3689.00,3687.00,3687.00,1250,0
+2006-01-27,16:27:00,3688.00,3691.00,3687.00,3688.00,3480,0
+2006-01-27,16:28:00,3687.00,3688.00,3687.00,3687.00,1050,0
+2006-01-27,16:29:00,3687.00,3687.00,3686.00,3686.00,2932,0
+2006-01-27,16:30:00,3687.00,3689.00,3686.00,3688.00,402,0
+2006-01-27,16:31:00,3689.00,3689.00,3686.00,3686.00,769,0
+2006-01-27,16:32:00,3686.00,3687.00,3683.00,3683.00,2684,0
+2006-01-27,16:33:00,3683.00,3685.00,3683.00,3684.00,2113,0
+2006-01-27,16:34:00,3685.00,3685.00,3683.00,3683.00,735,0
+2006-01-27,16:35:00,3683.00,3684.00,3683.00,3684.00,1643,0
+2006-01-27,16:36:00,3683.00,3685.00,3683.00,3685.00,1438,0
+2006-01-27,16:37:00,3685.00,3687.00,3684.00,3685.00,1850,0
+2006-01-27,16:38:00,3685.00,3685.00,3682.00,3683.00,1668,0
+2006-01-27,16:39:00,3683.00,3684.00,3683.00,3684.00,617,0
+2006-01-27,16:40:00,3683.00,3685.00,3683.00,3684.00,1504,0
+2006-01-27,16:41:00,3685.00,3687.00,3685.00,3687.00,1462,0
+2006-01-27,16:42:00,3687.00,3689.00,3687.00,3689.00,1181,0
+2006-01-27,16:43:00,3689.00,3690.00,3688.00,3690.00,1586,0
+2006-01-27,16:44:00,3689.00,3689.00,3687.00,3687.00,1120,0
+2006-01-27,16:45:00,3688.00,3690.00,3687.00,3690.00,1569,0
+2006-01-27,16:46:00,3690.00,3691.00,3688.00,3688.00,1458,0
+2006-01-27,16:47:00,3688.00,3689.00,3688.00,3688.00,1023,0
+2006-01-27,16:48:00,3687.00,3688.00,3686.00,3686.00,1009,0
+2006-01-27,16:49:00,3686.00,3687.00,3686.00,3686.00,584,0
+2006-01-27,16:50:00,3685.00,3688.00,3685.00,3688.00,1345,0
+2006-01-27,16:51:00,3688.00,3690.00,3687.00,3688.00,1539,0
+2006-01-27,16:52:00,3689.00,3690.00,3687.00,3688.00,1095,0
+2006-01-27,16:53:00,3689.00,3690.00,3688.00,3689.00,945,0
+2006-01-27,16:54:00,3689.00,3690.00,3688.00,3689.00,1710,0
+2006-01-27,16:55:00,3689.00,3690.00,3689.00,3689.00,377,0
+2006-01-27,16:56:00,3689.00,3690.00,3688.00,3689.00,1716,0
+2006-01-27,16:57:00,3689.00,3691.00,3688.00,3690.00,1312,0
+2006-01-27,16:58:00,3690.00,3693.00,3690.00,3692.00,3071,0
+2006-01-27,16:59:00,3692.00,3692.00,3690.00,3690.00,708,0
+2006-01-27,17:00:00,3690.00,3690.00,3688.00,3689.00,2327,0
+2006-01-27,17:01:00,3689.00,3689.00,3688.00,3688.00,1571,0
+2006-01-27,17:02:00,3688.00,3688.00,3687.00,3688.00,1502,0
+2006-01-27,17:03:00,3687.00,3687.00,3686.00,3687.00,875,0
+2006-01-27,17:04:00,3687.00,3687.00,3686.00,3687.00,650,0
+2006-01-27,17:05:00,3688.00,3689.00,3688.00,3689.00,480,0
+2006-01-27,17:06:00,3689.00,3690.00,3689.00,3690.00,1689,0
+2006-01-27,17:07:00,3690.00,3691.00,3689.00,3690.00,803,0
+2006-01-27,17:08:00,3689.00,3691.00,3689.00,3690.00,1154,0
+2006-01-27,17:09:00,3690.00,3691.00,3689.00,3689.00,563,0
+2006-01-27,17:10:00,3689.00,3690.00,3689.00,3690.00,523,0
+2006-01-27,17:11:00,3689.00,3690.00,3689.00,3689.00,163,0
+2006-01-27,17:12:00,3690.00,3690.00,3688.00,3689.00,1746,0
+2006-01-27,17:13:00,3688.00,3691.00,3688.00,3689.00,3555,0
+2006-01-27,17:14:00,3689.00,3689.00,3688.00,3689.00,1972,0
+2006-01-27,17:15:00,3688.00,3690.00,3688.00,3689.00,452,0
+2006-01-27,17:16:00,3689.00,3691.00,3688.00,3691.00,974,0
+2006-01-27,17:17:00,3691.00,3691.00,3690.00,3691.00,1366,0
+2006-01-27,17:18:00,3691.00,3694.00,3691.00,3694.00,4559,0
+2006-01-27,17:19:00,3694.00,3695.00,3693.00,3694.00,3939,0
+2006-01-27,17:20:00,3694.00,3694.00,3693.00,3694.00,2057,0
+2006-01-27,17:21:00,3694.00,3694.00,3692.00,3693.00,2093,0
+2006-01-27,17:22:00,3693.00,3694.00,3692.00,3693.00,1378,0
+2006-01-27,17:23:00,3693.00,3694.00,3692.00,3693.00,1155,0
+2006-01-27,17:24:00,3693.00,3694.00,3691.00,3692.00,1757,0
+2006-01-27,17:25:00,3692.00,3692.00,3691.00,3692.00,1332,0
+2006-01-27,17:26:00,3692.00,3693.00,3691.00,3691.00,1671,0
+2006-01-27,17:27:00,3692.00,3692.00,3691.00,3692.00,3388,0
+2006-01-27,17:28:00,3692.00,3693.00,3691.00,3692.00,1228,0
+2006-01-27,17:29:00,3692.00,3693.00,3692.00,3693.00,2606,0
+2006-01-27,17:30:00,3693.00,3694.00,3692.00,3693.00,4369,0
+2006-01-27,17:31:00,3693.00,3694.00,3692.00,3693.00,3741,0
+2006-01-27,17:32:00,3693.00,3694.00,3692.00,3693.00,2049,0
+2006-01-27,17:33:00,3693.00,3693.00,3691.00,3692.00,1518,0
+2006-01-27,17:34:00,3692.00,3693.00,3691.00,3692.00,1947,0
+2006-01-27,17:35:00,3692.00,3692.00,3691.00,3691.00,4335,0
+2006-01-27,17:36:00,3691.00,3692.00,3690.00,3692.00,1323,0
+2006-01-27,17:37:00,3692.00,3692.00,3691.00,3692.00,551,0
+2006-01-27,17:38:00,3691.00,3693.00,3691.00,3692.00,1344,0
+2006-01-27,17:39:00,3692.00,3692.00,3691.00,3692.00,284,0
+2006-01-27,17:40:00,3692.00,3692.00,3691.00,3692.00,301,0
+2006-01-27,17:41:00,3692.00,3692.00,3689.00,3689.00,1212,0
+2006-01-27,17:42:00,3689.00,3690.00,3689.00,3689.00,885,0
+2006-01-27,17:43:00,3689.00,3690.00,3688.00,3688.00,1701,0
+2006-01-27,17:44:00,3688.00,3688.00,3687.00,3687.00,1633,0
+2006-01-27,17:45:00,3687.00,3688.00,3687.00,3688.00,507,0
+2006-01-27,17:46:00,3688.00,3688.00,3687.00,3687.00,1441,0
+2006-01-27,17:47:00,3688.00,3689.00,3687.00,3688.00,3231,0
+2006-01-27,17:48:00,3688.00,3688.00,3687.00,3688.00,673,0
+2006-01-27,17:49:00,3688.00,3690.00,3688.00,3689.00,375,0
+2006-01-27,17:50:00,3690.00,3691.00,3689.00,3690.00,437,0
+2006-01-27,17:51:00,3690.00,3691.00,3690.00,3690.00,935,0
+2006-01-27,17:52:00,3691.00,3691.00,3690.00,3691.00,386,0
+2006-01-27,17:53:00,3691.00,3693.00,3691.00,3692.00,1140,0
+2006-01-27,17:54:00,3692.00,3694.00,3692.00,3694.00,892,0
+2006-01-27,17:55:00,3693.00,3694.00,3693.00,3693.00,918,0
+2006-01-27,17:56:00,3693.00,3694.00,3693.00,3693.00,722,0
+2006-01-27,17:57:00,3693.00,3693.00,3692.00,3693.00,433,0
+2006-01-27,17:58:00,3692.00,3692.00,3691.00,3691.00,675,0
+2006-01-27,17:59:00,3692.00,3692.00,3691.00,3692.00,31,0
+2006-01-27,18:00:00,3692.00,3692.00,3690.00,3692.00,748,0
+2006-01-27,18:01:00,3692.00,3692.00,3692.00,3692.00,572,0
+2006-01-27,18:02:00,3692.00,3693.00,3692.00,3692.00,203,0
+2006-01-27,18:03:00,3692.00,3692.00,3691.00,3691.00,1007,0
+2006-01-27,18:04:00,3691.00,3692.00,3691.00,3692.00,564,0
+2006-01-27,18:05:00,3691.00,3691.00,3690.00,3691.00,639,0
+2006-01-27,18:06:00,3691.00,3691.00,3690.00,3690.00,236,0
+2006-01-27,18:07:00,3690.00,3691.00,3690.00,3691.00,257,0
+2006-01-27,18:08:00,3692.00,3692.00,3691.00,3692.00,160,0
+2006-01-27,18:09:00,3691.00,3691.00,3691.00,3691.00,121,0
+2006-01-27,18:10:00,3692.00,3693.00,3691.00,3692.00,225,0
+2006-01-27,18:11:00,3692.00,3692.00,3691.00,3691.00,613,0
+2006-01-27,18:12:00,3691.00,3692.00,3690.00,3690.00,169,0
+2006-01-27,18:13:00,3690.00,3691.00,3690.00,3690.00,116,0
+2006-01-27,18:14:00,3691.00,3691.00,3690.00,3691.00,223,0
+2006-01-27,18:15:00,3691.00,3691.00,3690.00,3691.00,363,0
+2006-01-27,18:16:00,3691.00,3692.00,3691.00,3692.00,306,0
+2006-01-27,18:17:00,3691.00,3692.00,3691.00,3691.00,173,0
+2006-01-27,18:18:00,3692.00,3692.00,3691.00,3691.00,51,0
+2006-01-27,18:19:00,3692.00,3692.00,3691.00,3692.00,237,0
+2006-01-27,18:20:00,3691.00,3692.00,3691.00,3692.00,658,0
+2006-01-27,18:21:00,3692.00,3694.00,3692.00,3693.00,581,0
+2006-01-27,18:22:00,3693.00,3694.00,3693.00,3694.00,583,0
+2006-01-27,18:23:00,3693.00,3694.00,3692.00,3692.00,217,0
+2006-01-27,18:24:00,3693.00,3693.00,3692.00,3692.00,246,0
+2006-01-27,18:25:00,3692.00,3692.00,3691.00,3691.00,654,0
+2006-01-27,18:26:00,3691.00,3692.00,3690.00,3691.00,400,0
+2006-01-27,18:27:00,3691.00,3691.00,3691.00,3691.00,472,0
+2006-01-27,18:28:00,3691.00,3691.00,3691.00,3691.00,50,0
+2006-01-27,18:29:00,3692.00,3692.00,3691.00,3692.00,202,0
+2006-01-27,18:30:00,3692.00,3692.00,3691.00,3691.00,57,0
+2006-01-27,18:31:00,3691.00,3691.00,3691.00,3691.00,269,0
+2006-01-27,18:32:00,3692.00,3692.00,3690.00,3690.00,254,0
+2006-01-27,18:33:00,3690.00,3691.00,3690.00,3690.00,180,0
+2006-01-27,18:34:00,3690.00,3690.00,3690.00,3690.00,323,0
+2006-01-27,18:35:00,3689.00,3689.00,3688.00,3688.00,628,0
+2006-01-27,18:36:00,3688.00,3689.00,3688.00,3688.00,541,0
+2006-01-27,18:37:00,3688.00,3689.00,3688.00,3688.00,141,0
+2006-01-27,18:38:00,3688.00,3689.00,3688.00,3689.00,508,0
+2006-01-27,18:39:00,3689.00,3689.00,3687.00,3688.00,366,0
+2006-01-27,18:40:00,3687.00,3688.00,3687.00,3688.00,95,0
+2006-01-27,18:41:00,3687.00,3688.00,3687.00,3688.00,367,0
+2006-01-27,18:42:00,3687.00,3687.00,3686.00,3687.00,279,0
+2006-01-27,18:43:00,3687.00,3687.00,3687.00,3687.00,100,0
+2006-01-27,18:44:00,3687.00,3688.00,3686.00,3688.00,136,0
+2006-01-27,18:45:00,3687.00,3687.00,3686.00,3687.00,307,0
+2006-01-27,18:46:00,3687.00,3687.00,3687.00,3687.00,171,0
+2006-01-27,18:47:00,3687.00,3687.00,3686.00,3687.00,107,0
+2006-01-27,18:48:00,3687.00,3687.00,3686.00,3687.00,48,0
+2006-01-27,18:49:00,3687.00,3687.00,3686.00,3687.00,148,0
+2006-01-27,18:50:00,3686.00,3687.00,3686.00,3687.00,52,0
+2006-01-27,18:51:00,3686.00,3687.00,3686.00,3687.00,117,0
+2006-01-27,18:52:00,3686.00,3686.00,3686.00,3686.00,94,0
+2006-01-27,18:53:00,3686.00,3687.00,3686.00,3687.00,373,0
+2006-01-27,18:54:00,3687.00,3687.00,3687.00,3687.00,546,0
+2006-01-27,18:55:00,3687.00,3687.00,3686.00,3687.00,104,0
+2006-01-27,18:56:00,3686.00,3687.00,3686.00,3687.00,101,0
+2006-01-27,18:57:00,3686.00,3687.00,3686.00,3686.00,474,0
+2006-01-27,18:58:00,3686.00,3686.00,3685.00,3685.00,1099,0
+2006-01-27,18:59:00,3685.00,3685.00,3684.00,3685.00,296,0
+2006-01-27,19:00:00,3684.00,3685.00,3684.00,3685.00,846,0
+2006-01-27,19:01:00,3685.00,3685.00,3685.00,3685.00,67,0
+2006-01-27,19:02:00,3685.00,3685.00,3684.00,3685.00,85,0
+2006-01-27,19:03:00,3685.00,3685.00,3681.00,3682.00,1338,0
+2006-01-27,19:04:00,3681.00,3682.00,3681.00,3682.00,1310,0
+2006-01-27,19:05:00,3682.00,3682.00,3681.00,3681.00,283,0
+2006-01-27,19:06:00,3681.00,3683.00,3681.00,3682.00,404,0
+2006-01-27,19:07:00,3682.00,3682.00,3681.00,3681.00,285,0
+2006-01-27,19:08:00,3681.00,3681.00,3677.00,3678.00,1981,0
+2006-01-27,19:09:00,3679.00,3679.00,3678.00,3679.00,217,0
+2006-01-27,19:10:00,3679.00,3679.00,3679.00,3679.00,145,0
+2006-01-27,19:11:00,3679.00,3680.00,3679.00,3680.00,531,0
+2006-01-27,19:12:00,3680.00,3680.00,3680.00,3680.00,187,0
+2006-01-27,19:13:00,3680.00,3680.00,3679.00,3680.00,143,0
+2006-01-27,19:14:00,3679.00,3679.00,3678.00,3678.00,178,0
+2006-01-27,19:15:00,3678.00,3678.00,3677.00,3678.00,97,0
+2006-01-27,19:16:00,3678.00,3679.00,3678.00,3678.00,131,0
+2006-01-27,19:17:00,3678.00,3678.00,3677.00,3677.00,86,0
+2006-01-27,19:18:00,3678.00,3678.00,3678.00,3678.00,6,0
+2006-01-27,19:19:00,3678.00,3679.00,3678.00,3678.00,61,0
+2006-01-27,19:20:00,3678.00,3678.00,3677.00,3678.00,98,0
+2006-01-27,19:21:00,3678.00,3678.00,3678.00,3678.00,18,0
+2006-01-27,19:22:00,3677.00,3679.00,3677.00,3679.00,428,0
+2006-01-27,19:23:00,3679.00,3682.00,3679.00,3682.00,221,0
+2006-01-27,19:24:00,3682.00,3682.00,3681.00,3681.00,109,0
+2006-01-27,19:25:00,3681.00,3681.00,3679.00,3680.00,98,0
+2006-01-27,19:26:00,3680.00,3680.00,3680.00,3680.00,20,0
+2006-01-27,19:27:00,3680.00,3681.00,3679.00,3680.00,23,0
+2006-01-27,19:28:00,3680.00,3680.00,3680.00,3680.00,32,0
+2006-01-27,19:30:00,3680.00,3680.00,3680.00,3680.00,39,0
+2006-01-27,19:31:00,3681.00,3682.00,3680.00,3682.00,542,0
+2006-01-27,19:32:00,3682.00,3682.00,3681.00,3682.00,441,0
+2006-01-27,19:33:00,3681.00,3681.00,3680.00,3680.00,117,0
+2006-01-27,19:34:00,3680.00,3680.00,3680.00,3680.00,49,0
+2006-01-27,19:35:00,3680.00,3680.00,3679.00,3679.00,21,0
+2006-01-27,19:36:00,3679.00,3679.00,3677.00,3678.00,148,0
+2006-01-27,19:37:00,3677.00,3678.00,3677.00,3678.00,403,0
+2006-01-27,19:38:00,3678.00,3679.00,3678.00,3678.00,110,0
+2006-01-27,19:39:00,3678.00,3678.00,3677.00,3677.00,142,0
+2006-01-27,19:40:00,3677.00,3677.00,3677.00,3677.00,234,0
+2006-01-27,19:41:00,3677.00,3678.00,3677.00,3677.00,113,0
+2006-01-27,19:42:00,3677.00,3677.00,3676.00,3677.00,59,0
+2006-01-27,19:43:00,3677.00,3677.00,3677.00,3677.00,145,0
+2006-01-27,19:44:00,3677.00,3677.00,3676.00,3677.00,269,0
+2006-01-27,19:45:00,3677.00,3678.00,3676.00,3678.00,384,0
+2006-01-27,19:46:00,3678.00,3678.00,3677.00,3678.00,461,0
+2006-01-27,19:47:00,3677.00,3678.00,3677.00,3677.00,117,0
+2006-01-27,19:48:00,3677.00,3677.00,3676.00,3677.00,49,0
+2006-01-27,19:49:00,3677.00,3677.00,3677.00,3677.00,50,0
+2006-01-27,19:50:00,3677.00,3677.00,3677.00,3677.00,21,0
+2006-01-27,19:51:00,3677.00,3678.00,3677.00,3678.00,148,0
+2006-01-27,19:52:00,3677.00,3679.00,3677.00,3679.00,255,0
+2006-01-27,19:53:00,3679.00,3680.00,3678.00,3678.00,460,0
+2006-01-27,19:54:00,3679.00,3679.00,3679.00,3679.00,12,0
+2006-01-27,19:55:00,3679.00,3679.00,3679.00,3679.00,20,0
+2006-01-27,19:56:00,3679.00,3679.00,3679.00,3679.00,7,0
+2006-01-27,19:57:00,3678.00,3678.00,3678.00,3678.00,7,0
+2006-01-27,19:58:00,3678.00,3678.00,3678.00,3678.00,129,0
+2006-01-27,19:59:00,3678.00,3678.00,3677.00,3677.00,226,0
+2006-01-27,20:00:00,3677.00,3677.00,3677.00,3677.00,15,0
+2006-01-27,20:01:00,3676.00,3678.00,3676.00,3678.00,405,0
+2006-01-27,20:02:00,3678.00,3678.00,3678.00,3678.00,137,0
+2006-01-27,20:03:00,3679.00,3680.00,3679.00,3680.00,188,0
+2006-01-27,20:04:00,3680.00,3680.00,3680.00,3680.00,121,0
+2006-01-27,20:05:00,3680.00,3681.00,3680.00,3681.00,120,0
+2006-01-27,20:07:00,3680.00,3680.00,3680.00,3680.00,3,0
+2006-01-27,20:08:00,3680.00,3680.00,3680.00,3680.00,11,0
+2006-01-27,20:09:00,3679.00,3679.00,3679.00,3679.00,13,0
+2006-01-27,20:10:00,3679.00,3679.00,3679.00,3679.00,52,0
+2006-01-27,20:11:00,3679.00,3679.00,3679.00,3679.00,47,0
+2006-01-27,20:12:00,3680.00,3680.00,3680.00,3680.00,1,0
+2006-01-27,20:13:00,3680.00,3680.00,3680.00,3680.00,4,0
+2006-01-27,20:14:00,3679.00,3679.00,3679.00,3679.00,16,0
+2006-01-27,20:15:00,3679.00,3679.00,3678.00,3678.00,46,0
+2006-01-27,20:16:00,3678.00,3678.00,3677.00,3678.00,60,0
+2006-01-27,20:17:00,3679.00,3679.00,3679.00,3679.00,8,0
+2006-01-27,20:18:00,3679.00,3680.00,3679.00,3680.00,68,0
+2006-01-27,20:19:00,3679.00,3679.00,3679.00,3679.00,38,0
+2006-01-27,20:20:00,3679.00,3679.00,3679.00,3679.00,30,0
+2006-01-27,20:21:00,3679.00,3679.00,3679.00,3679.00,73,0
+2006-01-27,20:22:00,3680.00,3682.00,3680.00,3682.00,400,0
+2006-01-27,20:23:00,3682.00,3683.00,3682.00,3682.00,69,0
+2006-01-27,20:24:00,3683.00,3684.00,3683.00,3683.00,79,0
+2006-01-27,20:25:00,3684.00,3684.00,3683.00,3683.00,83,0
+2006-01-27,20:26:00,3683.00,3683.00,3683.00,3683.00,7,0
+2006-01-27,20:27:00,3683.00,3683.00,3683.00,3683.00,148,0
+2006-01-27,20:28:00,3683.00,3683.00,3683.00,3683.00,31,0
+2006-01-27,20:29:00,3683.00,3683.00,3683.00,3683.00,5,0
+2006-01-27,20:30:00,3683.00,3684.00,3683.00,3684.00,37,0
+2006-01-27,20:31:00,3683.00,3683.00,3683.00,3683.00,35,0
+2006-01-27,20:32:00,3683.00,3683.00,3683.00,3683.00,6,0
+2006-01-27,20:33:00,3683.00,3683.00,3682.00,3682.00,3,0
+2006-01-27,20:34:00,3682.00,3683.00,3682.00,3683.00,8,0
+2006-01-27,20:35:00,3682.00,3682.00,3682.00,3682.00,9,0
+2006-01-27,20:36:00,3681.00,3681.00,3679.00,3679.00,35,0
+2006-01-27,20:37:00,3679.00,3679.00,3677.00,3677.00,207,0
+2006-01-27,20:38:00,3678.00,3678.00,3677.00,3677.00,22,0
+2006-01-27,20:39:00,3678.00,3678.00,3676.00,3676.00,212,0
+2006-01-27,20:40:00,3675.00,3676.00,3675.00,3676.00,67,0
+2006-01-27,20:41:00,3676.00,3676.00,3676.00,3676.00,53,0
+2006-01-27,20:42:00,3676.00,3676.00,3676.00,3676.00,30,0
+2006-01-27,20:43:00,3676.00,3676.00,3676.00,3676.00,3,0
+2006-01-27,20:44:00,3676.00,3677.00,3676.00,3677.00,92,0
+2006-01-27,20:45:00,3677.00,3677.00,3677.00,3677.00,18,0
+2006-01-27,20:46:00,3677.00,3677.00,3677.00,3677.00,15,0
+2006-01-27,20:48:00,3676.00,3676.00,3676.00,3676.00,9,0
+2006-01-27,20:49:00,3676.00,3676.00,3675.00,3676.00,24,0
+2006-01-27,20:51:00,3676.00,3676.00,3676.00,3676.00,69,0
+2006-01-27,20:52:00,3675.00,3677.00,3675.00,3677.00,173,0
+2006-01-27,20:53:00,3677.00,3677.00,3677.00,3677.00,18,0
+2006-01-27,20:54:00,3677.00,3677.00,3676.00,3676.00,388,0
+2006-01-27,20:55:00,3676.00,3676.00,3676.00,3676.00,31,0
+2006-01-27,20:56:00,3676.00,3676.00,3676.00,3676.00,4,0
+2006-01-27,20:57:00,3677.00,3677.00,3677.00,3677.00,4,0
+2006-01-27,20:59:00,3676.00,3676.00,3676.00,3676.00,39,0
+2006-01-27,21:00:00,3676.00,3677.00,3676.00,3677.00,96,0
+2006-01-27,21:01:00,3678.00,3680.00,3678.00,3680.00,95,0
+2006-01-27,21:02:00,3679.00,3680.00,3678.00,3678.00,18,0
+2006-01-27,21:03:00,3678.00,3679.00,3678.00,3679.00,51,0
+2006-01-27,21:04:00,3678.00,3678.00,3677.00,3677.00,25,0
+2006-01-27,21:06:00,3677.00,3678.00,3677.00,3678.00,160,0
+2006-01-27,21:07:00,3677.00,3677.00,3677.00,3677.00,122,0
+2006-01-27,21:08:00,3677.00,3677.00,3677.00,3677.00,53,0
+2006-01-27,21:09:00,3678.00,3678.00,3678.00,3678.00,35,0
+2006-01-27,21:10:00,3677.00,3677.00,3677.00,3677.00,222,0
+2006-01-27,21:11:00,3678.00,3678.00,3678.00,3678.00,21,0
+2006-01-27,21:12:00,3677.00,3677.00,3677.00,3677.00,2,0
+2006-01-27,21:13:00,3678.00,3679.00,3678.00,3678.00,39,0
+2006-01-27,21:14:00,3678.00,3679.00,3678.00,3679.00,10,0
+2006-01-27,21:15:00,3679.00,3679.00,3678.00,3678.00,9,0
+2006-01-27,21:16:00,3679.00,3680.00,3679.00,3680.00,218,0
+2006-01-27,21:17:00,3681.00,3682.00,3680.00,3681.00,65,0
+2006-01-27,21:18:00,3680.00,3681.00,3680.00,3681.00,75,0
+2006-01-27,21:19:00,3681.00,3682.00,3681.00,3682.00,76,0
+2006-01-27,21:20:00,3681.00,3681.00,3680.00,3680.00,65,0
+2006-01-27,21:21:00,3680.00,3680.00,3680.00,3680.00,15,0
+2006-01-27,21:22:00,3680.00,3680.00,3680.00,3680.00,19,0
+2006-01-27,21:23:00,3679.00,3681.00,3679.00,3681.00,131,0
+2006-01-27,21:24:00,3680.00,3680.00,3680.00,3680.00,28,0
+2006-01-27,21:25:00,3680.00,3680.00,3680.00,3680.00,5,0
+2006-01-27,21:26:00,3679.00,3679.00,3679.00,3679.00,32,0
+2006-01-27,21:27:00,3678.00,3679.00,3678.00,3678.00,123,0
+2006-01-27,21:28:00,3678.00,3679.00,3678.00,3679.00,40,0
+2006-01-27,21:29:00,3679.00,3679.00,3679.00,3679.00,45,0
+2006-01-27,21:30:00,3679.00,3679.00,3679.00,3679.00,108,0
+2006-01-27,21:31:00,3679.00,3679.00,3679.00,3679.00,42,0
+2006-01-27,21:33:00,3678.00,3679.00,3677.00,3679.00,31,0
+2006-01-27,21:36:00,3678.00,3678.00,3678.00,3678.00,20,0
+2006-01-27,21:37:00,3679.00,3679.00,3679.00,3679.00,1,0
+2006-01-27,21:38:00,3679.00,3680.00,3679.00,3680.00,301,0
+2006-01-27,21:39:00,3679.00,3679.00,3679.00,3679.00,11,0
+2006-01-27,21:40:00,3679.00,3679.00,3679.00,3679.00,44,0
+2006-01-27,21:42:00,3679.00,3679.00,3679.00,3679.00,100,0
+2006-01-27,21:45:00,3679.00,3679.00,3679.00,3679.00,20,0
+2006-01-27,21:46:00,3680.00,3680.00,3679.00,3679.00,51,0
+2006-01-27,21:48:00,3680.00,3680.00,3679.00,3679.00,120,0
+2006-01-27,21:49:00,3680.00,3680.00,3680.00,3680.00,7,0
+2006-01-27,21:50:00,3680.00,3680.00,3680.00,3680.00,5,0
+2006-01-27,21:51:00,3680.00,3680.00,3679.00,3680.00,76,0
+2006-01-27,21:52:00,3680.00,3680.00,3680.00,3680.00,15,0
+2006-01-27,21:53:00,3680.00,3680.00,3679.00,3679.00,9,0
+2006-01-27,21:54:00,3680.00,3680.00,3678.00,3679.00,82,0
+2006-01-27,21:55:00,3680.00,3680.00,3679.00,3680.00,114,0
+2006-01-27,21:56:00,3680.00,3681.00,3680.00,3680.00,305,0
+2006-01-27,21:57:00,3681.00,3683.00,3680.00,3682.00,280,0
+2006-01-27,21:58:00,3681.00,3683.00,3681.00,3683.00,226,0
+2006-01-27,21:59:00,3682.00,3682.00,3681.00,3682.00,167,0
+2006-01-27,22:00:00,3682.00,3685.00,3681.00,3685.00,578,0
+2006-01-30,09:01:00,3687.00,3687.00,3687.00,3687.00,1720,0
+2006-01-30,09:02:00,3687.00,3687.00,3684.00,3685.00,1674,0
+2006-01-30,09:03:00,3684.00,3685.00,3682.00,3683.00,2060,0
+2006-01-30,09:04:00,3683.00,3683.00,3683.00,3683.00,3,0
+2006-01-30,09:05:00,3683.00,3683.00,3683.00,3683.00,44,0
+2006-01-30,09:06:00,3679.00,3680.00,3679.00,3680.00,1492,0
+2006-01-30,09:07:00,3679.00,3680.00,3677.00,3678.00,3841,0
+2006-01-30,09:08:00,3678.00,3679.00,3677.00,3679.00,1822,0
+2006-01-30,09:09:00,3679.00,3679.00,3676.00,3677.00,2186,0
+2006-01-30,09:10:00,3676.00,3678.00,3675.00,3675.00,2104,0
+2006-01-30,09:11:00,3675.00,3675.00,3672.00,3675.00,4405,0
+2006-01-30,09:12:00,3676.00,3676.00,3675.00,3675.00,854,0
+2006-01-30,09:13:00,3675.00,3677.00,3675.00,3676.00,1194,0
+2006-01-30,09:14:00,3676.00,3677.00,3676.00,3676.00,201,0
+2006-01-30,09:15:00,3676.00,3677.00,3676.00,3676.00,942,0
+2006-01-30,09:16:00,3677.00,3677.00,3676.00,3677.00,168,0
+2006-01-30,09:17:00,3677.00,3677.00,3676.00,3677.00,1543,0
+2006-01-30,09:18:00,3677.00,3677.00,3675.00,3677.00,1556,0
+2006-01-30,09:19:00,3678.00,3678.00,3677.00,3677.00,750,0
+2006-01-30,09:20:00,3677.00,3679.00,3677.00,3678.00,1488,0
+2006-01-30,09:21:00,3678.00,3679.00,3678.00,3679.00,708,0
+2006-01-30,09:22:00,3679.00,3679.00,3678.00,3679.00,427,0
+2006-01-30,09:23:00,3679.00,3680.00,3679.00,3680.00,1028,0
+2006-01-30,09:24:00,3680.00,3682.00,3680.00,3682.00,1234,0
+2006-01-30,09:25:00,3682.00,3682.00,3681.00,3681.00,1197,0
+2006-01-30,09:26:00,3681.00,3682.00,3681.00,3682.00,529,0
+2006-01-30,09:27:00,3683.00,3685.00,3683.00,3684.00,1841,0
+2006-01-30,09:28:00,3684.00,3684.00,3683.00,3683.00,1060,0
+2006-01-30,09:29:00,3684.00,3684.00,3683.00,3684.00,630,0
+2006-01-30,09:30:00,3683.00,3684.00,3682.00,3683.00,721,0
+2006-01-30,09:31:00,3683.00,3684.00,3683.00,3684.00,1263,0
+2006-01-30,09:32:00,3685.00,3685.00,3683.00,3684.00,1219,0
+2006-01-30,09:33:00,3683.00,3683.00,3682.00,3682.00,2334,0
+2006-01-30,09:34:00,3682.00,3682.00,3681.00,3682.00,429,0
+2006-01-30,09:35:00,3682.00,3683.00,3682.00,3683.00,572,0
+2006-01-30,09:36:00,3682.00,3683.00,3681.00,3683.00,580,0
+2006-01-30,09:37:00,3682.00,3683.00,3681.00,3682.00,607,0
+2006-01-30,09:38:00,3682.00,3683.00,3682.00,3683.00,86,0
+2006-01-30,09:39:00,3683.00,3683.00,3682.00,3682.00,638,0
+2006-01-30,09:40:00,3682.00,3683.00,3682.00,3682.00,772,0
+2006-01-30,09:41:00,3682.00,3684.00,3682.00,3684.00,1253,0
+2006-01-30,09:42:00,3684.00,3687.00,3683.00,3687.00,1743,0
+2006-01-30,09:43:00,3687.00,3688.00,3686.00,3687.00,1163,0
+2006-01-30,09:44:00,3686.00,3687.00,3686.00,3687.00,657,0
+2006-01-30,09:45:00,3687.00,3688.00,3687.00,3687.00,1604,0
+2006-01-30,09:46:00,3687.00,3687.00,3685.00,3685.00,794,0
+2006-01-30,09:47:00,3685.00,3687.00,3685.00,3687.00,672,0
+2006-01-30,09:48:00,3687.00,3687.00,3684.00,3685.00,838,0
+2006-01-30,09:49:00,3685.00,3687.00,3685.00,3687.00,711,0
+2006-01-30,09:50:00,3686.00,3687.00,3685.00,3686.00,387,0
+2006-01-30,09:51:00,3686.00,3686.00,3686.00,3686.00,508,0
+2006-01-30,09:52:00,3686.00,3686.00,3686.00,3686.00,274,0
+2006-01-30,09:53:00,3686.00,3687.00,3686.00,3687.00,9,0
+2006-01-30,09:54:00,3686.00,3687.00,3686.00,3687.00,128,0
+2006-01-30,09:55:00,3687.00,3689.00,3687.00,3689.00,1874,0
+2006-01-30,09:56:00,3689.00,3690.00,3688.00,3689.00,968,0
+2006-01-30,09:57:00,3688.00,3689.00,3687.00,3689.00,853,0
+2006-01-30,09:58:00,3689.00,3690.00,3689.00,3690.00,445,0
+2006-01-30,09:59:00,3690.00,3692.00,3690.00,3691.00,2814,0
+2006-01-30,10:00:00,3691.00,3693.00,3691.00,3692.00,1602,0
+2006-01-30,10:01:00,3692.00,3692.00,3691.00,3692.00,1301,0
+2006-01-30,10:02:00,3692.00,3694.00,3691.00,3691.00,1957,0
+2006-01-30,10:03:00,3692.00,3692.00,3690.00,3691.00,1190,0
+2006-01-30,10:04:00,3692.00,3692.00,3691.00,3691.00,42,0
+2006-01-30,10:05:00,3692.00,3693.00,3692.00,3692.00,1274,0
+2006-01-30,10:06:00,3692.00,3692.00,3691.00,3692.00,400,0
+2006-01-30,10:07:00,3692.00,3693.00,3692.00,3693.00,366,0
+2006-01-30,10:08:00,3693.00,3693.00,3692.00,3692.00,78,0
+2006-01-30,10:09:00,3692.00,3694.00,3692.00,3693.00,366,0
+2006-01-30,10:10:00,3693.00,3696.00,3693.00,3695.00,5100,0
+2006-01-30,10:11:00,3695.00,3695.00,3693.00,3693.00,796,0
+2006-01-30,10:12:00,3693.00,3693.00,3693.00,3693.00,256,0
+2006-01-30,10:13:00,3693.00,3693.00,3692.00,3692.00,604,0
+2006-01-30,10:14:00,3692.00,3693.00,3691.00,3692.00,1545,0
+2006-01-30,10:15:00,3692.00,3693.00,3692.00,3692.00,874,0
+2006-01-30,10:16:00,3692.00,3693.00,3692.00,3693.00,34,0
+2006-01-30,10:17:00,3693.00,3694.00,3692.00,3693.00,1011,0
+2006-01-30,10:18:00,3693.00,3693.00,3692.00,3693.00,294,0
+2006-01-30,10:19:00,3692.00,3692.00,3691.00,3691.00,293,0
+2006-01-30,10:20:00,3692.00,3692.00,3692.00,3692.00,489,0
+2006-01-30,10:21:00,3692.00,3693.00,3692.00,3693.00,1124,0
+2006-01-30,10:22:00,3693.00,3693.00,3692.00,3692.00,375,0
+2006-01-30,10:23:00,3692.00,3693.00,3691.00,3691.00,755,0
+2006-01-30,10:24:00,3691.00,3692.00,3691.00,3692.00,911,0
+2006-01-30,10:25:00,3691.00,3692.00,3690.00,3692.00,468,0
+2006-01-30,10:26:00,3692.00,3694.00,3692.00,3692.00,1595,0
+2006-01-30,10:27:00,3693.00,3693.00,3691.00,3692.00,1083,0
+2006-01-30,10:28:00,3692.00,3693.00,3692.00,3692.00,667,0
+2006-01-30,10:29:00,3692.00,3692.00,3692.00,3692.00,782,0
+2006-01-30,10:30:00,3693.00,3693.00,3692.00,3692.00,115,0
+2006-01-30,10:31:00,3692.00,3692.00,3691.00,3692.00,857,0
+2006-01-30,10:32:00,3692.00,3692.00,3690.00,3690.00,885,0
+2006-01-30,10:33:00,3691.00,3692.00,3690.00,3692.00,808,0
+2006-01-30,10:34:00,3692.00,3693.00,3691.00,3693.00,916,0
+2006-01-30,10:35:00,3692.00,3692.00,3692.00,3692.00,421,0
+2006-01-30,10:36:00,3691.00,3693.00,3691.00,3692.00,637,0
+2006-01-30,10:37:00,3692.00,3692.00,3692.00,3692.00,649,0
+2006-01-30,10:38:00,3692.00,3693.00,3692.00,3692.00,283,0
+2006-01-30,10:39:00,3692.00,3694.00,3692.00,3693.00,983,0
+2006-01-30,10:40:00,3693.00,3693.00,3691.00,3691.00,969,0
+2006-01-30,10:41:00,3690.00,3691.00,3689.00,3689.00,790,0
+2006-01-30,10:42:00,3689.00,3690.00,3688.00,3688.00,1450,0
+2006-01-30,10:43:00,3688.00,3689.00,3686.00,3686.00,1628,0
+2006-01-30,10:44:00,3686.00,3687.00,3686.00,3687.00,74,0
+2006-01-30,10:45:00,3687.00,3687.00,3686.00,3687.00,126,0
+2006-01-30,10:46:00,3687.00,3687.00,3686.00,3687.00,260,0
+2006-01-30,10:47:00,3687.00,3687.00,3686.00,3687.00,97,0
+2006-01-30,10:48:00,3687.00,3687.00,3686.00,3686.00,236,0
+2006-01-30,10:49:00,3686.00,3686.00,3684.00,3685.00,1758,0
+2006-01-30,10:50:00,3686.00,3686.00,3685.00,3685.00,564,0
+2006-01-30,10:51:00,3686.00,3686.00,3685.00,3685.00,143,0
+2006-01-30,10:52:00,3685.00,3685.00,3684.00,3684.00,981,0
+2006-01-30,10:53:00,3684.00,3684.00,3682.00,3683.00,3537,0
+2006-01-30,10:54:00,3683.00,3684.00,3683.00,3683.00,218,0
+2006-01-30,10:55:00,3683.00,3684.00,3683.00,3684.00,130,0
+2006-01-30,10:56:00,3683.00,3684.00,3683.00,3684.00,114,0
+2006-01-30,10:57:00,3684.00,3685.00,3684.00,3685.00,515,0
+2006-01-30,10:58:00,3685.00,3685.00,3685.00,3685.00,493,0
+2006-01-30,10:59:00,3685.00,3685.00,3683.00,3683.00,626,0
+2006-01-30,11:00:00,3683.00,3684.00,3683.00,3684.00,616,0
+2006-01-30,11:01:00,3684.00,3685.00,3683.00,3684.00,344,0
+2006-01-30,11:02:00,3684.00,3684.00,3684.00,3684.00,48,0
+2006-01-30,11:03:00,3684.00,3685.00,3684.00,3684.00,510,0
+2006-01-30,11:04:00,3684.00,3684.00,3684.00,3684.00,104,0
+2006-01-30,11:05:00,3684.00,3684.00,3684.00,3684.00,61,0
+2006-01-30,11:06:00,3684.00,3684.00,3683.00,3683.00,28,0
+2006-01-30,11:07:00,3683.00,3684.00,3683.00,3683.00,22,0
+2006-01-30,11:08:00,3683.00,3684.00,3683.00,3684.00,223,0
+2006-01-30,11:09:00,3683.00,3684.00,3683.00,3683.00,444,0
+2006-01-30,11:10:00,3682.00,3682.00,3680.00,3680.00,1534,0
+2006-01-30,11:11:00,3681.00,3682.00,3681.00,3681.00,1077,0
+2006-01-30,11:12:00,3681.00,3681.00,3679.00,3680.00,1470,0
+2006-01-30,11:13:00,3680.00,3681.00,3680.00,3681.00,256,0
+2006-01-30,11:14:00,3680.00,3683.00,3680.00,3681.00,1939,0
+2006-01-30,11:15:00,3682.00,3682.00,3681.00,3682.00,182,0
+2006-01-30,11:16:00,3681.00,3683.00,3681.00,3683.00,927,0
+2006-01-30,11:17:00,3682.00,3683.00,3682.00,3682.00,415,0
+2006-01-30,11:18:00,3682.00,3683.00,3681.00,3681.00,457,0
+2006-01-30,11:19:00,3682.00,3682.00,3681.00,3682.00,158,0
+2006-01-30,11:20:00,3681.00,3681.00,3680.00,3681.00,1261,0
+2006-01-30,11:21:00,3680.00,3681.00,3680.00,3681.00,66,0
+2006-01-30,11:22:00,3682.00,3682.00,3681.00,3681.00,564,0
+2006-01-30,11:23:00,3681.00,3682.00,3681.00,3681.00,1446,0
+2006-01-30,11:24:00,3682.00,3682.00,3681.00,3681.00,231,0
+2006-01-30,11:25:00,3681.00,3682.00,3681.00,3682.00,1213,0
+2006-01-30,11:26:00,3682.00,3683.00,3682.00,3683.00,720,0
+2006-01-30,11:27:00,3683.00,3683.00,3683.00,3683.00,185,0
+2006-01-30,11:28:00,3682.00,3684.00,3682.00,3684.00,309,0
+2006-01-30,11:29:00,3684.00,3684.00,3684.00,3684.00,207,0
+2006-01-30,11:30:00,3684.00,3685.00,3684.00,3685.00,536,0
+2006-01-30,11:31:00,3685.00,3686.00,3685.00,3686.00,865,0
+2006-01-30,11:32:00,3685.00,3685.00,3685.00,3685.00,817,0
+2006-01-30,11:33:00,3686.00,3686.00,3685.00,3685.00,76,0
+2006-01-30,11:34:00,3685.00,3687.00,3685.00,3686.00,644,0
+2006-01-30,11:35:00,3685.00,3685.00,3685.00,3685.00,207,0
+2006-01-30,11:36:00,3685.00,3686.00,3685.00,3686.00,81,0
+2006-01-30,11:37:00,3686.00,3686.00,3685.00,3685.00,61,0
+2006-01-30,11:38:00,3685.00,3685.00,3685.00,3685.00,348,0
+2006-01-30,11:39:00,3684.00,3685.00,3683.00,3685.00,521,0
+2006-01-30,11:40:00,3685.00,3685.00,3685.00,3685.00,252,0
+2006-01-30,11:41:00,3685.00,3687.00,3685.00,3687.00,324,0
+2006-01-30,11:42:00,3686.00,3687.00,3686.00,3687.00,92,0
+2006-01-30,11:43:00,3686.00,3686.00,3686.00,3686.00,10,0
+2006-01-30,11:44:00,3687.00,3687.00,3686.00,3686.00,7,0
+2006-01-30,11:45:00,3687.00,3688.00,3686.00,3687.00,566,0
+2006-01-30,11:46:00,3687.00,3687.00,3685.00,3686.00,367,0
+2006-01-30,11:47:00,3686.00,3686.00,3686.00,3686.00,217,0
+2006-01-30,11:48:00,3686.00,3686.00,3686.00,3686.00,278,0
+2006-01-30,11:49:00,3686.00,3686.00,3686.00,3686.00,7,0
+2006-01-30,11:50:00,3686.00,3686.00,3686.00,3686.00,142,0
+2006-01-30,11:51:00,3686.00,3686.00,3685.00,3685.00,870,0
+2006-01-30,11:52:00,3685.00,3685.00,3684.00,3684.00,18,0
+2006-01-30,11:53:00,3685.00,3685.00,3685.00,3685.00,110,0
+2006-01-30,11:54:00,3685.00,3685.00,3685.00,3685.00,22,0
+2006-01-30,11:55:00,3684.00,3684.00,3684.00,3684.00,176,0
+2006-01-30,11:56:00,3684.00,3685.00,3684.00,3684.00,14,0
+2006-01-30,11:57:00,3685.00,3685.00,3684.00,3684.00,43,0
+2006-01-30,11:58:00,3685.00,3686.00,3685.00,3686.00,304,0
+2006-01-30,11:59:00,3686.00,3686.00,3685.00,3685.00,73,0
+2006-01-30,12:00:00,3685.00,3686.00,3685.00,3686.00,3,0
+2006-01-30,12:01:00,3686.00,3686.00,3685.00,3685.00,370,0
+2006-01-30,12:02:00,3685.00,3686.00,3685.00,3686.00,107,0
+2006-01-30,12:03:00,3685.00,3686.00,3685.00,3685.00,66,0
+2006-01-30,12:04:00,3685.00,3686.00,3685.00,3686.00,31,0
+2006-01-30,12:06:00,3685.00,3685.00,3684.00,3684.00,222,0
+2006-01-30,12:07:00,3684.00,3685.00,3684.00,3685.00,106,0
+2006-01-30,12:08:00,3685.00,3685.00,3684.00,3684.00,1175,0
+2006-01-30,12:09:00,3685.00,3685.00,3685.00,3685.00,2,0
+2006-01-30,12:10:00,3684.00,3685.00,3684.00,3685.00,22,0
+2006-01-30,12:11:00,3685.00,3687.00,3685.00,3687.00,685,0
+2006-01-30,12:12:00,3686.00,3689.00,3686.00,3688.00,1988,0
+2006-01-30,12:13:00,3689.00,3689.00,3687.00,3687.00,1797,0
+2006-01-30,12:14:00,3687.00,3688.00,3686.00,3687.00,149,0
+2006-01-30,12:15:00,3687.00,3688.00,3687.00,3688.00,810,0
+2006-01-30,12:16:00,3687.00,3687.00,3686.00,3686.00,508,0
+2006-01-30,12:17:00,3687.00,3687.00,3687.00,3687.00,228,0
+2006-01-30,12:18:00,3687.00,3687.00,3687.00,3687.00,32,0
+2006-01-30,12:19:00,3687.00,3688.00,3687.00,3687.00,72,0
+2006-01-30,12:20:00,3687.00,3688.00,3687.00,3687.00,71,0
+2006-01-30,12:21:00,3687.00,3688.00,3687.00,3688.00,337,0
+2006-01-30,12:22:00,3688.00,3688.00,3688.00,3688.00,114,0
+2006-01-30,12:23:00,3688.00,3688.00,3688.00,3688.00,71,0
+2006-01-30,12:24:00,3687.00,3687.00,3687.00,3687.00,100,0
+2006-01-30,12:25:00,3687.00,3687.00,3686.00,3686.00,230,0
+2006-01-30,12:26:00,3687.00,3688.00,3687.00,3687.00,347,0
+2006-01-30,12:27:00,3688.00,3688.00,3687.00,3687.00,67,0
+2006-01-30,12:28:00,3688.00,3688.00,3687.00,3687.00,354,0
+2006-01-30,12:29:00,3687.00,3687.00,3686.00,3686.00,76,0
+2006-01-30,12:30:00,3686.00,3686.00,3686.00,3686.00,10,0
+2006-01-30,12:31:00,3687.00,3687.00,3687.00,3687.00,239,0
+2006-01-30,12:32:00,3687.00,3687.00,3687.00,3687.00,169,0
+2006-01-30,12:33:00,3687.00,3687.00,3686.00,3686.00,16,0
+2006-01-30,12:34:00,3686.00,3686.00,3686.00,3686.00,386,0
+2006-01-30,12:35:00,3686.00,3686.00,3685.00,3685.00,9,0
+2006-01-30,12:36:00,3685.00,3686.00,3685.00,3686.00,711,0
+2006-01-30,12:37:00,3686.00,3686.00,3686.00,3686.00,4,0
+2006-01-30,12:38:00,3686.00,3686.00,3686.00,3686.00,86,0
+2006-01-30,12:40:00,3686.00,3686.00,3686.00,3686.00,162,0
+2006-01-30,12:42:00,3685.00,3685.00,3685.00,3685.00,250,0
+2006-01-30,12:43:00,3685.00,3685.00,3684.00,3684.00,749,0
+2006-01-30,12:44:00,3684.00,3685.00,3684.00,3684.00,28,0
+2006-01-30,12:45:00,3685.00,3685.00,3684.00,3685.00,183,0
+2006-01-30,12:46:00,3684.00,3685.00,3684.00,3685.00,683,0
+2006-01-30,12:47:00,3685.00,3685.00,3685.00,3685.00,68,0
+2006-01-30,12:48:00,3684.00,3685.00,3684.00,3685.00,83,0
+2006-01-30,12:49:00,3685.00,3686.00,3685.00,3686.00,684,0
+2006-01-30,12:50:00,3686.00,3687.00,3686.00,3686.00,1490,0
+2006-01-30,12:51:00,3686.00,3686.00,3686.00,3686.00,3,0
+2006-01-30,12:52:00,3685.00,3685.00,3685.00,3685.00,42,0
+2006-01-30,12:54:00,3685.00,3685.00,3685.00,3685.00,10,0
+2006-01-30,12:55:00,3685.00,3686.00,3685.00,3686.00,383,0
+2006-01-30,12:56:00,3686.00,3686.00,3686.00,3686.00,1243,0
+2006-01-30,12:57:00,3686.00,3686.00,3685.00,3685.00,59,0
+2006-01-30,12:59:00,3686.00,3686.00,3686.00,3686.00,3,0
+2006-01-30,13:00:00,3686.00,3686.00,3686.00,3686.00,166,0
+2006-01-30,13:01:00,3686.00,3686.00,3685.00,3685.00,150,0
+2006-01-30,13:02:00,3686.00,3686.00,3685.00,3686.00,12,0
+2006-01-30,13:03:00,3685.00,3685.00,3685.00,3685.00,15,0
+2006-01-30,13:04:00,3685.00,3686.00,3685.00,3685.00,442,0
+2006-01-30,13:05:00,3686.00,3686.00,3685.00,3686.00,168,0
+2006-01-30,13:06:00,3685.00,3686.00,3685.00,3686.00,893,0
+2006-01-30,13:07:00,3686.00,3687.00,3686.00,3686.00,348,0
+2006-01-30,13:08:00,3686.00,3686.00,3686.00,3686.00,35,0
+2006-01-30,13:09:00,3686.00,3687.00,3686.00,3687.00,369,0
+2006-01-30,13:10:00,3686.00,3687.00,3686.00,3686.00,75,0
+2006-01-30,13:11:00,3687.00,3687.00,3686.00,3686.00,10,0
+2006-01-30,13:12:00,3686.00,3687.00,3686.00,3686.00,7,0
+2006-01-30,13:13:00,3686.00,3686.00,3686.00,3686.00,1,0
+2006-01-30,13:14:00,3687.00,3687.00,3686.00,3686.00,247,0
+2006-01-30,13:15:00,3686.00,3687.00,3686.00,3687.00,52,0
+2006-01-30,13:16:00,3686.00,3686.00,3686.00,3686.00,52,0
+2006-01-30,13:17:00,3686.00,3686.00,3686.00,3686.00,296,0
+2006-01-30,13:18:00,3686.00,3686.00,3685.00,3685.00,502,0
+2006-01-30,13:19:00,3685.00,3686.00,3685.00,3686.00,284,0
+2006-01-30,13:20:00,3685.00,3686.00,3685.00,3686.00,23,0
+2006-01-30,13:21:00,3685.00,3686.00,3685.00,3686.00,3,0
+2006-01-30,13:22:00,3685.00,3685.00,3685.00,3685.00,1,0
+2006-01-30,13:23:00,3686.00,3686.00,3686.00,3686.00,1,0
+2006-01-30,13:24:00,3685.00,3685.00,3685.00,3685.00,26,0
+2006-01-30,13:25:00,3686.00,3686.00,3685.00,3685.00,7,0
+2006-01-30,13:26:00,3686.00,3686.00,3686.00,3686.00,3,0
+2006-01-30,13:27:00,3686.00,3686.00,3685.00,3686.00,959,0
+2006-01-30,13:28:00,3685.00,3686.00,3685.00,3686.00,4,0
+2006-01-30,13:29:00,3686.00,3686.00,3686.00,3686.00,1104,0
+2006-01-30,13:30:00,3686.00,3687.00,3686.00,3687.00,51,0
+2006-01-30,13:31:00,3686.00,3686.00,3684.00,3685.00,1619,0
+2006-01-30,13:32:00,3685.00,3685.00,3684.00,3684.00,280,0
+2006-01-30,13:33:00,3684.00,3684.00,3684.00,3684.00,356,0
+2006-01-30,13:34:00,3683.00,3684.00,3683.00,3683.00,371,0
+2006-01-30,13:35:00,3683.00,3683.00,3682.00,3683.00,534,0
+2006-01-30,13:36:00,3683.00,3684.00,3683.00,3684.00,7,0
+2006-01-30,13:37:00,3683.00,3683.00,3682.00,3682.00,337,0
+2006-01-30,13:38:00,3683.00,3683.00,3682.00,3683.00,1131,0
+2006-01-30,13:40:00,3683.00,3683.00,3683.00,3683.00,220,0
+2006-01-30,13:41:00,3683.00,3683.00,3683.00,3683.00,1,0
+2006-01-30,13:42:00,3684.00,3684.00,3684.00,3684.00,60,0
+2006-01-30,13:43:00,3684.00,3684.00,3684.00,3684.00,39,0
+2006-01-30,13:45:00,3684.00,3684.00,3684.00,3684.00,10,0
+2006-01-30,13:46:00,3683.00,3684.00,3683.00,3683.00,1180,0
+2006-01-30,13:47:00,3683.00,3684.00,3683.00,3684.00,16,0
+2006-01-30,13:48:00,3683.00,3683.00,3682.00,3683.00,62,0
+2006-01-30,13:49:00,3683.00,3683.00,3682.00,3682.00,177,0
+2006-01-30,13:50:00,3682.00,3682.00,3681.00,3682.00,1793,0
+2006-01-30,13:51:00,3681.00,3681.00,3681.00,3681.00,659,0
+2006-01-30,13:52:00,3681.00,3681.00,3680.00,3681.00,76,0
+2006-01-30,13:53:00,3681.00,3681.00,3680.00,3680.00,639,0
+2006-01-30,13:54:00,3680.00,3680.00,3680.00,3680.00,260,0
+2006-01-30,13:55:00,3681.00,3681.00,3680.00,3680.00,2,0
+2006-01-30,13:56:00,3681.00,3681.00,3680.00,3680.00,141,0
+2006-01-30,13:57:00,3681.00,3681.00,3681.00,3681.00,57,0
+2006-01-30,13:58:00,3680.00,3682.00,3680.00,3682.00,422,0
+2006-01-30,13:59:00,3681.00,3682.00,3681.00,3682.00,229,0
+2006-01-30,14:00:00,3682.00,3682.00,3681.00,3681.00,16,0
+2006-01-30,14:01:00,3681.00,3685.00,3681.00,3685.00,1597,0
+2006-01-30,14:02:00,3685.00,3687.00,3685.00,3685.00,2306,0
+2006-01-30,14:03:00,3685.00,3686.00,3685.00,3686.00,106,0
+2006-01-30,14:04:00,3685.00,3685.00,3684.00,3684.00,430,0
+2006-01-30,14:05:00,3684.00,3685.00,3684.00,3684.00,61,0
+2006-01-30,14:06:00,3685.00,3686.00,3685.00,3685.00,372,0
+2006-01-30,14:07:00,3685.00,3688.00,3685.00,3687.00,1666,0
+2006-01-30,14:08:00,3687.00,3687.00,3686.00,3686.00,201,0
+2006-01-30,14:09:00,3687.00,3687.00,3687.00,3687.00,1285,0
+2006-01-30,14:10:00,3687.00,3687.00,3686.00,3686.00,838,0
+2006-01-30,14:11:00,3686.00,3687.00,3686.00,3687.00,87,0
+2006-01-30,14:12:00,3686.00,3687.00,3686.00,3687.00,3,0
+2006-01-30,14:13:00,3686.00,3687.00,3686.00,3687.00,236,0
+2006-01-30,14:14:00,3687.00,3688.00,3687.00,3687.00,177,0
+2006-01-30,14:15:00,3687.00,3688.00,3687.00,3687.00,481,0
+2006-01-30,14:16:00,3687.00,3687.00,3686.00,3686.00,624,0
+2006-01-30,14:17:00,3686.00,3687.00,3686.00,3687.00,383,0
+2006-01-30,14:18:00,3686.00,3686.00,3685.00,3685.00,221,0
+2006-01-30,14:19:00,3686.00,3687.00,3686.00,3687.00,158,0
+2006-01-30,14:20:00,3687.00,3687.00,3686.00,3686.00,70,0
+2006-01-30,14:21:00,3686.00,3686.00,3685.00,3685.00,40,0
+2006-01-30,14:22:00,3686.00,3686.00,3686.00,3686.00,92,0
+2006-01-30,14:23:00,3686.00,3686.00,3686.00,3686.00,230,0
+2006-01-30,14:24:00,3686.00,3686.00,3686.00,3686.00,265,0
+2006-01-30,14:25:00,3686.00,3687.00,3686.00,3687.00,339,0
+2006-01-30,14:26:00,3686.00,3686.00,3686.00,3686.00,909,0
+2006-01-30,14:27:00,3686.00,3686.00,3686.00,3686.00,150,0
+2006-01-30,14:28:00,3685.00,3686.00,3685.00,3685.00,266,0
+2006-01-30,14:29:00,3685.00,3685.00,3684.00,3685.00,619,0
+2006-01-30,14:30:00,3685.00,3687.00,3685.00,3685.00,413,0
+2006-01-30,14:31:00,3686.00,3688.00,3686.00,3687.00,761,0
+2006-01-30,14:32:00,3687.00,3687.00,3686.00,3686.00,578,0
+2006-01-30,14:33:00,3686.00,3686.00,3683.00,3683.00,938,0
+2006-01-30,14:34:00,3684.00,3685.00,3682.00,3682.00,621,0
+2006-01-30,14:35:00,3683.00,3683.00,3683.00,3683.00,183,0
+2006-01-30,14:36:00,3683.00,3684.00,3683.00,3684.00,52,0
+2006-01-30,14:37:00,3683.00,3683.00,3683.00,3683.00,51,0
+2006-01-30,14:38:00,3684.00,3684.00,3682.00,3684.00,561,0
+2006-01-30,14:39:00,3684.00,3684.00,3683.00,3684.00,39,0
+2006-01-30,14:40:00,3683.00,3683.00,3683.00,3683.00,1,0
+2006-01-30,14:41:00,3683.00,3684.00,3683.00,3684.00,138,0
+2006-01-30,14:42:00,3684.00,3685.00,3684.00,3684.00,440,0
+2006-01-30,14:43:00,3684.00,3684.00,3684.00,3684.00,42,0
+2006-01-30,14:44:00,3684.00,3685.00,3684.00,3685.00,12,0
+2006-01-30,14:45:00,3684.00,3684.00,3684.00,3684.00,28,0
+2006-01-30,14:46:00,3685.00,3685.00,3685.00,3685.00,677,0
+2006-01-30,14:47:00,3685.00,3686.00,3685.00,3685.00,145,0
+2006-01-30,14:48:00,3685.00,3685.00,3685.00,3685.00,557,0
+2006-01-30,14:49:00,3686.00,3686.00,3685.00,3685.00,50,0
+2006-01-30,14:50:00,3685.00,3686.00,3685.00,3686.00,391,0
+2006-01-30,14:51:00,3685.00,3685.00,3684.00,3684.00,874,0
+2006-01-30,14:52:00,3683.00,3684.00,3683.00,3684.00,42,0
+2006-01-30,14:53:00,3684.00,3684.00,3683.00,3683.00,953,0
+2006-01-30,14:54:00,3684.00,3684.00,3684.00,3684.00,42,0
+2006-01-30,14:55:00,3684.00,3684.00,3684.00,3684.00,2,0
+2006-01-30,14:56:00,3684.00,3684.00,3682.00,3684.00,540,0
+2006-01-30,14:57:00,3683.00,3685.00,3683.00,3685.00,631,0
+2006-01-30,14:58:00,3685.00,3686.00,3685.00,3685.00,1167,0
+2006-01-30,14:59:00,3685.00,3685.00,3684.00,3684.00,166,0
+2006-01-30,15:00:00,3685.00,3686.00,3685.00,3685.00,190,0
+2006-01-30,15:01:00,3685.00,3685.00,3684.00,3685.00,330,0
+2006-01-30,15:02:00,3685.00,3686.00,3685.00,3686.00,1254,0
+2006-01-30,15:03:00,3686.00,3687.00,3686.00,3687.00,357,0
+2006-01-30,15:04:00,3687.00,3687.00,3686.00,3686.00,92,0
+2006-01-30,15:05:00,3686.00,3686.00,3686.00,3686.00,1284,0
+2006-01-30,15:06:00,3686.00,3686.00,3685.00,3685.00,370,0
+2006-01-30,15:07:00,3685.00,3686.00,3685.00,3686.00,547,0
+2006-01-30,15:08:00,3685.00,3686.00,3685.00,3686.00,57,0
+2006-01-30,15:09:00,3686.00,3686.00,3685.00,3686.00,230,0
+2006-01-30,15:10:00,3686.00,3686.00,3685.00,3685.00,779,0
+2006-01-30,15:11:00,3686.00,3686.00,3685.00,3685.00,242,0
+2006-01-30,15:12:00,3685.00,3686.00,3685.00,3686.00,947,0
+2006-01-30,15:13:00,3685.00,3687.00,3685.00,3686.00,409,0
+2006-01-30,15:14:00,3686.00,3688.00,3686.00,3688.00,713,0
+2006-01-30,15:15:00,3687.00,3687.00,3687.00,3687.00,223,0
+2006-01-30,15:16:00,3687.00,3688.00,3687.00,3687.00,31,0
+2006-01-30,15:17:00,3687.00,3688.00,3687.00,3687.00,415,0
+2006-01-30,15:18:00,3688.00,3688.00,3687.00,3688.00,156,0
+2006-01-30,15:19:00,3687.00,3688.00,3687.00,3688.00,55,0
+2006-01-30,15:20:00,3688.00,3689.00,3688.00,3688.00,844,0
+2006-01-30,15:21:00,3688.00,3688.00,3687.00,3687.00,197,0
+2006-01-30,15:22:00,3687.00,3687.00,3687.00,3687.00,282,0
+2006-01-30,15:23:00,3687.00,3688.00,3687.00,3688.00,603,0
+2006-01-30,15:24:00,3689.00,3689.00,3688.00,3688.00,355,0
+2006-01-30,15:25:00,3688.00,3690.00,3688.00,3689.00,738,0
+2006-01-30,15:26:00,3690.00,3690.00,3690.00,3690.00,1063,0
+2006-01-30,15:27:00,3690.00,3691.00,3690.00,3691.00,675,0
+2006-01-30,15:28:00,3690.00,3690.00,3689.00,3689.00,346,0
+2006-01-30,15:29:00,3689.00,3690.00,3689.00,3689.00,296,0
+2006-01-30,15:30:00,3689.00,3690.00,3689.00,3689.00,408,0
+2006-01-30,15:31:00,3689.00,3690.00,3689.00,3690.00,936,0
+2006-01-30,15:32:00,3689.00,3689.00,3688.00,3689.00,1657,0
+2006-01-30,15:33:00,3689.00,3690.00,3688.00,3689.00,339,0
+2006-01-30,15:34:00,3690.00,3691.00,3689.00,3691.00,361,0
+2006-01-30,15:35:00,3691.00,3691.00,3690.00,3690.00,718,0
+2006-01-30,15:36:00,3691.00,3691.00,3690.00,3690.00,1158,0
+2006-01-30,15:37:00,3690.00,3690.00,3687.00,3687.00,750,0
+2006-01-30,15:38:00,3688.00,3689.00,3687.00,3689.00,1426,0
+2006-01-30,15:39:00,3689.00,3691.00,3689.00,3691.00,1226,0
+2006-01-30,15:40:00,3691.00,3692.00,3690.00,3690.00,660,0
+2006-01-30,15:41:00,3690.00,3690.00,3689.00,3689.00,499,0
+2006-01-30,15:42:00,3690.00,3690.00,3688.00,3688.00,626,0
+2006-01-30,15:43:00,3688.00,3689.00,3686.00,3687.00,2067,0
+2006-01-30,15:44:00,3688.00,3690.00,3688.00,3689.00,1853,0
+2006-01-30,15:45:00,3689.00,3691.00,3689.00,3691.00,1036,0
+2006-01-30,15:46:00,3690.00,3691.00,3688.00,3689.00,840,0
+2006-01-30,15:47:00,3689.00,3689.00,3686.00,3686.00,1437,0
+2006-01-30,15:48:00,3686.00,3687.00,3685.00,3686.00,1793,0
+2006-01-30,15:49:00,3687.00,3688.00,3686.00,3687.00,787,0
+2006-01-30,15:50:00,3687.00,3687.00,3685.00,3686.00,1486,0
+2006-01-30,15:51:00,3686.00,3687.00,3685.00,3685.00,2241,0
+2006-01-30,15:52:00,3685.00,3686.00,3684.00,3685.00,1267,0
+2006-01-30,15:53:00,3686.00,3687.00,3685.00,3686.00,1234,0
+2006-01-30,15:54:00,3687.00,3687.00,3685.00,3686.00,938,0
+2006-01-30,15:55:00,3686.00,3687.00,3686.00,3687.00,4659,0
+2006-01-30,15:56:00,3688.00,3688.00,3687.00,3687.00,429,0
+2006-01-30,15:57:00,3686.00,3688.00,3686.00,3688.00,1449,0
+2006-01-30,15:58:00,3688.00,3688.00,3686.00,3686.00,761,0
+2006-01-30,15:59:00,3686.00,3687.00,3685.00,3686.00,1320,0
+2006-01-30,16:00:00,3686.00,3688.00,3686.00,3686.00,1155,0
+2006-01-30,16:01:00,3686.00,3686.00,3685.00,3686.00,618,0
+2006-01-30,16:02:00,3686.00,3686.00,3686.00,3686.00,15,0
+2006-01-30,16:03:00,3687.00,3688.00,3686.00,3686.00,869,0
+2006-01-30,16:04:00,3686.00,3688.00,3686.00,3687.00,291,0
+2006-01-30,16:05:00,3687.00,3689.00,3687.00,3688.00,1553,0
+2006-01-30,16:06:00,3687.00,3689.00,3687.00,3688.00,574,0
+2006-01-30,16:07:00,3688.00,3689.00,3688.00,3689.00,689,0
+2006-01-30,16:08:00,3689.00,3692.00,3689.00,3691.00,1238,0
+2006-01-30,16:09:00,3692.00,3692.00,3690.00,3691.00,1472,0
+2006-01-30,16:10:00,3690.00,3691.00,3689.00,3689.00,1141,0
+2006-01-30,16:11:00,3689.00,3690.00,3688.00,3688.00,3799,0
+2006-01-30,16:12:00,3688.00,3690.00,3688.00,3689.00,1168,0
+2006-01-30,16:13:00,3690.00,3692.00,3689.00,3691.00,1227,0
+2006-01-30,16:14:00,3692.00,3693.00,3690.00,3692.00,945,0
+2006-01-30,16:15:00,3693.00,3694.00,3691.00,3692.00,1224,0
+2006-01-30,16:16:00,3692.00,3694.00,3691.00,3694.00,1359,0
+2006-01-30,16:17:00,3694.00,3695.00,3693.00,3693.00,1580,0
+2006-01-30,16:18:00,3693.00,3694.00,3691.00,3692.00,2018,0
+2006-01-30,16:19:00,3693.00,3694.00,3691.00,3694.00,682,0
+2006-01-30,16:20:00,3693.00,3694.00,3691.00,3691.00,2567,0
+2006-01-30,16:21:00,3692.00,3692.00,3690.00,3691.00,981,0
+2006-01-30,16:22:00,3690.00,3692.00,3690.00,3692.00,873,0
+2006-01-30,16:23:00,3692.00,3693.00,3691.00,3692.00,1041,0
+2006-01-30,16:24:00,3692.00,3692.00,3691.00,3692.00,507,0
+2006-01-30,16:25:00,3693.00,3693.00,3692.00,3692.00,463,0
+2006-01-30,16:26:00,3691.00,3692.00,3691.00,3691.00,271,0
+2006-01-30,16:27:00,3691.00,3693.00,3691.00,3692.00,735,0
+2006-01-30,16:28:00,3692.00,3693.00,3690.00,3690.00,2429,0
+2006-01-30,16:29:00,3691.00,3691.00,3690.00,3691.00,419,0
+2006-01-30,16:30:00,3692.00,3692.00,3691.00,3692.00,1625,0
+2006-01-30,16:31:00,3691.00,3692.00,3690.00,3690.00,1066,0
+2006-01-30,16:32:00,3691.00,3691.00,3690.00,3690.00,3056,0
+2006-01-30,16:33:00,3689.00,3691.00,3689.00,3691.00,2175,0
+2006-01-30,16:34:00,3690.00,3691.00,3689.00,3690.00,566,0
+2006-01-30,16:35:00,3689.00,3692.00,3689.00,3691.00,888,0
+2006-01-30,16:36:00,3691.00,3692.00,3690.00,3691.00,1634,0
+2006-01-30,16:37:00,3690.00,3692.00,3690.00,3691.00,1249,0
+2006-01-30,16:38:00,3691.00,3693.00,3690.00,3693.00,1557,0
+2006-01-30,16:39:00,3693.00,3693.00,3692.00,3692.00,551,0
+2006-01-30,16:40:00,3692.00,3693.00,3692.00,3693.00,1546,0
+2006-01-30,16:41:00,3693.00,3693.00,3692.00,3692.00,151,0
+2006-01-30,16:42:00,3692.00,3694.00,3692.00,3693.00,1340,0
+2006-01-30,16:43:00,3693.00,3694.00,3692.00,3694.00,3090,0
+2006-01-30,16:44:00,3694.00,3694.00,3692.00,3693.00,484,0
+2006-01-30,16:45:00,3693.00,3694.00,3692.00,3693.00,1173,0
+2006-01-30,16:46:00,3693.00,3694.00,3692.00,3693.00,326,0
+2006-01-30,16:47:00,3693.00,3693.00,3691.00,3692.00,1071,0
+2006-01-30,16:48:00,3692.00,3693.00,3692.00,3692.00,149,0
+2006-01-30,16:49:00,3692.00,3693.00,3691.00,3692.00,948,0
+2006-01-30,16:50:00,3693.00,3693.00,3692.00,3693.00,691,0
+2006-01-30,16:51:00,3693.00,3694.00,3692.00,3693.00,599,0
+2006-01-30,16:52:00,3693.00,3694.00,3693.00,3693.00,395,0
+2006-01-30,16:53:00,3693.00,3694.00,3693.00,3693.00,369,0
+2006-01-30,16:54:00,3693.00,3695.00,3693.00,3694.00,1485,0
+2006-01-30,16:55:00,3695.00,3695.00,3694.00,3694.00,1188,0
+2006-01-30,16:56:00,3694.00,3695.00,3693.00,3693.00,398,0
+2006-01-30,16:57:00,3693.00,3694.00,3692.00,3692.00,1023,0
+2006-01-30,16:58:00,3691.00,3692.00,3690.00,3691.00,2035,0
+2006-01-30,16:59:00,3691.00,3692.00,3691.00,3691.00,983,0
+2006-01-30,17:00:00,3692.00,3692.00,3691.00,3692.00,1294,0
+2006-01-30,17:01:00,3692.00,3692.00,3689.00,3689.00,1098,0
+2006-01-30,17:02:00,3690.00,3690.00,3689.00,3690.00,1758,0
+2006-01-30,17:03:00,3689.00,3690.00,3689.00,3690.00,716,0
+2006-01-30,17:04:00,3689.00,3690.00,3688.00,3689.00,1052,0
+2006-01-30,17:05:00,3689.00,3689.00,3688.00,3688.00,1156,0
+2006-01-30,17:06:00,3688.00,3689.00,3688.00,3688.00,961,0
+2006-01-30,17:07:00,3688.00,3689.00,3688.00,3689.00,70,0
+2006-01-30,17:08:00,3688.00,3689.00,3687.00,3687.00,762,0
+2006-01-30,17:09:00,3687.00,3688.00,3687.00,3687.00,1136,0
+2006-01-30,17:10:00,3687.00,3687.00,3686.00,3686.00,1924,0
+2006-01-30,17:11:00,3686.00,3688.00,3686.00,3687.00,1176,0
+2006-01-30,17:12:00,3686.00,3688.00,3686.00,3686.00,606,0
+2006-01-30,17:13:00,3687.00,3689.00,3687.00,3687.00,1324,0
+2006-01-30,17:14:00,3688.00,3690.00,3687.00,3690.00,1876,0
+2006-01-30,17:15:00,3689.00,3690.00,3689.00,3689.00,315,0
+2006-01-30,17:16:00,3689.00,3690.00,3688.00,3688.00,1381,0
+2006-01-30,17:17:00,3687.00,3689.00,3687.00,3688.00,918,0
+2006-01-30,17:18:00,3688.00,3690.00,3688.00,3689.00,546,0
+2006-01-30,17:19:00,3690.00,3690.00,3687.00,3687.00,2151,0
+2006-01-30,17:20:00,3688.00,3688.00,3687.00,3688.00,487,0
+2006-01-30,17:21:00,3688.00,3688.00,3687.00,3688.00,515,0
+2006-01-30,17:22:00,3688.00,3688.00,3687.00,3688.00,1644,0
+2006-01-30,17:23:00,3688.00,3690.00,3688.00,3689.00,1068,0
+2006-01-30,17:24:00,3690.00,3690.00,3689.00,3689.00,709,0
+2006-01-30,17:25:00,3689.00,3690.00,3689.00,3689.00,21,0
+2006-01-30,17:26:00,3689.00,3690.00,3688.00,3688.00,1527,0
+2006-01-30,17:27:00,3687.00,3687.00,3686.00,3687.00,1893,0
+2006-01-30,17:28:00,3687.00,3688.00,3686.00,3687.00,1699,0
+2006-01-30,17:29:00,3687.00,3687.00,3686.00,3686.00,1634,0
+2006-01-30,17:30:00,3686.00,3688.00,3685.00,3688.00,3239,0
+2006-01-30,17:31:00,3687.00,3689.00,3687.00,3689.00,1829,0
+2006-01-30,17:32:00,3688.00,3688.00,3687.00,3687.00,1576,0
+2006-01-30,17:33:00,3688.00,3688.00,3687.00,3687.00,1294,0
+2006-01-30,17:34:00,3687.00,3687.00,3686.00,3686.00,3897,0
+2006-01-30,17:35:00,3687.00,3688.00,3686.00,3688.00,1367,0
+2006-01-30,17:36:00,3688.00,3689.00,3687.00,3688.00,458,0
+2006-01-30,17:37:00,3688.00,3690.00,3688.00,3690.00,1888,0
+2006-01-30,17:38:00,3690.00,3691.00,3689.00,3691.00,1147,0
+2006-01-30,17:39:00,3690.00,3691.00,3690.00,3691.00,429,0
+2006-01-30,17:40:00,3690.00,3691.00,3690.00,3690.00,86,0
+2006-01-30,17:41:00,3690.00,3690.00,3690.00,3690.00,324,0
+2006-01-30,17:42:00,3690.00,3692.00,3690.00,3692.00,769,0
+2006-01-30,17:43:00,3692.00,3692.00,3690.00,3691.00,484,0
+2006-01-30,17:44:00,3690.00,3691.00,3690.00,3691.00,92,0
+2006-01-30,17:45:00,3691.00,3692.00,3690.00,3691.00,354,0
+2006-01-30,17:46:00,3691.00,3691.00,3691.00,3691.00,10,0
+2006-01-30,17:47:00,3690.00,3691.00,3690.00,3691.00,959,0
+2006-01-30,17:48:00,3691.00,3693.00,3691.00,3692.00,707,0
+2006-01-30,17:49:00,3691.00,3692.00,3691.00,3691.00,414,0
+2006-01-30,17:50:00,3692.00,3692.00,3691.00,3691.00,276,0
+2006-01-30,17:51:00,3691.00,3691.00,3691.00,3691.00,94,0
+2006-01-30,17:52:00,3692.00,3692.00,3691.00,3692.00,43,0
+2006-01-30,17:53:00,3692.00,3692.00,3692.00,3692.00,150,0
+2006-01-30,17:54:00,3692.00,3692.00,3691.00,3691.00,562,0
+2006-01-30,17:55:00,3691.00,3691.00,3691.00,3691.00,2,0
+2006-01-30,17:56:00,3691.00,3691.00,3691.00,3691.00,127,0
+2006-01-30,17:57:00,3690.00,3691.00,3689.00,3689.00,239,0
+2006-01-30,17:58:00,3689.00,3689.00,3689.00,3689.00,84,0
+2006-01-30,17:59:00,3690.00,3691.00,3689.00,3689.00,482,0
+2006-01-30,18:00:00,3689.00,3689.00,3689.00,3689.00,313,0
+2006-01-30,18:01:00,3690.00,3690.00,3689.00,3689.00,189,0
+2006-01-30,18:02:00,3688.00,3688.00,3688.00,3688.00,506,0
+2006-01-30,18:03:00,3687.00,3688.00,3687.00,3688.00,585,0
+2006-01-30,18:04:00,3688.00,3688.00,3687.00,3688.00,219,0
+2006-01-30,18:05:00,3688.00,3689.00,3688.00,3689.00,253,0
+2006-01-30,18:06:00,3689.00,3689.00,3689.00,3689.00,203,0
+2006-01-30,18:07:00,3689.00,3690.00,3689.00,3690.00,174,0
+2006-01-30,18:08:00,3689.00,3690.00,3689.00,3690.00,109,0
+2006-01-30,18:09:00,3690.00,3690.00,3690.00,3690.00,292,0
+2006-01-30,18:10:00,3690.00,3690.00,3690.00,3690.00,9,0
+2006-01-30,18:11:00,3691.00,3691.00,3691.00,3691.00,143,0
+2006-01-30,18:12:00,3691.00,3692.00,3691.00,3691.00,106,0
+2006-01-30,18:13:00,3691.00,3692.00,3691.00,3692.00,459,0
+2006-01-30,18:14:00,3692.00,3692.00,3691.00,3691.00,41,0
+2006-01-30,18:15:00,3692.00,3692.00,3692.00,3692.00,163,0
+2006-01-30,18:16:00,3691.00,3691.00,3691.00,3691.00,215,0
+2006-01-30,18:17:00,3692.00,3693.00,3692.00,3693.00,276,0
+2006-01-30,18:18:00,3693.00,3693.00,3693.00,3693.00,303,0
+2006-01-30,18:19:00,3692.00,3694.00,3692.00,3694.00,363,0
+2006-01-30,18:20:00,3694.00,3694.00,3693.00,3693.00,600,0
+2006-01-30,18:21:00,3693.00,3694.00,3693.00,3694.00,422,0
+2006-01-30,18:22:00,3694.00,3697.00,3694.00,3696.00,1502,0
+2006-01-30,18:23:00,3695.00,3695.00,3695.00,3695.00,194,0
+2006-01-30,18:24:00,3694.00,3694.00,3694.00,3694.00,517,0
+2006-01-30,18:25:00,3694.00,3694.00,3693.00,3693.00,298,0
+2006-01-30,18:26:00,3693.00,3694.00,3693.00,3694.00,85,0
+2006-01-30,18:27:00,3694.00,3694.00,3694.00,3694.00,106,0
+2006-01-30,18:28:00,3694.00,3694.00,3694.00,3694.00,180,0
+2006-01-30,18:29:00,3693.00,3693.00,3692.00,3692.00,188,0
+2006-01-30,18:30:00,3692.00,3692.00,3692.00,3692.00,32,0
+2006-01-30,18:31:00,3692.00,3692.00,3692.00,3692.00,254,0
+2006-01-30,18:32:00,3692.00,3693.00,3692.00,3693.00,195,0
+2006-01-30,18:33:00,3693.00,3694.00,3693.00,3694.00,179,0
+2006-01-30,18:34:00,3694.00,3695.00,3693.00,3695.00,172,0
+2006-01-30,18:35:00,3694.00,3695.00,3694.00,3694.00,227,0
+2006-01-30,18:36:00,3694.00,3696.00,3694.00,3696.00,457,0
+2006-01-30,18:37:00,3697.00,3697.00,3696.00,3696.00,327,0
+2006-01-30,18:38:00,3695.00,3697.00,3695.00,3695.00,388,0
+2006-01-30,18:39:00,3696.00,3696.00,3695.00,3695.00,160,0
+2006-01-30,18:40:00,3694.00,3695.00,3694.00,3695.00,128,0
+2006-01-30,18:41:00,3694.00,3694.00,3694.00,3694.00,250,0
+2006-01-30,18:42:00,3694.00,3694.00,3693.00,3694.00,41,0
+2006-01-30,18:43:00,3693.00,3694.00,3693.00,3694.00,197,0
+2006-01-30,18:44:00,3694.00,3696.00,3694.00,3696.00,234,0
+2006-01-30,18:45:00,3695.00,3697.00,3695.00,3697.00,1431,0
+2006-01-30,18:46:00,3697.00,3699.00,3697.00,3697.00,2558,0
+2006-01-30,18:47:00,3697.00,3698.00,3697.00,3697.00,173,0
+2006-01-30,18:48:00,3696.00,3697.00,3694.00,3694.00,294,0
+2006-01-30,18:49:00,3695.00,3697.00,3695.00,3697.00,216,0
+2006-01-30,18:50:00,3696.00,3697.00,3696.00,3696.00,325,0
+2006-01-30,18:51:00,3696.00,3697.00,3696.00,3696.00,25,0
+2006-01-30,18:52:00,3696.00,3698.00,3696.00,3697.00,219,0
+2006-01-30,18:53:00,3697.00,3697.00,3697.00,3697.00,50,0
+2006-01-30,18:54:00,3696.00,3696.00,3696.00,3696.00,40,0
+2006-01-30,18:55:00,3695.00,3695.00,3694.00,3694.00,223,0
+2006-01-30,18:56:00,3694.00,3694.00,3694.00,3694.00,1,0
+2006-01-30,18:57:00,3695.00,3695.00,3695.00,3695.00,69,0
+2006-01-30,18:58:00,3696.00,3696.00,3695.00,3696.00,541,0
+2006-01-30,18:59:00,3696.00,3696.00,3695.00,3695.00,64,0
+2006-01-30,19:00:00,3696.00,3696.00,3695.00,3695.00,9,0
+2006-01-30,19:01:00,3696.00,3698.00,3696.00,3697.00,328,0
+2006-01-30,19:02:00,3697.00,3698.00,3697.00,3698.00,72,0
+2006-01-30,19:03:00,3697.00,3697.00,3697.00,3697.00,17,0
+2006-01-30,19:04:00,3697.00,3697.00,3696.00,3697.00,356,0
+2006-01-30,19:05:00,3697.00,3697.00,3696.00,3696.00,74,0
+2006-01-30,19:06:00,3696.00,3696.00,3696.00,3696.00,84,0
+2006-01-30,19:07:00,3696.00,3696.00,3696.00,3696.00,39,0
+2006-01-30,19:08:00,3696.00,3696.00,3696.00,3696.00,123,0
+2006-01-30,19:09:00,3697.00,3697.00,3697.00,3697.00,141,0
+2006-01-30,19:10:00,3697.00,3697.00,3697.00,3697.00,61,0
+2006-01-30,19:11:00,3697.00,3698.00,3697.00,3698.00,20,0
+2006-01-30,19:12:00,3697.00,3697.00,3697.00,3697.00,106,0
+2006-01-30,19:13:00,3697.00,3697.00,3696.00,3696.00,15,0
+2006-01-30,19:14:00,3696.00,3696.00,3696.00,3696.00,187,0
+2006-01-30,19:15:00,3696.00,3696.00,3696.00,3696.00,57,0
+2006-01-30,19:16:00,3696.00,3696.00,3696.00,3696.00,52,0
+2006-01-30,19:17:00,3697.00,3697.00,3697.00,3697.00,113,0
+2006-01-30,19:18:00,3697.00,3697.00,3697.00,3697.00,22,0
+2006-01-30,19:19:00,3697.00,3698.00,3697.00,3698.00,33,0
+2006-01-30,19:20:00,3698.00,3699.00,3697.00,3698.00,204,0
+2006-01-30,19:21:00,3698.00,3698.00,3697.00,3697.00,70,0
+2006-01-30,19:22:00,3697.00,3697.00,3696.00,3696.00,327,0
+2006-01-30,19:23:00,3696.00,3697.00,3695.00,3696.00,167,0
+2006-01-30,19:24:00,3696.00,3696.00,3696.00,3696.00,115,0
+2006-01-30,19:25:00,3695.00,3695.00,3695.00,3695.00,21,0
+2006-01-30,19:27:00,3696.00,3696.00,3695.00,3696.00,17,0
+2006-01-30,19:28:00,3696.00,3696.00,3695.00,3696.00,103,0
+2006-01-30,19:29:00,3696.00,3697.00,3696.00,3696.00,364,0
+2006-01-30,19:30:00,3697.00,3697.00,3697.00,3697.00,1,0
+2006-01-30,19:31:00,3696.00,3697.00,3696.00,3696.00,36,0
+2006-01-30,19:32:00,3696.00,3696.00,3696.00,3696.00,3,0
+2006-01-30,19:33:00,3697.00,3697.00,3697.00,3697.00,32,0
+2006-01-30,19:35:00,3696.00,3696.00,3696.00,3696.00,60,0
+2006-01-30,19:37:00,3696.00,3698.00,3696.00,3698.00,298,0
+2006-01-30,19:38:00,3698.00,3699.00,3697.00,3697.00,156,0
+2006-01-30,19:39:00,3697.00,3697.00,3696.00,3696.00,123,0
+2006-01-30,19:40:00,3697.00,3697.00,3697.00,3697.00,542,0
+2006-01-30,19:41:00,3697.00,3702.00,3697.00,3702.00,2277,0
+2006-01-30,19:42:00,3701.00,3703.00,3701.00,3703.00,1191,0
+2006-01-30,19:43:00,3702.00,3703.00,3701.00,3702.00,693,0
+2006-01-30,19:44:00,3702.00,3704.00,3702.00,3703.00,979,0
+2006-01-30,19:45:00,3704.00,3704.00,3702.00,3704.00,891,0
+2006-01-30,19:46:00,3703.00,3703.00,3702.00,3702.00,138,0
+2006-01-30,19:48:00,3702.00,3706.00,3702.00,3705.00,1354,0
+2006-01-30,19:49:00,3706.00,3708.00,3705.00,3706.00,886,0
+2006-01-30,19:50:00,3707.00,3707.00,3706.00,3706.00,7,0
+2006-01-30,19:51:00,3706.00,3707.00,3706.00,3707.00,322,0
+2006-01-30,19:52:00,3708.00,3709.00,3708.00,3708.00,723,0
+2006-01-30,19:53:00,3707.00,3707.00,3707.00,3707.00,356,0
+2006-01-30,19:54:00,3707.00,3708.00,3707.00,3707.00,39,0
+2006-01-30,19:55:00,3707.00,3707.00,3707.00,3707.00,108,0
+2006-01-30,19:56:00,3707.00,3707.00,3706.00,3706.00,218,0
+2006-01-30,19:57:00,3707.00,3707.00,3706.00,3706.00,107,0
+2006-01-30,19:58:00,3705.00,3705.00,3704.00,3704.00,147,0
+2006-01-30,19:59:00,3704.00,3704.00,3703.00,3703.00,147,0
+2006-01-30,20:00:00,3703.00,3704.00,3703.00,3704.00,164,0
+2006-01-30,20:01:00,3704.00,3704.00,3703.00,3704.00,728,0
+2006-01-30,20:02:00,3704.00,3704.00,3704.00,3704.00,308,0
+2006-01-30,20:03:00,3704.00,3704.00,3704.00,3704.00,223,0
+2006-01-30,20:04:00,3703.00,3703.00,3702.00,3703.00,70,0
+2006-01-30,20:05:00,3703.00,3704.00,3703.00,3704.00,47,0
+2006-01-30,20:06:00,3704.00,3704.00,3703.00,3703.00,104,0
+2006-01-30,20:07:00,3704.00,3704.00,3702.00,3703.00,378,0
+2006-01-30,20:08:00,3702.00,3702.00,3702.00,3702.00,206,0
+2006-01-30,20:09:00,3702.00,3702.00,3702.00,3702.00,2,0
+2006-01-30,20:10:00,3703.00,3703.00,3702.00,3702.00,46,0
+2006-01-30,20:11:00,3702.00,3702.00,3701.00,3701.00,226,0
+2006-01-30,20:12:00,3701.00,3702.00,3701.00,3702.00,170,0
+2006-01-30,20:13:00,3702.00,3702.00,3702.00,3702.00,19,0
+2006-01-30,20:14:00,3702.00,3702.00,3702.00,3702.00,26,0
+2006-01-30,20:15:00,3701.00,3702.00,3701.00,3702.00,6,0
+2006-01-30,20:16:00,3702.00,3703.00,3702.00,3703.00,20,0
+2006-01-30,20:17:00,3702.00,3702.00,3702.00,3702.00,363,0
+2006-01-30,20:18:00,3702.00,3702.00,3702.00,3702.00,50,0
+2006-01-30,20:19:00,3702.00,3702.00,3702.00,3702.00,1,0
+2006-01-30,20:20:00,3702.00,3702.00,3702.00,3702.00,16,0
+2006-01-30,20:21:00,3702.00,3702.00,3702.00,3702.00,35,0
+2006-01-30,20:22:00,3703.00,3703.00,3703.00,3703.00,30,0
+2006-01-30,20:23:00,3704.00,3704.00,3703.00,3703.00,14,0
+2006-01-30,20:24:00,3703.00,3704.00,3702.00,3704.00,126,0
+2006-01-30,20:25:00,3704.00,3704.00,3704.00,3704.00,15,0
+2006-01-30,20:26:00,3704.00,3704.00,3702.00,3702.00,32,0
+2006-01-30,20:27:00,3702.00,3702.00,3702.00,3702.00,141,0
+2006-01-30,20:28:00,3701.00,3701.00,3701.00,3701.00,51,0
+2006-01-30,20:29:00,3701.00,3701.00,3700.00,3700.00,43,0
+2006-01-30,20:31:00,3702.00,3702.00,3702.00,3702.00,89,0
+2006-01-30,20:32:00,3702.00,3702.00,3702.00,3702.00,137,0
+2006-01-30,20:33:00,3701.00,3702.00,3701.00,3702.00,198,0
+2006-01-30,20:34:00,3701.00,3701.00,3701.00,3701.00,15,0
+2006-01-30,20:36:00,3700.00,3700.00,3700.00,3700.00,108,0
+2006-01-30,20:37:00,3700.00,3701.00,3700.00,3700.00,203,0
+2006-01-30,20:38:00,3700.00,3701.00,3700.00,3701.00,233,0
+2006-01-30,20:39:00,3701.00,3701.00,3700.00,3700.00,135,0
+2006-01-30,20:41:00,3700.00,3700.00,3700.00,3700.00,21,0
+2006-01-30,20:42:00,3700.00,3701.00,3700.00,3701.00,158,0
+2006-01-30,20:43:00,3701.00,3701.00,3701.00,3701.00,63,0
+2006-01-30,20:44:00,3701.00,3701.00,3701.00,3701.00,30,0
+2006-01-30,20:46:00,3701.00,3701.00,3701.00,3701.00,32,0
+2006-01-30,20:47:00,3701.00,3701.00,3701.00,3701.00,12,0
+2006-01-30,20:48:00,3701.00,3701.00,3701.00,3701.00,3,0
+2006-01-30,20:50:00,3701.00,3701.00,3701.00,3701.00,7,0
+2006-01-30,20:52:00,3701.00,3701.00,3701.00,3701.00,4,0
+2006-01-30,20:57:00,3701.00,3701.00,3701.00,3701.00,8,0
+2006-01-30,20:58:00,3701.00,3702.00,3701.00,3702.00,2,0
+2006-01-30,21:01:00,3702.00,3702.00,3700.00,3700.00,240,0
+2006-01-30,21:02:00,3700.00,3700.00,3700.00,3700.00,56,0
+2006-01-30,21:03:00,3700.00,3701.00,3700.00,3700.00,180,0
+2006-01-30,21:04:00,3700.00,3700.00,3700.00,3700.00,117,0
+2006-01-30,21:05:00,3700.00,3700.00,3700.00,3700.00,55,0
+2006-01-30,21:07:00,3701.00,3701.00,3701.00,3701.00,65,0
+2006-01-30,21:08:00,3702.00,3702.00,3701.00,3701.00,130,0
+2006-01-30,21:10:00,3700.00,3701.00,3700.00,3701.00,57,0
+2006-01-30,21:12:00,3701.00,3701.00,3701.00,3701.00,92,0
+2006-01-30,21:13:00,3701.00,3702.00,3701.00,3702.00,67,0
+2006-01-30,21:15:00,3701.00,3701.00,3700.00,3700.00,103,0
+2006-01-30,21:16:00,3701.00,3701.00,3698.00,3699.00,366,0
+2006-01-30,21:17:00,3699.00,3699.00,3698.00,3698.00,8,0
+2006-01-30,21:18:00,3699.00,3699.00,3698.00,3698.00,50,0
+2006-01-30,21:19:00,3698.00,3698.00,3697.00,3697.00,53,0
+2006-01-30,21:20:00,3698.00,3698.00,3698.00,3698.00,2,0
+2006-01-30,21:21:00,3698.00,3698.00,3697.00,3698.00,61,0
+2006-01-30,21:22:00,3697.00,3697.00,3696.00,3697.00,54,0
+2006-01-30,21:23:00,3696.00,3696.00,3696.00,3696.00,67,0
+2006-01-30,21:24:00,3697.00,3697.00,3696.00,3696.00,30,0
+2006-01-30,21:27:00,3697.00,3697.00,3697.00,3697.00,363,0
+2006-01-30,21:28:00,3698.00,3698.00,3698.00,3698.00,16,0
+2006-01-30,21:29:00,3699.00,3699.00,3698.00,3698.00,67,0
+2006-01-30,21:30:00,3699.00,3699.00,3699.00,3699.00,4,0
+2006-01-30,21:31:00,3699.00,3699.00,3698.00,3699.00,37,0
+2006-01-30,21:32:00,3698.00,3699.00,3698.00,3699.00,14,0
+2006-01-30,21:33:00,3699.00,3699.00,3699.00,3699.00,6,0
+2006-01-30,21:34:00,3698.00,3698.00,3698.00,3698.00,1,0
+2006-01-30,21:36:00,3698.00,3698.00,3698.00,3698.00,4,0
+2006-01-30,21:37:00,3698.00,3699.00,3698.00,3699.00,40,0
+2006-01-30,21:38:00,3699.00,3699.00,3698.00,3698.00,74,0
+2006-01-30,21:39:00,3698.00,3698.00,3698.00,3698.00,5,0
+2006-01-30,21:40:00,3699.00,3699.00,3699.00,3699.00,9,0
+2006-01-30,21:41:00,3698.00,3698.00,3698.00,3698.00,2,0
+2006-01-30,21:42:00,3698.00,3698.00,3698.00,3698.00,12,0
+2006-01-30,21:43:00,3698.00,3699.00,3698.00,3698.00,163,0
+2006-01-30,21:44:00,3699.00,3699.00,3699.00,3699.00,1,0
+2006-01-30,21:46:00,3699.00,3699.00,3699.00,3699.00,9,0
+2006-01-30,21:47:00,3698.00,3698.00,3698.00,3698.00,46,0
+2006-01-30,21:48:00,3698.00,3698.00,3697.00,3697.00,43,0
+2006-01-30,21:49:00,3697.00,3698.00,3697.00,3698.00,41,0
+2006-01-30,21:51:00,3699.00,3699.00,3699.00,3699.00,1,0
+2006-01-30,21:52:00,3698.00,3699.00,3698.00,3699.00,48,0
+2006-01-30,21:53:00,3699.00,3700.00,3699.00,3700.00,157,0
+2006-01-30,21:54:00,3699.00,3700.00,3699.00,3700.00,34,0
+2006-01-30,21:55:00,3700.00,3700.00,3699.00,3699.00,106,0
+2006-01-30,21:56:00,3700.00,3700.00,3700.00,3700.00,14,0
+2006-01-30,21:57:00,3700.00,3701.00,3700.00,3701.00,34,0
+2006-01-30,21:58:00,3701.00,3701.00,3700.00,3701.00,39,0
+2006-01-30,21:59:00,3701.00,3701.00,3701.00,3701.00,85,0
+2006-01-30,22:00:00,3700.00,3701.00,3699.00,3701.00,484,0
+2006-01-31,09:01:00,3697.00,3697.00,3695.00,3695.00,6792,0
+2006-01-31,09:02:00,3695.00,3695.00,3694.00,3695.00,2197,0
+2006-01-31,09:03:00,3694.00,3696.00,3694.00,3695.00,1527,0
+2006-01-31,09:04:00,3695.00,3697.00,3695.00,3697.00,1430,0
+2006-01-31,09:05:00,3697.00,3699.00,3697.00,3698.00,1526,0
+2006-01-31,09:06:00,3698.00,3701.00,3698.00,3699.00,3635,0
+2006-01-31,09:07:00,3700.00,3700.00,3698.00,3698.00,1308,0
+2006-01-31,09:08:00,3698.00,3698.00,3696.00,3696.00,1924,0
+2006-01-31,09:09:00,3696.00,3701.00,3695.00,3700.00,4138,0
+2006-01-31,09:10:00,3701.00,3702.00,3700.00,3700.00,1806,0
+2006-01-31,09:11:00,3701.00,3702.00,3700.00,3702.00,1287,0
+2006-01-31,09:12:00,3702.00,3703.00,3701.00,3701.00,2167,0
+2006-01-31,09:13:00,3701.00,3701.00,3699.00,3700.00,1286,0
+2006-01-31,09:14:00,3699.00,3700.00,3699.00,3700.00,508,0
+2006-01-31,09:15:00,3700.00,3701.00,3699.00,3700.00,460,0
+2006-01-31,09:16:00,3700.00,3701.00,3699.00,3699.00,121,0
+2006-01-31,09:17:00,3699.00,3700.00,3698.00,3698.00,642,0
+2006-01-31,09:18:00,3699.00,3700.00,3699.00,3699.00,660,0
+2006-01-31,09:19:00,3699.00,3699.00,3698.00,3698.00,2664,0
+2006-01-31,09:20:00,3698.00,3698.00,3697.00,3697.00,275,0
+2006-01-31,09:21:00,3697.00,3698.00,3696.00,3697.00,1134,0
+2006-01-31,09:22:00,3697.00,3698.00,3697.00,3697.00,1356,0
+2006-01-31,09:23:00,3697.00,3698.00,3697.00,3698.00,546,0
+2006-01-31,09:24:00,3698.00,3701.00,3698.00,3699.00,2550,0
+2006-01-31,09:25:00,3700.00,3700.00,3699.00,3700.00,515,0
+2006-01-31,09:26:00,3700.00,3703.00,3699.00,3703.00,2607,0
+2006-01-31,09:27:00,3702.00,3703.00,3702.00,3703.00,1065,0
+2006-01-31,09:28:00,3703.00,3704.00,3703.00,3704.00,1510,0
+2006-01-31,09:29:00,3703.00,3705.00,3703.00,3704.00,891,0
+2006-01-31,09:30:00,3704.00,3705.00,3703.00,3704.00,404,0
+2006-01-31,09:31:00,3704.00,3704.00,3703.00,3703.00,679,0
+2006-01-31,09:32:00,3703.00,3704.00,3703.00,3704.00,138,0
+2006-01-31,09:33:00,3704.00,3705.00,3704.00,3705.00,1828,0
+2006-01-31,09:34:00,3704.00,3708.00,3704.00,3706.00,3858,0
+2006-01-31,09:35:00,3706.00,3711.00,3706.00,3711.00,5788,0
+2006-01-31,09:36:00,3711.00,3714.00,3711.00,3713.00,9432,0
+2006-01-31,09:37:00,3713.00,3714.00,3712.00,3713.00,3073,0
+2006-01-31,09:38:00,3713.00,3715.00,3713.00,3713.00,4129,0
+2006-01-31,09:39:00,3714.00,3716.00,3713.00,3715.00,3404,0
+2006-01-31,09:40:00,3714.00,3714.00,3713.00,3713.00,2431,0
+2006-01-31,09:41:00,3713.00,3713.00,3711.00,3711.00,1244,0
+2006-01-31,09:42:00,3712.00,3715.00,3712.00,3714.00,1576,0
+2006-01-31,09:43:00,3714.00,3714.00,3713.00,3713.00,715,0
+2006-01-31,09:44:00,3713.00,3714.00,3712.00,3714.00,1130,0
+2006-01-31,09:45:00,3714.00,3715.00,3713.00,3713.00,2144,0
+2006-01-31,09:46:00,3714.00,3714.00,3712.00,3713.00,765,0
+2006-01-31,09:47:00,3712.00,3713.00,3712.00,3712.00,155,0
+2006-01-31,09:48:00,3712.00,3713.00,3711.00,3711.00,1390,0
+2006-01-31,09:49:00,3711.00,3713.00,3711.00,3713.00,3531,0
+2006-01-31,09:50:00,3712.00,3717.00,3712.00,3716.00,3300,0
+2006-01-31,09:51:00,3717.00,3718.00,3715.00,3716.00,3708,0
+2006-01-31,09:52:00,3716.00,3716.00,3714.00,3714.00,1067,0
+2006-01-31,09:53:00,3715.00,3717.00,3714.00,3717.00,1940,0
+2006-01-31,09:54:00,3716.00,3717.00,3716.00,3716.00,1474,0
+2006-01-31,09:55:00,3717.00,3717.00,3716.00,3716.00,335,0
+2006-01-31,09:56:00,3715.00,3718.00,3715.00,3717.00,1286,0
+2006-01-31,09:57:00,3716.00,3717.00,3715.00,3715.00,2212,0
+2006-01-31,09:58:00,3715.00,3716.00,3714.00,3716.00,1217,0
+2006-01-31,09:59:00,3716.00,3716.00,3715.00,3716.00,1606,0
+2006-01-31,10:00:00,3715.00,3716.00,3715.00,3715.00,518,0
+2006-01-31,10:01:00,3715.00,3715.00,3713.00,3713.00,1547,0
+2006-01-31,10:02:00,3714.00,3715.00,3713.00,3714.00,1136,0
+2006-01-31,10:03:00,3713.00,3714.00,3712.00,3714.00,1060,0
+2006-01-31,10:04:00,3713.00,3714.00,3711.00,3711.00,2406,0
+2006-01-31,10:05:00,3711.00,3713.00,3711.00,3713.00,708,0
+2006-01-31,10:06:00,3712.00,3713.00,3712.00,3712.00,549,0
+2006-01-31,10:07:00,3711.00,3712.00,3710.00,3711.00,1867,0
+2006-01-31,10:08:00,3711.00,3712.00,3710.00,3711.00,2448,0
+2006-01-31,10:09:00,3711.00,3713.00,3711.00,3712.00,1451,0
+2006-01-31,10:10:00,3713.00,3713.00,3712.00,3712.00,1147,0
+2006-01-31,10:11:00,3712.00,3713.00,3712.00,3712.00,385,0
+2006-01-31,10:12:00,3713.00,3714.00,3712.00,3712.00,1389,0
+2006-01-31,10:13:00,3711.00,3712.00,3711.00,3712.00,771,0
+2006-01-31,10:14:00,3712.00,3713.00,3712.00,3713.00,2469,0
+2006-01-31,10:15:00,3713.00,3713.00,3712.00,3713.00,375,0
+2006-01-31,10:16:00,3713.00,3713.00,3712.00,3713.00,42,0
+2006-01-31,10:17:00,3712.00,3713.00,3711.00,3712.00,1694,0
+2006-01-31,10:18:00,3712.00,3713.00,3711.00,3711.00,2602,0
+2006-01-31,10:19:00,3711.00,3711.00,3710.00,3711.00,765,0
+2006-01-31,10:20:00,3711.00,3711.00,3710.00,3710.00,457,0
+2006-01-31,10:21:00,3710.00,3712.00,3710.00,3711.00,1562,0
+2006-01-31,10:22:00,3711.00,3712.00,3711.00,3711.00,709,0
+2006-01-31,10:23:00,3711.00,3712.00,3711.00,3711.00,1076,0
+2006-01-31,10:24:00,3711.00,3712.00,3710.00,3712.00,1149,0
+2006-01-31,10:25:00,3712.00,3712.00,3711.00,3711.00,64,0
+2006-01-31,10:26:00,3711.00,3712.00,3710.00,3710.00,81,0
+2006-01-31,10:27:00,3710.00,3711.00,3710.00,3711.00,1871,0
+2006-01-31,10:28:00,3711.00,3712.00,3711.00,3712.00,1544,0
+2006-01-31,10:29:00,3712.00,3712.00,3711.00,3712.00,1962,0
+2006-01-31,10:30:00,3712.00,3712.00,3712.00,3712.00,133,0
+2006-01-31,10:31:00,3712.00,3712.00,3711.00,3711.00,89,0
+2006-01-31,10:32:00,3711.00,3712.00,3711.00,3712.00,243,0
+2006-01-31,10:33:00,3712.00,3713.00,3711.00,3712.00,385,0
+2006-01-31,10:34:00,3712.00,3712.00,3711.00,3712.00,323,0
+2006-01-31,10:35:00,3712.00,3713.00,3711.00,3712.00,565,0
+2006-01-31,10:36:00,3713.00,3713.00,3712.00,3713.00,1010,0
+2006-01-31,10:37:00,3712.00,3713.00,3712.00,3713.00,677,0
+2006-01-31,10:38:00,3713.00,3714.00,3713.00,3713.00,1018,0
+2006-01-31,10:39:00,3713.00,3714.00,3713.00,3713.00,83,0
+2006-01-31,10:40:00,3713.00,3714.00,3713.00,3713.00,12,0
+2006-01-31,10:41:00,3714.00,3714.00,3712.00,3712.00,200,0
+2006-01-31,10:42:00,3713.00,3713.00,3712.00,3712.00,410,0
+2006-01-31,10:43:00,3712.00,3712.00,3712.00,3712.00,264,0
+2006-01-31,10:44:00,3712.00,3712.00,3710.00,3711.00,550,0
+2006-01-31,10:45:00,3711.00,3712.00,3710.00,3711.00,522,0
+2006-01-31,10:46:00,3711.00,3711.00,3709.00,3709.00,1140,0
+2006-01-31,10:47:00,3709.00,3712.00,3709.00,3712.00,2483,0
+2006-01-31,10:48:00,3712.00,3712.00,3710.00,3710.00,422,0
+2006-01-31,10:49:00,3711.00,3711.00,3710.00,3711.00,76,0
+2006-01-31,10:50:00,3710.00,3710.00,3710.00,3710.00,185,0
+2006-01-31,10:51:00,3710.00,3711.00,3709.00,3711.00,1245,0
+2006-01-31,10:52:00,3711.00,3711.00,3709.00,3710.00,654,0
+2006-01-31,10:53:00,3710.00,3711.00,3710.00,3711.00,710,0
+2006-01-31,10:54:00,3712.00,3712.00,3711.00,3711.00,141,0
+2006-01-31,10:55:00,3711.00,3711.00,3710.00,3710.00,59,0
+2006-01-31,10:56:00,3711.00,3711.00,3710.00,3710.00,58,0
+2006-01-31,10:57:00,3711.00,3711.00,3709.00,3710.00,1127,0
+2006-01-31,10:58:00,3710.00,3711.00,3710.00,3711.00,428,0
+2006-01-31,10:59:00,3710.00,3711.00,3710.00,3710.00,222,0
+2006-01-31,11:00:00,3710.00,3711.00,3710.00,3710.00,379,0
+2006-01-31,11:01:00,3710.00,3712.00,3709.00,3712.00,1224,0
+2006-01-31,11:02:00,3713.00,3715.00,3712.00,3714.00,2217,0
+2006-01-31,11:03:00,3713.00,3715.00,3713.00,3714.00,358,0
+2006-01-31,11:04:00,3714.00,3714.00,3713.00,3714.00,717,0
+2006-01-31,11:05:00,3714.00,3714.00,3714.00,3714.00,113,0
+2006-01-31,11:06:00,3715.00,3716.00,3715.00,3716.00,1088,0
+2006-01-31,11:07:00,3715.00,3716.00,3715.00,3715.00,798,0
+2006-01-31,11:08:00,3715.00,3715.00,3715.00,3715.00,130,0
+2006-01-31,11:09:00,3714.00,3714.00,3714.00,3714.00,133,0
+2006-01-31,11:10:00,3714.00,3715.00,3713.00,3713.00,414,0
+2006-01-31,11:11:00,3714.00,3714.00,3714.00,3714.00,648,0
+2006-01-31,11:12:00,3714.00,3714.00,3714.00,3714.00,315,0
+2006-01-31,11:13:00,3713.00,3713.00,3712.00,3713.00,336,0
+2006-01-31,11:14:00,3712.00,3713.00,3712.00,3713.00,543,0
+2006-01-31,11:15:00,3713.00,3713.00,3712.00,3712.00,46,0
+2006-01-31,11:16:00,3712.00,3713.00,3712.00,3712.00,742,0
+2006-01-31,11:17:00,3712.00,3712.00,3711.00,3712.00,533,0
+2006-01-31,11:18:00,3712.00,3712.00,3711.00,3712.00,382,0
+2006-01-31,11:19:00,3712.00,3712.00,3711.00,3711.00,76,0
+2006-01-31,11:20:00,3711.00,3712.00,3711.00,3712.00,1042,0
+2006-01-31,11:21:00,3712.00,3712.00,3711.00,3711.00,30,0
+2006-01-31,11:22:00,3711.00,3712.00,3711.00,3712.00,15,0
+2006-01-31,11:23:00,3711.00,3711.00,3711.00,3711.00,80,0
+2006-01-31,11:24:00,3711.00,3711.00,3710.00,3710.00,6767,0
+2006-01-31,11:25:00,3710.00,3710.00,3708.00,3709.00,935,0
+2006-01-31,11:26:00,3708.00,3710.00,3708.00,3709.00,553,0
+2006-01-31,11:27:00,3710.00,3710.00,3708.00,3709.00,1102,0
+2006-01-31,11:28:00,3709.00,3709.00,3708.00,3709.00,602,0
+2006-01-31,11:29:00,3708.00,3708.00,3708.00,3708.00,7146,0
+2006-01-31,11:30:00,3708.00,3709.00,3707.00,3709.00,1637,0
+2006-01-31,11:31:00,3709.00,3709.00,3708.00,3709.00,562,0
+2006-01-31,11:32:00,3709.00,3710.00,3709.00,3710.00,310,0
+2006-01-31,11:33:00,3709.00,3710.00,3709.00,3709.00,517,0
+2006-01-31,11:34:00,3709.00,3709.00,3708.00,3708.00,202,0
+2006-01-31,11:35:00,3709.00,3709.00,3708.00,3709.00,443,0
+2006-01-31,11:36:00,3710.00,3710.00,3708.00,3708.00,2557,0
+2006-01-31,11:37:00,3708.00,3708.00,3708.00,3708.00,20,0
+2006-01-31,11:38:00,3708.00,3708.00,3706.00,3707.00,1808,0
+2006-01-31,11:39:00,3707.00,3707.00,3704.00,3705.00,2826,0
+2006-01-31,11:40:00,3705.00,3706.00,3705.00,3705.00,869,0
+2006-01-31,11:41:00,3704.00,3705.00,3704.00,3705.00,524,0
+2006-01-31,11:42:00,3705.00,3706.00,3705.00,3705.00,33,0
+2006-01-31,11:43:00,3706.00,3706.00,3705.00,3706.00,30,0
+2006-01-31,11:44:00,3705.00,3706.00,3705.00,3706.00,478,0
+2006-01-31,11:45:00,3705.00,3706.00,3705.00,3706.00,122,0
+2006-01-31,11:46:00,3706.00,3706.00,3704.00,3704.00,937,0
+2006-01-31,11:47:00,3705.00,3705.00,3704.00,3705.00,459,0
+2006-01-31,11:48:00,3705.00,3706.00,3705.00,3706.00,953,0
+2006-01-31,11:49:00,3706.00,3706.00,3705.00,3705.00,1446,0
+2006-01-31,11:50:00,3706.00,3706.00,3705.00,3705.00,322,0
+2006-01-31,11:51:00,3705.00,3705.00,3704.00,3704.00,1055,0
+2006-01-31,11:52:00,3705.00,3705.00,3703.00,3704.00,1557,0
+2006-01-31,11:53:00,3704.00,3704.00,3704.00,3704.00,440,0
+2006-01-31,11:54:00,3704.00,3704.00,3703.00,3704.00,544,0
+2006-01-31,11:55:00,3704.00,3704.00,3703.00,3704.00,497,0
+2006-01-31,11:56:00,3704.00,3705.00,3704.00,3704.00,126,0
+2006-01-31,11:57:00,3704.00,3704.00,3703.00,3704.00,285,0
+2006-01-31,11:58:00,3703.00,3703.00,3701.00,3701.00,1883,0
+2006-01-31,11:59:00,3702.00,3702.00,3698.00,3699.00,3300,0
+2006-01-31,12:00:00,3698.00,3699.00,3698.00,3699.00,1496,0
+2006-01-31,12:01:00,3698.00,3699.00,3697.00,3698.00,1829,0
+2006-01-31,12:02:00,3698.00,3699.00,3698.00,3699.00,295,0
+2006-01-31,12:03:00,3699.00,3699.00,3698.00,3698.00,1894,0
+2006-01-31,12:04:00,3699.00,3699.00,3698.00,3699.00,184,0
+2006-01-31,12:05:00,3699.00,3699.00,3698.00,3698.00,1053,0
+2006-01-31,12:06:00,3698.00,3699.00,3697.00,3699.00,1338,0
+2006-01-31,12:07:00,3699.00,3699.00,3698.00,3699.00,11,0
+2006-01-31,12:08:00,3698.00,3699.00,3697.00,3698.00,1217,0
+2006-01-31,12:09:00,3697.00,3698.00,3696.00,3697.00,894,0
+2006-01-31,12:10:00,3697.00,3698.00,3697.00,3697.00,514,0
+2006-01-31,12:11:00,3697.00,3698.00,3697.00,3697.00,708,0
+2006-01-31,12:12:00,3698.00,3699.00,3698.00,3698.00,1474,0
+2006-01-31,12:13:00,3699.00,3699.00,3698.00,3699.00,62,0
+2006-01-31,12:14:00,3698.00,3699.00,3697.00,3697.00,520,0
+2006-01-31,12:15:00,3697.00,3698.00,3697.00,3698.00,316,0
+2006-01-31,12:16:00,3698.00,3699.00,3697.00,3698.00,1255,0
+2006-01-31,12:17:00,3698.00,3698.00,3697.00,3697.00,417,0
+2006-01-31,12:18:00,3696.00,3698.00,3696.00,3697.00,595,0
+2006-01-31,12:19:00,3697.00,3698.00,3696.00,3697.00,740,0
+2006-01-31,12:20:00,3696.00,3697.00,3695.00,3696.00,852,0
+2006-01-31,12:21:00,3696.00,3698.00,3695.00,3697.00,1427,0
+2006-01-31,12:22:00,3697.00,3698.00,3697.00,3698.00,294,0
+2006-01-31,12:23:00,3697.00,3698.00,3697.00,3698.00,38,0
+2006-01-31,12:24:00,3697.00,3698.00,3697.00,3698.00,2393,0
+2006-01-31,12:25:00,3697.00,3698.00,3696.00,3697.00,1307,0
+2006-01-31,12:26:00,3696.00,3698.00,3696.00,3698.00,627,0
+2006-01-31,12:27:00,3697.00,3698.00,3696.00,3697.00,860,0
+2006-01-31,12:28:00,3697.00,3698.00,3696.00,3696.00,690,0
+2006-01-31,12:29:00,3697.00,3697.00,3695.00,3697.00,1435,0
+2006-01-31,12:30:00,3697.00,3698.00,3697.00,3697.00,473,0
+2006-01-31,12:31:00,3698.00,3699.00,3697.00,3698.00,1139,0
+2006-01-31,12:32:00,3699.00,3699.00,3698.00,3699.00,732,0
+2006-01-31,12:33:00,3698.00,3698.00,3697.00,3698.00,485,0
+2006-01-31,12:34:00,3697.00,3698.00,3696.00,3697.00,883,0
+2006-01-31,12:35:00,3697.00,3697.00,3695.00,3695.00,1552,0
+2006-01-31,12:36:00,3696.00,3696.00,3692.00,3694.00,3903,0
+2006-01-31,12:37:00,3693.00,3694.00,3691.00,3692.00,1998,0
+2006-01-31,12:38:00,3692.00,3693.00,3691.00,3693.00,847,0
+2006-01-31,12:39:00,3693.00,3693.00,3692.00,3693.00,234,0
+2006-01-31,12:40:00,3692.00,3693.00,3692.00,3692.00,2085,0
+2006-01-31,12:41:00,3692.00,3693.00,3692.00,3692.00,66,0
+2006-01-31,12:42:00,3692.00,3692.00,3689.00,3691.00,3385,0
+2006-01-31,12:43:00,3690.00,3691.00,3689.00,3690.00,1520,0
+2006-01-31,12:44:00,3690.00,3691.00,3690.00,3691.00,1768,0
+2006-01-31,12:45:00,3690.00,3691.00,3687.00,3688.00,3216,0
+2006-01-31,12:46:00,3688.00,3688.00,3687.00,3687.00,1144,0
+2006-01-31,12:47:00,3687.00,3687.00,3684.00,3687.00,4442,0
+2006-01-31,12:48:00,3686.00,3687.00,3685.00,3687.00,604,0
+2006-01-31,12:49:00,3687.00,3689.00,3686.00,3689.00,797,0
+2006-01-31,12:50:00,3689.00,3689.00,3688.00,3688.00,1536,0
+2006-01-31,12:51:00,3689.00,3690.00,3688.00,3689.00,1001,0
+2006-01-31,12:52:00,3690.00,3690.00,3689.00,3690.00,143,0
+2006-01-31,12:53:00,3689.00,3692.00,3689.00,3692.00,1567,0
+2006-01-31,12:54:00,3691.00,3692.00,3691.00,3692.00,555,0
+2006-01-31,12:55:00,3692.00,3692.00,3690.00,3691.00,680,0
+2006-01-31,12:56:00,3691.00,3691.00,3690.00,3691.00,2274,0
+2006-01-31,12:57:00,3690.00,3691.00,3690.00,3690.00,58,0
+2006-01-31,12:58:00,3691.00,3691.00,3691.00,3691.00,777,0
+2006-01-31,12:59:00,3691.00,3691.00,3690.00,3690.00,352,0
+2006-01-31,13:00:00,3690.00,3691.00,3690.00,3690.00,47,0
+2006-01-31,13:01:00,3691.00,3692.00,3690.00,3691.00,390,0
+2006-01-31,13:02:00,3691.00,3691.00,3690.00,3691.00,302,0
+2006-01-31,13:03:00,3691.00,3691.00,3690.00,3690.00,583,0
+2006-01-31,13:04:00,3690.00,3692.00,3690.00,3692.00,1176,0
+2006-01-31,13:05:00,3691.00,3692.00,3691.00,3692.00,1015,0
+2006-01-31,13:06:00,3692.00,3693.00,3692.00,3692.00,365,0
+2006-01-31,13:07:00,3693.00,3693.00,3692.00,3692.00,88,0
+2006-01-31,13:08:00,3693.00,3693.00,3692.00,3692.00,132,0
+2006-01-31,13:09:00,3692.00,3693.00,3692.00,3693.00,46,0
+2006-01-31,13:10:00,3693.00,3693.00,3692.00,3692.00,781,0
+2006-01-31,13:11:00,3692.00,3693.00,3692.00,3693.00,205,0
+2006-01-31,13:12:00,3693.00,3695.00,3692.00,3695.00,968,0
+2006-01-31,13:13:00,3695.00,3695.00,3694.00,3695.00,252,0
+2006-01-31,13:14:00,3694.00,3695.00,3694.00,3695.00,557,0
+2006-01-31,13:15:00,3695.00,3696.00,3694.00,3694.00,403,0
+2006-01-31,13:16:00,3694.00,3695.00,3694.00,3695.00,139,0
+2006-01-31,13:17:00,3695.00,3695.00,3694.00,3694.00,319,0
+2006-01-31,13:18:00,3694.00,3695.00,3694.00,3694.00,1183,0
+2006-01-31,13:19:00,3694.00,3694.00,3694.00,3694.00,498,0
+2006-01-31,13:20:00,3694.00,3695.00,3693.00,3693.00,265,0
+2006-01-31,13:21:00,3694.00,3694.00,3693.00,3694.00,51,0
+2006-01-31,13:22:00,3693.00,3694.00,3693.00,3694.00,991,0
+2006-01-31,13:23:00,3694.00,3695.00,3693.00,3694.00,238,0
+2006-01-31,13:24:00,3694.00,3694.00,3693.00,3694.00,107,0
+2006-01-31,13:25:00,3693.00,3694.00,3693.00,3694.00,211,0
+2006-01-31,13:26:00,3693.00,3694.00,3692.00,3692.00,601,0
+2006-01-31,13:27:00,3693.00,3693.00,3692.00,3693.00,259,0
+2006-01-31,13:28:00,3694.00,3694.00,3693.00,3694.00,479,0
+2006-01-31,13:29:00,3694.00,3695.00,3694.00,3694.00,655,0
+2006-01-31,13:30:00,3694.00,3695.00,3694.00,3695.00,170,0
+2006-01-31,13:31:00,3695.00,3696.00,3694.00,3695.00,970,0
+2006-01-31,13:32:00,3694.00,3694.00,3693.00,3693.00,1699,0
+2006-01-31,13:33:00,3693.00,3694.00,3693.00,3693.00,80,0
+2006-01-31,13:34:00,3693.00,3694.00,3693.00,3693.00,80,0
+2006-01-31,13:35:00,3694.00,3694.00,3693.00,3693.00,614,0
+2006-01-31,13:36:00,3693.00,3693.00,3693.00,3693.00,106,0
+2006-01-31,13:37:00,3692.00,3693.00,3692.00,3693.00,12,0
+2006-01-31,13:38:00,3693.00,3694.00,3692.00,3692.00,424,0
+2006-01-31,13:39:00,3692.00,3693.00,3692.00,3693.00,19,0
+2006-01-31,13:40:00,3692.00,3693.00,3692.00,3693.00,131,0
+2006-01-31,13:41:00,3692.00,3693.00,3692.00,3693.00,5,0
+2006-01-31,13:42:00,3692.00,3693.00,3692.00,3693.00,198,0
+2006-01-31,13:43:00,3693.00,3694.00,3693.00,3694.00,417,0
+2006-01-31,13:44:00,3693.00,3693.00,3691.00,3691.00,1184,0
+2006-01-31,13:45:00,3691.00,3692.00,3691.00,3691.00,3142,0
+2006-01-31,13:46:00,3691.00,3692.00,3691.00,3692.00,433,0
+2006-01-31,13:47:00,3692.00,3692.00,3691.00,3691.00,8,0
+2006-01-31,13:48:00,3691.00,3692.00,3691.00,3691.00,4,0
+2006-01-31,13:49:00,3691.00,3691.00,3690.00,3690.00,304,0
+2006-01-31,13:50:00,3691.00,3691.00,3690.00,3690.00,27,0
+2006-01-31,13:51:00,3690.00,3691.00,3690.00,3690.00,547,0
+2006-01-31,13:52:00,3690.00,3692.00,3690.00,3691.00,122,0
+2006-01-31,13:53:00,3691.00,3692.00,3691.00,3692.00,98,0
+2006-01-31,13:54:00,3692.00,3692.00,3691.00,3691.00,46,0
+2006-01-31,13:55:00,3691.00,3692.00,3691.00,3692.00,150,0
+2006-01-31,13:56:00,3691.00,3692.00,3691.00,3691.00,211,0
+2006-01-31,13:57:00,3691.00,3692.00,3691.00,3691.00,24,0
+2006-01-31,13:58:00,3691.00,3691.00,3690.00,3691.00,754,0
+2006-01-31,13:59:00,3690.00,3690.00,3689.00,3689.00,887,0
+2006-01-31,14:00:00,3689.00,3689.00,3688.00,3688.00,202,0
+2006-01-31,14:01:00,3688.00,3689.00,3688.00,3688.00,53,0
+2006-01-31,14:02:00,3688.00,3689.00,3688.00,3689.00,71,0
+2006-01-31,14:03:00,3689.00,3690.00,3689.00,3689.00,268,0
+2006-01-31,14:04:00,3690.00,3691.00,3689.00,3689.00,742,0
+2006-01-31,14:05:00,3689.00,3690.00,3689.00,3689.00,1195,0
+2006-01-31,14:06:00,3689.00,3690.00,3689.00,3690.00,530,0
+2006-01-31,14:07:00,3690.00,3690.00,3689.00,3690.00,575,0
+2006-01-31,14:08:00,3690.00,3690.00,3688.00,3689.00,829,0
+2006-01-31,14:09:00,3689.00,3689.00,3688.00,3688.00,757,0
+2006-01-31,14:10:00,3687.00,3688.00,3686.00,3688.00,2513,0
+2006-01-31,14:11:00,3687.00,3688.00,3687.00,3688.00,650,0
+2006-01-31,14:12:00,3687.00,3688.00,3686.00,3687.00,1378,0
+2006-01-31,14:13:00,3687.00,3688.00,3687.00,3688.00,106,0
+2006-01-31,14:14:00,3688.00,3688.00,3687.00,3687.00,27,0
+2006-01-31,14:15:00,3687.00,3688.00,3687.00,3687.00,49,0
+2006-01-31,14:16:00,3687.00,3688.00,3687.00,3687.00,198,0
+2006-01-31,14:17:00,3688.00,3688.00,3686.00,3687.00,581,0
+2006-01-31,14:18:00,3686.00,3687.00,3686.00,3687.00,834,0
+2006-01-31,14:19:00,3687.00,3687.00,3686.00,3687.00,2064,0
+2006-01-31,14:20:00,3687.00,3688.00,3687.00,3687.00,168,0
+2006-01-31,14:21:00,3687.00,3688.00,3687.00,3688.00,284,0
+2006-01-31,14:22:00,3688.00,3689.00,3687.00,3687.00,519,0
+2006-01-31,14:23:00,3688.00,3688.00,3687.00,3688.00,241,0
+2006-01-31,14:24:00,3688.00,3688.00,3687.00,3687.00,413,0
+2006-01-31,14:25:00,3687.00,3689.00,3687.00,3687.00,326,0
+2006-01-31,14:26:00,3688.00,3688.00,3687.00,3688.00,143,0
+2006-01-31,14:27:00,3687.00,3688.00,3687.00,3687.00,5,0
+2006-01-31,14:28:00,3687.00,3688.00,3687.00,3687.00,264,0
+2006-01-31,14:29:00,3687.00,3687.00,3686.00,3686.00,475,0
+2006-01-31,14:30:00,3686.00,3687.00,3685.00,3685.00,1412,0
+2006-01-31,14:31:00,3685.00,3687.00,3685.00,3687.00,1352,0
+2006-01-31,14:32:00,3687.00,3687.00,3682.00,3683.00,4251,0
+2006-01-31,14:33:00,3683.00,3684.00,3682.00,3682.00,1360,0
+2006-01-31,14:34:00,3682.00,3683.00,3681.00,3682.00,2629,0
+2006-01-31,14:35:00,3682.00,3683.00,3681.00,3682.00,1326,0
+2006-01-31,14:36:00,3683.00,3684.00,3682.00,3683.00,3356,0
+2006-01-31,14:37:00,3682.00,3683.00,3681.00,3681.00,1585,0
+2006-01-31,14:38:00,3681.00,3683.00,3681.00,3682.00,1195,0
+2006-01-31,14:39:00,3682.00,3685.00,3682.00,3684.00,2108,0
+2006-01-31,14:40:00,3684.00,3684.00,3683.00,3683.00,733,0
+2006-01-31,14:41:00,3684.00,3684.00,3683.00,3683.00,74,0
+2006-01-31,14:42:00,3683.00,3684.00,3682.00,3684.00,979,0
+2006-01-31,14:43:00,3684.00,3685.00,3683.00,3683.00,461,0
+2006-01-31,14:44:00,3683.00,3684.00,3683.00,3683.00,455,0
+2006-01-31,14:45:00,3683.00,3684.00,3683.00,3684.00,188,0
+2006-01-31,14:46:00,3684.00,3685.00,3684.00,3685.00,64,0
+2006-01-31,14:47:00,3685.00,3685.00,3684.00,3685.00,163,0
+2006-01-31,14:48:00,3684.00,3685.00,3684.00,3685.00,122,0
+2006-01-31,14:49:00,3685.00,3685.00,3684.00,3684.00,367,0
+2006-01-31,14:50:00,3685.00,3687.00,3685.00,3687.00,1744,0
+2006-01-31,14:51:00,3686.00,3687.00,3686.00,3686.00,425,0
+2006-01-31,14:52:00,3687.00,3687.00,3686.00,3686.00,21,0
+2006-01-31,14:53:00,3686.00,3689.00,3686.00,3689.00,2082,0
+2006-01-31,14:54:00,3688.00,3689.00,3688.00,3688.00,394,0
+2006-01-31,14:55:00,3689.00,3690.00,3688.00,3690.00,689,0
+2006-01-31,14:56:00,3690.00,3690.00,3689.00,3689.00,96,0
+2006-01-31,14:57:00,3690.00,3691.00,3690.00,3690.00,1045,0
+2006-01-31,14:58:00,3690.00,3691.00,3690.00,3690.00,950,0
+2006-01-31,14:59:00,3690.00,3691.00,3689.00,3690.00,1472,0
+2006-01-31,15:00:00,3689.00,3690.00,3689.00,3689.00,138,0
+2006-01-31,15:01:00,3690.00,3690.00,3689.00,3690.00,852,0
+2006-01-31,15:02:00,3689.00,3690.00,3689.00,3690.00,101,0
+2006-01-31,15:03:00,3690.00,3691.00,3689.00,3690.00,995,0
+2006-01-31,15:04:00,3690.00,3690.00,3689.00,3690.00,195,0
+2006-01-31,15:05:00,3689.00,3690.00,3688.00,3689.00,751,0
+2006-01-31,15:06:00,3689.00,3690.00,3689.00,3690.00,644,0
+2006-01-31,15:07:00,3691.00,3691.00,3689.00,3690.00,355,0
+2006-01-31,15:08:00,3690.00,3691.00,3689.00,3691.00,238,0
+2006-01-31,15:09:00,3690.00,3691.00,3690.00,3691.00,189,0
+2006-01-31,15:10:00,3691.00,3692.00,3691.00,3692.00,833,0
+2006-01-31,15:11:00,3692.00,3692.00,3691.00,3691.00,1565,0
+2006-01-31,15:12:00,3691.00,3691.00,3690.00,3691.00,1274,0
+2006-01-31,15:13:00,3691.00,3692.00,3691.00,3691.00,741,0
+2006-01-31,15:14:00,3691.00,3692.00,3691.00,3692.00,458,0
+2006-01-31,15:15:00,3692.00,3692.00,3691.00,3691.00,223,0
+2006-01-31,15:16:00,3691.00,3691.00,3690.00,3691.00,339,0
+2006-01-31,15:17:00,3690.00,3691.00,3690.00,3690.00,62,0
+2006-01-31,15:18:00,3690.00,3691.00,3690.00,3691.00,78,0
+2006-01-31,15:19:00,3690.00,3691.00,3690.00,3690.00,14,0
+2006-01-31,15:20:00,3690.00,3691.00,3690.00,3691.00,68,0
+2006-01-31,15:21:00,3691.00,3691.00,3690.00,3690.00,361,0
+2006-01-31,15:22:00,3690.00,3691.00,3690.00,3690.00,132,0
+2006-01-31,15:23:00,3690.00,3691.00,3690.00,3691.00,115,0
+2006-01-31,15:24:00,3690.00,3691.00,3690.00,3690.00,715,0
+2006-01-31,15:25:00,3691.00,3692.00,3691.00,3691.00,578,0
+2006-01-31,15:26:00,3691.00,3692.00,3691.00,3691.00,913,0
+2006-01-31,15:27:00,3691.00,3692.00,3691.00,3691.00,628,0
+2006-01-31,15:28:00,3691.00,3692.00,3691.00,3691.00,83,0
+2006-01-31,15:29:00,3691.00,3692.00,3690.00,3690.00,226,0
+2006-01-31,15:30:00,3690.00,3691.00,3690.00,3690.00,35,0
+2006-01-31,15:31:00,3690.00,3691.00,3690.00,3691.00,238,0
+2006-01-31,15:32:00,3690.00,3691.00,3690.00,3690.00,121,0
+2006-01-31,15:33:00,3691.00,3691.00,3690.00,3690.00,103,0
+2006-01-31,15:34:00,3690.00,3691.00,3689.00,3691.00,1069,0
+2006-01-31,15:35:00,3691.00,3694.00,3691.00,3693.00,4000,0
+2006-01-31,15:36:00,3693.00,3694.00,3692.00,3693.00,2208,0
+2006-01-31,15:37:00,3693.00,3694.00,3693.00,3694.00,1338,0
+2006-01-31,15:38:00,3694.00,3694.00,3691.00,3691.00,1677,0
+2006-01-31,15:39:00,3692.00,3693.00,3690.00,3692.00,2206,0
+2006-01-31,15:40:00,3692.00,3696.00,3691.00,3695.00,5021,0
+2006-01-31,15:41:00,3695.00,3695.00,3694.00,3694.00,381,0
+2006-01-31,15:42:00,3695.00,3695.00,3693.00,3693.00,759,0
+2006-01-31,15:43:00,3694.00,3694.00,3692.00,3693.00,1880,0
+2006-01-31,15:44:00,3693.00,3694.00,3693.00,3694.00,563,0
+2006-01-31,15:45:00,3693.00,3696.00,3693.00,3696.00,1478,0
+2006-01-31,15:46:00,3695.00,3698.00,3694.00,3698.00,6984,0
+2006-01-31,15:47:00,3698.00,3700.00,3697.00,3698.00,3354,0
+2006-01-31,15:48:00,3698.00,3699.00,3697.00,3698.00,2305,0
+2006-01-31,15:49:00,3697.00,3699.00,3697.00,3698.00,1146,0
+2006-01-31,15:50:00,3697.00,3698.00,3696.00,3696.00,1138,0
+2006-01-31,15:51:00,3696.00,3697.00,3696.00,3696.00,1917,0
+2006-01-31,15:52:00,3697.00,3698.00,3696.00,3698.00,1022,0
+2006-01-31,15:53:00,3698.00,3698.00,3696.00,3697.00,1219,0
+2006-01-31,15:54:00,3697.00,3697.00,3695.00,3696.00,602,0
+2006-01-31,15:55:00,3695.00,3696.00,3693.00,3694.00,1245,0
+2006-01-31,15:56:00,3694.00,3694.00,3690.00,3691.00,2410,0
+2006-01-31,15:57:00,3691.00,3691.00,3688.00,3689.00,13802,0
+2006-01-31,15:58:00,3689.00,3690.00,3687.00,3689.00,4021,0
+2006-01-31,15:59:00,3689.00,3689.00,3685.00,3686.00,4209,0
+2006-01-31,16:00:00,3686.00,3688.00,3686.00,3688.00,2275,0
+2006-01-31,16:01:00,3687.00,3692.00,3687.00,3691.00,4510,0
+2006-01-31,16:02:00,3691.00,3691.00,3686.00,3687.00,4220,0
+2006-01-31,16:03:00,3688.00,3688.00,3685.00,3687.00,3529,0
+2006-01-31,16:04:00,3687.00,3688.00,3684.00,3685.00,3425,0
+2006-01-31,16:05:00,3686.00,3688.00,3685.00,3688.00,2103,0
+2006-01-31,16:06:00,3688.00,3689.00,3687.00,3688.00,1528,0
+2006-01-31,16:07:00,3689.00,3691.00,3688.00,3691.00,1531,0
+2006-01-31,16:08:00,3691.00,3693.00,3690.00,3692.00,1641,0
+2006-01-31,16:09:00,3693.00,3693.00,3691.00,3692.00,1779,0
+2006-01-31,16:10:00,3692.00,3693.00,3689.00,3689.00,1290,0
+2006-01-31,16:11:00,3689.00,3691.00,3688.00,3688.00,1769,0
+2006-01-31,16:12:00,3688.00,3693.00,3688.00,3692.00,2019,0
+2006-01-31,16:13:00,3692.00,3694.00,3692.00,3692.00,1749,0
+2006-01-31,16:14:00,3693.00,3694.00,3688.00,3689.00,3188,0
+2006-01-31,16:15:00,3689.00,3692.00,3689.00,3690.00,3045,0
+2006-01-31,16:16:00,3690.00,3691.00,3688.00,3690.00,2337,0
+2006-01-31,16:17:00,3689.00,3691.00,3688.00,3691.00,1915,0
+2006-01-31,16:18:00,3690.00,3690.00,3688.00,3690.00,2589,0
+2006-01-31,16:19:00,3690.00,3691.00,3689.00,3690.00,2042,0
+2006-01-31,16:20:00,3690.00,3692.00,3689.00,3692.00,4414,0
+2006-01-31,16:21:00,3692.00,3693.00,3689.00,3691.00,1851,0
+2006-01-31,16:22:00,3691.00,3693.00,3690.00,3693.00,963,0
+2006-01-31,16:23:00,3693.00,3694.00,3691.00,3692.00,1097,0
+2006-01-31,16:24:00,3691.00,3692.00,3691.00,3691.00,815,0
+2006-01-31,16:25:00,3690.00,3691.00,3689.00,3689.00,1863,0
+2006-01-31,16:26:00,3689.00,3692.00,3689.00,3692.00,1556,0
+2006-01-31,16:27:00,3692.00,3693.00,3691.00,3692.00,1672,0
+2006-01-31,16:28:00,3692.00,3692.00,3688.00,3689.00,1772,0
+2006-01-31,16:29:00,3689.00,3691.00,3688.00,3691.00,790,0
+2006-01-31,16:30:00,3690.00,3691.00,3688.00,3690.00,3052,0
+2006-01-31,16:31:00,3690.00,3692.00,3689.00,3689.00,3640,0
+2006-01-31,16:32:00,3690.00,3690.00,3689.00,3690.00,799,0
+2006-01-31,16:33:00,3690.00,3690.00,3688.00,3688.00,1323,0
+2006-01-31,16:34:00,3689.00,3689.00,3687.00,3689.00,1573,0
+2006-01-31,16:35:00,3689.00,3690.00,3688.00,3689.00,737,0
+2006-01-31,16:36:00,3689.00,3692.00,3689.00,3692.00,2868,0
+2006-01-31,16:37:00,3692.00,3693.00,3691.00,3693.00,1443,0
+2006-01-31,16:38:00,3693.00,3693.00,3690.00,3691.00,1484,0
+2006-01-31,16:39:00,3691.00,3693.00,3691.00,3692.00,1796,0
+2006-01-31,16:40:00,3692.00,3694.00,3691.00,3694.00,2776,0
+2006-01-31,16:41:00,3694.00,3695.00,3693.00,3694.00,2017,0
+2006-01-31,16:42:00,3694.00,3695.00,3692.00,3693.00,2080,0
+2006-01-31,16:43:00,3693.00,3694.00,3692.00,3694.00,1674,0
+2006-01-31,16:44:00,3694.00,3694.00,3693.00,3693.00,624,0
+2006-01-31,16:45:00,3694.00,3694.00,3692.00,3693.00,1934,0
+2006-01-31,16:46:00,3693.00,3694.00,3691.00,3694.00,1880,0
+2006-01-31,16:47:00,3694.00,3695.00,3693.00,3695.00,3365,0
+2006-01-31,16:48:00,3695.00,3696.00,3694.00,3696.00,2859,0
+2006-01-31,16:49:00,3695.00,3695.00,3693.00,3695.00,1992,0
+2006-01-31,16:50:00,3695.00,3697.00,3695.00,3697.00,2068,0
+2006-01-31,16:51:00,3696.00,3699.00,3696.00,3698.00,2691,0
+2006-01-31,16:52:00,3698.00,3699.00,3696.00,3696.00,3746,0
+2006-01-31,16:53:00,3697.00,3699.00,3697.00,3698.00,4130,0
+2006-01-31,16:54:00,3699.00,3701.00,3698.00,3701.00,4316,0
+2006-01-31,16:55:00,3701.00,3704.00,3701.00,3704.00,6211,0
+2006-01-31,16:56:00,3703.00,3704.00,3703.00,3703.00,1613,0
+2006-01-31,16:57:00,3703.00,3703.00,3701.00,3702.00,1711,0
+2006-01-31,16:58:00,3701.00,3703.00,3701.00,3702.00,1044,0
+2006-01-31,16:59:00,3703.00,3703.00,3702.00,3702.00,1133,0
+2006-01-31,17:00:00,3703.00,3703.00,3702.00,3703.00,336,0
+2006-01-31,17:01:00,3703.00,3704.00,3702.00,3704.00,5095,0
+2006-01-31,17:02:00,3703.00,3705.00,3703.00,3704.00,1238,0
+2006-01-31,17:03:00,3704.00,3705.00,3703.00,3705.00,1313,0
+2006-01-31,17:04:00,3705.00,3707.00,3705.00,3705.00,2631,0
+2006-01-31,17:05:00,3705.00,3706.00,3703.00,3703.00,2034,0
+2006-01-31,17:06:00,3704.00,3704.00,3703.00,3704.00,728,0
+2006-01-31,17:07:00,3703.00,3705.00,3703.00,3705.00,1185,0
+2006-01-31,17:08:00,3705.00,3706.00,3704.00,3705.00,1419,0
+2006-01-31,17:09:00,3705.00,3705.00,3703.00,3705.00,1822,0
+2006-01-31,17:10:00,3705.00,3707.00,3705.00,3707.00,1488,0
+2006-01-31,17:11:00,3707.00,3707.00,3706.00,3706.00,2133,0
+2006-01-31,17:12:00,3707.00,3708.00,3706.00,3706.00,2392,0
+2006-01-31,17:13:00,3706.00,3706.00,3703.00,3705.00,2493,0
+2006-01-31,17:14:00,3704.00,3705.00,3703.00,3704.00,1326,0
+2006-01-31,17:15:00,3704.00,3704.00,3702.00,3703.00,2338,0
+2006-01-31,17:16:00,3703.00,3703.00,3701.00,3702.00,2341,0
+2006-01-31,17:17:00,3702.00,3702.00,3699.00,3699.00,2404,0
+2006-01-31,17:18:00,3699.00,3700.00,3698.00,3698.00,2966,0
+2006-01-31,17:19:00,3698.00,3699.00,3697.00,3697.00,1383,0
+2006-01-31,17:20:00,3698.00,3699.00,3697.00,3697.00,1183,0
+2006-01-31,17:21:00,3698.00,3700.00,3697.00,3700.00,1337,0
+2006-01-31,17:22:00,3700.00,3700.00,3698.00,3699.00,1223,0
+2006-01-31,17:23:00,3699.00,3700.00,3698.00,3699.00,1123,0
+2006-01-31,17:24:00,3699.00,3700.00,3698.00,3699.00,1466,0
+2006-01-31,17:25:00,3700.00,3700.00,3698.00,3699.00,1084,0
+2006-01-31,17:26:00,3700.00,3703.00,3700.00,3702.00,3267,0
+2006-01-31,17:27:00,3703.00,3703.00,3701.00,3702.00,2421,0
+2006-01-31,17:28:00,3703.00,3704.00,3702.00,3704.00,4118,0
+2006-01-31,17:29:00,3704.00,3704.00,3703.00,3704.00,2298,0
+2006-01-31,17:30:00,3704.00,3706.00,3703.00,3704.00,10988,0
+2006-01-31,17:31:00,3704.00,3705.00,3701.00,3703.00,10419,0
+2006-01-31,17:32:00,3703.00,3704.00,3701.00,3702.00,3269,0
+2006-01-31,17:33:00,3702.00,3702.00,3701.00,3702.00,1980,0
+2006-01-31,17:34:00,3702.00,3703.00,3702.00,3703.00,2107,0
+2006-01-31,17:35:00,3703.00,3704.00,3702.00,3703.00,1087,0
+2006-01-31,17:36:00,3702.00,3703.00,3700.00,3700.00,1451,0
+2006-01-31,17:37:00,3700.00,3703.00,3700.00,3703.00,1039,0
+2006-01-31,17:38:00,3702.00,3703.00,3701.00,3703.00,1010,0
+2006-01-31,17:39:00,3702.00,3703.00,3702.00,3703.00,294,0
+2006-01-31,17:40:00,3703.00,3704.00,3703.00,3704.00,605,0
+2006-01-31,17:41:00,3703.00,3704.00,3702.00,3703.00,565,0
+2006-01-31,17:42:00,3702.00,3703.00,3701.00,3701.00,596,0
+2006-01-31,17:43:00,3701.00,3702.00,3701.00,3701.00,627,0
+2006-01-31,17:44:00,3701.00,3702.00,3701.00,3701.00,715,0
+2006-01-31,17:45:00,3702.00,3703.00,3702.00,3703.00,968,0
+2006-01-31,17:46:00,3703.00,3703.00,3701.00,3702.00,195,0
+2006-01-31,17:47:00,3702.00,3704.00,3702.00,3704.00,710,0
+2006-01-31,17:48:00,3704.00,3707.00,3704.00,3707.00,1160,0
+2006-01-31,17:49:00,3707.00,3708.00,3707.00,3707.00,1630,0
+2006-01-31,17:50:00,3707.00,3707.00,3705.00,3705.00,891,0
+2006-01-31,17:51:00,3706.00,3706.00,3705.00,3706.00,972,0
+2006-01-31,17:52:00,3706.00,3706.00,3705.00,3705.00,231,0
+2006-01-31,17:53:00,3706.00,3707.00,3705.00,3705.00,1493,0
+2006-01-31,17:54:00,3706.00,3706.00,3704.00,3705.00,1542,0
+2006-01-31,17:55:00,3705.00,3706.00,3704.00,3705.00,151,0
+2006-01-31,17:56:00,3704.00,3705.00,3704.00,3704.00,378,0
+2006-01-31,17:57:00,3704.00,3704.00,3703.00,3703.00,337,0
+2006-01-31,17:58:00,3703.00,3703.00,3701.00,3701.00,1211,0
+2006-01-31,17:59:00,3700.00,3700.00,3699.00,3700.00,1110,0
+2006-01-31,18:00:00,3700.00,3702.00,3700.00,3702.00,1024,0
+2006-01-31,18:01:00,3702.00,3703.00,3701.00,3703.00,477,0
+2006-01-31,18:02:00,3702.00,3704.00,3702.00,3703.00,845,0
+2006-01-31,18:03:00,3703.00,3703.00,3702.00,3702.00,528,0
+2006-01-31,18:04:00,3701.00,3703.00,3701.00,3702.00,313,0
+2006-01-31,18:05:00,3703.00,3703.00,3702.00,3702.00,559,0
+2006-01-31,18:06:00,3703.00,3704.00,3703.00,3703.00,448,0
+2006-01-31,18:07:00,3703.00,3703.00,3702.00,3702.00,58,0
+2006-01-31,18:08:00,3702.00,3702.00,3700.00,3701.00,740,0
+2006-01-31,18:09:00,3701.00,3701.00,3700.00,3700.00,163,0
+2006-01-31,18:10:00,3701.00,3702.00,3700.00,3701.00,538,0
+2006-01-31,18:11:00,3701.00,3701.00,3701.00,3701.00,8,0
+2006-01-31,18:12:00,3701.00,3702.00,3701.00,3702.00,359,0
+2006-01-31,18:13:00,3701.00,3701.00,3700.00,3700.00,376,0
+2006-01-31,18:14:00,3700.00,3700.00,3699.00,3700.00,284,0
+2006-01-31,18:15:00,3700.00,3700.00,3697.00,3697.00,823,0
+2006-01-31,18:16:00,3698.00,3698.00,3696.00,3697.00,721,0
+2006-01-31,18:17:00,3697.00,3698.00,3697.00,3698.00,516,0
+2006-01-31,18:18:00,3697.00,3698.00,3697.00,3698.00,53,0
+2006-01-31,18:19:00,3697.00,3698.00,3697.00,3698.00,453,0
+2006-01-31,18:20:00,3698.00,3698.00,3698.00,3698.00,173,0
+2006-01-31,18:21:00,3698.00,3698.00,3697.00,3697.00,528,0
+2006-01-31,18:22:00,3697.00,3697.00,3695.00,3696.00,738,0
+2006-01-31,18:23:00,3697.00,3698.00,3697.00,3698.00,264,0
+2006-01-31,18:24:00,3698.00,3698.00,3697.00,3698.00,106,0
+2006-01-31,18:25:00,3698.00,3699.00,3698.00,3699.00,146,0
+2006-01-31,18:26:00,3698.00,3698.00,3697.00,3697.00,393,0
+2006-01-31,18:27:00,3697.00,3697.00,3697.00,3697.00,44,0
+2006-01-31,18:28:00,3697.00,3697.00,3697.00,3697.00,51,0
+2006-01-31,18:29:00,3698.00,3698.00,3698.00,3698.00,35,0
+2006-01-31,18:30:00,3698.00,3699.00,3698.00,3698.00,161,0
+2006-01-31,18:31:00,3699.00,3699.00,3698.00,3698.00,2,0
+2006-01-31,18:32:00,3698.00,3698.00,3698.00,3698.00,5,0
+2006-01-31,18:33:00,3698.00,3699.00,3698.00,3699.00,3,0
+2006-01-31,18:34:00,3699.00,3699.00,3699.00,3699.00,457,0
+2006-01-31,18:35:00,3699.00,3699.00,3698.00,3698.00,19,0
+2006-01-31,18:36:00,3699.00,3699.00,3699.00,3699.00,120,0
+2006-01-31,18:37:00,3699.00,3700.00,3698.00,3699.00,81,0
+2006-01-31,18:38:00,3699.00,3699.00,3698.00,3699.00,142,0
+2006-01-31,18:39:00,3699.00,3699.00,3698.00,3698.00,79,0
+2006-01-31,18:40:00,3699.00,3700.00,3698.00,3700.00,244,0
+2006-01-31,18:41:00,3699.00,3700.00,3699.00,3700.00,42,0
+2006-01-31,18:42:00,3700.00,3700.00,3699.00,3699.00,132,0
+2006-01-31,18:43:00,3700.00,3704.00,3700.00,3703.00,1257,0
+2006-01-31,18:44:00,3703.00,3703.00,3701.00,3702.00,253,0
+2006-01-31,18:45:00,3702.00,3703.00,3702.00,3702.00,121,0
+2006-01-31,18:46:00,3702.00,3702.00,3701.00,3701.00,256,0
+2006-01-31,18:47:00,3701.00,3702.00,3700.00,3702.00,138,0
+2006-01-31,18:48:00,3702.00,3702.00,3702.00,3702.00,206,0
+2006-01-31,18:49:00,3703.00,3705.00,3703.00,3704.00,681,0
+2006-01-31,18:50:00,3704.00,3705.00,3704.00,3705.00,14,0
+2006-01-31,18:51:00,3704.00,3705.00,3703.00,3705.00,339,0
+2006-01-31,18:52:00,3704.00,3704.00,3704.00,3704.00,970,0
+2006-01-31,18:53:00,3704.00,3704.00,3704.00,3704.00,41,0
+2006-01-31,18:54:00,3704.00,3705.00,3704.00,3704.00,15,0
+2006-01-31,18:55:00,3704.00,3705.00,3704.00,3704.00,88,0
+2006-01-31,18:56:00,3704.00,3705.00,3704.00,3704.00,69,0
+2006-01-31,18:57:00,3704.00,3704.00,3703.00,3703.00,124,0
+2006-01-31,18:58:00,3703.00,3703.00,3702.00,3702.00,219,0
+2006-01-31,19:00:00,3702.00,3702.00,3702.00,3702.00,20,0
+2006-01-31,19:01:00,3701.00,3702.00,3701.00,3701.00,160,0
+2006-01-31,19:02:00,3701.00,3701.00,3700.00,3700.00,449,0
+2006-01-31,19:03:00,3700.00,3701.00,3700.00,3701.00,127,0
+2006-01-31,19:04:00,3700.00,3700.00,3700.00,3700.00,274,0
+2006-01-31,19:05:00,3699.00,3699.00,3699.00,3699.00,185,0
+2006-01-31,19:06:00,3699.00,3700.00,3699.00,3700.00,581,0
+2006-01-31,19:07:00,3701.00,3701.00,3701.00,3701.00,118,0
+2006-01-31,19:08:00,3701.00,3701.00,3701.00,3701.00,34,0
+2006-01-31,19:09:00,3700.00,3700.00,3700.00,3700.00,55,0
+2006-01-31,19:10:00,3700.00,3700.00,3700.00,3700.00,118,0
+2006-01-31,19:11:00,3700.00,3700.00,3700.00,3700.00,16,0
+2006-01-31,19:12:00,3701.00,3702.00,3701.00,3702.00,247,0
+2006-01-31,19:13:00,3702.00,3703.00,3702.00,3703.00,40,0
+2006-01-31,19:14:00,3703.00,3703.00,3703.00,3703.00,18,0
+2006-01-31,19:15:00,3703.00,3703.00,3703.00,3703.00,1,0
+2006-01-31,19:16:00,3703.00,3703.00,3703.00,3703.00,81,0
+2006-01-31,19:17:00,3702.00,3702.00,3702.00,3702.00,3,0
+2006-01-31,19:18:00,3702.00,3702.00,3702.00,3702.00,107,0
+2006-01-31,19:19:00,3702.00,3702.00,3702.00,3702.00,1,0
+2006-01-31,19:20:00,3702.00,3702.00,3701.00,3701.00,13,0
+2006-01-31,19:22:00,3701.00,3701.00,3701.00,3701.00,57,0
+2006-01-31,19:23:00,3701.00,3701.00,3701.00,3701.00,53,0
+2006-01-31,19:24:00,3700.00,3701.00,3700.00,3701.00,59,0
+2006-01-31,19:25:00,3701.00,3701.00,3701.00,3701.00,36,0
+2006-01-31,19:27:00,3701.00,3702.00,3701.00,3702.00,52,0
+2006-01-31,19:28:00,3701.00,3701.00,3701.00,3701.00,1,0
+2006-01-31,19:29:00,3702.00,3702.00,3702.00,3702.00,3,0
+2006-01-31,19:30:00,3701.00,3701.00,3701.00,3701.00,135,0
+2006-01-31,19:31:00,3701.00,3702.00,3701.00,3702.00,12,0
+2006-01-31,19:32:00,3701.00,3701.00,3701.00,3701.00,210,0
+2006-01-31,19:33:00,3701.00,3701.00,3701.00,3701.00,13,0
+2006-01-31,19:34:00,3701.00,3701.00,3700.00,3701.00,4,0
+2006-01-31,19:35:00,3701.00,3701.00,3701.00,3701.00,45,0
+2006-01-31,19:36:00,3701.00,3701.00,3701.00,3701.00,267,0
+2006-01-31,19:37:00,3701.00,3702.00,3701.00,3701.00,87,0
+2006-01-31,19:38:00,3702.00,3702.00,3702.00,3702.00,240,0
+2006-01-31,19:39:00,3702.00,3702.00,3702.00,3702.00,109,0
+2006-01-31,19:40:00,3702.00,3703.00,3702.00,3703.00,502,0
+2006-01-31,19:41:00,3703.00,3704.00,3703.00,3704.00,31,0
+2006-01-31,19:43:00,3704.00,3704.00,3703.00,3703.00,37,0
+2006-01-31,19:44:00,3703.00,3704.00,3703.00,3704.00,63,0
+2006-01-31,19:45:00,3704.00,3704.00,3703.00,3703.00,288,0
+2006-01-31,19:46:00,3704.00,3704.00,3703.00,3704.00,50,0
+2006-01-31,19:47:00,3704.00,3704.00,3704.00,3704.00,134,0
+2006-01-31,19:48:00,3704.00,3704.00,3704.00,3704.00,8,0
+2006-01-31,19:50:00,3703.00,3704.00,3703.00,3704.00,48,0
+2006-01-31,19:51:00,3705.00,3706.00,3705.00,3705.00,282,0
+2006-01-31,19:52:00,3705.00,3705.00,3704.00,3704.00,152,0
+2006-01-31,19:53:00,3704.00,3704.00,3703.00,3704.00,60,0
+2006-01-31,19:54:00,3704.00,3704.00,3704.00,3704.00,12,0
+2006-01-31,19:55:00,3705.00,3705.00,3705.00,3705.00,200,0
+2006-01-31,19:56:00,3705.00,3705.00,3704.00,3704.00,181,0
+2006-01-31,19:57:00,3705.00,3705.00,3705.00,3705.00,99,0
+2006-01-31,19:58:00,3704.00,3706.00,3704.00,3706.00,60,0
+2006-01-31,19:59:00,3705.00,3706.00,3704.00,3706.00,114,0
+2006-01-31,20:00:00,3705.00,3706.00,3704.00,3704.00,530,0
+2006-01-31,20:01:00,3704.00,3707.00,3704.00,3706.00,216,0
+2006-01-31,20:02:00,3706.00,3706.00,3705.00,3705.00,24,0
+2006-01-31,20:03:00,3706.00,3706.00,3706.00,3706.00,29,0
+2006-01-31,20:04:00,3706.00,3707.00,3706.00,3706.00,40,0
+2006-01-31,20:05:00,3706.00,3706.00,3706.00,3706.00,27,0
+2006-01-31,20:06:00,3705.00,3705.00,3704.00,3704.00,156,0
+2006-01-31,20:07:00,3704.00,3704.00,3703.00,3704.00,1045,0
+2006-01-31,20:08:00,3704.00,3704.00,3704.00,3704.00,10,0
+2006-01-31,20:09:00,3704.00,3704.00,3704.00,3704.00,2,0
+2006-01-31,20:10:00,3704.00,3705.00,3704.00,3705.00,163,0
+2006-01-31,20:11:00,3705.00,3705.00,3704.00,3704.00,27,0
+2006-01-31,20:12:00,3705.00,3705.00,3704.00,3704.00,24,0
+2006-01-31,20:13:00,3704.00,3704.00,3704.00,3704.00,70,0
+2006-01-31,20:14:00,3704.00,3704.00,3703.00,3704.00,161,0
+2006-01-31,20:15:00,3703.00,3707.00,3703.00,3704.00,594,0
+2006-01-31,20:16:00,3704.00,3706.00,3702.00,3705.00,1032,0
+2006-01-31,20:17:00,3705.00,3708.00,3700.00,3700.00,1736,0
+2006-01-31,20:18:00,3701.00,3703.00,3699.00,3699.00,578,0
+2006-01-31,20:19:00,3699.00,3701.00,3697.00,3697.00,697,0
+2006-01-31,20:20:00,3697.00,3697.00,3695.00,3695.00,893,0
+2006-01-31,20:21:00,3695.00,3695.00,3691.00,3692.00,2861,0
+2006-01-31,20:22:00,3691.00,3692.00,3690.00,3692.00,379,0
+2006-01-31,20:23:00,3692.00,3695.00,3692.00,3693.00,504,0
+2006-01-31,20:24:00,3693.00,3695.00,3692.00,3695.00,354,0
+2006-01-31,20:25:00,3694.00,3694.00,3692.00,3693.00,841,0
+2006-01-31,20:26:00,3694.00,3695.00,3693.00,3695.00,412,0
+2006-01-31,20:27:00,3695.00,3698.00,3695.00,3697.00,458,0
+2006-01-31,20:28:00,3698.00,3698.00,3696.00,3697.00,165,0
+2006-01-31,20:29:00,3697.00,3700.00,3696.00,3700.00,251,0
+2006-01-31,20:30:00,3700.00,3700.00,3699.00,3700.00,309,0
+2006-01-31,20:31:00,3700.00,3702.00,3699.00,3701.00,667,0
+2006-01-31,20:32:00,3702.00,3702.00,3701.00,3701.00,197,0
+2006-01-31,20:33:00,3701.00,3701.00,3699.00,3701.00,227,0
+2006-01-31,20:34:00,3701.00,3701.00,3700.00,3700.00,116,0
+2006-01-31,20:35:00,3700.00,3701.00,3698.00,3700.00,598,0
+2006-01-31,20:36:00,3701.00,3701.00,3700.00,3700.00,97,0
+2006-01-31,20:37:00,3700.00,3704.00,3700.00,3702.00,697,0
+2006-01-31,20:38:00,3702.00,3705.00,3702.00,3703.00,464,0
+2006-01-31,20:39:00,3703.00,3705.00,3702.00,3705.00,215,0
+2006-01-31,20:40:00,3704.00,3704.00,3703.00,3704.00,157,0
+2006-01-31,20:41:00,3705.00,3705.00,3701.00,3701.00,155,0
+2006-01-31,20:42:00,3700.00,3704.00,3700.00,3704.00,188,0
+2006-01-31,20:43:00,3704.00,3704.00,3703.00,3704.00,51,0
+2006-01-31,20:44:00,3703.00,3703.00,3702.00,3703.00,20,0
+2006-01-31,20:45:00,3702.00,3703.00,3702.00,3703.00,76,0
+2006-01-31,20:46:00,3703.00,3704.00,3702.00,3703.00,120,0
+2006-01-31,20:47:00,3703.00,3703.00,3703.00,3703.00,92,0
+2006-01-31,20:48:00,3703.00,3705.00,3703.00,3705.00,126,0
+2006-01-31,20:49:00,3704.00,3704.00,3703.00,3703.00,42,0
+2006-01-31,20:50:00,3703.00,3703.00,3702.00,3703.00,33,0
+2006-01-31,20:51:00,3703.00,3704.00,3702.00,3702.00,157,0
+2006-01-31,20:52:00,3702.00,3702.00,3701.00,3702.00,41,0
+2006-01-31,20:53:00,3702.00,3704.00,3702.00,3703.00,106,0
+2006-01-31,20:54:00,3702.00,3704.00,3702.00,3704.00,38,0
+2006-01-31,20:55:00,3705.00,3706.00,3705.00,3705.00,217,0
+2006-01-31,20:56:00,3705.00,3705.00,3705.00,3705.00,126,0
+2006-01-31,20:57:00,3705.00,3708.00,3705.00,3707.00,300,0
+2006-01-31,20:58:00,3706.00,3706.00,3705.00,3705.00,42,0
+2006-01-31,20:59:00,3705.00,3705.00,3705.00,3705.00,49,0
+2006-01-31,21:00:00,3706.00,3708.00,3706.00,3708.00,78,0
+2006-01-31,21:01:00,3708.00,3710.00,3707.00,3708.00,340,0
+2006-01-31,21:02:00,3708.00,3708.00,3706.00,3708.00,410,0
+2006-01-31,21:03:00,3707.00,3711.00,3707.00,3711.00,626,0
+2006-01-31,21:04:00,3711.00,3714.00,3710.00,3714.00,1525,0
+2006-01-31,21:05:00,3713.00,3713.00,3712.00,3712.00,368,0
+2006-01-31,21:06:00,3712.00,3713.00,3712.00,3713.00,309,0
+2006-01-31,21:07:00,3713.00,3713.00,3711.00,3712.00,304,0
+2006-01-31,21:08:00,3712.00,3713.00,3711.00,3713.00,168,0
+2006-01-31,21:09:00,3712.00,3712.00,3710.00,3711.00,173,0
+2006-01-31,21:10:00,3711.00,3712.00,3711.00,3711.00,87,0
+2006-01-31,21:11:00,3711.00,3712.00,3711.00,3712.00,3,0
+2006-01-31,21:12:00,3711.00,3712.00,3711.00,3712.00,87,0
+2006-01-31,21:13:00,3711.00,3713.00,3711.00,3712.00,149,0
+2006-01-31,21:14:00,3713.00,3713.00,3712.00,3712.00,413,0
+2006-01-31,21:15:00,3712.00,3712.00,3712.00,3712.00,185,0
+2006-01-31,21:16:00,3712.00,3713.00,3711.00,3711.00,228,0
+2006-01-31,21:17:00,3711.00,3711.00,3710.00,3710.00,67,0
+2006-01-31,21:18:00,3710.00,3711.00,3710.00,3711.00,92,0
+2006-01-31,21:19:00,3712.00,3712.00,3712.00,3712.00,123,0
+2006-01-31,21:20:00,3711.00,3712.00,3711.00,3712.00,37,0
+2006-01-31,21:21:00,3712.00,3714.00,3712.00,3714.00,76,0
+2006-01-31,21:22:00,3714.00,3714.00,3713.00,3713.00,78,0
+2006-01-31,21:23:00,3713.00,3713.00,3713.00,3713.00,123,0
+2006-01-31,21:24:00,3713.00,3713.00,3713.00,3713.00,4,0
+2006-01-31,21:25:00,3712.00,3712.00,3712.00,3712.00,30,0
+2006-01-31,21:26:00,3712.00,3714.00,3712.00,3714.00,168,0
+2006-01-31,21:27:00,3713.00,3713.00,3713.00,3713.00,12,0
+2006-01-31,21:28:00,3713.00,3713.00,3713.00,3713.00,137,0
+2006-01-31,21:29:00,3713.00,3713.00,3713.00,3713.00,29,0
+2006-01-31,21:30:00,3713.00,3714.00,3713.00,3714.00,116,0
+2006-01-31,21:31:00,3714.00,3715.00,3714.00,3715.00,558,0
+2006-01-31,21:32:00,3715.00,3715.00,3714.00,3715.00,489,0
+2006-01-31,21:33:00,3714.00,3714.00,3713.00,3714.00,91,0
+2006-01-31,21:34:00,3714.00,3714.00,3713.00,3713.00,58,0
+2006-01-31,21:35:00,3713.00,3713.00,3713.00,3713.00,44,0
+2006-01-31,21:36:00,3713.00,3713.00,3713.00,3713.00,220,0
+2006-01-31,21:37:00,3713.00,3713.00,3712.00,3712.00,37,0
+2006-01-31,21:38:00,3713.00,3713.00,3711.00,3711.00,115,0
+2006-01-31,21:39:00,3711.00,3711.00,3711.00,3711.00,19,0
+2006-01-31,21:40:00,3711.00,3711.00,3709.00,3710.00,242,0
+2006-01-31,21:41:00,3709.00,3709.00,3709.00,3709.00,73,0
+2006-01-31,21:42:00,3709.00,3710.00,3709.00,3709.00,41,0
+2006-01-31,21:43:00,3708.00,3708.00,3708.00,3708.00,111,0
+2006-01-31,21:44:00,3707.00,3708.00,3707.00,3707.00,56,0
+2006-01-31,21:45:00,3707.00,3708.00,3706.00,3707.00,63,0
+2006-01-31,21:46:00,3707.00,3707.00,3706.00,3707.00,51,0
+2006-01-31,21:47:00,3707.00,3708.00,3707.00,3708.00,16,0
+2006-01-31,21:48:00,3708.00,3708.00,3708.00,3708.00,33,0
+2006-01-31,21:50:00,3708.00,3708.00,3708.00,3708.00,3,0
+2006-01-31,21:51:00,3708.00,3708.00,3707.00,3708.00,67,0
+2006-01-31,21:52:00,3707.00,3707.00,3705.00,3706.00,40,0
+2006-01-31,21:53:00,3706.00,3707.00,3706.00,3707.00,81,0
+2006-01-31,21:54:00,3707.00,3707.00,3706.00,3706.00,192,0
+2006-01-31,21:55:00,3705.00,3706.00,3705.00,3706.00,212,0
+2006-01-31,21:56:00,3706.00,3706.00,3705.00,3705.00,24,0
+2006-01-31,21:57:00,3706.00,3706.00,3705.00,3705.00,209,0
+2006-01-31,21:58:00,3705.00,3707.00,3705.00,3707.00,48,0
+2006-01-31,21:59:00,3707.00,3707.00,3706.00,3707.00,149,0
+2006-01-31,22:00:00,3707.00,3707.00,3704.00,3704.00,595,0
+2006-02-01,09:01:00,3690.00,3693.00,3688.00,3692.00,8167,0
+2006-02-01,09:02:00,3692.00,3694.00,3691.00,3692.00,1255,0
+2006-02-01,09:03:00,3692.00,3692.00,3689.00,3691.00,2022,0
+2006-02-01,09:04:00,3691.00,3693.00,3691.00,3692.00,705,0
+2006-02-01,09:05:00,3693.00,3696.00,3693.00,3695.00,1377,0
+2006-02-01,09:06:00,3694.00,3695.00,3694.00,3694.00,1388,0
+2006-02-01,09:07:00,3694.00,3698.00,3694.00,3697.00,2733,0
+2006-02-01,09:08:00,3697.00,3698.00,3696.00,3698.00,869,0
+2006-02-01,09:09:00,3697.00,3698.00,3696.00,3696.00,676,0
+2006-02-01,09:10:00,3696.00,3697.00,3695.00,3695.00,1029,0
+2006-02-01,09:11:00,3695.00,3697.00,3694.00,3696.00,924,0
+2006-02-01,09:12:00,3697.00,3699.00,3697.00,3697.00,1979,0
+2006-02-01,09:13:00,3697.00,3697.00,3694.00,3695.00,2873,0
+2006-02-01,09:14:00,3695.00,3696.00,3693.00,3693.00,1961,0
+2006-02-01,09:15:00,3693.00,3694.00,3691.00,3691.00,867,0
+2006-02-01,09:16:00,3691.00,3692.00,3689.00,3690.00,2079,0
+2006-02-01,09:17:00,3691.00,3691.00,3689.00,3690.00,1516,0
+2006-02-01,09:18:00,3690.00,3692.00,3687.00,3688.00,3460,0
+2006-02-01,09:19:00,3689.00,3689.00,3687.00,3688.00,1487,0
+2006-02-01,09:20:00,3687.00,3688.00,3686.00,3686.00,2250,0
+2006-02-01,09:21:00,3687.00,3689.00,3686.00,3688.00,1190,0
+2006-02-01,09:22:00,3689.00,3690.00,3688.00,3690.00,898,0
+2006-02-01,09:23:00,3690.00,3690.00,3689.00,3690.00,1196,0
+2006-02-01,09:24:00,3689.00,3689.00,3687.00,3687.00,1725,0
+2006-02-01,09:25:00,3687.00,3688.00,3685.00,3686.00,1207,0
+2006-02-01,09:26:00,3685.00,3687.00,3684.00,3687.00,3149,0
+2006-02-01,09:27:00,3687.00,3687.00,3685.00,3685.00,2055,0
+2006-02-01,09:28:00,3686.00,3686.00,3683.00,3686.00,3209,0
+2006-02-01,09:29:00,3686.00,3689.00,3686.00,3689.00,1758,0
+2006-02-01,09:30:00,3688.00,3690.00,3688.00,3689.00,1210,0
+2006-02-01,09:31:00,3689.00,3690.00,3688.00,3689.00,900,0
+2006-02-01,09:32:00,3689.00,3689.00,3688.00,3688.00,1844,0
+2006-02-01,09:33:00,3688.00,3689.00,3687.00,3688.00,799,0
+2006-02-01,09:34:00,3687.00,3688.00,3687.00,3687.00,26,0
+2006-02-01,09:35:00,3688.00,3688.00,3687.00,3687.00,705,0
+2006-02-01,09:36:00,3687.00,3688.00,3686.00,3686.00,471,0
+2006-02-01,09:37:00,3687.00,3688.00,3687.00,3687.00,408,0
+2006-02-01,09:38:00,3687.00,3690.00,3687.00,3689.00,1463,0
+2006-02-01,09:39:00,3689.00,3689.00,3688.00,3689.00,740,0
+2006-02-01,09:40:00,3689.00,3690.00,3689.00,3690.00,1209,0
+2006-02-01,09:41:00,3690.00,3692.00,3689.00,3691.00,8065,0
+2006-02-01,09:42:00,3692.00,3694.00,3691.00,3693.00,2840,0
+2006-02-01,09:43:00,3694.00,3695.00,3693.00,3694.00,893,0
+2006-02-01,09:44:00,3695.00,3695.00,3693.00,3693.00,3705,0
+2006-02-01,09:45:00,3693.00,3694.00,3693.00,3693.00,323,0
+2006-02-01,09:46:00,3693.00,3693.00,3692.00,3692.00,799,0
+2006-02-01,09:47:00,3693.00,3693.00,3691.00,3692.00,1072,0
+2006-02-01,09:48:00,3691.00,3692.00,3691.00,3691.00,538,0
+2006-02-01,09:49:00,3691.00,3692.00,3690.00,3690.00,1322,0
+2006-02-01,09:50:00,3690.00,3691.00,3690.00,3690.00,463,0
+2006-02-01,09:51:00,3690.00,3691.00,3690.00,3690.00,858,0
+2006-02-01,09:52:00,3691.00,3692.00,3691.00,3692.00,318,0
+2006-02-01,09:53:00,3692.00,3693.00,3691.00,3692.00,164,0
+2006-02-01,09:54:00,3692.00,3694.00,3692.00,3694.00,511,0
+2006-02-01,09:55:00,3693.00,3693.00,3693.00,3693.00,179,0
+2006-02-01,09:56:00,3693.00,3696.00,3693.00,3695.00,1856,0
+2006-02-01,09:57:00,3696.00,3699.00,3696.00,3698.00,2804,0
+2006-02-01,09:58:00,3698.00,3698.00,3697.00,3698.00,870,0
+2006-02-01,09:59:00,3697.00,3699.00,3697.00,3698.00,1155,0
+2006-02-01,10:00:00,3698.00,3698.00,3697.00,3697.00,634,0
+2006-02-01,10:01:00,3697.00,3698.00,3697.00,3697.00,797,0
+2006-02-01,10:02:00,3696.00,3697.00,3696.00,3696.00,517,0
+2006-02-01,10:03:00,3696.00,3697.00,3696.00,3696.00,985,0
+2006-02-01,10:04:00,3696.00,3698.00,3696.00,3697.00,411,0
+2006-02-01,10:05:00,3696.00,3698.00,3696.00,3698.00,281,0
+2006-02-01,10:06:00,3698.00,3702.00,3698.00,3702.00,3809,0
+2006-02-01,10:07:00,3702.00,3703.00,3701.00,3701.00,2922,0
+2006-02-01,10:08:00,3701.00,3702.00,3701.00,3702.00,2711,0
+2006-02-01,10:09:00,3702.00,3704.00,3701.00,3703.00,2788,0
+2006-02-01,10:10:00,3703.00,3704.00,3702.00,3702.00,1894,0
+2006-02-01,10:11:00,3701.00,3706.00,3701.00,3706.00,2797,0
+2006-02-01,10:12:00,3706.00,3706.00,3703.00,3704.00,2203,0
+2006-02-01,10:13:00,3704.00,3705.00,3703.00,3704.00,276,0
+2006-02-01,10:14:00,3703.00,3704.00,3701.00,3701.00,883,0
+2006-02-01,10:15:00,3701.00,3702.00,3701.00,3702.00,1212,0
+2006-02-01,10:16:00,3703.00,3704.00,3703.00,3703.00,1172,0
+2006-02-01,10:17:00,3704.00,3704.00,3703.00,3703.00,833,0
+2006-02-01,10:18:00,3703.00,3704.00,3703.00,3703.00,1248,0
+2006-02-01,10:19:00,3703.00,3707.00,3703.00,3706.00,1470,0
+2006-02-01,10:20:00,3707.00,3710.00,3706.00,3709.00,4457,0
+2006-02-01,10:21:00,3708.00,3713.00,3708.00,3712.00,4818,0
+2006-02-01,10:22:00,3712.00,3713.00,3710.00,3711.00,2583,0
+2006-02-01,10:23:00,3711.00,3712.00,3710.00,3710.00,1908,0
+2006-02-01,10:24:00,3711.00,3716.00,3711.00,3715.00,4822,0
+2006-02-01,10:25:00,3716.00,3717.00,3714.00,3715.00,3876,0
+2006-02-01,10:26:00,3714.00,3715.00,3714.00,3714.00,1690,0
+2006-02-01,10:27:00,3713.00,3715.00,3713.00,3714.00,1051,0
+2006-02-01,10:28:00,3714.00,3715.00,3713.00,3714.00,767,0
+2006-02-01,10:29:00,3713.00,3713.00,3711.00,3711.00,2398,0
+2006-02-01,10:30:00,3711.00,3711.00,3709.00,3710.00,1975,0
+2006-02-01,10:31:00,3710.00,3711.00,3709.00,3711.00,1275,0
+2006-02-01,10:32:00,3711.00,3714.00,3710.00,3713.00,1937,0
+2006-02-01,10:33:00,3713.00,3713.00,3712.00,3712.00,149,0
+2006-02-01,10:34:00,3712.00,3716.00,3712.00,3716.00,3888,0
+2006-02-01,10:35:00,3716.00,3719.00,3716.00,3719.00,6415,0
+2006-02-01,10:36:00,3719.00,3720.00,3717.00,3717.00,3409,0
+2006-02-01,10:37:00,3718.00,3719.00,3716.00,3716.00,1609,0
+2006-02-01,10:38:00,3716.00,3716.00,3715.00,3715.00,1792,0
+2006-02-01,10:39:00,3716.00,3716.00,3715.00,3715.00,126,0
+2006-02-01,10:40:00,3715.00,3719.00,3715.00,3718.00,3178,0
+2006-02-01,10:41:00,3717.00,3719.00,3717.00,3717.00,3398,0
+2006-02-01,10:42:00,3718.00,3718.00,3716.00,3716.00,340,0
+2006-02-01,10:43:00,3716.00,3717.00,3715.00,3716.00,808,0
+2006-02-01,10:44:00,3715.00,3716.00,3713.00,3713.00,1037,0
+2006-02-01,10:45:00,3713.00,3715.00,3713.00,3715.00,1350,0
+2006-02-01,10:46:00,3715.00,3717.00,3715.00,3715.00,953,0
+2006-02-01,10:47:00,3716.00,3716.00,3715.00,3716.00,420,0
+2006-02-01,10:48:00,3715.00,3715.00,3714.00,3715.00,1382,0
+2006-02-01,10:49:00,3715.00,3716.00,3715.00,3715.00,735,0
+2006-02-01,10:50:00,3715.00,3716.00,3715.00,3716.00,643,0
+2006-02-01,10:51:00,3716.00,3717.00,3715.00,3715.00,1118,0
+2006-02-01,10:52:00,3715.00,3715.00,3714.00,3715.00,523,0
+2006-02-01,10:53:00,3716.00,3716.00,3715.00,3715.00,1132,0
+2006-02-01,10:54:00,3715.00,3715.00,3714.00,3714.00,68,0
+2006-02-01,10:55:00,3714.00,3714.00,3714.00,3714.00,259,0
+2006-02-01,10:56:00,3714.00,3715.00,3714.00,3715.00,845,0
+2006-02-01,10:57:00,3715.00,3716.00,3714.00,3715.00,1165,0
+2006-02-01,10:58:00,3714.00,3714.00,3713.00,3713.00,675,0
+2006-02-01,10:59:00,3712.00,3714.00,3712.00,3713.00,557,0
+2006-02-01,11:00:00,3713.00,3714.00,3712.00,3713.00,436,0
+2006-02-01,11:01:00,3712.00,3712.00,3710.00,3711.00,1554,0
+2006-02-01,11:02:00,3711.00,3712.00,3711.00,3712.00,892,0
+2006-02-01,11:03:00,3711.00,3712.00,3710.00,3712.00,1893,0
+2006-02-01,11:04:00,3711.00,3712.00,3710.00,3710.00,736,0
+2006-02-01,11:05:00,3710.00,3711.00,3709.00,3711.00,1026,0
+2006-02-01,11:06:00,3711.00,3712.00,3711.00,3712.00,915,0
+2006-02-01,11:07:00,3713.00,3713.00,3709.00,3710.00,3091,0
+2006-02-01,11:08:00,3709.00,3711.00,3709.00,3709.00,1072,0
+2006-02-01,11:09:00,3709.00,3711.00,3709.00,3710.00,875,0
+2006-02-01,11:10:00,3710.00,3711.00,3709.00,3710.00,786,0
+2006-02-01,11:11:00,3710.00,3711.00,3710.00,3711.00,671,0
+2006-02-01,11:12:00,3711.00,3711.00,3709.00,3709.00,429,0
+2006-02-01,11:13:00,3710.00,3711.00,3709.00,3711.00,1565,0
+2006-02-01,11:14:00,3711.00,3711.00,3711.00,3711.00,230,0
+2006-02-01,11:15:00,3711.00,3711.00,3710.00,3711.00,650,0
+2006-02-01,11:16:00,3711.00,3713.00,3711.00,3712.00,820,0
+2006-02-01,11:17:00,3712.00,3713.00,3712.00,3712.00,179,0
+2006-02-01,11:18:00,3713.00,3713.00,3711.00,3712.00,672,0
+2006-02-01,11:19:00,3712.00,3712.00,3712.00,3712.00,455,0
+2006-02-01,11:20:00,3712.00,3712.00,3712.00,3712.00,118,0
+2006-02-01,11:21:00,3713.00,3715.00,3713.00,3714.00,1053,0
+2006-02-01,11:22:00,3715.00,3715.00,3714.00,3714.00,207,0
+2006-02-01,11:23:00,3715.00,3716.00,3715.00,3715.00,471,0
+2006-02-01,11:24:00,3715.00,3715.00,3714.00,3714.00,561,0
+2006-02-01,11:25:00,3714.00,3714.00,3712.00,3712.00,744,0
+2006-02-01,11:26:00,3712.00,3712.00,3711.00,3711.00,940,0
+2006-02-01,11:27:00,3711.00,3711.00,3711.00,3711.00,939,0
+2006-02-01,11:28:00,3710.00,3710.00,3709.00,3709.00,358,0
+2006-02-01,11:29:00,3710.00,3711.00,3709.00,3710.00,586,0
+2006-02-01,11:30:00,3709.00,3710.00,3708.00,3710.00,1316,0
+2006-02-01,11:31:00,3710.00,3710.00,3710.00,3710.00,487,0
+2006-02-01,11:32:00,3710.00,3711.00,3709.00,3709.00,957,0
+2006-02-01,11:33:00,3708.00,3708.00,3705.00,3706.00,3536,0
+2006-02-01,11:34:00,3706.00,3708.00,3706.00,3707.00,1025,0
+2006-02-01,11:35:00,3707.00,3709.00,3707.00,3708.00,1015,0
+2006-02-01,11:36:00,3708.00,3709.00,3708.00,3709.00,1185,0
+2006-02-01,11:37:00,3709.00,3710.00,3709.00,3710.00,483,0
+2006-02-01,11:38:00,3710.00,3710.00,3708.00,3710.00,341,0
+2006-02-01,11:39:00,3710.00,3711.00,3709.00,3711.00,1079,0
+2006-02-01,11:40:00,3711.00,3712.00,3710.00,3711.00,538,0
+2006-02-01,11:41:00,3710.00,3711.00,3709.00,3711.00,365,0
+2006-02-01,11:42:00,3711.00,3713.00,3711.00,3713.00,685,0
+2006-02-01,11:43:00,3713.00,3713.00,3711.00,3711.00,538,0
+2006-02-01,11:44:00,3712.00,3712.00,3710.00,3710.00,166,0
+2006-02-01,11:45:00,3711.00,3712.00,3711.00,3712.00,1154,0
+2006-02-01,11:46:00,3712.00,3714.00,3712.00,3713.00,940,0
+2006-02-01,11:47:00,3713.00,3713.00,3712.00,3712.00,165,0
+2006-02-01,11:48:00,3712.00,3713.00,3712.00,3713.00,1571,0
+2006-02-01,11:49:00,3714.00,3715.00,3713.00,3713.00,430,0
+2006-02-01,11:50:00,3712.00,3713.00,3712.00,3713.00,523,0
+2006-02-01,11:51:00,3713.00,3715.00,3713.00,3714.00,449,0
+2006-02-01,11:52:00,3714.00,3714.00,3714.00,3714.00,2,0
+2006-02-01,11:53:00,3714.00,3715.00,3714.00,3715.00,313,0
+2006-02-01,11:54:00,3714.00,3715.00,3714.00,3715.00,33,0
+2006-02-01,11:55:00,3715.00,3715.00,3714.00,3714.00,6352,0
+2006-02-01,11:56:00,3715.00,3715.00,3713.00,3713.00,420,0
+2006-02-01,11:57:00,3713.00,3713.00,3712.00,3712.00,591,0
+2006-02-01,11:58:00,3712.00,3712.00,3711.00,3712.00,579,0
+2006-02-01,11:59:00,3712.00,3713.00,3712.00,3712.00,153,0
+2006-02-01,12:00:00,3713.00,3713.00,3712.00,3712.00,220,0
+2006-02-01,12:01:00,3712.00,3713.00,3711.00,3712.00,312,0
+2006-02-01,12:02:00,3712.00,3713.00,3712.00,3713.00,445,0
+2006-02-01,12:03:00,3712.00,3714.00,3712.00,3713.00,606,0
+2006-02-01,12:04:00,3713.00,3714.00,3712.00,3714.00,126,0
+2006-02-01,12:05:00,3713.00,3713.00,3712.00,3712.00,56,0
+2006-02-01,12:06:00,3713.00,3713.00,3712.00,3713.00,85,0
+2006-02-01,12:07:00,3712.00,3713.00,3712.00,3712.00,464,0
+2006-02-01,12:08:00,3712.00,3712.00,3712.00,3712.00,1073,0
+2006-02-01,12:09:00,3713.00,3713.00,3713.00,3713.00,689,0
+2006-02-01,12:10:00,3712.00,3712.00,3712.00,3712.00,383,0
+2006-02-01,12:11:00,3712.00,3712.00,3712.00,3712.00,2166,0
+2006-02-01,12:12:00,3712.00,3712.00,3712.00,3712.00,19,0
+2006-02-01,12:13:00,3712.00,3712.00,3711.00,3712.00,301,0
+2006-02-01,12:14:00,3712.00,3713.00,3712.00,3713.00,2,0
+2006-02-01,12:15:00,3712.00,3713.00,3712.00,3713.00,7,0
+2006-02-01,12:16:00,3713.00,3713.00,3712.00,3713.00,106,0
+2006-02-01,12:17:00,3713.00,3713.00,3712.00,3712.00,53,0
+2006-02-01,12:18:00,3712.00,3712.00,3711.00,3711.00,1527,0
+2006-02-01,12:19:00,3711.00,3711.00,3710.00,3711.00,772,0
+2006-02-01,12:20:00,3710.00,3710.00,3710.00,3710.00,912,0
+2006-02-01,12:21:00,3710.00,3711.00,3709.00,3711.00,632,0
+2006-02-01,12:22:00,3711.00,3711.00,3710.00,3711.00,138,0
+2006-02-01,12:23:00,3711.00,3712.00,3711.00,3712.00,13,0
+2006-02-01,12:24:00,3711.00,3712.00,3711.00,3712.00,297,0
+2006-02-01,12:25:00,3712.00,3712.00,3711.00,3712.00,1195,0
+2006-02-01,12:26:00,3712.00,3712.00,3711.00,3711.00,481,0
+2006-02-01,12:27:00,3711.00,3711.00,3711.00,3711.00,3,0
+2006-02-01,12:28:00,3711.00,3712.00,3711.00,3712.00,60,0
+2006-02-01,12:29:00,3712.00,3712.00,3711.00,3711.00,120,0
+2006-02-01,12:30:00,3712.00,3712.00,3711.00,3711.00,42,0
+2006-02-01,12:31:00,3711.00,3711.00,3711.00,3711.00,268,0
+2006-02-01,12:32:00,3711.00,3712.00,3710.00,3711.00,1645,0
+2006-02-01,12:33:00,3710.00,3711.00,3710.00,3711.00,360,0
+2006-02-01,12:34:00,3710.00,3710.00,3709.00,3710.00,168,0
+2006-02-01,12:35:00,3710.00,3710.00,3709.00,3710.00,303,0
+2006-02-01,12:36:00,3710.00,3711.00,3710.00,3710.00,152,0
+2006-02-01,12:37:00,3711.00,3711.00,3710.00,3711.00,69,0
+2006-02-01,12:38:00,3711.00,3712.00,3711.00,3712.00,613,0
+2006-02-01,12:39:00,3712.00,3712.00,3712.00,3712.00,131,0
+2006-02-01,12:40:00,3712.00,3713.00,3712.00,3712.00,105,0
+2006-02-01,12:41:00,3713.00,3714.00,3712.00,3713.00,760,0
+2006-02-01,12:42:00,3712.00,3714.00,3712.00,3714.00,738,0
+2006-02-01,12:43:00,3714.00,3719.00,3714.00,3718.00,3171,0
+2006-02-01,12:44:00,3718.00,3719.00,3717.00,3717.00,4295,0
+2006-02-01,12:45:00,3717.00,3717.00,3717.00,3717.00,311,0
+2006-02-01,12:46:00,3717.00,3717.00,3716.00,3717.00,327,0
+2006-02-01,12:47:00,3716.00,3717.00,3716.00,3716.00,293,0
+2006-02-01,12:48:00,3716.00,3716.00,3716.00,3716.00,427,0
+2006-02-01,12:49:00,3716.00,3717.00,3716.00,3717.00,34,0
+2006-02-01,12:50:00,3717.00,3718.00,3716.00,3718.00,1018,0
+2006-02-01,12:51:00,3718.00,3718.00,3717.00,3717.00,295,0
+2006-02-01,12:52:00,3717.00,3717.00,3716.00,3716.00,571,0
+2006-02-01,12:53:00,3717.00,3717.00,3716.00,3716.00,231,0
+2006-02-01,12:54:00,3716.00,3717.00,3716.00,3717.00,204,0
+2006-02-01,12:55:00,3716.00,3717.00,3715.00,3716.00,7905,0
+2006-02-01,12:56:00,3716.00,3716.00,3715.00,3715.00,34,0
+2006-02-01,12:57:00,3716.00,3717.00,3715.00,3717.00,122,0
+2006-02-01,12:58:00,3716.00,3716.00,3715.00,3715.00,147,0
+2006-02-01,12:59:00,3715.00,3716.00,3715.00,3716.00,149,0
+2006-02-01,13:00:00,3715.00,3715.00,3714.00,3714.00,545,0
+2006-02-01,13:01:00,3714.00,3715.00,3714.00,3715.00,187,0
+2006-02-01,13:02:00,3714.00,3714.00,3714.00,3714.00,578,0
+2006-02-01,13:03:00,3713.00,3714.00,3713.00,3713.00,1115,0
+2006-02-01,13:04:00,3713.00,3713.00,3713.00,3713.00,112,0
+2006-02-01,13:05:00,3713.00,3713.00,3713.00,3713.00,83,0
+2006-02-01,13:06:00,3713.00,3713.00,3713.00,3713.00,83,0
+2006-02-01,13:07:00,3714.00,3714.00,3713.00,3713.00,504,0
+2006-02-01,13:08:00,3713.00,3713.00,3713.00,3713.00,77,0
+2006-02-01,13:09:00,3713.00,3713.00,3713.00,3713.00,31,0
+2006-02-01,13:10:00,3713.00,3714.00,3713.00,3713.00,143,0
+2006-02-01,13:11:00,3714.00,3714.00,3714.00,3714.00,369,0
+2006-02-01,13:12:00,3714.00,3715.00,3714.00,3715.00,3,0
+2006-02-01,13:13:00,3715.00,3715.00,3714.00,3715.00,264,0
+2006-02-01,13:14:00,3715.00,3715.00,3715.00,3715.00,118,0
+2006-02-01,13:15:00,3714.00,3715.00,3714.00,3715.00,4,0
+2006-02-01,13:16:00,3714.00,3715.00,3714.00,3714.00,55,0
+2006-02-01,13:17:00,3715.00,3715.00,3714.00,3715.00,220,0
+2006-02-01,13:18:00,3715.00,3715.00,3714.00,3715.00,63,0
+2006-02-01,13:19:00,3715.00,3715.00,3715.00,3715.00,706,0
+2006-02-01,13:20:00,3715.00,3715.00,3715.00,3715.00,450,0
+2006-02-01,13:21:00,3714.00,3715.00,3714.00,3715.00,50,0
+2006-02-01,13:24:00,3715.00,3715.00,3715.00,3715.00,456,0
+2006-02-01,13:25:00,3715.00,3715.00,3714.00,3715.00,116,0
+2006-02-01,13:27:00,3714.00,3715.00,3714.00,3715.00,10,0
+2006-02-01,13:28:00,3715.00,3715.00,3714.00,3715.00,10,0
+2006-02-01,13:29:00,3714.00,3714.00,3714.00,3714.00,37,0
+2006-02-01,13:30:00,3715.00,3715.00,3714.00,3714.00,105,0
+2006-02-01,13:31:00,3714.00,3715.00,3714.00,3714.00,199,0
+2006-02-01,13:32:00,3714.00,3714.00,3714.00,3714.00,540,0
+2006-02-01,13:34:00,3714.00,3714.00,3713.00,3713.00,74,0
+2006-02-01,13:35:00,3713.00,3713.00,3712.00,3713.00,1204,0
+2006-02-01,13:36:00,3713.00,3714.00,3713.00,3714.00,230,0
+2006-02-01,13:37:00,3713.00,3713.00,3713.00,3713.00,226,0
+2006-02-01,13:38:00,3713.00,3713.00,3712.00,3713.00,259,0
+2006-02-01,13:39:00,3714.00,3714.00,3713.00,3714.00,84,0
+2006-02-01,13:40:00,3714.00,3714.00,3714.00,3714.00,8,0
+2006-02-01,13:41:00,3714.00,3715.00,3714.00,3715.00,830,0
+2006-02-01,13:42:00,3714.00,3715.00,3714.00,3715.00,85,0
+2006-02-01,13:43:00,3714.00,3715.00,3714.00,3715.00,726,0
+2006-02-01,13:44:00,3714.00,3716.00,3714.00,3716.00,818,0
+2006-02-01,13:45:00,3715.00,3715.00,3714.00,3714.00,615,0
+2006-02-01,13:46:00,3713.00,3715.00,3713.00,3714.00,485,0
+2006-02-01,13:47:00,3714.00,3714.00,3714.00,3714.00,144,0
+2006-02-01,13:48:00,3714.00,3714.00,3714.00,3714.00,61,0
+2006-02-01,13:49:00,3714.00,3714.00,3714.00,3714.00,99,0
+2006-02-01,13:50:00,3713.00,3714.00,3713.00,3714.00,98,0
+2006-02-01,13:51:00,3713.00,3714.00,3713.00,3714.00,167,0
+2006-02-01,13:52:00,3715.00,3715.00,3714.00,3715.00,333,0
+2006-02-01,13:53:00,3715.00,3716.00,3715.00,3715.00,158,0
+2006-02-01,13:54:00,3715.00,3716.00,3715.00,3715.00,87,0
+2006-02-01,13:55:00,3716.00,3716.00,3716.00,3716.00,59,0
+2006-02-01,13:56:00,3716.00,3716.00,3715.00,3716.00,28,0
+2006-02-01,13:57:00,3715.00,3715.00,3715.00,3715.00,332,0
+2006-02-01,13:58:00,3715.00,3716.00,3715.00,3715.00,564,0
+2006-02-01,13:59:00,3715.00,3716.00,3714.00,3715.00,91,0
+2006-02-01,14:00:00,3714.00,3715.00,3714.00,3715.00,330,0
+2006-02-01,14:01:00,3715.00,3716.00,3715.00,3716.00,73,0
+2006-02-01,14:02:00,3716.00,3717.00,3716.00,3716.00,260,0
+2006-02-01,14:03:00,3716.00,3716.00,3716.00,3716.00,154,0
+2006-02-01,14:04:00,3715.00,3716.00,3715.00,3715.00,247,0
+2006-02-01,14:05:00,3715.00,3715.00,3714.00,3715.00,467,0
+2006-02-01,14:06:00,3715.00,3715.00,3714.00,3714.00,728,0
+2006-02-01,14:07:00,3714.00,3715.00,3714.00,3715.00,450,0
+2006-02-01,14:08:00,3714.00,3714.00,3714.00,3714.00,66,0
+2006-02-01,14:09:00,3714.00,3714.00,3714.00,3714.00,124,0
+2006-02-01,14:10:00,3714.00,3714.00,3714.00,3714.00,20,0
+2006-02-01,14:11:00,3714.00,3714.00,3714.00,3714.00,294,0
+2006-02-01,14:12:00,3714.00,3714.00,3714.00,3714.00,131,0
+2006-02-01,14:13:00,3715.00,3715.00,3714.00,3714.00,39,0
+2006-02-01,14:14:00,3714.00,3714.00,3714.00,3714.00,113,0
+2006-02-01,14:15:00,3713.00,3714.00,3713.00,3714.00,175,0
+2006-02-01,14:16:00,3714.00,3715.00,3713.00,3714.00,223,0
+2006-02-01,14:17:00,3714.00,3715.00,3714.00,3715.00,1065,0
+2006-02-01,14:18:00,3714.00,3715.00,3714.00,3714.00,10,0
+2006-02-01,14:19:00,3714.00,3715.00,3713.00,3713.00,143,0
+2006-02-01,14:20:00,3713.00,3714.00,3713.00,3714.00,85,0
+2006-02-01,14:21:00,3713.00,3713.00,3713.00,3713.00,557,0
+2006-02-01,14:22:00,3712.00,3713.00,3711.00,3711.00,904,0
+2006-02-01,14:23:00,3710.00,3711.00,3710.00,3710.00,338,0
+2006-02-01,14:24:00,3710.00,3710.00,3709.00,3709.00,709,0
+2006-02-01,14:25:00,3709.00,3710.00,3709.00,3710.00,460,0
+2006-02-01,14:26:00,3711.00,3712.00,3710.00,3711.00,591,0
+2006-02-01,14:27:00,3710.00,3711.00,3710.00,3711.00,31,0
+2006-02-01,14:28:00,3710.00,3711.00,3710.00,3710.00,41,0
+2006-02-01,14:29:00,3710.00,3711.00,3710.00,3711.00,433,0
+2006-02-01,14:30:00,3710.00,3711.00,3710.00,3711.00,72,0
+2006-02-01,14:31:00,3710.00,3711.00,3710.00,3710.00,108,0
+2006-02-01,14:32:00,3710.00,3711.00,3709.00,3710.00,420,0
+2006-02-01,14:33:00,3710.00,3710.00,3710.00,3710.00,7,0
+2006-02-01,14:34:00,3711.00,3711.00,3710.00,3710.00,83,0
+2006-02-01,14:35:00,3710.00,3712.00,3709.00,3712.00,352,0
+2006-02-01,14:36:00,3711.00,3712.00,3711.00,3712.00,214,0
+2006-02-01,14:37:00,3712.00,3712.00,3711.00,3712.00,30,0
+2006-02-01,14:38:00,3711.00,3712.00,3711.00,3711.00,261,0
+2006-02-01,14:39:00,3711.00,3713.00,3711.00,3713.00,282,0
+2006-02-01,14:40:00,3712.00,3714.00,3712.00,3714.00,1491,0
+2006-02-01,14:41:00,3714.00,3714.00,3714.00,3714.00,206,0
+2006-02-01,14:42:00,3714.00,3714.00,3713.00,3713.00,220,0
+2006-02-01,14:43:00,3713.00,3713.00,3712.00,3713.00,2155,0
+2006-02-01,14:44:00,3714.00,3714.00,3713.00,3713.00,464,0
+2006-02-01,14:45:00,3713.00,3713.00,3712.00,3712.00,630,0
+2006-02-01,14:46:00,3711.00,3712.00,3711.00,3711.00,378,0
+2006-02-01,14:47:00,3710.00,3711.00,3710.00,3710.00,283,0
+2006-02-01,14:48:00,3710.00,3711.00,3710.00,3711.00,85,0
+2006-02-01,14:49:00,3711.00,3712.00,3711.00,3711.00,263,0
+2006-02-01,14:50:00,3711.00,3712.00,3711.00,3711.00,212,0
+2006-02-01,14:51:00,3711.00,3711.00,3710.00,3711.00,528,0
+2006-02-01,14:52:00,3711.00,3711.00,3710.00,3710.00,154,0
+2006-02-01,14:53:00,3710.00,3711.00,3710.00,3711.00,193,0
+2006-02-01,14:54:00,3712.00,3712.00,3712.00,3712.00,198,0
+2006-02-01,14:55:00,3711.00,3712.00,3711.00,3712.00,21,0
+2006-02-01,14:56:00,3712.00,3712.00,3712.00,3712.00,21,0
+2006-02-01,14:57:00,3712.00,3713.00,3712.00,3713.00,290,0
+2006-02-01,14:58:00,3713.00,3714.00,3713.00,3713.00,275,0
+2006-02-01,14:59:00,3713.00,3714.00,3713.00,3713.00,363,0
+2006-02-01,15:00:00,3714.00,3714.00,3712.00,3713.00,212,0
+2006-02-01,15:01:00,3714.00,3714.00,3713.00,3713.00,185,0
+2006-02-01,15:02:00,3713.00,3714.00,3713.00,3713.00,691,0
+2006-02-01,15:03:00,3713.00,3713.00,3713.00,3713.00,154,0
+2006-02-01,15:04:00,3713.00,3714.00,3713.00,3714.00,286,0
+2006-02-01,15:05:00,3713.00,3713.00,3712.00,3713.00,378,0
+2006-02-01,15:06:00,3712.00,3713.00,3711.00,3712.00,752,0
+2006-02-01,15:07:00,3713.00,3713.00,3713.00,3713.00,290,0
+2006-02-01,15:08:00,3712.00,3713.00,3712.00,3712.00,65,0
+2006-02-01,15:09:00,3713.00,3713.00,3712.00,3712.00,178,0
+2006-02-01,15:10:00,3712.00,3712.00,3712.00,3712.00,6,0
+2006-02-01,15:11:00,3712.00,3712.00,3710.00,3711.00,269,0
+2006-02-01,15:12:00,3711.00,3711.00,3711.00,3711.00,55,0
+2006-02-01,15:13:00,3711.00,3711.00,3711.00,3711.00,178,0
+2006-02-01,15:14:00,3711.00,3711.00,3710.00,3711.00,235,0
+2006-02-01,15:15:00,3710.00,3711.00,3710.00,3711.00,28,0
+2006-02-01,15:16:00,3711.00,3712.00,3711.00,3712.00,5305,0
+2006-02-01,15:17:00,3712.00,3713.00,3712.00,3713.00,47,0
+2006-02-01,15:18:00,3713.00,3714.00,3713.00,3713.00,247,0
+2006-02-01,15:19:00,3713.00,3715.00,3713.00,3714.00,413,0
+2006-02-01,15:20:00,3714.00,3715.00,3713.00,3714.00,108,0
+2006-02-01,15:21:00,3714.00,3714.00,3714.00,3714.00,39,0
+2006-02-01,15:22:00,3713.00,3714.00,3713.00,3714.00,145,0
+2006-02-01,15:23:00,3714.00,3714.00,3714.00,3714.00,59,0
+2006-02-01,15:24:00,3713.00,3713.00,3713.00,3713.00,21,0
+2006-02-01,15:25:00,3713.00,3714.00,3713.00,3714.00,91,0
+2006-02-01,15:26:00,3713.00,3713.00,3713.00,3713.00,79,0
+2006-02-01,15:27:00,3714.00,3714.00,3713.00,3714.00,154,0
+2006-02-01,15:28:00,3713.00,3714.00,3713.00,3714.00,477,0
+2006-02-01,15:29:00,3714.00,3714.00,3712.00,3713.00,733,0
+2006-02-01,15:30:00,3713.00,3713.00,3713.00,3713.00,31,0
+2006-02-01,15:31:00,3714.00,3714.00,3712.00,3712.00,456,0
+2006-02-01,15:32:00,3712.00,3714.00,3712.00,3714.00,334,0
+2006-02-01,15:33:00,3714.00,3715.00,3713.00,3715.00,993,0
+2006-02-01,15:34:00,3714.00,3716.00,3714.00,3716.00,456,0
+2006-02-01,15:35:00,3715.00,3715.00,3714.00,3714.00,946,0
+2006-02-01,15:36:00,3714.00,3714.00,3714.00,3714.00,366,0
+2006-02-01,15:37:00,3715.00,3716.00,3715.00,3715.00,1070,0
+2006-02-01,15:38:00,3715.00,3716.00,3714.00,3714.00,379,0
+2006-02-01,15:39:00,3714.00,3715.00,3714.00,3714.00,66,0
+2006-02-01,15:40:00,3715.00,3715.00,3714.00,3715.00,988,0
+2006-02-01,15:41:00,3714.00,3716.00,3714.00,3715.00,1165,0
+2006-02-01,15:42:00,3715.00,3717.00,3715.00,3717.00,4855,0
+2006-02-01,15:43:00,3717.00,3720.00,3717.00,3719.00,2624,0
+2006-02-01,15:44:00,3719.00,3719.00,3717.00,3717.00,1403,0
+2006-02-01,15:45:00,3717.00,3717.00,3716.00,3717.00,1292,0
+2006-02-01,15:46:00,3717.00,3717.00,3716.00,3716.00,965,0
+2006-02-01,15:47:00,3715.00,3716.00,3715.00,3716.00,1434,0
+2006-02-01,15:48:00,3715.00,3716.00,3714.00,3715.00,1248,0
+2006-02-01,15:49:00,3715.00,3716.00,3714.00,3716.00,775,0
+2006-02-01,15:50:00,3716.00,3716.00,3714.00,3715.00,416,0
+2006-02-01,15:51:00,3715.00,3715.00,3714.00,3715.00,269,0
+2006-02-01,15:52:00,3716.00,3716.00,3715.00,3716.00,900,0
+2006-02-01,15:53:00,3715.00,3715.00,3715.00,3715.00,4455,0
+2006-02-01,15:54:00,3715.00,3716.00,3715.00,3716.00,552,0
+2006-02-01,15:55:00,3716.00,3717.00,3715.00,3716.00,1391,0
+2006-02-01,15:56:00,3716.00,3717.00,3716.00,3716.00,802,0
+2006-02-01,15:57:00,3717.00,3718.00,3717.00,3718.00,842,0
+2006-02-01,15:58:00,3717.00,3720.00,3717.00,3718.00,1975,0
+2006-02-01,15:59:00,3718.00,3719.00,3717.00,3717.00,2374,0
+2006-02-01,16:00:00,3717.00,3717.00,3716.00,3716.00,1071,0
+2006-02-01,16:01:00,3716.00,3717.00,3713.00,3715.00,4425,0
+2006-02-01,16:02:00,3715.00,3716.00,3714.00,3716.00,1599,0
+2006-02-01,16:03:00,3715.00,3716.00,3714.00,3715.00,2087,0
+2006-02-01,16:04:00,3715.00,3717.00,3714.00,3715.00,2184,0
+2006-02-01,16:05:00,3715.00,3716.00,3715.00,3715.00,467,0
+2006-02-01,16:06:00,3715.00,3715.00,3713.00,3714.00,2931,0
+2006-02-01,16:07:00,3715.00,3715.00,3714.00,3714.00,457,0
+2006-02-01,16:08:00,3715.00,3715.00,3714.00,3715.00,1077,0
+2006-02-01,16:09:00,3715.00,3716.00,3715.00,3715.00,1977,0
+2006-02-01,16:10:00,3715.00,3717.00,3715.00,3716.00,1117,0
+2006-02-01,16:11:00,3716.00,3719.00,3716.00,3719.00,2301,0
+2006-02-01,16:12:00,3719.00,3722.00,3719.00,3721.00,4575,0
+2006-02-01,16:13:00,3721.00,3723.00,3720.00,3721.00,6354,0
+2006-02-01,16:14:00,3721.00,3721.00,3720.00,3721.00,1963,0
+2006-02-01,16:15:00,3720.00,3722.00,3720.00,3721.00,1056,0
+2006-02-01,16:16:00,3721.00,3722.00,3721.00,3722.00,1435,0
+2006-02-01,16:17:00,3722.00,3724.00,3722.00,3723.00,3355,0
+2006-02-01,16:18:00,3724.00,3727.00,3723.00,3726.00,4865,0
+2006-02-01,16:19:00,3726.00,3729.00,3725.00,3728.00,3437,0
+2006-02-01,16:20:00,3728.00,3728.00,3726.00,3727.00,3638,0
+2006-02-01,16:21:00,3726.00,3728.00,3726.00,3727.00,2103,0
+2006-02-01,16:22:00,3726.00,3728.00,3726.00,3726.00,2445,0
+2006-02-01,16:23:00,3726.00,3728.00,3725.00,3728.00,3129,0
+2006-02-01,16:24:00,3729.00,3732.00,3727.00,3732.00,5290,0
+2006-02-01,16:25:00,3732.00,3733.00,3731.00,3732.00,5923,0
+2006-02-01,16:26:00,3731.00,3736.00,3731.00,3735.00,7205,0
+2006-02-01,16:27:00,3735.00,3736.00,3734.00,3735.00,7913,0
+2006-02-01,16:28:00,3734.00,3735.00,3732.00,3733.00,3315,0
+2006-02-01,16:29:00,3732.00,3733.00,3731.00,3732.00,2168,0
+2006-02-01,16:30:00,3732.00,3734.00,3732.00,3734.00,5296,0
+2006-02-01,16:31:00,3734.00,3735.00,3732.00,3733.00,7867,0
+2006-02-01,16:32:00,3733.00,3735.00,3732.00,3735.00,2436,0
+2006-02-01,16:33:00,3734.00,3735.00,3733.00,3733.00,3110,0
+2006-02-01,16:34:00,3733.00,3735.00,3733.00,3735.00,4790,0
+2006-02-01,16:35:00,3736.00,3738.00,3735.00,3737.00,5090,0
+2006-02-01,16:36:00,3737.00,3739.00,3736.00,3736.00,4515,0
+2006-02-01,16:37:00,3736.00,3737.00,3735.00,3735.00,2419,0
+2006-02-01,16:38:00,3735.00,3736.00,3733.00,3734.00,2267,0
+2006-02-01,16:39:00,3734.00,3734.00,3732.00,3732.00,1844,0
+2006-02-01,16:40:00,3732.00,3733.00,3731.00,3733.00,5271,0
+2006-02-01,16:41:00,3732.00,3734.00,3732.00,3734.00,2724,0
+2006-02-01,16:42:00,3734.00,3734.00,3733.00,3734.00,1341,0
+2006-02-01,16:43:00,3733.00,3734.00,3732.00,3732.00,1413,0
+2006-02-01,16:44:00,3732.00,3735.00,3732.00,3735.00,3581,0
+2006-02-01,16:45:00,3735.00,3738.00,3734.00,3736.00,5486,0
+2006-02-01,16:46:00,3736.00,3736.00,3734.00,3735.00,3026,0
+2006-02-01,16:47:00,3735.00,3737.00,3734.00,3735.00,2469,0
+2006-02-01,16:48:00,3734.00,3735.00,3733.00,3733.00,843,0
+2006-02-01,16:49:00,3733.00,3734.00,3733.00,3733.00,1413,0
+2006-02-01,16:50:00,3733.00,3734.00,3733.00,3733.00,571,0
+2006-02-01,16:51:00,3734.00,3735.00,3733.00,3735.00,1122,0
+2006-02-01,16:52:00,3734.00,3735.00,3733.00,3734.00,2180,0
+2006-02-01,16:53:00,3734.00,3735.00,3734.00,3735.00,116,0
+2006-02-01,16:54:00,3734.00,3735.00,3734.00,3734.00,930,0
+2006-02-01,16:55:00,3734.00,3737.00,3733.00,3736.00,3803,0
+2006-02-01,16:56:00,3736.00,3737.00,3735.00,3737.00,2812,0
+2006-02-01,16:57:00,3736.00,3737.00,3734.00,3736.00,984,0
+2006-02-01,16:58:00,3736.00,3737.00,3735.00,3737.00,964,0
+2006-02-01,16:59:00,3737.00,3737.00,3735.00,3736.00,2768,0
+2006-02-01,17:00:00,3735.00,3736.00,3735.00,3735.00,977,0
+2006-02-01,17:01:00,3736.00,3739.00,3735.00,3738.00,3240,0
+2006-02-01,17:02:00,3737.00,3738.00,3736.00,3738.00,2146,0
+2006-02-01,17:03:00,3738.00,3738.00,3735.00,3736.00,1720,0
+2006-02-01,17:04:00,3737.00,3739.00,3736.00,3738.00,2306,0
+2006-02-01,17:05:00,3738.00,3739.00,3737.00,3738.00,1633,0
+2006-02-01,17:06:00,3737.00,3738.00,3737.00,3738.00,1563,0
+2006-02-01,17:07:00,3738.00,3738.00,3736.00,3736.00,1166,0
+2006-02-01,17:08:00,3736.00,3738.00,3736.00,3738.00,2400,0
+2006-02-01,17:09:00,3738.00,3739.00,3737.00,3738.00,3808,0
+2006-02-01,17:10:00,3738.00,3738.00,3737.00,3737.00,633,0
+2006-02-01,17:11:00,3738.00,3738.00,3736.00,3738.00,1887,0
+2006-02-01,17:12:00,3737.00,3738.00,3737.00,3737.00,4692,0
+2006-02-01,17:13:00,3737.00,3739.00,3736.00,3738.00,2516,0
+2006-02-01,17:14:00,3738.00,3739.00,3737.00,3738.00,1146,0
+2006-02-01,17:15:00,3738.00,3738.00,3737.00,3738.00,810,0
+2006-02-01,17:16:00,3737.00,3738.00,3735.00,3736.00,2616,0
+2006-02-01,17:17:00,3736.00,3737.00,3734.00,3734.00,5028,0
+2006-02-01,17:18:00,3734.00,3735.00,3733.00,3734.00,3154,0
+2006-02-01,17:19:00,3734.00,3734.00,3732.00,3732.00,5403,0
+2006-02-01,17:20:00,3732.00,3733.00,3732.00,3733.00,2060,0
+2006-02-01,17:21:00,3732.00,3733.00,3731.00,3732.00,1938,0
+2006-02-01,17:22:00,3731.00,3732.00,3730.00,3730.00,3669,0
+2006-02-01,17:23:00,3731.00,3731.00,3730.00,3731.00,4519,0
+2006-02-01,17:24:00,3732.00,3732.00,3730.00,3731.00,1169,0
+2006-02-01,17:25:00,3730.00,3731.00,3730.00,3731.00,837,0
+2006-02-01,17:26:00,3731.00,3731.00,3726.00,3726.00,4942,0
+2006-02-01,17:27:00,3727.00,3729.00,3726.00,3728.00,5112,0
+2006-02-01,17:28:00,3729.00,3729.00,3728.00,3728.00,1200,0
+2006-02-01,17:29:00,3729.00,3730.00,3728.00,3730.00,4744,0
+2006-02-01,17:30:00,3731.00,3733.00,3730.00,3732.00,5325,0
+2006-02-01,17:31:00,3733.00,3733.00,3731.00,3732.00,5830,0
+2006-02-01,17:32:00,3732.00,3732.00,3731.00,3732.00,1384,0
+2006-02-01,17:33:00,3732.00,3733.00,3731.00,3733.00,2519,0
+2006-02-01,17:34:00,3732.00,3733.00,3732.00,3733.00,3530,0
+2006-02-01,17:35:00,3733.00,3734.00,3732.00,3733.00,1001,0
+2006-02-01,17:36:00,3733.00,3735.00,3733.00,3735.00,2371,0
+2006-02-01,17:37:00,3735.00,3736.00,3734.00,3735.00,2338,0
+2006-02-01,17:38:00,3735.00,3736.00,3734.00,3735.00,576,0
+2006-02-01,17:39:00,3735.00,3738.00,3734.00,3738.00,1807,0
+2006-02-01,17:40:00,3738.00,3738.00,3736.00,3737.00,1103,0
+2006-02-01,17:41:00,3737.00,3742.00,3736.00,3739.00,4187,0
+2006-02-01,17:42:00,3738.00,3739.00,3736.00,3737.00,1652,0
+2006-02-01,17:43:00,3737.00,3738.00,3736.00,3736.00,570,0
+2006-02-01,17:44:00,3736.00,3736.00,3734.00,3735.00,2260,0
+2006-02-01,17:45:00,3735.00,3736.00,3735.00,3736.00,1136,0
+2006-02-01,17:46:00,3736.00,3736.00,3735.00,3735.00,1899,0
+2006-02-01,17:47:00,3735.00,3736.00,3735.00,3736.00,211,0
+2006-02-01,17:48:00,3736.00,3737.00,3736.00,3737.00,330,0
+2006-02-01,17:49:00,3737.00,3737.00,3735.00,3735.00,825,0
+2006-02-01,17:50:00,3736.00,3737.00,3736.00,3736.00,713,0
+2006-02-01,17:51:00,3736.00,3737.00,3736.00,3736.00,759,0
+2006-02-01,17:52:00,3737.00,3737.00,3737.00,3737.00,672,0
+2006-02-01,17:53:00,3738.00,3741.00,3738.00,3740.00,1878,0
+2006-02-01,17:54:00,3740.00,3741.00,3740.00,3741.00,1770,0
+2006-02-01,17:55:00,3742.00,3744.00,3742.00,3744.00,2640,0
+2006-02-01,17:56:00,3744.00,3745.00,3742.00,3743.00,1614,0
+2006-02-01,17:57:00,3743.00,3744.00,3742.00,3743.00,932,0
+2006-02-01,17:58:00,3743.00,3743.00,3740.00,3740.00,1155,0
+2006-02-01,17:59:00,3740.00,3742.00,3740.00,3741.00,841,0
+2006-02-01,18:00:00,3740.00,3741.00,3740.00,3741.00,1216,0
+2006-02-01,18:01:00,3740.00,3741.00,3740.00,3741.00,1514,0
+2006-02-01,18:02:00,3741.00,3741.00,3739.00,3741.00,606,0
+2006-02-01,18:03:00,3741.00,3741.00,3740.00,3740.00,831,0
+2006-02-01,18:04:00,3740.00,3741.00,3740.00,3740.00,324,0
+2006-02-01,18:05:00,3740.00,3741.00,3739.00,3741.00,329,0
+2006-02-01,18:06:00,3740.00,3740.00,3740.00,3740.00,124,0
+2006-02-01,18:07:00,3740.00,3740.00,3739.00,3740.00,812,0
+2006-02-01,18:08:00,3739.00,3740.00,3738.00,3740.00,422,0
+2006-02-01,18:09:00,3740.00,3740.00,3739.00,3739.00,183,0
+2006-02-01,18:10:00,3739.00,3739.00,3739.00,3739.00,213,0
+2006-02-01,18:11:00,3740.00,3740.00,3739.00,3739.00,181,0
+2006-02-01,18:12:00,3739.00,3740.00,3738.00,3738.00,350,0
+2006-02-01,18:13:00,3738.00,3738.00,3735.00,3735.00,1832,0
+2006-02-01,18:14:00,3735.00,3737.00,3735.00,3737.00,474,0
+2006-02-01,18:15:00,3737.00,3738.00,3737.00,3738.00,103,0
+2006-02-01,18:16:00,3737.00,3738.00,3737.00,3738.00,21,0
+2006-02-01,18:17:00,3738.00,3738.00,3737.00,3737.00,176,0
+2006-02-01,18:18:00,3737.00,3737.00,3736.00,3736.00,412,0
+2006-02-01,18:19:00,3737.00,3737.00,3735.00,3736.00,169,0
+2006-02-01,18:20:00,3736.00,3736.00,3735.00,3735.00,147,0
+2006-02-01,18:21:00,3735.00,3738.00,3735.00,3737.00,159,0
+2006-02-01,18:22:00,3737.00,3738.00,3737.00,3737.00,162,0
+2006-02-01,18:23:00,3736.00,3737.00,3736.00,3737.00,45,0
+2006-02-01,18:24:00,3737.00,3739.00,3737.00,3739.00,682,0
+2006-02-01,18:25:00,3739.00,3739.00,3738.00,3739.00,308,0
+2006-02-01,18:26:00,3739.00,3741.00,3739.00,3741.00,435,0
+2006-02-01,18:27:00,3740.00,3743.00,3740.00,3743.00,598,0
+2006-02-01,18:28:00,3742.00,3743.00,3741.00,3741.00,920,0
+2006-02-01,18:29:00,3741.00,3743.00,3741.00,3743.00,194,0
+2006-02-01,18:30:00,3743.00,3743.00,3742.00,3742.00,118,0
+2006-02-01,18:31:00,3743.00,3744.00,3743.00,3743.00,1089,0
+2006-02-01,18:32:00,3744.00,3744.00,3743.00,3743.00,779,0
+2006-02-01,18:33:00,3743.00,3743.00,3743.00,3743.00,552,0
+2006-02-01,18:34:00,3742.00,3743.00,3742.00,3742.00,118,0
+2006-02-01,18:35:00,3743.00,3745.00,3742.00,3744.00,265,0
+2006-02-01,18:36:00,3744.00,3744.00,3743.00,3744.00,233,0
+2006-02-01,18:37:00,3744.00,3746.00,3743.00,3744.00,2758,0
+2006-02-01,18:38:00,3744.00,3745.00,3742.00,3742.00,909,0
+2006-02-01,18:39:00,3743.00,3744.00,3743.00,3744.00,221,0
+2006-02-01,18:40:00,3745.00,3745.00,3743.00,3743.00,86,0
+2006-02-01,18:41:00,3742.00,3742.00,3742.00,3742.00,269,0
+2006-02-01,18:42:00,3743.00,3743.00,3741.00,3742.00,419,0
+2006-02-01,18:43:00,3743.00,3743.00,3743.00,3743.00,2,0
+2006-02-01,18:44:00,3743.00,3743.00,3742.00,3743.00,345,0
+2006-02-01,18:45:00,3743.00,3744.00,3743.00,3743.00,140,0
+2006-02-01,18:46:00,3744.00,3745.00,3744.00,3744.00,262,0
+2006-02-01,18:47:00,3744.00,3745.00,3743.00,3744.00,99,0
+2006-02-01,18:48:00,3744.00,3744.00,3744.00,3744.00,6,0
+2006-02-01,18:49:00,3744.00,3744.00,3744.00,3744.00,126,0
+2006-02-01,18:50:00,3743.00,3743.00,3742.00,3742.00,302,0
+2006-02-01,18:51:00,3742.00,3743.00,3742.00,3743.00,11,0
+2006-02-01,18:52:00,3743.00,3743.00,3742.00,3742.00,195,0
+2006-02-01,18:53:00,3742.00,3742.00,3742.00,3742.00,77,0
+2006-02-01,18:54:00,3742.00,3742.00,3742.00,3742.00,104,0
+2006-02-01,18:55:00,3743.00,3743.00,3742.00,3743.00,7,0
+2006-02-01,18:56:00,3743.00,3743.00,3742.00,3743.00,8,0
+2006-02-01,18:57:00,3743.00,3744.00,3742.00,3744.00,675,0
+2006-02-01,18:58:00,3744.00,3744.00,3744.00,3744.00,9,0
+2006-02-01,18:59:00,3744.00,3744.00,3742.00,3742.00,287,0
+2006-02-01,19:00:00,3741.00,3741.00,3741.00,3741.00,521,0
+2006-02-01,19:01:00,3740.00,3741.00,3740.00,3740.00,365,0
+2006-02-01,19:02:00,3740.00,3740.00,3740.00,3740.00,343,0
+2006-02-01,19:03:00,3740.00,3740.00,3740.00,3740.00,273,0
+2006-02-01,19:04:00,3740.00,3741.00,3740.00,3741.00,376,0
+2006-02-01,19:05:00,3741.00,3741.00,3739.00,3739.00,277,0
+2006-02-01,19:06:00,3739.00,3741.00,3739.00,3741.00,450,0
+2006-02-01,19:07:00,3741.00,3741.00,3740.00,3740.00,201,0
+2006-02-01,19:08:00,3740.00,3741.00,3740.00,3741.00,48,0
+2006-02-01,19:09:00,3741.00,3741.00,3741.00,3741.00,3,0
+2006-02-01,19:10:00,3741.00,3743.00,3741.00,3742.00,119,0
+2006-02-01,19:11:00,3742.00,3742.00,3742.00,3742.00,50,0
+2006-02-01,19:12:00,3741.00,3743.00,3741.00,3743.00,83,0
+2006-02-01,19:13:00,3743.00,3743.00,3742.00,3742.00,285,0
+2006-02-01,19:14:00,3742.00,3742.00,3742.00,3742.00,201,0
+2006-02-01,19:15:00,3741.00,3741.00,3740.00,3740.00,431,0
+2006-02-01,19:16:00,3740.00,3740.00,3739.00,3740.00,366,0
+2006-02-01,19:17:00,3740.00,3740.00,3737.00,3738.00,433,0
+2006-02-01,19:18:00,3738.00,3739.00,3737.00,3739.00,176,0
+2006-02-01,19:19:00,3738.00,3738.00,3738.00,3738.00,110,0
+2006-02-01,19:20:00,3738.00,3738.00,3736.00,3736.00,302,0
+2006-02-01,19:21:00,3736.00,3737.00,3736.00,3737.00,547,0
+2006-02-01,19:22:00,3737.00,3737.00,3736.00,3736.00,265,0
+2006-02-01,19:23:00,3736.00,3736.00,3735.00,3736.00,437,0
+2006-02-01,19:24:00,3737.00,3739.00,3736.00,3738.00,458,0
+2006-02-01,19:25:00,3738.00,3738.00,3737.00,3737.00,200,0
+2006-02-01,19:26:00,3738.00,3738.00,3737.00,3737.00,44,0
+2006-02-01,19:27:00,3737.00,3737.00,3737.00,3737.00,48,0
+2006-02-01,19:28:00,3736.00,3736.00,3735.00,3736.00,155,0
+2006-02-01,19:29:00,3736.00,3737.00,3736.00,3737.00,383,0
+2006-02-01,19:30:00,3737.00,3738.00,3737.00,3738.00,225,0
+2006-02-01,19:31:00,3737.00,3737.00,3736.00,3737.00,114,0
+2006-02-01,19:32:00,3737.00,3737.00,3737.00,3737.00,52,0
+2006-02-01,19:33:00,3737.00,3738.00,3736.00,3737.00,305,0
+2006-02-01,19:34:00,3737.00,3737.00,3736.00,3736.00,191,0
+2006-02-01,19:35:00,3735.00,3736.00,3734.00,3735.00,572,0
+2006-02-01,19:36:00,3735.00,3735.00,3733.00,3734.00,656,0
+2006-02-01,19:37:00,3734.00,3735.00,3733.00,3735.00,270,0
+2006-02-01,19:38:00,3734.00,3735.00,3734.00,3734.00,561,0
+2006-02-01,19:39:00,3735.00,3735.00,3734.00,3734.00,22,0
+2006-02-01,19:40:00,3735.00,3735.00,3733.00,3735.00,573,0
+2006-02-01,19:41:00,3734.00,3734.00,3734.00,3734.00,132,0
+2006-02-01,19:42:00,3734.00,3734.00,3733.00,3733.00,308,0
+2006-02-01,19:43:00,3733.00,3735.00,3733.00,3734.00,932,0
+2006-02-01,19:44:00,3733.00,3734.00,3733.00,3734.00,160,0
+2006-02-01,19:45:00,3734.00,3734.00,3733.00,3734.00,807,0
+2006-02-01,19:46:00,3734.00,3734.00,3732.00,3733.00,679,0
+2006-02-01,19:47:00,3733.00,3733.00,3733.00,3733.00,52,0
+2006-02-01,19:48:00,3733.00,3733.00,3731.00,3731.00,264,0
+2006-02-01,19:49:00,3732.00,3733.00,3732.00,3733.00,524,0
+2006-02-01,19:50:00,3732.00,3733.00,3731.00,3733.00,524,0
+2006-02-01,19:51:00,3733.00,3734.00,3732.00,3734.00,89,0
+2006-02-01,19:52:00,3734.00,3734.00,3733.00,3734.00,357,0
+2006-02-01,19:53:00,3735.00,3735.00,3734.00,3734.00,131,0
+2006-02-01,19:54:00,3734.00,3735.00,3733.00,3735.00,92,0
+2006-02-01,19:55:00,3735.00,3737.00,3735.00,3736.00,455,0
+2006-02-01,19:56:00,3736.00,3737.00,3736.00,3736.00,203,0
+2006-02-01,19:57:00,3736.00,3736.00,3735.00,3735.00,124,0
+2006-02-01,19:58:00,3734.00,3735.00,3734.00,3735.00,376,0
+2006-02-01,19:59:00,3735.00,3737.00,3734.00,3737.00,88,0
+2006-02-01,20:00:00,3736.00,3738.00,3736.00,3736.00,165,0
+2006-02-01,20:01:00,3736.00,3737.00,3736.00,3737.00,116,0
+2006-02-01,20:02:00,3738.00,3740.00,3738.00,3738.00,288,0
+2006-02-01,20:03:00,3737.00,3738.00,3737.00,3738.00,30,0
+2006-02-01,20:04:00,3738.00,3739.00,3738.00,3738.00,277,0
+2006-02-01,20:05:00,3738.00,3738.00,3738.00,3738.00,99,0
+2006-02-01,20:06:00,3738.00,3738.00,3738.00,3738.00,4,0
+2006-02-01,20:07:00,3737.00,3737.00,3737.00,3737.00,173,0
+2006-02-01,20:08:00,3736.00,3736.00,3736.00,3736.00,69,0
+2006-02-01,20:09:00,3736.00,3737.00,3736.00,3737.00,105,0
+2006-02-01,20:11:00,3736.00,3736.00,3736.00,3736.00,39,0
+2006-02-01,20:12:00,3736.00,3736.00,3736.00,3736.00,236,0
+2006-02-01,20:13:00,3736.00,3736.00,3736.00,3736.00,50,0
+2006-02-01,20:14:00,3737.00,3737.00,3737.00,3737.00,72,0
+2006-02-01,20:15:00,3737.00,3737.00,3736.00,3736.00,111,0
+2006-02-01,20:16:00,3737.00,3738.00,3737.00,3738.00,108,0
+2006-02-01,20:17:00,3738.00,3738.00,3737.00,3737.00,12,0
+2006-02-01,20:18:00,3737.00,3738.00,3737.00,3738.00,55,0
+2006-02-01,20:19:00,3739.00,3740.00,3739.00,3740.00,152,0
+2006-02-01,20:20:00,3740.00,3741.00,3739.00,3740.00,141,0
+2006-02-01,20:21:00,3740.00,3740.00,3738.00,3738.00,70,0
+2006-02-01,20:22:00,3739.00,3739.00,3739.00,3739.00,155,0
+2006-02-01,20:23:00,3739.00,3740.00,3738.00,3738.00,113,0
+2006-02-01,20:24:00,3737.00,3737.00,3737.00,3737.00,291,0
+2006-02-01,20:25:00,3737.00,3737.00,3737.00,3737.00,4,0
+2006-02-01,20:26:00,3737.00,3737.00,3736.00,3737.00,85,0
+2006-02-01,20:27:00,3736.00,3736.00,3736.00,3736.00,152,0
+2006-02-01,20:28:00,3737.00,3737.00,3737.00,3737.00,42,0
+2006-02-01,20:29:00,3736.00,3736.00,3736.00,3736.00,100,0
+2006-02-01,20:30:00,3736.00,3736.00,3736.00,3736.00,82,0
+2006-02-01,20:31:00,3736.00,3738.00,3736.00,3737.00,104,0
+2006-02-01,20:32:00,3738.00,3738.00,3736.00,3737.00,187,0
+2006-02-01,20:33:00,3737.00,3739.00,3737.00,3739.00,108,0
+2006-02-01,20:34:00,3738.00,3738.00,3736.00,3737.00,320,0
+2006-02-01,20:35:00,3738.00,3738.00,3737.00,3737.00,104,0
+2006-02-01,20:36:00,3738.00,3740.00,3738.00,3740.00,130,0
+2006-02-01,20:37:00,3739.00,3741.00,3739.00,3740.00,159,0
+2006-02-01,20:38:00,3739.00,3739.00,3738.00,3739.00,224,0
+2006-02-01,20:39:00,3740.00,3740.00,3739.00,3740.00,163,0
+2006-02-01,20:40:00,3740.00,3740.00,3740.00,3740.00,58,0
+2006-02-01,20:41:00,3740.00,3740.00,3739.00,3739.00,125,0
+2006-02-01,20:42:00,3738.00,3738.00,3737.00,3737.00,435,0
+2006-02-01,20:43:00,3737.00,3739.00,3737.00,3739.00,210,0
+2006-02-01,20:44:00,3738.00,3738.00,3738.00,3738.00,101,0
+2006-02-01,20:45:00,3737.00,3738.00,3737.00,3738.00,291,0
+2006-02-01,20:46:00,3738.00,3738.00,3737.00,3738.00,203,0
+2006-02-01,20:47:00,3738.00,3738.00,3738.00,3738.00,201,0
+2006-02-01,20:48:00,3738.00,3738.00,3738.00,3738.00,77,0
+2006-02-01,20:49:00,3738.00,3738.00,3737.00,3737.00,329,0
+2006-02-01,20:50:00,3737.00,3738.00,3737.00,3738.00,34,0
+2006-02-01,20:51:00,3738.00,3738.00,3738.00,3738.00,18,0
+2006-02-01,20:52:00,3738.00,3738.00,3738.00,3738.00,17,0
+2006-02-01,20:53:00,3739.00,3740.00,3739.00,3739.00,261,0
+2006-02-01,20:54:00,3738.00,3739.00,3738.00,3739.00,129,0
+2006-02-01,20:55:00,3739.00,3739.00,3739.00,3739.00,23,0
+2006-02-01,20:56:00,3739.00,3739.00,3738.00,3738.00,48,0
+2006-02-01,20:57:00,3738.00,3738.00,3738.00,3738.00,59,0
+2006-02-01,20:58:00,3738.00,3739.00,3737.00,3737.00,351,0
+2006-02-01,20:59:00,3738.00,3738.00,3738.00,3738.00,94,0
+2006-02-01,21:00:00,3737.00,3738.00,3737.00,3738.00,212,0
+2006-02-01,21:01:00,3739.00,3739.00,3738.00,3739.00,57,0
+2006-02-01,21:02:00,3738.00,3738.00,3738.00,3738.00,22,0
+2006-02-01,21:05:00,3738.00,3739.00,3737.00,3739.00,245,0
+2006-02-01,21:06:00,3739.00,3739.00,3739.00,3739.00,55,0
+2006-02-01,21:07:00,3739.00,3740.00,3739.00,3740.00,244,0
+2006-02-01,21:08:00,3740.00,3740.00,3740.00,3740.00,47,0
+2006-02-01,21:09:00,3740.00,3740.00,3740.00,3740.00,106,0
+2006-02-01,21:10:00,3741.00,3742.00,3741.00,3741.00,460,0
+2006-02-01,21:11:00,3742.00,3742.00,3742.00,3742.00,153,0
+2006-02-01,21:12:00,3742.00,3742.00,3741.00,3742.00,99,0
+2006-02-01,21:13:00,3742.00,3743.00,3742.00,3743.00,29,0
+2006-02-01,21:14:00,3742.00,3743.00,3742.00,3743.00,4,0
+2006-02-01,21:15:00,3744.00,3744.00,3743.00,3744.00,164,0
+2006-02-01,21:16:00,3744.00,3744.00,3744.00,3744.00,32,0
+2006-02-01,21:17:00,3744.00,3744.00,3744.00,3744.00,35,0
+2006-02-01,21:18:00,3743.00,3743.00,3743.00,3743.00,35,0
+2006-02-01,21:19:00,3742.00,3742.00,3742.00,3742.00,2,0
+2006-02-01,21:21:00,3743.00,3743.00,3742.00,3743.00,83,0
+2006-02-01,21:22:00,3743.00,3743.00,3743.00,3743.00,25,0
+2006-02-01,21:23:00,3743.00,3743.00,3743.00,3743.00,46,0
+2006-02-01,21:24:00,3743.00,3743.00,3743.00,3743.00,40,0
+2006-02-01,21:25:00,3743.00,3743.00,3743.00,3743.00,9,0
+2006-02-01,21:26:00,3743.00,3743.00,3742.00,3742.00,62,0
+2006-02-01,21:27:00,3742.00,3742.00,3741.00,3741.00,532,0
+2006-02-01,21:28:00,3742.00,3742.00,3742.00,3742.00,13,0
+2006-02-01,21:29:00,3742.00,3742.00,3742.00,3742.00,83,0
+2006-02-01,21:30:00,3742.00,3742.00,3742.00,3742.00,87,0
+2006-02-01,21:31:00,3742.00,3743.00,3741.00,3743.00,68,0
+2006-02-01,21:32:00,3743.00,3743.00,3743.00,3743.00,52,0
+2006-02-01,21:33:00,3744.00,3746.00,3744.00,3746.00,1150,0
+2006-02-01,21:34:00,3746.00,3747.00,3745.00,3745.00,157,0
+2006-02-01,21:35:00,3746.00,3746.00,3744.00,3745.00,55,0
+2006-02-01,21:36:00,3746.00,3746.00,3745.00,3746.00,14,0
+2006-02-01,21:37:00,3745.00,3746.00,3745.00,3746.00,5,0
+2006-02-01,21:38:00,3745.00,3745.00,3745.00,3745.00,1,0
+2006-02-01,21:39:00,3746.00,3746.00,3746.00,3746.00,8,0
+2006-02-01,21:40:00,3746.00,3746.00,3746.00,3746.00,5,0
+2006-02-01,21:41:00,3745.00,3745.00,3745.00,3745.00,1,0
+2006-02-01,21:42:00,3746.00,3746.00,3746.00,3746.00,62,0
+2006-02-01,21:44:00,3746.00,3746.00,3746.00,3746.00,103,0
+2006-02-01,21:45:00,3746.00,3746.00,3746.00,3746.00,187,0
+2006-02-01,21:46:00,3746.00,3746.00,3746.00,3746.00,5,0
+2006-02-01,21:47:00,3746.00,3746.00,3746.00,3746.00,152,0
+2006-02-01,21:48:00,3746.00,3746.00,3746.00,3746.00,67,0
+2006-02-01,21:51:00,3746.00,3746.00,3746.00,3746.00,3,0
+2006-02-01,21:53:00,3746.00,3746.00,3745.00,3745.00,31,0
+2006-02-01,21:54:00,3745.00,3746.00,3745.00,3745.00,185,0
+2006-02-01,21:55:00,3745.00,3745.00,3745.00,3745.00,1,0
+2006-02-01,21:56:00,3745.00,3745.00,3745.00,3745.00,296,0
+2006-02-01,21:57:00,3745.00,3745.00,3744.00,3745.00,9,0
+2006-02-01,21:58:00,3745.00,3746.00,3745.00,3746.00,149,0
+2006-02-01,21:59:00,3745.00,3746.00,3745.00,3746.00,444,0
+2006-02-01,22:00:00,3746.00,3747.00,3745.00,3747.00,295,0
+2006-02-02,09:01:00,3742.00,3747.00,3742.00,3746.00,12225,0
+2006-02-02,09:02:00,3746.00,3746.00,3744.00,3744.00,2576,0
+2006-02-02,09:03:00,3744.00,3748.00,3744.00,3747.00,2469,0
+2006-02-02,09:04:00,3747.00,3749.00,3744.00,3744.00,2610,0
+2006-02-02,09:05:00,3745.00,3746.00,3742.00,3742.00,3023,0
+2006-02-02,09:06:00,3742.00,3743.00,3740.00,3741.00,3212,0
+2006-02-02,09:07:00,3742.00,3744.00,3742.00,3744.00,1425,0
+2006-02-02,09:08:00,3744.00,3744.00,3742.00,3743.00,1137,0
+2006-02-02,09:09:00,3743.00,3745.00,3743.00,3744.00,819,0
+2006-02-02,09:10:00,3745.00,3748.00,3745.00,3747.00,3023,0
+2006-02-02,09:11:00,3747.00,3750.00,3747.00,3749.00,2968,0
+2006-02-02,09:12:00,3749.00,3752.00,3749.00,3751.00,6073,0
+2006-02-02,09:13:00,3751.00,3751.00,3749.00,3750.00,1121,0
+2006-02-02,09:14:00,3750.00,3756.00,3750.00,3754.00,7904,0
+2006-02-02,09:15:00,3754.00,3755.00,3753.00,3755.00,2514,0
+2006-02-02,09:16:00,3755.00,3756.00,3753.00,3753.00,3619,0
+2006-02-02,09:17:00,3753.00,3754.00,3752.00,3753.00,1179,0
+2006-02-02,09:18:00,3754.00,3754.00,3752.00,3752.00,789,0
+2006-02-02,09:19:00,3752.00,3752.00,3749.00,3750.00,4285,0
+2006-02-02,09:20:00,3750.00,3751.00,3749.00,3750.00,2994,0
+2006-02-02,09:21:00,3749.00,3750.00,3749.00,3750.00,380,0
+2006-02-02,09:22:00,3749.00,3751.00,3749.00,3751.00,1285,0
+2006-02-02,09:23:00,3751.00,3752.00,3750.00,3751.00,334,0
+2006-02-02,09:24:00,3751.00,3753.00,3751.00,3752.00,1581,0
+2006-02-02,09:25:00,3751.00,3752.00,3750.00,3750.00,499,0
+2006-02-02,09:26:00,3750.00,3751.00,3750.00,3750.00,335,0
+2006-02-02,09:27:00,3750.00,3751.00,3749.00,3750.00,784,0
+2006-02-02,09:28:00,3749.00,3750.00,3748.00,3748.00,1497,0
+2006-02-02,09:29:00,3748.00,3749.00,3748.00,3749.00,487,0
+2006-02-02,09:30:00,3749.00,3750.00,3747.00,3747.00,756,0
+2006-02-02,09:31:00,3747.00,3748.00,3747.00,3747.00,1928,0
+2006-02-02,09:32:00,3747.00,3748.00,3746.00,3747.00,1414,0
+2006-02-02,09:33:00,3747.00,3747.00,3746.00,3746.00,702,0
+2006-02-02,09:34:00,3747.00,3749.00,3747.00,3748.00,552,0
+2006-02-02,09:35:00,3748.00,3749.00,3748.00,3748.00,879,0
+2006-02-02,09:36:00,3748.00,3749.00,3748.00,3748.00,2324,0
+2006-02-02,09:37:00,3748.00,3749.00,3746.00,3746.00,1515,0
+2006-02-02,09:38:00,3745.00,3746.00,3745.00,3745.00,63,0
+2006-02-02,09:39:00,3746.00,3747.00,3745.00,3745.00,802,0
+2006-02-02,09:40:00,3745.00,3745.00,3744.00,3745.00,1148,0
+2006-02-02,09:41:00,3745.00,3747.00,3744.00,3746.00,2297,0
+2006-02-02,09:42:00,3747.00,3748.00,3746.00,3747.00,579,0
+2006-02-02,09:43:00,3746.00,3747.00,3746.00,3746.00,210,0
+2006-02-02,09:44:00,3746.00,3746.00,3745.00,3745.00,434,0
+2006-02-02,09:45:00,3745.00,3746.00,3745.00,3746.00,540,0
+2006-02-02,09:46:00,3745.00,3745.00,3744.00,3745.00,618,0
+2006-02-02,09:47:00,3744.00,3745.00,3742.00,3742.00,2577,0
+2006-02-02,09:48:00,3743.00,3743.00,3741.00,3742.00,2094,0
+2006-02-02,09:49:00,3742.00,3742.00,3741.00,3741.00,1560,0
+2006-02-02,09:50:00,3741.00,3741.00,3739.00,3741.00,3941,0
+2006-02-02,09:51:00,3741.00,3742.00,3740.00,3741.00,672,0
+2006-02-02,09:52:00,3741.00,3742.00,3741.00,3742.00,1988,0
+2006-02-02,09:53:00,3742.00,3742.00,3740.00,3741.00,549,0
+2006-02-02,09:54:00,3740.00,3741.00,3740.00,3740.00,235,0
+2006-02-02,09:55:00,3741.00,3741.00,3739.00,3739.00,1942,0
+2006-02-02,09:56:00,3739.00,3741.00,3739.00,3741.00,2346,0
+2006-02-02,09:57:00,3741.00,3743.00,3740.00,3742.00,1686,0
+2006-02-02,09:58:00,3743.00,3745.00,3742.00,3745.00,2955,0
+2006-02-02,09:59:00,3745.00,3745.00,3744.00,3744.00,1567,0
+2006-02-02,10:00:00,3744.00,3745.00,3743.00,3743.00,2179,0
+2006-02-02,10:01:00,3743.00,3744.00,3742.00,3742.00,484,0
+2006-02-02,10:02:00,3742.00,3743.00,3742.00,3743.00,557,0
+2006-02-02,10:03:00,3744.00,3745.00,3743.00,3744.00,1311,0
+2006-02-02,10:04:00,3744.00,3744.00,3741.00,3742.00,1131,0
+2006-02-02,10:05:00,3742.00,3742.00,3741.00,3741.00,476,0
+2006-02-02,10:06:00,3742.00,3742.00,3740.00,3740.00,642,0
+2006-02-02,10:07:00,3741.00,3741.00,3739.00,3740.00,1260,0
+2006-02-02,10:08:00,3740.00,3740.00,3738.00,3739.00,1602,0
+2006-02-02,10:09:00,3739.00,3740.00,3739.00,3740.00,828,0
+2006-02-02,10:10:00,3740.00,3740.00,3738.00,3740.00,867,0
+2006-02-02,10:11:00,3739.00,3740.00,3739.00,3740.00,63,0
+2006-02-02,10:12:00,3740.00,3740.00,3738.00,3738.00,796,0
+2006-02-02,10:13:00,3738.00,3739.00,3737.00,3739.00,1546,0
+2006-02-02,10:14:00,3739.00,3739.00,3736.00,3737.00,2124,0
+2006-02-02,10:15:00,3736.00,3737.00,3736.00,3737.00,1486,0
+2006-02-02,10:16:00,3736.00,3737.00,3735.00,3737.00,1229,0
+2006-02-02,10:17:00,3737.00,3737.00,3734.00,3736.00,2592,0
+2006-02-02,10:18:00,3735.00,3736.00,3733.00,3735.00,2828,0
+2006-02-02,10:19:00,3735.00,3736.00,3733.00,3734.00,1899,0
+2006-02-02,10:20:00,3734.00,3735.00,3733.00,3733.00,582,0
+2006-02-02,10:21:00,3733.00,3734.00,3732.00,3734.00,1776,0
+2006-02-02,10:22:00,3733.00,3734.00,3733.00,3733.00,906,0
+2006-02-02,10:23:00,3733.00,3734.00,3732.00,3734.00,659,0
+2006-02-02,10:24:00,3733.00,3734.00,3733.00,3734.00,521,0
+2006-02-02,10:25:00,3734.00,3735.00,3733.00,3734.00,2004,0
+2006-02-02,10:26:00,3734.00,3735.00,3734.00,3735.00,1756,0
+2006-02-02,10:27:00,3735.00,3735.00,3733.00,3733.00,1144,0
+2006-02-02,10:28:00,3733.00,3733.00,3733.00,3733.00,102,0
+2006-02-02,10:29:00,3733.00,3734.00,3733.00,3733.00,732,0
+2006-02-02,10:30:00,3733.00,3733.00,3731.00,3732.00,4262,0
+2006-02-02,10:31:00,3732.00,3733.00,3730.00,3731.00,2447,0
+2006-02-02,10:32:00,3732.00,3732.00,3731.00,3731.00,1321,0
+2006-02-02,10:33:00,3732.00,3733.00,3731.00,3733.00,1668,0
+2006-02-02,10:34:00,3732.00,3733.00,3731.00,3731.00,1172,0
+2006-02-02,10:35:00,3732.00,3732.00,3731.00,3731.00,730,0
+2006-02-02,10:36:00,3732.00,3732.00,3731.00,3732.00,412,0
+2006-02-02,10:37:00,3732.00,3732.00,3732.00,3732.00,1024,0
+2006-02-02,10:38:00,3733.00,3734.00,3733.00,3734.00,1379,0
+2006-02-02,10:39:00,3734.00,3734.00,3733.00,3734.00,240,0
+2006-02-02,10:40:00,3733.00,3734.00,3733.00,3733.00,241,0
+2006-02-02,10:41:00,3733.00,3735.00,3733.00,3734.00,769,0
+2006-02-02,10:42:00,3734.00,3736.00,3734.00,3736.00,3131,0
+2006-02-02,10:43:00,3736.00,3737.00,3735.00,3736.00,2345,0
+2006-02-02,10:44:00,3737.00,3738.00,3737.00,3738.00,598,0
+2006-02-02,10:45:00,3738.00,3738.00,3736.00,3737.00,1015,0
+2006-02-02,10:46:00,3737.00,3737.00,3736.00,3736.00,156,0
+2006-02-02,10:47:00,3736.00,3737.00,3736.00,3736.00,1199,0
+2006-02-02,10:48:00,3737.00,3737.00,3737.00,3737.00,595,0
+2006-02-02,10:49:00,3737.00,3738.00,3736.00,3737.00,926,0
+2006-02-02,10:50:00,3737.00,3737.00,3736.00,3736.00,259,0
+2006-02-02,10:51:00,3736.00,3736.00,3736.00,3736.00,397,0
+2006-02-02,10:52:00,3736.00,3736.00,3735.00,3735.00,445,0
+2006-02-02,10:53:00,3735.00,3736.00,3735.00,3736.00,666,0
+2006-02-02,10:54:00,3736.00,3736.00,3735.00,3735.00,80,0
+2006-02-02,10:55:00,3735.00,3735.00,3734.00,3735.00,2554,0
+2006-02-02,10:56:00,3735.00,3737.00,3735.00,3737.00,484,0
+2006-02-02,10:57:00,3736.00,3736.00,3735.00,3735.00,1405,0
+2006-02-02,10:58:00,3735.00,3736.00,3734.00,3735.00,1308,0
+2006-02-02,10:59:00,3735.00,3735.00,3735.00,3735.00,42,0
+2006-02-02,11:00:00,3735.00,3735.00,3734.00,3734.00,169,0
+2006-02-02,11:01:00,3734.00,3735.00,3732.00,3733.00,5602,0
+2006-02-02,11:02:00,3732.00,3733.00,3731.00,3731.00,3936,0
+2006-02-02,11:03:00,3731.00,3732.00,3729.00,3729.00,1689,0
+2006-02-02,11:04:00,3729.00,3731.00,3727.00,3727.00,4017,0
+2006-02-02,11:05:00,3728.00,3728.00,3727.00,3727.00,1554,0
+2006-02-02,11:06:00,3728.00,3728.00,3725.00,3726.00,1689,0
+2006-02-02,11:07:00,3726.00,3729.00,3725.00,3728.00,5145,0
+2006-02-02,11:08:00,3729.00,3729.00,3727.00,3728.00,1559,0
+2006-02-02,11:09:00,3727.00,3727.00,3726.00,3726.00,1169,0
+2006-02-02,11:10:00,3725.00,3729.00,3725.00,3728.00,2305,0
+2006-02-02,11:11:00,3729.00,3729.00,3728.00,3729.00,882,0
+2006-02-02,11:12:00,3730.00,3731.00,3728.00,3728.00,2452,0
+2006-02-02,11:13:00,3728.00,3728.00,3727.00,3728.00,1425,0
+2006-02-02,11:14:00,3727.00,3728.00,3727.00,3728.00,316,0
+2006-02-02,11:15:00,3728.00,3729.00,3726.00,3726.00,1180,0
+2006-02-02,11:16:00,3726.00,3726.00,3724.00,3725.00,2908,0
+2006-02-02,11:17:00,3725.00,3726.00,3724.00,3725.00,1864,0
+2006-02-02,11:18:00,3725.00,3726.00,3725.00,3726.00,460,0
+2006-02-02,11:19:00,3726.00,3726.00,3724.00,3725.00,944,0
+2006-02-02,11:20:00,3725.00,3727.00,3725.00,3726.00,687,0
+2006-02-02,11:21:00,3727.00,3728.00,3726.00,3726.00,850,0
+2006-02-02,11:22:00,3726.00,3727.00,3726.00,3726.00,469,0
+2006-02-02,11:23:00,3726.00,3726.00,3725.00,3725.00,640,0
+2006-02-02,11:24:00,3726.00,3726.00,3724.00,3725.00,1856,0
+2006-02-02,11:25:00,3726.00,3727.00,3726.00,3726.00,1182,0
+2006-02-02,11:26:00,3726.00,3727.00,3726.00,3727.00,383,0
+2006-02-02,11:27:00,3727.00,3728.00,3727.00,3728.00,2104,0
+2006-02-02,11:28:00,3728.00,3729.00,3727.00,3728.00,798,0
+2006-02-02,11:29:00,3728.00,3729.00,3727.00,3728.00,6998,0
+2006-02-02,11:30:00,3728.00,3728.00,3727.00,3728.00,59,0
+2006-02-02,11:31:00,3728.00,3729.00,3727.00,3729.00,1241,0
+2006-02-02,11:32:00,3730.00,3730.00,3729.00,3730.00,1334,0
+2006-02-02,11:33:00,3730.00,3731.00,3729.00,3730.00,686,0
+2006-02-02,11:34:00,3730.00,3731.00,3730.00,3730.00,625,0
+2006-02-02,11:35:00,3731.00,3731.00,3731.00,3731.00,1105,0
+2006-02-02,11:36:00,3730.00,3731.00,3730.00,3731.00,716,0
+2006-02-02,11:37:00,3731.00,3733.00,3731.00,3733.00,1535,0
+2006-02-02,11:38:00,3732.00,3733.00,3731.00,3732.00,406,0
+2006-02-02,11:39:00,3732.00,3732.00,3731.00,3731.00,459,0
+2006-02-02,11:40:00,3731.00,3732.00,3731.00,3732.00,488,0
+2006-02-02,11:41:00,3731.00,3732.00,3730.00,3731.00,1972,0
+2006-02-02,11:42:00,3731.00,3731.00,3730.00,3730.00,217,0
+2006-02-02,11:43:00,3730.00,3731.00,3729.00,3731.00,858,0
+2006-02-02,11:44:00,3731.00,3731.00,3730.00,3731.00,109,0
+2006-02-02,11:45:00,3731.00,3731.00,3730.00,3731.00,161,0
+2006-02-02,11:46:00,3730.00,3731.00,3730.00,3731.00,42,0
+2006-02-02,11:47:00,3731.00,3731.00,3730.00,3730.00,309,0
+2006-02-02,11:48:00,3730.00,3731.00,3730.00,3730.00,196,0
+2006-02-02,11:49:00,3730.00,3730.00,3729.00,3730.00,286,0
+2006-02-02,11:50:00,3731.00,3731.00,3731.00,3731.00,1096,0
+2006-02-02,11:51:00,3731.00,3732.00,3731.00,3732.00,19,0
+2006-02-02,11:52:00,3732.00,3732.00,3732.00,3732.00,1070,0
+2006-02-02,11:53:00,3733.00,3734.00,3732.00,3734.00,795,0
+2006-02-02,11:54:00,3734.00,3734.00,3733.00,3734.00,923,0
+2006-02-02,11:55:00,3733.00,3734.00,3733.00,3733.00,423,0
+2006-02-02,11:56:00,3733.00,3734.00,3733.00,3733.00,133,0
+2006-02-02,11:57:00,3733.00,3734.00,3732.00,3732.00,1377,0
+2006-02-02,11:58:00,3732.00,3732.00,3730.00,3731.00,984,0
+2006-02-02,11:59:00,3731.00,3731.00,3729.00,3730.00,450,0
+2006-02-02,12:00:00,3730.00,3731.00,3730.00,3731.00,438,0
+2006-02-02,12:01:00,3731.00,3732.00,3731.00,3732.00,716,0
+2006-02-02,12:02:00,3732.00,3732.00,3731.00,3731.00,275,0
+2006-02-02,12:03:00,3731.00,3731.00,3728.00,3728.00,1113,0
+2006-02-02,12:04:00,3728.00,3729.00,3728.00,3728.00,267,0
+2006-02-02,12:05:00,3729.00,3729.00,3729.00,3729.00,609,0
+2006-02-02,12:06:00,3729.00,3729.00,3729.00,3729.00,86,0
+2006-02-02,12:07:00,3729.00,3729.00,3729.00,3729.00,3,0
+2006-02-02,12:08:00,3729.00,3729.00,3728.00,3728.00,201,0
+2006-02-02,12:09:00,3729.00,3729.00,3729.00,3729.00,28,0
+2006-02-02,12:10:00,3729.00,3730.00,3728.00,3730.00,837,0
+2006-02-02,12:11:00,3730.00,3730.00,3729.00,3730.00,1021,0
+2006-02-02,12:12:00,3730.00,3732.00,3730.00,3732.00,1121,0
+2006-02-02,12:13:00,3732.00,3732.00,3731.00,3731.00,868,0
+2006-02-02,12:14:00,3731.00,3733.00,3731.00,3732.00,247,0
+2006-02-02,12:15:00,3733.00,3733.00,3733.00,3733.00,1,0
+2006-02-02,12:16:00,3732.00,3734.00,3732.00,3733.00,549,0
+2006-02-02,12:17:00,3734.00,3734.00,3732.00,3733.00,221,0
+2006-02-02,12:18:00,3733.00,3733.00,3733.00,3733.00,1153,0
+2006-02-02,12:19:00,3733.00,3733.00,3732.00,3732.00,274,0
+2006-02-02,12:20:00,3732.00,3732.00,3731.00,3731.00,297,0
+2006-02-02,12:21:00,3731.00,3732.00,3731.00,3732.00,3178,0
+2006-02-02,12:22:00,3731.00,3731.00,3730.00,3731.00,405,0
+2006-02-02,12:23:00,3731.00,3731.00,3731.00,3731.00,106,0
+2006-02-02,12:24:00,3731.00,3732.00,3731.00,3732.00,1189,0
+2006-02-02,12:25:00,3732.00,3732.00,3731.00,3731.00,1239,0
+2006-02-02,12:26:00,3730.00,3730.00,3729.00,3730.00,2331,0
+2006-02-02,12:27:00,3729.00,3731.00,3729.00,3729.00,1921,0
+2006-02-02,12:28:00,3729.00,3729.00,3729.00,3729.00,604,0
+2006-02-02,12:29:00,3729.00,3729.00,3728.00,3729.00,448,0
+2006-02-02,12:30:00,3729.00,3729.00,3729.00,3729.00,167,0
+2006-02-02,12:31:00,3729.00,3730.00,3729.00,3730.00,2439,0
+2006-02-02,12:32:00,3730.00,3730.00,3728.00,3729.00,1784,0
+2006-02-02,12:33:00,3729.00,3729.00,3727.00,3728.00,592,0
+2006-02-02,12:34:00,3728.00,3729.00,3728.00,3729.00,251,0
+2006-02-02,12:35:00,3728.00,3729.00,3728.00,3729.00,300,0
+2006-02-02,12:36:00,3729.00,3730.00,3729.00,3730.00,950,0
+2006-02-02,12:37:00,3730.00,3731.00,3728.00,3729.00,452,0
+2006-02-02,12:38:00,3729.00,3729.00,3728.00,3729.00,226,0
+2006-02-02,12:39:00,3730.00,3730.00,3730.00,3730.00,236,0
+2006-02-02,12:40:00,3730.00,3730.00,3730.00,3730.00,126,0
+2006-02-02,12:41:00,3729.00,3729.00,3728.00,3728.00,3201,0
+2006-02-02,12:42:00,3729.00,3730.00,3729.00,3730.00,97,0
+2006-02-02,12:43:00,3730.00,3730.00,3730.00,3730.00,362,0
+2006-02-02,12:44:00,3730.00,3730.00,3730.00,3730.00,368,0
+2006-02-02,12:45:00,3730.00,3730.00,3730.00,3730.00,367,0
+2006-02-02,12:46:00,3729.00,3729.00,3729.00,3729.00,846,0
+2006-02-02,12:47:00,3729.00,3730.00,3729.00,3729.00,13,0
+2006-02-02,12:48:00,3729.00,3729.00,3728.00,3729.00,200,0
+2006-02-02,12:49:00,3730.00,3731.00,3729.00,3730.00,646,0
+2006-02-02,12:50:00,3730.00,3730.00,3729.00,3730.00,647,0
+2006-02-02,12:51:00,3730.00,3730.00,3730.00,3730.00,522,0
+2006-02-02,12:52:00,3730.00,3731.00,3730.00,3730.00,320,0
+2006-02-02,12:53:00,3730.00,3730.00,3729.00,3730.00,860,0
+2006-02-02,12:54:00,3729.00,3730.00,3729.00,3730.00,428,0
+2006-02-02,12:55:00,3730.00,3730.00,3730.00,3730.00,76,0
+2006-02-02,12:56:00,3730.00,3731.00,3730.00,3730.00,156,0
+2006-02-02,12:57:00,3731.00,3731.00,3731.00,3731.00,2120,0
+2006-02-02,12:58:00,3730.00,3731.00,3730.00,3731.00,1310,0
+2006-02-02,12:59:00,3731.00,3731.00,3730.00,3731.00,133,0
+2006-02-02,13:00:00,3731.00,3731.00,3730.00,3730.00,9,0
+2006-02-02,13:01:00,3730.00,3731.00,3730.00,3730.00,50,0
+2006-02-02,13:02:00,3730.00,3731.00,3730.00,3730.00,121,0
+2006-02-02,13:03:00,3730.00,3731.00,3730.00,3730.00,630,0
+2006-02-02,13:04:00,3730.00,3731.00,3730.00,3731.00,24,0
+2006-02-02,13:05:00,3731.00,3731.00,3730.00,3730.00,13,0
+2006-02-02,13:06:00,3731.00,3731.00,3730.00,3730.00,936,0
+2006-02-02,13:07:00,3730.00,3731.00,3730.00,3730.00,125,0
+2006-02-02,13:08:00,3730.00,3730.00,3730.00,3730.00,3,0
+2006-02-02,13:09:00,3730.00,3730.00,3729.00,3729.00,232,0
+2006-02-02,13:10:00,3729.00,3729.00,3728.00,3729.00,667,0
+2006-02-02,13:11:00,3729.00,3729.00,3728.00,3729.00,83,0
+2006-02-02,13:12:00,3729.00,3729.00,3729.00,3729.00,256,0
+2006-02-02,13:13:00,3729.00,3729.00,3729.00,3729.00,237,0
+2006-02-02,13:14:00,3729.00,3729.00,3729.00,3729.00,187,0
+2006-02-02,13:15:00,3729.00,3729.00,3729.00,3729.00,127,0
+2006-02-02,13:16:00,3730.00,3730.00,3728.00,3728.00,35,0
+2006-02-02,13:17:00,3729.00,3729.00,3729.00,3729.00,29,0
+2006-02-02,13:18:00,3728.00,3728.00,3728.00,3728.00,81,0
+2006-02-02,13:19:00,3728.00,3729.00,3728.00,3729.00,290,0
+2006-02-02,13:20:00,3729.00,3730.00,3729.00,3729.00,653,0
+2006-02-02,13:21:00,3729.00,3729.00,3729.00,3729.00,30,0
+2006-02-02,13:22:00,3729.00,3730.00,3727.00,3727.00,670,0
+2006-02-02,13:23:00,3727.00,3728.00,3727.00,3728.00,161,0
+2006-02-02,13:24:00,3728.00,3728.00,3727.00,3727.00,94,0
+2006-02-02,13:25:00,3727.00,3727.00,3727.00,3727.00,3,0
+2006-02-02,13:26:00,3728.00,3728.00,3727.00,3727.00,105,0
+2006-02-02,13:27:00,3727.00,3727.00,3726.00,3726.00,1627,0
+2006-02-02,13:28:00,3726.00,3727.00,3725.00,3726.00,744,0
+2006-02-02,13:29:00,3725.00,3725.00,3725.00,3725.00,42,0
+2006-02-02,13:30:00,3725.00,3725.00,3725.00,3725.00,201,0
+2006-02-02,13:31:00,3725.00,3726.00,3725.00,3725.00,68,0
+2006-02-02,13:32:00,3725.00,3725.00,3723.00,3724.00,2454,0
+2006-02-02,13:33:00,3723.00,3725.00,3723.00,3724.00,1609,0
+2006-02-02,13:34:00,3724.00,3725.00,3724.00,3724.00,1019,0
+2006-02-02,13:35:00,3724.00,3725.00,3724.00,3725.00,2250,0
+2006-02-02,13:36:00,3724.00,3725.00,3724.00,3724.00,498,0
+2006-02-02,13:37:00,3725.00,3725.00,3724.00,3725.00,434,0
+2006-02-02,13:38:00,3725.00,3725.00,3724.00,3724.00,232,0
+2006-02-02,13:39:00,3723.00,3725.00,3723.00,3723.00,2939,0
+2006-02-02,13:40:00,3723.00,3724.00,3722.00,3723.00,732,0
+2006-02-02,13:41:00,3723.00,3723.00,3723.00,3723.00,168,0
+2006-02-02,13:42:00,3724.00,3724.00,3723.00,3723.00,1005,0
+2006-02-02,13:43:00,3723.00,3723.00,3722.00,3723.00,309,0
+2006-02-02,13:44:00,3722.00,3723.00,3722.00,3723.00,472,0
+2006-02-02,13:45:00,3723.00,3723.00,3723.00,3723.00,998,0
+2006-02-02,13:46:00,3723.00,3726.00,3722.00,3726.00,2558,0
+2006-02-02,13:47:00,3726.00,3727.00,3724.00,3726.00,1206,0
+2006-02-02,13:48:00,3725.00,3726.00,3725.00,3726.00,432,0
+2006-02-02,13:49:00,3726.00,3727.00,3725.00,3725.00,188,0
+2006-02-02,13:50:00,3725.00,3727.00,3725.00,3727.00,272,0
+2006-02-02,13:51:00,3727.00,3727.00,3726.00,3727.00,641,0
+2006-02-02,13:52:00,3727.00,3727.00,3726.00,3727.00,228,0
+2006-02-02,13:53:00,3728.00,3730.00,3728.00,3730.00,2322,0
+2006-02-02,13:54:00,3729.00,3731.00,3729.00,3729.00,1097,0
+2006-02-02,13:55:00,3730.00,3732.00,3730.00,3732.00,968,0
+2006-02-02,13:56:00,3731.00,3732.00,3730.00,3730.00,860,0
+2006-02-02,13:57:00,3729.00,3730.00,3729.00,3730.00,12,0
+2006-02-02,13:58:00,3730.00,3731.00,3730.00,3731.00,369,0
+2006-02-02,13:59:00,3730.00,3731.00,3730.00,3730.00,165,0
+2006-02-02,14:00:00,3730.00,3730.00,3729.00,3729.00,726,0
+2006-02-02,14:01:00,3729.00,3730.00,3728.00,3729.00,1121,0
+2006-02-02,14:02:00,3729.00,3730.00,3729.00,3729.00,309,0
+2006-02-02,14:03:00,3729.00,3729.00,3729.00,3729.00,105,0
+2006-02-02,14:04:00,3729.00,3729.00,3728.00,3729.00,147,0
+2006-02-02,14:05:00,3728.00,3729.00,3728.00,3728.00,22,0
+2006-02-02,14:06:00,3728.00,3729.00,3728.00,3729.00,398,0
+2006-02-02,14:07:00,3729.00,3730.00,3729.00,3730.00,911,0
+2006-02-02,14:08:00,3730.00,3731.00,3729.00,3730.00,264,0
+2006-02-02,14:09:00,3729.00,3730.00,3729.00,3730.00,244,0
+2006-02-02,14:10:00,3730.00,3731.00,3730.00,3730.00,463,0
+2006-02-02,14:11:00,3730.00,3731.00,3729.00,3731.00,385,0
+2006-02-02,14:12:00,3730.00,3731.00,3730.00,3731.00,707,0
+2006-02-02,14:13:00,3730.00,3731.00,3730.00,3731.00,65,0
+2006-02-02,14:14:00,3730.00,3731.00,3730.00,3731.00,11,0
+2006-02-02,14:15:00,3730.00,3731.00,3730.00,3730.00,71,0
+2006-02-02,14:16:00,3730.00,3731.00,3729.00,3730.00,261,0
+2006-02-02,14:17:00,3729.00,3730.00,3729.00,3729.00,173,0
+2006-02-02,14:18:00,3728.00,3728.00,3727.00,3728.00,290,0
+2006-02-02,14:19:00,3729.00,3729.00,3728.00,3728.00,386,0
+2006-02-02,14:20:00,3728.00,3728.00,3727.00,3727.00,516,0
+2006-02-02,14:21:00,3728.00,3728.00,3728.00,3728.00,80,0
+2006-02-02,14:22:00,3728.00,3728.00,3727.00,3728.00,92,0
+2006-02-02,14:23:00,3727.00,3727.00,3727.00,3727.00,3,0
+2006-02-02,14:24:00,3728.00,3728.00,3727.00,3728.00,439,0
+2006-02-02,14:25:00,3728.00,3728.00,3727.00,3728.00,15,0
+2006-02-02,14:26:00,3727.00,3728.00,3727.00,3728.00,3,0
+2006-02-02,14:27:00,3728.00,3729.00,3727.00,3729.00,428,0
+2006-02-02,14:28:00,3728.00,3728.00,3728.00,3728.00,243,0
+2006-02-02,14:29:00,3728.00,3728.00,3728.00,3728.00,9,0
+2006-02-02,14:30:00,3728.00,3730.00,3728.00,3730.00,731,0
+2006-02-02,14:31:00,3730.00,3731.00,3728.00,3729.00,2253,0
+2006-02-02,14:32:00,3729.00,3730.00,3729.00,3729.00,1474,0
+2006-02-02,14:33:00,3728.00,3728.00,3726.00,3728.00,3087,0
+2006-02-02,14:34:00,3728.00,3728.00,3727.00,3728.00,676,0
+2006-02-02,14:35:00,3728.00,3728.00,3727.00,3728.00,309,0
+2006-02-02,14:36:00,3727.00,3728.00,3727.00,3728.00,62,0
+2006-02-02,14:37:00,3727.00,3728.00,3727.00,3728.00,1441,0
+2006-02-02,14:38:00,3728.00,3728.00,3727.00,3728.00,31,0
+2006-02-02,14:39:00,3728.00,3730.00,3727.00,3730.00,990,0
+2006-02-02,14:40:00,3729.00,3730.00,3727.00,3728.00,943,0
+2006-02-02,14:41:00,3727.00,3728.00,3727.00,3728.00,12,0
+2006-02-02,14:42:00,3728.00,3728.00,3727.00,3728.00,202,0
+2006-02-02,14:43:00,3729.00,3729.00,3728.00,3728.00,382,0
+2006-02-02,14:44:00,3728.00,3728.00,3728.00,3728.00,316,0
+2006-02-02,14:45:00,3728.00,3728.00,3727.00,3728.00,463,0
+2006-02-02,14:46:00,3729.00,3729.00,3728.00,3728.00,275,0
+2006-02-02,14:47:00,3729.00,3729.00,3728.00,3729.00,89,0
+2006-02-02,14:48:00,3729.00,3729.00,3728.00,3729.00,327,0
+2006-02-02,14:49:00,3729.00,3730.00,3729.00,3729.00,54,0
+2006-02-02,14:50:00,3729.00,3729.00,3728.00,3728.00,147,0
+2006-02-02,14:51:00,3729.00,3729.00,3728.00,3729.00,45,0
+2006-02-02,14:52:00,3728.00,3729.00,3728.00,3729.00,437,0
+2006-02-02,14:53:00,3729.00,3730.00,3728.00,3730.00,298,0
+2006-02-02,14:54:00,3730.00,3730.00,3730.00,3730.00,325,0
+2006-02-02,14:55:00,3730.00,3731.00,3730.00,3731.00,157,0
+2006-02-02,14:56:00,3731.00,3731.00,3730.00,3730.00,229,0
+2006-02-02,14:57:00,3730.00,3730.00,3730.00,3730.00,205,0
+2006-02-02,14:58:00,3730.00,3731.00,3730.00,3731.00,42,0
+2006-02-02,14:59:00,3731.00,3733.00,3731.00,3733.00,1916,0
+2006-02-02,15:00:00,3733.00,3733.00,3731.00,3732.00,5439,0
+2006-02-02,15:01:00,3731.00,3733.00,3730.00,3733.00,1007,0
+2006-02-02,15:02:00,3732.00,3733.00,3732.00,3733.00,407,0
+2006-02-02,15:03:00,3733.00,3733.00,3732.00,3732.00,239,0
+2006-02-02,15:04:00,3732.00,3734.00,3732.00,3734.00,345,0
+2006-02-02,15:05:00,3733.00,3734.00,3733.00,3734.00,213,0
+2006-02-02,15:06:00,3733.00,3735.00,3733.00,3734.00,979,0
+2006-02-02,15:07:00,3734.00,3734.00,3732.00,3732.00,346,0
+2006-02-02,15:08:00,3732.00,3733.00,3732.00,3733.00,291,0
+2006-02-02,15:09:00,3733.00,3734.00,3733.00,3734.00,285,0
+2006-02-02,15:10:00,3734.00,3734.00,3732.00,3732.00,5745,0
+2006-02-02,15:11:00,3733.00,3733.00,3731.00,3731.00,260,0
+2006-02-02,15:12:00,3731.00,3732.00,3730.00,3730.00,754,0
+2006-02-02,15:13:00,3731.00,3731.00,3730.00,3730.00,322,0
+2006-02-02,15:14:00,3730.00,3730.00,3730.00,3730.00,450,0
+2006-02-02,15:15:00,3730.00,3731.00,3730.00,3731.00,53,0
+2006-02-02,15:16:00,3731.00,3731.00,3730.00,3730.00,337,0
+2006-02-02,15:17:00,3731.00,3731.00,3730.00,3731.00,92,0
+2006-02-02,15:18:00,3731.00,3731.00,3731.00,3731.00,17,0
+2006-02-02,15:19:00,3730.00,3731.00,3730.00,3731.00,506,0
+2006-02-02,15:20:00,3731.00,3732.00,3730.00,3731.00,154,0
+2006-02-02,15:21:00,3731.00,3732.00,3731.00,3731.00,196,0
+2006-02-02,15:22:00,3731.00,3731.00,3731.00,3731.00,261,0
+2006-02-02,15:23:00,3730.00,3732.00,3730.00,3731.00,303,0
+2006-02-02,15:25:00,3732.00,3732.00,3731.00,3732.00,190,0
+2006-02-02,15:26:00,3732.00,3732.00,3731.00,3732.00,425,0
+2006-02-02,15:27:00,3731.00,3732.00,3731.00,3732.00,174,0
+2006-02-02,15:28:00,3732.00,3732.00,3730.00,3731.00,609,0
+2006-02-02,15:29:00,3731.00,3731.00,3731.00,3731.00,285,0
+2006-02-02,15:30:00,3732.00,3733.00,3731.00,3733.00,348,0
+2006-02-02,15:31:00,3732.00,3733.00,3732.00,3733.00,675,0
+2006-02-02,15:32:00,3733.00,3733.00,3732.00,3733.00,46,0
+2006-02-02,15:33:00,3732.00,3732.00,3731.00,3732.00,289,0
+2006-02-02,15:34:00,3731.00,3733.00,3731.00,3733.00,1143,0
+2006-02-02,15:35:00,3733.00,3734.00,3732.00,3732.00,1695,0
+2006-02-02,15:36:00,3731.00,3732.00,3731.00,3732.00,1318,0
+2006-02-02,15:37:00,3732.00,3732.00,3730.00,3731.00,294,0
+2006-02-02,15:38:00,3731.00,3731.00,3727.00,3728.00,1704,0
+2006-02-02,15:39:00,3728.00,3729.00,3727.00,3729.00,3513,0
+2006-02-02,15:40:00,3729.00,3729.00,3724.00,3724.00,3039,0
+2006-02-02,15:41:00,3723.00,3727.00,3723.00,3726.00,1944,0
+2006-02-02,15:42:00,3727.00,3727.00,3724.00,3725.00,1590,0
+2006-02-02,15:43:00,3726.00,3727.00,3723.00,3726.00,1738,0
+2006-02-02,15:44:00,3725.00,3726.00,3724.00,3725.00,812,0
+2006-02-02,15:45:00,3725.00,3727.00,3724.00,3727.00,1167,0
+2006-02-02,15:46:00,3726.00,3728.00,3725.00,3725.00,3556,0
+2006-02-02,15:47:00,3726.00,3728.00,3724.00,3727.00,2380,0
+2006-02-02,15:48:00,3727.00,3730.00,3727.00,3729.00,2796,0
+2006-02-02,15:49:00,3730.00,3730.00,3728.00,3730.00,1970,0
+2006-02-02,15:50:00,3730.00,3731.00,3728.00,3729.00,1879,0
+2006-02-02,15:51:00,3730.00,3730.00,3728.00,3729.00,347,0
+2006-02-02,15:52:00,3729.00,3730.00,3728.00,3730.00,475,0
+2006-02-02,15:53:00,3730.00,3731.00,3728.00,3729.00,1671,0
+2006-02-02,15:54:00,3728.00,3729.00,3728.00,3729.00,3362,0
+2006-02-02,15:55:00,3728.00,3732.00,3728.00,3731.00,2352,0
+2006-02-02,15:56:00,3731.00,3731.00,3730.00,3731.00,421,0
+2006-02-02,15:57:00,3731.00,3732.00,3729.00,3731.00,985,0
+2006-02-02,15:58:00,3731.00,3731.00,3729.00,3730.00,1154,0
+2006-02-02,15:59:00,3730.00,3731.00,3730.00,3730.00,1249,0
+2006-02-02,16:00:00,3730.00,3731.00,3728.00,3728.00,1548,0
+2006-02-02,16:01:00,3728.00,3729.00,3727.00,3727.00,1388,0
+2006-02-02,16:02:00,3728.00,3728.00,3725.00,3726.00,1186,0
+2006-02-02,16:03:00,3727.00,3727.00,3724.00,3724.00,919,0
+2006-02-02,16:04:00,3725.00,3728.00,3725.00,3727.00,1598,0
+2006-02-02,16:05:00,3727.00,3728.00,3726.00,3728.00,1259,0
+2006-02-02,16:06:00,3729.00,3729.00,3726.00,3727.00,1310,0
+2006-02-02,16:07:00,3727.00,3728.00,3725.00,3728.00,1714,0
+2006-02-02,16:08:00,3729.00,3732.00,3729.00,3732.00,1348,0
+2006-02-02,16:09:00,3732.00,3732.00,3730.00,3731.00,825,0
+2006-02-02,16:10:00,3730.00,3731.00,3730.00,3731.00,2377,0
+2006-02-02,16:11:00,3731.00,3732.00,3730.00,3732.00,796,0
+2006-02-02,16:12:00,3731.00,3733.00,3731.00,3732.00,1779,0
+2006-02-02,16:13:00,3732.00,3736.00,3731.00,3735.00,3571,0
+2006-02-02,16:14:00,3735.00,3737.00,3733.00,3734.00,2587,0
+2006-02-02,16:15:00,3734.00,3734.00,3731.00,3732.00,1744,0
+2006-02-02,16:16:00,3731.00,3731.00,3729.00,3731.00,2988,0
+2006-02-02,16:17:00,3732.00,3733.00,3732.00,3733.00,1273,0
+2006-02-02,16:18:00,3733.00,3734.00,3732.00,3733.00,914,0
+2006-02-02,16:19:00,3732.00,3732.00,3730.00,3731.00,1576,0
+2006-02-02,16:20:00,3731.00,3733.00,3731.00,3732.00,1456,0
+2006-02-02,16:21:00,3732.00,3733.00,3731.00,3732.00,1468,0
+2006-02-02,16:22:00,3731.00,3731.00,3726.00,3727.00,3502,0
+2006-02-02,16:23:00,3726.00,3729.00,3726.00,3727.00,2779,0
+2006-02-02,16:24:00,3728.00,3731.00,3726.00,3729.00,3130,0
+2006-02-02,16:25:00,3729.00,3730.00,3729.00,3730.00,1212,0
+2006-02-02,16:26:00,3730.00,3730.00,3729.00,3730.00,2661,0
+2006-02-02,16:27:00,3731.00,3732.00,3729.00,3730.00,2977,0
+2006-02-02,16:28:00,3730.00,3731.00,3730.00,3731.00,584,0
+2006-02-02,16:29:00,3731.00,3731.00,3729.00,3729.00,782,0
+2006-02-02,16:30:00,3729.00,3730.00,3727.00,3728.00,828,0
+2006-02-02,16:31:00,3727.00,3729.00,3726.00,3728.00,1339,0
+2006-02-02,16:32:00,3729.00,3730.00,3728.00,3728.00,858,0
+2006-02-02,16:33:00,3728.00,3729.00,3727.00,3728.00,1191,0
+2006-02-02,16:34:00,3728.00,3728.00,3725.00,3727.00,2535,0
+2006-02-02,16:35:00,3727.00,3728.00,3725.00,3727.00,3027,0
+2006-02-02,16:36:00,3727.00,3727.00,3723.00,3723.00,2628,0
+2006-02-02,16:37:00,3724.00,3726.00,3723.00,3723.00,6476,0
+2006-02-02,16:38:00,3724.00,3724.00,3721.00,3722.00,3243,0
+2006-02-02,16:39:00,3723.00,3725.00,3722.00,3723.00,2178,0
+2006-02-02,16:40:00,3723.00,3724.00,3722.00,3724.00,1717,0
+2006-02-02,16:41:00,3724.00,3725.00,3722.00,3724.00,1771,0
+2006-02-02,16:42:00,3725.00,3726.00,3721.00,3723.00,2446,0
+2006-02-02,16:43:00,3723.00,3723.00,3722.00,3722.00,1118,0
+2006-02-02,16:44:00,3722.00,3722.00,3719.00,3720.00,4854,0
+2006-02-02,16:45:00,3720.00,3722.00,3718.00,3720.00,6419,0
+2006-02-02,16:46:00,3719.00,3720.00,3716.00,3716.00,6159,0
+2006-02-02,16:47:00,3717.00,3719.00,3716.00,3716.00,2933,0
+2006-02-02,16:48:00,3716.00,3718.00,3716.00,3718.00,2079,0
+2006-02-02,16:49:00,3718.00,3719.00,3716.00,3717.00,4971,0
+2006-02-02,16:50:00,3717.00,3719.00,3716.00,3716.00,1625,0
+2006-02-02,16:51:00,3716.00,3717.00,3714.00,3714.00,3548,0
+2006-02-02,16:52:00,3714.00,3716.00,3713.00,3715.00,2276,0
+2006-02-02,16:53:00,3716.00,3716.00,3714.00,3715.00,2343,0
+2006-02-02,16:54:00,3716.00,3717.00,3716.00,3717.00,2608,0
+2006-02-02,16:55:00,3717.00,3718.00,3716.00,3718.00,1180,0
+2006-02-02,16:56:00,3718.00,3718.00,3716.00,3717.00,1568,0
+2006-02-02,16:57:00,3717.00,3717.00,3716.00,3716.00,1091,0
+2006-02-02,16:58:00,3716.00,3716.00,3714.00,3715.00,1973,0
+2006-02-02,16:59:00,3715.00,3716.00,3714.00,3714.00,1079,0
+2006-02-02,17:00:00,3714.00,3714.00,3710.00,3711.00,7384,0
+2006-02-02,17:01:00,3711.00,3711.00,3708.00,3708.00,6848,0
+2006-02-02,17:02:00,3708.00,3709.00,3705.00,3705.00,7039,0
+2006-02-02,17:03:00,3705.00,3707.00,3705.00,3706.00,4358,0
+2006-02-02,17:04:00,3706.00,3707.00,3704.00,3705.00,5300,0
+2006-02-02,17:05:00,3705.00,3707.00,3705.00,3706.00,4660,0
+2006-02-02,17:06:00,3706.00,3706.00,3702.00,3702.00,5217,0
+2006-02-02,17:07:00,3702.00,3704.00,3696.00,3698.00,12687,0
+2006-02-02,17:08:00,3698.00,3699.00,3694.00,3695.00,6921,0
+2006-02-02,17:09:00,3694.00,3696.00,3692.00,3696.00,9465,0
+2006-02-02,17:10:00,3695.00,3696.00,3692.00,3693.00,5480,0
+2006-02-02,17:11:00,3694.00,3696.00,3692.00,3696.00,5793,0
+2006-02-02,17:12:00,3696.00,3699.00,3696.00,3699.00,5957,0
+2006-02-02,17:13:00,3698.00,3701.00,3698.00,3700.00,8122,0
+2006-02-02,17:14:00,3701.00,3702.00,3700.00,3702.00,2110,0
+2006-02-02,17:15:00,3701.00,3702.00,3700.00,3700.00,5261,0
+2006-02-02,17:16:00,3700.00,3700.00,3698.00,3698.00,2868,0
+2006-02-02,17:17:00,3698.00,3699.00,3695.00,3695.00,3354,0
+2006-02-02,17:18:00,3695.00,3696.00,3694.00,3695.00,3111,0
+2006-02-02,17:19:00,3695.00,3698.00,3695.00,3698.00,3549,0
+2006-02-02,17:20:00,3698.00,3698.00,3696.00,3697.00,2810,0
+2006-02-02,17:21:00,3698.00,3699.00,3697.00,3698.00,1645,0
+2006-02-02,17:22:00,3697.00,3697.00,3694.00,3694.00,2778,0
+2006-02-02,17:23:00,3695.00,3696.00,3694.00,3695.00,2657,0
+2006-02-02,17:24:00,3694.00,3695.00,3692.00,3692.00,3207,0
+2006-02-02,17:25:00,3692.00,3694.00,3691.00,3693.00,6451,0
+2006-02-02,17:26:00,3694.00,3694.00,3687.00,3687.00,9175,0
+2006-02-02,17:27:00,3687.00,3687.00,3684.00,3686.00,8848,0
+2006-02-02,17:28:00,3685.00,3689.00,3684.00,3687.00,5460,0
+2006-02-02,17:29:00,3687.00,3688.00,3685.00,3688.00,4061,0
+2006-02-02,17:30:00,3688.00,3688.00,3684.00,3685.00,5397,0
+2006-02-02,17:31:00,3685.00,3687.00,3683.00,3687.00,7789,0
+2006-02-02,17:32:00,3687.00,3688.00,3686.00,3688.00,4416,0
+2006-02-02,17:33:00,3687.00,3688.00,3686.00,3687.00,4144,0
+2006-02-02,17:34:00,3687.00,3687.00,3685.00,3685.00,1636,0
+2006-02-02,17:35:00,3685.00,3688.00,3685.00,3687.00,2672,0
+2006-02-02,17:36:00,3688.00,3688.00,3685.00,3686.00,2676,0
+2006-02-02,17:37:00,3686.00,3688.00,3686.00,3687.00,1919,0
+2006-02-02,17:38:00,3688.00,3689.00,3687.00,3688.00,1234,0
+2006-02-02,17:39:00,3688.00,3689.00,3688.00,3689.00,1200,0
+2006-02-02,17:40:00,3689.00,3691.00,3689.00,3690.00,3172,0
+2006-02-02,17:41:00,3690.00,3692.00,3690.00,3691.00,2141,0
+2006-02-02,17:42:00,3691.00,3691.00,3690.00,3691.00,1035,0
+2006-02-02,17:43:00,3691.00,3691.00,3689.00,3689.00,1986,0
+2006-02-02,17:44:00,3690.00,3690.00,3689.00,3689.00,1990,0
+2006-02-02,17:45:00,3688.00,3688.00,3686.00,3687.00,1793,0
+2006-02-02,17:46:00,3687.00,3689.00,3687.00,3689.00,1273,0
+2006-02-02,17:47:00,3689.00,3690.00,3689.00,3690.00,1063,0
+2006-02-02,17:48:00,3690.00,3692.00,3690.00,3690.00,1478,0
+2006-02-02,17:49:00,3691.00,3691.00,3690.00,3690.00,570,0
+2006-02-02,17:50:00,3690.00,3691.00,3690.00,3691.00,1357,0
+2006-02-02,17:51:00,3691.00,3692.00,3691.00,3691.00,959,0
+2006-02-02,17:52:00,3690.00,3691.00,3689.00,3689.00,995,0
+2006-02-02,17:53:00,3690.00,3690.00,3689.00,3689.00,1018,0
+2006-02-02,17:54:00,3689.00,3690.00,3687.00,3687.00,690,0
+2006-02-02,17:55:00,3687.00,3688.00,3686.00,3687.00,1167,0
+2006-02-02,17:56:00,3688.00,3689.00,3688.00,3688.00,624,0
+2006-02-02,17:57:00,3688.00,3688.00,3686.00,3686.00,1194,0
+2006-02-02,17:58:00,3686.00,3687.00,3685.00,3687.00,1173,0
+2006-02-02,17:59:00,3686.00,3686.00,3686.00,3686.00,642,0
+2006-02-02,18:00:00,3686.00,3687.00,3685.00,3686.00,1026,0
+2006-02-02,18:01:00,3686.00,3686.00,3685.00,3685.00,222,0
+2006-02-02,18:02:00,3685.00,3688.00,3685.00,3688.00,1066,0
+2006-02-02,18:03:00,3688.00,3688.00,3686.00,3686.00,1386,0
+2006-02-02,18:04:00,3686.00,3691.00,3686.00,3690.00,2231,0
+2006-02-02,18:05:00,3690.00,3691.00,3689.00,3689.00,965,0
+2006-02-02,18:06:00,3690.00,3691.00,3689.00,3690.00,1849,0
+2006-02-02,18:07:00,3690.00,3692.00,3690.00,3691.00,1984,0
+2006-02-02,18:08:00,3691.00,3694.00,3691.00,3693.00,2614,0
+2006-02-02,18:09:00,3694.00,3694.00,3691.00,3691.00,925,0
+2006-02-02,18:10:00,3690.00,3690.00,3689.00,3690.00,1190,0
+2006-02-02,18:11:00,3689.00,3689.00,3687.00,3689.00,1410,0
+2006-02-02,18:12:00,3688.00,3688.00,3686.00,3686.00,1860,0
+2006-02-02,18:13:00,3687.00,3688.00,3686.00,3687.00,1550,0
+2006-02-02,18:14:00,3687.00,3687.00,3686.00,3686.00,414,0
+2006-02-02,18:15:00,3686.00,3688.00,3686.00,3688.00,667,0
+2006-02-02,18:16:00,3688.00,3689.00,3688.00,3688.00,689,0
+2006-02-02,18:17:00,3688.00,3688.00,3686.00,3688.00,573,0
+2006-02-02,18:18:00,3688.00,3688.00,3687.00,3688.00,44,0
+2006-02-02,18:19:00,3688.00,3688.00,3687.00,3688.00,306,0
+2006-02-02,18:20:00,3688.00,3688.00,3686.00,3688.00,232,0
+2006-02-02,18:21:00,3687.00,3688.00,3687.00,3687.00,269,0
+2006-02-02,18:22:00,3687.00,3688.00,3687.00,3687.00,3421,0
+2006-02-02,18:23:00,3687.00,3687.00,3687.00,3687.00,523,0
+2006-02-02,18:24:00,3687.00,3687.00,3686.00,3686.00,701,0
+2006-02-02,18:25:00,3686.00,3687.00,3685.00,3686.00,367,0
+2006-02-02,18:26:00,3686.00,3686.00,3684.00,3685.00,2205,0
+2006-02-02,18:27:00,3685.00,3685.00,3682.00,3682.00,2951,0
+2006-02-02,18:28:00,3682.00,3683.00,3682.00,3683.00,1304,0
+2006-02-02,18:29:00,3682.00,3684.00,3682.00,3683.00,769,0
+2006-02-02,18:30:00,3683.00,3684.00,3683.00,3684.00,280,0
+2006-02-02,18:31:00,3685.00,3685.00,3682.00,3682.00,404,0
+2006-02-02,18:32:00,3682.00,3683.00,3682.00,3683.00,92,0
+2006-02-02,18:33:00,3683.00,3684.00,3682.00,3682.00,1474,0
+2006-02-02,18:34:00,3681.00,3682.00,3681.00,3681.00,1002,0
+2006-02-02,18:35:00,3681.00,3683.00,3681.00,3683.00,1426,0
+2006-02-02,18:36:00,3683.00,3685.00,3683.00,3684.00,735,0
+2006-02-02,18:37:00,3685.00,3685.00,3684.00,3684.00,339,0
+2006-02-02,18:38:00,3684.00,3684.00,3682.00,3683.00,336,0
+2006-02-02,18:39:00,3683.00,3684.00,3683.00,3684.00,437,0
+2006-02-02,18:40:00,3684.00,3684.00,3683.00,3683.00,156,0
+2006-02-02,18:41:00,3683.00,3683.00,3683.00,3683.00,48,0
+2006-02-02,18:42:00,3683.00,3685.00,3683.00,3685.00,341,0
+2006-02-02,18:43:00,3684.00,3684.00,3683.00,3683.00,324,0
+2006-02-02,18:44:00,3683.00,3684.00,3683.00,3684.00,278,0
+2006-02-02,18:45:00,3685.00,3686.00,3684.00,3686.00,323,0
+2006-02-02,18:46:00,3685.00,3686.00,3685.00,3686.00,287,0
+2006-02-02,18:47:00,3686.00,3687.00,3686.00,3686.00,125,0
+2006-02-02,18:48:00,3686.00,3686.00,3685.00,3685.00,548,0
+2006-02-02,18:49:00,3685.00,3686.00,3685.00,3686.00,381,0
+2006-02-02,18:50:00,3686.00,3686.00,3686.00,3686.00,81,0
+2006-02-02,18:51:00,3686.00,3687.00,3686.00,3687.00,257,0
+2006-02-02,18:52:00,3687.00,3688.00,3687.00,3688.00,84,0
+2006-02-02,18:53:00,3688.00,3688.00,3687.00,3687.00,303,0
+2006-02-02,18:54:00,3687.00,3687.00,3686.00,3687.00,486,0
+2006-02-02,18:55:00,3687.00,3687.00,3687.00,3687.00,73,0
+2006-02-02,18:56:00,3688.00,3688.00,3687.00,3688.00,351,0
+2006-02-02,18:57:00,3688.00,3688.00,3687.00,3687.00,102,0
+2006-02-02,18:58:00,3687.00,3687.00,3686.00,3686.00,139,0
+2006-02-02,18:59:00,3686.00,3687.00,3685.00,3685.00,385,0
+2006-02-02,19:00:00,3685.00,3685.00,3685.00,3685.00,406,0
+2006-02-02,19:01:00,3684.00,3685.00,3683.00,3683.00,302,0
+2006-02-02,19:02:00,3683.00,3684.00,3683.00,3683.00,208,0
+2006-02-02,19:03:00,3684.00,3685.00,3684.00,3685.00,185,0
+2006-02-02,19:04:00,3685.00,3685.00,3684.00,3685.00,54,0
+2006-02-02,19:05:00,3686.00,3686.00,3684.00,3684.00,132,0
+2006-02-02,19:06:00,3684.00,3684.00,3683.00,3683.00,105,0
+2006-02-02,19:07:00,3683.00,3684.00,3683.00,3684.00,126,0
+2006-02-02,19:08:00,3683.00,3683.00,3682.00,3682.00,670,0
+2006-02-02,19:09:00,3682.00,3683.00,3681.00,3683.00,125,0
+2006-02-02,19:10:00,3683.00,3683.00,3683.00,3683.00,91,0
+2006-02-02,19:11:00,3684.00,3684.00,3684.00,3684.00,73,0
+2006-02-02,19:12:00,3685.00,3685.00,3684.00,3684.00,319,0
+2006-02-02,19:13:00,3684.00,3685.00,3683.00,3684.00,327,0
+2006-02-02,19:14:00,3684.00,3684.00,3683.00,3683.00,248,0
+2006-02-02,19:15:00,3683.00,3685.00,3683.00,3685.00,160,0
+2006-02-02,19:16:00,3685.00,3685.00,3685.00,3685.00,51,0
+2006-02-02,19:17:00,3684.00,3684.00,3684.00,3684.00,77,0
+2006-02-02,19:18:00,3684.00,3684.00,3684.00,3684.00,170,0
+2006-02-02,19:19:00,3684.00,3684.00,3684.00,3684.00,172,0
+2006-02-02,19:20:00,3684.00,3684.00,3682.00,3682.00,177,0
+2006-02-02,19:21:00,3682.00,3684.00,3682.00,3684.00,726,0
+2006-02-02,19:22:00,3684.00,3684.00,3683.00,3684.00,77,0
+2006-02-02,19:23:00,3684.00,3684.00,3683.00,3683.00,358,0
+2006-02-02,19:24:00,3683.00,3684.00,3683.00,3684.00,799,0
+2006-02-02,19:25:00,3684.00,3686.00,3684.00,3685.00,307,0
+2006-02-02,19:26:00,3685.00,3685.00,3684.00,3684.00,199,0
+2006-02-02,19:27:00,3685.00,3685.00,3684.00,3684.00,371,0
+2006-02-02,19:28:00,3684.00,3684.00,3683.00,3683.00,430,0
+2006-02-02,19:29:00,3683.00,3683.00,3682.00,3683.00,880,0
+2006-02-02,19:30:00,3682.00,3683.00,3682.00,3683.00,402,0
+2006-02-02,19:31:00,3683.00,3684.00,3683.00,3683.00,239,0
+2006-02-02,19:32:00,3683.00,3683.00,3682.00,3682.00,293,0
+2006-02-02,19:33:00,3682.00,3682.00,3679.00,3680.00,1941,0
+2006-02-02,19:34:00,3679.00,3679.00,3678.00,3679.00,1542,0
+2006-02-02,19:35:00,3679.00,3679.00,3678.00,3679.00,597,0
+2006-02-02,19:36:00,3679.00,3679.00,3677.00,3678.00,2269,0
+2006-02-02,19:37:00,3679.00,3680.00,3679.00,3679.00,454,0
+2006-02-02,19:38:00,3678.00,3678.00,3677.00,3677.00,432,0
+2006-02-02,19:39:00,3676.00,3678.00,3676.00,3678.00,716,0
+2006-02-02,19:40:00,3678.00,3679.00,3678.00,3679.00,379,0
+2006-02-02,19:41:00,3678.00,3678.00,3677.00,3677.00,181,0
+2006-02-02,19:42:00,3676.00,3677.00,3675.00,3676.00,643,0
+2006-02-02,19:43:00,3677.00,3678.00,3677.00,3678.00,423,0
+2006-02-02,19:44:00,3677.00,3678.00,3677.00,3678.00,298,0
+2006-02-02,19:45:00,3678.00,3679.00,3675.00,3677.00,195,0
+2006-02-02,19:46:00,3677.00,3677.00,3676.00,3677.00,96,0
+2006-02-02,19:47:00,3677.00,3677.00,3677.00,3677.00,153,0
+2006-02-02,19:48:00,3678.00,3679.00,3678.00,3679.00,234,0
+2006-02-02,19:49:00,3679.00,3680.00,3679.00,3679.00,79,0
+2006-02-02,19:50:00,3679.00,3679.00,3677.00,3678.00,259,0
+2006-02-02,19:51:00,3678.00,3679.00,3678.00,3678.00,273,0
+2006-02-02,19:52:00,3679.00,3679.00,3678.00,3678.00,408,0
+2006-02-02,19:53:00,3679.00,3679.00,3676.00,3678.00,1044,0
+2006-02-02,19:54:00,3679.00,3679.00,3678.00,3679.00,79,0
+2006-02-02,19:55:00,3679.00,3679.00,3679.00,3679.00,35,0
+2006-02-02,19:56:00,3679.00,3679.00,3678.00,3678.00,421,0
+2006-02-02,19:57:00,3677.00,3678.00,3677.00,3678.00,84,0
+2006-02-02,19:58:00,3679.00,3680.00,3679.00,3680.00,436,0
+2006-02-02,19:59:00,3680.00,3680.00,3678.00,3680.00,165,0
+2006-02-02,20:00:00,3680.00,3681.00,3679.00,3681.00,161,0
+2006-02-02,20:01:00,3680.00,3680.00,3679.00,3679.00,101,0
+2006-02-02,20:02:00,3678.00,3680.00,3678.00,3680.00,4,0
+2006-02-02,20:03:00,3680.00,3681.00,3679.00,3680.00,343,0
+2006-02-02,20:04:00,3680.00,3680.00,3680.00,3680.00,122,0
+2006-02-02,20:05:00,3680.00,3681.00,3679.00,3680.00,49,0
+2006-02-02,20:06:00,3679.00,3679.00,3678.00,3678.00,101,0
+2006-02-02,20:07:00,3678.00,3679.00,3678.00,3679.00,88,0
+2006-02-02,20:08:00,3679.00,3679.00,3678.00,3678.00,75,0
+2006-02-02,20:09:00,3678.00,3678.00,3677.00,3678.00,317,0
+2006-02-02,20:10:00,3678.00,3679.00,3678.00,3679.00,77,0
+2006-02-02,20:11:00,3679.00,3680.00,3679.00,3679.00,57,0
+2006-02-02,20:12:00,3680.00,3682.00,3680.00,3680.00,289,0
+2006-02-02,20:14:00,3681.00,3681.00,3678.00,3678.00,224,0
+2006-02-02,20:15:00,3678.00,3678.00,3677.00,3677.00,86,0
+2006-02-02,20:16:00,3677.00,3678.00,3677.00,3678.00,64,0
+2006-02-02,20:17:00,3676.00,3677.00,3676.00,3677.00,172,0
+2006-02-02,20:18:00,3678.00,3678.00,3677.00,3677.00,93,0
+2006-02-02,20:19:00,3677.00,3677.00,3674.00,3674.00,629,0
+2006-02-02,20:20:00,3675.00,3676.00,3675.00,3675.00,175,0
+2006-02-02,20:21:00,3676.00,3677.00,3675.00,3676.00,181,0
+2006-02-02,20:22:00,3675.00,3676.00,3675.00,3676.00,87,0
+2006-02-02,20:23:00,3675.00,3676.00,3674.00,3676.00,197,0
+2006-02-02,20:24:00,3676.00,3677.00,3676.00,3677.00,136,0
+2006-02-02,20:25:00,3677.00,3677.00,3677.00,3677.00,17,0
+2006-02-02,20:26:00,3677.00,3678.00,3677.00,3677.00,241,0
+2006-02-02,20:27:00,3677.00,3677.00,3676.00,3676.00,76,0
+2006-02-02,20:28:00,3677.00,3677.00,3676.00,3676.00,46,0
+2006-02-02,20:29:00,3677.00,3677.00,3677.00,3677.00,130,0
+2006-02-02,20:30:00,3676.00,3676.00,3674.00,3674.00,183,0
+2006-02-02,20:31:00,3675.00,3676.00,3675.00,3676.00,110,0
+2006-02-02,20:32:00,3676.00,3676.00,3676.00,3676.00,28,0
+2006-02-02,20:33:00,3677.00,3680.00,3677.00,3680.00,474,0
+2006-02-02,20:34:00,3679.00,3682.00,3679.00,3682.00,340,0
+2006-02-02,20:35:00,3682.00,3683.00,3681.00,3681.00,255,0
+2006-02-02,20:36:00,3681.00,3681.00,3681.00,3681.00,88,0
+2006-02-02,20:37:00,3680.00,3681.00,3680.00,3681.00,54,0
+2006-02-02,20:38:00,3681.00,3681.00,3681.00,3681.00,20,0
+2006-02-02,20:39:00,3681.00,3681.00,3680.00,3680.00,33,0
+2006-02-02,20:40:00,3680.00,3680.00,3679.00,3679.00,103,0
+2006-02-02,20:41:00,3679.00,3679.00,3679.00,3679.00,67,0
+2006-02-02,20:42:00,3679.00,3679.00,3679.00,3679.00,67,0
+2006-02-02,20:43:00,3679.00,3680.00,3679.00,3680.00,2,0
+2006-02-02,20:44:00,3680.00,3681.00,3680.00,3681.00,75,0
+2006-02-02,20:45:00,3680.00,3680.00,3680.00,3680.00,21,0
+2006-02-02,20:46:00,3680.00,3680.00,3679.00,3679.00,11,0
+2006-02-02,20:47:00,3679.00,3679.00,3678.00,3678.00,253,0
+2006-02-02,20:48:00,3677.00,3677.00,3675.00,3677.00,162,0
+2006-02-02,20:49:00,3678.00,3678.00,3678.00,3678.00,15,0
+2006-02-02,20:50:00,3678.00,3680.00,3678.00,3680.00,73,0
+2006-02-02,20:51:00,3680.00,3680.00,3680.00,3680.00,44,0
+2006-02-02,20:52:00,3680.00,3680.00,3679.00,3679.00,122,0
+2006-02-02,20:53:00,3680.00,3680.00,3680.00,3680.00,68,0
+2006-02-02,20:56:00,3680.00,3680.00,3680.00,3680.00,74,0
+2006-02-02,20:57:00,3680.00,3680.00,3680.00,3680.00,1,0
+2006-02-02,20:58:00,3680.00,3680.00,3679.00,3679.00,351,0
+2006-02-02,20:59:00,3679.00,3679.00,3678.00,3678.00,240,0
+2006-02-02,21:00:00,3678.00,3678.00,3677.00,3677.00,13,0
+2006-02-02,21:01:00,3676.00,3676.00,3674.00,3674.00,84,0
+2006-02-02,21:02:00,3674.00,3676.00,3674.00,3676.00,129,0
+2006-02-02,21:03:00,3675.00,3675.00,3674.00,3675.00,221,0
+2006-02-02,21:04:00,3675.00,3675.00,3674.00,3674.00,43,0
+2006-02-02,21:05:00,3675.00,3676.00,3675.00,3676.00,404,0
+2006-02-02,21:06:00,3676.00,3677.00,3676.00,3676.00,47,0
+2006-02-02,21:07:00,3676.00,3678.00,3676.00,3678.00,208,0
+2006-02-02,21:08:00,3678.00,3680.00,3677.00,3679.00,206,0
+2006-02-02,21:09:00,3679.00,3679.00,3679.00,3679.00,102,0
+2006-02-02,21:10:00,3679.00,3680.00,3678.00,3679.00,84,0
+2006-02-02,21:11:00,3680.00,3680.00,3680.00,3680.00,22,0
+2006-02-02,21:12:00,3680.00,3681.00,3680.00,3681.00,211,0
+2006-02-02,21:13:00,3680.00,3680.00,3680.00,3680.00,7,0
+2006-02-02,21:14:00,3679.00,3679.00,3679.00,3679.00,25,0
+2006-02-02,21:15:00,3680.00,3680.00,3678.00,3679.00,41,0
+2006-02-02,21:16:00,3678.00,3679.00,3678.00,3678.00,31,0
+2006-02-02,21:17:00,3678.00,3681.00,3678.00,3681.00,128,0
+2006-02-02,21:18:00,3681.00,3682.00,3681.00,3682.00,295,0
+2006-02-02,21:19:00,3682.00,3683.00,3682.00,3683.00,136,0
+2006-02-02,21:20:00,3682.00,3684.00,3682.00,3684.00,206,0
+2006-02-02,21:21:00,3684.00,3685.00,3683.00,3685.00,473,0
+2006-02-02,21:22:00,3684.00,3685.00,3684.00,3684.00,14,0
+2006-02-02,21:23:00,3684.00,3685.00,3684.00,3685.00,76,0
+2006-02-02,21:24:00,3684.00,3685.00,3683.00,3684.00,146,0
+2006-02-02,21:25:00,3684.00,3684.00,3684.00,3684.00,90,0
+2006-02-02,21:27:00,3684.00,3685.00,3684.00,3685.00,64,0
+2006-02-02,21:28:00,3684.00,3685.00,3684.00,3684.00,79,0
+2006-02-02,21:29:00,3684.00,3684.00,3684.00,3684.00,10,0
+2006-02-02,21:30:00,3684.00,3685.00,3684.00,3685.00,2,0
+2006-02-02,21:31:00,3685.00,3685.00,3684.00,3685.00,16,0
+2006-02-02,21:32:00,3684.00,3685.00,3684.00,3684.00,44,0
+2006-02-02,21:33:00,3685.00,3685.00,3684.00,3685.00,158,0
+2006-02-02,21:34:00,3685.00,3685.00,3685.00,3685.00,37,0
+2006-02-02,21:35:00,3684.00,3685.00,3684.00,3685.00,12,0
+2006-02-02,21:36:00,3685.00,3686.00,3685.00,3686.00,74,0
+2006-02-02,21:37:00,3685.00,3685.00,3685.00,3685.00,2,0
+2006-02-02,21:38:00,3686.00,3686.00,3685.00,3686.00,8,0
+2006-02-02,21:39:00,3685.00,3686.00,3685.00,3686.00,6,0
+2006-02-02,21:40:00,3686.00,3686.00,3686.00,3686.00,54,0
+2006-02-02,21:41:00,3686.00,3686.00,3684.00,3684.00,20,0
+2006-02-02,21:42:00,3684.00,3684.00,3684.00,3684.00,11,0
+2006-02-02,21:43:00,3685.00,3685.00,3684.00,3685.00,56,0
+2006-02-02,21:44:00,3684.00,3684.00,3683.00,3683.00,107,0
+2006-02-02,21:45:00,3683.00,3684.00,3683.00,3684.00,4,0
+2006-02-02,21:47:00,3684.00,3685.00,3684.00,3685.00,54,0
+2006-02-02,21:48:00,3684.00,3684.00,3684.00,3684.00,26,0
+2006-02-02,21:49:00,3684.00,3685.00,3684.00,3684.00,19,0
+2006-02-02,21:51:00,3684.00,3685.00,3684.00,3685.00,30,0
+2006-02-02,21:52:00,3685.00,3685.00,3684.00,3684.00,64,0
+2006-02-02,21:53:00,3685.00,3685.00,3685.00,3685.00,1,0
+2006-02-02,21:54:00,3684.00,3685.00,3683.00,3684.00,44,0
+2006-02-02,21:55:00,3684.00,3684.00,3683.00,3684.00,37,0
+2006-02-02,21:56:00,3684.00,3684.00,3683.00,3683.00,109,0
+2006-02-02,21:57:00,3683.00,3684.00,3682.00,3683.00,293,0
+2006-02-02,21:58:00,3683.00,3684.00,3683.00,3683.00,57,0
+2006-02-02,21:59:00,3682.00,3683.00,3682.00,3682.00,204,0
+2006-02-02,22:00:00,3683.00,3684.00,3681.00,3682.00,407,0
+2006-02-03,09:01:00,3694.00,3699.00,3693.00,3699.00,8587,0
+2006-02-03,09:02:00,3698.00,3704.00,3698.00,3702.00,7121,0
+2006-02-03,09:03:00,3702.00,3703.00,3699.00,3700.00,4345,0
+2006-02-03,09:04:00,3700.00,3701.00,3699.00,3700.00,2374,0
+2006-02-03,09:05:00,3701.00,3701.00,3699.00,3700.00,2456,0
+2006-02-03,09:06:00,3699.00,3699.00,3696.00,3696.00,4208,0
+2006-02-03,09:07:00,3695.00,3697.00,3695.00,3697.00,2451,0
+2006-02-03,09:08:00,3697.00,3700.00,3696.00,3700.00,1993,0
+2006-02-03,09:09:00,3700.00,3703.00,3699.00,3703.00,2984,0
+2006-02-03,09:10:00,3703.00,3707.00,3703.00,3705.00,3873,0
+2006-02-03,09:11:00,3704.00,3705.00,3702.00,3703.00,1272,0
+2006-02-03,09:12:00,3703.00,3703.00,3702.00,3702.00,1319,0
+2006-02-03,09:13:00,3702.00,3702.00,3700.00,3700.00,645,0
+2006-02-03,09:14:00,3700.00,3701.00,3699.00,3700.00,668,0
+2006-02-03,09:15:00,3700.00,3700.00,3696.00,3697.00,1404,0
+2006-02-03,09:16:00,3696.00,3698.00,3696.00,3697.00,1864,0
+2006-02-03,09:17:00,3697.00,3697.00,3696.00,3696.00,580,0
+2006-02-03,09:18:00,3696.00,3697.00,3695.00,3697.00,1079,0
+2006-02-03,09:19:00,3696.00,3696.00,3695.00,3696.00,863,0
+2006-02-03,09:20:00,3695.00,3697.00,3695.00,3697.00,318,0
+2006-02-03,09:21:00,3697.00,3698.00,3696.00,3698.00,348,0
+2006-02-03,09:22:00,3697.00,3698.00,3696.00,3697.00,574,0
+2006-02-03,09:23:00,3697.00,3698.00,3696.00,3697.00,471,0
+2006-02-03,09:24:00,3697.00,3699.00,3697.00,3698.00,1525,0
+2006-02-03,09:25:00,3699.00,3701.00,3699.00,3700.00,2496,0
+2006-02-03,09:26:00,3700.00,3702.00,3700.00,3700.00,480,0
+2006-02-03,09:27:00,3700.00,3700.00,3698.00,3698.00,686,0
+2006-02-03,09:28:00,3698.00,3699.00,3698.00,3699.00,292,0
+2006-02-03,09:29:00,3699.00,3700.00,3697.00,3699.00,686,0
+2006-02-03,09:30:00,3699.00,3700.00,3699.00,3700.00,513,0
+2006-02-03,09:31:00,3700.00,3702.00,3700.00,3702.00,991,0
+2006-02-03,09:32:00,3702.00,3706.00,3702.00,3705.00,2015,0
+2006-02-03,09:33:00,3706.00,3706.00,3704.00,3706.00,1610,0
+2006-02-03,09:34:00,3706.00,3706.00,3705.00,3706.00,1358,0
+2006-02-03,09:35:00,3706.00,3706.00,3704.00,3704.00,1025,0
+2006-02-03,09:36:00,3704.00,3705.00,3704.00,3704.00,722,0
+2006-02-03,09:37:00,3703.00,3705.00,3703.00,3705.00,1062,0
+2006-02-03,09:38:00,3705.00,3706.00,3705.00,3705.00,842,0
+2006-02-03,09:39:00,3705.00,3705.00,3703.00,3704.00,560,0
+2006-02-03,09:40:00,3704.00,3705.00,3701.00,3701.00,745,0
+2006-02-03,09:41:00,3701.00,3702.00,3699.00,3700.00,1122,0
+2006-02-03,09:42:00,3701.00,3702.00,3701.00,3701.00,75,0
+2006-02-03,09:43:00,3701.00,3701.00,3700.00,3701.00,4246,0
+2006-02-03,09:44:00,3701.00,3702.00,3701.00,3701.00,221,0
+2006-02-03,09:45:00,3700.00,3701.00,3698.00,3699.00,1194,0
+2006-02-03,09:46:00,3699.00,3699.00,3698.00,3698.00,659,0
+2006-02-03,09:47:00,3697.00,3698.00,3696.00,3697.00,557,0
+2006-02-03,09:48:00,3698.00,3698.00,3697.00,3698.00,303,0
+2006-02-03,09:49:00,3698.00,3698.00,3697.00,3698.00,213,0
+2006-02-03,09:50:00,3698.00,3699.00,3697.00,3698.00,354,0
+2006-02-03,09:51:00,3697.00,3697.00,3696.00,3697.00,904,0
+2006-02-03,09:52:00,3698.00,3700.00,3698.00,3699.00,2592,0
+2006-02-03,09:53:00,3699.00,3700.00,3698.00,3699.00,229,0
+2006-02-03,09:54:00,3699.00,3699.00,3698.00,3698.00,144,0
+2006-02-03,09:55:00,3699.00,3700.00,3698.00,3699.00,182,0
+2006-02-03,09:56:00,3699.00,3701.00,3699.00,3699.00,1105,0
+2006-02-03,09:57:00,3700.00,3700.00,3697.00,3697.00,964,0
+2006-02-03,09:58:00,3697.00,3698.00,3697.00,3697.00,403,0
+2006-02-03,09:59:00,3697.00,3698.00,3697.00,3697.00,569,0
+2006-02-03,10:00:00,3698.00,3698.00,3695.00,3695.00,1043,0
+2006-02-03,10:01:00,3695.00,3697.00,3695.00,3697.00,1078,0
+2006-02-03,10:02:00,3697.00,3697.00,3695.00,3696.00,1117,0
+2006-02-03,10:03:00,3696.00,3696.00,3694.00,3695.00,329,0
+2006-02-03,10:04:00,3695.00,3695.00,3693.00,3695.00,1369,0
+2006-02-03,10:05:00,3695.00,3695.00,3691.00,3692.00,2427,0
+2006-02-03,10:06:00,3692.00,3694.00,3691.00,3692.00,2140,0
+2006-02-03,10:07:00,3692.00,3693.00,3691.00,3693.00,539,0
+2006-02-03,10:08:00,3693.00,3694.00,3693.00,3693.00,298,0
+2006-02-03,10:09:00,3692.00,3694.00,3692.00,3693.00,519,0
+2006-02-03,10:10:00,3692.00,3692.00,3689.00,3690.00,2251,0
+2006-02-03,10:11:00,3689.00,3690.00,3689.00,3690.00,1236,0
+2006-02-03,10:12:00,3690.00,3691.00,3687.00,3689.00,3754,0
+2006-02-03,10:13:00,3689.00,3689.00,3685.00,3685.00,6697,0
+2006-02-03,10:14:00,3686.00,3687.00,3683.00,3684.00,2974,0
+2006-02-03,10:15:00,3684.00,3686.00,3683.00,3686.00,1058,0
+2006-02-03,10:16:00,3686.00,3687.00,3685.00,3686.00,935,0
+2006-02-03,10:17:00,3686.00,3687.00,3685.00,3685.00,577,0
+2006-02-03,10:18:00,3685.00,3687.00,3685.00,3686.00,859,0
+2006-02-03,10:19:00,3686.00,3687.00,3685.00,3686.00,831,0
+2006-02-03,10:20:00,3686.00,3686.00,3685.00,3685.00,902,0
+2006-02-03,10:21:00,3685.00,3686.00,3685.00,3685.00,2120,0
+2006-02-03,10:22:00,3685.00,3687.00,3684.00,3686.00,942,0
+2006-02-03,10:23:00,3686.00,3688.00,3686.00,3687.00,637,0
+2006-02-03,10:24:00,3686.00,3686.00,3685.00,3685.00,1244,0
+2006-02-03,10:25:00,3685.00,3686.00,3684.00,3685.00,1359,0
+2006-02-03,10:26:00,3685.00,3685.00,3682.00,3685.00,2986,0
+2006-02-03,10:27:00,3685.00,3686.00,3684.00,3686.00,376,0
+2006-02-03,10:28:00,3686.00,3686.00,3685.00,3685.00,610,0
+2006-02-03,10:29:00,3685.00,3685.00,3684.00,3685.00,469,0
+2006-02-03,10:30:00,3685.00,3687.00,3684.00,3686.00,928,0
+2006-02-03,10:31:00,3686.00,3686.00,3685.00,3686.00,435,0
+2006-02-03,10:32:00,3686.00,3686.00,3685.00,3686.00,138,0
+2006-02-03,10:33:00,3686.00,3687.00,3686.00,3687.00,485,0
+2006-02-03,10:34:00,3688.00,3688.00,3687.00,3688.00,685,0
+2006-02-03,10:35:00,3688.00,3688.00,3686.00,3687.00,526,0
+2006-02-03,10:36:00,3687.00,3688.00,3687.00,3688.00,500,0
+2006-02-03,10:37:00,3687.00,3688.00,3687.00,3688.00,204,0
+2006-02-03,10:38:00,3688.00,3690.00,3688.00,3689.00,2031,0
+2006-02-03,10:39:00,3689.00,3689.00,3687.00,3687.00,1437,0
+2006-02-03,10:40:00,3688.00,3690.00,3688.00,3690.00,1559,0
+2006-02-03,10:41:00,3689.00,3689.00,3688.00,3689.00,602,0
+2006-02-03,10:42:00,3689.00,3689.00,3688.00,3688.00,376,0
+2006-02-03,10:43:00,3689.00,3689.00,3687.00,3688.00,292,0
+2006-02-03,10:44:00,3687.00,3687.00,3687.00,3687.00,502,0
+2006-02-03,10:45:00,3687.00,3687.00,3686.00,3687.00,2029,0
+2006-02-03,10:46:00,3687.00,3689.00,3687.00,3689.00,1028,0
+2006-02-03,10:47:00,3689.00,3691.00,3689.00,3690.00,993,0
+2006-02-03,10:48:00,3691.00,3691.00,3690.00,3690.00,95,0
+2006-02-03,10:49:00,3690.00,3691.00,3690.00,3691.00,1949,0
+2006-02-03,10:50:00,3691.00,3692.00,3691.00,3692.00,276,0
+2006-02-03,10:51:00,3692.00,3693.00,3692.00,3693.00,471,0
+2006-02-03,10:52:00,3693.00,3693.00,3691.00,3693.00,824,0
+2006-02-03,10:53:00,3693.00,3693.00,3692.00,3692.00,329,0
+2006-02-03,10:54:00,3691.00,3692.00,3691.00,3692.00,1622,0
+2006-02-03,10:55:00,3692.00,3693.00,3691.00,3691.00,1068,0
+2006-02-03,10:56:00,3692.00,3692.00,3691.00,3692.00,318,0
+2006-02-03,10:57:00,3691.00,3692.00,3690.00,3690.00,2031,0
+2006-02-03,10:58:00,3690.00,3692.00,3690.00,3690.00,1200,0
+2006-02-03,10:59:00,3691.00,3692.00,3690.00,3691.00,596,0
+2006-02-03,11:00:00,3692.00,3692.00,3691.00,3691.00,752,0
+2006-02-03,11:01:00,3692.00,3692.00,3690.00,3690.00,1097,0
+2006-02-03,11:02:00,3691.00,3691.00,3689.00,3690.00,414,0
+2006-02-03,11:03:00,3690.00,3690.00,3689.00,3690.00,438,0
+2006-02-03,11:04:00,3689.00,3690.00,3689.00,3690.00,612,0
+2006-02-03,11:05:00,3690.00,3691.00,3689.00,3691.00,784,0
+2006-02-03,11:06:00,3690.00,3691.00,3690.00,3691.00,207,0
+2006-02-03,11:07:00,3690.00,3691.00,3688.00,3688.00,997,0
+2006-02-03,11:08:00,3688.00,3689.00,3687.00,3688.00,2267,0
+2006-02-03,11:09:00,3687.00,3688.00,3686.00,3686.00,1783,0
+2006-02-03,11:10:00,3686.00,3687.00,3686.00,3686.00,298,0
+2006-02-03,11:11:00,3686.00,3687.00,3685.00,3687.00,2117,0
+2006-02-03,11:12:00,3687.00,3688.00,3686.00,3687.00,1539,0
+2006-02-03,11:13:00,3687.00,3688.00,3687.00,3687.00,136,0
+2006-02-03,11:14:00,3688.00,3688.00,3686.00,3686.00,685,0
+2006-02-03,11:15:00,3687.00,3688.00,3686.00,3686.00,357,0
+2006-02-03,11:16:00,3687.00,3687.00,3686.00,3686.00,540,0
+2006-02-03,11:17:00,3686.00,3687.00,3686.00,3686.00,165,0
+2006-02-03,11:18:00,3686.00,3687.00,3682.00,3682.00,5222,0
+2006-02-03,11:19:00,3681.00,3683.00,3680.00,3683.00,2820,0
+2006-02-03,11:20:00,3682.00,3683.00,3681.00,3682.00,714,0
+2006-02-03,11:21:00,3682.00,3683.00,3682.00,3682.00,685,0
+2006-02-03,11:22:00,3682.00,3684.00,3681.00,3682.00,1037,0
+2006-02-03,11:23:00,3681.00,3682.00,3679.00,3680.00,2858,0
+2006-02-03,11:24:00,3680.00,3682.00,3679.00,3680.00,2614,0
+2006-02-03,11:25:00,3680.00,3683.00,3680.00,3682.00,1382,0
+2006-02-03,11:26:00,3682.00,3683.00,3682.00,3682.00,918,0
+2006-02-03,11:27:00,3682.00,3683.00,3681.00,3683.00,344,0
+2006-02-03,11:28:00,3682.00,3683.00,3681.00,3683.00,239,0
+2006-02-03,11:29:00,3682.00,3683.00,3681.00,3682.00,301,0
+2006-02-03,11:30:00,3682.00,3684.00,3681.00,3683.00,654,0
+2006-02-03,11:31:00,3683.00,3683.00,3681.00,3682.00,657,0
+2006-02-03,11:32:00,3682.00,3684.00,3682.00,3684.00,1347,0
+2006-02-03,11:33:00,3684.00,3684.00,3683.00,3683.00,641,0
+2006-02-03,11:34:00,3683.00,3684.00,3682.00,3682.00,289,0
+2006-02-03,11:35:00,3682.00,3682.00,3682.00,3682.00,581,0
+2006-02-03,11:36:00,3683.00,3684.00,3683.00,3683.00,631,0
+2006-02-03,11:37:00,3683.00,3684.00,3682.00,3683.00,318,0
+2006-02-03,11:38:00,3683.00,3684.00,3682.00,3684.00,176,0
+2006-02-03,11:39:00,3684.00,3685.00,3684.00,3685.00,2109,0
+2006-02-03,11:40:00,3685.00,3686.00,3684.00,3685.00,918,0
+2006-02-03,11:41:00,3686.00,3686.00,3684.00,3686.00,1479,0
+2006-02-03,11:42:00,3686.00,3687.00,3686.00,3686.00,1005,0
+2006-02-03,11:43:00,3687.00,3688.00,3687.00,3687.00,1321,0
+2006-02-03,11:44:00,3688.00,3688.00,3686.00,3687.00,1651,0
+2006-02-03,11:45:00,3688.00,3689.00,3687.00,3688.00,680,0
+2006-02-03,11:46:00,3689.00,3689.00,3688.00,3689.00,435,0
+2006-02-03,11:47:00,3688.00,3689.00,3687.00,3687.00,394,0
+2006-02-03,11:48:00,3687.00,3687.00,3686.00,3687.00,61,0
+2006-02-03,11:49:00,3687.00,3687.00,3687.00,3687.00,110,0
+2006-02-03,11:50:00,3687.00,3687.00,3686.00,3687.00,72,0
+2006-02-03,11:51:00,3686.00,3687.00,3686.00,3687.00,367,0
+2006-02-03,11:52:00,3686.00,3687.00,3686.00,3687.00,147,0
+2006-02-03,11:53:00,3687.00,3687.00,3687.00,3687.00,178,0
+2006-02-03,11:54:00,3687.00,3688.00,3687.00,3688.00,198,0
+2006-02-03,11:55:00,3687.00,3688.00,3687.00,3688.00,360,0
+2006-02-03,11:56:00,3688.00,3689.00,3688.00,3689.00,243,0
+2006-02-03,11:57:00,3689.00,3689.00,3688.00,3689.00,190,0
+2006-02-03,11:58:00,3689.00,3691.00,3689.00,3690.00,872,0
+2006-02-03,11:59:00,3690.00,3692.00,3690.00,3691.00,955,0
+2006-02-03,12:00:00,3692.00,3692.00,3691.00,3692.00,686,0
+2006-02-03,12:01:00,3691.00,3692.00,3689.00,3690.00,1516,0
+2006-02-03,12:02:00,3689.00,3690.00,3689.00,3689.00,68,0
+2006-02-03,12:03:00,3689.00,3689.00,3688.00,3688.00,244,0
+2006-02-03,12:04:00,3689.00,3690.00,3689.00,3690.00,600,0
+2006-02-03,12:05:00,3690.00,3690.00,3689.00,3689.00,108,0
+2006-02-03,12:06:00,3690.00,3690.00,3689.00,3689.00,44,0
+2006-02-03,12:07:00,3689.00,3690.00,3688.00,3689.00,241,0
+2006-02-03,12:08:00,3688.00,3689.00,3688.00,3688.00,54,0
+2006-02-03,12:09:00,3688.00,3689.00,3688.00,3689.00,58,0
+2006-02-03,12:10:00,3689.00,3689.00,3688.00,3689.00,1852,0
+2006-02-03,12:11:00,3689.00,3689.00,3688.00,3689.00,61,0
+2006-02-03,12:12:00,3689.00,3689.00,3688.00,3689.00,161,0
+2006-02-03,12:13:00,3689.00,3689.00,3688.00,3688.00,203,0
+2006-02-03,12:14:00,3688.00,3688.00,3688.00,3688.00,56,0
+2006-02-03,12:15:00,3688.00,3689.00,3688.00,3689.00,10,0
+2006-02-03,12:16:00,3689.00,3689.00,3688.00,3688.00,305,0
+2006-02-03,12:17:00,3689.00,3689.00,3688.00,3689.00,344,0
+2006-02-03,12:18:00,3689.00,3690.00,3689.00,3690.00,44,0
+2006-02-03,12:19:00,3690.00,3690.00,3689.00,3690.00,117,0
+2006-02-03,12:20:00,3690.00,3690.00,3689.00,3690.00,9,0
+2006-02-03,12:21:00,3690.00,3691.00,3690.00,3690.00,521,0
+2006-02-03,12:22:00,3690.00,3690.00,3689.00,3689.00,318,0
+2006-02-03,12:23:00,3690.00,3691.00,3690.00,3691.00,283,0
+2006-02-03,12:24:00,3691.00,3691.00,3691.00,3691.00,121,0
+2006-02-03,12:25:00,3691.00,3691.00,3691.00,3691.00,339,0
+2006-02-03,12:26:00,3691.00,3691.00,3690.00,3690.00,226,0
+2006-02-03,12:27:00,3691.00,3691.00,3690.00,3690.00,146,0
+2006-02-03,12:28:00,3691.00,3691.00,3690.00,3691.00,60,0
+2006-02-03,12:29:00,3690.00,3691.00,3690.00,3690.00,440,0
+2006-02-03,12:30:00,3690.00,3691.00,3690.00,3691.00,123,0
+2006-02-03,12:31:00,3691.00,3691.00,3690.00,3691.00,14,0
+2006-02-03,12:32:00,3690.00,3691.00,3690.00,3691.00,214,0
+2006-02-03,12:33:00,3691.00,3692.00,3691.00,3691.00,101,0
+2006-02-03,12:34:00,3692.00,3692.00,3691.00,3691.00,379,0
+2006-02-03,12:35:00,3691.00,3692.00,3691.00,3691.00,71,0
+2006-02-03,12:36:00,3692.00,3692.00,3691.00,3691.00,16,0
+2006-02-03,12:37:00,3692.00,3693.00,3691.00,3692.00,663,0
+2006-02-03,12:38:00,3693.00,3693.00,3692.00,3692.00,52,0
+2006-02-03,12:39:00,3693.00,3693.00,3692.00,3692.00,179,0
+2006-02-03,12:40:00,3693.00,3693.00,3692.00,3692.00,179,0
+2006-02-03,12:41:00,3693.00,3693.00,3691.00,3692.00,193,0
+2006-02-03,12:42:00,3692.00,3692.00,3691.00,3692.00,41,0
+2006-02-03,12:43:00,3692.00,3692.00,3691.00,3691.00,5,0
+2006-02-03,12:44:00,3692.00,3692.00,3691.00,3691.00,80,0
+2006-02-03,12:45:00,3692.00,3692.00,3691.00,3691.00,252,0
+2006-02-03,12:46:00,3692.00,3692.00,3691.00,3692.00,308,0
+2006-02-03,12:47:00,3692.00,3693.00,3692.00,3692.00,225,0
+2006-02-03,12:48:00,3693.00,3693.00,3692.00,3692.00,123,0
+2006-02-03,12:49:00,3693.00,3693.00,3692.00,3692.00,29,0
+2006-02-03,12:50:00,3693.00,3693.00,3693.00,3693.00,18,0
+2006-02-03,12:51:00,3693.00,3693.00,3692.00,3692.00,501,0
+2006-02-03,12:52:00,3692.00,3692.00,3691.00,3692.00,31,0
+2006-02-03,12:53:00,3692.00,3692.00,3692.00,3692.00,167,0
+2006-02-03,12:54:00,3692.00,3692.00,3692.00,3692.00,22,0
+2006-02-03,12:55:00,3692.00,3692.00,3691.00,3692.00,146,0
+2006-02-03,12:56:00,3691.00,3692.00,3691.00,3692.00,161,0
+2006-02-03,12:57:00,3691.00,3692.00,3691.00,3691.00,168,0
+2006-02-03,12:58:00,3691.00,3692.00,3691.00,3691.00,628,0
+2006-02-03,12:59:00,3690.00,3691.00,3690.00,3691.00,163,0
+2006-02-03,13:00:00,3691.00,3691.00,3690.00,3690.00,187,0
+2006-02-03,13:01:00,3690.00,3691.00,3690.00,3691.00,153,0
+2006-02-03,13:02:00,3691.00,3691.00,3690.00,3690.00,36,0
+2006-02-03,13:03:00,3690.00,3691.00,3690.00,3690.00,110,0
+2006-02-03,13:04:00,3690.00,3690.00,3689.00,3689.00,30,0
+2006-02-03,13:05:00,3690.00,3690.00,3689.00,3690.00,148,0
+2006-02-03,13:06:00,3690.00,3692.00,3690.00,3691.00,175,0
+2006-02-03,13:07:00,3691.00,3692.00,3691.00,3691.00,164,0
+2006-02-03,13:08:00,3691.00,3692.00,3691.00,3691.00,40,0
+2006-02-03,13:09:00,3692.00,3692.00,3692.00,3692.00,30,0
+2006-02-03,13:10:00,3692.00,3692.00,3691.00,3692.00,60,0
+2006-02-03,13:11:00,3691.00,3692.00,3691.00,3691.00,47,0
+2006-02-03,13:12:00,3691.00,3692.00,3690.00,3691.00,727,0
+2006-02-03,13:13:00,3691.00,3692.00,3691.00,3692.00,118,0
+2006-02-03,13:14:00,3691.00,3692.00,3690.00,3692.00,284,0
+2006-02-03,13:15:00,3691.00,3692.00,3691.00,3691.00,135,0
+2006-02-03,13:16:00,3692.00,3692.00,3690.00,3691.00,428,0
+2006-02-03,13:17:00,3690.00,3691.00,3690.00,3690.00,89,0
+2006-02-03,13:18:00,3690.00,3691.00,3690.00,3690.00,87,0
+2006-02-03,13:19:00,3690.00,3691.00,3690.00,3690.00,5,0
+2006-02-03,13:20:00,3691.00,3691.00,3689.00,3690.00,457,0
+2006-02-03,13:21:00,3690.00,3691.00,3689.00,3690.00,278,0
+2006-02-03,13:22:00,3690.00,3691.00,3690.00,3691.00,39,0
+2006-02-03,13:23:00,3691.00,3691.00,3690.00,3691.00,55,0
+2006-02-03,13:24:00,3690.00,3690.00,3688.00,3689.00,883,0
+2006-02-03,13:25:00,3689.00,3689.00,3687.00,3687.00,1737,0
+2006-02-03,13:26:00,3688.00,3688.00,3687.00,3688.00,1078,0
+2006-02-03,13:27:00,3687.00,3688.00,3687.00,3688.00,46,0
+2006-02-03,13:28:00,3687.00,3688.00,3687.00,3688.00,25,0
+2006-02-03,13:29:00,3688.00,3688.00,3687.00,3687.00,340,0
+2006-02-03,13:30:00,3687.00,3687.00,3687.00,3687.00,134,0
+2006-02-03,13:31:00,3687.00,3687.00,3686.00,3687.00,38,0
+2006-02-03,13:32:00,3686.00,3687.00,3686.00,3687.00,288,0
+2006-02-03,13:33:00,3687.00,3687.00,3686.00,3687.00,19,0
+2006-02-03,13:34:00,3687.00,3687.00,3687.00,3687.00,18,0
+2006-02-03,13:35:00,3687.00,3687.00,3687.00,3687.00,83,0
+2006-02-03,13:36:00,3688.00,3688.00,3687.00,3688.00,15,0
+2006-02-03,13:37:00,3688.00,3689.00,3688.00,3688.00,111,0
+2006-02-03,13:38:00,3689.00,3689.00,3689.00,3689.00,113,0
+2006-02-03,13:39:00,3689.00,3689.00,3688.00,3688.00,1061,0
+2006-02-03,13:40:00,3688.00,3689.00,3688.00,3689.00,71,0
+2006-02-03,13:41:00,3689.00,3689.00,3689.00,3689.00,4,0
+2006-02-03,13:42:00,3689.00,3689.00,3688.00,3689.00,166,0
+2006-02-03,13:43:00,3689.00,3689.00,3689.00,3689.00,232,0
+2006-02-03,13:44:00,3688.00,3689.00,3688.00,3689.00,231,0
+2006-02-03,13:45:00,3689.00,3689.00,3689.00,3689.00,276,0
+2006-02-03,13:46:00,3690.00,3690.00,3689.00,3689.00,229,0
+2006-02-03,13:47:00,3690.00,3690.00,3689.00,3690.00,11,0
+2006-02-03,13:48:00,3690.00,3690.00,3690.00,3690.00,260,0
+2006-02-03,13:49:00,3691.00,3691.00,3690.00,3690.00,183,0
+2006-02-03,13:50:00,3690.00,3690.00,3689.00,3689.00,111,0
+2006-02-03,13:51:00,3690.00,3690.00,3689.00,3690.00,98,0
+2006-02-03,13:52:00,3690.00,3690.00,3690.00,3690.00,42,0
+2006-02-03,13:53:00,3690.00,3690.00,3690.00,3690.00,2,0
+2006-02-03,13:54:00,3690.00,3690.00,3689.00,3690.00,5,0
+2006-02-03,13:55:00,3690.00,3690.00,3690.00,3690.00,134,0
+2006-02-03,13:56:00,3690.00,3690.00,3690.00,3690.00,125,0
+2006-02-03,13:57:00,3690.00,3690.00,3690.00,3690.00,292,0
+2006-02-03,13:58:00,3691.00,3691.00,3691.00,3691.00,2,0
+2006-02-03,13:59:00,3691.00,3691.00,3690.00,3690.00,3,0
+2006-02-03,14:00:00,3690.00,3691.00,3689.00,3689.00,975,0
+2006-02-03,14:01:00,3690.00,3690.00,3689.00,3689.00,148,0
+2006-02-03,14:02:00,3689.00,3690.00,3689.00,3690.00,17,0
+2006-02-03,14:03:00,3690.00,3690.00,3689.00,3689.00,601,0
+2006-02-03,14:04:00,3689.00,3690.00,3689.00,3690.00,20,0
+2006-02-03,14:05:00,3689.00,3689.00,3689.00,3689.00,68,0
+2006-02-03,14:06:00,3689.00,3690.00,3688.00,3689.00,76,0
+2006-02-03,14:07:00,3689.00,3689.00,3689.00,3689.00,275,0
+2006-02-03,14:08:00,3689.00,3689.00,3689.00,3689.00,50,0
+2006-02-03,14:09:00,3689.00,3689.00,3688.00,3688.00,55,0
+2006-02-03,14:10:00,3689.00,3689.00,3689.00,3689.00,11,0
+2006-02-03,14:11:00,3689.00,3689.00,3689.00,3689.00,53,0
+2006-02-03,14:12:00,3689.00,3691.00,3689.00,3690.00,240,0
+2006-02-03,14:13:00,3691.00,3691.00,3690.00,3690.00,8,0
+2006-02-03,14:14:00,3691.00,3691.00,3691.00,3691.00,354,0
+2006-02-03,14:15:00,3691.00,3691.00,3690.00,3690.00,8,0
+2006-02-03,14:16:00,3691.00,3692.00,3691.00,3692.00,459,0
+2006-02-03,14:17:00,3691.00,3692.00,3691.00,3691.00,127,0
+2006-02-03,14:18:00,3691.00,3692.00,3691.00,3692.00,6,0
+2006-02-03,14:19:00,3692.00,3692.00,3692.00,3692.00,8,0
+2006-02-03,14:20:00,3692.00,3692.00,3692.00,3692.00,3,0
+2006-02-03,14:21:00,3692.00,3692.00,3691.00,3692.00,3,0
+2006-02-03,14:22:00,3692.00,3692.00,3691.00,3692.00,635,0
+2006-02-03,14:23:00,3692.00,3692.00,3691.00,3692.00,177,0
+2006-02-03,14:24:00,3692.00,3692.00,3691.00,3692.00,89,0
+2006-02-03,14:25:00,3692.00,3693.00,3692.00,3693.00,566,0
+2006-02-03,14:26:00,3693.00,3693.00,3693.00,3693.00,231,0
+2006-02-03,14:27:00,3693.00,3694.00,3693.00,3693.00,261,0
+2006-02-03,14:28:00,3694.00,3694.00,3693.00,3694.00,419,0
+2006-02-03,14:29:00,3694.00,3695.00,3693.00,3694.00,1239,0
+2006-02-03,14:30:00,3695.00,3695.00,3691.00,3692.00,617,0
+2006-02-03,14:31:00,3693.00,3693.00,3682.00,3692.00,9169,0
+2006-02-03,14:32:00,3692.00,3698.00,3692.00,3696.00,4455,0
+2006-02-03,14:33:00,3696.00,3699.00,3695.00,3695.00,6149,0
+2006-02-03,14:34:00,3695.00,3695.00,3691.00,3691.00,4305,0
+2006-02-03,14:35:00,3691.00,3692.00,3688.00,3688.00,3043,0
+2006-02-03,14:36:00,3688.00,3693.00,3688.00,3692.00,3842,0
+2006-02-03,14:37:00,3692.00,3692.00,3687.00,3687.00,1828,0
+2006-02-03,14:38:00,3688.00,3688.00,3680.00,3681.00,8615,0
+2006-02-03,14:39:00,3680.00,3683.00,3678.00,3683.00,4698,0
+2006-02-03,14:40:00,3683.00,3685.00,3682.00,3684.00,1988,0
+2006-02-03,14:41:00,3685.00,3688.00,3684.00,3686.00,2497,0
+2006-02-03,14:42:00,3685.00,3688.00,3685.00,3686.00,1559,0
+2006-02-03,14:43:00,3686.00,3689.00,3686.00,3687.00,3094,0
+2006-02-03,14:44:00,3687.00,3688.00,3687.00,3687.00,632,0
+2006-02-03,14:45:00,3687.00,3690.00,3686.00,3689.00,1677,0
+2006-02-03,14:46:00,3689.00,3689.00,3686.00,3686.00,1234,0
+2006-02-03,14:47:00,3686.00,3689.00,3686.00,3689.00,1297,0
+2006-02-03,14:48:00,3689.00,3691.00,3688.00,3689.00,1565,0
+2006-02-03,14:49:00,3689.00,3690.00,3686.00,3686.00,1470,0
+2006-02-03,14:50:00,3686.00,3687.00,3684.00,3685.00,1380,0
+2006-02-03,14:51:00,3685.00,3687.00,3685.00,3687.00,965,0
+2006-02-03,14:52:00,3687.00,3688.00,3686.00,3686.00,633,0
+2006-02-03,14:53:00,3686.00,3687.00,3686.00,3687.00,63,0
+2006-02-03,14:54:00,3686.00,3686.00,3682.00,3684.00,2848,0
+2006-02-03,14:55:00,3684.00,3686.00,3683.00,3684.00,2275,0
+2006-02-03,14:56:00,3684.00,3685.00,3682.00,3684.00,1287,0
+2006-02-03,14:57:00,3684.00,3684.00,3680.00,3681.00,2329,0
+2006-02-03,14:58:00,3681.00,3684.00,3680.00,3683.00,1647,0
+2006-02-03,14:59:00,3683.00,3686.00,3682.00,3683.00,1502,0
+2006-02-03,15:00:00,3683.00,3683.00,3679.00,3681.00,3378,0
+2006-02-03,15:01:00,3681.00,3682.00,3679.00,3682.00,2084,0
+2006-02-03,15:02:00,3682.00,3683.00,3680.00,3681.00,1929,0
+2006-02-03,15:03:00,3682.00,3682.00,3680.00,3680.00,941,0
+2006-02-03,15:04:00,3680.00,3682.00,3677.00,3678.00,2045,0
+2006-02-03,15:05:00,3677.00,3677.00,3673.00,3674.00,9256,0
+2006-02-03,15:06:00,3673.00,3674.00,3669.00,3669.00,8429,0
+2006-02-03,15:07:00,3670.00,3673.00,3669.00,3673.00,4051,0
+2006-02-03,15:08:00,3673.00,3675.00,3672.00,3675.00,2835,0
+2006-02-03,15:09:00,3675.00,3676.00,3674.00,3676.00,3141,0
+2006-02-03,15:10:00,3675.00,3677.00,3675.00,3676.00,2332,0
+2006-02-03,15:11:00,3676.00,3676.00,3673.00,3674.00,2814,0
+2006-02-03,15:12:00,3675.00,3675.00,3673.00,3675.00,648,0
+2006-02-03,15:13:00,3674.00,3676.00,3673.00,3674.00,868,0
+2006-02-03,15:14:00,3674.00,3674.00,3672.00,3673.00,1329,0
+2006-02-03,15:15:00,3673.00,3673.00,3671.00,3671.00,573,0
+2006-02-03,15:16:00,3671.00,3672.00,3668.00,3668.00,4536,0
+2006-02-03,15:17:00,3668.00,3668.00,3665.00,3666.00,5739,0
+2006-02-03,15:18:00,3667.00,3667.00,3664.00,3666.00,2736,0
+2006-02-03,15:19:00,3665.00,3667.00,3665.00,3667.00,2755,0
+2006-02-03,15:20:00,3667.00,3669.00,3667.00,3669.00,1906,0
+2006-02-03,15:21:00,3669.00,3670.00,3668.00,3670.00,1695,0
+2006-02-03,15:22:00,3670.00,3670.00,3668.00,3670.00,1360,0
+2006-02-03,15:23:00,3669.00,3670.00,3667.00,3667.00,1005,0
+2006-02-03,15:24:00,3667.00,3668.00,3666.00,3668.00,971,0
+2006-02-03,15:25:00,3668.00,3670.00,3667.00,3669.00,2015,0
+2006-02-03,15:26:00,3670.00,3670.00,3667.00,3668.00,1078,0
+2006-02-03,15:27:00,3668.00,3671.00,3668.00,3671.00,1386,0
+2006-02-03,15:28:00,3671.00,3672.00,3670.00,3670.00,938,0
+2006-02-03,15:29:00,3670.00,3671.00,3666.00,3668.00,1751,0
+2006-02-03,15:30:00,3667.00,3668.00,3665.00,3668.00,2525,0
+2006-02-03,15:31:00,3668.00,3670.00,3668.00,3670.00,1240,0
+2006-02-03,15:32:00,3670.00,3671.00,3669.00,3670.00,1672,0
+2006-02-03,15:33:00,3670.00,3670.00,3668.00,3669.00,1247,0
+2006-02-03,15:34:00,3668.00,3672.00,3668.00,3671.00,1403,0
+2006-02-03,15:35:00,3671.00,3671.00,3669.00,3670.00,1107,0
+2006-02-03,15:36:00,3670.00,3674.00,3670.00,3673.00,1086,0
+2006-02-03,15:37:00,3673.00,3673.00,3671.00,3673.00,1507,0
+2006-02-03,15:38:00,3673.00,3673.00,3672.00,3672.00,1232,0
+2006-02-03,15:39:00,3672.00,3672.00,3670.00,3671.00,1290,0
+2006-02-03,15:40:00,3672.00,3672.00,3671.00,3672.00,444,0
+2006-02-03,15:41:00,3672.00,3672.00,3671.00,3672.00,561,0
+2006-02-03,15:42:00,3672.00,3674.00,3672.00,3673.00,1083,0
+2006-02-03,15:43:00,3674.00,3676.00,3673.00,3676.00,3505,0
+2006-02-03,15:44:00,3676.00,3679.00,3676.00,3678.00,3108,0
+2006-02-03,15:45:00,3679.00,3681.00,3679.00,3680.00,2783,0
+2006-02-03,15:46:00,3679.00,3680.00,3678.00,3678.00,1301,0
+2006-02-03,15:47:00,3678.00,3679.00,3675.00,3677.00,1658,0
+2006-02-03,15:48:00,3676.00,3676.00,3673.00,3673.00,3895,0
+2006-02-03,15:49:00,3673.00,3673.00,3670.00,3672.00,2505,0
+2006-02-03,15:50:00,3672.00,3673.00,3671.00,3672.00,1249,0
+2006-02-03,15:51:00,3673.00,3674.00,3672.00,3674.00,1265,0
+2006-02-03,15:52:00,3673.00,3673.00,3671.00,3671.00,1212,0
+2006-02-03,15:53:00,3670.00,3671.00,3669.00,3669.00,2227,0
+2006-02-03,15:54:00,3669.00,3672.00,3669.00,3671.00,984,0
+2006-02-03,15:55:00,3670.00,3671.00,3668.00,3668.00,1341,0
+2006-02-03,15:56:00,3668.00,3668.00,3664.00,3665.00,5086,0
+2006-02-03,15:57:00,3664.00,3665.00,3661.00,3664.00,6699,0
+2006-02-03,15:58:00,3664.00,3667.00,3663.00,3666.00,3032,0
+2006-02-03,15:59:00,3666.00,3668.00,3663.00,3663.00,2385,0
+2006-02-03,16:00:00,3663.00,3666.00,3663.00,3664.00,1517,0
+2006-02-03,16:01:00,3665.00,3666.00,3661.00,3665.00,5951,0
+2006-02-03,16:02:00,3665.00,3668.00,3663.00,3668.00,2720,0
+2006-02-03,16:03:00,3668.00,3671.00,3667.00,3670.00,4259,0
+2006-02-03,16:04:00,3671.00,3672.00,3670.00,3672.00,4629,0
+2006-02-03,16:05:00,3672.00,3674.00,3672.00,3674.00,3349,0
+2006-02-03,16:06:00,3674.00,3678.00,3674.00,3675.00,4047,0
+2006-02-03,16:07:00,3676.00,3677.00,3672.00,3674.00,3959,0
+2006-02-03,16:08:00,3673.00,3675.00,3672.00,3674.00,2592,0
+2006-02-03,16:09:00,3674.00,3674.00,3672.00,3673.00,1013,0
+2006-02-03,16:10:00,3673.00,3673.00,3669.00,3669.00,3266,0
+2006-02-03,16:11:00,3669.00,3675.00,3669.00,3674.00,2714,0
+2006-02-03,16:12:00,3674.00,3678.00,3674.00,3678.00,3527,0
+2006-02-03,16:13:00,3678.00,3679.00,3677.00,3678.00,1652,0
+2006-02-03,16:14:00,3678.00,3678.00,3674.00,3674.00,2447,0
+2006-02-03,16:15:00,3673.00,3674.00,3672.00,3672.00,2584,0
+2006-02-03,16:16:00,3672.00,3674.00,3671.00,3673.00,1459,0
+2006-02-03,16:17:00,3674.00,3676.00,3673.00,3676.00,1088,0
+2006-02-03,16:18:00,3677.00,3678.00,3676.00,3677.00,3844,0
+2006-02-03,16:19:00,3677.00,3677.00,3672.00,3672.00,1737,0
+2006-02-03,16:20:00,3672.00,3675.00,3672.00,3674.00,1950,0
+2006-02-03,16:21:00,3675.00,3675.00,3673.00,3674.00,934,0
+2006-02-03,16:22:00,3674.00,3676.00,3673.00,3674.00,1806,0
+2006-02-03,16:23:00,3674.00,3675.00,3670.00,3670.00,2530,0
+2006-02-03,16:24:00,3670.00,3672.00,3670.00,3671.00,2130,0
+2006-02-03,16:25:00,3672.00,3676.00,3672.00,3675.00,3106,0
+2006-02-03,16:26:00,3675.00,3677.00,3675.00,3676.00,1183,0
+2006-02-03,16:27:00,3675.00,3676.00,3675.00,3676.00,895,0
+2006-02-03,16:28:00,3676.00,3677.00,3675.00,3675.00,2280,0
+2006-02-03,16:29:00,3676.00,3676.00,3675.00,3676.00,2137,0
+2006-02-03,16:30:00,3675.00,3675.00,3671.00,3672.00,1729,0
+2006-02-03,16:31:00,3671.00,3674.00,3671.00,3672.00,1522,0
+2006-02-03,16:32:00,3672.00,3672.00,3669.00,3670.00,1859,0
+2006-02-03,16:33:00,3670.00,3672.00,3669.00,3671.00,1188,0
+2006-02-03,16:34:00,3672.00,3673.00,3671.00,3671.00,2007,0
+2006-02-03,16:35:00,3672.00,3672.00,3669.00,3670.00,1120,0
+2006-02-03,16:36:00,3670.00,3671.00,3668.00,3669.00,1547,0
+2006-02-03,16:37:00,3669.00,3669.00,3666.00,3667.00,2080,0
+2006-02-03,16:38:00,3668.00,3669.00,3666.00,3667.00,1945,0
+2006-02-03,16:39:00,3668.00,3670.00,3666.00,3670.00,1299,0
+2006-02-03,16:40:00,3670.00,3673.00,3670.00,3672.00,1831,0
+2006-02-03,16:41:00,3673.00,3675.00,3672.00,3675.00,1621,0
+2006-02-03,16:42:00,3674.00,3675.00,3672.00,3673.00,1067,0
+2006-02-03,16:43:00,3673.00,3673.00,3671.00,3672.00,961,0
+2006-02-03,16:44:00,3673.00,3673.00,3671.00,3671.00,1494,0
+2006-02-03,16:45:00,3671.00,3673.00,3671.00,3672.00,577,0
+2006-02-03,16:46:00,3672.00,3675.00,3672.00,3674.00,1131,0
+2006-02-03,16:47:00,3674.00,3676.00,3674.00,3676.00,1079,0
+2006-02-03,16:48:00,3676.00,3679.00,3676.00,3678.00,3436,0
+2006-02-03,16:49:00,3679.00,3679.00,3677.00,3678.00,1340,0
+2006-02-03,16:50:00,3679.00,3679.00,3677.00,3678.00,738,0
+2006-02-03,16:51:00,3678.00,3678.00,3676.00,3677.00,1152,0
+2006-02-03,16:52:00,3677.00,3681.00,3676.00,3681.00,4069,0
+2006-02-03,16:53:00,3680.00,3685.00,3680.00,3685.00,4747,0
+2006-02-03,16:54:00,3685.00,3687.00,3685.00,3685.00,2998,0
+2006-02-03,16:55:00,3685.00,3687.00,3685.00,3686.00,2118,0
+2006-02-03,16:56:00,3686.00,3686.00,3681.00,3682.00,2711,0
+2006-02-03,16:57:00,3682.00,3683.00,3682.00,3683.00,1625,0
+2006-02-03,16:58:00,3683.00,3685.00,3682.00,3685.00,1600,0
+2006-02-03,16:59:00,3685.00,3685.00,3682.00,3683.00,1727,0
+2006-02-03,17:00:00,3683.00,3685.00,3682.00,3685.00,660,0
+2006-02-03,17:01:00,3685.00,3690.00,3684.00,3689.00,4071,0
+2006-02-03,17:02:00,3689.00,3690.00,3687.00,3688.00,2171,0
+2006-02-03,17:03:00,3688.00,3688.00,3687.00,3687.00,1987,0
+2006-02-03,17:04:00,3688.00,3688.00,3685.00,3685.00,1178,0
+2006-02-03,17:05:00,3685.00,3685.00,3684.00,3684.00,1048,0
+2006-02-03,17:06:00,3684.00,3685.00,3683.00,3683.00,1418,0
+2006-02-03,17:07:00,3682.00,3683.00,3681.00,3681.00,1139,0
+2006-02-03,17:08:00,3681.00,3682.00,3681.00,3681.00,939,0
+2006-02-03,17:09:00,3681.00,3682.00,3680.00,3682.00,1042,0
+2006-02-03,17:10:00,3682.00,3684.00,3682.00,3682.00,2473,0
+2006-02-03,17:11:00,3682.00,3683.00,3682.00,3682.00,1157,0
+2006-02-03,17:12:00,3683.00,3684.00,3682.00,3684.00,2499,0
+2006-02-03,17:13:00,3684.00,3684.00,3681.00,3681.00,1302,0
+2006-02-03,17:14:00,3681.00,3681.00,3680.00,3680.00,1586,0
+2006-02-03,17:15:00,3680.00,3681.00,3679.00,3680.00,1021,0
+2006-02-03,17:16:00,3680.00,3680.00,3678.00,3679.00,1490,0
+2006-02-03,17:17:00,3678.00,3679.00,3678.00,3679.00,1106,0
+2006-02-03,17:18:00,3679.00,3680.00,3678.00,3680.00,603,0
+2006-02-03,17:19:00,3680.00,3681.00,3679.00,3679.00,867,0
+2006-02-03,17:20:00,3679.00,3679.00,3678.00,3679.00,1904,0
+2006-02-03,17:21:00,3679.00,3681.00,3679.00,3681.00,612,0
+2006-02-03,17:22:00,3681.00,3681.00,3680.00,3681.00,962,0
+2006-02-03,17:23:00,3681.00,3683.00,3680.00,3683.00,965,0
+2006-02-03,17:24:00,3683.00,3685.00,3682.00,3684.00,1444,0
+2006-02-03,17:25:00,3685.00,3688.00,3684.00,3687.00,2925,0
+2006-02-03,17:26:00,3687.00,3689.00,3686.00,3687.00,2368,0
+2006-02-03,17:27:00,3688.00,3688.00,3685.00,3685.00,1759,0
+2006-02-03,17:28:00,3686.00,3686.00,3684.00,3684.00,1479,0
+2006-02-03,17:29:00,3684.00,3685.00,3683.00,3685.00,1593,0
+2006-02-03,17:30:00,3685.00,3687.00,3684.00,3687.00,3293,0
+2006-02-03,17:31:00,3687.00,3688.00,3685.00,3688.00,3344,0
+2006-02-03,17:32:00,3688.00,3690.00,3688.00,3689.00,2088,0
+2006-02-03,17:33:00,3687.00,3689.00,3687.00,3688.00,2616,0
+2006-02-03,17:34:00,3688.00,3690.00,3688.00,3689.00,1624,0
+2006-02-03,17:35:00,3688.00,3689.00,3687.00,3689.00,693,0
+2006-02-03,17:36:00,3688.00,3694.00,3688.00,3694.00,2493,0
+2006-02-03,17:37:00,3693.00,3695.00,3693.00,3695.00,2343,0
+2006-02-03,17:38:00,3696.00,3697.00,3694.00,3696.00,1910,0
+2006-02-03,17:39:00,3695.00,3697.00,3694.00,3696.00,1071,0
+2006-02-03,17:40:00,3696.00,3697.00,3695.00,3696.00,891,0
+2006-02-03,17:41:00,3697.00,3699.00,3697.00,3698.00,1100,0
+2006-02-03,17:42:00,3697.00,3699.00,3697.00,3698.00,1904,0
+2006-02-03,17:43:00,3699.00,3699.00,3697.00,3697.00,957,0
+2006-02-03,17:44:00,3696.00,3697.00,3696.00,3696.00,220,0
+2006-02-03,17:45:00,3697.00,3697.00,3695.00,3696.00,1467,0
+2006-02-03,17:46:00,3695.00,3696.00,3695.00,3695.00,596,0
+2006-02-03,17:47:00,3694.00,3695.00,3694.00,3695.00,596,0
+2006-02-03,17:48:00,3695.00,3696.00,3693.00,3694.00,913,0
+2006-02-03,17:49:00,3694.00,3695.00,3693.00,3694.00,344,0
+2006-02-03,17:50:00,3694.00,3695.00,3694.00,3695.00,524,0
+2006-02-03,17:51:00,3695.00,3696.00,3695.00,3696.00,799,0
+2006-02-03,17:52:00,3696.00,3697.00,3696.00,3696.00,191,0
+2006-02-03,17:53:00,3696.00,3696.00,3695.00,3695.00,160,0
+2006-02-03,17:54:00,3696.00,3697.00,3696.00,3697.00,122,0
+2006-02-03,17:55:00,3696.00,3696.00,3695.00,3695.00,229,0
+2006-02-03,17:56:00,3696.00,3697.00,3696.00,3697.00,210,0
+2006-02-03,17:57:00,3697.00,3698.00,3696.00,3696.00,193,0
+2006-02-03,17:58:00,3696.00,3696.00,3694.00,3694.00,659,0
+2006-02-03,17:59:00,3694.00,3696.00,3694.00,3695.00,452,0
+2006-02-03,18:00:00,3695.00,3695.00,3693.00,3694.00,1719,0
+2006-02-03,18:01:00,3694.00,3695.00,3693.00,3694.00,372,0
+2006-02-03,18:02:00,3695.00,3695.00,3694.00,3694.00,126,0
+2006-02-03,18:03:00,3695.00,3695.00,3694.00,3695.00,618,0
+2006-02-03,18:04:00,3695.00,3695.00,3694.00,3694.00,750,0
+2006-02-03,18:05:00,3695.00,3695.00,3694.00,3695.00,128,0
+2006-02-03,18:06:00,3695.00,3695.00,3694.00,3694.00,272,0
+2006-02-03,18:07:00,3694.00,3694.00,3693.00,3693.00,416,0
+2006-02-03,18:08:00,3693.00,3693.00,3692.00,3693.00,515,0
+2006-02-03,18:09:00,3693.00,3694.00,3693.00,3693.00,165,0
+2006-02-03,18:10:00,3693.00,3693.00,3693.00,3693.00,164,0
+2006-02-03,18:11:00,3692.00,3692.00,3690.00,3691.00,360,0
+2006-02-03,18:12:00,3690.00,3692.00,3690.00,3691.00,98,0
+2006-02-03,18:13:00,3691.00,3692.00,3691.00,3691.00,101,0
+2006-02-03,18:14:00,3692.00,3692.00,3692.00,3692.00,293,0
+2006-02-03,18:15:00,3692.00,3693.00,3692.00,3693.00,48,0
+2006-02-03,18:16:00,3692.00,3693.00,3692.00,3693.00,24,0
+2006-02-03,18:17:00,3692.00,3694.00,3692.00,3694.00,282,0
+2006-02-03,18:18:00,3694.00,3694.00,3693.00,3693.00,405,0
+2006-02-03,18:19:00,3692.00,3693.00,3692.00,3693.00,40,0
+2006-02-03,18:20:00,3693.00,3693.00,3692.00,3693.00,137,0
+2006-02-03,18:21:00,3693.00,3694.00,3693.00,3694.00,388,0
+2006-02-03,18:22:00,3694.00,3694.00,3693.00,3694.00,191,0
+2006-02-03,18:23:00,3694.00,3694.00,3694.00,3694.00,203,0
+2006-02-03,18:24:00,3693.00,3694.00,3692.00,3693.00,125,0
+2006-02-03,18:25:00,3693.00,3694.00,3693.00,3693.00,240,0
+2006-02-03,18:26:00,3693.00,3693.00,3691.00,3691.00,295,0
+2006-02-03,18:27:00,3691.00,3692.00,3691.00,3691.00,56,0
+2006-02-03,18:28:00,3691.00,3691.00,3690.00,3691.00,135,0
+2006-02-03,18:29:00,3691.00,3691.00,3690.00,3690.00,269,0
+2006-02-03,18:30:00,3690.00,3691.00,3690.00,3691.00,67,0
+2006-02-03,18:31:00,3691.00,3691.00,3689.00,3689.00,356,0
+2006-02-03,18:32:00,3690.00,3690.00,3686.00,3687.00,1812,0
+2006-02-03,18:33:00,3687.00,3688.00,3687.00,3687.00,474,0
+2006-02-03,18:34:00,3687.00,3687.00,3687.00,3687.00,507,0
+2006-02-03,18:35:00,3687.00,3687.00,3686.00,3687.00,324,0
+2006-02-03,18:36:00,3687.00,3688.00,3687.00,3688.00,94,0
+2006-02-03,18:37:00,3688.00,3689.00,3688.00,3689.00,193,0
+2006-02-03,18:38:00,3689.00,3690.00,3689.00,3689.00,226,0
+2006-02-03,18:39:00,3689.00,3690.00,3688.00,3689.00,104,0
+2006-02-03,18:40:00,3690.00,3690.00,3689.00,3690.00,234,0
+2006-02-03,18:41:00,3690.00,3690.00,3689.00,3689.00,284,0
+2006-02-03,18:42:00,3689.00,3689.00,3688.00,3688.00,130,0
+2006-02-03,18:43:00,3688.00,3688.00,3688.00,3688.00,2,0
+2006-02-03,18:44:00,3689.00,3689.00,3687.00,3688.00,426,0
+2006-02-03,18:45:00,3688.00,3688.00,3688.00,3688.00,51,0
+2006-02-03,18:46:00,3689.00,3689.00,3689.00,3689.00,38,0
+2006-02-03,18:47:00,3689.00,3691.00,3688.00,3691.00,403,0
+2006-02-03,18:48:00,3691.00,3693.00,3691.00,3692.00,560,0
+2006-02-03,18:49:00,3692.00,3694.00,3692.00,3693.00,119,0
+2006-02-03,18:50:00,3693.00,3693.00,3693.00,3693.00,53,0
+2006-02-03,18:51:00,3693.00,3693.00,3693.00,3693.00,86,0
+2006-02-03,18:52:00,3694.00,3694.00,3693.00,3693.00,71,0
+2006-02-03,18:53:00,3693.00,3695.00,3693.00,3694.00,319,0
+2006-02-03,18:55:00,3694.00,3694.00,3692.00,3693.00,221,0
+2006-02-03,18:56:00,3693.00,3693.00,3693.00,3693.00,56,0
+2006-02-03,18:57:00,3694.00,3694.00,3694.00,3694.00,134,0
+2006-02-03,18:58:00,3695.00,3695.00,3694.00,3694.00,199,0
+2006-02-03,18:59:00,3694.00,3694.00,3694.00,3694.00,19,0
+2006-02-03,19:00:00,3695.00,3695.00,3694.00,3695.00,145,0
+2006-02-03,19:01:00,3695.00,3696.00,3695.00,3695.00,254,0
+2006-02-03,19:02:00,3695.00,3697.00,3695.00,3696.00,263,0
+2006-02-03,19:03:00,3696.00,3696.00,3695.00,3696.00,51,0
+2006-02-03,19:04:00,3696.00,3696.00,3695.00,3695.00,64,0
+2006-02-03,19:05:00,3696.00,3696.00,3696.00,3696.00,1,0
+2006-02-03,19:06:00,3696.00,3696.00,3696.00,3696.00,45,0
+2006-02-03,19:07:00,3697.00,3698.00,3696.00,3696.00,765,0
+2006-02-03,19:08:00,3697.00,3697.00,3696.00,3696.00,123,0
+2006-02-03,19:09:00,3696.00,3697.00,3696.00,3697.00,127,0
+2006-02-03,19:10:00,3697.00,3697.00,3697.00,3697.00,25,0
+2006-02-03,19:11:00,3697.00,3697.00,3696.00,3697.00,35,0
+2006-02-03,19:12:00,3696.00,3696.00,3696.00,3696.00,265,0
+2006-02-03,19:13:00,3697.00,3697.00,3697.00,3697.00,334,0
+2006-02-03,19:14:00,3697.00,3697.00,3696.00,3696.00,83,0
+2006-02-03,19:15:00,3697.00,3697.00,3697.00,3697.00,59,0
+2006-02-03,19:16:00,3697.00,3700.00,3697.00,3699.00,751,0
+2006-02-03,19:17:00,3700.00,3703.00,3700.00,3701.00,1447,0
+2006-02-03,19:18:00,3701.00,3703.00,3701.00,3702.00,355,0
+2006-02-03,19:19:00,3702.00,3703.00,3702.00,3702.00,316,0
+2006-02-03,19:20:00,3702.00,3703.00,3702.00,3702.00,203,0
+2006-02-03,19:21:00,3703.00,3705.00,3703.00,3704.00,709,0
+2006-02-03,19:22:00,3705.00,3710.00,3705.00,3708.00,3055,0
+2006-02-03,19:23:00,3708.00,3710.00,3708.00,3709.00,295,0
+2006-02-03,19:24:00,3709.00,3709.00,3709.00,3709.00,97,0
+2006-02-03,19:25:00,3708.00,3709.00,3708.00,3709.00,333,0
+2006-02-03,19:26:00,3709.00,3711.00,3708.00,3710.00,1518,0
+2006-02-03,19:27:00,3710.00,3710.00,3707.00,3708.00,1251,0
+2006-02-03,19:28:00,3707.00,3710.00,3707.00,3709.00,354,0
+2006-02-03,19:29:00,3709.00,3709.00,3707.00,3708.00,198,0
+2006-02-03,19:30:00,3707.00,3707.00,3705.00,3706.00,458,0
+2006-02-03,19:31:00,3707.00,3707.00,3706.00,3707.00,40,0
+2006-02-03,19:32:00,3707.00,3707.00,3706.00,3706.00,279,0
+2006-02-03,19:33:00,3706.00,3706.00,3706.00,3706.00,45,0
+2006-02-03,19:34:00,3706.00,3706.00,3706.00,3706.00,103,0
+2006-02-03,19:35:00,3706.00,3706.00,3705.00,3705.00,7,0
+2006-02-03,19:36:00,3706.00,3706.00,3706.00,3706.00,1,0
+2006-02-03,19:37:00,3706.00,3708.00,3706.00,3707.00,210,0
+2006-02-03,19:38:00,3707.00,3708.00,3707.00,3708.00,7,0
+2006-02-03,19:39:00,3708.00,3709.00,3708.00,3709.00,58,0
+2006-02-03,19:40:00,3708.00,3709.00,3708.00,3709.00,279,0
+2006-02-03,19:41:00,3709.00,3709.00,3709.00,3709.00,8,0
+2006-02-03,19:42:00,3709.00,3709.00,3705.00,3705.00,387,0
+2006-02-03,19:43:00,3705.00,3706.00,3704.00,3704.00,269,0
+2006-02-03,19:44:00,3704.00,3704.00,3704.00,3704.00,10,0
+2006-02-03,19:45:00,3704.00,3704.00,3703.00,3704.00,22,0
+2006-02-03,19:46:00,3703.00,3703.00,3701.00,3701.00,124,0
+2006-02-03,19:47:00,3702.00,3702.00,3701.00,3702.00,126,0
+2006-02-03,19:48:00,3702.00,3704.00,3702.00,3704.00,107,0
+2006-02-03,19:49:00,3703.00,3703.00,3703.00,3703.00,9,0
+2006-02-03,19:50:00,3703.00,3704.00,3703.00,3704.00,71,0
+2006-02-03,19:51:00,3703.00,3703.00,3701.00,3702.00,183,0
+2006-02-03,19:52:00,3702.00,3703.00,3702.00,3703.00,33,0
+2006-02-03,19:53:00,3703.00,3704.00,3703.00,3704.00,11,0
+2006-02-03,19:54:00,3704.00,3704.00,3704.00,3704.00,215,0
+2006-02-03,19:55:00,3704.00,3704.00,3703.00,3704.00,25,0
+2006-02-03,19:56:00,3703.00,3703.00,3702.00,3702.00,228,0
+2006-02-03,19:57:00,3702.00,3703.00,3702.00,3703.00,50,0
+2006-02-03,19:58:00,3702.00,3704.00,3702.00,3703.00,381,0
+2006-02-03,19:59:00,3703.00,3704.00,3703.00,3704.00,126,0
+2006-02-03,20:00:00,3704.00,3704.00,3702.00,3702.00,275,0
+2006-02-03,20:01:00,3702.00,3703.00,3702.00,3702.00,111,0
+2006-02-03,20:02:00,3702.00,3702.00,3702.00,3702.00,26,0
+2006-02-03,20:03:00,3702.00,3702.00,3702.00,3702.00,34,0
+2006-02-03,20:04:00,3702.00,3703.00,3702.00,3703.00,48,0
+2006-02-03,20:05:00,3703.00,3703.00,3703.00,3703.00,5,0
+2006-02-03,20:06:00,3703.00,3703.00,3702.00,3702.00,16,0
+2006-02-03,20:07:00,3703.00,3703.00,3703.00,3703.00,11,0
+2006-02-03,20:08:00,3702.00,3702.00,3702.00,3702.00,5,0
+2006-02-03,20:09:00,3703.00,3704.00,3703.00,3703.00,173,0
+2006-02-03,20:10:00,3702.00,3702.00,3701.00,3702.00,551,0
+2006-02-03,20:11:00,3702.00,3702.00,3700.00,3700.00,109,0
+2006-02-03,20:12:00,3700.00,3701.00,3698.00,3699.00,1409,0
+2006-02-03,20:13:00,3699.00,3700.00,3699.00,3699.00,271,0
+2006-02-03,20:14:00,3699.00,3699.00,3696.00,3696.00,156,0
+2006-02-03,20:15:00,3697.00,3698.00,3697.00,3698.00,11,0
+2006-02-03,20:16:00,3697.00,3697.00,3697.00,3697.00,12,0
+2006-02-03,20:17:00,3697.00,3697.00,3694.00,3694.00,345,0
+2006-02-03,20:18:00,3693.00,3694.00,3692.00,3693.00,181,0
+2006-02-03,20:19:00,3692.00,3694.00,3692.00,3694.00,67,0
+2006-02-03,20:20:00,3694.00,3694.00,3694.00,3694.00,246,0
+2006-02-03,20:21:00,3693.00,3693.00,3693.00,3693.00,10,0
+2006-02-03,20:22:00,3693.00,3695.00,3693.00,3695.00,25,0
+2006-02-03,20:23:00,3695.00,3695.00,3695.00,3695.00,33,0
+2006-02-03,20:24:00,3695.00,3695.00,3694.00,3694.00,77,0
+2006-02-03,20:25:00,3694.00,3694.00,3693.00,3693.00,3,0
+2006-02-03,20:26:00,3694.00,3695.00,3694.00,3694.00,310,0
+2006-02-03,20:27:00,3695.00,3695.00,3694.00,3694.00,60,0
+2006-02-03,20:28:00,3694.00,3694.00,3694.00,3694.00,17,0
+2006-02-03,20:29:00,3695.00,3695.00,3694.00,3695.00,38,0
+2006-02-03,20:30:00,3694.00,3694.00,3694.00,3694.00,7,0
+2006-02-03,20:31:00,3694.00,3694.00,3692.00,3692.00,80,0
+2006-02-03,20:32:00,3693.00,3693.00,3693.00,3693.00,1,0
+2006-02-03,20:33:00,3693.00,3695.00,3693.00,3695.00,123,0
+2006-02-03,20:34:00,3696.00,3696.00,3696.00,3696.00,82,0
+2006-02-03,20:35:00,3697.00,3697.00,3697.00,3697.00,42,0
+2006-02-03,20:36:00,3697.00,3697.00,3697.00,3697.00,2,0
+2006-02-03,20:37:00,3697.00,3697.00,3696.00,3697.00,143,0
+2006-02-03,20:39:00,3697.00,3697.00,3697.00,3697.00,128,0
+2006-02-03,20:40:00,3697.00,3697.00,3697.00,3697.00,2,0
+2006-02-03,20:41:00,3697.00,3697.00,3697.00,3697.00,3,0
+2006-02-03,20:42:00,3698.00,3698.00,3698.00,3698.00,44,0
+2006-02-03,20:43:00,3696.00,3696.00,3695.00,3695.00,6,0
+2006-02-03,20:44:00,3696.00,3696.00,3696.00,3696.00,4,0
+2006-02-03,20:45:00,3695.00,3696.00,3695.00,3696.00,36,0
+2006-02-03,20:46:00,3696.00,3696.00,3696.00,3696.00,1,0
+2006-02-03,20:47:00,3695.00,3695.00,3695.00,3695.00,1,0
+2006-02-03,20:48:00,3696.00,3697.00,3696.00,3696.00,11,0
+2006-02-03,20:49:00,3698.00,3698.00,3698.00,3698.00,55,0
+2006-02-03,20:50:00,3697.00,3697.00,3697.00,3697.00,2,0
+2006-02-03,20:51:00,3697.00,3697.00,3695.00,3695.00,18,0
+2006-02-03,20:52:00,3695.00,3695.00,3695.00,3695.00,1,0
+2006-02-03,20:53:00,3695.00,3695.00,3695.00,3695.00,1,0
+2006-02-03,20:54:00,3696.00,3696.00,3696.00,3696.00,7,0
+2006-02-03,20:55:00,3696.00,3697.00,3696.00,3697.00,5,0
+2006-02-03,20:57:00,3696.00,3696.00,3696.00,3696.00,2,0
+2006-02-03,20:58:00,3696.00,3697.00,3696.00,3697.00,13,0
+2006-02-03,21:00:00,3696.00,3696.00,3695.00,3695.00,14,0
+2006-02-03,21:01:00,3696.00,3697.00,3696.00,3697.00,7,0
+2006-02-03,21:02:00,3698.00,3699.00,3697.00,3698.00,96,0
+2006-02-03,21:03:00,3698.00,3698.00,3697.00,3697.00,24,0
+2006-02-03,21:04:00,3698.00,3698.00,3698.00,3698.00,1,0
+2006-02-03,21:05:00,3698.00,3698.00,3695.00,3696.00,63,0
+2006-02-03,21:06:00,3696.00,3696.00,3695.00,3695.00,7,0
+2006-02-03,21:07:00,3698.00,3698.00,3698.00,3698.00,5,0
+2006-02-03,21:08:00,3698.00,3698.00,3697.00,3697.00,2,0
+2006-02-03,21:09:00,3697.00,3700.00,3696.00,3700.00,111,0
+2006-02-03,21:10:00,3700.00,3700.00,3700.00,3700.00,15,0
+2006-02-03,21:11:00,3698.00,3698.00,3698.00,3698.00,1,0
+2006-02-03,21:12:00,3698.00,3698.00,3697.00,3697.00,13,0
+2006-02-03,21:13:00,3697.00,3698.00,3697.00,3698.00,42,0
+2006-02-03,21:14:00,3698.00,3698.00,3698.00,3698.00,3,0
+2006-02-03,21:15:00,3698.00,3698.00,3697.00,3697.00,6,0
+2006-02-03,21:18:00,3695.00,3696.00,3695.00,3696.00,14,0
+2006-02-03,21:19:00,3696.00,3696.00,3696.00,3696.00,17,0
+2006-02-03,21:20:00,3697.00,3697.00,3697.00,3697.00,2,0
+2006-02-03,21:21:00,3697.00,3697.00,3696.00,3696.00,14,0
+2006-02-03,21:22:00,3696.00,3696.00,3696.00,3696.00,1,0
+2006-02-03,21:23:00,3694.00,3694.00,3694.00,3694.00,61,0
+2006-02-03,21:25:00,3694.00,3694.00,3694.00,3694.00,1,0
+2006-02-03,21:26:00,3694.00,3694.00,3694.00,3694.00,6,0
+2006-02-03,21:28:00,3694.00,3694.00,3694.00,3694.00,4,0
+2006-02-03,21:29:00,3695.00,3695.00,3695.00,3695.00,6,0
+2006-02-03,21:30:00,3694.00,3694.00,3694.00,3694.00,17,0
+2006-02-03,21:31:00,3692.00,3692.00,3690.00,3691.00,46,0
+2006-02-03,21:32:00,3690.00,3690.00,3690.00,3690.00,5,0
+2006-02-03,21:33:00,3691.00,3691.00,3690.00,3690.00,159,0
+2006-02-03,21:34:00,3690.00,3690.00,3688.00,3690.00,8,0
+2006-02-03,21:35:00,3688.00,3688.00,3686.00,3687.00,181,0
+2006-02-03,21:36:00,3688.00,3688.00,3688.00,3688.00,101,0
+2006-02-03,21:37:00,3688.00,3690.00,3687.00,3689.00,26,0
+2006-02-03,21:38:00,3690.00,3690.00,3689.00,3689.00,6,0
+2006-02-03,21:39:00,3688.00,3689.00,3688.00,3689.00,26,0
+2006-02-03,21:40:00,3688.00,3688.00,3688.00,3688.00,1,0
+2006-02-03,21:42:00,3689.00,3689.00,3688.00,3688.00,3,0
+2006-02-03,21:43:00,3688.00,3689.00,3688.00,3689.00,5,0
+2006-02-03,21:44:00,3688.00,3688.00,3688.00,3688.00,8,0
+2006-02-03,21:45:00,3688.00,3688.00,3688.00,3688.00,5,0
+2006-02-03,21:46:00,3688.00,3688.00,3688.00,3688.00,1,0
+2006-02-03,21:48:00,3688.00,3689.00,3688.00,3688.00,12,0
+2006-02-03,21:49:00,3688.00,3689.00,3688.00,3689.00,21,0
+2006-02-03,21:50:00,3690.00,3691.00,3690.00,3691.00,11,0
+2006-02-03,21:51:00,3690.00,3690.00,3690.00,3690.00,10,0
+2006-02-03,21:52:00,3691.00,3691.00,3690.00,3690.00,59,0
+2006-02-03,21:53:00,3689.00,3690.00,3689.00,3689.00,157,0
+2006-02-03,21:54:00,3689.00,3690.00,3688.00,3689.00,72,0
+2006-02-03,21:55:00,3688.00,3689.00,3688.00,3688.00,79,0
+2006-02-03,21:56:00,3689.00,3690.00,3688.00,3690.00,176,0
+2006-02-03,21:57:00,3691.00,3692.00,3691.00,3692.00,110,0
+2006-02-03,21:58:00,3693.00,3693.00,3692.00,3692.00,71,0
+2006-02-03,21:59:00,3692.00,3692.00,3691.00,3692.00,130,0
+2006-02-03,22:00:00,3693.00,3694.00,3690.00,3690.00,559,0
+2006-02-06,09:01:00,3703.00,3704.00,3700.00,3702.00,3969,0
+2006-02-06,09:02:00,3704.00,3708.00,3704.00,3707.00,3676,0
+2006-02-06,09:03:00,3707.00,3708.00,3706.00,3707.00,458,0
+2006-02-06,09:04:00,3706.00,3706.00,3705.00,3706.00,164,0
+2006-02-06,09:05:00,3707.00,3707.00,3707.00,3707.00,298,0
+2006-02-06,09:06:00,3703.00,3705.00,3702.00,3704.00,3510,0
+2006-02-06,09:07:00,3705.00,3706.00,3703.00,3703.00,1781,0
+2006-02-06,09:08:00,3703.00,3704.00,3701.00,3702.00,2201,0
+2006-02-06,09:09:00,3701.00,3702.00,3698.00,3700.00,2005,0
+2006-02-06,09:10:00,3700.00,3700.00,3697.00,3698.00,2000,0
+2006-02-06,09:11:00,3698.00,3699.00,3696.00,3696.00,1090,0
+2006-02-06,09:12:00,3696.00,3698.00,3696.00,3696.00,992,0
+2006-02-06,09:13:00,3696.00,3698.00,3696.00,3698.00,968,0
+2006-02-06,09:14:00,3698.00,3699.00,3698.00,3698.00,1111,0
+2006-02-06,09:15:00,3697.00,3700.00,3697.00,3700.00,383,0
+2006-02-06,09:16:00,3699.00,3701.00,3699.00,3701.00,696,0
+2006-02-06,09:17:00,3700.00,3702.00,3700.00,3700.00,608,0
+2006-02-06,09:18:00,3700.00,3701.00,3699.00,3701.00,482,0
+2006-02-06,09:19:00,3701.00,3703.00,3701.00,3703.00,1622,0
+2006-02-06,09:20:00,3703.00,3703.00,3701.00,3702.00,1613,0
+2006-02-06,09:21:00,3702.00,3704.00,3702.00,3703.00,969,0
+2006-02-06,09:22:00,3704.00,3705.00,3704.00,3704.00,750,0
+2006-02-06,09:23:00,3704.00,3706.00,3704.00,3705.00,1681,0
+2006-02-06,09:24:00,3705.00,3705.00,3703.00,3704.00,1130,0
+2006-02-06,09:25:00,3704.00,3704.00,3703.00,3704.00,669,0
+2006-02-06,09:26:00,3703.00,3705.00,3703.00,3704.00,723,0
+2006-02-06,09:27:00,3705.00,3706.00,3703.00,3706.00,1237,0
+2006-02-06,09:28:00,3706.00,3707.00,3706.00,3706.00,279,0
+2006-02-06,09:29:00,3707.00,3708.00,3706.00,3707.00,2250,0
+2006-02-06,09:30:00,3707.00,3708.00,3706.00,3708.00,1037,0
+2006-02-06,09:31:00,3707.00,3708.00,3707.00,3707.00,403,0
+2006-02-06,09:32:00,3708.00,3709.00,3707.00,3708.00,2521,0
+2006-02-06,09:33:00,3709.00,3709.00,3707.00,3707.00,1269,0
+2006-02-06,09:34:00,3707.00,3707.00,3705.00,3706.00,1097,0
+2006-02-06,09:35:00,3706.00,3706.00,3704.00,3704.00,787,0
+2006-02-06,09:36:00,3705.00,3706.00,3704.00,3705.00,489,0
+2006-02-06,09:37:00,3705.00,3705.00,3704.00,3704.00,840,0
+2006-02-06,09:38:00,3704.00,3706.00,3704.00,3706.00,707,0
+2006-02-06,09:39:00,3706.00,3706.00,3705.00,3705.00,946,0
+2006-02-06,09:40:00,3704.00,3706.00,3704.00,3705.00,149,0
+2006-02-06,09:41:00,3705.00,3706.00,3705.00,3706.00,163,0
+2006-02-06,09:42:00,3706.00,3706.00,3704.00,3704.00,713,0
+2006-02-06,09:43:00,3704.00,3704.00,3703.00,3703.00,771,0
+2006-02-06,09:44:00,3703.00,3703.00,3701.00,3701.00,968,0
+2006-02-06,09:45:00,3702.00,3703.00,3702.00,3703.00,121,0
+2006-02-06,09:46:00,3702.00,3704.00,3702.00,3704.00,209,0
+2006-02-06,09:47:00,3704.00,3704.00,3703.00,3703.00,1247,0
+2006-02-06,09:48:00,3704.00,3705.00,3703.00,3705.00,513,0
+2006-02-06,09:49:00,3705.00,3705.00,3703.00,3703.00,556,0
+2006-02-06,09:50:00,3704.00,3704.00,3703.00,3704.00,144,0
+2006-02-06,09:51:00,3704.00,3704.00,3702.00,3702.00,414,0
+2006-02-06,09:52:00,3702.00,3704.00,3702.00,3703.00,632,0
+2006-02-06,09:53:00,3703.00,3703.00,3702.00,3702.00,1066,0
+2006-02-06,09:54:00,3702.00,3703.00,3702.00,3702.00,403,0
+2006-02-06,09:55:00,3701.00,3704.00,3701.00,3704.00,1090,0
+2006-02-06,09:56:00,3704.00,3704.00,3703.00,3703.00,781,0
+2006-02-06,09:57:00,3704.00,3707.00,3704.00,3707.00,1150,0
+2006-02-06,09:58:00,3706.00,3706.00,3704.00,3704.00,1059,0
+2006-02-06,09:59:00,3704.00,3704.00,3704.00,3704.00,214,0
+2006-02-06,10:00:00,3704.00,3704.00,3703.00,3704.00,355,0
+2006-02-06,10:01:00,3704.00,3705.00,3703.00,3704.00,864,0
+2006-02-06,10:02:00,3705.00,3706.00,3705.00,3706.00,522,0
+2006-02-06,10:03:00,3706.00,3706.00,3705.00,3706.00,170,0
+2006-02-06,10:04:00,3705.00,3706.00,3703.00,3704.00,965,0
+2006-02-06,10:05:00,3704.00,3705.00,3703.00,3705.00,405,0
+2006-02-06,10:06:00,3705.00,3706.00,3705.00,3706.00,429,0
+2006-02-06,10:07:00,3706.00,3708.00,3706.00,3707.00,1245,0
+2006-02-06,10:08:00,3707.00,3707.00,3706.00,3706.00,291,0
+2006-02-06,10:09:00,3706.00,3706.00,3706.00,3706.00,1,0
+2006-02-06,10:10:00,3706.00,3706.00,3703.00,3704.00,851,0
+2006-02-06,10:11:00,3704.00,3705.00,3704.00,3705.00,123,0
+2006-02-06,10:12:00,3705.00,3706.00,3704.00,3705.00,456,0
+2006-02-06,10:13:00,3705.00,3706.00,3705.00,3705.00,207,0
+2006-02-06,10:14:00,3705.00,3706.00,3705.00,3706.00,1227,0
+2006-02-06,10:15:00,3707.00,3707.00,3706.00,3707.00,193,0
+2006-02-06,10:16:00,3707.00,3707.00,3705.00,3705.00,489,0
+2006-02-06,10:17:00,3704.00,3705.00,3704.00,3704.00,340,0
+2006-02-06,10:18:00,3705.00,3707.00,3705.00,3706.00,577,0
+2006-02-06,10:19:00,3707.00,3709.00,3707.00,3708.00,1505,0
+2006-02-06,10:20:00,3708.00,3709.00,3708.00,3708.00,402,0
+2006-02-06,10:21:00,3708.00,3708.00,3707.00,3708.00,490,0
+2006-02-06,10:22:00,3708.00,3709.00,3708.00,3708.00,122,0
+2006-02-06,10:23:00,3708.00,3709.00,3707.00,3709.00,2540,0
+2006-02-06,10:24:00,3709.00,3709.00,3708.00,3709.00,718,0
+2006-02-06,10:25:00,3708.00,3711.00,3708.00,3710.00,3679,0
+2006-02-06,10:26:00,3711.00,3711.00,3710.00,3711.00,1258,0
+2006-02-06,10:27:00,3710.00,3711.00,3710.00,3710.00,1153,0
+2006-02-06,10:28:00,3710.00,3712.00,3710.00,3711.00,1426,0
+2006-02-06,10:29:00,3711.00,3712.00,3710.00,3711.00,599,0
+2006-02-06,10:30:00,3711.00,3711.00,3710.00,3710.00,355,0
+2006-02-06,10:31:00,3710.00,3710.00,3709.00,3710.00,274,0
+2006-02-06,10:32:00,3711.00,3713.00,3711.00,3713.00,1461,0
+2006-02-06,10:33:00,3712.00,3713.00,3711.00,3711.00,675,0
+2006-02-06,10:34:00,3712.00,3712.00,3711.00,3712.00,254,0
+2006-02-06,10:35:00,3711.00,3712.00,3711.00,3712.00,1318,0
+2006-02-06,10:36:00,3712.00,3713.00,3711.00,3712.00,347,0
+2006-02-06,10:37:00,3712.00,3712.00,3711.00,3711.00,3,0
+2006-02-06,10:38:00,3712.00,3713.00,3712.00,3712.00,1023,0
+2006-02-06,10:39:00,3712.00,3713.00,3712.00,3713.00,1593,0
+2006-02-06,10:40:00,3713.00,3714.00,3713.00,3714.00,1248,0
+2006-02-06,10:41:00,3713.00,3714.00,3711.00,3711.00,1510,0
+2006-02-06,10:42:00,3711.00,3712.00,3711.00,3712.00,495,0
+2006-02-06,10:43:00,3711.00,3712.00,3711.00,3712.00,79,0
+2006-02-06,10:44:00,3712.00,3712.00,3711.00,3712.00,502,0
+2006-02-06,10:45:00,3712.00,3713.00,3712.00,3712.00,36,0
+2006-02-06,10:46:00,3712.00,3712.00,3711.00,3711.00,484,0
+2006-02-06,10:47:00,3711.00,3712.00,3710.00,3711.00,617,0
+2006-02-06,10:48:00,3711.00,3712.00,3711.00,3712.00,270,0
+2006-02-06,10:49:00,3711.00,3712.00,3711.00,3712.00,81,0
+2006-02-06,10:50:00,3712.00,3712.00,3711.00,3712.00,204,0
+2006-02-06,10:51:00,3712.00,3712.00,3712.00,3712.00,190,0
+2006-02-06,10:52:00,3711.00,3711.00,3710.00,3711.00,404,0
+2006-02-06,10:53:00,3712.00,3712.00,3711.00,3711.00,271,0
+2006-02-06,10:54:00,3710.00,3711.00,3709.00,3711.00,946,0
+2006-02-06,10:55:00,3711.00,3711.00,3710.00,3710.00,10,0
+2006-02-06,10:56:00,3711.00,3711.00,3710.00,3710.00,1090,0
+2006-02-06,10:57:00,3711.00,3711.00,3710.00,3711.00,685,0
+2006-02-06,10:58:00,3711.00,3711.00,3711.00,3711.00,53,0
+2006-02-06,10:59:00,3711.00,3712.00,3710.00,3710.00,330,0
+2006-02-06,11:00:00,3711.00,3711.00,3711.00,3711.00,8,0
+2006-02-06,11:01:00,3711.00,3711.00,3711.00,3711.00,175,0
+2006-02-06,11:02:00,3711.00,3711.00,3710.00,3710.00,374,0
+2006-02-06,11:03:00,3710.00,3711.00,3709.00,3710.00,584,0
+2006-02-06,11:04:00,3710.00,3710.00,3710.00,3710.00,118,0
+2006-02-06,11:05:00,3710.00,3710.00,3709.00,3709.00,81,0
+2006-02-06,11:06:00,3709.00,3709.00,3706.00,3707.00,1351,0
+2006-02-06,11:07:00,3707.00,3707.00,3706.00,3706.00,629,0
+2006-02-06,11:08:00,3707.00,3708.00,3707.00,3708.00,411,0
+2006-02-06,11:09:00,3708.00,3708.00,3707.00,3707.00,476,0
+2006-02-06,11:10:00,3707.00,3708.00,3707.00,3708.00,41,0
+2006-02-06,11:11:00,3708.00,3708.00,3708.00,3708.00,2,0
+2006-02-06,11:12:00,3708.00,3708.00,3707.00,3707.00,178,0
+2006-02-06,11:13:00,3708.00,3708.00,3708.00,3708.00,315,0
+2006-02-06,11:14:00,3708.00,3708.00,3708.00,3708.00,757,0
+2006-02-06,11:15:00,3709.00,3709.00,3709.00,3709.00,264,0
+2006-02-06,11:16:00,3708.00,3708.00,3708.00,3708.00,10,0
+2006-02-06,11:17:00,3708.00,3710.00,3708.00,3710.00,407,0
+2006-02-06,11:18:00,3710.00,3711.00,3710.00,3711.00,1026,0
+2006-02-06,11:19:00,3711.00,3711.00,3710.00,3710.00,467,0
+2006-02-06,11:20:00,3711.00,3711.00,3710.00,3710.00,48,0
+2006-02-06,11:21:00,3710.00,3711.00,3709.00,3711.00,477,0
+2006-02-06,11:22:00,3711.00,3712.00,3711.00,3711.00,204,0
+2006-02-06,11:23:00,3711.00,3712.00,3711.00,3711.00,7,0
+2006-02-06,11:24:00,3712.00,3713.00,3712.00,3712.00,230,0
+2006-02-06,11:25:00,3712.00,3712.00,3711.00,3711.00,75,0
+2006-02-06,11:26:00,3712.00,3712.00,3711.00,3712.00,9,0
+2006-02-06,11:27:00,3711.00,3711.00,3710.00,3711.00,347,0
+2006-02-06,11:28:00,3712.00,3712.00,3711.00,3711.00,128,0
+2006-02-06,11:29:00,3712.00,3712.00,3711.00,3711.00,330,0
+2006-02-06,11:30:00,3711.00,3712.00,3711.00,3712.00,173,0
+2006-02-06,11:31:00,3712.00,3712.00,3711.00,3712.00,688,0
+2006-02-06,11:32:00,3712.00,3712.00,3710.00,3710.00,209,0
+2006-02-06,11:33:00,3711.00,3711.00,3710.00,3710.00,36,0
+2006-02-06,11:34:00,3710.00,3711.00,3710.00,3711.00,355,0
+2006-02-06,11:35:00,3710.00,3710.00,3710.00,3710.00,5,0
+2006-02-06,11:36:00,3710.00,3710.00,3709.00,3710.00,284,0
+2006-02-06,11:37:00,3710.00,3710.00,3709.00,3709.00,79,0
+2006-02-06,11:38:00,3710.00,3710.00,3710.00,3710.00,279,0
+2006-02-06,11:39:00,3710.00,3710.00,3710.00,3710.00,34,0
+2006-02-06,11:40:00,3710.00,3711.00,3709.00,3709.00,155,0
+2006-02-06,11:41:00,3709.00,3710.00,3709.00,3709.00,402,0
+2006-02-06,11:42:00,3710.00,3710.00,3710.00,3710.00,11,0
+2006-02-06,11:43:00,3709.00,3709.00,3708.00,3709.00,358,0
+2006-02-06,11:44:00,3709.00,3710.00,3708.00,3708.00,162,0
+2006-02-06,11:45:00,3708.00,3709.00,3708.00,3708.00,78,0
+2006-02-06,11:46:00,3708.00,3708.00,3707.00,3708.00,1206,0
+2006-02-06,11:47:00,3708.00,3708.00,3708.00,3708.00,315,0
+2006-02-06,11:48:00,3708.00,3711.00,3708.00,3711.00,709,0
+2006-02-06,11:49:00,3711.00,3711.00,3710.00,3710.00,31,0
+2006-02-06,11:50:00,3710.00,3710.00,3710.00,3710.00,200,0
+2006-02-06,11:51:00,3710.00,3710.00,3710.00,3710.00,1,0
+2006-02-06,11:52:00,3710.00,3711.00,3710.00,3711.00,300,0
+2006-02-06,11:53:00,3712.00,3712.00,3711.00,3711.00,97,0
+2006-02-06,11:54:00,3712.00,3712.00,3711.00,3712.00,501,0
+2006-02-06,11:55:00,3712.00,3712.00,3711.00,3711.00,23,0
+2006-02-06,11:56:00,3711.00,3712.00,3711.00,3712.00,399,0
+2006-02-06,11:57:00,3712.00,3712.00,3712.00,3712.00,37,0
+2006-02-06,11:58:00,3711.00,3712.00,3710.00,3710.00,345,0
+2006-02-06,11:59:00,3710.00,3711.00,3710.00,3710.00,67,0
+2006-02-06,12:00:00,3710.00,3710.00,3709.00,3709.00,459,0
+2006-02-06,12:01:00,3709.00,3710.00,3708.00,3709.00,1556,0
+2006-02-06,12:02:00,3708.00,3709.00,3707.00,3708.00,608,0
+2006-02-06,12:03:00,3708.00,3709.00,3708.00,3709.00,1623,0
+2006-02-06,12:04:00,3709.00,3709.00,3707.00,3707.00,1084,0
+2006-02-06,12:05:00,3707.00,3709.00,3707.00,3709.00,495,0
+2006-02-06,12:06:00,3708.00,3710.00,3708.00,3710.00,172,0
+2006-02-06,12:07:00,3709.00,3709.00,3708.00,3709.00,179,0
+2006-02-06,12:08:00,3709.00,3709.00,3708.00,3708.00,150,0
+2006-02-06,12:09:00,3708.00,3708.00,3707.00,3707.00,101,0
+2006-02-06,12:10:00,3707.00,3708.00,3707.00,3707.00,4132,0
+2006-02-06,12:11:00,3707.00,3707.00,3706.00,3706.00,1858,0
+2006-02-06,12:12:00,3706.00,3707.00,3705.00,3706.00,1363,0
+2006-02-06,12:13:00,3705.00,3707.00,3705.00,3707.00,1177,0
+2006-02-06,12:14:00,3706.00,3706.00,3704.00,3705.00,472,0
+2006-02-06,12:15:00,3705.00,3705.00,3704.00,3704.00,244,0
+2006-02-06,12:16:00,3705.00,3706.00,3705.00,3706.00,752,0
+2006-02-06,12:17:00,3706.00,3707.00,3705.00,3706.00,350,0
+2006-02-06,12:18:00,3706.00,3707.00,3706.00,3706.00,247,0
+2006-02-06,12:19:00,3706.00,3706.00,3706.00,3706.00,15,0
+2006-02-06,12:20:00,3705.00,3706.00,3704.00,3706.00,496,0
+2006-02-06,12:21:00,3705.00,3706.00,3705.00,3706.00,61,0
+2006-02-06,12:22:00,3706.00,3706.00,3706.00,3706.00,32,0
+2006-02-06,12:23:00,3706.00,3707.00,3705.00,3706.00,648,0
+2006-02-06,12:24:00,3706.00,3706.00,3706.00,3706.00,12,0
+2006-02-06,12:25:00,3706.00,3707.00,3705.00,3705.00,385,0
+2006-02-06,12:26:00,3705.00,3705.00,3704.00,3705.00,40,0
+2006-02-06,12:27:00,3704.00,3705.00,3704.00,3704.00,29,0
+2006-02-06,12:28:00,3705.00,3705.00,3704.00,3705.00,22,0
+2006-02-06,12:29:00,3705.00,3706.00,3705.00,3705.00,627,0
+2006-02-06,12:30:00,3706.00,3706.00,3706.00,3706.00,12,0
+2006-02-06,12:31:00,3705.00,3706.00,3705.00,3706.00,132,0
+2006-02-06,12:32:00,3706.00,3707.00,3705.00,3707.00,204,0
+2006-02-06,12:33:00,3707.00,3708.00,3706.00,3707.00,623,0
+2006-02-06,12:34:00,3707.00,3707.00,3706.00,3706.00,8,0
+2006-02-06,12:35:00,3707.00,3707.00,3706.00,3707.00,366,0
+2006-02-06,12:36:00,3707.00,3709.00,3707.00,3708.00,302,0
+2006-02-06,12:37:00,3708.00,3709.00,3708.00,3708.00,414,0
+2006-02-06,12:38:00,3708.00,3708.00,3707.00,3707.00,20,0
+2006-02-06,12:40:00,3707.00,3707.00,3707.00,3707.00,1126,0
+2006-02-06,12:41:00,3708.00,3708.00,3708.00,3708.00,224,0
+2006-02-06,12:43:00,3707.00,3708.00,3707.00,3708.00,693,0
+2006-02-06,12:45:00,3707.00,3707.00,3707.00,3707.00,320,0
+2006-02-06,12:46:00,3707.00,3707.00,3706.00,3706.00,115,0
+2006-02-06,12:47:00,3706.00,3707.00,3706.00,3706.00,254,0
+2006-02-06,12:48:00,3707.00,3707.00,3706.00,3707.00,427,0
+2006-02-06,12:49:00,3707.00,3708.00,3707.00,3707.00,142,0
+2006-02-06,12:50:00,3707.00,3707.00,3705.00,3706.00,315,0
+2006-02-06,12:51:00,3705.00,3705.00,3705.00,3705.00,10,0
+2006-02-06,12:52:00,3705.00,3707.00,3705.00,3706.00,279,0
+2006-02-06,12:53:00,3706.00,3706.00,3706.00,3706.00,57,0
+2006-02-06,12:54:00,3707.00,3707.00,3705.00,3705.00,259,0
+2006-02-06,12:55:00,3705.00,3705.00,3704.00,3705.00,383,0
+2006-02-06,12:56:00,3704.00,3705.00,3704.00,3705.00,237,0
+2006-02-06,12:57:00,3706.00,3706.00,3705.00,3705.00,360,0
+2006-02-06,12:58:00,3705.00,3705.00,3704.00,3704.00,8,0
+2006-02-06,13:00:00,3705.00,3706.00,3705.00,3705.00,409,0
+2006-02-06,13:02:00,3705.00,3705.00,3705.00,3705.00,243,0
+2006-02-06,13:03:00,3705.00,3706.00,3705.00,3706.00,281,0
+2006-02-06,13:04:00,3706.00,3706.00,3706.00,3706.00,344,0
+2006-02-06,13:05:00,3707.00,3707.00,3706.00,3707.00,3413,0
+2006-02-06,13:06:00,3707.00,3707.00,3706.00,3707.00,526,0
+2006-02-06,13:07:00,3707.00,3707.00,3707.00,3707.00,9,0
+2006-02-06,13:08:00,3706.00,3707.00,3706.00,3707.00,313,0
+2006-02-06,13:09:00,3707.00,3707.00,3707.00,3707.00,157,0
+2006-02-06,13:10:00,3707.00,3707.00,3707.00,3707.00,45,0
+2006-02-06,13:11:00,3707.00,3708.00,3707.00,3707.00,840,0
+2006-02-06,13:12:00,3707.00,3707.00,3707.00,3707.00,90,0
+2006-02-06,13:13:00,3707.00,3707.00,3706.00,3706.00,6,0
+2006-02-06,13:14:00,3707.00,3707.00,3707.00,3707.00,161,0
+2006-02-06,13:16:00,3706.00,3706.00,3706.00,3706.00,75,0
+2006-02-06,13:17:00,3707.00,3707.00,3706.00,3706.00,312,0
+2006-02-06,13:18:00,3706.00,3707.00,3705.00,3705.00,71,0
+2006-02-06,13:19:00,3706.00,3706.00,3705.00,3705.00,19,0
+2006-02-06,13:21:00,3706.00,3706.00,3706.00,3706.00,72,0
+2006-02-06,13:22:00,3705.00,3705.00,3704.00,3704.00,92,0
+2006-02-06,13:23:00,3704.00,3705.00,3704.00,3704.00,350,0
+2006-02-06,13:24:00,3705.00,3706.00,3705.00,3706.00,373,0
+2006-02-06,13:25:00,3706.00,3706.00,3705.00,3705.00,14,0
+2006-02-06,13:26:00,3706.00,3706.00,3706.00,3706.00,186,0
+2006-02-06,13:27:00,3705.00,3705.00,3704.00,3704.00,320,0
+2006-02-06,13:28:00,3704.00,3704.00,3703.00,3704.00,728,0
+2006-02-06,13:29:00,3704.00,3704.00,3704.00,3704.00,252,0
+2006-02-06,13:30:00,3704.00,3704.00,3704.00,3704.00,101,0
+2006-02-06,13:31:00,3704.00,3704.00,3704.00,3704.00,129,0
+2006-02-06,13:32:00,3705.00,3705.00,3702.00,3702.00,592,0
+2006-02-06,13:33:00,3702.00,3703.00,3702.00,3702.00,338,0
+2006-02-06,13:34:00,3703.00,3703.00,3703.00,3703.00,357,0
+2006-02-06,13:35:00,3703.00,3704.00,3703.00,3703.00,326,0
+2006-02-06,13:36:00,3703.00,3703.00,3702.00,3702.00,170,0
+2006-02-06,13:37:00,3702.00,3703.00,3702.00,3702.00,442,0
+2006-02-06,13:38:00,3703.00,3704.00,3703.00,3704.00,106,0
+2006-02-06,13:39:00,3704.00,3705.00,3703.00,3704.00,415,0
+2006-02-06,13:40:00,3704.00,3704.00,3704.00,3704.00,66,0
+2006-02-06,13:41:00,3704.00,3704.00,3704.00,3704.00,1,0
+2006-02-06,13:42:00,3703.00,3703.00,3703.00,3703.00,33,0
+2006-02-06,13:43:00,3704.00,3704.00,3704.00,3704.00,65,0
+2006-02-06,13:44:00,3704.00,3704.00,3704.00,3704.00,11,0
+2006-02-06,13:45:00,3704.00,3704.00,3703.00,3704.00,24,0
+2006-02-06,13:46:00,3704.00,3704.00,3704.00,3704.00,58,0
+2006-02-06,13:47:00,3704.00,3704.00,3704.00,3704.00,216,0
+2006-02-06,13:48:00,3704.00,3704.00,3704.00,3704.00,21,0
+2006-02-06,13:49:00,3704.00,3705.00,3704.00,3704.00,43,0
+2006-02-06,13:50:00,3705.00,3705.00,3704.00,3705.00,311,0
+2006-02-06,13:51:00,3705.00,3705.00,3704.00,3704.00,353,0
+2006-02-06,13:52:00,3704.00,3704.00,3704.00,3704.00,86,0
+2006-02-06,13:53:00,3704.00,3704.00,3704.00,3704.00,30,0
+2006-02-06,13:54:00,3704.00,3704.00,3704.00,3704.00,282,0
+2006-02-06,13:55:00,3704.00,3704.00,3703.00,3704.00,166,0
+2006-02-06,13:56:00,3704.00,3704.00,3704.00,3704.00,10,0
+2006-02-06,13:57:00,3704.00,3704.00,3704.00,3704.00,43,0
+2006-02-06,13:58:00,3704.00,3705.00,3704.00,3705.00,280,0
+2006-02-06,13:59:00,3705.00,3705.00,3704.00,3705.00,124,0
+2006-02-06,14:00:00,3705.00,3705.00,3705.00,3705.00,83,0
+2006-02-06,14:01:00,3705.00,3706.00,3705.00,3705.00,273,0
+2006-02-06,14:02:00,3705.00,3705.00,3704.00,3705.00,88,0
+2006-02-06,14:03:00,3705.00,3705.00,3704.00,3705.00,174,0
+2006-02-06,14:04:00,3704.00,3704.00,3703.00,3704.00,338,0
+2006-02-06,14:05:00,3704.00,3704.00,3704.00,3704.00,112,0
+2006-02-06,14:06:00,3703.00,3703.00,3703.00,3703.00,362,0
+2006-02-06,14:07:00,3703.00,3703.00,3702.00,3703.00,571,0
+2006-02-06,14:08:00,3704.00,3704.00,3704.00,3704.00,1,0
+2006-02-06,14:09:00,3704.00,3704.00,3704.00,3704.00,35,0
+2006-02-06,14:10:00,3703.00,3703.00,3703.00,3703.00,2,0
+2006-02-06,14:11:00,3704.00,3704.00,3704.00,3704.00,25,0
+2006-02-06,14:12:00,3703.00,3703.00,3703.00,3703.00,37,0
+2006-02-06,14:13:00,3703.00,3703.00,3703.00,3703.00,215,0
+2006-02-06,14:14:00,3703.00,3704.00,3703.00,3704.00,373,0
+2006-02-06,14:15:00,3704.00,3705.00,3704.00,3705.00,296,0
+2006-02-06,14:16:00,3704.00,3706.00,3704.00,3705.00,702,0
+2006-02-06,14:17:00,3706.00,3707.00,3705.00,3707.00,633,0
+2006-02-06,14:18:00,3706.00,3708.00,3706.00,3707.00,888,0
+2006-02-06,14:19:00,3707.00,3707.00,3707.00,3707.00,288,0
+2006-02-06,14:20:00,3707.00,3707.00,3707.00,3707.00,354,0
+2006-02-06,14:21:00,3707.00,3707.00,3706.00,3706.00,187,0
+2006-02-06,14:22:00,3707.00,3707.00,3707.00,3707.00,362,0
+2006-02-06,14:23:00,3708.00,3708.00,3706.00,3706.00,437,0
+2006-02-06,14:24:00,3705.00,3706.00,3705.00,3706.00,5,0
+2006-02-06,14:25:00,3706.00,3707.00,3706.00,3707.00,572,0
+2006-02-06,14:26:00,3706.00,3707.00,3706.00,3707.00,46,0
+2006-02-06,14:27:00,3707.00,3708.00,3707.00,3708.00,290,0
+2006-02-06,14:28:00,3707.00,3707.00,3707.00,3707.00,210,0
+2006-02-06,14:29:00,3707.00,3708.00,3707.00,3707.00,97,0
+2006-02-06,14:30:00,3707.00,3707.00,3707.00,3707.00,1,0
+2006-02-06,14:31:00,3706.00,3707.00,3706.00,3707.00,10,0
+2006-02-06,14:32:00,3706.00,3708.00,3706.00,3707.00,1337,0
+2006-02-06,14:33:00,3707.00,3707.00,3705.00,3706.00,374,0
+2006-02-06,14:34:00,3706.00,3707.00,3705.00,3706.00,167,0
+2006-02-06,14:35:00,3706.00,3706.00,3705.00,3706.00,43,0
+2006-02-06,14:36:00,3706.00,3706.00,3705.00,3706.00,65,0
+2006-02-06,14:37:00,3706.00,3707.00,3706.00,3707.00,71,0
+2006-02-06,14:38:00,3706.00,3706.00,3706.00,3706.00,3,0
+2006-02-06,14:39:00,3706.00,3707.00,3705.00,3706.00,96,0
+2006-02-06,14:40:00,3707.00,3708.00,3707.00,3707.00,112,0
+2006-02-06,14:41:00,3708.00,3708.00,3707.00,3707.00,60,0
+2006-02-06,14:42:00,3707.00,3707.00,3707.00,3707.00,1,0
+2006-02-06,14:43:00,3706.00,3706.00,3706.00,3706.00,2,0
+2006-02-06,14:44:00,3706.00,3706.00,3706.00,3706.00,2,0
+2006-02-06,14:45:00,3706.00,3706.00,3706.00,3706.00,1,0
+2006-02-06,14:46:00,3707.00,3707.00,3706.00,3707.00,213,0
+2006-02-06,14:47:00,3707.00,3707.00,3705.00,3705.00,697,0
+2006-02-06,14:48:00,3706.00,3706.00,3705.00,3705.00,184,0
+2006-02-06,14:49:00,3705.00,3706.00,3705.00,3706.00,292,0
+2006-02-06,14:50:00,3706.00,3706.00,3705.00,3706.00,169,0
+2006-02-06,14:51:00,3706.00,3706.00,3705.00,3706.00,48,0
+2006-02-06,14:52:00,3705.00,3706.00,3705.00,3706.00,11,0
+2006-02-06,14:53:00,3705.00,3706.00,3705.00,3706.00,226,0
+2006-02-06,14:54:00,3706.00,3706.00,3705.00,3706.00,19,0
+2006-02-06,14:55:00,3705.00,3706.00,3705.00,3706.00,71,0
+2006-02-06,14:56:00,3706.00,3706.00,3706.00,3706.00,3,0
+2006-02-06,14:57:00,3706.00,3706.00,3706.00,3706.00,22,0
+2006-02-06,14:58:00,3706.00,3706.00,3706.00,3706.00,111,0
+2006-02-06,14:59:00,3705.00,3705.00,3705.00,3705.00,25,0
+2006-02-06,15:00:00,3705.00,3706.00,3705.00,3706.00,278,0
+2006-02-06,15:01:00,3706.00,3706.00,3706.00,3706.00,62,0
+2006-02-06,15:02:00,3707.00,3707.00,3705.00,3705.00,201,0
+2006-02-06,15:03:00,3706.00,3706.00,3706.00,3706.00,10,0
+2006-02-06,15:04:00,3706.00,3706.00,3706.00,3706.00,1,0
+2006-02-06,15:05:00,3706.00,3706.00,3705.00,3706.00,13,0
+2006-02-06,15:07:00,3706.00,3706.00,3706.00,3706.00,5,0
+2006-02-06,15:08:00,3705.00,3705.00,3702.00,3703.00,1422,0
+2006-02-06,15:09:00,3703.00,3703.00,3701.00,3702.00,921,0
+2006-02-06,15:10:00,3702.00,3702.00,3698.00,3698.00,3695,0
+2006-02-06,15:11:00,3699.00,3700.00,3695.00,3697.00,2533,0
+2006-02-06,15:12:00,3697.00,3700.00,3696.00,3698.00,1928,0
+2006-02-06,15:13:00,3698.00,3699.00,3698.00,3699.00,150,0
+2006-02-06,15:14:00,3699.00,3699.00,3698.00,3698.00,862,0
+2006-02-06,15:15:00,3699.00,3700.00,3699.00,3699.00,136,0
+2006-02-06,15:16:00,3699.00,3700.00,3698.00,3700.00,1450,0
+2006-02-06,15:17:00,3700.00,3702.00,3700.00,3701.00,1132,0
+2006-02-06,15:18:00,3702.00,3702.00,3700.00,3700.00,404,0
+2006-02-06,15:19:00,3700.00,3702.00,3700.00,3702.00,523,0
+2006-02-06,15:20:00,3702.00,3702.00,3702.00,3702.00,502,0
+2006-02-06,15:21:00,3701.00,3702.00,3700.00,3701.00,287,0
+2006-02-06,15:22:00,3701.00,3701.00,3701.00,3701.00,31,0
+2006-02-06,15:23:00,3702.00,3702.00,3699.00,3699.00,731,0
+2006-02-06,15:24:00,3699.00,3700.00,3698.00,3698.00,630,0
+2006-02-06,15:25:00,3697.00,3698.00,3696.00,3697.00,1062,0
+2006-02-06,15:26:00,3696.00,3697.00,3696.00,3697.00,164,0
+2006-02-06,15:27:00,3697.00,3698.00,3696.00,3698.00,789,0
+2006-02-06,15:28:00,3698.00,3698.00,3697.00,3698.00,133,0
+2006-02-06,15:29:00,3697.00,3697.00,3697.00,3697.00,332,0
+2006-02-06,15:30:00,3697.00,3698.00,3697.00,3697.00,297,0
+2006-02-06,15:31:00,3697.00,3698.00,3695.00,3696.00,1133,0
+2006-02-06,15:32:00,3694.00,3696.00,3694.00,3695.00,1152,0
+2006-02-06,15:33:00,3696.00,3698.00,3695.00,3698.00,420,0
+2006-02-06,15:34:00,3698.00,3698.00,3697.00,3698.00,241,0
+2006-02-06,15:35:00,3698.00,3699.00,3697.00,3698.00,731,0
+2006-02-06,15:36:00,3698.00,3700.00,3697.00,3700.00,892,0
+2006-02-06,15:37:00,3700.00,3701.00,3699.00,3701.00,439,0
+2006-02-06,15:38:00,3701.00,3702.00,3700.00,3701.00,1006,0
+2006-02-06,15:39:00,3701.00,3702.00,3699.00,3700.00,1184,0
+2006-02-06,15:40:00,3700.00,3701.00,3700.00,3701.00,477,0
+2006-02-06,15:41:00,3701.00,3702.00,3699.00,3701.00,809,0
+2006-02-06,15:42:00,3701.00,3702.00,3700.00,3702.00,670,0
+2006-02-06,15:43:00,3702.00,3704.00,3701.00,3703.00,961,0
+2006-02-06,15:44:00,3702.00,3702.00,3699.00,3699.00,747,0
+2006-02-06,15:45:00,3700.00,3701.00,3699.00,3700.00,402,0
+2006-02-06,15:46:00,3701.00,3704.00,3701.00,3701.00,1249,0
+2006-02-06,15:47:00,3701.00,3701.00,3700.00,3701.00,853,0
+2006-02-06,15:48:00,3702.00,3702.00,3701.00,3702.00,462,0
+2006-02-06,15:49:00,3701.00,3701.00,3700.00,3701.00,493,0
+2006-02-06,15:50:00,3700.00,3701.00,3700.00,3700.00,170,0
+2006-02-06,15:51:00,3700.00,3701.00,3700.00,3700.00,1205,0
+2006-02-06,15:52:00,3701.00,3702.00,3701.00,3701.00,824,0
+2006-02-06,15:53:00,3701.00,3702.00,3701.00,3702.00,202,0
+2006-02-06,15:54:00,3701.00,3702.00,3700.00,3700.00,366,0
+2006-02-06,15:55:00,3700.00,3701.00,3700.00,3700.00,327,0
+2006-02-06,15:56:00,3701.00,3701.00,3697.00,3697.00,2049,0
+2006-02-06,15:57:00,3697.00,3697.00,3695.00,3696.00,1547,0
+2006-02-06,15:58:00,3695.00,3696.00,3695.00,3696.00,1823,0
+2006-02-06,15:59:00,3696.00,3696.00,3695.00,3695.00,1073,0
+2006-02-06,16:00:00,3695.00,3695.00,3695.00,3695.00,10,0
+2006-02-06,16:01:00,3697.00,3697.00,3697.00,3697.00,2,0
+2006-02-06,16:02:00,3696.00,3697.00,3696.00,3697.00,291,0
+2006-02-06,16:03:00,3696.00,3696.00,3696.00,3696.00,1,0
+2006-02-06,16:04:00,3698.00,3698.00,3698.00,3698.00,2,0
+2006-02-06,16:05:00,3699.00,3699.00,3699.00,3699.00,100,0
+2006-02-06,16:06:00,3699.00,3699.00,3699.00,3699.00,1,0
+2006-02-06,16:07:00,3699.00,3699.00,3699.00,3699.00,40,0
+2006-02-06,16:08:00,3699.00,3699.00,3699.00,3699.00,7,0
+2006-02-06,16:09:00,3697.00,3697.00,3697.00,3697.00,100,0
+2006-02-06,16:10:00,3698.00,3698.00,3698.00,3698.00,1,0
+2006-02-06,16:11:00,3696.00,3696.00,3695.00,3696.00,474,0
+2006-02-06,16:12:00,3697.00,3697.00,3697.00,3697.00,7,0
+2006-02-06,16:13:00,3697.00,3697.00,3697.00,3697.00,50,0
+2006-02-06,16:14:00,3699.00,3699.00,3699.00,3699.00,10,0
+2006-02-06,16:15:00,3697.00,3697.00,3697.00,3697.00,1,0
+2006-02-06,16:16:00,3697.00,3697.00,3697.00,3697.00,198,0
+2006-02-06,16:17:00,3693.00,3693.00,3693.00,3693.00,8,0
+2006-02-06,16:18:00,3694.00,3694.00,3694.00,3694.00,2,0
+2006-02-06,16:19:00,3691.00,3691.00,3691.00,3691.00,100,0
+2006-02-06,16:20:00,3691.00,3692.00,3688.00,3689.00,5463,0
+2006-02-06,16:21:00,3689.00,3689.00,3689.00,3689.00,15,0
+2006-02-06,16:22:00,3689.00,3689.00,3689.00,3689.00,2,0
+2006-02-06,16:23:00,3689.00,3689.00,3689.00,3689.00,1,0
+2006-02-06,16:24:00,3689.00,3690.00,3688.00,3690.00,519,0
+2006-02-06,16:25:00,3690.00,3690.00,3690.00,3690.00,200,0
+2006-02-06,16:26:00,3689.00,3689.00,3689.00,3689.00,230,0
+2006-02-06,16:27:00,3684.00,3684.00,3684.00,3684.00,10,0
+2006-02-06,16:28:00,3685.00,3686.00,3685.00,3686.00,757,0
+2006-02-06,16:29:00,3686.00,3686.00,3686.00,3686.00,100,0
+2006-02-06,16:30:00,3682.00,3682.00,3682.00,3682.00,1,0
+2006-02-06,16:31:00,3681.00,3681.00,3681.00,3681.00,20,0
+2006-02-06,16:32:00,3683.00,3683.00,3682.00,3682.00,626,0
+2006-02-06,16:33:00,3682.00,3682.00,3682.00,3682.00,1,0
+2006-02-06,16:34:00,3684.00,3684.00,3684.00,3684.00,5,0
+2006-02-06,16:35:00,3684.00,3686.00,3684.00,3686.00,1248,0
+2006-02-06,16:36:00,3686.00,3686.00,3686.00,3686.00,4,0
+2006-02-06,16:37:00,3686.00,3686.00,3686.00,3686.00,20,0
+2006-02-06,16:38:00,3685.00,3685.00,3685.00,3685.00,10,0
+2006-02-06,16:39:00,3682.00,3683.00,3682.00,3683.00,370,0
+2006-02-06,16:40:00,3684.00,3684.00,3684.00,3684.00,1,0
+2006-02-06,16:41:00,3687.00,3687.00,3687.00,3687.00,6,0
+2006-02-06,16:42:00,3688.00,3688.00,3687.00,3688.00,614,0
+2006-02-06,16:43:00,3687.00,3687.00,3687.00,3687.00,10,0
+2006-02-06,16:44:00,3688.00,3688.00,3688.00,3688.00,2,0
+2006-02-06,16:45:00,3686.00,3687.00,3685.00,3686.00,840,0
+2006-02-06,16:46:00,3687.00,3687.00,3687.00,3687.00,10,0
+2006-02-06,16:47:00,3687.00,3687.00,3687.00,3687.00,1,0
+2006-02-06,16:48:00,3687.00,3690.00,3687.00,3689.00,1514,0
+2006-02-06,16:49:00,3689.00,3689.00,3689.00,3689.00,1,0
+2006-02-06,16:50:00,3689.00,3689.00,3689.00,3689.00,30,0
+2006-02-06,16:51:00,3688.00,3689.00,3688.00,3689.00,346,0
+2006-02-06,16:52:00,3689.00,3689.00,3689.00,3689.00,5,0
+2006-02-06,16:53:00,3688.00,3688.00,3688.00,3688.00,132,0
+2006-02-06,16:54:00,3687.00,3689.00,3686.00,3689.00,1428,0
+2006-02-06,16:55:00,3689.00,3690.00,3687.00,3688.00,1235,0
+2006-02-06,16:56:00,3688.00,3689.00,3687.00,3689.00,411,0
+2006-02-06,16:57:00,3689.00,3689.00,3688.00,3688.00,949,0
+2006-02-06,16:58:00,3689.00,3689.00,3688.00,3688.00,729,0
+2006-02-06,16:59:00,3688.00,3688.00,3686.00,3686.00,1696,0
+2006-02-06,17:00:00,3687.00,3689.00,3686.00,3688.00,1327,0
+2006-02-06,17:01:00,3688.00,3689.00,3687.00,3689.00,992,0
+2006-02-06,17:02:00,3688.00,3689.00,3688.00,3689.00,125,0
+2006-02-06,17:03:00,3689.00,3689.00,3689.00,3689.00,310,0
+2006-02-06,17:04:00,3689.00,3690.00,3687.00,3690.00,944,0
+2006-02-06,17:05:00,3690.00,3693.00,3690.00,3693.00,4112,0
+2006-02-06,17:06:00,3693.00,3695.00,3692.00,3695.00,2320,0
+2006-02-06,17:07:00,3695.00,3695.00,3694.00,3694.00,1754,0
+2006-02-06,17:08:00,3694.00,3694.00,3693.00,3694.00,1017,0
+2006-02-06,17:09:00,3694.00,3695.00,3692.00,3693.00,1012,0
+2006-02-06,17:10:00,3693.00,3695.00,3693.00,3694.00,985,0
+2006-02-06,17:11:00,3694.00,3695.00,3694.00,3694.00,414,0
+2006-02-06,17:12:00,3694.00,3694.00,3693.00,3693.00,464,0
+2006-02-06,17:13:00,3693.00,3694.00,3693.00,3693.00,554,0
+2006-02-06,17:14:00,3694.00,3695.00,3693.00,3694.00,1112,0
+2006-02-06,17:15:00,3694.00,3695.00,3694.00,3694.00,400,0
+2006-02-06,17:16:00,3693.00,3694.00,3692.00,3693.00,1195,0
+2006-02-06,17:17:00,3693.00,3694.00,3693.00,3693.00,162,0
+2006-02-06,17:18:00,3693.00,3693.00,3692.00,3693.00,693,0
+2006-02-06,17:19:00,3693.00,3693.00,3692.00,3692.00,468,0
+2006-02-06,17:20:00,3693.00,3694.00,3693.00,3694.00,417,0
+2006-02-06,17:21:00,3694.00,3694.00,3691.00,3691.00,1351,0
+2006-02-06,17:22:00,3691.00,3693.00,3691.00,3691.00,741,0
+2006-02-06,17:23:00,3691.00,3691.00,3690.00,3690.00,434,0
+2006-02-06,17:24:00,3690.00,3691.00,3689.00,3690.00,1472,0
+2006-02-06,17:25:00,3690.00,3691.00,3689.00,3690.00,693,0
+2006-02-06,17:26:00,3691.00,3691.00,3690.00,3691.00,491,0
+2006-02-06,17:27:00,3691.00,3692.00,3691.00,3692.00,637,0
+2006-02-06,17:28:00,3692.00,3692.00,3690.00,3691.00,1368,0
+2006-02-06,17:29:00,3691.00,3692.00,3691.00,3692.00,989,0
+2006-02-06,17:30:00,3691.00,3692.00,3690.00,3690.00,2990,0
+2006-02-06,17:31:00,3691.00,3693.00,3690.00,3692.00,2495,0
+2006-02-06,17:32:00,3693.00,3694.00,3692.00,3693.00,1687,0
+2006-02-06,17:33:00,3693.00,3693.00,3692.00,3693.00,377,0
+2006-02-06,17:34:00,3692.00,3693.00,3692.00,3693.00,743,0
+2006-02-06,17:35:00,3693.00,3693.00,3692.00,3692.00,408,0
+2006-02-06,17:36:00,3692.00,3693.00,3691.00,3691.00,1162,0
+2006-02-06,17:37:00,3691.00,3693.00,3691.00,3692.00,941,0
+2006-02-06,17:38:00,3692.00,3693.00,3692.00,3692.00,314,0
+2006-02-06,17:39:00,3693.00,3693.00,3692.00,3693.00,1033,0
+2006-02-06,17:40:00,3694.00,3694.00,3691.00,3691.00,1182,0
+2006-02-06,17:41:00,3692.00,3692.00,3691.00,3692.00,344,0
+2006-02-06,17:42:00,3693.00,3695.00,3693.00,3695.00,790,0
+2006-02-06,17:43:00,3695.00,3696.00,3693.00,3695.00,881,0
+2006-02-06,17:44:00,3694.00,3694.00,3692.00,3693.00,406,0
+2006-02-06,17:45:00,3693.00,3694.00,3693.00,3693.00,376,0
+2006-02-06,17:46:00,3693.00,3693.00,3691.00,3691.00,1545,0
+2006-02-06,17:47:00,3691.00,3691.00,3690.00,3691.00,772,0
+2006-02-06,17:48:00,3692.00,3693.00,3692.00,3692.00,453,0
+2006-02-06,17:49:00,3693.00,3696.00,3693.00,3694.00,583,0
+2006-02-06,17:50:00,3695.00,3695.00,3694.00,3695.00,21,0
+2006-02-06,17:51:00,3695.00,3696.00,3695.00,3695.00,382,0
+2006-02-06,17:52:00,3695.00,3696.00,3695.00,3695.00,356,0
+2006-02-06,17:53:00,3696.00,3696.00,3695.00,3695.00,188,0
+2006-02-06,17:54:00,3695.00,3695.00,3693.00,3693.00,291,0
+2006-02-06,17:55:00,3692.00,3693.00,3692.00,3693.00,25,0
+2006-02-06,17:56:00,3693.00,3693.00,3693.00,3693.00,150,0
+2006-02-06,17:57:00,3693.00,3695.00,3693.00,3695.00,259,0
+2006-02-06,17:58:00,3695.00,3695.00,3695.00,3695.00,57,0
+2006-02-06,17:59:00,3695.00,3695.00,3695.00,3695.00,118,0
+2006-02-06,18:00:00,3695.00,3695.00,3694.00,3694.00,306,0
+2006-02-06,18:01:00,3695.00,3696.00,3695.00,3695.00,592,0
+2006-02-06,18:02:00,3696.00,3696.00,3695.00,3695.00,64,0
+2006-02-06,18:03:00,3696.00,3698.00,3696.00,3697.00,258,0
+2006-02-06,18:04:00,3697.00,3697.00,3696.00,3697.00,347,0
+2006-02-06,18:05:00,3696.00,3696.00,3696.00,3696.00,190,0
+2006-02-06,18:06:00,3696.00,3697.00,3696.00,3697.00,223,0
+2006-02-06,18:07:00,3697.00,3700.00,3697.00,3698.00,1475,0
+2006-02-06,18:08:00,3698.00,3698.00,3697.00,3697.00,459,0
+2006-02-06,18:09:00,3696.00,3696.00,3695.00,3696.00,322,0
+2006-02-06,18:10:00,3696.00,3696.00,3694.00,3694.00,449,0
+2006-02-06,18:11:00,3694.00,3695.00,3692.00,3695.00,385,0
+2006-02-06,18:12:00,3694.00,3695.00,3694.00,3695.00,83,0
+2006-02-06,18:13:00,3695.00,3696.00,3695.00,3695.00,77,0
+2006-02-06,18:14:00,3696.00,3697.00,3696.00,3696.00,361,0
+2006-02-06,18:15:00,3696.00,3696.00,3695.00,3696.00,168,0
+2006-02-06,18:16:00,3695.00,3695.00,3695.00,3695.00,40,0
+2006-02-06,18:17:00,3696.00,3696.00,3695.00,3695.00,58,0
+2006-02-06,18:18:00,3695.00,3695.00,3694.00,3694.00,116,0
+2006-02-06,18:19:00,3694.00,3694.00,3692.00,3693.00,1100,0
+2006-02-06,18:20:00,3693.00,3693.00,3692.00,3693.00,330,0
+2006-02-06,18:21:00,3692.00,3693.00,3692.00,3693.00,250,0
+2006-02-06,18:22:00,3692.00,3692.00,3690.00,3690.00,1013,0
+2006-02-06,18:23:00,3690.00,3691.00,3690.00,3691.00,128,0
+2006-02-06,18:24:00,3691.00,3691.00,3691.00,3691.00,115,0
+2006-02-06,18:25:00,3691.00,3692.00,3691.00,3691.00,229,0
+2006-02-06,18:26:00,3691.00,3691.00,3690.00,3690.00,245,0
+2006-02-06,18:27:00,3689.00,3692.00,3689.00,3692.00,393,0
+2006-02-06,18:28:00,3692.00,3692.00,3692.00,3692.00,35,0
+2006-02-06,18:29:00,3692.00,3692.00,3691.00,3691.00,127,0
+2006-02-06,18:30:00,3692.00,3692.00,3691.00,3691.00,107,0
+2006-02-06,18:31:00,3691.00,3692.00,3691.00,3692.00,193,0
+2006-02-06,18:32:00,3692.00,3692.00,3691.00,3691.00,227,0
+2006-02-06,18:33:00,3691.00,3691.00,3690.00,3691.00,137,0
+2006-02-06,18:34:00,3691.00,3691.00,3690.00,3691.00,228,0
+2006-02-06,18:35:00,3691.00,3691.00,3691.00,3691.00,16,0
+2006-02-06,18:36:00,3691.00,3691.00,3691.00,3691.00,59,0
+2006-02-06,18:37:00,3690.00,3691.00,3690.00,3691.00,21,0
+2006-02-06,18:39:00,3691.00,3691.00,3691.00,3691.00,206,0
+2006-02-06,18:40:00,3691.00,3691.00,3690.00,3691.00,243,0
+2006-02-06,18:41:00,3691.00,3691.00,3691.00,3691.00,55,0
+2006-02-06,18:42:00,3691.00,3691.00,3691.00,3691.00,32,0
+2006-02-06,18:44:00,3691.00,3693.00,3691.00,3693.00,329,0
+2006-02-06,18:45:00,3692.00,3692.00,3692.00,3692.00,342,0
+2006-02-06,18:46:00,3692.00,3692.00,3691.00,3692.00,131,0
+2006-02-06,18:47:00,3691.00,3692.00,3691.00,3691.00,58,0
+2006-02-06,18:48:00,3691.00,3692.00,3691.00,3692.00,23,0
+2006-02-06,18:49:00,3692.00,3692.00,3692.00,3692.00,86,0
+2006-02-06,18:50:00,3692.00,3692.00,3692.00,3692.00,40,0
+2006-02-06,18:51:00,3693.00,3693.00,3692.00,3692.00,20,0
+2006-02-06,18:52:00,3692.00,3692.00,3692.00,3692.00,96,0
+2006-02-06,18:53:00,3692.00,3692.00,3692.00,3692.00,28,0
+2006-02-06,18:54:00,3692.00,3692.00,3692.00,3692.00,25,0
+2006-02-06,18:55:00,3691.00,3691.00,3691.00,3691.00,10,0
+2006-02-06,18:56:00,3691.00,3692.00,3691.00,3692.00,164,0
+2006-02-06,18:57:00,3692.00,3692.00,3690.00,3691.00,387,0
+2006-02-06,18:58:00,3692.00,3692.00,3691.00,3691.00,75,0
+2006-02-06,18:59:00,3692.00,3692.00,3691.00,3691.00,32,0
+2006-02-06,19:00:00,3690.00,3691.00,3690.00,3691.00,165,0
+2006-02-06,19:01:00,3691.00,3692.00,3691.00,3692.00,51,0
+2006-02-06,19:02:00,3691.00,3692.00,3691.00,3692.00,28,0
+2006-02-06,19:03:00,3692.00,3692.00,3691.00,3692.00,69,0
+2006-02-06,19:04:00,3693.00,3693.00,3692.00,3693.00,73,0
+2006-02-06,19:05:00,3693.00,3694.00,3692.00,3693.00,110,0
+2006-02-06,19:06:00,3692.00,3693.00,3692.00,3693.00,24,0
+2006-02-06,19:07:00,3693.00,3693.00,3693.00,3693.00,12,0
+2006-02-06,19:08:00,3693.00,3693.00,3693.00,3693.00,12,0
+2006-02-06,19:09:00,3693.00,3693.00,3693.00,3693.00,12,0
+2006-02-06,19:10:00,3693.00,3695.00,3693.00,3694.00,160,0
+2006-02-06,19:11:00,3695.00,3695.00,3695.00,3695.00,78,0
+2006-02-06,19:12:00,3695.00,3696.00,3695.00,3695.00,19,0
+2006-02-06,19:13:00,3695.00,3695.00,3695.00,3695.00,62,0
+2006-02-06,19:14:00,3695.00,3695.00,3694.00,3694.00,13,0
+2006-02-06,19:15:00,3695.00,3695.00,3693.00,3693.00,319,0
+2006-02-06,19:16:00,3692.00,3693.00,3692.00,3693.00,179,0
+2006-02-06,19:17:00,3692.00,3693.00,3692.00,3693.00,22,0
+2006-02-06,19:18:00,3693.00,3693.00,3693.00,3693.00,28,0
+2006-02-06,19:19:00,3693.00,3693.00,3693.00,3693.00,43,0
+2006-02-06,19:20:00,3693.00,3693.00,3690.00,3690.00,272,0
+2006-02-06,19:21:00,3691.00,3691.00,3690.00,3691.00,69,0
+2006-02-06,19:22:00,3691.00,3691.00,3691.00,3691.00,12,0
+2006-02-06,19:23:00,3691.00,3692.00,3691.00,3691.00,270,0
+2006-02-06,19:24:00,3691.00,3691.00,3690.00,3690.00,29,0
+2006-02-06,19:25:00,3691.00,3691.00,3691.00,3691.00,36,0
+2006-02-06,19:26:00,3691.00,3692.00,3691.00,3692.00,243,0
+2006-02-06,19:27:00,3693.00,3693.00,3692.00,3692.00,35,0
+2006-02-06,19:29:00,3691.00,3691.00,3691.00,3691.00,10,0
+2006-02-06,19:30:00,3692.00,3692.00,3691.00,3692.00,22,0
+2006-02-06,19:31:00,3692.00,3696.00,3692.00,3695.00,388,0
+2006-02-06,19:32:00,3694.00,3694.00,3693.00,3694.00,58,0
+2006-02-06,19:33:00,3693.00,3693.00,3693.00,3693.00,10,0
+2006-02-06,19:34:00,3694.00,3694.00,3694.00,3694.00,46,0
+2006-02-06,19:35:00,3694.00,3694.00,3693.00,3693.00,107,0
+2006-02-06,19:36:00,3694.00,3694.00,3692.00,3692.00,118,0
+2006-02-06,19:37:00,3692.00,3692.00,3691.00,3691.00,206,0
+2006-02-06,19:38:00,3691.00,3691.00,3691.00,3691.00,61,0
+2006-02-06,19:39:00,3691.00,3691.00,3691.00,3691.00,13,0
+2006-02-06,19:40:00,3690.00,3690.00,3690.00,3690.00,14,0
+2006-02-06,19:41:00,3690.00,3691.00,3690.00,3691.00,100,0
+2006-02-06,19:42:00,3691.00,3691.00,3691.00,3691.00,36,0
+2006-02-06,19:43:00,3691.00,3691.00,3690.00,3691.00,234,0
+2006-02-06,19:44:00,3691.00,3692.00,3691.00,3692.00,47,0
+2006-02-06,19:45:00,3692.00,3692.00,3692.00,3692.00,8,0
+2006-02-06,19:46:00,3692.00,3692.00,3692.00,3692.00,74,0
+2006-02-06,19:47:00,3692.00,3692.00,3692.00,3692.00,50,0
+2006-02-06,19:48:00,3692.00,3692.00,3690.00,3690.00,1244,0
+2006-02-06,19:49:00,3691.00,3691.00,3691.00,3691.00,1,0
+2006-02-06,19:50:00,3691.00,3692.00,3691.00,3691.00,84,0
+2006-02-06,19:51:00,3691.00,3691.00,3688.00,3688.00,757,0
+2006-02-06,19:52:00,3688.00,3689.00,3687.00,3688.00,753,0
+2006-02-06,19:53:00,3689.00,3689.00,3688.00,3688.00,24,0
+2006-02-06,19:54:00,3688.00,3689.00,3688.00,3688.00,214,0
+2006-02-06,19:55:00,3688.00,3688.00,3687.00,3688.00,346,0
+2006-02-06,19:56:00,3688.00,3689.00,3688.00,3688.00,34,0
+2006-02-06,19:57:00,3689.00,3689.00,3689.00,3689.00,1,0
+2006-02-06,19:58:00,3688.00,3690.00,3688.00,3689.00,255,0
+2006-02-06,19:59:00,3689.00,3689.00,3689.00,3689.00,22,0
+2006-02-06,20:00:00,3690.00,3691.00,3690.00,3690.00,175,0
+2006-02-06,20:01:00,3689.00,3689.00,3686.00,3686.00,509,0
+2006-02-06,20:02:00,3686.00,3686.00,3686.00,3686.00,153,0
+2006-02-06,20:03:00,3685.00,3686.00,3682.00,3683.00,1216,0
+2006-02-06,20:04:00,3683.00,3684.00,3681.00,3683.00,282,0
+2006-02-06,20:05:00,3683.00,3684.00,3681.00,3683.00,530,0
+2006-02-06,20:06:00,3683.00,3684.00,3683.00,3684.00,107,0
+2006-02-06,20:07:00,3684.00,3684.00,3684.00,3684.00,59,0
+2006-02-06,20:08:00,3685.00,3685.00,3685.00,3685.00,138,0
+2006-02-06,20:09:00,3684.00,3684.00,3684.00,3684.00,101,0
+2006-02-06,20:11:00,3684.00,3684.00,3684.00,3684.00,10,0
+2006-02-06,20:12:00,3684.00,3684.00,3684.00,3684.00,46,0
+2006-02-06,20:13:00,3684.00,3684.00,3684.00,3684.00,131,0
+2006-02-06,20:14:00,3684.00,3684.00,3684.00,3684.00,21,0
+2006-02-06,20:15:00,3684.00,3684.00,3684.00,3684.00,54,0
+2006-02-06,20:16:00,3684.00,3684.00,3683.00,3683.00,20,0
+2006-02-06,20:18:00,3684.00,3684.00,3682.00,3684.00,165,0
+2006-02-06,20:20:00,3683.00,3683.00,3683.00,3683.00,114,0
+2006-02-06,20:21:00,3683.00,3683.00,3681.00,3682.00,615,0
+2006-02-06,20:22:00,3683.00,3683.00,3683.00,3683.00,15,0
+2006-02-06,20:23:00,3683.00,3683.00,3683.00,3683.00,33,0
+2006-02-06,20:24:00,3683.00,3683.00,3683.00,3683.00,1,0
+2006-02-06,20:25:00,3684.00,3684.00,3684.00,3684.00,22,0
+2006-02-06,20:26:00,3684.00,3684.00,3684.00,3684.00,6,0
+2006-02-06,20:27:00,3683.00,3683.00,3683.00,3683.00,29,0
+2006-02-06,20:29:00,3684.00,3684.00,3684.00,3684.00,5,0
+2006-02-06,20:31:00,3683.00,3683.00,3683.00,3683.00,46,0
+2006-02-06,20:32:00,3684.00,3685.00,3684.00,3685.00,138,0
+2006-02-06,20:33:00,3685.00,3685.00,3685.00,3685.00,5,0
+2006-02-06,20:34:00,3685.00,3686.00,3685.00,3685.00,43,0
+2006-02-06,20:36:00,3685.00,3686.00,3685.00,3685.00,38,0
+2006-02-06,20:37:00,3685.00,3685.00,3685.00,3685.00,148,0
+2006-02-06,20:38:00,3686.00,3686.00,3686.00,3686.00,81,0
+2006-02-06,20:39:00,3686.00,3686.00,3686.00,3686.00,42,0
+2006-02-06,20:40:00,3686.00,3686.00,3685.00,3685.00,46,0
+2006-02-06,20:41:00,3684.00,3685.00,3683.00,3685.00,42,0
+2006-02-06,20:42:00,3684.00,3684.00,3683.00,3683.00,19,0
+2006-02-06,20:43:00,3684.00,3684.00,3684.00,3684.00,30,0
+2006-02-06,20:44:00,3685.00,3685.00,3685.00,3685.00,58,0
+2006-02-06,20:46:00,3686.00,3686.00,3686.00,3686.00,83,0
+2006-02-06,20:47:00,3685.00,3686.00,3685.00,3686.00,39,0
+2006-02-06,20:48:00,3685.00,3685.00,3685.00,3685.00,26,0
+2006-02-06,20:49:00,3685.00,3685.00,3685.00,3685.00,1,0
+2006-02-06,20:51:00,3685.00,3685.00,3685.00,3685.00,15,0
+2006-02-06,20:53:00,3686.00,3688.00,3686.00,3688.00,119,0
+2006-02-06,20:54:00,3687.00,3687.00,3686.00,3686.00,62,0
+2006-02-06,20:55:00,3686.00,3686.00,3686.00,3686.00,3,0
+2006-02-06,20:56:00,3686.00,3686.00,3686.00,3686.00,10,0
+2006-02-06,20:57:00,3686.00,3686.00,3686.00,3686.00,9,0
+2006-02-06,21:01:00,3686.00,3686.00,3686.00,3686.00,12,0
+2006-02-06,21:02:00,3687.00,3687.00,3687.00,3687.00,20,0
+2006-02-06,21:03:00,3687.00,3687.00,3687.00,3687.00,279,0
+2006-02-06,21:05:00,3686.00,3686.00,3686.00,3686.00,57,0
+2006-02-06,21:06:00,3687.00,3687.00,3686.00,3687.00,167,0
+2006-02-06,21:07:00,3687.00,3689.00,3687.00,3688.00,182,0
+2006-02-06,21:08:00,3688.00,3689.00,3688.00,3689.00,53,0
+2006-02-06,21:09:00,3690.00,3690.00,3689.00,3689.00,60,0
+2006-02-06,21:12:00,3689.00,3689.00,3689.00,3689.00,3,0
+2006-02-06,21:13:00,3689.00,3689.00,3689.00,3689.00,29,0
+2006-02-06,21:14:00,3690.00,3691.00,3690.00,3690.00,40,0
+2006-02-06,21:15:00,3690.00,3690.00,3690.00,3690.00,10,0
+2006-02-06,21:16:00,3690.00,3690.00,3690.00,3690.00,5,0
+2006-02-06,21:17:00,3690.00,3690.00,3690.00,3690.00,7,0
+2006-02-06,21:18:00,3690.00,3690.00,3690.00,3690.00,4,0
+2006-02-06,21:19:00,3690.00,3690.00,3690.00,3690.00,10,0
+2006-02-06,21:20:00,3690.00,3690.00,3690.00,3690.00,15,0
+2006-02-06,21:21:00,3690.00,3690.00,3690.00,3690.00,12,0
+2006-02-06,21:22:00,3691.00,3691.00,3690.00,3690.00,26,0
+2006-02-06,21:23:00,3691.00,3691.00,3691.00,3691.00,23,0
+2006-02-06,21:28:00,3691.00,3691.00,3691.00,3691.00,2,0
+2006-02-06,21:29:00,3691.00,3691.00,3691.00,3691.00,10,0
+2006-02-06,21:30:00,3691.00,3691.00,3691.00,3691.00,9,0
+2006-02-06,21:31:00,3691.00,3692.00,3691.00,3692.00,30,0
+2006-02-06,21:32:00,3691.00,3691.00,3691.00,3691.00,9,0
+2006-02-06,21:33:00,3691.00,3691.00,3690.00,3690.00,65,0
+2006-02-06,21:34:00,3689.00,3689.00,3689.00,3689.00,20,0
+2006-02-06,21:35:00,3689.00,3689.00,3689.00,3689.00,1,0
+2006-02-06,21:37:00,3690.00,3690.00,3690.00,3690.00,9,0
+2006-02-06,21:38:00,3690.00,3690.00,3690.00,3690.00,1,0
+2006-02-06,21:39:00,3689.00,3689.00,3689.00,3689.00,14,0
+2006-02-06,21:40:00,3689.00,3689.00,3689.00,3689.00,34,0
+2006-02-06,21:41:00,3689.00,3689.00,3689.00,3689.00,15,0
+2006-02-06,21:42:00,3689.00,3689.00,3689.00,3689.00,1,0
+2006-02-06,21:43:00,3689.00,3690.00,3689.00,3690.00,17,0
+2006-02-06,21:44:00,3690.00,3690.00,3690.00,3690.00,10,0
+2006-02-06,21:45:00,3690.00,3691.00,3690.00,3691.00,135,0
+2006-02-06,21:46:00,3691.00,3691.00,3690.00,3691.00,11,0
+2006-02-06,21:47:00,3692.00,3692.00,3691.00,3691.00,27,0
+2006-02-06,21:48:00,3692.00,3692.00,3692.00,3692.00,27,0
+2006-02-06,21:49:00,3692.00,3692.00,3691.00,3691.00,37,0
+2006-02-06,21:50:00,3691.00,3691.00,3691.00,3691.00,1,0
+2006-02-06,21:51:00,3691.00,3691.00,3691.00,3691.00,3,0
+2006-02-06,21:54:00,3692.00,3692.00,3692.00,3692.00,65,0
+2006-02-06,21:55:00,3692.00,3692.00,3691.00,3692.00,61,0
+2006-02-06,21:56:00,3691.00,3691.00,3690.00,3691.00,125,0
+2006-02-06,21:57:00,3691.00,3691.00,3691.00,3691.00,20,0
+2006-02-06,21:58:00,3691.00,3691.00,3690.00,3691.00,84,0
+2006-02-06,21:59:00,3691.00,3693.00,3691.00,3693.00,121,0
+2006-02-06,22:00:00,3692.00,3693.00,3692.00,3692.00,281,0
+2006-02-07,09:01:00,3704.00,3706.00,3703.00,3704.00,5559,0
+2006-02-07,09:02:00,3704.00,3705.00,3703.00,3703.00,1379,0
+2006-02-07,09:03:00,3704.00,3705.00,3704.00,3705.00,777,0
+2006-02-07,09:04:00,3704.00,3705.00,3702.00,3702.00,1513,0
+2006-02-07,09:05:00,3702.00,3703.00,3701.00,3702.00,1172,0
+2006-02-07,09:06:00,3702.00,3703.00,3699.00,3700.00,2803,0
+2006-02-07,09:07:00,3700.00,3700.00,3698.00,3699.00,1230,0
+2006-02-07,09:08:00,3699.00,3699.00,3697.00,3699.00,1809,0
+2006-02-07,09:09:00,3699.00,3700.00,3699.00,3700.00,926,0
+2006-02-07,09:10:00,3700.00,3701.00,3699.00,3700.00,641,0
+2006-02-07,09:11:00,3701.00,3703.00,3700.00,3703.00,953,0
+2006-02-07,09:12:00,3702.00,3703.00,3701.00,3702.00,943,0
+2006-02-07,09:13:00,3701.00,3702.00,3701.00,3702.00,341,0
+2006-02-07,09:14:00,3701.00,3701.00,3699.00,3699.00,1101,0
+2006-02-07,09:15:00,3699.00,3700.00,3699.00,3700.00,471,0
+2006-02-07,09:16:00,3700.00,3700.00,3698.00,3699.00,496,0
+2006-02-07,09:17:00,3699.00,3700.00,3696.00,3697.00,1880,0
+2006-02-07,09:18:00,3697.00,3699.00,3697.00,3699.00,801,0
+2006-02-07,09:19:00,3699.00,3700.00,3698.00,3699.00,1176,0
+2006-02-07,09:20:00,3699.00,3700.00,3697.00,3698.00,599,0
+2006-02-07,09:21:00,3698.00,3700.00,3698.00,3700.00,1098,0
+2006-02-07,09:22:00,3700.00,3700.00,3698.00,3700.00,897,0
+2006-02-07,09:23:00,3701.00,3702.00,3700.00,3701.00,1182,0
+2006-02-07,09:24:00,3701.00,3703.00,3700.00,3702.00,1221,0
+2006-02-07,09:25:00,3701.00,3702.00,3701.00,3701.00,484,0
+2006-02-07,09:26:00,3702.00,3702.00,3700.00,3700.00,406,0
+2006-02-07,09:27:00,3700.00,3701.00,3700.00,3700.00,290,0
+2006-02-07,09:28:00,3701.00,3702.00,3701.00,3702.00,389,0
+2006-02-07,09:29:00,3701.00,3702.00,3701.00,3702.00,475,0
+2006-02-07,09:30:00,3702.00,3702.00,3700.00,3702.00,485,0
+2006-02-07,09:31:00,3702.00,3706.00,3702.00,3706.00,2245,0
+2006-02-07,09:32:00,3706.00,3708.00,3705.00,3707.00,7570,0
+2006-02-07,09:33:00,3707.00,3708.00,3706.00,3708.00,2328,0
+2006-02-07,09:34:00,3707.00,3707.00,3706.00,3707.00,1658,0
+2006-02-07,09:35:00,3707.00,3709.00,3707.00,3707.00,1563,0
+2006-02-07,09:36:00,3706.00,3707.00,3704.00,3704.00,1897,0
+2006-02-07,09:37:00,3704.00,3705.00,3703.00,3704.00,1419,0
+2006-02-07,09:38:00,3704.00,3704.00,3702.00,3703.00,1290,0
+2006-02-07,09:39:00,3704.00,3704.00,3703.00,3704.00,799,0
+2006-02-07,09:40:00,3704.00,3704.00,3704.00,3704.00,459,0
+2006-02-07,09:41:00,3703.00,3704.00,3702.00,3702.00,965,0
+2006-02-07,09:42:00,3702.00,3702.00,3701.00,3701.00,578,0
+2006-02-07,09:43:00,3701.00,3702.00,3700.00,3701.00,798,0
+2006-02-07,09:44:00,3702.00,3702.00,3701.00,3701.00,1021,0
+2006-02-07,09:45:00,3701.00,3702.00,3701.00,3701.00,603,0
+2006-02-07,09:46:00,3702.00,3703.00,3702.00,3703.00,129,0
+2006-02-07,09:47:00,3702.00,3704.00,3702.00,3704.00,346,0
+2006-02-07,09:48:00,3704.00,3705.00,3703.00,3703.00,505,0
+2006-02-07,09:49:00,3703.00,3703.00,3702.00,3702.00,461,0
+2006-02-07,09:50:00,3702.00,3703.00,3702.00,3703.00,133,0
+2006-02-07,09:51:00,3703.00,3704.00,3702.00,3702.00,523,0
+2006-02-07,09:52:00,3702.00,3702.00,3701.00,3701.00,479,0
+2006-02-07,09:53:00,3701.00,3702.00,3701.00,3701.00,337,0
+2006-02-07,09:54:00,3701.00,3701.00,3700.00,3700.00,525,0
+2006-02-07,09:55:00,3700.00,3701.00,3699.00,3699.00,522,0
+2006-02-07,09:56:00,3699.00,3700.00,3699.00,3699.00,576,0
+2006-02-07,09:57:00,3699.00,3700.00,3699.00,3700.00,204,0
+2006-02-07,09:58:00,3701.00,3701.00,3700.00,3700.00,597,0
+2006-02-07,09:59:00,3700.00,3700.00,3696.00,3697.00,3697,0
+2006-02-07,10:00:00,3696.00,3697.00,3694.00,3695.00,3058,0
+2006-02-07,10:01:00,3695.00,3696.00,3694.00,3694.00,1550,0
+2006-02-07,10:02:00,3694.00,3695.00,3692.00,3693.00,2876,0
+2006-02-07,10:03:00,3694.00,3694.00,3692.00,3693.00,712,0
+2006-02-07,10:04:00,3693.00,3693.00,3691.00,3692.00,1689,0
+2006-02-07,10:05:00,3692.00,3694.00,3692.00,3693.00,1419,0
+2006-02-07,10:06:00,3693.00,3694.00,3692.00,3694.00,878,0
+2006-02-07,10:07:00,3693.00,3695.00,3693.00,3695.00,576,0
+2006-02-07,10:08:00,3695.00,3696.00,3694.00,3695.00,1026,0
+2006-02-07,10:09:00,3695.00,3695.00,3694.00,3695.00,534,0
+2006-02-07,10:10:00,3694.00,3694.00,3692.00,3692.00,601,0
+2006-02-07,10:11:00,3692.00,3693.00,3690.00,3691.00,1797,0
+2006-02-07,10:12:00,3691.00,3695.00,3691.00,3694.00,1590,0
+2006-02-07,10:13:00,3694.00,3694.00,3693.00,3694.00,1455,0
+2006-02-07,10:14:00,3694.00,3695.00,3694.00,3694.00,189,0
+2006-02-07,10:15:00,3694.00,3694.00,3693.00,3694.00,331,0
+2006-02-07,10:16:00,3694.00,3694.00,3691.00,3692.00,273,0
+2006-02-07,10:17:00,3692.00,3693.00,3691.00,3693.00,462,0
+2006-02-07,10:18:00,3692.00,3692.00,3690.00,3690.00,1092,0
+2006-02-07,10:19:00,3691.00,3691.00,3688.00,3688.00,3041,0
+2006-02-07,10:20:00,3689.00,3690.00,3688.00,3689.00,3066,0
+2006-02-07,10:21:00,3690.00,3690.00,3688.00,3688.00,986,0
+2006-02-07,10:22:00,3688.00,3689.00,3684.00,3684.00,5760,0
+2006-02-07,10:23:00,3684.00,3686.00,3681.00,3682.00,6094,0
+2006-02-07,10:24:00,3682.00,3683.00,3680.00,3683.00,5308,0
+2006-02-07,10:25:00,3683.00,3685.00,3683.00,3684.00,1123,0
+2006-02-07,10:26:00,3684.00,3684.00,3681.00,3683.00,1804,0
+2006-02-07,10:27:00,3682.00,3684.00,3682.00,3682.00,1483,0
+2006-02-07,10:28:00,3683.00,3684.00,3682.00,3683.00,1116,0
+2006-02-07,10:29:00,3683.00,3685.00,3683.00,3683.00,1271,0
+2006-02-07,10:30:00,3683.00,3685.00,3683.00,3685.00,307,0
+2006-02-07,10:31:00,3684.00,3686.00,3683.00,3686.00,1821,0
+2006-02-07,10:32:00,3686.00,3686.00,3680.00,3682.00,2938,0
+2006-02-07,10:33:00,3682.00,3684.00,3680.00,3681.00,2799,0
+2006-02-07,10:34:00,3682.00,3682.00,3680.00,3681.00,2070,0
+2006-02-07,10:35:00,3682.00,3683.00,3679.00,3679.00,2145,0
+2006-02-07,10:36:00,3680.00,3680.00,3675.00,3677.00,6157,0
+2006-02-07,10:37:00,3676.00,3678.00,3676.00,3677.00,1857,0
+2006-02-07,10:38:00,3677.00,3680.00,3676.00,3679.00,1922,0
+2006-02-07,10:39:00,3679.00,3679.00,3678.00,3678.00,1471,0
+2006-02-07,10:40:00,3678.00,3681.00,3678.00,3681.00,883,0
+2006-02-07,10:41:00,3681.00,3682.00,3680.00,3680.00,1293,0
+2006-02-07,10:42:00,3680.00,3680.00,3678.00,3678.00,1170,0
+2006-02-07,10:43:00,3679.00,3679.00,3678.00,3678.00,733,0
+2006-02-07,10:44:00,3678.00,3679.00,3676.00,3677.00,1068,0
+2006-02-07,10:45:00,3677.00,3678.00,3675.00,3677.00,1913,0
+2006-02-07,10:46:00,3676.00,3677.00,3675.00,3677.00,2209,0
+2006-02-07,10:47:00,3677.00,3678.00,3676.00,3678.00,1110,0
+2006-02-07,10:48:00,3678.00,3678.00,3675.00,3676.00,1314,0
+2006-02-07,10:49:00,3676.00,3679.00,3676.00,3678.00,1179,0
+2006-02-07,10:50:00,3677.00,3678.00,3676.00,3677.00,1036,0
+2006-02-07,10:51:00,3676.00,3677.00,3676.00,3677.00,712,0
+2006-02-07,10:52:00,3677.00,3677.00,3675.00,3676.00,1002,0
+2006-02-07,10:53:00,3676.00,3677.00,3674.00,3676.00,3468,0
+2006-02-07,10:54:00,3675.00,3676.00,3675.00,3676.00,1277,0
+2006-02-07,10:55:00,3676.00,3677.00,3676.00,3677.00,756,0
+2006-02-07,10:56:00,3678.00,3679.00,3677.00,3679.00,1874,0
+2006-02-07,10:57:00,3679.00,3680.00,3678.00,3679.00,1346,0
+2006-02-07,10:58:00,3679.00,3681.00,3679.00,3680.00,1010,0
+2006-02-07,10:59:00,3680.00,3682.00,3679.00,3682.00,1869,0
+2006-02-07,11:00:00,3681.00,3682.00,3681.00,3682.00,200,0
+2006-02-07,11:01:00,3681.00,3682.00,3680.00,3681.00,2300,0
+2006-02-07,11:02:00,3680.00,3681.00,3679.00,3680.00,855,0
+2006-02-07,11:03:00,3680.00,3681.00,3680.00,3680.00,459,0
+2006-02-07,11:04:00,3680.00,3680.00,3678.00,3678.00,772,0
+2006-02-07,11:05:00,3679.00,3679.00,3678.00,3679.00,266,0
+2006-02-07,11:06:00,3680.00,3680.00,3679.00,3680.00,581,0
+2006-02-07,11:07:00,3680.00,3680.00,3678.00,3679.00,360,0
+2006-02-07,11:08:00,3679.00,3679.00,3678.00,3679.00,156,0
+2006-02-07,11:09:00,3680.00,3680.00,3679.00,3680.00,13,0
+2006-02-07,11:10:00,3679.00,3680.00,3679.00,3679.00,559,0
+2006-02-07,11:11:00,3678.00,3679.00,3678.00,3679.00,775,0
+2006-02-07,11:12:00,3680.00,3681.00,3680.00,3681.00,852,0
+2006-02-07,11:13:00,3681.00,3682.00,3681.00,3681.00,867,0
+2006-02-07,11:14:00,3681.00,3682.00,3680.00,3680.00,385,0
+2006-02-07,11:15:00,3681.00,3681.00,3681.00,3681.00,50,0
+2006-02-07,11:16:00,3682.00,3682.00,3681.00,3681.00,418,0
+2006-02-07,11:17:00,3681.00,3682.00,3681.00,3681.00,39,0
+2006-02-07,11:18:00,3682.00,3682.00,3681.00,3682.00,349,0
+2006-02-07,11:19:00,3682.00,3682.00,3680.00,3680.00,445,0
+2006-02-07,11:20:00,3680.00,3680.00,3679.00,3679.00,704,0
+2006-02-07,11:21:00,3680.00,3680.00,3679.00,3680.00,591,0
+2006-02-07,11:22:00,3680.00,3680.00,3678.00,3679.00,600,0
+2006-02-07,11:23:00,3678.00,3679.00,3678.00,3679.00,176,0
+2006-02-07,11:24:00,3679.00,3679.00,3678.00,3678.00,1254,0
+2006-02-07,11:25:00,3678.00,3678.00,3675.00,3676.00,2100,0
+2006-02-07,11:26:00,3677.00,3677.00,3675.00,3676.00,300,0
+2006-02-07,11:27:00,3676.00,3676.00,3675.00,3675.00,44,0
+2006-02-07,11:28:00,3675.00,3676.00,3675.00,3676.00,98,0
+2006-02-07,11:29:00,3676.00,3677.00,3675.00,3676.00,845,0
+2006-02-07,11:30:00,3675.00,3676.00,3674.00,3675.00,1490,0
+2006-02-07,11:31:00,3675.00,3677.00,3674.00,3675.00,1246,0
+2006-02-07,11:32:00,3675.00,3675.00,3673.00,3674.00,1865,0
+2006-02-07,11:33:00,3674.00,3676.00,3674.00,3676.00,1417,0
+2006-02-07,11:34:00,3676.00,3677.00,3675.00,3677.00,580,0
+2006-02-07,11:35:00,3676.00,3677.00,3675.00,3675.00,468,0
+2006-02-07,11:36:00,3675.00,3675.00,3674.00,3674.00,2041,0
+2006-02-07,11:37:00,3675.00,3676.00,3674.00,3675.00,594,0
+2006-02-07,11:38:00,3676.00,3677.00,3675.00,3676.00,1151,0
+2006-02-07,11:39:00,3676.00,3677.00,3675.00,3677.00,694,0
+2006-02-07,11:40:00,3676.00,3678.00,3676.00,3677.00,723,0
+2006-02-07,11:41:00,3677.00,3677.00,3676.00,3677.00,227,0
+2006-02-07,11:42:00,3676.00,3677.00,3674.00,3674.00,1317,0
+2006-02-07,11:43:00,3674.00,3675.00,3674.00,3675.00,439,0
+2006-02-07,11:44:00,3675.00,3675.00,3673.00,3674.00,563,0
+2006-02-07,11:45:00,3674.00,3675.00,3674.00,3675.00,1318,0
+2006-02-07,11:46:00,3675.00,3675.00,3675.00,3675.00,22,0
+2006-02-07,11:47:00,3675.00,3676.00,3675.00,3675.00,7401,0
+2006-02-07,11:48:00,3675.00,3676.00,3674.00,3675.00,841,0
+2006-02-07,11:49:00,3675.00,3676.00,3675.00,3675.00,105,0
+2006-02-07,11:50:00,3675.00,3676.00,3673.00,3673.00,1096,0
+2006-02-07,11:51:00,3674.00,3676.00,3673.00,3675.00,642,0
+2006-02-07,11:52:00,3675.00,3676.00,3675.00,3675.00,631,0
+2006-02-07,11:53:00,3675.00,3676.00,3674.00,3674.00,634,0
+2006-02-07,11:54:00,3674.00,3675.00,3674.00,3674.00,226,0
+2006-02-07,11:55:00,3674.00,3674.00,3673.00,3673.00,991,0
+2006-02-07,11:56:00,3673.00,3675.00,3673.00,3675.00,331,0
+2006-02-07,11:57:00,3675.00,3676.00,3675.00,3676.00,264,0
+2006-02-07,11:58:00,3676.00,3677.00,3676.00,3677.00,671,0
+2006-02-07,11:59:00,3677.00,3677.00,3676.00,3676.00,746,0
+2006-02-07,12:00:00,3677.00,3678.00,3676.00,3677.00,737,0
+2006-02-07,12:01:00,3678.00,3679.00,3677.00,3678.00,1575,0
+2006-02-07,12:02:00,3677.00,3678.00,3677.00,3678.00,321,0
+2006-02-07,12:03:00,3678.00,3678.00,3677.00,3677.00,390,0
+2006-02-07,12:04:00,3677.00,3678.00,3677.00,3677.00,432,0
+2006-02-07,12:05:00,3677.00,3678.00,3677.00,3677.00,380,0
+2006-02-07,12:06:00,3676.00,3678.00,3676.00,3677.00,235,0
+2006-02-07,12:07:00,3677.00,3678.00,3676.00,3676.00,214,0
+2006-02-07,12:08:00,3677.00,3678.00,3676.00,3677.00,416,0
+2006-02-07,12:09:00,3677.00,3678.00,3677.00,3677.00,156,0
+2006-02-07,12:10:00,3677.00,3678.00,3677.00,3677.00,46,0
+2006-02-07,12:11:00,3678.00,3678.00,3677.00,3677.00,5419,0
+2006-02-07,12:12:00,3678.00,3679.00,3678.00,3679.00,2011,0
+2006-02-07,12:13:00,3678.00,3680.00,3678.00,3678.00,1237,0
+2006-02-07,12:14:00,3679.00,3679.00,3677.00,3677.00,1326,0
+2006-02-07,12:15:00,3677.00,3678.00,3676.00,3676.00,1693,0
+2006-02-07,12:16:00,3677.00,3677.00,3675.00,3675.00,370,0
+2006-02-07,12:17:00,3676.00,3676.00,3674.00,3675.00,1467,0
+2006-02-07,12:18:00,3675.00,3675.00,3673.00,3673.00,1246,0
+2006-02-07,12:19:00,3674.00,3674.00,3673.00,3673.00,403,0
+2006-02-07,12:20:00,3673.00,3674.00,3672.00,3673.00,1688,0
+2006-02-07,12:21:00,3672.00,3673.00,3671.00,3671.00,1628,0
+2006-02-07,12:22:00,3671.00,3672.00,3670.00,3672.00,3852,0
+2006-02-07,12:23:00,3672.00,3673.00,3671.00,3671.00,558,0
+2006-02-07,12:24:00,3672.00,3672.00,3671.00,3671.00,541,0
+2006-02-07,12:25:00,3671.00,3672.00,3671.00,3671.00,1454,0
+2006-02-07,12:26:00,3672.00,3673.00,3672.00,3672.00,1328,0
+2006-02-07,12:27:00,3672.00,3673.00,3671.00,3672.00,1200,0
+2006-02-07,12:28:00,3672.00,3672.00,3672.00,3672.00,70,0
+2006-02-07,12:29:00,3672.00,3674.00,3672.00,3674.00,888,0
+2006-02-07,12:30:00,3674.00,3674.00,3673.00,3674.00,914,0
+2006-02-07,12:31:00,3674.00,3674.00,3673.00,3674.00,327,0
+2006-02-07,12:32:00,3674.00,3674.00,3673.00,3673.00,29,0
+2006-02-07,12:33:00,3673.00,3676.00,3673.00,3675.00,1208,0
+2006-02-07,12:34:00,3676.00,3676.00,3675.00,3676.00,38,0
+2006-02-07,12:35:00,3675.00,3676.00,3675.00,3676.00,12,0
+2006-02-07,12:36:00,3675.00,3676.00,3675.00,3676.00,82,0
+2006-02-07,12:37:00,3675.00,3676.00,3675.00,3675.00,46,0
+2006-02-07,12:38:00,3675.00,3677.00,3675.00,3676.00,627,0
+2006-02-07,12:39:00,3676.00,3677.00,3676.00,3676.00,1374,0
+2006-02-07,12:40:00,3676.00,3676.00,3675.00,3675.00,15,0
+2006-02-07,12:41:00,3675.00,3676.00,3675.00,3676.00,258,0
+2006-02-07,12:42:00,3676.00,3676.00,3675.00,3676.00,46,0
+2006-02-07,12:43:00,3676.00,3677.00,3675.00,3675.00,173,0
+2006-02-07,12:44:00,3676.00,3677.00,3675.00,3677.00,1018,0
+2006-02-07,12:45:00,3678.00,3679.00,3677.00,3678.00,758,0
+2006-02-07,12:46:00,3678.00,3680.00,3678.00,3680.00,784,0
+2006-02-07,12:47:00,3680.00,3680.00,3679.00,3679.00,766,0
+2006-02-07,12:48:00,3679.00,3679.00,3678.00,3678.00,513,0
+2006-02-07,12:49:00,3678.00,3679.00,3678.00,3678.00,194,0
+2006-02-07,12:50:00,3679.00,3679.00,3678.00,3678.00,535,0
+2006-02-07,12:51:00,3678.00,3678.00,3677.00,3677.00,202,0
+2006-02-07,12:52:00,3677.00,3677.00,3676.00,3677.00,122,0
+2006-02-07,12:53:00,3677.00,3677.00,3676.00,3677.00,151,0
+2006-02-07,12:54:00,3677.00,3677.00,3677.00,3677.00,178,0
+2006-02-07,12:55:00,3677.00,3677.00,3676.00,3676.00,76,0
+2006-02-07,12:56:00,3677.00,3677.00,3676.00,3677.00,99,0
+2006-02-07,12:57:00,3677.00,3677.00,3676.00,3676.00,100,0
+2006-02-07,12:58:00,3676.00,3677.00,3676.00,3677.00,627,0
+2006-02-07,12:59:00,3677.00,3677.00,3675.00,3675.00,298,0
+2006-02-07,13:00:00,3675.00,3676.00,3675.00,3675.00,1027,0
+2006-02-07,13:01:00,3675.00,3676.00,3675.00,3676.00,131,0
+2006-02-07,13:02:00,3676.00,3677.00,3676.00,3676.00,7,0
+2006-02-07,13:04:00,3677.00,3677.00,3677.00,3677.00,47,0
+2006-02-07,13:05:00,3676.00,3676.00,3676.00,3676.00,280,0
+2006-02-07,13:06:00,3676.00,3677.00,3676.00,3676.00,488,0
+2006-02-07,13:07:00,3676.00,3676.00,3675.00,3676.00,147,0
+2006-02-07,13:08:00,3676.00,3676.00,3675.00,3675.00,78,0
+2006-02-07,13:09:00,3675.00,3676.00,3675.00,3675.00,21,0
+2006-02-07,13:10:00,3675.00,3676.00,3675.00,3675.00,36,0
+2006-02-07,13:11:00,3675.00,3676.00,3675.00,3676.00,143,0
+2006-02-07,13:12:00,3676.00,3676.00,3676.00,3676.00,322,0
+2006-02-07,13:13:00,3676.00,3676.00,3676.00,3676.00,5,0
+2006-02-07,13:14:00,3676.00,3676.00,3676.00,3676.00,135,0
+2006-02-07,13:15:00,3677.00,3677.00,3676.00,3676.00,144,0
+2006-02-07,13:16:00,3676.00,3677.00,3676.00,3677.00,41,0
+2006-02-07,13:17:00,3676.00,3677.00,3676.00,3677.00,47,0
+2006-02-07,13:18:00,3676.00,3677.00,3676.00,3677.00,20,0
+2006-02-07,13:19:00,3676.00,3677.00,3676.00,3677.00,254,0
+2006-02-07,13:20:00,3677.00,3678.00,3677.00,3678.00,541,0
+2006-02-07,13:21:00,3678.00,3678.00,3676.00,3677.00,161,0
+2006-02-07,13:22:00,3677.00,3678.00,3677.00,3677.00,95,0
+2006-02-07,13:23:00,3677.00,3677.00,3677.00,3677.00,149,0
+2006-02-07,13:24:00,3677.00,3677.00,3676.00,3677.00,156,0
+2006-02-07,13:25:00,3677.00,3677.00,3676.00,3676.00,4,0
+2006-02-07,13:26:00,3676.00,3676.00,3676.00,3676.00,401,0
+2006-02-07,13:27:00,3676.00,3676.00,3675.00,3676.00,65,0
+2006-02-07,13:28:00,3676.00,3677.00,3675.00,3677.00,426,0
+2006-02-07,13:29:00,3676.00,3676.00,3676.00,3676.00,9,0
+2006-02-07,13:30:00,3676.00,3676.00,3676.00,3676.00,58,0
+2006-02-07,13:31:00,3677.00,3677.00,3676.00,3676.00,175,0
+2006-02-07,13:32:00,3677.00,3677.00,3676.00,3677.00,44,0
+2006-02-07,13:33:00,3676.00,3677.00,3676.00,3676.00,9,0
+2006-02-07,13:34:00,3676.00,3677.00,3676.00,3676.00,16,0
+2006-02-07,13:35:00,3677.00,3677.00,3676.00,3676.00,184,0
+2006-02-07,13:36:00,3676.00,3677.00,3676.00,3676.00,51,0
+2006-02-07,13:37:00,3677.00,3678.00,3676.00,3677.00,191,0
+2006-02-07,13:38:00,3677.00,3677.00,3676.00,3676.00,147,0
+2006-02-07,13:39:00,3676.00,3676.00,3676.00,3676.00,9,0
+2006-02-07,13:40:00,3677.00,3677.00,3675.00,3675.00,369,0
+2006-02-07,13:41:00,3675.00,3675.00,3675.00,3675.00,26,0
+2006-02-07,13:42:00,3676.00,3676.00,3675.00,3676.00,400,0
+2006-02-07,13:43:00,3675.00,3675.00,3675.00,3675.00,12,0
+2006-02-07,13:44:00,3675.00,3675.00,3674.00,3674.00,615,0
+2006-02-07,13:45:00,3674.00,3674.00,3673.00,3673.00,480,0
+2006-02-07,13:46:00,3673.00,3674.00,3672.00,3673.00,702,0
+2006-02-07,13:47:00,3673.00,3673.00,3672.00,3672.00,213,0
+2006-02-07,13:48:00,3672.00,3672.00,3670.00,3671.00,2471,0
+2006-02-07,13:49:00,3670.00,3671.00,3667.00,3667.00,2408,0
+2006-02-07,13:50:00,3668.00,3669.00,3666.00,3669.00,3309,0
+2006-02-07,13:51:00,3670.00,3671.00,3669.00,3670.00,809,0
+2006-02-07,13:52:00,3670.00,3671.00,3670.00,3671.00,232,0
+2006-02-07,13:53:00,3670.00,3671.00,3670.00,3670.00,374,0
+2006-02-07,13:54:00,3671.00,3672.00,3670.00,3672.00,1589,0
+2006-02-07,13:55:00,3671.00,3672.00,3671.00,3672.00,650,0
+2006-02-07,13:56:00,3672.00,3672.00,3671.00,3672.00,190,0
+2006-02-07,13:57:00,3672.00,3673.00,3672.00,3672.00,902,0
+2006-02-07,13:58:00,3672.00,3673.00,3672.00,3672.00,92,0
+2006-02-07,13:59:00,3671.00,3672.00,3671.00,3671.00,143,0
+2006-02-07,14:00:00,3671.00,3672.00,3671.00,3672.00,129,0
+2006-02-07,14:01:00,3671.00,3673.00,3671.00,3672.00,191,0
+2006-02-07,14:02:00,3672.00,3673.00,3672.00,3672.00,1104,0
+2006-02-07,14:03:00,3672.00,3672.00,3671.00,3671.00,240,0
+2006-02-07,14:04:00,3672.00,3672.00,3672.00,3672.00,94,0
+2006-02-07,14:05:00,3673.00,3673.00,3671.00,3672.00,558,0
+2006-02-07,14:06:00,3672.00,3672.00,3671.00,3671.00,726,0
+2006-02-07,14:07:00,3671.00,3671.00,3671.00,3671.00,378,0
+2006-02-07,14:08:00,3671.00,3671.00,3670.00,3671.00,536,0
+2006-02-07,14:09:00,3671.00,3671.00,3670.00,3670.00,258,0
+2006-02-07,14:10:00,3670.00,3671.00,3670.00,3671.00,293,0
+2006-02-07,14:11:00,3670.00,3670.00,3668.00,3669.00,711,0
+2006-02-07,14:12:00,3669.00,3670.00,3669.00,3670.00,275,0
+2006-02-07,14:13:00,3669.00,3670.00,3669.00,3670.00,20,0
+2006-02-07,14:14:00,3669.00,3670.00,3669.00,3669.00,702,0
+2006-02-07,14:15:00,3669.00,3669.00,3667.00,3668.00,515,0
+2006-02-07,14:16:00,3668.00,3668.00,3668.00,3668.00,273,0
+2006-02-07,14:17:00,3668.00,3668.00,3666.00,3668.00,1355,0
+2006-02-07,14:18:00,3667.00,3668.00,3666.00,3667.00,1027,0
+2006-02-07,14:19:00,3668.00,3669.00,3668.00,3668.00,344,0
+2006-02-07,14:20:00,3667.00,3669.00,3667.00,3668.00,1889,0
+2006-02-07,14:21:00,3667.00,3668.00,3667.00,3668.00,16,0
+2006-02-07,14:22:00,3667.00,3667.00,3664.00,3665.00,1527,0
+2006-02-07,14:23:00,3665.00,3667.00,3665.00,3667.00,829,0
+2006-02-07,14:24:00,3666.00,3667.00,3665.00,3665.00,346,0
+2006-02-07,14:25:00,3666.00,3667.00,3665.00,3667.00,287,0
+2006-02-07,14:26:00,3667.00,3668.00,3667.00,3668.00,1016,0
+2006-02-07,14:27:00,3668.00,3669.00,3668.00,3668.00,659,0
+2006-02-07,14:28:00,3667.00,3669.00,3667.00,3669.00,830,0
+2006-02-07,14:29:00,3668.00,3668.00,3668.00,3668.00,129,0
+2006-02-07,14:30:00,3668.00,3669.00,3668.00,3669.00,261,0
+2006-02-07,14:31:00,3668.00,3669.00,3668.00,3668.00,488,0
+2006-02-07,14:32:00,3667.00,3670.00,3666.00,3669.00,1908,0
+2006-02-07,14:33:00,3669.00,3673.00,3669.00,3672.00,2254,0
+2006-02-07,14:34:00,3672.00,3674.00,3671.00,3673.00,975,0
+2006-02-07,14:35:00,3674.00,3676.00,3674.00,3674.00,2506,0
+2006-02-07,14:36:00,3674.00,3675.00,3673.00,3674.00,862,0
+2006-02-07,14:37:00,3674.00,3675.00,3674.00,3674.00,160,0
+2006-02-07,14:38:00,3674.00,3674.00,3673.00,3674.00,397,0
+2006-02-07,14:39:00,3674.00,3675.00,3674.00,3674.00,343,0
+2006-02-07,14:40:00,3674.00,3676.00,3674.00,3675.00,2213,0
+2006-02-07,14:41:00,3675.00,3676.00,3675.00,3675.00,839,0
+2006-02-07,14:42:00,3675.00,3677.00,3675.00,3676.00,437,0
+2006-02-07,14:43:00,3676.00,3677.00,3675.00,3676.00,526,0
+2006-02-07,14:44:00,3676.00,3677.00,3676.00,3676.00,293,0
+2006-02-07,14:45:00,3676.00,3676.00,3674.00,3674.00,558,0
+2006-02-07,14:46:00,3674.00,3675.00,3674.00,3675.00,109,0
+2006-02-07,14:47:00,3674.00,3675.00,3674.00,3675.00,1721,0
+2006-02-07,14:48:00,3675.00,3675.00,3674.00,3674.00,37,0
+2006-02-07,14:49:00,3674.00,3674.00,3673.00,3673.00,695,0
+2006-02-07,14:50:00,3673.00,3675.00,3673.00,3674.00,1614,0
+2006-02-07,14:51:00,3675.00,3675.00,3674.00,3675.00,441,0
+2006-02-07,14:52:00,3676.00,3677.00,3676.00,3677.00,680,0
+2006-02-07,14:53:00,3677.00,3677.00,3676.00,3676.00,693,0
+2006-02-07,14:54:00,3676.00,3676.00,3675.00,3676.00,305,0
+2006-02-07,14:55:00,3677.00,3677.00,3676.00,3677.00,175,0
+2006-02-07,14:56:00,3677.00,3677.00,3676.00,3676.00,305,0
+2006-02-07,14:57:00,3676.00,3677.00,3675.00,3675.00,444,0
+2006-02-07,14:58:00,3676.00,3676.00,3675.00,3675.00,1981,0
+2006-02-07,14:59:00,3675.00,3675.00,3674.00,3674.00,718,0
+2006-02-07,15:00:00,3674.00,3676.00,3674.00,3675.00,706,0
+2006-02-07,15:01:00,3676.00,3676.00,3674.00,3675.00,576,0
+2006-02-07,15:02:00,3675.00,3676.00,3675.00,3675.00,753,0
+2006-02-07,15:03:00,3674.00,3675.00,3674.00,3674.00,83,0
+2006-02-07,15:04:00,3674.00,3674.00,3673.00,3673.00,717,0
+2006-02-07,15:05:00,3673.00,3674.00,3673.00,3673.00,138,0
+2006-02-07,15:06:00,3674.00,3675.00,3674.00,3674.00,783,0
+2006-02-07,15:07:00,3674.00,3674.00,3673.00,3674.00,188,0
+2006-02-07,15:08:00,3674.00,3674.00,3673.00,3673.00,79,0
+2006-02-07,15:09:00,3674.00,3675.00,3673.00,3673.00,243,0
+2006-02-07,15:10:00,3674.00,3674.00,3673.00,3674.00,670,0
+2006-02-07,15:11:00,3674.00,3675.00,3673.00,3675.00,489,0
+2006-02-07,15:12:00,3675.00,3675.00,3674.00,3675.00,299,0
+2006-02-07,15:13:00,3676.00,3676.00,3675.00,3676.00,14,0
+2006-02-07,15:14:00,3676.00,3676.00,3675.00,3675.00,12,0
+2006-02-07,15:15:00,3676.00,3676.00,3675.00,3676.00,16,0
+2006-02-07,15:16:00,3675.00,3675.00,3674.00,3675.00,749,0
+2006-02-07,15:17:00,3676.00,3677.00,3675.00,3676.00,534,0
+2006-02-07,15:18:00,3676.00,3677.00,3675.00,3677.00,421,0
+2006-02-07,15:19:00,3677.00,3678.00,3676.00,3677.00,1283,0
+2006-02-07,15:20:00,3677.00,3677.00,3676.00,3677.00,1423,0
+2006-02-07,15:21:00,3677.00,3678.00,3677.00,3677.00,544,0
+2006-02-07,15:22:00,3677.00,3678.00,3677.00,3677.00,228,0
+2006-02-07,15:23:00,3678.00,3680.00,3677.00,3677.00,6273,0
+2006-02-07,15:24:00,3678.00,3678.00,3676.00,3677.00,1054,0
+2006-02-07,15:25:00,3676.00,3677.00,3676.00,3677.00,988,0
+2006-02-07,15:26:00,3677.00,3677.00,3676.00,3676.00,427,0
+2006-02-07,15:27:00,3676.00,3677.00,3676.00,3676.00,1200,0
+2006-02-07,15:28:00,3676.00,3676.00,3676.00,3676.00,549,0
+2006-02-07,15:29:00,3675.00,3678.00,3675.00,3677.00,702,0
+2006-02-07,15:30:00,3677.00,3678.00,3677.00,3677.00,1259,0
+2006-02-07,15:31:00,3677.00,3678.00,3676.00,3677.00,92,0
+2006-02-07,15:32:00,3676.00,3677.00,3676.00,3677.00,348,0
+2006-02-07,15:33:00,3677.00,3679.00,3677.00,3679.00,829,0
+2006-02-07,15:34:00,3679.00,3680.00,3677.00,3677.00,1709,0
+2006-02-07,15:35:00,3677.00,3677.00,3675.00,3675.00,3896,0
+2006-02-07,15:36:00,3675.00,3676.00,3673.00,3673.00,2469,0
+2006-02-07,15:37:00,3673.00,3675.00,3673.00,3675.00,713,0
+2006-02-07,15:38:00,3675.00,3676.00,3675.00,3676.00,840,0
+2006-02-07,15:39:00,3675.00,3676.00,3674.00,3675.00,1053,0
+2006-02-07,15:40:00,3674.00,3678.00,3674.00,3678.00,1300,0
+2006-02-07,15:41:00,3677.00,3678.00,3676.00,3676.00,1885,0
+2006-02-07,15:42:00,3676.00,3679.00,3676.00,3679.00,725,0
+2006-02-07,15:43:00,3679.00,3682.00,3678.00,3682.00,3403,0
+2006-02-07,15:44:00,3681.00,3684.00,3681.00,3684.00,3869,0
+2006-02-07,15:45:00,3684.00,3685.00,3683.00,3684.00,1590,0
+2006-02-07,15:46:00,3685.00,3685.00,3682.00,3682.00,2109,0
+2006-02-07,15:47:00,3683.00,3687.00,3683.00,3687.00,3226,0
+2006-02-07,15:48:00,3686.00,3690.00,3685.00,3690.00,6840,0
+2006-02-07,15:49:00,3690.00,3694.00,3690.00,3692.00,8062,0
+2006-02-07,15:50:00,3692.00,3693.00,3689.00,3690.00,4802,0
+2006-02-07,15:51:00,3690.00,3691.00,3689.00,3690.00,2511,0
+2006-02-07,15:52:00,3689.00,3693.00,3689.00,3692.00,3208,0
+2006-02-07,15:53:00,3693.00,3694.00,3690.00,3690.00,2942,0
+2006-02-07,15:54:00,3690.00,3691.00,3688.00,3689.00,3019,0
+2006-02-07,15:55:00,3689.00,3690.00,3688.00,3690.00,1296,0
+2006-02-07,15:56:00,3689.00,3691.00,3689.00,3691.00,2061,0
+2006-02-07,15:57:00,3691.00,3691.00,3688.00,3689.00,2880,0
+2006-02-07,15:58:00,3688.00,3688.00,3687.00,3688.00,1595,0
+2006-02-07,15:59:00,3688.00,3690.00,3687.00,3689.00,1932,0
+2006-02-07,16:00:00,3688.00,3689.00,3687.00,3688.00,1768,0
+2006-02-07,16:01:00,3688.00,3688.00,3686.00,3688.00,1972,0
+2006-02-07,16:02:00,3688.00,3691.00,3687.00,3691.00,1475,0
+2006-02-07,16:03:00,3691.00,3693.00,3690.00,3691.00,2967,0
+2006-02-07,16:04:00,3691.00,3692.00,3689.00,3691.00,1975,0
+2006-02-07,16:05:00,3691.00,3692.00,3690.00,3690.00,1486,0
+2006-02-07,16:06:00,3690.00,3693.00,3690.00,3690.00,1275,0
+2006-02-07,16:07:00,3690.00,3691.00,3689.00,3691.00,1433,0
+2006-02-07,16:08:00,3691.00,3693.00,3690.00,3691.00,2069,0
+2006-02-07,16:09:00,3691.00,3692.00,3690.00,3691.00,962,0
+2006-02-07,16:10:00,3692.00,3693.00,3691.00,3693.00,2220,0
+2006-02-07,16:11:00,3692.00,3693.00,3690.00,3690.00,1537,0
+2006-02-07,16:12:00,3690.00,3691.00,3688.00,3689.00,1815,0
+2006-02-07,16:13:00,3689.00,3691.00,3688.00,3691.00,1474,0
+2006-02-07,16:14:00,3691.00,3691.00,3689.00,3690.00,1086,0
+2006-02-07,16:15:00,3690.00,3690.00,3688.00,3688.00,993,0
+2006-02-07,16:16:00,3687.00,3689.00,3687.00,3689.00,995,0
+2006-02-07,16:17:00,3690.00,3690.00,3689.00,3689.00,423,0
+2006-02-07,16:18:00,3689.00,3689.00,3689.00,3689.00,764,0
+2006-02-07,16:19:00,3688.00,3689.00,3687.00,3688.00,1669,0
+2006-02-07,16:20:00,3687.00,3688.00,3685.00,3686.00,1847,0
+2006-02-07,16:21:00,3686.00,3686.00,3683.00,3683.00,2038,0
+2006-02-07,16:22:00,3684.00,3686.00,3683.00,3686.00,2217,0
+2006-02-07,16:23:00,3686.00,3686.00,3683.00,3684.00,3028,0
+2006-02-07,16:24:00,3684.00,3685.00,3682.00,3682.00,3689,0
+2006-02-07,16:25:00,3682.00,3683.00,3679.00,3680.00,4791,0
+2006-02-07,16:26:00,3681.00,3681.00,3677.00,3679.00,2687,0
+2006-02-07,16:27:00,3678.00,3680.00,3678.00,3680.00,1920,0
+2006-02-07,16:28:00,3680.00,3682.00,3680.00,3681.00,993,0
+2006-02-07,16:29:00,3681.00,3684.00,3681.00,3683.00,2570,0
+2006-02-07,16:30:00,3683.00,3684.00,3680.00,3681.00,2588,0
+2006-02-07,16:31:00,3682.00,3684.00,3681.00,3684.00,754,0
+2006-02-07,16:32:00,3683.00,3685.00,3683.00,3685.00,1785,0
+2006-02-07,16:33:00,3684.00,3684.00,3683.00,3683.00,399,0
+2006-02-07,16:34:00,3683.00,3685.00,3682.00,3684.00,1728,0
+2006-02-07,16:35:00,3684.00,3686.00,3684.00,3686.00,1509,0
+2006-02-07,16:36:00,3686.00,3687.00,3684.00,3685.00,1479,0
+2006-02-07,16:37:00,3685.00,3686.00,3684.00,3685.00,1164,0
+2006-02-07,16:38:00,3684.00,3684.00,3682.00,3683.00,1052,0
+2006-02-07,16:39:00,3684.00,3685.00,3683.00,3684.00,898,0
+2006-02-07,16:40:00,3683.00,3684.00,3679.00,3679.00,2395,0
+2006-02-07,16:41:00,3680.00,3680.00,3675.00,3676.00,4923,0
+2006-02-07,16:42:00,3676.00,3677.00,3673.00,3673.00,3590,0
+2006-02-07,16:43:00,3674.00,3674.00,3671.00,3673.00,5079,0
+2006-02-07,16:44:00,3672.00,3675.00,3671.00,3672.00,3079,0
+2006-02-07,16:45:00,3673.00,3676.00,3673.00,3675.00,3508,0
+2006-02-07,16:46:00,3674.00,3674.00,3672.00,3674.00,2386,0
+2006-02-07,16:47:00,3674.00,3676.00,3674.00,3675.00,1612,0
+2006-02-07,16:48:00,3675.00,3676.00,3675.00,3676.00,1909,0
+2006-02-07,16:49:00,3675.00,3676.00,3674.00,3674.00,1261,0
+2006-02-07,16:50:00,3674.00,3677.00,3674.00,3677.00,1083,0
+2006-02-07,16:51:00,3677.00,3679.00,3676.00,3676.00,1938,0
+2006-02-07,16:52:00,3676.00,3677.00,3675.00,3675.00,1311,0
+2006-02-07,16:53:00,3675.00,3676.00,3673.00,3673.00,1040,0
+2006-02-07,16:54:00,3674.00,3677.00,3673.00,3676.00,1791,0
+2006-02-07,16:55:00,3675.00,3677.00,3675.00,3676.00,648,0
+2006-02-07,16:56:00,3677.00,3678.00,3676.00,3678.00,2520,0
+2006-02-07,16:57:00,3678.00,3680.00,3678.00,3680.00,1095,0
+2006-02-07,16:58:00,3680.00,3680.00,3678.00,3680.00,1233,0
+2006-02-07,16:59:00,3680.00,3680.00,3679.00,3680.00,462,0
+2006-02-07,17:00:00,3679.00,3681.00,3679.00,3679.00,1435,0
+2006-02-07,17:01:00,3679.00,3681.00,3678.00,3681.00,1489,0
+2006-02-07,17:02:00,3680.00,3685.00,3680.00,3684.00,3086,0
+2006-02-07,17:03:00,3684.00,3689.00,3684.00,3687.00,3691,0
+2006-02-07,17:04:00,3687.00,3688.00,3686.00,3687.00,1486,0
+2006-02-07,17:05:00,3686.00,3687.00,3685.00,3685.00,1351,0
+2006-02-07,17:06:00,3685.00,3688.00,3685.00,3688.00,2131,0
+2006-02-07,17:07:00,3688.00,3688.00,3686.00,3686.00,1053,0
+2006-02-07,17:08:00,3686.00,3686.00,3685.00,3685.00,3009,0
+2006-02-07,17:09:00,3685.00,3685.00,3683.00,3683.00,1817,0
+2006-02-07,17:10:00,3683.00,3684.00,3683.00,3683.00,304,0
+2006-02-07,17:11:00,3683.00,3686.00,3683.00,3686.00,1428,0
+2006-02-07,17:12:00,3686.00,3686.00,3683.00,3684.00,947,0
+2006-02-07,17:13:00,3683.00,3686.00,3683.00,3685.00,1018,0
+2006-02-07,17:14:00,3685.00,3685.00,3685.00,3685.00,313,0
+2006-02-07,17:15:00,3685.00,3685.00,3683.00,3683.00,873,0
+2006-02-07,17:16:00,3683.00,3683.00,3681.00,3682.00,2183,0
+2006-02-07,17:17:00,3682.00,3682.00,3681.00,3682.00,561,0
+2006-02-07,17:18:00,3682.00,3682.00,3681.00,3682.00,347,0
+2006-02-07,17:19:00,3682.00,3683.00,3680.00,3681.00,974,0
+2006-02-07,17:20:00,3681.00,3683.00,3680.00,3683.00,1357,0
+2006-02-07,17:21:00,3683.00,3683.00,3681.00,3681.00,354,0
+2006-02-07,17:22:00,3682.00,3684.00,3682.00,3684.00,743,0
+2006-02-07,17:23:00,3684.00,3686.00,3683.00,3685.00,1252,0
+2006-02-07,17:24:00,3685.00,3689.00,3685.00,3689.00,3355,0
+2006-02-07,17:25:00,3689.00,3690.00,3688.00,3688.00,1383,0
+2006-02-07,17:26:00,3689.00,3690.00,3688.00,3689.00,1377,0
+2006-02-07,17:27:00,3689.00,3690.00,3688.00,3690.00,2148,0
+2006-02-07,17:28:00,3690.00,3692.00,3689.00,3691.00,3293,0
+2006-02-07,17:29:00,3691.00,3691.00,3689.00,3690.00,1784,0
+2006-02-07,17:30:00,3690.00,3691.00,3689.00,3689.00,2415,0
+2006-02-07,17:31:00,3690.00,3691.00,3689.00,3690.00,3314,0
+2006-02-07,17:32:00,3690.00,3691.00,3690.00,3691.00,939,0
+2006-02-07,17:33:00,3692.00,3692.00,3690.00,3691.00,1443,0
+2006-02-07,17:34:00,3691.00,3692.00,3691.00,3691.00,2349,0
+2006-02-07,17:35:00,3691.00,3691.00,3690.00,3690.00,1548,0
+2006-02-07,17:36:00,3689.00,3690.00,3689.00,3689.00,774,0
+2006-02-07,17:37:00,3690.00,3690.00,3689.00,3690.00,1515,0
+2006-02-07,17:38:00,3689.00,3690.00,3689.00,3689.00,312,0
+2006-02-07,17:39:00,3689.00,3689.00,3685.00,3685.00,2303,0
+2006-02-07,17:40:00,3686.00,3688.00,3686.00,3688.00,771,0
+2006-02-07,17:41:00,3688.00,3689.00,3687.00,3688.00,1829,0
+2006-02-07,17:42:00,3688.00,3690.00,3688.00,3690.00,391,0
+2006-02-07,17:43:00,3689.00,3689.00,3687.00,3687.00,607,0
+2006-02-07,17:44:00,3687.00,3688.00,3685.00,3686.00,2066,0
+2006-02-07,17:45:00,3686.00,3687.00,3684.00,3685.00,669,0
+2006-02-07,17:46:00,3686.00,3688.00,3686.00,3688.00,1022,0
+2006-02-07,17:47:00,3687.00,3688.00,3686.00,3687.00,558,0
+2006-02-07,17:48:00,3686.00,3687.00,3686.00,3686.00,616,0
+2006-02-07,17:49:00,3685.00,3686.00,3684.00,3686.00,1014,0
+2006-02-07,17:50:00,3686.00,3686.00,3684.00,3685.00,242,0
+2006-02-07,17:51:00,3684.00,3686.00,3684.00,3684.00,1078,0
+2006-02-07,17:52:00,3684.00,3684.00,3683.00,3683.00,348,0
+2006-02-07,17:53:00,3683.00,3684.00,3682.00,3684.00,708,0
+2006-02-07,17:54:00,3684.00,3684.00,3683.00,3684.00,1530,0
+2006-02-07,17:55:00,3684.00,3685.00,3684.00,3684.00,506,0
+2006-02-07,17:56:00,3684.00,3685.00,3684.00,3684.00,886,0
+2006-02-07,17:57:00,3685.00,3687.00,3685.00,3687.00,1031,0
+2006-02-07,17:58:00,3687.00,3687.00,3687.00,3687.00,130,0
+2006-02-07,17:59:00,3687.00,3687.00,3684.00,3684.00,545,0
+2006-02-07,18:00:00,3684.00,3685.00,3684.00,3685.00,137,0
+2006-02-07,18:01:00,3685.00,3686.00,3684.00,3684.00,544,0
+2006-02-07,18:02:00,3683.00,3684.00,3683.00,3684.00,184,0
+2006-02-07,18:03:00,3684.00,3684.00,3682.00,3682.00,287,0
+2006-02-07,18:04:00,3682.00,3685.00,3682.00,3684.00,357,0
+2006-02-07,18:05:00,3685.00,3686.00,3684.00,3685.00,529,0
+2006-02-07,18:06:00,3686.00,3687.00,3685.00,3685.00,317,0
+2006-02-07,18:07:00,3685.00,3685.00,3684.00,3684.00,110,0
+2006-02-07,18:08:00,3684.00,3685.00,3684.00,3684.00,155,0
+2006-02-07,18:09:00,3684.00,3684.00,3683.00,3684.00,76,0
+2006-02-07,18:10:00,3683.00,3683.00,3682.00,3682.00,359,0
+2006-02-07,18:11:00,3683.00,3683.00,3682.00,3682.00,276,0
+2006-02-07,18:12:00,3681.00,3681.00,3680.00,3681.00,1085,0
+2006-02-07,18:13:00,3682.00,3682.00,3681.00,3681.00,93,0
+2006-02-07,18:14:00,3681.00,3681.00,3681.00,3681.00,378,0
+2006-02-07,18:15:00,3681.00,3682.00,3681.00,3681.00,397,0
+2006-02-07,18:16:00,3681.00,3681.00,3679.00,3681.00,1628,0
+2006-02-07,18:17:00,3681.00,3681.00,3680.00,3681.00,606,0
+2006-02-07,18:18:00,3681.00,3682.00,3681.00,3682.00,127,0
+2006-02-07,18:19:00,3681.00,3681.00,3680.00,3680.00,539,0
+2006-02-07,18:20:00,3681.00,3681.00,3680.00,3681.00,147,0
+2006-02-07,18:21:00,3681.00,3682.00,3681.00,3682.00,293,0
+2006-02-07,18:22:00,3681.00,3682.00,3681.00,3682.00,89,0
+2006-02-07,18:23:00,3681.00,3681.00,3681.00,3681.00,78,0
+2006-02-07,18:24:00,3681.00,3683.00,3681.00,3683.00,295,0
+2006-02-07,18:25:00,3682.00,3682.00,3681.00,3681.00,202,0
+2006-02-07,18:26:00,3681.00,3681.00,3681.00,3681.00,69,0
+2006-02-07,18:27:00,3681.00,3682.00,3681.00,3682.00,261,0
+2006-02-07,18:28:00,3681.00,3681.00,3680.00,3680.00,227,0
+2006-02-07,18:29:00,3680.00,3681.00,3680.00,3681.00,273,0
+2006-02-07,18:30:00,3681.00,3683.00,3681.00,3682.00,495,0
+2006-02-07,18:31:00,3682.00,3682.00,3682.00,3682.00,126,0
+2006-02-07,18:32:00,3682.00,3682.00,3682.00,3682.00,29,0
+2006-02-07,18:33:00,3683.00,3685.00,3683.00,3684.00,597,0
+2006-02-07,18:34:00,3684.00,3686.00,3683.00,3685.00,280,0
+2006-02-07,18:35:00,3685.00,3686.00,3685.00,3685.00,326,0
+2006-02-07,18:36:00,3685.00,3686.00,3685.00,3686.00,459,0
+2006-02-07,18:37:00,3687.00,3687.00,3686.00,3686.00,580,0
+2006-02-07,18:38:00,3686.00,3686.00,3684.00,3684.00,309,0
+2006-02-07,18:39:00,3683.00,3683.00,3682.00,3682.00,280,0
+2006-02-07,18:40:00,3682.00,3685.00,3682.00,3685.00,153,0
+2006-02-07,18:41:00,3685.00,3685.00,3684.00,3684.00,21,0
+2006-02-07,18:42:00,3684.00,3684.00,3684.00,3684.00,61,0
+2006-02-07,18:43:00,3684.00,3685.00,3684.00,3684.00,229,0
+2006-02-07,18:44:00,3684.00,3684.00,3684.00,3684.00,39,0
+2006-02-07,18:45:00,3684.00,3685.00,3684.00,3684.00,86,0
+2006-02-07,18:46:00,3684.00,3684.00,3684.00,3684.00,204,0
+2006-02-07,18:47:00,3684.00,3685.00,3683.00,3683.00,494,0
+2006-02-07,18:48:00,3682.00,3682.00,3682.00,3682.00,142,0
+2006-02-07,18:49:00,3682.00,3682.00,3680.00,3680.00,301,0
+2006-02-07,18:50:00,3680.00,3681.00,3680.00,3681.00,36,0
+2006-02-07,18:51:00,3681.00,3681.00,3680.00,3680.00,112,0
+2006-02-07,18:52:00,3680.00,3681.00,3680.00,3681.00,284,0
+2006-02-07,18:53:00,3681.00,3681.00,3681.00,3681.00,47,0
+2006-02-07,18:54:00,3682.00,3682.00,3681.00,3681.00,128,0
+2006-02-07,18:55:00,3681.00,3681.00,3679.00,3680.00,144,0
+2006-02-07,18:56:00,3679.00,3680.00,3678.00,3679.00,401,0
+2006-02-07,18:57:00,3679.00,3680.00,3679.00,3680.00,149,0
+2006-02-07,18:58:00,3680.00,3681.00,3680.00,3681.00,206,0
+2006-02-07,18:59:00,3681.00,3681.00,3680.00,3681.00,199,0
+2006-02-07,19:00:00,3681.00,3682.00,3681.00,3681.00,90,0
+2006-02-07,19:01:00,3681.00,3681.00,3680.00,3680.00,135,0
+2006-02-07,19:02:00,3679.00,3679.00,3672.00,3674.00,3398,0
+2006-02-07,19:03:00,3674.00,3675.00,3673.00,3673.00,474,0
+2006-02-07,19:04:00,3673.00,3673.00,3671.00,3673.00,1814,0
+2006-02-07,19:05:00,3673.00,3673.00,3667.00,3670.00,4047,0
+2006-02-07,19:06:00,3670.00,3670.00,3667.00,3668.00,1121,0
+2006-02-07,19:07:00,3668.00,3672.00,3667.00,3670.00,916,0
+2006-02-07,19:08:00,3670.00,3671.00,3668.00,3668.00,808,0
+2006-02-07,19:09:00,3669.00,3669.00,3667.00,3667.00,778,0
+2006-02-07,19:10:00,3667.00,3667.00,3664.00,3666.00,2163,0
+2006-02-07,19:11:00,3665.00,3665.00,3662.00,3663.00,1882,0
+2006-02-07,19:12:00,3664.00,3666.00,3663.00,3665.00,1342,0
+2006-02-07,19:13:00,3665.00,3667.00,3665.00,3667.00,578,0
+2006-02-07,19:14:00,3667.00,3668.00,3667.00,3667.00,623,0
+2006-02-07,19:15:00,3666.00,3667.00,3666.00,3666.00,719,0
+2006-02-07,19:16:00,3666.00,3666.00,3665.00,3665.00,158,0
+2006-02-07,19:17:00,3665.00,3666.00,3664.00,3666.00,661,0
+2006-02-07,19:18:00,3666.00,3666.00,3663.00,3665.00,610,0
+2006-02-07,19:19:00,3665.00,3666.00,3665.00,3666.00,208,0
+2006-02-07,19:20:00,3666.00,3666.00,3666.00,3666.00,458,0
+2006-02-07,19:21:00,3666.00,3667.00,3665.00,3667.00,581,0
+2006-02-07,19:22:00,3667.00,3667.00,3667.00,3667.00,36,0
+2006-02-07,19:23:00,3667.00,3668.00,3667.00,3668.00,180,0
+2006-02-07,19:24:00,3669.00,3670.00,3669.00,3670.00,1048,0
+2006-02-07,19:25:00,3670.00,3670.00,3669.00,3669.00,383,0
+2006-02-07,19:26:00,3668.00,3669.00,3667.00,3667.00,788,0
+2006-02-07,19:27:00,3667.00,3667.00,3667.00,3667.00,355,0
+2006-02-07,19:28:00,3667.00,3667.00,3665.00,3666.00,574,0
+2006-02-07,19:29:00,3666.00,3668.00,3666.00,3666.00,501,0
+2006-02-07,19:30:00,3666.00,3666.00,3665.00,3665.00,403,0
+2006-02-07,19:31:00,3665.00,3666.00,3664.00,3665.00,301,0
+2006-02-07,19:32:00,3665.00,3667.00,3665.00,3667.00,137,0
+2006-02-07,19:33:00,3667.00,3668.00,3667.00,3668.00,209,0
+2006-02-07,19:34:00,3668.00,3669.00,3668.00,3668.00,225,0
+2006-02-07,19:35:00,3668.00,3669.00,3668.00,3668.00,330,0
+2006-02-07,19:36:00,3669.00,3669.00,3668.00,3668.00,51,0
+2006-02-07,19:37:00,3668.00,3668.00,3668.00,3668.00,84,0
+2006-02-07,19:38:00,3668.00,3668.00,3668.00,3668.00,53,0
+2006-02-07,19:39:00,3668.00,3668.00,3668.00,3668.00,4,0
+2006-02-07,19:40:00,3668.00,3669.00,3667.00,3669.00,144,0
+2006-02-07,19:41:00,3668.00,3668.00,3668.00,3668.00,13,0
+2006-02-07,19:42:00,3668.00,3668.00,3668.00,3668.00,187,0
+2006-02-07,19:43:00,3668.00,3668.00,3666.00,3666.00,458,0
+2006-02-07,19:44:00,3667.00,3667.00,3666.00,3667.00,704,0
+2006-02-07,19:45:00,3668.00,3668.00,3667.00,3667.00,433,0
+2006-02-07,19:46:00,3667.00,3670.00,3666.00,3669.00,315,0
+2006-02-07,19:47:00,3669.00,3669.00,3668.00,3668.00,211,0
+2006-02-07,19:48:00,3668.00,3669.00,3667.00,3668.00,196,0
+2006-02-07,19:49:00,3669.00,3670.00,3669.00,3669.00,118,0
+2006-02-07,19:50:00,3668.00,3668.00,3666.00,3667.00,435,0
+2006-02-07,19:51:00,3667.00,3668.00,3667.00,3668.00,69,0
+2006-02-07,19:52:00,3668.00,3668.00,3667.00,3667.00,124,0
+2006-02-07,19:53:00,3667.00,3667.00,3664.00,3665.00,302,0
+2006-02-07,19:54:00,3665.00,3666.00,3665.00,3665.00,149,0
+2006-02-07,19:55:00,3665.00,3667.00,3665.00,3666.00,364,0
+2006-02-07,19:56:00,3667.00,3667.00,3666.00,3666.00,99,0
+2006-02-07,19:57:00,3667.00,3668.00,3667.00,3668.00,201,0
+2006-02-07,19:58:00,3669.00,3669.00,3669.00,3669.00,220,0
+2006-02-07,19:59:00,3669.00,3669.00,3669.00,3669.00,82,0
+2006-02-07,20:00:00,3668.00,3669.00,3668.00,3669.00,87,0
+2006-02-07,20:01:00,3669.00,3670.00,3669.00,3669.00,29,0
+2006-02-07,20:02:00,3669.00,3669.00,3667.00,3667.00,240,0
+2006-02-07,20:03:00,3667.00,3667.00,3667.00,3667.00,27,0
+2006-02-07,20:04:00,3668.00,3669.00,3668.00,3669.00,81,0
+2006-02-07,20:05:00,3669.00,3669.00,3668.00,3668.00,41,0
+2006-02-07,20:06:00,3668.00,3668.00,3668.00,3668.00,17,0
+2006-02-07,20:07:00,3668.00,3668.00,3667.00,3668.00,379,0
+2006-02-07,20:08:00,3668.00,3668.00,3668.00,3668.00,77,0
+2006-02-07,20:09:00,3668.00,3668.00,3668.00,3668.00,1,0
+2006-02-07,20:10:00,3668.00,3668.00,3667.00,3667.00,174,0
+2006-02-07,20:11:00,3668.00,3668.00,3668.00,3668.00,43,0
+2006-02-07,20:12:00,3668.00,3669.00,3668.00,3668.00,226,0
+2006-02-07,20:13:00,3669.00,3669.00,3669.00,3669.00,90,0
+2006-02-07,20:14:00,3668.00,3668.00,3668.00,3668.00,52,0
+2006-02-07,20:15:00,3668.00,3670.00,3667.00,3670.00,308,0
+2006-02-07,20:16:00,3670.00,3670.00,3669.00,3669.00,120,0
+2006-02-07,20:17:00,3670.00,3671.00,3670.00,3670.00,60,0
+2006-02-07,20:18:00,3670.00,3670.00,3670.00,3670.00,34,0
+2006-02-07,20:19:00,3670.00,3670.00,3670.00,3670.00,21,0
+2006-02-07,20:20:00,3670.00,3670.00,3670.00,3670.00,129,0
+2006-02-07,20:21:00,3670.00,3670.00,3670.00,3670.00,154,0
+2006-02-07,20:22:00,3670.00,3670.00,3669.00,3669.00,350,0
+2006-02-07,20:23:00,3668.00,3669.00,3668.00,3669.00,140,0
+2006-02-07,20:24:00,3669.00,3669.00,3669.00,3669.00,51,0
+2006-02-07,20:25:00,3669.00,3669.00,3669.00,3669.00,16,0
+2006-02-07,20:26:00,3669.00,3669.00,3669.00,3669.00,11,0
+2006-02-07,20:27:00,3670.00,3672.00,3670.00,3671.00,353,0
+2006-02-07,20:28:00,3670.00,3672.00,3670.00,3672.00,429,0
+2006-02-07,20:29:00,3672.00,3673.00,3671.00,3671.00,1016,0
+2006-02-07,20:30:00,3672.00,3673.00,3671.00,3672.00,210,0
+2006-02-07,20:31:00,3673.00,3673.00,3671.00,3672.00,213,0
+2006-02-07,20:32:00,3672.00,3673.00,3671.00,3671.00,145,0
+2006-02-07,20:33:00,3671.00,3672.00,3671.00,3671.00,65,0
+2006-02-07,20:34:00,3671.00,3671.00,3670.00,3671.00,25,0
+2006-02-07,20:35:00,3670.00,3670.00,3670.00,3670.00,91,0
+2006-02-07,20:36:00,3670.00,3670.00,3669.00,3670.00,41,0
+2006-02-07,20:37:00,3671.00,3671.00,3671.00,3671.00,184,0
+2006-02-07,20:38:00,3672.00,3672.00,3671.00,3671.00,336,0
+2006-02-07,20:39:00,3670.00,3670.00,3669.00,3669.00,144,0
+2006-02-07,20:40:00,3669.00,3669.00,3668.00,3669.00,84,0
+2006-02-07,20:41:00,3668.00,3669.00,3668.00,3668.00,102,0
+2006-02-07,20:42:00,3668.00,3669.00,3668.00,3668.00,86,0
+2006-02-07,20:43:00,3668.00,3668.00,3668.00,3668.00,25,0
+2006-02-07,20:44:00,3669.00,3670.00,3669.00,3669.00,128,0
+2006-02-07,20:45:00,3669.00,3669.00,3669.00,3669.00,12,0
+2006-02-07,20:46:00,3669.00,3669.00,3667.00,3667.00,119,0
+2006-02-07,20:47:00,3667.00,3667.00,3664.00,3667.00,1133,0
+2006-02-07,20:48:00,3667.00,3667.00,3667.00,3667.00,45,0
+2006-02-07,20:49:00,3668.00,3668.00,3668.00,3668.00,115,0
+2006-02-07,20:50:00,3668.00,3668.00,3668.00,3668.00,85,0
+2006-02-07,20:51:00,3668.00,3668.00,3667.00,3667.00,62,0
+2006-02-07,20:52:00,3667.00,3667.00,3666.00,3666.00,267,0
+2006-02-07,20:53:00,3666.00,3666.00,3665.00,3665.00,189,0
+2006-02-07,20:54:00,3665.00,3667.00,3665.00,3666.00,114,0
+2006-02-07,20:55:00,3665.00,3665.00,3664.00,3665.00,168,0
+2006-02-07,20:56:00,3664.00,3667.00,3664.00,3667.00,164,0
+2006-02-07,20:57:00,3667.00,3667.00,3666.00,3666.00,27,0
+2006-02-07,20:58:00,3666.00,3666.00,3666.00,3666.00,40,0
+2006-02-07,20:59:00,3667.00,3667.00,3667.00,3667.00,10,0
+2006-02-07,21:00:00,3667.00,3667.00,3666.00,3666.00,91,0
+2006-02-07,21:01:00,3665.00,3667.00,3665.00,3666.00,242,0
+2006-02-07,21:02:00,3665.00,3665.00,3665.00,3665.00,53,0
+2006-02-07,21:03:00,3665.00,3665.00,3665.00,3665.00,42,0
+2006-02-07,21:04:00,3665.00,3666.00,3665.00,3665.00,122,0
+2006-02-07,21:05:00,3664.00,3664.00,3663.00,3663.00,155,0
+2006-02-07,21:06:00,3663.00,3665.00,3663.00,3664.00,183,0
+2006-02-07,21:07:00,3664.00,3664.00,3664.00,3664.00,80,0
+2006-02-07,21:08:00,3665.00,3665.00,3664.00,3664.00,60,0
+2006-02-07,21:09:00,3665.00,3666.00,3665.00,3665.00,262,0
+2006-02-07,21:11:00,3665.00,3665.00,3665.00,3665.00,37,0
+2006-02-07,21:12:00,3665.00,3665.00,3664.00,3664.00,24,0
+2006-02-07,21:13:00,3664.00,3664.00,3664.00,3664.00,66,0
+2006-02-07,21:14:00,3665.00,3665.00,3665.00,3665.00,71,0
+2006-02-07,21:15:00,3666.00,3667.00,3666.00,3667.00,52,0
+2006-02-07,21:16:00,3666.00,3666.00,3665.00,3665.00,28,0
+2006-02-07,21:17:00,3665.00,3665.00,3665.00,3665.00,25,0
+2006-02-07,21:18:00,3664.00,3664.00,3664.00,3664.00,58,0
+2006-02-07,21:19:00,3665.00,3665.00,3665.00,3665.00,102,0
+2006-02-07,21:20:00,3664.00,3664.00,3664.00,3664.00,5,0
+2006-02-07,21:21:00,3665.00,3665.00,3665.00,3665.00,116,0
+2006-02-07,21:22:00,3665.00,3665.00,3664.00,3664.00,77,0
+2006-02-07,21:23:00,3665.00,3665.00,3665.00,3665.00,14,0
+2006-02-07,21:24:00,3665.00,3667.00,3665.00,3667.00,278,0
+2006-02-07,21:25:00,3668.00,3668.00,3667.00,3667.00,62,0
+2006-02-07,21:26:00,3667.00,3667.00,3667.00,3667.00,138,0
+2006-02-07,21:27:00,3666.00,3666.00,3666.00,3666.00,10,0
+2006-02-07,21:28:00,3667.00,3667.00,3666.00,3666.00,20,0
+2006-02-07,21:30:00,3667.00,3667.00,3665.00,3666.00,95,0
+2006-02-07,21:31:00,3666.00,3667.00,3665.00,3667.00,83,0
+2006-02-07,21:33:00,3666.00,3666.00,3666.00,3666.00,17,0
+2006-02-07,21:34:00,3666.00,3666.00,3666.00,3666.00,11,0
+2006-02-07,21:35:00,3666.00,3666.00,3666.00,3666.00,4,0
+2006-02-07,21:36:00,3666.00,3667.00,3666.00,3667.00,33,0
+2006-02-07,21:37:00,3667.00,3667.00,3667.00,3667.00,14,0
+2006-02-07,21:39:00,3668.00,3668.00,3668.00,3668.00,13,0
+2006-02-07,21:40:00,3669.00,3670.00,3669.00,3670.00,181,0
+2006-02-07,21:41:00,3670.00,3670.00,3669.00,3669.00,103,0
+2006-02-07,21:42:00,3669.00,3669.00,3668.00,3668.00,115,0
+2006-02-07,21:44:00,3668.00,3668.00,3668.00,3668.00,1,0
+2006-02-07,21:45:00,3669.00,3669.00,3669.00,3669.00,146,0
+2006-02-07,21:46:00,3669.00,3670.00,3669.00,3670.00,7,0
+2006-02-07,21:47:00,3669.00,3669.00,3668.00,3668.00,15,0
+2006-02-07,21:48:00,3669.00,3669.00,3669.00,3669.00,1,0
+2006-02-07,21:49:00,3669.00,3669.00,3668.00,3668.00,57,0
+2006-02-07,21:50:00,3668.00,3669.00,3668.00,3669.00,26,0
+2006-02-07,21:51:00,3668.00,3668.00,3667.00,3667.00,79,0
+2006-02-07,21:52:00,3668.00,3668.00,3668.00,3668.00,25,0
+2006-02-07,21:53:00,3669.00,3669.00,3667.00,3668.00,56,0
+2006-02-07,21:54:00,3668.00,3668.00,3668.00,3668.00,1,0
+2006-02-07,21:55:00,3668.00,3668.00,3666.00,3666.00,92,0
+2006-02-07,21:56:00,3667.00,3667.00,3666.00,3666.00,12,0
+2006-02-07,21:57:00,3666.00,3667.00,3666.00,3666.00,7,0
+2006-02-07,21:58:00,3666.00,3668.00,3666.00,3667.00,53,0
+2006-02-07,21:59:00,3668.00,3668.00,3667.00,3668.00,48,0
+2006-02-07,22:00:00,3668.00,3669.00,3666.00,3669.00,229,0
+2006-02-08,09:01:00,3658.00,3658.00,3654.00,3657.00,9475,0
+2006-02-08,09:02:00,3656.00,3659.00,3652.00,3653.00,5485,0
+2006-02-08,09:03:00,3653.00,3655.00,3651.00,3653.00,6335,0
+2006-02-08,09:04:00,3654.00,3655.00,3652.00,3654.00,3209,0
+2006-02-08,09:05:00,3654.00,3654.00,3649.00,3650.00,6623,0
+2006-02-08,09:06:00,3650.00,3651.00,3647.00,3650.00,5090,0
+2006-02-08,09:07:00,3651.00,3655.00,3650.00,3654.00,3744,0
+2006-02-08,09:08:00,3654.00,3654.00,3652.00,3653.00,1716,0
+2006-02-08,09:09:00,3653.00,3655.00,3653.00,3653.00,1995,0
+2006-02-08,09:10:00,3654.00,3655.00,3653.00,3653.00,1874,0
+2006-02-08,09:11:00,3653.00,3656.00,3653.00,3655.00,3086,0
+2006-02-08,09:12:00,3654.00,3655.00,3654.00,3654.00,912,0
+2006-02-08,09:13:00,3654.00,3657.00,3654.00,3657.00,1020,0
+2006-02-08,09:14:00,3657.00,3659.00,3656.00,3657.00,2126,0
+2006-02-08,09:15:00,3657.00,3658.00,3657.00,3657.00,444,0
+2006-02-08,09:16:00,3658.00,3658.00,3656.00,3657.00,1306,0
+2006-02-08,09:17:00,3657.00,3657.00,3655.00,3656.00,659,0
+2006-02-08,09:18:00,3656.00,3658.00,3656.00,3656.00,852,0
+2006-02-08,09:19:00,3656.00,3657.00,3654.00,3654.00,1433,0
+2006-02-08,09:20:00,3654.00,3655.00,3653.00,3654.00,1651,0
+2006-02-08,09:21:00,3653.00,3654.00,3652.00,3653.00,2675,0
+2006-02-08,09:22:00,3653.00,3654.00,3650.00,3651.00,3335,0
+2006-02-08,09:23:00,3651.00,3653.00,3650.00,3653.00,604,0
+2006-02-08,09:24:00,3653.00,3654.00,3651.00,3651.00,3058,0
+2006-02-08,09:25:00,3651.00,3652.00,3648.00,3649.00,3026,0
+2006-02-08,09:26:00,3649.00,3650.00,3645.00,3647.00,5629,0
+2006-02-08,09:27:00,3647.00,3647.00,3645.00,3646.00,2726,0
+2006-02-08,09:28:00,3646.00,3648.00,3645.00,3648.00,2015,0
+2006-02-08,09:29:00,3647.00,3650.00,3646.00,3646.00,2784,0
+2006-02-08,09:30:00,3647.00,3650.00,3647.00,3650.00,1327,0
+2006-02-08,09:31:00,3650.00,3651.00,3649.00,3649.00,3232,0
+2006-02-08,09:32:00,3649.00,3652.00,3649.00,3651.00,3680,0
+2006-02-08,09:33:00,3651.00,3652.00,3650.00,3652.00,915,0
+2006-02-08,09:34:00,3652.00,3652.00,3651.00,3652.00,714,0
+2006-02-08,09:35:00,3652.00,3652.00,3650.00,3652.00,528,0
+2006-02-08,09:36:00,3652.00,3652.00,3651.00,3652.00,1693,0
+2006-02-08,09:37:00,3653.00,3655.00,3652.00,3654.00,1850,0
+2006-02-08,09:38:00,3655.00,3655.00,3653.00,3654.00,2094,0
+2006-02-08,09:39:00,3655.00,3658.00,3654.00,3656.00,2977,0
+2006-02-08,09:40:00,3657.00,3657.00,3656.00,3657.00,406,0
+2006-02-08,09:41:00,3656.00,3658.00,3655.00,3656.00,1488,0
+2006-02-08,09:42:00,3656.00,3657.00,3656.00,3657.00,549,0
+2006-02-08,09:43:00,3656.00,3657.00,3656.00,3657.00,964,0
+2006-02-08,09:44:00,3658.00,3659.00,3657.00,3658.00,1773,0
+2006-02-08,09:45:00,3657.00,3658.00,3655.00,3656.00,1193,0
+2006-02-08,09:46:00,3655.00,3655.00,3652.00,3652.00,3194,0
+2006-02-08,09:47:00,3651.00,3654.00,3651.00,3653.00,484,0
+2006-02-08,09:48:00,3653.00,3655.00,3653.00,3654.00,1390,0
+2006-02-08,09:49:00,3654.00,3654.00,3653.00,3654.00,382,0
+2006-02-08,09:50:00,3654.00,3655.00,3654.00,3654.00,326,0
+2006-02-08,09:51:00,3655.00,3656.00,3654.00,3656.00,931,0
+2006-02-08,09:52:00,3656.00,3657.00,3655.00,3656.00,1878,0
+2006-02-08,09:53:00,3655.00,3656.00,3654.00,3655.00,938,0
+2006-02-08,09:54:00,3655.00,3655.00,3654.00,3654.00,684,0
+2006-02-08,09:55:00,3654.00,3656.00,3654.00,3655.00,512,0
+2006-02-08,09:56:00,3656.00,3658.00,3656.00,3657.00,1281,0
+2006-02-08,09:57:00,3658.00,3660.00,3658.00,3658.00,1469,0
+2006-02-08,09:58:00,3659.00,3661.00,3659.00,3661.00,2339,0
+2006-02-08,09:59:00,3661.00,3661.00,3659.00,3660.00,1620,0
+2006-02-08,10:00:00,3660.00,3660.00,3658.00,3659.00,763,0
+2006-02-08,10:01:00,3660.00,3660.00,3658.00,3659.00,1076,0
+2006-02-08,10:02:00,3658.00,3660.00,3657.00,3659.00,2824,0
+2006-02-08,10:03:00,3660.00,3661.00,3658.00,3659.00,1918,0
+2006-02-08,10:04:00,3659.00,3660.00,3659.00,3660.00,925,0
+2006-02-08,10:05:00,3660.00,3660.00,3657.00,3657.00,1810,0
+2006-02-08,10:06:00,3657.00,3657.00,3655.00,3656.00,1432,0
+2006-02-08,10:07:00,3655.00,3656.00,3655.00,3656.00,677,0
+2006-02-08,10:08:00,3656.00,3657.00,3655.00,3656.00,540,0
+2006-02-08,10:09:00,3656.00,3656.00,3654.00,3655.00,1758,0
+2006-02-08,10:10:00,3656.00,3658.00,3656.00,3657.00,391,0
+2006-02-08,10:11:00,3657.00,3658.00,3657.00,3658.00,168,0
+2006-02-08,10:12:00,3658.00,3658.00,3657.00,3658.00,599,0
+2006-02-08,10:13:00,3658.00,3659.00,3658.00,3658.00,2571,0
+2006-02-08,10:14:00,3658.00,3658.00,3657.00,3657.00,389,0
+2006-02-08,10:15:00,3658.00,3658.00,3656.00,3658.00,587,0
+2006-02-08,10:16:00,3657.00,3660.00,3657.00,3659.00,994,0
+2006-02-08,10:17:00,3659.00,3662.00,3659.00,3661.00,1714,0
+2006-02-08,10:18:00,3660.00,3663.00,3659.00,3663.00,1189,0
+2006-02-08,10:19:00,3662.00,3662.00,3660.00,3660.00,609,0
+2006-02-08,10:20:00,3660.00,3661.00,3660.00,3661.00,1297,0
+2006-02-08,10:21:00,3661.00,3662.00,3660.00,3662.00,1010,0
+2006-02-08,10:22:00,3662.00,3662.00,3660.00,3660.00,618,0
+2006-02-08,10:23:00,3661.00,3661.00,3659.00,3659.00,321,0
+2006-02-08,10:24:00,3659.00,3660.00,3654.00,3656.00,3921,0
+2006-02-08,10:25:00,3655.00,3656.00,3654.00,3655.00,2244,0
+2006-02-08,10:26:00,3656.00,3656.00,3653.00,3655.00,1124,0
+2006-02-08,10:27:00,3655.00,3656.00,3654.00,3656.00,900,0
+2006-02-08,10:28:00,3656.00,3657.00,3655.00,3656.00,160,0
+2006-02-08,10:29:00,3657.00,3659.00,3657.00,3658.00,675,0
+2006-02-08,10:30:00,3658.00,3662.00,3657.00,3662.00,1805,0
+2006-02-08,10:31:00,3662.00,3664.00,3661.00,3662.00,4437,0
+2006-02-08,10:32:00,3662.00,3663.00,3661.00,3662.00,1295,0
+2006-02-08,10:33:00,3661.00,3662.00,3661.00,3661.00,933,0
+2006-02-08,10:34:00,3660.00,3664.00,3660.00,3664.00,1822,0
+2006-02-08,10:35:00,3664.00,3664.00,3661.00,3662.00,1347,0
+2006-02-08,10:36:00,3662.00,3663.00,3661.00,3663.00,896,0
+2006-02-08,10:37:00,3663.00,3663.00,3662.00,3662.00,1941,0
+2006-02-08,10:38:00,3661.00,3661.00,3660.00,3660.00,977,0
+2006-02-08,10:39:00,3661.00,3661.00,3660.00,3661.00,260,0
+2006-02-08,10:40:00,3661.00,3663.00,3661.00,3662.00,699,0
+2006-02-08,10:41:00,3662.00,3663.00,3661.00,3662.00,1151,0
+2006-02-08,10:42:00,3661.00,3663.00,3661.00,3662.00,1920,0
+2006-02-08,10:43:00,3662.00,3662.00,3658.00,3658.00,2235,0
+2006-02-08,10:44:00,3659.00,3660.00,3658.00,3660.00,849,0
+2006-02-08,10:45:00,3659.00,3660.00,3659.00,3659.00,957,0
+2006-02-08,10:46:00,3660.00,3660.00,3659.00,3659.00,43,0
+2006-02-08,10:47:00,3659.00,3659.00,3658.00,3658.00,635,0
+2006-02-08,10:48:00,3658.00,3659.00,3657.00,3659.00,612,0
+2006-02-08,10:49:00,3660.00,3660.00,3658.00,3659.00,801,0
+2006-02-08,10:50:00,3659.00,3660.00,3658.00,3659.00,617,0
+2006-02-08,10:51:00,3659.00,3660.00,3658.00,3659.00,2173,0
+2006-02-08,10:52:00,3659.00,3660.00,3658.00,3660.00,1463,0
+2006-02-08,10:53:00,3660.00,3660.00,3658.00,3660.00,534,0
+2006-02-08,10:54:00,3660.00,3661.00,3660.00,3661.00,742,0
+2006-02-08,10:55:00,3661.00,3663.00,3660.00,3662.00,3212,0
+2006-02-08,10:56:00,3663.00,3664.00,3662.00,3663.00,939,0
+2006-02-08,10:57:00,3662.00,3663.00,3661.00,3662.00,792,0
+2006-02-08,10:58:00,3663.00,3664.00,3662.00,3663.00,2155,0
+2006-02-08,10:59:00,3663.00,3664.00,3663.00,3663.00,2624,0
+2006-02-08,11:00:00,3663.00,3664.00,3662.00,3663.00,1333,0
+2006-02-08,11:01:00,3663.00,3667.00,3663.00,3665.00,3584,0
+2006-02-08,11:02:00,3665.00,3666.00,3664.00,3664.00,324,0
+2006-02-08,11:03:00,3665.00,3665.00,3663.00,3664.00,557,0
+2006-02-08,11:04:00,3664.00,3664.00,3663.00,3663.00,72,0
+2006-02-08,11:05:00,3664.00,3665.00,3664.00,3664.00,3743,0
+2006-02-08,11:06:00,3665.00,3665.00,3664.00,3665.00,441,0
+2006-02-08,11:07:00,3664.00,3665.00,3664.00,3664.00,219,0
+2006-02-08,11:08:00,3665.00,3665.00,3664.00,3664.00,41,0
+2006-02-08,11:09:00,3664.00,3666.00,3664.00,3666.00,869,0
+2006-02-08,11:10:00,3665.00,3668.00,3665.00,3667.00,1798,0
+2006-02-08,11:11:00,3666.00,3668.00,3666.00,3668.00,475,0
+2006-02-08,11:12:00,3668.00,3668.00,3666.00,3666.00,590,0
+2006-02-08,11:13:00,3666.00,3667.00,3666.00,3666.00,291,0
+2006-02-08,11:14:00,3667.00,3667.00,3666.00,3667.00,354,0
+2006-02-08,11:15:00,3666.00,3667.00,3666.00,3667.00,42,0
+2006-02-08,11:16:00,3666.00,3668.00,3666.00,3667.00,490,0
+2006-02-08,11:17:00,3668.00,3668.00,3667.00,3667.00,905,0
+2006-02-08,11:18:00,3667.00,3668.00,3666.00,3667.00,1384,0
+2006-02-08,11:19:00,3666.00,3666.00,3665.00,3665.00,621,0
+2006-02-08,11:20:00,3665.00,3667.00,3665.00,3667.00,1212,0
+2006-02-08,11:21:00,3666.00,3667.00,3665.00,3665.00,271,0
+2006-02-08,11:22:00,3666.00,3666.00,3663.00,3665.00,1965,0
+2006-02-08,11:23:00,3664.00,3665.00,3664.00,3664.00,168,0
+2006-02-08,11:24:00,3664.00,3665.00,3663.00,3664.00,294,0
+2006-02-08,11:25:00,3664.00,3665.00,3664.00,3664.00,60,0
+2006-02-08,11:26:00,3664.00,3666.00,3664.00,3666.00,1340,0
+2006-02-08,11:27:00,3666.00,3667.00,3665.00,3666.00,326,0
+2006-02-08,11:28:00,3667.00,3668.00,3666.00,3668.00,924,0
+2006-02-08,11:29:00,3669.00,3669.00,3668.00,3668.00,2339,0
+2006-02-08,11:30:00,3668.00,3669.00,3668.00,3668.00,1192,0
+2006-02-08,11:31:00,3668.00,3673.00,3668.00,3672.00,5365,0
+2006-02-08,11:32:00,3671.00,3672.00,3670.00,3670.00,1619,0
+2006-02-08,11:33:00,3671.00,3671.00,3670.00,3670.00,691,0
+2006-02-08,11:34:00,3670.00,3672.00,3670.00,3671.00,616,0
+2006-02-08,11:35:00,3671.00,3671.00,3667.00,3668.00,2291,0
+2006-02-08,11:36:00,3668.00,3669.00,3667.00,3668.00,298,0
+2006-02-08,11:37:00,3668.00,3669.00,3668.00,3668.00,1095,0
+2006-02-08,11:38:00,3669.00,3669.00,3668.00,3668.00,47,0
+2006-02-08,11:39:00,3668.00,3669.00,3668.00,3668.00,362,0
+2006-02-08,11:40:00,3669.00,3670.00,3669.00,3670.00,143,0
+2006-02-08,11:41:00,3669.00,3670.00,3668.00,3668.00,1866,0
+2006-02-08,11:42:00,3668.00,3669.00,3668.00,3669.00,359,0
+2006-02-08,11:43:00,3669.00,3670.00,3668.00,3669.00,309,0
+2006-02-08,11:44:00,3669.00,3669.00,3668.00,3668.00,220,0
+2006-02-08,11:45:00,3668.00,3668.00,3667.00,3668.00,456,0
+2006-02-08,11:46:00,3668.00,3668.00,3667.00,3668.00,346,0
+2006-02-08,11:47:00,3667.00,3669.00,3667.00,3668.00,147,0
+2006-02-08,11:48:00,3668.00,3669.00,3668.00,3669.00,94,0
+2006-02-08,11:49:00,3669.00,3671.00,3668.00,3670.00,1127,0
+2006-02-08,11:50:00,3670.00,3671.00,3670.00,3670.00,546,0
+2006-02-08,11:51:00,3671.00,3671.00,3670.00,3671.00,310,0
+2006-02-08,11:52:00,3671.00,3671.00,3669.00,3670.00,1058,0
+2006-02-08,11:53:00,3669.00,3670.00,3669.00,3669.00,57,0
+2006-02-08,11:54:00,3670.00,3670.00,3670.00,3670.00,20,0
+2006-02-08,11:55:00,3669.00,3670.00,3669.00,3669.00,369,0
+2006-02-08,11:56:00,3670.00,3671.00,3669.00,3671.00,664,0
+2006-02-08,11:57:00,3671.00,3672.00,3670.00,3671.00,1962,0
+2006-02-08,11:58:00,3670.00,3671.00,3670.00,3670.00,920,0
+2006-02-08,11:59:00,3671.00,3673.00,3670.00,3672.00,1228,0
+2006-02-08,12:00:00,3672.00,3672.00,3671.00,3671.00,323,0
+2006-02-08,12:01:00,3671.00,3671.00,3669.00,3670.00,3025,0
+2006-02-08,12:02:00,3669.00,3671.00,3669.00,3670.00,920,0
+2006-02-08,12:03:00,3671.00,3671.00,3670.00,3670.00,133,0
+2006-02-08,12:04:00,3670.00,3672.00,3670.00,3671.00,486,0
+2006-02-08,12:05:00,3671.00,3672.00,3671.00,3672.00,106,0
+2006-02-08,12:06:00,3671.00,3672.00,3671.00,3671.00,439,0
+2006-02-08,12:07:00,3671.00,3672.00,3671.00,3671.00,350,0
+2006-02-08,12:08:00,3670.00,3670.00,3668.00,3670.00,2517,0
+2006-02-08,12:09:00,3670.00,3670.00,3669.00,3670.00,97,0
+2006-02-08,12:10:00,3671.00,3671.00,3670.00,3671.00,336,0
+2006-02-08,12:11:00,3671.00,3671.00,3670.00,3670.00,3,0
+2006-02-08,12:12:00,3670.00,3671.00,3670.00,3671.00,2146,0
+2006-02-08,12:13:00,3670.00,3671.00,3670.00,3670.00,6,0
+2006-02-08,12:14:00,3670.00,3671.00,3669.00,3671.00,570,0
+2006-02-08,12:15:00,3670.00,3671.00,3670.00,3671.00,287,0
+2006-02-08,12:16:00,3671.00,3672.00,3670.00,3671.00,1516,0
+2006-02-08,12:17:00,3671.00,3671.00,3670.00,3670.00,155,0
+2006-02-08,12:18:00,3671.00,3671.00,3670.00,3670.00,475,0
+2006-02-08,12:19:00,3669.00,3670.00,3669.00,3669.00,272,0
+2006-02-08,12:20:00,3669.00,3671.00,3669.00,3671.00,241,0
+2006-02-08,12:21:00,3670.00,3670.00,3670.00,3670.00,225,0
+2006-02-08,12:22:00,3671.00,3671.00,3670.00,3670.00,507,0
+2006-02-08,12:23:00,3671.00,3671.00,3670.00,3671.00,35,0
+2006-02-08,12:24:00,3671.00,3671.00,3670.00,3670.00,8,0
+2006-02-08,12:25:00,3671.00,3672.00,3670.00,3671.00,900,0
+2006-02-08,12:26:00,3672.00,3672.00,3671.00,3672.00,1388,0
+2006-02-08,12:27:00,3672.00,3674.00,3672.00,3673.00,2226,0
+2006-02-08,12:28:00,3673.00,3674.00,3672.00,3672.00,153,0
+2006-02-08,12:29:00,3673.00,3673.00,3672.00,3672.00,34,0
+2006-02-08,12:30:00,3672.00,3675.00,3672.00,3673.00,1593,0
+2006-02-08,12:31:00,3674.00,3675.00,3673.00,3673.00,1165,0
+2006-02-08,12:32:00,3674.00,3675.00,3674.00,3675.00,2972,0
+2006-02-08,12:33:00,3674.00,3675.00,3673.00,3674.00,915,0
+2006-02-08,12:34:00,3673.00,3674.00,3673.00,3673.00,735,0
+2006-02-08,12:35:00,3674.00,3676.00,3673.00,3676.00,3180,0
+2006-02-08,12:36:00,3675.00,3677.00,3675.00,3676.00,3543,0
+2006-02-08,12:37:00,3676.00,3677.00,3676.00,3676.00,319,0
+2006-02-08,12:38:00,3676.00,3676.00,3675.00,3675.00,990,0
+2006-02-08,12:39:00,3676.00,3677.00,3675.00,3676.00,1546,0
+2006-02-08,12:40:00,3676.00,3676.00,3675.00,3675.00,659,0
+2006-02-08,12:41:00,3676.00,3676.00,3675.00,3675.00,475,0
+2006-02-08,12:42:00,3675.00,3676.00,3674.00,3674.00,257,0
+2006-02-08,12:43:00,3674.00,3675.00,3674.00,3674.00,254,0
+2006-02-08,12:44:00,3675.00,3675.00,3675.00,3675.00,7,0
+2006-02-08,12:45:00,3674.00,3675.00,3674.00,3674.00,264,0
+2006-02-08,12:46:00,3674.00,3674.00,3673.00,3674.00,493,0
+2006-02-08,12:47:00,3674.00,3675.00,3673.00,3674.00,621,0
+2006-02-08,12:48:00,3675.00,3677.00,3674.00,3677.00,804,0
+2006-02-08,12:49:00,3676.00,3677.00,3676.00,3676.00,220,0
+2006-02-08,12:50:00,3676.00,3677.00,3676.00,3676.00,453,0
+2006-02-08,12:51:00,3677.00,3678.00,3677.00,3678.00,1563,0
+2006-02-08,12:52:00,3678.00,3678.00,3677.00,3677.00,489,0
+2006-02-08,12:53:00,3677.00,3677.00,3676.00,3676.00,19,0
+2006-02-08,12:54:00,3677.00,3677.00,3674.00,3675.00,1040,0
+2006-02-08,12:55:00,3675.00,3675.00,3674.00,3674.00,963,0
+2006-02-08,12:56:00,3674.00,3674.00,3674.00,3674.00,620,0
+2006-02-08,12:57:00,3674.00,3675.00,3674.00,3674.00,438,0
+2006-02-08,12:58:00,3674.00,3674.00,3673.00,3674.00,195,0
+2006-02-08,12:59:00,3674.00,3674.00,3674.00,3674.00,502,0
+2006-02-08,13:00:00,3675.00,3675.00,3674.00,3674.00,610,0
+2006-02-08,13:01:00,3674.00,3675.00,3674.00,3675.00,1174,0
+2006-02-08,13:02:00,3675.00,3675.00,3674.00,3674.00,146,0
+2006-02-08,13:03:00,3674.00,3674.00,3674.00,3674.00,217,0
+2006-02-08,13:04:00,3674.00,3674.00,3673.00,3674.00,205,0
+2006-02-08,13:05:00,3674.00,3674.00,3673.00,3673.00,96,0
+2006-02-08,13:06:00,3674.00,3674.00,3673.00,3674.00,194,0
+2006-02-08,13:07:00,3673.00,3674.00,3673.00,3674.00,711,0
+2006-02-08,13:08:00,3673.00,3674.00,3673.00,3674.00,96,0
+2006-02-08,13:09:00,3674.00,3674.00,3673.00,3673.00,108,0
+2006-02-08,13:10:00,3674.00,3674.00,3673.00,3673.00,283,0
+2006-02-08,13:11:00,3674.00,3674.00,3673.00,3673.00,161,0
+2006-02-08,13:12:00,3673.00,3676.00,3673.00,3676.00,1213,0
+2006-02-08,13:13:00,3675.00,3675.00,3675.00,3675.00,83,0
+2006-02-08,13:14:00,3676.00,3676.00,3676.00,3676.00,264,0
+2006-02-08,13:15:00,3677.00,3677.00,3675.00,3676.00,576,0
+2006-02-08,13:16:00,3676.00,3677.00,3675.00,3675.00,454,0
+2006-02-08,13:17:00,3675.00,3676.00,3675.00,3676.00,159,0
+2006-02-08,13:18:00,3676.00,3677.00,3676.00,3676.00,64,0
+2006-02-08,13:19:00,3677.00,3677.00,3676.00,3676.00,419,0
+2006-02-08,13:20:00,3676.00,3676.00,3675.00,3676.00,1096,0
+2006-02-08,13:21:00,3676.00,3676.00,3675.00,3676.00,163,0
+2006-02-08,13:22:00,3675.00,3676.00,3675.00,3676.00,243,0
+2006-02-08,13:23:00,3675.00,3675.00,3675.00,3675.00,1,0
+2006-02-08,13:24:00,3676.00,3676.00,3675.00,3675.00,7,0
+2006-02-08,13:25:00,3675.00,3675.00,3675.00,3675.00,938,0
+2006-02-08,13:26:00,3675.00,3677.00,3675.00,3677.00,1177,0
+2006-02-08,13:27:00,3677.00,3677.00,3676.00,3676.00,216,0
+2006-02-08,13:28:00,3676.00,3676.00,3676.00,3676.00,214,0
+2006-02-08,13:29:00,3676.00,3676.00,3676.00,3676.00,53,0
+2006-02-08,13:30:00,3676.00,3676.00,3676.00,3676.00,136,0
+2006-02-08,13:31:00,3677.00,3677.00,3676.00,3676.00,185,0
+2006-02-08,13:32:00,3675.00,3676.00,3675.00,3676.00,358,0
+2006-02-08,13:33:00,3676.00,3676.00,3676.00,3676.00,268,0
+2006-02-08,13:34:00,3676.00,3677.00,3676.00,3677.00,906,0
+2006-02-08,13:35:00,3676.00,3676.00,3676.00,3676.00,13,0
+2006-02-08,13:36:00,3676.00,3676.00,3676.00,3676.00,155,0
+2006-02-08,13:37:00,3677.00,3677.00,3676.00,3676.00,223,0
+2006-02-08,13:38:00,3676.00,3678.00,3676.00,3678.00,2475,0
+2006-02-08,13:39:00,3677.00,3677.00,3676.00,3676.00,494,0
+2006-02-08,13:40:00,3677.00,3678.00,3676.00,3677.00,232,0
+2006-02-08,13:41:00,3677.00,3677.00,3676.00,3676.00,2,0
+2006-02-08,13:42:00,3677.00,3677.00,3676.00,3677.00,1089,0
+2006-02-08,13:43:00,3677.00,3678.00,3677.00,3677.00,783,0
+2006-02-08,13:44:00,3677.00,3679.00,3677.00,3677.00,1756,0
+2006-02-08,13:45:00,3678.00,3678.00,3677.00,3677.00,2036,0
+2006-02-08,13:46:00,3678.00,3678.00,3677.00,3677.00,3011,0
+2006-02-08,13:47:00,3677.00,3678.00,3677.00,3678.00,630,0
+2006-02-08,13:48:00,3677.00,3678.00,3677.00,3678.00,201,0
+2006-02-08,13:49:00,3678.00,3678.00,3677.00,3677.00,187,0
+2006-02-08,13:50:00,3677.00,3678.00,3677.00,3678.00,302,0
+2006-02-08,13:51:00,3677.00,3679.00,3677.00,3678.00,441,0
+2006-02-08,13:52:00,3678.00,3678.00,3678.00,3678.00,71,0
+2006-02-08,13:53:00,3678.00,3679.00,3678.00,3679.00,35,0
+2006-02-08,13:54:00,3679.00,3679.00,3678.00,3678.00,21,0
+2006-02-08,13:55:00,3678.00,3679.00,3678.00,3679.00,26,0
+2006-02-08,13:56:00,3678.00,3679.00,3678.00,3679.00,34,0
+2006-02-08,13:57:00,3679.00,3679.00,3678.00,3678.00,25,0
+2006-02-08,13:58:00,3678.00,3679.00,3677.00,3678.00,602,0
+2006-02-08,13:59:00,3677.00,3677.00,3677.00,3677.00,244,0
+2006-02-08,14:00:00,3677.00,3678.00,3676.00,3677.00,361,0
+2006-02-08,14:01:00,3677.00,3678.00,3676.00,3678.00,670,0
+2006-02-08,14:02:00,3678.00,3679.00,3678.00,3678.00,81,0
+2006-02-08,14:03:00,3677.00,3679.00,3677.00,3679.00,287,0
+2006-02-08,14:04:00,3678.00,3680.00,3678.00,3679.00,466,0
+2006-02-08,14:05:00,3679.00,3680.00,3679.00,3679.00,194,0
+2006-02-08,14:06:00,3680.00,3680.00,3679.00,3679.00,476,0
+2006-02-08,14:07:00,3680.00,3681.00,3679.00,3679.00,1528,0
+2006-02-08,14:08:00,3680.00,3680.00,3678.00,3679.00,632,0
+2006-02-08,14:09:00,3678.00,3679.00,3677.00,3678.00,879,0
+2006-02-08,14:10:00,3678.00,3678.00,3677.00,3677.00,4,0
+2006-02-08,14:11:00,3678.00,3678.00,3677.00,3678.00,327,0
+2006-02-08,14:12:00,3678.00,3679.00,3678.00,3679.00,77,0
+2006-02-08,14:13:00,3678.00,3678.00,3678.00,3678.00,11,0
+2006-02-08,14:14:00,3679.00,3679.00,3678.00,3679.00,62,0
+2006-02-08,14:15:00,3679.00,3679.00,3679.00,3679.00,22,0
+2006-02-08,14:16:00,3679.00,3681.00,3679.00,3680.00,877,0
+2006-02-08,14:17:00,3680.00,3680.00,3678.00,3678.00,709,0
+2006-02-08,14:18:00,3678.00,3679.00,3678.00,3679.00,1736,0
+2006-02-08,14:19:00,3679.00,3679.00,3679.00,3679.00,143,0
+2006-02-08,14:20:00,3680.00,3680.00,3678.00,3678.00,658,0
+2006-02-08,14:21:00,3678.00,3678.00,3677.00,3678.00,123,0
+2006-02-08,14:22:00,3678.00,3679.00,3678.00,3679.00,116,0
+2006-02-08,14:23:00,3679.00,3679.00,3678.00,3678.00,25,0
+2006-02-08,14:24:00,3679.00,3679.00,3678.00,3678.00,9,0
+2006-02-08,14:25:00,3679.00,3679.00,3678.00,3678.00,189,0
+2006-02-08,14:26:00,3678.00,3679.00,3677.00,3677.00,93,0
+2006-02-08,14:27:00,3678.00,3678.00,3677.00,3678.00,42,0
+2006-02-08,14:28:00,3677.00,3678.00,3677.00,3678.00,232,0
+2006-02-08,14:29:00,3678.00,3678.00,3677.00,3678.00,355,0
+2006-02-08,14:30:00,3678.00,3678.00,3678.00,3678.00,23,0
+2006-02-08,14:31:00,3677.00,3678.00,3677.00,3678.00,127,0
+2006-02-08,14:32:00,3678.00,3678.00,3678.00,3678.00,37,0
+2006-02-08,14:33:00,3677.00,3678.00,3676.00,3676.00,1638,0
+2006-02-08,14:34:00,3676.00,3677.00,3676.00,3677.00,222,0
+2006-02-08,14:35:00,3676.00,3677.00,3676.00,3676.00,381,0
+2006-02-08,14:36:00,3676.00,3677.00,3675.00,3676.00,742,0
+2006-02-08,14:37:00,3676.00,3676.00,3675.00,3676.00,210,0
+2006-02-08,14:38:00,3676.00,3676.00,3675.00,3675.00,87,0
+2006-02-08,14:39:00,3675.00,3675.00,3675.00,3675.00,136,0
+2006-02-08,14:40:00,3676.00,3676.00,3675.00,3675.00,415,0
+2006-02-08,14:41:00,3675.00,3676.00,3675.00,3675.00,590,0
+2006-02-08,14:42:00,3675.00,3675.00,3675.00,3675.00,1,0
+2006-02-08,14:43:00,3675.00,3675.00,3675.00,3675.00,269,0
+2006-02-08,14:44:00,3676.00,3676.00,3675.00,3675.00,254,0
+2006-02-08,14:45:00,3675.00,3676.00,3675.00,3675.00,125,0
+2006-02-08,14:46:00,3676.00,3676.00,3675.00,3675.00,27,0
+2006-02-08,14:47:00,3675.00,3675.00,3675.00,3675.00,100,0
+2006-02-08,14:48:00,3675.00,3676.00,3675.00,3675.00,850,0
+2006-02-08,14:49:00,3676.00,3676.00,3675.00,3675.00,653,0
+2006-02-08,14:50:00,3675.00,3676.00,3674.00,3676.00,670,0
+2006-02-08,14:51:00,3675.00,3676.00,3675.00,3676.00,185,0
+2006-02-08,14:52:00,3676.00,3676.00,3676.00,3676.00,20,0
+2006-02-08,14:53:00,3676.00,3676.00,3675.00,3675.00,144,0
+2006-02-08,14:54:00,3675.00,3675.00,3675.00,3675.00,36,0
+2006-02-08,14:55:00,3675.00,3676.00,3675.00,3675.00,140,0
+2006-02-08,14:56:00,3675.00,3676.00,3675.00,3675.00,908,0
+2006-02-08,14:57:00,3676.00,3676.00,3676.00,3676.00,457,0
+2006-02-08,14:58:00,3676.00,3676.00,3676.00,3676.00,3,0
+2006-02-08,14:59:00,3676.00,3677.00,3676.00,3677.00,20,0
+2006-02-08,15:00:00,3676.00,3677.00,3676.00,3676.00,105,0
+2006-02-08,15:01:00,3677.00,3677.00,3676.00,3676.00,344,0
+2006-02-08,15:02:00,3677.00,3678.00,3677.00,3677.00,1410,0
+2006-02-08,15:03:00,3678.00,3679.00,3677.00,3678.00,456,0
+2006-02-08,15:04:00,3678.00,3679.00,3678.00,3678.00,146,0
+2006-02-08,15:05:00,3678.00,3678.00,3676.00,3677.00,427,0
+2006-02-08,15:06:00,3677.00,3677.00,3676.00,3676.00,179,0
+2006-02-08,15:07:00,3676.00,3676.00,3676.00,3676.00,1,0
+2006-02-08,15:08:00,3677.00,3677.00,3677.00,3677.00,32,0
+2006-02-08,15:09:00,3677.00,3678.00,3676.00,3678.00,546,0
+2006-02-08,15:10:00,3678.00,3678.00,3677.00,3677.00,169,0
+2006-02-08,15:11:00,3678.00,3678.00,3678.00,3678.00,130,0
+2006-02-08,15:12:00,3678.00,3678.00,3677.00,3677.00,90,0
+2006-02-08,15:13:00,3678.00,3678.00,3678.00,3678.00,164,0
+2006-02-08,15:14:00,3678.00,3678.00,3678.00,3678.00,25,0
+2006-02-08,15:15:00,3678.00,3678.00,3678.00,3678.00,1,0
+2006-02-08,15:16:00,3678.00,3678.00,3678.00,3678.00,71,0
+2006-02-08,15:17:00,3678.00,3678.00,3677.00,3677.00,201,0
+2006-02-08,15:19:00,3676.00,3676.00,3676.00,3676.00,223,0
+2006-02-08,15:20:00,3675.00,3676.00,3675.00,3675.00,151,0
+2006-02-08,15:21:00,3676.00,3677.00,3675.00,3677.00,425,0
+2006-02-08,15:22:00,3677.00,3677.00,3676.00,3677.00,154,0
+2006-02-08,15:23:00,3677.00,3677.00,3677.00,3677.00,229,0
+2006-02-08,15:24:00,3678.00,3678.00,3677.00,3677.00,62,0
+2006-02-08,15:25:00,3677.00,3678.00,3677.00,3678.00,42,0
+2006-02-08,15:26:00,3678.00,3678.00,3678.00,3678.00,231,0
+2006-02-08,15:27:00,3678.00,3678.00,3677.00,3678.00,61,0
+2006-02-08,15:28:00,3678.00,3678.00,3677.00,3677.00,108,0
+2006-02-08,15:29:00,3678.00,3678.00,3678.00,3678.00,297,0
+2006-02-08,15:30:00,3678.00,3679.00,3678.00,3679.00,74,0
+2006-02-08,15:31:00,3679.00,3679.00,3678.00,3678.00,425,0
+2006-02-08,15:32:00,3679.00,3682.00,3679.00,3681.00,4038,0
+2006-02-08,15:33:00,3681.00,3681.00,3679.00,3681.00,1423,0
+2006-02-08,15:34:00,3682.00,3684.00,3682.00,3683.00,2197,0
+2006-02-08,15:35:00,3683.00,3684.00,3682.00,3682.00,1344,0
+2006-02-08,15:36:00,3682.00,3682.00,3681.00,3681.00,688,0
+2006-02-08,15:37:00,3681.00,3682.00,3681.00,3681.00,610,0
+2006-02-08,15:38:00,3682.00,3686.00,3681.00,3686.00,3904,0
+2006-02-08,15:39:00,3686.00,3687.00,3685.00,3687.00,2674,0
+2006-02-08,15:40:00,3686.00,3687.00,3685.00,3685.00,2396,0
+2006-02-08,15:41:00,3685.00,3686.00,3684.00,3686.00,1497,0
+2006-02-08,15:42:00,3686.00,3687.00,3686.00,3687.00,963,0
+2006-02-08,15:43:00,3687.00,3687.00,3685.00,3685.00,2005,0
+2006-02-08,15:44:00,3686.00,3686.00,3684.00,3685.00,1278,0
+2006-02-08,15:45:00,3685.00,3686.00,3685.00,3685.00,1622,0
+2006-02-08,15:46:00,3685.00,3685.00,3681.00,3681.00,2504,0
+2006-02-08,15:47:00,3681.00,3682.00,3678.00,3679.00,2222,0
+2006-02-08,15:48:00,3680.00,3681.00,3679.00,3680.00,2095,0
+2006-02-08,15:49:00,3680.00,3680.00,3679.00,3679.00,374,0
+2006-02-08,15:50:00,3680.00,3680.00,3678.00,3679.00,1647,0
+2006-02-08,15:51:00,3679.00,3680.00,3677.00,3677.00,3582,0
+2006-02-08,15:52:00,3677.00,3679.00,3677.00,3677.00,1406,0
+2006-02-08,15:53:00,3677.00,3678.00,3675.00,3675.00,2703,0
+2006-02-08,15:54:00,3675.00,3678.00,3675.00,3676.00,1624,0
+2006-02-08,15:55:00,3676.00,3678.00,3676.00,3677.00,404,0
+2006-02-08,15:56:00,3677.00,3678.00,3676.00,3678.00,1250,0
+2006-02-08,15:57:00,3678.00,3678.00,3675.00,3676.00,3112,0
+2006-02-08,15:58:00,3675.00,3675.00,3672.00,3673.00,4664,0
+2006-02-08,15:59:00,3673.00,3676.00,3673.00,3676.00,2064,0
+2006-02-08,16:00:00,3676.00,3676.00,3674.00,3674.00,743,0
+2006-02-08,16:01:00,3674.00,3674.00,3671.00,3672.00,2364,0
+2006-02-08,16:02:00,3671.00,3676.00,3671.00,3675.00,1392,0
+2006-02-08,16:03:00,3675.00,3677.00,3674.00,3676.00,1076,0
+2006-02-08,16:04:00,3676.00,3678.00,3676.00,3678.00,435,0
+2006-02-08,16:05:00,3678.00,3679.00,3677.00,3679.00,1665,0
+2006-02-08,16:06:00,3678.00,3679.00,3678.00,3678.00,828,0
+2006-02-08,16:07:00,3678.00,3679.00,3677.00,3678.00,2214,0
+2006-02-08,16:08:00,3678.00,3678.00,3676.00,3676.00,594,0
+2006-02-08,16:09:00,3676.00,3677.00,3675.00,3676.00,450,0
+2006-02-08,16:10:00,3675.00,3678.00,3675.00,3677.00,883,0
+2006-02-08,16:11:00,3677.00,3679.00,3676.00,3679.00,1149,0
+2006-02-08,16:12:00,3678.00,3680.00,3678.00,3679.00,1807,0
+2006-02-08,16:13:00,3678.00,3678.00,3677.00,3678.00,1115,0
+2006-02-08,16:14:00,3678.00,3678.00,3676.00,3678.00,1005,0
+2006-02-08,16:15:00,3678.00,3679.00,3678.00,3678.00,402,0
+2006-02-08,16:16:00,3678.00,3679.00,3678.00,3679.00,370,0
+2006-02-08,16:17:00,3679.00,3680.00,3678.00,3679.00,580,0
+2006-02-08,16:18:00,3678.00,3681.00,3678.00,3680.00,1886,0
+2006-02-08,16:19:00,3680.00,3680.00,3678.00,3678.00,2041,0
+2006-02-08,16:20:00,3678.00,3678.00,3675.00,3677.00,1318,0
+2006-02-08,16:21:00,3677.00,3678.00,3676.00,3677.00,1336,0
+2006-02-08,16:22:00,3676.00,3678.00,3676.00,3678.00,1040,0
+2006-02-08,16:23:00,3678.00,3679.00,3676.00,3679.00,2395,0
+2006-02-08,16:24:00,3679.00,3680.00,3677.00,3678.00,533,0
+2006-02-08,16:25:00,3678.00,3680.00,3677.00,3679.00,960,0
+2006-02-08,16:26:00,3680.00,3681.00,3679.00,3679.00,1635,0
+2006-02-08,16:27:00,3679.00,3680.00,3678.00,3678.00,579,0
+2006-02-08,16:28:00,3678.00,3681.00,3678.00,3681.00,686,0
+2006-02-08,16:29:00,3680.00,3684.00,3680.00,3683.00,2279,0
+2006-02-08,16:30:00,3683.00,3686.00,3683.00,3686.00,2452,0
+2006-02-08,16:31:00,3686.00,3686.00,3682.00,3682.00,2711,0
+2006-02-08,16:32:00,3682.00,3683.00,3681.00,3683.00,2834,0
+2006-02-08,16:33:00,3682.00,3684.00,3681.00,3682.00,1229,0
+2006-02-08,16:34:00,3681.00,3682.00,3680.00,3680.00,1989,0
+2006-02-08,16:35:00,3680.00,3682.00,3679.00,3681.00,1735,0
+2006-02-08,16:36:00,3680.00,3682.00,3680.00,3681.00,681,0
+2006-02-08,16:37:00,3681.00,3684.00,3681.00,3683.00,2578,0
+2006-02-08,16:38:00,3683.00,3683.00,3680.00,3681.00,956,0
+2006-02-08,16:39:00,3681.00,3682.00,3681.00,3681.00,785,0
+2006-02-08,16:40:00,3681.00,3682.00,3680.00,3681.00,1732,0
+2006-02-08,16:41:00,3682.00,3684.00,3681.00,3682.00,1356,0
+2006-02-08,16:42:00,3681.00,3681.00,3681.00,3681.00,145,0
+2006-02-08,16:43:00,3681.00,3682.00,3679.00,3679.00,1249,0
+2006-02-08,16:44:00,3679.00,3680.00,3678.00,3678.00,2089,0
+2006-02-08,16:45:00,3678.00,3680.00,3678.00,3679.00,1043,0
+2006-02-08,16:46:00,3680.00,3680.00,3677.00,3678.00,2182,0
+2006-02-08,16:47:00,3678.00,3680.00,3678.00,3679.00,918,0
+2006-02-08,16:48:00,3679.00,3680.00,3678.00,3679.00,378,0
+2006-02-08,16:49:00,3678.00,3680.00,3677.00,3677.00,1006,0
+2006-02-08,16:50:00,3677.00,3678.00,3676.00,3676.00,1691,0
+2006-02-08,16:51:00,3676.00,3676.00,3674.00,3676.00,3196,0
+2006-02-08,16:52:00,3676.00,3678.00,3676.00,3678.00,1554,0
+2006-02-08,16:53:00,3678.00,3678.00,3675.00,3676.00,1081,0
+2006-02-08,16:54:00,3676.00,3677.00,3676.00,3676.00,722,0
+2006-02-08,16:55:00,3676.00,3678.00,3676.00,3677.00,1636,0
+2006-02-08,16:56:00,3677.00,3677.00,3676.00,3677.00,491,0
+2006-02-08,16:57:00,3677.00,3677.00,3675.00,3675.00,812,0
+2006-02-08,16:58:00,3675.00,3676.00,3675.00,3675.00,426,0
+2006-02-08,16:59:00,3675.00,3677.00,3675.00,3676.00,922,0
+2006-02-08,17:00:00,3677.00,3677.00,3675.00,3676.00,508,0
+2006-02-08,17:01:00,3675.00,3677.00,3675.00,3676.00,223,0
+2006-02-08,17:02:00,3676.00,3679.00,3676.00,3678.00,1508,0
+2006-02-08,17:03:00,3678.00,3683.00,3678.00,3682.00,2728,0
+2006-02-08,17:04:00,3682.00,3684.00,3681.00,3682.00,1801,0
+2006-02-08,17:05:00,3682.00,3682.00,3680.00,3680.00,1020,0
+2006-02-08,17:06:00,3681.00,3681.00,3679.00,3679.00,3016,0
+2006-02-08,17:07:00,3679.00,3680.00,3679.00,3680.00,394,0
+2006-02-08,17:08:00,3679.00,3680.00,3679.00,3679.00,241,0
+2006-02-08,17:09:00,3679.00,3680.00,3678.00,3679.00,833,0
+2006-02-08,17:10:00,3679.00,3679.00,3677.00,3677.00,369,0
+2006-02-08,17:11:00,3677.00,3677.00,3675.00,3677.00,2322,0
+2006-02-08,17:12:00,3677.00,3679.00,3676.00,3679.00,1150,0
+2006-02-08,17:13:00,3678.00,3682.00,3678.00,3682.00,1943,0
+2006-02-08,17:14:00,3682.00,3683.00,3681.00,3681.00,1097,0
+2006-02-08,17:15:00,3681.00,3682.00,3681.00,3682.00,935,0
+2006-02-08,17:16:00,3682.00,3684.00,3682.00,3683.00,1836,0
+2006-02-08,17:17:00,3682.00,3683.00,3681.00,3682.00,785,0
+2006-02-08,17:18:00,3682.00,3682.00,3681.00,3681.00,1289,0
+2006-02-08,17:19:00,3682.00,3682.00,3680.00,3680.00,940,0
+2006-02-08,17:20:00,3680.00,3681.00,3680.00,3681.00,732,0
+2006-02-08,17:21:00,3680.00,3681.00,3680.00,3680.00,214,0
+2006-02-08,17:22:00,3680.00,3681.00,3679.00,3680.00,1039,0
+2006-02-08,17:23:00,3680.00,3682.00,3680.00,3681.00,1158,0
+2006-02-08,17:24:00,3682.00,3682.00,3680.00,3681.00,1096,0
+2006-02-08,17:25:00,3681.00,3683.00,3680.00,3681.00,929,0
+2006-02-08,17:26:00,3681.00,3682.00,3681.00,3682.00,1831,0
+2006-02-08,17:27:00,3682.00,3682.00,3679.00,3679.00,886,0
+2006-02-08,17:28:00,3679.00,3681.00,3679.00,3679.00,1532,0
+2006-02-08,17:29:00,3679.00,3681.00,3679.00,3680.00,2849,0
+2006-02-08,17:30:00,3680.00,3683.00,3678.00,3679.00,5764,0
+2006-02-08,17:31:00,3679.00,3681.00,3678.00,3680.00,3273,0
+2006-02-08,17:32:00,3680.00,3680.00,3679.00,3680.00,1537,0
+2006-02-08,17:33:00,3681.00,3681.00,3679.00,3679.00,2802,0
+2006-02-08,17:34:00,3679.00,3680.00,3679.00,3679.00,1095,0
+2006-02-08,17:35:00,3679.00,3680.00,3679.00,3680.00,730,0
+2006-02-08,17:36:00,3680.00,3680.00,3678.00,3678.00,1642,0
+2006-02-08,17:37:00,3679.00,3679.00,3679.00,3679.00,197,0
+2006-02-08,17:38:00,3679.00,3680.00,3678.00,3679.00,1333,0
+2006-02-08,17:39:00,3679.00,3679.00,3677.00,3678.00,1975,0
+2006-02-08,17:40:00,3679.00,3680.00,3679.00,3680.00,461,0
+2006-02-08,17:41:00,3679.00,3681.00,3679.00,3681.00,756,0
+2006-02-08,17:42:00,3680.00,3682.00,3680.00,3682.00,1187,0
+2006-02-08,17:43:00,3682.00,3683.00,3681.00,3682.00,6989,0
+2006-02-08,17:44:00,3682.00,3682.00,3681.00,3681.00,897,0
+2006-02-08,17:45:00,3682.00,3682.00,3681.00,3681.00,544,0
+2006-02-08,17:46:00,3681.00,3682.00,3681.00,3682.00,713,0
+2006-02-08,17:47:00,3682.00,3684.00,3682.00,3683.00,1116,0
+2006-02-08,17:48:00,3684.00,3684.00,3682.00,3684.00,1068,0
+2006-02-08,17:49:00,3684.00,3684.00,3682.00,3683.00,852,0
+2006-02-08,17:50:00,3682.00,3684.00,3682.00,3684.00,332,0
+2006-02-08,17:51:00,3683.00,3685.00,3683.00,3684.00,495,0
+2006-02-08,17:52:00,3684.00,3685.00,3684.00,3684.00,436,0
+2006-02-08,17:53:00,3684.00,3685.00,3684.00,3685.00,764,0
+2006-02-08,17:54:00,3685.00,3685.00,3684.00,3685.00,956,0
+2006-02-08,17:55:00,3684.00,3684.00,3683.00,3683.00,708,0
+2006-02-08,17:56:00,3683.00,3684.00,3682.00,3683.00,405,0
+2006-02-08,17:57:00,3683.00,3684.00,3682.00,3682.00,591,0
+2006-02-08,17:58:00,3681.00,3682.00,3681.00,3682.00,372,0
+2006-02-08,17:59:00,3682.00,3683.00,3682.00,3682.00,78,0
+2006-02-08,18:00:00,3683.00,3683.00,3682.00,3683.00,968,0
+2006-02-08,18:01:00,3683.00,3685.00,3683.00,3685.00,381,0
+2006-02-08,18:02:00,3685.00,3689.00,3685.00,3689.00,4225,0
+2006-02-08,18:03:00,3689.00,3691.00,3689.00,3689.00,2367,0
+2006-02-08,18:04:00,3689.00,3692.00,3688.00,3692.00,2351,0
+2006-02-08,18:05:00,3692.00,3696.00,3692.00,3695.00,4048,0
+2006-02-08,18:06:00,3695.00,3698.00,3695.00,3697.00,1854,0
+2006-02-08,18:07:00,3697.00,3698.00,3696.00,3696.00,2219,0
+2006-02-08,18:08:00,3697.00,3697.00,3694.00,3694.00,710,0
+2006-02-08,18:09:00,3694.00,3695.00,3694.00,3694.00,336,0
+2006-02-08,18:10:00,3695.00,3695.00,3694.00,3695.00,231,0
+2006-02-08,18:11:00,3694.00,3695.00,3694.00,3695.00,315,0
+2006-02-08,18:12:00,3694.00,3694.00,3693.00,3693.00,1178,0
+2006-02-08,18:13:00,3693.00,3694.00,3692.00,3694.00,380,0
+2006-02-08,18:14:00,3694.00,3695.00,3693.00,3694.00,614,0
+2006-02-08,18:15:00,3694.00,3694.00,3693.00,3693.00,41,0
+2006-02-08,18:16:00,3693.00,3694.00,3692.00,3693.00,429,0
+2006-02-08,18:17:00,3693.00,3694.00,3693.00,3694.00,338,0
+2006-02-08,18:18:00,3694.00,3695.00,3694.00,3694.00,80,0
+2006-02-08,18:19:00,3694.00,3695.00,3694.00,3694.00,231,0
+2006-02-08,18:20:00,3693.00,3693.00,3693.00,3693.00,232,0
+2006-02-08,18:21:00,3694.00,3694.00,3694.00,3694.00,123,0
+2006-02-08,18:22:00,3694.00,3696.00,3694.00,3696.00,358,0
+2006-02-08,18:23:00,3696.00,3699.00,3696.00,3698.00,2125,0
+2006-02-08,18:24:00,3698.00,3698.00,3696.00,3697.00,535,0
+2006-02-08,18:25:00,3697.00,3697.00,3694.00,3694.00,842,0
+2006-02-08,18:26:00,3694.00,3694.00,3694.00,3694.00,106,0
+2006-02-08,18:27:00,3695.00,3695.00,3694.00,3695.00,108,0
+2006-02-08,18:28:00,3695.00,3696.00,3695.00,3695.00,181,0
+2006-02-08,18:29:00,3695.00,3695.00,3695.00,3695.00,7,0
+2006-02-08,18:30:00,3694.00,3694.00,3693.00,3694.00,233,0
+2006-02-08,18:31:00,3694.00,3694.00,3694.00,3694.00,156,0
+2006-02-08,18:32:00,3695.00,3695.00,3695.00,3695.00,6,0
+2006-02-08,18:33:00,3694.00,3694.00,3694.00,3694.00,229,0
+2006-02-08,18:34:00,3694.00,3696.00,3693.00,3696.00,706,0
+2006-02-08,18:35:00,3696.00,3696.00,3695.00,3695.00,255,0
+2006-02-08,18:36:00,3695.00,3695.00,3695.00,3695.00,57,0
+2006-02-08,18:37:00,3695.00,3696.00,3695.00,3696.00,68,0
+2006-02-08,18:38:00,3695.00,3696.00,3695.00,3696.00,149,0
+2006-02-08,18:39:00,3696.00,3697.00,3695.00,3697.00,357,0
+2006-02-08,18:40:00,3698.00,3698.00,3697.00,3697.00,631,0
+2006-02-08,18:41:00,3697.00,3700.00,3697.00,3699.00,1270,0
+2006-02-08,18:42:00,3699.00,3699.00,3699.00,3699.00,273,0
+2006-02-08,18:43:00,3699.00,3700.00,3699.00,3699.00,351,0
+2006-02-08,18:44:00,3699.00,3699.00,3697.00,3697.00,261,0
+2006-02-08,18:45:00,3697.00,3698.00,3697.00,3698.00,105,0
+2006-02-08,18:46:00,3697.00,3697.00,3697.00,3697.00,105,0
+2006-02-08,18:47:00,3697.00,3700.00,3697.00,3698.00,1188,0
+2006-02-08,18:48:00,3699.00,3701.00,3699.00,3701.00,736,0
+2006-02-08,18:49:00,3700.00,3700.00,3699.00,3700.00,636,0
+2006-02-08,18:50:00,3700.00,3700.00,3698.00,3699.00,874,0
+2006-02-08,18:51:00,3698.00,3698.00,3698.00,3698.00,60,0
+2006-02-08,18:52:00,3698.00,3698.00,3696.00,3696.00,423,0
+2006-02-08,18:53:00,3697.00,3697.00,3696.00,3696.00,106,0
+2006-02-08,18:54:00,3696.00,3696.00,3695.00,3696.00,229,0
+2006-02-08,18:55:00,3697.00,3697.00,3697.00,3697.00,120,0
+2006-02-08,18:56:00,3698.00,3698.00,3695.00,3696.00,634,0
+2006-02-08,18:57:00,3696.00,3696.00,3695.00,3696.00,301,0
+2006-02-08,18:58:00,3696.00,3697.00,3696.00,3697.00,35,0
+2006-02-08,18:59:00,3696.00,3697.00,3696.00,3696.00,229,0
+2006-02-08,19:00:00,3695.00,3696.00,3695.00,3696.00,50,0
+2006-02-08,19:01:00,3697.00,3697.00,3696.00,3696.00,288,0
+2006-02-08,19:02:00,3696.00,3697.00,3696.00,3697.00,186,0
+2006-02-08,19:03:00,3697.00,3697.00,3697.00,3697.00,14,0
+2006-02-08,19:04:00,3697.00,3697.00,3696.00,3697.00,169,0
+2006-02-08,19:05:00,3697.00,3697.00,3697.00,3697.00,28,0
+2006-02-08,19:06:00,3697.00,3697.00,3696.00,3696.00,228,0
+2006-02-08,19:07:00,3696.00,3697.00,3696.00,3697.00,104,0
+2006-02-08,19:08:00,3696.00,3697.00,3696.00,3696.00,197,0
+2006-02-08,19:09:00,3696.00,3696.00,3695.00,3696.00,61,0
+2006-02-08,19:10:00,3696.00,3697.00,3696.00,3696.00,59,0
+2006-02-08,19:11:00,3696.00,3696.00,3694.00,3694.00,147,0
+2006-02-08,19:12:00,3695.00,3696.00,3695.00,3696.00,233,0
+2006-02-08,19:13:00,3695.00,3696.00,3695.00,3696.00,87,0
+2006-02-08,19:14:00,3696.00,3696.00,3696.00,3696.00,7,0
+2006-02-08,19:15:00,3696.00,3696.00,3695.00,3695.00,86,0
+2006-02-08,19:16:00,3695.00,3695.00,3694.00,3694.00,82,0
+2006-02-08,19:17:00,3694.00,3695.00,3694.00,3695.00,228,0
+2006-02-08,19:18:00,3694.00,3694.00,3694.00,3694.00,35,0
+2006-02-08,19:19:00,3694.00,3694.00,3693.00,3693.00,135,0
+2006-02-08,19:20:00,3694.00,3694.00,3693.00,3693.00,97,0
+2006-02-08,19:21:00,3693.00,3694.00,3693.00,3694.00,93,0
+2006-02-08,19:22:00,3693.00,3694.00,3693.00,3693.00,23,0
+2006-02-08,19:23:00,3693.00,3693.00,3692.00,3692.00,157,0
+2006-02-08,19:24:00,3693.00,3693.00,3693.00,3693.00,33,0
+2006-02-08,19:25:00,3693.00,3693.00,3691.00,3691.00,556,0
+2006-02-08,19:26:00,3692.00,3692.00,3690.00,3690.00,1163,0
+2006-02-08,19:27:00,3690.00,3694.00,3690.00,3693.00,700,0
+2006-02-08,19:28:00,3694.00,3695.00,3693.00,3694.00,701,0
+2006-02-08,19:29:00,3694.00,3694.00,3694.00,3694.00,64,0
+2006-02-08,19:30:00,3693.00,3694.00,3693.00,3694.00,119,0
+2006-02-08,19:31:00,3694.00,3694.00,3694.00,3694.00,37,0
+2006-02-08,19:32:00,3695.00,3697.00,3695.00,3697.00,283,0
+2006-02-08,19:33:00,3697.00,3697.00,3696.00,3696.00,253,0
+2006-02-08,19:34:00,3696.00,3696.00,3696.00,3696.00,220,0
+2006-02-08,19:35:00,3695.00,3695.00,3693.00,3693.00,122,0
+2006-02-08,19:36:00,3694.00,3694.00,3692.00,3692.00,276,0
+2006-02-08,19:37:00,3693.00,3694.00,3693.00,3694.00,110,0
+2006-02-08,19:38:00,3694.00,3694.00,3693.00,3694.00,33,0
+2006-02-08,19:39:00,3693.00,3693.00,3693.00,3693.00,52,0
+2006-02-08,19:40:00,3694.00,3696.00,3694.00,3695.00,168,0
+2006-02-08,19:41:00,3696.00,3696.00,3694.00,3694.00,58,0
+2006-02-08,19:42:00,3694.00,3694.00,3694.00,3694.00,8,0
+2006-02-08,19:43:00,3694.00,3695.00,3694.00,3695.00,138,0
+2006-02-08,19:44:00,3695.00,3695.00,3695.00,3695.00,79,0
+2006-02-08,19:45:00,3695.00,3695.00,3695.00,3695.00,48,0
+2006-02-08,19:46:00,3694.00,3694.00,3693.00,3693.00,353,0
+2006-02-08,19:47:00,3694.00,3694.00,3694.00,3694.00,3,0
+2006-02-08,19:48:00,3694.00,3694.00,3693.00,3693.00,62,0
+2006-02-08,19:49:00,3693.00,3693.00,3693.00,3693.00,3,0
+2006-02-08,19:50:00,3694.00,3694.00,3694.00,3694.00,32,0
+2006-02-08,19:51:00,3694.00,3694.00,3692.00,3694.00,618,0
+2006-02-08,19:52:00,3695.00,3695.00,3695.00,3695.00,251,0
+2006-02-08,19:53:00,3695.00,3695.00,3694.00,3695.00,118,0
+2006-02-08,19:54:00,3695.00,3695.00,3694.00,3694.00,161,0
+2006-02-08,19:55:00,3693.00,3694.00,3693.00,3694.00,111,0
+2006-02-08,19:56:00,3693.00,3695.00,3692.00,3695.00,682,0
+2006-02-08,19:57:00,3695.00,3695.00,3695.00,3695.00,129,0
+2006-02-08,19:58:00,3695.00,3696.00,3695.00,3695.00,108,0
+2006-02-08,19:59:00,3695.00,3699.00,3695.00,3697.00,1251,0
+2006-02-08,20:00:00,3697.00,3698.00,3697.00,3698.00,104,0
+2006-02-08,20:01:00,3698.00,3698.00,3696.00,3696.00,188,0
+2006-02-08,20:02:00,3696.00,3696.00,3696.00,3696.00,39,0
+2006-02-08,20:03:00,3697.00,3697.00,3697.00,3697.00,154,0
+2006-02-08,20:04:00,3697.00,3698.00,3697.00,3698.00,228,0
+2006-02-08,20:05:00,3698.00,3698.00,3698.00,3698.00,11,0
+2006-02-08,20:06:00,3698.00,3699.00,3698.00,3698.00,10,0
+2006-02-08,20:07:00,3697.00,3697.00,3696.00,3696.00,78,0
+2006-02-08,20:08:00,3697.00,3697.00,3697.00,3697.00,15,0
+2006-02-08,20:09:00,3697.00,3697.00,3697.00,3697.00,13,0
+2006-02-08,20:10:00,3697.00,3697.00,3695.00,3695.00,56,0
+2006-02-08,20:11:00,3695.00,3695.00,3695.00,3695.00,42,0
+2006-02-08,20:13:00,3696.00,3696.00,3695.00,3695.00,28,0
+2006-02-08,20:14:00,3695.00,3695.00,3694.00,3694.00,39,0
+2006-02-08,20:15:00,3694.00,3694.00,3692.00,3694.00,598,0
+2006-02-08,20:16:00,3694.00,3694.00,3692.00,3693.00,189,0
+2006-02-08,20:17:00,3693.00,3693.00,3693.00,3693.00,57,0
+2006-02-08,20:18:00,3693.00,3693.00,3692.00,3692.00,326,0
+2006-02-08,20:19:00,3691.00,3691.00,3690.00,3691.00,379,0
+2006-02-08,20:20:00,3690.00,3691.00,3689.00,3689.00,203,0
+2006-02-08,20:21:00,3690.00,3692.00,3690.00,3691.00,77,0
+2006-02-08,20:22:00,3691.00,3691.00,3691.00,3691.00,15,0
+2006-02-08,20:23:00,3692.00,3692.00,3692.00,3692.00,54,0
+2006-02-08,20:24:00,3692.00,3694.00,3691.00,3694.00,100,0
+2006-02-08,20:25:00,3693.00,3693.00,3693.00,3693.00,17,0
+2006-02-08,20:26:00,3693.00,3693.00,3693.00,3693.00,5,0
+2006-02-08,20:27:00,3694.00,3694.00,3693.00,3693.00,219,0
+2006-02-08,20:28:00,3692.00,3693.00,3692.00,3692.00,96,0
+2006-02-08,20:31:00,3692.00,3692.00,3692.00,3692.00,29,0
+2006-02-08,20:32:00,3692.00,3694.00,3692.00,3694.00,336,0
+2006-02-08,20:33:00,3694.00,3694.00,3694.00,3694.00,81,0
+2006-02-08,20:34:00,3694.00,3694.00,3693.00,3693.00,180,0
+2006-02-08,20:35:00,3693.00,3693.00,3693.00,3693.00,10,0
+2006-02-08,20:36:00,3692.00,3692.00,3692.00,3692.00,37,0
+2006-02-08,20:37:00,3692.00,3692.00,3691.00,3692.00,30,0
+2006-02-08,20:38:00,3692.00,3692.00,3691.00,3692.00,11,0
+2006-02-08,20:39:00,3692.00,3692.00,3692.00,3692.00,7,0
+2006-02-08,20:40:00,3692.00,3692.00,3692.00,3692.00,44,0
+2006-02-08,20:41:00,3692.00,3692.00,3692.00,3692.00,17,0
+2006-02-08,20:42:00,3692.00,3694.00,3692.00,3694.00,73,0
+2006-02-08,20:43:00,3694.00,3695.00,3694.00,3694.00,116,0
+2006-02-08,20:44:00,3694.00,3694.00,3694.00,3694.00,3,0
+2006-02-08,20:45:00,3694.00,3694.00,3694.00,3694.00,35,0
+2006-02-08,20:46:00,3694.00,3694.00,3694.00,3694.00,104,0
+2006-02-08,20:47:00,3694.00,3694.00,3693.00,3693.00,26,0
+2006-02-08,20:49:00,3694.00,3694.00,3693.00,3693.00,12,0
+2006-02-08,20:51:00,3693.00,3695.00,3693.00,3695.00,122,0
+2006-02-08,20:52:00,3695.00,3696.00,3695.00,3696.00,185,0
+2006-02-08,20:53:00,3695.00,3695.00,3695.00,3695.00,17,0
+2006-02-08,20:54:00,3695.00,3695.00,3695.00,3695.00,4,0
+2006-02-08,20:56:00,3695.00,3695.00,3695.00,3695.00,70,0
+2006-02-08,20:57:00,3696.00,3697.00,3696.00,3696.00,367,0
+2006-02-08,20:58:00,3696.00,3696.00,3695.00,3695.00,87,0
+2006-02-08,20:59:00,3696.00,3696.00,3695.00,3695.00,12,0
+2006-02-08,21:00:00,3694.00,3694.00,3694.00,3694.00,5,0
+2006-02-08,21:01:00,3695.00,3695.00,3695.00,3695.00,27,0
+2006-02-08,21:02:00,3694.00,3694.00,3694.00,3694.00,3,0
+2006-02-08,21:03:00,3694.00,3694.00,3692.00,3692.00,84,0
+2006-02-08,21:04:00,3693.00,3694.00,3693.00,3694.00,128,0
+2006-02-08,21:05:00,3695.00,3698.00,3695.00,3698.00,306,0
+2006-02-08,21:06:00,3698.00,3698.00,3697.00,3697.00,33,0
+2006-02-08,21:07:00,3697.00,3697.00,3697.00,3697.00,1,0
+2006-02-08,21:08:00,3699.00,3704.00,3699.00,3703.00,1818,0
+2006-02-08,21:09:00,3702.00,3702.00,3702.00,3702.00,101,0
+2006-02-08,21:10:00,3702.00,3703.00,3702.00,3703.00,76,0
+2006-02-08,21:11:00,3703.00,3703.00,3703.00,3703.00,36,0
+2006-02-08,21:12:00,3703.00,3703.00,3702.00,3703.00,36,0
+2006-02-08,21:13:00,3703.00,3703.00,3703.00,3703.00,32,0
+2006-02-08,21:15:00,3703.00,3704.00,3703.00,3704.00,140,0
+2006-02-08,21:16:00,3704.00,3704.00,3703.00,3703.00,150,0
+2006-02-08,21:17:00,3703.00,3704.00,3703.00,3704.00,174,0
+2006-02-08,21:18:00,3704.00,3704.00,3703.00,3703.00,36,0
+2006-02-08,21:19:00,3703.00,3703.00,3703.00,3703.00,56,0
+2006-02-08,21:20:00,3704.00,3705.00,3704.00,3704.00,296,0
+2006-02-08,21:21:00,3705.00,3705.00,3704.00,3704.00,101,0
+2006-02-08,21:22:00,3704.00,3704.00,3703.00,3703.00,118,0
+2006-02-08,21:23:00,3704.00,3705.00,3704.00,3705.00,102,0
+2006-02-08,21:24:00,3705.00,3706.00,3704.00,3704.00,1781,0
+2006-02-08,21:25:00,3704.00,3704.00,3704.00,3704.00,79,0
+2006-02-08,21:26:00,3703.00,3704.00,3703.00,3704.00,48,0
+2006-02-08,21:27:00,3703.00,3703.00,3702.00,3703.00,144,0
+2006-02-08,21:28:00,3703.00,3703.00,3703.00,3703.00,74,0
+2006-02-08,21:29:00,3703.00,3704.00,3703.00,3703.00,60,0
+2006-02-08,21:31:00,3703.00,3703.00,3703.00,3703.00,27,0
+2006-02-08,21:33:00,3703.00,3703.00,3702.00,3702.00,17,0
+2006-02-08,21:34:00,3703.00,3703.00,3703.00,3703.00,41,0
+2006-02-08,21:35:00,3703.00,3703.00,3702.00,3703.00,38,0
+2006-02-08,21:36:00,3703.00,3703.00,3703.00,3703.00,5,0
+2006-02-08,21:37:00,3704.00,3704.00,3704.00,3704.00,45,0
+2006-02-08,21:38:00,3704.00,3704.00,3703.00,3704.00,104,0
+2006-02-08,21:39:00,3704.00,3704.00,3703.00,3704.00,81,0
+2006-02-08,21:40:00,3705.00,3705.00,3704.00,3705.00,60,0
+2006-02-08,21:41:00,3705.00,3705.00,3705.00,3705.00,8,0
+2006-02-08,21:42:00,3705.00,3705.00,3705.00,3705.00,1,0
+2006-02-08,21:43:00,3705.00,3705.00,3705.00,3705.00,222,0
+2006-02-08,21:44:00,3705.00,3705.00,3705.00,3705.00,146,0
+2006-02-08,21:45:00,3705.00,3706.00,3705.00,3706.00,598,0
+2006-02-08,21:46:00,3706.00,3706.00,3706.00,3706.00,169,0
+2006-02-08,21:47:00,3706.00,3707.00,3706.00,3707.00,443,0
+2006-02-08,21:48:00,3708.00,3708.00,3707.00,3707.00,301,0
+2006-02-08,21:49:00,3707.00,3707.00,3706.00,3706.00,28,0
+2006-02-08,21:50:00,3706.00,3706.00,3706.00,3706.00,25,0
+2006-02-08,21:52:00,3706.00,3707.00,3706.00,3707.00,40,0
+2006-02-08,21:53:00,3706.00,3706.00,3706.00,3706.00,63,0
+2006-02-08,21:54:00,3706.00,3706.00,3706.00,3706.00,9,0
+2006-02-08,21:55:00,3706.00,3707.00,3706.00,3707.00,149,0
+2006-02-08,21:56:00,3707.00,3708.00,3706.00,3706.00,204,0
+2006-02-08,21:57:00,3706.00,3706.00,3705.00,3706.00,164,0
+2006-02-08,21:58:00,3706.00,3708.00,3706.00,3708.00,21,0
+2006-02-08,21:59:00,3707.00,3707.00,3706.00,3706.00,88,0
+2006-02-08,22:00:00,3706.00,3708.00,3706.00,3708.00,254,0
+2006-02-09,09:01:00,3705.00,3707.00,3705.00,3705.00,5620,0
+2006-02-09,09:02:00,3705.00,3708.00,3704.00,3707.00,3626,0
+2006-02-09,09:03:00,3707.00,3715.00,3707.00,3714.00,7128,0
+2006-02-09,09:04:00,3715.00,3718.00,3714.00,3715.00,7252,0
+2006-02-09,09:05:00,3715.00,3715.00,3712.00,3714.00,3333,0
+2006-02-09,09:06:00,3714.00,3715.00,3713.00,3715.00,2426,0
+2006-02-09,09:07:00,3714.00,3716.00,3714.00,3715.00,2683,0
+2006-02-09,09:08:00,3714.00,3718.00,3714.00,3716.00,2733,0
+2006-02-09,09:09:00,3716.00,3716.00,3714.00,3715.00,2280,0
+2006-02-09,09:10:00,3714.00,3716.00,3713.00,3715.00,3553,0
+2006-02-09,09:11:00,3715.00,3717.00,3715.00,3717.00,2586,0
+2006-02-09,09:12:00,3718.00,3718.00,3715.00,3715.00,826,0
+2006-02-09,09:13:00,3715.00,3717.00,3715.00,3716.00,874,0
+2006-02-09,09:14:00,3716.00,3718.00,3715.00,3715.00,2370,0
+2006-02-09,09:15:00,3716.00,3719.00,3716.00,3717.00,2725,0
+2006-02-09,09:16:00,3717.00,3718.00,3715.00,3715.00,1608,0
+2006-02-09,09:17:00,3714.00,3715.00,3714.00,3715.00,496,0
+2006-02-09,09:18:00,3715.00,3716.00,3713.00,3713.00,2176,0
+2006-02-09,09:19:00,3713.00,3714.00,3713.00,3714.00,1510,0
+2006-02-09,09:20:00,3713.00,3714.00,3712.00,3713.00,985,0
+2006-02-09,09:21:00,3714.00,3715.00,3713.00,3715.00,702,0
+2006-02-09,09:22:00,3715.00,3716.00,3713.00,3713.00,1410,0
+2006-02-09,09:23:00,3713.00,3714.00,3712.00,3713.00,925,0
+2006-02-09,09:24:00,3712.00,3713.00,3711.00,3712.00,1035,0
+2006-02-09,09:25:00,3712.00,3712.00,3711.00,3711.00,1273,0
+2006-02-09,09:26:00,3711.00,3712.00,3708.00,3708.00,2730,0
+2006-02-09,09:27:00,3708.00,3708.00,3706.00,3707.00,2130,0
+2006-02-09,09:28:00,3708.00,3709.00,3707.00,3708.00,506,0
+2006-02-09,09:29:00,3708.00,3710.00,3708.00,3709.00,360,0
+2006-02-09,09:30:00,3710.00,3711.00,3709.00,3709.00,1269,0
+2006-02-09,09:31:00,3708.00,3710.00,3708.00,3708.00,633,0
+2006-02-09,09:32:00,3708.00,3710.00,3707.00,3708.00,1274,0
+2006-02-09,09:33:00,3709.00,3711.00,3708.00,3710.00,1043,0
+2006-02-09,09:34:00,3710.00,3711.00,3710.00,3710.00,449,0
+2006-02-09,09:35:00,3710.00,3711.00,3710.00,3710.00,533,0
+2006-02-09,09:36:00,3709.00,3711.00,3709.00,3710.00,711,0
+2006-02-09,09:37:00,3709.00,3711.00,3708.00,3710.00,695,0
+2006-02-09,09:38:00,3710.00,3710.00,3708.00,3708.00,1219,0
+2006-02-09,09:39:00,3708.00,3710.00,3708.00,3709.00,215,0
+2006-02-09,09:40:00,3708.00,3708.00,3707.00,3708.00,697,0
+2006-02-09,09:41:00,3708.00,3708.00,3705.00,3707.00,1386,0
+2006-02-09,09:42:00,3706.00,3709.00,3706.00,3708.00,2828,0
+2006-02-09,09:43:00,3708.00,3711.00,3707.00,3710.00,1040,0
+2006-02-09,09:44:00,3710.00,3713.00,3709.00,3713.00,1539,0
+2006-02-09,09:45:00,3712.00,3712.00,3711.00,3712.00,536,0
+2006-02-09,09:46:00,3712.00,3714.00,3712.00,3714.00,485,0
+2006-02-09,09:47:00,3714.00,3715.00,3712.00,3715.00,2346,0
+2006-02-09,09:48:00,3715.00,3715.00,3713.00,3713.00,1022,0
+2006-02-09,09:49:00,3713.00,3715.00,3713.00,3714.00,1116,0
+2006-02-09,09:50:00,3714.00,3714.00,3713.00,3713.00,738,0
+2006-02-09,09:51:00,3714.00,3714.00,3712.00,3713.00,692,0
+2006-02-09,09:52:00,3713.00,3714.00,3712.00,3714.00,529,0
+2006-02-09,09:53:00,3714.00,3715.00,3714.00,3715.00,182,0
+2006-02-09,09:54:00,3715.00,3715.00,3714.00,3714.00,1505,0
+2006-02-09,09:55:00,3715.00,3717.00,3715.00,3716.00,1202,0
+2006-02-09,09:56:00,3716.00,3716.00,3715.00,3715.00,496,0
+2006-02-09,09:57:00,3716.00,3716.00,3715.00,3715.00,1316,0
+2006-02-09,09:58:00,3714.00,3716.00,3712.00,3713.00,1117,0
+2006-02-09,09:59:00,3713.00,3713.00,3711.00,3712.00,316,0
+2006-02-09,10:00:00,3712.00,3713.00,3712.00,3713.00,341,0
+2006-02-09,10:01:00,3713.00,3715.00,3712.00,3714.00,1518,0
+2006-02-09,10:02:00,3714.00,3714.00,3713.00,3714.00,874,0
+2006-02-09,10:03:00,3714.00,3714.00,3713.00,3713.00,354,0
+2006-02-09,10:04:00,3713.00,3713.00,3712.00,3712.00,245,0
+2006-02-09,10:05:00,3712.00,3713.00,3712.00,3713.00,238,0
+2006-02-09,10:06:00,3713.00,3713.00,3711.00,3711.00,362,0
+2006-02-09,10:07:00,3711.00,3711.00,3710.00,3711.00,485,0
+2006-02-09,10:08:00,3711.00,3712.00,3710.00,3712.00,240,0
+2006-02-09,10:09:00,3712.00,3712.00,3712.00,3712.00,213,0
+2006-02-09,10:10:00,3712.00,3713.00,3711.00,3711.00,259,0
+2006-02-09,10:11:00,3712.00,3712.00,3711.00,3712.00,121,0
+2006-02-09,10:12:00,3712.00,3712.00,3711.00,3711.00,265,0
+2006-02-09,10:13:00,3712.00,3714.00,3712.00,3712.00,916,0
+2006-02-09,10:14:00,3713.00,3716.00,3713.00,3715.00,2128,0
+2006-02-09,10:15:00,3715.00,3715.00,3715.00,3715.00,678,0
+2006-02-09,10:16:00,3716.00,3716.00,3715.00,3715.00,522,0
+2006-02-09,10:17:00,3715.00,3715.00,3711.00,3712.00,2047,0
+2006-02-09,10:18:00,3712.00,3713.00,3712.00,3712.00,283,0
+2006-02-09,10:19:00,3712.00,3713.00,3712.00,3713.00,246,0
+2006-02-09,10:20:00,3713.00,3713.00,3712.00,3712.00,398,0
+2006-02-09,10:21:00,3712.00,3713.00,3712.00,3712.00,610,0
+2006-02-09,10:22:00,3712.00,3712.00,3711.00,3712.00,84,0
+2006-02-09,10:23:00,3712.00,3712.00,3711.00,3712.00,170,0
+2006-02-09,10:24:00,3712.00,3713.00,3710.00,3710.00,1039,0
+2006-02-09,10:25:00,3711.00,3711.00,3710.00,3710.00,51,0
+2006-02-09,10:26:00,3711.00,3711.00,3710.00,3711.00,293,0
+2006-02-09,10:27:00,3711.00,3712.00,3710.00,3711.00,1443,0
+2006-02-09,10:28:00,3711.00,3712.00,3711.00,3711.00,259,0
+2006-02-09,10:29:00,3711.00,3713.00,3711.00,3712.00,736,0
+2006-02-09,10:30:00,3713.00,3713.00,3711.00,3711.00,489,0
+2006-02-09,10:31:00,3711.00,3712.00,3710.00,3710.00,2807,0
+2006-02-09,10:32:00,3710.00,3710.00,3710.00,3710.00,841,0
+2006-02-09,10:33:00,3710.00,3711.00,3709.00,3711.00,568,0
+2006-02-09,10:34:00,3710.00,3712.00,3710.00,3711.00,319,0
+2006-02-09,10:35:00,3712.00,3713.00,3711.00,3713.00,346,0
+2006-02-09,10:36:00,3713.00,3713.00,3712.00,3712.00,298,0
+2006-02-09,10:37:00,3712.00,3713.00,3711.00,3712.00,266,0
+2006-02-09,10:38:00,3712.00,3713.00,3712.00,3712.00,653,0
+2006-02-09,10:39:00,3712.00,3712.00,3711.00,3712.00,47,0
+2006-02-09,10:40:00,3712.00,3713.00,3711.00,3713.00,361,0
+2006-02-09,10:41:00,3712.00,3712.00,3709.00,3709.00,2233,0
+2006-02-09,10:42:00,3710.00,3711.00,3709.00,3710.00,566,0
+2006-02-09,10:43:00,3709.00,3710.00,3708.00,3709.00,727,0
+2006-02-09,10:44:00,3710.00,3710.00,3709.00,3710.00,1559,0
+2006-02-09,10:45:00,3710.00,3710.00,3710.00,3710.00,397,0
+2006-02-09,10:46:00,3710.00,3711.00,3710.00,3711.00,606,0
+2006-02-09,10:47:00,3711.00,3711.00,3710.00,3710.00,80,0
+2006-02-09,10:48:00,3711.00,3711.00,3710.00,3711.00,144,0
+2006-02-09,10:49:00,3711.00,3711.00,3709.00,3710.00,333,0
+2006-02-09,10:50:00,3710.00,3712.00,3710.00,3712.00,467,0
+2006-02-09,10:51:00,3712.00,3712.00,3709.00,3710.00,838,0
+2006-02-09,10:52:00,3710.00,3710.00,3709.00,3709.00,756,0
+2006-02-09,10:53:00,3709.00,3710.00,3709.00,3710.00,34,0
+2006-02-09,10:54:00,3710.00,3712.00,3710.00,3712.00,241,0
+2006-02-09,10:55:00,3711.00,3712.00,3711.00,3712.00,3191,0
+2006-02-09,10:56:00,3712.00,3712.00,3711.00,3712.00,588,0
+2006-02-09,10:57:00,3711.00,3713.00,3711.00,3713.00,557,0
+2006-02-09,10:58:00,3713.00,3713.00,3713.00,3713.00,227,0
+2006-02-09,10:59:00,3712.00,3713.00,3711.00,3712.00,626,0
+2006-02-09,11:00:00,3712.00,3712.00,3709.00,3709.00,940,0
+2006-02-09,11:01:00,3710.00,3710.00,3709.00,3709.00,664,0
+2006-02-09,11:02:00,3709.00,3711.00,3709.00,3710.00,2275,0
+2006-02-09,11:03:00,3711.00,3711.00,3711.00,3711.00,30,0
+2006-02-09,11:04:00,3711.00,3711.00,3710.00,3711.00,200,0
+2006-02-09,11:05:00,3710.00,3711.00,3710.00,3711.00,29,0
+2006-02-09,11:06:00,3710.00,3712.00,3710.00,3712.00,226,0
+2006-02-09,11:07:00,3711.00,3711.00,3711.00,3711.00,198,0
+2006-02-09,11:08:00,3711.00,3712.00,3711.00,3711.00,866,0
+2006-02-09,11:09:00,3711.00,3711.00,3711.00,3711.00,280,0
+2006-02-09,11:10:00,3711.00,3712.00,3711.00,3712.00,130,0
+2006-02-09,11:11:00,3712.00,3712.00,3712.00,3712.00,388,0
+2006-02-09,11:12:00,3712.00,3712.00,3711.00,3712.00,11,0
+2006-02-09,11:13:00,3711.00,3711.00,3711.00,3711.00,456,0
+2006-02-09,11:14:00,3711.00,3712.00,3710.00,3712.00,898,0
+2006-02-09,11:15:00,3712.00,3713.00,3712.00,3713.00,163,0
+2006-02-09,11:16:00,3712.00,3713.00,3712.00,3713.00,295,0
+2006-02-09,11:17:00,3713.00,3713.00,3712.00,3713.00,245,0
+2006-02-09,11:18:00,3713.00,3714.00,3713.00,3714.00,416,0
+2006-02-09,11:19:00,3713.00,3713.00,3712.00,3712.00,143,0
+2006-02-09,11:20:00,3712.00,3713.00,3712.00,3712.00,674,0
+2006-02-09,11:21:00,3713.00,3713.00,3712.00,3713.00,370,0
+2006-02-09,11:22:00,3713.00,3714.00,3713.00,3714.00,172,0
+2006-02-09,11:23:00,3714.00,3714.00,3713.00,3713.00,92,0
+2006-02-09,11:24:00,3713.00,3714.00,3713.00,3713.00,185,0
+2006-02-09,11:25:00,3713.00,3713.00,3712.00,3713.00,104,0
+2006-02-09,11:26:00,3713.00,3713.00,3712.00,3713.00,165,0
+2006-02-09,11:27:00,3713.00,3713.00,3712.00,3713.00,176,0
+2006-02-09,11:28:00,3712.00,3714.00,3712.00,3714.00,305,0
+2006-02-09,11:29:00,3714.00,3714.00,3713.00,3714.00,2672,0
+2006-02-09,11:30:00,3714.00,3714.00,3711.00,3711.00,505,0
+2006-02-09,11:31:00,3712.00,3714.00,3712.00,3714.00,1658,0
+2006-02-09,11:32:00,3714.00,3715.00,3714.00,3714.00,902,0
+2006-02-09,11:33:00,3715.00,3715.00,3714.00,3715.00,40,0
+2006-02-09,11:34:00,3715.00,3715.00,3714.00,3714.00,93,0
+2006-02-09,11:35:00,3714.00,3715.00,3714.00,3714.00,256,0
+2006-02-09,11:36:00,3715.00,3715.00,3714.00,3715.00,940,0
+2006-02-09,11:37:00,3715.00,3716.00,3715.00,3715.00,2269,0
+2006-02-09,11:38:00,3716.00,3717.00,3715.00,3717.00,2242,0
+2006-02-09,11:39:00,3717.00,3717.00,3716.00,3716.00,666,0
+2006-02-09,11:40:00,3716.00,3716.00,3716.00,3716.00,2191,0
+2006-02-09,11:41:00,3717.00,3718.00,3716.00,3717.00,2008,0
+2006-02-09,11:42:00,3718.00,3718.00,3717.00,3718.00,438,0
+2006-02-09,11:43:00,3717.00,3719.00,3717.00,3719.00,1524,0
+2006-02-09,11:44:00,3720.00,3721.00,3719.00,3720.00,3479,0
+2006-02-09,11:45:00,3720.00,3724.00,3720.00,3722.00,4748,0
+2006-02-09,11:46:00,3723.00,3723.00,3721.00,3722.00,2690,0
+2006-02-09,11:47:00,3721.00,3722.00,3721.00,3721.00,347,0
+2006-02-09,11:48:00,3722.00,3722.00,3721.00,3721.00,1385,0
+2006-02-09,11:49:00,3721.00,3722.00,3721.00,3722.00,656,0
+2006-02-09,11:50:00,3722.00,3724.00,3722.00,3724.00,2499,0
+2006-02-09,11:51:00,3724.00,3724.00,3722.00,3723.00,1513,0
+2006-02-09,11:52:00,3723.00,3724.00,3722.00,3724.00,558,0
+2006-02-09,11:53:00,3724.00,3724.00,3723.00,3724.00,495,0
+2006-02-09,11:54:00,3724.00,3725.00,3723.00,3725.00,2564,0
+2006-02-09,11:55:00,3725.00,3725.00,3724.00,3724.00,933,0
+2006-02-09,11:56:00,3723.00,3723.00,3722.00,3723.00,525,0
+2006-02-09,11:57:00,3722.00,3723.00,3722.00,3723.00,561,0
+2006-02-09,11:58:00,3722.00,3723.00,3722.00,3722.00,692,0
+2006-02-09,11:59:00,3722.00,3722.00,3721.00,3721.00,749,0
+2006-02-09,12:00:00,3721.00,3721.00,3721.00,3721.00,346,0
+2006-02-09,12:01:00,3720.00,3722.00,3720.00,3720.00,894,0
+2006-02-09,12:02:00,3721.00,3722.00,3720.00,3722.00,142,0
+2006-02-09,12:03:00,3721.00,3722.00,3721.00,3721.00,350,0
+2006-02-09,12:04:00,3721.00,3722.00,3721.00,3721.00,494,0
+2006-02-09,12:05:00,3721.00,3722.00,3721.00,3722.00,343,0
+2006-02-09,12:06:00,3722.00,3722.00,3722.00,3722.00,60,0
+2006-02-09,12:07:00,3722.00,3722.00,3721.00,3722.00,418,0
+2006-02-09,12:08:00,3722.00,3722.00,3721.00,3722.00,365,0
+2006-02-09,12:09:00,3722.00,3723.00,3722.00,3723.00,262,0
+2006-02-09,12:10:00,3723.00,3724.00,3723.00,3723.00,556,0
+2006-02-09,12:11:00,3723.00,3723.00,3722.00,3722.00,350,0
+2006-02-09,12:12:00,3722.00,3724.00,3722.00,3724.00,1095,0
+2006-02-09,12:13:00,3724.00,3725.00,3724.00,3724.00,807,0
+2006-02-09,12:14:00,3724.00,3724.00,3723.00,3723.00,139,0
+2006-02-09,12:15:00,3723.00,3724.00,3723.00,3723.00,309,0
+2006-02-09,12:16:00,3723.00,3723.00,3722.00,3723.00,89,0
+2006-02-09,12:17:00,3722.00,3722.00,3722.00,3722.00,552,0
+2006-02-09,12:18:00,3722.00,3722.00,3721.00,3721.00,108,0
+2006-02-09,12:19:00,3722.00,3723.00,3722.00,3723.00,30,0
+2006-02-09,12:20:00,3722.00,3723.00,3721.00,3722.00,236,0
+2006-02-09,12:21:00,3722.00,3722.00,3722.00,3722.00,685,0
+2006-02-09,12:22:00,3721.00,3723.00,3721.00,3723.00,191,0
+2006-02-09,12:23:00,3722.00,3723.00,3722.00,3722.00,612,0
+2006-02-09,12:24:00,3723.00,3723.00,3722.00,3723.00,143,0
+2006-02-09,12:25:00,3723.00,3723.00,3722.00,3723.00,85,0
+2006-02-09,12:26:00,3723.00,3724.00,3723.00,3724.00,132,0
+2006-02-09,12:27:00,3724.00,3725.00,3724.00,3724.00,1510,0
+2006-02-09,12:28:00,3724.00,3725.00,3724.00,3725.00,140,0
+2006-02-09,12:29:00,3725.00,3725.00,3724.00,3725.00,1378,0
+2006-02-09,12:30:00,3724.00,3725.00,3724.00,3725.00,72,0
+2006-02-09,12:31:00,3725.00,3725.00,3724.00,3725.00,18,0
+2006-02-09,12:32:00,3725.00,3725.00,3723.00,3723.00,480,0
+2006-02-09,12:33:00,3724.00,3724.00,3723.00,3724.00,503,0
+2006-02-09,12:34:00,3724.00,3724.00,3723.00,3724.00,493,0
+2006-02-09,12:35:00,3724.00,3724.00,3723.00,3724.00,645,0
+2006-02-09,12:36:00,3725.00,3725.00,3724.00,3725.00,363,0
+2006-02-09,12:37:00,3725.00,3725.00,3724.00,3724.00,369,0
+2006-02-09,12:38:00,3724.00,3724.00,3723.00,3724.00,619,0
+2006-02-09,12:39:00,3724.00,3724.00,3723.00,3724.00,241,0
+2006-02-09,12:40:00,3724.00,3724.00,3723.00,3723.00,217,0
+2006-02-09,12:41:00,3724.00,3724.00,3723.00,3724.00,53,0
+2006-02-09,12:42:00,3724.00,3724.00,3723.00,3724.00,119,0
+2006-02-09,12:43:00,3723.00,3723.00,3722.00,3722.00,440,0
+2006-02-09,12:44:00,3722.00,3722.00,3721.00,3721.00,416,0
+2006-02-09,12:45:00,3721.00,3721.00,3720.00,3721.00,611,0
+2006-02-09,12:46:00,3721.00,3721.00,3719.00,3720.00,1187,0
+2006-02-09,12:47:00,3720.00,3720.00,3719.00,3720.00,646,0
+2006-02-09,12:48:00,3720.00,3720.00,3719.00,3720.00,184,0
+2006-02-09,12:49:00,3720.00,3720.00,3719.00,3720.00,177,0
+2006-02-09,12:50:00,3720.00,3721.00,3720.00,3720.00,2009,0
+2006-02-09,12:51:00,3720.00,3720.00,3720.00,3720.00,279,0
+2006-02-09,12:52:00,3720.00,3721.00,3720.00,3721.00,180,0
+2006-02-09,12:53:00,3720.00,3721.00,3720.00,3720.00,245,0
+2006-02-09,12:54:00,3720.00,3721.00,3719.00,3719.00,662,0
+2006-02-09,12:55:00,3720.00,3721.00,3719.00,3720.00,472,0
+2006-02-09,12:56:00,3721.00,3722.00,3721.00,3722.00,1048,0
+2006-02-09,12:57:00,3721.00,3722.00,3721.00,3722.00,108,0
+2006-02-09,12:58:00,3721.00,3722.00,3721.00,3722.00,176,0
+2006-02-09,12:59:00,3721.00,3722.00,3721.00,3722.00,35,0
+2006-02-09,13:00:00,3722.00,3723.00,3722.00,3723.00,841,0
+2006-02-09,13:01:00,3723.00,3723.00,3722.00,3722.00,361,0
+2006-02-09,13:02:00,3722.00,3722.00,3721.00,3722.00,137,0
+2006-02-09,13:03:00,3722.00,3723.00,3721.00,3722.00,470,0
+2006-02-09,13:04:00,3722.00,3722.00,3721.00,3722.00,376,0
+2006-02-09,13:05:00,3722.00,3722.00,3721.00,3722.00,189,0
+2006-02-09,13:06:00,3721.00,3722.00,3721.00,3721.00,274,0
+2006-02-09,13:07:00,3722.00,3722.00,3721.00,3721.00,127,0
+2006-02-09,13:08:00,3720.00,3721.00,3720.00,3721.00,678,0
+2006-02-09,13:09:00,3721.00,3721.00,3719.00,3720.00,225,0
+2006-02-09,13:10:00,3720.00,3721.00,3720.00,3721.00,7,0
+2006-02-09,13:11:00,3721.00,3721.00,3719.00,3719.00,155,0
+2006-02-09,13:12:00,3720.00,3721.00,3720.00,3720.00,286,0
+2006-02-09,13:13:00,3721.00,3721.00,3720.00,3720.00,41,0
+2006-02-09,13:14:00,3721.00,3721.00,3720.00,3721.00,138,0
+2006-02-09,13:15:00,3721.00,3721.00,3721.00,3721.00,8,0
+2006-02-09,13:16:00,3720.00,3720.00,3720.00,3720.00,267,0
+2006-02-09,13:17:00,3721.00,3721.00,3721.00,3721.00,4,0
+2006-02-09,13:18:00,3721.00,3721.00,3720.00,3720.00,15,0
+2006-02-09,13:19:00,3721.00,3721.00,3720.00,3720.00,9,0
+2006-02-09,13:20:00,3721.00,3721.00,3721.00,3721.00,16,0
+2006-02-09,13:21:00,3720.00,3721.00,3720.00,3721.00,440,0
+2006-02-09,13:22:00,3721.00,3721.00,3719.00,3720.00,154,0
+2006-02-09,13:23:00,3719.00,3720.00,3719.00,3720.00,142,0
+2006-02-09,13:24:00,3719.00,3720.00,3716.00,3717.00,3434,0
+2006-02-09,13:25:00,3717.00,3718.00,3716.00,3718.00,1402,0
+2006-02-09,13:26:00,3718.00,3719.00,3718.00,3718.00,1118,0
+2006-02-09,13:27:00,3719.00,3719.00,3716.00,3718.00,1301,0
+2006-02-09,13:28:00,3717.00,3717.00,3714.00,3715.00,2550,0
+2006-02-09,13:29:00,3715.00,3719.00,3714.00,3718.00,1451,0
+2006-02-09,13:30:00,3718.00,3718.00,3717.00,3718.00,303,0
+2006-02-09,13:31:00,3718.00,3718.00,3717.00,3717.00,1069,0
+2006-02-09,13:32:00,3718.00,3718.00,3717.00,3717.00,84,0
+2006-02-09,13:33:00,3717.00,3718.00,3717.00,3718.00,182,0
+2006-02-09,13:34:00,3717.00,3718.00,3716.00,3717.00,641,0
+2006-02-09,13:35:00,3717.00,3717.00,3717.00,3717.00,589,0
+2006-02-09,13:36:00,3716.00,3716.00,3716.00,3716.00,50,0
+2006-02-09,13:37:00,3717.00,3717.00,3715.00,3716.00,536,0
+2006-02-09,13:38:00,3716.00,3716.00,3716.00,3716.00,101,0
+2006-02-09,13:39:00,3717.00,3718.00,3717.00,3718.00,774,0
+2006-02-09,13:40:00,3717.00,3719.00,3717.00,3719.00,432,0
+2006-02-09,13:41:00,3718.00,3720.00,3718.00,3719.00,650,0
+2006-02-09,13:42:00,3719.00,3721.00,3719.00,3721.00,648,0
+2006-02-09,13:43:00,3721.00,3721.00,3720.00,3721.00,224,0
+2006-02-09,13:44:00,3721.00,3721.00,3720.00,3720.00,255,0
+2006-02-09,13:45:00,3721.00,3721.00,3721.00,3721.00,357,0
+2006-02-09,13:46:00,3720.00,3721.00,3720.00,3720.00,1216,0
+2006-02-09,13:47:00,3720.00,3720.00,3720.00,3720.00,9,0
+2006-02-09,13:48:00,3720.00,3720.00,3720.00,3720.00,414,0
+2006-02-09,13:49:00,3720.00,3720.00,3720.00,3720.00,566,0
+2006-02-09,13:50:00,3719.00,3720.00,3719.00,3719.00,277,0
+2006-02-09,13:51:00,3720.00,3720.00,3720.00,3720.00,194,0
+2006-02-09,13:52:00,3720.00,3720.00,3720.00,3720.00,1395,0
+2006-02-09,13:53:00,3720.00,3720.00,3719.00,3719.00,169,0
+2006-02-09,13:54:00,3720.00,3720.00,3720.00,3720.00,18,0
+2006-02-09,13:55:00,3720.00,3720.00,3720.00,3720.00,4,0
+2006-02-09,13:56:00,3719.00,3720.00,3719.00,3719.00,32,0
+2006-02-09,13:57:00,3719.00,3720.00,3719.00,3720.00,9,0
+2006-02-09,13:58:00,3720.00,3721.00,3719.00,3721.00,341,0
+2006-02-09,13:59:00,3720.00,3720.00,3720.00,3720.00,156,0
+2006-02-09,14:00:00,3721.00,3721.00,3720.00,3720.00,554,0
+2006-02-09,14:01:00,3720.00,3721.00,3719.00,3719.00,226,0
+2006-02-09,14:02:00,3720.00,3720.00,3719.00,3719.00,13,0
+2006-02-09,14:03:00,3720.00,3720.00,3719.00,3719.00,8,0
+2006-02-09,14:04:00,3720.00,3720.00,3719.00,3719.00,82,0
+2006-02-09,14:05:00,3719.00,3720.00,3719.00,3720.00,196,0
+2006-02-09,14:06:00,3720.00,3720.00,3720.00,3720.00,1008,0
+2006-02-09,14:07:00,3720.00,3721.00,3719.00,3721.00,326,0
+2006-02-09,14:08:00,3721.00,3721.00,3720.00,3721.00,18,0
+2006-02-09,14:09:00,3721.00,3721.00,3721.00,3721.00,158,0
+2006-02-09,14:10:00,3720.00,3722.00,3720.00,3722.00,421,0
+2006-02-09,14:11:00,3722.00,3722.00,3722.00,3722.00,79,0
+2006-02-09,14:12:00,3722.00,3723.00,3722.00,3723.00,328,0
+2006-02-09,14:13:00,3722.00,3723.00,3722.00,3723.00,114,0
+2006-02-09,14:14:00,3723.00,3723.00,3723.00,3723.00,97,0
+2006-02-09,14:15:00,3723.00,3723.00,3722.00,3722.00,11,0
+2006-02-09,14:16:00,3722.00,3723.00,3722.00,3723.00,90,0
+2006-02-09,14:17:00,3723.00,3723.00,3722.00,3722.00,8,0
+2006-02-09,14:18:00,3723.00,3723.00,3722.00,3722.00,587,0
+2006-02-09,14:19:00,3721.00,3722.00,3721.00,3721.00,738,0
+2006-02-09,14:20:00,3721.00,3721.00,3721.00,3721.00,5,0
+2006-02-09,14:21:00,3721.00,3721.00,3720.00,3721.00,107,0
+2006-02-09,14:22:00,3721.00,3721.00,3720.00,3721.00,27,0
+2006-02-09,14:23:00,3721.00,3722.00,3721.00,3722.00,537,0
+2006-02-09,14:24:00,3721.00,3721.00,3720.00,3721.00,1039,0
+2006-02-09,14:25:00,3720.00,3721.00,3720.00,3721.00,136,0
+2006-02-09,14:26:00,3722.00,3722.00,3721.00,3722.00,517,0
+2006-02-09,14:27:00,3722.00,3722.00,3722.00,3722.00,84,0
+2006-02-09,14:28:00,3721.00,3721.00,3720.00,3721.00,495,0
+2006-02-09,14:29:00,3721.00,3721.00,3721.00,3721.00,148,0
+2006-02-09,14:30:00,3720.00,3721.00,3720.00,3721.00,374,0
+2006-02-09,14:31:00,3721.00,3723.00,3721.00,3722.00,907,0
+2006-02-09,14:32:00,3722.00,3723.00,3722.00,3722.00,210,0
+2006-02-09,14:33:00,3723.00,3724.00,3723.00,3723.00,637,0
+2006-02-09,14:34:00,3724.00,3724.00,3722.00,3723.00,241,0
+2006-02-09,14:35:00,3723.00,3724.00,3723.00,3724.00,112,0
+2006-02-09,14:36:00,3723.00,3724.00,3723.00,3724.00,12,0
+2006-02-09,14:37:00,3724.00,3724.00,3723.00,3723.00,441,0
+2006-02-09,14:38:00,3723.00,3724.00,3723.00,3724.00,291,0
+2006-02-09,14:39:00,3723.00,3728.00,3723.00,3728.00,5115,0
+2006-02-09,14:40:00,3727.00,3728.00,3726.00,3726.00,2341,0
+2006-02-09,14:41:00,3726.00,3728.00,3726.00,3728.00,1851,0
+2006-02-09,14:42:00,3728.00,3728.00,3727.00,3727.00,738,0
+2006-02-09,14:43:00,3728.00,3728.00,3726.00,3727.00,3574,0
+2006-02-09,14:44:00,3728.00,3728.00,3726.00,3727.00,896,0
+2006-02-09,14:45:00,3726.00,3727.00,3726.00,3727.00,1428,0
+2006-02-09,14:46:00,3727.00,3727.00,3726.00,3727.00,427,0
+2006-02-09,14:47:00,3726.00,3727.00,3726.00,3726.00,88,0
+2006-02-09,14:48:00,3726.00,3727.00,3726.00,3726.00,1267,0
+2006-02-09,14:49:00,3727.00,3727.00,3726.00,3726.00,1752,0
+2006-02-09,14:50:00,3726.00,3727.00,3726.00,3726.00,201,0
+2006-02-09,14:51:00,3726.00,3727.00,3726.00,3727.00,304,0
+2006-02-09,14:52:00,3726.00,3726.00,3725.00,3726.00,1219,0
+2006-02-09,14:53:00,3726.00,3727.00,3725.00,3727.00,514,0
+2006-02-09,14:54:00,3726.00,3726.00,3725.00,3725.00,161,0
+2006-02-09,14:55:00,3725.00,3726.00,3725.00,3726.00,963,0
+2006-02-09,14:56:00,3726.00,3726.00,3726.00,3726.00,238,0
+2006-02-09,14:57:00,3726.00,3727.00,3726.00,3727.00,166,0
+2006-02-09,14:58:00,3726.00,3727.00,3726.00,3726.00,926,0
+2006-02-09,14:59:00,3727.00,3728.00,3724.00,3724.00,4031,0
+2006-02-09,15:00:00,3724.00,3725.00,3724.00,3725.00,309,0
+2006-02-09,15:01:00,3725.00,3725.00,3724.00,3725.00,52,0
+2006-02-09,15:02:00,3724.00,3725.00,3724.00,3725.00,314,0
+2006-02-09,15:03:00,3725.00,3726.00,3724.00,3724.00,383,0
+2006-02-09,15:04:00,3725.00,3726.00,3724.00,3725.00,361,0
+2006-02-09,15:05:00,3726.00,3726.00,3724.00,3725.00,172,0
+2006-02-09,15:06:00,3725.00,3726.00,3725.00,3725.00,369,0
+2006-02-09,15:07:00,3726.00,3726.00,3725.00,3725.00,330,0
+2006-02-09,15:08:00,3725.00,3725.00,3724.00,3725.00,149,0
+2006-02-09,15:09:00,3724.00,3725.00,3724.00,3725.00,135,0
+2006-02-09,15:10:00,3725.00,3725.00,3724.00,3724.00,7,0
+2006-02-09,15:11:00,3725.00,3725.00,3724.00,3725.00,706,0
+2006-02-09,15:12:00,3724.00,3724.00,3723.00,3723.00,603,0
+2006-02-09,15:13:00,3723.00,3724.00,3723.00,3723.00,144,0
+2006-02-09,15:14:00,3723.00,3724.00,3723.00,3724.00,13,0
+2006-02-09,15:15:00,3723.00,3723.00,3722.00,3722.00,672,0
+2006-02-09,15:17:00,3723.00,3723.00,3722.00,3722.00,239,0
+2006-02-09,15:18:00,3722.00,3724.00,3722.00,3724.00,420,0
+2006-02-09,15:19:00,3724.00,3725.00,3723.00,3723.00,461,0
+2006-02-09,15:20:00,3722.00,3723.00,3722.00,3723.00,178,0
+2006-02-09,15:21:00,3722.00,3723.00,3722.00,3723.00,351,0
+2006-02-09,15:22:00,3723.00,3723.00,3722.00,3722.00,550,0
+2006-02-09,15:23:00,3723.00,3723.00,3722.00,3723.00,10,0
+2006-02-09,15:24:00,3723.00,3723.00,3722.00,3723.00,231,0
+2006-02-09,15:25:00,3723.00,3724.00,3723.00,3723.00,340,0
+2006-02-09,15:26:00,3723.00,3724.00,3723.00,3724.00,333,0
+2006-02-09,15:27:00,3723.00,3724.00,3723.00,3724.00,394,0
+2006-02-09,15:28:00,3724.00,3724.00,3723.00,3724.00,889,0
+2006-02-09,15:29:00,3723.00,3724.00,3723.00,3724.00,277,0
+2006-02-09,15:30:00,3724.00,3725.00,3723.00,3725.00,493,0
+2006-02-09,15:31:00,3724.00,3725.00,3723.00,3724.00,1049,0
+2006-02-09,15:32:00,3723.00,3723.00,3722.00,3723.00,339,0
+2006-02-09,15:33:00,3723.00,3723.00,3722.00,3722.00,281,0
+2006-02-09,15:34:00,3722.00,3723.00,3721.00,3722.00,803,0
+2006-02-09,15:35:00,3722.00,3722.00,3721.00,3722.00,873,0
+2006-02-09,15:36:00,3722.00,3723.00,3722.00,3722.00,180,0
+2006-02-09,15:37:00,3723.00,3723.00,3722.00,3722.00,730,0
+2006-02-09,15:38:00,3722.00,3723.00,3721.00,3723.00,499,0
+2006-02-09,15:39:00,3723.00,3723.00,3721.00,3723.00,1337,0
+2006-02-09,15:40:00,3722.00,3724.00,3722.00,3723.00,321,0
+2006-02-09,15:41:00,3724.00,3726.00,3723.00,3725.00,2557,0
+2006-02-09,15:42:00,3725.00,3725.00,3724.00,3724.00,938,0
+2006-02-09,15:43:00,3724.00,3725.00,3723.00,3724.00,729,0
+2006-02-09,15:44:00,3724.00,3727.00,3724.00,3726.00,1962,0
+2006-02-09,15:45:00,3726.00,3726.00,3725.00,3725.00,719,0
+2006-02-09,15:46:00,3726.00,3727.00,3726.00,3726.00,1705,0
+2006-02-09,15:47:00,3727.00,3727.00,3726.00,3727.00,307,0
+2006-02-09,15:48:00,3726.00,3727.00,3726.00,3726.00,526,0
+2006-02-09,15:49:00,3726.00,3727.00,3725.00,3727.00,1172,0
+2006-02-09,15:50:00,3727.00,3728.00,3726.00,3727.00,962,0
+2006-02-09,15:51:00,3726.00,3728.00,3726.00,3728.00,727,0
+2006-02-09,15:52:00,3727.00,3728.00,3726.00,3727.00,1882,0
+2006-02-09,15:53:00,3727.00,3728.00,3726.00,3726.00,918,0
+2006-02-09,15:54:00,3726.00,3729.00,3726.00,3728.00,2790,0
+2006-02-09,15:55:00,3727.00,3728.00,3727.00,3728.00,627,0
+2006-02-09,15:56:00,3728.00,3730.00,3728.00,3730.00,1743,0
+2006-02-09,15:57:00,3730.00,3732.00,3730.00,3730.00,6651,0
+2006-02-09,15:58:00,3730.00,3730.00,3729.00,3729.00,1411,0
+2006-02-09,15:59:00,3729.00,3731.00,3728.00,3730.00,2850,0
+2006-02-09,16:00:00,3730.00,3732.00,3729.00,3730.00,2144,0
+2006-02-09,16:01:00,3730.00,3731.00,3728.00,3729.00,3421,0
+2006-02-09,16:02:00,3729.00,3730.00,3728.00,3729.00,1678,0
+2006-02-09,16:03:00,3729.00,3730.00,3729.00,3730.00,1164,0
+2006-02-09,16:04:00,3729.00,3731.00,3729.00,3730.00,1005,0
+2006-02-09,16:05:00,3729.00,3729.00,3728.00,3729.00,1877,0
+2006-02-09,16:06:00,3729.00,3731.00,3729.00,3730.00,3180,0
+2006-02-09,16:07:00,3730.00,3731.00,3729.00,3729.00,1900,0
+2006-02-09,16:08:00,3729.00,3729.00,3728.00,3728.00,1343,0
+2006-02-09,16:09:00,3728.00,3728.00,3726.00,3726.00,1890,0
+2006-02-09,16:10:00,3726.00,3727.00,3726.00,3726.00,818,0
+2006-02-09,16:11:00,3727.00,3727.00,3725.00,3726.00,1640,0
+2006-02-09,16:12:00,3726.00,3727.00,3725.00,3726.00,1090,0
+2006-02-09,16:13:00,3726.00,3727.00,3726.00,3726.00,826,0
+2006-02-09,16:14:00,3726.00,3727.00,3726.00,3726.00,714,0
+2006-02-09,16:15:00,3726.00,3727.00,3725.00,3725.00,647,0
+2006-02-09,16:16:00,3725.00,3726.00,3725.00,3725.00,299,0
+2006-02-09,16:17:00,3725.00,3727.00,3725.00,3727.00,1013,0
+2006-02-09,16:18:00,3727.00,3728.00,3725.00,3726.00,1289,0
+2006-02-09,16:19:00,3725.00,3726.00,3725.00,3726.00,1269,0
+2006-02-09,16:20:00,3725.00,3726.00,3725.00,3726.00,1741,0
+2006-02-09,16:21:00,3725.00,3728.00,3725.00,3728.00,430,0
+2006-02-09,16:22:00,3728.00,3728.00,3726.00,3727.00,600,0
+2006-02-09,16:23:00,3727.00,3728.00,3727.00,3727.00,744,0
+2006-02-09,16:24:00,3727.00,3728.00,3726.00,3727.00,709,0
+2006-02-09,16:25:00,3728.00,3728.00,3727.00,3727.00,56,0
+2006-02-09,16:26:00,3728.00,3729.00,3728.00,3728.00,1192,0
+2006-02-09,16:27:00,3728.00,3728.00,3727.00,3727.00,807,0
+2006-02-09,16:28:00,3727.00,3729.00,3727.00,3727.00,1614,0
+2006-02-09,16:29:00,3727.00,3729.00,3727.00,3729.00,789,0
+2006-02-09,16:30:00,3729.00,3731.00,3729.00,3730.00,4619,0
+2006-02-09,16:31:00,3730.00,3732.00,3729.00,3730.00,2124,0
+2006-02-09,16:32:00,3730.00,3731.00,3728.00,3729.00,1836,0
+2006-02-09,16:33:00,3729.00,3731.00,3729.00,3731.00,1414,0
+2006-02-09,16:34:00,3731.00,3732.00,3729.00,3730.00,1416,0
+2006-02-09,16:35:00,3730.00,3730.00,3728.00,3730.00,1191,0
+2006-02-09,16:36:00,3730.00,3733.00,3730.00,3732.00,1717,0
+2006-02-09,16:37:00,3733.00,3734.00,3732.00,3733.00,3028,0
+2006-02-09,16:38:00,3733.00,3733.00,3731.00,3731.00,1381,0
+2006-02-09,16:39:00,3731.00,3731.00,3729.00,3731.00,1613,0
+2006-02-09,16:40:00,3730.00,3731.00,3730.00,3731.00,604,0
+2006-02-09,16:41:00,3731.00,3732.00,3731.00,3731.00,1585,0
+2006-02-09,16:42:00,3731.00,3732.00,3730.00,3731.00,445,0
+2006-02-09,16:43:00,3731.00,3732.00,3731.00,3732.00,971,0
+2006-02-09,16:44:00,3731.00,3731.00,3729.00,3729.00,1924,0
+2006-02-09,16:45:00,3729.00,3730.00,3729.00,3730.00,1634,0
+2006-02-09,16:46:00,3730.00,3732.00,3730.00,3731.00,1598,0
+2006-02-09,16:47:00,3731.00,3731.00,3729.00,3730.00,576,0
+2006-02-09,16:48:00,3730.00,3731.00,3730.00,3730.00,315,0
+2006-02-09,16:49:00,3730.00,3731.00,3729.00,3730.00,488,0
+2006-02-09,16:50:00,3730.00,3730.00,3728.00,3728.00,585,0
+2006-02-09,16:51:00,3729.00,3731.00,3729.00,3730.00,1982,0
+2006-02-09,16:52:00,3729.00,3730.00,3728.00,3729.00,671,0
+2006-02-09,16:53:00,3728.00,3730.00,3728.00,3729.00,452,0
+2006-02-09,16:54:00,3729.00,3731.00,3729.00,3731.00,1098,0
+2006-02-09,16:55:00,3731.00,3732.00,3730.00,3730.00,1467,0
+2006-02-09,16:56:00,3730.00,3730.00,3728.00,3728.00,1335,0
+2006-02-09,16:57:00,3728.00,3729.00,3728.00,3729.00,1260,0
+2006-02-09,16:58:00,3729.00,3730.00,3729.00,3730.00,391,0
+2006-02-09,16:59:00,3730.00,3730.00,3729.00,3730.00,457,0
+2006-02-09,17:00:00,3729.00,3730.00,3729.00,3730.00,407,0
+2006-02-09,17:01:00,3730.00,3730.00,3729.00,3730.00,1569,0
+2006-02-09,17:02:00,3730.00,3730.00,3729.00,3730.00,651,0
+2006-02-09,17:03:00,3730.00,3730.00,3729.00,3729.00,917,0
+2006-02-09,17:04:00,3730.00,3730.00,3729.00,3730.00,119,0
+2006-02-09,17:05:00,3729.00,3730.00,3729.00,3730.00,666,0
+2006-02-09,17:06:00,3730.00,3730.00,3728.00,3728.00,765,0
+2006-02-09,17:07:00,3729.00,3730.00,3727.00,3727.00,1899,0
+2006-02-09,17:08:00,3727.00,3728.00,3726.00,3728.00,1646,0
+2006-02-09,17:09:00,3728.00,3728.00,3726.00,3727.00,1492,0
+2006-02-09,17:10:00,3726.00,3727.00,3725.00,3725.00,1674,0
+2006-02-09,17:11:00,3725.00,3726.00,3724.00,3725.00,2341,0
+2006-02-09,17:12:00,3725.00,3726.00,3724.00,3724.00,1573,0
+2006-02-09,17:13:00,3724.00,3725.00,3723.00,3725.00,2327,0
+2006-02-09,17:14:00,3726.00,3727.00,3725.00,3727.00,1780,0
+2006-02-09,17:15:00,3727.00,3727.00,3726.00,3727.00,619,0
+2006-02-09,17:16:00,3727.00,3728.00,3727.00,3728.00,634,0
+2006-02-09,17:17:00,3727.00,3728.00,3727.00,3728.00,839,0
+2006-02-09,17:18:00,3728.00,3729.00,3727.00,3728.00,2310,0
+2006-02-09,17:19:00,3729.00,3731.00,3729.00,3730.00,3563,0
+2006-02-09,17:20:00,3730.00,3731.00,3729.00,3730.00,1160,0
+2006-02-09,17:21:00,3730.00,3731.00,3729.00,3729.00,877,0
+2006-02-09,17:22:00,3730.00,3730.00,3729.00,3729.00,1440,0
+2006-02-09,17:23:00,3730.00,3730.00,3729.00,3730.00,673,0
+2006-02-09,17:24:00,3730.00,3732.00,3730.00,3732.00,2020,0
+2006-02-09,17:25:00,3732.00,3733.00,3731.00,3733.00,2781,0
+2006-02-09,17:26:00,3733.00,3734.00,3732.00,3733.00,1667,0
+2006-02-09,17:27:00,3733.00,3733.00,3731.00,3731.00,1564,0
+2006-02-09,17:28:00,3732.00,3732.00,3731.00,3732.00,1409,0
+2006-02-09,17:29:00,3732.00,3733.00,3732.00,3733.00,1413,0
+2006-02-09,17:30:00,3732.00,3734.00,3732.00,3732.00,3750,0
+2006-02-09,17:31:00,3734.00,3735.00,3732.00,3733.00,3963,0
+2006-02-09,17:32:00,3733.00,3737.00,3733.00,3736.00,5711,0
+2006-02-09,17:33:00,3736.00,3738.00,3736.00,3736.00,4446,0
+2006-02-09,17:34:00,3736.00,3738.00,3736.00,3737.00,1818,0
+2006-02-09,17:35:00,3736.00,3738.00,3736.00,3738.00,2435,0
+2006-02-09,17:36:00,3737.00,3739.00,3736.00,3736.00,2861,0
+2006-02-09,17:37:00,3736.00,3738.00,3736.00,3737.00,2186,0
+2006-02-09,17:38:00,3737.00,3740.00,3737.00,3740.00,3533,0
+2006-02-09,17:39:00,3740.00,3741.00,3738.00,3738.00,2152,0
+2006-02-09,17:40:00,3739.00,3739.00,3738.00,3738.00,192,0
+2006-02-09,17:41:00,3739.00,3739.00,3738.00,3739.00,789,0
+2006-02-09,17:42:00,3739.00,3739.00,3738.00,3739.00,299,0
+2006-02-09,17:43:00,3739.00,3739.00,3738.00,3739.00,669,0
+2006-02-09,17:44:00,3738.00,3740.00,3738.00,3740.00,517,0
+2006-02-09,17:45:00,3740.00,3740.00,3739.00,3740.00,1948,0
+2006-02-09,17:46:00,3739.00,3741.00,3739.00,3739.00,1161,0
+2006-02-09,17:47:00,3739.00,3740.00,3739.00,3740.00,622,0
+2006-02-09,17:48:00,3739.00,3741.00,3739.00,3740.00,648,0
+2006-02-09,17:49:00,3740.00,3740.00,3738.00,3738.00,241,0
+2006-02-09,17:50:00,3739.00,3741.00,3739.00,3741.00,927,0
+2006-02-09,17:51:00,3741.00,3741.00,3740.00,3740.00,579,0
+2006-02-09,17:52:00,3740.00,3742.00,3740.00,3740.00,311,0
+2006-02-09,17:53:00,3740.00,3741.00,3740.00,3741.00,119,0
+2006-02-09,17:54:00,3741.00,3741.00,3740.00,3741.00,495,0
+2006-02-09,17:55:00,3741.00,3741.00,3739.00,3740.00,705,0
+2006-02-09,17:56:00,3740.00,3740.00,3740.00,3740.00,422,0
+2006-02-09,17:57:00,3740.00,3740.00,3740.00,3740.00,314,0
+2006-02-09,17:58:00,3740.00,3740.00,3739.00,3739.00,492,0
+2006-02-09,17:59:00,3739.00,3739.00,3738.00,3738.00,289,0
+2006-02-09,18:00:00,3738.00,3739.00,3737.00,3737.00,780,0
+2006-02-09,18:01:00,3737.00,3738.00,3737.00,3737.00,129,0
+2006-02-09,18:02:00,3737.00,3737.00,3736.00,3737.00,1004,0
+2006-02-09,18:03:00,3737.00,3738.00,3737.00,3738.00,217,0
+2006-02-09,18:04:00,3738.00,3738.00,3737.00,3738.00,74,0
+2006-02-09,18:05:00,3737.00,3738.00,3737.00,3738.00,61,0
+2006-02-09,18:06:00,3738.00,3738.00,3737.00,3737.00,111,0
+2006-02-09,18:08:00,3738.00,3738.00,3738.00,3738.00,135,0
+2006-02-09,18:09:00,3738.00,3739.00,3738.00,3739.00,147,0
+2006-02-09,18:10:00,3738.00,3738.00,3738.00,3738.00,188,0
+2006-02-09,18:11:00,3738.00,3738.00,3737.00,3737.00,178,0
+2006-02-09,18:12:00,3738.00,3738.00,3737.00,3737.00,62,0
+2006-02-09,18:13:00,3737.00,3738.00,3736.00,3736.00,169,0
+2006-02-09,18:14:00,3737.00,3737.00,3737.00,3737.00,55,0
+2006-02-09,18:15:00,3738.00,3738.00,3737.00,3738.00,71,0
+2006-02-09,18:16:00,3737.00,3739.00,3737.00,3739.00,390,0
+2006-02-09,18:17:00,3739.00,3740.00,3739.00,3739.00,9,0
+2006-02-09,18:18:00,3740.00,3740.00,3739.00,3739.00,226,0
+2006-02-09,18:19:00,3739.00,3740.00,3739.00,3740.00,420,0
+2006-02-09,18:20:00,3740.00,3741.00,3740.00,3740.00,249,0
+2006-02-09,18:21:00,3740.00,3741.00,3739.00,3741.00,386,0
+2006-02-09,18:22:00,3741.00,3741.00,3740.00,3740.00,154,0
+2006-02-09,18:23:00,3740.00,3740.00,3740.00,3740.00,71,0
+2006-02-09,18:24:00,3741.00,3743.00,3741.00,3743.00,1148,0
+2006-02-09,18:25:00,3743.00,3743.00,3741.00,3742.00,286,0
+2006-02-09,18:26:00,3741.00,3743.00,3741.00,3743.00,234,0
+2006-02-09,18:27:00,3743.00,3744.00,3743.00,3743.00,1099,0
+2006-02-09,18:28:00,3743.00,3743.00,3742.00,3743.00,166,0
+2006-02-09,18:29:00,3743.00,3744.00,3743.00,3744.00,1501,0
+2006-02-09,18:30:00,3743.00,3744.00,3743.00,3743.00,199,0
+2006-02-09,18:31:00,3744.00,3744.00,3743.00,3743.00,408,0
+2006-02-09,18:32:00,3743.00,3743.00,3743.00,3743.00,140,0
+2006-02-09,18:33:00,3743.00,3744.00,3743.00,3744.00,135,0
+2006-02-09,18:34:00,3743.00,3743.00,3743.00,3743.00,33,0
+2006-02-09,18:35:00,3743.00,3743.00,3743.00,3743.00,172,0
+2006-02-09,18:36:00,3743.00,3744.00,3743.00,3743.00,321,0
+2006-02-09,18:37:00,3742.00,3743.00,3742.00,3743.00,30,0
+2006-02-09,18:38:00,3743.00,3743.00,3743.00,3743.00,254,0
+2006-02-09,18:39:00,3743.00,3744.00,3742.00,3743.00,507,0
+2006-02-09,18:40:00,3744.00,3746.00,3744.00,3745.00,1604,0
+2006-02-09,18:41:00,3745.00,3746.00,3745.00,3745.00,440,0
+2006-02-09,18:42:00,3745.00,3746.00,3743.00,3743.00,1514,0
+2006-02-09,18:43:00,3744.00,3744.00,3743.00,3743.00,336,0
+2006-02-09,18:44:00,3743.00,3744.00,3743.00,3744.00,176,0
+2006-02-09,18:45:00,3745.00,3745.00,3743.00,3743.00,227,0
+2006-02-09,18:46:00,3743.00,3743.00,3742.00,3742.00,224,0
+2006-02-09,18:47:00,3743.00,3743.00,3742.00,3742.00,144,0
+2006-02-09,18:48:00,3742.00,3744.00,3742.00,3743.00,182,0
+2006-02-09,18:49:00,3743.00,3743.00,3742.00,3742.00,286,0
+2006-02-09,18:50:00,3743.00,3743.00,3743.00,3743.00,15,0
+2006-02-09,18:51:00,3743.00,3743.00,3743.00,3743.00,15,0
+2006-02-09,18:52:00,3743.00,3744.00,3743.00,3744.00,274,0
+2006-02-09,18:53:00,3744.00,3744.00,3744.00,3744.00,6,0
+2006-02-09,18:55:00,3744.00,3744.00,3743.00,3743.00,247,0
+2006-02-09,18:56:00,3743.00,3743.00,3743.00,3743.00,146,0
+2006-02-09,18:57:00,3744.00,3744.00,3744.00,3744.00,10,0
+2006-02-09,18:58:00,3744.00,3744.00,3744.00,3744.00,292,0
+2006-02-09,18:59:00,3744.00,3744.00,3744.00,3744.00,117,0
+2006-02-09,19:00:00,3743.00,3743.00,3742.00,3743.00,307,0
+2006-02-09,19:01:00,3743.00,3743.00,3743.00,3743.00,69,0
+2006-02-09,19:02:00,3743.00,3744.00,3742.00,3744.00,101,0
+2006-02-09,19:03:00,3744.00,3746.00,3744.00,3746.00,571,0
+2006-02-09,19:04:00,3746.00,3749.00,3746.00,3746.00,2957,0
+2006-02-09,19:05:00,3747.00,3747.00,3746.00,3747.00,836,0
+2006-02-09,19:06:00,3747.00,3749.00,3747.00,3748.00,950,0
+2006-02-09,19:07:00,3747.00,3748.00,3747.00,3748.00,1138,0
+2006-02-09,19:08:00,3747.00,3747.00,3746.00,3746.00,471,0
+2006-02-09,19:09:00,3745.00,3747.00,3745.00,3747.00,350,0
+2006-02-09,19:10:00,3747.00,3747.00,3746.00,3746.00,987,0
+2006-02-09,19:11:00,3746.00,3747.00,3746.00,3747.00,51,0
+2006-02-09,19:12:00,3747.00,3748.00,3747.00,3748.00,545,0
+2006-02-09,19:13:00,3747.00,3747.00,3746.00,3746.00,516,0
+2006-02-09,19:14:00,3746.00,3747.00,3746.00,3746.00,332,0
+2006-02-09,19:15:00,3746.00,3748.00,3746.00,3748.00,1120,0
+2006-02-09,19:16:00,3748.00,3748.00,3747.00,3747.00,135,0
+2006-02-09,19:17:00,3747.00,3748.00,3746.00,3748.00,488,0
+2006-02-09,19:18:00,3747.00,3747.00,3746.00,3746.00,320,0
+2006-02-09,19:19:00,3745.00,3746.00,3745.00,3746.00,327,0
+2006-02-09,19:20:00,3745.00,3745.00,3745.00,3745.00,60,0
+2006-02-09,19:21:00,3745.00,3745.00,3744.00,3744.00,362,0
+2006-02-09,19:22:00,3744.00,3744.00,3741.00,3743.00,1714,0
+2006-02-09,19:23:00,3742.00,3742.00,3741.00,3742.00,566,0
+2006-02-09,19:24:00,3741.00,3742.00,3741.00,3741.00,302,0
+2006-02-09,19:25:00,3740.00,3740.00,3739.00,3740.00,1743,0
+2006-02-09,19:26:00,3740.00,3740.00,3740.00,3740.00,399,0
+2006-02-09,19:27:00,3740.00,3741.00,3740.00,3740.00,338,0
+2006-02-09,19:28:00,3739.00,3740.00,3738.00,3739.00,716,0
+2006-02-09,19:29:00,3739.00,3740.00,3739.00,3740.00,258,0
+2006-02-09,19:30:00,3740.00,3740.00,3739.00,3739.00,536,0
+2006-02-09,19:31:00,3739.00,3739.00,3738.00,3738.00,1051,0
+2006-02-09,19:32:00,3738.00,3738.00,3737.00,3738.00,758,0
+2006-02-09,19:33:00,3738.00,3739.00,3737.00,3738.00,762,0
+2006-02-09,19:34:00,3738.00,3738.00,3737.00,3738.00,238,0
+2006-02-09,19:35:00,3738.00,3740.00,3738.00,3740.00,544,0
+2006-02-09,19:36:00,3739.00,3741.00,3739.00,3740.00,182,0
+2006-02-09,19:37:00,3741.00,3741.00,3741.00,3741.00,126,0
+2006-02-09,19:38:00,3741.00,3742.00,3741.00,3741.00,51,0
+2006-02-09,19:39:00,3742.00,3742.00,3741.00,3741.00,49,0
+2006-02-09,19:40:00,3740.00,3740.00,3740.00,3740.00,165,0
+2006-02-09,19:41:00,3740.00,3740.00,3740.00,3740.00,8,0
+2006-02-09,19:42:00,3740.00,3740.00,3740.00,3740.00,95,0
+2006-02-09,19:43:00,3741.00,3741.00,3739.00,3740.00,506,0
+2006-02-09,19:44:00,3740.00,3740.00,3739.00,3739.00,232,0
+2006-02-09,19:45:00,3739.00,3740.00,3739.00,3740.00,133,0
+2006-02-09,19:46:00,3740.00,3740.00,3739.00,3740.00,101,0
+2006-02-09,19:47:00,3739.00,3740.00,3739.00,3739.00,294,0
+2006-02-09,19:48:00,3738.00,3739.00,3738.00,3738.00,213,0
+2006-02-09,19:49:00,3739.00,3740.00,3738.00,3740.00,136,0
+2006-02-09,19:50:00,3740.00,3740.00,3740.00,3740.00,5,0
+2006-02-09,19:51:00,3739.00,3739.00,3739.00,3739.00,218,0
+2006-02-09,19:52:00,3740.00,3740.00,3739.00,3739.00,488,0
+2006-02-09,19:53:00,3738.00,3740.00,3738.00,3740.00,496,0
+2006-02-09,19:54:00,3740.00,3741.00,3740.00,3740.00,402,0
+2006-02-09,19:55:00,3741.00,3742.00,3741.00,3742.00,162,0
+2006-02-09,19:56:00,3742.00,3742.00,3742.00,3742.00,61,0
+2006-02-09,19:57:00,3742.00,3742.00,3740.00,3740.00,150,0
+2006-02-09,19:58:00,3741.00,3741.00,3740.00,3740.00,64,0
+2006-02-09,19:59:00,3741.00,3741.00,3740.00,3740.00,19,0
+2006-02-09,20:00:00,3740.00,3740.00,3739.00,3739.00,106,0
+2006-02-09,20:01:00,3740.00,3740.00,3740.00,3740.00,53,0
+2006-02-09,20:02:00,3740.00,3740.00,3739.00,3739.00,101,0
+2006-02-09,20:03:00,3739.00,3739.00,3739.00,3739.00,1,0
+2006-02-09,20:04:00,3739.00,3739.00,3738.00,3738.00,25,0
+2006-02-09,20:05:00,3738.00,3739.00,3738.00,3739.00,40,0
+2006-02-09,20:06:00,3738.00,3739.00,3738.00,3739.00,32,0
+2006-02-09,20:07:00,3739.00,3739.00,3738.00,3739.00,28,0
+2006-02-09,20:08:00,3739.00,3739.00,3736.00,3736.00,292,0
+2006-02-09,20:09:00,3736.00,3736.00,3734.00,3735.00,1675,0
+2006-02-09,20:10:00,3734.00,3735.00,3734.00,3735.00,537,0
+2006-02-09,20:11:00,3734.00,3734.00,3734.00,3734.00,481,0
+2006-02-09,20:12:00,3733.00,3734.00,3733.00,3733.00,582,0
+2006-02-09,20:13:00,3732.00,3733.00,3732.00,3733.00,535,0
+2006-02-09,20:14:00,3733.00,3734.00,3732.00,3732.00,691,0
+2006-02-09,20:15:00,3732.00,3733.00,3732.00,3732.00,398,0
+2006-02-09,20:16:00,3732.00,3733.00,3731.00,3731.00,497,0
+2006-02-09,20:17:00,3731.00,3732.00,3731.00,3731.00,65,0
+2006-02-09,20:18:00,3732.00,3732.00,3731.00,3732.00,109,0
+2006-02-09,20:19:00,3732.00,3733.00,3732.00,3733.00,185,0
+2006-02-09,20:20:00,3733.00,3733.00,3732.00,3732.00,36,0
+2006-02-09,20:21:00,3733.00,3733.00,3733.00,3733.00,1,0
+2006-02-09,20:22:00,3733.00,3734.00,3733.00,3734.00,69,0
+2006-02-09,20:23:00,3734.00,3735.00,3733.00,3734.00,147,0
+2006-02-09,20:24:00,3734.00,3735.00,3734.00,3734.00,60,0
+2006-02-09,20:25:00,3734.00,3734.00,3734.00,3734.00,27,0
+2006-02-09,20:26:00,3734.00,3735.00,3734.00,3734.00,35,0
+2006-02-09,20:27:00,3734.00,3735.00,3734.00,3735.00,67,0
+2006-02-09,20:28:00,3735.00,3735.00,3735.00,3735.00,1,0
+2006-02-09,20:29:00,3735.00,3735.00,3735.00,3735.00,4,0
+2006-02-09,20:30:00,3735.00,3735.00,3734.00,3734.00,11,0
+2006-02-09,20:31:00,3735.00,3735.00,3734.00,3734.00,2,0
+2006-02-09,20:32:00,3735.00,3735.00,3734.00,3734.00,94,0
+2006-02-09,20:33:00,3734.00,3734.00,3734.00,3734.00,9,0
+2006-02-09,20:34:00,3734.00,3734.00,3734.00,3734.00,59,0
+2006-02-09,20:35:00,3733.00,3733.00,3733.00,3733.00,82,0
+2006-02-09,20:36:00,3733.00,3733.00,3732.00,3732.00,103,0
+2006-02-09,20:37:00,3732.00,3732.00,3732.00,3732.00,25,0
+2006-02-09,20:38:00,3731.00,3731.00,3731.00,3731.00,95,0
+2006-02-09,20:39:00,3731.00,3733.00,3731.00,3733.00,113,0
+2006-02-09,20:40:00,3734.00,3735.00,3734.00,3734.00,82,0
+2006-02-09,20:41:00,3734.00,3734.00,3734.00,3734.00,39,0
+2006-02-09,20:42:00,3734.00,3734.00,3734.00,3734.00,18,0
+2006-02-09,20:43:00,3734.00,3735.00,3734.00,3735.00,37,0
+2006-02-09,20:44:00,3735.00,3735.00,3735.00,3735.00,22,0
+2006-02-09,20:45:00,3734.00,3734.00,3734.00,3734.00,15,0
+2006-02-09,20:46:00,3735.00,3735.00,3735.00,3735.00,6,0
+2006-02-09,20:47:00,3735.00,3735.00,3735.00,3735.00,62,0
+2006-02-09,20:48:00,3735.00,3735.00,3735.00,3735.00,2,0
+2006-02-09,20:49:00,3734.00,3734.00,3734.00,3734.00,1,0
+2006-02-09,20:50:00,3735.00,3735.00,3735.00,3735.00,63,0
+2006-02-09,20:51:00,3735.00,3736.00,3735.00,3736.00,99,0
+2006-02-09,20:52:00,3736.00,3737.00,3736.00,3737.00,75,0
+2006-02-09,20:53:00,3737.00,3737.00,3736.00,3736.00,314,0
+2006-02-09,20:54:00,3736.00,3736.00,3736.00,3736.00,21,0
+2006-02-09,20:55:00,3735.00,3735.00,3735.00,3735.00,48,0
+2006-02-09,20:56:00,3735.00,3735.00,3735.00,3735.00,29,0
+2006-02-09,20:57:00,3735.00,3735.00,3734.00,3734.00,74,0
+2006-02-09,20:58:00,3733.00,3733.00,3733.00,3733.00,282,0
+2006-02-09,20:59:00,3734.00,3734.00,3734.00,3734.00,4,0
+2006-02-09,21:00:00,3733.00,3733.00,3732.00,3732.00,154,0
+2006-02-09,21:01:00,3732.00,3733.00,3730.00,3730.00,362,0
+2006-02-09,21:02:00,3730.00,3731.00,3729.00,3730.00,295,0
+2006-02-09,21:03:00,3730.00,3731.00,3730.00,3730.00,68,0
+2006-02-09,21:04:00,3731.00,3731.00,3731.00,3731.00,59,0
+2006-02-09,21:05:00,3731.00,3732.00,3731.00,3732.00,56,0
+2006-02-09,21:06:00,3732.00,3733.00,3730.00,3730.00,215,0
+2006-02-09,21:07:00,3730.00,3730.00,3729.00,3730.00,255,0
+2006-02-09,21:08:00,3729.00,3729.00,3729.00,3729.00,137,0
+2006-02-09,21:09:00,3729.00,3729.00,3728.00,3728.00,166,0
+2006-02-09,21:10:00,3729.00,3729.00,3729.00,3729.00,240,0
+2006-02-09,21:11:00,3729.00,3730.00,3729.00,3730.00,36,0
+2006-02-09,21:12:00,3729.00,3729.00,3729.00,3729.00,54,0
+2006-02-09,21:13:00,3730.00,3730.00,3729.00,3730.00,55,0
+2006-02-09,21:14:00,3730.00,3730.00,3730.00,3730.00,28,0
+2006-02-09,21:15:00,3730.00,3730.00,3730.00,3730.00,13,0
+2006-02-09,21:16:00,3729.00,3729.00,3729.00,3729.00,182,0
+2006-02-09,21:17:00,3729.00,3729.00,3728.00,3729.00,53,0
+2006-02-09,21:18:00,3728.00,3729.00,3728.00,3729.00,89,0
+2006-02-09,21:19:00,3729.00,3729.00,3729.00,3729.00,1,0
+2006-02-09,21:20:00,3728.00,3728.00,3727.00,3727.00,265,0
+2006-02-09,21:21:00,3727.00,3728.00,3727.00,3727.00,259,0
+2006-02-09,21:22:00,3727.00,3728.00,3727.00,3728.00,226,0
+2006-02-09,21:23:00,3728.00,3729.00,3728.00,3728.00,61,0
+2006-02-09,21:24:00,3728.00,3729.00,3728.00,3728.00,81,0
+2006-02-09,21:25:00,3729.00,3729.00,3729.00,3729.00,27,0
+2006-02-09,21:26:00,3730.00,3730.00,3729.00,3730.00,356,0
+2006-02-09,21:27:00,3729.00,3729.00,3729.00,3729.00,31,0
+2006-02-09,21:28:00,3728.00,3728.00,3727.00,3727.00,260,0
+2006-02-09,21:29:00,3727.00,3728.00,3727.00,3728.00,61,0
+2006-02-09,21:31:00,3728.00,3728.00,3727.00,3728.00,54,0
+2006-02-09,21:32:00,3728.00,3728.00,3726.00,3726.00,550,0
+2006-02-09,21:33:00,3725.00,3726.00,3725.00,3726.00,376,0
+2006-02-09,21:34:00,3726.00,3727.00,3726.00,3727.00,144,0
+2006-02-09,21:35:00,3726.00,3728.00,3726.00,3728.00,336,0
+2006-02-09,21:36:00,3727.00,3727.00,3727.00,3727.00,88,0
+2006-02-09,21:37:00,3727.00,3727.00,3727.00,3727.00,30,0
+2006-02-09,21:38:00,3727.00,3727.00,3725.00,3726.00,38,0
+2006-02-09,21:39:00,3727.00,3727.00,3727.00,3727.00,63,0
+2006-02-09,21:40:00,3726.00,3726.00,3726.00,3726.00,60,0
+2006-02-09,21:41:00,3726.00,3726.00,3724.00,3725.00,630,0
+2006-02-09,21:42:00,3724.00,3724.00,3723.00,3724.00,163,0
+2006-02-09,21:43:00,3724.00,3724.00,3723.00,3723.00,87,0
+2006-02-09,21:44:00,3723.00,3723.00,3717.00,3718.00,2910,0
+2006-02-09,21:45:00,3719.00,3720.00,3718.00,3720.00,173,0
+2006-02-09,21:46:00,3719.00,3720.00,3718.00,3720.00,198,0
+2006-02-09,21:47:00,3720.00,3720.00,3719.00,3720.00,252,0
+2006-02-09,21:48:00,3720.00,3720.00,3718.00,3718.00,654,0
+2006-02-09,21:49:00,3718.00,3719.00,3718.00,3719.00,283,0
+2006-02-09,21:50:00,3718.00,3719.00,3718.00,3718.00,140,0
+2006-02-09,21:51:00,3719.00,3720.00,3718.00,3719.00,165,0
+2006-02-09,21:52:00,3720.00,3720.00,3719.00,3720.00,282,0
+2006-02-09,21:53:00,3720.00,3720.00,3718.00,3719.00,382,0
+2006-02-09,21:54:00,3719.00,3719.00,3718.00,3719.00,529,0
+2006-02-09,21:55:00,3718.00,3718.00,3717.00,3718.00,236,0
+2006-02-09,21:56:00,3718.00,3718.00,3718.00,3718.00,9,0
+2006-02-09,21:57:00,3717.00,3718.00,3717.00,3718.00,220,0
+2006-02-09,21:58:00,3718.00,3718.00,3717.00,3717.00,179,0
+2006-02-09,21:59:00,3717.00,3718.00,3716.00,3716.00,536,0
+2006-02-09,22:00:00,3716.00,3717.00,3716.00,3717.00,559,0
+2006-02-10,09:01:00,3724.00,3725.00,3722.00,3723.00,3910,0
+2006-02-10,09:02:00,3723.00,3724.00,3717.00,3718.00,3870,0
+2006-02-10,09:03:00,3719.00,3720.00,3717.00,3720.00,2245,0
+2006-02-10,09:04:00,3719.00,3722.00,3719.00,3721.00,1617,0
+2006-02-10,09:05:00,3721.00,3724.00,3720.00,3724.00,1864,0
+2006-02-10,09:06:00,3723.00,3725.00,3721.00,3724.00,1987,0
+2006-02-10,09:07:00,3724.00,3726.00,3724.00,3725.00,1615,0
+2006-02-10,09:08:00,3725.00,3727.00,3725.00,3725.00,1232,0
+2006-02-10,09:09:00,3725.00,3726.00,3725.00,3725.00,457,0
+2006-02-10,09:10:00,3725.00,3726.00,3724.00,3726.00,821,0
+2006-02-10,09:11:00,3726.00,3727.00,3725.00,3727.00,1180,0
+2006-02-10,09:12:00,3728.00,3728.00,3724.00,3724.00,1416,0
+2006-02-10,09:13:00,3724.00,3725.00,3723.00,3724.00,1726,0
+2006-02-10,09:14:00,3724.00,3724.00,3721.00,3723.00,1489,0
+2006-02-10,09:15:00,3722.00,3724.00,3721.00,3721.00,1681,0
+2006-02-10,09:16:00,3721.00,3722.00,3720.00,3722.00,592,0
+2006-02-10,09:17:00,3721.00,3721.00,3719.00,3720.00,1075,0
+2006-02-10,09:18:00,3721.00,3721.00,3718.00,3719.00,2088,0
+2006-02-10,09:19:00,3719.00,3721.00,3718.00,3720.00,1022,0
+2006-02-10,09:20:00,3720.00,3722.00,3720.00,3721.00,624,0
+2006-02-10,09:21:00,3721.00,3722.00,3720.00,3721.00,388,0
+2006-02-10,09:22:00,3721.00,3722.00,3718.00,3718.00,1043,0
+2006-02-10,09:23:00,3718.00,3722.00,3718.00,3722.00,1029,0
+2006-02-10,09:24:00,3721.00,3722.00,3720.00,3720.00,348,0
+2006-02-10,09:25:00,3720.00,3720.00,3718.00,3719.00,654,0
+2006-02-10,09:26:00,3718.00,3720.00,3717.00,3719.00,668,0
+2006-02-10,09:27:00,3720.00,3722.00,3720.00,3721.00,1134,0
+2006-02-10,09:28:00,3721.00,3721.00,3720.00,3721.00,544,0
+2006-02-10,09:29:00,3721.00,3721.00,3720.00,3720.00,287,0
+2006-02-10,09:30:00,3720.00,3721.00,3719.00,3719.00,963,0
+2006-02-10,09:31:00,3719.00,3719.00,3716.00,3716.00,1128,0
+2006-02-10,09:32:00,3717.00,3718.00,3716.00,3718.00,1237,0
+2006-02-10,09:33:00,3718.00,3719.00,3717.00,3717.00,977,0
+2006-02-10,09:34:00,3717.00,3717.00,3715.00,3716.00,1628,0
+2006-02-10,09:35:00,3715.00,3717.00,3714.00,3715.00,1846,0
+2006-02-10,09:36:00,3715.00,3719.00,3714.00,3719.00,2072,0
+2006-02-10,09:37:00,3719.00,3720.00,3718.00,3719.00,730,0
+2006-02-10,09:38:00,3719.00,3720.00,3719.00,3719.00,360,0
+2006-02-10,09:39:00,3718.00,3719.00,3718.00,3719.00,125,0
+2006-02-10,09:40:00,3719.00,3719.00,3718.00,3719.00,176,0
+2006-02-10,09:41:00,3719.00,3720.00,3719.00,3720.00,271,0
+2006-02-10,09:42:00,3720.00,3722.00,3720.00,3720.00,931,0
+2006-02-10,09:43:00,3721.00,3721.00,3720.00,3720.00,445,0
+2006-02-10,09:44:00,3720.00,3721.00,3720.00,3720.00,195,0
+2006-02-10,09:45:00,3719.00,3720.00,3719.00,3719.00,431,0
+2006-02-10,09:46:00,3719.00,3720.00,3719.00,3719.00,596,0
+2006-02-10,09:47:00,3719.00,3720.00,3719.00,3720.00,308,0
+2006-02-10,09:48:00,3721.00,3721.00,3720.00,3721.00,178,0
+2006-02-10,09:49:00,3720.00,3720.00,3719.00,3720.00,676,0
+2006-02-10,09:50:00,3720.00,3720.00,3720.00,3720.00,92,0
+2006-02-10,09:51:00,3720.00,3721.00,3720.00,3721.00,106,0
+2006-02-10,09:52:00,3721.00,3722.00,3720.00,3721.00,237,0
+2006-02-10,09:53:00,3721.00,3721.00,3720.00,3721.00,234,0
+2006-02-10,09:54:00,3720.00,3721.00,3720.00,3721.00,3,0
+2006-02-10,09:55:00,3720.00,3720.00,3719.00,3719.00,384,0
+2006-02-10,09:56:00,3720.00,3723.00,3719.00,3723.00,1069,0
+2006-02-10,09:57:00,3723.00,3725.00,3722.00,3724.00,1599,0
+2006-02-10,09:58:00,3724.00,3724.00,3723.00,3723.00,425,0
+2006-02-10,09:59:00,3723.00,3723.00,3722.00,3722.00,261,0
+2006-02-10,10:00:00,3723.00,3724.00,3723.00,3723.00,984,0
+2006-02-10,10:01:00,3723.00,3724.00,3722.00,3724.00,595,0
+2006-02-10,10:02:00,3724.00,3724.00,3723.00,3723.00,163,0
+2006-02-10,10:03:00,3724.00,3725.00,3724.00,3725.00,1461,0
+2006-02-10,10:04:00,3725.00,3726.00,3724.00,3725.00,441,0
+2006-02-10,10:05:00,3724.00,3727.00,3724.00,3727.00,1121,0
+2006-02-10,10:06:00,3727.00,3727.00,3726.00,3727.00,1142,0
+2006-02-10,10:07:00,3726.00,3729.00,3726.00,3727.00,2276,0
+2006-02-10,10:08:00,3727.00,3727.00,3726.00,3726.00,965,0
+2006-02-10,10:09:00,3727.00,3727.00,3725.00,3727.00,562,0
+2006-02-10,10:10:00,3726.00,3726.00,3725.00,3725.00,179,0
+2006-02-10,10:11:00,3726.00,3727.00,3725.00,3725.00,700,0
+2006-02-10,10:12:00,3725.00,3726.00,3725.00,3725.00,489,0
+2006-02-10,10:13:00,3725.00,3727.00,3725.00,3727.00,239,0
+2006-02-10,10:14:00,3726.00,3727.00,3725.00,3726.00,205,0
+2006-02-10,10:15:00,3726.00,3726.00,3724.00,3724.00,195,0
+2006-02-10,10:16:00,3725.00,3726.00,3725.00,3725.00,535,0
+2006-02-10,10:17:00,3725.00,3725.00,3724.00,3725.00,10,0
+2006-02-10,10:18:00,3724.00,3725.00,3724.00,3725.00,206,0
+2006-02-10,10:19:00,3725.00,3725.00,3725.00,3725.00,34,0
+2006-02-10,10:20:00,3725.00,3727.00,3725.00,3726.00,388,0
+2006-02-10,10:21:00,3726.00,3727.00,3726.00,3726.00,337,0
+2006-02-10,10:22:00,3726.00,3726.00,3724.00,3724.00,183,0
+2006-02-10,10:23:00,3725.00,3725.00,3725.00,3725.00,68,0
+2006-02-10,10:24:00,3724.00,3724.00,3724.00,3724.00,339,0
+2006-02-10,10:25:00,3724.00,3724.00,3724.00,3724.00,31,0
+2006-02-10,10:26:00,3724.00,3724.00,3723.00,3723.00,649,0
+2006-02-10,10:27:00,3723.00,3724.00,3723.00,3723.00,211,0
+2006-02-10,10:28:00,3723.00,3724.00,3723.00,3724.00,393,0
+2006-02-10,10:29:00,3724.00,3724.00,3723.00,3724.00,140,0
+2006-02-10,10:30:00,3724.00,3725.00,3723.00,3724.00,538,0
+2006-02-10,10:31:00,3724.00,3724.00,3724.00,3724.00,139,0
+2006-02-10,10:32:00,3725.00,3726.00,3725.00,3726.00,477,0
+2006-02-10,10:33:00,3726.00,3727.00,3725.00,3726.00,248,0
+2006-02-10,10:34:00,3726.00,3727.00,3726.00,3726.00,14,0
+2006-02-10,10:35:00,3726.00,3728.00,3726.00,3727.00,596,0
+2006-02-10,10:36:00,3727.00,3728.00,3726.00,3727.00,1321,0
+2006-02-10,10:37:00,3728.00,3728.00,3727.00,3727.00,69,0
+2006-02-10,10:38:00,3728.00,3728.00,3727.00,3727.00,5591,0
+2006-02-10,10:39:00,3728.00,3728.00,3727.00,3728.00,366,0
+2006-02-10,10:40:00,3728.00,3730.00,3728.00,3729.00,2967,0
+2006-02-10,10:41:00,3729.00,3729.00,3728.00,3729.00,613,0
+2006-02-10,10:42:00,3728.00,3729.00,3728.00,3729.00,148,0
+2006-02-10,10:43:00,3729.00,3729.00,3728.00,3729.00,7038,0
+2006-02-10,10:44:00,3728.00,3729.00,3728.00,3728.00,194,0
+2006-02-10,10:45:00,3728.00,3730.00,3728.00,3730.00,915,0
+2006-02-10,10:46:00,3730.00,3732.00,3730.00,3731.00,1938,0
+2006-02-10,10:47:00,3731.00,3732.00,3731.00,3731.00,824,0
+2006-02-10,10:48:00,3731.00,3731.00,3730.00,3731.00,267,0
+2006-02-10,10:49:00,3731.00,3731.00,3730.00,3730.00,532,0
+2006-02-10,10:50:00,3730.00,3730.00,3729.00,3729.00,358,0
+2006-02-10,10:51:00,3730.00,3731.00,3729.00,3731.00,646,0
+2006-02-10,10:52:00,3731.00,3733.00,3731.00,3733.00,2399,0
+2006-02-10,10:53:00,3733.00,3734.00,3733.00,3733.00,1767,0
+2006-02-10,10:54:00,3733.00,3734.00,3733.00,3733.00,720,0
+2006-02-10,10:55:00,3733.00,3733.00,3732.00,3733.00,326,0
+2006-02-10,10:56:00,3733.00,3735.00,3733.00,3733.00,1816,0
+2006-02-10,10:57:00,3734.00,3735.00,3733.00,3733.00,635,0
+2006-02-10,10:58:00,3733.00,3734.00,3732.00,3732.00,2398,0
+2006-02-10,10:59:00,3733.00,3733.00,3732.00,3733.00,154,0
+2006-02-10,11:00:00,3734.00,3734.00,3733.00,3734.00,945,0
+2006-02-10,11:01:00,3734.00,3736.00,3734.00,3736.00,1004,0
+2006-02-10,11:02:00,3736.00,3736.00,3734.00,3735.00,855,0
+2006-02-10,11:03:00,3735.00,3737.00,3735.00,3736.00,2036,0
+2006-02-10,11:04:00,3736.00,3736.00,3735.00,3735.00,427,0
+2006-02-10,11:05:00,3736.00,3738.00,3736.00,3738.00,1649,0
+2006-02-10,11:06:00,3737.00,3740.00,3736.00,3739.00,2932,0
+2006-02-10,11:07:00,3739.00,3739.00,3737.00,3737.00,583,0
+2006-02-10,11:08:00,3737.00,3738.00,3737.00,3737.00,568,0
+2006-02-10,11:09:00,3738.00,3739.00,3737.00,3738.00,1064,0
+2006-02-10,11:10:00,3738.00,3738.00,3737.00,3738.00,508,0
+2006-02-10,11:11:00,3737.00,3738.00,3737.00,3737.00,22,0
+2006-02-10,11:12:00,3737.00,3738.00,3737.00,3738.00,30,0
+2006-02-10,11:13:00,3738.00,3738.00,3737.00,3738.00,305,0
+2006-02-10,11:14:00,3738.00,3740.00,3737.00,3739.00,959,0
+2006-02-10,11:15:00,3740.00,3741.00,3739.00,3740.00,1299,0
+2006-02-10,11:16:00,3741.00,3742.00,3740.00,3741.00,1277,0
+2006-02-10,11:17:00,3742.00,3742.00,3741.00,3742.00,1359,0
+2006-02-10,11:18:00,3742.00,3742.00,3741.00,3741.00,970,0
+2006-02-10,11:19:00,3741.00,3741.00,3739.00,3739.00,2293,0
+2006-02-10,11:20:00,3739.00,3740.00,3739.00,3740.00,140,0
+2006-02-10,11:21:00,3739.00,3741.00,3739.00,3740.00,456,0
+2006-02-10,11:22:00,3740.00,3741.00,3740.00,3740.00,275,0
+2006-02-10,11:23:00,3740.00,3740.00,3739.00,3739.00,289,0
+2006-02-10,11:24:00,3739.00,3740.00,3738.00,3738.00,471,0
+2006-02-10,11:25:00,3739.00,3739.00,3738.00,3739.00,27,0
+2006-02-10,11:26:00,3738.00,3739.00,3738.00,3738.00,81,0
+2006-02-10,11:27:00,3738.00,3739.00,3738.00,3738.00,44,0
+2006-02-10,11:28:00,3739.00,3739.00,3738.00,3738.00,90,0
+2006-02-10,11:29:00,3738.00,3738.00,3738.00,3738.00,267,0
+2006-02-10,11:30:00,3738.00,3739.00,3738.00,3739.00,36,0
+2006-02-10,11:31:00,3739.00,3739.00,3738.00,3739.00,2573,0
+2006-02-10,11:32:00,3739.00,3740.00,3739.00,3740.00,344,0
+2006-02-10,11:33:00,3739.00,3739.00,3738.00,3738.00,311,0
+2006-02-10,11:34:00,3739.00,3739.00,3738.00,3739.00,645,0
+2006-02-10,11:35:00,3738.00,3738.00,3737.00,3738.00,202,0
+2006-02-10,11:36:00,3738.00,3738.00,3737.00,3737.00,133,0
+2006-02-10,11:37:00,3738.00,3739.00,3737.00,3739.00,411,0
+2006-02-10,11:38:00,3738.00,3740.00,3738.00,3739.00,917,0
+2006-02-10,11:39:00,3739.00,3740.00,3738.00,3740.00,511,0
+2006-02-10,11:40:00,3740.00,3740.00,3739.00,3739.00,283,0
+2006-02-10,11:41:00,3739.00,3739.00,3739.00,3739.00,85,0
+2006-02-10,11:42:00,3738.00,3739.00,3738.00,3739.00,91,0
+2006-02-10,11:43:00,3739.00,3740.00,3739.00,3739.00,410,0
+2006-02-10,11:44:00,3739.00,3741.00,3739.00,3739.00,1404,0
+2006-02-10,11:45:00,3740.00,3740.00,3739.00,3740.00,104,0
+2006-02-10,11:46:00,3740.00,3740.00,3739.00,3739.00,47,0
+2006-02-10,11:47:00,3739.00,3739.00,3739.00,3739.00,145,0
+2006-02-10,11:48:00,3739.00,3739.00,3739.00,3739.00,301,0
+2006-02-10,11:49:00,3740.00,3740.00,3738.00,3738.00,667,0
+2006-02-10,11:50:00,3738.00,3738.00,3737.00,3738.00,225,0
+2006-02-10,11:51:00,3739.00,3739.00,3738.00,3738.00,148,0
+2006-02-10,11:52:00,3739.00,3739.00,3738.00,3738.00,32,0
+2006-02-10,11:53:00,3738.00,3739.00,3738.00,3739.00,19,0
+2006-02-10,11:54:00,3738.00,3739.00,3738.00,3739.00,467,0
+2006-02-10,11:55:00,3739.00,3739.00,3737.00,3738.00,168,0
+2006-02-10,11:56:00,3737.00,3737.00,3737.00,3737.00,299,0
+2006-02-10,11:57:00,3738.00,3738.00,3737.00,3737.00,214,0
+2006-02-10,11:58:00,3738.00,3738.00,3737.00,3737.00,202,0
+2006-02-10,11:59:00,3738.00,3738.00,3737.00,3737.00,310,0
+2006-02-10,12:00:00,3738.00,3738.00,3737.00,3737.00,23,0
+2006-02-10,12:01:00,3738.00,3738.00,3736.00,3737.00,757,0
+2006-02-10,12:02:00,3736.00,3736.00,3736.00,3736.00,472,0
+2006-02-10,12:03:00,3736.00,3737.00,3736.00,3737.00,79,0
+2006-02-10,12:04:00,3737.00,3737.00,3736.00,3737.00,838,0
+2006-02-10,12:05:00,3736.00,3737.00,3736.00,3737.00,515,0
+2006-02-10,12:06:00,3737.00,3737.00,3734.00,3735.00,1295,0
+2006-02-10,12:07:00,3735.00,3736.00,3735.00,3735.00,532,0
+2006-02-10,12:08:00,3735.00,3735.00,3734.00,3734.00,489,0
+2006-02-10,12:09:00,3735.00,3735.00,3733.00,3735.00,1093,0
+2006-02-10,12:10:00,3735.00,3736.00,3735.00,3735.00,1115,0
+2006-02-10,12:11:00,3735.00,3736.00,3735.00,3736.00,327,0
+2006-02-10,12:12:00,3736.00,3736.00,3735.00,3736.00,20,0
+2006-02-10,12:13:00,3736.00,3736.00,3736.00,3736.00,2,0
+2006-02-10,12:14:00,3735.00,3735.00,3735.00,3735.00,325,0
+2006-02-10,12:15:00,3735.00,3735.00,3735.00,3735.00,12,0
+2006-02-10,12:16:00,3735.00,3735.00,3734.00,3734.00,377,0
+2006-02-10,12:17:00,3734.00,3734.00,3733.00,3733.00,119,0
+2006-02-10,12:18:00,3733.00,3734.00,3732.00,3733.00,430,0
+2006-02-10,12:19:00,3734.00,3734.00,3733.00,3734.00,218,0
+2006-02-10,12:20:00,3733.00,3733.00,3733.00,3733.00,42,0
+2006-02-10,12:21:00,3733.00,3734.00,3733.00,3733.00,219,0
+2006-02-10,12:22:00,3734.00,3734.00,3732.00,3733.00,226,0
+2006-02-10,12:23:00,3733.00,3733.00,3732.00,3732.00,190,0
+2006-02-10,12:24:00,3732.00,3733.00,3732.00,3733.00,268,0
+2006-02-10,12:25:00,3734.00,3734.00,3733.00,3734.00,44,0
+2006-02-10,12:26:00,3733.00,3734.00,3733.00,3734.00,347,0
+2006-02-10,12:27:00,3733.00,3734.00,3733.00,3733.00,188,0
+2006-02-10,12:28:00,3734.00,3734.00,3733.00,3733.00,704,0
+2006-02-10,12:29:00,3733.00,3733.00,3731.00,3732.00,1006,0
+2006-02-10,12:30:00,3731.00,3732.00,3731.00,3732.00,437,0
+2006-02-10,12:31:00,3732.00,3732.00,3731.00,3731.00,321,0
+2006-02-10,12:32:00,3731.00,3731.00,3729.00,3730.00,1089,0
+2006-02-10,12:33:00,3729.00,3729.00,3729.00,3729.00,295,0
+2006-02-10,12:34:00,3729.00,3729.00,3727.00,3728.00,928,0
+2006-02-10,12:35:00,3728.00,3728.00,3727.00,3728.00,523,0
+2006-02-10,12:36:00,3728.00,3728.00,3727.00,3728.00,491,0
+2006-02-10,12:37:00,3728.00,3728.00,3726.00,3726.00,450,0
+2006-02-10,12:38:00,3727.00,3728.00,3727.00,3728.00,2272,0
+2006-02-10,12:39:00,3728.00,3728.00,3728.00,3728.00,26,0
+2006-02-10,12:40:00,3728.00,3728.00,3728.00,3728.00,2,0
+2006-02-10,12:41:00,3727.00,3727.00,3727.00,3727.00,541,0
+2006-02-10,12:42:00,3726.00,3727.00,3726.00,3726.00,411,0
+2006-02-10,12:43:00,3727.00,3727.00,3726.00,3726.00,721,0
+2006-02-10,12:44:00,3726.00,3726.00,3726.00,3726.00,331,0
+2006-02-10,12:45:00,3726.00,3727.00,3726.00,3727.00,309,0
+2006-02-10,12:46:00,3727.00,3728.00,3727.00,3727.00,386,0
+2006-02-10,12:47:00,3727.00,3728.00,3727.00,3727.00,52,0
+2006-02-10,12:48:00,3727.00,3729.00,3727.00,3727.00,776,0
+2006-02-10,12:49:00,3728.00,3728.00,3727.00,3728.00,53,0
+2006-02-10,12:50:00,3727.00,3728.00,3727.00,3727.00,65,0
+2006-02-10,12:51:00,3727.00,3728.00,3727.00,3728.00,130,0
+2006-02-10,12:52:00,3728.00,3728.00,3727.00,3727.00,101,0
+2006-02-10,12:53:00,3726.00,3726.00,3726.00,3726.00,13,0
+2006-02-10,12:54:00,3726.00,3726.00,3726.00,3726.00,3,0
+2006-02-10,12:55:00,3727.00,3727.00,3726.00,3726.00,22,0
+2006-02-10,12:56:00,3726.00,3727.00,3726.00,3726.00,322,0
+2006-02-10,12:57:00,3726.00,3727.00,3726.00,3726.00,178,0
+2006-02-10,12:58:00,3727.00,3727.00,3726.00,3727.00,371,0
+2006-02-10,12:59:00,3727.00,3727.00,3726.00,3727.00,38,0
+2006-02-10,13:00:00,3727.00,3727.00,3726.00,3727.00,49,0
+2006-02-10,13:01:00,3726.00,3727.00,3726.00,3727.00,109,0
+2006-02-10,13:02:00,3727.00,3728.00,3727.00,3728.00,119,0
+2006-02-10,13:03:00,3728.00,3728.00,3727.00,3727.00,32,0
+2006-02-10,13:04:00,3728.00,3728.00,3727.00,3727.00,10,0
+2006-02-10,13:05:00,3728.00,3728.00,3727.00,3728.00,124,0
+2006-02-10,13:06:00,3728.00,3728.00,3728.00,3728.00,304,0
+2006-02-10,13:07:00,3728.00,3728.00,3727.00,3728.00,236,0
+2006-02-10,13:08:00,3728.00,3728.00,3727.00,3728.00,30,0
+2006-02-10,13:09:00,3728.00,3728.00,3728.00,3728.00,48,0
+2006-02-10,13:10:00,3728.00,3728.00,3726.00,3726.00,402,0
+2006-02-10,13:11:00,3727.00,3727.00,3726.00,3727.00,473,0
+2006-02-10,13:12:00,3727.00,3727.00,3726.00,3727.00,224,0
+2006-02-10,13:13:00,3727.00,3728.00,3727.00,3728.00,82,0
+2006-02-10,13:14:00,3728.00,3728.00,3727.00,3727.00,904,0
+2006-02-10,13:16:00,3728.00,3729.00,3727.00,3729.00,505,0
+2006-02-10,13:17:00,3728.00,3728.00,3727.00,3728.00,172,0
+2006-02-10,13:18:00,3728.00,3729.00,3728.00,3729.00,1861,0
+2006-02-10,13:19:00,3729.00,3733.00,3729.00,3733.00,2298,0
+2006-02-10,13:20:00,3733.00,3734.00,3733.00,3734.00,1250,0
+2006-02-10,13:21:00,3733.00,3734.00,3733.00,3733.00,58,0
+2006-02-10,13:22:00,3734.00,3734.00,3733.00,3733.00,188,0
+2006-02-10,13:23:00,3732.00,3732.00,3732.00,3732.00,50,0
+2006-02-10,13:24:00,3732.00,3734.00,3732.00,3733.00,467,0
+2006-02-10,13:25:00,3733.00,3733.00,3732.00,3732.00,7,0
+2006-02-10,13:26:00,3732.00,3733.00,3732.00,3733.00,304,0
+2006-02-10,13:27:00,3732.00,3732.00,3732.00,3732.00,150,0
+2006-02-10,13:28:00,3733.00,3733.00,3731.00,3731.00,49,0
+2006-02-10,13:29:00,3731.00,3732.00,3731.00,3731.00,243,0
+2006-02-10,13:30:00,3731.00,3731.00,3731.00,3731.00,22,0
+2006-02-10,13:31:00,3732.00,3732.00,3731.00,3732.00,48,0
+2006-02-10,13:32:00,3732.00,3732.00,3731.00,3731.00,182,0
+2006-02-10,13:33:00,3731.00,3732.00,3731.00,3732.00,142,0
+2006-02-10,13:34:00,3732.00,3732.00,3731.00,3731.00,12,0
+2006-02-10,13:35:00,3731.00,3731.00,3731.00,3731.00,9,0
+2006-02-10,13:36:00,3731.00,3731.00,3731.00,3731.00,1,0
+2006-02-10,13:37:00,3732.00,3735.00,3731.00,3735.00,1143,0
+2006-02-10,13:38:00,3734.00,3735.00,3734.00,3735.00,783,0
+2006-02-10,13:39:00,3735.00,3735.00,3734.00,3734.00,72,0
+2006-02-10,13:40:00,3735.00,3735.00,3734.00,3734.00,421,0
+2006-02-10,13:41:00,3733.00,3734.00,3733.00,3734.00,67,0
+2006-02-10,13:42:00,3734.00,3736.00,3734.00,3735.00,767,0
+2006-02-10,13:43:00,3736.00,3736.00,3735.00,3735.00,22,0
+2006-02-10,13:44:00,3735.00,3735.00,3734.00,3734.00,72,0
+2006-02-10,13:45:00,3735.00,3735.00,3733.00,3733.00,345,0
+2006-02-10,13:46:00,3734.00,3734.00,3733.00,3734.00,10,0
+2006-02-10,13:47:00,3733.00,3736.00,3733.00,3736.00,543,0
+2006-02-10,13:48:00,3735.00,3736.00,3735.00,3736.00,800,0
+2006-02-10,13:49:00,3736.00,3737.00,3736.00,3736.00,635,0
+2006-02-10,13:50:00,3736.00,3736.00,3736.00,3736.00,570,0
+2006-02-10,13:51:00,3735.00,3736.00,3735.00,3736.00,36,0
+2006-02-10,13:52:00,3736.00,3736.00,3735.00,3736.00,334,0
+2006-02-10,13:53:00,3735.00,3735.00,3735.00,3735.00,78,0
+2006-02-10,13:54:00,3735.00,3735.00,3734.00,3735.00,226,0
+2006-02-10,13:55:00,3736.00,3736.00,3735.00,3735.00,5,0
+2006-02-10,13:56:00,3735.00,3735.00,3735.00,3735.00,181,0
+2006-02-10,13:57:00,3735.00,3735.00,3735.00,3735.00,103,0
+2006-02-10,13:58:00,3736.00,3736.00,3735.00,3735.00,397,0
+2006-02-10,13:59:00,3735.00,3736.00,3735.00,3736.00,11,0
+2006-02-10,14:00:00,3735.00,3736.00,3735.00,3736.00,8,0
+2006-02-10,14:01:00,3736.00,3736.00,3735.00,3735.00,304,0
+2006-02-10,14:02:00,3735.00,3735.00,3735.00,3735.00,102,0
+2006-02-10,14:03:00,3735.00,3735.00,3734.00,3734.00,6,0
+2006-02-10,14:04:00,3735.00,3735.00,3735.00,3735.00,108,0
+2006-02-10,14:05:00,3736.00,3736.00,3735.00,3735.00,221,0
+2006-02-10,14:06:00,3735.00,3735.00,3735.00,3735.00,8,0
+2006-02-10,14:07:00,3735.00,3735.00,3734.00,3735.00,410,0
+2006-02-10,14:08:00,3734.00,3734.00,3733.00,3733.00,294,0
+2006-02-10,14:10:00,3734.00,3734.00,3733.00,3733.00,287,0
+2006-02-10,14:11:00,3734.00,3734.00,3733.00,3733.00,30,0
+2006-02-10,14:12:00,3733.00,3733.00,3733.00,3733.00,333,0
+2006-02-10,14:13:00,3734.00,3734.00,3733.00,3733.00,62,0
+2006-02-10,14:14:00,3734.00,3734.00,3732.00,3733.00,67,0
+2006-02-10,14:15:00,3733.00,3733.00,3733.00,3733.00,20,0
+2006-02-10,14:16:00,3733.00,3733.00,3733.00,3733.00,128,0
+2006-02-10,14:17:00,3733.00,3733.00,3733.00,3733.00,73,0
+2006-02-10,14:18:00,3733.00,3734.00,3733.00,3733.00,100,0
+2006-02-10,14:19:00,3733.00,3734.00,3732.00,3733.00,125,0
+2006-02-10,14:20:00,3733.00,3733.00,3730.00,3731.00,395,0
+2006-02-10,14:21:00,3731.00,3732.00,3730.00,3731.00,300,0
+2006-02-10,14:22:00,3731.00,3731.00,3730.00,3731.00,108,0
+2006-02-10,14:23:00,3731.00,3731.00,3731.00,3731.00,313,0
+2006-02-10,14:24:00,3731.00,3731.00,3731.00,3731.00,19,0
+2006-02-10,14:25:00,3732.00,3732.00,3730.00,3730.00,80,0
+2006-02-10,14:26:00,3731.00,3731.00,3730.00,3730.00,1738,0
+2006-02-10,14:27:00,3730.00,3730.00,3730.00,3730.00,40,0
+2006-02-10,14:28:00,3731.00,3731.00,3730.00,3730.00,1008,0
+2006-02-10,14:29:00,3731.00,3731.00,3731.00,3731.00,50,0
+2006-02-10,14:30:00,3731.00,3731.00,3730.00,3731.00,142,0
+2006-02-10,14:31:00,3731.00,3732.00,3728.00,3728.00,1154,0
+2006-02-10,14:32:00,3728.00,3730.00,3727.00,3729.00,810,0
+2006-02-10,14:33:00,3730.00,3730.00,3729.00,3729.00,78,0
+2006-02-10,14:34:00,3730.00,3730.00,3729.00,3729.00,111,0
+2006-02-10,14:35:00,3729.00,3729.00,3726.00,3727.00,1734,0
+2006-02-10,14:36:00,3726.00,3727.00,3725.00,3727.00,1204,0
+2006-02-10,14:37:00,3727.00,3727.00,3726.00,3727.00,566,0
+2006-02-10,14:38:00,3727.00,3727.00,3726.00,3727.00,35,0
+2006-02-10,14:39:00,3727.00,3727.00,3723.00,3723.00,3528,0
+2006-02-10,14:40:00,3724.00,3724.00,3721.00,3721.00,1064,0
+2006-02-10,14:41:00,3722.00,3722.00,3719.00,3720.00,3828,0
+2006-02-10,14:42:00,3721.00,3723.00,3720.00,3723.00,2852,0
+2006-02-10,14:43:00,3723.00,3723.00,3722.00,3722.00,749,0
+2006-02-10,14:44:00,3722.00,3724.00,3722.00,3724.00,281,0
+2006-02-10,14:45:00,3723.00,3723.00,3722.00,3723.00,1392,0
+2006-02-10,14:46:00,3722.00,3723.00,3721.00,3722.00,800,0
+2006-02-10,14:47:00,3722.00,3723.00,3721.00,3722.00,235,0
+2006-02-10,14:48:00,3722.00,3723.00,3722.00,3723.00,430,0
+2006-02-10,14:49:00,3724.00,3724.00,3722.00,3722.00,143,0
+2006-02-10,14:50:00,3722.00,3722.00,3722.00,3722.00,35,0
+2006-02-10,14:51:00,3722.00,3723.00,3722.00,3723.00,486,0
+2006-02-10,14:52:00,3724.00,3724.00,3724.00,3724.00,21,0
+2006-02-10,14:53:00,3724.00,3724.00,3723.00,3723.00,530,0
+2006-02-10,14:54:00,3723.00,3724.00,3723.00,3724.00,220,0
+2006-02-10,14:55:00,3724.00,3724.00,3723.00,3723.00,85,0
+2006-02-10,14:56:00,3723.00,3724.00,3723.00,3723.00,296,0
+2006-02-10,14:57:00,3723.00,3723.00,3722.00,3722.00,280,0
+2006-02-10,14:58:00,3722.00,3723.00,3719.00,3720.00,1473,0
+2006-02-10,14:59:00,3720.00,3720.00,3719.00,3720.00,746,0
+2006-02-10,15:00:00,3720.00,3720.00,3719.00,3719.00,358,0
+2006-02-10,15:01:00,3718.00,3719.00,3717.00,3718.00,2397,0
+2006-02-10,15:02:00,3719.00,3722.00,3719.00,3720.00,1421,0
+2006-02-10,15:03:00,3721.00,3721.00,3720.00,3721.00,660,0
+2006-02-10,15:04:00,3721.00,3721.00,3720.00,3721.00,198,0
+2006-02-10,15:05:00,3722.00,3722.00,3721.00,3722.00,461,0
+2006-02-10,15:06:00,3723.00,3723.00,3721.00,3721.00,923,0
+2006-02-10,15:07:00,3721.00,3721.00,3720.00,3720.00,661,0
+2006-02-10,15:08:00,3720.00,3720.00,3717.00,3718.00,2188,0
+2006-02-10,15:09:00,3719.00,3720.00,3718.00,3720.00,1686,0
+2006-02-10,15:10:00,3720.00,3720.00,3719.00,3719.00,1164,0
+2006-02-10,15:11:00,3718.00,3719.00,3718.00,3719.00,134,0
+2006-02-10,15:12:00,3719.00,3720.00,3719.00,3720.00,1030,0
+2006-02-10,15:13:00,3720.00,3720.00,3719.00,3720.00,208,0
+2006-02-10,15:14:00,3719.00,3720.00,3719.00,3720.00,63,0
+2006-02-10,15:15:00,3720.00,3720.00,3719.00,3719.00,412,0
+2006-02-10,15:16:00,3719.00,3720.00,3719.00,3720.00,25,0
+2006-02-10,15:17:00,3720.00,3721.00,3719.00,3720.00,519,0
+2006-02-10,15:18:00,3720.00,3720.00,3719.00,3720.00,175,0
+2006-02-10,15:19:00,3720.00,3721.00,3720.00,3720.00,12,0
+2006-02-10,15:20:00,3721.00,3722.00,3721.00,3721.00,656,0
+2006-02-10,15:21:00,3721.00,3721.00,3720.00,3720.00,750,0
+2006-02-10,15:22:00,3721.00,3721.00,3720.00,3721.00,220,0
+2006-02-10,15:23:00,3722.00,3722.00,3722.00,3722.00,124,0
+2006-02-10,15:24:00,3721.00,3722.00,3720.00,3721.00,821,0
+2006-02-10,15:25:00,3721.00,3722.00,3721.00,3721.00,1439,0
+2006-02-10,15:26:00,3721.00,3721.00,3720.00,3721.00,555,0
+2006-02-10,15:27:00,3721.00,3721.00,3721.00,3721.00,137,0
+2006-02-10,15:28:00,3721.00,3721.00,3720.00,3720.00,1784,0
+2006-02-10,15:29:00,3720.00,3720.00,3720.00,3720.00,70,0
+2006-02-10,15:30:00,3720.00,3721.00,3720.00,3720.00,648,0
+2006-02-10,15:31:00,3720.00,3721.00,3719.00,3720.00,99,0
+2006-02-10,15:32:00,3720.00,3721.00,3720.00,3720.00,405,0
+2006-02-10,15:33:00,3720.00,3722.00,3720.00,3722.00,299,0
+2006-02-10,15:34:00,3722.00,3722.00,3721.00,3721.00,849,0
+2006-02-10,15:35:00,3721.00,3721.00,3720.00,3721.00,983,0
+2006-02-10,15:36:00,3721.00,3721.00,3720.00,3721.00,408,0
+2006-02-10,15:37:00,3721.00,3721.00,3719.00,3720.00,639,0
+2006-02-10,15:38:00,3720.00,3720.00,3718.00,3718.00,2041,0
+2006-02-10,15:39:00,3718.00,3718.00,3716.00,3716.00,2252,0
+2006-02-10,15:40:00,3717.00,3718.00,3715.00,3717.00,2465,0
+2006-02-10,15:41:00,3717.00,3718.00,3716.00,3717.00,903,0
+2006-02-10,15:42:00,3716.00,3718.00,3716.00,3717.00,561,0
+2006-02-10,15:43:00,3718.00,3719.00,3717.00,3719.00,1268,0
+2006-02-10,15:44:00,3719.00,3720.00,3716.00,3716.00,2764,0
+2006-02-10,15:45:00,3716.00,3716.00,3714.00,3716.00,2170,0
+2006-02-10,15:46:00,3716.00,3716.00,3715.00,3716.00,268,0
+2006-02-10,15:47:00,3716.00,3718.00,3715.00,3717.00,1563,0
+2006-02-10,15:48:00,3717.00,3719.00,3716.00,3719.00,960,0
+2006-02-10,15:49:00,3719.00,3722.00,3719.00,3722.00,1804,0
+2006-02-10,15:50:00,3722.00,3723.00,3721.00,3723.00,745,0
+2006-02-10,15:51:00,3723.00,3724.00,3722.00,3723.00,2159,0
+2006-02-10,15:52:00,3724.00,3725.00,3723.00,3724.00,1113,0
+2006-02-10,15:53:00,3724.00,3725.00,3723.00,3723.00,698,0
+2006-02-10,15:54:00,3724.00,3727.00,3724.00,3724.00,2579,0
+2006-02-10,15:55:00,3725.00,3727.00,3725.00,3726.00,1033,0
+2006-02-10,15:56:00,3726.00,3726.00,3725.00,3726.00,511,0
+2006-02-10,15:57:00,3725.00,3726.00,3724.00,3724.00,445,0
+2006-02-10,15:58:00,3724.00,3725.00,3723.00,3724.00,838,0
+2006-02-10,15:59:00,3724.00,3724.00,3722.00,3722.00,715,0
+2006-02-10,16:00:00,3722.00,3724.00,3722.00,3723.00,993,0
+2006-02-10,16:01:00,3723.00,3723.00,3719.00,3720.00,1613,0
+2006-02-10,16:02:00,3719.00,3719.00,3717.00,3718.00,1539,0
+2006-02-10,16:03:00,3718.00,3720.00,3718.00,3720.00,1758,0
+2006-02-10,16:04:00,3720.00,3721.00,3720.00,3721.00,650,0
+2006-02-10,16:05:00,3721.00,3721.00,3717.00,3717.00,2073,0
+2006-02-10,16:06:00,3716.00,3718.00,3715.00,3715.00,1343,0
+2006-02-10,16:07:00,3716.00,3716.00,3712.00,3714.00,4587,0
+2006-02-10,16:08:00,3714.00,3715.00,3713.00,3715.00,1837,0
+2006-02-10,16:09:00,3715.00,3715.00,3712.00,3713.00,3661,0
+2006-02-10,16:10:00,3713.00,3714.00,3709.00,3709.00,5333,0
+2006-02-10,16:11:00,3709.00,3710.00,3706.00,3707.00,7995,0
+2006-02-10,16:12:00,3707.00,3708.00,3706.00,3707.00,3624,0
+2006-02-10,16:13:00,3707.00,3708.00,3706.00,3707.00,2485,0
+2006-02-10,16:14:00,3708.00,3711.00,3707.00,3711.00,3195,0
+2006-02-10,16:15:00,3711.00,3712.00,3710.00,3712.00,3521,0
+2006-02-10,16:16:00,3712.00,3712.00,3710.00,3710.00,1536,0
+2006-02-10,16:17:00,3710.00,3712.00,3710.00,3711.00,720,0
+2006-02-10,16:18:00,3712.00,3712.00,3710.00,3710.00,1397,0
+2006-02-10,16:19:00,3710.00,3712.00,3709.00,3711.00,1014,0
+2006-02-10,16:20:00,3711.00,3711.00,3709.00,3709.00,713,0
+2006-02-10,16:21:00,3709.00,3712.00,3709.00,3712.00,1322,0
+2006-02-10,16:22:00,3712.00,3712.00,3710.00,3710.00,611,0
+2006-02-10,16:23:00,3710.00,3711.00,3710.00,3711.00,848,0
+2006-02-10,16:24:00,3711.00,3712.00,3711.00,3712.00,928,0
+2006-02-10,16:25:00,3711.00,3712.00,3709.00,3712.00,3948,0
+2006-02-10,16:26:00,3711.00,3712.00,3709.00,3709.00,1245,0
+2006-02-10,16:27:00,3709.00,3711.00,3708.00,3711.00,1519,0
+2006-02-10,16:28:00,3711.00,3715.00,3711.00,3715.00,2613,0
+2006-02-10,16:29:00,3715.00,3715.00,3714.00,3714.00,1989,0
+2006-02-10,16:30:00,3713.00,3716.00,3713.00,3715.00,846,0
+2006-02-10,16:31:00,3715.00,3716.00,3714.00,3714.00,1371,0
+2006-02-10,16:32:00,3714.00,3716.00,3714.00,3715.00,2108,0
+2006-02-10,16:33:00,3715.00,3717.00,3714.00,3716.00,1813,0
+2006-02-10,16:34:00,3716.00,3716.00,3714.00,3715.00,1658,0
+2006-02-10,16:35:00,3715.00,3715.00,3712.00,3713.00,1499,0
+2006-02-10,16:36:00,3713.00,3715.00,3712.00,3712.00,2320,0
+2006-02-10,16:37:00,3712.00,3712.00,3704.00,3705.00,5421,0
+2006-02-10,16:38:00,3704.00,3706.00,3703.00,3705.00,7292,0
+2006-02-10,16:39:00,3705.00,3707.00,3704.00,3706.00,1101,0
+2006-02-10,16:40:00,3706.00,3709.00,3706.00,3708.00,1712,0
+2006-02-10,16:41:00,3708.00,3709.00,3703.00,3704.00,5200,0
+2006-02-10,16:42:00,3704.00,3707.00,3704.00,3706.00,1308,0
+2006-02-10,16:43:00,3707.00,3708.00,3706.00,3707.00,821,0
+2006-02-10,16:44:00,3708.00,3708.00,3703.00,3704.00,2051,0
+2006-02-10,16:45:00,3704.00,3705.00,3700.00,3701.00,7992,0
+2006-02-10,16:46:00,3700.00,3703.00,3699.00,3701.00,3323,0
+2006-02-10,16:47:00,3702.00,3705.00,3701.00,3703.00,2589,0
+2006-02-10,16:48:00,3703.00,3704.00,3701.00,3704.00,2745,0
+2006-02-10,16:49:00,3704.00,3704.00,3702.00,3704.00,1692,0
+2006-02-10,16:50:00,3704.00,3705.00,3703.00,3704.00,2088,0
+2006-02-10,16:51:00,3705.00,3705.00,3704.00,3705.00,1081,0
+2006-02-10,16:52:00,3705.00,3707.00,3705.00,3706.00,1450,0
+2006-02-10,16:53:00,3707.00,3712.00,3707.00,3711.00,3664,0
+2006-02-10,16:54:00,3711.00,3711.00,3709.00,3711.00,1700,0
+2006-02-10,16:55:00,3710.00,3711.00,3709.00,3711.00,2311,0
+2006-02-10,16:56:00,3711.00,3712.00,3710.00,3710.00,1183,0
+2006-02-10,16:57:00,3710.00,3711.00,3709.00,3710.00,1226,0
+2006-02-10,16:58:00,3710.00,3710.00,3707.00,3707.00,962,0
+2006-02-10,16:59:00,3707.00,3709.00,3707.00,3709.00,1568,0
+2006-02-10,17:00:00,3709.00,3710.00,3707.00,3707.00,1305,0
+2006-02-10,17:01:00,3708.00,3708.00,3704.00,3705.00,1906,0
+2006-02-10,17:02:00,3705.00,3705.00,3703.00,3704.00,2631,0
+2006-02-10,17:03:00,3705.00,3707.00,3704.00,3706.00,1302,0
+2006-02-10,17:04:00,3706.00,3708.00,3705.00,3708.00,1431,0
+2006-02-10,17:05:00,3708.00,3709.00,3707.00,3708.00,1203,0
+2006-02-10,17:06:00,3708.00,3710.00,3708.00,3709.00,802,0
+2006-02-10,17:07:00,3709.00,3712.00,3708.00,3711.00,2113,0
+2006-02-10,17:08:00,3710.00,3711.00,3708.00,3710.00,2169,0
+2006-02-10,17:09:00,3710.00,3711.00,3709.00,3710.00,511,0
+2006-02-10,17:10:00,3711.00,3711.00,3709.00,3710.00,1063,0
+2006-02-10,17:11:00,3710.00,3710.00,3709.00,3709.00,948,0
+2006-02-10,17:12:00,3710.00,3711.00,3709.00,3710.00,1737,0
+2006-02-10,17:13:00,3710.00,3711.00,3709.00,3710.00,677,0
+2006-02-10,17:14:00,3709.00,3711.00,3709.00,3710.00,1006,0
+2006-02-10,17:15:00,3711.00,3711.00,3708.00,3709.00,771,0
+2006-02-10,17:16:00,3709.00,3709.00,3706.00,3707.00,2201,0
+2006-02-10,17:17:00,3707.00,3708.00,3706.00,3707.00,1139,0
+2006-02-10,17:18:00,3707.00,3707.00,3705.00,3706.00,871,0
+2006-02-10,17:19:00,3705.00,3707.00,3705.00,3707.00,821,0
+2006-02-10,17:20:00,3707.00,3707.00,3704.00,3705.00,1661,0
+2006-02-10,17:21:00,3705.00,3705.00,3704.00,3704.00,512,0
+2006-02-10,17:22:00,3704.00,3706.00,3703.00,3706.00,1639,0
+2006-02-10,17:23:00,3707.00,3709.00,3707.00,3708.00,1317,0
+2006-02-10,17:24:00,3708.00,3710.00,3707.00,3709.00,1826,0
+2006-02-10,17:25:00,3709.00,3710.00,3709.00,3710.00,1058,0
+2006-02-10,17:26:00,3710.00,3711.00,3709.00,3709.00,1504,0
+2006-02-10,17:27:00,3709.00,3711.00,3709.00,3709.00,1715,0
+2006-02-10,17:28:00,3709.00,3710.00,3708.00,3709.00,413,0
+2006-02-10,17:29:00,3709.00,3709.00,3707.00,3707.00,1819,0
+2006-02-10,17:30:00,3707.00,3708.00,3705.00,3706.00,3047,0
+2006-02-10,17:31:00,3706.00,3706.00,3702.00,3704.00,4314,0
+2006-02-10,17:32:00,3704.00,3704.00,3703.00,3704.00,2273,0
+2006-02-10,17:33:00,3704.00,3705.00,3702.00,3703.00,1506,0
+2006-02-10,17:34:00,3703.00,3704.00,3703.00,3704.00,299,0
+2006-02-10,17:35:00,3703.00,3703.00,3701.00,3702.00,2805,0
+2006-02-10,17:36:00,3702.00,3703.00,3702.00,3703.00,1226,0
+2006-02-10,17:37:00,3702.00,3704.00,3702.00,3703.00,1870,0
+2006-02-10,17:38:00,3704.00,3704.00,3702.00,3704.00,1346,0
+2006-02-10,17:39:00,3704.00,3707.00,3704.00,3707.00,1178,0
+2006-02-10,17:40:00,3707.00,3708.00,3706.00,3706.00,1040,0
+2006-02-10,17:41:00,3706.00,3708.00,3706.00,3707.00,1020,0
+2006-02-10,17:42:00,3707.00,3708.00,3707.00,3708.00,1975,0
+2006-02-10,17:43:00,3708.00,3708.00,3706.00,3706.00,1242,0
+2006-02-10,17:44:00,3706.00,3706.00,3704.00,3704.00,2144,0
+2006-02-10,17:45:00,3705.00,3705.00,3704.00,3705.00,614,0
+2006-02-10,17:46:00,3705.00,3706.00,3705.00,3706.00,582,0
+2006-02-10,17:47:00,3706.00,3706.00,3705.00,3706.00,1128,0
+2006-02-10,17:48:00,3707.00,3707.00,3705.00,3705.00,1005,0
+2006-02-10,17:49:00,3705.00,3707.00,3705.00,3706.00,304,0
+2006-02-10,17:50:00,3706.00,3706.00,3704.00,3705.00,620,0
+2006-02-10,17:51:00,3705.00,3705.00,3705.00,3705.00,134,0
+2006-02-10,17:52:00,3705.00,3706.00,3705.00,3705.00,204,0
+2006-02-10,17:53:00,3704.00,3705.00,3703.00,3704.00,271,0
+2006-02-10,17:54:00,3704.00,3705.00,3703.00,3705.00,122,0
+2006-02-10,17:55:00,3705.00,3707.00,3704.00,3707.00,618,0
+2006-02-10,17:56:00,3707.00,3707.00,3706.00,3706.00,398,0
+2006-02-10,17:57:00,3706.00,3707.00,3705.00,3705.00,1078,0
+2006-02-10,17:58:00,3705.00,3705.00,3705.00,3705.00,178,0
+2006-02-10,17:59:00,3704.00,3705.00,3704.00,3704.00,743,0
+2006-02-10,18:00:00,3704.00,3704.00,3704.00,3704.00,103,0
+2006-02-10,18:01:00,3704.00,3704.00,3702.00,3702.00,951,0
+2006-02-10,18:02:00,3702.00,3702.00,3701.00,3702.00,145,0
+2006-02-10,18:03:00,3702.00,3703.00,3702.00,3702.00,109,0
+2006-02-10,18:04:00,3703.00,3708.00,3703.00,3708.00,1817,0
+2006-02-10,18:05:00,3708.00,3708.00,3707.00,3707.00,185,0
+2006-02-10,18:06:00,3707.00,3709.00,3707.00,3708.00,320,0
+2006-02-10,18:07:00,3707.00,3709.00,3707.00,3709.00,199,0
+2006-02-10,18:08:00,3709.00,3712.00,3709.00,3711.00,1974,0
+2006-02-10,18:09:00,3711.00,3713.00,3711.00,3711.00,1179,0
+2006-02-10,18:10:00,3711.00,3711.00,3711.00,3711.00,310,0
+2006-02-10,18:11:00,3711.00,3711.00,3711.00,3711.00,38,0
+2006-02-10,18:12:00,3711.00,3711.00,3711.00,3711.00,72,0
+2006-02-10,18:13:00,3711.00,3712.00,3711.00,3711.00,413,0
+2006-02-10,18:14:00,3711.00,3712.00,3711.00,3711.00,681,0
+2006-02-10,18:15:00,3710.00,3712.00,3710.00,3711.00,1176,0
+2006-02-10,18:16:00,3711.00,3711.00,3710.00,3710.00,600,0
+2006-02-10,18:17:00,3710.00,3710.00,3709.00,3710.00,1117,0
+2006-02-10,18:18:00,3710.00,3711.00,3710.00,3710.00,622,0
+2006-02-10,18:19:00,3710.00,3712.00,3710.00,3712.00,497,0
+2006-02-10,18:20:00,3711.00,3712.00,3710.00,3712.00,317,0
+2006-02-10,18:21:00,3711.00,3714.00,3711.00,3714.00,1215,0
+2006-02-10,18:22:00,3715.00,3715.00,3713.00,3713.00,449,0
+2006-02-10,18:23:00,3713.00,3715.00,3713.00,3715.00,561,0
+2006-02-10,18:24:00,3716.00,3716.00,3713.00,3714.00,132,0
+2006-02-10,18:25:00,3713.00,3715.00,3713.00,3713.00,293,0
+2006-02-10,18:26:00,3713.00,3714.00,3713.00,3713.00,193,0
+2006-02-10,18:27:00,3713.00,3714.00,3712.00,3713.00,592,0
+2006-02-10,18:28:00,3713.00,3713.00,3710.00,3710.00,445,0
+2006-02-10,18:29:00,3710.00,3711.00,3710.00,3710.00,342,0
+2006-02-10,18:30:00,3710.00,3711.00,3710.00,3710.00,64,0
+2006-02-10,18:31:00,3710.00,3711.00,3710.00,3710.00,245,0
+2006-02-10,18:32:00,3709.00,3710.00,3709.00,3710.00,47,0
+2006-02-10,18:33:00,3710.00,3713.00,3710.00,3712.00,300,0
+2006-02-10,18:34:00,3711.00,3712.00,3711.00,3712.00,353,0
+2006-02-10,18:35:00,3712.00,3712.00,3710.00,3710.00,193,0
+2006-02-10,18:36:00,3710.00,3710.00,3710.00,3710.00,197,0
+2006-02-10,18:37:00,3710.00,3710.00,3709.00,3709.00,112,0
+2006-02-10,18:38:00,3710.00,3711.00,3709.00,3710.00,848,0
+2006-02-10,18:39:00,3711.00,3712.00,3711.00,3711.00,297,0
+2006-02-10,18:40:00,3710.00,3711.00,3710.00,3710.00,106,0
+2006-02-10,18:41:00,3710.00,3711.00,3709.00,3710.00,1036,0
+2006-02-10,18:42:00,3710.00,3711.00,3710.00,3710.00,20,0
+2006-02-10,18:43:00,3710.00,3710.00,3710.00,3710.00,12,0
+2006-02-10,18:44:00,3710.00,3711.00,3708.00,3710.00,307,0
+2006-02-10,18:45:00,3711.00,3712.00,3710.00,3711.00,165,0
+2006-02-10,18:46:00,3711.00,3711.00,3710.00,3710.00,164,0
+2006-02-10,18:47:00,3710.00,3710.00,3708.00,3708.00,369,0
+2006-02-10,18:48:00,3708.00,3708.00,3708.00,3708.00,67,0
+2006-02-10,18:49:00,3708.00,3709.00,3708.00,3709.00,13,0
+2006-02-10,18:50:00,3709.00,3709.00,3706.00,3707.00,536,0
+2006-02-10,18:51:00,3707.00,3709.00,3707.00,3709.00,334,0
+2006-02-10,18:52:00,3709.00,3709.00,3709.00,3709.00,35,0
+2006-02-10,18:53:00,3708.00,3708.00,3708.00,3708.00,12,0
+2006-02-10,18:54:00,3707.00,3707.00,3707.00,3707.00,49,0
+2006-02-10,18:56:00,3708.00,3708.00,3707.00,3707.00,312,0
+2006-02-10,18:57:00,3707.00,3708.00,3707.00,3707.00,149,0
+2006-02-10,18:58:00,3707.00,3707.00,3707.00,3707.00,226,0
+2006-02-10,18:59:00,3708.00,3709.00,3708.00,3709.00,74,0
+2006-02-10,19:00:00,3708.00,3708.00,3708.00,3708.00,56,0
+2006-02-10,19:01:00,3708.00,3708.00,3707.00,3708.00,46,0
+2006-02-10,19:02:00,3708.00,3708.00,3708.00,3708.00,151,0
+2006-02-10,19:03:00,3708.00,3709.00,3708.00,3709.00,40,0
+2006-02-10,19:04:00,3708.00,3709.00,3708.00,3709.00,31,0
+2006-02-10,19:05:00,3709.00,3709.00,3709.00,3709.00,30,0
+2006-02-10,19:06:00,3708.00,3708.00,3708.00,3708.00,244,0
+2006-02-10,19:07:00,3708.00,3709.00,3708.00,3708.00,201,0
+2006-02-10,19:08:00,3707.00,3708.00,3707.00,3708.00,136,0
+2006-02-10,19:09:00,3708.00,3708.00,3708.00,3708.00,4,0
+2006-02-10,19:10:00,3709.00,3709.00,3709.00,3709.00,208,0
+2006-02-10,19:11:00,3709.00,3710.00,3709.00,3710.00,264,0
+2006-02-10,19:12:00,3710.00,3712.00,3710.00,3712.00,194,0
+2006-02-10,19:13:00,3712.00,3714.00,3712.00,3713.00,568,0
+2006-02-10,19:14:00,3713.00,3714.00,3713.00,3714.00,220,0
+2006-02-10,19:15:00,3715.00,3715.00,3715.00,3715.00,694,0
+2006-02-10,19:16:00,3715.00,3715.00,3714.00,3715.00,205,0
+2006-02-10,19:17:00,3714.00,3714.00,3714.00,3714.00,144,0
+2006-02-10,19:18:00,3714.00,3714.00,3713.00,3714.00,134,0
+2006-02-10,19:19:00,3714.00,3714.00,3713.00,3713.00,175,0
+2006-02-10,19:20:00,3713.00,3713.00,3712.00,3712.00,160,0
+2006-02-10,19:21:00,3712.00,3712.00,3712.00,3712.00,17,0
+2006-02-10,19:22:00,3712.00,3712.00,3712.00,3712.00,33,0
+2006-02-10,19:23:00,3712.00,3712.00,3712.00,3712.00,69,0
+2006-02-10,19:24:00,3711.00,3712.00,3710.00,3710.00,275,0
+2006-02-10,19:25:00,3710.00,3710.00,3710.00,3710.00,62,0
+2006-02-10,19:26:00,3710.00,3710.00,3707.00,3708.00,294,0
+2006-02-10,19:27:00,3708.00,3708.00,3708.00,3708.00,17,0
+2006-02-10,19:28:00,3708.00,3708.00,3707.00,3707.00,94,0
+2006-02-10,19:29:00,3707.00,3708.00,3707.00,3708.00,104,0
+2006-02-10,19:30:00,3708.00,3708.00,3707.00,3707.00,6,0
+2006-02-10,19:31:00,3708.00,3710.00,3708.00,3709.00,337,0
+2006-02-10,19:32:00,3710.00,3710.00,3709.00,3709.00,51,0
+2006-02-10,19:33:00,3710.00,3712.00,3710.00,3712.00,80,0
+2006-02-10,19:34:00,3712.00,3712.00,3711.00,3711.00,55,0
+2006-02-10,19:35:00,3712.00,3712.00,3711.00,3711.00,220,0
+2006-02-10,19:36:00,3711.00,3711.00,3709.00,3709.00,107,0
+2006-02-10,19:37:00,3710.00,3710.00,3710.00,3710.00,150,0
+2006-02-10,19:38:00,3711.00,3711.00,3710.00,3710.00,94,0
+2006-02-10,19:39:00,3711.00,3711.00,3711.00,3711.00,1,0
+2006-02-10,19:40:00,3711.00,3712.00,3711.00,3712.00,101,0
+2006-02-10,19:41:00,3711.00,3711.00,3709.00,3709.00,168,0
+2006-02-10,19:42:00,3709.00,3709.00,3709.00,3709.00,6,0
+2006-02-10,19:43:00,3710.00,3710.00,3710.00,3710.00,93,0
+2006-02-10,19:44:00,3710.00,3710.00,3709.00,3709.00,40,0
+2006-02-10,19:45:00,3711.00,3711.00,3710.00,3710.00,251,0
+2006-02-10,19:46:00,3711.00,3711.00,3710.00,3710.00,109,0
+2006-02-10,19:47:00,3709.00,3709.00,3708.00,3708.00,31,0
+2006-02-10,19:50:00,3709.00,3709.00,3709.00,3709.00,1,0
+2006-02-10,19:51:00,3710.00,3711.00,3710.00,3711.00,27,0
+2006-02-10,19:52:00,3711.00,3711.00,3710.00,3710.00,163,0
+2006-02-10,19:53:00,3711.00,3711.00,3710.00,3711.00,17,0
+2006-02-10,19:54:00,3712.00,3712.00,3709.00,3709.00,104,0
+2006-02-10,19:55:00,3709.00,3710.00,3709.00,3710.00,23,0
+2006-02-10,19:56:00,3711.00,3711.00,3711.00,3711.00,87,0
+2006-02-10,19:57:00,3710.00,3711.00,3710.00,3711.00,13,0
+2006-02-10,19:58:00,3710.00,3712.00,3710.00,3711.00,103,0
+2006-02-10,19:59:00,3711.00,3711.00,3710.00,3711.00,83,0
+2006-02-10,20:00:00,3711.00,3712.00,3711.00,3712.00,84,0
+2006-02-10,20:01:00,3712.00,3713.00,3712.00,3713.00,412,0
+2006-02-10,20:02:00,3712.00,3712.00,3712.00,3712.00,5,0
+2006-02-10,20:03:00,3712.00,3713.00,3712.00,3712.00,50,0
+2006-02-10,20:04:00,3712.00,3712.00,3712.00,3712.00,13,0
+2006-02-10,20:05:00,3713.00,3713.00,3712.00,3713.00,9,0
+2006-02-10,20:06:00,3713.00,3714.00,3713.00,3714.00,120,0
+2006-02-10,20:07:00,3714.00,3717.00,3714.00,3717.00,907,0
+2006-02-10,20:08:00,3717.00,3722.00,3717.00,3722.00,1872,0
+2006-02-10,20:09:00,3721.00,3723.00,3721.00,3723.00,575,0
+2006-02-10,20:10:00,3722.00,3722.00,3721.00,3721.00,90,0
+2006-02-10,20:11:00,3721.00,3723.00,3721.00,3723.00,192,0
+2006-02-10,20:12:00,3722.00,3722.00,3721.00,3721.00,79,0
+2006-02-10,20:13:00,3721.00,3721.00,3721.00,3721.00,39,0
+2006-02-10,20:14:00,3721.00,3721.00,3719.00,3719.00,174,0
+2006-02-10,20:15:00,3719.00,3720.00,3719.00,3719.00,69,0
+2006-02-10,20:16:00,3718.00,3718.00,3718.00,3718.00,380,0
+2006-02-10,20:17:00,3718.00,3719.00,3718.00,3719.00,23,0
+2006-02-10,20:18:00,3719.00,3720.00,3719.00,3719.00,39,0
+2006-02-10,20:19:00,3719.00,3720.00,3719.00,3720.00,167,0
+2006-02-10,20:20:00,3720.00,3721.00,3719.00,3721.00,26,0
+2006-02-10,20:21:00,3720.00,3720.00,3719.00,3719.00,11,0
+2006-02-10,20:22:00,3718.00,3718.00,3718.00,3718.00,13,0
+2006-02-10,20:23:00,3718.00,3719.00,3718.00,3719.00,67,0
+2006-02-10,20:24:00,3719.00,3719.00,3719.00,3719.00,11,0
+2006-02-10,20:25:00,3719.00,3719.00,3719.00,3719.00,8,0
+2006-02-10,20:26:00,3719.00,3721.00,3719.00,3721.00,17,0
+2006-02-10,20:27:00,3721.00,3721.00,3720.00,3721.00,27,0
+2006-02-10,20:28:00,3721.00,3721.00,3721.00,3721.00,8,0
+2006-02-10,20:29:00,3721.00,3725.00,3721.00,3722.00,590,0
+2006-02-10,20:30:00,3721.00,3722.00,3721.00,3722.00,13,0
+2006-02-10,20:31:00,3721.00,3721.00,3721.00,3721.00,94,0
+2006-02-10,20:33:00,3721.00,3722.00,3721.00,3722.00,7,0
+2006-02-10,20:34:00,3722.00,3722.00,3722.00,3722.00,6,0
+2006-02-10,20:35:00,3722.00,3722.00,3722.00,3722.00,17,0
+2006-02-10,20:36:00,3723.00,3723.00,3720.00,3721.00,320,0
+2006-02-10,20:37:00,3722.00,3723.00,3722.00,3723.00,59,0
+2006-02-10,20:38:00,3723.00,3723.00,3723.00,3723.00,64,0
+2006-02-10,20:39:00,3723.00,3724.00,3723.00,3724.00,108,0
+2006-02-10,20:40:00,3725.00,3725.00,3724.00,3725.00,45,0
+2006-02-10,20:41:00,3725.00,3725.00,3724.00,3724.00,87,0
+2006-02-10,20:42:00,3724.00,3724.00,3724.00,3724.00,6,0
+2006-02-10,20:43:00,3723.00,3723.00,3723.00,3723.00,2,0
+2006-02-10,20:44:00,3724.00,3724.00,3723.00,3723.00,8,0
+2006-02-10,20:45:00,3723.00,3725.00,3723.00,3724.00,25,0
+2006-02-10,20:46:00,3724.00,3724.00,3724.00,3724.00,6,0
+2006-02-10,20:47:00,3724.00,3725.00,3724.00,3725.00,6,0
+2006-02-10,20:48:00,3724.00,3724.00,3724.00,3724.00,1,0
+2006-02-10,20:50:00,3724.00,3724.00,3724.00,3724.00,12,0
+2006-02-10,20:51:00,3725.00,3726.00,3725.00,3726.00,1246,0
+2006-02-10,20:52:00,3726.00,3727.00,3726.00,3727.00,16,0
+2006-02-10,20:53:00,3726.00,3727.00,3726.00,3726.00,33,0
+2006-02-10,20:54:00,3727.00,3727.00,3727.00,3727.00,57,0
+2006-02-10,20:55:00,3727.00,3734.00,3727.00,3732.00,2267,0
+2006-02-10,20:56:00,3732.00,3732.00,3730.00,3731.00,220,0
+2006-02-10,20:57:00,3732.00,3734.00,3729.00,3729.00,731,0
+2006-02-10,20:58:00,3729.00,3729.00,3729.00,3729.00,18,0
+2006-02-10,20:59:00,3728.00,3729.00,3728.00,3729.00,17,0
+2006-02-10,21:00:00,3730.00,3730.00,3728.00,3728.00,223,0
+2006-02-10,21:01:00,3728.00,3728.00,3728.00,3728.00,18,0
+2006-02-10,21:02:00,3729.00,3732.00,3729.00,3732.00,67,0
+2006-02-10,21:03:00,3732.00,3733.00,3732.00,3732.00,290,0
+2006-02-10,21:04:00,3731.00,3731.00,3731.00,3731.00,5,0
+2006-02-10,21:05:00,3731.00,3731.00,3730.00,3731.00,26,0
+2006-02-10,21:06:00,3730.00,3731.00,3730.00,3731.00,312,0
+2006-02-10,21:07:00,3732.00,3732.00,3731.00,3731.00,215,0
+2006-02-10,21:08:00,3731.00,3732.00,3731.00,3732.00,25,0
+2006-02-10,21:09:00,3733.00,3734.00,3732.00,3734.00,84,0
+2006-02-10,21:10:00,3734.00,3735.00,3733.00,3735.00,11,0
+2006-02-10,21:11:00,3734.00,3734.00,3734.00,3734.00,5,0
+2006-02-10,21:12:00,3734.00,3734.00,3734.00,3734.00,27,0
+2006-02-10,21:13:00,3735.00,3735.00,3733.00,3734.00,27,0
+2006-02-10,21:14:00,3734.00,3734.00,3733.00,3733.00,18,0
+2006-02-10,21:15:00,3733.00,3736.00,3733.00,3736.00,566,0
+2006-02-10,21:16:00,3736.00,3736.00,3735.00,3735.00,26,0
+2006-02-10,21:17:00,3735.00,3736.00,3735.00,3736.00,193,0
+2006-02-10,21:18:00,3737.00,3738.00,3737.00,3738.00,352,0
+2006-02-10,21:19:00,3738.00,3738.00,3735.00,3735.00,399,0
+2006-02-10,21:20:00,3734.00,3734.00,3733.00,3734.00,103,0
+2006-02-10,21:21:00,3733.00,3733.00,3733.00,3733.00,53,0
+2006-02-10,21:22:00,3734.00,3735.00,3734.00,3734.00,22,0
+2006-02-10,21:23:00,3735.00,3735.00,3735.00,3735.00,29,0
+2006-02-10,21:24:00,3736.00,3736.00,3735.00,3735.00,41,0
+2006-02-10,21:25:00,3735.00,3736.00,3735.00,3735.00,80,0
+2006-02-10,21:26:00,3736.00,3736.00,3735.00,3736.00,59,0
+2006-02-10,21:27:00,3735.00,3735.00,3734.00,3735.00,24,0
+2006-02-10,21:28:00,3735.00,3735.00,3734.00,3735.00,6,0
+2006-02-10,21:29:00,3734.00,3734.00,3733.00,3733.00,24,0
+2006-02-10,21:30:00,3733.00,3733.00,3731.00,3731.00,71,0
+2006-02-10,21:31:00,3731.00,3731.00,3730.00,3730.00,93,0
+2006-02-10,21:32:00,3731.00,3731.00,3729.00,3731.00,30,0
+2006-02-10,21:33:00,3731.00,3733.00,3731.00,3733.00,68,0
+2006-02-10,21:34:00,3733.00,3734.00,3733.00,3734.00,35,0
+2006-02-10,21:35:00,3733.00,3733.00,3733.00,3733.00,56,0
+2006-02-10,21:36:00,3732.00,3733.00,3732.00,3732.00,55,0
+2006-02-10,21:37:00,3732.00,3732.00,3730.00,3731.00,231,0
+2006-02-10,21:38:00,3730.00,3730.00,3729.00,3729.00,109,0
+2006-02-10,21:39:00,3729.00,3729.00,3729.00,3729.00,38,0
+2006-02-10,21:40:00,3729.00,3729.00,3729.00,3729.00,6,0
+2006-02-10,21:41:00,3728.00,3729.00,3728.00,3729.00,47,0
+2006-02-10,21:42:00,3729.00,3729.00,3729.00,3729.00,5,0
+2006-02-10,21:43:00,3730.00,3730.00,3729.00,3729.00,42,0
+2006-02-10,21:44:00,3730.00,3730.00,3730.00,3730.00,1,0
+2006-02-10,21:45:00,3730.00,3730.00,3729.00,3729.00,29,0
+2006-02-10,21:46:00,3729.00,3730.00,3729.00,3730.00,39,0
+2006-02-10,21:47:00,3729.00,3729.00,3729.00,3729.00,37,0
+2006-02-10,21:48:00,3729.00,3729.00,3729.00,3729.00,5,0
+2006-02-10,21:49:00,3729.00,3729.00,3728.00,3728.00,57,0
+2006-02-10,21:50:00,3728.00,3728.00,3727.00,3727.00,2,0
+2006-02-10,21:51:00,3727.00,3728.00,3727.00,3728.00,16,0
+2006-02-10,21:52:00,3728.00,3729.00,3728.00,3728.00,7,0
+2006-02-10,21:53:00,3728.00,3729.00,3728.00,3728.00,26,0
+2006-02-10,21:54:00,3728.00,3729.00,3728.00,3729.00,13,0
+2006-02-10,21:55:00,3729.00,3729.00,3728.00,3728.00,107,0
+2006-02-10,21:56:00,3729.00,3729.00,3727.00,3729.00,125,0
+2006-02-10,21:57:00,3727.00,3728.00,3726.00,3726.00,221,0
+2006-02-10,21:58:00,3727.00,3727.00,3725.00,3726.00,406,0
+2006-02-10,21:59:00,3727.00,3728.00,3726.00,3726.00,255,0
+2006-02-10,22:00:00,3727.00,3729.00,3726.00,3729.00,208,0
+2006-02-13,09:01:00,3702.00,3707.00,3700.00,3706.00,6262,0
+2006-02-13,09:02:00,3705.00,3705.00,3697.00,3698.00,6021,0
+2006-02-13,09:03:00,3698.00,3698.00,3694.00,3696.00,4806,0
+2006-02-13,09:04:00,3697.00,3699.00,3697.00,3697.00,2689,0
+2006-02-13,09:05:00,3698.00,3699.00,3697.00,3699.00,851,0
+2006-02-13,09:06:00,3699.00,3704.00,3699.00,3703.00,4200,0
+2006-02-13,09:07:00,3703.00,3709.00,3703.00,3708.00,4043,0
+2006-02-13,09:08:00,3708.00,3710.00,3707.00,3709.00,3135,0
+2006-02-13,09:09:00,3709.00,3709.00,3706.00,3707.00,1479,0
+2006-02-13,09:10:00,3707.00,3713.00,3707.00,3711.00,4633,0
+2006-02-13,09:11:00,3711.00,3712.00,3709.00,3710.00,1368,0
+2006-02-13,09:12:00,3710.00,3710.00,3709.00,3709.00,550,0
+2006-02-13,09:13:00,3708.00,3708.00,3707.00,3707.00,1411,0
+2006-02-13,09:14:00,3707.00,3707.00,3701.00,3702.00,4018,0
+2006-02-13,09:15:00,3702.00,3704.00,3702.00,3703.00,1452,0
+2006-02-13,09:16:00,3702.00,3704.00,3701.00,3704.00,1176,0
+2006-02-13,09:17:00,3704.00,3705.00,3703.00,3703.00,1159,0
+2006-02-13,09:18:00,3704.00,3704.00,3702.00,3703.00,502,0
+2006-02-13,09:19:00,3703.00,3705.00,3702.00,3705.00,718,0
+2006-02-13,09:20:00,3705.00,3705.00,3703.00,3703.00,487,0
+2006-02-13,09:21:00,3703.00,3703.00,3696.00,3697.00,4562,0
+2006-02-13,09:22:00,3697.00,3698.00,3695.00,3696.00,1797,0
+2006-02-13,09:23:00,3695.00,3696.00,3693.00,3696.00,3112,0
+2006-02-13,09:24:00,3696.00,3696.00,3692.00,3692.00,2633,0
+2006-02-13,09:25:00,3693.00,3693.00,3691.00,3693.00,2172,0
+2006-02-13,09:26:00,3693.00,3695.00,3692.00,3695.00,1497,0
+2006-02-13,09:27:00,3695.00,3696.00,3695.00,3695.00,469,0
+2006-02-13,09:28:00,3695.00,3697.00,3695.00,3696.00,254,0
+2006-02-13,09:29:00,3697.00,3697.00,3693.00,3694.00,1247,0
+2006-02-13,09:30:00,3694.00,3698.00,3694.00,3697.00,530,0
+2006-02-13,09:31:00,3698.00,3698.00,3696.00,3697.00,898,0
+2006-02-13,09:32:00,3696.00,3696.00,3694.00,3695.00,1085,0
+2006-02-13,09:33:00,3695.00,3702.00,3695.00,3701.00,3381,0
+2006-02-13,09:34:00,3701.00,3702.00,3700.00,3700.00,1261,0
+2006-02-13,09:35:00,3700.00,3701.00,3699.00,3700.00,470,0
+2006-02-13,09:36:00,3700.00,3701.00,3699.00,3701.00,698,0
+2006-02-13,09:37:00,3700.00,3704.00,3700.00,3704.00,1284,0
+2006-02-13,09:38:00,3704.00,3706.00,3704.00,3704.00,1330,0
+2006-02-13,09:39:00,3704.00,3704.00,3702.00,3703.00,695,0
+2006-02-13,09:40:00,3702.00,3702.00,3700.00,3701.00,844,0
+2006-02-13,09:41:00,3701.00,3702.00,3700.00,3700.00,575,0
+2006-02-13,09:42:00,3700.00,3701.00,3699.00,3701.00,499,0
+2006-02-13,09:43:00,3701.00,3703.00,3701.00,3702.00,1472,0
+2006-02-13,09:44:00,3702.00,3703.00,3701.00,3702.00,201,0
+2006-02-13,09:45:00,3701.00,3701.00,3698.00,3698.00,1754,0
+2006-02-13,09:46:00,3698.00,3700.00,3698.00,3699.00,229,0
+2006-02-13,09:47:00,3698.00,3698.00,3696.00,3696.00,553,0
+2006-02-13,09:48:00,3696.00,3696.00,3694.00,3694.00,932,0
+2006-02-13,09:49:00,3694.00,3696.00,3694.00,3696.00,525,0
+2006-02-13,09:50:00,3696.00,3697.00,3695.00,3696.00,389,0
+2006-02-13,09:51:00,3697.00,3699.00,3696.00,3698.00,1358,0
+2006-02-13,09:52:00,3698.00,3701.00,3698.00,3701.00,1395,0
+2006-02-13,09:53:00,3701.00,3701.00,3698.00,3698.00,698,0
+2006-02-13,09:54:00,3699.00,3699.00,3697.00,3698.00,298,0
+2006-02-13,09:55:00,3699.00,3701.00,3699.00,3701.00,225,0
+2006-02-13,09:56:00,3701.00,3703.00,3701.00,3702.00,1364,0
+2006-02-13,09:57:00,3702.00,3702.00,3701.00,3701.00,6270,0
+2006-02-13,09:58:00,3701.00,3701.00,3700.00,3700.00,399,0
+2006-02-13,09:59:00,3700.00,3700.00,3697.00,3698.00,1191,0
+2006-02-13,10:00:00,3697.00,3699.00,3697.00,3699.00,340,0
+2006-02-13,10:01:00,3699.00,3700.00,3698.00,3700.00,218,0
+2006-02-13,10:02:00,3699.00,3701.00,3699.00,3701.00,514,0
+2006-02-13,10:03:00,3701.00,3703.00,3701.00,3701.00,511,0
+2006-02-13,10:04:00,3702.00,3702.00,3698.00,3698.00,503,0
+2006-02-13,10:05:00,3699.00,3699.00,3697.00,3697.00,850,0
+2006-02-13,10:06:00,3696.00,3698.00,3696.00,3697.00,468,0
+2006-02-13,10:07:00,3697.00,3699.00,3697.00,3698.00,212,0
+2006-02-13,10:08:00,3698.00,3699.00,3698.00,3699.00,586,0
+2006-02-13,10:09:00,3698.00,3699.00,3698.00,3699.00,126,0
+2006-02-13,10:10:00,3699.00,3699.00,3696.00,3696.00,808,0
+2006-02-13,10:11:00,3697.00,3698.00,3696.00,3697.00,635,0
+2006-02-13,10:12:00,3698.00,3699.00,3697.00,3699.00,251,0
+2006-02-13,10:13:00,3698.00,3698.00,3694.00,3695.00,1695,0
+2006-02-13,10:14:00,3695.00,3695.00,3693.00,3694.00,1025,0
+2006-02-13,10:15:00,3694.00,3694.00,3694.00,3694.00,183,0
+2006-02-13,10:16:00,3693.00,3696.00,3693.00,3695.00,764,0
+2006-02-13,10:17:00,3696.00,3697.00,3694.00,3695.00,635,0
+2006-02-13,10:18:00,3695.00,3695.00,3695.00,3695.00,38,0
+2006-02-13,10:19:00,3694.00,3694.00,3693.00,3694.00,233,0
+2006-02-13,10:20:00,3694.00,3696.00,3693.00,3695.00,911,0
+2006-02-13,10:21:00,3695.00,3699.00,3695.00,3698.00,1444,0
+2006-02-13,10:22:00,3698.00,3698.00,3697.00,3698.00,547,0
+2006-02-13,10:23:00,3697.00,3697.00,3695.00,3695.00,494,0
+2006-02-13,10:24:00,3695.00,3695.00,3694.00,3694.00,122,0
+2006-02-13,10:25:00,3695.00,3696.00,3694.00,3694.00,674,0
+2006-02-13,10:26:00,3695.00,3696.00,3695.00,3696.00,492,0
+2006-02-13,10:27:00,3696.00,3697.00,3696.00,3697.00,629,0
+2006-02-13,10:28:00,3697.00,3698.00,3697.00,3698.00,1851,0
+2006-02-13,10:29:00,3697.00,3699.00,3697.00,3698.00,420,0
+2006-02-13,10:30:00,3698.00,3698.00,3697.00,3698.00,117,0
+2006-02-13,10:31:00,3698.00,3699.00,3697.00,3698.00,581,0
+2006-02-13,10:32:00,3698.00,3699.00,3698.00,3698.00,764,0
+2006-02-13,10:33:00,3698.00,3698.00,3696.00,3696.00,611,0
+2006-02-13,10:34:00,3695.00,3696.00,3695.00,3695.00,556,0
+2006-02-13,10:35:00,3695.00,3696.00,3694.00,3694.00,184,0
+2006-02-13,10:36:00,3694.00,3696.00,3694.00,3696.00,3741,0
+2006-02-13,10:37:00,3696.00,3697.00,3696.00,3697.00,145,0
+2006-02-13,10:38:00,3697.00,3697.00,3696.00,3697.00,32,0
+2006-02-13,10:39:00,3697.00,3697.00,3697.00,3697.00,274,0
+2006-02-13,10:40:00,3698.00,3698.00,3697.00,3697.00,219,0
+2006-02-13,10:41:00,3697.00,3698.00,3697.00,3698.00,366,0
+2006-02-13,10:42:00,3698.00,3699.00,3698.00,3699.00,6,0
+2006-02-13,10:43:00,3698.00,3702.00,3698.00,3701.00,2106,0
+2006-02-13,10:44:00,3701.00,3701.00,3700.00,3700.00,600,0
+2006-02-13,10:45:00,3701.00,3701.00,3699.00,3700.00,545,0
+2006-02-13,10:46:00,3700.00,3700.00,3699.00,3699.00,153,0
+2006-02-13,10:47:00,3699.00,3699.00,3699.00,3699.00,116,0
+2006-02-13,10:48:00,3699.00,3700.00,3699.00,3699.00,29,0
+2006-02-13,10:49:00,3699.00,3700.00,3699.00,3699.00,213,0
+2006-02-13,10:50:00,3700.00,3701.00,3700.00,3701.00,605,0
+2006-02-13,10:51:00,3702.00,3705.00,3702.00,3704.00,1499,0
+2006-02-13,10:52:00,3704.00,3705.00,3703.00,3703.00,1448,0
+2006-02-13,10:53:00,3704.00,3704.00,3703.00,3703.00,10,0
+2006-02-13,10:54:00,3703.00,3704.00,3703.00,3704.00,263,0
+2006-02-13,10:55:00,3703.00,3704.00,3703.00,3703.00,277,0
+2006-02-13,10:56:00,3703.00,3703.00,3703.00,3703.00,193,0
+2006-02-13,10:57:00,3704.00,3704.00,3703.00,3703.00,181,0
+2006-02-13,10:58:00,3704.00,3704.00,3701.00,3702.00,385,0
+2006-02-13,10:59:00,3703.00,3704.00,3703.00,3703.00,307,0
+2006-02-13,11:00:00,3703.00,3703.00,3703.00,3703.00,212,0
+2006-02-13,11:01:00,3703.00,3708.00,3703.00,3708.00,3965,0
+2006-02-13,11:02:00,3708.00,3709.00,3707.00,3708.00,1626,0
+2006-02-13,11:03:00,3708.00,3709.00,3708.00,3708.00,855,0
+2006-02-13,11:04:00,3709.00,3711.00,3709.00,3710.00,1647,0
+2006-02-13,11:05:00,3710.00,3712.00,3709.00,3710.00,1738,0
+2006-02-13,11:06:00,3710.00,3711.00,3709.00,3710.00,798,0
+2006-02-13,11:07:00,3710.00,3711.00,3709.00,3711.00,1093,0
+2006-02-13,11:08:00,3711.00,3712.00,3710.00,3710.00,4756,0
+2006-02-13,11:09:00,3710.00,3710.00,3709.00,3710.00,322,0
+2006-02-13,11:10:00,3709.00,3710.00,3708.00,3709.00,740,0
+2006-02-13,11:11:00,3709.00,3711.00,3709.00,3711.00,941,0
+2006-02-13,11:12:00,3710.00,3710.00,3710.00,3710.00,44,0
+2006-02-13,11:13:00,3710.00,3711.00,3710.00,3711.00,117,0
+2006-02-13,11:14:00,3711.00,3711.00,3709.00,3710.00,351,0
+2006-02-13,11:15:00,3709.00,3710.00,3707.00,3708.00,811,0
+2006-02-13,11:16:00,3708.00,3709.00,3707.00,3708.00,540,0
+2006-02-13,11:17:00,3707.00,3708.00,3706.00,3707.00,194,0
+2006-02-13,11:18:00,3707.00,3708.00,3706.00,3707.00,741,0
+2006-02-13,11:19:00,3707.00,3707.00,3707.00,3707.00,126,0
+2006-02-13,11:20:00,3707.00,3709.00,3707.00,3709.00,179,0
+2006-02-13,11:21:00,3708.00,3709.00,3708.00,3709.00,63,0
+2006-02-13,11:22:00,3709.00,3709.00,3709.00,3709.00,1020,0
+2006-02-13,11:23:00,3708.00,3708.00,3707.00,3708.00,225,0
+2006-02-13,11:24:00,3707.00,3708.00,3707.00,3707.00,66,0
+2006-02-13,11:25:00,3707.00,3708.00,3706.00,3706.00,473,0
+2006-02-13,11:26:00,3707.00,3708.00,3706.00,3706.00,660,0
+2006-02-13,11:27:00,3707.00,3707.00,3707.00,3707.00,104,0
+2006-02-13,11:28:00,3707.00,3709.00,3707.00,3709.00,178,0
+2006-02-13,11:29:00,3709.00,3709.00,3708.00,3708.00,176,0
+2006-02-13,11:30:00,3709.00,3710.00,3709.00,3710.00,307,0
+2006-02-13,11:31:00,3710.00,3711.00,3709.00,3709.00,713,0
+2006-02-13,11:32:00,3709.00,3710.00,3708.00,3709.00,3114,0
+2006-02-13,11:33:00,3709.00,3710.00,3709.00,3709.00,29,0
+2006-02-13,11:34:00,3710.00,3711.00,3710.00,3711.00,2515,0
+2006-02-13,11:35:00,3710.00,3710.00,3710.00,3710.00,118,0
+2006-02-13,11:36:00,3710.00,3711.00,3710.00,3710.00,181,0
+2006-02-13,11:37:00,3709.00,3711.00,3709.00,3710.00,2215,0
+2006-02-13,11:38:00,3710.00,3711.00,3710.00,3710.00,76,0
+2006-02-13,11:39:00,3711.00,3711.00,3711.00,3711.00,81,0
+2006-02-13,11:40:00,3711.00,3711.00,3711.00,3711.00,8,0
+2006-02-13,11:41:00,3710.00,3711.00,3710.00,3711.00,512,0
+2006-02-13,11:42:00,3711.00,3711.00,3710.00,3710.00,63,0
+2006-02-13,11:43:00,3710.00,3711.00,3710.00,3711.00,16,0
+2006-02-13,11:44:00,3711.00,3712.00,3710.00,3710.00,886,0
+2006-02-13,11:45:00,3709.00,3709.00,3708.00,3709.00,188,0
+2006-02-13,11:46:00,3709.00,3709.00,3708.00,3708.00,400,0
+2006-02-13,11:47:00,3708.00,3708.00,3708.00,3708.00,25,0
+2006-02-13,11:48:00,3709.00,3709.00,3708.00,3708.00,43,0
+2006-02-13,11:49:00,3708.00,3708.00,3708.00,3708.00,2,0
+2006-02-13,11:50:00,3708.00,3709.00,3708.00,3709.00,64,0
+2006-02-13,11:51:00,3708.00,3708.00,3706.00,3707.00,1186,0
+2006-02-13,11:52:00,3707.00,3707.00,3706.00,3707.00,1554,0
+2006-02-13,11:53:00,3707.00,3707.00,3705.00,3705.00,770,0
+2006-02-13,11:54:00,3706.00,3707.00,3706.00,3707.00,80,0
+2006-02-13,11:55:00,3706.00,3707.00,3706.00,3707.00,38,0
+2006-02-13,11:56:00,3706.00,3706.00,3704.00,3705.00,1091,0
+2006-02-13,11:57:00,3705.00,3705.00,3705.00,3705.00,13,0
+2006-02-13,11:58:00,3705.00,3706.00,3705.00,3706.00,47,0
+2006-02-13,11:59:00,3705.00,3706.00,3705.00,3705.00,84,0
+2006-02-13,12:00:00,3706.00,3706.00,3705.00,3706.00,22,0
+2006-02-13,12:01:00,3705.00,3706.00,3705.00,3706.00,118,0
+2006-02-13,12:02:00,3705.00,3706.00,3705.00,3705.00,54,0
+2006-02-13,12:03:00,3706.00,3706.00,3705.00,3706.00,103,0
+2006-02-13,12:04:00,3706.00,3706.00,3706.00,3706.00,108,0
+2006-02-13,12:06:00,3705.00,3707.00,3705.00,3707.00,227,0
+2006-02-13,12:07:00,3707.00,3707.00,3707.00,3707.00,2,0
+2006-02-13,12:08:00,3706.00,3708.00,3706.00,3707.00,371,0
+2006-02-13,12:09:00,3707.00,3708.00,3707.00,3707.00,295,0
+2006-02-13,12:10:00,3707.00,3708.00,3707.00,3708.00,90,0
+2006-02-13,12:11:00,3708.00,3708.00,3707.00,3707.00,29,0
+2006-02-13,12:13:00,3708.00,3708.00,3707.00,3707.00,416,0
+2006-02-13,12:14:00,3707.00,3707.00,3707.00,3707.00,448,0
+2006-02-13,12:15:00,3707.00,3707.00,3707.00,3707.00,113,0
+2006-02-13,12:16:00,3707.00,3708.00,3707.00,3707.00,157,0
+2006-02-13,12:17:00,3707.00,3707.00,3707.00,3707.00,41,0
+2006-02-13,12:18:00,3708.00,3708.00,3707.00,3707.00,18,0
+2006-02-13,12:19:00,3708.00,3708.00,3708.00,3708.00,1,0
+2006-02-13,12:20:00,3708.00,3709.00,3708.00,3709.00,79,0
+2006-02-13,12:21:00,3709.00,3709.00,3709.00,3709.00,24,0
+2006-02-13,12:22:00,3709.00,3709.00,3709.00,3709.00,1014,0
+2006-02-13,12:23:00,3708.00,3709.00,3708.00,3709.00,14,0
+2006-02-13,12:25:00,3709.00,3709.00,3708.00,3709.00,40,0
+2006-02-13,12:26:00,3709.00,3709.00,3708.00,3708.00,1505,0
+2006-02-13,12:28:00,3709.00,3709.00,3708.00,3709.00,24,0
+2006-02-13,12:29:00,3709.00,3709.00,3708.00,3709.00,150,0
+2006-02-13,12:30:00,3708.00,3708.00,3708.00,3708.00,20,0
+2006-02-13,12:31:00,3709.00,3710.00,3709.00,3709.00,298,0
+2006-02-13,12:32:00,3709.00,3709.00,3709.00,3709.00,41,0
+2006-02-13,12:33:00,3709.00,3710.00,3708.00,3708.00,148,0
+2006-02-13,12:34:00,3709.00,3709.00,3709.00,3709.00,86,0
+2006-02-13,12:35:00,3709.00,3709.00,3708.00,3708.00,10,0
+2006-02-13,12:36:00,3708.00,3709.00,3708.00,3708.00,387,0
+2006-02-13,12:37:00,3707.00,3707.00,3707.00,3707.00,18,0
+2006-02-13,12:38:00,3707.00,3707.00,3707.00,3707.00,9,0
+2006-02-13,12:39:00,3707.00,3707.00,3707.00,3707.00,10,0
+2006-02-13,12:41:00,3707.00,3707.00,3706.00,3706.00,185,0
+2006-02-13,12:42:00,3706.00,3707.00,3706.00,3707.00,169,0
+2006-02-13,12:43:00,3707.00,3707.00,3707.00,3707.00,2,0
+2006-02-13,12:44:00,3707.00,3707.00,3706.00,3706.00,259,0
+2006-02-13,12:45:00,3707.00,3707.00,3707.00,3707.00,63,0
+2006-02-13,12:46:00,3706.00,3707.00,3705.00,3706.00,286,0
+2006-02-13,12:47:00,3706.00,3706.00,3706.00,3706.00,2,0
+2006-02-13,12:48:00,3707.00,3707.00,3707.00,3707.00,116,0
+2006-02-13,12:49:00,3706.00,3707.00,3706.00,3707.00,41,0
+2006-02-13,12:50:00,3706.00,3707.00,3706.00,3706.00,203,0
+2006-02-13,12:51:00,3707.00,3707.00,3707.00,3707.00,25,0
+2006-02-13,12:52:00,3707.00,3707.00,3707.00,3707.00,112,0
+2006-02-13,12:54:00,3707.00,3707.00,3707.00,3707.00,355,0
+2006-02-13,12:55:00,3707.00,3707.00,3706.00,3707.00,41,0
+2006-02-13,12:56:00,3707.00,3707.00,3706.00,3707.00,4135,0
+2006-02-13,12:58:00,3707.00,3707.00,3707.00,3707.00,650,0
+2006-02-13,12:59:00,3707.00,3708.00,3707.00,3708.00,42,0
+2006-02-13,13:00:00,3707.00,3707.00,3707.00,3707.00,371,0
+2006-02-13,13:01:00,3707.00,3708.00,3706.00,3708.00,436,0
+2006-02-13,13:02:00,3707.00,3709.00,3707.00,3707.00,304,0
+2006-02-13,13:03:00,3707.00,3709.00,3706.00,3709.00,660,0
+2006-02-13,13:04:00,3709.00,3709.00,3709.00,3709.00,369,0
+2006-02-13,13:05:00,3710.00,3710.00,3710.00,3710.00,11,0
+2006-02-13,13:06:00,3710.00,3713.00,3709.00,3712.00,1649,0
+2006-02-13,13:07:00,3712.00,3715.00,3712.00,3714.00,2430,0
+2006-02-13,13:08:00,3714.00,3715.00,3713.00,3713.00,1083,0
+2006-02-13,13:09:00,3713.00,3714.00,3712.00,3712.00,125,0
+2006-02-13,13:10:00,3713.00,3713.00,3712.00,3712.00,392,0
+2006-02-13,13:11:00,3713.00,3713.00,3712.00,3713.00,1596,0
+2006-02-13,13:12:00,3713.00,3713.00,3712.00,3713.00,189,0
+2006-02-13,13:13:00,3713.00,3714.00,3713.00,3714.00,511,0
+2006-02-13,13:14:00,3715.00,3715.00,3713.00,3714.00,338,0
+2006-02-13,13:15:00,3713.00,3714.00,3713.00,3713.00,639,0
+2006-02-13,13:16:00,3713.00,3713.00,3712.00,3712.00,60,0
+2006-02-13,13:17:00,3713.00,3713.00,3712.00,3712.00,180,0
+2006-02-13,13:18:00,3713.00,3713.00,3712.00,3713.00,421,0
+2006-02-13,13:19:00,3713.00,3713.00,3713.00,3713.00,36,0
+2006-02-13,13:20:00,3713.00,3713.00,3713.00,3713.00,3,0
+2006-02-13,13:21:00,3713.00,3713.00,3713.00,3713.00,262,0
+2006-02-13,13:23:00,3713.00,3714.00,3713.00,3714.00,46,0
+2006-02-13,13:24:00,3714.00,3714.00,3713.00,3713.00,103,0
+2006-02-13,13:25:00,3714.00,3715.00,3714.00,3714.00,496,0
+2006-02-13,13:26:00,3714.00,3715.00,3714.00,3715.00,130,0
+2006-02-13,13:27:00,3715.00,3715.00,3714.00,3714.00,47,0
+2006-02-13,13:28:00,3715.00,3715.00,3714.00,3715.00,288,0
+2006-02-13,13:29:00,3715.00,3716.00,3714.00,3715.00,1378,0
+2006-02-13,13:30:00,3715.00,3717.00,3715.00,3717.00,1497,0
+2006-02-13,13:31:00,3717.00,3718.00,3717.00,3717.00,1438,0
+2006-02-13,13:32:00,3718.00,3720.00,3718.00,3719.00,1497,0
+2006-02-13,13:33:00,3719.00,3720.00,3719.00,3719.00,1482,0
+2006-02-13,13:34:00,3719.00,3719.00,3718.00,3718.00,329,0
+2006-02-13,13:35:00,3719.00,3719.00,3718.00,3718.00,267,0
+2006-02-13,13:36:00,3718.00,3719.00,3718.00,3718.00,2091,0
+2006-02-13,13:37:00,3719.00,3721.00,3719.00,3721.00,2179,0
+2006-02-13,13:38:00,3721.00,3722.00,3719.00,3719.00,2471,0
+2006-02-13,13:39:00,3719.00,3720.00,3719.00,3720.00,1064,0
+2006-02-13,13:40:00,3721.00,3721.00,3720.00,3721.00,430,0
+2006-02-13,13:41:00,3720.00,3721.00,3719.00,3719.00,473,0
+2006-02-13,13:42:00,3720.00,3720.00,3719.00,3719.00,982,0
+2006-02-13,13:43:00,3719.00,3720.00,3719.00,3720.00,125,0
+2006-02-13,13:44:00,3719.00,3720.00,3719.00,3720.00,16,0
+2006-02-13,13:45:00,3719.00,3722.00,3719.00,3721.00,1230,0
+2006-02-13,13:46:00,3721.00,3721.00,3720.00,3720.00,464,0
+2006-02-13,13:47:00,3721.00,3721.00,3719.00,3719.00,345,0
+2006-02-13,13:48:00,3720.00,3720.00,3719.00,3720.00,689,0
+2006-02-13,13:49:00,3720.00,3720.00,3720.00,3720.00,174,0
+2006-02-13,13:50:00,3719.00,3720.00,3718.00,3719.00,1196,0
+2006-02-13,13:51:00,3718.00,3719.00,3718.00,3718.00,223,0
+2006-02-13,13:52:00,3718.00,3719.00,3718.00,3718.00,599,0
+2006-02-13,13:53:00,3718.00,3718.00,3716.00,3716.00,567,0
+2006-02-13,13:54:00,3717.00,3717.00,3715.00,3716.00,614,0
+2006-02-13,13:55:00,3716.00,3717.00,3716.00,3716.00,7,0
+2006-02-13,13:56:00,3717.00,3717.00,3716.00,3717.00,24,0
+2006-02-13,13:57:00,3717.00,3717.00,3716.00,3716.00,666,0
+2006-02-13,13:58:00,3716.00,3717.00,3716.00,3717.00,214,0
+2006-02-13,13:59:00,3716.00,3716.00,3715.00,3715.00,869,0
+2006-02-13,14:00:00,3715.00,3716.00,3715.00,3715.00,463,0
+2006-02-13,14:01:00,3716.00,3718.00,3716.00,3718.00,574,0
+2006-02-13,14:02:00,3718.00,3718.00,3718.00,3718.00,435,0
+2006-02-13,14:03:00,3718.00,3718.00,3718.00,3718.00,1044,0
+2006-02-13,14:04:00,3718.00,3720.00,3718.00,3718.00,689,0
+2006-02-13,14:05:00,3719.00,3719.00,3719.00,3719.00,128,0
+2006-02-13,14:06:00,3719.00,3719.00,3719.00,3719.00,104,0
+2006-02-13,14:07:00,3719.00,3719.00,3719.00,3719.00,89,0
+2006-02-13,14:08:00,3719.00,3720.00,3719.00,3719.00,284,0
+2006-02-13,14:09:00,3720.00,3721.00,3720.00,3721.00,683,0
+2006-02-13,14:10:00,3721.00,3721.00,3721.00,3721.00,682,0
+2006-02-13,14:11:00,3721.00,3724.00,3721.00,3723.00,3311,0
+2006-02-13,14:12:00,3723.00,3724.00,3723.00,3724.00,85,0
+2006-02-13,14:13:00,3724.00,3725.00,3723.00,3724.00,916,0
+2006-02-13,14:14:00,3724.00,3725.00,3723.00,3724.00,1005,0
+2006-02-13,14:15:00,3725.00,3725.00,3724.00,3724.00,1480,0
+2006-02-13,14:16:00,3724.00,3725.00,3723.00,3723.00,543,0
+2006-02-13,14:17:00,3724.00,3724.00,3722.00,3723.00,776,0
+2006-02-13,14:18:00,3723.00,3724.00,3722.00,3723.00,456,0
+2006-02-13,14:19:00,3723.00,3724.00,3722.00,3722.00,803,0
+2006-02-13,14:20:00,3721.00,3722.00,3718.00,3719.00,2575,0
+2006-02-13,14:21:00,3719.00,3719.00,3717.00,3718.00,1153,0
+2006-02-13,14:22:00,3718.00,3718.00,3717.00,3717.00,2796,0
+2006-02-13,14:23:00,3717.00,3717.00,3714.00,3714.00,2860,0
+2006-02-13,14:24:00,3714.00,3716.00,3714.00,3714.00,2385,0
+2006-02-13,14:25:00,3715.00,3715.00,3711.00,3711.00,2601,0
+2006-02-13,14:26:00,3711.00,3714.00,3709.00,3714.00,4273,0
+2006-02-13,14:27:00,3713.00,3716.00,3712.00,3715.00,3123,0
+2006-02-13,14:28:00,3715.00,3717.00,3712.00,3713.00,2397,0
+2006-02-13,14:29:00,3712.00,3713.00,3711.00,3713.00,2123,0
+2006-02-13,14:30:00,3713.00,3715.00,3712.00,3715.00,1600,0
+2006-02-13,14:31:00,3715.00,3718.00,3715.00,3717.00,2505,0
+2006-02-13,14:32:00,3717.00,3718.00,3716.00,3718.00,2757,0
+2006-02-13,14:33:00,3718.00,3722.00,3718.00,3721.00,2395,0
+2006-02-13,14:34:00,3721.00,3721.00,3719.00,3720.00,1497,0
+2006-02-13,14:35:00,3720.00,3721.00,3720.00,3721.00,690,0
+2006-02-13,14:36:00,3721.00,3721.00,3721.00,3721.00,25,0
+2006-02-13,14:37:00,3721.00,3721.00,3719.00,3720.00,1498,0
+2006-02-13,14:38:00,3720.00,3720.00,3719.00,3719.00,386,0
+2006-02-13,14:39:00,3718.00,3718.00,3718.00,3718.00,258,0
+2006-02-13,14:40:00,3718.00,3719.00,3718.00,3719.00,244,0
+2006-02-13,14:41:00,3718.00,3718.00,3718.00,3718.00,21,0
+2006-02-13,14:42:00,3718.00,3719.00,3718.00,3719.00,185,0
+2006-02-13,14:43:00,3718.00,3719.00,3718.00,3718.00,349,0
+2006-02-13,14:44:00,3718.00,3719.00,3718.00,3719.00,370,0
+2006-02-13,14:45:00,3718.00,3718.00,3718.00,3718.00,39,0
+2006-02-13,14:46:00,3717.00,3719.00,3717.00,3718.00,259,0
+2006-02-13,14:47:00,3719.00,3719.00,3718.00,3719.00,420,0
+2006-02-13,14:48:00,3719.00,3719.00,3718.00,3718.00,346,0
+2006-02-13,14:49:00,3719.00,3719.00,3718.00,3718.00,56,0
+2006-02-13,14:50:00,3719.00,3719.00,3718.00,3719.00,131,0
+2006-02-13,14:51:00,3718.00,3718.00,3717.00,3717.00,557,0
+2006-02-13,14:52:00,3718.00,3718.00,3717.00,3718.00,187,0
+2006-02-13,14:53:00,3718.00,3718.00,3718.00,3718.00,154,0
+2006-02-13,14:54:00,3719.00,3719.00,3719.00,3719.00,50,0
+2006-02-13,14:55:00,3718.00,3719.00,3718.00,3718.00,160,0
+2006-02-13,14:56:00,3718.00,3719.00,3718.00,3719.00,19,0
+2006-02-13,14:57:00,3718.00,3718.00,3718.00,3718.00,15,0
+2006-02-13,14:58:00,3718.00,3718.00,3717.00,3717.00,273,0
+2006-02-13,14:59:00,3717.00,3718.00,3717.00,3718.00,286,0
+2006-02-13,15:00:00,3718.00,3718.00,3716.00,3717.00,514,0
+2006-02-13,15:01:00,3717.00,3718.00,3716.00,3716.00,535,0
+2006-02-13,15:02:00,3716.00,3719.00,3716.00,3718.00,993,0
+2006-02-13,15:03:00,3718.00,3719.00,3718.00,3718.00,326,0
+2006-02-13,15:04:00,3719.00,3719.00,3718.00,3718.00,112,0
+2006-02-13,15:05:00,3718.00,3718.00,3718.00,3718.00,5,0
+2006-02-13,15:06:00,3719.00,3719.00,3718.00,3719.00,337,0
+2006-02-13,15:07:00,3718.00,3719.00,3718.00,3719.00,6,0
+2006-02-13,15:09:00,3718.00,3719.00,3718.00,3718.00,97,0
+2006-02-13,15:10:00,3719.00,3719.00,3717.00,3717.00,224,0
+2006-02-13,15:11:00,3718.00,3718.00,3717.00,3718.00,357,0
+2006-02-13,15:12:00,3718.00,3718.00,3717.00,3718.00,147,0
+2006-02-13,15:13:00,3718.00,3718.00,3717.00,3717.00,441,0
+2006-02-13,15:14:00,3718.00,3719.00,3718.00,3718.00,90,0
+2006-02-13,15:15:00,3719.00,3719.00,3717.00,3717.00,265,0
+2006-02-13,15:16:00,3717.00,3718.00,3717.00,3717.00,21,0
+2006-02-13,15:17:00,3718.00,3718.00,3717.00,3717.00,66,0
+2006-02-13,15:18:00,3718.00,3718.00,3716.00,3716.00,280,0
+2006-02-13,15:19:00,3717.00,3717.00,3715.00,3715.00,585,0
+2006-02-13,15:20:00,3716.00,3716.00,3715.00,3715.00,393,0
+2006-02-13,15:21:00,3715.00,3716.00,3715.00,3715.00,30,0
+2006-02-13,15:22:00,3715.00,3715.00,3715.00,3715.00,161,0
+2006-02-13,15:23:00,3716.00,3716.00,3715.00,3715.00,8,0
+2006-02-13,15:24:00,3715.00,3716.00,3715.00,3715.00,34,0
+2006-02-13,15:25:00,3715.00,3716.00,3715.00,3715.00,27,0
+2006-02-13,15:26:00,3716.00,3717.00,3715.00,3716.00,217,0
+2006-02-13,15:27:00,3716.00,3717.00,3716.00,3716.00,79,0
+2006-02-13,15:28:00,3716.00,3717.00,3716.00,3716.00,91,0
+2006-02-13,15:29:00,3716.00,3716.00,3714.00,3714.00,300,0
+2006-02-13,15:30:00,3715.00,3715.00,3714.00,3714.00,29,0
+2006-02-13,15:31:00,3715.00,3715.00,3713.00,3714.00,754,0
+2006-02-13,15:32:00,3714.00,3714.00,3713.00,3714.00,627,0
+2006-02-13,15:33:00,3713.00,3714.00,3712.00,3713.00,733,0
+2006-02-13,15:34:00,3712.00,3713.00,3711.00,3712.00,682,0
+2006-02-13,15:35:00,3712.00,3713.00,3712.00,3713.00,967,0
+2006-02-13,15:36:00,3713.00,3718.00,3712.00,3717.00,1917,0
+2006-02-13,15:37:00,3717.00,3717.00,3716.00,3717.00,463,0
+2006-02-13,15:38:00,3716.00,3716.00,3714.00,3714.00,813,0
+2006-02-13,15:39:00,3714.00,3714.00,3712.00,3713.00,3018,0
+2006-02-13,15:40:00,3713.00,3714.00,3713.00,3714.00,113,0
+2006-02-13,15:41:00,3713.00,3713.00,3711.00,3711.00,1130,0
+2006-02-13,15:42:00,3711.00,3714.00,3711.00,3712.00,1981,0
+2006-02-13,15:43:00,3712.00,3713.00,3712.00,3712.00,523,0
+2006-02-13,15:44:00,3712.00,3714.00,3711.00,3714.00,329,0
+2006-02-13,15:45:00,3713.00,3718.00,3713.00,3717.00,2002,0
+2006-02-13,15:46:00,3718.00,3718.00,3716.00,3717.00,573,0
+2006-02-13,15:47:00,3717.00,3722.00,3716.00,3722.00,4679,0
+2006-02-13,15:48:00,3721.00,3722.00,3719.00,3720.00,2320,0
+2006-02-13,15:49:00,3720.00,3720.00,3718.00,3718.00,906,0
+2006-02-13,15:50:00,3718.00,3720.00,3718.00,3719.00,2116,0
+2006-02-13,15:51:00,3718.00,3719.00,3717.00,3718.00,2087,0
+2006-02-13,15:52:00,3717.00,3719.00,3717.00,3719.00,620,0
+2006-02-13,15:53:00,3719.00,3720.00,3718.00,3718.00,632,0
+2006-02-13,15:54:00,3718.00,3718.00,3717.00,3717.00,428,0
+2006-02-13,15:55:00,3717.00,3717.00,3716.00,3717.00,1630,0
+2006-02-13,15:56:00,3717.00,3718.00,3716.00,3718.00,1376,0
+2006-02-13,15:57:00,3718.00,3718.00,3716.00,3717.00,679,0
+2006-02-13,15:58:00,3716.00,3717.00,3715.00,3716.00,682,0
+2006-02-13,15:59:00,3717.00,3720.00,3717.00,3718.00,1539,0
+2006-02-13,16:00:00,3718.00,3718.00,3717.00,3718.00,157,0
+2006-02-13,16:01:00,3718.00,3718.00,3714.00,3714.00,3706,0
+2006-02-13,16:02:00,3715.00,3719.00,3715.00,3718.00,1650,0
+2006-02-13,16:03:00,3718.00,3720.00,3718.00,3719.00,1390,0
+2006-02-13,16:04:00,3719.00,3721.00,3719.00,3720.00,388,0
+2006-02-13,16:05:00,3720.00,3722.00,3719.00,3719.00,1715,0
+2006-02-13,16:06:00,3720.00,3721.00,3719.00,3720.00,2024,0
+2006-02-13,16:07:00,3720.00,3720.00,3718.00,3718.00,2489,0
+2006-02-13,16:08:00,3719.00,3721.00,3718.00,3720.00,2552,0
+2006-02-13,16:09:00,3720.00,3720.00,3718.00,3719.00,1605,0
+2006-02-13,16:10:00,3718.00,3720.00,3718.00,3719.00,627,0
+2006-02-13,16:11:00,3720.00,3721.00,3720.00,3721.00,1606,0
+2006-02-13,16:12:00,3721.00,3722.00,3719.00,3720.00,1357,0
+2006-02-13,16:13:00,3720.00,3723.00,3720.00,3722.00,1617,0
+2006-02-13,16:14:00,3723.00,3725.00,3722.00,3723.00,3282,0
+2006-02-13,16:15:00,3723.00,3726.00,3723.00,3725.00,3415,0
+2006-02-13,16:16:00,3724.00,3725.00,3724.00,3724.00,822,0
+2006-02-13,16:17:00,3723.00,3723.00,3721.00,3723.00,1659,0
+2006-02-13,16:18:00,3724.00,3724.00,3721.00,3722.00,1728,0
+2006-02-13,16:19:00,3722.00,3723.00,3721.00,3722.00,561,0
+2006-02-13,16:20:00,3722.00,3723.00,3722.00,3723.00,677,0
+2006-02-13,16:21:00,3722.00,3722.00,3718.00,3718.00,2242,0
+2006-02-13,16:22:00,3718.00,3719.00,3717.00,3719.00,2858,0
+2006-02-13,16:23:00,3719.00,3720.00,3718.00,3720.00,784,0
+2006-02-13,16:24:00,3719.00,3721.00,3719.00,3721.00,1032,0
+2006-02-13,16:25:00,3721.00,3721.00,3717.00,3718.00,1348,0
+2006-02-13,16:26:00,3718.00,3720.00,3718.00,3720.00,1378,0
+2006-02-13,16:27:00,3720.00,3721.00,3718.00,3720.00,1190,0
+2006-02-13,16:28:00,3719.00,3721.00,3719.00,3721.00,1693,0
+2006-02-13,16:29:00,3721.00,3721.00,3718.00,3719.00,1213,0
+2006-02-13,16:30:00,3719.00,3721.00,3718.00,3721.00,1680,0
+2006-02-13,16:31:00,3721.00,3722.00,3721.00,3721.00,1011,0
+2006-02-13,16:32:00,3721.00,3721.00,3718.00,3719.00,1596,0
+2006-02-13,16:33:00,3719.00,3721.00,3719.00,3720.00,1244,0
+2006-02-13,16:34:00,3720.00,3722.00,3720.00,3721.00,940,0
+2006-02-13,16:35:00,3721.00,3724.00,3721.00,3723.00,1699,0
+2006-02-13,16:36:00,3723.00,3724.00,3722.00,3723.00,1588,0
+2006-02-13,16:37:00,3723.00,3723.00,3723.00,3723.00,448,0
+2006-02-13,16:38:00,3722.00,3723.00,3721.00,3722.00,599,0
+2006-02-13,16:39:00,3722.00,3722.00,3720.00,3721.00,1706,0
+2006-02-13,16:40:00,3721.00,3721.00,3719.00,3721.00,2781,0
+2006-02-13,16:41:00,3721.00,3721.00,3717.00,3717.00,1089,0
+2006-02-13,16:42:00,3717.00,3718.00,3715.00,3718.00,1613,0
+2006-02-13,16:43:00,3718.00,3719.00,3716.00,3716.00,1910,0
+2006-02-13,16:44:00,3717.00,3718.00,3716.00,3717.00,530,0
+2006-02-13,16:45:00,3717.00,3718.00,3716.00,3718.00,1301,0
+2006-02-13,16:46:00,3718.00,3720.00,3717.00,3720.00,1123,0
+2006-02-13,16:47:00,3720.00,3720.00,3717.00,3719.00,787,0
+2006-02-13,16:48:00,3719.00,3722.00,3719.00,3722.00,1391,0
+2006-02-13,16:49:00,3721.00,3721.00,3718.00,3719.00,1171,0
+2006-02-13,16:50:00,3720.00,3722.00,3720.00,3722.00,2160,0
+2006-02-13,16:51:00,3722.00,3725.00,3722.00,3725.00,2080,0
+2006-02-13,16:52:00,3725.00,3726.00,3724.00,3725.00,2108,0
+2006-02-13,16:53:00,3725.00,3726.00,3723.00,3724.00,1194,0
+2006-02-13,16:54:00,3724.00,3725.00,3723.00,3724.00,1025,0
+2006-02-13,16:55:00,3725.00,3725.00,3723.00,3723.00,396,0
+2006-02-13,16:56:00,3723.00,3723.00,3721.00,3722.00,1081,0
+2006-02-13,16:57:00,3721.00,3723.00,3721.00,3723.00,578,0
+2006-02-13,16:58:00,3723.00,3724.00,3722.00,3723.00,392,0
+2006-02-13,16:59:00,3723.00,3724.00,3721.00,3723.00,958,0
+2006-02-13,17:00:00,3723.00,3723.00,3722.00,3723.00,118,0
+2006-02-13,17:01:00,3723.00,3725.00,3723.00,3725.00,1526,0
+2006-02-13,17:02:00,3725.00,3726.00,3724.00,3725.00,1645,0
+2006-02-13,17:03:00,3724.00,3724.00,3722.00,3723.00,1338,0
+2006-02-13,17:04:00,3724.00,3725.00,3723.00,3725.00,804,0
+2006-02-13,17:05:00,3725.00,3725.00,3723.00,3723.00,749,0
+2006-02-13,17:06:00,3723.00,3724.00,3721.00,3722.00,1808,0
+2006-02-13,17:07:00,3722.00,3727.00,3722.00,3727.00,1816,0
+2006-02-13,17:08:00,3727.00,3727.00,3726.00,3727.00,964,0
+2006-02-13,17:09:00,3727.00,3727.00,3725.00,3726.00,2498,0
+2006-02-13,17:10:00,3727.00,3728.00,3725.00,3728.00,3710,0
+2006-02-13,17:11:00,3727.00,3733.00,3727.00,3731.00,7521,0
+2006-02-13,17:12:00,3731.00,3733.00,3730.00,3732.00,2344,0
+2006-02-13,17:13:00,3731.00,3732.00,3729.00,3729.00,3030,0
+2006-02-13,17:14:00,3728.00,3730.00,3728.00,3730.00,1756,0
+2006-02-13,17:15:00,3730.00,3730.00,3729.00,3730.00,452,0
+2006-02-13,17:16:00,3730.00,3730.00,3728.00,3729.00,1569,0
+2006-02-13,17:17:00,3729.00,3730.00,3728.00,3729.00,1370,0
+2006-02-13,17:18:00,3728.00,3729.00,3728.00,3729.00,765,0
+2006-02-13,17:19:00,3730.00,3730.00,3728.00,3728.00,1180,0
+2006-02-13,17:20:00,3729.00,3730.00,3728.00,3730.00,899,0
+2006-02-13,17:21:00,3730.00,3730.00,3729.00,3730.00,2100,0
+2006-02-13,17:22:00,3729.00,3730.00,3728.00,3729.00,1571,0
+2006-02-13,17:23:00,3730.00,3730.00,3729.00,3730.00,731,0
+2006-02-13,17:24:00,3730.00,3731.00,3729.00,3731.00,1193,0
+2006-02-13,17:25:00,3731.00,3731.00,3729.00,3730.00,1790,0
+2006-02-13,17:26:00,3730.00,3731.00,3729.00,3730.00,1149,0
+2006-02-13,17:27:00,3730.00,3733.00,3729.00,3732.00,2947,0
+2006-02-13,17:28:00,3732.00,3736.00,3732.00,3734.00,4409,0
+2006-02-13,17:29:00,3735.00,3735.00,3732.00,3734.00,2461,0
+2006-02-13,17:30:00,3734.00,3737.00,3733.00,3736.00,9439,0
+2006-02-13,17:31:00,3737.00,3737.00,3735.00,3736.00,5583,0
+2006-02-13,17:32:00,3736.00,3738.00,3736.00,3736.00,2611,0
+2006-02-13,17:33:00,3736.00,3737.00,3736.00,3736.00,1796,0
+2006-02-13,17:34:00,3737.00,3737.00,3736.00,3736.00,1287,0
+2006-02-13,17:35:00,3736.00,3737.00,3735.00,3736.00,1945,0
+2006-02-13,17:36:00,3736.00,3738.00,3736.00,3737.00,3166,0
+2006-02-13,17:37:00,3738.00,3738.00,3736.00,3736.00,1189,0
+2006-02-13,17:38:00,3736.00,3736.00,3735.00,3736.00,1458,0
+2006-02-13,17:39:00,3735.00,3737.00,3735.00,3736.00,327,0
+2006-02-13,17:40:00,3736.00,3737.00,3736.00,3737.00,44,0
+2006-02-13,17:41:00,3737.00,3737.00,3735.00,3735.00,511,0
+2006-02-13,17:42:00,3735.00,3737.00,3735.00,3736.00,790,0
+2006-02-13,17:43:00,3737.00,3737.00,3736.00,3737.00,959,0
+2006-02-13,17:44:00,3736.00,3737.00,3736.00,3737.00,844,0
+2006-02-13,17:45:00,3737.00,3737.00,3736.00,3737.00,891,0
+2006-02-13,17:46:00,3736.00,3737.00,3735.00,3736.00,1215,0
+2006-02-13,17:47:00,3736.00,3736.00,3735.00,3735.00,447,0
+2006-02-13,17:48:00,3736.00,3736.00,3735.00,3735.00,800,0
+2006-02-13,17:49:00,3735.00,3737.00,3735.00,3737.00,543,0
+2006-02-13,17:50:00,3737.00,3737.00,3736.00,3737.00,984,0
+2006-02-13,17:51:00,3737.00,3738.00,3737.00,3738.00,164,0
+2006-02-13,17:52:00,3737.00,3739.00,3737.00,3739.00,2139,0
+2006-02-13,17:53:00,3739.00,3739.00,3737.00,3737.00,822,0
+2006-02-13,17:54:00,3737.00,3738.00,3737.00,3737.00,644,0
+2006-02-13,17:55:00,3737.00,3738.00,3737.00,3738.00,156,0
+2006-02-13,17:56:00,3739.00,3740.00,3738.00,3738.00,2256,0
+2006-02-13,17:57:00,3738.00,3738.00,3737.00,3737.00,550,0
+2006-02-13,17:58:00,3737.00,3739.00,3737.00,3739.00,305,0
+2006-02-13,17:59:00,3738.00,3738.00,3737.00,3737.00,296,0
+2006-02-13,18:00:00,3737.00,3740.00,3737.00,3739.00,1167,0
+2006-02-13,18:01:00,3740.00,3740.00,3738.00,3738.00,119,0
+2006-02-13,18:02:00,3738.00,3740.00,3738.00,3739.00,521,0
+2006-02-13,18:03:00,3739.00,3740.00,3739.00,3739.00,235,0
+2006-02-13,18:04:00,3739.00,3739.00,3738.00,3738.00,220,0
+2006-02-13,18:05:00,3738.00,3739.00,3737.00,3739.00,608,0
+2006-02-13,18:06:00,3738.00,3738.00,3737.00,3738.00,57,0
+2006-02-13,18:07:00,3738.00,3738.00,3737.00,3737.00,65,0
+2006-02-13,18:08:00,3737.00,3737.00,3737.00,3737.00,18,0
+2006-02-13,18:09:00,3737.00,3737.00,3737.00,3737.00,1005,0
+2006-02-13,18:10:00,3737.00,3737.00,3736.00,3737.00,767,0
+2006-02-13,18:11:00,3737.00,3738.00,3737.00,3738.00,322,0
+2006-02-13,18:12:00,3738.00,3741.00,3738.00,3740.00,978,0
+2006-02-13,18:13:00,3741.00,3741.00,3739.00,3740.00,575,0
+2006-02-13,18:14:00,3739.00,3740.00,3739.00,3740.00,64,0
+2006-02-13,18:15:00,3740.00,3740.00,3739.00,3740.00,24,0
+2006-02-13,18:16:00,3739.00,3740.00,3739.00,3739.00,535,0
+2006-02-13,18:17:00,3739.00,3739.00,3738.00,3739.00,146,0
+2006-02-13,18:18:00,3739.00,3740.00,3739.00,3740.00,33,0
+2006-02-13,18:19:00,3740.00,3740.00,3740.00,3740.00,118,0
+2006-02-13,18:20:00,3741.00,3741.00,3740.00,3741.00,73,0
+2006-02-13,18:21:00,3740.00,3741.00,3740.00,3741.00,190,0
+2006-02-13,18:22:00,3741.00,3741.00,3740.00,3740.00,400,0
+2006-02-13,18:23:00,3741.00,3742.00,3740.00,3740.00,192,0
+2006-02-13,18:24:00,3740.00,3740.00,3740.00,3740.00,52,0
+2006-02-13,18:25:00,3740.00,3740.00,3739.00,3739.00,155,0
+2006-02-13,18:26:00,3739.00,3739.00,3738.00,3739.00,363,0
+2006-02-13,18:27:00,3739.00,3739.00,3739.00,3739.00,66,0
+2006-02-13,18:28:00,3739.00,3739.00,3739.00,3739.00,14,0
+2006-02-13,18:29:00,3739.00,3739.00,3738.00,3739.00,318,0
+2006-02-13,18:30:00,3739.00,3739.00,3738.00,3738.00,77,0
+2006-02-13,18:31:00,3738.00,3738.00,3738.00,3738.00,6,0
+2006-02-13,18:32:00,3738.00,3738.00,3738.00,3738.00,329,0
+2006-02-13,18:33:00,3738.00,3739.00,3737.00,3738.00,1175,0
+2006-02-13,18:34:00,3738.00,3738.00,3737.00,3737.00,366,0
+2006-02-13,18:35:00,3737.00,3737.00,3737.00,3737.00,40,0
+2006-02-13,18:36:00,3737.00,3737.00,3737.00,3737.00,108,0
+2006-02-13,18:37:00,3738.00,3738.00,3736.00,3736.00,244,0
+2006-02-13,18:38:00,3737.00,3737.00,3736.00,3736.00,82,0
+2006-02-13,18:39:00,3736.00,3736.00,3734.00,3734.00,2160,0
+2006-02-13,18:40:00,3734.00,3734.00,3729.00,3730.00,2368,0
+2006-02-13,18:41:00,3729.00,3730.00,3728.00,3730.00,1988,0
+2006-02-13,18:42:00,3730.00,3730.00,3728.00,3730.00,714,0
+2006-02-13,18:43:00,3730.00,3731.00,3730.00,3731.00,20,0
+2006-02-13,18:44:00,3731.00,3731.00,3730.00,3730.00,254,0
+2006-02-13,18:45:00,3731.00,3731.00,3730.00,3730.00,269,0
+2006-02-13,18:46:00,3730.00,3731.00,3730.00,3731.00,540,0
+2006-02-13,18:47:00,3731.00,3732.00,3730.00,3731.00,579,0
+2006-02-13,18:48:00,3731.00,3731.00,3731.00,3731.00,170,0
+2006-02-13,18:49:00,3731.00,3731.00,3730.00,3731.00,184,0
+2006-02-13,18:50:00,3732.00,3733.00,3731.00,3733.00,471,0
+2006-02-13,18:51:00,3732.00,3733.00,3732.00,3733.00,265,0
+2006-02-13,18:52:00,3733.00,3733.00,3732.00,3732.00,37,0
+2006-02-13,18:53:00,3732.00,3733.00,3732.00,3732.00,270,0
+2006-02-13,18:54:00,3731.00,3731.00,3731.00,3731.00,178,0
+2006-02-13,18:55:00,3731.00,3731.00,3731.00,3731.00,1,0
+2006-02-13,18:56:00,3732.00,3732.00,3731.00,3732.00,146,0
+2006-02-13,18:57:00,3732.00,3732.00,3731.00,3731.00,48,0
+2006-02-13,18:58:00,3731.00,3731.00,3731.00,3731.00,35,0
+2006-02-13,18:59:00,3731.00,3731.00,3731.00,3731.00,12,0
+2006-02-13,19:00:00,3732.00,3732.00,3731.00,3731.00,48,0
+2006-02-13,19:01:00,3731.00,3731.00,3730.00,3731.00,403,0
+2006-02-13,19:02:00,3731.00,3731.00,3731.00,3731.00,1,0
+2006-02-13,19:03:00,3732.00,3733.00,3732.00,3732.00,227,0
+2006-02-13,19:04:00,3733.00,3733.00,3733.00,3733.00,83,0
+2006-02-13,19:05:00,3733.00,3733.00,3732.00,3733.00,150,0
+2006-02-13,19:06:00,3733.00,3734.00,3732.00,3733.00,168,0
+2006-02-13,19:07:00,3734.00,3734.00,3733.00,3734.00,409,0
+2006-02-13,19:08:00,3734.00,3736.00,3734.00,3735.00,359,0
+2006-02-13,19:09:00,3735.00,3735.00,3734.00,3734.00,53,0
+2006-02-13,19:10:00,3734.00,3735.00,3734.00,3734.00,234,0
+2006-02-13,19:11:00,3734.00,3734.00,3734.00,3734.00,70,0
+2006-02-13,19:12:00,3733.00,3733.00,3730.00,3730.00,805,0
+2006-02-13,19:13:00,3730.00,3732.00,3729.00,3730.00,603,0
+2006-02-13,19:14:00,3730.00,3731.00,3729.00,3729.00,127,0
+2006-02-13,19:15:00,3730.00,3730.00,3723.00,3725.00,2742,0
+2006-02-13,19:16:00,3726.00,3726.00,3723.00,3726.00,587,0
+2006-02-13,19:17:00,3726.00,3726.00,3721.00,3721.00,1582,0
+2006-02-13,19:18:00,3721.00,3722.00,3721.00,3721.00,993,0
+2006-02-13,19:19:00,3721.00,3722.00,3718.00,3721.00,1570,0
+2006-02-13,19:20:00,3721.00,3722.00,3720.00,3722.00,504,0
+2006-02-13,19:21:00,3722.00,3723.00,3722.00,3723.00,518,0
+2006-02-13,19:22:00,3724.00,3724.00,3722.00,3723.00,765,0
+2006-02-13,19:23:00,3723.00,3724.00,3723.00,3723.00,59,0
+2006-02-13,19:24:00,3723.00,3725.00,3723.00,3725.00,140,0
+2006-02-13,19:25:00,3724.00,3725.00,3724.00,3724.00,248,0
+2006-02-13,19:26:00,3724.00,3724.00,3723.00,3724.00,130,0
+2006-02-13,19:27:00,3725.00,3725.00,3723.00,3723.00,47,0
+2006-02-13,19:28:00,3724.00,3724.00,3723.00,3724.00,430,0
+2006-02-13,19:29:00,3724.00,3725.00,3724.00,3724.00,110,0
+2006-02-13,19:30:00,3724.00,3724.00,3723.00,3724.00,192,0
+2006-02-13,19:31:00,3724.00,3724.00,3722.00,3722.00,609,0
+2006-02-13,19:32:00,3723.00,3723.00,3721.00,3722.00,623,0
+2006-02-13,19:33:00,3721.00,3721.00,3718.00,3719.00,1236,0
+2006-02-13,19:34:00,3719.00,3720.00,3718.00,3720.00,491,0
+2006-02-13,19:35:00,3720.00,3720.00,3719.00,3720.00,77,0
+2006-02-13,19:36:00,3720.00,3720.00,3719.00,3720.00,472,0
+2006-02-13,19:37:00,3720.00,3720.00,3718.00,3719.00,775,0
+2006-02-13,19:38:00,3719.00,3719.00,3718.00,3719.00,99,0
+2006-02-13,19:39:00,3719.00,3720.00,3719.00,3720.00,66,0
+2006-02-13,19:40:00,3721.00,3721.00,3719.00,3720.00,207,0
+2006-02-13,19:41:00,3720.00,3721.00,3720.00,3721.00,369,0
+2006-02-13,19:42:00,3721.00,3723.00,3721.00,3723.00,186,0
+2006-02-13,19:43:00,3723.00,3723.00,3723.00,3723.00,253,0
+2006-02-13,19:44:00,3723.00,3723.00,3722.00,3722.00,137,0
+2006-02-13,19:45:00,3723.00,3725.00,3723.00,3725.00,190,0
+2006-02-13,19:46:00,3725.00,3725.00,3724.00,3724.00,23,0
+2006-02-13,19:47:00,3725.00,3725.00,3725.00,3725.00,235,0
+2006-02-13,19:48:00,3725.00,3725.00,3724.00,3724.00,59,0
+2006-02-13,19:49:00,3724.00,3724.00,3723.00,3723.00,111,0
+2006-02-13,19:50:00,3722.00,3722.00,3722.00,3722.00,1,0
+2006-02-13,19:51:00,3723.00,3723.00,3723.00,3723.00,44,0
+2006-02-13,19:52:00,3723.00,3723.00,3722.00,3722.00,119,0
+2006-02-13,19:53:00,3722.00,3722.00,3721.00,3722.00,51,0
+2006-02-13,19:54:00,3722.00,3722.00,3721.00,3722.00,56,0
+2006-02-13,19:55:00,3722.00,3723.00,3722.00,3722.00,142,0
+2006-02-13,19:56:00,3722.00,3722.00,3722.00,3722.00,22,0
+2006-02-13,19:57:00,3722.00,3722.00,3720.00,3720.00,139,0
+2006-02-13,19:58:00,3720.00,3721.00,3720.00,3721.00,55,0
+2006-02-13,19:59:00,3721.00,3721.00,3720.00,3720.00,63,0
+2006-02-13,20:00:00,3719.00,3719.00,3717.00,3717.00,1117,0
+2006-02-13,20:01:00,3716.00,3718.00,3716.00,3718.00,500,0
+2006-02-13,20:02:00,3718.00,3719.00,3718.00,3719.00,44,0
+2006-02-13,20:03:00,3719.00,3719.00,3718.00,3719.00,240,0
+2006-02-13,20:04:00,3719.00,3721.00,3719.00,3721.00,275,0
+2006-02-13,20:05:00,3721.00,3721.00,3720.00,3720.00,209,0
+2006-02-13,20:06:00,3720.00,3720.00,3720.00,3720.00,230,0
+2006-02-13,20:07:00,3721.00,3721.00,3720.00,3720.00,3,0
+2006-02-13,20:08:00,3720.00,3720.00,3720.00,3720.00,1,0
+2006-02-13,20:09:00,3720.00,3721.00,3719.00,3720.00,76,0
+2006-02-13,20:10:00,3720.00,3720.00,3720.00,3720.00,51,0
+2006-02-13,20:11:00,3720.00,3721.00,3720.00,3721.00,144,0
+2006-02-13,20:12:00,3721.00,3721.00,3720.00,3721.00,107,0
+2006-02-13,20:13:00,3720.00,3720.00,3719.00,3719.00,96,0
+2006-02-13,20:14:00,3719.00,3719.00,3719.00,3719.00,135,0
+2006-02-13,20:15:00,3718.00,3718.00,3718.00,3718.00,251,0
+2006-02-13,20:16:00,3718.00,3719.00,3718.00,3718.00,15,0
+2006-02-13,20:17:00,3718.00,3720.00,3718.00,3720.00,206,0
+2006-02-13,20:18:00,3720.00,3723.00,3720.00,3723.00,476,0
+2006-02-13,20:19:00,3723.00,3724.00,3723.00,3723.00,106,0
+2006-02-13,20:20:00,3723.00,3723.00,3723.00,3723.00,46,0
+2006-02-13,20:21:00,3723.00,3723.00,3722.00,3722.00,2,0
+2006-02-13,20:22:00,3722.00,3722.00,3722.00,3722.00,41,0
+2006-02-13,20:23:00,3723.00,3723.00,3723.00,3723.00,31,0
+2006-02-13,20:24:00,3724.00,3724.00,3724.00,3724.00,96,0
+2006-02-13,20:25:00,3724.00,3725.00,3724.00,3724.00,181,0
+2006-02-13,20:26:00,3724.00,3724.00,3723.00,3723.00,84,0
+2006-02-13,20:27:00,3723.00,3724.00,3723.00,3723.00,53,0
+2006-02-13,20:28:00,3723.00,3723.00,3723.00,3723.00,21,0
+2006-02-13,20:29:00,3723.00,3723.00,3723.00,3723.00,22,0
+2006-02-13,20:31:00,3723.00,3723.00,3723.00,3723.00,41,0
+2006-02-13,20:32:00,3723.00,3723.00,3723.00,3723.00,3,0
+2006-02-13,20:33:00,3723.00,3723.00,3723.00,3723.00,18,0
+2006-02-13,20:35:00,3723.00,3724.00,3723.00,3724.00,11,0
+2006-02-13,20:36:00,3724.00,3724.00,3723.00,3724.00,251,0
+2006-02-13,20:37:00,3724.00,3724.00,3724.00,3724.00,18,0
+2006-02-13,20:38:00,3723.00,3723.00,3723.00,3723.00,6,0
+2006-02-13,20:39:00,3723.00,3723.00,3723.00,3723.00,4,0
+2006-02-13,20:40:00,3723.00,3724.00,3723.00,3724.00,53,0
+2006-02-13,20:41:00,3723.00,3723.00,3722.00,3722.00,44,0
+2006-02-13,20:43:00,3723.00,3723.00,3723.00,3723.00,32,0
+2006-02-13,20:44:00,3723.00,3723.00,3723.00,3723.00,1,0
+2006-02-13,20:45:00,3723.00,3723.00,3723.00,3723.00,7,0
+2006-02-13,20:46:00,3722.00,3722.00,3722.00,3722.00,13,0
+2006-02-13,20:47:00,3722.00,3722.00,3721.00,3722.00,98,0
+2006-02-13,20:48:00,3721.00,3721.00,3721.00,3721.00,131,0
+2006-02-13,20:49:00,3721.00,3721.00,3721.00,3721.00,44,0
+2006-02-13,20:50:00,3720.00,3721.00,3720.00,3721.00,19,0
+2006-02-13,20:51:00,3721.00,3721.00,3721.00,3721.00,1,0
+2006-02-13,20:52:00,3721.00,3721.00,3720.00,3721.00,20,0
+2006-02-13,20:53:00,3722.00,3724.00,3722.00,3723.00,472,0
+2006-02-13,20:54:00,3723.00,3723.00,3722.00,3722.00,178,0
+2006-02-13,20:55:00,3722.00,3722.00,3719.00,3719.00,541,0
+2006-02-13,20:56:00,3719.00,3719.00,3719.00,3719.00,27,0
+2006-02-13,20:57:00,3719.00,3719.00,3718.00,3718.00,23,0
+2006-02-13,20:58:00,3718.00,3719.00,3718.00,3719.00,45,0
+2006-02-13,20:59:00,3719.00,3719.00,3719.00,3719.00,2,0
+2006-02-13,21:00:00,3719.00,3719.00,3719.00,3719.00,2,0
+2006-02-13,21:01:00,3720.00,3721.00,3720.00,3720.00,24,0
+2006-02-13,21:02:00,3721.00,3721.00,3720.00,3721.00,8,0
+2006-02-13,21:03:00,3721.00,3721.00,3721.00,3721.00,18,0
+2006-02-13,21:04:00,3721.00,3721.00,3720.00,3720.00,7,0
+2006-02-13,21:06:00,3720.00,3721.00,3720.00,3721.00,9,0
+2006-02-13,21:09:00,3721.00,3722.00,3721.00,3722.00,12,0
+2006-02-13,21:11:00,3721.00,3721.00,3720.00,3720.00,14,0
+2006-02-13,21:12:00,3719.00,3719.00,3719.00,3719.00,84,0
+2006-02-13,21:13:00,3719.00,3719.00,3719.00,3719.00,26,0
+2006-02-13,21:14:00,3719.00,3719.00,3719.00,3719.00,32,0
+2006-02-13,21:15:00,3719.00,3720.00,3719.00,3719.00,53,0
+2006-02-13,21:16:00,3720.00,3720.00,3719.00,3719.00,111,0
+2006-02-13,21:17:00,3720.00,3721.00,3720.00,3720.00,43,0
+2006-02-13,21:18:00,3719.00,3719.00,3719.00,3719.00,10,0
+2006-02-13,21:19:00,3720.00,3720.00,3720.00,3720.00,23,0
+2006-02-13,21:20:00,3720.00,3720.00,3720.00,3720.00,4,0
+2006-02-13,21:21:00,3721.00,3722.00,3721.00,3722.00,48,0
+2006-02-13,21:22:00,3722.00,3722.00,3721.00,3722.00,38,0
+2006-02-13,21:23:00,3722.00,3723.00,3722.00,3723.00,234,0
+2006-02-13,21:24:00,3723.00,3724.00,3723.00,3724.00,54,0
+2006-02-13,21:25:00,3723.00,3723.00,3723.00,3723.00,11,0
+2006-02-13,21:26:00,3723.00,3723.00,3723.00,3723.00,23,0
+2006-02-13,21:27:00,3723.00,3723.00,3723.00,3723.00,1,0
+2006-02-13,21:28:00,3723.00,3723.00,3723.00,3723.00,3,0
+2006-02-13,21:30:00,3724.00,3724.00,3724.00,3724.00,1,0
+2006-02-13,21:31:00,3724.00,3725.00,3723.00,3723.00,98,0
+2006-02-13,21:32:00,3724.00,3725.00,3724.00,3724.00,32,0
+2006-02-13,21:33:00,3725.00,3725.00,3725.00,3725.00,46,0
+2006-02-13,21:34:00,3725.00,3726.00,3725.00,3725.00,110,0
+2006-02-13,21:35:00,3726.00,3726.00,3725.00,3726.00,107,0
+2006-02-13,21:36:00,3726.00,3727.00,3725.00,3727.00,58,0
+2006-02-13,21:37:00,3727.00,3729.00,3727.00,3728.00,167,0
+2006-02-13,21:39:00,3728.00,3728.00,3727.00,3727.00,24,0
+2006-02-13,21:40:00,3727.00,3727.00,3727.00,3727.00,2,0
+2006-02-13,21:41:00,3727.00,3727.00,3727.00,3727.00,19,0
+2006-02-13,21:42:00,3727.00,3727.00,3727.00,3727.00,8,0
+2006-02-13,21:44:00,3726.00,3726.00,3726.00,3726.00,3,0
+2006-02-13,21:46:00,3726.00,3726.00,3726.00,3726.00,9,0
+2006-02-13,21:47:00,3726.00,3727.00,3726.00,3727.00,7,0
+2006-02-13,21:48:00,3727.00,3728.00,3727.00,3728.00,69,0
+2006-02-13,21:49:00,3728.00,3729.00,3728.00,3728.00,77,0
+2006-02-13,21:50:00,3727.00,3728.00,3727.00,3728.00,21,0
+2006-02-13,21:51:00,3728.00,3728.00,3728.00,3728.00,163,0
+2006-02-13,21:52:00,3728.00,3729.00,3728.00,3729.00,95,0
+2006-02-13,21:53:00,3729.00,3730.00,3729.00,3729.00,290,0
+2006-02-13,21:54:00,3729.00,3729.00,3728.00,3728.00,82,0
+2006-02-13,21:55:00,3728.00,3729.00,3728.00,3729.00,7,0
+2006-02-13,21:56:00,3728.00,3729.00,3728.00,3729.00,26,0
+2006-02-13,21:57:00,3728.00,3728.00,3728.00,3728.00,11,0
+2006-02-13,21:58:00,3728.00,3729.00,3728.00,3728.00,107,0
+2006-02-13,21:59:00,3728.00,3728.00,3726.00,3727.00,137,0
+2006-02-13,22:00:00,3728.00,3730.00,3727.00,3730.00,83,0
+2006-02-14,09:01:00,3740.00,3746.00,3740.00,3746.00,9029,0
+2006-02-14,09:02:00,3746.00,3747.00,3744.00,3745.00,3700,0
+2006-02-14,09:03:00,3746.00,3746.00,3744.00,3745.00,1549,0
+2006-02-14,09:04:00,3745.00,3746.00,3744.00,3745.00,1288,0
+2006-02-14,09:05:00,3745.00,3748.00,3744.00,3748.00,2893,0
+2006-02-14,09:06:00,3747.00,3749.00,3746.00,3746.00,1939,0
+2006-02-14,09:07:00,3746.00,3748.00,3746.00,3747.00,1384,0
+2006-02-14,09:08:00,3747.00,3750.00,3747.00,3749.00,3045,0
+2006-02-14,09:09:00,3749.00,3749.00,3748.00,3749.00,842,0
+2006-02-14,09:10:00,3749.00,3750.00,3747.00,3750.00,2658,0
+2006-02-14,09:11:00,3750.00,3752.00,3749.00,3752.00,4931,0
+2006-02-14,09:12:00,3752.00,3754.00,3751.00,3752.00,2718,0
+2006-02-14,09:13:00,3752.00,3753.00,3750.00,3750.00,2000,0
+2006-02-14,09:14:00,3751.00,3752.00,3750.00,3751.00,1148,0
+2006-02-14,09:15:00,3750.00,3750.00,3748.00,3749.00,1730,0
+2006-02-14,09:16:00,3750.00,3751.00,3749.00,3749.00,1203,0
+2006-02-14,09:17:00,3750.00,3750.00,3748.00,3749.00,1062,0
+2006-02-14,09:18:00,3748.00,3749.00,3748.00,3748.00,1044,0
+2006-02-14,09:19:00,3748.00,3749.00,3747.00,3749.00,881,0
+2006-02-14,09:20:00,3748.00,3749.00,3748.00,3748.00,675,0
+2006-02-14,09:21:00,3748.00,3748.00,3746.00,3746.00,1646,0
+2006-02-14,09:22:00,3746.00,3746.00,3745.00,3746.00,634,0
+2006-02-14,09:23:00,3745.00,3746.00,3745.00,3745.00,851,0
+2006-02-14,09:24:00,3745.00,3747.00,3744.00,3746.00,3050,0
+2006-02-14,09:25:00,3745.00,3746.00,3742.00,3743.00,1893,0
+2006-02-14,09:26:00,3743.00,3743.00,3742.00,3743.00,2446,0
+2006-02-14,09:27:00,3742.00,3743.00,3741.00,3742.00,957,0
+2006-02-14,09:28:00,3742.00,3742.00,3739.00,3739.00,4909,0
+2006-02-14,09:29:00,3740.00,3740.00,3738.00,3739.00,2370,0
+2006-02-14,09:30:00,3740.00,3741.00,3740.00,3740.00,1116,0
+2006-02-14,09:31:00,3740.00,3741.00,3740.00,3741.00,1136,0
+2006-02-14,09:32:00,3740.00,3741.00,3740.00,3740.00,580,0
+2006-02-14,09:33:00,3740.00,3741.00,3739.00,3740.00,716,0
+2006-02-14,09:34:00,3740.00,3744.00,3740.00,3744.00,2613,0
+2006-02-14,09:35:00,3743.00,3744.00,3743.00,3743.00,1184,0
+2006-02-14,09:36:00,3743.00,3745.00,3743.00,3745.00,792,0
+2006-02-14,09:37:00,3745.00,3746.00,3743.00,3743.00,991,0
+2006-02-14,09:38:00,3743.00,3745.00,3742.00,3742.00,872,0
+2006-02-14,09:39:00,3743.00,3744.00,3741.00,3742.00,1537,0
+2006-02-14,09:40:00,3742.00,3742.00,3741.00,3741.00,329,0
+2006-02-14,09:41:00,3741.00,3741.00,3740.00,3740.00,1294,0
+2006-02-14,09:42:00,3739.00,3740.00,3739.00,3739.00,1794,0
+2006-02-14,09:43:00,3739.00,3740.00,3737.00,3737.00,1251,0
+2006-02-14,09:44:00,3737.00,3738.00,3734.00,3736.00,2564,0
+2006-02-14,09:45:00,3736.00,3736.00,3734.00,3735.00,521,0
+2006-02-14,09:46:00,3735.00,3735.00,3733.00,3733.00,1678,0
+2006-02-14,09:47:00,3733.00,3735.00,3733.00,3735.00,1067,0
+2006-02-14,09:48:00,3734.00,3736.00,3734.00,3735.00,773,0
+2006-02-14,09:49:00,3736.00,3736.00,3736.00,3736.00,610,0
+2006-02-14,09:50:00,3736.00,3736.00,3734.00,3734.00,797,0
+2006-02-14,09:51:00,3734.00,3737.00,3733.00,3736.00,2190,0
+2006-02-14,09:52:00,3737.00,3738.00,3737.00,3737.00,778,0
+2006-02-14,09:53:00,3737.00,3738.00,3737.00,3738.00,702,0
+2006-02-14,09:54:00,3737.00,3739.00,3737.00,3738.00,4896,0
+2006-02-14,09:55:00,3738.00,3739.00,3738.00,3739.00,429,0
+2006-02-14,09:56:00,3738.00,3738.00,3737.00,3738.00,1005,0
+2006-02-14,09:57:00,3738.00,3738.00,3738.00,3738.00,22,0
+2006-02-14,09:58:00,3738.00,3738.00,3738.00,3738.00,366,0
+2006-02-14,09:59:00,3738.00,3738.00,3737.00,3737.00,316,0
+2006-02-14,10:00:00,3737.00,3738.00,3737.00,3737.00,323,0
+2006-02-14,10:01:00,3737.00,3737.00,3736.00,3737.00,1579,0
+2006-02-14,10:02:00,3737.00,3737.00,3736.00,3736.00,453,0
+2006-02-14,10:03:00,3736.00,3737.00,3734.00,3734.00,455,0
+2006-02-14,10:04:00,3734.00,3735.00,3733.00,3733.00,309,0
+2006-02-14,10:05:00,3733.00,3734.00,3733.00,3734.00,598,0
+2006-02-14,10:06:00,3734.00,3735.00,3734.00,3734.00,483,0
+2006-02-14,10:07:00,3735.00,3735.00,3734.00,3735.00,191,0
+2006-02-14,10:08:00,3735.00,3735.00,3734.00,3734.00,82,0
+2006-02-14,10:09:00,3735.00,3735.00,3734.00,3734.00,30,0
+2006-02-14,10:10:00,3734.00,3734.00,3734.00,3734.00,154,0
+2006-02-14,10:11:00,3734.00,3736.00,3734.00,3736.00,564,0
+2006-02-14,10:12:00,3735.00,3735.00,3733.00,3734.00,521,0
+2006-02-14,10:13:00,3735.00,3735.00,3734.00,3734.00,453,0
+2006-02-14,10:14:00,3735.00,3736.00,3734.00,3736.00,319,0
+2006-02-14,10:15:00,3736.00,3738.00,3736.00,3736.00,922,0
+2006-02-14,10:16:00,3736.00,3738.00,3736.00,3738.00,332,0
+2006-02-14,10:17:00,3738.00,3738.00,3737.00,3738.00,622,0
+2006-02-14,10:18:00,3738.00,3739.00,3737.00,3737.00,479,0
+2006-02-14,10:19:00,3738.00,3738.00,3735.00,3735.00,780,0
+2006-02-14,10:20:00,3736.00,3738.00,3736.00,3738.00,920,0
+2006-02-14,10:21:00,3737.00,3737.00,3737.00,3737.00,69,0
+2006-02-14,10:22:00,3737.00,3738.00,3737.00,3737.00,936,0
+2006-02-14,10:23:00,3737.00,3737.00,3736.00,3737.00,446,0
+2006-02-14,10:24:00,3737.00,3738.00,3737.00,3738.00,407,0
+2006-02-14,10:25:00,3738.00,3738.00,3737.00,3738.00,756,0
+2006-02-14,10:26:00,3738.00,3738.00,3737.00,3738.00,36,0
+2006-02-14,10:27:00,3738.00,3738.00,3737.00,3738.00,43,0
+2006-02-14,10:28:00,3737.00,3738.00,3737.00,3738.00,853,0
+2006-02-14,10:29:00,3738.00,3738.00,3737.00,3737.00,197,0
+2006-02-14,10:30:00,3737.00,3738.00,3737.00,3737.00,82,0
+2006-02-14,10:31:00,3738.00,3738.00,3737.00,3738.00,298,0
+2006-02-14,10:32:00,3738.00,3738.00,3737.00,3737.00,216,0
+2006-02-14,10:33:00,3737.00,3738.00,3737.00,3738.00,21,0
+2006-02-14,10:34:00,3737.00,3739.00,3737.00,3739.00,1472,0
+2006-02-14,10:35:00,3738.00,3738.00,3737.00,3738.00,486,0
+2006-02-14,10:36:00,3738.00,3738.00,3738.00,3738.00,81,0
+2006-02-14,10:37:00,3737.00,3737.00,3735.00,3736.00,1034,0
+2006-02-14,10:38:00,3736.00,3737.00,3736.00,3736.00,114,0
+2006-02-14,10:39:00,3736.00,3736.00,3735.00,3735.00,188,0
+2006-02-14,10:40:00,3736.00,3736.00,3735.00,3735.00,9,0
+2006-02-14,10:41:00,3736.00,3736.00,3733.00,3734.00,802,0
+2006-02-14,10:42:00,3734.00,3734.00,3734.00,3734.00,156,0
+2006-02-14,10:43:00,3735.00,3736.00,3735.00,3735.00,422,0
+2006-02-14,10:44:00,3735.00,3736.00,3734.00,3735.00,304,0
+2006-02-14,10:45:00,3735.00,3735.00,3734.00,3734.00,641,0
+2006-02-14,10:46:00,3733.00,3734.00,3730.00,3731.00,3229,0
+2006-02-14,10:47:00,3731.00,3732.00,3730.00,3731.00,466,0
+2006-02-14,10:48:00,3731.00,3731.00,3729.00,3731.00,2371,0
+2006-02-14,10:49:00,3731.00,3731.00,3727.00,3727.00,1060,0
+2006-02-14,10:50:00,3728.00,3728.00,3727.00,3727.00,2311,0
+2006-02-14,10:51:00,3727.00,3728.00,3727.00,3728.00,1253,0
+2006-02-14,10:52:00,3728.00,3729.00,3727.00,3729.00,559,0
+2006-02-14,10:53:00,3729.00,3729.00,3729.00,3729.00,1295,0
+2006-02-14,10:54:00,3730.00,3730.00,3729.00,3730.00,154,0
+2006-02-14,10:55:00,3730.00,3730.00,3728.00,3730.00,498,0
+2006-02-14,10:56:00,3729.00,3730.00,3729.00,3729.00,250,0
+2006-02-14,10:57:00,3729.00,3730.00,3729.00,3730.00,470,0
+2006-02-14,10:58:00,3729.00,3730.00,3729.00,3730.00,271,0
+2006-02-14,10:59:00,3730.00,3730.00,3728.00,3729.00,1274,0
+2006-02-14,11:00:00,3729.00,3729.00,3728.00,3728.00,422,0
+2006-02-14,11:01:00,3728.00,3730.00,3727.00,3729.00,1400,0
+2006-02-14,11:02:00,3729.00,3731.00,3728.00,3730.00,2044,0
+2006-02-14,11:03:00,3730.00,3730.00,3728.00,3729.00,1093,0
+2006-02-14,11:04:00,3729.00,3729.00,3729.00,3729.00,446,0
+2006-02-14,11:05:00,3729.00,3730.00,3726.00,3726.00,1878,0
+2006-02-14,11:06:00,3727.00,3728.00,3727.00,3728.00,172,0
+2006-02-14,11:07:00,3727.00,3729.00,3726.00,3727.00,1056,0
+2006-02-14,11:08:00,3727.00,3728.00,3726.00,3727.00,1183,0
+2006-02-14,11:09:00,3727.00,3729.00,3727.00,3728.00,859,0
+2006-02-14,11:10:00,3728.00,3729.00,3727.00,3728.00,890,0
+2006-02-14,11:11:00,3728.00,3728.00,3726.00,3726.00,322,0
+2006-02-14,11:12:00,3726.00,3727.00,3725.00,3726.00,2798,0
+2006-02-14,11:13:00,3726.00,3727.00,3725.00,3726.00,1143,0
+2006-02-14,11:14:00,3726.00,3726.00,3724.00,3725.00,1518,0
+2006-02-14,11:15:00,3726.00,3726.00,3724.00,3724.00,1766,0
+2006-02-14,11:16:00,3725.00,3725.00,3724.00,3724.00,365,0
+2006-02-14,11:17:00,3724.00,3724.00,3723.00,3724.00,2091,0
+2006-02-14,11:18:00,3724.00,3724.00,3723.00,3723.00,536,0
+2006-02-14,11:19:00,3724.00,3724.00,3722.00,3723.00,1776,0
+2006-02-14,11:20:00,3723.00,3724.00,3722.00,3723.00,639,0
+2006-02-14,11:21:00,3724.00,3724.00,3723.00,3723.00,2173,0
+2006-02-14,11:22:00,3723.00,3724.00,3722.00,3723.00,1196,0
+2006-02-14,11:23:00,3722.00,3723.00,3722.00,3723.00,425,0
+2006-02-14,11:24:00,3723.00,3723.00,3721.00,3721.00,4555,0
+2006-02-14,11:25:00,3722.00,3723.00,3721.00,3723.00,2687,0
+2006-02-14,11:26:00,3723.00,3723.00,3722.00,3723.00,780,0
+2006-02-14,11:27:00,3723.00,3723.00,3722.00,3723.00,709,0
+2006-02-14,11:28:00,3723.00,3723.00,3722.00,3723.00,556,0
+2006-02-14,11:29:00,3723.00,3723.00,3722.00,3722.00,285,0
+2006-02-14,11:30:00,3722.00,3723.00,3722.00,3722.00,249,0
+2006-02-14,11:31:00,3722.00,3723.00,3721.00,3721.00,534,0
+2006-02-14,11:32:00,3722.00,3722.00,3721.00,3722.00,886,0
+2006-02-14,11:33:00,3722.00,3722.00,3720.00,3720.00,1362,0
+2006-02-14,11:34:00,3720.00,3723.00,3720.00,3723.00,1184,0
+2006-02-14,11:35:00,3722.00,3724.00,3722.00,3723.00,1783,0
+2006-02-14,11:36:00,3724.00,3724.00,3723.00,3724.00,72,0
+2006-02-14,11:37:00,3724.00,3725.00,3723.00,3724.00,1387,0
+2006-02-14,11:38:00,3724.00,3725.00,3724.00,3724.00,852,0
+2006-02-14,11:39:00,3724.00,3727.00,3724.00,3726.00,1704,0
+2006-02-14,11:40:00,3726.00,3727.00,3726.00,3727.00,1461,0
+2006-02-14,11:41:00,3727.00,3728.00,3726.00,3726.00,740,0
+2006-02-14,11:42:00,3726.00,3727.00,3725.00,3725.00,1059,0
+2006-02-14,11:43:00,3724.00,3726.00,3724.00,3726.00,1033,0
+2006-02-14,11:44:00,3726.00,3726.00,3725.00,3726.00,322,0
+2006-02-14,11:45:00,3726.00,3726.00,3725.00,3725.00,913,0
+2006-02-14,11:46:00,3724.00,3725.00,3723.00,3724.00,1012,0
+2006-02-14,11:47:00,3723.00,3724.00,3723.00,3724.00,430,0
+2006-02-14,11:48:00,3724.00,3724.00,3723.00,3723.00,684,0
+2006-02-14,11:49:00,3723.00,3723.00,3723.00,3723.00,42,0
+2006-02-14,11:50:00,3723.00,3723.00,3723.00,3723.00,403,0
+2006-02-14,11:51:00,3724.00,3724.00,3723.00,3723.00,1030,0
+2006-02-14,11:52:00,3723.00,3724.00,3723.00,3724.00,232,0
+2006-02-14,11:53:00,3723.00,3724.00,3723.00,3724.00,125,0
+2006-02-14,11:54:00,3724.00,3724.00,3723.00,3724.00,424,0
+2006-02-14,11:55:00,3724.00,3725.00,3723.00,3724.00,532,0
+2006-02-14,11:56:00,3724.00,3725.00,3724.00,3725.00,318,0
+2006-02-14,11:57:00,3725.00,3726.00,3724.00,3725.00,253,0
+2006-02-14,11:58:00,3725.00,3725.00,3724.00,3725.00,297,0
+2006-02-14,11:59:00,3725.00,3725.00,3724.00,3725.00,495,0
+2006-02-14,12:00:00,3724.00,3726.00,3724.00,3726.00,1180,0
+2006-02-14,12:01:00,3725.00,3725.00,3724.00,3725.00,313,0
+2006-02-14,12:02:00,3725.00,3725.00,3724.00,3725.00,45,0
+2006-02-14,12:03:00,3725.00,3726.00,3724.00,3726.00,502,0
+2006-02-14,12:04:00,3725.00,3726.00,3725.00,3725.00,599,0
+2006-02-14,12:05:00,3725.00,3726.00,3725.00,3725.00,398,0
+2006-02-14,12:06:00,3725.00,3726.00,3725.00,3725.00,323,0
+2006-02-14,12:07:00,3725.00,3726.00,3725.00,3725.00,270,0
+2006-02-14,12:08:00,3724.00,3724.00,3724.00,3724.00,155,0
+2006-02-14,12:09:00,3724.00,3725.00,3722.00,3723.00,714,0
+2006-02-14,12:10:00,3723.00,3723.00,3723.00,3723.00,109,0
+2006-02-14,12:11:00,3722.00,3724.00,3722.00,3724.00,420,0
+2006-02-14,12:12:00,3724.00,3724.00,3724.00,3724.00,102,0
+2006-02-14,12:13:00,3724.00,3725.00,3724.00,3724.00,489,0
+2006-02-14,12:14:00,3724.00,3724.00,3722.00,3724.00,732,0
+2006-02-14,12:15:00,3723.00,3724.00,3723.00,3724.00,94,0
+2006-02-14,12:16:00,3723.00,3723.00,3723.00,3723.00,56,0
+2006-02-14,12:17:00,3723.00,3723.00,3721.00,3721.00,961,0
+2006-02-14,12:18:00,3721.00,3721.00,3721.00,3721.00,2,0
+2006-02-14,12:19:00,3721.00,3722.00,3721.00,3721.00,647,0
+2006-02-14,12:20:00,3721.00,3722.00,3720.00,3722.00,201,0
+2006-02-14,12:21:00,3721.00,3722.00,3721.00,3721.00,49,0
+2006-02-14,12:22:00,3722.00,3722.00,3721.00,3722.00,219,0
+2006-02-14,12:23:00,3722.00,3722.00,3722.00,3722.00,3075,0
+2006-02-14,12:24:00,3722.00,3723.00,3722.00,3723.00,593,0
+2006-02-14,12:25:00,3723.00,3724.00,3722.00,3723.00,153,0
+2006-02-14,12:26:00,3723.00,3724.00,3722.00,3722.00,331,0
+2006-02-14,12:27:00,3722.00,3723.00,3722.00,3723.00,27,0
+2006-02-14,12:28:00,3723.00,3723.00,3721.00,3722.00,2044,0
+2006-02-14,12:29:00,3723.00,3723.00,3723.00,3723.00,3,0
+2006-02-14,12:30:00,3723.00,3723.00,3722.00,3723.00,123,0
+2006-02-14,12:31:00,3722.00,3723.00,3722.00,3723.00,1267,0
+2006-02-14,12:32:00,3722.00,3722.00,3722.00,3722.00,55,0
+2006-02-14,12:33:00,3722.00,3723.00,3722.00,3722.00,167,0
+2006-02-14,12:34:00,3722.00,3722.00,3722.00,3722.00,84,0
+2006-02-14,12:35:00,3722.00,3723.00,3722.00,3723.00,226,0
+2006-02-14,12:36:00,3722.00,3723.00,3722.00,3723.00,194,0
+2006-02-14,12:37:00,3724.00,3724.00,3723.00,3724.00,10,0
+2006-02-14,12:38:00,3724.00,3724.00,3722.00,3722.00,208,0
+2006-02-14,12:39:00,3723.00,3723.00,3723.00,3723.00,85,0
+2006-02-14,12:40:00,3723.00,3724.00,3723.00,3724.00,567,0
+2006-02-14,12:41:00,3725.00,3726.00,3725.00,3725.00,373,0
+2006-02-14,12:42:00,3726.00,3726.00,3725.00,3725.00,313,0
+2006-02-14,12:43:00,3726.00,3727.00,3725.00,3727.00,607,0
+2006-02-14,12:44:00,3727.00,3727.00,3727.00,3727.00,63,0
+2006-02-14,12:45:00,3727.00,3728.00,3727.00,3728.00,719,0
+2006-02-14,12:46:00,3728.00,3728.00,3727.00,3728.00,128,0
+2006-02-14,12:47:00,3728.00,3731.00,3728.00,3730.00,2177,0
+2006-02-14,12:48:00,3730.00,3730.00,3728.00,3729.00,1231,0
+2006-02-14,12:49:00,3729.00,3731.00,3728.00,3730.00,3503,0
+2006-02-14,12:50:00,3730.00,3731.00,3730.00,3731.00,927,0
+2006-02-14,12:51:00,3731.00,3732.00,3731.00,3731.00,833,0
+2006-02-14,12:52:00,3731.00,3731.00,3730.00,3730.00,288,0
+2006-02-14,12:53:00,3731.00,3732.00,3731.00,3732.00,215,0
+2006-02-14,12:54:00,3731.00,3731.00,3730.00,3730.00,307,0
+2006-02-14,12:55:00,3731.00,3731.00,3731.00,3731.00,113,0
+2006-02-14,12:56:00,3731.00,3731.00,3729.00,3730.00,549,0
+2006-02-14,12:57:00,3730.00,3731.00,3729.00,3729.00,190,0
+2006-02-14,12:58:00,3729.00,3729.00,3729.00,3729.00,206,0
+2006-02-14,12:59:00,3729.00,3730.00,3729.00,3730.00,33,0
+2006-02-14,13:00:00,3729.00,3730.00,3729.00,3729.00,32,0
+2006-02-14,13:01:00,3730.00,3730.00,3729.00,3729.00,159,0
+2006-02-14,13:02:00,3730.00,3730.00,3729.00,3729.00,36,0
+2006-02-14,13:03:00,3729.00,3730.00,3729.00,3729.00,69,0
+2006-02-14,13:04:00,3730.00,3731.00,3729.00,3730.00,671,0
+2006-02-14,13:05:00,3730.00,3730.00,3729.00,3730.00,192,0
+2006-02-14,13:06:00,3730.00,3730.00,3729.00,3729.00,483,0
+2006-02-14,13:07:00,3729.00,3729.00,3729.00,3729.00,140,0
+2006-02-14,13:08:00,3729.00,3729.00,3729.00,3729.00,58,0
+2006-02-14,13:09:00,3729.00,3729.00,3729.00,3729.00,2008,0
+2006-02-14,13:10:00,3729.00,3729.00,3728.00,3728.00,7,0
+2006-02-14,13:11:00,3729.00,3729.00,3728.00,3729.00,93,0
+2006-02-14,13:12:00,3729.00,3729.00,3729.00,3729.00,1009,0
+2006-02-14,13:13:00,3729.00,3729.00,3729.00,3729.00,645,0
+2006-02-14,13:14:00,3729.00,3729.00,3729.00,3729.00,4,0
+2006-02-14,13:15:00,3730.00,3730.00,3730.00,3730.00,1,0
+2006-02-14,13:16:00,3730.00,3730.00,3729.00,3729.00,148,0
+2006-02-14,13:17:00,3730.00,3730.00,3729.00,3729.00,54,0
+2006-02-14,13:18:00,3729.00,3729.00,3729.00,3729.00,41,0
+2006-02-14,13:20:00,3728.00,3729.00,3728.00,3728.00,65,0
+2006-02-14,13:21:00,3729.00,3729.00,3729.00,3729.00,1496,0
+2006-02-14,13:22:00,3728.00,3729.00,3728.00,3729.00,32,0
+2006-02-14,13:23:00,3729.00,3729.00,3728.00,3729.00,137,0
+2006-02-14,13:24:00,3729.00,3730.00,3729.00,3729.00,258,0
+2006-02-14,13:25:00,3729.00,3730.00,3729.00,3730.00,21,0
+2006-02-14,13:26:00,3730.00,3730.00,3729.00,3729.00,1744,0
+2006-02-14,13:27:00,3729.00,3730.00,3729.00,3729.00,348,0
+2006-02-14,13:28:00,3729.00,3729.00,3729.00,3729.00,33,0
+2006-02-14,13:29:00,3729.00,3729.00,3729.00,3729.00,1,0
+2006-02-14,13:30:00,3729.00,3729.00,3729.00,3729.00,6,0
+2006-02-14,13:31:00,3729.00,3729.00,3729.00,3729.00,101,0
+2006-02-14,13:32:00,3729.00,3729.00,3728.00,3728.00,97,0
+2006-02-14,13:33:00,3729.00,3730.00,3729.00,3729.00,958,0
+2006-02-14,13:34:00,3729.00,3730.00,3729.00,3729.00,29,0
+2006-02-14,13:35:00,3729.00,3729.00,3729.00,3729.00,59,0
+2006-02-14,13:36:00,3729.00,3729.00,3728.00,3729.00,199,0
+2006-02-14,13:37:00,3730.00,3730.00,3729.00,3729.00,172,0
+2006-02-14,13:38:00,3729.00,3729.00,3729.00,3729.00,22,0
+2006-02-14,13:39:00,3729.00,3729.00,3729.00,3729.00,130,0
+2006-02-14,13:40:00,3729.00,3729.00,3729.00,3729.00,4,0
+2006-02-14,13:41:00,3729.00,3729.00,3729.00,3729.00,17,0
+2006-02-14,13:42:00,3729.00,3729.00,3729.00,3729.00,517,0
+2006-02-14,13:43:00,3730.00,3730.00,3729.00,3729.00,13,0
+2006-02-14,13:44:00,3729.00,3730.00,3729.00,3730.00,101,0
+2006-02-14,13:45:00,3730.00,3732.00,3730.00,3732.00,1392,0
+2006-02-14,13:46:00,3731.00,3731.00,3730.00,3731.00,1040,0
+2006-02-14,13:47:00,3731.00,3731.00,3730.00,3731.00,24,0
+2006-02-14,13:48:00,3731.00,3731.00,3730.00,3730.00,334,0
+2006-02-14,13:49:00,3730.00,3730.00,3730.00,3730.00,50,0
+2006-02-14,13:50:00,3729.00,3730.00,3729.00,3730.00,117,0
+2006-02-14,13:51:00,3730.00,3730.00,3730.00,3730.00,2,0
+2006-02-14,13:52:00,3729.00,3730.00,3729.00,3730.00,58,0
+2006-02-14,13:53:00,3730.00,3730.00,3730.00,3730.00,21,0
+2006-02-14,13:54:00,3729.00,3731.00,3729.00,3731.00,624,0
+2006-02-14,13:55:00,3731.00,3732.00,3731.00,3731.00,382,0
+2006-02-14,13:56:00,3731.00,3731.00,3731.00,3731.00,130,0
+2006-02-14,13:57:00,3731.00,3731.00,3730.00,3730.00,45,0
+2006-02-14,13:58:00,3730.00,3730.00,3730.00,3730.00,96,0
+2006-02-14,13:59:00,3730.00,3730.00,3730.00,3730.00,51,0
+2006-02-14,14:00:00,3730.00,3730.00,3729.00,3729.00,51,0
+2006-02-14,14:01:00,3730.00,3730.00,3729.00,3729.00,54,0
+2006-02-14,14:02:00,3729.00,3729.00,3729.00,3729.00,335,0
+2006-02-14,14:03:00,3728.00,3729.00,3728.00,3728.00,411,0
+2006-02-14,14:04:00,3729.00,3729.00,3729.00,3729.00,367,0
+2006-02-14,14:05:00,3730.00,3730.00,3730.00,3730.00,14,0
+2006-02-14,14:06:00,3729.00,3729.00,3728.00,3728.00,720,0
+2006-02-14,14:07:00,3728.00,3729.00,3728.00,3728.00,270,0
+2006-02-14,14:08:00,3729.00,3729.00,3728.00,3729.00,346,0
+2006-02-14,14:09:00,3729.00,3729.00,3729.00,3729.00,28,0
+2006-02-14,14:10:00,3728.00,3729.00,3728.00,3729.00,39,0
+2006-02-14,14:11:00,3728.00,3728.00,3725.00,3726.00,1755,0
+2006-02-14,14:12:00,3726.00,3727.00,3725.00,3726.00,2593,0
+2006-02-14,14:13:00,3727.00,3727.00,3727.00,3727.00,31,0
+2006-02-14,14:14:00,3727.00,3728.00,3727.00,3727.00,646,0
+2006-02-14,14:15:00,3727.00,3727.00,3727.00,3727.00,35,0
+2006-02-14,14:16:00,3726.00,3726.00,3725.00,3725.00,282,0
+2006-02-14,14:17:00,3726.00,3727.00,3725.00,3727.00,436,0
+2006-02-14,14:18:00,3728.00,3729.00,3727.00,3729.00,450,0
+2006-02-14,14:19:00,3728.00,3728.00,3727.00,3728.00,800,0
+2006-02-14,14:20:00,3728.00,3728.00,3727.00,3728.00,49,0
+2006-02-14,14:21:00,3728.00,3729.00,3727.00,3728.00,541,0
+2006-02-14,14:22:00,3729.00,3730.00,3728.00,3728.00,1403,0
+2006-02-14,14:23:00,3728.00,3729.00,3728.00,3728.00,163,0
+2006-02-14,14:25:00,3729.00,3730.00,3729.00,3729.00,226,0
+2006-02-14,14:26:00,3730.00,3730.00,3729.00,3729.00,309,0
+2006-02-14,14:27:00,3729.00,3730.00,3729.00,3730.00,665,0
+2006-02-14,14:28:00,3730.00,3730.00,3729.00,3729.00,270,0
+2006-02-14,14:29:00,3730.00,3730.00,3729.00,3729.00,107,0
+2006-02-14,14:30:00,3729.00,3729.00,3729.00,3729.00,197,0
+2006-02-14,14:31:00,3729.00,3735.00,3729.00,3734.00,7854,0
+2006-02-14,14:32:00,3734.00,3734.00,3728.00,3729.00,3429,0
+2006-02-14,14:33:00,3728.00,3729.00,3725.00,3728.00,3302,0
+2006-02-14,14:34:00,3728.00,3730.00,3727.00,3729.00,2584,0
+2006-02-14,14:35:00,3729.00,3730.00,3726.00,3728.00,4353,0
+2006-02-14,14:36:00,3728.00,3732.00,3728.00,3731.00,1830,0
+2006-02-14,14:37:00,3732.00,3732.00,3731.00,3731.00,1640,0
+2006-02-14,14:38:00,3731.00,3731.00,3729.00,3730.00,718,0
+2006-02-14,14:39:00,3730.00,3730.00,3730.00,3730.00,428,0
+2006-02-14,14:40:00,3730.00,3730.00,3729.00,3730.00,257,0
+2006-02-14,14:41:00,3731.00,3732.00,3731.00,3731.00,268,0
+2006-02-14,14:42:00,3731.00,3732.00,3731.00,3731.00,511,0
+2006-02-14,14:43:00,3732.00,3735.00,3732.00,3735.00,1608,0
+2006-02-14,14:44:00,3734.00,3735.00,3734.00,3734.00,1737,0
+2006-02-14,14:45:00,3734.00,3735.00,3732.00,3732.00,1211,0
+2006-02-14,14:46:00,3732.00,3733.00,3732.00,3733.00,297,0
+2006-02-14,14:47:00,3732.00,3732.00,3730.00,3730.00,809,0
+2006-02-14,14:48:00,3730.00,3732.00,3730.00,3731.00,199,0
+2006-02-14,14:49:00,3731.00,3733.00,3731.00,3732.00,293,0
+2006-02-14,14:50:00,3732.00,3733.00,3732.00,3733.00,4059,0
+2006-02-14,14:51:00,3732.00,3732.00,3731.00,3731.00,97,0
+2006-02-14,14:52:00,3732.00,3732.00,3730.00,3731.00,285,0
+2006-02-14,14:53:00,3731.00,3731.00,3730.00,3730.00,201,0
+2006-02-14,14:54:00,3730.00,3730.00,3727.00,3728.00,2742,0
+2006-02-14,14:55:00,3728.00,3729.00,3726.00,3726.00,1972,0
+2006-02-14,14:56:00,3726.00,3728.00,3725.00,3728.00,814,0
+2006-02-14,14:57:00,3728.00,3729.00,3728.00,3728.00,1018,0
+2006-02-14,14:58:00,3728.00,3729.00,3727.00,3728.00,300,0
+2006-02-14,14:59:00,3728.00,3728.00,3727.00,3728.00,230,0
+2006-02-14,15:00:00,3729.00,3729.00,3727.00,3727.00,338,0
+2006-02-14,15:01:00,3727.00,3727.00,3723.00,3723.00,2589,0
+2006-02-14,15:02:00,3724.00,3725.00,3723.00,3724.00,606,0
+2006-02-14,15:03:00,3723.00,3724.00,3722.00,3722.00,1366,0
+2006-02-14,15:04:00,3722.00,3724.00,3721.00,3724.00,1808,0
+2006-02-14,15:05:00,3724.00,3725.00,3723.00,3725.00,733,0
+2006-02-14,15:06:00,3725.00,3727.00,3725.00,3726.00,1310,0
+2006-02-14,15:07:00,3725.00,3727.00,3725.00,3727.00,358,0
+2006-02-14,15:08:00,3726.00,3726.00,3722.00,3722.00,3289,0
+2006-02-14,15:09:00,3722.00,3725.00,3722.00,3724.00,4112,0
+2006-02-14,15:10:00,3724.00,3725.00,3723.00,3725.00,517,0
+2006-02-14,15:11:00,3726.00,3726.00,3726.00,3726.00,126,0
+2006-02-14,15:12:00,3725.00,3725.00,3725.00,3725.00,329,0
+2006-02-14,15:13:00,3725.00,3725.00,3725.00,3725.00,66,0
+2006-02-14,15:14:00,3725.00,3725.00,3725.00,3725.00,18,0
+2006-02-14,15:15:00,3725.00,3725.00,3724.00,3724.00,401,0
+2006-02-14,15:16:00,3724.00,3724.00,3723.00,3724.00,287,0
+2006-02-14,15:17:00,3724.00,3724.00,3721.00,3721.00,1160,0
+2006-02-14,15:18:00,3721.00,3724.00,3721.00,3723.00,1057,0
+2006-02-14,15:19:00,3723.00,3723.00,3722.00,3723.00,334,0
+2006-02-14,15:20:00,3722.00,3723.00,3722.00,3723.00,389,0
+2006-02-14,15:21:00,3723.00,3723.00,3723.00,3723.00,5,0
+2006-02-14,15:22:00,3723.00,3723.00,3722.00,3723.00,125,0
+2006-02-14,15:23:00,3723.00,3724.00,3723.00,3724.00,433,0
+2006-02-14,15:24:00,3724.00,3725.00,3723.00,3724.00,312,0
+2006-02-14,15:25:00,3725.00,3725.00,3724.00,3724.00,133,0
+2006-02-14,15:26:00,3724.00,3725.00,3724.00,3724.00,162,0
+2006-02-14,15:27:00,3724.00,3725.00,3724.00,3724.00,351,0
+2006-02-14,15:28:00,3724.00,3724.00,3723.00,3724.00,854,0
+2006-02-14,15:29:00,3724.00,3725.00,3724.00,3725.00,171,0
+2006-02-14,15:30:00,3725.00,3725.00,3723.00,3723.00,365,0
+2006-02-14,15:31:00,3724.00,3725.00,3724.00,3725.00,380,0
+2006-02-14,15:32:00,3725.00,3727.00,3724.00,3727.00,1574,0
+2006-02-14,15:33:00,3727.00,3728.00,3724.00,3724.00,1122,0
+2006-02-14,15:34:00,3724.00,3727.00,3724.00,3727.00,782,0
+2006-02-14,15:35:00,3726.00,3726.00,3725.00,3725.00,475,0
+2006-02-14,15:36:00,3725.00,3725.00,3723.00,3723.00,1265,0
+2006-02-14,15:37:00,3723.00,3724.00,3722.00,3724.00,1898,0
+2006-02-14,15:38:00,3724.00,3725.00,3722.00,3722.00,688,0
+2006-02-14,15:39:00,3722.00,3722.00,3717.00,3718.00,8111,0
+2006-02-14,15:40:00,3718.00,3718.00,3714.00,3717.00,6291,0
+2006-02-14,15:41:00,3716.00,3717.00,3713.00,3717.00,4959,0
+2006-02-14,15:42:00,3716.00,3719.00,3716.00,3718.00,2273,0
+2006-02-14,15:43:00,3718.00,3720.00,3718.00,3719.00,982,0
+2006-02-14,15:44:00,3719.00,3719.00,3718.00,3719.00,645,0
+2006-02-14,15:45:00,3719.00,3720.00,3717.00,3717.00,2271,0
+2006-02-14,15:46:00,3717.00,3718.00,3714.00,3717.00,4178,0
+2006-02-14,15:47:00,3716.00,3717.00,3713.00,3713.00,2543,0
+2006-02-14,15:48:00,3713.00,3718.00,3713.00,3718.00,3525,0
+2006-02-14,15:49:00,3718.00,3719.00,3716.00,3717.00,2632,0
+2006-02-14,15:50:00,3717.00,3718.00,3715.00,3716.00,3031,0
+2006-02-14,15:51:00,3716.00,3718.00,3714.00,3714.00,1864,0
+2006-02-14,15:52:00,3715.00,3717.00,3715.00,3717.00,901,0
+2006-02-14,15:53:00,3717.00,3719.00,3717.00,3719.00,850,0
+2006-02-14,15:54:00,3720.00,3722.00,3719.00,3721.00,2398,0
+2006-02-14,15:55:00,3721.00,3724.00,3721.00,3723.00,5015,0
+2006-02-14,15:56:00,3724.00,3728.00,3724.00,3727.00,4926,0
+2006-02-14,15:57:00,3727.00,3730.00,3727.00,3728.00,4481,0
+2006-02-14,15:58:00,3727.00,3729.00,3726.00,3728.00,2904,0
+2006-02-14,15:59:00,3728.00,3730.00,3727.00,3727.00,1936,0
+2006-02-14,16:00:00,3728.00,3729.00,3726.00,3729.00,2445,0
+2006-02-14,16:01:00,3729.00,3732.00,3728.00,3730.00,5734,0
+2006-02-14,16:02:00,3730.00,3731.00,3729.00,3729.00,1887,0
+2006-02-14,16:03:00,3730.00,3730.00,3727.00,3727.00,2447,0
+2006-02-14,16:04:00,3728.00,3729.00,3727.00,3728.00,3863,0
+2006-02-14,16:05:00,3727.00,3728.00,3727.00,3728.00,934,0
+2006-02-14,16:06:00,3728.00,3729.00,3727.00,3728.00,1245,0
+2006-02-14,16:07:00,3728.00,3730.00,3728.00,3730.00,2411,0
+2006-02-14,16:08:00,3730.00,3730.00,3729.00,3729.00,1034,0
+2006-02-14,16:09:00,3728.00,3729.00,3726.00,3728.00,999,0
+2006-02-14,16:10:00,3728.00,3729.00,3727.00,3728.00,1994,0
+2006-02-14,16:11:00,3729.00,3731.00,3729.00,3730.00,1234,0
+2006-02-14,16:12:00,3730.00,3730.00,3726.00,3728.00,2881,0
+2006-02-14,16:13:00,3729.00,3731.00,3727.00,3730.00,1763,0
+2006-02-14,16:14:00,3729.00,3731.00,3729.00,3730.00,1561,0
+2006-02-14,16:15:00,3730.00,3732.00,3729.00,3731.00,2786,0
+2006-02-14,16:16:00,3732.00,3734.00,3731.00,3732.00,1685,0
+2006-02-14,16:17:00,3732.00,3732.00,3728.00,3730.00,1814,0
+2006-02-14,16:18:00,3730.00,3733.00,3730.00,3732.00,3883,0
+2006-02-14,16:19:00,3732.00,3733.00,3729.00,3730.00,1355,0
+2006-02-14,16:20:00,3730.00,3732.00,3729.00,3730.00,1555,0
+2006-02-14,16:21:00,3729.00,3732.00,3728.00,3732.00,1465,0
+2006-02-14,16:22:00,3732.00,3732.00,3727.00,3727.00,1497,0
+2006-02-14,16:23:00,3727.00,3729.00,3727.00,3728.00,1854,0
+2006-02-14,16:24:00,3729.00,3729.00,3728.00,3729.00,1018,0
+2006-02-14,16:25:00,3728.00,3729.00,3728.00,3728.00,1091,0
+2006-02-14,16:26:00,3728.00,3730.00,3727.00,3729.00,758,0
+2006-02-14,16:27:00,3728.00,3730.00,3728.00,3729.00,610,0
+2006-02-14,16:28:00,3729.00,3730.00,3728.00,3729.00,1064,0
+2006-02-14,16:29:00,3729.00,3730.00,3728.00,3729.00,806,0
+2006-02-14,16:30:00,3728.00,3728.00,3728.00,3728.00,49,0
+2006-02-14,16:31:00,3728.00,3728.00,3727.00,3728.00,637,0
+2006-02-14,16:32:00,3728.00,3728.00,3725.00,3725.00,2147,0
+2006-02-14,16:33:00,3726.00,3726.00,3724.00,3726.00,2514,0
+2006-02-14,16:34:00,3725.00,3725.00,3723.00,3725.00,1817,0
+2006-02-14,16:35:00,3725.00,3727.00,3725.00,3725.00,1321,0
+2006-02-14,16:36:00,3725.00,3725.00,3722.00,3723.00,2969,0
+2006-02-14,16:37:00,3722.00,3723.00,3721.00,3723.00,2377,0
+2006-02-14,16:38:00,3723.00,3724.00,3722.00,3723.00,940,0
+2006-02-14,16:39:00,3724.00,3724.00,3723.00,3724.00,1055,0
+2006-02-14,16:40:00,3724.00,3725.00,3722.00,3722.00,5639,0
+2006-02-14,16:41:00,3721.00,3723.00,3721.00,3723.00,1832,0
+2006-02-14,16:42:00,3723.00,3725.00,3723.00,3725.00,1430,0
+2006-02-14,16:43:00,3725.00,3726.00,3723.00,3724.00,1810,0
+2006-02-14,16:44:00,3724.00,3726.00,3723.00,3725.00,458,0
+2006-02-14,16:45:00,3726.00,3726.00,3724.00,3725.00,763,0
+2006-02-14,16:46:00,3725.00,3729.00,3724.00,3728.00,1812,0
+2006-02-14,16:47:00,3728.00,3729.00,3725.00,3725.00,1931,0
+2006-02-14,16:48:00,3725.00,3727.00,3724.00,3727.00,1923,0
+2006-02-14,16:49:00,3727.00,3728.00,3726.00,3726.00,1252,0
+2006-02-14,16:50:00,3726.00,3727.00,3724.00,3726.00,1371,0
+2006-02-14,16:51:00,3726.00,3727.00,3725.00,3727.00,639,0
+2006-02-14,16:52:00,3727.00,3727.00,3725.00,3726.00,893,0
+2006-02-14,16:53:00,3726.00,3728.00,3725.00,3727.00,2097,0
+2006-02-14,16:54:00,3727.00,3727.00,3725.00,3726.00,1205,0
+2006-02-14,16:55:00,3727.00,3730.00,3726.00,3726.00,2822,0
+2006-02-14,16:56:00,3726.00,3728.00,3726.00,3727.00,372,0
+2006-02-14,16:57:00,3727.00,3730.00,3727.00,3727.00,1089,0
+2006-02-14,16:58:00,3727.00,3728.00,3725.00,3725.00,1097,0
+2006-02-14,16:59:00,3726.00,3727.00,3726.00,3726.00,860,0
+2006-02-14,17:00:00,3726.00,3731.00,3726.00,3730.00,2067,0
+2006-02-14,17:01:00,3731.00,3731.00,3728.00,3729.00,1612,0
+2006-02-14,17:02:00,3729.00,3730.00,3728.00,3729.00,2441,0
+2006-02-14,17:03:00,3730.00,3731.00,3729.00,3730.00,1757,0
+2006-02-14,17:04:00,3730.00,3732.00,3730.00,3731.00,2370,0
+2006-02-14,17:05:00,3731.00,3732.00,3731.00,3732.00,2230,0
+2006-02-14,17:06:00,3732.00,3733.00,3731.00,3733.00,2072,0
+2006-02-14,17:07:00,3733.00,3737.00,3733.00,3736.00,5396,0
+2006-02-14,17:08:00,3736.00,3737.00,3734.00,3735.00,2479,0
+2006-02-14,17:09:00,3735.00,3735.00,3733.00,3734.00,1951,0
+2006-02-14,17:10:00,3734.00,3735.00,3733.00,3733.00,2402,0
+2006-02-14,17:11:00,3733.00,3734.00,3733.00,3734.00,1957,0
+2006-02-14,17:12:00,3733.00,3733.00,3732.00,3732.00,814,0
+2006-02-14,17:13:00,3733.00,3736.00,3733.00,3736.00,2144,0
+2006-02-14,17:14:00,3736.00,3736.00,3734.00,3736.00,2511,0
+2006-02-14,17:15:00,3735.00,3737.00,3735.00,3736.00,2230,0
+2006-02-14,17:16:00,3736.00,3737.00,3735.00,3737.00,2708,0
+2006-02-14,17:17:00,3738.00,3740.00,3737.00,3739.00,3530,0
+2006-02-14,17:18:00,3739.00,3740.00,3738.00,3738.00,2601,0
+2006-02-14,17:19:00,3739.00,3739.00,3738.00,3738.00,2114,0
+2006-02-14,17:20:00,3738.00,3741.00,3738.00,3740.00,3559,0
+2006-02-14,17:21:00,3739.00,3743.00,3739.00,3742.00,3109,0
+2006-02-14,17:22:00,3742.00,3743.00,3741.00,3743.00,2961,0
+2006-02-14,17:23:00,3742.00,3743.00,3740.00,3742.00,3010,0
+2006-02-14,17:24:00,3741.00,3745.00,3741.00,3744.00,2893,0
+2006-02-14,17:25:00,3744.00,3745.00,3743.00,3743.00,2374,0
+2006-02-14,17:26:00,3743.00,3745.00,3743.00,3744.00,1074,0
+2006-02-14,17:27:00,3745.00,3745.00,3744.00,3744.00,3001,0
+2006-02-14,17:28:00,3744.00,3744.00,3743.00,3744.00,2147,0
+2006-02-14,17:29:00,3744.00,3745.00,3743.00,3743.00,2254,0
+2006-02-14,17:30:00,3743.00,3743.00,3740.00,3741.00,5098,0
+2006-02-14,17:31:00,3741.00,3743.00,3740.00,3742.00,3134,0
+2006-02-14,17:32:00,3742.00,3744.00,3741.00,3743.00,2928,0
+2006-02-14,17:33:00,3743.00,3744.00,3742.00,3743.00,861,0
+2006-02-14,17:34:00,3743.00,3743.00,3742.00,3743.00,1216,0
+2006-02-14,17:35:00,3742.00,3743.00,3741.00,3743.00,1301,0
+2006-02-14,17:36:00,3742.00,3744.00,3742.00,3743.00,616,0
+2006-02-14,17:37:00,3743.00,3743.00,3741.00,3742.00,788,0
+2006-02-14,17:38:00,3741.00,3742.00,3741.00,3742.00,1107,0
+2006-02-14,17:39:00,3742.00,3742.00,3741.00,3742.00,879,0
+2006-02-14,17:40:00,3742.00,3742.00,3741.00,3741.00,303,0
+2006-02-14,17:41:00,3741.00,3742.00,3741.00,3742.00,1012,0
+2006-02-14,17:42:00,3742.00,3742.00,3741.00,3742.00,401,0
+2006-02-14,17:43:00,3742.00,3742.00,3741.00,3742.00,217,0
+2006-02-14,17:44:00,3741.00,3742.00,3740.00,3741.00,3012,0
+2006-02-14,17:45:00,3742.00,3743.00,3741.00,3743.00,1259,0
+2006-02-14,17:46:00,3743.00,3745.00,3743.00,3745.00,669,0
+2006-02-14,17:47:00,3745.00,3746.00,3743.00,3744.00,912,0
+2006-02-14,17:48:00,3744.00,3745.00,3743.00,3744.00,398,0
+2006-02-14,17:49:00,3743.00,3745.00,3743.00,3743.00,326,0
+2006-02-14,17:50:00,3743.00,3744.00,3743.00,3743.00,413,0
+2006-02-14,17:51:00,3743.00,3744.00,3743.00,3743.00,1043,0
+2006-02-14,17:52:00,3743.00,3744.00,3743.00,3743.00,194,0
+2006-02-14,17:53:00,3743.00,3745.00,3743.00,3745.00,300,0
+2006-02-14,17:54:00,3745.00,3746.00,3745.00,3746.00,3637,0
+2006-02-14,17:55:00,3747.00,3749.00,3747.00,3749.00,3015,0
+2006-02-14,17:56:00,3748.00,3749.00,3748.00,3749.00,2406,0
+2006-02-14,17:57:00,3749.00,3750.00,3749.00,3749.00,1234,0
+2006-02-14,17:58:00,3750.00,3751.00,3749.00,3749.00,2068,0
+2006-02-14,17:59:00,3749.00,3751.00,3748.00,3750.00,1231,0
+2006-02-14,18:00:00,3750.00,3750.00,3749.00,3749.00,173,0
+2006-02-14,18:01:00,3750.00,3750.00,3749.00,3750.00,941,0
+2006-02-14,18:02:00,3749.00,3750.00,3749.00,3749.00,848,0
+2006-02-14,18:03:00,3749.00,3750.00,3749.00,3749.00,214,0
+2006-02-14,18:04:00,3749.00,3749.00,3748.00,3748.00,578,0
+2006-02-14,18:05:00,3749.00,3750.00,3748.00,3750.00,983,0
+2006-02-14,18:06:00,3750.00,3752.00,3750.00,3751.00,688,0
+2006-02-14,18:07:00,3751.00,3751.00,3750.00,3750.00,788,0
+2006-02-14,18:08:00,3750.00,3750.00,3750.00,3750.00,35,0
+2006-02-14,18:09:00,3750.00,3751.00,3750.00,3751.00,529,0
+2006-02-14,18:10:00,3751.00,3751.00,3750.00,3750.00,156,0
+2006-02-14,18:11:00,3751.00,3751.00,3748.00,3748.00,466,0
+2006-02-14,18:12:00,3748.00,3749.00,3747.00,3747.00,783,0
+2006-02-14,18:13:00,3747.00,3747.00,3746.00,3746.00,1093,0
+2006-02-14,18:14:00,3747.00,3747.00,3747.00,3747.00,521,0
+2006-02-14,18:15:00,3748.00,3749.00,3747.00,3748.00,532,0
+2006-02-14,18:16:00,3748.00,3748.00,3747.00,3748.00,439,0
+2006-02-14,18:17:00,3749.00,3749.00,3748.00,3748.00,258,0
+2006-02-14,18:18:00,3749.00,3749.00,3747.00,3747.00,256,0
+2006-02-14,18:19:00,3747.00,3748.00,3746.00,3748.00,597,0
+2006-02-14,18:20:00,3747.00,3748.00,3747.00,3748.00,66,0
+2006-02-14,18:21:00,3747.00,3748.00,3747.00,3748.00,80,0
+2006-02-14,18:22:00,3748.00,3748.00,3747.00,3747.00,154,0
+2006-02-14,18:23:00,3748.00,3748.00,3747.00,3747.00,11,0
+2006-02-14,18:24:00,3747.00,3748.00,3747.00,3748.00,119,0
+2006-02-14,18:25:00,3748.00,3748.00,3747.00,3747.00,61,0
+2006-02-14,18:26:00,3748.00,3748.00,3746.00,3746.00,211,0
+2006-02-14,18:27:00,3746.00,3747.00,3746.00,3747.00,385,0
+2006-02-14,18:28:00,3748.00,3749.00,3748.00,3749.00,115,0
+2006-02-14,18:29:00,3748.00,3749.00,3748.00,3749.00,184,0
+2006-02-14,18:30:00,3749.00,3749.00,3749.00,3749.00,265,0
+2006-02-14,18:31:00,3749.00,3749.00,3749.00,3749.00,1,0
+2006-02-14,18:32:00,3748.00,3748.00,3747.00,3747.00,298,0
+2006-02-14,18:33:00,3747.00,3747.00,3747.00,3747.00,370,0
+2006-02-14,18:34:00,3747.00,3747.00,3747.00,3747.00,1,0
+2006-02-14,18:35:00,3747.00,3747.00,3746.00,3747.00,276,0
+2006-02-14,18:36:00,3747.00,3747.00,3747.00,3747.00,88,0
+2006-02-14,18:37:00,3748.00,3748.00,3747.00,3748.00,258,0
+2006-02-14,18:38:00,3749.00,3749.00,3747.00,3748.00,194,0
+2006-02-14,18:39:00,3748.00,3749.00,3748.00,3749.00,45,0
+2006-02-14,18:40:00,3749.00,3749.00,3749.00,3749.00,4,0
+2006-02-14,18:41:00,3748.00,3749.00,3748.00,3749.00,374,0
+2006-02-14,18:42:00,3749.00,3749.00,3749.00,3749.00,93,0
+2006-02-14,18:43:00,3748.00,3749.00,3748.00,3748.00,29,0
+2006-02-14,18:44:00,3749.00,3750.00,3749.00,3749.00,819,0
+2006-02-14,18:45:00,3749.00,3750.00,3749.00,3750.00,329,0
+2006-02-14,18:46:00,3750.00,3751.00,3750.00,3751.00,146,0
+2006-02-14,18:47:00,3751.00,3751.00,3749.00,3750.00,209,0
+2006-02-14,18:48:00,3749.00,3750.00,3749.00,3749.00,167,0
+2006-02-14,18:49:00,3749.00,3749.00,3747.00,3748.00,198,0
+2006-02-14,18:50:00,3747.00,3748.00,3747.00,3748.00,100,0
+2006-02-14,18:51:00,3749.00,3749.00,3748.00,3748.00,526,0
+2006-02-14,18:52:00,3748.00,3749.00,3748.00,3749.00,120,0
+2006-02-14,18:53:00,3749.00,3749.00,3748.00,3748.00,93,0
+2006-02-14,18:54:00,3748.00,3748.00,3748.00,3748.00,100,0
+2006-02-14,18:55:00,3748.00,3748.00,3747.00,3747.00,85,0
+2006-02-14,18:56:00,3748.00,3748.00,3747.00,3747.00,411,0
+2006-02-14,18:57:00,3747.00,3748.00,3747.00,3747.00,290,0
+2006-02-14,18:58:00,3747.00,3747.00,3746.00,3747.00,91,0
+2006-02-14,18:59:00,3747.00,3748.00,3747.00,3748.00,297,0
+2006-02-14,19:00:00,3748.00,3749.00,3748.00,3749.00,431,0
+2006-02-14,19:02:00,3749.00,3749.00,3749.00,3749.00,231,0
+2006-02-14,19:03:00,3749.00,3749.00,3749.00,3749.00,26,0
+2006-02-14,19:04:00,3749.00,3749.00,3748.00,3748.00,6,0
+2006-02-14,19:05:00,3748.00,3748.00,3747.00,3747.00,132,0
+2006-02-14,19:06:00,3747.00,3747.00,3747.00,3747.00,478,0
+2006-02-14,19:07:00,3747.00,3749.00,3747.00,3749.00,172,0
+2006-02-14,19:08:00,3749.00,3749.00,3748.00,3748.00,52,0
+2006-02-14,19:09:00,3748.00,3748.00,3748.00,3748.00,9,0
+2006-02-14,19:10:00,3748.00,3749.00,3748.00,3748.00,331,0
+2006-02-14,19:11:00,3748.00,3748.00,3746.00,3746.00,318,0
+2006-02-14,19:12:00,3746.00,3748.00,3746.00,3748.00,426,0
+2006-02-14,19:13:00,3748.00,3749.00,3748.00,3749.00,100,0
+2006-02-14,19:14:00,3748.00,3748.00,3748.00,3748.00,53,0
+2006-02-14,19:15:00,3749.00,3749.00,3749.00,3749.00,4,0
+2006-02-14,19:16:00,3749.00,3750.00,3749.00,3750.00,141,0
+2006-02-14,19:17:00,3750.00,3750.00,3749.00,3749.00,317,0
+2006-02-14,19:18:00,3749.00,3750.00,3749.00,3750.00,59,0
+2006-02-14,19:19:00,3750.00,3750.00,3749.00,3749.00,155,0
+2006-02-14,19:20:00,3749.00,3749.00,3749.00,3749.00,72,0
+2006-02-14,19:21:00,3750.00,3750.00,3749.00,3749.00,92,0
+2006-02-14,19:22:00,3749.00,3749.00,3749.00,3749.00,6,0
+2006-02-14,19:23:00,3749.00,3749.00,3749.00,3749.00,59,0
+2006-02-14,19:24:00,3749.00,3749.00,3748.00,3748.00,36,0
+2006-02-14,19:25:00,3749.00,3749.00,3748.00,3748.00,116,0
+2006-02-14,19:26:00,3747.00,3748.00,3747.00,3748.00,72,0
+2006-02-14,19:27:00,3748.00,3748.00,3748.00,3748.00,112,0
+2006-02-14,19:28:00,3748.00,3748.00,3748.00,3748.00,140,0
+2006-02-14,19:29:00,3749.00,3749.00,3749.00,3749.00,157,0
+2006-02-14,19:30:00,3749.00,3750.00,3749.00,3750.00,68,0
+2006-02-14,19:31:00,3750.00,3752.00,3750.00,3752.00,192,0
+2006-02-14,19:32:00,3751.00,3752.00,3751.00,3752.00,349,0
+2006-02-14,19:33:00,3751.00,3751.00,3750.00,3751.00,151,0
+2006-02-14,19:34:00,3751.00,3751.00,3751.00,3751.00,100,0
+2006-02-14,19:35:00,3751.00,3751.00,3750.00,3750.00,198,0
+2006-02-14,19:36:00,3750.00,3750.00,3750.00,3750.00,50,0
+2006-02-14,19:37:00,3751.00,3751.00,3750.00,3750.00,267,0
+2006-02-14,19:38:00,3750.00,3750.00,3749.00,3750.00,100,0
+2006-02-14,19:39:00,3749.00,3749.00,3748.00,3748.00,748,0
+2006-02-14,19:40:00,3748.00,3748.00,3748.00,3748.00,34,0
+2006-02-14,19:41:00,3747.00,3748.00,3747.00,3748.00,95,0
+2006-02-14,19:42:00,3749.00,3749.00,3749.00,3749.00,24,0
+2006-02-14,19:43:00,3749.00,3750.00,3749.00,3750.00,428,0
+2006-02-14,19:44:00,3750.00,3750.00,3750.00,3750.00,39,0
+2006-02-14,19:45:00,3750.00,3752.00,3750.00,3752.00,345,0
+2006-02-14,19:46:00,3752.00,3752.00,3751.00,3751.00,31,0
+2006-02-14,19:47:00,3751.00,3752.00,3751.00,3752.00,239,0
+2006-02-14,19:48:00,3751.00,3751.00,3751.00,3751.00,51,0
+2006-02-14,19:49:00,3751.00,3751.00,3751.00,3751.00,48,0
+2006-02-14,19:50:00,3750.00,3751.00,3750.00,3750.00,10,0
+2006-02-14,19:51:00,3751.00,3752.00,3751.00,3752.00,169,0
+2006-02-14,19:52:00,3752.00,3753.00,3751.00,3751.00,380,0
+2006-02-14,19:53:00,3751.00,3752.00,3751.00,3752.00,142,0
+2006-02-14,19:54:00,3752.00,3752.00,3752.00,3752.00,35,0
+2006-02-14,19:55:00,3752.00,3753.00,3752.00,3753.00,155,0
+2006-02-14,19:56:00,3754.00,3755.00,3753.00,3754.00,928,0
+2006-02-14,19:57:00,3753.00,3754.00,3751.00,3752.00,716,0
+2006-02-14,19:58:00,3752.00,3754.00,3752.00,3754.00,285,0
+2006-02-14,19:59:00,3754.00,3754.00,3753.00,3753.00,98,0
+2006-02-14,20:00:00,3752.00,3753.00,3751.00,3752.00,290,0
+2006-02-14,20:01:00,3751.00,3752.00,3751.00,3752.00,65,0
+2006-02-14,20:02:00,3752.00,3753.00,3752.00,3753.00,171,0
+2006-02-14,20:03:00,3754.00,3755.00,3753.00,3754.00,319,0
+2006-02-14,20:04:00,3754.00,3754.00,3753.00,3753.00,53,0
+2006-02-14,20:05:00,3753.00,3754.00,3753.00,3754.00,69,0
+2006-02-14,20:06:00,3755.00,3758.00,3754.00,3758.00,2880,0
+2006-02-14,20:07:00,3758.00,3759.00,3757.00,3758.00,1013,0
+2006-02-14,20:08:00,3758.00,3760.00,3758.00,3759.00,876,0
+2006-02-14,20:09:00,3758.00,3758.00,3758.00,3758.00,39,0
+2006-02-14,20:10:00,3758.00,3759.00,3758.00,3759.00,223,0
+2006-02-14,20:11:00,3759.00,3759.00,3758.00,3759.00,628,0
+2006-02-14,20:12:00,3758.00,3758.00,3758.00,3758.00,282,0
+2006-02-14,20:13:00,3759.00,3759.00,3758.00,3759.00,460,0
+2006-02-14,20:14:00,3759.00,3759.00,3759.00,3759.00,28,0
+2006-02-14,20:15:00,3759.00,3759.00,3758.00,3758.00,443,0
+2006-02-14,20:16:00,3758.00,3758.00,3757.00,3758.00,769,0
+2006-02-14,20:17:00,3758.00,3759.00,3758.00,3758.00,403,0
+2006-02-14,20:18:00,3758.00,3758.00,3757.00,3757.00,357,0
+2006-02-14,20:19:00,3758.00,3759.00,3758.00,3759.00,428,0
+2006-02-14,20:20:00,3758.00,3759.00,3758.00,3759.00,30,0
+2006-02-14,20:21:00,3758.00,3759.00,3758.00,3759.00,30,0
+2006-02-14,20:22:00,3758.00,3759.00,3758.00,3759.00,118,0
+2006-02-14,20:23:00,3758.00,3758.00,3758.00,3758.00,4,0
+2006-02-14,20:24:00,3758.00,3759.00,3758.00,3759.00,340,0
+2006-02-14,20:25:00,3759.00,3760.00,3759.00,3760.00,153,0
+2006-02-14,20:26:00,3759.00,3760.00,3759.00,3759.00,26,0
+2006-02-14,20:27:00,3759.00,3760.00,3759.00,3759.00,144,0
+2006-02-14,20:28:00,3759.00,3759.00,3759.00,3759.00,210,0
+2006-02-14,20:29:00,3759.00,3762.00,3759.00,3760.00,2539,0
+2006-02-14,20:30:00,3761.00,3761.00,3760.00,3760.00,426,0
+2006-02-14,20:31:00,3759.00,3760.00,3759.00,3760.00,70,0
+2006-02-14,20:32:00,3760.00,3760.00,3758.00,3759.00,584,0
+2006-02-14,20:33:00,3759.00,3762.00,3759.00,3761.00,604,0
+2006-02-14,20:34:00,3761.00,3762.00,3761.00,3761.00,65,0
+2006-02-14,20:35:00,3761.00,3761.00,3761.00,3761.00,12,0
+2006-02-14,20:36:00,3761.00,3761.00,3760.00,3760.00,344,0
+2006-02-14,20:37:00,3760.00,3761.00,3760.00,3761.00,237,0
+2006-02-14,20:38:00,3760.00,3760.00,3759.00,3760.00,221,0
+2006-02-14,20:39:00,3760.00,3760.00,3759.00,3759.00,62,0
+2006-02-14,20:40:00,3759.00,3760.00,3758.00,3760.00,217,0
+2006-02-14,20:41:00,3760.00,3761.00,3759.00,3759.00,60,0
+2006-02-14,20:42:00,3759.00,3760.00,3758.00,3759.00,82,0
+2006-02-14,20:43:00,3760.00,3760.00,3758.00,3759.00,25,0
+2006-02-14,20:44:00,3759.00,3759.00,3758.00,3758.00,40,0
+2006-02-14,20:45:00,3759.00,3759.00,3758.00,3758.00,123,0
+2006-02-14,20:46:00,3758.00,3758.00,3758.00,3758.00,1,0
+2006-02-14,20:47:00,3759.00,3759.00,3758.00,3758.00,32,0
+2006-02-14,20:48:00,3759.00,3760.00,3759.00,3760.00,67,0
+2006-02-14,20:49:00,3759.00,3759.00,3759.00,3759.00,1,0
+2006-02-14,20:50:00,3760.00,3760.00,3760.00,3760.00,166,0
+2006-02-14,20:51:00,3760.00,3760.00,3760.00,3760.00,176,0
+2006-02-14,20:52:00,3760.00,3760.00,3759.00,3759.00,5,0
+2006-02-14,20:53:00,3759.00,3760.00,3759.00,3759.00,5,0
+2006-02-14,20:54:00,3760.00,3760.00,3759.00,3759.00,11,0
+2006-02-14,20:55:00,3759.00,3759.00,3759.00,3759.00,18,0
+2006-02-14,20:56:00,3759.00,3759.00,3759.00,3759.00,3,0
+2006-02-14,20:57:00,3759.00,3760.00,3759.00,3760.00,29,0
+2006-02-14,20:58:00,3760.00,3760.00,3760.00,3760.00,54,0
+2006-02-14,20:59:00,3760.00,3760.00,3759.00,3760.00,19,0
+2006-02-14,21:00:00,3760.00,3760.00,3760.00,3760.00,4,0
+2006-02-14,21:01:00,3761.00,3761.00,3761.00,3761.00,70,0
+2006-02-14,21:02:00,3760.00,3761.00,3760.00,3761.00,58,0
+2006-02-14,21:03:00,3762.00,3762.00,3761.00,3761.00,349,0
+2006-02-14,21:04:00,3761.00,3761.00,3761.00,3761.00,54,0
+2006-02-14,21:05:00,3761.00,3762.00,3761.00,3761.00,119,0
+2006-02-14,21:06:00,3761.00,3762.00,3761.00,3762.00,108,0
+2006-02-14,21:07:00,3761.00,3761.00,3760.00,3760.00,2,0
+2006-02-14,21:08:00,3759.00,3759.00,3758.00,3758.00,17,0
+2006-02-14,21:09:00,3758.00,3758.00,3758.00,3758.00,2,0
+2006-02-14,21:10:00,3759.00,3759.00,3758.00,3758.00,13,0
+2006-02-14,21:11:00,3758.00,3759.00,3758.00,3758.00,92,0
+2006-02-14,21:12:00,3758.00,3758.00,3757.00,3758.00,19,0
+2006-02-14,21:13:00,3758.00,3758.00,3758.00,3758.00,7,0
+2006-02-14,21:14:00,3757.00,3758.00,3757.00,3758.00,49,0
+2006-02-14,21:15:00,3759.00,3759.00,3758.00,3758.00,10,0
+2006-02-14,21:16:00,3758.00,3759.00,3758.00,3759.00,30,0
+2006-02-14,21:17:00,3759.00,3759.00,3759.00,3759.00,70,0
+2006-02-14,21:18:00,3760.00,3760.00,3759.00,3759.00,208,0
+2006-02-14,21:19:00,3759.00,3759.00,3759.00,3759.00,31,0
+2006-02-14,21:20:00,3759.00,3759.00,3759.00,3759.00,3,0
+2006-02-14,21:21:00,3759.00,3760.00,3759.00,3760.00,38,0
+2006-02-14,21:22:00,3760.00,3760.00,3759.00,3760.00,76,0
+2006-02-14,21:23:00,3760.00,3760.00,3759.00,3759.00,11,0
+2006-02-14,21:24:00,3759.00,3759.00,3759.00,3759.00,16,0
+2006-02-14,21:25:00,3759.00,3760.00,3759.00,3760.00,48,0
+2006-02-14,21:26:00,3759.00,3759.00,3759.00,3759.00,1,0
+2006-02-14,21:27:00,3759.00,3760.00,3759.00,3759.00,137,0
+2006-02-14,21:28:00,3760.00,3760.00,3759.00,3759.00,97,0
+2006-02-14,21:29:00,3759.00,3759.00,3759.00,3759.00,36,0
+2006-02-14,21:30:00,3759.00,3760.00,3759.00,3760.00,25,0
+2006-02-14,21:31:00,3759.00,3759.00,3759.00,3759.00,4,0
+2006-02-14,21:32:00,3760.00,3761.00,3760.00,3761.00,136,0
+2006-02-14,21:33:00,3761.00,3761.00,3761.00,3761.00,69,0
+2006-02-14,21:34:00,3762.00,3762.00,3761.00,3762.00,390,0
+2006-02-14,21:35:00,3762.00,3763.00,3762.00,3763.00,231,0
+2006-02-14,21:36:00,3763.00,3763.00,3763.00,3763.00,2,0
+2006-02-14,21:37:00,3763.00,3764.00,3762.00,3764.00,311,0
+2006-02-14,21:38:00,3764.00,3764.00,3762.00,3762.00,38,0
+2006-02-14,21:39:00,3762.00,3762.00,3762.00,3762.00,43,0
+2006-02-14,21:40:00,3762.00,3763.00,3762.00,3763.00,132,0
+2006-02-14,21:41:00,3763.00,3763.00,3762.00,3763.00,30,0
+2006-02-14,21:42:00,3762.00,3762.00,3762.00,3762.00,80,0
+2006-02-14,21:43:00,3762.00,3763.00,3762.00,3763.00,244,0
+2006-02-14,21:44:00,3763.00,3764.00,3762.00,3762.00,113,0
+2006-02-14,21:45:00,3761.00,3761.00,3761.00,3761.00,11,0
+2006-02-14,21:46:00,3761.00,3762.00,3761.00,3761.00,48,0
+2006-02-14,21:47:00,3761.00,3761.00,3760.00,3761.00,372,0
+2006-02-14,21:49:00,3760.00,3761.00,3760.00,3760.00,321,0
+2006-02-14,21:50:00,3760.00,3760.00,3759.00,3760.00,112,0
+2006-02-14,21:51:00,3759.00,3761.00,3759.00,3761.00,151,0
+2006-02-14,21:52:00,3761.00,3762.00,3761.00,3762.00,193,0
+2006-02-14,21:53:00,3762.00,3762.00,3762.00,3762.00,38,0
+2006-02-14,21:54:00,3763.00,3763.00,3761.00,3761.00,130,0
+2006-02-14,21:55:00,3760.00,3762.00,3760.00,3762.00,211,0
+2006-02-14,21:56:00,3761.00,3762.00,3761.00,3761.00,67,0
+2006-02-14,21:57:00,3761.00,3763.00,3761.00,3762.00,104,0
+2006-02-14,21:58:00,3762.00,3763.00,3762.00,3763.00,64,0
+2006-02-14,21:59:00,3763.00,3765.00,3762.00,3765.00,424,0
+2006-02-14,22:00:00,3764.00,3764.00,3762.00,3763.00,531,0
+2006-02-15,09:01:00,3746.00,3749.00,3744.00,3745.00,9002,0
+2006-02-15,09:02:00,3745.00,3747.00,3743.00,3744.00,3505,0
+2006-02-15,09:03:00,3743.00,3745.00,3743.00,3744.00,2295,0
+2006-02-15,09:04:00,3744.00,3745.00,3738.00,3738.00,4211,0
+2006-02-15,09:05:00,3739.00,3741.00,3738.00,3741.00,1595,0
+2006-02-15,09:06:00,3741.00,3742.00,3739.00,3740.00,2282,0
+2006-02-15,09:07:00,3740.00,3741.00,3736.00,3737.00,4796,0
+2006-02-15,09:08:00,3738.00,3739.00,3737.00,3739.00,1885,0
+2006-02-15,09:09:00,3739.00,3740.00,3738.00,3738.00,464,0
+2006-02-15,09:10:00,3738.00,3739.00,3737.00,3738.00,594,0
+2006-02-15,09:11:00,3738.00,3741.00,3737.00,3740.00,1896,0
+2006-02-15,09:12:00,3740.00,3741.00,3740.00,3740.00,1331,0
+2006-02-15,09:13:00,3740.00,3740.00,3739.00,3739.00,597,0
+2006-02-15,09:14:00,3739.00,3739.00,3737.00,3738.00,936,0
+2006-02-15,09:15:00,3739.00,3739.00,3738.00,3739.00,359,0
+2006-02-15,09:16:00,3739.00,3740.00,3737.00,3737.00,865,0
+2006-02-15,09:17:00,3736.00,3737.00,3733.00,3734.00,3161,0
+2006-02-15,09:18:00,3735.00,3736.00,3734.00,3736.00,989,0
+2006-02-15,09:19:00,3735.00,3735.00,3733.00,3734.00,714,0
+2006-02-15,09:20:00,3733.00,3734.00,3733.00,3734.00,1302,0
+2006-02-15,09:21:00,3735.00,3735.00,3732.00,3734.00,522,0
+2006-02-15,09:22:00,3734.00,3735.00,3734.00,3735.00,698,0
+2006-02-15,09:23:00,3735.00,3737.00,3735.00,3737.00,1893,0
+2006-02-15,09:24:00,3738.00,3742.00,3738.00,3741.00,2784,0
+2006-02-15,09:25:00,3741.00,3743.00,3740.00,3743.00,1986,0
+2006-02-15,09:26:00,3744.00,3744.00,3742.00,3742.00,818,0
+2006-02-15,09:27:00,3741.00,3742.00,3740.00,3742.00,838,0
+2006-02-15,09:28:00,3741.00,3741.00,3740.00,3741.00,1058,0
+2006-02-15,09:29:00,3741.00,3742.00,3741.00,3742.00,873,0
+2006-02-15,09:30:00,3743.00,3743.00,3742.00,3742.00,1190,0
+2006-02-15,09:31:00,3742.00,3743.00,3741.00,3741.00,202,0
+2006-02-15,09:32:00,3741.00,3741.00,3738.00,3739.00,1897,0
+2006-02-15,09:33:00,3740.00,3741.00,3739.00,3740.00,359,0
+2006-02-15,09:34:00,3740.00,3741.00,3740.00,3741.00,1837,0
+2006-02-15,09:35:00,3740.00,3741.00,3740.00,3741.00,461,0
+2006-02-15,09:36:00,3741.00,3742.00,3739.00,3739.00,1805,0
+2006-02-15,09:37:00,3740.00,3742.00,3739.00,3742.00,1956,0
+2006-02-15,09:38:00,3742.00,3742.00,3740.00,3741.00,1327,0
+2006-02-15,09:39:00,3742.00,3743.00,3742.00,3742.00,532,0
+2006-02-15,09:40:00,3742.00,3742.00,3742.00,3742.00,204,0
+2006-02-15,09:41:00,3742.00,3743.00,3741.00,3741.00,1506,0
+2006-02-15,09:42:00,3742.00,3742.00,3741.00,3742.00,211,0
+2006-02-15,09:43:00,3741.00,3741.00,3739.00,3740.00,1280,0
+2006-02-15,09:44:00,3740.00,3740.00,3739.00,3739.00,372,0
+2006-02-15,09:45:00,3739.00,3739.00,3736.00,3736.00,1181,0
+2006-02-15,09:46:00,3736.00,3738.00,3736.00,3737.00,707,0
+2006-02-15,09:47:00,3738.00,3738.00,3735.00,3736.00,654,0
+2006-02-15,09:48:00,3737.00,3738.00,3736.00,3737.00,250,0
+2006-02-15,09:49:00,3738.00,3738.00,3737.00,3737.00,38,0
+2006-02-15,09:50:00,3738.00,3738.00,3737.00,3738.00,574,0
+2006-02-15,09:51:00,3737.00,3738.00,3734.00,3735.00,1430,0
+2006-02-15,09:52:00,3734.00,3736.00,3734.00,3735.00,360,0
+2006-02-15,09:53:00,3736.00,3738.00,3736.00,3738.00,670,0
+2006-02-15,09:54:00,3737.00,3737.00,3735.00,3735.00,696,0
+2006-02-15,09:55:00,3735.00,3736.00,3734.00,3734.00,590,0
+2006-02-15,09:56:00,3733.00,3735.00,3733.00,3734.00,1558,0
+2006-02-15,09:57:00,3735.00,3736.00,3735.00,3736.00,246,0
+2006-02-15,09:58:00,3736.00,3736.00,3735.00,3735.00,3036,0
+2006-02-15,09:59:00,3735.00,3736.00,3735.00,3736.00,80,0
+2006-02-15,10:00:00,3736.00,3737.00,3736.00,3737.00,459,0
+2006-02-15,10:01:00,3736.00,3737.00,3735.00,3736.00,1128,0
+2006-02-15,10:02:00,3737.00,3737.00,3736.00,3737.00,293,0
+2006-02-15,10:03:00,3737.00,3738.00,3737.00,3737.00,141,0
+2006-02-15,10:04:00,3737.00,3739.00,3737.00,3739.00,328,0
+2006-02-15,10:05:00,3739.00,3739.00,3738.00,3739.00,289,0
+2006-02-15,10:06:00,3738.00,3739.00,3738.00,3738.00,113,0
+2006-02-15,10:07:00,3738.00,3739.00,3737.00,3737.00,1031,0
+2006-02-15,10:08:00,3737.00,3737.00,3737.00,3737.00,8,0
+2006-02-15,10:09:00,3737.00,3737.00,3737.00,3737.00,17,0
+2006-02-15,10:10:00,3737.00,3737.00,3734.00,3734.00,1482,0
+2006-02-15,10:11:00,3734.00,3735.00,3734.00,3734.00,303,0
+2006-02-15,10:12:00,3735.00,3735.00,3733.00,3734.00,1754,0
+2006-02-15,10:13:00,3734.00,3735.00,3734.00,3735.00,3635,0
+2006-02-15,10:14:00,3735.00,3738.00,3735.00,3737.00,450,0
+2006-02-15,10:15:00,3737.00,3738.00,3737.00,3737.00,54,0
+2006-02-15,10:16:00,3737.00,3738.00,3736.00,3736.00,1026,0
+2006-02-15,10:17:00,3736.00,3736.00,3735.00,3735.00,357,0
+2006-02-15,10:18:00,3735.00,3737.00,3735.00,3736.00,268,0
+2006-02-15,10:19:00,3736.00,3737.00,3735.00,3737.00,741,0
+2006-02-15,10:20:00,3737.00,3737.00,3737.00,3737.00,41,0
+2006-02-15,10:21:00,3738.00,3739.00,3737.00,3737.00,1221,0
+2006-02-15,10:22:00,3737.00,3738.00,3737.00,3738.00,92,0
+2006-02-15,10:23:00,3737.00,3738.00,3737.00,3737.00,22,0
+2006-02-15,10:24:00,3737.00,3737.00,3736.00,3737.00,441,0
+2006-02-15,10:25:00,3737.00,3738.00,3735.00,3736.00,1323,0
+2006-02-15,10:26:00,3736.00,3736.00,3734.00,3735.00,792,0
+2006-02-15,10:27:00,3735.00,3735.00,3734.00,3735.00,175,0
+2006-02-15,10:28:00,3736.00,3736.00,3735.00,3736.00,622,0
+2006-02-15,10:29:00,3737.00,3738.00,3736.00,3737.00,280,0
+2006-02-15,10:30:00,3737.00,3737.00,3737.00,3737.00,177,0
+2006-02-15,10:31:00,3736.00,3738.00,3736.00,3737.00,422,0
+2006-02-15,10:32:00,3737.00,3738.00,3736.00,3738.00,150,0
+2006-02-15,10:33:00,3738.00,3739.00,3738.00,3739.00,948,0
+2006-02-15,10:34:00,3739.00,3740.00,3739.00,3740.00,710,0
+2006-02-15,10:35:00,3740.00,3742.00,3740.00,3741.00,779,0
+2006-02-15,10:36:00,3741.00,3741.00,3740.00,3741.00,534,0
+2006-02-15,10:37:00,3740.00,3741.00,3739.00,3740.00,325,0
+2006-02-15,10:38:00,3740.00,3741.00,3740.00,3740.00,328,0
+2006-02-15,10:39:00,3740.00,3741.00,3739.00,3740.00,755,0
+2006-02-15,10:40:00,3741.00,3741.00,3739.00,3741.00,185,0
+2006-02-15,10:41:00,3740.00,3741.00,3740.00,3740.00,155,0
+2006-02-15,10:42:00,3740.00,3741.00,3740.00,3741.00,21,0
+2006-02-15,10:43:00,3740.00,3740.00,3740.00,3740.00,70,0
+2006-02-15,10:44:00,3740.00,3742.00,3740.00,3742.00,320,0
+2006-02-15,10:45:00,3741.00,3743.00,3741.00,3743.00,965,0
+2006-02-15,10:46:00,3742.00,3745.00,3742.00,3744.00,3237,0
+2006-02-15,10:47:00,3744.00,3744.00,3743.00,3743.00,187,0
+2006-02-15,10:48:00,3744.00,3744.00,3743.00,3744.00,286,0
+2006-02-15,10:49:00,3743.00,3744.00,3743.00,3743.00,187,0
+2006-02-15,10:50:00,3743.00,3744.00,3742.00,3743.00,891,0
+2006-02-15,10:51:00,3744.00,3745.00,3744.00,3745.00,326,0
+2006-02-15,10:52:00,3744.00,3745.00,3742.00,3742.00,554,0
+2006-02-15,10:53:00,3742.00,3742.00,3742.00,3742.00,202,0
+2006-02-15,10:54:00,3742.00,3743.00,3741.00,3741.00,1053,0
+2006-02-15,10:55:00,3741.00,3743.00,3741.00,3743.00,546,0
+2006-02-15,10:56:00,3743.00,3743.00,3742.00,3743.00,85,0
+2006-02-15,10:57:00,3742.00,3744.00,3742.00,3743.00,444,0
+2006-02-15,10:58:00,3742.00,3743.00,3742.00,3743.00,44,0
+2006-02-15,10:59:00,3743.00,3744.00,3743.00,3744.00,260,0
+2006-02-15,11:00:00,3743.00,3744.00,3743.00,3744.00,370,0
+2006-02-15,11:01:00,3743.00,3744.00,3743.00,3744.00,190,0
+2006-02-15,11:02:00,3743.00,3744.00,3743.00,3744.00,3669,0
+2006-02-15,11:03:00,3744.00,3744.00,3743.00,3744.00,274,0
+2006-02-15,11:04:00,3743.00,3744.00,3742.00,3742.00,712,0
+2006-02-15,11:05:00,3743.00,3744.00,3742.00,3743.00,943,0
+2006-02-15,11:06:00,3744.00,3744.00,3742.00,3743.00,155,0
+2006-02-15,11:07:00,3743.00,3743.00,3742.00,3743.00,166,0
+2006-02-15,11:08:00,3743.00,3744.00,3742.00,3743.00,269,0
+2006-02-15,11:09:00,3742.00,3743.00,3742.00,3742.00,233,0
+2006-02-15,11:10:00,3742.00,3743.00,3741.00,3742.00,776,0
+2006-02-15,11:11:00,3742.00,3743.00,3742.00,3743.00,27,0
+2006-02-15,11:12:00,3743.00,3743.00,3742.00,3742.00,144,0
+2006-02-15,11:13:00,3742.00,3743.00,3742.00,3743.00,305,0
+2006-02-15,11:14:00,3742.00,3743.00,3742.00,3743.00,267,0
+2006-02-15,11:15:00,3743.00,3744.00,3743.00,3744.00,854,0
+2006-02-15,11:16:00,3743.00,3744.00,3743.00,3744.00,18,0
+2006-02-15,11:17:00,3743.00,3743.00,3742.00,3743.00,130,0
+2006-02-15,11:18:00,3743.00,3743.00,3743.00,3743.00,100,0
+2006-02-15,11:19:00,3742.00,3743.00,3742.00,3743.00,144,0
+2006-02-15,11:20:00,3743.00,3744.00,3743.00,3744.00,633,0
+2006-02-15,11:21:00,3743.00,3744.00,3743.00,3744.00,6,0
+2006-02-15,11:22:00,3743.00,3745.00,3743.00,3744.00,849,0
+2006-02-15,11:23:00,3744.00,3745.00,3743.00,3744.00,207,0
+2006-02-15,11:24:00,3744.00,3744.00,3743.00,3743.00,210,0
+2006-02-15,11:25:00,3743.00,3744.00,3743.00,3743.00,155,0
+2006-02-15,11:26:00,3743.00,3744.00,3743.00,3744.00,214,0
+2006-02-15,11:27:00,3743.00,3744.00,3743.00,3743.00,280,0
+2006-02-15,11:28:00,3744.00,3744.00,3742.00,3743.00,445,0
+2006-02-15,11:29:00,3743.00,3743.00,3742.00,3743.00,22,0
+2006-02-15,11:30:00,3742.00,3743.00,3742.00,3743.00,399,0
+2006-02-15,11:31:00,3742.00,3742.00,3741.00,3742.00,82,0
+2006-02-15,11:32:00,3741.00,3742.00,3741.00,3742.00,31,0
+2006-02-15,11:33:00,3742.00,3742.00,3741.00,3742.00,581,0
+2006-02-15,11:34:00,3741.00,3742.00,3741.00,3742.00,148,0
+2006-02-15,11:35:00,3741.00,3742.00,3741.00,3742.00,83,0
+2006-02-15,11:36:00,3741.00,3742.00,3741.00,3742.00,2,0
+2006-02-15,11:37:00,3741.00,3744.00,3741.00,3743.00,843,0
+2006-02-15,11:38:00,3742.00,3744.00,3742.00,3743.00,443,0
+2006-02-15,11:39:00,3743.00,3744.00,3743.00,3743.00,7,0
+2006-02-15,11:40:00,3743.00,3744.00,3743.00,3744.00,180,0
+2006-02-15,11:41:00,3743.00,3743.00,3742.00,3742.00,311,0
+2006-02-15,11:42:00,3743.00,3743.00,3742.00,3743.00,303,0
+2006-02-15,11:43:00,3743.00,3743.00,3742.00,3742.00,41,0
+2006-02-15,11:44:00,3742.00,3742.00,3741.00,3741.00,1314,0
+2006-02-15,11:45:00,3741.00,3742.00,3741.00,3742.00,886,0
+2006-02-15,11:46:00,3742.00,3742.00,3741.00,3742.00,71,0
+2006-02-15,11:47:00,3741.00,3742.00,3741.00,3742.00,148,0
+2006-02-15,11:48:00,3741.00,3742.00,3740.00,3740.00,903,0
+2006-02-15,11:49:00,3739.00,3740.00,3739.00,3739.00,198,0
+2006-02-15,11:50:00,3739.00,3741.00,3739.00,3740.00,348,0
+2006-02-15,11:51:00,3740.00,3741.00,3740.00,3740.00,302,0
+2006-02-15,11:52:00,3740.00,3740.00,3739.00,3740.00,231,0
+2006-02-15,11:53:00,3740.00,3740.00,3736.00,3738.00,3433,0
+2006-02-15,11:54:00,3738.00,3738.00,3736.00,3737.00,496,0
+2006-02-15,11:55:00,3737.00,3737.00,3735.00,3736.00,950,0
+2006-02-15,11:56:00,3736.00,3737.00,3735.00,3737.00,580,0
+2006-02-15,11:57:00,3737.00,3737.00,3736.00,3737.00,441,0
+2006-02-15,11:58:00,3736.00,3737.00,3736.00,3737.00,385,0
+2006-02-15,11:59:00,3736.00,3737.00,3736.00,3737.00,23,0
+2006-02-15,12:00:00,3737.00,3737.00,3736.00,3736.00,11,0
+2006-02-15,12:01:00,3737.00,3737.00,3736.00,3736.00,234,0
+2006-02-15,12:02:00,3737.00,3737.00,3736.00,3736.00,174,0
+2006-02-15,12:03:00,3736.00,3737.00,3736.00,3737.00,658,0
+2006-02-15,12:04:00,3737.00,3738.00,3736.00,3736.00,584,0
+2006-02-15,12:05:00,3735.00,3737.00,3735.00,3737.00,619,0
+2006-02-15,12:06:00,3736.00,3736.00,3735.00,3735.00,129,0
+2006-02-15,12:07:00,3736.00,3736.00,3735.00,3736.00,97,0
+2006-02-15,12:08:00,3736.00,3736.00,3736.00,3736.00,394,0
+2006-02-15,12:09:00,3736.00,3736.00,3734.00,3734.00,813,0
+2006-02-15,12:10:00,3734.00,3734.00,3733.00,3734.00,826,0
+2006-02-15,12:11:00,3735.00,3735.00,3733.00,3734.00,613,0
+2006-02-15,12:12:00,3734.00,3736.00,3734.00,3735.00,887,0
+2006-02-15,12:13:00,3735.00,3735.00,3734.00,3734.00,123,0
+2006-02-15,12:14:00,3735.00,3735.00,3735.00,3735.00,278,0
+2006-02-15,12:15:00,3735.00,3735.00,3734.00,3735.00,521,0
+2006-02-15,12:16:00,3735.00,3735.00,3734.00,3735.00,102,0
+2006-02-15,12:17:00,3735.00,3736.00,3735.00,3735.00,825,0
+2006-02-15,12:18:00,3735.00,3736.00,3735.00,3735.00,185,0
+2006-02-15,12:19:00,3736.00,3736.00,3735.00,3736.00,3,0
+2006-02-15,12:20:00,3736.00,3737.00,3736.00,3737.00,888,0
+2006-02-15,12:21:00,3736.00,3736.00,3735.00,3736.00,363,0
+2006-02-15,12:22:00,3735.00,3736.00,3735.00,3735.00,528,0
+2006-02-15,12:23:00,3735.00,3735.00,3734.00,3735.00,77,0
+2006-02-15,12:24:00,3734.00,3736.00,3734.00,3735.00,369,0
+2006-02-15,12:25:00,3735.00,3735.00,3734.00,3735.00,753,0
+2006-02-15,12:26:00,3735.00,3736.00,3735.00,3736.00,451,0
+2006-02-15,12:27:00,3735.00,3736.00,3735.00,3735.00,54,0
+2006-02-15,12:28:00,3735.00,3737.00,3735.00,3737.00,439,0
+2006-02-15,12:29:00,3737.00,3737.00,3736.00,3736.00,207,0
+2006-02-15,12:30:00,3736.00,3737.00,3736.00,3737.00,745,0
+2006-02-15,12:31:00,3736.00,3736.00,3734.00,3736.00,959,0
+2006-02-15,12:32:00,3736.00,3736.00,3734.00,3734.00,353,0
+2006-02-15,12:33:00,3735.00,3735.00,3733.00,3733.00,2395,0
+2006-02-15,12:34:00,3734.00,3735.00,3732.00,3735.00,1422,0
+2006-02-15,12:35:00,3735.00,3735.00,3733.00,3734.00,531,0
+2006-02-15,12:36:00,3733.00,3734.00,3733.00,3734.00,325,0
+2006-02-15,12:37:00,3734.00,3735.00,3734.00,3735.00,122,0
+2006-02-15,12:38:00,3734.00,3735.00,3733.00,3734.00,568,0
+2006-02-15,12:39:00,3733.00,3734.00,3733.00,3734.00,435,0
+2006-02-15,12:40:00,3735.00,3736.00,3735.00,3735.00,411,0
+2006-02-15,12:41:00,3734.00,3735.00,3733.00,3734.00,139,0
+2006-02-15,12:42:00,3734.00,3735.00,3733.00,3734.00,159,0
+2006-02-15,12:43:00,3734.00,3735.00,3734.00,3734.00,135,0
+2006-02-15,12:44:00,3734.00,3735.00,3734.00,3734.00,25,0
+2006-02-15,12:45:00,3735.00,3735.00,3734.00,3734.00,256,0
+2006-02-15,12:46:00,3734.00,3735.00,3734.00,3735.00,4,0
+2006-02-15,12:47:00,3734.00,3734.00,3734.00,3734.00,48,0
+2006-02-15,12:48:00,3734.00,3735.00,3734.00,3735.00,720,0
+2006-02-15,12:49:00,3735.00,3735.00,3734.00,3735.00,50,0
+2006-02-15,12:50:00,3734.00,3736.00,3734.00,3736.00,307,0
+2006-02-15,12:51:00,3736.00,3737.00,3735.00,3737.00,205,0
+2006-02-15,12:52:00,3737.00,3738.00,3736.00,3738.00,778,0
+2006-02-15,12:53:00,3737.00,3738.00,3737.00,3738.00,20,0
+2006-02-15,12:54:00,3738.00,3738.00,3737.00,3737.00,9,0
+2006-02-15,12:55:00,3737.00,3738.00,3737.00,3738.00,144,0
+2006-02-15,12:56:00,3737.00,3738.00,3737.00,3738.00,116,0
+2006-02-15,12:57:00,3738.00,3738.00,3737.00,3737.00,92,0
+2006-02-15,12:58:00,3738.00,3738.00,3737.00,3737.00,8,0
+2006-02-15,12:59:00,3738.00,3739.00,3737.00,3738.00,742,0
+2006-02-15,13:00:00,3738.00,3738.00,3737.00,3737.00,347,0
+2006-02-15,13:01:00,3737.00,3737.00,3737.00,3737.00,190,0
+2006-02-15,13:02:00,3738.00,3738.00,3738.00,3738.00,50,0
+2006-02-15,13:03:00,3738.00,3738.00,3737.00,3738.00,423,0
+2006-02-15,13:04:00,3738.00,3738.00,3737.00,3738.00,9,0
+2006-02-15,13:05:00,3737.00,3738.00,3737.00,3738.00,125,0
+2006-02-15,13:06:00,3737.00,3738.00,3737.00,3738.00,198,0
+2006-02-15,13:07:00,3737.00,3737.00,3737.00,3737.00,561,0
+2006-02-15,13:08:00,3737.00,3739.00,3737.00,3738.00,1994,0
+2006-02-15,13:09:00,3739.00,3739.00,3738.00,3739.00,269,0
+2006-02-15,13:10:00,3738.00,3739.00,3738.00,3739.00,47,0
+2006-02-15,13:11:00,3738.00,3738.00,3738.00,3738.00,76,0
+2006-02-15,13:12:00,3738.00,3738.00,3737.00,3738.00,173,0
+2006-02-15,13:13:00,3738.00,3738.00,3738.00,3738.00,220,0
+2006-02-15,13:14:00,3737.00,3738.00,3737.00,3738.00,33,0
+2006-02-15,13:15:00,3738.00,3738.00,3737.00,3738.00,4,0
+2006-02-15,13:17:00,3737.00,3737.00,3737.00,3737.00,242,0
+2006-02-15,13:18:00,3738.00,3738.00,3737.00,3737.00,799,0
+2006-02-15,13:19:00,3737.00,3737.00,3736.00,3736.00,370,0
+2006-02-15,13:20:00,3736.00,3736.00,3735.00,3736.00,1117,0
+2006-02-15,13:21:00,3736.00,3737.00,3735.00,3737.00,827,0
+2006-02-15,13:22:00,3737.00,3737.00,3736.00,3737.00,224,0
+2006-02-15,13:23:00,3737.00,3737.00,3737.00,3737.00,716,0
+2006-02-15,13:24:00,3737.00,3738.00,3737.00,3737.00,80,0
+2006-02-15,13:25:00,3737.00,3738.00,3737.00,3738.00,301,0
+2006-02-15,13:26:00,3738.00,3738.00,3737.00,3737.00,84,0
+2006-02-15,13:27:00,3738.00,3738.00,3737.00,3737.00,15,0
+2006-02-15,13:28:00,3737.00,3738.00,3737.00,3737.00,400,0
+2006-02-15,13:29:00,3737.00,3739.00,3737.00,3738.00,194,0
+2006-02-15,13:30:00,3738.00,3739.00,3737.00,3737.00,126,0
+2006-02-15,13:31:00,3737.00,3738.00,3737.00,3737.00,304,0
+2006-02-15,13:32:00,3737.00,3738.00,3737.00,3737.00,205,0
+2006-02-15,13:33:00,3737.00,3738.00,3737.00,3737.00,138,0
+2006-02-15,13:34:00,3738.00,3739.00,3737.00,3739.00,69,0
+2006-02-15,13:35:00,3738.00,3740.00,3738.00,3740.00,222,0
+2006-02-15,13:36:00,3740.00,3740.00,3739.00,3740.00,43,0
+2006-02-15,13:37:00,3739.00,3739.00,3738.00,3738.00,161,0
+2006-02-15,13:38:00,3738.00,3738.00,3738.00,3738.00,855,0
+2006-02-15,13:39:00,3738.00,3739.00,3738.00,3739.00,36,0
+2006-02-15,13:40:00,3738.00,3738.00,3738.00,3738.00,252,0
+2006-02-15,13:41:00,3738.00,3739.00,3737.00,3738.00,939,0
+2006-02-15,13:42:00,3738.00,3738.00,3737.00,3737.00,70,0
+2006-02-15,13:43:00,3737.00,3738.00,3737.00,3737.00,42,0
+2006-02-15,13:44:00,3737.00,3738.00,3737.00,3738.00,117,0
+2006-02-15,13:45:00,3739.00,3739.00,3738.00,3739.00,148,0
+2006-02-15,13:46:00,3738.00,3739.00,3738.00,3738.00,189,0
+2006-02-15,13:47:00,3739.00,3739.00,3738.00,3739.00,836,0
+2006-02-15,13:48:00,3739.00,3739.00,3738.00,3739.00,1221,0
+2006-02-15,13:49:00,3738.00,3739.00,3738.00,3738.00,77,0
+2006-02-15,13:50:00,3738.00,3739.00,3737.00,3738.00,303,0
+2006-02-15,13:51:00,3737.00,3738.00,3737.00,3738.00,54,0
+2006-02-15,13:52:00,3738.00,3738.00,3738.00,3738.00,557,0
+2006-02-15,13:53:00,3738.00,3738.00,3738.00,3738.00,1316,0
+2006-02-15,13:54:00,3738.00,3739.00,3738.00,3739.00,9,0
+2006-02-15,13:55:00,3738.00,3738.00,3738.00,3738.00,87,0
+2006-02-15,13:56:00,3738.00,3739.00,3738.00,3738.00,1233,0
+2006-02-15,13:57:00,3739.00,3739.00,3739.00,3739.00,325,0
+2006-02-15,13:58:00,3738.00,3738.00,3738.00,3738.00,11,0
+2006-02-15,13:59:00,3738.00,3739.00,3738.00,3739.00,346,0
+2006-02-15,14:00:00,3739.00,3739.00,3738.00,3739.00,404,0
+2006-02-15,14:01:00,3738.00,3738.00,3737.00,3737.00,395,0
+2006-02-15,14:02:00,3737.00,3738.00,3737.00,3738.00,106,0
+2006-02-15,14:03:00,3737.00,3738.00,3736.00,3736.00,668,0
+2006-02-15,14:04:00,3737.00,3737.00,3736.00,3736.00,238,0
+2006-02-15,14:05:00,3737.00,3737.00,3736.00,3736.00,45,0
+2006-02-15,14:06:00,3736.00,3737.00,3736.00,3737.00,7,0
+2006-02-15,14:07:00,3737.00,3737.00,3736.00,3736.00,645,0
+2006-02-15,14:08:00,3736.00,3736.00,3735.00,3736.00,684,0
+2006-02-15,14:09:00,3735.00,3736.00,3735.00,3736.00,1407,0
+2006-02-15,14:10:00,3736.00,3736.00,3735.00,3735.00,793,0
+2006-02-15,14:11:00,3735.00,3735.00,3734.00,3735.00,398,0
+2006-02-15,14:12:00,3735.00,3735.00,3735.00,3735.00,594,0
+2006-02-15,14:13:00,3734.00,3735.00,3734.00,3735.00,782,0
+2006-02-15,14:14:00,3735.00,3735.00,3735.00,3735.00,251,0
+2006-02-15,14:15:00,3736.00,3736.00,3735.00,3735.00,647,0
+2006-02-15,14:16:00,3736.00,3737.00,3735.00,3736.00,181,0
+2006-02-15,14:17:00,3736.00,3736.00,3735.00,3736.00,113,0
+2006-02-15,14:18:00,3736.00,3736.00,3735.00,3735.00,205,0
+2006-02-15,14:19:00,3735.00,3736.00,3735.00,3736.00,85,0
+2006-02-15,14:20:00,3735.00,3736.00,3735.00,3735.00,99,0
+2006-02-15,14:21:00,3735.00,3736.00,3735.00,3735.00,805,0
+2006-02-15,14:22:00,3735.00,3735.00,3735.00,3735.00,194,0
+2006-02-15,14:23:00,3736.00,3736.00,3735.00,3735.00,152,0
+2006-02-15,14:24:00,3735.00,3736.00,3735.00,3736.00,208,0
+2006-02-15,14:25:00,3736.00,3736.00,3736.00,3736.00,42,0
+2006-02-15,14:26:00,3735.00,3736.00,3734.00,3734.00,792,0
+2006-02-15,14:27:00,3733.00,3734.00,3733.00,3734.00,611,0
+2006-02-15,14:28:00,3734.00,3734.00,3733.00,3734.00,33,0
+2006-02-15,14:29:00,3734.00,3734.00,3731.00,3732.00,4918,0
+2006-02-15,14:30:00,3732.00,3733.00,3732.00,3732.00,265,0
+2006-02-15,14:31:00,3733.00,3735.00,3732.00,3734.00,1506,0
+2006-02-15,14:32:00,3734.00,3734.00,3733.00,3734.00,69,0
+2006-02-15,14:33:00,3734.00,3734.00,3733.00,3733.00,624,0
+2006-02-15,14:34:00,3733.00,3734.00,3733.00,3733.00,245,0
+2006-02-15,14:35:00,3733.00,3734.00,3733.00,3733.00,290,0
+2006-02-15,14:36:00,3733.00,3734.00,3733.00,3734.00,127,0
+2006-02-15,14:37:00,3733.00,3734.00,3733.00,3734.00,49,0
+2006-02-15,14:38:00,3733.00,3734.00,3733.00,3734.00,145,0
+2006-02-15,14:39:00,3735.00,3736.00,3734.00,3735.00,380,0
+2006-02-15,14:40:00,3735.00,3736.00,3735.00,3735.00,258,0
+2006-02-15,14:41:00,3735.00,3736.00,3735.00,3735.00,107,0
+2006-02-15,14:42:00,3735.00,3736.00,3735.00,3736.00,2,0
+2006-02-15,14:43:00,3735.00,3736.00,3735.00,3736.00,74,0
+2006-02-15,14:44:00,3735.00,3736.00,3735.00,3736.00,64,0
+2006-02-15,14:45:00,3736.00,3737.00,3736.00,3736.00,355,0
+2006-02-15,14:46:00,3735.00,3737.00,3735.00,3737.00,393,0
+2006-02-15,14:47:00,3736.00,3736.00,3735.00,3736.00,189,0
+2006-02-15,14:48:00,3736.00,3736.00,3735.00,3735.00,326,0
+2006-02-15,14:49:00,3736.00,3737.00,3736.00,3737.00,336,0
+2006-02-15,14:50:00,3738.00,3739.00,3737.00,3738.00,1533,0
+2006-02-15,14:51:00,3737.00,3739.00,3737.00,3738.00,975,0
+2006-02-15,14:52:00,3738.00,3738.00,3738.00,3738.00,326,0
+2006-02-15,14:53:00,3737.00,3738.00,3737.00,3738.00,151,0
+2006-02-15,14:54:00,3738.00,3738.00,3737.00,3738.00,216,0
+2006-02-15,14:55:00,3738.00,3738.00,3737.00,3738.00,10,0
+2006-02-15,14:56:00,3737.00,3738.00,3737.00,3738.00,17,0
+2006-02-15,14:57:00,3737.00,3738.00,3737.00,3737.00,28,0
+2006-02-15,14:58:00,3738.00,3738.00,3737.00,3737.00,71,0
+2006-02-15,14:59:00,3737.00,3737.00,3737.00,3737.00,672,0
+2006-02-15,15:00:00,3738.00,3738.00,3737.00,3737.00,234,0
+2006-02-15,15:01:00,3737.00,3737.00,3733.00,3734.00,3902,0
+2006-02-15,15:02:00,3734.00,3735.00,3734.00,3735.00,1054,0
+2006-02-15,15:03:00,3735.00,3736.00,3735.00,3736.00,243,0
+2006-02-15,15:04:00,3736.00,3736.00,3734.00,3736.00,536,0
+2006-02-15,15:05:00,3736.00,3736.00,3735.00,3735.00,78,0
+2006-02-15,15:06:00,3735.00,3736.00,3735.00,3735.00,1167,0
+2006-02-15,15:07:00,3735.00,3736.00,3735.00,3735.00,245,0
+2006-02-15,15:08:00,3735.00,3735.00,3735.00,3735.00,406,0
+2006-02-15,15:09:00,3735.00,3735.00,3733.00,3733.00,2359,0
+2006-02-15,15:10:00,3734.00,3735.00,3734.00,3734.00,621,0
+2006-02-15,15:11:00,3734.00,3734.00,3734.00,3734.00,47,0
+2006-02-15,15:12:00,3735.00,3735.00,3735.00,3735.00,15,0
+2006-02-15,15:13:00,3734.00,3736.00,3734.00,3736.00,1026,0
+2006-02-15,15:14:00,3736.00,3737.00,3735.00,3735.00,780,0
+2006-02-15,15:15:00,3735.00,3735.00,3734.00,3734.00,518,0
+2006-02-15,15:16:00,3734.00,3735.00,3733.00,3733.00,1378,0
+2006-02-15,15:17:00,3733.00,3735.00,3733.00,3735.00,988,0
+2006-02-15,15:18:00,3735.00,3736.00,3734.00,3735.00,384,0
+2006-02-15,15:19:00,3734.00,3736.00,3734.00,3735.00,521,0
+2006-02-15,15:20:00,3735.00,3736.00,3735.00,3735.00,42,0
+2006-02-15,15:21:00,3735.00,3736.00,3734.00,3735.00,217,0
+2006-02-15,15:22:00,3735.00,3736.00,3734.00,3735.00,292,0
+2006-02-15,15:23:00,3734.00,3734.00,3734.00,3734.00,5,0
+2006-02-15,15:24:00,3734.00,3734.00,3734.00,3734.00,6,0
+2006-02-15,15:25:00,3735.00,3735.00,3734.00,3735.00,70,0
+2006-02-15,15:26:00,3735.00,3735.00,3735.00,3735.00,780,0
+2006-02-15,15:27:00,3734.00,3734.00,3734.00,3734.00,464,0
+2006-02-15,15:28:00,3734.00,3735.00,3734.00,3734.00,350,0
+2006-02-15,15:29:00,3733.00,3733.00,3732.00,3732.00,1040,0
+2006-02-15,15:30:00,3732.00,3732.00,3728.00,3729.00,3510,0
+2006-02-15,15:31:00,3729.00,3730.00,3729.00,3730.00,1718,0
+2006-02-15,15:32:00,3730.00,3731.00,3729.00,3730.00,1171,0
+2006-02-15,15:33:00,3731.00,3732.00,3730.00,3732.00,587,0
+2006-02-15,15:34:00,3731.00,3732.00,3730.00,3731.00,1203,0
+2006-02-15,15:35:00,3731.00,3733.00,3730.00,3733.00,441,0
+2006-02-15,15:36:00,3732.00,3733.00,3732.00,3732.00,215,0
+2006-02-15,15:37:00,3733.00,3734.00,3732.00,3733.00,1167,0
+2006-02-15,15:38:00,3733.00,3734.00,3732.00,3733.00,703,0
+2006-02-15,15:39:00,3733.00,3733.00,3731.00,3732.00,1035,0
+2006-02-15,15:40:00,3732.00,3735.00,3731.00,3734.00,1418,0
+2006-02-15,15:41:00,3734.00,3735.00,3733.00,3734.00,532,0
+2006-02-15,15:42:00,3735.00,3735.00,3733.00,3734.00,928,0
+2006-02-15,15:43:00,3734.00,3734.00,3733.00,3733.00,441,0
+2006-02-15,15:44:00,3733.00,3735.00,3733.00,3733.00,842,0
+2006-02-15,15:45:00,3734.00,3734.00,3734.00,3734.00,175,0
+2006-02-15,15:46:00,3734.00,3736.00,3734.00,3734.00,943,0
+2006-02-15,15:47:00,3734.00,3734.00,3733.00,3734.00,4540,0
+2006-02-15,15:48:00,3735.00,3736.00,3734.00,3735.00,1079,0
+2006-02-15,15:49:00,3735.00,3736.00,3734.00,3735.00,476,0
+2006-02-15,15:50:00,3736.00,3736.00,3733.00,3734.00,2146,0
+2006-02-15,15:51:00,3734.00,3735.00,3734.00,3735.00,190,0
+2006-02-15,15:52:00,3735.00,3736.00,3735.00,3735.00,305,0
+2006-02-15,15:53:00,3736.00,3737.00,3735.00,3737.00,604,0
+2006-02-15,15:54:00,3737.00,3738.00,3736.00,3738.00,311,0
+2006-02-15,15:55:00,3738.00,3738.00,3737.00,3737.00,4621,0
+2006-02-15,15:56:00,3738.00,3740.00,3737.00,3737.00,1531,0
+2006-02-15,15:57:00,3737.00,3738.00,3737.00,3738.00,473,0
+2006-02-15,15:58:00,3739.00,3739.00,3737.00,3738.00,119,0
+2006-02-15,15:59:00,3739.00,3740.00,3738.00,3739.00,846,0
+2006-02-15,16:00:00,3739.00,3739.00,3738.00,3739.00,113,0
+2006-02-15,16:01:00,3739.00,3740.00,3732.00,3733.00,4206,0
+2006-02-15,16:02:00,3733.00,3734.00,3728.00,3730.00,7267,0
+2006-02-15,16:03:00,3730.00,3731.00,3727.00,3729.00,5003,0
+2006-02-15,16:04:00,3730.00,3732.00,3729.00,3729.00,5315,0
+2006-02-15,16:05:00,3729.00,3730.00,3727.00,3730.00,4482,0
+2006-02-15,16:06:00,3730.00,3731.00,3728.00,3728.00,3113,0
+2006-02-15,16:07:00,3728.00,3735.00,3728.00,3735.00,4152,0
+2006-02-15,16:08:00,3735.00,3740.00,3735.00,3739.00,4187,0
+2006-02-15,16:09:00,3740.00,3740.00,3736.00,3738.00,2646,0
+2006-02-15,16:10:00,3738.00,3745.00,3737.00,3744.00,9971,0
+2006-02-15,16:11:00,3744.00,3748.00,3743.00,3748.00,10653,0
+2006-02-15,16:12:00,3747.00,3748.00,3745.00,3748.00,6700,0
+2006-02-15,16:13:00,3748.00,3750.00,3745.00,3746.00,6412,0
+2006-02-15,16:14:00,3746.00,3749.00,3745.00,3747.00,3552,0
+2006-02-15,16:15:00,3748.00,3749.00,3746.00,3748.00,5303,0
+2006-02-15,16:16:00,3748.00,3754.00,3748.00,3753.00,5716,0
+2006-02-15,16:17:00,3753.00,3754.00,3751.00,3752.00,6148,0
+2006-02-15,16:18:00,3752.00,3755.00,3750.00,3754.00,3867,0
+2006-02-15,16:19:00,3755.00,3756.00,3751.00,3751.00,4202,0
+2006-02-15,16:20:00,3751.00,3752.00,3751.00,3752.00,3357,0
+2006-02-15,16:21:00,3752.00,3755.00,3752.00,3754.00,4175,0
+2006-02-15,16:22:00,3754.00,3756.00,3754.00,3754.00,4756,0
+2006-02-15,16:23:00,3754.00,3756.00,3752.00,3755.00,4597,0
+2006-02-15,16:24:00,3755.00,3757.00,3754.00,3755.00,5079,0
+2006-02-15,16:25:00,3755.00,3755.00,3751.00,3751.00,2354,0
+2006-02-15,16:26:00,3752.00,3754.00,3751.00,3751.00,3044,0
+2006-02-15,16:27:00,3751.00,3753.00,3750.00,3752.00,2075,0
+2006-02-15,16:28:00,3752.00,3753.00,3751.00,3752.00,1468,0
+2006-02-15,16:29:00,3752.00,3752.00,3747.00,3747.00,4107,0
+2006-02-15,16:30:00,3747.00,3748.00,3746.00,3748.00,3030,0
+2006-02-15,16:31:00,3747.00,3749.00,3746.00,3747.00,3214,0
+2006-02-15,16:32:00,3747.00,3748.00,3744.00,3748.00,3974,0
+2006-02-15,16:33:00,3748.00,3750.00,3747.00,3750.00,2077,0
+2006-02-15,16:34:00,3749.00,3750.00,3747.00,3748.00,2673,0
+2006-02-15,16:35:00,3748.00,3751.00,3747.00,3750.00,3703,0
+2006-02-15,16:36:00,3751.00,3751.00,3749.00,3750.00,1601,0
+2006-02-15,16:37:00,3750.00,3751.00,3748.00,3750.00,1372,0
+2006-02-15,16:38:00,3750.00,3750.00,3747.00,3747.00,1872,0
+2006-02-15,16:39:00,3747.00,3747.00,3744.00,3746.00,4112,0
+2006-02-15,16:40:00,3746.00,3747.00,3745.00,3746.00,1658,0
+2006-02-15,16:41:00,3746.00,3747.00,3745.00,3745.00,2584,0
+2006-02-15,16:42:00,3745.00,3748.00,3743.00,3748.00,6429,0
+2006-02-15,16:43:00,3748.00,3749.00,3746.00,3747.00,1628,0
+2006-02-15,16:44:00,3748.00,3750.00,3747.00,3749.00,380,0
+2006-02-15,16:45:00,3750.00,3751.00,3748.00,3748.00,2071,0
+2006-02-15,16:46:00,3749.00,3751.00,3748.00,3750.00,1643,0
+2006-02-15,16:47:00,3750.00,3752.00,3749.00,3752.00,2633,0
+2006-02-15,16:48:00,3752.00,3753.00,3751.00,3752.00,2615,0
+2006-02-15,16:49:00,3751.00,3752.00,3749.00,3749.00,960,0
+2006-02-15,16:50:00,3750.00,3751.00,3749.00,3750.00,540,0
+2006-02-15,16:51:00,3749.00,3750.00,3748.00,3750.00,1697,0
+2006-02-15,16:52:00,3749.00,3749.00,3747.00,3747.00,969,0
+2006-02-15,16:53:00,3748.00,3749.00,3747.00,3748.00,1229,0
+2006-02-15,16:54:00,3748.00,3748.00,3744.00,3745.00,2662,0
+2006-02-15,16:55:00,3745.00,3747.00,3744.00,3747.00,2659,0
+2006-02-15,16:56:00,3746.00,3747.00,3745.00,3747.00,644,0
+2006-02-15,16:57:00,3747.00,3747.00,3746.00,3747.00,695,0
+2006-02-15,16:58:00,3747.00,3747.00,3745.00,3746.00,799,0
+2006-02-15,16:59:00,3745.00,3747.00,3744.00,3746.00,1874,0
+2006-02-15,17:00:00,3747.00,3748.00,3747.00,3747.00,460,0
+2006-02-15,17:01:00,3747.00,3748.00,3745.00,3746.00,2061,0
+2006-02-15,17:02:00,3745.00,3746.00,3741.00,3741.00,4010,0
+2006-02-15,17:03:00,3741.00,3742.00,3741.00,3741.00,2227,0
+2006-02-15,17:04:00,3741.00,3742.00,3739.00,3740.00,2620,0
+2006-02-15,17:05:00,3740.00,3741.00,3739.00,3740.00,2693,0
+2006-02-15,17:06:00,3740.00,3742.00,3739.00,3740.00,11909,0
+2006-02-15,17:07:00,3740.00,3742.00,3740.00,3740.00,985,0
+2006-02-15,17:08:00,3741.00,3742.00,3741.00,3742.00,779,0
+2006-02-15,17:09:00,3742.00,3742.00,3740.00,3740.00,1705,0
+2006-02-15,17:10:00,3740.00,3740.00,3738.00,3739.00,1765,0
+2006-02-15,17:11:00,3740.00,3741.00,3736.00,3737.00,3752,0
+2006-02-15,17:12:00,3736.00,3737.00,3735.00,3736.00,4175,0
+2006-02-15,17:13:00,3735.00,3736.00,3733.00,3734.00,4409,0
+2006-02-15,17:14:00,3733.00,3735.00,3733.00,3735.00,2963,0
+2006-02-15,17:15:00,3735.00,3736.00,3735.00,3735.00,1792,0
+2006-02-15,17:16:00,3735.00,3737.00,3735.00,3737.00,1613,0
+2006-02-15,17:17:00,3737.00,3738.00,3736.00,3737.00,800,0
+2006-02-15,17:18:00,3737.00,3737.00,3734.00,3736.00,2319,0
+2006-02-15,17:19:00,3736.00,3739.00,3736.00,3739.00,1513,0
+2006-02-15,17:20:00,3739.00,3740.00,3737.00,3738.00,1577,0
+2006-02-15,17:21:00,3738.00,3739.00,3737.00,3738.00,611,0
+2006-02-15,17:22:00,3737.00,3738.00,3737.00,3737.00,529,0
+2006-02-15,17:23:00,3736.00,3738.00,3736.00,3737.00,1825,0
+2006-02-15,17:24:00,3737.00,3739.00,3735.00,3736.00,3795,0
+2006-02-15,17:25:00,3737.00,3738.00,3736.00,3738.00,1097,0
+2006-02-15,17:26:00,3738.00,3741.00,3737.00,3741.00,1839,0
+2006-02-15,17:27:00,3741.00,3741.00,3738.00,3738.00,1600,0
+2006-02-15,17:28:00,3738.00,3739.00,3736.00,3737.00,2089,0
+2006-02-15,17:29:00,3736.00,3738.00,3736.00,3737.00,1733,0
+2006-02-15,17:30:00,3737.00,3738.00,3736.00,3737.00,5669,0
+2006-02-15,17:31:00,3738.00,3740.00,3736.00,3737.00,6223,0
+2006-02-15,17:32:00,3738.00,3740.00,3737.00,3737.00,2734,0
+2006-02-15,17:33:00,3738.00,3738.00,3736.00,3737.00,2544,0
+2006-02-15,17:34:00,3737.00,3738.00,3737.00,3737.00,803,0
+2006-02-15,17:35:00,3737.00,3738.00,3736.00,3736.00,2415,0
+2006-02-15,17:36:00,3736.00,3736.00,3732.00,3733.00,2907,0
+2006-02-15,17:37:00,3733.00,3734.00,3732.00,3733.00,993,0
+2006-02-15,17:38:00,3733.00,3735.00,3733.00,3734.00,1113,0
+2006-02-15,17:39:00,3734.00,3736.00,3734.00,3734.00,984,0
+2006-02-15,17:40:00,3734.00,3736.00,3734.00,3735.00,759,0
+2006-02-15,17:41:00,3735.00,3736.00,3735.00,3736.00,628,0
+2006-02-15,17:42:00,3736.00,3738.00,3736.00,3737.00,1858,0
+2006-02-15,17:43:00,3738.00,3739.00,3737.00,3738.00,1662,0
+2006-02-15,17:44:00,3738.00,3739.00,3738.00,3738.00,2582,0
+2006-02-15,17:45:00,3738.00,3739.00,3737.00,3739.00,6906,0
+2006-02-15,17:46:00,3739.00,3739.00,3736.00,3736.00,572,0
+2006-02-15,17:47:00,3737.00,3737.00,3736.00,3736.00,204,0
+2006-02-15,17:48:00,3736.00,3737.00,3736.00,3737.00,869,0
+2006-02-15,17:49:00,3737.00,3738.00,3736.00,3736.00,273,0
+2006-02-15,17:50:00,3737.00,3737.00,3736.00,3737.00,624,0
+2006-02-15,17:51:00,3738.00,3739.00,3738.00,3739.00,550,0
+2006-02-15,17:52:00,3738.00,3738.00,3738.00,3738.00,102,0
+2006-02-15,17:53:00,3738.00,3739.00,3737.00,3738.00,1222,0
+2006-02-15,17:54:00,3738.00,3740.00,3738.00,3740.00,931,0
+2006-02-15,17:55:00,3740.00,3742.00,3739.00,3742.00,1422,0
+2006-02-15,17:56:00,3742.00,3745.00,3742.00,3745.00,2120,0
+2006-02-15,17:57:00,3745.00,3746.00,3744.00,3746.00,2087,0
+2006-02-15,17:58:00,3745.00,3745.00,3744.00,3744.00,560,0
+2006-02-15,17:59:00,3744.00,3745.00,3743.00,3745.00,962,0
+2006-02-15,18:00:00,3744.00,3745.00,3744.00,3744.00,266,0
+2006-02-15,18:01:00,3744.00,3745.00,3744.00,3745.00,1187,0
+2006-02-15,18:02:00,3746.00,3746.00,3744.00,3745.00,487,0
+2006-02-15,18:03:00,3745.00,3747.00,3745.00,3745.00,558,0
+2006-02-15,18:04:00,3745.00,3746.00,3742.00,3742.00,534,0
+2006-02-15,18:05:00,3743.00,3743.00,3740.00,3740.00,483,0
+2006-02-15,18:06:00,3740.00,3742.00,3740.00,3741.00,330,0
+2006-02-15,18:07:00,3741.00,3741.00,3740.00,3740.00,255,0
+2006-02-15,18:09:00,3740.00,3741.00,3740.00,3741.00,285,0
+2006-02-15,18:10:00,3740.00,3740.00,3740.00,3740.00,235,0
+2006-02-15,18:11:00,3741.00,3742.00,3740.00,3740.00,1028,0
+2006-02-15,18:12:00,3740.00,3741.00,3740.00,3740.00,277,0
+2006-02-15,18:13:00,3740.00,3741.00,3740.00,3741.00,127,0
+2006-02-15,18:14:00,3740.00,3740.00,3738.00,3738.00,386,0
+2006-02-15,18:15:00,3738.00,3738.00,3736.00,3737.00,974,0
+2006-02-15,18:16:00,3738.00,3738.00,3735.00,3735.00,463,0
+2006-02-15,18:17:00,3735.00,3737.00,3734.00,3737.00,1027,0
+2006-02-15,18:18:00,3737.00,3738.00,3736.00,3737.00,311,0
+2006-02-15,18:19:00,3736.00,3737.00,3735.00,3735.00,750,0
+2006-02-15,18:20:00,3736.00,3737.00,3734.00,3734.00,838,0
+2006-02-15,18:21:00,3734.00,3734.00,3733.00,3734.00,263,0
+2006-02-15,18:22:00,3734.00,3736.00,3734.00,3735.00,660,0
+2006-02-15,18:23:00,3735.00,3737.00,3735.00,3736.00,188,0
+2006-02-15,18:24:00,3736.00,3736.00,3735.00,3735.00,47,0
+2006-02-15,18:25:00,3735.00,3735.00,3732.00,3734.00,683,0
+2006-02-15,18:26:00,3734.00,3735.00,3732.00,3733.00,433,0
+2006-02-15,18:27:00,3734.00,3734.00,3733.00,3733.00,80,0
+2006-02-15,18:28:00,3734.00,3735.00,3734.00,3734.00,621,0
+2006-02-15,18:29:00,3734.00,3734.00,3733.00,3733.00,176,0
+2006-02-15,18:30:00,3734.00,3734.00,3734.00,3734.00,300,0
+2006-02-15,18:31:00,3734.00,3735.00,3731.00,3731.00,629,0
+2006-02-15,18:32:00,3731.00,3731.00,3725.00,3727.00,5080,0
+2006-02-15,18:33:00,3727.00,3728.00,3726.00,3728.00,1011,0
+2006-02-15,18:34:00,3727.00,3730.00,3727.00,3729.00,1048,0
+2006-02-15,18:35:00,3729.00,3730.00,3729.00,3730.00,224,0
+2006-02-15,18:36:00,3729.00,3729.00,3729.00,3729.00,284,0
+2006-02-15,18:37:00,3728.00,3728.00,3723.00,3725.00,2494,0
+2006-02-15,18:38:00,3725.00,3726.00,3723.00,3724.00,952,0
+2006-02-15,18:39:00,3723.00,3724.00,3721.00,3723.00,2349,0
+2006-02-15,18:40:00,3723.00,3724.00,3723.00,3723.00,281,0
+2006-02-15,18:41:00,3724.00,3726.00,3723.00,3726.00,563,0
+2006-02-15,18:42:00,3726.00,3727.00,3726.00,3727.00,208,0
+2006-02-15,18:43:00,3727.00,3728.00,3727.00,3727.00,271,0
+2006-02-15,18:44:00,3727.00,3728.00,3726.00,3728.00,174,0
+2006-02-15,18:45:00,3728.00,3728.00,3727.00,3727.00,190,0
+2006-02-15,18:46:00,3727.00,3727.00,3727.00,3727.00,122,0
+2006-02-15,18:47:00,3727.00,3728.00,3726.00,3727.00,85,0
+2006-02-15,18:48:00,3726.00,3727.00,3725.00,3725.00,338,0
+2006-02-15,18:49:00,3725.00,3725.00,3724.00,3725.00,954,0
+2006-02-15,18:50:00,3725.00,3727.00,3725.00,3726.00,286,0
+2006-02-15,18:51:00,3727.00,3727.00,3727.00,3727.00,27,0
+2006-02-15,18:52:00,3727.00,3727.00,3726.00,3726.00,28,0
+2006-02-15,18:53:00,3726.00,3728.00,3726.00,3728.00,522,0
+2006-02-15,18:54:00,3728.00,3729.00,3728.00,3729.00,372,0
+2006-02-15,18:55:00,3729.00,3729.00,3728.00,3728.00,81,0
+2006-02-15,18:56:00,3729.00,3730.00,3729.00,3730.00,666,0
+2006-02-15,18:57:00,3730.00,3730.00,3730.00,3730.00,21,0
+2006-02-15,18:58:00,3731.00,3733.00,3731.00,3732.00,744,0
+2006-02-15,18:59:00,3732.00,3733.00,3731.00,3731.00,117,0
+2006-02-15,19:00:00,3731.00,3731.00,3731.00,3731.00,169,0
+2006-02-15,19:01:00,3731.00,3732.00,3731.00,3732.00,189,0
+2006-02-15,19:02:00,3733.00,3734.00,3733.00,3733.00,284,0
+2006-02-15,19:03:00,3733.00,3733.00,3732.00,3732.00,55,0
+2006-02-15,19:04:00,3733.00,3734.00,3733.00,3733.00,196,0
+2006-02-15,19:05:00,3733.00,3734.00,3733.00,3734.00,144,0
+2006-02-15,19:06:00,3735.00,3735.00,3731.00,3732.00,285,0
+2006-02-15,19:07:00,3732.00,3733.00,3732.00,3732.00,36,0
+2006-02-15,19:08:00,3732.00,3733.00,3731.00,3732.00,400,0
+2006-02-15,19:09:00,3732.00,3733.00,3732.00,3733.00,40,0
+2006-02-15,19:10:00,3734.00,3735.00,3733.00,3735.00,187,0
+2006-02-15,19:11:00,3736.00,3737.00,3735.00,3737.00,658,0
+2006-02-15,19:12:00,3736.00,3736.00,3736.00,3736.00,239,0
+2006-02-15,19:13:00,3736.00,3736.00,3734.00,3735.00,160,0
+2006-02-15,19:14:00,3734.00,3735.00,3734.00,3734.00,340,0
+2006-02-15,19:15:00,3734.00,3734.00,3734.00,3734.00,47,0
+2006-02-15,19:16:00,3734.00,3736.00,3734.00,3734.00,420,0
+2006-02-15,19:17:00,3734.00,3735.00,3734.00,3735.00,94,0
+2006-02-15,19:18:00,3734.00,3735.00,3734.00,3735.00,155,0
+2006-02-15,19:19:00,3735.00,3736.00,3735.00,3736.00,502,0
+2006-02-15,19:20:00,3737.00,3737.00,3737.00,3737.00,130,0
+2006-02-15,19:21:00,3737.00,3737.00,3736.00,3737.00,311,0
+2006-02-15,19:22:00,3737.00,3738.00,3737.00,3737.00,358,0
+2006-02-15,19:23:00,3737.00,3740.00,3737.00,3738.00,241,0
+2006-02-15,19:24:00,3737.00,3738.00,3736.00,3736.00,118,0
+2006-02-15,19:25:00,3737.00,3737.00,3737.00,3737.00,37,0
+2006-02-15,19:26:00,3737.00,3737.00,3736.00,3736.00,130,0
+2006-02-15,19:27:00,3737.00,3737.00,3736.00,3736.00,6,0
+2006-02-15,19:28:00,3737.00,3737.00,3737.00,3737.00,36,0
+2006-02-15,19:29:00,3737.00,3737.00,3736.00,3736.00,149,0
+2006-02-15,19:31:00,3737.00,3737.00,3737.00,3737.00,251,0
+2006-02-15,19:32:00,3737.00,3738.00,3737.00,3738.00,380,0
+2006-02-15,19:33:00,3738.00,3739.00,3738.00,3739.00,460,0
+2006-02-15,19:34:00,3739.00,3740.00,3739.00,3739.00,220,0
+2006-02-15,19:35:00,3739.00,3739.00,3738.00,3738.00,178,0
+2006-02-15,19:37:00,3738.00,3738.00,3738.00,3738.00,53,0
+2006-02-15,19:39:00,3737.00,3737.00,3737.00,3737.00,1,0
+2006-02-15,19:40:00,3737.00,3737.00,3737.00,3737.00,78,0
+2006-02-15,19:41:00,3737.00,3737.00,3736.00,3736.00,341,0
+2006-02-15,19:42:00,3736.00,3736.00,3735.00,3735.00,239,0
+2006-02-15,19:43:00,3735.00,3737.00,3735.00,3736.00,112,0
+2006-02-15,19:44:00,3736.00,3736.00,3736.00,3736.00,126,0
+2006-02-15,19:45:00,3736.00,3736.00,3736.00,3736.00,41,0
+2006-02-15,19:46:00,3736.00,3736.00,3735.00,3735.00,223,0
+2006-02-15,19:47:00,3735.00,3735.00,3733.00,3734.00,127,0
+2006-02-15,19:48:00,3734.00,3734.00,3729.00,3731.00,1483,0
+2006-02-15,19:49:00,3731.00,3731.00,3730.00,3730.00,324,0
+2006-02-15,19:50:00,3731.00,3732.00,3731.00,3732.00,323,0
+2006-02-15,19:51:00,3733.00,3734.00,3733.00,3733.00,177,0
+2006-02-15,19:52:00,3733.00,3735.00,3733.00,3735.00,131,0
+2006-02-15,19:53:00,3735.00,3735.00,3734.00,3734.00,268,0
+2006-02-15,19:54:00,3733.00,3733.00,3731.00,3733.00,653,0
+2006-02-15,19:55:00,3734.00,3736.00,3734.00,3735.00,438,0
+2006-02-15,19:56:00,3735.00,3737.00,3735.00,3736.00,82,0
+2006-02-15,19:57:00,3736.00,3737.00,3736.00,3737.00,219,0
+2006-02-15,19:58:00,3736.00,3737.00,3736.00,3736.00,12,0
+2006-02-15,19:59:00,3737.00,3738.00,3737.00,3737.00,318,0
+2006-02-15,20:00:00,3737.00,3738.00,3737.00,3738.00,138,0
+2006-02-15,20:01:00,3738.00,3739.00,3737.00,3737.00,43,0
+2006-02-15,20:02:00,3737.00,3737.00,3737.00,3737.00,32,0
+2006-02-15,20:03:00,3737.00,3737.00,3737.00,3737.00,10,0
+2006-02-15,20:04:00,3738.00,3738.00,3737.00,3737.00,72,0
+2006-02-15,20:05:00,3738.00,3738.00,3735.00,3735.00,140,0
+2006-02-15,20:06:00,3736.00,3737.00,3736.00,3737.00,113,0
+2006-02-15,20:07:00,3737.00,3737.00,3737.00,3737.00,4,0
+2006-02-15,20:08:00,3736.00,3736.00,3734.00,3734.00,189,0
+2006-02-15,20:09:00,3735.00,3735.00,3734.00,3734.00,61,0
+2006-02-15,20:10:00,3735.00,3735.00,3735.00,3735.00,59,0
+2006-02-15,20:11:00,3735.00,3735.00,3735.00,3735.00,4,0
+2006-02-15,20:12:00,3736.00,3737.00,3736.00,3737.00,129,0
+2006-02-15,20:13:00,3736.00,3737.00,3736.00,3737.00,18,0
+2006-02-15,20:14:00,3737.00,3737.00,3736.00,3736.00,98,0
+2006-02-15,20:15:00,3736.00,3736.00,3736.00,3736.00,21,0
+2006-02-15,20:16:00,3736.00,3736.00,3736.00,3736.00,3,0
+2006-02-15,20:17:00,3736.00,3736.00,3735.00,3735.00,118,0
+2006-02-15,20:18:00,3735.00,3736.00,3735.00,3736.00,70,0
+2006-02-15,20:20:00,3737.00,3737.00,3737.00,3737.00,60,0
+2006-02-15,20:21:00,3738.00,3738.00,3737.00,3737.00,154,0
+2006-02-15,20:22:00,3737.00,3737.00,3736.00,3736.00,108,0
+2006-02-15,20:23:00,3736.00,3737.00,3736.00,3736.00,35,0
+2006-02-15,20:24:00,3737.00,3737.00,3737.00,3737.00,2,0
+2006-02-15,20:25:00,3737.00,3739.00,3737.00,3738.00,134,0
+2006-02-15,20:27:00,3739.00,3740.00,3739.00,3740.00,121,0
+2006-02-15,20:28:00,3740.00,3741.00,3739.00,3740.00,44,0
+2006-02-15,20:29:00,3739.00,3739.00,3739.00,3739.00,10,0
+2006-02-15,20:30:00,3739.00,3740.00,3739.00,3740.00,25,0
+2006-02-15,20:31:00,3740.00,3741.00,3740.00,3740.00,114,0
+2006-02-15,20:32:00,3740.00,3740.00,3739.00,3739.00,36,0
+2006-02-15,20:33:00,3739.00,3739.00,3738.00,3739.00,73,0
+2006-02-15,20:34:00,3739.00,3739.00,3739.00,3739.00,7,0
+2006-02-15,20:35:00,3740.00,3740.00,3740.00,3740.00,52,0
+2006-02-15,20:36:00,3740.00,3740.00,3740.00,3740.00,1,0
+2006-02-15,20:37:00,3739.00,3740.00,3739.00,3740.00,51,0
+2006-02-15,20:38:00,3740.00,3740.00,3740.00,3740.00,51,0
+2006-02-15,20:39:00,3740.00,3740.00,3738.00,3738.00,49,0
+2006-02-15,20:40:00,3738.00,3738.00,3738.00,3738.00,103,0
+2006-02-15,20:41:00,3739.00,3739.00,3739.00,3739.00,50,0
+2006-02-15,20:42:00,3738.00,3738.00,3738.00,3738.00,24,0
+2006-02-15,20:43:00,3738.00,3740.00,3738.00,3739.00,121,0
+2006-02-15,20:44:00,3740.00,3740.00,3738.00,3738.00,40,0
+2006-02-15,20:45:00,3737.00,3738.00,3737.00,3738.00,168,0
+2006-02-15,20:46:00,3739.00,3739.00,3738.00,3738.00,47,0
+2006-02-15,20:47:00,3738.00,3738.00,3738.00,3738.00,1,0
+2006-02-15,20:48:00,3738.00,3738.00,3738.00,3738.00,42,0
+2006-02-15,20:50:00,3737.00,3737.00,3735.00,3735.00,66,0
+2006-02-15,20:51:00,3736.00,3736.00,3735.00,3735.00,64,0
+2006-02-15,20:52:00,3735.00,3736.00,3735.00,3736.00,22,0
+2006-02-15,20:53:00,3737.00,3737.00,3737.00,3737.00,20,0
+2006-02-15,20:54:00,3738.00,3739.00,3738.00,3739.00,161,0
+2006-02-15,20:55:00,3739.00,3739.00,3739.00,3739.00,13,0
+2006-02-15,20:56:00,3739.00,3739.00,3739.00,3739.00,14,0
+2006-02-15,20:57:00,3739.00,3740.00,3739.00,3740.00,70,0
+2006-02-15,20:58:00,3740.00,3744.00,3740.00,3743.00,418,0
+2006-02-15,20:59:00,3743.00,3743.00,3742.00,3743.00,194,0
+2006-02-15,21:00:00,3743.00,3744.00,3743.00,3743.00,432,0
+2006-02-15,21:01:00,3743.00,3744.00,3741.00,3742.00,179,0
+2006-02-15,21:02:00,3741.00,3741.00,3741.00,3741.00,16,0
+2006-02-15,21:03:00,3741.00,3741.00,3741.00,3741.00,47,0
+2006-02-15,21:04:00,3741.00,3741.00,3739.00,3739.00,332,0
+2006-02-15,21:05:00,3738.00,3739.00,3738.00,3738.00,57,0
+2006-02-15,21:06:00,3738.00,3740.00,3738.00,3740.00,40,0
+2006-02-15,21:07:00,3740.00,3740.00,3739.00,3739.00,23,0
+2006-02-15,21:08:00,3739.00,3740.00,3739.00,3740.00,4,0
+2006-02-15,21:10:00,3739.00,3739.00,3739.00,3739.00,5,0
+2006-02-15,21:11:00,3738.00,3738.00,3738.00,3738.00,27,0
+2006-02-15,21:12:00,3738.00,3739.00,3738.00,3739.00,148,0
+2006-02-15,21:13:00,3738.00,3738.00,3738.00,3738.00,22,0
+2006-02-15,21:14:00,3737.00,3737.00,3736.00,3736.00,146,0
+2006-02-15,21:15:00,3736.00,3736.00,3736.00,3736.00,50,0
+2006-02-15,21:16:00,3737.00,3738.00,3737.00,3737.00,199,0
+2006-02-15,21:17:00,3738.00,3738.00,3737.00,3737.00,9,0
+2006-02-15,21:18:00,3736.00,3736.00,3736.00,3736.00,20,0
+2006-02-15,21:19:00,3737.00,3737.00,3737.00,3737.00,11,0
+2006-02-15,21:20:00,3737.00,3737.00,3737.00,3737.00,11,0
+2006-02-15,21:21:00,3737.00,3737.00,3736.00,3736.00,23,0
+2006-02-15,21:22:00,3735.00,3737.00,3735.00,3737.00,53,0
+2006-02-15,21:24:00,3737.00,3737.00,3737.00,3737.00,8,0
+2006-02-15,21:25:00,3737.00,3738.00,3737.00,3737.00,128,0
+2006-02-15,21:26:00,3738.00,3739.00,3738.00,3738.00,94,0
+2006-02-15,21:27:00,3739.00,3740.00,3739.00,3740.00,51,0
+2006-02-15,21:28:00,3738.00,3738.00,3737.00,3737.00,26,0
+2006-02-15,21:29:00,3737.00,3737.00,3737.00,3737.00,7,0
+2006-02-15,21:30:00,3737.00,3737.00,3737.00,3737.00,5,0
+2006-02-15,21:31:00,3737.00,3738.00,3737.00,3738.00,72,0
+2006-02-15,21:32:00,3738.00,3739.00,3738.00,3738.00,74,0
+2006-02-15,21:33:00,3739.00,3739.00,3738.00,3738.00,2,0
+2006-02-15,21:34:00,3739.00,3739.00,3739.00,3739.00,1,0
+2006-02-15,21:35:00,3739.00,3739.00,3739.00,3739.00,11,0
+2006-02-15,21:36:00,3740.00,3740.00,3740.00,3740.00,66,0
+2006-02-15,21:38:00,3739.00,3739.00,3739.00,3739.00,77,0
+2006-02-15,21:39:00,3740.00,3740.00,3740.00,3740.00,84,0
+2006-02-15,21:40:00,3740.00,3740.00,3740.00,3740.00,29,0
+2006-02-15,21:41:00,3741.00,3741.00,3741.00,3741.00,3,0
+2006-02-15,21:42:00,3740.00,3740.00,3740.00,3740.00,30,0
+2006-02-15,21:43:00,3741.00,3741.00,3741.00,3741.00,51,0
+2006-02-15,21:44:00,3741.00,3741.00,3740.00,3740.00,27,0
+2006-02-15,21:45:00,3740.00,3740.00,3740.00,3740.00,1,0
+2006-02-15,21:46:00,3740.00,3740.00,3740.00,3740.00,6,0
+2006-02-15,21:47:00,3740.00,3740.00,3738.00,3739.00,96,0
+2006-02-15,21:48:00,3739.00,3739.00,3739.00,3739.00,2,0
+2006-02-15,21:49:00,3739.00,3739.00,3737.00,3737.00,144,0
+2006-02-15,21:50:00,3737.00,3737.00,3737.00,3737.00,50,0
+2006-02-15,21:51:00,3738.00,3738.00,3736.00,3737.00,498,0
+2006-02-15,21:52:00,3737.00,3737.00,3736.00,3736.00,66,0
+2006-02-15,21:53:00,3737.00,3737.00,3736.00,3737.00,64,0
+2006-02-15,21:54:00,3736.00,3736.00,3736.00,3736.00,2,0
+2006-02-15,21:55:00,3737.00,3738.00,3737.00,3738.00,229,0
+2006-02-15,21:56:00,3737.00,3738.00,3737.00,3737.00,56,0
+2006-02-15,21:57:00,3737.00,3737.00,3737.00,3737.00,11,0
+2006-02-15,21:58:00,3737.00,3738.00,3737.00,3737.00,43,0
+2006-02-15,21:59:00,3738.00,3739.00,3738.00,3739.00,41,0
+2006-02-15,22:00:00,3739.00,3741.00,3738.00,3741.00,388,0
+2006-02-16,09:01:00,3755.00,3756.00,3754.00,3755.00,7508,0
+2006-02-16,09:02:00,3754.00,3755.00,3749.00,3750.00,2938,0
+2006-02-16,09:03:00,3751.00,3751.00,3747.00,3747.00,2176,0
+2006-02-16,09:04:00,3747.00,3751.00,3746.00,3751.00,1226,0
+2006-02-16,09:05:00,3751.00,3752.00,3749.00,3749.00,1575,0
+2006-02-16,09:06:00,3749.00,3751.00,3749.00,3751.00,543,0
+2006-02-16,09:07:00,3751.00,3755.00,3751.00,3755.00,1903,0
+2006-02-16,09:08:00,3755.00,3755.00,3753.00,3754.00,543,0
+2006-02-16,09:09:00,3753.00,3754.00,3752.00,3752.00,686,0
+2006-02-16,09:10:00,3752.00,3753.00,3748.00,3748.00,2640,0
+2006-02-16,09:11:00,3748.00,3748.00,3744.00,3744.00,4872,0
+2006-02-16,09:12:00,3744.00,3745.00,3743.00,3744.00,2482,0
+2006-02-16,09:13:00,3745.00,3747.00,3745.00,3746.00,1949,0
+2006-02-16,09:14:00,3746.00,3748.00,3745.00,3748.00,598,0
+2006-02-16,09:15:00,3747.00,3748.00,3746.00,3746.00,296,0
+2006-02-16,09:16:00,3747.00,3749.00,3747.00,3748.00,341,0
+2006-02-16,09:17:00,3749.00,3751.00,3747.00,3750.00,2241,0
+2006-02-16,09:18:00,3750.00,3751.00,3750.00,3750.00,250,0
+2006-02-16,09:19:00,3750.00,3750.00,3748.00,3748.00,792,0
+2006-02-16,09:20:00,3748.00,3749.00,3747.00,3748.00,479,0
+2006-02-16,09:21:00,3748.00,3751.00,3747.00,3751.00,990,0
+2006-02-16,09:22:00,3750.00,3751.00,3748.00,3748.00,1086,0
+2006-02-16,09:23:00,3749.00,3751.00,3749.00,3751.00,1052,0
+2006-02-16,09:24:00,3751.00,3752.00,3751.00,3751.00,804,0
+2006-02-16,09:25:00,3751.00,3752.00,3750.00,3750.00,325,0
+2006-02-16,09:26:00,3751.00,3751.00,3749.00,3750.00,1659,0
+2006-02-16,09:27:00,3750.00,3751.00,3750.00,3751.00,1262,0
+2006-02-16,09:28:00,3751.00,3752.00,3751.00,3751.00,1658,0
+2006-02-16,09:29:00,3750.00,3752.00,3749.00,3750.00,894,0
+2006-02-16,09:30:00,3751.00,3751.00,3748.00,3748.00,1138,0
+2006-02-16,09:31:00,3748.00,3750.00,3748.00,3749.00,1042,0
+2006-02-16,09:32:00,3749.00,3750.00,3748.00,3749.00,1837,0
+2006-02-16,09:33:00,3749.00,3750.00,3747.00,3747.00,790,0
+2006-02-16,09:34:00,3748.00,3750.00,3747.00,3749.00,907,0
+2006-02-16,09:35:00,3748.00,3750.00,3748.00,3750.00,558,0
+2006-02-16,09:36:00,3750.00,3750.00,3747.00,3748.00,413,0
+2006-02-16,09:37:00,3748.00,3749.00,3747.00,3749.00,446,0
+2006-02-16,09:38:00,3749.00,3749.00,3748.00,3748.00,872,0
+2006-02-16,09:39:00,3748.00,3748.00,3745.00,3746.00,1049,0
+2006-02-16,09:40:00,3746.00,3747.00,3744.00,3744.00,1703,0
+2006-02-16,09:41:00,3744.00,3746.00,3744.00,3745.00,1188,0
+2006-02-16,09:42:00,3745.00,3746.00,3745.00,3746.00,194,0
+2006-02-16,09:43:00,3746.00,3747.00,3745.00,3745.00,515,0
+2006-02-16,09:44:00,3745.00,3746.00,3745.00,3746.00,1144,0
+2006-02-16,09:45:00,3746.00,3747.00,3745.00,3745.00,211,0
+2006-02-16,09:46:00,3746.00,3747.00,3745.00,3747.00,385,0
+2006-02-16,09:47:00,3747.00,3748.00,3746.00,3747.00,1869,0
+2006-02-16,09:48:00,3747.00,3748.00,3747.00,3748.00,628,0
+2006-02-16,09:49:00,3747.00,3748.00,3746.00,3746.00,2610,0
+2006-02-16,09:50:00,3745.00,3745.00,3744.00,3744.00,298,0
+2006-02-16,09:51:00,3745.00,3746.00,3744.00,3745.00,782,0
+2006-02-16,09:52:00,3746.00,3747.00,3745.00,3745.00,895,0
+2006-02-16,09:53:00,3745.00,3746.00,3744.00,3745.00,1236,0
+2006-02-16,09:54:00,3744.00,3745.00,3744.00,3744.00,1400,0
+2006-02-16,09:55:00,3745.00,3745.00,3744.00,3745.00,334,0
+2006-02-16,09:56:00,3745.00,3745.00,3743.00,3743.00,849,0
+2006-02-16,09:57:00,3743.00,3743.00,3742.00,3742.00,800,0
+2006-02-16,09:58:00,3742.00,3742.00,3739.00,3740.00,4340,0
+2006-02-16,09:59:00,3740.00,3741.00,3739.00,3741.00,1674,0
+2006-02-16,10:00:00,3741.00,3742.00,3739.00,3740.00,1201,0
+2006-02-16,10:01:00,3740.00,3741.00,3739.00,3741.00,1936,0
+2006-02-16,10:02:00,3741.00,3741.00,3739.00,3741.00,1193,0
+2006-02-16,10:03:00,3741.00,3741.00,3739.00,3740.00,379,0
+2006-02-16,10:04:00,3740.00,3741.00,3740.00,3741.00,583,0
+2006-02-16,10:05:00,3740.00,3741.00,3739.00,3741.00,635,0
+2006-02-16,10:06:00,3740.00,3741.00,3739.00,3740.00,2203,0
+2006-02-16,10:07:00,3740.00,3742.00,3740.00,3740.00,475,0
+2006-02-16,10:08:00,3741.00,3742.00,3739.00,3739.00,497,0
+2006-02-16,10:09:00,3740.00,3740.00,3738.00,3739.00,1793,0
+2006-02-16,10:10:00,3739.00,3740.00,3738.00,3740.00,2142,0
+2006-02-16,10:11:00,3740.00,3741.00,3739.00,3740.00,1131,0
+2006-02-16,10:12:00,3740.00,3741.00,3739.00,3739.00,264,0
+2006-02-16,10:13:00,3740.00,3741.00,3740.00,3741.00,239,0
+2006-02-16,10:14:00,3741.00,3742.00,3741.00,3742.00,571,0
+2006-02-16,10:15:00,3741.00,3741.00,3740.00,3741.00,977,0
+2006-02-16,10:16:00,3740.00,3741.00,3739.00,3740.00,345,0
+2006-02-16,10:17:00,3740.00,3740.00,3738.00,3740.00,1897,0
+2006-02-16,10:18:00,3739.00,3741.00,3739.00,3740.00,855,0
+2006-02-16,10:19:00,3740.00,3742.00,3740.00,3742.00,198,0
+2006-02-16,10:20:00,3741.00,3742.00,3741.00,3742.00,45,0
+2006-02-16,10:21:00,3741.00,3742.00,3741.00,3741.00,210,0
+2006-02-16,10:22:00,3741.00,3742.00,3741.00,3742.00,390,0
+2006-02-16,10:23:00,3743.00,3744.00,3742.00,3743.00,854,0
+2006-02-16,10:24:00,3743.00,3745.00,3743.00,3744.00,1296,0
+2006-02-16,10:25:00,3744.00,3745.00,3744.00,3744.00,268,0
+2006-02-16,10:26:00,3745.00,3746.00,3745.00,3746.00,1535,0
+2006-02-16,10:27:00,3745.00,3746.00,3744.00,3744.00,625,0
+2006-02-16,10:28:00,3745.00,3745.00,3743.00,3744.00,1772,0
+2006-02-16,10:29:00,3743.00,3743.00,3743.00,3743.00,720,0
+2006-02-16,10:30:00,3743.00,3743.00,3741.00,3741.00,281,0
+2006-02-16,10:31:00,3741.00,3742.00,3740.00,3742.00,571,0
+2006-02-16,10:32:00,3742.00,3742.00,3741.00,3742.00,1372,0
+2006-02-16,10:33:00,3742.00,3742.00,3741.00,3742.00,352,0
+2006-02-16,10:34:00,3742.00,3742.00,3741.00,3741.00,199,0
+2006-02-16,10:35:00,3741.00,3741.00,3741.00,3741.00,1749,0
+2006-02-16,10:36:00,3742.00,3742.00,3742.00,3742.00,5065,0
+2006-02-16,10:37:00,3742.00,3743.00,3742.00,3742.00,253,0
+2006-02-16,10:38:00,3742.00,3742.00,3741.00,3741.00,111,0
+2006-02-16,10:39:00,3742.00,3743.00,3742.00,3743.00,188,0
+2006-02-16,10:40:00,3742.00,3742.00,3741.00,3742.00,598,0
+2006-02-16,10:41:00,3741.00,3742.00,3741.00,3741.00,466,0
+2006-02-16,10:42:00,3741.00,3742.00,3741.00,3742.00,402,0
+2006-02-16,10:43:00,3742.00,3742.00,3741.00,3741.00,289,0
+2006-02-16,10:44:00,3741.00,3741.00,3740.00,3741.00,422,0
+2006-02-16,10:45:00,3741.00,3741.00,3741.00,3741.00,181,0
+2006-02-16,10:46:00,3741.00,3742.00,3741.00,3741.00,20,0
+2006-02-16,10:47:00,3742.00,3743.00,3741.00,3743.00,539,0
+2006-02-16,10:48:00,3743.00,3744.00,3742.00,3743.00,677,0
+2006-02-16,10:49:00,3743.00,3744.00,3743.00,3744.00,666,0
+2006-02-16,10:50:00,3744.00,3745.00,3744.00,3745.00,130,0
+2006-02-16,10:51:00,3744.00,3745.00,3743.00,3745.00,615,0
+2006-02-16,10:52:00,3744.00,3745.00,3744.00,3745.00,76,0
+2006-02-16,10:53:00,3744.00,3745.00,3744.00,3744.00,135,0
+2006-02-16,10:54:00,3744.00,3744.00,3743.00,3743.00,467,0
+2006-02-16,10:55:00,3743.00,3743.00,3743.00,3743.00,55,0
+2006-02-16,10:56:00,3743.00,3743.00,3743.00,3743.00,37,0
+2006-02-16,10:57:00,3743.00,3744.00,3743.00,3744.00,366,0
+2006-02-16,10:58:00,3743.00,3745.00,3743.00,3744.00,386,0
+2006-02-16,10:59:00,3743.00,3744.00,3743.00,3744.00,117,0
+2006-02-16,11:00:00,3744.00,3744.00,3743.00,3744.00,171,0
+2006-02-16,11:01:00,3744.00,3745.00,3744.00,3744.00,123,0
+2006-02-16,11:02:00,3744.00,3744.00,3743.00,3743.00,319,0
+2006-02-16,11:03:00,3744.00,3745.00,3744.00,3745.00,258,0
+2006-02-16,11:04:00,3744.00,3745.00,3744.00,3745.00,34,0
+2006-02-16,11:05:00,3744.00,3747.00,3744.00,3746.00,567,0
+2006-02-16,11:06:00,3746.00,3746.00,3744.00,3746.00,584,0
+2006-02-16,11:07:00,3745.00,3746.00,3745.00,3746.00,189,0
+2006-02-16,11:08:00,3745.00,3746.00,3745.00,3746.00,49,0
+2006-02-16,11:09:00,3746.00,3746.00,3745.00,3745.00,167,0
+2006-02-16,11:10:00,3745.00,3746.00,3744.00,3745.00,161,0
+2006-02-16,11:11:00,3745.00,3746.00,3745.00,3746.00,7,0
+2006-02-16,11:12:00,3745.00,3746.00,3745.00,3746.00,315,0
+2006-02-16,11:13:00,3746.00,3747.00,3745.00,3746.00,214,0
+2006-02-16,11:14:00,3746.00,3746.00,3746.00,3746.00,61,0
+2006-02-16,11:16:00,3747.00,3748.00,3746.00,3747.00,1302,0
+2006-02-16,11:17:00,3748.00,3748.00,3746.00,3747.00,546,0
+2006-02-16,11:18:00,3748.00,3749.00,3748.00,3748.00,211,0
+2006-02-16,11:19:00,3748.00,3749.00,3748.00,3749.00,848,0
+2006-02-16,11:20:00,3748.00,3749.00,3748.00,3748.00,254,0
+2006-02-16,11:21:00,3749.00,3749.00,3748.00,3749.00,1152,0
+2006-02-16,11:22:00,3748.00,3748.00,3748.00,3748.00,55,0
+2006-02-16,11:23:00,3748.00,3748.00,3746.00,3746.00,1065,0
+2006-02-16,11:24:00,3747.00,3747.00,3746.00,3747.00,1575,0
+2006-02-16,11:25:00,3747.00,3747.00,3746.00,3747.00,175,0
+2006-02-16,11:26:00,3747.00,3747.00,3747.00,3747.00,206,0
+2006-02-16,11:27:00,3747.00,3747.00,3745.00,3745.00,1867,0
+2006-02-16,11:28:00,3745.00,3746.00,3745.00,3745.00,464,0
+2006-02-16,11:29:00,3744.00,3746.00,3744.00,3745.00,105,0
+2006-02-16,11:30:00,3745.00,3745.00,3745.00,3745.00,12,0
+2006-02-16,11:31:00,3745.00,3746.00,3744.00,3745.00,1105,0
+2006-02-16,11:32:00,3745.00,3745.00,3745.00,3745.00,70,0
+2006-02-16,11:33:00,3745.00,3745.00,3745.00,3745.00,146,0
+2006-02-16,11:34:00,3746.00,3746.00,3745.00,3745.00,456,0
+2006-02-16,11:35:00,3745.00,3746.00,3745.00,3745.00,427,0
+2006-02-16,11:36:00,3745.00,3746.00,3745.00,3746.00,41,0
+2006-02-16,11:37:00,3746.00,3746.00,3746.00,3746.00,160,0
+2006-02-16,11:38:00,3746.00,3747.00,3746.00,3746.00,243,0
+2006-02-16,11:39:00,3747.00,3747.00,3746.00,3746.00,509,0
+2006-02-16,11:40:00,3746.00,3746.00,3746.00,3746.00,25,0
+2006-02-16,11:41:00,3746.00,3747.00,3746.00,3747.00,15,0
+2006-02-16,11:42:00,3746.00,3747.00,3746.00,3747.00,144,0
+2006-02-16,11:43:00,3747.00,3747.00,3747.00,3747.00,668,0
+2006-02-16,11:44:00,3746.00,3746.00,3746.00,3746.00,35,0
+2006-02-16,11:45:00,3746.00,3747.00,3746.00,3747.00,60,0
+2006-02-16,11:46:00,3747.00,3747.00,3745.00,3746.00,594,0
+2006-02-16,11:47:00,3746.00,3746.00,3746.00,3746.00,324,0
+2006-02-16,11:48:00,3746.00,3746.00,3745.00,3746.00,320,0
+2006-02-16,11:49:00,3746.00,3746.00,3745.00,3745.00,491,0
+2006-02-16,11:50:00,3745.00,3746.00,3745.00,3746.00,1134,0
+2006-02-16,11:51:00,3747.00,3747.00,3747.00,3747.00,206,0
+2006-02-16,11:52:00,3746.00,3747.00,3746.00,3747.00,189,0
+2006-02-16,11:53:00,3747.00,3748.00,3745.00,3746.00,1811,0
+2006-02-16,11:54:00,3747.00,3747.00,3746.00,3746.00,473,0
+2006-02-16,11:55:00,3747.00,3747.00,3746.00,3747.00,144,0
+2006-02-16,11:56:00,3746.00,3747.00,3746.00,3746.00,653,0
+2006-02-16,11:57:00,3746.00,3746.00,3746.00,3746.00,459,0
+2006-02-16,11:58:00,3746.00,3746.00,3746.00,3746.00,208,0
+2006-02-16,11:59:00,3746.00,3746.00,3746.00,3746.00,11,0
+2006-02-16,12:00:00,3747.00,3747.00,3746.00,3746.00,109,0
+2006-02-16,12:01:00,3746.00,3746.00,3746.00,3746.00,1,0
+2006-02-16,12:02:00,3747.00,3747.00,3747.00,3747.00,653,0
+2006-02-16,12:03:00,3747.00,3748.00,3747.00,3747.00,280,0
+2006-02-16,12:04:00,3747.00,3747.00,3747.00,3747.00,43,0
+2006-02-16,12:05:00,3747.00,3748.00,3747.00,3748.00,1228,0
+2006-02-16,12:06:00,3747.00,3747.00,3747.00,3747.00,488,0
+2006-02-16,12:07:00,3747.00,3747.00,3746.00,3747.00,162,0
+2006-02-16,12:08:00,3747.00,3747.00,3746.00,3746.00,399,0
+2006-02-16,12:09:00,3747.00,3747.00,3747.00,3747.00,4,0
+2006-02-16,12:10:00,3747.00,3747.00,3747.00,3747.00,1307,0
+2006-02-16,12:11:00,3746.00,3747.00,3746.00,3747.00,288,0
+2006-02-16,12:12:00,3747.00,3747.00,3746.00,3746.00,591,0
+2006-02-16,12:13:00,3747.00,3748.00,3747.00,3747.00,756,0
+2006-02-16,12:14:00,3747.00,3747.00,3746.00,3747.00,883,0
+2006-02-16,12:15:00,3747.00,3747.00,3747.00,3747.00,9,0
+2006-02-16,12:16:00,3747.00,3748.00,3747.00,3747.00,301,0
+2006-02-16,12:17:00,3748.00,3748.00,3747.00,3747.00,752,0
+2006-02-16,12:18:00,3747.00,3747.00,3746.00,3746.00,335,0
+2006-02-16,12:19:00,3746.00,3746.00,3746.00,3746.00,275,0
+2006-02-16,12:20:00,3746.00,3746.00,3746.00,3746.00,252,0
+2006-02-16,12:21:00,3746.00,3746.00,3745.00,3745.00,764,0
+2006-02-16,12:22:00,3745.00,3745.00,3745.00,3745.00,6,0
+2006-02-16,12:23:00,3745.00,3745.00,3745.00,3745.00,13,0
+2006-02-16,12:24:00,3746.00,3746.00,3745.00,3745.00,15,0
+2006-02-16,12:25:00,3746.00,3746.00,3745.00,3746.00,62,0
+2006-02-16,12:27:00,3746.00,3746.00,3746.00,3746.00,388,0
+2006-02-16,12:28:00,3745.00,3746.00,3745.00,3746.00,30,0
+2006-02-16,12:29:00,3745.00,3747.00,3745.00,3747.00,480,0
+2006-02-16,12:30:00,3746.00,3747.00,3746.00,3747.00,100,0
+2006-02-16,12:31:00,3746.00,3746.00,3746.00,3746.00,242,0
+2006-02-16,12:32:00,3746.00,3746.00,3745.00,3745.00,167,0
+2006-02-16,12:33:00,3746.00,3746.00,3745.00,3745.00,7,0
+2006-02-16,12:34:00,3746.00,3746.00,3745.00,3745.00,26,0
+2006-02-16,12:35:00,3745.00,3745.00,3745.00,3745.00,257,0
+2006-02-16,12:36:00,3745.00,3745.00,3745.00,3745.00,20,0
+2006-02-16,12:37:00,3746.00,3746.00,3745.00,3745.00,86,0
+2006-02-16,12:38:00,3746.00,3746.00,3745.00,3746.00,131,0
+2006-02-16,12:39:00,3745.00,3745.00,3745.00,3745.00,23,0
+2006-02-16,12:40:00,3745.00,3746.00,3745.00,3745.00,237,0
+2006-02-16,12:41:00,3745.00,3745.00,3744.00,3745.00,1501,0
+2006-02-16,12:42:00,3744.00,3745.00,3744.00,3744.00,333,0
+2006-02-16,12:43:00,3744.00,3745.00,3744.00,3745.00,120,0
+2006-02-16,12:44:00,3745.00,3745.00,3744.00,3745.00,760,0
+2006-02-16,12:45:00,3744.00,3745.00,3744.00,3744.00,48,0
+2006-02-16,12:46:00,3745.00,3745.00,3745.00,3745.00,205,0
+2006-02-16,12:47:00,3745.00,3745.00,3744.00,3744.00,672,0
+2006-02-16,12:48:00,3744.00,3745.00,3744.00,3745.00,501,0
+2006-02-16,12:49:00,3744.00,3744.00,3744.00,3744.00,23,0
+2006-02-16,12:50:00,3744.00,3745.00,3744.00,3745.00,1080,0
+2006-02-16,12:51:00,3745.00,3746.00,3745.00,3746.00,687,0
+2006-02-16,12:52:00,3747.00,3748.00,3747.00,3747.00,1948,0
+2006-02-16,12:53:00,3746.00,3747.00,3746.00,3747.00,1079,0
+2006-02-16,12:54:00,3747.00,3747.00,3746.00,3746.00,178,0
+2006-02-16,12:55:00,3746.00,3746.00,3745.00,3746.00,449,0
+2006-02-16,12:56:00,3746.00,3746.00,3745.00,3745.00,655,0
+2006-02-16,12:57:00,3746.00,3747.00,3746.00,3746.00,426,0
+2006-02-16,12:58:00,3745.00,3746.00,3745.00,3746.00,82,0
+2006-02-16,12:59:00,3745.00,3746.00,3745.00,3746.00,8,0
+2006-02-16,13:00:00,3745.00,3746.00,3744.00,3745.00,441,0
+2006-02-16,13:01:00,3745.00,3746.00,3745.00,3746.00,158,0
+2006-02-16,13:02:00,3745.00,3746.00,3745.00,3746.00,319,0
+2006-02-16,13:03:00,3746.00,3746.00,3746.00,3746.00,4,0
+2006-02-16,13:04:00,3745.00,3746.00,3745.00,3746.00,30,0
+2006-02-16,13:06:00,3745.00,3745.00,3745.00,3745.00,23,0
+2006-02-16,13:07:00,3745.00,3746.00,3745.00,3746.00,76,0
+2006-02-16,13:08:00,3746.00,3747.00,3746.00,3746.00,397,0
+2006-02-16,13:09:00,3746.00,3746.00,3745.00,3745.00,880,0
+2006-02-16,13:10:00,3746.00,3746.00,3745.00,3745.00,263,0
+2006-02-16,13:12:00,3745.00,3746.00,3745.00,3745.00,162,0
+2006-02-16,13:13:00,3746.00,3746.00,3746.00,3746.00,1129,0
+2006-02-16,13:14:00,3746.00,3746.00,3746.00,3746.00,3,0
+2006-02-16,13:15:00,3746.00,3746.00,3746.00,3746.00,48,0
+2006-02-16,13:16:00,3746.00,3746.00,3745.00,3745.00,40,0
+2006-02-16,13:17:00,3746.00,3746.00,3745.00,3745.00,75,0
+2006-02-16,13:19:00,3746.00,3746.00,3746.00,3746.00,10,0
+2006-02-16,13:20:00,3745.00,3745.00,3745.00,3745.00,100,0
+2006-02-16,13:21:00,3745.00,3745.00,3745.00,3745.00,50,0
+2006-02-16,13:23:00,3745.00,3745.00,3745.00,3745.00,10,0
+2006-02-16,13:25:00,3745.00,3745.00,3745.00,3745.00,10,0
+2006-02-16,13:26:00,3746.00,3746.00,3745.00,3745.00,10,0
+2006-02-16,13:27:00,3745.00,3745.00,3745.00,3745.00,408,0
+2006-02-16,13:28:00,3745.00,3745.00,3745.00,3745.00,1709,0
+2006-02-16,13:29:00,3745.00,3745.00,3745.00,3745.00,10,0
+2006-02-16,13:30:00,3745.00,3745.00,3745.00,3745.00,190,0
+2006-02-16,13:31:00,3745.00,3745.00,3745.00,3745.00,316,0
+2006-02-16,13:32:00,3745.00,3745.00,3745.00,3745.00,43,0
+2006-02-16,13:33:00,3745.00,3745.00,3745.00,3745.00,237,0
+2006-02-16,13:34:00,3745.00,3746.00,3745.00,3746.00,598,0
+2006-02-16,13:35:00,3745.00,3746.00,3745.00,3745.00,62,0
+2006-02-16,13:36:00,3746.00,3746.00,3746.00,3746.00,80,0
+2006-02-16,13:37:00,3746.00,3746.00,3745.00,3745.00,3,0
+2006-02-16,13:38:00,3746.00,3746.00,3746.00,3746.00,26,0
+2006-02-16,13:39:00,3746.00,3747.00,3746.00,3746.00,311,0
+2006-02-16,13:40:00,3746.00,3746.00,3746.00,3746.00,143,0
+2006-02-16,13:41:00,3746.00,3747.00,3746.00,3747.00,453,0
+2006-02-16,13:42:00,3746.00,3746.00,3746.00,3746.00,112,0
+2006-02-16,13:44:00,3746.00,3746.00,3746.00,3746.00,19,0
+2006-02-16,13:45:00,3746.00,3746.00,3745.00,3746.00,841,0
+2006-02-16,13:46:00,3746.00,3746.00,3746.00,3746.00,20,0
+2006-02-16,13:47:00,3747.00,3747.00,3747.00,3747.00,95,0
+2006-02-16,13:48:00,3747.00,3747.00,3747.00,3747.00,317,0
+2006-02-16,13:49:00,3746.00,3746.00,3746.00,3746.00,42,0
+2006-02-16,13:50:00,3747.00,3747.00,3746.00,3746.00,23,0
+2006-02-16,13:52:00,3747.00,3747.00,3747.00,3747.00,151,0
+2006-02-16,13:53:00,3747.00,3747.00,3746.00,3747.00,204,0
+2006-02-16,13:54:00,3746.00,3746.00,3746.00,3746.00,2,0
+2006-02-16,13:55:00,3747.00,3748.00,3747.00,3748.00,158,0
+2006-02-16,13:56:00,3748.00,3749.00,3748.00,3748.00,743,0
+2006-02-16,13:57:00,3749.00,3749.00,3748.00,3748.00,65,0
+2006-02-16,13:58:00,3748.00,3748.00,3748.00,3748.00,473,0
+2006-02-16,13:59:00,3747.00,3747.00,3747.00,3747.00,11,0
+2006-02-16,14:00:00,3747.00,3749.00,3747.00,3748.00,711,0
+2006-02-16,14:01:00,3747.00,3748.00,3747.00,3748.00,311,0
+2006-02-16,14:02:00,3748.00,3748.00,3748.00,3748.00,566,0
+2006-02-16,14:03:00,3748.00,3748.00,3748.00,3748.00,575,0
+2006-02-16,14:04:00,3748.00,3748.00,3748.00,3748.00,636,0
+2006-02-16,14:05:00,3748.00,3748.00,3747.00,3747.00,9,0
+2006-02-16,14:06:00,3748.00,3748.00,3748.00,3748.00,53,0
+2006-02-16,14:07:00,3748.00,3748.00,3748.00,3748.00,60,0
+2006-02-16,14:08:00,3748.00,3749.00,3748.00,3749.00,610,0
+2006-02-16,14:09:00,3749.00,3749.00,3749.00,3749.00,81,0
+2006-02-16,14:10:00,3748.00,3748.00,3747.00,3747.00,221,0
+2006-02-16,14:11:00,3748.00,3748.00,3748.00,3748.00,16,0
+2006-02-16,14:12:00,3748.00,3748.00,3748.00,3748.00,26,0
+2006-02-16,14:13:00,3747.00,3748.00,3747.00,3748.00,210,0
+2006-02-16,14:14:00,3747.00,3748.00,3747.00,3748.00,178,0
+2006-02-16,14:15:00,3748.00,3749.00,3748.00,3749.00,504,0
+2006-02-16,14:16:00,3748.00,3748.00,3748.00,3748.00,2,0
+2006-02-16,14:17:00,3748.00,3748.00,3748.00,3748.00,501,0
+2006-02-16,14:18:00,3749.00,3749.00,3749.00,3749.00,572,0
+2006-02-16,14:19:00,3749.00,3750.00,3749.00,3750.00,281,0
+2006-02-16,14:20:00,3749.00,3751.00,3749.00,3749.00,1542,0
+2006-02-16,14:21:00,3749.00,3750.00,3749.00,3750.00,111,0
+2006-02-16,14:22:00,3750.00,3750.00,3749.00,3749.00,166,0
+2006-02-16,14:23:00,3749.00,3750.00,3748.00,3748.00,203,0
+2006-02-16,14:24:00,3749.00,3749.00,3748.00,3748.00,11,0
+2006-02-16,14:25:00,3749.00,3749.00,3748.00,3748.00,15,0
+2006-02-16,14:26:00,3748.00,3748.00,3747.00,3747.00,354,0
+2006-02-16,14:27:00,3748.00,3748.00,3747.00,3747.00,154,0
+2006-02-16,14:28:00,3747.00,3748.00,3747.00,3748.00,150,0
+2006-02-16,14:29:00,3747.00,3748.00,3747.00,3748.00,660,0
+2006-02-16,14:30:00,3748.00,3749.00,3748.00,3748.00,238,0
+2006-02-16,14:31:00,3749.00,3749.00,3747.00,3747.00,1385,0
+2006-02-16,14:32:00,3746.00,3747.00,3746.00,3747.00,1300,0
+2006-02-16,14:33:00,3747.00,3749.00,3747.00,3749.00,721,0
+2006-02-16,14:34:00,3748.00,3748.00,3747.00,3747.00,210,0
+2006-02-16,14:35:00,3748.00,3748.00,3747.00,3747.00,90,0
+2006-02-16,14:36:00,3747.00,3747.00,3746.00,3746.00,342,0
+2006-02-16,14:37:00,3747.00,3747.00,3746.00,3747.00,59,0
+2006-02-16,14:38:00,3747.00,3747.00,3746.00,3747.00,893,0
+2006-02-16,14:39:00,3746.00,3746.00,3745.00,3745.00,841,0
+2006-02-16,14:40:00,3745.00,3747.00,3745.00,3746.00,855,0
+2006-02-16,14:41:00,3746.00,3746.00,3745.00,3746.00,306,0
+2006-02-16,14:42:00,3745.00,3747.00,3745.00,3747.00,267,0
+2006-02-16,14:43:00,3747.00,3747.00,3747.00,3747.00,217,0
+2006-02-16,14:44:00,3747.00,3748.00,3747.00,3747.00,78,0
+2006-02-16,14:45:00,3748.00,3748.00,3747.00,3747.00,266,0
+2006-02-16,14:46:00,3747.00,3748.00,3747.00,3748.00,15,0
+2006-02-16,14:47:00,3747.00,3747.00,3747.00,3747.00,237,0
+2006-02-16,14:48:00,3747.00,3747.00,3746.00,3747.00,119,0
+2006-02-16,14:49:00,3747.00,3747.00,3746.00,3746.00,20,0
+2006-02-16,14:50:00,3746.00,3747.00,3746.00,3747.00,127,0
+2006-02-16,14:51:00,3747.00,3747.00,3747.00,3747.00,143,0
+2006-02-16,14:52:00,3747.00,3747.00,3747.00,3747.00,262,0
+2006-02-16,14:53:00,3748.00,3748.00,3748.00,3748.00,52,0
+2006-02-16,14:54:00,3748.00,3748.00,3748.00,3748.00,2,0
+2006-02-16,14:55:00,3748.00,3748.00,3747.00,3747.00,50,0
+2006-02-16,14:56:00,3748.00,3749.00,3747.00,3747.00,416,0
+2006-02-16,14:57:00,3748.00,3748.00,3748.00,3748.00,74,0
+2006-02-16,14:58:00,3748.00,3748.00,3748.00,3748.00,115,0
+2006-02-16,14:59:00,3748.00,3749.00,3748.00,3749.00,598,0
+2006-02-16,15:00:00,3749.00,3749.00,3749.00,3749.00,32,0
+2006-02-16,15:01:00,3749.00,3751.00,3749.00,3750.00,706,0
+2006-02-16,15:02:00,3751.00,3751.00,3750.00,3750.00,604,0
+2006-02-16,15:03:00,3750.00,3751.00,3750.00,3751.00,825,0
+2006-02-16,15:04:00,3751.00,3751.00,3751.00,3751.00,183,0
+2006-02-16,15:05:00,3750.00,3750.00,3750.00,3750.00,72,0
+2006-02-16,15:06:00,3750.00,3750.00,3749.00,3749.00,67,0
+2006-02-16,15:07:00,3749.00,3750.00,3749.00,3749.00,33,0
+2006-02-16,15:08:00,3750.00,3750.00,3749.00,3749.00,33,0
+2006-02-16,15:10:00,3749.00,3750.00,3749.00,3749.00,831,0
+2006-02-16,15:11:00,3749.00,3750.00,3749.00,3750.00,323,0
+2006-02-16,15:12:00,3750.00,3750.00,3749.00,3749.00,104,0
+2006-02-16,15:15:00,3749.00,3750.00,3748.00,3748.00,498,0
+2006-02-16,15:16:00,3749.00,3749.00,3749.00,3749.00,53,0
+2006-02-16,15:17:00,3749.00,3749.00,3749.00,3749.00,5,0
+2006-02-16,15:18:00,3749.00,3750.00,3749.00,3749.00,37,0
+2006-02-16,15:19:00,3749.00,3749.00,3749.00,3749.00,79,0
+2006-02-16,15:20:00,3750.00,3750.00,3749.00,3750.00,2667,0
+2006-02-16,15:21:00,3750.00,3750.00,3750.00,3750.00,22,0
+2006-02-16,15:22:00,3749.00,3750.00,3749.00,3749.00,133,0
+2006-02-16,15:23:00,3750.00,3750.00,3749.00,3749.00,50,0
+2006-02-16,15:24:00,3750.00,3750.00,3749.00,3749.00,428,0
+2006-02-16,15:25:00,3750.00,3750.00,3750.00,3750.00,126,0
+2006-02-16,15:26:00,3750.00,3751.00,3750.00,3750.00,110,0
+2006-02-16,15:27:00,3750.00,3751.00,3750.00,3750.00,132,0
+2006-02-16,15:28:00,3750.00,3751.00,3750.00,3751.00,53,0
+2006-02-16,15:29:00,3750.00,3751.00,3750.00,3751.00,132,0
+2006-02-16,15:30:00,3750.00,3750.00,3749.00,3749.00,945,0
+2006-02-16,15:31:00,3749.00,3750.00,3749.00,3750.00,576,0
+2006-02-16,15:32:00,3750.00,3750.00,3749.00,3750.00,334,0
+2006-02-16,15:33:00,3750.00,3750.00,3749.00,3749.00,57,0
+2006-02-16,15:34:00,3750.00,3751.00,3749.00,3751.00,854,0
+2006-02-16,15:35:00,3750.00,3750.00,3750.00,3750.00,1558,0
+2006-02-16,15:36:00,3749.00,3750.00,3749.00,3750.00,617,0
+2006-02-16,15:37:00,3750.00,3751.00,3749.00,3751.00,1209,0
+2006-02-16,15:38:00,3750.00,3751.00,3750.00,3750.00,401,0
+2006-02-16,15:39:00,3750.00,3751.00,3750.00,3751.00,773,0
+2006-02-16,15:40:00,3751.00,3753.00,3750.00,3751.00,3694,0
+2006-02-16,15:41:00,3752.00,3752.00,3750.00,3751.00,1130,0
+2006-02-16,15:42:00,3751.00,3752.00,3750.00,3751.00,3201,0
+2006-02-16,15:43:00,3751.00,3752.00,3751.00,3752.00,1087,0
+2006-02-16,15:44:00,3752.00,3752.00,3750.00,3750.00,1324,0
+2006-02-16,15:45:00,3750.00,3752.00,3749.00,3751.00,1041,0
+2006-02-16,15:46:00,3751.00,3751.00,3750.00,3751.00,885,0
+2006-02-16,15:47:00,3751.00,3752.00,3750.00,3752.00,754,0
+2006-02-16,15:48:00,3752.00,3752.00,3749.00,3750.00,993,0
+2006-02-16,15:49:00,3750.00,3750.00,3747.00,3747.00,845,0
+2006-02-16,15:50:00,3747.00,3748.00,3745.00,3745.00,4896,0
+2006-02-16,15:51:00,3746.00,3747.00,3745.00,3745.00,2494,0
+2006-02-16,15:52:00,3745.00,3747.00,3745.00,3747.00,1671,0
+2006-02-16,15:53:00,3747.00,3747.00,3745.00,3747.00,2001,0
+2006-02-16,15:54:00,3747.00,3747.00,3745.00,3747.00,1226,0
+2006-02-16,15:55:00,3747.00,3750.00,3747.00,3750.00,1389,0
+2006-02-16,15:56:00,3749.00,3749.00,3747.00,3747.00,1518,0
+2006-02-16,15:57:00,3747.00,3748.00,3746.00,3748.00,945,0
+2006-02-16,15:58:00,3748.00,3750.00,3748.00,3748.00,1055,0
+2006-02-16,15:59:00,3747.00,3749.00,3747.00,3748.00,660,0
+2006-02-16,16:00:00,3748.00,3748.00,3746.00,3748.00,722,0
+2006-02-16,16:01:00,3747.00,3749.00,3745.00,3747.00,1545,0
+2006-02-16,16:02:00,3746.00,3747.00,3745.00,3747.00,918,0
+2006-02-16,16:03:00,3747.00,3748.00,3746.00,3748.00,1474,0
+2006-02-16,16:04:00,3748.00,3749.00,3746.00,3747.00,824,0
+2006-02-16,16:05:00,3746.00,3747.00,3746.00,3746.00,555,0
+2006-02-16,16:06:00,3747.00,3747.00,3745.00,3746.00,1402,0
+2006-02-16,16:07:00,3747.00,3749.00,3747.00,3748.00,2743,0
+2006-02-16,16:08:00,3748.00,3750.00,3748.00,3749.00,1529,0
+2006-02-16,16:09:00,3748.00,3749.00,3747.00,3749.00,1488,0
+2006-02-16,16:10:00,3748.00,3751.00,3748.00,3750.00,1093,0
+2006-02-16,16:11:00,3750.00,3752.00,3750.00,3752.00,1475,0
+2006-02-16,16:12:00,3751.00,3752.00,3750.00,3751.00,1242,0
+2006-02-16,16:13:00,3752.00,3755.00,3751.00,3755.00,4181,0
+2006-02-16,16:14:00,3755.00,3757.00,3754.00,3757.00,2629,0
+2006-02-16,16:15:00,3757.00,3758.00,3754.00,3756.00,6108,0
+2006-02-16,16:16:00,3756.00,3756.00,3754.00,3754.00,1921,0
+2006-02-16,16:17:00,3754.00,3755.00,3753.00,3755.00,4137,0
+2006-02-16,16:18:00,3755.00,3755.00,3752.00,3753.00,2067,0
+2006-02-16,16:19:00,3753.00,3754.00,3752.00,3753.00,1277,0
+2006-02-16,16:20:00,3753.00,3753.00,3752.00,3753.00,323,0
+2006-02-16,16:21:00,3753.00,3754.00,3752.00,3752.00,1874,0
+2006-02-16,16:22:00,3752.00,3753.00,3749.00,3749.00,3525,0
+2006-02-16,16:23:00,3749.00,3749.00,3745.00,3745.00,5339,0
+2006-02-16,16:24:00,3745.00,3748.00,3745.00,3748.00,1929,0
+2006-02-16,16:25:00,3748.00,3748.00,3745.00,3745.00,3678,0
+2006-02-16,16:26:00,3745.00,3745.00,3743.00,3745.00,3998,0
+2006-02-16,16:27:00,3745.00,3746.00,3744.00,3745.00,1235,0
+2006-02-16,16:28:00,3745.00,3748.00,3745.00,3747.00,3153,0
+2006-02-16,16:29:00,3748.00,3748.00,3745.00,3746.00,2168,0
+2006-02-16,16:30:00,3746.00,3748.00,3745.00,3748.00,1784,0
+2006-02-16,16:31:00,3747.00,3750.00,3747.00,3749.00,2721,0
+2006-02-16,16:32:00,3749.00,3751.00,3748.00,3750.00,2365,0
+2006-02-16,16:33:00,3750.00,3751.00,3749.00,3749.00,1491,0
+2006-02-16,16:34:00,3749.00,3750.00,3747.00,3748.00,1732,0
+2006-02-16,16:35:00,3748.00,3748.00,3746.00,3748.00,1356,0
+2006-02-16,16:36:00,3748.00,3749.00,3746.00,3747.00,1492,0
+2006-02-16,16:37:00,3747.00,3747.00,3744.00,3746.00,2741,0
+2006-02-16,16:38:00,3746.00,3747.00,3745.00,3746.00,415,0
+2006-02-16,16:39:00,3747.00,3747.00,3745.00,3746.00,1568,0
+2006-02-16,16:40:00,3746.00,3747.00,3746.00,3746.00,1458,0
+2006-02-16,16:41:00,3746.00,3747.00,3745.00,3746.00,592,0
+2006-02-16,16:42:00,3746.00,3748.00,3746.00,3747.00,1695,0
+2006-02-16,16:43:00,3747.00,3748.00,3747.00,3747.00,1822,0
+2006-02-16,16:44:00,3748.00,3748.00,3747.00,3748.00,941,0
+2006-02-16,16:45:00,3748.00,3749.00,3747.00,3747.00,951,0
+2006-02-16,16:46:00,3748.00,3751.00,3748.00,3749.00,2085,0
+2006-02-16,16:47:00,3749.00,3750.00,3749.00,3749.00,42,0
+2006-02-16,16:48:00,3749.00,3750.00,3748.00,3749.00,561,0
+2006-02-16,16:49:00,3748.00,3750.00,3748.00,3750.00,1305,0
+2006-02-16,16:50:00,3750.00,3751.00,3750.00,3751.00,513,0
+2006-02-16,16:51:00,3751.00,3754.00,3751.00,3754.00,1831,0
+2006-02-16,16:52:00,3754.00,3754.00,3752.00,3752.00,1038,0
+2006-02-16,16:53:00,3752.00,3753.00,3751.00,3751.00,301,0
+2006-02-16,16:54:00,3752.00,3753.00,3751.00,3752.00,1317,0
+2006-02-16,16:55:00,3752.00,3752.00,3750.00,3751.00,460,0
+2006-02-16,16:56:00,3752.00,3752.00,3751.00,3751.00,268,0
+2006-02-16,16:57:00,3751.00,3753.00,3751.00,3753.00,217,0
+2006-02-16,16:58:00,3752.00,3753.00,3751.00,3751.00,501,0
+2006-02-16,16:59:00,3751.00,3752.00,3750.00,3751.00,510,0
+2006-02-16,17:00:00,3751.00,3753.00,3751.00,3753.00,577,0
+2006-02-16,17:01:00,3753.00,3753.00,3752.00,3752.00,144,0
+2006-02-16,17:02:00,3752.00,3753.00,3752.00,3753.00,433,0
+2006-02-16,17:03:00,3754.00,3754.00,3753.00,3754.00,675,0
+2006-02-16,17:04:00,3754.00,3754.00,3753.00,3754.00,729,0
+2006-02-16,17:05:00,3755.00,3755.00,3754.00,3755.00,593,0
+2006-02-16,17:06:00,3755.00,3756.00,3753.00,3754.00,1345,0
+2006-02-16,17:07:00,3754.00,3754.00,3752.00,3753.00,802,0
+2006-02-16,17:08:00,3754.00,3755.00,3753.00,3754.00,1010,0
+2006-02-16,17:09:00,3754.00,3755.00,3753.00,3755.00,288,0
+2006-02-16,17:10:00,3755.00,3755.00,3754.00,3755.00,230,0
+2006-02-16,17:11:00,3755.00,3756.00,3755.00,3756.00,1657,0
+2006-02-16,17:12:00,3756.00,3756.00,3754.00,3755.00,773,0
+2006-02-16,17:13:00,3755.00,3757.00,3754.00,3756.00,1028,0
+2006-02-16,17:14:00,3756.00,3759.00,3755.00,3759.00,2396,0
+2006-02-16,17:15:00,3758.00,3761.00,3758.00,3759.00,8011,0
+2006-02-16,17:16:00,3760.00,3760.00,3759.00,3759.00,2018,0
+2006-02-16,17:17:00,3759.00,3760.00,3758.00,3759.00,2096,0
+2006-02-16,17:18:00,3759.00,3760.00,3758.00,3759.00,1142,0
+2006-02-16,17:19:00,3759.00,3760.00,3758.00,3759.00,781,0
+2006-02-16,17:20:00,3759.00,3760.00,3759.00,3760.00,2564,0
+2006-02-16,17:21:00,3760.00,3762.00,3759.00,3762.00,5429,0
+2006-02-16,17:22:00,3762.00,3762.00,3760.00,3762.00,2083,0
+2006-02-16,17:23:00,3762.00,3762.00,3760.00,3761.00,1440,0
+2006-02-16,17:24:00,3761.00,3761.00,3759.00,3760.00,2552,0
+2006-02-16,17:25:00,3761.00,3761.00,3759.00,3760.00,1397,0
+2006-02-16,17:26:00,3760.00,3761.00,3759.00,3760.00,941,0
+2006-02-16,17:27:00,3760.00,3760.00,3759.00,3760.00,759,0
+2006-02-16,17:28:00,3760.00,3763.00,3760.00,3762.00,1394,0
+2006-02-16,17:29:00,3763.00,3763.00,3760.00,3762.00,2952,0
+2006-02-16,17:30:00,3761.00,3764.00,3761.00,3764.00,4730,0
+2006-02-16,17:31:00,3764.00,3767.00,3763.00,3766.00,8888,0
+2006-02-16,17:32:00,3767.00,3768.00,3766.00,3767.00,3782,0
+2006-02-16,17:33:00,3767.00,3768.00,3766.00,3767.00,1190,0
+2006-02-16,17:34:00,3766.00,3767.00,3765.00,3766.00,2857,0
+2006-02-16,17:35:00,3766.00,3767.00,3765.00,3766.00,1936,0
+2006-02-16,17:36:00,3767.00,3767.00,3765.00,3765.00,1395,0
+2006-02-16,17:37:00,3766.00,3768.00,3765.00,3768.00,2170,0
+2006-02-16,17:38:00,3769.00,3772.00,3768.00,3770.00,7893,0
+2006-02-16,17:39:00,3771.00,3771.00,3768.00,3768.00,2325,0
+2006-02-16,17:40:00,3768.00,3768.00,3766.00,3766.00,1618,0
+2006-02-16,17:41:00,3766.00,3767.00,3764.00,3765.00,2213,0
+2006-02-16,17:42:00,3764.00,3766.00,3764.00,3764.00,703,0
+2006-02-16,17:43:00,3765.00,3765.00,3763.00,3764.00,1010,0
+2006-02-16,17:44:00,3764.00,3766.00,3764.00,3764.00,1493,0
+2006-02-16,17:45:00,3764.00,3764.00,3763.00,3764.00,267,0
+2006-02-16,17:46:00,3764.00,3765.00,3763.00,3765.00,566,0
+2006-02-16,17:47:00,3764.00,3766.00,3764.00,3766.00,584,0
+2006-02-16,17:48:00,3766.00,3767.00,3764.00,3765.00,1034,0
+2006-02-16,17:49:00,3765.00,3765.00,3764.00,3765.00,973,0
+2006-02-16,17:50:00,3765.00,3765.00,3764.00,3764.00,207,0
+2006-02-16,17:51:00,3764.00,3764.00,3764.00,3764.00,474,0
+2006-02-16,17:52:00,3763.00,3764.00,3763.00,3764.00,383,0
+2006-02-16,17:53:00,3764.00,3764.00,3762.00,3763.00,1166,0
+2006-02-16,17:54:00,3762.00,3764.00,3762.00,3763.00,501,0
+2006-02-16,17:55:00,3763.00,3764.00,3763.00,3763.00,357,0
+2006-02-16,17:56:00,3763.00,3765.00,3763.00,3764.00,341,0
+2006-02-16,17:57:00,3764.00,3766.00,3764.00,3766.00,231,0
+2006-02-16,17:58:00,3766.00,3767.00,3766.00,3767.00,416,0
+2006-02-16,17:59:00,3767.00,3767.00,3766.00,3766.00,6,0
+2006-02-16,18:00:00,3766.00,3768.00,3766.00,3766.00,617,0
+2006-02-16,18:01:00,3767.00,3770.00,3767.00,3769.00,2997,0
+2006-02-16,18:02:00,3770.00,3770.00,3767.00,3767.00,1159,0
+2006-02-16,18:03:00,3767.00,3767.00,3765.00,3766.00,1589,0
+2006-02-16,18:04:00,3767.00,3767.00,3766.00,3766.00,590,0
+2006-02-16,18:05:00,3765.00,3766.00,3763.00,3766.00,924,0
+2006-02-16,18:06:00,3765.00,3766.00,3765.00,3766.00,90,0
+2006-02-16,18:07:00,3767.00,3768.00,3767.00,3767.00,262,0
+2006-02-16,18:08:00,3767.00,3768.00,3767.00,3767.00,81,0
+2006-02-16,18:09:00,3767.00,3768.00,3766.00,3767.00,377,0
+2006-02-16,18:10:00,3766.00,3768.00,3766.00,3767.00,304,0
+2006-02-16,18:11:00,3766.00,3769.00,3766.00,3769.00,652,0
+2006-02-16,18:12:00,3770.00,3771.00,3769.00,3771.00,435,0
+2006-02-16,18:13:00,3771.00,3773.00,3771.00,3773.00,1043,0
+2006-02-16,18:14:00,3773.00,3774.00,3772.00,3772.00,2075,0
+2006-02-16,18:15:00,3772.00,3773.00,3772.00,3772.00,196,0
+2006-02-16,18:16:00,3773.00,3773.00,3771.00,3771.00,958,0
+2006-02-16,18:17:00,3771.00,3771.00,3771.00,3771.00,1342,0
+2006-02-16,18:18:00,3772.00,3772.00,3770.00,3771.00,407,0
+2006-02-16,18:19:00,3770.00,3771.00,3769.00,3770.00,731,0
+2006-02-16,18:20:00,3771.00,3771.00,3770.00,3770.00,177,0
+2006-02-16,18:21:00,3771.00,3771.00,3770.00,3771.00,200,0
+2006-02-16,18:22:00,3771.00,3772.00,3771.00,3772.00,169,0
+2006-02-16,18:23:00,3771.00,3771.00,3770.00,3771.00,168,0
+2006-02-16,18:24:00,3770.00,3772.00,3770.00,3772.00,161,0
+2006-02-16,18:25:00,3772.00,3772.00,3771.00,3771.00,356,0
+2006-02-16,18:26:00,3771.00,3771.00,3770.00,3770.00,191,0
+2006-02-16,18:27:00,3770.00,3771.00,3770.00,3771.00,59,0
+2006-02-16,18:28:00,3770.00,3770.00,3769.00,3769.00,771,0
+2006-02-16,18:29:00,3769.00,3769.00,3767.00,3768.00,590,0
+2006-02-16,18:30:00,3768.00,3769.00,3768.00,3769.00,258,0
+2006-02-16,18:31:00,3768.00,3769.00,3768.00,3769.00,795,0
+2006-02-16,18:32:00,3769.00,3771.00,3769.00,3770.00,880,0
+2006-02-16,18:33:00,3770.00,3770.00,3766.00,3767.00,1028,0
+2006-02-16,18:34:00,3766.00,3767.00,3765.00,3765.00,445,0
+2006-02-16,18:35:00,3765.00,3766.00,3765.00,3766.00,457,0
+2006-02-16,18:36:00,3767.00,3767.00,3766.00,3767.00,138,0
+2006-02-16,18:37:00,3767.00,3768.00,3767.00,3768.00,478,0
+2006-02-16,18:38:00,3767.00,3767.00,3767.00,3767.00,38,0
+2006-02-16,18:39:00,3767.00,3767.00,3766.00,3767.00,190,0
+2006-02-16,18:40:00,3768.00,3768.00,3767.00,3767.00,307,0
+2006-02-16,18:41:00,3767.00,3768.00,3767.00,3767.00,138,0
+2006-02-16,18:42:00,3768.00,3768.00,3767.00,3768.00,272,0
+2006-02-16,18:43:00,3768.00,3768.00,3767.00,3767.00,206,0
+2006-02-16,18:44:00,3767.00,3767.00,3766.00,3767.00,382,0
+2006-02-16,18:45:00,3767.00,3767.00,3767.00,3767.00,48,0
+2006-02-16,18:46:00,3766.00,3766.00,3766.00,3766.00,496,0
+2006-02-16,18:47:00,3766.00,3766.00,3764.00,3765.00,1293,0
+2006-02-16,18:48:00,3764.00,3764.00,3764.00,3764.00,421,0
+2006-02-16,18:49:00,3764.00,3765.00,3764.00,3764.00,268,0
+2006-02-16,18:50:00,3763.00,3764.00,3763.00,3764.00,75,0
+2006-02-16,18:51:00,3764.00,3764.00,3764.00,3764.00,92,0
+2006-02-16,18:52:00,3765.00,3765.00,3765.00,3765.00,177,0
+2006-02-16,18:53:00,3765.00,3765.00,3765.00,3765.00,17,0
+2006-02-16,18:55:00,3766.00,3766.00,3765.00,3765.00,22,0
+2006-02-16,18:56:00,3766.00,3766.00,3766.00,3766.00,76,0
+2006-02-16,18:57:00,3765.00,3766.00,3765.00,3766.00,53,0
+2006-02-16,18:58:00,3765.00,3765.00,3765.00,3765.00,190,0
+2006-02-16,18:59:00,3765.00,3765.00,3764.00,3764.00,12,0
+2006-02-16,19:00:00,3765.00,3765.00,3765.00,3765.00,166,0
+2006-02-16,19:01:00,3765.00,3765.00,3764.00,3765.00,43,0
+2006-02-16,19:02:00,3765.00,3765.00,3763.00,3764.00,258,0
+2006-02-16,19:03:00,3764.00,3765.00,3764.00,3765.00,55,0
+2006-02-16,19:04:00,3765.00,3766.00,3765.00,3766.00,130,0
+2006-02-16,19:05:00,3765.00,3766.00,3765.00,3766.00,191,0
+2006-02-16,19:08:00,3767.00,3767.00,3766.00,3766.00,15,0
+2006-02-16,19:09:00,3766.00,3766.00,3766.00,3766.00,5,0
+2006-02-16,19:10:00,3767.00,3767.00,3767.00,3767.00,4,0
+2006-02-16,19:11:00,3767.00,3767.00,3767.00,3767.00,1,0
+2006-02-16,19:12:00,3766.00,3766.00,3766.00,3766.00,5,0
+2006-02-16,19:13:00,3766.00,3767.00,3766.00,3767.00,9,0
+2006-02-16,19:14:00,3767.00,3767.00,3767.00,3767.00,1,0
+2006-02-16,19:15:00,3767.00,3767.00,3767.00,3767.00,261,0
+2006-02-16,19:16:00,3767.00,3767.00,3767.00,3767.00,10,0
+2006-02-16,19:17:00,3768.00,3768.00,3768.00,3768.00,195,0
+2006-02-16,19:18:00,3768.00,3768.00,3768.00,3768.00,71,0
+2006-02-16,19:19:00,3767.00,3768.00,3767.00,3768.00,20,0
+2006-02-16,19:20:00,3767.00,3767.00,3766.00,3766.00,401,0
+2006-02-16,19:21:00,3767.00,3767.00,3767.00,3767.00,210,0
+2006-02-16,19:22:00,3766.00,3767.00,3766.00,3766.00,390,0
+2006-02-16,19:23:00,3765.00,3765.00,3765.00,3765.00,253,0
+2006-02-16,19:24:00,3765.00,3765.00,3764.00,3765.00,400,0
+2006-02-16,19:25:00,3764.00,3764.00,3764.00,3764.00,56,0
+2006-02-16,19:26:00,3764.00,3764.00,3764.00,3764.00,103,0
+2006-02-16,19:27:00,3764.00,3764.00,3764.00,3764.00,261,0
+2006-02-16,19:28:00,3764.00,3764.00,3763.00,3764.00,207,0
+2006-02-16,19:29:00,3764.00,3764.00,3764.00,3764.00,100,0
+2006-02-16,19:30:00,3764.00,3764.00,3764.00,3764.00,54,0
+2006-02-16,19:31:00,3765.00,3765.00,3765.00,3765.00,10,0
+2006-02-16,19:32:00,3765.00,3765.00,3764.00,3764.00,135,0
+2006-02-16,19:33:00,3764.00,3764.00,3764.00,3764.00,113,0
+2006-02-16,19:34:00,3765.00,3765.00,3765.00,3765.00,46,0
+2006-02-16,19:35:00,3765.00,3768.00,3765.00,3766.00,374,0
+2006-02-16,19:36:00,3766.00,3766.00,3766.00,3766.00,36,0
+2006-02-16,19:37:00,3767.00,3767.00,3766.00,3767.00,170,0
+2006-02-16,19:38:00,3768.00,3769.00,3768.00,3769.00,494,0
+2006-02-16,19:39:00,3769.00,3770.00,3769.00,3770.00,238,0
+2006-02-16,19:40:00,3770.00,3770.00,3768.00,3768.00,59,0
+2006-02-16,19:41:00,3769.00,3769.00,3769.00,3769.00,23,0
+2006-02-16,19:42:00,3769.00,3769.00,3768.00,3768.00,18,0
+2006-02-16,19:43:00,3768.00,3768.00,3768.00,3768.00,3,0
+2006-02-16,19:44:00,3768.00,3768.00,3767.00,3767.00,90,0
+2006-02-16,19:45:00,3768.00,3768.00,3767.00,3767.00,86,0
+2006-02-16,19:46:00,3766.00,3766.00,3764.00,3766.00,440,0
+2006-02-16,19:47:00,3765.00,3766.00,3764.00,3765.00,154,0
+2006-02-16,19:48:00,3765.00,3765.00,3764.00,3765.00,27,0
+2006-02-16,19:49:00,3765.00,3765.00,3765.00,3765.00,101,0
+2006-02-16,19:50:00,3765.00,3765.00,3765.00,3765.00,20,0
+2006-02-16,19:51:00,3765.00,3765.00,3764.00,3764.00,14,0
+2006-02-16,19:52:00,3764.00,3764.00,3764.00,3764.00,242,0
+2006-02-16,19:53:00,3763.00,3763.00,3762.00,3763.00,362,0
+2006-02-16,19:54:00,3762.00,3763.00,3762.00,3763.00,372,0
+2006-02-16,19:55:00,3762.00,3763.00,3762.00,3763.00,150,0
+2006-02-16,19:56:00,3763.00,3765.00,3763.00,3764.00,287,0
+2006-02-16,19:57:00,3764.00,3764.00,3763.00,3763.00,533,0
+2006-02-16,19:58:00,3762.00,3763.00,3762.00,3763.00,140,0
+2006-02-16,19:59:00,3762.00,3763.00,3761.00,3762.00,188,0
+2006-02-16,20:00:00,3762.00,3765.00,3762.00,3764.00,288,0
+2006-02-16,20:01:00,3764.00,3765.00,3763.00,3765.00,281,0
+2006-02-16,20:02:00,3765.00,3765.00,3764.00,3764.00,65,0
+2006-02-16,20:03:00,3764.00,3764.00,3763.00,3764.00,40,0
+2006-02-16,20:04:00,3764.00,3764.00,3763.00,3763.00,88,0
+2006-02-16,20:05:00,3763.00,3763.00,3763.00,3763.00,100,0
+2006-02-16,20:06:00,3763.00,3764.00,3763.00,3764.00,147,0
+2006-02-16,20:07:00,3764.00,3765.00,3764.00,3765.00,47,0
+2006-02-16,20:08:00,3764.00,3764.00,3763.00,3763.00,92,0
+2006-02-16,20:09:00,3763.00,3764.00,3763.00,3764.00,164,0
+2006-02-16,20:10:00,3765.00,3765.00,3765.00,3765.00,203,0
+2006-02-16,20:12:00,3764.00,3764.00,3764.00,3764.00,1,0
+2006-02-16,20:13:00,3764.00,3764.00,3764.00,3764.00,7,0
+2006-02-16,20:14:00,3764.00,3764.00,3763.00,3764.00,162,0
+2006-02-16,20:16:00,3764.00,3764.00,3764.00,3764.00,36,0
+2006-02-16,20:17:00,3763.00,3764.00,3763.00,3764.00,30,0
+2006-02-16,20:18:00,3764.00,3766.00,3764.00,3764.00,155,0
+2006-02-16,20:19:00,3765.00,3765.00,3765.00,3765.00,6,0
+2006-02-16,20:20:00,3766.00,3767.00,3765.00,3765.00,343,0
+2006-02-16,20:21:00,3764.00,3764.00,3764.00,3764.00,16,0
+2006-02-16,20:23:00,3765.00,3765.00,3765.00,3765.00,18,0
+2006-02-16,20:24:00,3764.00,3765.00,3764.00,3765.00,50,0
+2006-02-16,20:25:00,3763.00,3764.00,3763.00,3763.00,242,0
+2006-02-16,20:26:00,3763.00,3763.00,3763.00,3763.00,24,0
+2006-02-16,20:27:00,3764.00,3764.00,3764.00,3764.00,1,0
+2006-02-16,20:28:00,3764.00,3764.00,3763.00,3763.00,38,0
+2006-02-16,20:29:00,3763.00,3763.00,3763.00,3763.00,7,0
+2006-02-16,20:30:00,3763.00,3763.00,3762.00,3763.00,22,0
+2006-02-16,20:32:00,3763.00,3763.00,3763.00,3763.00,75,0
+2006-02-16,20:33:00,3762.00,3763.00,3762.00,3763.00,151,0
+2006-02-16,20:35:00,3763.00,3763.00,3763.00,3763.00,30,0
+2006-02-16,20:36:00,3764.00,3764.00,3763.00,3763.00,110,0
+2006-02-16,20:37:00,3762.00,3762.00,3762.00,3762.00,9,0
+2006-02-16,20:38:00,3762.00,3762.00,3759.00,3759.00,1520,0
+2006-02-16,20:39:00,3760.00,3762.00,3760.00,3761.00,283,0
+2006-02-16,20:40:00,3762.00,3762.00,3761.00,3762.00,51,0
+2006-02-16,20:41:00,3762.00,3762.00,3762.00,3762.00,5,0
+2006-02-16,20:42:00,3761.00,3763.00,3761.00,3763.00,79,0
+2006-02-16,20:43:00,3763.00,3763.00,3762.00,3762.00,7,0
+2006-02-16,20:44:00,3763.00,3763.00,3762.00,3763.00,88,0
+2006-02-16,20:45:00,3763.00,3763.00,3763.00,3763.00,22,0
+2006-02-16,20:46:00,3764.00,3765.00,3764.00,3765.00,31,0
+2006-02-16,20:47:00,3765.00,3766.00,3765.00,3766.00,32,0
+2006-02-16,20:48:00,3766.00,3766.00,3765.00,3765.00,45,0
+2006-02-16,20:49:00,3765.00,3765.00,3765.00,3765.00,1,0
+2006-02-16,20:50:00,3766.00,3766.00,3765.00,3765.00,59,0
+2006-02-16,20:51:00,3765.00,3765.00,3765.00,3765.00,10,0
+2006-02-16,20:52:00,3765.00,3765.00,3765.00,3765.00,31,0
+2006-02-16,20:54:00,3765.00,3765.00,3765.00,3765.00,17,0
+2006-02-16,20:56:00,3765.00,3765.00,3765.00,3765.00,27,0
+2006-02-16,20:57:00,3765.00,3765.00,3764.00,3764.00,47,0
+2006-02-16,20:58:00,3764.00,3765.00,3764.00,3765.00,38,0
+2006-02-16,21:00:00,3765.00,3766.00,3765.00,3766.00,30,0
+2006-02-16,21:01:00,3766.00,3766.00,3766.00,3766.00,225,0
+2006-02-16,21:02:00,3766.00,3766.00,3765.00,3765.00,2,0
+2006-02-16,21:03:00,3766.00,3766.00,3766.00,3766.00,1,0
+2006-02-16,21:04:00,3766.00,3766.00,3766.00,3766.00,2,0
+2006-02-16,21:05:00,3765.00,3765.00,3765.00,3765.00,5,0
+2006-02-16,21:08:00,3766.00,3766.00,3766.00,3766.00,8,0
+2006-02-16,21:09:00,3766.00,3766.00,3766.00,3766.00,82,0
+2006-02-16,21:10:00,3766.00,3766.00,3766.00,3766.00,107,0
+2006-02-16,21:11:00,3765.00,3765.00,3765.00,3765.00,60,0
+2006-02-16,21:12:00,3765.00,3765.00,3765.00,3765.00,62,0
+2006-02-16,21:13:00,3765.00,3765.00,3765.00,3765.00,1,0
+2006-02-16,21:15:00,3765.00,3766.00,3765.00,3766.00,88,0
+2006-02-16,21:16:00,3766.00,3766.00,3766.00,3766.00,11,0
+2006-02-16,21:18:00,3767.00,3767.00,3767.00,3767.00,92,0
+2006-02-16,21:19:00,3767.00,3769.00,3767.00,3769.00,44,0
+2006-02-16,21:20:00,3769.00,3769.00,3769.00,3769.00,62,0
+2006-02-16,21:21:00,3769.00,3769.00,3768.00,3768.00,9,0
+2006-02-16,21:22:00,3768.00,3768.00,3768.00,3768.00,1,0
+2006-02-16,21:23:00,3768.00,3768.00,3768.00,3768.00,1,0
+2006-02-16,21:24:00,3767.00,3767.00,3767.00,3767.00,1,0
+2006-02-16,21:25:00,3769.00,3769.00,3767.00,3767.00,72,0
+2006-02-16,21:26:00,3769.00,3769.00,3769.00,3769.00,4,0
+2006-02-16,21:27:00,3768.00,3768.00,3767.00,3767.00,94,0
+2006-02-16,21:29:00,3768.00,3768.00,3768.00,3768.00,5,0
+2006-02-16,21:30:00,3768.00,3769.00,3768.00,3769.00,3,0
+2006-02-16,21:31:00,3768.00,3768.00,3768.00,3768.00,2,0
+2006-02-16,21:32:00,3769.00,3770.00,3769.00,3769.00,39,0
+2006-02-16,21:33:00,3770.00,3770.00,3769.00,3770.00,539,0
+2006-02-16,21:34:00,3769.00,3769.00,3769.00,3769.00,51,0
+2006-02-16,21:35:00,3769.00,3769.00,3769.00,3769.00,2,0
+2006-02-16,21:36:00,3769.00,3769.00,3769.00,3769.00,1,0
+2006-02-16,21:37:00,3769.00,3770.00,3769.00,3770.00,21,0
+2006-02-16,21:38:00,3770.00,3770.00,3770.00,3770.00,217,0
+2006-02-16,21:39:00,3770.00,3771.00,3770.00,3770.00,96,0
+2006-02-16,21:40:00,3770.00,3770.00,3769.00,3769.00,50,0
+2006-02-16,21:41:00,3770.00,3771.00,3770.00,3771.00,68,0
+2006-02-16,21:42:00,3771.00,3771.00,3770.00,3771.00,45,0
+2006-02-16,21:43:00,3770.00,3770.00,3770.00,3770.00,20,0
+2006-02-16,21:44:00,3770.00,3771.00,3770.00,3770.00,48,0
+2006-02-16,21:45:00,3770.00,3771.00,3770.00,3771.00,101,0
+2006-02-16,21:46:00,3770.00,3771.00,3770.00,3771.00,6,0
+2006-02-16,21:47:00,3770.00,3771.00,3770.00,3770.00,7,0
+2006-02-16,21:48:00,3771.00,3771.00,3771.00,3771.00,8,0
+2006-02-16,21:49:00,3771.00,3772.00,3771.00,3772.00,579,0
+2006-02-16,21:50:00,3771.00,3772.00,3771.00,3771.00,20,0
+2006-02-16,21:51:00,3772.00,3772.00,3771.00,3771.00,76,0
+2006-02-16,21:52:00,3772.00,3772.00,3772.00,3772.00,1,0
+2006-02-16,21:53:00,3771.00,3773.00,3771.00,3773.00,512,0
+2006-02-16,21:54:00,3773.00,3773.00,3772.00,3772.00,52,0
+2006-02-16,21:55:00,3773.00,3773.00,3773.00,3773.00,71,0
+2006-02-16,21:56:00,3773.00,3774.00,3773.00,3774.00,698,0
+2006-02-16,21:57:00,3773.00,3774.00,3772.00,3773.00,680,0
+2006-02-16,21:58:00,3773.00,3774.00,3773.00,3774.00,65,0
+2006-02-16,21:59:00,3774.00,3774.00,3773.00,3773.00,537,0
+2006-02-16,22:00:00,3773.00,3774.00,3772.00,3773.00,339,0
+2006-02-17,09:01:00,3765.00,3766.00,3764.00,3765.00,4516,0
+2006-02-17,09:02:00,3764.00,3764.00,3761.00,3763.00,3152,0
+2006-02-17,09:03:00,3763.00,3764.00,3762.00,3762.00,784,0
+2006-02-17,09:04:00,3762.00,3762.00,3759.00,3759.00,2964,0
+2006-02-17,09:05:00,3759.00,3760.00,3758.00,3759.00,1499,0
+2006-02-17,09:06:00,3759.00,3761.00,3759.00,3760.00,797,0
+2006-02-17,09:07:00,3761.00,3762.00,3760.00,3761.00,749,0
+2006-02-17,09:08:00,3761.00,3764.00,3761.00,3762.00,1163,0
+2006-02-17,09:09:00,3762.00,3764.00,3760.00,3764.00,1732,0
+2006-02-17,09:10:00,3764.00,3767.00,3764.00,3766.00,1491,0
+2006-02-17,09:11:00,3766.00,3767.00,3764.00,3764.00,1811,0
+2006-02-17,09:12:00,3765.00,3765.00,3763.00,3763.00,266,0
+2006-02-17,09:13:00,3763.00,3764.00,3763.00,3763.00,526,0
+2006-02-17,09:14:00,3763.00,3764.00,3763.00,3764.00,753,0
+2006-02-17,09:15:00,3764.00,3764.00,3761.00,3761.00,2020,0
+2006-02-17,09:16:00,3761.00,3762.00,3761.00,3762.00,1990,0
+2006-02-17,09:17:00,3762.00,3762.00,3760.00,3762.00,1265,0
+2006-02-17,09:18:00,3761.00,3762.00,3761.00,3762.00,930,0
+2006-02-17,09:19:00,3762.00,3763.00,3762.00,3762.00,889,0
+2006-02-17,09:20:00,3762.00,3762.00,3760.00,3760.00,1218,0
+2006-02-17,09:21:00,3760.00,3761.00,3758.00,3758.00,2177,0
+2006-02-17,09:22:00,3759.00,3760.00,3757.00,3757.00,3299,0
+2006-02-17,09:23:00,3757.00,3760.00,3756.00,3759.00,1694,0
+2006-02-17,09:24:00,3759.00,3759.00,3757.00,3758.00,956,0
+2006-02-17,09:25:00,3758.00,3758.00,3756.00,3756.00,1712,0
+2006-02-17,09:26:00,3756.00,3758.00,3755.00,3758.00,1021,0
+2006-02-17,09:27:00,3758.00,3758.00,3756.00,3757.00,999,0
+2006-02-17,09:28:00,3757.00,3759.00,3757.00,3759.00,679,0
+2006-02-17,09:29:00,3759.00,3759.00,3756.00,3756.00,1647,0
+2006-02-17,09:30:00,3756.00,3757.00,3755.00,3755.00,1269,0
+2006-02-17,09:31:00,3755.00,3758.00,3755.00,3758.00,1744,0
+2006-02-17,09:32:00,3757.00,3757.00,3756.00,3756.00,749,0
+2006-02-17,09:33:00,3756.00,3758.00,3756.00,3756.00,1581,0
+2006-02-17,09:34:00,3756.00,3758.00,3755.00,3756.00,654,0
+2006-02-17,09:35:00,3756.00,3758.00,3756.00,3758.00,365,0
+2006-02-17,09:36:00,3757.00,3759.00,3757.00,3759.00,1070,0
+2006-02-17,09:37:00,3759.00,3760.00,3758.00,3760.00,1126,0
+2006-02-17,09:38:00,3760.00,3761.00,3760.00,3761.00,926,0
+2006-02-17,09:39:00,3761.00,3761.00,3761.00,3761.00,146,0
+2006-02-17,09:40:00,3761.00,3761.00,3761.00,3761.00,382,0
+2006-02-17,09:41:00,3762.00,3763.00,3761.00,3762.00,685,0
+2006-02-17,09:42:00,3762.00,3762.00,3762.00,3762.00,486,0
+2006-02-17,09:43:00,3761.00,3762.00,3761.00,3762.00,72,0
+2006-02-17,09:44:00,3762.00,3762.00,3761.00,3762.00,167,0
+2006-02-17,09:45:00,3761.00,3761.00,3761.00,3761.00,377,0
+2006-02-17,09:46:00,3761.00,3762.00,3761.00,3762.00,840,0
+2006-02-17,09:47:00,3762.00,3762.00,3761.00,3762.00,481,0
+2006-02-17,09:48:00,3762.00,3763.00,3762.00,3763.00,881,0
+2006-02-17,09:49:00,3762.00,3762.00,3762.00,3762.00,322,0
+2006-02-17,09:50:00,3762.00,3762.00,3761.00,3761.00,1052,0
+2006-02-17,09:51:00,3761.00,3761.00,3760.00,3760.00,1415,0
+2006-02-17,09:52:00,3760.00,3761.00,3760.00,3761.00,302,0
+2006-02-17,09:53:00,3761.00,3761.00,3760.00,3761.00,346,0
+2006-02-17,09:54:00,3761.00,3761.00,3760.00,3761.00,105,0
+2006-02-17,09:55:00,3761.00,3761.00,3761.00,3761.00,109,0
+2006-02-17,09:56:00,3761.00,3763.00,3761.00,3763.00,493,0
+2006-02-17,09:57:00,3763.00,3764.00,3762.00,3763.00,200,0
+2006-02-17,09:58:00,3763.00,3763.00,3762.00,3763.00,743,0
+2006-02-17,09:59:00,3763.00,3763.00,3762.00,3762.00,265,0
+2006-02-17,10:00:00,3762.00,3764.00,3762.00,3764.00,221,0
+2006-02-17,10:01:00,3764.00,3765.00,3763.00,3764.00,2335,0
+2006-02-17,10:02:00,3764.00,3765.00,3764.00,3765.00,367,0
+2006-02-17,10:03:00,3764.00,3765.00,3764.00,3765.00,1013,0
+2006-02-17,10:04:00,3766.00,3766.00,3764.00,3764.00,5499,0
+2006-02-17,10:05:00,3764.00,3765.00,3764.00,3764.00,986,0
+2006-02-17,10:06:00,3764.00,3766.00,3764.00,3766.00,1060,0
+2006-02-17,10:07:00,3766.00,3766.00,3764.00,3764.00,1785,0
+2006-02-17,10:08:00,3764.00,3765.00,3763.00,3765.00,772,0
+2006-02-17,10:09:00,3764.00,3765.00,3764.00,3765.00,3516,0
+2006-02-17,10:10:00,3765.00,3765.00,3764.00,3764.00,7065,0
+2006-02-17,10:11:00,3764.00,3765.00,3764.00,3764.00,1130,0
+2006-02-17,10:12:00,3764.00,3766.00,3764.00,3765.00,731,0
+2006-02-17,10:13:00,3764.00,3764.00,3763.00,3764.00,1977,0
+2006-02-17,10:14:00,3764.00,3764.00,3763.00,3763.00,470,0
+2006-02-17,10:15:00,3764.00,3764.00,3764.00,3764.00,11,0
+2006-02-17,10:16:00,3764.00,3764.00,3763.00,3764.00,702,0
+2006-02-17,10:17:00,3765.00,3765.00,3764.00,3765.00,214,0
+2006-02-17,10:18:00,3765.00,3765.00,3765.00,3765.00,525,0
+2006-02-17,10:19:00,3765.00,3765.00,3764.00,3764.00,35,0
+2006-02-17,10:20:00,3764.00,3765.00,3764.00,3764.00,291,0
+2006-02-17,10:21:00,3764.00,3765.00,3763.00,3764.00,1115,0
+2006-02-17,10:22:00,3763.00,3764.00,3763.00,3764.00,471,0
+2006-02-17,10:23:00,3764.00,3765.00,3763.00,3763.00,577,0
+2006-02-17,10:24:00,3763.00,3764.00,3763.00,3764.00,91,0
+2006-02-17,10:25:00,3763.00,3764.00,3762.00,3762.00,495,0
+2006-02-17,10:26:00,3763.00,3763.00,3762.00,3763.00,180,0
+2006-02-17,10:27:00,3763.00,3763.00,3761.00,3761.00,733,0
+2006-02-17,10:28:00,3761.00,3762.00,3761.00,3762.00,187,0
+2006-02-17,10:29:00,3762.00,3763.00,3762.00,3763.00,433,0
+2006-02-17,10:30:00,3763.00,3764.00,3763.00,3763.00,401,0
+2006-02-17,10:31:00,3763.00,3764.00,3763.00,3763.00,76,0
+2006-02-17,10:32:00,3763.00,3763.00,3763.00,3763.00,104,0
+2006-02-17,10:33:00,3763.00,3764.00,3762.00,3763.00,119,0
+2006-02-17,10:34:00,3763.00,3763.00,3761.00,3762.00,889,0
+2006-02-17,10:35:00,3762.00,3763.00,3762.00,3763.00,349,0
+2006-02-17,10:36:00,3763.00,3764.00,3762.00,3763.00,228,0
+2006-02-17,10:37:00,3762.00,3763.00,3762.00,3763.00,223,0
+2006-02-17,10:38:00,3763.00,3764.00,3763.00,3763.00,78,0
+2006-02-17,10:39:00,3763.00,3764.00,3763.00,3764.00,37,0
+2006-02-17,10:40:00,3763.00,3764.00,3763.00,3763.00,2244,0
+2006-02-17,10:41:00,3763.00,3763.00,3762.00,3762.00,331,0
+2006-02-17,10:42:00,3762.00,3762.00,3761.00,3761.00,545,0
+2006-02-17,10:43:00,3761.00,3762.00,3761.00,3761.00,14,0
+2006-02-17,10:44:00,3761.00,3762.00,3761.00,3762.00,47,0
+2006-02-17,10:45:00,3761.00,3762.00,3761.00,3762.00,49,0
+2006-02-17,10:46:00,3762.00,3763.00,3762.00,3763.00,310,0
+2006-02-17,10:47:00,3763.00,3764.00,3763.00,3764.00,541,0
+2006-02-17,10:48:00,3763.00,3764.00,3763.00,3763.00,18,0
+2006-02-17,10:49:00,3763.00,3764.00,3763.00,3763.00,114,0
+2006-02-17,10:50:00,3764.00,3764.00,3763.00,3763.00,425,0
+2006-02-17,10:51:00,3762.00,3764.00,3762.00,3764.00,852,0
+2006-02-17,10:52:00,3764.00,3764.00,3763.00,3764.00,2796,0
+2006-02-17,10:53:00,3764.00,3764.00,3763.00,3763.00,614,0
+2006-02-17,10:54:00,3763.00,3764.00,3762.00,3764.00,243,0
+2006-02-17,10:55:00,3764.00,3766.00,3764.00,3765.00,673,0
+2006-02-17,10:56:00,3765.00,3766.00,3764.00,3765.00,176,0
+2006-02-17,10:57:00,3764.00,3765.00,3764.00,3765.00,313,0
+2006-02-17,10:58:00,3765.00,3766.00,3765.00,3766.00,823,0
+2006-02-17,10:59:00,3765.00,3766.00,3765.00,3766.00,1141,0
+2006-02-17,11:00:00,3766.00,3767.00,3765.00,3766.00,1445,0
+2006-02-17,11:01:00,3766.00,3768.00,3766.00,3767.00,1202,0
+2006-02-17,11:02:00,3767.00,3768.00,3767.00,3767.00,804,0
+2006-02-17,11:03:00,3767.00,3767.00,3766.00,3767.00,257,0
+2006-02-17,11:04:00,3767.00,3767.00,3765.00,3765.00,1041,0
+2006-02-17,11:05:00,3766.00,3766.00,3763.00,3764.00,713,0
+2006-02-17,11:06:00,3764.00,3765.00,3764.00,3764.00,499,0
+2006-02-17,11:07:00,3765.00,3765.00,3764.00,3764.00,370,0
+2006-02-17,11:08:00,3764.00,3765.00,3764.00,3765.00,391,0
+2006-02-17,11:09:00,3765.00,3765.00,3764.00,3765.00,1321,0
+2006-02-17,11:10:00,3765.00,3765.00,3764.00,3765.00,549,0
+2006-02-17,11:11:00,3765.00,3765.00,3764.00,3764.00,97,0
+2006-02-17,11:12:00,3764.00,3764.00,3763.00,3764.00,990,0
+2006-02-17,11:13:00,3763.00,3764.00,3763.00,3764.00,1020,0
+2006-02-17,11:14:00,3764.00,3765.00,3764.00,3764.00,71,0
+2006-02-17,11:15:00,3765.00,3765.00,3764.00,3764.00,73,0
+2006-02-17,11:16:00,3765.00,3765.00,3764.00,3764.00,427,0
+2006-02-17,11:17:00,3764.00,3765.00,3763.00,3763.00,538,0
+2006-02-17,11:18:00,3764.00,3764.00,3763.00,3763.00,483,0
+2006-02-17,11:19:00,3763.00,3765.00,3763.00,3765.00,738,0
+2006-02-17,11:20:00,3765.00,3765.00,3764.00,3765.00,812,0
+2006-02-17,11:21:00,3766.00,3766.00,3763.00,3764.00,437,0
+2006-02-17,11:22:00,3764.00,3765.00,3764.00,3764.00,289,0
+2006-02-17,11:23:00,3765.00,3765.00,3764.00,3764.00,215,0
+2006-02-17,11:24:00,3764.00,3764.00,3764.00,3764.00,1207,0
+2006-02-17,11:25:00,3764.00,3765.00,3764.00,3765.00,18,0
+2006-02-17,11:26:00,3765.00,3766.00,3765.00,3765.00,363,0
+2006-02-17,11:27:00,3765.00,3765.00,3764.00,3765.00,144,0
+2006-02-17,11:28:00,3765.00,3765.00,3765.00,3765.00,906,0
+2006-02-17,11:29:00,3765.00,3765.00,3764.00,3765.00,32,0
+2006-02-17,11:30:00,3765.00,3766.00,3765.00,3766.00,227,0
+2006-02-17,11:31:00,3766.00,3767.00,3765.00,3766.00,1496,0
+2006-02-17,11:32:00,3766.00,3766.00,3765.00,3766.00,459,0
+2006-02-17,11:33:00,3765.00,3766.00,3765.00,3766.00,28,0
+2006-02-17,11:34:00,3765.00,3768.00,3765.00,3768.00,2070,0
+2006-02-17,11:35:00,3768.00,3770.00,3768.00,3769.00,2620,0
+2006-02-17,11:36:00,3770.00,3771.00,3769.00,3771.00,2537,0
+2006-02-17,11:37:00,3770.00,3773.00,3770.00,3772.00,2766,0
+2006-02-17,11:38:00,3772.00,3773.00,3771.00,3773.00,2453,0
+2006-02-17,11:39:00,3773.00,3777.00,3772.00,3776.00,7274,0
+2006-02-17,11:40:00,3776.00,3779.00,3776.00,3776.00,3601,0
+2006-02-17,11:41:00,3776.00,3777.00,3774.00,3774.00,3345,0
+2006-02-17,11:42:00,3775.00,3776.00,3774.00,3776.00,1502,0
+2006-02-17,11:43:00,3776.00,3777.00,3775.00,3776.00,911,0
+2006-02-17,11:44:00,3776.00,3777.00,3775.00,3776.00,1639,0
+2006-02-17,11:45:00,3776.00,3777.00,3776.00,3777.00,918,0
+2006-02-17,11:46:00,3776.00,3777.00,3775.00,3776.00,796,0
+2006-02-17,11:47:00,3776.00,3777.00,3776.00,3776.00,946,0
+2006-02-17,11:48:00,3777.00,3777.00,3776.00,3776.00,865,0
+2006-02-17,11:49:00,3776.00,3778.00,3776.00,3778.00,2564,0
+2006-02-17,11:50:00,3778.00,3780.00,3778.00,3780.00,3290,0
+2006-02-17,11:51:00,3780.00,3783.00,3780.00,3781.00,7464,0
+2006-02-17,11:52:00,3781.00,3782.00,3778.00,3778.00,5179,0
+2006-02-17,11:53:00,3778.00,3779.00,3775.00,3776.00,5594,0
+2006-02-17,11:54:00,3776.00,3778.00,3776.00,3776.00,3825,0
+2006-02-17,11:55:00,3777.00,3777.00,3774.00,3774.00,3015,0
+2006-02-17,11:56:00,3774.00,3775.00,3771.00,3772.00,5217,0
+2006-02-17,11:57:00,3773.00,3776.00,3773.00,3775.00,6133,0
+2006-02-17,11:58:00,3775.00,3777.00,3775.00,3777.00,3241,0
+2006-02-17,11:59:00,3777.00,3778.00,3776.00,3778.00,2446,0
+2006-02-17,12:00:00,3778.00,3778.00,3776.00,3776.00,3938,0
+2006-02-17,12:01:00,3776.00,3776.00,3773.00,3773.00,5511,0
+2006-02-17,12:02:00,3774.00,3775.00,3773.00,3773.00,1841,0
+2006-02-17,12:03:00,3773.00,3775.00,3773.00,3775.00,1396,0
+2006-02-17,12:04:00,3774.00,3776.00,3774.00,3774.00,2112,0
+2006-02-17,12:05:00,3775.00,3775.00,3773.00,3774.00,1237,0
+2006-02-17,12:06:00,3774.00,3775.00,3773.00,3774.00,940,0
+2006-02-17,12:07:00,3774.00,3775.00,3774.00,3775.00,604,0
+2006-02-17,12:08:00,3774.00,3774.00,3773.00,3774.00,361,0
+2006-02-17,12:09:00,3774.00,3775.00,3773.00,3775.00,749,0
+2006-02-17,12:10:00,3775.00,3775.00,3774.00,3774.00,709,0
+2006-02-17,12:11:00,3775.00,3777.00,3775.00,3777.00,1176,0
+2006-02-17,12:12:00,3776.00,3776.00,3775.00,3776.00,906,0
+2006-02-17,12:13:00,3776.00,3777.00,3776.00,3776.00,652,0
+2006-02-17,12:14:00,3775.00,3776.00,3775.00,3775.00,1063,0
+2006-02-17,12:15:00,3775.00,3776.00,3775.00,3775.00,762,0
+2006-02-17,12:16:00,3776.00,3776.00,3774.00,3775.00,558,0
+2006-02-17,12:17:00,3776.00,3776.00,3775.00,3775.00,476,0
+2006-02-17,12:18:00,3775.00,3776.00,3774.00,3774.00,717,0
+2006-02-17,12:19:00,3775.00,3776.00,3775.00,3775.00,1395,0
+2006-02-17,12:20:00,3776.00,3776.00,3775.00,3775.00,61,0
+2006-02-17,12:21:00,3776.00,3777.00,3776.00,3776.00,300,0
+2006-02-17,12:22:00,3776.00,3778.00,3776.00,3778.00,944,0
+2006-02-17,12:23:00,3778.00,3778.00,3777.00,3778.00,1430,0
+2006-02-17,12:24:00,3777.00,3779.00,3777.00,3778.00,987,0
+2006-02-17,12:25:00,3779.00,3781.00,3778.00,3780.00,2924,0
+2006-02-17,12:26:00,3780.00,3781.00,3779.00,3780.00,1042,0
+2006-02-17,12:27:00,3780.00,3780.00,3778.00,3778.00,1815,0
+2006-02-17,12:28:00,3779.00,3779.00,3778.00,3779.00,954,0
+2006-02-17,12:29:00,3779.00,3779.00,3778.00,3778.00,1354,0
+2006-02-17,12:30:00,3778.00,3779.00,3778.00,3779.00,21,0
+2006-02-17,12:31:00,3779.00,3779.00,3778.00,3779.00,567,0
+2006-02-17,12:32:00,3779.00,3779.00,3777.00,3778.00,369,0
+2006-02-17,12:33:00,3778.00,3778.00,3776.00,3776.00,513,0
+2006-02-17,12:34:00,3776.00,3777.00,3776.00,3777.00,243,0
+2006-02-17,12:35:00,3777.00,3777.00,3776.00,3777.00,613,0
+2006-02-17,12:36:00,3777.00,3777.00,3776.00,3777.00,39,0
+2006-02-17,12:37:00,3777.00,3777.00,3776.00,3776.00,20,0
+2006-02-17,12:38:00,3776.00,3776.00,3776.00,3776.00,6,0
+2006-02-17,12:39:00,3776.00,3776.00,3775.00,3775.00,205,0
+2006-02-17,12:40:00,3775.00,3776.00,3775.00,3775.00,974,0
+2006-02-17,12:41:00,3775.00,3775.00,3774.00,3774.00,477,0
+2006-02-17,12:42:00,3775.00,3775.00,3774.00,3775.00,191,0
+2006-02-17,12:43:00,3774.00,3775.00,3774.00,3775.00,1298,0
+2006-02-17,12:44:00,3774.00,3775.00,3774.00,3775.00,191,0
+2006-02-17,12:45:00,3774.00,3774.00,3774.00,3774.00,151,0
+2006-02-17,12:46:00,3775.00,3775.00,3774.00,3774.00,9,0
+2006-02-17,12:47:00,3775.00,3775.00,3774.00,3774.00,751,0
+2006-02-17,12:48:00,3775.00,3775.00,3774.00,3774.00,79,0
+2006-02-17,12:49:00,3775.00,3775.00,3774.00,3775.00,935,0
+2006-02-17,12:50:00,3775.00,3776.00,3775.00,3775.00,250,0
+2006-02-17,12:51:00,3775.00,3775.00,3775.00,3775.00,318,0
+2006-02-17,12:52:00,3775.00,3775.00,3775.00,3775.00,30,0
+2006-02-17,12:53:00,3775.00,3776.00,3775.00,3776.00,75,0
+2006-02-17,12:54:00,3776.00,3776.00,3776.00,3776.00,251,0
+2006-02-17,12:55:00,3775.00,3775.00,3775.00,3775.00,843,0
+2006-02-17,12:56:00,3775.00,3776.00,3775.00,3776.00,306,0
+2006-02-17,12:57:00,3775.00,3775.00,3775.00,3775.00,526,0
+2006-02-17,12:59:00,3776.00,3776.00,3775.00,3776.00,1402,0
+2006-02-17,13:00:00,3776.00,3776.00,3775.00,3775.00,748,0
+2006-02-17,13:01:00,3775.00,3775.00,3774.00,3775.00,556,0
+2006-02-17,13:02:00,3775.00,3776.00,3774.00,3775.00,792,0
+2006-02-17,13:03:00,3775.00,3776.00,3775.00,3776.00,401,0
+2006-02-17,13:04:00,3776.00,3776.00,3775.00,3776.00,69,0
+2006-02-17,13:05:00,3776.00,3776.00,3776.00,3776.00,1194,0
+2006-02-17,13:06:00,3776.00,3778.00,3776.00,3777.00,1289,0
+2006-02-17,13:07:00,3777.00,3777.00,3775.00,3776.00,617,0
+2006-02-17,13:08:00,3776.00,3776.00,3775.00,3775.00,361,0
+2006-02-17,13:09:00,3776.00,3776.00,3775.00,3776.00,67,0
+2006-02-17,13:10:00,3776.00,3776.00,3775.00,3776.00,881,0
+2006-02-17,13:11:00,3775.00,3776.00,3775.00,3775.00,695,0
+2006-02-17,13:12:00,3775.00,3777.00,3775.00,3777.00,1111,0
+2006-02-17,13:13:00,3776.00,3776.00,3775.00,3775.00,21,0
+2006-02-17,13:14:00,3775.00,3775.00,3775.00,3775.00,651,0
+2006-02-17,13:15:00,3776.00,3776.00,3776.00,3776.00,1,0
+2006-02-17,13:16:00,3775.00,3776.00,3775.00,3776.00,109,0
+2006-02-17,13:18:00,3775.00,3776.00,3775.00,3775.00,17,0
+2006-02-17,13:19:00,3775.00,3775.00,3775.00,3775.00,70,0
+2006-02-17,13:20:00,3776.00,3776.00,3775.00,3775.00,22,0
+2006-02-17,13:21:00,3776.00,3776.00,3775.00,3776.00,73,0
+2006-02-17,13:22:00,3775.00,3776.00,3775.00,3776.00,47,0
+2006-02-17,13:23:00,3776.00,3777.00,3776.00,3776.00,626,0
+2006-02-17,13:24:00,3776.00,3777.00,3776.00,3777.00,87,0
+2006-02-17,13:26:00,3777.00,3778.00,3777.00,3777.00,416,0
+2006-02-17,13:27:00,3777.00,3778.00,3777.00,3778.00,408,0
+2006-02-17,13:28:00,3777.00,3777.00,3777.00,3777.00,352,0
+2006-02-17,13:29:00,3777.00,3778.00,3777.00,3777.00,262,0
+2006-02-17,13:30:00,3777.00,3777.00,3777.00,3777.00,19,0
+2006-02-17,13:31:00,3777.00,3778.00,3777.00,3777.00,529,0
+2006-02-17,13:32:00,3777.00,3777.00,3777.00,3777.00,105,0
+2006-02-17,13:33:00,3777.00,3777.00,3777.00,3777.00,147,0
+2006-02-17,13:34:00,3777.00,3778.00,3776.00,3777.00,34,0
+2006-02-17,13:35:00,3777.00,3777.00,3777.00,3777.00,19,0
+2006-02-17,13:36:00,3777.00,3778.00,3777.00,3777.00,13,0
+2006-02-17,13:37:00,3777.00,3777.00,3777.00,3777.00,66,0
+2006-02-17,13:38:00,3777.00,3777.00,3776.00,3777.00,500,0
+2006-02-17,13:39:00,3777.00,3777.00,3776.00,3777.00,182,0
+2006-02-17,13:40:00,3777.00,3777.00,3776.00,3777.00,190,0
+2006-02-17,13:41:00,3778.00,3778.00,3777.00,3777.00,216,0
+2006-02-17,13:42:00,3777.00,3778.00,3777.00,3777.00,302,0
+2006-02-17,13:43:00,3777.00,3777.00,3777.00,3777.00,121,0
+2006-02-17,13:44:00,3777.00,3778.00,3777.00,3778.00,466,0
+2006-02-17,13:45:00,3778.00,3778.00,3777.00,3777.00,83,0
+2006-02-17,13:46:00,3777.00,3779.00,3777.00,3779.00,535,0
+2006-02-17,13:47:00,3778.00,3778.00,3778.00,3778.00,231,0
+2006-02-17,13:48:00,3778.00,3779.00,3778.00,3779.00,34,0
+2006-02-17,13:49:00,3779.00,3779.00,3778.00,3778.00,180,0
+2006-02-17,13:50:00,3778.00,3779.00,3778.00,3778.00,655,0
+2006-02-17,13:51:00,3778.00,3779.00,3777.00,3778.00,550,0
+2006-02-17,13:52:00,3778.00,3779.00,3776.00,3776.00,1415,0
+2006-02-17,13:53:00,3777.00,3778.00,3776.00,3778.00,277,0
+2006-02-17,13:54:00,3777.00,3778.00,3777.00,3777.00,64,0
+2006-02-17,13:55:00,3777.00,3778.00,3776.00,3778.00,525,0
+2006-02-17,13:56:00,3777.00,3778.00,3777.00,3777.00,498,0
+2006-02-17,13:57:00,3777.00,3777.00,3776.00,3776.00,153,0
+2006-02-17,13:58:00,3777.00,3777.00,3776.00,3776.00,65,0
+2006-02-17,13:59:00,3776.00,3777.00,3776.00,3776.00,144,0
+2006-02-17,14:00:00,3776.00,3777.00,3776.00,3776.00,65,0
+2006-02-17,14:01:00,3777.00,3777.00,3776.00,3777.00,244,0
+2006-02-17,14:02:00,3776.00,3777.00,3776.00,3776.00,3,0
+2006-02-17,14:03:00,3777.00,3777.00,3777.00,3777.00,6,0
+2006-02-17,14:04:00,3776.00,3776.00,3776.00,3776.00,666,0
+2006-02-17,14:05:00,3776.00,3777.00,3776.00,3777.00,256,0
+2006-02-17,14:06:00,3776.00,3776.00,3776.00,3776.00,54,0
+2006-02-17,14:07:00,3777.00,3777.00,3777.00,3777.00,86,0
+2006-02-17,14:08:00,3777.00,3778.00,3777.00,3777.00,371,0
+2006-02-17,14:09:00,3777.00,3777.00,3777.00,3777.00,172,0
+2006-02-17,14:10:00,3777.00,3777.00,3776.00,3777.00,36,0
+2006-02-17,14:11:00,3776.00,3776.00,3776.00,3776.00,2,0
+2006-02-17,14:12:00,3777.00,3777.00,3776.00,3776.00,429,0
+2006-02-17,14:13:00,3776.00,3777.00,3776.00,3777.00,31,0
+2006-02-17,14:14:00,3776.00,3776.00,3775.00,3776.00,426,0
+2006-02-17,14:15:00,3776.00,3776.00,3775.00,3775.00,507,0
+2006-02-17,14:16:00,3774.00,3775.00,3774.00,3775.00,156,0
+2006-02-17,14:17:00,3775.00,3775.00,3775.00,3775.00,156,0
+2006-02-17,14:18:00,3776.00,3777.00,3776.00,3777.00,671,0
+2006-02-17,14:19:00,3776.00,3777.00,3776.00,3777.00,359,0
+2006-02-17,14:20:00,3777.00,3778.00,3777.00,3778.00,416,0
+2006-02-17,14:21:00,3778.00,3778.00,3777.00,3777.00,1040,0
+2006-02-17,14:22:00,3777.00,3778.00,3777.00,3778.00,762,0
+2006-02-17,14:23:00,3778.00,3778.00,3777.00,3778.00,42,0
+2006-02-17,14:24:00,3778.00,3778.00,3777.00,3777.00,323,0
+2006-02-17,14:25:00,3777.00,3777.00,3776.00,3776.00,205,0
+2006-02-17,14:26:00,3776.00,3776.00,3776.00,3776.00,33,0
+2006-02-17,14:27:00,3776.00,3776.00,3775.00,3775.00,1075,0
+2006-02-17,14:28:00,3776.00,3776.00,3775.00,3776.00,369,0
+2006-02-17,14:29:00,3775.00,3776.00,3775.00,3775.00,119,0
+2006-02-17,14:30:00,3775.00,3776.00,3775.00,3776.00,72,0
+2006-02-17,14:31:00,3775.00,3776.00,3772.00,3774.00,6209,0
+2006-02-17,14:32:00,3774.00,3775.00,3774.00,3775.00,1486,0
+2006-02-17,14:33:00,3775.00,3775.00,3774.00,3775.00,1236,0
+2006-02-17,14:34:00,3775.00,3777.00,3775.00,3775.00,666,0
+2006-02-17,14:35:00,3775.00,3775.00,3774.00,3774.00,864,0
+2006-02-17,14:36:00,3774.00,3776.00,3774.00,3776.00,457,0
+2006-02-17,14:37:00,3776.00,3776.00,3775.00,3775.00,337,0
+2006-02-17,14:38:00,3776.00,3777.00,3776.00,3777.00,686,0
+2006-02-17,14:39:00,3776.00,3777.00,3776.00,3776.00,216,0
+2006-02-17,14:40:00,3777.00,3777.00,3776.00,3776.00,564,0
+2006-02-17,14:41:00,3776.00,3776.00,3775.00,3776.00,483,0
+2006-02-17,14:42:00,3775.00,3776.00,3775.00,3776.00,288,0
+2006-02-17,14:43:00,3775.00,3775.00,3775.00,3775.00,1,0
+2006-02-17,14:44:00,3776.00,3776.00,3775.00,3775.00,83,0
+2006-02-17,14:45:00,3776.00,3776.00,3775.00,3775.00,127,0
+2006-02-17,14:46:00,3775.00,3776.00,3774.00,3774.00,354,0
+2006-02-17,14:47:00,3774.00,3776.00,3774.00,3776.00,555,0
+2006-02-17,14:48:00,3775.00,3776.00,3775.00,3775.00,159,0
+2006-02-17,14:49:00,3775.00,3776.00,3775.00,3776.00,259,0
+2006-02-17,14:50:00,3776.00,3776.00,3775.00,3775.00,357,0
+2006-02-17,14:51:00,3775.00,3776.00,3775.00,3776.00,172,0
+2006-02-17,14:52:00,3775.00,3775.00,3773.00,3774.00,1560,0
+2006-02-17,14:53:00,3773.00,3774.00,3773.00,3774.00,80,0
+2006-02-17,14:54:00,3773.00,3775.00,3773.00,3775.00,451,0
+2006-02-17,14:55:00,3774.00,3775.00,3774.00,3774.00,202,0
+2006-02-17,14:56:00,3774.00,3775.00,3774.00,3775.00,140,0
+2006-02-17,14:57:00,3775.00,3775.00,3775.00,3775.00,34,0
+2006-02-17,14:58:00,3775.00,3776.00,3774.00,3776.00,473,0
+2006-02-17,14:59:00,3776.00,3777.00,3775.00,3777.00,760,0
+2006-02-17,15:00:00,3777.00,3778.00,3777.00,3778.00,3083,0
+2006-02-17,15:01:00,3777.00,3778.00,3777.00,3777.00,738,0
+2006-02-17,15:02:00,3777.00,3778.00,3776.00,3776.00,225,0
+2006-02-17,15:03:00,3776.00,3776.00,3776.00,3776.00,24,0
+2006-02-17,15:04:00,3776.00,3777.00,3776.00,3776.00,77,0
+2006-02-17,15:05:00,3777.00,3777.00,3776.00,3777.00,706,0
+2006-02-17,15:06:00,3777.00,3777.00,3777.00,3777.00,744,0
+2006-02-17,15:07:00,3777.00,3778.00,3777.00,3777.00,400,0
+2006-02-17,15:08:00,3777.00,3777.00,3776.00,3777.00,142,0
+2006-02-17,15:09:00,3777.00,3777.00,3776.00,3776.00,136,0
+2006-02-17,15:10:00,3777.00,3777.00,3777.00,3777.00,8,0
+2006-02-17,15:11:00,3777.00,3777.00,3776.00,3777.00,71,0
+2006-02-17,15:12:00,3777.00,3778.00,3777.00,3777.00,155,0
+2006-02-17,15:13:00,3778.00,3778.00,3777.00,3777.00,534,0
+2006-02-17,15:14:00,3777.00,3777.00,3776.00,3776.00,347,0
+2006-02-17,15:15:00,3776.00,3776.00,3776.00,3776.00,77,0
+2006-02-17,15:16:00,3776.00,3776.00,3775.00,3775.00,430,0
+2006-02-17,15:17:00,3775.00,3776.00,3775.00,3775.00,91,0
+2006-02-17,15:18:00,3775.00,3776.00,3775.00,3776.00,477,0
+2006-02-17,15:19:00,3777.00,3777.00,3776.00,3776.00,101,0
+2006-02-17,15:20:00,3777.00,3777.00,3776.00,3777.00,4,0
+2006-02-17,15:21:00,3776.00,3776.00,3776.00,3776.00,11,0
+2006-02-17,15:22:00,3776.00,3777.00,3776.00,3777.00,82,0
+2006-02-17,15:23:00,3777.00,3777.00,3776.00,3777.00,355,0
+2006-02-17,15:24:00,3778.00,3778.00,3777.00,3778.00,120,0
+2006-02-17,15:25:00,3777.00,3777.00,3777.00,3777.00,314,0
+2006-02-17,15:26:00,3777.00,3777.00,3776.00,3776.00,122,0
+2006-02-17,15:27:00,3777.00,3777.00,3777.00,3777.00,319,0
+2006-02-17,15:28:00,3777.00,3777.00,3776.00,3777.00,436,0
+2006-02-17,15:29:00,3777.00,3778.00,3777.00,3778.00,756,0
+2006-02-17,15:30:00,3778.00,3779.00,3777.00,3778.00,399,0
+2006-02-17,15:31:00,3778.00,3778.00,3777.00,3777.00,406,0
+2006-02-17,15:32:00,3777.00,3778.00,3776.00,3778.00,856,0
+2006-02-17,15:33:00,3777.00,3778.00,3776.00,3776.00,825,0
+2006-02-17,15:34:00,3777.00,3777.00,3773.00,3773.00,1787,0
+2006-02-17,15:35:00,3773.00,3774.00,3773.00,3774.00,764,0
+2006-02-17,15:36:00,3774.00,3775.00,3773.00,3773.00,724,0
+2006-02-17,15:37:00,3774.00,3775.00,3773.00,3775.00,1142,0
+2006-02-17,15:38:00,3774.00,3775.00,3774.00,3774.00,464,0
+2006-02-17,15:39:00,3774.00,3774.00,3773.00,3774.00,147,0
+2006-02-17,15:40:00,3774.00,3774.00,3773.00,3773.00,627,0
+2006-02-17,15:41:00,3773.00,3776.00,3773.00,3775.00,787,0
+2006-02-17,15:42:00,3776.00,3777.00,3775.00,3776.00,415,0
+2006-02-17,15:43:00,3777.00,3777.00,3776.00,3777.00,324,0
+2006-02-17,15:44:00,3776.00,3778.00,3776.00,3776.00,541,0
+2006-02-17,15:45:00,3776.00,3777.00,3776.00,3776.00,517,0
+2006-02-17,15:46:00,3777.00,3778.00,3776.00,3777.00,308,0
+2006-02-17,15:47:00,3777.00,3778.00,3773.00,3773.00,3703,0
+2006-02-17,15:48:00,3774.00,3774.00,3771.00,3772.00,4676,0
+2006-02-17,15:49:00,3773.00,3773.00,3771.00,3773.00,2597,0
+2006-02-17,15:50:00,3773.00,3774.00,3772.00,3774.00,1714,0
+2006-02-17,15:51:00,3773.00,3774.00,3772.00,3773.00,1639,0
+2006-02-17,15:52:00,3773.00,3773.00,3772.00,3773.00,847,0
+2006-02-17,15:53:00,3773.00,3775.00,3773.00,3773.00,964,0
+2006-02-17,15:54:00,3773.00,3774.00,3770.00,3771.00,2909,0
+2006-02-17,15:55:00,3771.00,3771.00,3769.00,3770.00,2468,0
+2006-02-17,15:56:00,3769.00,3771.00,3768.00,3769.00,1484,0
+2006-02-17,15:57:00,3768.00,3769.00,3767.00,3767.00,1971,0
+2006-02-17,15:58:00,3767.00,3771.00,3767.00,3770.00,3277,0
+2006-02-17,15:59:00,3770.00,3772.00,3770.00,3771.00,1618,0
+2006-02-17,16:00:00,3770.00,3772.00,3770.00,3772.00,1948,0
+2006-02-17,16:01:00,3772.00,3773.00,3771.00,3773.00,1513,0
+2006-02-17,16:02:00,3773.00,3773.00,3771.00,3771.00,659,0
+2006-02-17,16:03:00,3771.00,3771.00,3770.00,3771.00,920,0
+2006-02-17,16:04:00,3771.00,3773.00,3770.00,3772.00,587,0
+2006-02-17,16:05:00,3773.00,3773.00,3771.00,3772.00,385,0
+2006-02-17,16:06:00,3772.00,3773.00,3771.00,3771.00,551,0
+2006-02-17,16:07:00,3772.00,3772.00,3768.00,3770.00,1774,0
+2006-02-17,16:08:00,3770.00,3770.00,3768.00,3769.00,2549,0
+2006-02-17,16:09:00,3769.00,3770.00,3767.00,3767.00,2221,0
+2006-02-17,16:10:00,3768.00,3768.00,3766.00,3767.00,2062,0
+2006-02-17,16:11:00,3767.00,3768.00,3764.00,3765.00,3447,0
+2006-02-17,16:12:00,3765.00,3765.00,3763.00,3765.00,2793,0
+2006-02-17,16:13:00,3765.00,3766.00,3763.00,3764.00,3153,0
+2006-02-17,16:14:00,3763.00,3766.00,3763.00,3765.00,1273,0
+2006-02-17,16:15:00,3764.00,3766.00,3764.00,3765.00,1039,0
+2006-02-17,16:16:00,3765.00,3767.00,3764.00,3765.00,1108,0
+2006-02-17,16:17:00,3765.00,3767.00,3765.00,3767.00,1124,0
+2006-02-17,16:18:00,3767.00,3770.00,3767.00,3769.00,2604,0
+2006-02-17,16:19:00,3768.00,3769.00,3768.00,3768.00,1288,0
+2006-02-17,16:20:00,3769.00,3769.00,3766.00,3766.00,1008,0
+2006-02-17,16:21:00,3766.00,3767.00,3765.00,3766.00,1326,0
+2006-02-17,16:22:00,3765.00,3766.00,3764.00,3765.00,1567,0
+2006-02-17,16:23:00,3765.00,3765.00,3763.00,3765.00,1863,0
+2006-02-17,16:24:00,3765.00,3765.00,3762.00,3764.00,1385,0
+2006-02-17,16:25:00,3765.00,3766.00,3764.00,3765.00,653,0
+2006-02-17,16:26:00,3766.00,3767.00,3765.00,3766.00,521,0
+2006-02-17,16:27:00,3765.00,3766.00,3764.00,3764.00,670,0
+2006-02-17,16:28:00,3764.00,3767.00,3764.00,3766.00,824,0
+2006-02-17,16:29:00,3767.00,3767.00,3764.00,3764.00,2116,0
+2006-02-17,16:30:00,3764.00,3765.00,3764.00,3765.00,531,0
+2006-02-17,16:31:00,3766.00,3767.00,3765.00,3766.00,1046,0
+2006-02-17,16:32:00,3765.00,3767.00,3765.00,3767.00,865,0
+2006-02-17,16:33:00,3767.00,3768.00,3766.00,3768.00,1096,0
+2006-02-17,16:34:00,3768.00,3773.00,3768.00,3772.00,4078,0
+2006-02-17,16:35:00,3772.00,3773.00,3770.00,3771.00,1639,0
+2006-02-17,16:36:00,3770.00,3771.00,3770.00,3770.00,749,0
+2006-02-17,16:37:00,3770.00,3771.00,3770.00,3770.00,737,0
+2006-02-17,16:38:00,3771.00,3771.00,3770.00,3770.00,306,0
+2006-02-17,16:39:00,3770.00,3771.00,3769.00,3770.00,1626,0
+2006-02-17,16:40:00,3771.00,3771.00,3768.00,3769.00,1215,0
+2006-02-17,16:41:00,3769.00,3769.00,3768.00,3769.00,234,0
+2006-02-17,16:42:00,3770.00,3770.00,3769.00,3769.00,187,0
+2006-02-17,16:43:00,3769.00,3770.00,3769.00,3770.00,389,0
+2006-02-17,16:44:00,3770.00,3770.00,3769.00,3770.00,476,0
+2006-02-17,16:45:00,3770.00,3771.00,3770.00,3770.00,123,0
+2006-02-17,16:46:00,3770.00,3771.00,3770.00,3771.00,357,0
+2006-02-17,16:47:00,3770.00,3770.00,3769.00,3770.00,829,0
+2006-02-17,16:48:00,3769.00,3770.00,3769.00,3769.00,14,0
+2006-02-17,16:49:00,3769.00,3771.00,3769.00,3770.00,750,0
+2006-02-17,16:50:00,3769.00,3774.00,3769.00,3773.00,1156,0
+2006-02-17,16:51:00,3773.00,3775.00,3772.00,3774.00,2288,0
+2006-02-17,16:52:00,3774.00,3776.00,3774.00,3774.00,1551,0
+2006-02-17,16:53:00,3774.00,3775.00,3774.00,3774.00,285,0
+2006-02-17,16:54:00,3774.00,3774.00,3773.00,3773.00,1109,0
+2006-02-17,16:55:00,3773.00,3774.00,3771.00,3771.00,1496,0
+2006-02-17,16:56:00,3772.00,3772.00,3771.00,3772.00,118,0
+2006-02-17,16:57:00,3772.00,3772.00,3771.00,3771.00,131,0
+2006-02-17,16:58:00,3772.00,3773.00,3771.00,3772.00,504,0
+2006-02-17,16:59:00,3772.00,3772.00,3770.00,3771.00,2320,0
+2006-02-17,17:00:00,3771.00,3772.00,3770.00,3770.00,1089,0
+2006-02-17,17:01:00,3770.00,3771.00,3770.00,3770.00,178,0
+2006-02-17,17:02:00,3770.00,3770.00,3768.00,3768.00,1984,0
+2006-02-17,17:03:00,3768.00,3768.00,3766.00,3767.00,2018,0
+2006-02-17,17:04:00,3767.00,3768.00,3765.00,3767.00,1451,0
+2006-02-17,17:05:00,3767.00,3768.00,3766.00,3767.00,1592,0
+2006-02-17,17:06:00,3768.00,3768.00,3767.00,3768.00,1180,0
+2006-02-17,17:07:00,3768.00,3769.00,3768.00,3769.00,1138,0
+2006-02-17,17:08:00,3769.00,3770.00,3768.00,3768.00,758,0
+2006-02-17,17:09:00,3768.00,3768.00,3767.00,3768.00,667,0
+2006-02-17,17:10:00,3768.00,3770.00,3768.00,3768.00,1067,0
+2006-02-17,17:11:00,3769.00,3770.00,3768.00,3769.00,1093,0
+2006-02-17,17:12:00,3770.00,3770.00,3769.00,3770.00,506,0
+2006-02-17,17:13:00,3769.00,3773.00,3769.00,3772.00,1919,0
+2006-02-17,17:14:00,3772.00,3773.00,3771.00,3772.00,513,0
+2006-02-17,17:15:00,3772.00,3774.00,3771.00,3774.00,1757,0
+2006-02-17,17:16:00,3774.00,3776.00,3773.00,3775.00,2685,0
+2006-02-17,17:17:00,3776.00,3778.00,3775.00,3776.00,3059,0
+2006-02-17,17:18:00,3776.00,3777.00,3775.00,3775.00,1526,0
+2006-02-17,17:19:00,3775.00,3776.00,3774.00,3774.00,1560,0
+2006-02-17,17:20:00,3774.00,3775.00,3774.00,3774.00,1294,0
+2006-02-17,17:21:00,3774.00,3775.00,3773.00,3774.00,1297,0
+2006-02-17,17:22:00,3774.00,3774.00,3773.00,3773.00,480,0
+2006-02-17,17:23:00,3774.00,3775.00,3773.00,3774.00,1225,0
+2006-02-17,17:24:00,3774.00,3774.00,3772.00,3773.00,1384,0
+2006-02-17,17:25:00,3772.00,3772.00,3771.00,3772.00,1953,0
+2006-02-17,17:26:00,3771.00,3772.00,3770.00,3772.00,1584,0
+2006-02-17,17:27:00,3771.00,3772.00,3770.00,3771.00,658,0
+2006-02-17,17:28:00,3771.00,3771.00,3770.00,3771.00,1366,0
+2006-02-17,17:29:00,3771.00,3772.00,3770.00,3771.00,1618,0
+2006-02-17,17:30:00,3770.00,3772.00,3770.00,3772.00,2437,0
+2006-02-17,17:31:00,3772.00,3775.00,3771.00,3775.00,3056,0
+2006-02-17,17:32:00,3775.00,3775.00,3773.00,3773.00,650,0
+2006-02-17,17:33:00,3773.00,3774.00,3773.00,3773.00,1283,0
+2006-02-17,17:34:00,3773.00,3774.00,3773.00,3773.00,581,0
+2006-02-17,17:35:00,3773.00,3774.00,3771.00,3772.00,1912,0
+2006-02-17,17:36:00,3772.00,3773.00,3772.00,3773.00,2308,0
+2006-02-17,17:37:00,3773.00,3773.00,3772.00,3772.00,1461,0
+2006-02-17,17:38:00,3772.00,3772.00,3771.00,3772.00,436,0
+2006-02-17,17:39:00,3772.00,3773.00,3772.00,3773.00,1030,0
+2006-02-17,17:40:00,3773.00,3773.00,3773.00,3773.00,406,0
+2006-02-17,17:41:00,3772.00,3773.00,3772.00,3773.00,389,0
+2006-02-17,17:42:00,3773.00,3773.00,3772.00,3772.00,86,0
+2006-02-17,17:43:00,3773.00,3773.00,3772.00,3772.00,416,0
+2006-02-17,17:44:00,3772.00,3773.00,3772.00,3773.00,141,0
+2006-02-17,17:45:00,3773.00,3773.00,3772.00,3773.00,61,0
+2006-02-17,17:46:00,3773.00,3773.00,3772.00,3773.00,285,0
+2006-02-17,17:47:00,3772.00,3773.00,3772.00,3773.00,383,0
+2006-02-17,17:48:00,3772.00,3773.00,3772.00,3772.00,148,0
+2006-02-17,17:49:00,3773.00,3774.00,3773.00,3774.00,472,0
+2006-02-17,17:50:00,3773.00,3775.00,3773.00,3774.00,1540,0
+2006-02-17,17:51:00,3773.00,3775.00,3773.00,3774.00,1720,0
+2006-02-17,17:52:00,3774.00,3775.00,3774.00,3774.00,569,0
+2006-02-17,17:53:00,3775.00,3776.00,3775.00,3776.00,740,0
+2006-02-17,17:54:00,3776.00,3776.00,3775.00,3775.00,112,0
+2006-02-17,17:55:00,3775.00,3776.00,3775.00,3775.00,434,0
+2006-02-17,17:56:00,3775.00,3776.00,3775.00,3775.00,209,0
+2006-02-17,17:57:00,3775.00,3775.00,3775.00,3775.00,108,0
+2006-02-17,17:58:00,3775.00,3776.00,3774.00,3775.00,558,0
+2006-02-17,17:59:00,3775.00,3775.00,3774.00,3774.00,121,0
+2006-02-17,18:00:00,3774.00,3775.00,3774.00,3775.00,140,0
+2006-02-17,18:01:00,3775.00,3775.00,3775.00,3775.00,248,0
+2006-02-17,18:02:00,3775.00,3775.00,3775.00,3775.00,53,0
+2006-02-17,18:03:00,3775.00,3776.00,3775.00,3775.00,329,0
+2006-02-17,18:04:00,3775.00,3775.00,3775.00,3775.00,179,0
+2006-02-17,18:05:00,3775.00,3776.00,3775.00,3776.00,705,0
+2006-02-17,18:06:00,3776.00,3776.00,3776.00,3776.00,26,0
+2006-02-17,18:07:00,3775.00,3775.00,3775.00,3775.00,180,0
+2006-02-17,18:08:00,3775.00,3776.00,3774.00,3776.00,182,0
+2006-02-17,18:09:00,3776.00,3776.00,3774.00,3775.00,193,0
+2006-02-17,18:10:00,3776.00,3776.00,3775.00,3776.00,291,0
+2006-02-17,18:11:00,3776.00,3780.00,3776.00,3779.00,2369,0
+2006-02-17,18:12:00,3780.00,3780.00,3779.00,3780.00,506,0
+2006-02-17,18:13:00,3779.00,3780.00,3777.00,3777.00,663,0
+2006-02-17,18:14:00,3777.00,3778.00,3777.00,3778.00,556,0
+2006-02-17,18:15:00,3777.00,3778.00,3777.00,3778.00,130,0
+2006-02-17,18:16:00,3778.00,3780.00,3778.00,3779.00,354,0
+2006-02-17,18:17:00,3779.00,3779.00,3778.00,3778.00,354,0
+2006-02-17,18:18:00,3779.00,3779.00,3778.00,3779.00,411,0
+2006-02-17,18:19:00,3779.00,3779.00,3779.00,3779.00,203,0
+2006-02-17,18:20:00,3779.00,3779.00,3778.00,3779.00,264,0
+2006-02-17,18:21:00,3779.00,3779.00,3778.00,3779.00,110,0
+2006-02-17,18:22:00,3778.00,3779.00,3778.00,3778.00,267,0
+2006-02-17,18:23:00,3778.00,3778.00,3778.00,3778.00,82,0
+2006-02-17,18:24:00,3778.00,3779.00,3778.00,3778.00,162,0
+2006-02-17,18:25:00,3779.00,3780.00,3779.00,3780.00,462,0
+2006-02-17,18:26:00,3780.00,3781.00,3779.00,3779.00,1044,0
+2006-02-17,18:27:00,3779.00,3779.00,3778.00,3778.00,52,0
+2006-02-17,18:28:00,3778.00,3779.00,3778.00,3778.00,160,0
+2006-02-17,18:29:00,3778.00,3778.00,3778.00,3778.00,20,0
+2006-02-17,18:30:00,3778.00,3778.00,3776.00,3776.00,737,0
+2006-02-17,18:31:00,3776.00,3777.00,3776.00,3776.00,344,0
+2006-02-17,18:32:00,3776.00,3777.00,3776.00,3776.00,135,0
+2006-02-17,18:33:00,3776.00,3776.00,3775.00,3775.00,198,0
+2006-02-17,18:34:00,3775.00,3776.00,3775.00,3776.00,115,0
+2006-02-17,18:35:00,3777.00,3777.00,3776.00,3776.00,108,0
+2006-02-17,18:36:00,3776.00,3776.00,3774.00,3774.00,336,0
+2006-02-17,18:37:00,3775.00,3775.00,3774.00,3775.00,481,0
+2006-02-17,18:38:00,3774.00,3774.00,3774.00,3774.00,9,0
+2006-02-17,18:39:00,3774.00,3774.00,3774.00,3774.00,110,0
+2006-02-17,18:40:00,3774.00,3774.00,3774.00,3774.00,261,0
+2006-02-17,18:41:00,3774.00,3774.00,3774.00,3774.00,41,0
+2006-02-17,18:42:00,3774.00,3774.00,3774.00,3774.00,20,0
+2006-02-17,18:43:00,3774.00,3775.00,3774.00,3775.00,376,0
+2006-02-17,18:44:00,3775.00,3776.00,3773.00,3774.00,441,0
+2006-02-17,18:45:00,3774.00,3775.00,3774.00,3775.00,72,0
+2006-02-17,18:47:00,3775.00,3775.00,3774.00,3775.00,45,0
+2006-02-17,18:48:00,3774.00,3775.00,3774.00,3775.00,192,0
+2006-02-17,18:49:00,3775.00,3776.00,3775.00,3776.00,105,0
+2006-02-17,18:50:00,3776.00,3777.00,3776.00,3777.00,129,0
+2006-02-17,18:51:00,3776.00,3776.00,3775.00,3776.00,184,0
+2006-02-17,18:52:00,3776.00,3776.00,3774.00,3775.00,328,0
+2006-02-17,18:53:00,3775.00,3775.00,3775.00,3775.00,9,0
+2006-02-17,18:54:00,3774.00,3774.00,3774.00,3774.00,97,0
+2006-02-17,18:55:00,3774.00,3774.00,3774.00,3774.00,201,0
+2006-02-17,18:56:00,3774.00,3774.00,3774.00,3774.00,381,0
+2006-02-17,18:57:00,3774.00,3775.00,3774.00,3775.00,177,0
+2006-02-17,18:58:00,3775.00,3777.00,3775.00,3777.00,260,0
+2006-02-17,18:59:00,3776.00,3778.00,3776.00,3777.00,118,0
+2006-02-17,19:00:00,3777.00,3778.00,3777.00,3778.00,36,0
+2006-02-17,19:01:00,3778.00,3779.00,3778.00,3779.00,222,0
+2006-02-17,19:02:00,3779.00,3779.00,3778.00,3779.00,74,0
+2006-02-17,19:03:00,3779.00,3779.00,3779.00,3779.00,85,0
+2006-02-17,19:04:00,3779.00,3779.00,3779.00,3779.00,115,0
+2006-02-17,19:05:00,3779.00,3779.00,3779.00,3779.00,22,0
+2006-02-17,19:06:00,3779.00,3781.00,3779.00,3780.00,582,0
+2006-02-17,19:07:00,3779.00,3779.00,3779.00,3779.00,21,0
+2006-02-17,19:08:00,3779.00,3779.00,3779.00,3779.00,7,0
+2006-02-17,19:09:00,3779.00,3780.00,3779.00,3780.00,399,0
+2006-02-17,19:10:00,3780.00,3780.00,3779.00,3780.00,189,0
+2006-02-17,19:11:00,3779.00,3779.00,3779.00,3779.00,12,0
+2006-02-17,19:12:00,3779.00,3779.00,3779.00,3779.00,4,0
+2006-02-17,19:13:00,3779.00,3781.00,3779.00,3781.00,525,0
+2006-02-17,19:14:00,3780.00,3780.00,3780.00,3780.00,21,0
+2006-02-17,19:15:00,3780.00,3780.00,3780.00,3780.00,33,0
+2006-02-17,19:16:00,3781.00,3781.00,3781.00,3781.00,297,0
+2006-02-17,19:17:00,3780.00,3781.00,3780.00,3781.00,398,0
+2006-02-17,19:18:00,3780.00,3780.00,3780.00,3780.00,5,0
+2006-02-17,19:19:00,3781.00,3781.00,3780.00,3780.00,87,0
+2006-02-17,19:20:00,3779.00,3779.00,3779.00,3779.00,5,0
+2006-02-17,19:21:00,3779.00,3779.00,3779.00,3779.00,41,0
+2006-02-17,19:22:00,3778.00,3778.00,3777.00,3777.00,95,0
+2006-02-17,19:23:00,3777.00,3777.00,3777.00,3777.00,134,0
+2006-02-17,19:24:00,3778.00,3778.00,3778.00,3778.00,168,0
+2006-02-17,19:25:00,3778.00,3779.00,3778.00,3779.00,49,0
+2006-02-17,19:27:00,3778.00,3778.00,3778.00,3778.00,73,0
+2006-02-17,19:28:00,3778.00,3778.00,3777.00,3778.00,61,0
+2006-02-17,19:29:00,3777.00,3778.00,3777.00,3778.00,43,0
+2006-02-17,19:31:00,3777.00,3777.00,3777.00,3777.00,53,0
+2006-02-17,19:32:00,3776.00,3776.00,3776.00,3776.00,36,0
+2006-02-17,19:33:00,3777.00,3777.00,3777.00,3777.00,36,0
+2006-02-17,19:34:00,3776.00,3777.00,3776.00,3777.00,55,0
+2006-02-17,19:35:00,3777.00,3777.00,3776.00,3776.00,167,0
+2006-02-17,19:36:00,3776.00,3777.00,3776.00,3777.00,81,0
+2006-02-17,19:37:00,3776.00,3776.00,3776.00,3776.00,25,0
+2006-02-17,19:39:00,3777.00,3777.00,3777.00,3777.00,50,0
+2006-02-17,19:40:00,3778.00,3779.00,3778.00,3779.00,168,0
+2006-02-17,19:41:00,3779.00,3780.00,3779.00,3779.00,60,0
+2006-02-17,19:42:00,3780.00,3781.00,3780.00,3781.00,109,0
+2006-02-17,19:43:00,3780.00,3780.00,3780.00,3780.00,168,0
+2006-02-17,19:44:00,3779.00,3779.00,3779.00,3779.00,3,0
+2006-02-17,19:45:00,3779.00,3779.00,3779.00,3779.00,1,0
+2006-02-17,19:46:00,3779.00,3780.00,3779.00,3780.00,27,0
+2006-02-17,19:47:00,3779.00,3780.00,3779.00,3779.00,48,0
+2006-02-17,19:48:00,3780.00,3780.00,3780.00,3780.00,20,0
+2006-02-17,19:49:00,3780.00,3780.00,3780.00,3780.00,16,0
+2006-02-17,19:50:00,3780.00,3780.00,3780.00,3780.00,1,0
+2006-02-17,19:52:00,3781.00,3782.00,3781.00,3781.00,227,0
+2006-02-17,19:53:00,3781.00,3781.00,3781.00,3781.00,116,0
+2006-02-17,19:54:00,3780.00,3780.00,3779.00,3780.00,175,0
+2006-02-17,19:55:00,3780.00,3780.00,3779.00,3780.00,325,0
+2006-02-17,19:56:00,3780.00,3780.00,3778.00,3779.00,140,0
+2006-02-17,19:57:00,3779.00,3779.00,3779.00,3779.00,22,0
+2006-02-17,19:58:00,3779.00,3780.00,3779.00,3779.00,42,0
+2006-02-17,19:59:00,3779.00,3779.00,3779.00,3779.00,19,0
+2006-02-17,20:00:00,3779.00,3779.00,3779.00,3779.00,11,0
+2006-02-17,20:02:00,3779.00,3779.00,3779.00,3779.00,15,0
+2006-02-17,20:03:00,3779.00,3779.00,3779.00,3779.00,15,0
+2006-02-17,20:05:00,3779.00,3779.00,3779.00,3779.00,20,0
+2006-02-17,20:06:00,3779.00,3780.00,3779.00,3780.00,6,0
+2006-02-17,20:07:00,3779.00,3780.00,3779.00,3779.00,41,0
+2006-02-17,20:08:00,3779.00,3779.00,3779.00,3779.00,12,0
+2006-02-17,20:11:00,3779.00,3779.00,3778.00,3779.00,115,0
+2006-02-17,20:16:00,3779.00,3779.00,3779.00,3779.00,3,0
+2006-02-17,20:17:00,3779.00,3779.00,3779.00,3779.00,1,0
+2006-02-17,20:18:00,3779.00,3779.00,3778.00,3778.00,50,0
+2006-02-17,20:19:00,3777.00,3777.00,3777.00,3777.00,3,0
+2006-02-17,20:20:00,3777.00,3777.00,3777.00,3777.00,8,0
+2006-02-17,20:21:00,3777.00,3777.00,3777.00,3777.00,25,0
+2006-02-17,20:22:00,3777.00,3777.00,3777.00,3777.00,7,0
+2006-02-17,20:23:00,3777.00,3777.00,3777.00,3777.00,10,0
+2006-02-17,20:24:00,3777.00,3777.00,3777.00,3777.00,1,0
+2006-02-17,20:25:00,3777.00,3778.00,3777.00,3778.00,61,0
+2006-02-17,20:26:00,3778.00,3778.00,3777.00,3777.00,11,0
+2006-02-17,20:27:00,3777.00,3777.00,3777.00,3777.00,1,0
+2006-02-17,20:28:00,3778.00,3778.00,3778.00,3778.00,6,0
+2006-02-17,20:29:00,3779.00,3779.00,3779.00,3779.00,7,0
+2006-02-17,20:30:00,3780.00,3780.00,3779.00,3779.00,16,0
+2006-02-17,20:31:00,3779.00,3779.00,3779.00,3779.00,20,0
+2006-02-17,20:32:00,3779.00,3779.00,3779.00,3779.00,8,0
+2006-02-17,20:33:00,3779.00,3779.00,3779.00,3779.00,1,0
+2006-02-17,20:36:00,3779.00,3779.00,3779.00,3779.00,4,0
+2006-02-17,20:37:00,3779.00,3779.00,3779.00,3779.00,4,0
+2006-02-17,20:40:00,3779.00,3779.00,3779.00,3779.00,30,0
+2006-02-17,20:41:00,3778.00,3778.00,3778.00,3778.00,36,0
+2006-02-17,20:42:00,3778.00,3780.00,3778.00,3779.00,44,0
+2006-02-17,20:44:00,3779.00,3780.00,3779.00,3780.00,127,0
+2006-02-17,20:46:00,3780.00,3780.00,3780.00,3780.00,13,0
+2006-02-17,20:51:00,3780.00,3780.00,3780.00,3780.00,8,0
+2006-02-17,20:53:00,3780.00,3780.00,3780.00,3780.00,58,0
+2006-02-17,20:55:00,3780.00,3780.00,3779.00,3779.00,53,0
+2006-02-17,20:56:00,3780.00,3781.00,3780.00,3781.00,14,0
+2006-02-17,20:57:00,3780.00,3780.00,3780.00,3780.00,10,0
+2006-02-17,20:58:00,3780.00,3780.00,3780.00,3780.00,51,0
+2006-02-17,20:59:00,3781.00,3781.00,3780.00,3780.00,5,0
+2006-02-17,21:00:00,3780.00,3780.00,3779.00,3779.00,38,0
+2006-02-17,21:01:00,3779.00,3780.00,3779.00,3780.00,4,0
+2006-02-17,21:02:00,3779.00,3779.00,3779.00,3779.00,1,0
+2006-02-17,21:04:00,3780.00,3780.00,3780.00,3780.00,3,0
+2006-02-17,21:06:00,3779.00,3779.00,3779.00,3779.00,11,0
+2006-02-17,21:11:00,3779.00,3779.00,3778.00,3778.00,36,0
+2006-02-17,21:12:00,3779.00,3779.00,3778.00,3778.00,5,0
+2006-02-17,21:13:00,3778.00,3779.00,3778.00,3778.00,12,0
+2006-02-17,21:14:00,3777.00,3777.00,3777.00,3777.00,104,0
+2006-02-17,21:15:00,3777.00,3777.00,3777.00,3777.00,24,0
+2006-02-17,21:16:00,3776.00,3776.00,3775.00,3775.00,206,0
+2006-02-17,21:17:00,3775.00,3776.00,3775.00,3776.00,67,0
+2006-02-17,21:18:00,3777.00,3778.00,3777.00,3778.00,61,0
+2006-02-17,21:19:00,3777.00,3777.00,3775.00,3775.00,109,0
+2006-02-17,21:20:00,3775.00,3775.00,3775.00,3775.00,6,0
+2006-02-17,21:21:00,3775.00,3776.00,3775.00,3776.00,12,0
+2006-02-17,21:22:00,3775.00,3776.00,3775.00,3775.00,10,0
+2006-02-17,21:23:00,3775.00,3775.00,3775.00,3775.00,116,0
+2006-02-17,21:24:00,3775.00,3775.00,3775.00,3775.00,4,0
+2006-02-17,21:25:00,3775.00,3776.00,3775.00,3776.00,45,0
+2006-02-17,21:26:00,3776.00,3777.00,3776.00,3777.00,43,0
+2006-02-17,21:28:00,3777.00,3777.00,3777.00,3777.00,4,0
+2006-02-17,21:29:00,3776.00,3776.00,3776.00,3776.00,55,0
+2006-02-17,21:30:00,3776.00,3776.00,3776.00,3776.00,4,0
+2006-02-17,21:31:00,3776.00,3776.00,3775.00,3776.00,9,0
+2006-02-17,21:32:00,3776.00,3776.00,3776.00,3776.00,10,0
+2006-02-17,21:33:00,3776.00,3777.00,3776.00,3777.00,20,0
+2006-02-17,21:34:00,3776.00,3777.00,3775.00,3775.00,63,0
+2006-02-17,21:35:00,3776.00,3776.00,3776.00,3776.00,1,0
+2006-02-17,21:36:00,3775.00,3775.00,3775.00,3775.00,30,0
+2006-02-17,21:37:00,3776.00,3776.00,3775.00,3776.00,4,0
+2006-02-17,21:38:00,3775.00,3775.00,3775.00,3775.00,10,0
+2006-02-17,21:39:00,3775.00,3776.00,3775.00,3776.00,31,0
+2006-02-17,21:40:00,3776.00,3776.00,3776.00,3776.00,51,0
+2006-02-17,21:41:00,3777.00,3777.00,3777.00,3777.00,2,0
+2006-02-17,21:42:00,3777.00,3777.00,3776.00,3777.00,4,0
+2006-02-17,21:43:00,3777.00,3777.00,3777.00,3777.00,2,0
+2006-02-17,21:44:00,3777.00,3777.00,3777.00,3777.00,8,0
+2006-02-17,21:45:00,3777.00,3777.00,3777.00,3777.00,7,0
+2006-02-17,21:46:00,3777.00,3777.00,3777.00,3777.00,15,0
+2006-02-17,21:47:00,3777.00,3778.00,3777.00,3778.00,15,0
+2006-02-17,21:48:00,3777.00,3778.00,3777.00,3777.00,13,0
+2006-02-17,21:49:00,3778.00,3778.00,3778.00,3778.00,21,0
+2006-02-17,21:50:00,3778.00,3778.00,3777.00,3777.00,11,0
+2006-02-17,21:51:00,3778.00,3778.00,3777.00,3777.00,42,0
+2006-02-17,21:52:00,3778.00,3778.00,3777.00,3778.00,12,0
+2006-02-17,21:53:00,3777.00,3777.00,3776.00,3777.00,211,0
+2006-02-17,21:54:00,3777.00,3777.00,3776.00,3776.00,116,0
+2006-02-17,21:55:00,3777.00,3777.00,3777.00,3777.00,11,0
+2006-02-17,21:56:00,3777.00,3778.00,3777.00,3777.00,308,0
+2006-02-17,21:57:00,3778.00,3779.00,3777.00,3778.00,102,0
+2006-02-17,21:58:00,3778.00,3780.00,3777.00,3780.00,270,0
+2006-02-17,21:59:00,3779.00,3781.00,3779.00,3780.00,487,0
+2006-02-17,22:00:00,3780.00,3781.00,3777.00,3777.00,652,0
+2006-02-20,09:01:00,3769.00,3770.00,3768.00,3768.00,2273,0
+2006-02-20,09:02:00,3767.00,3767.00,3764.00,3764.00,1240,0
+2006-02-20,09:03:00,3764.00,3765.00,3763.00,3763.00,1829,0
+2006-02-20,09:04:00,3764.00,3766.00,3763.00,3764.00,1568,0
+2006-02-20,09:05:00,3765.00,3765.00,3765.00,3765.00,1,0
+2006-02-20,09:06:00,3765.00,3766.00,3765.00,3766.00,116,0
+2006-02-20,09:07:00,3766.00,3768.00,3766.00,3767.00,1046,0
+2006-02-20,09:08:00,3769.00,3770.00,3768.00,3769.00,1096,0
+2006-02-20,09:09:00,3768.00,3769.00,3768.00,3768.00,39,0
+2006-02-20,09:10:00,3768.00,3769.00,3765.00,3765.00,841,0
+2006-02-20,09:11:00,3766.00,3766.00,3763.00,3764.00,1020,0
+2006-02-20,09:12:00,3764.00,3765.00,3764.00,3764.00,155,0
+2006-02-20,09:13:00,3765.00,3765.00,3763.00,3765.00,319,0
+2006-02-20,09:14:00,3764.00,3765.00,3764.00,3764.00,167,0
+2006-02-20,09:15:00,3764.00,3768.00,3764.00,3767.00,1823,0
+2006-02-20,09:16:00,3767.00,3767.00,3765.00,3766.00,645,0
+2006-02-20,09:17:00,3765.00,3767.00,3764.00,3767.00,546,0
+2006-02-20,09:18:00,3766.00,3767.00,3766.00,3767.00,295,0
+2006-02-20,09:19:00,3766.00,3766.00,3764.00,3765.00,412,0
+2006-02-20,09:20:00,3765.00,3766.00,3765.00,3766.00,248,0
+2006-02-20,09:21:00,3766.00,3766.00,3765.00,3765.00,225,0
+2006-02-20,09:22:00,3764.00,3765.00,3763.00,3763.00,747,0
+2006-02-20,09:23:00,3763.00,3764.00,3763.00,3763.00,497,0
+2006-02-20,09:24:00,3763.00,3764.00,3763.00,3764.00,442,0
+2006-02-20,09:25:00,3765.00,3765.00,3760.00,3761.00,3712,0
+2006-02-20,09:26:00,3761.00,3762.00,3757.00,3757.00,2349,0
+2006-02-20,09:27:00,3758.00,3759.00,3756.00,3759.00,2427,0
+2006-02-20,09:28:00,3758.00,3759.00,3758.00,3759.00,326,0
+2006-02-20,09:29:00,3759.00,3760.00,3758.00,3760.00,1242,0
+2006-02-20,09:30:00,3760.00,3760.00,3759.00,3760.00,638,0
+2006-02-20,09:31:00,3759.00,3759.00,3758.00,3759.00,638,0
+2006-02-20,09:32:00,3759.00,3759.00,3757.00,3758.00,1405,0
+2006-02-20,09:33:00,3758.00,3759.00,3756.00,3758.00,2313,0
+2006-02-20,09:34:00,3758.00,3759.00,3758.00,3759.00,652,0
+2006-02-20,09:35:00,3759.00,3760.00,3758.00,3759.00,709,0
+2006-02-20,09:36:00,3758.00,3761.00,3756.00,3760.00,3493,0
+2006-02-20,09:37:00,3760.00,3761.00,3759.00,3760.00,487,0
+2006-02-20,09:38:00,3760.00,3761.00,3760.00,3760.00,257,0
+2006-02-20,09:39:00,3761.00,3762.00,3760.00,3761.00,415,0
+2006-02-20,09:40:00,3761.00,3761.00,3760.00,3760.00,643,0
+2006-02-20,09:41:00,3761.00,3761.00,3760.00,3761.00,256,0
+2006-02-20,09:42:00,3761.00,3761.00,3760.00,3761.00,140,0
+2006-02-20,09:43:00,3762.00,3762.00,3762.00,3762.00,356,0
+2006-02-20,09:44:00,3762.00,3763.00,3761.00,3761.00,451,0
+2006-02-20,09:45:00,3761.00,3762.00,3761.00,3762.00,20,0
+2006-02-20,09:46:00,3761.00,3762.00,3761.00,3761.00,32,0
+2006-02-20,09:47:00,3761.00,3761.00,3760.00,3761.00,254,0
+2006-02-20,09:48:00,3761.00,3761.00,3759.00,3759.00,562,0
+2006-02-20,09:49:00,3759.00,3760.00,3758.00,3760.00,199,0
+2006-02-20,09:50:00,3760.00,3760.00,3759.00,3760.00,1116,0
+2006-02-20,09:51:00,3760.00,3762.00,3760.00,3761.00,207,0
+2006-02-20,09:52:00,3761.00,3761.00,3760.00,3761.00,56,0
+2006-02-20,09:53:00,3762.00,3762.00,3761.00,3762.00,184,0
+2006-02-20,09:54:00,3762.00,3762.00,3760.00,3760.00,102,0
+2006-02-20,09:55:00,3761.00,3762.00,3760.00,3762.00,253,0
+2006-02-20,09:56:00,3762.00,3762.00,3762.00,3762.00,250,0
+2006-02-20,09:57:00,3762.00,3762.00,3761.00,3762.00,409,0
+2006-02-20,09:58:00,3762.00,3763.00,3762.00,3762.00,594,0
+2006-02-20,09:59:00,3762.00,3763.00,3762.00,3762.00,35,0
+2006-02-20,10:00:00,3762.00,3762.00,3762.00,3762.00,116,0
+2006-02-20,10:01:00,3763.00,3765.00,3763.00,3765.00,1547,0
+2006-02-20,10:02:00,3764.00,3765.00,3764.00,3765.00,16,0
+2006-02-20,10:03:00,3765.00,3766.00,3764.00,3766.00,1235,0
+2006-02-20,10:04:00,3767.00,3767.00,3765.00,3766.00,436,0
+2006-02-20,10:05:00,3766.00,3767.00,3766.00,3767.00,45,0
+2006-02-20,10:06:00,3767.00,3769.00,3767.00,3768.00,1270,0
+2006-02-20,10:07:00,3767.00,3768.00,3767.00,3768.00,660,0
+2006-02-20,10:08:00,3768.00,3768.00,3767.00,3767.00,353,0
+2006-02-20,10:09:00,3767.00,3769.00,3767.00,3768.00,128,0
+2006-02-20,10:10:00,3768.00,3769.00,3767.00,3767.00,267,0
+2006-02-20,10:11:00,3767.00,3767.00,3767.00,3767.00,54,0
+2006-02-20,10:12:00,3768.00,3768.00,3767.00,3767.00,423,0
+2006-02-20,10:13:00,3767.00,3767.00,3764.00,3764.00,943,0
+2006-02-20,10:14:00,3764.00,3766.00,3764.00,3766.00,370,0
+2006-02-20,10:15:00,3766.00,3767.00,3766.00,3767.00,206,0
+2006-02-20,10:16:00,3766.00,3766.00,3764.00,3764.00,294,0
+2006-02-20,10:17:00,3764.00,3766.00,3764.00,3766.00,304,0
+2006-02-20,10:18:00,3765.00,3765.00,3765.00,3765.00,1,0
+2006-02-20,10:19:00,3765.00,3765.00,3765.00,3765.00,236,0
+2006-02-20,10:20:00,3765.00,3766.00,3765.00,3765.00,190,0
+2006-02-20,10:21:00,3765.00,3766.00,3765.00,3766.00,59,0
+2006-02-20,10:22:00,3766.00,3766.00,3765.00,3766.00,98,0
+2006-02-20,10:23:00,3765.00,3765.00,3764.00,3765.00,39,0
+2006-02-20,10:24:00,3765.00,3765.00,3764.00,3764.00,24,0
+2006-02-20,10:25:00,3765.00,3765.00,3764.00,3765.00,373,0
+2006-02-20,10:26:00,3765.00,3766.00,3764.00,3766.00,312,0
+2006-02-20,10:27:00,3766.00,3766.00,3765.00,3765.00,93,0
+2006-02-20,10:28:00,3765.00,3766.00,3765.00,3766.00,23,0
+2006-02-20,10:29:00,3766.00,3766.00,3765.00,3765.00,29,0
+2006-02-20,10:30:00,3766.00,3766.00,3765.00,3765.00,76,0
+2006-02-20,10:31:00,3766.00,3766.00,3765.00,3765.00,54,0
+2006-02-20,10:32:00,3766.00,3768.00,3766.00,3767.00,268,0
+2006-02-20,10:33:00,3767.00,3768.00,3767.00,3767.00,431,0
+2006-02-20,10:34:00,3768.00,3769.00,3768.00,3768.00,625,0
+2006-02-20,10:35:00,3768.00,3769.00,3768.00,3768.00,559,0
+2006-02-20,10:36:00,3769.00,3769.00,3768.00,3768.00,12,0
+2006-02-20,10:37:00,3768.00,3768.00,3768.00,3768.00,101,0
+2006-02-20,10:38:00,3768.00,3768.00,3767.00,3768.00,183,0
+2006-02-20,10:39:00,3768.00,3769.00,3768.00,3768.00,149,0
+2006-02-20,10:40:00,3769.00,3769.00,3769.00,3769.00,80,0
+2006-02-20,10:41:00,3768.00,3768.00,3768.00,3768.00,2,0
+2006-02-20,10:42:00,3768.00,3768.00,3768.00,3768.00,20,0
+2006-02-20,10:43:00,3769.00,3769.00,3769.00,3769.00,70,0
+2006-02-20,10:44:00,3768.00,3768.00,3768.00,3768.00,60,0
+2006-02-20,10:45:00,3768.00,3768.00,3767.00,3767.00,323,0
+2006-02-20,10:46:00,3768.00,3769.00,3768.00,3768.00,303,0
+2006-02-20,10:47:00,3768.00,3768.00,3767.00,3768.00,186,0
+2006-02-20,10:48:00,3768.00,3768.00,3768.00,3768.00,194,0
+2006-02-20,10:49:00,3768.00,3768.00,3767.00,3767.00,6,0
+2006-02-20,10:50:00,3767.00,3768.00,3766.00,3766.00,375,0
+2006-02-20,10:51:00,3766.00,3768.00,3766.00,3767.00,275,0
+2006-02-20,10:52:00,3767.00,3768.00,3767.00,3767.00,121,0
+2006-02-20,10:53:00,3767.00,3767.00,3766.00,3766.00,345,0
+2006-02-20,10:54:00,3766.00,3767.00,3766.00,3767.00,179,0
+2006-02-20,10:55:00,3768.00,3768.00,3767.00,3767.00,332,0
+2006-02-20,10:56:00,3767.00,3768.00,3767.00,3767.00,71,0
+2006-02-20,10:57:00,3767.00,3768.00,3767.00,3768.00,444,0
+2006-02-20,10:58:00,3768.00,3768.00,3768.00,3768.00,5,0
+2006-02-20,10:59:00,3769.00,3769.00,3768.00,3768.00,29,0
+2006-02-20,11:00:00,3768.00,3768.00,3766.00,3766.00,700,0
+2006-02-20,11:01:00,3766.00,3767.00,3766.00,3766.00,424,0
+2006-02-20,11:02:00,3766.00,3766.00,3765.00,3766.00,425,0
+2006-02-20,11:03:00,3766.00,3766.00,3766.00,3766.00,62,0
+2006-02-20,11:04:00,3767.00,3767.00,3766.00,3766.00,894,0
+2006-02-20,11:05:00,3766.00,3766.00,3765.00,3766.00,36,0
+2006-02-20,11:06:00,3766.00,3766.00,3766.00,3766.00,5,0
+2006-02-20,11:07:00,3766.00,3766.00,3765.00,3766.00,5,0
+2006-02-20,11:08:00,3766.00,3766.00,3766.00,3766.00,57,0
+2006-02-20,11:09:00,3766.00,3766.00,3766.00,3766.00,737,0
+2006-02-20,11:10:00,3766.00,3766.00,3766.00,3766.00,65,0
+2006-02-20,11:11:00,3766.00,3766.00,3766.00,3766.00,316,0
+2006-02-20,11:12:00,3765.00,3766.00,3765.00,3765.00,4,0
+2006-02-20,11:13:00,3765.00,3765.00,3765.00,3765.00,1,0
+2006-02-20,11:14:00,3766.00,3766.00,3765.00,3765.00,543,0
+2006-02-20,11:15:00,3766.00,3766.00,3765.00,3765.00,4,0
+2006-02-20,11:16:00,3766.00,3767.00,3765.00,3767.00,218,0
+2006-02-20,11:17:00,3766.00,3767.00,3766.00,3766.00,3,0
+2006-02-20,11:18:00,3767.00,3767.00,3766.00,3767.00,988,0
+2006-02-20,11:19:00,3767.00,3767.00,3766.00,3766.00,107,0
+2006-02-20,11:20:00,3767.00,3767.00,3766.00,3766.00,22,0
+2006-02-20,11:21:00,3767.00,3767.00,3766.00,3766.00,9,0
+2006-02-20,11:22:00,3766.00,3767.00,3765.00,3766.00,438,0
+2006-02-20,11:23:00,3766.00,3766.00,3765.00,3766.00,278,0
+2006-02-20,11:24:00,3766.00,3767.00,3766.00,3766.00,118,0
+2006-02-20,11:25:00,3766.00,3767.00,3766.00,3766.00,105,0
+2006-02-20,11:26:00,3767.00,3767.00,3767.00,3767.00,61,0
+2006-02-20,11:27:00,3767.00,3767.00,3766.00,3766.00,245,0
+2006-02-20,11:28:00,3766.00,3767.00,3766.00,3767.00,123,0
+2006-02-20,11:29:00,3767.00,3767.00,3766.00,3766.00,101,0
+2006-02-20,11:30:00,3766.00,3767.00,3766.00,3766.00,179,0
+2006-02-20,11:31:00,3765.00,3766.00,3765.00,3766.00,63,0
+2006-02-20,11:32:00,3765.00,3767.00,3765.00,3767.00,597,0
+2006-02-20,11:33:00,3767.00,3768.00,3767.00,3768.00,962,0
+2006-02-20,11:34:00,3768.00,3769.00,3767.00,3768.00,579,0
+2006-02-20,11:35:00,3767.00,3769.00,3767.00,3768.00,301,0
+2006-02-20,11:36:00,3768.00,3769.00,3768.00,3768.00,107,0
+2006-02-20,11:37:00,3768.00,3768.00,3768.00,3768.00,448,0
+2006-02-20,11:38:00,3768.00,3768.00,3768.00,3768.00,228,0
+2006-02-20,11:39:00,3768.00,3768.00,3768.00,3768.00,1,0
+2006-02-20,11:40:00,3768.00,3768.00,3768.00,3768.00,80,0
+2006-02-20,11:41:00,3768.00,3768.00,3767.00,3767.00,581,0
+2006-02-20,11:42:00,3768.00,3768.00,3767.00,3767.00,61,0
+2006-02-20,11:43:00,3767.00,3767.00,3767.00,3767.00,24,0
+2006-02-20,11:44:00,3768.00,3768.00,3767.00,3767.00,404,0
+2006-02-20,11:45:00,3768.00,3768.00,3767.00,3767.00,17,0
+2006-02-20,11:46:00,3768.00,3768.00,3767.00,3767.00,131,0
+2006-02-20,11:47:00,3768.00,3769.00,3768.00,3769.00,312,0
+2006-02-20,11:48:00,3768.00,3768.00,3768.00,3768.00,96,0
+2006-02-20,11:49:00,3768.00,3768.00,3768.00,3768.00,60,0
+2006-02-20,11:50:00,3767.00,3768.00,3767.00,3768.00,27,0
+2006-02-20,11:51:00,3767.00,3767.00,3767.00,3767.00,5024,0
+2006-02-20,11:52:00,3767.00,3767.00,3767.00,3767.00,58,0
+2006-02-20,11:53:00,3767.00,3767.00,3767.00,3767.00,21,0
+2006-02-20,11:54:00,3768.00,3768.00,3766.00,3766.00,316,0
+2006-02-20,11:56:00,3766.00,3767.00,3766.00,3766.00,76,0
+2006-02-20,11:57:00,3766.00,3766.00,3766.00,3766.00,73,0
+2006-02-20,11:58:00,3766.00,3766.00,3766.00,3766.00,6,0
+2006-02-20,11:59:00,3766.00,3767.00,3766.00,3767.00,51,0
+2006-02-20,12:00:00,3766.00,3766.00,3765.00,3766.00,239,0
+2006-02-20,12:01:00,3766.00,3766.00,3765.00,3766.00,181,0
+2006-02-20,12:02:00,3766.00,3767.00,3766.00,3767.00,160,0
+2006-02-20,12:03:00,3766.00,3767.00,3766.00,3767.00,105,0
+2006-02-20,12:04:00,3766.00,3767.00,3766.00,3766.00,26,0
+2006-02-20,12:05:00,3767.00,3767.00,3766.00,3767.00,97,0
+2006-02-20,12:06:00,3766.00,3767.00,3766.00,3767.00,6,0
+2006-02-20,12:07:00,3766.00,3767.00,3766.00,3767.00,23,0
+2006-02-20,12:08:00,3766.00,3766.00,3766.00,3766.00,56,0
+2006-02-20,12:09:00,3766.00,3766.00,3765.00,3765.00,279,0
+2006-02-20,12:10:00,3765.00,3766.00,3765.00,3766.00,4,0
+2006-02-20,12:11:00,3765.00,3766.00,3765.00,3765.00,7,0
+2006-02-20,12:12:00,3765.00,3766.00,3765.00,3766.00,3,0
+2006-02-20,12:13:00,3765.00,3766.00,3765.00,3766.00,683,0
+2006-02-20,12:14:00,3765.00,3765.00,3764.00,3764.00,138,0
+2006-02-20,12:15:00,3765.00,3765.00,3764.00,3764.00,29,0
+2006-02-20,12:16:00,3765.00,3765.00,3764.00,3764.00,67,0
+2006-02-20,12:17:00,3764.00,3765.00,3764.00,3765.00,17,0
+2006-02-20,12:18:00,3765.00,3765.00,3765.00,3765.00,131,0
+2006-02-20,12:19:00,3764.00,3764.00,3764.00,3764.00,2,0
+2006-02-20,12:20:00,3765.00,3765.00,3764.00,3764.00,6,0
+2006-02-20,12:21:00,3764.00,3765.00,3764.00,3765.00,86,0
+2006-02-20,12:22:00,3765.00,3766.00,3765.00,3765.00,485,0
+2006-02-20,12:23:00,3765.00,3766.00,3765.00,3765.00,273,0
+2006-02-20,12:24:00,3765.00,3765.00,3764.00,3764.00,10,0
+2006-02-20,12:25:00,3765.00,3765.00,3765.00,3765.00,34,0
+2006-02-20,12:26:00,3764.00,3765.00,3764.00,3765.00,195,0
+2006-02-20,12:27:00,3765.00,3766.00,3765.00,3766.00,582,0
+2006-02-20,12:28:00,3766.00,3766.00,3766.00,3766.00,139,0
+2006-02-20,12:29:00,3766.00,3766.00,3766.00,3766.00,31,0
+2006-02-20,12:30:00,3766.00,3766.00,3765.00,3766.00,74,0
+2006-02-20,12:31:00,3766.00,3766.00,3766.00,3766.00,1,0
+2006-02-20,12:32:00,3765.00,3765.00,3765.00,3765.00,3,0
+2006-02-20,12:33:00,3766.00,3766.00,3766.00,3766.00,10,0
+2006-02-20,12:34:00,3765.00,3765.00,3765.00,3765.00,1,0
+2006-02-20,12:35:00,3765.00,3765.00,3765.00,3765.00,5,0
+2006-02-20,12:36:00,3765.00,3765.00,3765.00,3765.00,17,0
+2006-02-20,12:38:00,3765.00,3765.00,3765.00,3765.00,40,0
+2006-02-20,12:39:00,3766.00,3766.00,3766.00,3766.00,1,0
+2006-02-20,12:40:00,3765.00,3765.00,3765.00,3765.00,137,0
+2006-02-20,12:41:00,3765.00,3765.00,3765.00,3765.00,167,0
+2006-02-20,12:42:00,3765.00,3765.00,3764.00,3765.00,109,0
+2006-02-20,12:43:00,3765.00,3765.00,3764.00,3765.00,74,0
+2006-02-20,12:44:00,3765.00,3765.00,3764.00,3764.00,24,0
+2006-02-20,12:45:00,3765.00,3765.00,3765.00,3765.00,24,0
+2006-02-20,12:46:00,3765.00,3765.00,3764.00,3764.00,9,0
+2006-02-20,12:47:00,3764.00,3764.00,3764.00,3764.00,15,0
+2006-02-20,12:48:00,3764.00,3765.00,3764.00,3765.00,402,0
+2006-02-20,12:49:00,3765.00,3765.00,3765.00,3765.00,263,0
+2006-02-20,12:50:00,3765.00,3765.00,3765.00,3765.00,861,0
+2006-02-20,12:51:00,3765.00,3765.00,3764.00,3765.00,72,0
+2006-02-20,12:52:00,3765.00,3765.00,3765.00,3765.00,35,0
+2006-02-20,12:53:00,3765.00,3765.00,3765.00,3765.00,4,0
+2006-02-20,12:54:00,3765.00,3765.00,3765.00,3765.00,1,0
+2006-02-20,12:55:00,3765.00,3765.00,3765.00,3765.00,64,0
+2006-02-20,12:56:00,3765.00,3765.00,3765.00,3765.00,72,0
+2006-02-20,12:58:00,3765.00,3766.00,3765.00,3765.00,130,0
+2006-02-20,12:59:00,3765.00,3765.00,3765.00,3765.00,61,0
+2006-02-20,13:00:00,3765.00,3765.00,3764.00,3765.00,59,0
+2006-02-20,13:01:00,3764.00,3764.00,3764.00,3764.00,206,0
+2006-02-20,13:02:00,3764.00,3765.00,3764.00,3765.00,573,0
+2006-02-20,13:03:00,3765.00,3765.00,3764.00,3765.00,82,0
+2006-02-20,13:04:00,3764.00,3765.00,3763.00,3764.00,173,0
+2006-02-20,13:05:00,3764.00,3764.00,3764.00,3764.00,6,0
+2006-02-20,13:06:00,3764.00,3764.00,3764.00,3764.00,34,0
+2006-02-20,13:07:00,3764.00,3764.00,3764.00,3764.00,37,0
+2006-02-20,13:08:00,3764.00,3764.00,3764.00,3764.00,1,0
+2006-02-20,13:09:00,3764.00,3764.00,3764.00,3764.00,74,0
+2006-02-20,13:10:00,3764.00,3764.00,3764.00,3764.00,21,0
+2006-02-20,13:11:00,3764.00,3764.00,3763.00,3764.00,36,0
+2006-02-20,13:12:00,3764.00,3764.00,3763.00,3763.00,47,0
+2006-02-20,13:13:00,3763.00,3764.00,3763.00,3764.00,4,0
+2006-02-20,13:14:00,3763.00,3763.00,3763.00,3763.00,371,0
+2006-02-20,13:15:00,3764.00,3764.00,3763.00,3763.00,5,0
+2006-02-20,13:16:00,3763.00,3763.00,3763.00,3763.00,4,0
+2006-02-20,13:17:00,3764.00,3764.00,3764.00,3764.00,651,0
+2006-02-20,13:19:00,3764.00,3764.00,3764.00,3764.00,49,0
+2006-02-20,13:20:00,3764.00,3764.00,3763.00,3764.00,212,0
+2006-02-20,13:21:00,3764.00,3765.00,3763.00,3765.00,267,0
+2006-02-20,13:24:00,3765.00,3765.00,3764.00,3764.00,40,0
+2006-02-20,13:26:00,3765.00,3765.00,3765.00,3765.00,497,0
+2006-02-20,13:27:00,3766.00,3766.00,3766.00,3766.00,2,0
+2006-02-20,13:28:00,3766.00,3766.00,3765.00,3765.00,658,0
+2006-02-20,13:29:00,3766.00,3767.00,3765.00,3766.00,184,0
+2006-02-20,13:30:00,3766.00,3766.00,3766.00,3766.00,14,0
+2006-02-20,13:31:00,3765.00,3767.00,3765.00,3767.00,93,0
+2006-02-20,13:32:00,3766.00,3766.00,3766.00,3766.00,28,0
+2006-02-20,13:33:00,3766.00,3766.00,3766.00,3766.00,218,0
+2006-02-20,13:34:00,3767.00,3767.00,3766.00,3767.00,36,0
+2006-02-20,13:35:00,3766.00,3767.00,3766.00,3767.00,6,0
+2006-02-20,13:36:00,3767.00,3767.00,3767.00,3767.00,31,0
+2006-02-20,13:37:00,3767.00,3767.00,3767.00,3767.00,5,0
+2006-02-20,13:38:00,3767.00,3767.00,3767.00,3767.00,4,0
+2006-02-20,13:39:00,3766.00,3766.00,3766.00,3766.00,614,0
+2006-02-20,13:40:00,3766.00,3766.00,3766.00,3766.00,8,0
+2006-02-20,13:42:00,3766.00,3767.00,3766.00,3767.00,248,0
+2006-02-20,13:43:00,3766.00,3766.00,3766.00,3766.00,57,0
+2006-02-20,13:44:00,3766.00,3766.00,3766.00,3766.00,384,0
+2006-02-20,13:45:00,3765.00,3765.00,3765.00,3765.00,71,0
+2006-02-20,13:47:00,3766.00,3766.00,3766.00,3766.00,118,0
+2006-02-20,13:48:00,3766.00,3766.00,3765.00,3765.00,538,0
+2006-02-20,13:49:00,3766.00,3766.00,3765.00,3765.00,30,0
+2006-02-20,13:51:00,3765.00,3765.00,3765.00,3765.00,2,0
+2006-02-20,13:52:00,3766.00,3766.00,3766.00,3766.00,618,0
+2006-02-20,13:53:00,3766.00,3766.00,3766.00,3766.00,25,0
+2006-02-20,13:54:00,3765.00,3765.00,3765.00,3765.00,50,0
+2006-02-20,13:55:00,3765.00,3765.00,3765.00,3765.00,2079,0
+2006-02-20,13:56:00,3765.00,3765.00,3765.00,3765.00,23,0
+2006-02-20,13:58:00,3765.00,3766.00,3765.00,3766.00,548,0
+2006-02-20,14:01:00,3765.00,3765.00,3765.00,3765.00,6,0
+2006-02-20,14:02:00,3765.00,3765.00,3765.00,3765.00,10,0
+2006-02-20,14:03:00,3765.00,3765.00,3765.00,3765.00,283,0
+2006-02-20,14:04:00,3765.00,3765.00,3765.00,3765.00,58,0
+2006-02-20,14:06:00,3765.00,3765.00,3765.00,3765.00,115,0
+2006-02-20,14:07:00,3765.00,3765.00,3765.00,3765.00,4,0
+2006-02-20,14:08:00,3765.00,3765.00,3765.00,3765.00,154,0
+2006-02-20,14:10:00,3765.00,3766.00,3765.00,3766.00,112,0
+2006-02-20,14:11:00,3765.00,3766.00,3765.00,3766.00,487,0
+2006-02-20,14:12:00,3765.00,3765.00,3765.00,3765.00,117,0
+2006-02-20,14:13:00,3764.00,3765.00,3764.00,3765.00,38,0
+2006-02-20,14:14:00,3764.00,3765.00,3764.00,3765.00,60,0
+2006-02-20,14:15:00,3765.00,3765.00,3765.00,3765.00,1,0
+2006-02-20,14:16:00,3764.00,3764.00,3763.00,3764.00,408,0
+2006-02-20,14:17:00,3763.00,3764.00,3763.00,3764.00,75,0
+2006-02-20,14:18:00,3764.00,3765.00,3764.00,3765.00,16,0
+2006-02-20,14:19:00,3764.00,3764.00,3764.00,3764.00,26,0
+2006-02-20,14:20:00,3765.00,3765.00,3765.00,3765.00,1,0
+2006-02-20,14:21:00,3764.00,3765.00,3764.00,3765.00,186,0
+2006-02-20,14:22:00,3764.00,3764.00,3764.00,3764.00,10,0
+2006-02-20,14:23:00,3764.00,3764.00,3764.00,3764.00,195,0
+2006-02-20,14:24:00,3764.00,3764.00,3764.00,3764.00,66,0
+2006-02-20,14:25:00,3764.00,3764.00,3764.00,3764.00,15,0
+2006-02-20,14:27:00,3764.00,3764.00,3764.00,3764.00,25,0
+2006-02-20,14:28:00,3764.00,3764.00,3764.00,3764.00,102,0
+2006-02-20,14:29:00,3764.00,3764.00,3764.00,3764.00,47,0
+2006-02-20,14:30:00,3763.00,3763.00,3763.00,3763.00,10,0
+2006-02-20,14:31:00,3764.00,3764.00,3763.00,3763.00,5,0
+2006-02-20,14:32:00,3764.00,3764.00,3764.00,3764.00,149,0
+2006-02-20,14:33:00,3764.00,3764.00,3763.00,3763.00,5,0
+2006-02-20,14:34:00,3764.00,3764.00,3764.00,3764.00,20,0
+2006-02-20,14:35:00,3764.00,3764.00,3764.00,3764.00,2,0
+2006-02-20,14:36:00,3764.00,3764.00,3763.00,3764.00,197,0
+2006-02-20,14:37:00,3764.00,3764.00,3764.00,3764.00,27,0
+2006-02-20,14:38:00,3764.00,3764.00,3764.00,3764.00,24,0
+2006-02-20,14:39:00,3763.00,3763.00,3763.00,3763.00,15,0
+2006-02-20,14:40:00,3764.00,3764.00,3763.00,3764.00,3,0
+2006-02-20,14:41:00,3763.00,3764.00,3763.00,3763.00,410,0
+2006-02-20,14:42:00,3763.00,3764.00,3763.00,3764.00,150,0
+2006-02-20,14:43:00,3763.00,3763.00,3763.00,3763.00,393,0
+2006-02-20,14:45:00,3763.00,3763.00,3763.00,3763.00,663,0
+2006-02-20,14:46:00,3763.00,3763.00,3762.00,3762.00,414,0
+2006-02-20,14:47:00,3762.00,3762.00,3760.00,3761.00,1214,0
+2006-02-20,14:48:00,3762.00,3762.00,3761.00,3761.00,41,0
+2006-02-20,14:49:00,3761.00,3762.00,3761.00,3761.00,168,0
+2006-02-20,14:50:00,3761.00,3761.00,3761.00,3761.00,313,0
+2006-02-20,14:51:00,3761.00,3761.00,3761.00,3761.00,117,0
+2006-02-20,14:53:00,3762.00,3762.00,3761.00,3761.00,24,0
+2006-02-20,14:54:00,3761.00,3761.00,3760.00,3761.00,201,0
+2006-02-20,14:55:00,3760.00,3761.00,3760.00,3761.00,183,0
+2006-02-20,14:56:00,3760.00,3761.00,3760.00,3761.00,182,0
+2006-02-20,14:57:00,3761.00,3761.00,3760.00,3760.00,22,0
+2006-02-20,14:58:00,3760.00,3761.00,3760.00,3760.00,101,0
+2006-02-20,14:59:00,3760.00,3761.00,3760.00,3760.00,4,0
+2006-02-20,15:00:00,3760.00,3761.00,3760.00,3761.00,17,0
+2006-02-20,15:01:00,3760.00,3761.00,3760.00,3761.00,1409,0
+2006-02-20,15:02:00,3760.00,3761.00,3760.00,3761.00,194,0
+2006-02-20,15:03:00,3760.00,3761.00,3760.00,3761.00,1034,0
+2006-02-20,15:04:00,3761.00,3762.00,3761.00,3761.00,281,0
+2006-02-20,15:05:00,3761.00,3761.00,3761.00,3761.00,6,0
+2006-02-20,15:06:00,3761.00,3763.00,3761.00,3763.00,617,0
+2006-02-20,15:07:00,3762.00,3763.00,3761.00,3761.00,150,0
+2006-02-20,15:08:00,3762.00,3762.00,3761.00,3761.00,8,0
+2006-02-20,15:09:00,3762.00,3762.00,3761.00,3762.00,316,0
+2006-02-20,15:10:00,3763.00,3763.00,3762.00,3762.00,9,0
+2006-02-20,15:11:00,3763.00,3763.00,3763.00,3763.00,166,0
+2006-02-20,15:12:00,3763.00,3763.00,3763.00,3763.00,722,0
+2006-02-20,15:13:00,3763.00,3763.00,3763.00,3763.00,228,0
+2006-02-20,15:14:00,3763.00,3763.00,3763.00,3763.00,116,0
+2006-02-20,15:15:00,3763.00,3764.00,3763.00,3763.00,7,0
+2006-02-20,15:16:00,3764.00,3765.00,3764.00,3764.00,1048,0
+2006-02-20,15:17:00,3764.00,3765.00,3764.00,3765.00,3,0
+2006-02-20,15:18:00,3765.00,3765.00,3764.00,3764.00,320,0
+2006-02-20,15:19:00,3764.00,3764.00,3764.00,3764.00,93,0
+2006-02-20,15:20:00,3764.00,3764.00,3763.00,3763.00,14,0
+2006-02-20,15:23:00,3763.00,3763.00,3763.00,3763.00,81,0
+2006-02-20,15:26:00,3764.00,3764.00,3764.00,3764.00,80,0
+2006-02-20,15:27:00,3764.00,3764.00,3763.00,3763.00,14,0
+2006-02-20,15:29:00,3763.00,3763.00,3763.00,3763.00,3,0
+2006-02-20,15:30:00,3763.00,3763.00,3763.00,3763.00,534,0
+2006-02-20,15:31:00,3764.00,3764.00,3763.00,3763.00,29,0
+2006-02-20,15:33:00,3763.00,3763.00,3763.00,3763.00,1,0
+2006-02-20,15:34:00,3763.00,3763.00,3763.00,3763.00,127,0
+2006-02-20,15:35:00,3763.00,3763.00,3763.00,3763.00,8,0
+2006-02-20,15:36:00,3763.00,3763.00,3763.00,3763.00,11,0
+2006-02-20,15:38:00,3764.00,3764.00,3763.00,3763.00,160,0
+2006-02-20,15:40:00,3763.00,3763.00,3763.00,3763.00,1,0
+2006-02-20,15:41:00,3763.00,3763.00,3763.00,3763.00,1,0
+2006-02-20,15:42:00,3763.00,3765.00,3763.00,3765.00,270,0
+2006-02-20,15:43:00,3765.00,3765.00,3765.00,3765.00,17,0
+2006-02-20,15:44:00,3765.00,3765.00,3764.00,3764.00,196,0
+2006-02-20,15:45:00,3764.00,3765.00,3764.00,3765.00,304,0
+2006-02-20,15:46:00,3764.00,3765.00,3764.00,3764.00,56,0
+2006-02-20,15:47:00,3765.00,3765.00,3765.00,3765.00,4,0
+2006-02-20,15:48:00,3765.00,3765.00,3764.00,3764.00,6,0
+2006-02-20,15:49:00,3764.00,3764.00,3764.00,3764.00,13,0
+2006-02-20,15:50:00,3764.00,3764.00,3764.00,3764.00,43,0
+2006-02-20,15:51:00,3764.00,3765.00,3764.00,3765.00,65,0
+2006-02-20,15:52:00,3764.00,3764.00,3764.00,3764.00,5,0
+2006-02-20,15:53:00,3765.00,3765.00,3765.00,3765.00,104,0
+2006-02-20,15:54:00,3765.00,3765.00,3764.00,3765.00,323,0
+2006-02-20,15:55:00,3765.00,3765.00,3764.00,3764.00,101,0
+2006-02-20,15:56:00,3765.00,3765.00,3765.00,3765.00,27,0
+2006-02-20,15:57:00,3765.00,3765.00,3764.00,3764.00,171,0
+2006-02-20,15:58:00,3764.00,3765.00,3764.00,3765.00,100,0
+2006-02-20,15:59:00,3765.00,3766.00,3765.00,3766.00,583,0
+2006-02-20,16:00:00,3765.00,3767.00,3765.00,3767.00,253,0
+2006-02-20,16:01:00,3766.00,3769.00,3766.00,3769.00,1318,0
+2006-02-20,16:02:00,3769.00,3769.00,3768.00,3769.00,587,0
+2006-02-20,16:03:00,3769.00,3769.00,3768.00,3768.00,45,0
+2006-02-20,16:04:00,3768.00,3768.00,3767.00,3767.00,900,0
+2006-02-20,16:05:00,3767.00,3768.00,3766.00,3767.00,167,0
+2006-02-20,16:06:00,3768.00,3768.00,3767.00,3767.00,296,0
+2006-02-20,16:07:00,3767.00,3768.00,3767.00,3768.00,479,0
+2006-02-20,16:09:00,3767.00,3767.00,3767.00,3767.00,70,0
+2006-02-20,16:10:00,3768.00,3768.00,3767.00,3767.00,210,0
+2006-02-20,16:11:00,3767.00,3767.00,3767.00,3767.00,192,0
+2006-02-20,16:12:00,3766.00,3767.00,3766.00,3767.00,6,0
+2006-02-20,16:13:00,3767.00,3768.00,3767.00,3768.00,506,0
+2006-02-20,16:14:00,3768.00,3770.00,3768.00,3769.00,1483,0
+2006-02-20,16:15:00,3770.00,3771.00,3769.00,3770.00,1630,0
+2006-02-20,16:16:00,3771.00,3772.00,3770.00,3772.00,1627,0
+2006-02-20,16:17:00,3771.00,3772.00,3770.00,3771.00,970,0
+2006-02-20,16:18:00,3771.00,3771.00,3770.00,3770.00,4,0
+2006-02-20,16:19:00,3770.00,3771.00,3770.00,3770.00,189,0
+2006-02-20,16:20:00,3771.00,3771.00,3770.00,3770.00,170,0
+2006-02-20,16:21:00,3770.00,3770.00,3769.00,3770.00,167,0
+2006-02-20,16:22:00,3769.00,3770.00,3769.00,3770.00,81,0
+2006-02-20,16:23:00,3770.00,3772.00,3770.00,3772.00,459,0
+2006-02-20,16:24:00,3771.00,3772.00,3770.00,3771.00,230,0
+2006-02-20,16:25:00,3770.00,3770.00,3770.00,3770.00,375,0
+2006-02-20,16:26:00,3770.00,3770.00,3769.00,3770.00,93,0
+2006-02-20,16:27:00,3770.00,3771.00,3770.00,3770.00,271,0
+2006-02-20,16:28:00,3771.00,3771.00,3771.00,3771.00,404,0
+2006-02-20,16:29:00,3771.00,3771.00,3770.00,3770.00,257,0
+2006-02-20,16:30:00,3770.00,3770.00,3770.00,3770.00,27,0
+2006-02-20,16:31:00,3771.00,3771.00,3770.00,3770.00,179,0
+2006-02-20,16:32:00,3769.00,3771.00,3769.00,3771.00,167,0
+2006-02-20,16:33:00,3771.00,3771.00,3770.00,3770.00,121,0
+2006-02-20,16:34:00,3770.00,3771.00,3770.00,3771.00,230,0
+2006-02-20,16:35:00,3771.00,3772.00,3771.00,3772.00,624,0
+2006-02-20,16:36:00,3771.00,3773.00,3771.00,3773.00,427,0
+2006-02-20,16:37:00,3773.00,3774.00,3772.00,3772.00,889,0
+2006-02-20,16:38:00,3771.00,3772.00,3770.00,3771.00,792,0
+2006-02-20,16:39:00,3771.00,3772.00,3770.00,3771.00,121,0
+2006-02-20,16:40:00,3771.00,3771.00,3770.00,3770.00,258,0
+2006-02-20,16:41:00,3770.00,3772.00,3770.00,3771.00,131,0
+2006-02-20,16:42:00,3772.00,3772.00,3771.00,3771.00,146,0
+2006-02-20,16:43:00,3771.00,3771.00,3771.00,3771.00,522,0
+2006-02-20,16:44:00,3771.00,3771.00,3771.00,3771.00,700,0
+2006-02-20,16:45:00,3771.00,3771.00,3771.00,3771.00,34,0
+2006-02-20,16:46:00,3771.00,3772.00,3770.00,3771.00,386,0
+2006-02-20,16:47:00,3771.00,3772.00,3771.00,3771.00,236,0
+2006-02-20,16:48:00,3771.00,3772.00,3771.00,3771.00,194,0
+2006-02-20,16:49:00,3771.00,3774.00,3771.00,3773.00,1571,0
+2006-02-20,16:50:00,3774.00,3775.00,3773.00,3774.00,2033,0
+2006-02-20,16:51:00,3774.00,3774.00,3773.00,3773.00,302,0
+2006-02-20,16:52:00,3773.00,3773.00,3773.00,3773.00,220,0
+2006-02-20,16:53:00,3773.00,3775.00,3773.00,3774.00,659,0
+2006-02-20,16:54:00,3774.00,3774.00,3774.00,3774.00,241,0
+2006-02-20,16:55:00,3774.00,3774.00,3774.00,3774.00,1,0
+2006-02-20,16:56:00,3774.00,3775.00,3774.00,3774.00,85,0
+2006-02-20,16:57:00,3775.00,3775.00,3773.00,3773.00,750,0
+2006-02-20,16:58:00,3774.00,3774.00,3772.00,3772.00,813,0
+2006-02-20,16:59:00,3772.00,3772.00,3771.00,3771.00,121,0
+2006-02-20,17:00:00,3771.00,3772.00,3771.00,3772.00,379,0
+2006-02-20,17:01:00,3772.00,3772.00,3771.00,3771.00,414,0
+2006-02-20,17:02:00,3771.00,3772.00,3770.00,3770.00,467,0
+2006-02-20,17:03:00,3770.00,3771.00,3770.00,3770.00,59,0
+2006-02-20,17:04:00,3771.00,3772.00,3771.00,3771.00,416,0
+2006-02-20,17:05:00,3771.00,3772.00,3771.00,3772.00,38,0
+2006-02-20,17:06:00,3772.00,3773.00,3770.00,3772.00,954,0
+2006-02-20,17:07:00,3772.00,3773.00,3771.00,3771.00,63,0
+2006-02-20,17:08:00,3772.00,3773.00,3772.00,3773.00,122,0
+2006-02-20,17:09:00,3772.00,3773.00,3772.00,3772.00,37,0
+2006-02-20,17:10:00,3773.00,3773.00,3772.00,3773.00,115,0
+2006-02-20,17:11:00,3773.00,3774.00,3773.00,3773.00,655,0
+2006-02-20,17:12:00,3773.00,3773.00,3772.00,3772.00,100,0
+2006-02-20,17:13:00,3773.00,3773.00,3772.00,3773.00,27,0
+2006-02-20,17:14:00,3773.00,3773.00,3772.00,3772.00,134,0
+2006-02-20,17:15:00,3773.00,3773.00,3771.00,3772.00,396,0
+2006-02-20,17:16:00,3772.00,3773.00,3771.00,3772.00,667,0
+2006-02-20,17:17:00,3772.00,3772.00,3771.00,3771.00,217,0
+2006-02-20,17:18:00,3771.00,3772.00,3771.00,3772.00,819,0
+2006-02-20,17:19:00,3772.00,3772.00,3771.00,3771.00,213,0
+2006-02-20,17:20:00,3771.00,3772.00,3771.00,3772.00,164,0
+2006-02-20,17:21:00,3772.00,3772.00,3771.00,3771.00,438,0
+2006-02-20,17:22:00,3772.00,3772.00,3771.00,3772.00,109,0
+2006-02-20,17:23:00,3771.00,3773.00,3771.00,3772.00,989,0
+2006-02-20,17:24:00,3771.00,3772.00,3771.00,3772.00,265,0
+2006-02-20,17:25:00,3771.00,3772.00,3771.00,3772.00,84,0
+2006-02-20,17:26:00,3772.00,3772.00,3771.00,3772.00,181,0
+2006-02-20,17:27:00,3772.00,3772.00,3771.00,3771.00,647,0
+2006-02-20,17:28:00,3771.00,3772.00,3771.00,3772.00,437,0
+2006-02-20,17:29:00,3772.00,3772.00,3771.00,3771.00,154,0
+2006-02-20,17:30:00,3771.00,3771.00,3769.00,3770.00,3208,0
+2006-02-20,17:31:00,3770.00,3771.00,3769.00,3771.00,1924,0
+2006-02-20,17:32:00,3770.00,3771.00,3770.00,3770.00,685,0
+2006-02-20,17:33:00,3771.00,3771.00,3770.00,3770.00,792,0
+2006-02-20,17:34:00,3771.00,3772.00,3770.00,3771.00,995,0
+2006-02-20,17:35:00,3771.00,3771.00,3769.00,3769.00,650,0
+2006-02-20,17:36:00,3770.00,3770.00,3769.00,3770.00,843,0
+2006-02-20,17:37:00,3770.00,3771.00,3769.00,3771.00,395,0
+2006-02-20,17:38:00,3770.00,3771.00,3769.00,3770.00,672,0
+2006-02-20,17:39:00,3770.00,3771.00,3770.00,3771.00,137,0
+2006-02-20,17:40:00,3771.00,3771.00,3770.00,3771.00,568,0
+2006-02-20,17:41:00,3771.00,3771.00,3770.00,3771.00,399,0
+2006-02-20,17:42:00,3770.00,3771.00,3770.00,3770.00,392,0
+2006-02-20,17:43:00,3770.00,3770.00,3770.00,3770.00,520,0
+2006-02-20,17:44:00,3770.00,3770.00,3770.00,3770.00,27,0
+2006-02-20,17:45:00,3771.00,3771.00,3770.00,3770.00,318,0
+2006-02-20,17:46:00,3771.00,3771.00,3770.00,3771.00,207,0
+2006-02-20,17:47:00,3771.00,3772.00,3770.00,3771.00,629,0
+2006-02-20,17:48:00,3771.00,3771.00,3770.00,3770.00,446,0
+2006-02-20,17:50:00,3771.00,3771.00,3771.00,3771.00,1,0
+2006-02-20,17:51:00,3771.00,3771.00,3770.00,3770.00,104,0
+2006-02-20,17:52:00,3770.00,3771.00,3770.00,3771.00,238,0
+2006-02-20,17:53:00,3772.00,3772.00,3771.00,3772.00,304,0
+2006-02-20,17:54:00,3772.00,3772.00,3770.00,3770.00,510,0
+2006-02-20,17:55:00,3771.00,3771.00,3770.00,3771.00,13,0
+2006-02-20,17:56:00,3770.00,3772.00,3770.00,3772.00,230,0
+2006-02-20,17:57:00,3772.00,3772.00,3772.00,3772.00,10,0
+2006-02-20,17:58:00,3772.00,3772.00,3771.00,3772.00,181,0
+2006-02-20,17:59:00,3773.00,3773.00,3773.00,3773.00,532,0
+2006-02-20,18:00:00,3772.00,3774.00,3771.00,3771.00,365,0
+2006-02-20,18:01:00,3772.00,3773.00,3772.00,3773.00,176,0
+2006-02-20,18:02:00,3773.00,3773.00,3772.00,3772.00,25,0
+2006-02-20,18:03:00,3772.00,3772.00,3772.00,3772.00,3,0
+2006-02-20,18:04:00,3772.00,3773.00,3772.00,3773.00,11,0
+2006-02-20,18:05:00,3772.00,3772.00,3772.00,3772.00,1,0
+2006-02-20,18:06:00,3772.00,3772.00,3772.00,3772.00,50,0
+2006-02-20,18:07:00,3773.00,3773.00,3773.00,3773.00,461,0
+2006-02-20,18:08:00,3772.00,3773.00,3771.00,3772.00,434,0
+2006-02-20,18:10:00,3772.00,3772.00,3771.00,3771.00,14,0
+2006-02-20,18:11:00,3771.00,3772.00,3771.00,3772.00,60,0
+2006-02-20,18:12:00,3771.00,3771.00,3771.00,3771.00,21,0
+2006-02-20,18:13:00,3770.00,3771.00,3770.00,3771.00,17,0
+2006-02-20,18:14:00,3771.00,3771.00,3771.00,3771.00,5,0
+2006-02-20,18:15:00,3771.00,3771.00,3771.00,3771.00,131,0
+2006-02-20,18:17:00,3772.00,3774.00,3772.00,3774.00,298,0
+2006-02-20,18:18:00,3774.00,3774.00,3773.00,3773.00,319,0
+2006-02-20,18:19:00,3773.00,3773.00,3773.00,3773.00,30,0
+2006-02-20,18:20:00,3774.00,3774.00,3773.00,3773.00,226,0
+2006-02-20,18:21:00,3773.00,3773.00,3773.00,3773.00,211,0
+2006-02-20,18:22:00,3773.00,3773.00,3773.00,3773.00,64,0
+2006-02-20,18:23:00,3774.00,3774.00,3774.00,3774.00,1,0
+2006-02-20,18:25:00,3774.00,3774.00,3774.00,3774.00,20,0
+2006-02-20,18:27:00,3773.00,3773.00,3773.00,3773.00,21,0
+2006-02-20,18:28:00,3773.00,3773.00,3773.00,3773.00,54,0
+2006-02-20,18:29:00,3773.00,3773.00,3773.00,3773.00,41,0
+2006-02-20,18:30:00,3773.00,3773.00,3773.00,3773.00,1,0
+2006-02-20,18:32:00,3773.00,3773.00,3773.00,3773.00,20,0
+2006-02-20,18:33:00,3773.00,3773.00,3772.00,3773.00,530,0
+2006-02-20,18:35:00,3773.00,3773.00,3773.00,3773.00,1,0
+2006-02-20,18:36:00,3774.00,3774.00,3774.00,3774.00,23,0
+2006-02-20,18:37:00,3774.00,3774.00,3774.00,3774.00,137,0
+2006-02-20,18:38:00,3774.00,3775.00,3774.00,3775.00,138,0
+2006-02-20,18:39:00,3774.00,3774.00,3774.00,3774.00,174,0
+2006-02-20,18:45:00,3774.00,3774.00,3774.00,3774.00,262,0
+2006-02-20,18:46:00,3773.00,3774.00,3773.00,3774.00,12,0
+2006-02-20,18:47:00,3774.00,3774.00,3773.00,3774.00,110,0
+2006-02-20,18:48:00,3774.00,3774.00,3774.00,3774.00,11,0
+2006-02-20,18:49:00,3774.00,3774.00,3774.00,3774.00,2,0
+2006-02-20,18:50:00,3773.00,3773.00,3773.00,3773.00,181,0
+2006-02-20,18:51:00,3773.00,3773.00,3773.00,3773.00,1,0
+2006-02-20,18:52:00,3773.00,3773.00,3773.00,3773.00,1,0
+2006-02-20,18:54:00,3774.00,3774.00,3774.00,3774.00,9,0
+2006-02-20,18:55:00,3774.00,3774.00,3774.00,3774.00,21,0
+2006-02-20,18:56:00,3774.00,3774.00,3774.00,3774.00,14,0
+2006-02-20,18:57:00,3774.00,3774.00,3774.00,3774.00,7,0
+2006-02-20,18:58:00,3774.00,3774.00,3774.00,3774.00,166,0
+2006-02-20,19:00:00,3773.00,3773.00,3773.00,3773.00,104,0
+2006-02-20,19:01:00,3774.00,3774.00,3774.00,3774.00,1,0
+2006-02-20,19:05:00,3773.00,3773.00,3773.00,3773.00,20,0
+2006-02-20,19:06:00,3773.00,3773.00,3773.00,3773.00,1,0
+2006-02-20,19:07:00,3773.00,3773.00,3773.00,3773.00,2,0
+2006-02-20,19:08:00,3773.00,3773.00,3773.00,3773.00,20,0
+2006-02-20,19:10:00,3773.00,3773.00,3773.00,3773.00,1,0
+2006-02-20,19:11:00,3774.00,3774.00,3774.00,3774.00,47,0
+2006-02-20,19:12:00,3774.00,3774.00,3774.00,3774.00,2,0
+2006-02-20,19:13:00,3774.00,3774.00,3774.00,3774.00,69,0
+2006-02-20,19:14:00,3774.00,3774.00,3774.00,3774.00,2,0
+2006-02-20,19:15:00,3773.00,3773.00,3772.00,3772.00,52,0
+2006-02-20,19:16:00,3773.00,3773.00,3773.00,3773.00,17,0
+2006-02-20,19:17:00,3774.00,3774.00,3774.00,3774.00,100,0
+2006-02-20,19:18:00,3773.00,3773.00,3773.00,3773.00,134,0
+2006-02-20,19:19:00,3773.00,3773.00,3773.00,3773.00,15,0
+2006-02-20,19:20:00,3773.00,3773.00,3773.00,3773.00,1,0
+2006-02-20,19:23:00,3774.00,3774.00,3774.00,3774.00,100,0
+2006-02-20,19:25:00,3774.00,3774.00,3774.00,3774.00,102,0
+2006-02-20,19:26:00,3774.00,3774.00,3774.00,3774.00,1,0
+2006-02-20,19:27:00,3774.00,3775.00,3774.00,3775.00,51,0
+2006-02-20,19:28:00,3774.00,3774.00,3774.00,3774.00,4,0
+2006-02-20,19:29:00,3775.00,3775.00,3775.00,3775.00,67,0
+2006-02-20,19:34:00,3774.00,3774.00,3774.00,3774.00,112,0
+2006-02-20,19:35:00,3774.00,3774.00,3774.00,3774.00,2,0
+2006-02-20,19:36:00,3774.00,3774.00,3774.00,3774.00,18,0
+2006-02-20,19:38:00,3774.00,3774.00,3774.00,3774.00,1,0
+2006-02-20,19:39:00,3774.00,3774.00,3774.00,3774.00,12,0
+2006-02-20,19:42:00,3774.00,3774.00,3774.00,3774.00,55,0
+2006-02-20,19:44:00,3775.00,3775.00,3775.00,3775.00,149,0
+2006-02-20,19:45:00,3776.00,3776.00,3775.00,3776.00,88,0
+2006-02-20,19:46:00,3776.00,3776.00,3775.00,3775.00,5,0
+2006-02-20,19:50:00,3776.00,3776.00,3776.00,3776.00,1,0
+2006-02-20,19:51:00,3776.00,3776.00,3776.00,3776.00,69,0
+2006-02-20,19:52:00,3777.00,3777.00,3776.00,3776.00,83,0
+2006-02-20,19:53:00,3776.00,3776.00,3775.00,3776.00,16,0
+2006-02-20,19:54:00,3776.00,3776.00,3776.00,3776.00,2,0
+2006-02-20,19:55:00,3777.00,3777.00,3777.00,3777.00,2,0
+2006-02-20,19:57:00,3777.00,3777.00,3776.00,3776.00,11,0
+2006-02-20,19:58:00,3776.00,3776.00,3776.00,3776.00,42,0
+2006-02-20,20:01:00,3775.00,3775.00,3775.00,3775.00,3,0
+2006-02-20,20:02:00,3775.00,3776.00,3775.00,3776.00,48,0
+2006-02-20,20:03:00,3776.00,3777.00,3776.00,3776.00,51,0
+2006-02-20,20:04:00,3776.00,3776.00,3776.00,3776.00,100,0
+2006-02-20,20:05:00,3776.00,3776.00,3776.00,3776.00,8,0
+2006-02-20,20:06:00,3776.00,3776.00,3776.00,3776.00,12,0
+2006-02-20,20:09:00,3777.00,3777.00,3777.00,3777.00,8,0
+2006-02-20,20:12:00,3776.00,3776.00,3776.00,3776.00,3,0
+2006-02-20,20:14:00,3776.00,3776.00,3776.00,3776.00,2,0
+2006-02-20,20:16:00,3777.00,3777.00,3777.00,3777.00,128,0
+2006-02-20,20:19:00,3776.00,3776.00,3776.00,3776.00,1,0
+2006-02-20,20:21:00,3776.00,3776.00,3776.00,3776.00,1,0
+2006-02-20,20:25:00,3777.00,3778.00,3777.00,3778.00,233,0
+2006-02-20,20:27:00,3777.00,3777.00,3777.00,3777.00,89,0
+2006-02-20,20:28:00,3776.00,3776.00,3776.00,3776.00,100,0
+2006-02-20,20:30:00,3777.00,3777.00,3777.00,3777.00,21,0
+2006-02-20,20:31:00,3777.00,3777.00,3777.00,3777.00,1,0
+2006-02-20,20:33:00,3777.00,3777.00,3777.00,3777.00,15,0
+2006-02-20,20:36:00,3778.00,3779.00,3778.00,3779.00,127,0
+2006-02-20,20:37:00,3777.00,3777.00,3777.00,3777.00,4,0
+2006-02-20,20:42:00,3777.00,3777.00,3777.00,3777.00,100,0
+2006-02-20,20:43:00,3776.00,3777.00,3775.00,3775.00,116,0
+2006-02-20,20:44:00,3777.00,3777.00,3777.00,3777.00,9,0
+2006-02-20,20:45:00,3778.00,3778.00,3778.00,3778.00,6,0
+2006-02-20,20:52:00,3777.00,3777.00,3777.00,3777.00,6,0
+2006-02-20,20:54:00,3777.00,3777.00,3776.00,3776.00,2,0
+2006-02-20,20:55:00,3777.00,3777.00,3777.00,3777.00,2,0
+2006-02-20,20:58:00,3777.00,3777.00,3777.00,3777.00,1,0
+2006-02-20,21:04:00,3778.00,3778.00,3778.00,3778.00,2,0
+2006-02-20,21:07:00,3778.00,3778.00,3778.00,3778.00,12,0
+2006-02-20,21:08:00,3778.00,3779.00,3778.00,3778.00,202,0
+2006-02-20,21:09:00,3779.00,3780.00,3779.00,3780.00,187,0
+2006-02-20,21:10:00,3780.00,3780.00,3780.00,3780.00,100,0
+2006-02-20,21:12:00,3780.00,3780.00,3780.00,3780.00,400,0
+2006-02-20,21:13:00,3779.00,3779.00,3779.00,3779.00,10,0
+2006-02-20,21:14:00,3779.00,3779.00,3779.00,3779.00,6,0
+2006-02-20,21:19:00,3778.00,3779.00,3778.00,3778.00,60,0
+2006-02-20,21:23:00,3778.00,3778.00,3778.00,3778.00,1,0
+2006-02-20,21:25:00,3779.00,3779.00,3779.00,3779.00,1,0
+2006-02-20,21:29:00,3778.00,3778.00,3777.00,3777.00,2,0
+2006-02-20,21:30:00,3777.00,3777.00,3777.00,3777.00,1,0
+2006-02-20,21:31:00,3778.00,3778.00,3778.00,3778.00,4,0
+2006-02-20,21:32:00,3778.00,3779.00,3778.00,3779.00,3,0
+2006-02-20,21:33:00,3778.00,3778.00,3777.00,3777.00,75,0
+2006-02-20,21:34:00,3777.00,3777.00,3777.00,3777.00,5,0
+2006-02-20,21:35:00,3777.00,3777.00,3777.00,3777.00,2,0
+2006-02-20,21:44:00,3777.00,3777.00,3777.00,3777.00,1,0
+2006-02-20,21:45:00,3777.00,3777.00,3777.00,3777.00,1,0
+2006-02-20,21:46:00,3777.00,3777.00,3777.00,3777.00,3,0
+2006-02-20,21:48:00,3777.00,3777.00,3777.00,3777.00,23,0
+2006-02-20,21:52:00,3776.00,3777.00,3776.00,3777.00,9,0
+2006-02-20,21:53:00,3777.00,3777.00,3777.00,3777.00,2,0
+2006-02-20,21:54:00,3777.00,3777.00,3777.00,3777.00,2,0
+2006-02-20,21:56:00,3777.00,3777.00,3777.00,3777.00,12,0
+2006-02-20,21:57:00,3777.00,3777.00,3776.00,3776.00,37,0
+2006-02-20,21:58:00,3776.00,3776.00,3775.00,3776.00,25,0
+2006-02-20,21:59:00,3775.00,3776.00,3775.00,3775.00,155,0
+2006-02-20,22:00:00,3775.00,3775.00,3775.00,3775.00,441,0
+2006-02-21,09:01:00,3785.00,3788.00,3784.00,3787.00,8613,0
+2006-02-21,09:02:00,3787.00,3787.00,3785.00,3785.00,2234,0
+2006-02-21,09:03:00,3785.00,3785.00,3784.00,3785.00,2040,0
+2006-02-21,09:04:00,3786.00,3789.00,3785.00,3789.00,2682,0
+2006-02-21,09:05:00,3789.00,3790.00,3787.00,3787.00,2444,0
+2006-02-21,09:06:00,3787.00,3788.00,3786.00,3787.00,1220,0
+2006-02-21,09:07:00,3787.00,3789.00,3787.00,3789.00,1192,0
+2006-02-21,09:08:00,3789.00,3789.00,3788.00,3789.00,1797,0
+2006-02-21,09:09:00,3789.00,3795.00,3789.00,3793.00,7949,0
+2006-02-21,09:10:00,3794.00,3794.00,3793.00,3793.00,3421,0
+2006-02-21,09:11:00,3793.00,3795.00,3793.00,3794.00,3270,0
+2006-02-21,09:12:00,3794.00,3796.00,3794.00,3794.00,2402,0
+2006-02-21,09:13:00,3794.00,3794.00,3793.00,3793.00,691,0
+2006-02-21,09:14:00,3793.00,3794.00,3793.00,3793.00,1296,0
+2006-02-21,09:15:00,3793.00,3794.00,3791.00,3792.00,1658,0
+2006-02-21,09:16:00,3792.00,3793.00,3791.00,3792.00,1275,0
+2006-02-21,09:17:00,3791.00,3792.00,3790.00,3791.00,1521,0
+2006-02-21,09:18:00,3791.00,3792.00,3791.00,3791.00,5325,0
+2006-02-21,09:19:00,3791.00,3793.00,3791.00,3791.00,2199,0
+2006-02-21,09:20:00,3791.00,3792.00,3790.00,3790.00,540,0
+2006-02-21,09:21:00,3791.00,3792.00,3790.00,3791.00,1329,0
+2006-02-21,09:22:00,3791.00,3792.00,3791.00,3792.00,178,0
+2006-02-21,09:23:00,3792.00,3793.00,3790.00,3790.00,705,0
+2006-02-21,09:24:00,3791.00,3791.00,3790.00,3790.00,496,0
+2006-02-21,09:25:00,3791.00,3791.00,3789.00,3789.00,707,0
+2006-02-21,09:26:00,3789.00,3789.00,3788.00,3788.00,1276,0
+2006-02-21,09:27:00,3789.00,3790.00,3788.00,3789.00,1051,0
+2006-02-21,09:28:00,3789.00,3790.00,3788.00,3789.00,553,0
+2006-02-21,09:29:00,3789.00,3793.00,3789.00,3792.00,1694,0
+2006-02-21,09:30:00,3793.00,3794.00,3791.00,3792.00,1342,0
+2006-02-21,09:31:00,3792.00,3794.00,3791.00,3793.00,1713,0
+2006-02-21,09:32:00,3793.00,3795.00,3792.00,3793.00,998,0
+2006-02-21,09:33:00,3793.00,3794.00,3792.00,3792.00,1046,0
+2006-02-21,09:34:00,3793.00,3793.00,3791.00,3792.00,762,0
+2006-02-21,09:35:00,3793.00,3793.00,3792.00,3793.00,661,0
+2006-02-21,09:36:00,3792.00,3793.00,3792.00,3792.00,650,0
+2006-02-21,09:37:00,3791.00,3793.00,3791.00,3792.00,1204,0
+2006-02-21,09:38:00,3792.00,3793.00,3791.00,3792.00,731,0
+2006-02-21,09:39:00,3791.00,3792.00,3791.00,3792.00,57,0
+2006-02-21,09:40:00,3791.00,3792.00,3791.00,3791.00,146,0
+2006-02-21,09:41:00,3791.00,3791.00,3790.00,3791.00,583,0
+2006-02-21,09:42:00,3791.00,3791.00,3790.00,3791.00,751,0
+2006-02-21,09:43:00,3791.00,3792.00,3790.00,3791.00,2130,0
+2006-02-21,09:44:00,3792.00,3793.00,3792.00,3792.00,1108,0
+2006-02-21,09:45:00,3793.00,3794.00,3792.00,3793.00,857,0
+2006-02-21,09:46:00,3793.00,3794.00,3793.00,3793.00,1179,0
+2006-02-21,09:47:00,3793.00,3794.00,3791.00,3794.00,893,0
+2006-02-21,09:48:00,3793.00,3793.00,3792.00,3792.00,169,0
+2006-02-21,09:49:00,3793.00,3793.00,3792.00,3792.00,1016,0
+2006-02-21,09:50:00,3791.00,3792.00,3791.00,3791.00,683,0
+2006-02-21,09:51:00,3791.00,3792.00,3791.00,3792.00,410,0
+2006-02-21,09:52:00,3791.00,3792.00,3791.00,3792.00,45,0
+2006-02-21,09:53:00,3792.00,3793.00,3791.00,3792.00,568,0
+2006-02-21,09:54:00,3792.00,3792.00,3791.00,3791.00,38,0
+2006-02-21,09:55:00,3792.00,3793.00,3791.00,3793.00,629,0
+2006-02-21,09:56:00,3793.00,3793.00,3791.00,3792.00,834,0
+2006-02-21,09:57:00,3792.00,3793.00,3792.00,3793.00,243,0
+2006-02-21,09:58:00,3793.00,3793.00,3791.00,3792.00,942,0
+2006-02-21,09:59:00,3792.00,3792.00,3792.00,3792.00,27,0
+2006-02-21,10:00:00,3792.00,3793.00,3791.00,3792.00,425,0
+2006-02-21,10:01:00,3791.00,3792.00,3791.00,3792.00,904,0
+2006-02-21,10:02:00,3793.00,3793.00,3792.00,3792.00,83,0
+2006-02-21,10:03:00,3792.00,3794.00,3792.00,3793.00,1221,0
+2006-02-21,10:04:00,3793.00,3794.00,3792.00,3793.00,146,0
+2006-02-21,10:05:00,3793.00,3794.00,3792.00,3794.00,1067,0
+2006-02-21,10:06:00,3794.00,3794.00,3794.00,3794.00,442,0
+2006-02-21,10:07:00,3793.00,3795.00,3793.00,3794.00,216,0
+2006-02-21,10:08:00,3794.00,3795.00,3794.00,3795.00,403,0
+2006-02-21,10:09:00,3795.00,3796.00,3794.00,3795.00,1274,0
+2006-02-21,10:10:00,3795.00,3797.00,3795.00,3796.00,1565,0
+2006-02-21,10:11:00,3796.00,3797.00,3796.00,3796.00,1374,0
+2006-02-21,10:12:00,3796.00,3797.00,3796.00,3796.00,366,0
+2006-02-21,10:13:00,3797.00,3798.00,3795.00,3795.00,2020,0
+2006-02-21,10:14:00,3796.00,3796.00,3795.00,3795.00,63,0
+2006-02-21,10:15:00,3796.00,3796.00,3795.00,3796.00,289,0
+2006-02-21,10:16:00,3795.00,3797.00,3795.00,3796.00,932,0
+2006-02-21,10:17:00,3796.00,3796.00,3795.00,3796.00,633,0
+2006-02-21,10:18:00,3796.00,3796.00,3796.00,3796.00,178,0
+2006-02-21,10:19:00,3796.00,3797.00,3796.00,3797.00,2146,0
+2006-02-21,10:20:00,3797.00,3798.00,3796.00,3797.00,1942,0
+2006-02-21,10:21:00,3797.00,3798.00,3796.00,3797.00,489,0
+2006-02-21,10:22:00,3797.00,3797.00,3795.00,3796.00,796,0
+2006-02-21,10:23:00,3795.00,3797.00,3795.00,3796.00,372,0
+2006-02-21,10:24:00,3796.00,3796.00,3795.00,3795.00,305,0
+2006-02-21,10:25:00,3796.00,3797.00,3795.00,3797.00,207,0
+2006-02-21,10:26:00,3796.00,3797.00,3795.00,3797.00,564,0
+2006-02-21,10:27:00,3796.00,3797.00,3795.00,3795.00,151,0
+2006-02-21,10:28:00,3796.00,3796.00,3794.00,3795.00,2364,0
+2006-02-21,10:29:00,3795.00,3796.00,3795.00,3796.00,795,0
+2006-02-21,10:30:00,3796.00,3797.00,3796.00,3796.00,109,0
+2006-02-21,10:31:00,3796.00,3798.00,3796.00,3797.00,994,0
+2006-02-21,10:32:00,3796.00,3798.00,3796.00,3798.00,522,0
+2006-02-21,10:33:00,3798.00,3799.00,3798.00,3799.00,1355,0
+2006-02-21,10:34:00,3799.00,3799.00,3798.00,3799.00,2713,0
+2006-02-21,10:35:00,3799.00,3800.00,3798.00,3798.00,1230,0
+2006-02-21,10:36:00,3799.00,3799.00,3798.00,3799.00,1070,0
+2006-02-21,10:37:00,3799.00,3800.00,3798.00,3799.00,573,0
+2006-02-21,10:38:00,3798.00,3799.00,3798.00,3798.00,1455,0
+2006-02-21,10:39:00,3798.00,3799.00,3798.00,3799.00,333,0
+2006-02-21,10:40:00,3799.00,3800.00,3799.00,3800.00,561,0
+2006-02-21,10:41:00,3799.00,3802.00,3799.00,3802.00,2502,0
+2006-02-21,10:42:00,3801.00,3802.00,3800.00,3801.00,2242,0
+2006-02-21,10:43:00,3801.00,3801.00,3799.00,3800.00,1825,0
+2006-02-21,10:44:00,3800.00,3800.00,3799.00,3799.00,937,0
+2006-02-21,10:45:00,3799.00,3799.00,3798.00,3799.00,1990,0
+2006-02-21,10:46:00,3799.00,3800.00,3799.00,3800.00,502,0
+2006-02-21,10:47:00,3800.00,3800.00,3799.00,3799.00,645,0
+2006-02-21,10:48:00,3800.00,3801.00,3799.00,3800.00,1901,0
+2006-02-21,10:49:00,3800.00,3800.00,3800.00,3800.00,68,0
+2006-02-21,10:50:00,3800.00,3801.00,3800.00,3800.00,1028,0
+2006-02-21,10:51:00,3800.00,3800.00,3799.00,3800.00,436,0
+2006-02-21,10:52:00,3800.00,3802.00,3800.00,3802.00,1803,0
+2006-02-21,10:53:00,3802.00,3802.00,3799.00,3800.00,1290,0
+2006-02-21,10:54:00,3801.00,3801.00,3800.00,3801.00,452,0
+2006-02-21,10:55:00,3801.00,3802.00,3800.00,3802.00,245,0
+2006-02-21,10:56:00,3801.00,3801.00,3801.00,3801.00,420,0
+2006-02-21,10:57:00,3801.00,3801.00,3800.00,3801.00,423,0
+2006-02-21,10:58:00,3801.00,3802.00,3800.00,3801.00,441,0
+2006-02-21,10:59:00,3802.00,3803.00,3801.00,3803.00,1526,0
+2006-02-21,11:00:00,3802.00,3803.00,3801.00,3803.00,910,0
+2006-02-21,11:01:00,3803.00,3804.00,3802.00,3803.00,1595,0
+2006-02-21,11:02:00,3803.00,3803.00,3802.00,3803.00,190,0
+2006-02-21,11:03:00,3803.00,3804.00,3802.00,3803.00,753,0
+2006-02-21,11:04:00,3802.00,3803.00,3801.00,3801.00,1211,0
+2006-02-21,11:05:00,3801.00,3802.00,3801.00,3802.00,465,0
+2006-02-21,11:06:00,3803.00,3804.00,3802.00,3803.00,1644,0
+2006-02-21,11:07:00,3803.00,3805.00,3803.00,3804.00,3432,0
+2006-02-21,11:08:00,3804.00,3806.00,3804.00,3805.00,2341,0
+2006-02-21,11:09:00,3806.00,3806.00,3805.00,3806.00,861,0
+2006-02-21,11:10:00,3805.00,3807.00,3804.00,3806.00,2299,0
+2006-02-21,11:11:00,3807.00,3808.00,3806.00,3806.00,3378,0
+2006-02-21,11:12:00,3806.00,3806.00,3804.00,3805.00,829,0
+2006-02-21,11:13:00,3805.00,3805.00,3803.00,3804.00,2183,0
+2006-02-21,11:14:00,3804.00,3805.00,3804.00,3804.00,206,0
+2006-02-21,11:15:00,3805.00,3805.00,3803.00,3803.00,1070,0
+2006-02-21,11:16:00,3803.00,3803.00,3801.00,3802.00,1673,0
+2006-02-21,11:17:00,3802.00,3802.00,3801.00,3801.00,50,0
+2006-02-21,11:18:00,3801.00,3803.00,3801.00,3803.00,489,0
+2006-02-21,11:19:00,3803.00,3804.00,3801.00,3801.00,1084,0
+2006-02-21,11:20:00,3802.00,3802.00,3801.00,3801.00,287,0
+2006-02-21,11:21:00,3802.00,3803.00,3801.00,3802.00,497,0
+2006-02-21,11:22:00,3802.00,3803.00,3801.00,3802.00,375,0
+2006-02-21,11:23:00,3802.00,3803.00,3802.00,3802.00,236,0
+2006-02-21,11:24:00,3803.00,3803.00,3802.00,3802.00,78,0
+2006-02-21,11:25:00,3802.00,3802.00,3801.00,3802.00,856,0
+2006-02-21,11:26:00,3802.00,3803.00,3802.00,3802.00,84,0
+2006-02-21,11:27:00,3802.00,3802.00,3802.00,3802.00,221,0
+2006-02-21,11:28:00,3802.00,3802.00,3801.00,3801.00,283,0
+2006-02-21,11:29:00,3802.00,3802.00,3801.00,3802.00,294,0
+2006-02-21,11:30:00,3802.00,3802.00,3802.00,3802.00,448,0
+2006-02-21,11:31:00,3802.00,3802.00,3802.00,3802.00,394,0
+2006-02-21,11:32:00,3802.00,3802.00,3801.00,3802.00,50,0
+2006-02-21,11:33:00,3802.00,3802.00,3802.00,3802.00,940,0
+2006-02-21,11:34:00,3802.00,3803.00,3802.00,3802.00,54,0
+2006-02-21,11:35:00,3802.00,3802.00,3802.00,3802.00,374,0
+2006-02-21,11:36:00,3802.00,3802.00,3801.00,3801.00,26,0
+2006-02-21,11:37:00,3802.00,3802.00,3801.00,3801.00,771,0
+2006-02-21,11:38:00,3801.00,3802.00,3800.00,3802.00,1355,0
+2006-02-21,11:39:00,3802.00,3802.00,3801.00,3801.00,232,0
+2006-02-21,11:40:00,3802.00,3802.00,3801.00,3802.00,476,0
+2006-02-21,11:41:00,3802.00,3803.00,3802.00,3802.00,272,0
+2006-02-21,11:42:00,3801.00,3802.00,3801.00,3802.00,90,0
+2006-02-21,11:43:00,3802.00,3802.00,3801.00,3802.00,378,0
+2006-02-21,11:44:00,3802.00,3803.00,3802.00,3803.00,392,0
+2006-02-21,11:45:00,3803.00,3803.00,3802.00,3802.00,258,0
+2006-02-21,11:46:00,3802.00,3803.00,3801.00,3801.00,811,0
+2006-02-21,11:47:00,3802.00,3803.00,3801.00,3802.00,412,0
+2006-02-21,11:48:00,3803.00,3803.00,3802.00,3803.00,688,0
+2006-02-21,11:49:00,3802.00,3802.00,3801.00,3802.00,663,0
+2006-02-21,11:50:00,3802.00,3803.00,3802.00,3802.00,159,0
+2006-02-21,11:51:00,3802.00,3802.00,3801.00,3801.00,349,0
+2006-02-21,11:52:00,3801.00,3802.00,3800.00,3801.00,1830,0
+2006-02-21,11:53:00,3800.00,3801.00,3798.00,3798.00,1716,0
+2006-02-21,11:54:00,3798.00,3801.00,3798.00,3800.00,1006,0
+2006-02-21,11:55:00,3799.00,3800.00,3799.00,3800.00,212,0
+2006-02-21,11:56:00,3799.00,3800.00,3799.00,3800.00,291,0
+2006-02-21,11:57:00,3800.00,3800.00,3799.00,3799.00,230,0
+2006-02-21,11:58:00,3800.00,3800.00,3799.00,3800.00,156,0
+2006-02-21,11:59:00,3800.00,3801.00,3800.00,3801.00,930,0
+2006-02-21,12:00:00,3801.00,3801.00,3800.00,3800.00,476,0
+2006-02-21,12:01:00,3800.00,3800.00,3799.00,3800.00,553,0
+2006-02-21,12:02:00,3800.00,3800.00,3800.00,3800.00,3,0
+2006-02-21,12:03:00,3801.00,3802.00,3800.00,3802.00,505,0
+2006-02-21,12:04:00,3801.00,3802.00,3801.00,3801.00,334,0
+2006-02-21,12:05:00,3801.00,3801.00,3800.00,3800.00,287,0
+2006-02-21,12:06:00,3800.00,3801.00,3800.00,3801.00,163,0
+2006-02-21,12:07:00,3801.00,3801.00,3800.00,3801.00,632,0
+2006-02-21,12:08:00,3801.00,3802.00,3801.00,3802.00,656,0
+2006-02-21,12:09:00,3801.00,3802.00,3801.00,3802.00,1136,0
+2006-02-21,12:10:00,3802.00,3802.00,3801.00,3801.00,138,0
+2006-02-21,12:11:00,3801.00,3802.00,3801.00,3802.00,14,0
+2006-02-21,12:12:00,3801.00,3802.00,3801.00,3802.00,336,0
+2006-02-21,12:13:00,3802.00,3802.00,3802.00,3802.00,91,0
+2006-02-21,12:14:00,3801.00,3801.00,3801.00,3801.00,361,0
+2006-02-21,12:15:00,3801.00,3801.00,3800.00,3800.00,229,0
+2006-02-21,12:16:00,3800.00,3801.00,3800.00,3801.00,8,0
+2006-02-21,12:17:00,3800.00,3800.00,3800.00,3800.00,10,0
+2006-02-21,12:18:00,3800.00,3801.00,3800.00,3800.00,446,0
+2006-02-21,12:19:00,3800.00,3801.00,3800.00,3800.00,22,0
+2006-02-21,12:20:00,3801.00,3801.00,3800.00,3800.00,153,0
+2006-02-21,12:21:00,3800.00,3801.00,3799.00,3800.00,680,0
+2006-02-21,12:22:00,3800.00,3800.00,3799.00,3799.00,9,0
+2006-02-21,12:23:00,3800.00,3800.00,3799.00,3800.00,84,0
+2006-02-21,12:24:00,3799.00,3800.00,3799.00,3799.00,12,0
+2006-02-21,12:25:00,3800.00,3800.00,3799.00,3799.00,286,0
+2006-02-21,12:26:00,3800.00,3800.00,3800.00,3800.00,2,0
+2006-02-21,12:27:00,3800.00,3800.00,3800.00,3800.00,151,0
+2006-02-21,12:28:00,3800.00,3800.00,3799.00,3799.00,2210,0
+2006-02-21,12:29:00,3800.00,3800.00,3800.00,3800.00,722,0
+2006-02-21,12:30:00,3801.00,3801.00,3800.00,3801.00,713,0
+2006-02-21,12:31:00,3800.00,3800.00,3800.00,3800.00,996,0
+2006-02-21,12:32:00,3800.00,3800.00,3800.00,3800.00,594,0
+2006-02-21,12:33:00,3799.00,3800.00,3799.00,3800.00,337,0
+2006-02-21,12:34:00,3799.00,3800.00,3798.00,3799.00,2563,0
+2006-02-21,12:35:00,3799.00,3799.00,3799.00,3799.00,350,0
+2006-02-21,12:36:00,3800.00,3800.00,3799.00,3799.00,168,0
+2006-02-21,12:37:00,3799.00,3799.00,3799.00,3799.00,49,0
+2006-02-21,12:38:00,3799.00,3800.00,3799.00,3799.00,278,0
+2006-02-21,12:39:00,3799.00,3800.00,3799.00,3799.00,24,0
+2006-02-21,12:40:00,3799.00,3800.00,3799.00,3799.00,182,0
+2006-02-21,12:41:00,3799.00,3799.00,3798.00,3798.00,508,0
+2006-02-21,12:42:00,3798.00,3799.00,3798.00,3799.00,336,0
+2006-02-21,12:43:00,3798.00,3799.00,3798.00,3799.00,106,0
+2006-02-21,12:44:00,3798.00,3798.00,3798.00,3798.00,7,0
+2006-02-21,12:45:00,3798.00,3799.00,3798.00,3798.00,885,0
+2006-02-21,12:46:00,3799.00,3799.00,3798.00,3799.00,78,0
+2006-02-21,12:47:00,3799.00,3799.00,3798.00,3799.00,613,0
+2006-02-21,12:48:00,3798.00,3799.00,3798.00,3799.00,183,0
+2006-02-21,12:49:00,3799.00,3800.00,3799.00,3799.00,12,0
+2006-02-21,12:50:00,3799.00,3799.00,3799.00,3799.00,45,0
+2006-02-21,12:51:00,3799.00,3800.00,3799.00,3800.00,219,0
+2006-02-21,12:52:00,3800.00,3800.00,3799.00,3799.00,11,0
+2006-02-21,12:53:00,3800.00,3800.00,3799.00,3800.00,178,0
+2006-02-21,12:54:00,3799.00,3799.00,3799.00,3799.00,37,0
+2006-02-21,12:55:00,3799.00,3800.00,3799.00,3800.00,609,0
+2006-02-21,12:56:00,3799.00,3799.00,3799.00,3799.00,168,0
+2006-02-21,12:57:00,3799.00,3800.00,3799.00,3799.00,6,0
+2006-02-21,12:58:00,3800.00,3800.00,3800.00,3800.00,591,0
+2006-02-21,12:59:00,3800.00,3800.00,3800.00,3800.00,70,0
+2006-02-21,13:00:00,3799.00,3800.00,3799.00,3799.00,118,0
+2006-02-21,13:01:00,3799.00,3799.00,3799.00,3799.00,250,0
+2006-02-21,13:02:00,3799.00,3800.00,3799.00,3799.00,19,0
+2006-02-21,13:04:00,3800.00,3800.00,3800.00,3800.00,58,0
+2006-02-21,13:05:00,3800.00,3800.00,3799.00,3799.00,9,0
+2006-02-21,13:06:00,3800.00,3800.00,3799.00,3800.00,37,0
+2006-02-21,13:07:00,3799.00,3800.00,3799.00,3799.00,146,0
+2006-02-21,13:08:00,3800.00,3800.00,3800.00,3800.00,451,0
+2006-02-21,13:09:00,3800.00,3800.00,3800.00,3800.00,315,0
+2006-02-21,13:10:00,3800.00,3801.00,3800.00,3801.00,83,0
+2006-02-21,13:11:00,3800.00,3800.00,3799.00,3799.00,202,0
+2006-02-21,13:12:00,3800.00,3800.00,3800.00,3800.00,2,0
+2006-02-21,13:13:00,3799.00,3800.00,3799.00,3800.00,8,0
+2006-02-21,13:14:00,3799.00,3800.00,3799.00,3799.00,107,0
+2006-02-21,13:15:00,3799.00,3799.00,3798.00,3798.00,635,0
+2006-02-21,13:16:00,3799.00,3799.00,3799.00,3799.00,93,0
+2006-02-21,13:17:00,3799.00,3800.00,3799.00,3799.00,42,0
+2006-02-21,13:18:00,3799.00,3800.00,3799.00,3799.00,241,0
+2006-02-21,13:19:00,3799.00,3799.00,3799.00,3799.00,70,0
+2006-02-21,13:20:00,3799.00,3799.00,3799.00,3799.00,280,0
+2006-02-21,13:21:00,3799.00,3800.00,3799.00,3799.00,68,0
+2006-02-21,13:22:00,3800.00,3800.00,3800.00,3800.00,2,0
+2006-02-21,13:23:00,3800.00,3800.00,3800.00,3800.00,19,0
+2006-02-21,13:24:00,3799.00,3799.00,3799.00,3799.00,203,0
+2006-02-21,13:25:00,3799.00,3799.00,3799.00,3799.00,99,0
+2006-02-21,13:26:00,3799.00,3799.00,3799.00,3799.00,1,0
+2006-02-21,13:27:00,3800.00,3800.00,3799.00,3799.00,3,0
+2006-02-21,13:28:00,3800.00,3800.00,3799.00,3800.00,151,0
+2006-02-21,13:29:00,3800.00,3800.00,3799.00,3799.00,261,0
+2006-02-21,13:30:00,3799.00,3800.00,3799.00,3800.00,102,0
+2006-02-21,13:31:00,3799.00,3800.00,3799.00,3800.00,386,0
+2006-02-21,13:32:00,3799.00,3799.00,3799.00,3799.00,2,0
+2006-02-21,13:34:00,3799.00,3800.00,3799.00,3800.00,2,0
+2006-02-21,13:35:00,3799.00,3800.00,3799.00,3800.00,1010,0
+2006-02-21,13:36:00,3799.00,3800.00,3799.00,3799.00,8,0
+2006-02-21,13:38:00,3799.00,3799.00,3799.00,3799.00,500,0
+2006-02-21,13:39:00,3798.00,3799.00,3798.00,3798.00,181,0
+2006-02-21,13:40:00,3798.00,3799.00,3798.00,3799.00,300,0
+2006-02-21,13:41:00,3798.00,3798.00,3798.00,3798.00,135,0
+2006-02-21,13:42:00,3799.00,3799.00,3798.00,3799.00,276,0
+2006-02-21,13:43:00,3799.00,3799.00,3798.00,3799.00,22,0
+2006-02-21,13:44:00,3798.00,3798.00,3798.00,3798.00,258,0
+2006-02-21,13:45:00,3798.00,3798.00,3798.00,3798.00,258,0
+2006-02-21,13:46:00,3798.00,3799.00,3798.00,3799.00,45,0
+2006-02-21,13:47:00,3798.00,3799.00,3798.00,3799.00,302,0
+2006-02-21,13:48:00,3798.00,3798.00,3798.00,3798.00,602,0
+2006-02-21,13:49:00,3798.00,3798.00,3798.00,3798.00,72,0
+2006-02-21,13:50:00,3799.00,3799.00,3798.00,3798.00,34,0
+2006-02-21,13:51:00,3799.00,3799.00,3798.00,3798.00,65,0
+2006-02-21,13:52:00,3798.00,3799.00,3798.00,3799.00,2171,0
+2006-02-21,13:53:00,3799.00,3799.00,3797.00,3797.00,365,0
+2006-02-21,13:54:00,3798.00,3798.00,3797.00,3797.00,273,0
+2006-02-21,13:55:00,3798.00,3798.00,3797.00,3797.00,142,0
+2006-02-21,13:56:00,3798.00,3799.00,3798.00,3798.00,248,0
+2006-02-21,13:57:00,3798.00,3798.00,3798.00,3798.00,133,0
+2006-02-21,13:58:00,3798.00,3799.00,3798.00,3798.00,210,0
+2006-02-21,13:59:00,3799.00,3799.00,3798.00,3798.00,53,0
+2006-02-21,14:00:00,3799.00,3799.00,3799.00,3799.00,260,0
+2006-02-21,14:01:00,3798.00,3799.00,3798.00,3799.00,158,0
+2006-02-21,14:02:00,3798.00,3799.00,3798.00,3799.00,30,0
+2006-02-21,14:03:00,3799.00,3799.00,3798.00,3798.00,86,0
+2006-02-21,14:04:00,3798.00,3799.00,3798.00,3798.00,251,0
+2006-02-21,14:05:00,3799.00,3799.00,3798.00,3799.00,91,0
+2006-02-21,14:06:00,3799.00,3799.00,3799.00,3799.00,12,0
+2006-02-21,14:07:00,3799.00,3800.00,3799.00,3800.00,930,0
+2006-02-21,14:08:00,3800.00,3800.00,3799.00,3799.00,57,0
+2006-02-21,14:09:00,3799.00,3800.00,3799.00,3799.00,355,0
+2006-02-21,14:10:00,3799.00,3799.00,3799.00,3799.00,122,0
+2006-02-21,14:11:00,3799.00,3799.00,3796.00,3796.00,1942,0
+2006-02-21,14:12:00,3796.00,3798.00,3796.00,3798.00,1046,0
+2006-02-21,14:13:00,3798.00,3798.00,3797.00,3798.00,66,0
+2006-02-21,14:14:00,3798.00,3798.00,3796.00,3797.00,221,0
+2006-02-21,14:15:00,3797.00,3797.00,3796.00,3796.00,295,0
+2006-02-21,14:16:00,3797.00,3797.00,3796.00,3796.00,204,0
+2006-02-21,14:17:00,3797.00,3797.00,3797.00,3797.00,206,0
+2006-02-21,14:18:00,3796.00,3797.00,3796.00,3796.00,197,0
+2006-02-21,14:19:00,3797.00,3797.00,3795.00,3796.00,616,0
+2006-02-21,14:20:00,3795.00,3797.00,3795.00,3797.00,130,0
+2006-02-21,14:21:00,3797.00,3797.00,3796.00,3797.00,16,0
+2006-02-21,14:22:00,3796.00,3797.00,3796.00,3797.00,34,0
+2006-02-21,14:23:00,3797.00,3797.00,3795.00,3795.00,418,0
+2006-02-21,14:24:00,3796.00,3797.00,3796.00,3797.00,270,0
+2006-02-21,14:25:00,3797.00,3797.00,3796.00,3797.00,15,0
+2006-02-21,14:26:00,3797.00,3797.00,3797.00,3797.00,114,0
+2006-02-21,14:27:00,3797.00,3797.00,3796.00,3797.00,344,0
+2006-02-21,14:28:00,3797.00,3798.00,3797.00,3798.00,278,0
+2006-02-21,14:29:00,3798.00,3798.00,3797.00,3797.00,95,0
+2006-02-21,14:30:00,3797.00,3798.00,3796.00,3797.00,133,0
+2006-02-21,14:31:00,3797.00,3798.00,3797.00,3797.00,123,0
+2006-02-21,14:32:00,3798.00,3798.00,3797.00,3797.00,237,0
+2006-02-21,14:33:00,3797.00,3797.00,3796.00,3796.00,633,0
+2006-02-21,14:34:00,3797.00,3798.00,3796.00,3796.00,278,0
+2006-02-21,14:35:00,3797.00,3797.00,3796.00,3797.00,211,0
+2006-02-21,14:36:00,3797.00,3797.00,3796.00,3797.00,165,0
+2006-02-21,14:37:00,3797.00,3797.00,3796.00,3797.00,220,0
+2006-02-21,14:38:00,3798.00,3798.00,3797.00,3797.00,62,0
+2006-02-21,14:39:00,3798.00,3798.00,3797.00,3797.00,130,0
+2006-02-21,14:40:00,3797.00,3797.00,3796.00,3797.00,575,0
+2006-02-21,14:41:00,3797.00,3797.00,3797.00,3797.00,46,0
+2006-02-21,14:42:00,3797.00,3797.00,3796.00,3796.00,162,0
+2006-02-21,14:43:00,3797.00,3798.00,3797.00,3798.00,68,0
+2006-02-21,14:44:00,3798.00,3799.00,3798.00,3798.00,1800,0
+2006-02-21,14:45:00,3797.00,3798.00,3797.00,3798.00,1147,0
+2006-02-21,14:46:00,3798.00,3798.00,3797.00,3798.00,78,0
+2006-02-21,14:47:00,3798.00,3798.00,3797.00,3798.00,126,0
+2006-02-21,14:48:00,3798.00,3798.00,3797.00,3798.00,343,0
+2006-02-21,14:49:00,3798.00,3798.00,3797.00,3798.00,2021,0
+2006-02-21,14:50:00,3798.00,3798.00,3798.00,3798.00,3,0
+2006-02-21,14:51:00,3797.00,3798.00,3797.00,3798.00,50,0
+2006-02-21,14:52:00,3798.00,3798.00,3797.00,3798.00,494,0
+2006-02-21,14:53:00,3798.00,3799.00,3797.00,3797.00,1880,0
+2006-02-21,14:54:00,3797.00,3797.00,3796.00,3797.00,297,0
+2006-02-21,14:55:00,3796.00,3799.00,3796.00,3799.00,2063,0
+2006-02-21,14:56:00,3799.00,3799.00,3798.00,3799.00,617,0
+2006-02-21,14:57:00,3798.00,3799.00,3798.00,3799.00,5,0
+2006-02-21,14:58:00,3798.00,3799.00,3798.00,3798.00,399,0
+2006-02-21,14:59:00,3798.00,3799.00,3798.00,3799.00,263,0
+2006-02-21,15:00:00,3799.00,3799.00,3798.00,3798.00,213,0
+2006-02-21,15:01:00,3798.00,3799.00,3798.00,3798.00,328,0
+2006-02-21,15:02:00,3799.00,3799.00,3798.00,3798.00,21,0
+2006-02-21,15:03:00,3798.00,3799.00,3797.00,3799.00,1189,0
+2006-02-21,15:04:00,3798.00,3800.00,3798.00,3799.00,386,0
+2006-02-21,15:05:00,3799.00,3799.00,3798.00,3799.00,509,0
+2006-02-21,15:06:00,3799.00,3799.00,3798.00,3798.00,47,0
+2006-02-21,15:07:00,3798.00,3799.00,3797.00,3797.00,735,0
+2006-02-21,15:08:00,3798.00,3798.00,3797.00,3797.00,179,0
+2006-02-21,15:09:00,3798.00,3798.00,3797.00,3798.00,14,0
+2006-02-21,15:10:00,3797.00,3798.00,3797.00,3798.00,3,0
+2006-02-21,15:11:00,3797.00,3797.00,3797.00,3797.00,51,0
+2006-02-21,15:12:00,3798.00,3798.00,3798.00,3798.00,17,0
+2006-02-21,15:13:00,3798.00,3798.00,3798.00,3798.00,8,0
+2006-02-21,15:14:00,3797.00,3798.00,3797.00,3798.00,117,0
+2006-02-21,15:15:00,3798.00,3798.00,3798.00,3798.00,1,0
+2006-02-21,15:16:00,3797.00,3797.00,3797.00,3797.00,2,0
+2006-02-21,15:17:00,3797.00,3798.00,3797.00,3797.00,244,0
+2006-02-21,15:18:00,3798.00,3798.00,3797.00,3798.00,324,0
+2006-02-21,15:19:00,3798.00,3799.00,3798.00,3799.00,191,0
+2006-02-21,15:20:00,3799.00,3799.00,3798.00,3799.00,61,0
+2006-02-21,15:21:00,3799.00,3799.00,3798.00,3798.00,11,0
+2006-02-21,15:22:00,3798.00,3799.00,3798.00,3799.00,81,0
+2006-02-21,15:23:00,3798.00,3798.00,3798.00,3798.00,50,0
+2006-02-21,15:24:00,3798.00,3799.00,3797.00,3797.00,436,0
+2006-02-21,15:25:00,3798.00,3798.00,3797.00,3797.00,52,0
+2006-02-21,15:26:00,3797.00,3798.00,3797.00,3797.00,93,0
+2006-02-21,15:27:00,3797.00,3798.00,3797.00,3798.00,76,0
+2006-02-21,15:28:00,3798.00,3798.00,3797.00,3798.00,42,0
+2006-02-21,15:29:00,3798.00,3798.00,3797.00,3798.00,322,0
+2006-02-21,15:30:00,3799.00,3799.00,3798.00,3798.00,125,0
+2006-02-21,15:31:00,3799.00,3799.00,3799.00,3799.00,100,0
+2006-02-21,15:32:00,3799.00,3800.00,3799.00,3799.00,400,0
+2006-02-21,15:33:00,3799.00,3801.00,3799.00,3801.00,677,0
+2006-02-21,15:34:00,3800.00,3800.00,3798.00,3798.00,548,0
+2006-02-21,15:35:00,3799.00,3799.00,3799.00,3799.00,306,0
+2006-02-21,15:36:00,3800.00,3800.00,3799.00,3799.00,763,0
+2006-02-21,15:37:00,3799.00,3799.00,3798.00,3799.00,342,0
+2006-02-21,15:38:00,3799.00,3799.00,3798.00,3799.00,1215,0
+2006-02-21,15:39:00,3798.00,3799.00,3797.00,3797.00,819,0
+2006-02-21,15:40:00,3798.00,3801.00,3798.00,3801.00,1828,0
+2006-02-21,15:41:00,3801.00,3803.00,3800.00,3801.00,2279,0
+2006-02-21,15:42:00,3802.00,3802.00,3801.00,3802.00,401,0
+2006-02-21,15:43:00,3802.00,3803.00,3801.00,3803.00,2252,0
+2006-02-21,15:44:00,3803.00,3804.00,3802.00,3802.00,1558,0
+2006-02-21,15:45:00,3802.00,3803.00,3802.00,3802.00,60,0
+2006-02-21,15:46:00,3802.00,3803.00,3802.00,3803.00,1423,0
+2006-02-21,15:47:00,3803.00,3803.00,3801.00,3801.00,1424,0
+2006-02-21,15:48:00,3801.00,3801.00,3799.00,3800.00,2064,0
+2006-02-21,15:49:00,3801.00,3801.00,3800.00,3800.00,1013,0
+2006-02-21,15:50:00,3801.00,3801.00,3799.00,3800.00,708,0
+2006-02-21,15:51:00,3800.00,3801.00,3799.00,3799.00,597,0
+2006-02-21,15:52:00,3800.00,3800.00,3798.00,3798.00,1002,0
+2006-02-21,15:53:00,3799.00,3799.00,3797.00,3797.00,1850,0
+2006-02-21,15:54:00,3797.00,3798.00,3796.00,3797.00,2224,0
+2006-02-21,15:55:00,3797.00,3798.00,3797.00,3797.00,1024,0
+2006-02-21,15:56:00,3798.00,3799.00,3797.00,3798.00,1671,0
+2006-02-21,15:57:00,3798.00,3798.00,3797.00,3798.00,595,0
+2006-02-21,15:58:00,3798.00,3798.00,3796.00,3796.00,873,0
+2006-02-21,15:59:00,3796.00,3796.00,3794.00,3796.00,2248,0
+2006-02-21,16:00:00,3795.00,3796.00,3794.00,3795.00,1149,0
+2006-02-21,16:01:00,3795.00,3797.00,3795.00,3796.00,2847,0
+2006-02-21,16:02:00,3796.00,3799.00,3795.00,3799.00,2073,0
+2006-02-21,16:03:00,3798.00,3799.00,3797.00,3798.00,1579,0
+2006-02-21,16:04:00,3798.00,3799.00,3796.00,3796.00,1614,0
+2006-02-21,16:05:00,3795.00,3796.00,3793.00,3794.00,2640,0
+2006-02-21,16:06:00,3794.00,3794.00,3792.00,3793.00,2240,0
+2006-02-21,16:07:00,3793.00,3795.00,3793.00,3794.00,1064,0
+2006-02-21,16:08:00,3795.00,3795.00,3793.00,3794.00,1028,0
+2006-02-21,16:09:00,3793.00,3794.00,3792.00,3792.00,1905,0
+2006-02-21,16:10:00,3792.00,3794.00,3792.00,3793.00,1293,0
+2006-02-21,16:11:00,3793.00,3793.00,3791.00,3792.00,1349,0
+2006-02-21,16:12:00,3792.00,3793.00,3791.00,3792.00,1026,0
+2006-02-21,16:13:00,3792.00,3792.00,3787.00,3787.00,4779,0
+2006-02-21,16:14:00,3787.00,3788.00,3783.00,3784.00,6073,0
+2006-02-21,16:15:00,3784.00,3785.00,3782.00,3784.00,4110,0
+2006-02-21,16:16:00,3783.00,3785.00,3783.00,3783.00,5248,0
+2006-02-21,16:17:00,3784.00,3785.00,3783.00,3785.00,1951,0
+2006-02-21,16:18:00,3784.00,3785.00,3781.00,3782.00,5437,0
+2006-02-21,16:19:00,3783.00,3783.00,3778.00,3779.00,4775,0
+2006-02-21,16:20:00,3779.00,3782.00,3779.00,3782.00,4034,0
+2006-02-21,16:21:00,3781.00,3782.00,3780.00,3780.00,3636,0
+2006-02-21,16:22:00,3780.00,3782.00,3779.00,3780.00,2738,0
+2006-02-21,16:23:00,3779.00,3780.00,3777.00,3778.00,2706,0
+2006-02-21,16:24:00,3779.00,3782.00,3779.00,3782.00,3251,0
+2006-02-21,16:25:00,3781.00,3782.00,3777.00,3779.00,5280,0
+2006-02-21,16:26:00,3778.00,3780.00,3778.00,3779.00,1400,0
+2006-02-21,16:27:00,3779.00,3779.00,3776.00,3776.00,4129,0
+2006-02-21,16:28:00,3776.00,3777.00,3773.00,3775.00,7201,0
+2006-02-21,16:29:00,3775.00,3778.00,3775.00,3777.00,2495,0
+2006-02-21,16:30:00,3777.00,3780.00,3777.00,3780.00,3571,0
+2006-02-21,16:31:00,3779.00,3780.00,3778.00,3778.00,1864,0
+2006-02-21,16:32:00,3779.00,3780.00,3778.00,3780.00,1346,0
+2006-02-21,16:33:00,3779.00,3781.00,3779.00,3779.00,5569,0
+2006-02-21,16:34:00,3780.00,3781.00,3778.00,3779.00,2093,0
+2006-02-21,16:35:00,3779.00,3779.00,3778.00,3778.00,1451,0
+2006-02-21,16:36:00,3778.00,3779.00,3777.00,3779.00,1352,0
+2006-02-21,16:37:00,3779.00,3779.00,3776.00,3776.00,2364,0
+2006-02-21,16:38:00,3775.00,3776.00,3774.00,3775.00,2533,0
+2006-02-21,16:39:00,3775.00,3775.00,3772.00,3774.00,3759,0
+2006-02-21,16:40:00,3774.00,3776.00,3773.00,3775.00,2226,0
+2006-02-21,16:41:00,3776.00,3778.00,3776.00,3777.00,1333,0
+2006-02-21,16:42:00,3777.00,3780.00,3777.00,3779.00,3326,0
+2006-02-21,16:43:00,3779.00,3781.00,3779.00,3781.00,1968,0
+2006-02-21,16:44:00,3780.00,3782.00,3779.00,3782.00,2842,0
+2006-02-21,16:45:00,3781.00,3783.00,3781.00,3782.00,2495,0
+2006-02-21,16:46:00,3782.00,3783.00,3780.00,3781.00,1547,0
+2006-02-21,16:47:00,3781.00,3782.00,3781.00,3781.00,725,0
+2006-02-21,16:48:00,3780.00,3782.00,3780.00,3781.00,1616,0
+2006-02-21,16:49:00,3781.00,3781.00,3780.00,3781.00,381,0
+2006-02-21,16:50:00,3781.00,3782.00,3779.00,3780.00,1608,0
+2006-02-21,16:51:00,3780.00,3781.00,3780.00,3781.00,494,0
+2006-02-21,16:52:00,3781.00,3783.00,3781.00,3783.00,1099,0
+2006-02-21,16:53:00,3782.00,3785.00,3782.00,3785.00,4161,0
+2006-02-21,16:54:00,3784.00,3785.00,3784.00,3784.00,1733,0
+2006-02-21,16:55:00,3784.00,3785.00,3784.00,3784.00,1427,0
+2006-02-21,16:56:00,3784.00,3784.00,3781.00,3781.00,1569,0
+2006-02-21,16:57:00,3782.00,3782.00,3781.00,3781.00,2334,0
+2006-02-21,16:58:00,3782.00,3782.00,3780.00,3780.00,1369,0
+2006-02-21,16:59:00,3781.00,3781.00,3780.00,3780.00,1865,0
+2006-02-21,17:00:00,3780.00,3781.00,3778.00,3778.00,1408,0
+2006-02-21,17:01:00,3778.00,3779.00,3777.00,3778.00,2517,0
+2006-02-21,17:02:00,3779.00,3780.00,3778.00,3780.00,1563,0
+2006-02-21,17:03:00,3781.00,3782.00,3780.00,3781.00,1175,0
+2006-02-21,17:04:00,3780.00,3780.00,3778.00,3778.00,864,0
+2006-02-21,17:05:00,3779.00,3780.00,3779.00,3779.00,392,0
+2006-02-21,17:06:00,3779.00,3781.00,3779.00,3780.00,1059,0
+2006-02-21,17:07:00,3780.00,3780.00,3779.00,3780.00,56,0
+2006-02-21,17:08:00,3781.00,3785.00,3780.00,3784.00,2339,0
+2006-02-21,17:09:00,3784.00,3785.00,3784.00,3784.00,2457,0
+2006-02-21,17:10:00,3785.00,3785.00,3784.00,3784.00,804,0
+2006-02-21,17:11:00,3784.00,3786.00,3784.00,3785.00,2416,0
+2006-02-21,17:12:00,3785.00,3785.00,3784.00,3785.00,1522,0
+2006-02-21,17:13:00,3785.00,3786.00,3784.00,3784.00,542,0
+2006-02-21,17:14:00,3785.00,3785.00,3784.00,3784.00,414,0
+2006-02-21,17:15:00,3785.00,3785.00,3784.00,3784.00,744,0
+2006-02-21,17:16:00,3785.00,3785.00,3784.00,3784.00,737,0
+2006-02-21,17:17:00,3785.00,3786.00,3784.00,3785.00,1319,0
+2006-02-21,17:18:00,3785.00,3787.00,3785.00,3786.00,1626,0
+2006-02-21,17:19:00,3786.00,3787.00,3786.00,3787.00,424,0
+2006-02-21,17:20:00,3787.00,3788.00,3787.00,3788.00,2146,0
+2006-02-21,17:21:00,3787.00,3788.00,3787.00,3787.00,1619,0
+2006-02-21,17:22:00,3787.00,3788.00,3787.00,3787.00,920,0
+2006-02-21,17:23:00,3787.00,3788.00,3786.00,3787.00,1053,0
+2006-02-21,17:24:00,3786.00,3787.00,3786.00,3787.00,351,0
+2006-02-21,17:25:00,3787.00,3787.00,3785.00,3786.00,1612,0
+2006-02-21,17:26:00,3787.00,3787.00,3786.00,3786.00,477,0
+2006-02-21,17:27:00,3787.00,3789.00,3786.00,3789.00,1822,0
+2006-02-21,17:28:00,3789.00,3789.00,3788.00,3788.00,2004,0
+2006-02-21,17:29:00,3789.00,3789.00,3787.00,3788.00,3400,0
+2006-02-21,17:30:00,3788.00,3789.00,3786.00,3788.00,6174,0
+2006-02-21,17:31:00,3788.00,3789.00,3785.00,3786.00,6270,0
+2006-02-21,17:32:00,3787.00,3787.00,3786.00,3787.00,1180,0
+2006-02-21,17:33:00,3787.00,3788.00,3787.00,3788.00,384,0
+2006-02-21,17:34:00,3787.00,3788.00,3786.00,3787.00,579,0
+2006-02-21,17:35:00,3788.00,3788.00,3786.00,3787.00,1142,0
+2006-02-21,17:36:00,3787.00,3787.00,3786.00,3786.00,389,0
+2006-02-21,17:37:00,3786.00,3787.00,3785.00,3786.00,2103,0
+2006-02-21,17:38:00,3786.00,3786.00,3785.00,3785.00,421,0
+2006-02-21,17:39:00,3786.00,3786.00,3782.00,3782.00,1522,0
+2006-02-21,17:40:00,3782.00,3784.00,3781.00,3783.00,2959,0
+2006-02-21,17:41:00,3783.00,3783.00,3781.00,3781.00,1461,0
+2006-02-21,17:42:00,3781.00,3783.00,3781.00,3783.00,912,0
+2006-02-21,17:43:00,3782.00,3783.00,3781.00,3781.00,504,0
+2006-02-21,17:44:00,3781.00,3781.00,3780.00,3781.00,948,0
+2006-02-21,17:45:00,3781.00,3782.00,3780.00,3781.00,803,0
+2006-02-21,17:46:00,3781.00,3781.00,3780.00,3780.00,730,0
+2006-02-21,17:47:00,3780.00,3781.00,3780.00,3781.00,442,0
+2006-02-21,17:48:00,3780.00,3780.00,3779.00,3779.00,557,0
+2006-02-21,17:49:00,3779.00,3780.00,3778.00,3779.00,769,0
+2006-02-21,17:50:00,3778.00,3778.00,3777.00,3777.00,980,0
+2006-02-21,17:51:00,3777.00,3777.00,3776.00,3776.00,2195,0
+2006-02-21,17:52:00,3777.00,3777.00,3776.00,3776.00,132,0
+2006-02-21,17:53:00,3777.00,3778.00,3777.00,3778.00,765,0
+2006-02-21,17:54:00,3778.00,3778.00,3776.00,3777.00,516,0
+2006-02-21,17:55:00,3778.00,3778.00,3776.00,3777.00,897,0
+2006-02-21,17:56:00,3777.00,3777.00,3775.00,3776.00,644,0
+2006-02-21,17:57:00,3775.00,3777.00,3775.00,3777.00,1268,0
+2006-02-21,17:58:00,3776.00,3776.00,3774.00,3774.00,898,0
+2006-02-21,17:59:00,3774.00,3776.00,3773.00,3776.00,1918,0
+2006-02-21,18:00:00,3776.00,3776.00,3775.00,3775.00,331,0
+2006-02-21,18:01:00,3775.00,3776.00,3773.00,3774.00,1261,0
+2006-02-21,18:02:00,3774.00,3775.00,3773.00,3775.00,529,0
+2006-02-21,18:03:00,3775.00,3775.00,3773.00,3774.00,1119,0
+2006-02-21,18:04:00,3774.00,3774.00,3773.00,3773.00,228,0
+2006-02-21,18:05:00,3773.00,3774.00,3772.00,3773.00,802,0
+2006-02-21,18:06:00,3773.00,3776.00,3772.00,3775.00,1568,0
+2006-02-21,18:07:00,3775.00,3776.00,3775.00,3775.00,172,0
+2006-02-21,18:08:00,3775.00,3777.00,3775.00,3777.00,358,0
+2006-02-21,18:09:00,3777.00,3777.00,3776.00,3777.00,548,0
+2006-02-21,18:10:00,3777.00,3777.00,3776.00,3777.00,246,0
+2006-02-21,18:11:00,3777.00,3778.00,3777.00,3778.00,199,0
+2006-02-21,18:12:00,3777.00,3778.00,3775.00,3776.00,1133,0
+2006-02-21,18:13:00,3776.00,3776.00,3775.00,3775.00,41,0
+2006-02-21,18:14:00,3776.00,3776.00,3776.00,3776.00,225,0
+2006-02-21,18:15:00,3777.00,3778.00,3776.00,3778.00,256,0
+2006-02-21,18:16:00,3779.00,3779.00,3776.00,3778.00,400,0
+2006-02-21,18:17:00,3778.00,3779.00,3778.00,3778.00,321,0
+2006-02-21,18:18:00,3778.00,3779.00,3778.00,3779.00,269,0
+2006-02-21,18:19:00,3778.00,3778.00,3777.00,3778.00,260,0
+2006-02-21,18:20:00,3778.00,3778.00,3778.00,3778.00,109,0
+2006-02-21,18:21:00,3778.00,3779.00,3778.00,3779.00,74,0
+2006-02-21,18:22:00,3779.00,3779.00,3779.00,3779.00,38,0
+2006-02-21,18:23:00,3779.00,3779.00,3777.00,3777.00,303,0
+2006-02-21,18:24:00,3777.00,3777.00,3777.00,3777.00,2,0
+2006-02-21,18:25:00,3777.00,3777.00,3777.00,3777.00,95,0
+2006-02-21,18:27:00,3777.00,3778.00,3777.00,3778.00,11,0
+2006-02-21,18:28:00,3777.00,3778.00,3777.00,3778.00,298,0
+2006-02-21,18:29:00,3778.00,3778.00,3778.00,3778.00,124,0
+2006-02-21,18:30:00,3778.00,3778.00,3776.00,3776.00,118,0
+2006-02-21,18:31:00,3777.00,3777.00,3776.00,3777.00,425,0
+2006-02-21,18:32:00,3776.00,3776.00,3774.00,3774.00,406,0
+2006-02-21,18:33:00,3775.00,3775.00,3775.00,3775.00,286,0
+2006-02-21,18:34:00,3774.00,3774.00,3773.00,3774.00,607,0
+2006-02-21,18:35:00,3774.00,3775.00,3774.00,3774.00,453,0
+2006-02-21,18:36:00,3775.00,3775.00,3774.00,3774.00,179,0
+2006-02-21,18:37:00,3775.00,3775.00,3775.00,3775.00,295,0
+2006-02-21,18:38:00,3776.00,3776.00,3776.00,3776.00,426,0
+2006-02-21,18:39:00,3777.00,3777.00,3776.00,3777.00,438,0
+2006-02-21,18:40:00,3777.00,3777.00,3776.00,3777.00,41,0
+2006-02-21,18:41:00,3777.00,3777.00,3776.00,3777.00,222,0
+2006-02-21,18:42:00,3777.00,3778.00,3777.00,3777.00,18,0
+2006-02-21,18:43:00,3778.00,3778.00,3777.00,3777.00,12,0
+2006-02-21,18:44:00,3777.00,3778.00,3777.00,3777.00,52,0
+2006-02-21,18:45:00,3777.00,3782.00,3777.00,3781.00,1834,0
+2006-02-21,18:46:00,3782.00,3782.00,3781.00,3781.00,374,0
+2006-02-21,18:47:00,3781.00,3782.00,3780.00,3781.00,125,0
+2006-02-21,18:48:00,3780.00,3781.00,3780.00,3781.00,202,0
+2006-02-21,18:49:00,3781.00,3781.00,3781.00,3781.00,14,0
+2006-02-21,18:50:00,3781.00,3781.00,3780.00,3780.00,74,0
+2006-02-21,18:51:00,3781.00,3782.00,3781.00,3782.00,180,0
+2006-02-21,18:52:00,3782.00,3782.00,3782.00,3782.00,1,0
+2006-02-21,18:53:00,3782.00,3782.00,3781.00,3781.00,32,0
+2006-02-21,18:54:00,3781.00,3782.00,3781.00,3782.00,108,0
+2006-02-21,18:55:00,3781.00,3781.00,3779.00,3779.00,851,0
+2006-02-21,18:56:00,3779.00,3779.00,3779.00,3779.00,64,0
+2006-02-21,18:57:00,3779.00,3779.00,3779.00,3779.00,119,0
+2006-02-21,18:58:00,3779.00,3779.00,3777.00,3777.00,340,0
+2006-02-21,18:59:00,3778.00,3778.00,3778.00,3778.00,472,0
+2006-02-21,19:00:00,3778.00,3778.00,3777.00,3777.00,188,0
+2006-02-21,19:01:00,3776.00,3778.00,3776.00,3778.00,281,0
+2006-02-21,19:02:00,3778.00,3778.00,3778.00,3778.00,119,0
+2006-02-21,19:03:00,3779.00,3779.00,3779.00,3779.00,286,0
+2006-02-21,19:04:00,3779.00,3780.00,3779.00,3780.00,36,0
+2006-02-21,19:05:00,3779.00,3779.00,3779.00,3779.00,161,0
+2006-02-21,19:06:00,3780.00,3780.00,3780.00,3780.00,85,0
+2006-02-21,19:07:00,3780.00,3781.00,3780.00,3781.00,301,0
+2006-02-21,19:08:00,3781.00,3781.00,3781.00,3781.00,255,0
+2006-02-21,19:09:00,3780.00,3780.00,3778.00,3778.00,273,0
+2006-02-21,19:10:00,3778.00,3778.00,3778.00,3778.00,202,0
+2006-02-21,19:11:00,3777.00,3777.00,3776.00,3777.00,286,0
+2006-02-21,19:12:00,3776.00,3777.00,3776.00,3777.00,280,0
+2006-02-21,19:13:00,3776.00,3776.00,3775.00,3775.00,285,0
+2006-02-21,19:14:00,3776.00,3776.00,3775.00,3775.00,499,0
+2006-02-21,19:15:00,3775.00,3776.00,3775.00,3776.00,181,0
+2006-02-21,19:16:00,3776.00,3776.00,3775.00,3775.00,44,0
+2006-02-21,19:17:00,3776.00,3777.00,3776.00,3777.00,28,0
+2006-02-21,19:18:00,3777.00,3777.00,3777.00,3777.00,12,0
+2006-02-21,19:20:00,3776.00,3776.00,3776.00,3776.00,34,0
+2006-02-21,19:21:00,3776.00,3776.00,3773.00,3773.00,581,0
+2006-02-21,19:22:00,3773.00,3775.00,3773.00,3775.00,581,0
+2006-02-21,19:23:00,3775.00,3775.00,3774.00,3774.00,185,0
+2006-02-21,19:24:00,3775.00,3775.00,3774.00,3775.00,77,0
+2006-02-21,19:25:00,3775.00,3775.00,3775.00,3775.00,44,0
+2006-02-21,19:26:00,3776.00,3777.00,3776.00,3777.00,168,0
+2006-02-21,19:27:00,3777.00,3777.00,3777.00,3777.00,13,0
+2006-02-21,19:28:00,3777.00,3777.00,3776.00,3777.00,160,0
+2006-02-21,19:29:00,3777.00,3777.00,3777.00,3777.00,42,0
+2006-02-21,19:30:00,3777.00,3777.00,3777.00,3777.00,60,0
+2006-02-21,19:31:00,3777.00,3778.00,3777.00,3778.00,235,0
+2006-02-21,19:32:00,3779.00,3779.00,3779.00,3779.00,2,0
+2006-02-21,19:33:00,3779.00,3779.00,3778.00,3778.00,212,0
+2006-02-21,19:34:00,3778.00,3779.00,3778.00,3779.00,120,0
+2006-02-21,19:36:00,3778.00,3778.00,3778.00,3778.00,40,0
+2006-02-21,19:37:00,3778.00,3778.00,3778.00,3778.00,29,0
+2006-02-21,19:38:00,3779.00,3781.00,3779.00,3780.00,495,0
+2006-02-21,19:39:00,3780.00,3781.00,3780.00,3781.00,92,0
+2006-02-21,19:40:00,3781.00,3781.00,3780.00,3780.00,2,0
+2006-02-21,19:41:00,3781.00,3783.00,3781.00,3782.00,283,0
+2006-02-21,19:42:00,3782.00,3782.00,3781.00,3781.00,46,0
+2006-02-21,19:43:00,3781.00,3782.00,3781.00,3782.00,452,0
+2006-02-21,19:44:00,3781.00,3781.00,3781.00,3781.00,49,0
+2006-02-21,19:45:00,3781.00,3781.00,3781.00,3781.00,20,0
+2006-02-21,19:46:00,3781.00,3781.00,3781.00,3781.00,34,0
+2006-02-21,19:47:00,3781.00,3781.00,3781.00,3781.00,1,0
+2006-02-21,19:48:00,3782.00,3782.00,3782.00,3782.00,141,0
+2006-02-21,19:49:00,3781.00,3782.00,3781.00,3782.00,58,0
+2006-02-21,19:50:00,3782.00,3782.00,3781.00,3782.00,82,0
+2006-02-21,19:51:00,3782.00,3782.00,3782.00,3782.00,72,0
+2006-02-21,19:52:00,3782.00,3782.00,3781.00,3781.00,141,0
+2006-02-21,19:53:00,3781.00,3782.00,3781.00,3782.00,174,0
+2006-02-21,19:54:00,3782.00,3782.00,3781.00,3781.00,109,0
+2006-02-21,19:55:00,3780.00,3780.00,3780.00,3780.00,104,0
+2006-02-21,19:56:00,3780.00,3780.00,3780.00,3780.00,27,0
+2006-02-21,19:57:00,3779.00,3779.00,3779.00,3779.00,1,0
+2006-02-21,19:58:00,3781.00,3781.00,3779.00,3779.00,51,0
+2006-02-21,19:59:00,3779.00,3779.00,3778.00,3778.00,86,0
+2006-02-21,20:00:00,3779.00,3779.00,3779.00,3779.00,2,0
+2006-02-21,20:01:00,3779.00,3781.00,3778.00,3781.00,260,0
+2006-02-21,20:02:00,3781.00,3784.00,3779.00,3780.00,389,0
+2006-02-21,20:03:00,3780.00,3781.00,3780.00,3781.00,349,0
+2006-02-21,20:04:00,3781.00,3782.00,3780.00,3781.00,480,0
+2006-02-21,20:05:00,3781.00,3783.00,3779.00,3779.00,113,0
+2006-02-21,20:06:00,3779.00,3780.00,3779.00,3780.00,85,0
+2006-02-21,20:07:00,3780.00,3780.00,3777.00,3777.00,209,0
+2006-02-21,20:08:00,3776.00,3776.00,3775.00,3776.00,117,0
+2006-02-21,20:09:00,3776.00,3777.00,3776.00,3776.00,27,0
+2006-02-21,20:10:00,3776.00,3777.00,3776.00,3777.00,21,0
+2006-02-21,20:11:00,3778.00,3778.00,3776.00,3776.00,41,0
+2006-02-21,20:12:00,3777.00,3779.00,3777.00,3779.00,46,0
+2006-02-21,20:13:00,3778.00,3779.00,3778.00,3778.00,58,0
+2006-02-21,20:14:00,3778.00,3778.00,3778.00,3778.00,14,0
+2006-02-21,20:15:00,3777.00,3777.00,3775.00,3775.00,171,0
+2006-02-21,20:16:00,3775.00,3776.00,3774.00,3776.00,70,0
+2006-02-21,20:17:00,3776.00,3776.00,3774.00,3775.00,357,0
+2006-02-21,20:18:00,3775.00,3776.00,3775.00,3776.00,221,0
+2006-02-21,20:19:00,3775.00,3775.00,3775.00,3775.00,94,0
+2006-02-21,20:20:00,3776.00,3777.00,3776.00,3776.00,425,0
+2006-02-21,20:21:00,3775.00,3775.00,3774.00,3774.00,242,0
+2006-02-21,20:22:00,3774.00,3775.00,3774.00,3775.00,31,0
+2006-02-21,20:23:00,3775.00,3775.00,3775.00,3775.00,37,0
+2006-02-21,20:24:00,3775.00,3775.00,3775.00,3775.00,12,0
+2006-02-21,20:25:00,3775.00,3775.00,3775.00,3775.00,7,0
+2006-02-21,20:26:00,3774.00,3775.00,3773.00,3773.00,85,0
+2006-02-21,20:27:00,3773.00,3773.00,3772.00,3773.00,240,0
+2006-02-21,20:28:00,3773.00,3775.00,3773.00,3775.00,136,0
+2006-02-21,20:29:00,3774.00,3774.00,3774.00,3774.00,10,0
+2006-02-21,20:30:00,3775.00,3775.00,3774.00,3774.00,24,0
+2006-02-21,20:31:00,3775.00,3776.00,3775.00,3776.00,172,0
+2006-02-21,20:32:00,3776.00,3777.00,3776.00,3777.00,133,0
+2006-02-21,20:33:00,3777.00,3777.00,3777.00,3777.00,321,0
+2006-02-21,20:34:00,3777.00,3777.00,3777.00,3777.00,24,0
+2006-02-21,20:35:00,3777.00,3779.00,3777.00,3779.00,170,0
+2006-02-21,20:36:00,3779.00,3779.00,3779.00,3779.00,18,0
+2006-02-21,20:37:00,3779.00,3779.00,3779.00,3779.00,6,0
+2006-02-21,20:38:00,3778.00,3779.00,3778.00,3779.00,155,0
+2006-02-21,20:39:00,3778.00,3779.00,3777.00,3777.00,74,0
+2006-02-21,20:40:00,3777.00,3778.00,3777.00,3778.00,11,0
+2006-02-21,20:42:00,3777.00,3777.00,3776.00,3776.00,143,0
+2006-02-21,20:43:00,3775.00,3776.00,3774.00,3776.00,135,0
+2006-02-21,20:44:00,3776.00,3779.00,3776.00,3778.00,506,0
+2006-02-21,20:45:00,3778.00,3778.00,3777.00,3777.00,64,0
+2006-02-21,20:46:00,3777.00,3777.00,3776.00,3776.00,42,0
+2006-02-21,20:47:00,3776.00,3776.00,3776.00,3776.00,4,0
+2006-02-21,20:48:00,3775.00,3775.00,3773.00,3774.00,162,0
+2006-02-21,20:49:00,3773.00,3774.00,3773.00,3774.00,181,0
+2006-02-21,20:50:00,3775.00,3777.00,3774.00,3777.00,99,0
+2006-02-21,20:51:00,3777.00,3777.00,3775.00,3775.00,10,0
+2006-02-21,20:52:00,3774.00,3775.00,3774.00,3775.00,29,0
+2006-02-21,20:53:00,3775.00,3776.00,3775.00,3776.00,11,0
+2006-02-21,20:54:00,3774.00,3775.00,3773.00,3774.00,77,0
+2006-02-21,20:55:00,3774.00,3774.00,3773.00,3773.00,48,0
+2006-02-21,20:56:00,3775.00,3775.00,3774.00,3774.00,26,0
+2006-02-21,20:57:00,3774.00,3774.00,3774.00,3774.00,1,0
+2006-02-21,20:58:00,3776.00,3777.00,3776.00,3776.00,11,0
+2006-02-21,20:59:00,3775.00,3775.00,3775.00,3775.00,120,0
+2006-02-21,21:00:00,3774.00,3774.00,3774.00,3774.00,41,0
+2006-02-21,21:01:00,3775.00,3775.00,3775.00,3775.00,74,0
+2006-02-21,21:02:00,3775.00,3777.00,3775.00,3777.00,43,0
+2006-02-21,21:03:00,3777.00,3777.00,3777.00,3777.00,25,0
+2006-02-21,21:04:00,3777.00,3777.00,3777.00,3777.00,30,0
+2006-02-21,21:05:00,3776.00,3776.00,3775.00,3775.00,49,0
+2006-02-21,21:07:00,3776.00,3777.00,3775.00,3777.00,17,0
+2006-02-21,21:08:00,3777.00,3778.00,3777.00,3778.00,40,0
+2006-02-21,21:10:00,3778.00,3778.00,3778.00,3778.00,3,0
+2006-02-21,21:11:00,3777.00,3778.00,3777.00,3778.00,11,0
+2006-02-21,21:13:00,3778.00,3778.00,3778.00,3778.00,7,0
+2006-02-21,21:14:00,3778.00,3778.00,3778.00,3778.00,33,0
+2006-02-21,21:15:00,3778.00,3778.00,3778.00,3778.00,18,0
+2006-02-21,21:16:00,3778.00,3778.00,3778.00,3778.00,2,0
+2006-02-21,21:17:00,3778.00,3778.00,3777.00,3778.00,69,0
+2006-02-21,21:18:00,3777.00,3777.00,3777.00,3777.00,2,0
+2006-02-21,21:19:00,3777.00,3777.00,3777.00,3777.00,8,0
+2006-02-21,21:20:00,3776.00,3776.00,3776.00,3776.00,23,0
+2006-02-21,21:21:00,3777.00,3778.00,3777.00,3777.00,144,0
+2006-02-21,21:22:00,3777.00,3778.00,3777.00,3778.00,14,0
+2006-02-21,21:23:00,3778.00,3778.00,3778.00,3778.00,36,0
+2006-02-21,21:24:00,3778.00,3778.00,3777.00,3777.00,15,0
+2006-02-21,21:25:00,3777.00,3777.00,3777.00,3777.00,4,0
+2006-02-21,21:26:00,3777.00,3777.00,3776.00,3776.00,4,0
+2006-02-21,21:27:00,3778.00,3779.00,3778.00,3779.00,11,0
+2006-02-21,21:28:00,3779.00,3780.00,3778.00,3779.00,44,0
+2006-02-21,21:29:00,3779.00,3779.00,3779.00,3779.00,23,0
+2006-02-21,21:30:00,3779.00,3780.00,3778.00,3778.00,31,0
+2006-02-21,21:31:00,3778.00,3778.00,3778.00,3778.00,11,0
+2006-02-21,21:32:00,3778.00,3779.00,3778.00,3779.00,6,0
+2006-02-21,21:33:00,3779.00,3779.00,3779.00,3779.00,4,0
+2006-02-21,21:34:00,3779.00,3779.00,3779.00,3779.00,8,0
+2006-02-21,21:35:00,3780.00,3780.00,3778.00,3778.00,4,0
+2006-02-21,21:36:00,3779.00,3779.00,3779.00,3779.00,1,0
+2006-02-21,21:37:00,3780.00,3780.00,3779.00,3779.00,63,0
+2006-02-21,21:38:00,3779.00,3779.00,3779.00,3779.00,9,0
+2006-02-21,21:40:00,3779.00,3779.00,3779.00,3779.00,4,0
+2006-02-21,21:42:00,3779.00,3781.00,3779.00,3781.00,102,0
+2006-02-21,21:43:00,3780.00,3780.00,3780.00,3780.00,2,0
+2006-02-21,21:44:00,3780.00,3780.00,3780.00,3780.00,38,0
+2006-02-21,21:45:00,3779.00,3779.00,3779.00,3779.00,56,0
+2006-02-21,21:46:00,3779.00,3779.00,3779.00,3779.00,19,0
+2006-02-21,21:47:00,3779.00,3779.00,3779.00,3779.00,5,0
+2006-02-21,21:48:00,3779.00,3779.00,3779.00,3779.00,4,0
+2006-02-21,21:50:00,3779.00,3780.00,3779.00,3780.00,7,0
+2006-02-21,21:51:00,3780.00,3780.00,3779.00,3779.00,80,0
+2006-02-21,21:53:00,3779.00,3780.00,3779.00,3779.00,15,0
+2006-02-21,21:54:00,3779.00,3779.00,3779.00,3779.00,9,0
+2006-02-21,21:55:00,3778.00,3778.00,3777.00,3777.00,21,0
+2006-02-21,21:56:00,3777.00,3778.00,3777.00,3778.00,39,0
+2006-02-21,21:57:00,3777.00,3777.00,3776.00,3776.00,30,0
+2006-02-21,21:58:00,3777.00,3777.00,3775.00,3776.00,25,0
+2006-02-21,21:59:00,3777.00,3777.00,3777.00,3777.00,23,0
+2006-02-21,22:00:00,3778.00,3778.00,3775.00,3775.00,231,0
+2006-02-22,09:01:00,3783.00,3783.00,3780.00,3780.00,4027,0
+2006-02-22,09:02:00,3780.00,3781.00,3780.00,3780.00,378,0
+2006-02-22,09:03:00,3780.00,3781.00,3779.00,3779.00,1153,0
+2006-02-22,09:04:00,3779.00,3780.00,3778.00,3778.00,982,0
+2006-02-22,09:05:00,3778.00,3780.00,3777.00,3779.00,1021,0
+2006-02-22,09:06:00,3779.00,3782.00,3779.00,3781.00,1580,0
+2006-02-22,09:07:00,3782.00,3782.00,3781.00,3781.00,628,0
+2006-02-22,09:08:00,3782.00,3783.00,3781.00,3782.00,494,0
+2006-02-22,09:09:00,3783.00,3784.00,3783.00,3784.00,805,0
+2006-02-22,09:10:00,3784.00,3784.00,3783.00,3783.00,530,0
+2006-02-22,09:11:00,3783.00,3784.00,3783.00,3783.00,292,0
+2006-02-22,09:12:00,3783.00,3783.00,3781.00,3781.00,704,0
+2006-02-22,09:13:00,3781.00,3781.00,3780.00,3780.00,2099,0
+2006-02-22,09:14:00,3781.00,3781.00,3777.00,3777.00,1799,0
+2006-02-22,09:15:00,3777.00,3778.00,3776.00,3776.00,1983,0
+2006-02-22,09:16:00,3776.00,3777.00,3775.00,3776.00,1976,0
+2006-02-22,09:17:00,3776.00,3778.00,3776.00,3778.00,964,0
+2006-02-22,09:18:00,3778.00,3778.00,3777.00,3777.00,640,0
+2006-02-22,09:19:00,3777.00,3780.00,3777.00,3779.00,974,0
+2006-02-22,09:20:00,3780.00,3780.00,3779.00,3779.00,662,0
+2006-02-22,09:21:00,3779.00,3780.00,3778.00,3779.00,273,0
+2006-02-22,09:22:00,3779.00,3779.00,3778.00,3778.00,50,0
+2006-02-22,09:23:00,3778.00,3778.00,3776.00,3776.00,1714,0
+2006-02-22,09:24:00,3776.00,3777.00,3775.00,3776.00,802,0
+2006-02-22,09:25:00,3776.00,3778.00,3776.00,3776.00,543,0
+2006-02-22,09:26:00,3776.00,3779.00,3775.00,3778.00,2389,0
+2006-02-22,09:27:00,3778.00,3779.00,3777.00,3779.00,876,0
+2006-02-22,09:28:00,3780.00,3780.00,3779.00,3780.00,819,0
+2006-02-22,09:29:00,3780.00,3781.00,3779.00,3780.00,581,0
+2006-02-22,09:30:00,3780.00,3780.00,3778.00,3778.00,363,0
+2006-02-22,09:31:00,3779.00,3779.00,3778.00,3779.00,530,0
+2006-02-22,09:32:00,3779.00,3781.00,3779.00,3781.00,731,0
+2006-02-22,09:33:00,3781.00,3783.00,3781.00,3782.00,689,0
+2006-02-22,09:34:00,3783.00,3783.00,3782.00,3783.00,1458,0
+2006-02-22,09:35:00,3783.00,3785.00,3783.00,3784.00,601,0
+2006-02-22,09:36:00,3784.00,3784.00,3783.00,3784.00,247,0
+2006-02-22,09:37:00,3784.00,3784.00,3782.00,3783.00,462,0
+2006-02-22,09:38:00,3784.00,3784.00,3783.00,3783.00,192,0
+2006-02-22,09:39:00,3783.00,3783.00,3783.00,3783.00,501,0
+2006-02-22,09:40:00,3783.00,3783.00,3783.00,3783.00,483,0
+2006-02-22,09:41:00,3783.00,3783.00,3778.00,3779.00,3637,0
+2006-02-22,09:42:00,3780.00,3780.00,3779.00,3779.00,564,0
+2006-02-22,09:43:00,3780.00,3780.00,3779.00,3780.00,168,0
+2006-02-22,09:44:00,3780.00,3781.00,3780.00,3781.00,453,0
+2006-02-22,09:45:00,3781.00,3781.00,3780.00,3781.00,216,0
+2006-02-22,09:46:00,3781.00,3782.00,3781.00,3782.00,713,0
+2006-02-22,09:47:00,3783.00,3783.00,3782.00,3783.00,228,0
+2006-02-22,09:48:00,3782.00,3783.00,3781.00,3783.00,208,0
+2006-02-22,09:49:00,3782.00,3782.00,3780.00,3781.00,191,0
+2006-02-22,09:50:00,3781.00,3782.00,3781.00,3781.00,147,0
+2006-02-22,09:51:00,3781.00,3782.00,3780.00,3780.00,286,0
+2006-02-22,09:52:00,3780.00,3780.00,3779.00,3780.00,539,0
+2006-02-22,09:53:00,3780.00,3780.00,3779.00,3779.00,236,0
+2006-02-22,09:54:00,3779.00,3779.00,3778.00,3779.00,436,0
+2006-02-22,09:55:00,3780.00,3781.00,3780.00,3781.00,375,0
+2006-02-22,09:56:00,3780.00,3782.00,3780.00,3781.00,78,0
+2006-02-22,09:57:00,3781.00,3782.00,3781.00,3781.00,428,0
+2006-02-22,09:58:00,3782.00,3782.00,3781.00,3781.00,862,0
+2006-02-22,09:59:00,3781.00,3782.00,3781.00,3782.00,363,0
+2006-02-22,10:00:00,3782.00,3782.00,3781.00,3782.00,71,0
+2006-02-22,10:01:00,3782.00,3784.00,3782.00,3784.00,646,0
+2006-02-22,10:02:00,3784.00,3785.00,3783.00,3784.00,803,0
+2006-02-22,10:03:00,3784.00,3785.00,3784.00,3784.00,468,0
+2006-02-22,10:04:00,3784.00,3787.00,3784.00,3786.00,1661,0
+2006-02-22,10:05:00,3786.00,3786.00,3785.00,3785.00,871,0
+2006-02-22,10:06:00,3785.00,3786.00,3784.00,3784.00,3378,0
+2006-02-22,10:07:00,3784.00,3785.00,3783.00,3785.00,807,0
+2006-02-22,10:08:00,3785.00,3786.00,3785.00,3786.00,395,0
+2006-02-22,10:09:00,3786.00,3786.00,3785.00,3785.00,404,0
+2006-02-22,10:10:00,3785.00,3786.00,3784.00,3785.00,714,0
+2006-02-22,10:11:00,3785.00,3785.00,3784.00,3784.00,303,0
+2006-02-22,10:12:00,3785.00,3786.00,3784.00,3786.00,574,0
+2006-02-22,10:13:00,3786.00,3786.00,3786.00,3786.00,1041,0
+2006-02-22,10:14:00,3786.00,3787.00,3786.00,3786.00,2388,0
+2006-02-22,10:15:00,3786.00,3786.00,3785.00,3786.00,1195,0
+2006-02-22,10:16:00,3786.00,3788.00,3786.00,3788.00,888,0
+2006-02-22,10:17:00,3787.00,3788.00,3786.00,3787.00,1264,0
+2006-02-22,10:18:00,3787.00,3788.00,3787.00,3787.00,594,0
+2006-02-22,10:19:00,3787.00,3788.00,3787.00,3787.00,230,0
+2006-02-22,10:20:00,3788.00,3788.00,3786.00,3786.00,380,0
+2006-02-22,10:21:00,3786.00,3787.00,3786.00,3787.00,640,0
+2006-02-22,10:22:00,3787.00,3787.00,3786.00,3786.00,212,0
+2006-02-22,10:23:00,3786.00,3786.00,3785.00,3786.00,1181,0
+2006-02-22,10:24:00,3786.00,3788.00,3786.00,3788.00,1334,0
+2006-02-22,10:25:00,3787.00,3789.00,3787.00,3788.00,910,0
+2006-02-22,10:26:00,3788.00,3788.00,3787.00,3788.00,152,0
+2006-02-22,10:27:00,3788.00,3788.00,3787.00,3787.00,408,0
+2006-02-22,10:28:00,3788.00,3788.00,3788.00,3788.00,4,0
+2006-02-22,10:29:00,3787.00,3787.00,3786.00,3787.00,892,0
+2006-02-22,10:30:00,3787.00,3787.00,3786.00,3786.00,130,0
+2006-02-22,10:31:00,3786.00,3788.00,3786.00,3786.00,1533,0
+2006-02-22,10:32:00,3785.00,3786.00,3785.00,3786.00,147,0
+2006-02-22,10:33:00,3786.00,3786.00,3785.00,3785.00,457,0
+2006-02-22,10:34:00,3786.00,3786.00,3786.00,3786.00,381,0
+2006-02-22,10:35:00,3786.00,3786.00,3785.00,3785.00,1072,0
+2006-02-22,10:36:00,3785.00,3785.00,3785.00,3785.00,188,0
+2006-02-22,10:37:00,3785.00,3785.00,3783.00,3783.00,955,0
+2006-02-22,10:38:00,3784.00,3785.00,3784.00,3784.00,954,0
+2006-02-22,10:39:00,3785.00,3785.00,3785.00,3785.00,253,0
+2006-02-22,10:40:00,3785.00,3785.00,3785.00,3785.00,12,0
+2006-02-22,10:41:00,3784.00,3784.00,3784.00,3784.00,159,0
+2006-02-22,10:42:00,3784.00,3785.00,3784.00,3785.00,390,0
+2006-02-22,10:43:00,3785.00,3785.00,3784.00,3784.00,318,0
+2006-02-22,10:44:00,3784.00,3784.00,3783.00,3784.00,84,0
+2006-02-22,10:45:00,3783.00,3783.00,3783.00,3783.00,41,0
+2006-02-22,10:46:00,3783.00,3784.00,3782.00,3783.00,380,0
+2006-02-22,10:47:00,3783.00,3783.00,3782.00,3783.00,21,0
+2006-02-22,10:48:00,3783.00,3784.00,3783.00,3783.00,50,0
+2006-02-22,10:49:00,3783.00,3785.00,3783.00,3784.00,588,0
+2006-02-22,10:50:00,3784.00,3785.00,3783.00,3785.00,117,0
+2006-02-22,10:51:00,3784.00,3785.00,3784.00,3785.00,14,0
+2006-02-22,10:52:00,3785.00,3785.00,3784.00,3784.00,322,0
+2006-02-22,10:53:00,3783.00,3784.00,3783.00,3784.00,131,0
+2006-02-22,10:54:00,3783.00,3784.00,3783.00,3784.00,2,0
+2006-02-22,10:55:00,3784.00,3785.00,3783.00,3784.00,366,0
+2006-02-22,10:56:00,3785.00,3785.00,3784.00,3784.00,531,0
+2006-02-22,10:57:00,3784.00,3785.00,3784.00,3785.00,163,0
+2006-02-22,10:58:00,3785.00,3785.00,3784.00,3784.00,2,0
+2006-02-22,10:59:00,3784.00,3784.00,3784.00,3784.00,160,0
+2006-02-22,11:00:00,3784.00,3785.00,3784.00,3784.00,25,0
+2006-02-22,11:01:00,3784.00,3785.00,3783.00,3783.00,464,0
+2006-02-22,11:02:00,3783.00,3784.00,3782.00,3783.00,368,0
+2006-02-22,11:03:00,3783.00,3783.00,3782.00,3783.00,252,0
+2006-02-22,11:04:00,3783.00,3783.00,3782.00,3782.00,147,0
+2006-02-22,11:05:00,3783.00,3784.00,3783.00,3783.00,231,0
+2006-02-22,11:06:00,3783.00,3784.00,3783.00,3784.00,609,0
+2006-02-22,11:07:00,3784.00,3784.00,3784.00,3784.00,1,0
+2006-02-22,11:08:00,3784.00,3784.00,3784.00,3784.00,10,0
+2006-02-22,11:09:00,3783.00,3785.00,3783.00,3785.00,328,0
+2006-02-22,11:10:00,3784.00,3785.00,3784.00,3785.00,75,0
+2006-02-22,11:11:00,3785.00,3786.00,3784.00,3786.00,709,0
+2006-02-22,11:12:00,3786.00,3786.00,3784.00,3786.00,801,0
+2006-02-22,11:13:00,3785.00,3785.00,3784.00,3785.00,287,0
+2006-02-22,11:14:00,3785.00,3785.00,3784.00,3785.00,134,0
+2006-02-22,11:15:00,3785.00,3785.00,3784.00,3784.00,50,0
+2006-02-22,11:16:00,3785.00,3785.00,3784.00,3785.00,16,0
+2006-02-22,11:17:00,3784.00,3785.00,3784.00,3785.00,150,0
+2006-02-22,11:18:00,3784.00,3784.00,3784.00,3784.00,721,0
+2006-02-22,11:19:00,3784.00,3784.00,3783.00,3784.00,170,0
+2006-02-22,11:20:00,3784.00,3785.00,3784.00,3785.00,108,0
+2006-02-22,11:21:00,3785.00,3785.00,3784.00,3785.00,368,0
+2006-02-22,11:22:00,3785.00,3785.00,3785.00,3785.00,233,0
+2006-02-22,11:23:00,3785.00,3786.00,3785.00,3786.00,209,0
+2006-02-22,11:24:00,3786.00,3786.00,3786.00,3786.00,2,0
+2006-02-22,11:25:00,3785.00,3785.00,3785.00,3785.00,696,0
+2006-02-22,11:26:00,3785.00,3786.00,3785.00,3786.00,13,0
+2006-02-22,11:27:00,3786.00,3786.00,3786.00,3786.00,97,0
+2006-02-22,11:28:00,3786.00,3787.00,3786.00,3786.00,470,0
+2006-02-22,11:29:00,3786.00,3787.00,3786.00,3787.00,155,0
+2006-02-22,11:30:00,3787.00,3787.00,3787.00,3787.00,1569,0
+2006-02-22,11:31:00,3786.00,3787.00,3786.00,3787.00,69,0
+2006-02-22,11:32:00,3786.00,3786.00,3785.00,3785.00,425,0
+2006-02-22,11:33:00,3786.00,3786.00,3785.00,3786.00,117,0
+2006-02-22,11:34:00,3786.00,3786.00,3785.00,3786.00,429,0
+2006-02-22,11:35:00,3786.00,3787.00,3786.00,3786.00,92,0
+2006-02-22,11:36:00,3785.00,3785.00,3784.00,3784.00,564,0
+2006-02-22,11:37:00,3784.00,3785.00,3784.00,3784.00,9,0
+2006-02-22,11:38:00,3784.00,3785.00,3784.00,3784.00,2758,0
+2006-02-22,11:39:00,3784.00,3784.00,3783.00,3783.00,118,0
+2006-02-22,11:40:00,3783.00,3784.00,3783.00,3783.00,681,0
+2006-02-22,11:41:00,3782.00,3783.00,3782.00,3783.00,331,0
+2006-02-22,11:42:00,3783.00,3783.00,3782.00,3783.00,360,0
+2006-02-22,11:43:00,3783.00,3783.00,3781.00,3782.00,1211,0
+2006-02-22,11:44:00,3781.00,3781.00,3780.00,3780.00,617,0
+2006-02-22,11:45:00,3780.00,3781.00,3780.00,3780.00,675,0
+2006-02-22,11:46:00,3779.00,3781.00,3779.00,3781.00,390,0
+2006-02-22,11:47:00,3781.00,3781.00,3780.00,3780.00,134,0
+2006-02-22,11:48:00,3780.00,3781.00,3778.00,3778.00,820,0
+2006-02-22,11:49:00,3778.00,3780.00,3778.00,3780.00,1198,0
+2006-02-22,11:50:00,3779.00,3780.00,3779.00,3780.00,957,0
+2006-02-22,11:51:00,3779.00,3780.00,3778.00,3778.00,1160,0
+2006-02-22,11:52:00,3779.00,3780.00,3777.00,3780.00,3875,0
+2006-02-22,11:53:00,3779.00,3780.00,3779.00,3779.00,806,0
+2006-02-22,11:54:00,3780.00,3781.00,3779.00,3781.00,1002,0
+2006-02-22,11:55:00,3782.00,3782.00,3780.00,3780.00,304,0
+2006-02-22,11:56:00,3780.00,3781.00,3780.00,3780.00,519,0
+2006-02-22,11:57:00,3780.00,3780.00,3780.00,3780.00,4,0
+2006-02-22,11:58:00,3780.00,3780.00,3779.00,3780.00,163,0
+2006-02-22,11:59:00,3780.00,3780.00,3779.00,3780.00,13,0
+2006-02-22,12:00:00,3780.00,3780.00,3779.00,3780.00,336,0
+2006-02-22,12:01:00,3779.00,3780.00,3778.00,3780.00,290,0
+2006-02-22,12:02:00,3780.00,3780.00,3779.00,3780.00,101,0
+2006-02-22,12:03:00,3779.00,3780.00,3779.00,3780.00,105,0
+2006-02-22,12:04:00,3780.00,3781.00,3780.00,3781.00,556,0
+2006-02-22,12:05:00,3781.00,3781.00,3780.00,3780.00,1018,0
+2006-02-22,12:06:00,3779.00,3780.00,3779.00,3780.00,208,0
+2006-02-22,12:07:00,3780.00,3780.00,3780.00,3780.00,74,0
+2006-02-22,12:08:00,3781.00,3781.00,3780.00,3781.00,340,0
+2006-02-22,12:09:00,3780.00,3781.00,3780.00,3781.00,147,0
+2006-02-22,12:10:00,3781.00,3782.00,3781.00,3781.00,1114,0
+2006-02-22,12:11:00,3781.00,3781.00,3780.00,3781.00,6,0
+2006-02-22,12:12:00,3781.00,3782.00,3781.00,3782.00,1252,0
+2006-02-22,12:13:00,3782.00,3782.00,3782.00,3782.00,97,0
+2006-02-22,12:14:00,3782.00,3782.00,3782.00,3782.00,118,0
+2006-02-22,12:15:00,3782.00,3782.00,3781.00,3781.00,208,0
+2006-02-22,12:16:00,3781.00,3783.00,3781.00,3783.00,94,0
+2006-02-22,12:17:00,3783.00,3785.00,3783.00,3784.00,832,0
+2006-02-22,12:18:00,3785.00,3785.00,3783.00,3783.00,1054,0
+2006-02-22,12:19:00,3783.00,3784.00,3783.00,3783.00,273,0
+2006-02-22,12:20:00,3783.00,3783.00,3782.00,3783.00,106,0
+2006-02-22,12:21:00,3783.00,3783.00,3783.00,3783.00,6,0
+2006-02-22,12:22:00,3783.00,3783.00,3782.00,3782.00,217,0
+2006-02-22,12:23:00,3782.00,3782.00,3782.00,3782.00,181,0
+2006-02-22,12:24:00,3782.00,3783.00,3782.00,3783.00,76,0
+2006-02-22,12:25:00,3783.00,3783.00,3782.00,3782.00,261,0
+2006-02-22,12:26:00,3782.00,3783.00,3782.00,3783.00,444,0
+2006-02-22,12:27:00,3783.00,3784.00,3783.00,3783.00,189,0
+2006-02-22,12:28:00,3783.00,3783.00,3783.00,3783.00,94,0
+2006-02-22,12:29:00,3784.00,3784.00,3783.00,3783.00,196,0
+2006-02-22,12:30:00,3783.00,3784.00,3783.00,3784.00,557,0
+2006-02-22,12:31:00,3783.00,3784.00,3782.00,3784.00,203,0
+2006-02-22,12:33:00,3783.00,3784.00,3783.00,3783.00,134,0
+2006-02-22,12:34:00,3783.00,3783.00,3783.00,3783.00,6,0
+2006-02-22,12:35:00,3784.00,3784.00,3783.00,3783.00,6,0
+2006-02-22,12:36:00,3783.00,3783.00,3783.00,3783.00,5,0
+2006-02-22,12:37:00,3784.00,3785.00,3784.00,3784.00,971,0
+2006-02-22,12:38:00,3784.00,3784.00,3783.00,3783.00,512,0
+2006-02-22,12:39:00,3784.00,3784.00,3783.00,3783.00,74,0
+2006-02-22,12:41:00,3784.00,3786.00,3783.00,3785.00,770,0
+2006-02-22,12:42:00,3785.00,3785.00,3784.00,3784.00,228,0
+2006-02-22,12:43:00,3783.00,3783.00,3783.00,3783.00,430,0
+2006-02-22,12:44:00,3783.00,3783.00,3783.00,3783.00,202,0
+2006-02-22,12:45:00,3783.00,3783.00,3783.00,3783.00,65,0
+2006-02-22,12:46:00,3784.00,3784.00,3783.00,3783.00,67,0
+2006-02-22,12:48:00,3784.00,3784.00,3783.00,3783.00,680,0
+2006-02-22,12:49:00,3783.00,3783.00,3782.00,3783.00,116,0
+2006-02-22,12:50:00,3783.00,3783.00,3783.00,3783.00,239,0
+2006-02-22,12:51:00,3783.00,3783.00,3783.00,3783.00,10,0
+2006-02-22,12:52:00,3783.00,3783.00,3783.00,3783.00,20,0
+2006-02-22,12:53:00,3783.00,3784.00,3783.00,3784.00,25,0
+2006-02-22,12:54:00,3783.00,3783.00,3783.00,3783.00,11,0
+2006-02-22,12:55:00,3784.00,3785.00,3784.00,3785.00,736,0
+2006-02-22,12:56:00,3784.00,3784.00,3784.00,3784.00,419,0
+2006-02-22,12:57:00,3784.00,3784.00,3784.00,3784.00,56,0
+2006-02-22,12:58:00,3784.00,3784.00,3783.00,3784.00,63,0
+2006-02-22,13:00:00,3784.00,3784.00,3783.00,3784.00,219,0
+2006-02-22,13:01:00,3784.00,3785.00,3783.00,3784.00,89,0
+2006-02-22,13:02:00,3784.00,3784.00,3784.00,3784.00,5,0
+2006-02-22,13:03:00,3784.00,3785.00,3784.00,3784.00,121,0
+2006-02-22,13:04:00,3784.00,3785.00,3784.00,3785.00,171,0
+2006-02-22,13:05:00,3785.00,3785.00,3784.00,3784.00,21,0
+2006-02-22,13:06:00,3785.00,3785.00,3785.00,3785.00,15,0
+2006-02-22,13:07:00,3785.00,3785.00,3784.00,3784.00,7,0
+2006-02-22,13:08:00,3784.00,3785.00,3784.00,3785.00,9,0
+2006-02-22,13:09:00,3785.00,3786.00,3785.00,3786.00,314,0
+2006-02-22,13:10:00,3785.00,3785.00,3785.00,3785.00,189,0
+2006-02-22,13:11:00,3785.00,3785.00,3784.00,3785.00,32,0
+2006-02-22,13:12:00,3785.00,3785.00,3785.00,3785.00,21,0
+2006-02-22,13:13:00,3784.00,3785.00,3784.00,3785.00,45,0
+2006-02-22,13:14:00,3784.00,3785.00,3784.00,3785.00,12,0
+2006-02-22,13:15:00,3785.00,3785.00,3785.00,3785.00,260,0
+2006-02-22,13:16:00,3786.00,3786.00,3785.00,3785.00,602,0
+2006-02-22,13:17:00,3786.00,3787.00,3786.00,3787.00,298,0
+2006-02-22,13:18:00,3787.00,3787.00,3786.00,3786.00,212,0
+2006-02-22,13:19:00,3786.00,3786.00,3786.00,3786.00,23,0
+2006-02-22,13:20:00,3786.00,3786.00,3786.00,3786.00,37,0
+2006-02-22,13:21:00,3786.00,3786.00,3786.00,3786.00,287,0
+2006-02-22,13:22:00,3787.00,3787.00,3786.00,3786.00,182,0
+2006-02-22,13:23:00,3785.00,3786.00,3785.00,3786.00,28,0
+2006-02-22,13:24:00,3786.00,3786.00,3785.00,3785.00,289,0
+2006-02-22,13:25:00,3786.00,3786.00,3786.00,3786.00,488,0
+2006-02-22,13:26:00,3785.00,3786.00,3785.00,3786.00,233,0
+2006-02-22,13:27:00,3786.00,3786.00,3786.00,3786.00,1677,0
+2006-02-22,13:28:00,3787.00,3787.00,3786.00,3786.00,3,0
+2006-02-22,13:30:00,3786.00,3786.00,3786.00,3786.00,43,0
+2006-02-22,13:31:00,3787.00,3787.00,3786.00,3786.00,130,0
+2006-02-22,13:32:00,3786.00,3786.00,3786.00,3786.00,12,0
+2006-02-22,13:33:00,3786.00,3787.00,3786.00,3787.00,58,0
+2006-02-22,13:34:00,3787.00,3788.00,3787.00,3787.00,698,0
+2006-02-22,13:35:00,3787.00,3787.00,3787.00,3787.00,2,0
+2006-02-22,13:36:00,3788.00,3788.00,3787.00,3787.00,4,0
+2006-02-22,13:37:00,3787.00,3787.00,3787.00,3787.00,1,0
+2006-02-22,13:38:00,3788.00,3788.00,3787.00,3787.00,53,0
+2006-02-22,13:39:00,3787.00,3788.00,3787.00,3788.00,12,0
+2006-02-22,13:40:00,3788.00,3788.00,3788.00,3788.00,5,0
+2006-02-22,13:42:00,3788.00,3788.00,3788.00,3788.00,50,0
+2006-02-22,13:43:00,3787.00,3787.00,3787.00,3787.00,673,0
+2006-02-22,13:44:00,3787.00,3787.00,3786.00,3787.00,207,0
+2006-02-22,13:45:00,3787.00,3787.00,3786.00,3786.00,24,0
+2006-02-22,13:46:00,3787.00,3787.00,3786.00,3786.00,2,0
+2006-02-22,13:47:00,3787.00,3787.00,3787.00,3787.00,53,0
+2006-02-22,13:48:00,3787.00,3787.00,3787.00,3787.00,3,0
+2006-02-22,13:49:00,3787.00,3788.00,3786.00,3788.00,1326,0
+2006-02-22,13:50:00,3788.00,3789.00,3788.00,3788.00,1269,0
+2006-02-22,13:51:00,3788.00,3788.00,3788.00,3788.00,1,0
+2006-02-22,13:52:00,3788.00,3788.00,3788.00,3788.00,56,0
+2006-02-22,13:53:00,3788.00,3788.00,3788.00,3788.00,50,0
+2006-02-22,13:54:00,3789.00,3789.00,3789.00,3789.00,3,0
+2006-02-22,13:55:00,3788.00,3788.00,3788.00,3788.00,115,0
+2006-02-22,13:56:00,3788.00,3792.00,3788.00,3790.00,1954,0
+2006-02-22,13:57:00,3791.00,3791.00,3790.00,3790.00,56,0
+2006-02-22,13:58:00,3791.00,3794.00,3791.00,3792.00,2377,0
+2006-02-22,13:59:00,3792.00,3793.00,3792.00,3793.00,908,0
+2006-02-22,14:00:00,3793.00,3793.00,3792.00,3793.00,604,0
+2006-02-22,14:01:00,3793.00,3793.00,3792.00,3793.00,248,0
+2006-02-22,14:02:00,3792.00,3793.00,3792.00,3792.00,71,0
+2006-02-22,14:03:00,3792.00,3793.00,3792.00,3793.00,1201,0
+2006-02-22,14:04:00,3792.00,3793.00,3792.00,3792.00,139,0
+2006-02-22,14:05:00,3793.00,3793.00,3792.00,3792.00,129,0
+2006-02-22,14:06:00,3792.00,3793.00,3792.00,3792.00,414,0
+2006-02-22,14:07:00,3793.00,3793.00,3792.00,3793.00,61,0
+2006-02-22,14:08:00,3793.00,3793.00,3792.00,3792.00,244,0
+2006-02-22,14:09:00,3793.00,3793.00,3792.00,3792.00,290,0
+2006-02-22,14:10:00,3792.00,3792.00,3789.00,3789.00,1837,0
+2006-02-22,14:11:00,3789.00,3790.00,3789.00,3789.00,240,0
+2006-02-22,14:12:00,3790.00,3790.00,3789.00,3789.00,47,0
+2006-02-22,14:13:00,3789.00,3790.00,3789.00,3789.00,244,0
+2006-02-22,14:14:00,3789.00,3790.00,3789.00,3789.00,377,0
+2006-02-22,14:15:00,3790.00,3790.00,3789.00,3789.00,110,0
+2006-02-22,14:16:00,3789.00,3789.00,3789.00,3789.00,52,0
+2006-02-22,14:17:00,3789.00,3790.00,3789.00,3789.00,152,0
+2006-02-22,14:18:00,3789.00,3789.00,3789.00,3789.00,51,0
+2006-02-22,14:19:00,3789.00,3789.00,3789.00,3789.00,6,0
+2006-02-22,14:20:00,3789.00,3790.00,3789.00,3789.00,5,0
+2006-02-22,14:21:00,3789.00,3790.00,3789.00,3789.00,236,0
+2006-02-22,14:22:00,3789.00,3789.00,3788.00,3788.00,181,0
+2006-02-22,14:24:00,3788.00,3788.00,3788.00,3788.00,1,0
+2006-02-22,14:25:00,3788.00,3789.00,3788.00,3788.00,20,0
+2006-02-22,14:26:00,3788.00,3789.00,3788.00,3788.00,447,0
+2006-02-22,14:27:00,3788.00,3788.00,3787.00,3788.00,384,0
+2006-02-22,14:28:00,3789.00,3789.00,3788.00,3788.00,419,0
+2006-02-22,14:29:00,3788.00,3788.00,3787.00,3788.00,499,0
+2006-02-22,14:30:00,3787.00,3788.00,3786.00,3787.00,501,0
+2006-02-22,14:31:00,3787.00,3789.00,3784.00,3788.00,2640,0
+2006-02-22,14:32:00,3788.00,3792.00,3788.00,3792.00,2194,0
+2006-02-22,14:33:00,3791.00,3791.00,3790.00,3790.00,1953,0
+2006-02-22,14:34:00,3789.00,3791.00,3789.00,3789.00,735,0
+2006-02-22,14:35:00,3790.00,3790.00,3789.00,3789.00,464,0
+2006-02-22,14:36:00,3790.00,3793.00,3789.00,3793.00,1438,0
+2006-02-22,14:37:00,3793.00,3793.00,3791.00,3792.00,1436,0
+2006-02-22,14:38:00,3792.00,3793.00,3792.00,3792.00,565,0
+2006-02-22,14:39:00,3792.00,3792.00,3791.00,3792.00,1071,0
+2006-02-22,14:40:00,3792.00,3793.00,3792.00,3793.00,1489,0
+2006-02-22,14:41:00,3793.00,3793.00,3792.00,3793.00,1021,0
+2006-02-22,14:42:00,3793.00,3793.00,3793.00,3793.00,837,0
+2006-02-22,14:43:00,3793.00,3793.00,3791.00,3791.00,1512,0
+2006-02-22,14:44:00,3791.00,3793.00,3791.00,3792.00,616,0
+2006-02-22,14:45:00,3792.00,3793.00,3792.00,3792.00,960,0
+2006-02-22,14:46:00,3792.00,3795.00,3792.00,3795.00,2925,0
+2006-02-22,14:47:00,3795.00,3798.00,3794.00,3797.00,3297,0
+2006-02-22,14:48:00,3797.00,3797.00,3796.00,3797.00,564,0
+2006-02-22,14:49:00,3796.00,3798.00,3795.00,3798.00,2387,0
+2006-02-22,14:50:00,3798.00,3800.00,3798.00,3798.00,3378,0
+2006-02-22,14:51:00,3798.00,3799.00,3798.00,3799.00,1662,0
+2006-02-22,14:52:00,3798.00,3799.00,3798.00,3798.00,935,0
+2006-02-22,14:53:00,3798.00,3799.00,3798.00,3798.00,409,0
+2006-02-22,14:54:00,3798.00,3798.00,3797.00,3797.00,662,0
+2006-02-22,14:55:00,3798.00,3798.00,3797.00,3797.00,634,0
+2006-02-22,14:56:00,3798.00,3799.00,3797.00,3798.00,236,0
+2006-02-22,14:57:00,3798.00,3799.00,3798.00,3798.00,537,0
+2006-02-22,14:58:00,3798.00,3799.00,3798.00,3798.00,668,0
+2006-02-22,14:59:00,3797.00,3797.00,3797.00,3797.00,104,0
+2006-02-22,15:00:00,3797.00,3798.00,3797.00,3798.00,126,0
+2006-02-22,15:01:00,3798.00,3798.00,3797.00,3797.00,240,0
+2006-02-22,15:02:00,3798.00,3798.00,3796.00,3797.00,465,0
+2006-02-22,15:03:00,3797.00,3798.00,3797.00,3798.00,30,0
+2006-02-22,15:04:00,3797.00,3798.00,3797.00,3797.00,263,0
+2006-02-22,15:05:00,3798.00,3798.00,3796.00,3797.00,286,0
+2006-02-22,15:06:00,3796.00,3797.00,3796.00,3796.00,263,0
+2006-02-22,15:07:00,3796.00,3796.00,3796.00,3796.00,224,0
+2006-02-22,15:08:00,3796.00,3797.00,3796.00,3796.00,47,0
+2006-02-22,15:09:00,3797.00,3798.00,3797.00,3797.00,684,0
+2006-02-22,15:10:00,3797.00,3797.00,3797.00,3797.00,269,0
+2006-02-22,15:11:00,3796.00,3797.00,3796.00,3796.00,478,0
+2006-02-22,15:12:00,3796.00,3797.00,3796.00,3796.00,351,0
+2006-02-22,15:13:00,3797.00,3797.00,3796.00,3796.00,8,0
+2006-02-22,15:14:00,3797.00,3797.00,3796.00,3796.00,712,0
+2006-02-22,15:15:00,3796.00,3796.00,3795.00,3796.00,736,0
+2006-02-22,15:16:00,3796.00,3797.00,3795.00,3796.00,217,0
+2006-02-22,15:17:00,3796.00,3796.00,3796.00,3796.00,114,0
+2006-02-22,15:18:00,3796.00,3797.00,3796.00,3796.00,335,0
+2006-02-22,15:19:00,3795.00,3796.00,3795.00,3796.00,313,0
+2006-02-22,15:20:00,3796.00,3797.00,3796.00,3796.00,207,0
+2006-02-22,15:21:00,3796.00,3797.00,3796.00,3796.00,66,0
+2006-02-22,15:22:00,3796.00,3797.00,3796.00,3796.00,699,0
+2006-02-22,15:23:00,3797.00,3800.00,3797.00,3799.00,2032,0
+2006-02-22,15:24:00,3799.00,3799.00,3798.00,3799.00,515,0
+2006-02-22,15:25:00,3799.00,3800.00,3799.00,3799.00,86,0
+2006-02-22,15:26:00,3799.00,3800.00,3799.00,3799.00,794,0
+2006-02-22,15:27:00,3799.00,3799.00,3798.00,3799.00,62,0
+2006-02-22,15:28:00,3798.00,3798.00,3798.00,3798.00,102,0
+2006-02-22,15:29:00,3798.00,3799.00,3798.00,3799.00,1623,0
+2006-02-22,15:30:00,3799.00,3799.00,3799.00,3799.00,1018,0
+2006-02-22,15:31:00,3798.00,3799.00,3798.00,3799.00,2191,0
+2006-02-22,15:32:00,3798.00,3799.00,3798.00,3798.00,343,0
+2006-02-22,15:33:00,3798.00,3799.00,3797.00,3797.00,798,0
+2006-02-22,15:34:00,3797.00,3798.00,3797.00,3797.00,276,0
+2006-02-22,15:35:00,3797.00,3800.00,3797.00,3799.00,2161,0
+2006-02-22,15:36:00,3798.00,3798.00,3797.00,3798.00,1208,0
+2006-02-22,15:37:00,3798.00,3799.00,3797.00,3799.00,586,0
+2006-02-22,15:38:00,3799.00,3800.00,3798.00,3799.00,514,0
+2006-02-22,15:39:00,3799.00,3801.00,3799.00,3801.00,976,0
+2006-02-22,15:40:00,3800.00,3802.00,3800.00,3801.00,4124,0
+2006-02-22,15:41:00,3802.00,3803.00,3801.00,3803.00,3406,0
+2006-02-22,15:42:00,3803.00,3803.00,3801.00,3802.00,837,0
+2006-02-22,15:43:00,3802.00,3805.00,3802.00,3804.00,2819,0
+2006-02-22,15:44:00,3804.00,3804.00,3802.00,3803.00,2036,0
+2006-02-22,15:45:00,3802.00,3804.00,3802.00,3803.00,1955,0
+2006-02-22,15:46:00,3803.00,3804.00,3802.00,3804.00,12254,0
+2006-02-22,15:47:00,3804.00,3804.00,3802.00,3803.00,2217,0
+2006-02-22,15:48:00,3803.00,3804.00,3802.00,3803.00,1918,0
+2006-02-22,15:49:00,3803.00,3804.00,3801.00,3801.00,1490,0
+2006-02-22,15:50:00,3802.00,3803.00,3802.00,3802.00,1073,0
+2006-02-22,15:51:00,3801.00,3802.00,3801.00,3801.00,329,0
+2006-02-22,15:52:00,3802.00,3802.00,3799.00,3799.00,2129,0
+2006-02-22,15:53:00,3799.00,3800.00,3798.00,3799.00,1739,0
+2006-02-22,15:54:00,3800.00,3800.00,3798.00,3799.00,2621,0
+2006-02-22,15:55:00,3798.00,3798.00,3797.00,3798.00,945,0
+2006-02-22,15:56:00,3797.00,3797.00,3796.00,3796.00,980,0
+2006-02-22,15:57:00,3796.00,3798.00,3796.00,3798.00,1546,0
+2006-02-22,15:58:00,3799.00,3799.00,3798.00,3798.00,859,0
+2006-02-22,15:59:00,3798.00,3800.00,3798.00,3798.00,829,0
+2006-02-22,16:00:00,3798.00,3799.00,3796.00,3797.00,1180,0
+2006-02-22,16:01:00,3796.00,3798.00,3795.00,3796.00,2189,0
+2006-02-22,16:02:00,3796.00,3799.00,3795.00,3798.00,1960,0
+2006-02-22,16:03:00,3798.00,3799.00,3798.00,3799.00,2101,0
+2006-02-22,16:04:00,3799.00,3800.00,3797.00,3797.00,3271,0
+2006-02-22,16:05:00,3797.00,3804.00,3797.00,3803.00,5501,0
+2006-02-22,16:06:00,3803.00,3804.00,3801.00,3802.00,2280,0
+2006-02-22,16:07:00,3803.00,3805.00,3801.00,3803.00,2197,0
+2006-02-22,16:08:00,3803.00,3806.00,3803.00,3805.00,6330,0
+2006-02-22,16:09:00,3805.00,3805.00,3803.00,3805.00,2820,0
+2006-02-22,16:10:00,3805.00,3805.00,3802.00,3804.00,1868,0
+2006-02-22,16:11:00,3803.00,3804.00,3802.00,3804.00,1969,0
+2006-02-22,16:12:00,3803.00,3806.00,3803.00,3804.00,2926,0
+2006-02-22,16:13:00,3805.00,3807.00,3804.00,3807.00,1986,0
+2006-02-22,16:14:00,3807.00,3807.00,3804.00,3806.00,1783,0
+2006-02-22,16:15:00,3805.00,3807.00,3805.00,3806.00,897,0
+2006-02-22,16:16:00,3806.00,3808.00,3805.00,3808.00,3434,0
+2006-02-22,16:17:00,3808.00,3808.00,3806.00,3807.00,1146,0
+2006-02-22,16:18:00,3807.00,3808.00,3806.00,3807.00,1108,0
+2006-02-22,16:19:00,3807.00,3807.00,3806.00,3807.00,1436,0
+2006-02-22,16:20:00,3807.00,3811.00,3807.00,3809.00,6277,0
+2006-02-22,16:21:00,3810.00,3811.00,3809.00,3810.00,3878,0
+2006-02-22,16:22:00,3810.00,3813.00,3810.00,3812.00,4993,0
+2006-02-22,16:23:00,3813.00,3813.00,3811.00,3811.00,5486,0
+2006-02-22,16:24:00,3812.00,3813.00,3811.00,3813.00,1999,0
+2006-02-22,16:25:00,3813.00,3813.00,3811.00,3811.00,1171,0
+2006-02-22,16:26:00,3811.00,3812.00,3809.00,3810.00,2874,0
+2006-02-22,16:27:00,3809.00,3811.00,3809.00,3811.00,1781,0
+2006-02-22,16:28:00,3811.00,3811.00,3809.00,3810.00,1153,0
+2006-02-22,16:29:00,3809.00,3810.00,3808.00,3809.00,1988,0
+2006-02-22,16:30:00,3810.00,3811.00,3809.00,3810.00,3784,0
+2006-02-22,16:31:00,3809.00,3811.00,3809.00,3810.00,3268,0
+2006-02-22,16:32:00,3811.00,3813.00,3811.00,3811.00,4937,0
+2006-02-22,16:33:00,3811.00,3811.00,3808.00,3809.00,4738,0
+2006-02-22,16:34:00,3808.00,3808.00,3806.00,3807.00,2517,0
+2006-02-22,16:35:00,3806.00,3809.00,3806.00,3809.00,1926,0
+2006-02-22,16:36:00,3809.00,3809.00,3808.00,3809.00,1339,0
+2006-02-22,16:37:00,3808.00,3810.00,3808.00,3810.00,937,0
+2006-02-22,16:38:00,3810.00,3810.00,3809.00,3809.00,936,0
+2006-02-22,16:39:00,3809.00,3810.00,3808.00,3809.00,1011,0
+2006-02-22,16:40:00,3808.00,3810.00,3808.00,3809.00,529,0
+2006-02-22,16:41:00,3809.00,3809.00,3807.00,3808.00,812,0
+2006-02-22,16:42:00,3807.00,3808.00,3807.00,3808.00,529,0
+2006-02-22,16:43:00,3807.00,3810.00,3807.00,3809.00,1131,0
+2006-02-22,16:44:00,3810.00,3810.00,3807.00,3808.00,1007,0
+2006-02-22,16:45:00,3808.00,3808.00,3807.00,3808.00,406,0
+2006-02-22,16:46:00,3807.00,3809.00,3807.00,3809.00,220,0
+2006-02-22,16:47:00,3808.00,3810.00,3808.00,3810.00,1311,0
+2006-02-22,16:48:00,3810.00,3810.00,3808.00,3809.00,2268,0
+2006-02-22,16:49:00,3809.00,3810.00,3809.00,3809.00,179,0
+2006-02-22,16:50:00,3809.00,3810.00,3808.00,3809.00,1596,0
+2006-02-22,16:51:00,3809.00,3810.00,3808.00,3809.00,868,0
+2006-02-22,16:52:00,3809.00,3811.00,3808.00,3811.00,2332,0
+2006-02-22,16:53:00,3811.00,3814.00,3811.00,3814.00,2584,0
+2006-02-22,16:54:00,3814.00,3814.00,3813.00,3813.00,1180,0
+2006-02-22,16:55:00,3813.00,3815.00,3813.00,3815.00,789,0
+2006-02-22,16:56:00,3815.00,3815.00,3812.00,3814.00,2090,0
+2006-02-22,16:57:00,3815.00,3815.00,3814.00,3814.00,1393,0
+2006-02-22,16:58:00,3815.00,3816.00,3814.00,3816.00,2115,0
+2006-02-22,16:59:00,3816.00,3817.00,3815.00,3816.00,3525,0
+2006-02-22,17:00:00,3816.00,3817.00,3815.00,3817.00,1281,0
+2006-02-22,17:01:00,3817.00,3819.00,3817.00,3817.00,3911,0
+2006-02-22,17:02:00,3818.00,3819.00,3817.00,3818.00,2918,0
+2006-02-22,17:03:00,3817.00,3818.00,3816.00,3817.00,1672,0
+2006-02-22,17:04:00,3817.00,3818.00,3816.00,3817.00,2046,0
+2006-02-22,17:05:00,3817.00,3818.00,3817.00,3818.00,1337,0
+2006-02-22,17:06:00,3817.00,3818.00,3816.00,3816.00,854,0
+2006-02-22,17:07:00,3817.00,3817.00,3815.00,3816.00,938,0
+2006-02-22,17:08:00,3816.00,3816.00,3814.00,3814.00,1633,0
+2006-02-22,17:09:00,3814.00,3815.00,3814.00,3814.00,636,0
+2006-02-22,17:10:00,3814.00,3815.00,3814.00,3814.00,1081,0
+2006-02-22,17:11:00,3814.00,3815.00,3814.00,3815.00,1589,0
+2006-02-22,17:12:00,3815.00,3816.00,3814.00,3816.00,1014,0
+2006-02-22,17:13:00,3816.00,3817.00,3815.00,3816.00,1111,0
+2006-02-22,17:14:00,3815.00,3816.00,3815.00,3816.00,661,0
+2006-02-22,17:15:00,3815.00,3816.00,3814.00,3816.00,799,0
+2006-02-22,17:16:00,3815.00,3817.00,3815.00,3816.00,797,0
+2006-02-22,17:17:00,3816.00,3816.00,3814.00,3815.00,1759,0
+2006-02-22,17:18:00,3815.00,3816.00,3814.00,3815.00,1619,0
+2006-02-22,17:19:00,3814.00,3816.00,3814.00,3815.00,1282,0
+2006-02-22,17:20:00,3815.00,3817.00,3815.00,3815.00,1347,0
+2006-02-22,17:21:00,3815.00,3820.00,3815.00,3820.00,5880,0
+2006-02-22,17:22:00,3819.00,3820.00,3819.00,3820.00,2023,0
+2006-02-22,17:23:00,3819.00,3821.00,3819.00,3821.00,4606,0
+2006-02-22,17:24:00,3821.00,3822.00,3820.00,3822.00,2877,0
+2006-02-22,17:25:00,3822.00,3822.00,3821.00,3821.00,2859,0
+2006-02-22,17:26:00,3820.00,3821.00,3819.00,3820.00,2674,0
+2006-02-22,17:27:00,3819.00,3822.00,3819.00,3820.00,2640,0
+2006-02-22,17:28:00,3820.00,3821.00,3820.00,3821.00,1818,0
+2006-02-22,17:29:00,3820.00,3822.00,3820.00,3820.00,2582,0
+2006-02-22,17:30:00,3821.00,3823.00,3820.00,3822.00,8668,0
+2006-02-22,17:31:00,3822.00,3824.00,3821.00,3824.00,6585,0
+2006-02-22,17:32:00,3823.00,3825.00,3823.00,3824.00,1637,0
+2006-02-22,17:33:00,3824.00,3827.00,3824.00,3824.00,7399,0
+2006-02-22,17:34:00,3824.00,3825.00,3824.00,3824.00,1982,0
+2006-02-22,17:35:00,3824.00,3825.00,3823.00,3824.00,796,0
+2006-02-22,17:36:00,3824.00,3824.00,3823.00,3824.00,400,0
+2006-02-22,17:37:00,3823.00,3824.00,3822.00,3822.00,2151,0
+2006-02-22,17:38:00,3822.00,3823.00,3821.00,3821.00,1297,0
+2006-02-22,17:39:00,3822.00,3822.00,3820.00,3821.00,1303,0
+2006-02-22,17:40:00,3821.00,3822.00,3820.00,3821.00,851,0
+2006-02-22,17:41:00,3820.00,3822.00,3820.00,3821.00,1419,0
+2006-02-22,17:42:00,3821.00,3822.00,3821.00,3821.00,3735,0
+2006-02-22,17:43:00,3822.00,3822.00,3821.00,3822.00,846,0
+2006-02-22,17:44:00,3822.00,3822.00,3821.00,3822.00,408,0
+2006-02-22,17:45:00,3822.00,3823.00,3821.00,3822.00,347,0
+2006-02-22,17:46:00,3823.00,3823.00,3822.00,3822.00,118,0
+2006-02-22,17:47:00,3822.00,3822.00,3821.00,3821.00,179,0
+2006-02-22,17:48:00,3821.00,3822.00,3821.00,3821.00,124,0
+2006-02-22,17:49:00,3822.00,3823.00,3821.00,3822.00,1125,0
+2006-02-22,17:50:00,3823.00,3825.00,3823.00,3824.00,860,0
+2006-02-22,17:51:00,3823.00,3824.00,3823.00,3823.00,659,0
+2006-02-22,17:52:00,3824.00,3824.00,3823.00,3823.00,440,0
+2006-02-22,17:53:00,3824.00,3824.00,3824.00,3824.00,52,0
+2006-02-22,17:54:00,3823.00,3823.00,3822.00,3823.00,690,0
+2006-02-22,17:55:00,3823.00,3824.00,3823.00,3824.00,750,0
+2006-02-22,17:56:00,3823.00,3823.00,3822.00,3823.00,411,0
+2006-02-22,17:57:00,3823.00,3823.00,3822.00,3822.00,86,0
+2006-02-22,17:58:00,3822.00,3824.00,3822.00,3822.00,420,0
+2006-02-22,17:59:00,3823.00,3824.00,3822.00,3823.00,757,0
+2006-02-22,18:00:00,3824.00,3824.00,3822.00,3822.00,848,0
+2006-02-22,18:01:00,3822.00,3822.00,3821.00,3821.00,515,0
+2006-02-22,18:02:00,3821.00,3823.00,3821.00,3822.00,426,0
+2006-02-22,18:03:00,3823.00,3824.00,3823.00,3824.00,511,0
+2006-02-22,18:04:00,3824.00,3824.00,3823.00,3823.00,551,0
+2006-02-22,18:05:00,3823.00,3823.00,3822.00,3822.00,70,0
+2006-02-22,18:06:00,3822.00,3823.00,3822.00,3823.00,257,0
+2006-02-22,18:07:00,3823.00,3824.00,3823.00,3824.00,299,0
+2006-02-22,18:08:00,3824.00,3824.00,3824.00,3824.00,126,0
+2006-02-22,18:09:00,3824.00,3825.00,3823.00,3823.00,252,0
+2006-02-22,18:10:00,3823.00,3824.00,3823.00,3824.00,150,0
+2006-02-22,18:11:00,3824.00,3827.00,3824.00,3825.00,771,0
+2006-02-22,18:12:00,3825.00,3828.00,3825.00,3827.00,981,0
+2006-02-22,18:13:00,3827.00,3828.00,3826.00,3827.00,545,0
+2006-02-22,18:14:00,3827.00,3827.00,3827.00,3827.00,1801,0
+2006-02-22,18:15:00,3827.00,3828.00,3826.00,3827.00,121,0
+2006-02-22,18:16:00,3828.00,3828.00,3826.00,3826.00,856,0
+2006-02-22,18:17:00,3826.00,3827.00,3826.00,3826.00,18,0
+2006-02-22,18:18:00,3827.00,3828.00,3826.00,3827.00,1290,0
+2006-02-22,18:19:00,3826.00,3827.00,3826.00,3827.00,99,0
+2006-02-22,18:20:00,3827.00,3828.00,3827.00,3828.00,347,0
+2006-02-22,18:21:00,3828.00,3829.00,3827.00,3828.00,472,0
+2006-02-22,18:22:00,3828.00,3828.00,3827.00,3827.00,413,0
+2006-02-22,18:23:00,3827.00,3828.00,3827.00,3827.00,799,0
+2006-02-22,18:24:00,3827.00,3827.00,3827.00,3827.00,466,0
+2006-02-22,18:25:00,3827.00,3827.00,3826.00,3827.00,392,0
+2006-02-22,18:26:00,3827.00,3827.00,3826.00,3827.00,78,0
+2006-02-22,18:27:00,3826.00,3826.00,3825.00,3826.00,279,0
+2006-02-22,18:28:00,3825.00,3826.00,3825.00,3826.00,329,0
+2006-02-22,18:29:00,3826.00,3826.00,3825.00,3825.00,159,0
+2006-02-22,18:30:00,3826.00,3826.00,3824.00,3825.00,799,0
+2006-02-22,18:31:00,3824.00,3824.00,3823.00,3823.00,328,0
+2006-02-22,18:32:00,3824.00,3825.00,3824.00,3825.00,419,0
+2006-02-22,18:33:00,3824.00,3825.00,3824.00,3825.00,220,0
+2006-02-22,18:34:00,3825.00,3825.00,3824.00,3824.00,1474,0
+2006-02-22,18:35:00,3824.00,3824.00,3824.00,3824.00,120,0
+2006-02-22,18:36:00,3824.00,3826.00,3824.00,3826.00,350,0
+2006-02-22,18:37:00,3826.00,3826.00,3824.00,3824.00,198,0
+2006-02-22,18:38:00,3824.00,3825.00,3824.00,3825.00,16,0
+2006-02-22,18:39:00,3825.00,3826.00,3825.00,3826.00,136,0
+2006-02-22,18:40:00,3826.00,3826.00,3826.00,3826.00,160,0
+2006-02-22,18:41:00,3825.00,3826.00,3825.00,3826.00,149,0
+2006-02-22,18:42:00,3826.00,3826.00,3825.00,3826.00,243,0
+2006-02-22,18:43:00,3827.00,3828.00,3826.00,3826.00,151,0
+2006-02-22,18:44:00,3826.00,3827.00,3826.00,3826.00,343,0
+2006-02-22,18:45:00,3826.00,3826.00,3826.00,3826.00,35,0
+2006-02-22,18:46:00,3826.00,3826.00,3826.00,3826.00,341,0
+2006-02-22,18:47:00,3826.00,3827.00,3826.00,3826.00,231,0
+2006-02-22,18:48:00,3827.00,3827.00,3827.00,3827.00,178,0
+2006-02-22,18:49:00,3827.00,3827.00,3826.00,3827.00,316,0
+2006-02-22,18:50:00,3826.00,3827.00,3826.00,3827.00,2,0
+2006-02-22,18:51:00,3827.00,3827.00,3827.00,3827.00,159,0
+2006-02-22,18:52:00,3827.00,3827.00,3826.00,3827.00,236,0
+2006-02-22,18:53:00,3826.00,3826.00,3826.00,3826.00,105,0
+2006-02-22,18:54:00,3826.00,3826.00,3826.00,3826.00,284,0
+2006-02-22,18:55:00,3825.00,3825.00,3824.00,3824.00,586,0
+2006-02-22,18:56:00,3824.00,3824.00,3822.00,3823.00,1832,0
+2006-02-22,18:57:00,3823.00,3823.00,3821.00,3823.00,385,0
+2006-02-22,18:58:00,3823.00,3823.00,3822.00,3822.00,101,0
+2006-02-22,18:59:00,3823.00,3824.00,3823.00,3824.00,246,0
+2006-02-22,19:00:00,3823.00,3823.00,3822.00,3822.00,237,0
+2006-02-22,19:01:00,3822.00,3824.00,3822.00,3824.00,171,0
+2006-02-22,19:02:00,3824.00,3825.00,3824.00,3824.00,640,0
+2006-02-22,19:04:00,3824.00,3825.00,3824.00,3825.00,196,0
+2006-02-22,19:05:00,3824.00,3824.00,3824.00,3824.00,185,0
+2006-02-22,19:06:00,3824.00,3824.00,3824.00,3824.00,1,0
+2006-02-22,19:07:00,3825.00,3825.00,3824.00,3825.00,964,0
+2006-02-22,19:08:00,3825.00,3826.00,3825.00,3825.00,375,0
+2006-02-22,19:09:00,3824.00,3825.00,3824.00,3825.00,255,0
+2006-02-22,19:10:00,3825.00,3825.00,3825.00,3825.00,152,0
+2006-02-22,19:11:00,3825.00,3825.00,3824.00,3824.00,160,0
+2006-02-22,19:12:00,3824.00,3824.00,3824.00,3824.00,50,0
+2006-02-22,19:13:00,3825.00,3825.00,3825.00,3825.00,85,0
+2006-02-22,19:14:00,3825.00,3825.00,3825.00,3825.00,220,0
+2006-02-22,19:15:00,3825.00,3825.00,3824.00,3824.00,248,0
+2006-02-22,19:16:00,3824.00,3824.00,3824.00,3824.00,58,0
+2006-02-22,19:17:00,3825.00,3825.00,3824.00,3824.00,92,0
+2006-02-22,19:18:00,3825.00,3825.00,3825.00,3825.00,2,0
+2006-02-22,19:19:00,3825.00,3825.00,3824.00,3824.00,71,0
+2006-02-22,19:20:00,3824.00,3824.00,3823.00,3823.00,59,0
+2006-02-22,19:21:00,3823.00,3823.00,3823.00,3823.00,11,0
+2006-02-22,19:22:00,3823.00,3824.00,3823.00,3824.00,72,0
+2006-02-22,19:23:00,3824.00,3824.00,3824.00,3824.00,100,0
+2006-02-22,19:24:00,3824.00,3824.00,3824.00,3824.00,146,0
+2006-02-22,19:25:00,3825.00,3825.00,3825.00,3825.00,43,0
+2006-02-22,19:27:00,3824.00,3824.00,3824.00,3824.00,7,0
+2006-02-22,19:28:00,3824.00,3824.00,3824.00,3824.00,1,0
+2006-02-22,19:29:00,3824.00,3825.00,3824.00,3825.00,21,0
+2006-02-22,19:30:00,3825.00,3826.00,3825.00,3826.00,131,0
+2006-02-22,19:31:00,3825.00,3825.00,3824.00,3824.00,139,0
+2006-02-22,19:32:00,3824.00,3824.00,3824.00,3824.00,54,0
+2006-02-22,19:33:00,3824.00,3824.00,3824.00,3824.00,10,0
+2006-02-22,19:34:00,3824.00,3824.00,3824.00,3824.00,30,0
+2006-02-22,19:35:00,3825.00,3825.00,3822.00,3822.00,395,0
+2006-02-22,19:36:00,3822.00,3823.00,3822.00,3823.00,95,0
+2006-02-22,19:37:00,3823.00,3823.00,3823.00,3823.00,54,0
+2006-02-22,19:38:00,3823.00,3823.00,3822.00,3822.00,57,0
+2006-02-22,19:39:00,3822.00,3823.00,3822.00,3822.00,14,0
+2006-02-22,19:40:00,3823.00,3823.00,3823.00,3823.00,18,0
+2006-02-22,19:41:00,3822.00,3822.00,3821.00,3821.00,107,0
+2006-02-22,19:42:00,3821.00,3822.00,3821.00,3822.00,122,0
+2006-02-22,19:43:00,3822.00,3822.00,3821.00,3822.00,376,0
+2006-02-22,19:44:00,3822.00,3823.00,3822.00,3822.00,229,0
+2006-02-22,19:45:00,3822.00,3822.00,3821.00,3821.00,681,0
+2006-02-22,19:46:00,3821.00,3823.00,3821.00,3823.00,198,0
+2006-02-22,19:47:00,3822.00,3823.00,3822.00,3823.00,64,0
+2006-02-22,19:48:00,3823.00,3823.00,3822.00,3822.00,129,0
+2006-02-22,19:50:00,3822.00,3822.00,3822.00,3822.00,3,0
+2006-02-22,19:51:00,3822.00,3823.00,3822.00,3823.00,2,0
+2006-02-22,19:52:00,3823.00,3823.00,3823.00,3823.00,80,0
+2006-02-22,19:53:00,3823.00,3823.00,3822.00,3822.00,19,0
+2006-02-22,19:54:00,3822.00,3823.00,3822.00,3823.00,75,0
+2006-02-22,19:55:00,3823.00,3823.00,3822.00,3823.00,25,0
+2006-02-22,19:56:00,3822.00,3822.00,3822.00,3822.00,195,0
+2006-02-22,19:57:00,3822.00,3822.00,3822.00,3822.00,86,0
+2006-02-22,19:58:00,3822.00,3822.00,3821.00,3822.00,141,0
+2006-02-22,19:59:00,3822.00,3823.00,3821.00,3822.00,353,0
+2006-02-22,20:00:00,3823.00,3823.00,3822.00,3822.00,46,0
+2006-02-22,20:01:00,3823.00,3823.00,3823.00,3823.00,13,0
+2006-02-22,20:02:00,3822.00,3822.00,3822.00,3822.00,7,0
+2006-02-22,20:03:00,3822.00,3822.00,3822.00,3822.00,220,0
+2006-02-22,20:04:00,3821.00,3821.00,3821.00,3821.00,21,0
+2006-02-22,20:06:00,3822.00,3822.00,3822.00,3822.00,4,0
+2006-02-22,20:07:00,3822.00,3822.00,3822.00,3822.00,24,0
+2006-02-22,20:08:00,3821.00,3822.00,3821.00,3822.00,10,0
+2006-02-22,20:09:00,3822.00,3822.00,3822.00,3822.00,20,0
+2006-02-22,20:10:00,3822.00,3822.00,3822.00,3822.00,59,0
+2006-02-22,20:12:00,3823.00,3824.00,3823.00,3824.00,59,0
+2006-02-22,20:13:00,3824.00,3825.00,3824.00,3825.00,174,0
+2006-02-22,20:14:00,3825.00,3826.00,3825.00,3826.00,120,0
+2006-02-22,20:15:00,3826.00,3826.00,3825.00,3826.00,355,0
+2006-02-22,20:16:00,3826.00,3826.00,3825.00,3826.00,77,0
+2006-02-22,20:17:00,3826.00,3826.00,3825.00,3825.00,214,0
+2006-02-22,20:19:00,3826.00,3827.00,3826.00,3827.00,31,0
+2006-02-22,20:21:00,3827.00,3827.00,3826.00,3826.00,31,0
+2006-02-22,20:22:00,3826.00,3826.00,3826.00,3826.00,5,0
+2006-02-22,20:24:00,3826.00,3826.00,3825.00,3825.00,48,0
+2006-02-22,20:26:00,3826.00,3826.00,3826.00,3826.00,41,0
+2006-02-22,20:27:00,3826.00,3826.00,3826.00,3826.00,7,0
+2006-02-22,20:28:00,3827.00,3827.00,3826.00,3826.00,33,0
+2006-02-22,20:29:00,3826.00,3826.00,3825.00,3825.00,88,0
+2006-02-22,20:30:00,3825.00,3825.00,3823.00,3824.00,70,0
+2006-02-22,20:31:00,3824.00,3825.00,3824.00,3825.00,102,0
+2006-02-22,20:32:00,3825.00,3825.00,3825.00,3825.00,4,0
+2006-02-22,20:33:00,3825.00,3825.00,3825.00,3825.00,16,0
+2006-02-22,20:34:00,3824.00,3824.00,3824.00,3824.00,58,0
+2006-02-22,20:35:00,3825.00,3825.00,3825.00,3825.00,75,0
+2006-02-22,20:36:00,3825.00,3825.00,3824.00,3824.00,9,0
+2006-02-22,20:37:00,3825.00,3825.00,3825.00,3825.00,1,0
+2006-02-22,20:38:00,3824.00,3824.00,3824.00,3824.00,28,0
+2006-02-22,20:39:00,3824.00,3824.00,3823.00,3824.00,5,0
+2006-02-22,20:40:00,3824.00,3824.00,3823.00,3823.00,10,0
+2006-02-22,20:41:00,3823.00,3824.00,3822.00,3823.00,663,0
+2006-02-22,20:42:00,3823.00,3824.00,3823.00,3823.00,32,0
+2006-02-22,20:44:00,3823.00,3823.00,3823.00,3823.00,11,0
+2006-02-22,20:45:00,3824.00,3826.00,3824.00,3826.00,68,0
+2006-02-22,20:46:00,3825.00,3825.00,3825.00,3825.00,11,0
+2006-02-22,20:47:00,3825.00,3825.00,3825.00,3825.00,18,0
+2006-02-22,20:48:00,3825.00,3825.00,3825.00,3825.00,4,0
+2006-02-22,20:50:00,3825.00,3825.00,3825.00,3825.00,21,0
+2006-02-22,20:51:00,3825.00,3825.00,3825.00,3825.00,3,0
+2006-02-22,20:53:00,3825.00,3825.00,3825.00,3825.00,5,0
+2006-02-22,20:55:00,3825.00,3825.00,3825.00,3825.00,10,0
+2006-02-22,20:56:00,3826.00,3826.00,3826.00,3826.00,43,0
+2006-02-22,20:57:00,3827.00,3827.00,3826.00,3826.00,51,0
+2006-02-22,20:58:00,3825.00,3825.00,3825.00,3825.00,39,0
+2006-02-22,20:59:00,3825.00,3827.00,3825.00,3827.00,84,0
+2006-02-22,21:01:00,3826.00,3826.00,3826.00,3826.00,33,0
+2006-02-22,21:02:00,3826.00,3827.00,3826.00,3827.00,71,0
+2006-02-22,21:08:00,3827.00,3827.00,3827.00,3827.00,3,0
+2006-02-22,21:09:00,3826.00,3826.00,3825.00,3825.00,88,0
+2006-02-22,21:10:00,3825.00,3826.00,3824.00,3824.00,103,0
+2006-02-22,21:11:00,3824.00,3825.00,3824.00,3825.00,103,0
+2006-02-22,21:13:00,3825.00,3825.00,3825.00,3825.00,4,0
+2006-02-22,21:14:00,3825.00,3825.00,3825.00,3825.00,2,0
+2006-02-22,21:15:00,3825.00,3826.00,3825.00,3825.00,30,0
+2006-02-22,21:16:00,3824.00,3824.00,3824.00,3824.00,119,0
+2006-02-22,21:17:00,3825.00,3825.00,3825.00,3825.00,52,0
+2006-02-22,21:18:00,3826.00,3826.00,3826.00,3826.00,50,0
+2006-02-22,21:19:00,3826.00,3826.00,3826.00,3826.00,8,0
+2006-02-22,21:20:00,3826.00,3826.00,3826.00,3826.00,40,0
+2006-02-22,21:21:00,3826.00,3826.00,3826.00,3826.00,7,0
+2006-02-22,21:22:00,3827.00,3827.00,3826.00,3826.00,25,0
+2006-02-22,21:23:00,3826.00,3826.00,3826.00,3826.00,14,0
+2006-02-22,21:24:00,3826.00,3827.00,3826.00,3827.00,240,0
+2006-02-22,21:25:00,3827.00,3827.00,3827.00,3827.00,11,0
+2006-02-22,21:26:00,3827.00,3827.00,3827.00,3827.00,17,0
+2006-02-22,21:27:00,3827.00,3827.00,3827.00,3827.00,18,0
+2006-02-22,21:28:00,3827.00,3827.00,3827.00,3827.00,30,0
+2006-02-22,21:29:00,3827.00,3827.00,3826.00,3826.00,265,0
+2006-02-22,21:30:00,3826.00,3826.00,3826.00,3826.00,28,0
+2006-02-22,21:32:00,3827.00,3828.00,3827.00,3828.00,113,0
+2006-02-22,21:33:00,3828.00,3828.00,3828.00,3828.00,222,0
+2006-02-22,21:34:00,3828.00,3828.00,3828.00,3828.00,16,0
+2006-02-22,21:35:00,3828.00,3828.00,3828.00,3828.00,71,0
+2006-02-22,21:36:00,3829.00,3829.00,3829.00,3829.00,24,0
+2006-02-22,21:37:00,3829.00,3829.00,3828.00,3829.00,4,0
+2006-02-22,21:38:00,3828.00,3828.00,3828.00,3828.00,91,0
+2006-02-22,21:39:00,3828.00,3828.00,3828.00,3828.00,30,0
+2006-02-22,21:40:00,3828.00,3829.00,3828.00,3829.00,99,0
+2006-02-22,21:41:00,3829.00,3829.00,3829.00,3829.00,566,0
+2006-02-22,21:42:00,3830.00,3830.00,3829.00,3830.00,286,0
+2006-02-22,21:43:00,3829.00,3830.00,3829.00,3830.00,182,0
+2006-02-22,21:44:00,3831.00,3831.00,3829.00,3829.00,14,0
+2006-02-22,21:45:00,3829.00,3829.00,3829.00,3829.00,1,0
+2006-02-22,21:46:00,3830.00,3830.00,3829.00,3829.00,38,0
+2006-02-22,21:47:00,3830.00,3831.00,3830.00,3831.00,77,0
+2006-02-22,21:48:00,3831.00,3831.00,3831.00,3831.00,1,0
+2006-02-22,21:49:00,3830.00,3831.00,3830.00,3830.00,60,0
+2006-02-22,21:50:00,3830.00,3830.00,3829.00,3829.00,27,0
+2006-02-22,21:51:00,3830.00,3830.00,3829.00,3829.00,13,0
+2006-02-22,21:52:00,3829.00,3829.00,3829.00,3829.00,25,0
+2006-02-22,21:53:00,3829.00,3829.00,3829.00,3829.00,5,0
+2006-02-22,21:54:00,3830.00,3830.00,3829.00,3829.00,18,0
+2006-02-22,21:55:00,3830.00,3830.00,3830.00,3830.00,158,0
+2006-02-22,21:56:00,3831.00,3831.00,3831.00,3831.00,35,0
+2006-02-22,21:57:00,3831.00,3832.00,3831.00,3832.00,303,0
+2006-02-22,21:58:00,3831.00,3831.00,3830.00,3830.00,316,0
+2006-02-22,21:59:00,3830.00,3831.00,3830.00,3831.00,203,0
+2006-02-22,22:00:00,3831.00,3831.00,3829.00,3829.00,785,0
+2006-02-23,09:01:00,3829.00,3833.00,3829.00,3833.00,7450,0
+2006-02-23,09:02:00,3832.00,3834.00,3830.00,3831.00,4146,0
+2006-02-23,09:03:00,3830.00,3830.00,3828.00,3830.00,1474,0
+2006-02-23,09:04:00,3829.00,3830.00,3828.00,3829.00,1882,0
+2006-02-23,09:05:00,3830.00,3830.00,3828.00,3829.00,1860,0
+2006-02-23,09:06:00,3828.00,3829.00,3827.00,3827.00,1739,0
+2006-02-23,09:07:00,3827.00,3828.00,3826.00,3826.00,537,0
+2006-02-23,09:08:00,3827.00,3827.00,3826.00,3827.00,305,0
+2006-02-23,09:09:00,3827.00,3827.00,3826.00,3827.00,992,0
+2006-02-23,09:10:00,3827.00,3827.00,3826.00,3827.00,254,0
+2006-02-23,09:11:00,3827.00,3827.00,3825.00,3826.00,627,0
+2006-02-23,09:12:00,3825.00,3826.00,3823.00,3823.00,2574,0
+2006-02-23,09:13:00,3823.00,3825.00,3823.00,3825.00,1149,0
+2006-02-23,09:14:00,3824.00,3826.00,3824.00,3826.00,524,0
+2006-02-23,09:15:00,3825.00,3826.00,3825.00,3825.00,366,0
+2006-02-23,09:16:00,3825.00,3825.00,3823.00,3824.00,1082,0
+2006-02-23,09:17:00,3824.00,3824.00,3823.00,3823.00,274,0
+2006-02-23,09:18:00,3823.00,3825.00,3823.00,3824.00,2005,0
+2006-02-23,09:19:00,3824.00,3825.00,3823.00,3825.00,313,0
+2006-02-23,09:20:00,3824.00,3826.00,3824.00,3825.00,1729,0
+2006-02-23,09:21:00,3824.00,3827.00,3824.00,3827.00,2473,0
+2006-02-23,09:22:00,3827.00,3828.00,3826.00,3827.00,1811,0
+2006-02-23,09:23:00,3827.00,3828.00,3827.00,3827.00,2429,0
+2006-02-23,09:24:00,3827.00,3829.00,3827.00,3828.00,2415,0
+2006-02-23,09:25:00,3828.00,3828.00,3827.00,3828.00,310,0
+2006-02-23,09:26:00,3827.00,3828.00,3827.00,3827.00,116,0
+2006-02-23,09:27:00,3827.00,3828.00,3827.00,3828.00,431,0
+2006-02-23,09:28:00,3827.00,3828.00,3827.00,3828.00,450,0
+2006-02-23,09:29:00,3828.00,3828.00,3827.00,3827.00,1079,0
+2006-02-23,09:30:00,3827.00,3828.00,3827.00,3827.00,475,0
+2006-02-23,09:31:00,3827.00,3830.00,3827.00,3830.00,938,0
+2006-02-23,09:32:00,3830.00,3832.00,3829.00,3832.00,2265,0
+2006-02-23,09:33:00,3832.00,3832.00,3830.00,3831.00,1100,0
+2006-02-23,09:34:00,3831.00,3831.00,3830.00,3831.00,136,0
+2006-02-23,09:35:00,3831.00,3831.00,3829.00,3830.00,2996,0
+2006-02-23,09:36:00,3831.00,3832.00,3830.00,3830.00,777,0
+2006-02-23,09:37:00,3830.00,3831.00,3830.00,3830.00,659,0
+2006-02-23,09:38:00,3830.00,3830.00,3829.00,3829.00,1476,0
+2006-02-23,09:39:00,3829.00,3830.00,3828.00,3828.00,639,0
+2006-02-23,09:40:00,3828.00,3828.00,3828.00,3828.00,446,0
+2006-02-23,09:41:00,3829.00,3830.00,3828.00,3830.00,921,0
+2006-02-23,09:42:00,3830.00,3830.00,3829.00,3829.00,446,0
+2006-02-23,09:43:00,3830.00,3830.00,3829.00,3829.00,383,0
+2006-02-23,09:44:00,3829.00,3830.00,3829.00,3829.00,771,0
+2006-02-23,09:45:00,3829.00,3830.00,3828.00,3829.00,503,0
+2006-02-23,09:46:00,3829.00,3829.00,3828.00,3828.00,95,0
+2006-02-23,09:47:00,3829.00,3829.00,3827.00,3827.00,934,0
+2006-02-23,09:48:00,3827.00,3827.00,3826.00,3827.00,535,0
+2006-02-23,09:49:00,3826.00,3827.00,3825.00,3826.00,712,0
+2006-02-23,09:50:00,3826.00,3827.00,3825.00,3825.00,357,0
+2006-02-23,09:51:00,3825.00,3827.00,3825.00,3826.00,649,0
+2006-02-23,09:52:00,3826.00,3826.00,3825.00,3826.00,332,0
+2006-02-23,09:53:00,3827.00,3828.00,3826.00,3828.00,633,0
+2006-02-23,09:54:00,3828.00,3829.00,3827.00,3828.00,609,0
+2006-02-23,09:55:00,3828.00,3829.00,3827.00,3828.00,250,0
+2006-02-23,09:56:00,3828.00,3828.00,3827.00,3827.00,627,0
+2006-02-23,09:57:00,3826.00,3828.00,3826.00,3828.00,148,0
+2006-02-23,09:58:00,3827.00,3828.00,3827.00,3828.00,459,0
+2006-02-23,09:59:00,3828.00,3828.00,3827.00,3827.00,2106,0
+2006-02-23,10:00:00,3828.00,3829.00,3828.00,3828.00,712,0
+2006-02-23,10:01:00,3829.00,3830.00,3828.00,3828.00,1543,0
+2006-02-23,10:02:00,3829.00,3830.00,3828.00,3828.00,2011,0
+2006-02-23,10:03:00,3827.00,3830.00,3827.00,3829.00,480,0
+2006-02-23,10:04:00,3829.00,3830.00,3828.00,3829.00,741,0
+2006-02-23,10:05:00,3829.00,3832.00,3829.00,3832.00,887,0
+2006-02-23,10:06:00,3832.00,3834.00,3832.00,3833.00,2716,0
+2006-02-23,10:07:00,3833.00,3836.00,3833.00,3835.00,3648,0
+2006-02-23,10:08:00,3835.00,3837.00,3834.00,3836.00,2178,0
+2006-02-23,10:09:00,3837.00,3838.00,3836.00,3837.00,3334,0
+2006-02-23,10:10:00,3837.00,3837.00,3835.00,3835.00,1672,0
+2006-02-23,10:11:00,3835.00,3836.00,3835.00,3835.00,1070,0
+2006-02-23,10:12:00,3835.00,3836.00,3835.00,3836.00,328,0
+2006-02-23,10:13:00,3835.00,3836.00,3834.00,3835.00,832,0
+2006-02-23,10:14:00,3836.00,3836.00,3834.00,3835.00,731,0
+2006-02-23,10:15:00,3834.00,3836.00,3834.00,3836.00,779,0
+2006-02-23,10:16:00,3836.00,3837.00,3835.00,3836.00,728,0
+2006-02-23,10:17:00,3836.00,3836.00,3834.00,3835.00,339,0
+2006-02-23,10:18:00,3835.00,3835.00,3834.00,3834.00,511,0
+2006-02-23,10:19:00,3834.00,3834.00,3833.00,3834.00,255,0
+2006-02-23,10:20:00,3835.00,3835.00,3835.00,3835.00,335,0
+2006-02-23,10:21:00,3834.00,3835.00,3834.00,3834.00,466,0
+2006-02-23,10:22:00,3834.00,3834.00,3833.00,3834.00,667,0
+2006-02-23,10:23:00,3833.00,3834.00,3833.00,3833.00,143,0
+2006-02-23,10:24:00,3834.00,3835.00,3833.00,3835.00,829,0
+2006-02-23,10:25:00,3834.00,3836.00,3834.00,3835.00,1003,0
+2006-02-23,10:26:00,3835.00,3835.00,3834.00,3834.00,308,0
+2006-02-23,10:27:00,3834.00,3835.00,3833.00,3835.00,396,0
+2006-02-23,10:28:00,3835.00,3835.00,3833.00,3834.00,623,0
+2006-02-23,10:29:00,3834.00,3834.00,3833.00,3834.00,224,0
+2006-02-23,10:30:00,3833.00,3834.00,3833.00,3834.00,1635,0
+2006-02-23,10:31:00,3833.00,3834.00,3833.00,3833.00,349,0
+2006-02-23,10:32:00,3833.00,3834.00,3833.00,3833.00,278,0
+2006-02-23,10:33:00,3833.00,3834.00,3833.00,3834.00,506,0
+2006-02-23,10:34:00,3834.00,3834.00,3833.00,3834.00,230,0
+2006-02-23,10:35:00,3834.00,3835.00,3834.00,3834.00,596,0
+2006-02-23,10:36:00,3833.00,3835.00,3833.00,3834.00,1348,0
+2006-02-23,10:37:00,3834.00,3834.00,3832.00,3832.00,1006,0
+2006-02-23,10:38:00,3833.00,3833.00,3830.00,3831.00,3356,0
+2006-02-23,10:39:00,3831.00,3831.00,3830.00,3831.00,792,0
+2006-02-23,10:40:00,3830.00,3831.00,3829.00,3829.00,1145,0
+2006-02-23,10:41:00,3830.00,3830.00,3829.00,3829.00,558,0
+2006-02-23,10:42:00,3829.00,3830.00,3829.00,3829.00,805,0
+2006-02-23,10:43:00,3830.00,3830.00,3828.00,3828.00,1278,0
+2006-02-23,10:44:00,3828.00,3829.00,3827.00,3827.00,1247,0
+2006-02-23,10:45:00,3828.00,3828.00,3827.00,3827.00,80,0
+2006-02-23,10:46:00,3828.00,3828.00,3827.00,3827.00,419,0
+2006-02-23,10:47:00,3828.00,3828.00,3826.00,3827.00,1730,0
+2006-02-23,10:48:00,3827.00,3827.00,3825.00,3826.00,1148,0
+2006-02-23,10:49:00,3826.00,3827.00,3826.00,3827.00,1501,0
+2006-02-23,10:50:00,3827.00,3827.00,3826.00,3827.00,884,0
+2006-02-23,10:51:00,3826.00,3827.00,3822.00,3823.00,2848,0
+2006-02-23,10:52:00,3823.00,3824.00,3821.00,3822.00,2352,0
+2006-02-23,10:53:00,3822.00,3823.00,3822.00,3823.00,816,0
+2006-02-23,10:54:00,3822.00,3823.00,3822.00,3823.00,388,0
+2006-02-23,10:55:00,3823.00,3823.00,3822.00,3823.00,585,0
+2006-02-23,10:56:00,3824.00,3824.00,3822.00,3823.00,581,0
+2006-02-23,10:57:00,3823.00,3824.00,3822.00,3823.00,582,0
+2006-02-23,10:58:00,3823.00,3824.00,3822.00,3823.00,653,0
+2006-02-23,10:59:00,3822.00,3822.00,3820.00,3820.00,3424,0
+2006-02-23,11:00:00,3821.00,3821.00,3820.00,3821.00,909,0
+2006-02-23,11:01:00,3820.00,3820.00,3815.00,3816.00,7185,0
+2006-02-23,11:02:00,3816.00,3816.00,3813.00,3815.00,3605,0
+2006-02-23,11:03:00,3814.00,3817.00,3814.00,3816.00,2703,0
+2006-02-23,11:04:00,3816.00,3817.00,3815.00,3816.00,1252,0
+2006-02-23,11:05:00,3816.00,3818.00,3816.00,3817.00,1903,0
+2006-02-23,11:06:00,3817.00,3820.00,3817.00,3819.00,1024,0
+2006-02-23,11:07:00,3819.00,3821.00,3819.00,3821.00,1742,0
+2006-02-23,11:08:00,3821.00,3821.00,3820.00,3820.00,1263,0
+2006-02-23,11:09:00,3821.00,3821.00,3819.00,3819.00,706,0
+2006-02-23,11:10:00,3819.00,3820.00,3819.00,3819.00,531,0
+2006-02-23,11:11:00,3819.00,3821.00,3819.00,3820.00,1162,0
+2006-02-23,11:12:00,3820.00,3820.00,3819.00,3819.00,59,0
+2006-02-23,11:13:00,3819.00,3820.00,3818.00,3820.00,738,0
+2006-02-23,11:14:00,3820.00,3820.00,3819.00,3820.00,31,0
+2006-02-23,11:15:00,3819.00,3820.00,3819.00,3820.00,333,0
+2006-02-23,11:16:00,3820.00,3821.00,3819.00,3819.00,940,0
+2006-02-23,11:17:00,3820.00,3820.00,3819.00,3819.00,256,0
+2006-02-23,11:18:00,3819.00,3819.00,3819.00,3819.00,165,0
+2006-02-23,11:19:00,3818.00,3819.00,3818.00,3819.00,131,0
+2006-02-23,11:20:00,3819.00,3819.00,3818.00,3818.00,123,0
+2006-02-23,11:21:00,3818.00,3820.00,3818.00,3819.00,447,0
+2006-02-23,11:22:00,3819.00,3819.00,3818.00,3819.00,265,0
+2006-02-23,11:23:00,3819.00,3819.00,3818.00,3819.00,226,0
+2006-02-23,11:24:00,3819.00,3820.00,3819.00,3820.00,344,0
+2006-02-23,11:25:00,3819.00,3820.00,3819.00,3820.00,50,0
+2006-02-23,11:26:00,3819.00,3820.00,3819.00,3819.00,278,0
+2006-02-23,11:27:00,3820.00,3820.00,3819.00,3820.00,206,0
+2006-02-23,11:28:00,3819.00,3820.00,3818.00,3819.00,930,0
+2006-02-23,11:29:00,3819.00,3819.00,3817.00,3818.00,856,0
+2006-02-23,11:30:00,3818.00,3819.00,3817.00,3818.00,733,0
+2006-02-23,11:31:00,3817.00,3818.00,3817.00,3818.00,66,0
+2006-02-23,11:32:00,3818.00,3818.00,3817.00,3818.00,74,0
+2006-02-23,11:33:00,3817.00,3817.00,3816.00,3817.00,1261,0
+2006-02-23,11:34:00,3817.00,3817.00,3815.00,3816.00,1705,0
+2006-02-23,11:35:00,3817.00,3817.00,3814.00,3816.00,1659,0
+2006-02-23,11:36:00,3816.00,3816.00,3815.00,3816.00,248,0
+2006-02-23,11:37:00,3816.00,3817.00,3815.00,3817.00,326,0
+2006-02-23,11:38:00,3817.00,3817.00,3816.00,3816.00,925,0
+2006-02-23,11:39:00,3816.00,3817.00,3814.00,3814.00,3079,0
+2006-02-23,11:40:00,3815.00,3815.00,3812.00,3813.00,4664,0
+2006-02-23,11:41:00,3813.00,3814.00,3813.00,3814.00,1023,0
+2006-02-23,11:42:00,3814.00,3814.00,3812.00,3813.00,1926,0
+2006-02-23,11:43:00,3813.00,3814.00,3813.00,3814.00,1064,0
+2006-02-23,11:44:00,3813.00,3814.00,3812.00,3813.00,581,0
+2006-02-23,11:45:00,3812.00,3813.00,3811.00,3812.00,1562,0
+2006-02-23,11:46:00,3812.00,3813.00,3812.00,3812.00,940,0
+2006-02-23,11:47:00,3813.00,3813.00,3812.00,3813.00,539,0
+2006-02-23,11:48:00,3814.00,3814.00,3813.00,3814.00,314,0
+2006-02-23,11:49:00,3814.00,3814.00,3813.00,3814.00,668,0
+2006-02-23,11:50:00,3813.00,3814.00,3812.00,3814.00,802,0
+2006-02-23,11:51:00,3813.00,3814.00,3813.00,3814.00,149,0
+2006-02-23,11:52:00,3813.00,3813.00,3812.00,3812.00,280,0
+2006-02-23,11:53:00,3813.00,3815.00,3813.00,3814.00,996,0
+2006-02-23,11:54:00,3815.00,3816.00,3814.00,3815.00,669,0
+2006-02-23,11:55:00,3815.00,3816.00,3815.00,3816.00,574,0
+2006-02-23,11:56:00,3816.00,3816.00,3815.00,3815.00,412,0
+2006-02-23,11:57:00,3815.00,3816.00,3815.00,3816.00,180,0
+2006-02-23,11:58:00,3815.00,3816.00,3815.00,3815.00,311,0
+2006-02-23,11:59:00,3815.00,3815.00,3815.00,3815.00,1,0
+2006-02-23,12:00:00,3815.00,3816.00,3814.00,3815.00,1171,0
+2006-02-23,12:01:00,3815.00,3816.00,3814.00,3816.00,427,0
+2006-02-23,12:02:00,3815.00,3815.00,3814.00,3815.00,393,0
+2006-02-23,12:03:00,3815.00,3815.00,3815.00,3815.00,104,0
+2006-02-23,12:04:00,3815.00,3815.00,3814.00,3815.00,618,0
+2006-02-23,12:05:00,3816.00,3816.00,3815.00,3815.00,345,0
+2006-02-23,12:06:00,3816.00,3817.00,3816.00,3816.00,320,0
+2006-02-23,12:07:00,3817.00,3817.00,3817.00,3817.00,458,0
+2006-02-23,12:08:00,3817.00,3818.00,3817.00,3818.00,625,0
+2006-02-23,12:09:00,3817.00,3818.00,3817.00,3818.00,531,0
+2006-02-23,12:10:00,3818.00,3820.00,3818.00,3819.00,822,0
+2006-02-23,12:11:00,3819.00,3819.00,3818.00,3819.00,23,0
+2006-02-23,12:12:00,3819.00,3819.00,3817.00,3818.00,519,0
+2006-02-23,12:13:00,3819.00,3820.00,3818.00,3818.00,221,0
+2006-02-23,12:14:00,3818.00,3819.00,3818.00,3818.00,163,0
+2006-02-23,12:15:00,3819.00,3819.00,3818.00,3819.00,53,0
+2006-02-23,12:16:00,3818.00,3818.00,3817.00,3818.00,257,0
+2006-02-23,12:17:00,3818.00,3818.00,3817.00,3817.00,499,0
+2006-02-23,12:18:00,3817.00,3818.00,3817.00,3818.00,371,0
+2006-02-23,12:19:00,3817.00,3817.00,3817.00,3817.00,457,0
+2006-02-23,12:20:00,3817.00,3817.00,3815.00,3816.00,379,0
+2006-02-23,12:21:00,3816.00,3816.00,3816.00,3816.00,1212,0
+2006-02-23,12:22:00,3816.00,3816.00,3816.00,3816.00,12,0
+2006-02-23,12:23:00,3817.00,3817.00,3817.00,3817.00,55,0
+2006-02-23,12:24:00,3817.00,3818.00,3816.00,3818.00,183,0
+2006-02-23,12:25:00,3817.00,3818.00,3817.00,3818.00,1027,0
+2006-02-23,12:26:00,3818.00,3819.00,3817.00,3818.00,669,0
+2006-02-23,12:28:00,3818.00,3819.00,3818.00,3818.00,988,0
+2006-02-23,12:29:00,3819.00,3819.00,3818.00,3819.00,107,0
+2006-02-23,12:30:00,3819.00,3819.00,3819.00,3819.00,15,0
+2006-02-23,12:31:00,3819.00,3820.00,3819.00,3819.00,266,0
+2006-02-23,12:32:00,3819.00,3819.00,3819.00,3819.00,1658,0
+2006-02-23,12:33:00,3819.00,3819.00,3819.00,3819.00,62,0
+2006-02-23,12:34:00,3819.00,3819.00,3818.00,3819.00,51,0
+2006-02-23,12:35:00,3819.00,3819.00,3818.00,3819.00,79,0
+2006-02-23,12:36:00,3819.00,3819.00,3818.00,3819.00,6,0
+2006-02-23,12:37:00,3819.00,3819.00,3819.00,3819.00,189,0
+2006-02-23,12:38:00,3818.00,3818.00,3818.00,3818.00,441,0
+2006-02-23,12:39:00,3818.00,3818.00,3817.00,3817.00,426,0
+2006-02-23,12:40:00,3817.00,3817.00,3816.00,3816.00,323,0
+2006-02-23,12:41:00,3816.00,3817.00,3816.00,3817.00,64,0
+2006-02-23,12:42:00,3816.00,3816.00,3816.00,3816.00,265,0
+2006-02-23,12:44:00,3816.00,3817.00,3816.00,3816.00,214,0
+2006-02-23,12:45:00,3816.00,3817.00,3816.00,3817.00,22,0
+2006-02-23,12:46:00,3816.00,3817.00,3816.00,3816.00,156,0
+2006-02-23,12:47:00,3816.00,3816.00,3816.00,3816.00,27,0
+2006-02-23,12:49:00,3816.00,3817.00,3816.00,3817.00,549,0
+2006-02-23,12:50:00,3816.00,3816.00,3816.00,3816.00,54,0
+2006-02-23,12:51:00,3816.00,3816.00,3815.00,3815.00,1091,0
+2006-02-23,12:52:00,3815.00,3816.00,3815.00,3816.00,98,0
+2006-02-23,12:53:00,3815.00,3815.00,3815.00,3815.00,161,0
+2006-02-23,12:54:00,3816.00,3816.00,3815.00,3815.00,173,0
+2006-02-23,12:55:00,3815.00,3815.00,3815.00,3815.00,480,0
+2006-02-23,12:56:00,3815.00,3816.00,3815.00,3816.00,119,0
+2006-02-23,12:57:00,3816.00,3816.00,3816.00,3816.00,83,0
+2006-02-23,12:58:00,3816.00,3816.00,3816.00,3816.00,11,0
+2006-02-23,12:59:00,3815.00,3815.00,3815.00,3815.00,1,0
+2006-02-23,13:00:00,3815.00,3815.00,3815.00,3815.00,52,0
+2006-02-23,13:01:00,3815.00,3816.00,3815.00,3815.00,690,0
+2006-02-23,13:02:00,3816.00,3816.00,3815.00,3816.00,7,0
+2006-02-23,13:03:00,3815.00,3815.00,3815.00,3815.00,547,0
+2006-02-23,13:04:00,3815.00,3815.00,3814.00,3815.00,1116,0
+2006-02-23,13:05:00,3814.00,3815.00,3814.00,3814.00,297,0
+2006-02-23,13:06:00,3814.00,3815.00,3814.00,3815.00,28,0
+2006-02-23,13:07:00,3815.00,3815.00,3814.00,3815.00,295,0
+2006-02-23,13:08:00,3815.00,3816.00,3815.00,3815.00,493,0
+2006-02-23,13:09:00,3815.00,3816.00,3815.00,3816.00,175,0
+2006-02-23,13:10:00,3816.00,3816.00,3816.00,3816.00,187,0
+2006-02-23,13:11:00,3817.00,3817.00,3817.00,3817.00,202,0
+2006-02-23,13:12:00,3817.00,3817.00,3816.00,3816.00,423,0
+2006-02-23,13:13:00,3817.00,3818.00,3817.00,3818.00,432,0
+2006-02-23,13:14:00,3818.00,3818.00,3817.00,3817.00,102,0
+2006-02-23,13:16:00,3817.00,3817.00,3817.00,3817.00,19,0
+2006-02-23,13:17:00,3817.00,3818.00,3817.00,3817.00,9,0
+2006-02-23,13:18:00,3818.00,3818.00,3817.00,3817.00,54,0
+2006-02-23,13:19:00,3818.00,3818.00,3818.00,3818.00,7,0
+2006-02-23,13:20:00,3818.00,3818.00,3817.00,3818.00,32,0
+2006-02-23,13:21:00,3818.00,3818.00,3818.00,3818.00,39,0
+2006-02-23,13:22:00,3818.00,3818.00,3818.00,3818.00,172,0
+2006-02-23,13:23:00,3818.00,3818.00,3817.00,3818.00,136,0
+2006-02-23,13:25:00,3818.00,3818.00,3818.00,3818.00,1,0
+2006-02-23,13:26:00,3818.00,3819.00,3818.00,3819.00,436,0
+2006-02-23,13:27:00,3818.00,3819.00,3818.00,3818.00,169,0
+2006-02-23,13:28:00,3819.00,3819.00,3818.00,3818.00,222,0
+2006-02-23,13:29:00,3817.00,3818.00,3817.00,3817.00,144,0
+2006-02-23,13:30:00,3818.00,3818.00,3817.00,3817.00,165,0
+2006-02-23,13:31:00,3817.00,3818.00,3817.00,3817.00,176,0
+2006-02-23,13:32:00,3817.00,3817.00,3817.00,3817.00,142,0
+2006-02-23,13:33:00,3818.00,3818.00,3816.00,3817.00,382,0
+2006-02-23,13:34:00,3816.00,3817.00,3816.00,3817.00,153,0
+2006-02-23,13:35:00,3818.00,3818.00,3817.00,3817.00,7,0
+2006-02-23,13:36:00,3817.00,3818.00,3817.00,3818.00,175,0
+2006-02-23,13:37:00,3817.00,3817.00,3817.00,3817.00,3,0
+2006-02-23,13:38:00,3818.00,3818.00,3818.00,3818.00,195,0
+2006-02-23,13:39:00,3818.00,3819.00,3817.00,3817.00,339,0
+2006-02-23,13:40:00,3818.00,3819.00,3818.00,3818.00,167,0
+2006-02-23,13:41:00,3818.00,3818.00,3818.00,3818.00,2,0
+2006-02-23,13:42:00,3819.00,3819.00,3818.00,3818.00,32,0
+2006-02-23,13:43:00,3819.00,3819.00,3818.00,3819.00,20,0
+2006-02-23,13:44:00,3819.00,3819.00,3819.00,3819.00,44,0
+2006-02-23,13:45:00,3819.00,3820.00,3817.00,3818.00,674,0
+2006-02-23,13:46:00,3817.00,3818.00,3817.00,3817.00,415,0
+2006-02-23,13:47:00,3816.00,3817.00,3816.00,3816.00,389,0
+2006-02-23,13:48:00,3816.00,3817.00,3816.00,3817.00,6,0
+2006-02-23,13:49:00,3817.00,3817.00,3816.00,3816.00,17,0
+2006-02-23,13:50:00,3816.00,3817.00,3816.00,3817.00,713,0
+2006-02-23,13:51:00,3817.00,3817.00,3816.00,3817.00,229,0
+2006-02-23,13:52:00,3816.00,3816.00,3815.00,3815.00,203,0
+2006-02-23,13:53:00,3816.00,3816.00,3815.00,3816.00,34,0
+2006-02-23,13:54:00,3816.00,3816.00,3816.00,3816.00,47,0
+2006-02-23,13:55:00,3816.00,3816.00,3815.00,3816.00,246,0
+2006-02-23,13:56:00,3816.00,3816.00,3815.00,3815.00,293,0
+2006-02-23,13:57:00,3815.00,3817.00,3815.00,3817.00,228,0
+2006-02-23,13:58:00,3816.00,3817.00,3816.00,3817.00,71,0
+2006-02-23,13:59:00,3817.00,3817.00,3817.00,3817.00,15,0
+2006-02-23,14:00:00,3816.00,3816.00,3816.00,3816.00,100,0
+2006-02-23,14:01:00,3816.00,3816.00,3816.00,3816.00,405,0
+2006-02-23,14:02:00,3817.00,3817.00,3817.00,3817.00,101,0
+2006-02-23,14:03:00,3817.00,3818.00,3817.00,3818.00,313,0
+2006-02-23,14:04:00,3818.00,3818.00,3817.00,3817.00,286,0
+2006-02-23,14:05:00,3818.00,3818.00,3817.00,3817.00,3,0
+2006-02-23,14:06:00,3817.00,3820.00,3817.00,3819.00,1672,0
+2006-02-23,14:07:00,3819.00,3819.00,3818.00,3818.00,2,0
+2006-02-23,14:08:00,3818.00,3818.00,3818.00,3818.00,7,0
+2006-02-23,14:09:00,3819.00,3820.00,3819.00,3820.00,1185,0
+2006-02-23,14:10:00,3819.00,3821.00,3819.00,3820.00,1356,0
+2006-02-23,14:11:00,3820.00,3821.00,3820.00,3821.00,387,0
+2006-02-23,14:12:00,3821.00,3821.00,3819.00,3820.00,643,0
+2006-02-23,14:13:00,3820.00,3820.00,3819.00,3819.00,112,0
+2006-02-23,14:14:00,3820.00,3820.00,3820.00,3820.00,187,0
+2006-02-23,14:15:00,3821.00,3821.00,3821.00,3821.00,2,0
+2006-02-23,14:16:00,3820.00,3821.00,3820.00,3820.00,184,0
+2006-02-23,14:17:00,3821.00,3821.00,3820.00,3820.00,41,0
+2006-02-23,14:18:00,3821.00,3821.00,3820.00,3821.00,399,0
+2006-02-23,14:19:00,3821.00,3821.00,3820.00,3821.00,170,0
+2006-02-23,14:20:00,3820.00,3821.00,3820.00,3821.00,147,0
+2006-02-23,14:21:00,3821.00,3821.00,3820.00,3820.00,173,0
+2006-02-23,14:22:00,3820.00,3820.00,3820.00,3820.00,7,0
+2006-02-23,14:23:00,3820.00,3821.00,3820.00,3820.00,156,0
+2006-02-23,14:24:00,3820.00,3820.00,3819.00,3820.00,89,0
+2006-02-23,14:25:00,3820.00,3820.00,3819.00,3820.00,21,0
+2006-02-23,14:26:00,3819.00,3820.00,3819.00,3820.00,46,0
+2006-02-23,14:27:00,3820.00,3820.00,3819.00,3819.00,42,0
+2006-02-23,14:28:00,3819.00,3820.00,3819.00,3820.00,5,0
+2006-02-23,14:29:00,3820.00,3820.00,3820.00,3820.00,188,0
+2006-02-23,14:30:00,3819.00,3820.00,3819.00,3820.00,28,0
+2006-02-23,14:31:00,3820.00,3821.00,3819.00,3819.00,1480,0
+2006-02-23,14:32:00,3819.00,3820.00,3819.00,3820.00,575,0
+2006-02-23,14:33:00,3819.00,3820.00,3819.00,3820.00,203,0
+2006-02-23,14:34:00,3819.00,3819.00,3819.00,3819.00,38,0
+2006-02-23,14:35:00,3819.00,3819.00,3818.00,3818.00,587,0
+2006-02-23,14:36:00,3818.00,3819.00,3818.00,3818.00,52,0
+2006-02-23,14:37:00,3819.00,3819.00,3818.00,3818.00,186,0
+2006-02-23,14:38:00,3818.00,3820.00,3818.00,3819.00,543,0
+2006-02-23,14:39:00,3820.00,3820.00,3819.00,3819.00,218,0
+2006-02-23,14:40:00,3818.00,3818.00,3815.00,3815.00,2298,0
+2006-02-23,14:41:00,3816.00,3816.00,3814.00,3815.00,1034,0
+2006-02-23,14:42:00,3815.00,3815.00,3814.00,3815.00,334,0
+2006-02-23,14:43:00,3815.00,3815.00,3812.00,3812.00,1702,0
+2006-02-23,14:44:00,3812.00,3813.00,3812.00,3813.00,1430,0
+2006-02-23,14:45:00,3814.00,3815.00,3814.00,3814.00,649,0
+2006-02-23,14:46:00,3814.00,3814.00,3813.00,3813.00,623,0
+2006-02-23,14:47:00,3813.00,3814.00,3812.00,3813.00,823,0
+2006-02-23,14:48:00,3812.00,3814.00,3812.00,3812.00,2689,0
+2006-02-23,14:49:00,3812.00,3814.00,3812.00,3812.00,602,0
+2006-02-23,14:50:00,3813.00,3815.00,3812.00,3815.00,1200,0
+2006-02-23,14:51:00,3814.00,3815.00,3812.00,3815.00,2343,0
+2006-02-23,14:52:00,3814.00,3815.00,3814.00,3814.00,867,0
+2006-02-23,14:53:00,3814.00,3815.00,3814.00,3815.00,799,0
+2006-02-23,14:54:00,3815.00,3815.00,3814.00,3815.00,733,0
+2006-02-23,14:55:00,3815.00,3815.00,3814.00,3815.00,338,0
+2006-02-23,14:56:00,3815.00,3816.00,3814.00,3815.00,314,0
+2006-02-23,14:57:00,3815.00,3815.00,3814.00,3814.00,170,0
+2006-02-23,14:58:00,3814.00,3815.00,3814.00,3814.00,150,0
+2006-02-23,14:59:00,3814.00,3814.00,3813.00,3813.00,255,0
+2006-02-23,15:00:00,3813.00,3814.00,3813.00,3813.00,119,0
+2006-02-23,15:01:00,3814.00,3814.00,3812.00,3813.00,984,0
+2006-02-23,15:02:00,3813.00,3814.00,3813.00,3814.00,444,0
+2006-02-23,15:03:00,3815.00,3815.00,3814.00,3815.00,586,0
+2006-02-23,15:04:00,3815.00,3816.00,3815.00,3815.00,57,0
+2006-02-23,15:05:00,3815.00,3816.00,3814.00,3815.00,495,0
+2006-02-23,15:06:00,3815.00,3815.00,3815.00,3815.00,1215,0
+2006-02-23,15:07:00,3815.00,3815.00,3814.00,3815.00,133,0
+2006-02-23,15:08:00,3816.00,3816.00,3815.00,3816.00,753,0
+2006-02-23,15:09:00,3816.00,3817.00,3816.00,3816.00,1218,0
+2006-02-23,15:10:00,3817.00,3818.00,3817.00,3818.00,403,0
+2006-02-23,15:11:00,3817.00,3819.00,3817.00,3818.00,1117,0
+2006-02-23,15:12:00,3817.00,3818.00,3816.00,3817.00,283,0
+2006-02-23,15:13:00,3818.00,3818.00,3818.00,3818.00,1048,0
+2006-02-23,15:14:00,3818.00,3819.00,3817.00,3817.00,599,0
+2006-02-23,15:15:00,3818.00,3818.00,3817.00,3818.00,40,0
+2006-02-23,15:16:00,3817.00,3817.00,3817.00,3817.00,54,0
+2006-02-23,15:17:00,3817.00,3818.00,3817.00,3817.00,109,0
+2006-02-23,15:18:00,3817.00,3818.00,3817.00,3818.00,504,0
+2006-02-23,15:19:00,3817.00,3817.00,3817.00,3817.00,64,0
+2006-02-23,15:20:00,3817.00,3817.00,3817.00,3817.00,59,0
+2006-02-23,15:21:00,3816.00,3818.00,3816.00,3818.00,310,0
+2006-02-23,15:22:00,3818.00,3819.00,3818.00,3819.00,357,0
+2006-02-23,15:23:00,3819.00,3819.00,3817.00,3819.00,558,0
+2006-02-23,15:24:00,3819.00,3819.00,3818.00,3818.00,202,0
+2006-02-23,15:25:00,3818.00,3818.00,3817.00,3818.00,248,0
+2006-02-23,15:26:00,3818.00,3818.00,3816.00,3816.00,313,0
+2006-02-23,15:27:00,3817.00,3817.00,3815.00,3816.00,713,0
+2006-02-23,15:28:00,3817.00,3817.00,3816.00,3816.00,10,0
+2006-02-23,15:29:00,3817.00,3817.00,3816.00,3816.00,46,0
+2006-02-23,15:30:00,3816.00,3817.00,3816.00,3816.00,23,0
+2006-02-23,15:31:00,3816.00,3817.00,3815.00,3815.00,614,0
+2006-02-23,15:32:00,3816.00,3816.00,3814.00,3815.00,569,0
+2006-02-23,15:33:00,3815.00,3815.00,3814.00,3815.00,722,0
+2006-02-23,15:34:00,3814.00,3816.00,3814.00,3815.00,563,0
+2006-02-23,15:35:00,3815.00,3815.00,3815.00,3815.00,679,0
+2006-02-23,15:36:00,3815.00,3815.00,3813.00,3814.00,1216,0
+2006-02-23,15:37:00,3813.00,3814.00,3811.00,3812.00,3414,0
+2006-02-23,15:38:00,3813.00,3814.00,3811.00,3812.00,1432,0
+2006-02-23,15:39:00,3812.00,3813.00,3811.00,3813.00,1236,0
+2006-02-23,15:40:00,3813.00,3815.00,3812.00,3815.00,1300,0
+2006-02-23,15:41:00,3814.00,3815.00,3813.00,3813.00,955,0
+2006-02-23,15:42:00,3812.00,3813.00,3811.00,3812.00,1359,0
+2006-02-23,15:43:00,3811.00,3811.00,3808.00,3810.00,7991,0
+2006-02-23,15:44:00,3810.00,3810.00,3808.00,3809.00,2772,0
+2006-02-23,15:45:00,3809.00,3809.00,3805.00,3805.00,6410,0
+2006-02-23,15:46:00,3805.00,3806.00,3802.00,3804.00,7365,0
+2006-02-23,15:47:00,3804.00,3806.00,3804.00,3806.00,2160,0
+2006-02-23,15:48:00,3806.00,3806.00,3804.00,3806.00,1591,0
+2006-02-23,15:49:00,3806.00,3806.00,3804.00,3805.00,2294,0
+2006-02-23,15:50:00,3805.00,3806.00,3804.00,3805.00,878,0
+2006-02-23,15:51:00,3806.00,3806.00,3805.00,3805.00,1358,0
+2006-02-23,15:52:00,3805.00,3807.00,3804.00,3807.00,2488,0
+2006-02-23,15:53:00,3807.00,3808.00,3806.00,3807.00,4281,0
+2006-02-23,15:54:00,3807.00,3807.00,3805.00,3805.00,1624,0
+2006-02-23,15:55:00,3805.00,3808.00,3805.00,3808.00,1903,0
+2006-02-23,15:56:00,3807.00,3808.00,3805.00,3805.00,1335,0
+2006-02-23,15:57:00,3806.00,3806.00,3806.00,3806.00,991,0
+2006-02-23,15:58:00,3806.00,3807.00,3805.00,3807.00,1367,0
+2006-02-23,15:59:00,3806.00,3808.00,3806.00,3807.00,1475,0
+2006-02-23,16:00:00,3806.00,3807.00,3806.00,3806.00,1397,0
+2006-02-23,16:01:00,3805.00,3806.00,3803.00,3803.00,3057,0
+2006-02-23,16:02:00,3804.00,3804.00,3801.00,3802.00,4719,0
+2006-02-23,16:03:00,3801.00,3805.00,3801.00,3804.00,2180,0
+2006-02-23,16:04:00,3803.00,3806.00,3803.00,3804.00,1968,0
+2006-02-23,16:05:00,3805.00,3806.00,3804.00,3805.00,1334,0
+2006-02-23,16:06:00,3806.00,3806.00,3805.00,3805.00,2447,0
+2006-02-23,16:07:00,3805.00,3808.00,3805.00,3806.00,1960,0
+2006-02-23,16:08:00,3807.00,3809.00,3806.00,3809.00,1864,0
+2006-02-23,16:09:00,3809.00,3811.00,3809.00,3809.00,2810,0
+2006-02-23,16:10:00,3809.00,3810.00,3808.00,3809.00,1476,0
+2006-02-23,16:11:00,3809.00,3812.00,3809.00,3811.00,3663,0
+2006-02-23,16:12:00,3811.00,3812.00,3809.00,3809.00,3222,0
+2006-02-23,16:13:00,3809.00,3811.00,3808.00,3810.00,1085,0
+2006-02-23,16:14:00,3811.00,3813.00,3811.00,3812.00,2887,0
+2006-02-23,16:15:00,3812.00,3814.00,3809.00,3810.00,3242,0
+2006-02-23,16:16:00,3811.00,3812.00,3811.00,3812.00,1014,0
+2006-02-23,16:17:00,3812.00,3812.00,3809.00,3811.00,3739,0
+2006-02-23,16:18:00,3811.00,3811.00,3809.00,3811.00,578,0
+2006-02-23,16:19:00,3811.00,3812.00,3808.00,3809.00,2115,0
+2006-02-23,16:20:00,3809.00,3813.00,3809.00,3812.00,2850,0
+2006-02-23,16:21:00,3811.00,3812.00,3811.00,3811.00,1316,0
+2006-02-23,16:22:00,3811.00,3812.00,3811.00,3811.00,591,0
+2006-02-23,16:23:00,3811.00,3811.00,3811.00,3811.00,344,0
+2006-02-23,16:24:00,3811.00,3812.00,3808.00,3810.00,1802,0
+2006-02-23,16:25:00,3810.00,3812.00,3809.00,3809.00,1276,0
+2006-02-23,16:26:00,3810.00,3812.00,3810.00,3811.00,1335,0
+2006-02-23,16:27:00,3811.00,3812.00,3810.00,3811.00,449,0
+2006-02-23,16:28:00,3811.00,3814.00,3811.00,3814.00,1916,0
+2006-02-23,16:29:00,3814.00,3815.00,3813.00,3814.00,2696,0
+2006-02-23,16:30:00,3814.00,3815.00,3814.00,3814.00,1314,0
+2006-02-23,16:31:00,3814.00,3815.00,3813.00,3814.00,1285,0
+2006-02-23,16:32:00,3814.00,3816.00,3813.00,3814.00,1697,0
+2006-02-23,16:33:00,3814.00,3817.00,3814.00,3816.00,2292,0
+2006-02-23,16:34:00,3816.00,3816.00,3814.00,3815.00,2779,0
+2006-02-23,16:35:00,3815.00,3816.00,3814.00,3815.00,1793,0
+2006-02-23,16:36:00,3814.00,3815.00,3812.00,3814.00,1891,0
+2006-02-23,16:37:00,3815.00,3816.00,3814.00,3816.00,2018,0
+2006-02-23,16:38:00,3816.00,3819.00,3816.00,3819.00,3468,0
+2006-02-23,16:39:00,3819.00,3822.00,3819.00,3820.00,3385,0
+2006-02-23,16:40:00,3820.00,3821.00,3819.00,3820.00,3254,0
+2006-02-23,16:41:00,3820.00,3820.00,3819.00,3819.00,2117,0
+2006-02-23,16:42:00,3819.00,3819.00,3817.00,3817.00,1762,0
+2006-02-23,16:43:00,3816.00,3817.00,3816.00,3817.00,2285,0
+2006-02-23,16:44:00,3817.00,3817.00,3817.00,3817.00,642,0
+2006-02-23,16:45:00,3818.00,3818.00,3816.00,3816.00,1616,0
+2006-02-23,16:46:00,3816.00,3818.00,3815.00,3818.00,1401,0
+2006-02-23,16:47:00,3818.00,3818.00,3817.00,3818.00,1824,0
+2006-02-23,16:48:00,3817.00,3820.00,3816.00,3820.00,1579,0
+2006-02-23,16:49:00,3820.00,3821.00,3818.00,3818.00,1484,0
+2006-02-23,16:50:00,3818.00,3819.00,3818.00,3819.00,974,0
+2006-02-23,16:51:00,3820.00,3820.00,3818.00,3820.00,1062,0
+2006-02-23,16:52:00,3819.00,3820.00,3818.00,3818.00,4137,0
+2006-02-23,16:53:00,3818.00,3818.00,3817.00,3818.00,2359,0
+2006-02-23,16:54:00,3818.00,3819.00,3818.00,3818.00,525,0
+2006-02-23,16:55:00,3818.00,3819.00,3818.00,3819.00,529,0
+2006-02-23,16:56:00,3819.00,3819.00,3817.00,3819.00,702,0
+2006-02-23,16:57:00,3818.00,3820.00,3818.00,3819.00,1357,0
+2006-02-23,16:58:00,3819.00,3819.00,3818.00,3818.00,376,0
+2006-02-23,16:59:00,3818.00,3818.00,3816.00,3817.00,2794,0
+2006-02-23,17:00:00,3816.00,3818.00,3815.00,3818.00,1266,0
+2006-02-23,17:01:00,3818.00,3818.00,3816.00,3816.00,1308,0
+2006-02-23,17:02:00,3817.00,3817.00,3816.00,3816.00,1427,0
+2006-02-23,17:03:00,3816.00,3818.00,3816.00,3817.00,1431,0
+2006-02-23,17:04:00,3816.00,3816.00,3815.00,3816.00,1886,0
+2006-02-23,17:05:00,3816.00,3816.00,3813.00,3814.00,1095,0
+2006-02-23,17:06:00,3815.00,3815.00,3814.00,3815.00,1317,0
+2006-02-23,17:07:00,3815.00,3815.00,3815.00,3815.00,1592,0
+2006-02-23,17:08:00,3815.00,3818.00,3815.00,3816.00,1584,0
+2006-02-23,17:09:00,3816.00,3817.00,3816.00,3816.00,1241,0
+2006-02-23,17:10:00,3816.00,3817.00,3816.00,3816.00,628,0
+2006-02-23,17:11:00,3816.00,3816.00,3815.00,3815.00,1282,0
+2006-02-23,17:12:00,3815.00,3816.00,3815.00,3815.00,1900,0
+2006-02-23,17:13:00,3815.00,3816.00,3815.00,3816.00,1161,0
+2006-02-23,17:14:00,3816.00,3819.00,3816.00,3818.00,1620,0
+2006-02-23,17:15:00,3818.00,3820.00,3818.00,3819.00,1324,0
+2006-02-23,17:16:00,3818.00,3819.00,3817.00,3818.00,1275,0
+2006-02-23,17:17:00,3817.00,3817.00,3816.00,3816.00,1366,0
+2006-02-23,17:18:00,3816.00,3818.00,3816.00,3817.00,601,0
+2006-02-23,17:19:00,3817.00,3818.00,3817.00,3818.00,696,0
+2006-02-23,17:20:00,3818.00,3819.00,3817.00,3818.00,1067,0
+2006-02-23,17:21:00,3818.00,3819.00,3817.00,3818.00,1115,0
+2006-02-23,17:22:00,3818.00,3819.00,3817.00,3819.00,1051,0
+2006-02-23,17:23:00,3818.00,3819.00,3818.00,3818.00,1346,0
+2006-02-23,17:24:00,3817.00,3818.00,3815.00,3816.00,1964,0
+2006-02-23,17:25:00,3817.00,3819.00,3816.00,3819.00,1562,0
+2006-02-23,17:26:00,3818.00,3821.00,3818.00,3820.00,3691,0
+2006-02-23,17:27:00,3821.00,3822.00,3820.00,3820.00,2895,0
+2006-02-23,17:28:00,3820.00,3821.00,3819.00,3820.00,1741,0
+2006-02-23,17:29:00,3820.00,3821.00,3819.00,3820.00,2987,0
+2006-02-23,17:30:00,3820.00,3822.00,3820.00,3822.00,6100,0
+2006-02-23,17:31:00,3822.00,3824.00,3820.00,3822.00,5737,0
+2006-02-23,17:32:00,3821.00,3822.00,3821.00,3821.00,2024,0
+2006-02-23,17:33:00,3820.00,3821.00,3820.00,3821.00,1131,0
+2006-02-23,17:34:00,3821.00,3821.00,3820.00,3821.00,1209,0
+2006-02-23,17:35:00,3821.00,3821.00,3820.00,3821.00,1045,0
+2006-02-23,17:36:00,3820.00,3820.00,3818.00,3818.00,1855,0
+2006-02-23,17:37:00,3818.00,3819.00,3818.00,3818.00,524,0
+2006-02-23,17:38:00,3817.00,3818.00,3816.00,3818.00,1700,0
+2006-02-23,17:39:00,3818.00,3818.00,3817.00,3817.00,39,0
+2006-02-23,17:40:00,3817.00,3818.00,3816.00,3818.00,657,0
+2006-02-23,17:41:00,3817.00,3818.00,3817.00,3817.00,851,0
+2006-02-23,17:42:00,3817.00,3818.00,3817.00,3817.00,415,0
+2006-02-23,17:43:00,3817.00,3818.00,3817.00,3818.00,168,0
+2006-02-23,17:44:00,3818.00,3819.00,3818.00,3819.00,1796,0
+2006-02-23,17:45:00,3818.00,3819.00,3817.00,3818.00,1436,0
+2006-02-23,17:46:00,3818.00,3819.00,3817.00,3818.00,525,0
+2006-02-23,17:47:00,3817.00,3818.00,3817.00,3818.00,78,0
+2006-02-23,17:48:00,3817.00,3817.00,3816.00,3817.00,1341,0
+2006-02-23,17:49:00,3817.00,3818.00,3817.00,3818.00,1309,0
+2006-02-23,17:50:00,3817.00,3817.00,3817.00,3817.00,215,0
+2006-02-23,17:51:00,3818.00,3818.00,3816.00,3817.00,522,0
+2006-02-23,17:52:00,3816.00,3817.00,3816.00,3817.00,108,0
+2006-02-23,17:53:00,3818.00,3818.00,3817.00,3817.00,603,0
+2006-02-23,17:54:00,3818.00,3818.00,3818.00,3818.00,223,0
+2006-02-23,17:55:00,3817.00,3817.00,3816.00,3817.00,678,0
+2006-02-23,17:56:00,3817.00,3819.00,3817.00,3819.00,231,0
+2006-02-23,17:57:00,3818.00,3819.00,3817.00,3817.00,844,0
+2006-02-23,17:58:00,3817.00,3818.00,3817.00,3818.00,155,0
+2006-02-23,17:59:00,3817.00,3817.00,3817.00,3817.00,143,0
+2006-02-23,18:00:00,3817.00,3817.00,3816.00,3816.00,33,0
+2006-02-23,18:01:00,3817.00,3817.00,3815.00,3815.00,609,0
+2006-02-23,18:02:00,3816.00,3817.00,3815.00,3817.00,555,0
+2006-02-23,18:03:00,3818.00,3818.00,3817.00,3817.00,217,0
+2006-02-23,18:04:00,3817.00,3817.00,3816.00,3816.00,175,0
+2006-02-23,18:05:00,3816.00,3816.00,3816.00,3816.00,20,0
+2006-02-23,18:06:00,3816.00,3816.00,3816.00,3816.00,151,0
+2006-02-23,18:07:00,3816.00,3817.00,3816.00,3817.00,229,0
+2006-02-23,18:08:00,3817.00,3817.00,3817.00,3817.00,10,0
+2006-02-23,18:09:00,3817.00,3817.00,3817.00,3817.00,383,0
+2006-02-23,18:10:00,3818.00,3820.00,3818.00,3820.00,1344,0
+2006-02-23,18:11:00,3820.00,3820.00,3819.00,3819.00,30,0
+2006-02-23,18:12:00,3820.00,3820.00,3820.00,3820.00,92,0
+2006-02-23,18:13:00,3820.00,3821.00,3819.00,3819.00,599,0
+2006-02-23,18:14:00,3819.00,3819.00,3818.00,3818.00,167,0
+2006-02-23,18:16:00,3818.00,3818.00,3817.00,3818.00,875,0
+2006-02-23,18:17:00,3817.00,3817.00,3817.00,3817.00,47,0
+2006-02-23,18:18:00,3817.00,3818.00,3817.00,3818.00,227,0
+2006-02-23,18:19:00,3818.00,3818.00,3818.00,3818.00,66,0
+2006-02-23,18:20:00,3817.00,3817.00,3817.00,3817.00,4,0
+2006-02-23,18:21:00,3818.00,3818.00,3818.00,3818.00,39,0
+2006-02-23,18:22:00,3818.00,3818.00,3818.00,3818.00,10224,0
+2006-02-23,18:23:00,3818.00,3818.00,3817.00,3817.00,345,0
+2006-02-23,18:24:00,3817.00,3817.00,3817.00,3817.00,505,0
+2006-02-23,18:25:00,3817.00,3818.00,3817.00,3818.00,71,0
+2006-02-23,18:26:00,3818.00,3819.00,3818.00,3819.00,316,0
+2006-02-23,18:27:00,3818.00,3818.00,3817.00,3818.00,236,0
+2006-02-23,18:28:00,3817.00,3820.00,3817.00,3820.00,165,0
+2006-02-23,18:29:00,3819.00,3820.00,3819.00,3820.00,220,0
+2006-02-23,18:30:00,3819.00,3820.00,3819.00,3819.00,62,0
+2006-02-23,18:31:00,3819.00,3819.00,3818.00,3818.00,124,0
+2006-02-23,18:32:00,3818.00,3820.00,3818.00,3820.00,209,0
+2006-02-23,18:33:00,3820.00,3822.00,3820.00,3822.00,1070,0
+2006-02-23,18:34:00,3822.00,3823.00,3821.00,3821.00,596,0
+2006-02-23,18:35:00,3821.00,3822.00,3821.00,3822.00,810,0
+2006-02-23,18:36:00,3822.00,3822.00,3821.00,3821.00,330,0
+2006-02-23,18:37:00,3822.00,3822.00,3821.00,3821.00,204,0
+2006-02-23,18:38:00,3822.00,3823.00,3822.00,3823.00,551,0
+2006-02-23,18:39:00,3822.00,3823.00,3822.00,3823.00,79,0
+2006-02-23,18:40:00,3823.00,3825.00,3823.00,3825.00,1119,0
+2006-02-23,18:41:00,3824.00,3825.00,3824.00,3825.00,434,0
+2006-02-23,18:42:00,3825.00,3827.00,3825.00,3826.00,1192,0
+2006-02-23,18:43:00,3827.00,3829.00,3827.00,3828.00,2236,0
+2006-02-23,18:44:00,3828.00,3828.00,3825.00,3826.00,778,0
+2006-02-23,18:45:00,3826.00,3827.00,3826.00,3826.00,177,0
+2006-02-23,18:46:00,3826.00,3826.00,3826.00,3826.00,104,0
+2006-02-23,18:47:00,3826.00,3827.00,3825.00,3826.00,247,0
+2006-02-23,18:48:00,3826.00,3826.00,3825.00,3826.00,163,0
+2006-02-23,18:49:00,3825.00,3826.00,3825.00,3826.00,180,0
+2006-02-23,18:50:00,3827.00,3827.00,3827.00,3827.00,199,0
+2006-02-23,18:51:00,3827.00,3829.00,3827.00,3828.00,592,0
+2006-02-23,18:52:00,3827.00,3827.00,3827.00,3827.00,160,0
+2006-02-23,18:53:00,3827.00,3827.00,3827.00,3827.00,492,0
+2006-02-23,18:54:00,3827.00,3827.00,3827.00,3827.00,5,0
+2006-02-23,18:55:00,3827.00,3827.00,3827.00,3827.00,257,0
+2006-02-23,18:56:00,3827.00,3828.00,3827.00,3827.00,422,0
+2006-02-23,18:57:00,3827.00,3829.00,3827.00,3828.00,347,0
+2006-02-23,18:58:00,3829.00,3829.00,3826.00,3827.00,343,0
+2006-02-23,18:59:00,3827.00,3827.00,3827.00,3827.00,81,0
+2006-02-23,19:00:00,3826.00,3827.00,3826.00,3827.00,267,0
+2006-02-23,19:01:00,3827.00,3828.00,3827.00,3827.00,44,0
+2006-02-23,19:02:00,3828.00,3828.00,3828.00,3828.00,111,0
+2006-02-23,19:03:00,3827.00,3829.00,3826.00,3826.00,416,0
+2006-02-23,19:04:00,3826.00,3826.00,3826.00,3826.00,14,0
+2006-02-23,19:05:00,3827.00,3828.00,3826.00,3826.00,539,0
+2006-02-23,19:06:00,3827.00,3827.00,3826.00,3827.00,83,0
+2006-02-23,19:07:00,3827.00,3827.00,3826.00,3826.00,132,0
+2006-02-23,19:08:00,3825.00,3826.00,3825.00,3826.00,243,0
+2006-02-23,19:09:00,3826.00,3827.00,3826.00,3827.00,78,0
+2006-02-23,19:11:00,3827.00,3827.00,3826.00,3826.00,232,0
+2006-02-23,19:12:00,3827.00,3828.00,3827.00,3827.00,180,0
+2006-02-23,19:13:00,3827.00,3827.00,3826.00,3827.00,215,0
+2006-02-23,19:14:00,3826.00,3826.00,3825.00,3825.00,77,0
+2006-02-23,19:15:00,3825.00,3826.00,3825.00,3825.00,187,0
+2006-02-23,19:16:00,3825.00,3825.00,3824.00,3825.00,145,0
+2006-02-23,19:17:00,3825.00,3826.00,3825.00,3826.00,125,0
+2006-02-23,19:18:00,3825.00,3825.00,3825.00,3825.00,6,0
+2006-02-23,19:19:00,3826.00,3828.00,3826.00,3828.00,511,0
+2006-02-23,19:20:00,3828.00,3829.00,3827.00,3827.00,501,0
+2006-02-23,19:21:00,3827.00,3827.00,3827.00,3827.00,14,0
+2006-02-23,19:22:00,3827.00,3827.00,3827.00,3827.00,99,0
+2006-02-23,19:23:00,3827.00,3827.00,3826.00,3827.00,262,0
+2006-02-23,19:24:00,3827.00,3828.00,3827.00,3827.00,562,0
+2006-02-23,19:25:00,3827.00,3827.00,3826.00,3827.00,506,0
+2006-02-23,19:26:00,3827.00,3827.00,3827.00,3827.00,7,0
+2006-02-23,19:27:00,3827.00,3827.00,3827.00,3827.00,52,0
+2006-02-23,19:28:00,3827.00,3827.00,3827.00,3827.00,14,0
+2006-02-23,19:29:00,3827.00,3827.00,3827.00,3827.00,62,0
+2006-02-23,19:30:00,3827.00,3828.00,3827.00,3828.00,298,0
+2006-02-23,19:31:00,3828.00,3828.00,3828.00,3828.00,50,0
+2006-02-23,19:32:00,3828.00,3828.00,3828.00,3828.00,137,0
+2006-02-23,19:33:00,3828.00,3829.00,3828.00,3828.00,347,0
+2006-02-23,19:34:00,3827.00,3828.00,3827.00,3828.00,121,0
+2006-02-23,19:35:00,3828.00,3828.00,3828.00,3828.00,20,0
+2006-02-23,19:36:00,3827.00,3827.00,3826.00,3827.00,152,0
+2006-02-23,19:37:00,3826.00,3826.00,3825.00,3825.00,281,0
+2006-02-23,19:38:00,3825.00,3825.00,3825.00,3825.00,216,0
+2006-02-23,19:39:00,3825.00,3825.00,3824.00,3824.00,262,0
+2006-02-23,19:40:00,3824.00,3824.00,3822.00,3824.00,446,0
+2006-02-23,19:41:00,3823.00,3824.00,3823.00,3823.00,32,0
+2006-02-23,19:43:00,3823.00,3824.00,3823.00,3823.00,123,0
+2006-02-23,19:46:00,3823.00,3824.00,3823.00,3823.00,4,0
+2006-02-23,19:47:00,3823.00,3823.00,3823.00,3823.00,6,0
+2006-02-23,19:48:00,3824.00,3824.00,3824.00,3824.00,321,0
+2006-02-23,19:49:00,3824.00,3824.00,3824.00,3824.00,1,0
+2006-02-23,19:50:00,3825.00,3825.00,3824.00,3824.00,8,0
+2006-02-23,19:51:00,3824.00,3824.00,3824.00,3824.00,5,0
+2006-02-23,19:52:00,3824.00,3824.00,3824.00,3824.00,14,0
+2006-02-23,19:54:00,3824.00,3824.00,3824.00,3824.00,89,0
+2006-02-23,19:55:00,3824.00,3825.00,3824.00,3825.00,256,0
+2006-02-23,19:56:00,3825.00,3826.00,3825.00,3826.00,27,0
+2006-02-23,19:57:00,3825.00,3826.00,3825.00,3826.00,51,0
+2006-02-23,19:58:00,3826.00,3826.00,3826.00,3826.00,7,0
+2006-02-23,19:59:00,3826.00,3826.00,3826.00,3826.00,223,0
+2006-02-23,20:00:00,3826.00,3827.00,3826.00,3827.00,200,0
+2006-02-23,20:01:00,3826.00,3827.00,3826.00,3827.00,321,0
+2006-02-23,20:02:00,3827.00,3827.00,3827.00,3827.00,14,0
+2006-02-23,20:03:00,3826.00,3826.00,3826.00,3826.00,36,0
+2006-02-23,20:04:00,3827.00,3827.00,3826.00,3826.00,34,0
+2006-02-23,20:05:00,3826.00,3826.00,3826.00,3826.00,20,0
+2006-02-23,20:06:00,3826.00,3826.00,3826.00,3826.00,15,0
+2006-02-23,20:08:00,3826.00,3826.00,3826.00,3826.00,7,0
+2006-02-23,20:09:00,3825.00,3826.00,3825.00,3825.00,97,0
+2006-02-23,20:10:00,3825.00,3825.00,3824.00,3824.00,399,0
+2006-02-23,20:11:00,3824.00,3824.00,3823.00,3823.00,99,0
+2006-02-23,20:12:00,3824.00,3824.00,3824.00,3824.00,38,0
+2006-02-23,20:13:00,3824.00,3824.00,3824.00,3824.00,21,0
+2006-02-23,20:14:00,3824.00,3824.00,3824.00,3824.00,31,0
+2006-02-23,20:15:00,3824.00,3824.00,3823.00,3823.00,43,0
+2006-02-23,20:16:00,3822.00,3822.00,3821.00,3821.00,277,0
+2006-02-23,20:17:00,3821.00,3821.00,3820.00,3821.00,281,0
+2006-02-23,20:18:00,3820.00,3820.00,3820.00,3820.00,98,0
+2006-02-23,20:19:00,3819.00,3820.00,3819.00,3820.00,458,0
+2006-02-23,20:20:00,3820.00,3820.00,3820.00,3820.00,268,0
+2006-02-23,20:21:00,3820.00,3820.00,3820.00,3820.00,70,0
+2006-02-23,20:22:00,3820.00,3821.00,3819.00,3820.00,65,0
+2006-02-23,20:23:00,3820.00,3820.00,3819.00,3820.00,103,0
+2006-02-23,20:24:00,3820.00,3821.00,3820.00,3821.00,45,0
+2006-02-23,20:25:00,3821.00,3821.00,3821.00,3821.00,4,0
+2006-02-23,20:26:00,3821.00,3821.00,3821.00,3821.00,1,0
+2006-02-23,20:27:00,3821.00,3823.00,3821.00,3823.00,297,0
+2006-02-23,20:31:00,3822.00,3822.00,3822.00,3822.00,3,0
+2006-02-23,20:33:00,3822.00,3822.00,3822.00,3822.00,7,0
+2006-02-23,20:34:00,3822.00,3822.00,3822.00,3822.00,23,0
+2006-02-23,20:35:00,3821.00,3821.00,3821.00,3821.00,101,0
+2006-02-23,20:37:00,3822.00,3823.00,3822.00,3823.00,133,0
+2006-02-23,20:38:00,3824.00,3824.00,3824.00,3824.00,101,0
+2006-02-23,20:39:00,3824.00,3824.00,3824.00,3824.00,47,0
+2006-02-23,20:40:00,3824.00,3824.00,3824.00,3824.00,1,0
+2006-02-23,20:41:00,3824.00,3824.00,3824.00,3824.00,50,0
+2006-02-23,20:42:00,3824.00,3824.00,3824.00,3824.00,27,0
+2006-02-23,20:43:00,3823.00,3824.00,3823.00,3824.00,71,0
+2006-02-23,20:44:00,3823.00,3824.00,3823.00,3824.00,101,0
+2006-02-23,20:46:00,3823.00,3823.00,3823.00,3823.00,100,0
+2006-02-23,20:47:00,3824.00,3824.00,3824.00,3824.00,56,0
+2006-02-23,20:48:00,3824.00,3825.00,3824.00,3825.00,95,0
+2006-02-23,20:49:00,3825.00,3825.00,3825.00,3825.00,101,0
+2006-02-23,20:50:00,3825.00,3825.00,3824.00,3824.00,99,0
+2006-02-23,20:51:00,3824.00,3824.00,3824.00,3824.00,88,0
+2006-02-23,20:52:00,3824.00,3824.00,3824.00,3824.00,2,0
+2006-02-23,20:53:00,3824.00,3824.00,3824.00,3824.00,2,0
+2006-02-23,20:54:00,3823.00,3823.00,3823.00,3823.00,90,0
+2006-02-23,20:55:00,3822.00,3823.00,3822.00,3822.00,79,0
+2006-02-23,20:56:00,3821.00,3821.00,3820.00,3821.00,316,0
+2006-02-23,20:57:00,3821.00,3821.00,3820.00,3820.00,88,0
+2006-02-23,20:58:00,3820.00,3821.00,3820.00,3821.00,193,0
+2006-02-23,20:59:00,3821.00,3821.00,3821.00,3821.00,67,0
+2006-02-23,21:00:00,3821.00,3821.00,3821.00,3821.00,34,0
+2006-02-23,21:01:00,3821.00,3821.00,3821.00,3821.00,1,0
+2006-02-23,21:02:00,3820.00,3820.00,3820.00,3820.00,217,0
+2006-02-23,21:03:00,3820.00,3820.00,3819.00,3819.00,164,0
+2006-02-23,21:05:00,3819.00,3820.00,3819.00,3820.00,40,0
+2006-02-23,21:06:00,3820.00,3820.00,3820.00,3820.00,100,0
+2006-02-23,21:07:00,3820.00,3821.00,3820.00,3820.00,12,0
+2006-02-23,21:08:00,3820.00,3820.00,3820.00,3820.00,15,0
+2006-02-23,21:09:00,3820.00,3820.00,3820.00,3820.00,116,0
+2006-02-23,21:10:00,3819.00,3819.00,3819.00,3819.00,38,0
+2006-02-23,21:11:00,3819.00,3819.00,3819.00,3819.00,19,0
+2006-02-23,21:12:00,3819.00,3819.00,3819.00,3819.00,36,0
+2006-02-23,21:13:00,3818.00,3818.00,3818.00,3818.00,503,0
+2006-02-23,21:14:00,3819.00,3819.00,3819.00,3819.00,51,0
+2006-02-23,21:15:00,3819.00,3820.00,3819.00,3819.00,10,0
+2006-02-23,21:17:00,3820.00,3820.00,3820.00,3820.00,2,0
+2006-02-23,21:18:00,3819.00,3820.00,3818.00,3818.00,125,0
+2006-02-23,21:19:00,3818.00,3818.00,3818.00,3818.00,136,0
+2006-02-23,21:20:00,3817.00,3818.00,3817.00,3818.00,3,0
+2006-02-23,21:21:00,3818.00,3818.00,3818.00,3818.00,55,0
+2006-02-23,21:22:00,3817.00,3817.00,3817.00,3817.00,448,0
+2006-02-23,21:23:00,3817.00,3818.00,3817.00,3818.00,39,0
+2006-02-23,21:24:00,3818.00,3818.00,3817.00,3817.00,43,0
+2006-02-23,21:25:00,3818.00,3819.00,3818.00,3819.00,144,0
+2006-02-23,21:26:00,3819.00,3819.00,3818.00,3818.00,164,0
+2006-02-23,21:28:00,3817.00,3818.00,3817.00,3818.00,100,0
+2006-02-23,21:29:00,3818.00,3818.00,3817.00,3818.00,59,0
+2006-02-23,21:30:00,3817.00,3817.00,3817.00,3817.00,41,0
+2006-02-23,21:32:00,3817.00,3817.00,3817.00,3817.00,72,0
+2006-02-23,21:33:00,3817.00,3817.00,3816.00,3816.00,74,0
+2006-02-23,21:34:00,3816.00,3817.00,3816.00,3817.00,39,0
+2006-02-23,21:35:00,3817.00,3817.00,3816.00,3816.00,310,0
+2006-02-23,21:36:00,3816.00,3816.00,3815.00,3815.00,415,0
+2006-02-23,21:37:00,3815.00,3815.00,3814.00,3815.00,8,0
+2006-02-23,21:38:00,3814.00,3814.00,3814.00,3814.00,119,0
+2006-02-23,21:39:00,3813.00,3815.00,3813.00,3815.00,32,0
+2006-02-23,21:41:00,3814.00,3814.00,3814.00,3814.00,33,0
+2006-02-23,21:42:00,3813.00,3813.00,3812.00,3812.00,212,0
+2006-02-23,21:43:00,3812.00,3812.00,3812.00,3812.00,143,0
+2006-02-23,21:44:00,3812.00,3812.00,3812.00,3812.00,61,0
+2006-02-23,21:45:00,3812.00,3812.00,3812.00,3812.00,31,0
+2006-02-23,21:46:00,3812.00,3812.00,3812.00,3812.00,132,0
+2006-02-23,21:47:00,3811.00,3812.00,3811.00,3812.00,120,0
+2006-02-23,21:48:00,3811.00,3811.00,3811.00,3811.00,71,0
+2006-02-23,21:49:00,3811.00,3811.00,3811.00,3811.00,74,0
+2006-02-23,21:50:00,3811.00,3811.00,3811.00,3811.00,547,0
+2006-02-23,21:52:00,3812.00,3813.00,3812.00,3812.00,104,0
+2006-02-23,21:54:00,3812.00,3812.00,3811.00,3811.00,148,0
+2006-02-23,21:55:00,3812.00,3812.00,3811.00,3811.00,8,0
+2006-02-23,21:56:00,3811.00,3812.00,3811.00,3811.00,100,0
+2006-02-23,21:57:00,3811.00,3812.00,3811.00,3812.00,79,0
+2006-02-23,21:58:00,3812.00,3813.00,3812.00,3813.00,239,0
+2006-02-23,21:59:00,3812.00,3812.00,3811.00,3812.00,417,0
+2006-02-23,22:00:00,3812.00,3816.00,3811.00,3816.00,282,0
+2006-02-24,09:01:00,3827.00,3827.00,3824.00,3825.00,4516,0
+2006-02-24,09:02:00,3824.00,3825.00,3823.00,3824.00,1347,0
+2006-02-24,09:03:00,3824.00,3824.00,3822.00,3822.00,1244,0
+2006-02-24,09:04:00,3821.00,3822.00,3821.00,3822.00,447,0
+2006-02-24,09:05:00,3822.00,3823.00,3822.00,3823.00,1034,0
+2006-02-24,09:06:00,3824.00,3825.00,3823.00,3825.00,334,0
+2006-02-24,09:07:00,3825.00,3826.00,3824.00,3826.00,901,0
+2006-02-24,09:08:00,3826.00,3826.00,3824.00,3825.00,786,0
+2006-02-24,09:09:00,3825.00,3825.00,3825.00,3825.00,205,0
+2006-02-24,09:10:00,3824.00,3826.00,3824.00,3826.00,689,0
+2006-02-24,09:11:00,3826.00,3827.00,3825.00,3826.00,641,0
+2006-02-24,09:12:00,3826.00,3826.00,3825.00,3826.00,302,0
+2006-02-24,09:13:00,3826.00,3830.00,3826.00,3830.00,2048,0
+2006-02-24,09:14:00,3830.00,3830.00,3828.00,3828.00,1163,0
+2006-02-24,09:15:00,3828.00,3829.00,3828.00,3829.00,630,0
+2006-02-24,09:16:00,3829.00,3830.00,3828.00,3829.00,1454,0
+2006-02-24,09:17:00,3829.00,3829.00,3827.00,3829.00,498,0
+2006-02-24,09:18:00,3829.00,3829.00,3827.00,3828.00,332,0
+2006-02-24,09:19:00,3828.00,3828.00,3826.00,3826.00,832,0
+2006-02-24,09:20:00,3826.00,3826.00,3825.00,3825.00,636,0
+2006-02-24,09:21:00,3824.00,3825.00,3824.00,3824.00,622,0
+2006-02-24,09:22:00,3824.00,3825.00,3823.00,3823.00,741,0
+2006-02-24,09:23:00,3824.00,3825.00,3824.00,3824.00,309,0
+2006-02-24,09:24:00,3824.00,3824.00,3824.00,3824.00,5,0
+2006-02-24,09:25:00,3824.00,3825.00,3824.00,3825.00,282,0
+2006-02-24,09:26:00,3825.00,3825.00,3824.00,3824.00,304,0
+2006-02-24,09:27:00,3824.00,3824.00,3824.00,3824.00,105,0
+2006-02-24,09:28:00,3824.00,3824.00,3823.00,3824.00,669,0
+2006-02-24,09:29:00,3824.00,3824.00,3823.00,3824.00,375,0
+2006-02-24,09:30:00,3824.00,3825.00,3823.00,3825.00,231,0
+2006-02-24,09:31:00,3824.00,3824.00,3823.00,3824.00,232,0
+2006-02-24,09:32:00,3824.00,3824.00,3823.00,3824.00,45,0
+2006-02-24,09:33:00,3823.00,3823.00,3822.00,3822.00,404,0
+2006-02-24,09:34:00,3822.00,3822.00,3821.00,3822.00,1005,0
+2006-02-24,09:35:00,3822.00,3823.00,3822.00,3823.00,387,0
+2006-02-24,09:36:00,3823.00,3824.00,3819.00,3819.00,2559,0
+2006-02-24,09:37:00,3819.00,3820.00,3816.00,3818.00,2097,0
+2006-02-24,09:38:00,3818.00,3819.00,3815.00,3815.00,2012,0
+2006-02-24,09:39:00,3816.00,3817.00,3814.00,3814.00,671,0
+2006-02-24,09:40:00,3814.00,3816.00,3814.00,3816.00,1028,0
+2006-02-24,09:41:00,3815.00,3817.00,3815.00,3817.00,600,0
+2006-02-24,09:42:00,3816.00,3818.00,3816.00,3817.00,717,0
+2006-02-24,09:43:00,3817.00,3820.00,3817.00,3819.00,1408,0
+2006-02-24,09:44:00,3819.00,3819.00,3817.00,3818.00,1431,0
+2006-02-24,09:45:00,3818.00,3818.00,3816.00,3816.00,415,0
+2006-02-24,09:46:00,3817.00,3818.00,3815.00,3815.00,1278,0
+2006-02-24,09:47:00,3816.00,3816.00,3815.00,3815.00,558,0
+2006-02-24,09:48:00,3814.00,3816.00,3813.00,3816.00,1349,0
+2006-02-24,09:49:00,3815.00,3816.00,3815.00,3816.00,1394,0
+2006-02-24,09:50:00,3816.00,3817.00,3815.00,3815.00,444,0
+2006-02-24,09:51:00,3815.00,3815.00,3814.00,3815.00,356,0
+2006-02-24,09:52:00,3815.00,3816.00,3815.00,3816.00,20,0
+2006-02-24,09:53:00,3816.00,3816.00,3815.00,3815.00,909,0
+2006-02-24,09:54:00,3815.00,3815.00,3812.00,3813.00,1134,0
+2006-02-24,09:55:00,3813.00,3813.00,3811.00,3812.00,2663,0
+2006-02-24,09:56:00,3812.00,3813.00,3812.00,3813.00,291,0
+2006-02-24,09:57:00,3813.00,3813.00,3811.00,3811.00,1411,0
+2006-02-24,09:58:00,3812.00,3814.00,3812.00,3813.00,1368,0
+2006-02-24,09:59:00,3813.00,3814.00,3813.00,3814.00,641,0
+2006-02-24,10:00:00,3814.00,3815.00,3813.00,3814.00,404,0
+2006-02-24,10:01:00,3815.00,3815.00,3814.00,3815.00,457,0
+2006-02-24,10:02:00,3814.00,3815.00,3814.00,3815.00,134,0
+2006-02-24,10:03:00,3815.00,3816.00,3814.00,3815.00,427,0
+2006-02-24,10:04:00,3815.00,3815.00,3814.00,3815.00,78,0
+2006-02-24,10:05:00,3816.00,3817.00,3815.00,3817.00,654,0
+2006-02-24,10:06:00,3816.00,3817.00,3816.00,3816.00,36,0
+2006-02-24,10:07:00,3816.00,3817.00,3816.00,3817.00,103,0
+2006-02-24,10:08:00,3817.00,3817.00,3816.00,3816.00,369,0
+2006-02-24,10:09:00,3817.00,3817.00,3816.00,3816.00,276,0
+2006-02-24,10:10:00,3816.00,3817.00,3816.00,3816.00,1364,0
+2006-02-24,10:12:00,3817.00,3820.00,3817.00,3820.00,998,0
+2006-02-24,10:13:00,3820.00,3820.00,3818.00,3819.00,1156,0
+2006-02-24,10:14:00,3818.00,3820.00,3818.00,3819.00,412,0
+2006-02-24,10:15:00,3819.00,3819.00,3819.00,3819.00,58,0
+2006-02-24,10:16:00,3820.00,3820.00,3819.00,3819.00,79,0
+2006-02-24,10:17:00,3819.00,3819.00,3817.00,3817.00,928,0
+2006-02-24,10:18:00,3818.00,3819.00,3817.00,3819.00,522,0
+2006-02-24,10:19:00,3819.00,3820.00,3819.00,3819.00,56,0
+2006-02-24,10:20:00,3820.00,3820.00,3820.00,3820.00,3,0
+2006-02-24,10:21:00,3819.00,3822.00,3819.00,3821.00,1286,0
+2006-02-24,10:22:00,3821.00,3821.00,3819.00,3820.00,701,0
+2006-02-24,10:23:00,3820.00,3821.00,3819.00,3819.00,381,0
+2006-02-24,10:24:00,3820.00,3820.00,3820.00,3820.00,227,0
+2006-02-24,10:25:00,3820.00,3820.00,3819.00,3820.00,20,0
+2006-02-24,10:26:00,3820.00,3822.00,3820.00,3822.00,868,0
+2006-02-24,10:27:00,3822.00,3823.00,3821.00,3822.00,1090,0
+2006-02-24,10:28:00,3822.00,3823.00,3821.00,3823.00,397,0
+2006-02-24,10:29:00,3823.00,3824.00,3823.00,3824.00,1218,0
+2006-02-24,10:30:00,3823.00,3823.00,3822.00,3822.00,665,0
+2006-02-24,10:31:00,3823.00,3823.00,3822.00,3822.00,541,0
+2006-02-24,10:32:00,3822.00,3822.00,3821.00,3821.00,8,0
+2006-02-24,10:33:00,3821.00,3822.00,3821.00,3822.00,148,0
+2006-02-24,10:34:00,3821.00,3823.00,3821.00,3822.00,688,0
+2006-02-24,10:35:00,3822.00,3822.00,3821.00,3821.00,900,0
+2006-02-24,10:36:00,3821.00,3821.00,3818.00,3819.00,1787,0
+2006-02-24,10:37:00,3819.00,3819.00,3818.00,3818.00,1535,0
+2006-02-24,10:38:00,3817.00,3818.00,3817.00,3818.00,186,0
+2006-02-24,10:39:00,3818.00,3818.00,3818.00,3818.00,210,0
+2006-02-24,10:40:00,3818.00,3818.00,3818.00,3818.00,119,0
+2006-02-24,10:41:00,3819.00,3819.00,3818.00,3818.00,338,0
+2006-02-24,10:42:00,3818.00,3820.00,3817.00,3819.00,607,0
+2006-02-24,10:43:00,3819.00,3820.00,3819.00,3820.00,144,0
+2006-02-24,10:44:00,3820.00,3820.00,3819.00,3820.00,352,0
+2006-02-24,10:45:00,3820.00,3821.00,3820.00,3821.00,382,0
+2006-02-24,10:46:00,3821.00,3821.00,3820.00,3821.00,85,0
+2006-02-24,10:47:00,3820.00,3821.00,3820.00,3821.00,1006,0
+2006-02-24,10:48:00,3821.00,3821.00,3820.00,3821.00,61,0
+2006-02-24,10:49:00,3821.00,3822.00,3821.00,3822.00,307,0
+2006-02-24,10:50:00,3822.00,3823.00,3822.00,3823.00,350,0
+2006-02-24,10:51:00,3823.00,3823.00,3822.00,3822.00,394,0
+2006-02-24,10:52:00,3822.00,3823.00,3822.00,3823.00,105,0
+2006-02-24,10:53:00,3823.00,3823.00,3822.00,3823.00,70,0
+2006-02-24,10:54:00,3823.00,3824.00,3822.00,3822.00,842,0
+2006-02-24,10:55:00,3822.00,3822.00,3821.00,3822.00,622,0
+2006-02-24,10:56:00,3822.00,3822.00,3821.00,3822.00,75,0
+2006-02-24,10:57:00,3821.00,3821.00,3821.00,3821.00,30,0
+2006-02-24,10:58:00,3821.00,3821.00,3820.00,3820.00,177,0
+2006-02-24,10:59:00,3820.00,3821.00,3818.00,3818.00,1525,0
+2006-02-24,11:00:00,3819.00,3820.00,3817.00,3819.00,1313,0
+2006-02-24,11:01:00,3818.00,3820.00,3818.00,3819.00,481,0
+2006-02-24,11:02:00,3819.00,3819.00,3818.00,3818.00,152,0
+2006-02-24,11:03:00,3819.00,3819.00,3819.00,3819.00,1,0
+2006-02-24,11:04:00,3819.00,3819.00,3818.00,3819.00,167,0
+2006-02-24,11:05:00,3819.00,3819.00,3819.00,3819.00,502,0
+2006-02-24,11:06:00,3820.00,3820.00,3819.00,3820.00,162,0
+2006-02-24,11:07:00,3820.00,3821.00,3819.00,3820.00,231,0
+2006-02-24,11:08:00,3819.00,3820.00,3819.00,3820.00,172,0
+2006-02-24,11:09:00,3820.00,3820.00,3820.00,3820.00,140,0
+2006-02-24,11:10:00,3820.00,3821.00,3820.00,3820.00,29,0
+2006-02-24,11:11:00,3820.00,3821.00,3820.00,3820.00,141,0
+2006-02-24,11:12:00,3820.00,3821.00,3820.00,3821.00,296,0
+2006-02-24,11:13:00,3820.00,3820.00,3820.00,3820.00,39,0
+2006-02-24,11:14:00,3819.00,3819.00,3817.00,3819.00,1231,0
+2006-02-24,11:15:00,3818.00,3819.00,3818.00,3818.00,67,0
+2006-02-24,11:16:00,3819.00,3819.00,3818.00,3818.00,572,0
+2006-02-24,11:17:00,3819.00,3819.00,3819.00,3819.00,108,0
+2006-02-24,11:18:00,3819.00,3820.00,3819.00,3820.00,96,0
+2006-02-24,11:19:00,3819.00,3819.00,3819.00,3819.00,132,0
+2006-02-24,11:20:00,3819.00,3819.00,3818.00,3818.00,2028,0
+2006-02-24,11:21:00,3819.00,3819.00,3818.00,3819.00,74,0
+2006-02-24,11:22:00,3819.00,3819.00,3819.00,3819.00,184,0
+2006-02-24,11:23:00,3819.00,3819.00,3819.00,3819.00,36,0
+2006-02-24,11:24:00,3819.00,3819.00,3819.00,3819.00,378,0
+2006-02-24,11:25:00,3819.00,3820.00,3819.00,3819.00,605,0
+2006-02-24,11:26:00,3820.00,3820.00,3819.00,3819.00,422,0
+2006-02-24,11:27:00,3819.00,3820.00,3819.00,3820.00,414,0
+2006-02-24,11:29:00,3819.00,3820.00,3819.00,3820.00,460,0
+2006-02-24,11:30:00,3820.00,3821.00,3819.00,3820.00,198,0
+2006-02-24,11:31:00,3821.00,3821.00,3819.00,3820.00,226,0
+2006-02-24,11:32:00,3820.00,3820.00,3820.00,3820.00,44,0
+2006-02-24,11:33:00,3820.00,3821.00,3820.00,3821.00,603,0
+2006-02-24,11:34:00,3820.00,3821.00,3820.00,3821.00,9,0
+2006-02-24,11:35:00,3820.00,3821.00,3820.00,3821.00,127,0
+2006-02-24,11:36:00,3821.00,3821.00,3820.00,3820.00,50,0
+2006-02-24,11:37:00,3820.00,3821.00,3819.00,3820.00,151,0
+2006-02-24,11:38:00,3820.00,3821.00,3820.00,3820.00,289,0
+2006-02-24,11:39:00,3820.00,3820.00,3819.00,3819.00,105,0
+2006-02-24,11:40:00,3820.00,3820.00,3820.00,3820.00,10,0
+2006-02-24,11:41:00,3820.00,3820.00,3819.00,3819.00,28,0
+2006-02-24,11:42:00,3819.00,3820.00,3819.00,3820.00,26,0
+2006-02-24,11:43:00,3820.00,3821.00,3820.00,3821.00,163,0
+2006-02-24,11:44:00,3821.00,3822.00,3821.00,3821.00,530,0
+2006-02-24,11:45:00,3822.00,3824.00,3822.00,3823.00,586,0
+2006-02-24,11:46:00,3824.00,3825.00,3824.00,3824.00,1210,0
+2006-02-24,11:47:00,3824.00,3824.00,3823.00,3824.00,394,0
+2006-02-24,11:48:00,3824.00,3824.00,3823.00,3824.00,179,0
+2006-02-24,11:49:00,3824.00,3826.00,3824.00,3825.00,1133,0
+2006-02-24,11:50:00,3825.00,3826.00,3825.00,3825.00,3696,0
+2006-02-24,11:51:00,3825.00,3825.00,3824.00,3824.00,168,0
+2006-02-24,11:52:00,3824.00,3824.00,3823.00,3823.00,276,0
+2006-02-24,11:53:00,3824.00,3825.00,3824.00,3825.00,126,0
+2006-02-24,11:54:00,3825.00,3825.00,3824.00,3825.00,778,0
+2006-02-24,11:55:00,3825.00,3825.00,3823.00,3823.00,238,0
+2006-02-24,11:56:00,3823.00,3824.00,3823.00,3823.00,468,0
+2006-02-24,11:57:00,3823.00,3824.00,3823.00,3824.00,303,0
+2006-02-24,11:58:00,3824.00,3825.00,3824.00,3825.00,369,0
+2006-02-24,11:59:00,3825.00,3825.00,3824.00,3825.00,419,0
+2006-02-24,12:00:00,3826.00,3826.00,3825.00,3825.00,448,0
+2006-02-24,12:01:00,3825.00,3826.00,3824.00,3825.00,1070,0
+2006-02-24,12:02:00,3824.00,3825.00,3824.00,3825.00,216,0
+2006-02-24,12:03:00,3824.00,3824.00,3824.00,3824.00,58,0
+2006-02-24,12:04:00,3824.00,3824.00,3824.00,3824.00,408,0
+2006-02-24,12:05:00,3824.00,3825.00,3823.00,3824.00,456,0
+2006-02-24,12:06:00,3825.00,3825.00,3823.00,3824.00,786,0
+2006-02-24,12:07:00,3824.00,3824.00,3824.00,3824.00,5,0
+2006-02-24,12:08:00,3824.00,3824.00,3824.00,3824.00,194,0
+2006-02-24,12:09:00,3824.00,3824.00,3823.00,3823.00,691,0
+2006-02-24,12:10:00,3823.00,3823.00,3823.00,3823.00,76,0
+2006-02-24,12:11:00,3823.00,3823.00,3822.00,3822.00,130,0
+2006-02-24,12:12:00,3822.00,3823.00,3822.00,3823.00,80,0
+2006-02-24,12:13:00,3822.00,3822.00,3822.00,3822.00,2,0
+2006-02-24,12:14:00,3822.00,3824.00,3822.00,3823.00,338,0
+2006-02-24,12:15:00,3823.00,3824.00,3823.00,3824.00,82,0
+2006-02-24,12:16:00,3823.00,3823.00,3823.00,3823.00,102,0
+2006-02-24,12:17:00,3823.00,3823.00,3823.00,3823.00,29,0
+2006-02-24,12:18:00,3823.00,3823.00,3823.00,3823.00,7,0
+2006-02-24,12:19:00,3824.00,3824.00,3822.00,3822.00,194,0
+2006-02-24,12:21:00,3823.00,3824.00,3823.00,3824.00,115,0
+2006-02-24,12:22:00,3823.00,3823.00,3823.00,3823.00,236,0
+2006-02-24,12:23:00,3823.00,3823.00,3822.00,3823.00,90,0
+2006-02-24,12:24:00,3823.00,3823.00,3823.00,3823.00,9,0
+2006-02-24,12:25:00,3823.00,3824.00,3823.00,3823.00,8,0
+2006-02-24,12:26:00,3823.00,3823.00,3823.00,3823.00,532,0
+2006-02-24,12:27:00,3823.00,3824.00,3823.00,3823.00,95,0
+2006-02-24,12:28:00,3824.00,3824.00,3823.00,3824.00,72,0
+2006-02-24,12:29:00,3824.00,3824.00,3824.00,3824.00,759,0
+2006-02-24,12:30:00,3824.00,3824.00,3824.00,3824.00,341,0
+2006-02-24,12:31:00,3823.00,3823.00,3823.00,3823.00,30,0
+2006-02-24,12:32:00,3824.00,3824.00,3823.00,3824.00,243,0
+2006-02-24,12:33:00,3824.00,3824.00,3824.00,3824.00,232,0
+2006-02-24,12:34:00,3824.00,3824.00,3824.00,3824.00,622,0
+2006-02-24,12:35:00,3825.00,3825.00,3823.00,3823.00,408,0
+2006-02-24,12:36:00,3824.00,3824.00,3824.00,3824.00,448,0
+2006-02-24,12:37:00,3824.00,3825.00,3824.00,3824.00,1164,0
+2006-02-24,12:38:00,3825.00,3825.00,3824.00,3824.00,2164,0
+2006-02-24,12:39:00,3824.00,3824.00,3824.00,3824.00,42,0
+2006-02-24,12:40:00,3824.00,3825.00,3824.00,3825.00,55,0
+2006-02-24,12:41:00,3824.00,3824.00,3824.00,3824.00,50,0
+2006-02-24,12:42:00,3824.00,3824.00,3823.00,3824.00,154,0
+2006-02-24,12:43:00,3824.00,3824.00,3824.00,3824.00,80,0
+2006-02-24,12:44:00,3823.00,3824.00,3823.00,3824.00,2,0
+2006-02-24,12:45:00,3823.00,3824.00,3823.00,3824.00,116,0
+2006-02-24,12:46:00,3824.00,3825.00,3824.00,3824.00,241,0
+2006-02-24,12:47:00,3825.00,3825.00,3824.00,3825.00,767,0
+2006-02-24,12:48:00,3824.00,3825.00,3824.00,3825.00,24,0
+2006-02-24,12:49:00,3824.00,3825.00,3824.00,3825.00,149,0
+2006-02-24,12:50:00,3824.00,3825.00,3824.00,3824.00,604,0
+2006-02-24,12:51:00,3824.00,3824.00,3823.00,3823.00,62,0
+2006-02-24,12:52:00,3824.00,3824.00,3823.00,3824.00,19,0
+2006-02-24,12:53:00,3824.00,3824.00,3824.00,3824.00,186,0
+2006-02-24,12:54:00,3824.00,3824.00,3823.00,3824.00,276,0
+2006-02-24,12:55:00,3824.00,3824.00,3824.00,3824.00,17,0
+2006-02-24,12:56:00,3824.00,3825.00,3824.00,3824.00,145,0
+2006-02-24,12:57:00,3824.00,3825.00,3824.00,3824.00,55,0
+2006-02-24,12:58:00,3824.00,3824.00,3824.00,3824.00,43,0
+2006-02-24,12:59:00,3824.00,3824.00,3824.00,3824.00,90,0
+2006-02-24,13:00:00,3824.00,3824.00,3824.00,3824.00,1,0
+2006-02-24,13:01:00,3824.00,3825.00,3823.00,3824.00,225,0
+2006-02-24,13:02:00,3824.00,3825.00,3824.00,3824.00,59,0
+2006-02-24,13:03:00,3824.00,3824.00,3823.00,3823.00,46,0
+2006-02-24,13:04:00,3823.00,3823.00,3823.00,3823.00,24,0
+2006-02-24,13:05:00,3823.00,3823.00,3822.00,3822.00,989,0
+2006-02-24,13:06:00,3822.00,3823.00,3821.00,3822.00,1255,0
+2006-02-24,13:07:00,3822.00,3822.00,3822.00,3822.00,419,0
+2006-02-24,13:08:00,3821.00,3823.00,3821.00,3822.00,533,0
+2006-02-24,13:09:00,3822.00,3822.00,3821.00,3821.00,1368,0
+2006-02-24,13:10:00,3820.00,3821.00,3820.00,3820.00,1016,0
+2006-02-24,13:11:00,3821.00,3822.00,3821.00,3822.00,283,0
+2006-02-24,13:12:00,3822.00,3822.00,3822.00,3822.00,3,0
+2006-02-24,13:13:00,3822.00,3822.00,3821.00,3821.00,106,0
+2006-02-24,13:14:00,3822.00,3822.00,3822.00,3822.00,140,0
+2006-02-24,13:15:00,3822.00,3822.00,3822.00,3822.00,502,0
+2006-02-24,13:16:00,3822.00,3822.00,3822.00,3822.00,50,0
+2006-02-24,13:17:00,3822.00,3822.00,3822.00,3822.00,107,0
+2006-02-24,13:18:00,3822.00,3822.00,3822.00,3822.00,93,0
+2006-02-24,13:19:00,3822.00,3822.00,3822.00,3822.00,164,0
+2006-02-24,13:20:00,3823.00,3823.00,3823.00,3823.00,218,0
+2006-02-24,13:21:00,3823.00,3823.00,3822.00,3822.00,55,0
+2006-02-24,13:22:00,3822.00,3822.00,3822.00,3822.00,94,0
+2006-02-24,13:23:00,3822.00,3822.00,3822.00,3822.00,179,0
+2006-02-24,13:24:00,3822.00,3822.00,3822.00,3822.00,78,0
+2006-02-24,13:26:00,3822.00,3822.00,3821.00,3821.00,114,0
+2006-02-24,13:27:00,3822.00,3822.00,3821.00,3821.00,21,0
+2006-02-24,13:29:00,3821.00,3822.00,3821.00,3822.00,176,0
+2006-02-24,13:30:00,3823.00,3823.00,3822.00,3822.00,106,0
+2006-02-24,13:31:00,3823.00,3823.00,3822.00,3822.00,113,0
+2006-02-24,13:32:00,3822.00,3822.00,3822.00,3822.00,32,0
+2006-02-24,13:33:00,3823.00,3823.00,3822.00,3822.00,540,0
+2006-02-24,13:35:00,3822.00,3822.00,3822.00,3822.00,1,0
+2006-02-24,13:36:00,3822.00,3822.00,3822.00,3822.00,1,0
+2006-02-24,13:37:00,3823.00,3823.00,3822.00,3822.00,125,0
+2006-02-24,13:40:00,3822.00,3823.00,3822.00,3823.00,84,0
+2006-02-24,13:41:00,3823.00,3823.00,3823.00,3823.00,365,0
+2006-02-24,13:42:00,3823.00,3823.00,3822.00,3822.00,6,0
+2006-02-24,13:43:00,3822.00,3822.00,3822.00,3822.00,6,0
+2006-02-24,13:45:00,3822.00,3822.00,3822.00,3822.00,1006,0
+2006-02-24,13:46:00,3822.00,3823.00,3821.00,3821.00,530,0
+2006-02-24,13:47:00,3821.00,3821.00,3821.00,3821.00,130,0
+2006-02-24,13:48:00,3821.00,3821.00,3820.00,3820.00,88,0
+2006-02-24,13:49:00,3821.00,3821.00,3821.00,3821.00,9,0
+2006-02-24,13:50:00,3821.00,3821.00,3821.00,3821.00,29,0
+2006-02-24,13:51:00,3821.00,3821.00,3820.00,3820.00,6,0
+2006-02-24,13:52:00,3820.00,3820.00,3820.00,3820.00,9,0
+2006-02-24,13:53:00,3820.00,3820.00,3819.00,3819.00,252,0
+2006-02-24,13:54:00,3819.00,3820.00,3819.00,3819.00,269,0
+2006-02-24,13:55:00,3818.00,3820.00,3818.00,3820.00,8,0
+2006-02-24,13:56:00,3819.00,3820.00,3819.00,3820.00,534,0
+2006-02-24,13:57:00,3820.00,3820.00,3820.00,3820.00,16,0
+2006-02-24,13:58:00,3820.00,3820.00,3820.00,3820.00,1047,0
+2006-02-24,13:59:00,3820.00,3820.00,3819.00,3820.00,77,0
+2006-02-24,14:00:00,3820.00,3820.00,3819.00,3819.00,75,0
+2006-02-24,14:01:00,3820.00,3820.00,3819.00,3819.00,133,0
+2006-02-24,14:02:00,3820.00,3820.00,3820.00,3820.00,10,0
+2006-02-24,14:03:00,3820.00,3820.00,3819.00,3819.00,17,0
+2006-02-24,14:04:00,3820.00,3820.00,3820.00,3820.00,146,0
+2006-02-24,14:06:00,3819.00,3819.00,3819.00,3819.00,1,0
+2006-02-24,14:07:00,3820.00,3820.00,3819.00,3820.00,581,0
+2006-02-24,14:08:00,3820.00,3820.00,3820.00,3820.00,1,0
+2006-02-24,14:09:00,3819.00,3819.00,3819.00,3819.00,823,0
+2006-02-24,14:10:00,3819.00,3819.00,3817.00,3817.00,1069,0
+2006-02-24,14:11:00,3817.00,3817.00,3811.00,3813.00,5155,0
+2006-02-24,14:12:00,3813.00,3815.00,3813.00,3815.00,1916,0
+2006-02-24,14:13:00,3815.00,3816.00,3812.00,3812.00,2328,0
+2006-02-24,14:14:00,3812.00,3814.00,3809.00,3811.00,6670,0
+2006-02-24,14:15:00,3810.00,3815.00,3810.00,3814.00,2652,0
+2006-02-24,14:16:00,3814.00,3816.00,3813.00,3815.00,2346,0
+2006-02-24,14:17:00,3816.00,3817.00,3812.00,3812.00,2233,0
+2006-02-24,14:18:00,3812.00,3817.00,3812.00,3816.00,2662,0
+2006-02-24,14:19:00,3817.00,3818.00,3816.00,3817.00,693,0
+2006-02-24,14:20:00,3817.00,3818.00,3816.00,3817.00,843,0
+2006-02-24,14:21:00,3817.00,3817.00,3815.00,3816.00,860,0
+2006-02-24,14:22:00,3816.00,3816.00,3814.00,3815.00,718,0
+2006-02-24,14:23:00,3814.00,3815.00,3814.00,3814.00,1156,0
+2006-02-24,14:24:00,3814.00,3815.00,3812.00,3815.00,1433,0
+2006-02-24,14:25:00,3815.00,3815.00,3814.00,3815.00,167,0
+2006-02-24,14:26:00,3815.00,3815.00,3814.00,3815.00,1278,0
+2006-02-24,14:27:00,3815.00,3816.00,3815.00,3815.00,369,0
+2006-02-24,14:28:00,3815.00,3816.00,3815.00,3815.00,103,0
+2006-02-24,14:29:00,3815.00,3816.00,3815.00,3816.00,980,0
+2006-02-24,14:30:00,3816.00,3816.00,3815.00,3815.00,560,0
+2006-02-24,14:31:00,3815.00,3819.00,3811.00,3817.00,7311,0
+2006-02-24,14:32:00,3817.00,3819.00,3817.00,3817.00,3672,0
+2006-02-24,14:33:00,3817.00,3819.00,3817.00,3819.00,1762,0
+2006-02-24,14:34:00,3818.00,3818.00,3816.00,3817.00,1283,0
+2006-02-24,14:35:00,3817.00,3818.00,3816.00,3817.00,1080,0
+2006-02-24,14:36:00,3817.00,3821.00,3817.00,3821.00,2539,0
+2006-02-24,14:37:00,3821.00,3824.00,3821.00,3824.00,4029,0
+2006-02-24,14:38:00,3823.00,3823.00,3821.00,3821.00,1526,0
+2006-02-24,14:39:00,3821.00,3821.00,3820.00,3821.00,536,0
+2006-02-24,14:40:00,3821.00,3821.00,3820.00,3820.00,233,0
+2006-02-24,14:41:00,3821.00,3823.00,3820.00,3823.00,821,0
+2006-02-24,14:42:00,3822.00,3824.00,3821.00,3821.00,1083,0
+2006-02-24,14:43:00,3822.00,3822.00,3820.00,3820.00,674,0
+2006-02-24,14:44:00,3820.00,3822.00,3820.00,3820.00,436,0
+2006-02-24,14:45:00,3820.00,3821.00,3820.00,3820.00,11,0
+2006-02-24,14:46:00,3821.00,3821.00,3821.00,3821.00,833,0
+2006-02-24,14:47:00,3821.00,3822.00,3820.00,3821.00,900,0
+2006-02-24,14:48:00,3822.00,3822.00,3819.00,3822.00,633,0
+2006-02-24,14:49:00,3821.00,3821.00,3820.00,3820.00,562,0
+2006-02-24,14:50:00,3821.00,3821.00,3819.00,3820.00,552,0
+2006-02-24,14:51:00,3820.00,3821.00,3820.00,3821.00,437,0
+2006-02-24,14:52:00,3821.00,3821.00,3818.00,3818.00,1941,0
+2006-02-24,14:53:00,3818.00,3819.00,3816.00,3818.00,945,0
+2006-02-24,14:54:00,3818.00,3820.00,3818.00,3820.00,642,0
+2006-02-24,14:55:00,3819.00,3820.00,3817.00,3819.00,239,0
+2006-02-24,14:56:00,3819.00,3822.00,3818.00,3820.00,1208,0
+2006-02-24,14:57:00,3821.00,3821.00,3818.00,3818.00,592,0
+2006-02-24,14:58:00,3819.00,3820.00,3818.00,3819.00,261,0
+2006-02-24,14:59:00,3819.00,3820.00,3819.00,3819.00,192,0
+2006-02-24,15:00:00,3819.00,3819.00,3815.00,3815.00,1080,0
+2006-02-24,15:01:00,3815.00,3817.00,3815.00,3816.00,347,0
+2006-02-24,15:02:00,3817.00,3817.00,3816.00,3816.00,262,0
+2006-02-24,15:03:00,3816.00,3817.00,3816.00,3816.00,285,0
+2006-02-24,15:04:00,3816.00,3816.00,3816.00,3816.00,111,0
+2006-02-24,15:05:00,3816.00,3816.00,3816.00,3816.00,35,0
+2006-02-24,15:06:00,3816.00,3817.00,3815.00,3817.00,164,0
+2006-02-24,15:07:00,3816.00,3816.00,3815.00,3816.00,105,0
+2006-02-24,15:08:00,3816.00,3817.00,3816.00,3816.00,430,0
+2006-02-24,15:09:00,3815.00,3816.00,3815.00,3816.00,623,0
+2006-02-24,15:10:00,3815.00,3816.00,3814.00,3815.00,804,0
+2006-02-24,15:11:00,3814.00,3815.00,3813.00,3813.00,236,0
+2006-02-24,15:12:00,3814.00,3815.00,3814.00,3815.00,960,0
+2006-02-24,15:13:00,3815.00,3815.00,3814.00,3814.00,333,0
+2006-02-24,15:14:00,3814.00,3815.00,3814.00,3815.00,615,0
+2006-02-24,15:15:00,3816.00,3816.00,3815.00,3815.00,409,0
+2006-02-24,15:16:00,3815.00,3817.00,3815.00,3816.00,643,0
+2006-02-24,15:17:00,3816.00,3817.00,3816.00,3817.00,7,0
+2006-02-24,15:18:00,3817.00,3817.00,3816.00,3817.00,270,0
+2006-02-24,15:19:00,3817.00,3817.00,3817.00,3817.00,49,0
+2006-02-24,15:20:00,3816.00,3818.00,3816.00,3817.00,465,0
+2006-02-24,15:21:00,3816.00,3816.00,3816.00,3816.00,226,0
+2006-02-24,15:22:00,3817.00,3817.00,3815.00,3817.00,124,0
+2006-02-24,15:23:00,3816.00,3817.00,3816.00,3816.00,82,0
+2006-02-24,15:24:00,3816.00,3817.00,3816.00,3816.00,25,0
+2006-02-24,15:25:00,3816.00,3817.00,3816.00,3817.00,169,0
+2006-02-24,15:26:00,3816.00,3817.00,3816.00,3817.00,146,0
+2006-02-24,15:27:00,3816.00,3817.00,3816.00,3816.00,264,0
+2006-02-24,15:28:00,3816.00,3816.00,3816.00,3816.00,18,0
+2006-02-24,15:29:00,3815.00,3815.00,3815.00,3815.00,71,0
+2006-02-24,15:30:00,3816.00,3816.00,3815.00,3816.00,110,0
+2006-02-24,15:31:00,3816.00,3817.00,3816.00,3817.00,1019,0
+2006-02-24,15:32:00,3817.00,3818.00,3817.00,3818.00,396,0
+2006-02-24,15:33:00,3818.00,3818.00,3818.00,3818.00,331,0
+2006-02-24,15:34:00,3817.00,3818.00,3816.00,3816.00,769,0
+2006-02-24,15:35:00,3817.00,3817.00,3815.00,3815.00,1028,0
+2006-02-24,15:36:00,3815.00,3815.00,3813.00,3814.00,1425,0
+2006-02-24,15:37:00,3815.00,3815.00,3813.00,3814.00,1124,0
+2006-02-24,15:38:00,3814.00,3816.00,3814.00,3815.00,1419,0
+2006-02-24,15:39:00,3815.00,3816.00,3815.00,3815.00,1027,0
+2006-02-24,15:40:00,3815.00,3817.00,3815.00,3817.00,1031,0
+2006-02-24,15:41:00,3818.00,3818.00,3816.00,3816.00,766,0
+2006-02-24,15:42:00,3817.00,3818.00,3816.00,3818.00,1276,0
+2006-02-24,15:43:00,3817.00,3820.00,3817.00,3819.00,1509,0
+2006-02-24,15:44:00,3819.00,3820.00,3819.00,3820.00,2658,0
+2006-02-24,15:45:00,3820.00,3823.00,3820.00,3821.00,2115,0
+2006-02-24,15:46:00,3821.00,3823.00,3821.00,3823.00,882,0
+2006-02-24,15:47:00,3822.00,3822.00,3819.00,3821.00,1511,0
+2006-02-24,15:48:00,3820.00,3821.00,3819.00,3820.00,1938,0
+2006-02-24,15:49:00,3820.00,3821.00,3819.00,3820.00,562,0
+2006-02-24,15:50:00,3820.00,3822.00,3820.00,3820.00,1889,0
+2006-02-24,15:51:00,3820.00,3821.00,3818.00,3821.00,1668,0
+2006-02-24,15:52:00,3821.00,3824.00,3820.00,3822.00,1635,0
+2006-02-24,15:53:00,3822.00,3823.00,3822.00,3823.00,1008,0
+2006-02-24,15:54:00,3823.00,3823.00,3823.00,3823.00,547,0
+2006-02-24,15:55:00,3823.00,3824.00,3821.00,3821.00,1028,0
+2006-02-24,15:56:00,3821.00,3821.00,3820.00,3820.00,1509,0
+2006-02-24,15:57:00,3820.00,3823.00,3820.00,3823.00,1277,0
+2006-02-24,15:58:00,3823.00,3823.00,3822.00,3822.00,1061,0
+2006-02-24,15:59:00,3822.00,3823.00,3819.00,3821.00,1705,0
+2006-02-24,16:00:00,3820.00,3821.00,3819.00,3821.00,358,0
+2006-02-24,16:01:00,3821.00,3822.00,3820.00,3822.00,564,0
+2006-02-24,16:02:00,3822.00,3823.00,3822.00,3823.00,1432,0
+2006-02-24,16:03:00,3824.00,3825.00,3823.00,3824.00,1870,0
+2006-02-24,16:04:00,3825.00,3826.00,3824.00,3825.00,1707,0
+2006-02-24,16:05:00,3825.00,3828.00,3825.00,3825.00,1638,0
+2006-02-24,16:06:00,3825.00,3826.00,3825.00,3825.00,461,0
+2006-02-24,16:07:00,3825.00,3825.00,3824.00,3824.00,1216,0
+2006-02-24,16:08:00,3824.00,3825.00,3824.00,3824.00,792,0
+2006-02-24,16:09:00,3825.00,3827.00,3825.00,3826.00,1993,0
+2006-02-24,16:10:00,3825.00,3828.00,3825.00,3827.00,1921,0
+2006-02-24,16:11:00,3827.00,3830.00,3826.00,3829.00,3850,0
+2006-02-24,16:12:00,3829.00,3831.00,3828.00,3831.00,2451,0
+2006-02-24,16:13:00,3830.00,3831.00,3830.00,3831.00,1337,0
+2006-02-24,16:14:00,3830.00,3830.00,3829.00,3829.00,2031,0
+2006-02-24,16:15:00,3829.00,3829.00,3828.00,3829.00,622,0
+2006-02-24,16:16:00,3828.00,3829.00,3828.00,3828.00,1507,0
+2006-02-24,16:17:00,3828.00,3829.00,3828.00,3828.00,1105,0
+2006-02-24,16:18:00,3828.00,3829.00,3827.00,3829.00,1522,0
+2006-02-24,16:19:00,3828.00,3829.00,3825.00,3825.00,1443,0
+2006-02-24,16:20:00,3825.00,3827.00,3825.00,3826.00,622,0
+2006-02-24,16:21:00,3826.00,3828.00,3826.00,3828.00,981,0
+2006-02-24,16:22:00,3827.00,3827.00,3823.00,3824.00,2631,0
+2006-02-24,16:23:00,3823.00,3825.00,3823.00,3825.00,741,0
+2006-02-24,16:24:00,3824.00,3825.00,3824.00,3825.00,366,0
+2006-02-24,16:25:00,3824.00,3826.00,3822.00,3825.00,2618,0
+2006-02-24,16:26:00,3826.00,3826.00,3824.00,3824.00,1600,0
+2006-02-24,16:27:00,3824.00,3825.00,3823.00,3823.00,215,0
+2006-02-24,16:28:00,3824.00,3824.00,3822.00,3823.00,1816,0
+2006-02-24,16:29:00,3824.00,3825.00,3824.00,3824.00,695,0
+2006-02-24,16:30:00,3824.00,3824.00,3824.00,3824.00,209,0
+2006-02-24,16:31:00,3824.00,3825.00,3822.00,3823.00,1614,0
+2006-02-24,16:32:00,3822.00,3826.00,3822.00,3826.00,1172,0
+2006-02-24,16:33:00,3826.00,3826.00,3824.00,3825.00,1198,0
+2006-02-24,16:34:00,3825.00,3825.00,3824.00,3825.00,885,0
+2006-02-24,16:35:00,3824.00,3825.00,3823.00,3825.00,1916,0
+2006-02-24,16:36:00,3825.00,3826.00,3823.00,3825.00,1676,0
+2006-02-24,16:37:00,3825.00,3826.00,3824.00,3824.00,1120,0
+2006-02-24,16:38:00,3824.00,3824.00,3822.00,3823.00,1884,0
+2006-02-24,16:39:00,3823.00,3824.00,3822.00,3822.00,746,0
+2006-02-24,16:40:00,3822.00,3822.00,3820.00,3822.00,1745,0
+2006-02-24,16:41:00,3822.00,3822.00,3820.00,3821.00,3307,0
+2006-02-24,16:42:00,3821.00,3822.00,3820.00,3820.00,1677,0
+2006-02-24,16:43:00,3821.00,3824.00,3821.00,3823.00,591,0
+2006-02-24,16:44:00,3823.00,3824.00,3821.00,3822.00,868,0
+2006-02-24,16:45:00,3822.00,3823.00,3821.00,3823.00,361,0
+2006-02-24,16:46:00,3823.00,3823.00,3821.00,3821.00,507,0
+2006-02-24,16:47:00,3820.00,3821.00,3818.00,3819.00,1844,0
+2006-02-24,16:48:00,3819.00,3820.00,3818.00,3820.00,1056,0
+2006-02-24,16:49:00,3820.00,3823.00,3819.00,3822.00,1627,0
+2006-02-24,16:50:00,3821.00,3822.00,3821.00,3822.00,838,0
+2006-02-24,16:51:00,3822.00,3822.00,3819.00,3819.00,1740,0
+2006-02-24,16:52:00,3819.00,3821.00,3819.00,3821.00,960,0
+2006-02-24,16:53:00,3821.00,3821.00,3820.00,3820.00,908,0
+2006-02-24,16:54:00,3820.00,3821.00,3819.00,3820.00,568,0
+2006-02-24,16:55:00,3821.00,3823.00,3821.00,3823.00,1083,0
+2006-02-24,16:56:00,3822.00,3822.00,3822.00,3822.00,363,0
+2006-02-24,16:57:00,3822.00,3822.00,3822.00,3822.00,47,0
+2006-02-24,16:58:00,3823.00,3824.00,3823.00,3823.00,532,0
+2006-02-24,16:59:00,3822.00,3823.00,3821.00,3823.00,1436,0
+2006-02-24,17:00:00,3823.00,3825.00,3823.00,3825.00,913,0
+2006-02-24,17:01:00,3825.00,3826.00,3824.00,3825.00,970,0
+2006-02-24,17:02:00,3826.00,3826.00,3825.00,3825.00,973,0
+2006-02-24,17:03:00,3825.00,3825.00,3824.00,3824.00,363,0
+2006-02-24,17:04:00,3824.00,3826.00,3824.00,3825.00,260,0
+2006-02-24,17:05:00,3826.00,3827.00,3825.00,3826.00,682,0
+2006-02-24,17:06:00,3825.00,3826.00,3825.00,3826.00,858,0
+2006-02-24,17:07:00,3825.00,3826.00,3825.00,3826.00,853,0
+2006-02-24,17:08:00,3826.00,3826.00,3825.00,3826.00,7,0
+2006-02-24,17:09:00,3825.00,3826.00,3824.00,3824.00,520,0
+2006-02-24,17:10:00,3825.00,3827.00,3825.00,3827.00,1069,0
+2006-02-24,17:11:00,3827.00,3828.00,3826.00,3828.00,1053,0
+2006-02-24,17:12:00,3828.00,3828.00,3827.00,3828.00,1471,0
+2006-02-24,17:13:00,3828.00,3828.00,3826.00,3826.00,900,0
+2006-02-24,17:14:00,3826.00,3827.00,3826.00,3826.00,364,0
+2006-02-24,17:15:00,3827.00,3827.00,3826.00,3826.00,86,0
+2006-02-24,17:16:00,3827.00,3827.00,3825.00,3826.00,942,0
+2006-02-24,17:17:00,3826.00,3827.00,3825.00,3825.00,866,0
+2006-02-24,17:18:00,3824.00,3825.00,3824.00,3825.00,664,0
+2006-02-24,17:19:00,3825.00,3825.00,3824.00,3825.00,510,0
+2006-02-24,17:20:00,3825.00,3826.00,3825.00,3826.00,780,0
+2006-02-24,17:21:00,3825.00,3827.00,3825.00,3826.00,697,0
+2006-02-24,17:22:00,3826.00,3827.00,3826.00,3827.00,89,0
+2006-02-24,17:23:00,3827.00,3827.00,3825.00,3826.00,454,0
+2006-02-24,17:24:00,3826.00,3827.00,3825.00,3827.00,1139,0
+2006-02-24,17:25:00,3827.00,3827.00,3826.00,3827.00,197,0
+2006-02-24,17:26:00,3827.00,3829.00,3827.00,3829.00,2060,0
+2006-02-24,17:27:00,3829.00,3830.00,3828.00,3829.00,998,0
+2006-02-24,17:28:00,3830.00,3831.00,3829.00,3831.00,1332,0
+2006-02-24,17:29:00,3830.00,3831.00,3830.00,3830.00,2459,0
+2006-02-24,17:30:00,3831.00,3831.00,3828.00,3828.00,3857,0
+2006-02-24,17:31:00,3829.00,3829.00,3826.00,3828.00,3289,0
+2006-02-24,17:32:00,3828.00,3830.00,3828.00,3830.00,1521,0
+2006-02-24,17:33:00,3829.00,3832.00,3829.00,3832.00,2547,0
+2006-02-24,17:34:00,3833.00,3833.00,3830.00,3830.00,2829,0
+2006-02-24,17:35:00,3830.00,3832.00,3830.00,3832.00,617,0
+2006-02-24,17:36:00,3832.00,3836.00,3831.00,3836.00,3066,0
+2006-02-24,17:37:00,3835.00,3837.00,3835.00,3836.00,2187,0
+2006-02-24,17:38:00,3836.00,3836.00,3833.00,3833.00,1613,0
+2006-02-24,17:39:00,3833.00,3834.00,3833.00,3833.00,331,0
+2006-02-24,17:40:00,3833.00,3834.00,3832.00,3833.00,384,0
+2006-02-24,17:41:00,3833.00,3833.00,3832.00,3832.00,635,0
+2006-02-24,17:42:00,3832.00,3833.00,3830.00,3832.00,1471,0
+2006-02-24,17:43:00,3832.00,3832.00,3831.00,3831.00,121,0
+2006-02-24,17:44:00,3832.00,3832.00,3832.00,3832.00,535,0
+2006-02-24,17:45:00,3832.00,3832.00,3831.00,3831.00,219,0
+2006-02-24,17:46:00,3832.00,3832.00,3831.00,3832.00,681,0
+2006-02-24,17:47:00,3833.00,3833.00,3830.00,3830.00,650,0
+2006-02-24,17:48:00,3830.00,3833.00,3830.00,3833.00,882,0
+2006-02-24,17:49:00,3832.00,3832.00,3831.00,3832.00,501,0
+2006-02-24,17:50:00,3833.00,3833.00,3832.00,3833.00,457,0
+2006-02-24,17:51:00,3832.00,3833.00,3832.00,3833.00,86,0
+2006-02-24,17:52:00,3833.00,3833.00,3832.00,3833.00,172,0
+2006-02-24,17:53:00,3834.00,3834.00,3833.00,3834.00,362,0
+2006-02-24,17:54:00,3833.00,3834.00,3833.00,3834.00,394,0
+2006-02-24,17:55:00,3834.00,3834.00,3833.00,3833.00,90,0
+2006-02-24,17:56:00,3834.00,3834.00,3833.00,3833.00,19,0
+2006-02-24,17:57:00,3834.00,3835.00,3833.00,3833.00,301,0
+2006-02-24,17:58:00,3834.00,3834.00,3834.00,3834.00,184,0
+2006-02-24,17:59:00,3835.00,3835.00,3835.00,3835.00,364,0
+2006-02-24,18:00:00,3835.00,3836.00,3835.00,3836.00,182,0
+2006-02-24,18:01:00,3835.00,3835.00,3834.00,3835.00,1219,0
+2006-02-24,18:02:00,3835.00,3836.00,3835.00,3835.00,302,0
+2006-02-24,18:03:00,3835.00,3837.00,3835.00,3836.00,491,0
+2006-02-24,18:04:00,3836.00,3836.00,3835.00,3836.00,319,0
+2006-02-24,18:05:00,3836.00,3836.00,3836.00,3836.00,126,0
+2006-02-24,18:06:00,3836.00,3837.00,3835.00,3835.00,63,0
+2006-02-24,18:07:00,3836.00,3836.00,3835.00,3835.00,177,0
+2006-02-24,18:08:00,3836.00,3836.00,3835.00,3836.00,196,0
+2006-02-24,18:09:00,3835.00,3836.00,3835.00,3836.00,127,0
+2006-02-24,18:10:00,3836.00,3837.00,3836.00,3837.00,293,0
+2006-02-24,18:11:00,3836.00,3837.00,3836.00,3837.00,633,0
+2006-02-24,18:12:00,3837.00,3838.00,3837.00,3837.00,644,0
+2006-02-24,18:13:00,3836.00,3837.00,3834.00,3834.00,596,0
+2006-02-24,18:14:00,3835.00,3835.00,3835.00,3835.00,342,0
+2006-02-24,18:15:00,3835.00,3836.00,3834.00,3836.00,916,0
+2006-02-24,18:16:00,3836.00,3837.00,3836.00,3836.00,122,0
+2006-02-24,18:17:00,3836.00,3836.00,3835.00,3836.00,117,0
+2006-02-24,18:18:00,3835.00,3836.00,3835.00,3835.00,105,0
+2006-02-24,18:19:00,3835.00,3835.00,3834.00,3834.00,364,0
+2006-02-24,18:20:00,3835.00,3836.00,3835.00,3836.00,378,0
+2006-02-24,18:21:00,3835.00,3837.00,3835.00,3837.00,405,0
+2006-02-24,18:22:00,3837.00,3838.00,3837.00,3837.00,32,0
+2006-02-24,18:23:00,3837.00,3837.00,3836.00,3837.00,284,0
+2006-02-24,18:24:00,3836.00,3836.00,3836.00,3836.00,140,0
+2006-02-24,18:25:00,3836.00,3837.00,3835.00,3835.00,422,0
+2006-02-24,18:26:00,3836.00,3836.00,3835.00,3836.00,120,0
+2006-02-24,18:27:00,3836.00,3836.00,3836.00,3836.00,126,0
+2006-02-24,18:28:00,3836.00,3836.00,3835.00,3835.00,58,0
+2006-02-24,18:29:00,3835.00,3835.00,3835.00,3835.00,152,0
+2006-02-24,18:30:00,3835.00,3835.00,3834.00,3834.00,155,0
+2006-02-24,18:31:00,3834.00,3835.00,3834.00,3835.00,49,0
+2006-02-24,18:32:00,3834.00,3835.00,3834.00,3834.00,507,0
+2006-02-24,18:33:00,3834.00,3835.00,3834.00,3835.00,290,0
+2006-02-24,18:34:00,3835.00,3835.00,3835.00,3835.00,128,0
+2006-02-24,18:35:00,3835.00,3836.00,3835.00,3836.00,54,0
+2006-02-24,18:36:00,3836.00,3837.00,3836.00,3837.00,241,0
+2006-02-24,18:37:00,3836.00,3837.00,3836.00,3837.00,468,0
+2006-02-24,18:38:00,3837.00,3837.00,3837.00,3837.00,111,0
+2006-02-24,18:39:00,3837.00,3839.00,3837.00,3838.00,967,0
+2006-02-24,18:40:00,3838.00,3838.00,3837.00,3837.00,320,0
+2006-02-24,18:41:00,3837.00,3838.00,3836.00,3836.00,382,0
+2006-02-24,18:42:00,3836.00,3837.00,3836.00,3836.00,82,0
+2006-02-24,18:43:00,3837.00,3837.00,3837.00,3837.00,253,0
+2006-02-24,18:44:00,3837.00,3838.00,3837.00,3838.00,34,0
+2006-02-24,18:45:00,3838.00,3840.00,3838.00,3839.00,2153,0
+2006-02-24,18:46:00,3839.00,3839.00,3838.00,3839.00,212,0
+2006-02-24,18:47:00,3839.00,3840.00,3839.00,3839.00,215,0
+2006-02-24,18:48:00,3839.00,3839.00,3838.00,3838.00,314,0
+2006-02-24,18:49:00,3838.00,3838.00,3837.00,3837.00,152,0
+2006-02-24,18:50:00,3837.00,3837.00,3837.00,3837.00,152,0
+2006-02-24,18:51:00,3837.00,3837.00,3837.00,3837.00,28,0
+2006-02-24,18:52:00,3837.00,3838.00,3836.00,3836.00,80,0
+2006-02-24,18:53:00,3836.00,3836.00,3836.00,3836.00,129,0
+2006-02-24,18:54:00,3836.00,3836.00,3836.00,3836.00,15,0
+2006-02-24,18:55:00,3836.00,3837.00,3836.00,3837.00,60,0
+2006-02-24,18:56:00,3837.00,3837.00,3836.00,3837.00,102,0
+2006-02-24,18:57:00,3836.00,3836.00,3836.00,3836.00,1,0
+2006-02-24,18:58:00,3837.00,3837.00,3837.00,3837.00,276,0
+2006-02-24,18:59:00,3837.00,3837.00,3837.00,3837.00,28,0
+2006-02-24,19:00:00,3838.00,3838.00,3837.00,3837.00,2,0
+2006-02-24,19:01:00,3837.00,3838.00,3837.00,3838.00,215,0
+2006-02-24,19:02:00,3839.00,3840.00,3838.00,3839.00,205,0
+2006-02-24,19:03:00,3839.00,3839.00,3836.00,3836.00,293,0
+2006-02-24,19:04:00,3836.00,3837.00,3836.00,3837.00,116,0
+2006-02-24,19:05:00,3837.00,3837.00,3835.00,3836.00,313,0
+2006-02-24,19:06:00,3836.00,3836.00,3835.00,3836.00,223,0
+2006-02-24,19:07:00,3835.00,3836.00,3835.00,3836.00,50,0
+2006-02-24,19:08:00,3836.00,3836.00,3836.00,3836.00,252,0
+2006-02-24,19:09:00,3836.00,3836.00,3835.00,3835.00,316,0
+2006-02-24,19:10:00,3834.00,3834.00,3833.00,3834.00,440,0
+2006-02-24,19:11:00,3833.00,3834.00,3833.00,3834.00,253,0
+2006-02-24,19:12:00,3834.00,3834.00,3834.00,3834.00,3,0
+2006-02-24,19:13:00,3833.00,3833.00,3833.00,3833.00,239,0
+2006-02-24,19:14:00,3834.00,3835.00,3834.00,3834.00,203,0
+2006-02-24,19:15:00,3834.00,3834.00,3833.00,3833.00,4,0
+2006-02-24,19:16:00,3833.00,3835.00,3833.00,3835.00,93,0
+2006-02-24,19:18:00,3834.00,3834.00,3833.00,3834.00,40,0
+2006-02-24,19:20:00,3834.00,3834.00,3834.00,3834.00,25,0
+2006-02-24,19:21:00,3834.00,3835.00,3834.00,3835.00,81,0
+2006-02-24,19:23:00,3836.00,3836.00,3836.00,3836.00,79,0
+2006-02-24,19:24:00,3836.00,3836.00,3835.00,3835.00,146,0
+2006-02-24,19:25:00,3836.00,3836.00,3836.00,3836.00,7,0
+2006-02-24,19:26:00,3836.00,3836.00,3836.00,3836.00,1,0
+2006-02-24,19:28:00,3836.00,3836.00,3836.00,3836.00,11,0
+2006-02-24,19:29:00,3835.00,3835.00,3835.00,3835.00,195,0
+2006-02-24,19:30:00,3834.00,3835.00,3834.00,3834.00,126,0
+2006-02-24,19:31:00,3834.00,3834.00,3834.00,3834.00,33,0
+2006-02-24,19:32:00,3834.00,3834.00,3834.00,3834.00,3,0
+2006-02-24,19:33:00,3834.00,3834.00,3834.00,3834.00,20,0
+2006-02-24,19:34:00,3835.00,3835.00,3834.00,3834.00,28,0
+2006-02-24,19:35:00,3833.00,3833.00,3832.00,3833.00,593,0
+2006-02-24,19:36:00,3833.00,3833.00,3833.00,3833.00,37,0
+2006-02-24,19:37:00,3833.00,3834.00,3833.00,3834.00,77,0
+2006-02-24,19:38:00,3835.00,3835.00,3835.00,3835.00,63,0
+2006-02-24,19:39:00,3834.00,3834.00,3833.00,3834.00,53,0
+2006-02-24,19:40:00,3834.00,3834.00,3834.00,3834.00,190,0
+2006-02-24,19:41:00,3833.00,3833.00,3832.00,3832.00,111,0
+2006-02-24,19:42:00,3833.00,3833.00,3832.00,3832.00,46,0
+2006-02-24,19:43:00,3833.00,3833.00,3833.00,3833.00,40,0
+2006-02-24,19:44:00,3833.00,3833.00,3833.00,3833.00,1,0
+2006-02-24,19:45:00,3833.00,3833.00,3831.00,3831.00,185,0
+2006-02-24,19:46:00,3831.00,3831.00,3830.00,3831.00,296,0
+2006-02-24,19:47:00,3831.00,3831.00,3831.00,3831.00,22,0
+2006-02-24,19:48:00,3832.00,3832.00,3832.00,3832.00,9,0
+2006-02-24,19:49:00,3831.00,3833.00,3831.00,3831.00,303,0
+2006-02-24,19:50:00,3832.00,3833.00,3831.00,3833.00,74,0
+2006-02-24,19:51:00,3833.00,3833.00,3833.00,3833.00,28,0
+2006-02-24,19:52:00,3833.00,3833.00,3833.00,3833.00,22,0
+2006-02-24,19:54:00,3832.00,3832.00,3832.00,3832.00,35,0
+2006-02-24,19:55:00,3831.00,3831.00,3831.00,3831.00,210,0
+2006-02-24,19:56:00,3831.00,3831.00,3831.00,3831.00,110,0
+2006-02-24,19:57:00,3831.00,3831.00,3831.00,3831.00,100,0
+2006-02-24,19:58:00,3830.00,3830.00,3830.00,3830.00,231,0
+2006-02-24,19:59:00,3829.00,3830.00,3829.00,3830.00,830,0
+2006-02-24,20:00:00,3830.00,3830.00,3829.00,3830.00,48,0
+2006-02-24,20:01:00,3829.00,3832.00,3829.00,3832.00,320,0
+2006-02-24,20:02:00,3831.00,3831.00,3831.00,3831.00,56,0
+2006-02-24,20:03:00,3832.00,3834.00,3832.00,3833.00,248,0
+2006-02-24,20:04:00,3834.00,3834.00,3834.00,3834.00,10,0
+2006-02-24,20:06:00,3834.00,3834.00,3834.00,3834.00,4,0
+2006-02-24,20:07:00,3833.00,3833.00,3833.00,3833.00,10,0
+2006-02-24,20:08:00,3834.00,3834.00,3833.00,3833.00,30,0
+2006-02-24,20:09:00,3833.00,3833.00,3833.00,3833.00,2,0
+2006-02-24,20:10:00,3833.00,3833.00,3833.00,3833.00,2,0
+2006-02-24,20:11:00,3833.00,3833.00,3831.00,3831.00,217,0
+2006-02-24,20:12:00,3832.00,3834.00,3832.00,3833.00,66,0
+2006-02-24,20:13:00,3832.00,3832.00,3832.00,3832.00,21,0
+2006-02-24,20:15:00,3832.00,3832.00,3831.00,3831.00,118,0
+2006-02-24,20:16:00,3831.00,3831.00,3831.00,3831.00,183,0
+2006-02-24,20:17:00,3831.00,3831.00,3831.00,3831.00,50,0
+2006-02-24,20:18:00,3832.00,3832.00,3832.00,3832.00,36,0
+2006-02-24,20:19:00,3832.00,3832.00,3832.00,3832.00,63,0
+2006-02-24,20:20:00,3831.00,3832.00,3831.00,3832.00,3,0
+2006-02-24,20:21:00,3832.00,3832.00,3832.00,3832.00,97,0
+2006-02-24,20:22:00,3833.00,3833.00,3833.00,3833.00,39,0
+2006-02-24,20:23:00,3833.00,3833.00,3833.00,3833.00,57,0
+2006-02-24,20:24:00,3833.00,3833.00,3833.00,3833.00,15,0
+2006-02-24,20:26:00,3834.00,3834.00,3834.00,3834.00,1,0
+2006-02-24,20:27:00,3833.00,3833.00,3833.00,3833.00,12,0
+2006-02-24,20:28:00,3833.00,3833.00,3833.00,3833.00,3,0
+2006-02-24,20:29:00,3833.00,3833.00,3833.00,3833.00,4,0
+2006-02-24,20:30:00,3833.00,3833.00,3833.00,3833.00,6,0
+2006-02-24,20:31:00,3833.00,3833.00,3833.00,3833.00,1,0
+2006-02-24,20:32:00,3834.00,3834.00,3831.00,3831.00,234,0
+2006-02-24,20:33:00,3831.00,3831.00,3831.00,3831.00,175,0
+2006-02-24,20:34:00,3831.00,3831.00,3831.00,3831.00,1,0
+2006-02-24,20:35:00,3831.00,3835.00,3831.00,3835.00,339,0
+2006-02-24,20:36:00,3835.00,3835.00,3834.00,3834.00,70,0
+2006-02-24,20:37:00,3834.00,3834.00,3834.00,3834.00,2,0
+2006-02-24,20:38:00,3834.00,3835.00,3834.00,3835.00,121,0
+2006-02-24,20:39:00,3836.00,3836.00,3836.00,3836.00,5,0
+2006-02-24,20:40:00,3836.00,3836.00,3836.00,3836.00,44,0
+2006-02-24,20:41:00,3836.00,3836.00,3835.00,3835.00,88,0
+2006-02-24,20:42:00,3835.00,3835.00,3834.00,3834.00,240,0
+2006-02-24,20:43:00,3835.00,3835.00,3835.00,3835.00,39,0
+2006-02-24,20:44:00,3835.00,3835.00,3835.00,3835.00,1,0
+2006-02-24,20:46:00,3835.00,3836.00,3834.00,3835.00,125,0
+2006-02-24,20:47:00,3835.00,3835.00,3835.00,3835.00,5,0
+2006-02-24,20:48:00,3834.00,3834.00,3832.00,3833.00,113,0
+2006-02-24,20:49:00,3833.00,3834.00,3833.00,3834.00,8,0
+2006-02-24,20:50:00,3834.00,3834.00,3834.00,3834.00,5,0
+2006-02-24,20:51:00,3834.00,3834.00,3834.00,3834.00,18,0
+2006-02-24,20:52:00,3834.00,3834.00,3834.00,3834.00,4,0
+2006-02-24,20:53:00,3835.00,3837.00,3835.00,3836.00,55,0
+2006-02-24,20:54:00,3836.00,3836.00,3835.00,3835.00,5,0
+2006-02-24,20:55:00,3834.00,3835.00,3834.00,3835.00,4,0
+2006-02-24,20:56:00,3834.00,3835.00,3834.00,3835.00,4,0
+2006-02-24,20:57:00,3835.00,3835.00,3835.00,3835.00,44,0
+2006-02-24,20:58:00,3835.00,3835.00,3835.00,3835.00,10,0
+2006-02-24,20:59:00,3835.00,3835.00,3835.00,3835.00,29,0
+2006-02-24,21:00:00,3835.00,3837.00,3835.00,3836.00,501,0
+2006-02-24,21:01:00,3837.00,3837.00,3837.00,3837.00,104,0
+2006-02-24,21:02:00,3837.00,3837.00,3837.00,3837.00,15,0
+2006-02-24,21:03:00,3837.00,3838.00,3837.00,3837.00,53,0
+2006-02-24,21:04:00,3837.00,3837.00,3836.00,3836.00,86,0
+2006-02-24,21:05:00,3836.00,3836.00,3836.00,3836.00,75,0
+2006-02-24,21:06:00,3836.00,3836.00,3836.00,3836.00,45,0
+2006-02-24,21:07:00,3835.00,3835.00,3835.00,3835.00,22,0
+2006-02-24,21:08:00,3835.00,3835.00,3835.00,3835.00,24,0
+2006-02-24,21:09:00,3834.00,3834.00,3834.00,3834.00,21,0
+2006-02-24,21:10:00,3834.00,3834.00,3834.00,3834.00,64,0
+2006-02-24,21:11:00,3833.00,3833.00,3833.00,3833.00,100,0
+2006-02-24,21:12:00,3833.00,3833.00,3833.00,3833.00,9,0
+2006-02-24,21:14:00,3834.00,3834.00,3834.00,3834.00,12,0
+2006-02-24,21:15:00,3834.00,3834.00,3834.00,3834.00,4,0
+2006-02-24,21:16:00,3833.00,3833.00,3833.00,3833.00,88,0
+2006-02-24,21:17:00,3833.00,3833.00,3833.00,3833.00,112,0
+2006-02-24,21:18:00,3833.00,3833.00,3833.00,3833.00,30,0
+2006-02-24,21:20:00,3833.00,3833.00,3833.00,3833.00,4,0
+2006-02-24,21:21:00,3833.00,3833.00,3833.00,3833.00,6,0
+2006-02-24,21:22:00,3833.00,3833.00,3833.00,3833.00,98,0
+2006-02-24,21:23:00,3833.00,3834.00,3833.00,3834.00,7,0
+2006-02-24,21:25:00,3834.00,3834.00,3834.00,3834.00,4,0
+2006-02-24,21:26:00,3834.00,3834.00,3834.00,3834.00,71,0
+2006-02-24,21:30:00,3834.00,3834.00,3834.00,3834.00,97,0
+2006-02-24,21:31:00,3833.00,3833.00,3831.00,3831.00,335,0
+2006-02-24,21:32:00,3831.00,3831.00,3830.00,3830.00,505,0
+2006-02-24,21:33:00,3830.00,3831.00,3830.00,3831.00,60,0
+2006-02-24,21:34:00,3831.00,3831.00,3830.00,3830.00,11,0
+2006-02-24,21:35:00,3830.00,3831.00,3830.00,3831.00,27,0
+2006-02-24,21:36:00,3830.00,3830.00,3830.00,3830.00,50,0
+2006-02-24,21:37:00,3830.00,3830.00,3830.00,3830.00,67,0
+2006-02-24,21:39:00,3829.00,3830.00,3829.00,3830.00,147,0
+2006-02-24,21:40:00,3829.00,3829.00,3829.00,3829.00,58,0
+2006-02-24,21:41:00,3830.00,3830.00,3830.00,3830.00,165,0
+2006-02-24,21:42:00,3831.00,3831.00,3830.00,3830.00,61,0
+2006-02-24,21:44:00,3829.00,3829.00,3829.00,3829.00,40,0
+2006-02-24,21:45:00,3829.00,3830.00,3829.00,3830.00,156,0
+2006-02-24,21:46:00,3830.00,3830.00,3830.00,3830.00,1,0
+2006-02-24,21:47:00,3830.00,3830.00,3830.00,3830.00,4,0
+2006-02-24,21:48:00,3831.00,3831.00,3830.00,3830.00,20,0
+2006-02-24,21:49:00,3830.00,3830.00,3828.00,3828.00,23,0
+2006-02-24,21:50:00,3829.00,3829.00,3829.00,3829.00,62,0
+2006-02-24,21:51:00,3829.00,3829.00,3828.00,3828.00,49,0
+2006-02-24,21:52:00,3829.00,3830.00,3829.00,3829.00,18,0
+2006-02-24,21:53:00,3829.00,3830.00,3829.00,3829.00,17,0
+2006-02-24,21:54:00,3830.00,3830.00,3829.00,3829.00,18,0
+2006-02-24,21:55:00,3829.00,3830.00,3829.00,3830.00,33,0
+2006-02-24,21:56:00,3829.00,3830.00,3829.00,3830.00,45,0
+2006-02-24,21:57:00,3829.00,3830.00,3829.00,3830.00,24,0
+2006-02-24,21:58:00,3830.00,3830.00,3830.00,3830.00,42,0
+2006-02-24,21:59:00,3830.00,3830.00,3829.00,3830.00,111,0
+2006-02-24,22:00:00,3830.00,3831.00,3828.00,3829.00,920,0
+2006-02-27,09:01:00,3839.00,3842.00,3838.00,3841.00,5521,0
+2006-02-27,09:02:00,3841.00,3841.00,3837.00,3837.00,2698,0
+2006-02-27,09:03:00,3838.00,3839.00,3837.00,3837.00,1322,0
+2006-02-27,09:04:00,3838.00,3839.00,3836.00,3837.00,880,0
+2006-02-27,09:05:00,3837.00,3837.00,3834.00,3837.00,1921,0
+2006-02-27,09:06:00,3837.00,3837.00,3835.00,3836.00,530,0
+2006-02-27,09:07:00,3836.00,3837.00,3835.00,3836.00,682,0
+2006-02-27,09:08:00,3837.00,3837.00,3835.00,3835.00,829,0
+2006-02-27,09:09:00,3835.00,3836.00,3833.00,3834.00,850,0
+2006-02-27,09:10:00,3834.00,3836.00,3834.00,3836.00,600,0
+2006-02-27,09:11:00,3836.00,3836.00,3833.00,3836.00,1595,0
+2006-02-27,09:12:00,3835.00,3837.00,3835.00,3835.00,530,0
+2006-02-27,09:13:00,3835.00,3835.00,3833.00,3835.00,615,0
+2006-02-27,09:14:00,3834.00,3834.00,3831.00,3832.00,2193,0
+2006-02-27,09:15:00,3832.00,3834.00,3832.00,3834.00,1010,0
+2006-02-27,09:16:00,3833.00,3833.00,3829.00,3830.00,2326,0
+2006-02-27,09:17:00,3830.00,3831.00,3829.00,3830.00,1852,0
+2006-02-27,09:18:00,3830.00,3833.00,3830.00,3833.00,1154,0
+2006-02-27,09:19:00,3833.00,3833.00,3831.00,3831.00,568,0
+2006-02-27,09:20:00,3831.00,3831.00,3830.00,3831.00,302,0
+2006-02-27,09:21:00,3832.00,3833.00,3832.00,3833.00,247,0
+2006-02-27,09:22:00,3832.00,3834.00,3832.00,3833.00,523,0
+2006-02-27,09:23:00,3832.00,3833.00,3830.00,3830.00,248,0
+2006-02-27,09:24:00,3831.00,3831.00,3831.00,3831.00,131,0
+2006-02-27,09:25:00,3831.00,3833.00,3831.00,3833.00,101,0
+2006-02-27,09:26:00,3832.00,3832.00,3831.00,3832.00,343,0
+2006-02-27,09:27:00,3832.00,3834.00,3832.00,3833.00,381,0
+2006-02-27,09:28:00,3832.00,3833.00,3832.00,3832.00,248,0
+2006-02-27,09:29:00,3832.00,3833.00,3832.00,3833.00,1028,0
+2006-02-27,09:30:00,3832.00,3833.00,3832.00,3833.00,113,0
+2006-02-27,09:31:00,3833.00,3834.00,3832.00,3833.00,368,0
+2006-02-27,09:32:00,3833.00,3834.00,3832.00,3832.00,199,0
+2006-02-27,09:33:00,3832.00,3835.00,3832.00,3833.00,875,0
+2006-02-27,09:34:00,3833.00,3833.00,3832.00,3833.00,209,0
+2006-02-27,09:35:00,3833.00,3834.00,3832.00,3833.00,447,0
+2006-02-27,09:36:00,3832.00,3833.00,3832.00,3833.00,129,0
+2006-02-27,09:37:00,3834.00,3834.00,3833.00,3834.00,111,0
+2006-02-27,09:38:00,3834.00,3834.00,3834.00,3834.00,52,0
+2006-02-27,09:39:00,3834.00,3834.00,3834.00,3834.00,478,0
+2006-02-27,09:40:00,3834.00,3836.00,3833.00,3834.00,1260,0
+2006-02-27,09:41:00,3833.00,3833.00,3832.00,3833.00,216,0
+2006-02-27,09:42:00,3833.00,3833.00,3832.00,3832.00,297,0
+2006-02-27,09:43:00,3832.00,3833.00,3832.00,3833.00,83,0
+2006-02-27,09:44:00,3834.00,3834.00,3831.00,3832.00,483,0
+2006-02-27,09:45:00,3832.00,3833.00,3832.00,3833.00,424,0
+2006-02-27,09:46:00,3833.00,3835.00,3833.00,3834.00,261,0
+2006-02-27,09:47:00,3834.00,3836.00,3834.00,3836.00,658,0
+2006-02-27,09:48:00,3836.00,3837.00,3836.00,3837.00,560,0
+2006-02-27,09:49:00,3837.00,3838.00,3837.00,3837.00,470,0
+2006-02-27,09:50:00,3837.00,3838.00,3836.00,3837.00,388,0
+2006-02-27,09:51:00,3837.00,3837.00,3836.00,3836.00,401,0
+2006-02-27,09:52:00,3836.00,3837.00,3836.00,3837.00,778,0
+2006-02-27,09:53:00,3837.00,3837.00,3836.00,3837.00,561,0
+2006-02-27,09:54:00,3837.00,3837.00,3836.00,3837.00,793,0
+2006-02-27,09:55:00,3837.00,3838.00,3837.00,3837.00,48,0
+2006-02-27,09:56:00,3837.00,3838.00,3837.00,3838.00,782,0
+2006-02-27,09:57:00,3838.00,3838.00,3837.00,3838.00,42,0
+2006-02-27,09:58:00,3838.00,3838.00,3837.00,3838.00,499,0
+2006-02-27,09:59:00,3838.00,3838.00,3836.00,3836.00,295,0
+2006-02-27,10:00:00,3836.00,3838.00,3836.00,3838.00,500,0
+2006-02-27,10:01:00,3838.00,3838.00,3836.00,3837.00,491,0
+2006-02-27,10:02:00,3837.00,3840.00,3837.00,3839.00,1037,0
+2006-02-27,10:03:00,3840.00,3841.00,3839.00,3840.00,805,0
+2006-02-27,10:04:00,3840.00,3841.00,3840.00,3840.00,410,0
+2006-02-27,10:05:00,3841.00,3841.00,3839.00,3839.00,540,0
+2006-02-27,10:06:00,3840.00,3840.00,3839.00,3840.00,772,0
+2006-02-27,10:07:00,3839.00,3840.00,3839.00,3840.00,273,0
+2006-02-27,10:08:00,3840.00,3842.00,3840.00,3840.00,1399,0
+2006-02-27,10:09:00,3840.00,3840.00,3840.00,3840.00,459,0
+2006-02-27,10:10:00,3840.00,3840.00,3839.00,3839.00,16,0
+2006-02-27,10:11:00,3839.00,3840.00,3838.00,3838.00,364,0
+2006-02-27,10:12:00,3838.00,3839.00,3838.00,3838.00,122,0
+2006-02-27,10:13:00,3838.00,3838.00,3838.00,3838.00,343,0
+2006-02-27,10:14:00,3838.00,3839.00,3838.00,3838.00,129,0
+2006-02-27,10:15:00,3838.00,3839.00,3838.00,3839.00,452,0
+2006-02-27,10:16:00,3839.00,3840.00,3839.00,3840.00,478,0
+2006-02-27,10:17:00,3839.00,3840.00,3839.00,3839.00,94,0
+2006-02-27,10:18:00,3840.00,3842.00,3840.00,3840.00,901,0
+2006-02-27,10:19:00,3840.00,3840.00,3839.00,3840.00,468,0
+2006-02-27,10:20:00,3841.00,3841.00,3840.00,3840.00,438,0
+2006-02-27,10:21:00,3841.00,3842.00,3841.00,3841.00,349,0
+2006-02-27,10:22:00,3841.00,3841.00,3839.00,3839.00,1059,0
+2006-02-27,10:23:00,3840.00,3840.00,3839.00,3839.00,756,0
+2006-02-27,10:24:00,3840.00,3840.00,3838.00,3838.00,271,0
+2006-02-27,10:25:00,3839.00,3840.00,3838.00,3839.00,365,0
+2006-02-27,10:26:00,3839.00,3840.00,3838.00,3840.00,203,0
+2006-02-27,10:27:00,3840.00,3840.00,3839.00,3840.00,9,0
+2006-02-27,10:28:00,3840.00,3840.00,3839.00,3839.00,630,0
+2006-02-27,10:29:00,3839.00,3839.00,3839.00,3839.00,2,0
+2006-02-27,10:30:00,3838.00,3839.00,3838.00,3839.00,3,0
+2006-02-27,10:31:00,3839.00,3841.00,3839.00,3840.00,777,0
+2006-02-27,10:32:00,3840.00,3840.00,3838.00,3838.00,165,0
+2006-02-27,10:33:00,3839.00,3839.00,3838.00,3838.00,732,0
+2006-02-27,10:34:00,3838.00,3839.00,3838.00,3839.00,82,0
+2006-02-27,10:35:00,3839.00,3839.00,3839.00,3839.00,97,0
+2006-02-27,10:36:00,3838.00,3839.00,3838.00,3839.00,58,0
+2006-02-27,10:37:00,3839.00,3840.00,3839.00,3839.00,649,0
+2006-02-27,10:38:00,3839.00,3839.00,3836.00,3837.00,796,0
+2006-02-27,10:39:00,3837.00,3837.00,3836.00,3836.00,74,0
+2006-02-27,10:40:00,3837.00,3837.00,3836.00,3836.00,311,0
+2006-02-27,10:41:00,3837.00,3837.00,3836.00,3837.00,437,0
+2006-02-27,10:42:00,3836.00,3837.00,3836.00,3837.00,289,0
+2006-02-27,10:43:00,3837.00,3837.00,3837.00,3837.00,156,0
+2006-02-27,10:44:00,3838.00,3838.00,3838.00,3838.00,2,0
+2006-02-27,10:45:00,3838.00,3840.00,3838.00,3839.00,313,0
+2006-02-27,10:46:00,3839.00,3839.00,3839.00,3839.00,21,0
+2006-02-27,10:47:00,3838.00,3838.00,3838.00,3838.00,4,0
+2006-02-27,10:48:00,3838.00,3839.00,3838.00,3839.00,486,0
+2006-02-27,10:49:00,3839.00,3839.00,3838.00,3838.00,2,0
+2006-02-27,10:50:00,3838.00,3839.00,3838.00,3838.00,183,0
+2006-02-27,10:51:00,3838.00,3838.00,3837.00,3837.00,75,0
+2006-02-27,10:52:00,3837.00,3837.00,3837.00,3837.00,8,0
+2006-02-27,10:53:00,3837.00,3838.00,3837.00,3837.00,30,0
+2006-02-27,10:54:00,3837.00,3837.00,3837.00,3837.00,32,0
+2006-02-27,10:55:00,3837.00,3837.00,3836.00,3836.00,394,0
+2006-02-27,10:56:00,3836.00,3836.00,3835.00,3835.00,730,0
+2006-02-27,10:57:00,3835.00,3835.00,3835.00,3835.00,17,0
+2006-02-27,10:58:00,3835.00,3835.00,3834.00,3835.00,423,0
+2006-02-27,10:59:00,3835.00,3836.00,3834.00,3836.00,250,0
+2006-02-27,11:00:00,3835.00,3836.00,3835.00,3835.00,619,0
+2006-02-27,11:01:00,3835.00,3836.00,3835.00,3836.00,759,0
+2006-02-27,11:02:00,3836.00,3836.00,3835.00,3835.00,53,0
+2006-02-27,11:03:00,3835.00,3835.00,3835.00,3835.00,1,0
+2006-02-27,11:04:00,3835.00,3835.00,3835.00,3835.00,13,0
+2006-02-27,11:05:00,3835.00,3835.00,3835.00,3835.00,5,0
+2006-02-27,11:06:00,3835.00,3835.00,3835.00,3835.00,305,0
+2006-02-27,11:07:00,3835.00,3835.00,3835.00,3835.00,50,0
+2006-02-27,11:08:00,3835.00,3836.00,3835.00,3835.00,62,0
+2006-02-27,11:09:00,3836.00,3838.00,3836.00,3838.00,440,0
+2006-02-27,11:10:00,3837.00,3837.00,3837.00,3837.00,189,0
+2006-02-27,11:11:00,3838.00,3838.00,3836.00,3836.00,67,0
+2006-02-27,11:12:00,3837.00,3837.00,3836.00,3836.00,29,0
+2006-02-27,11:13:00,3837.00,3837.00,3836.00,3836.00,15,0
+2006-02-27,11:15:00,3837.00,3837.00,3837.00,3837.00,2,0
+2006-02-27,11:16:00,3836.00,3836.00,3836.00,3836.00,1,0
+2006-02-27,11:18:00,3836.00,3836.00,3836.00,3836.00,80,0
+2006-02-27,11:19:00,3836.00,3837.00,3836.00,3836.00,10,0
+2006-02-27,11:20:00,3836.00,3837.00,3836.00,3837.00,17,0
+2006-02-27,11:21:00,3837.00,3837.00,3836.00,3837.00,32,0
+2006-02-27,11:22:00,3837.00,3837.00,3836.00,3836.00,6,0
+2006-02-27,11:23:00,3836.00,3837.00,3836.00,3836.00,45,0
+2006-02-27,11:24:00,3836.00,3837.00,3836.00,3836.00,295,0
+2006-02-27,11:25:00,3836.00,3837.00,3836.00,3836.00,54,0
+2006-02-27,11:26:00,3837.00,3837.00,3836.00,3837.00,322,0
+2006-02-27,11:27:00,3836.00,3837.00,3836.00,3836.00,210,0
+2006-02-27,11:28:00,3837.00,3837.00,3837.00,3837.00,15,0
+2006-02-27,11:29:00,3836.00,3837.00,3836.00,3837.00,51,0
+2006-02-27,11:30:00,3837.00,3837.00,3836.00,3836.00,113,0
+2006-02-27,11:31:00,3837.00,3837.00,3836.00,3837.00,121,0
+2006-02-27,11:32:00,3837.00,3837.00,3837.00,3837.00,3,0
+2006-02-27,11:33:00,3837.00,3837.00,3836.00,3836.00,436,0
+2006-02-27,11:34:00,3836.00,3836.00,3835.00,3835.00,3,0
+2006-02-27,11:35:00,3836.00,3836.00,3835.00,3835.00,5,0
+2006-02-27,11:36:00,3835.00,3835.00,3835.00,3835.00,113,0
+2006-02-27,11:37:00,3835.00,3835.00,3834.00,3834.00,727,0
+2006-02-27,11:38:00,3835.00,3835.00,3834.00,3835.00,324,0
+2006-02-27,11:39:00,3835.00,3836.00,3834.00,3834.00,237,0
+2006-02-27,11:40:00,3835.00,3835.00,3833.00,3833.00,845,0
+2006-02-27,11:41:00,3833.00,3834.00,3833.00,3834.00,259,0
+2006-02-27,11:42:00,3835.00,3835.00,3834.00,3834.00,18,0
+2006-02-27,11:43:00,3835.00,3835.00,3835.00,3835.00,1,0
+2006-02-27,11:44:00,3835.00,3835.00,3835.00,3835.00,1,0
+2006-02-27,11:45:00,3835.00,3835.00,3834.00,3835.00,168,0
+2006-02-27,11:46:00,3835.00,3835.00,3835.00,3835.00,7,0
+2006-02-27,11:47:00,3834.00,3834.00,3834.00,3834.00,2,0
+2006-02-27,11:48:00,3835.00,3835.00,3834.00,3834.00,257,0
+2006-02-27,11:49:00,3834.00,3834.00,3834.00,3834.00,1,0
+2006-02-27,11:50:00,3835.00,3835.00,3834.00,3834.00,23,0
+2006-02-27,11:51:00,3835.00,3835.00,3834.00,3834.00,22,0
+2006-02-27,11:52:00,3835.00,3836.00,3834.00,3835.00,379,0
+2006-02-27,11:53:00,3835.00,3836.00,3835.00,3836.00,39,0
+2006-02-27,11:54:00,3836.00,3837.00,3836.00,3836.00,461,0
+2006-02-27,11:55:00,3836.00,3836.00,3836.00,3836.00,132,0
+2006-02-27,11:56:00,3836.00,3836.00,3835.00,3835.00,178,0
+2006-02-27,11:57:00,3835.00,3835.00,3835.00,3835.00,10,0
+2006-02-27,11:58:00,3835.00,3835.00,3835.00,3835.00,37,0
+2006-02-27,11:59:00,3835.00,3835.00,3834.00,3834.00,176,0
+2006-02-27,12:00:00,3834.00,3834.00,3834.00,3834.00,1,0
+2006-02-27,12:01:00,3834.00,3835.00,3832.00,3833.00,951,0
+2006-02-27,12:02:00,3833.00,3833.00,3833.00,3833.00,257,0
+2006-02-27,12:03:00,3833.00,3833.00,3833.00,3833.00,144,0
+2006-02-27,12:04:00,3833.00,3834.00,3833.00,3833.00,44,0
+2006-02-27,12:05:00,3833.00,3833.00,3832.00,3832.00,621,0
+2006-02-27,12:06:00,3832.00,3832.00,3830.00,3831.00,648,0
+2006-02-27,12:07:00,3831.00,3831.00,3829.00,3830.00,1495,0
+2006-02-27,12:08:00,3830.00,3830.00,3830.00,3830.00,197,0
+2006-02-27,12:09:00,3830.00,3831.00,3830.00,3830.00,318,0
+2006-02-27,12:10:00,3830.00,3831.00,3830.00,3831.00,270,0
+2006-02-27,12:11:00,3830.00,3831.00,3830.00,3831.00,179,0
+2006-02-27,12:12:00,3831.00,3831.00,3831.00,3831.00,90,0
+2006-02-27,12:13:00,3832.00,3832.00,3832.00,3832.00,179,0
+2006-02-27,12:14:00,3831.00,3832.00,3831.00,3831.00,258,0
+2006-02-27,12:15:00,3831.00,3831.00,3830.00,3831.00,9,0
+2006-02-27,12:16:00,3830.00,3830.00,3830.00,3830.00,375,0
+2006-02-27,12:17:00,3830.00,3830.00,3829.00,3830.00,252,0
+2006-02-27,12:18:00,3829.00,3830.00,3828.00,3829.00,795,0
+2006-02-27,12:19:00,3830.00,3830.00,3830.00,3830.00,309,0
+2006-02-27,12:20:00,3830.00,3830.00,3830.00,3830.00,40,0
+2006-02-27,12:21:00,3830.00,3830.00,3829.00,3830.00,88,0
+2006-02-27,12:22:00,3830.00,3830.00,3829.00,3830.00,507,0
+2006-02-27,12:23:00,3830.00,3831.00,3830.00,3831.00,88,0
+2006-02-27,12:24:00,3831.00,3831.00,3831.00,3831.00,23,0
+2006-02-27,12:25:00,3831.00,3831.00,3830.00,3830.00,211,0
+2006-02-27,12:26:00,3830.00,3830.00,3829.00,3829.00,658,0
+2006-02-27,12:27:00,3829.00,3830.00,3829.00,3830.00,250,0
+2006-02-27,12:28:00,3830.00,3830.00,3829.00,3830.00,135,0
+2006-02-27,12:29:00,3830.00,3830.00,3830.00,3830.00,120,0
+2006-02-27,12:30:00,3830.00,3830.00,3829.00,3830.00,4,0
+2006-02-27,12:31:00,3830.00,3830.00,3829.00,3829.00,141,0
+2006-02-27,12:32:00,3830.00,3830.00,3830.00,3830.00,247,0
+2006-02-27,12:33:00,3830.00,3830.00,3829.00,3829.00,62,0
+2006-02-27,12:34:00,3829.00,3829.00,3829.00,3829.00,55,0
+2006-02-27,12:35:00,3829.00,3830.00,3828.00,3830.00,460,0
+2006-02-27,12:36:00,3829.00,3830.00,3829.00,3830.00,319,0
+2006-02-27,12:37:00,3830.00,3831.00,3830.00,3830.00,13,0
+2006-02-27,12:38:00,3830.00,3830.00,3829.00,3829.00,300,0
+2006-02-27,12:39:00,3830.00,3830.00,3829.00,3830.00,102,0
+2006-02-27,12:40:00,3830.00,3830.00,3829.00,3830.00,96,0
+2006-02-27,12:41:00,3830.00,3830.00,3828.00,3828.00,1302,0
+2006-02-27,12:42:00,3828.00,3829.00,3828.00,3829.00,788,0
+2006-02-27,12:43:00,3829.00,3829.00,3828.00,3829.00,262,0
+2006-02-27,12:44:00,3829.00,3829.00,3828.00,3829.00,62,0
+2006-02-27,12:45:00,3828.00,3829.00,3828.00,3829.00,125,0
+2006-02-27,12:46:00,3828.00,3828.00,3828.00,3828.00,2,0
+2006-02-27,12:47:00,3828.00,3829.00,3826.00,3826.00,2391,0
+2006-02-27,12:48:00,3827.00,3827.00,3825.00,3826.00,776,0
+2006-02-27,12:49:00,3827.00,3827.00,3824.00,3825.00,2234,0
+2006-02-27,12:50:00,3824.00,3825.00,3823.00,3825.00,1910,0
+2006-02-27,12:51:00,3825.00,3826.00,3825.00,3825.00,474,0
+2006-02-27,12:52:00,3825.00,3826.00,3824.00,3825.00,485,0
+2006-02-27,12:53:00,3825.00,3826.00,3825.00,3825.00,253,0
+2006-02-27,12:54:00,3826.00,3827.00,3825.00,3827.00,439,0
+2006-02-27,12:55:00,3827.00,3827.00,3827.00,3827.00,276,0
+2006-02-27,12:56:00,3826.00,3827.00,3826.00,3826.00,49,0
+2006-02-27,12:57:00,3826.00,3826.00,3824.00,3824.00,1142,0
+2006-02-27,12:58:00,3824.00,3825.00,3824.00,3825.00,265,0
+2006-02-27,12:59:00,3825.00,3825.00,3825.00,3825.00,154,0
+2006-02-27,13:00:00,3826.00,3826.00,3826.00,3826.00,1,0
+2006-02-27,13:01:00,3825.00,3826.00,3824.00,3824.00,314,0
+2006-02-27,13:02:00,3825.00,3825.00,3824.00,3825.00,89,0
+2006-02-27,13:03:00,3824.00,3824.00,3824.00,3824.00,415,0
+2006-02-27,13:04:00,3824.00,3825.00,3824.00,3824.00,227,0
+2006-02-27,13:05:00,3824.00,3826.00,3824.00,3826.00,1044,0
+2006-02-27,13:06:00,3826.00,3826.00,3825.00,3826.00,75,0
+2006-02-27,13:07:00,3826.00,3827.00,3826.00,3826.00,471,0
+2006-02-27,13:08:00,3826.00,3827.00,3825.00,3825.00,290,0
+2006-02-27,13:09:00,3826.00,3826.00,3825.00,3826.00,48,0
+2006-02-27,13:10:00,3825.00,3826.00,3825.00,3826.00,3,0
+2006-02-27,13:11:00,3826.00,3827.00,3825.00,3826.00,151,0
+2006-02-27,13:12:00,3826.00,3827.00,3825.00,3825.00,71,0
+2006-02-27,13:13:00,3826.00,3826.00,3825.00,3825.00,144,0
+2006-02-27,13:14:00,3825.00,3827.00,3825.00,3827.00,429,0
+2006-02-27,13:15:00,3826.00,3826.00,3825.00,3825.00,101,0
+2006-02-27,13:16:00,3826.00,3826.00,3825.00,3826.00,354,0
+2006-02-27,13:17:00,3826.00,3826.00,3826.00,3826.00,103,0
+2006-02-27,13:18:00,3826.00,3826.00,3826.00,3826.00,1,0
+2006-02-27,13:20:00,3826.00,3826.00,3825.00,3825.00,11,0
+2006-02-27,13:21:00,3826.00,3826.00,3826.00,3826.00,1,0
+2006-02-27,13:22:00,3826.00,3826.00,3826.00,3826.00,1,0
+2006-02-27,13:23:00,3826.00,3826.00,3825.00,3825.00,14,0
+2006-02-27,13:24:00,3826.00,3826.00,3826.00,3826.00,102,0
+2006-02-27,13:26:00,3825.00,3825.00,3825.00,3825.00,13,0
+2006-02-27,13:27:00,3825.00,3826.00,3825.00,3825.00,568,0
+2006-02-27,13:29:00,3825.00,3825.00,3825.00,3825.00,29,0
+2006-02-27,13:31:00,3826.00,3828.00,3825.00,3827.00,1048,0
+2006-02-27,13:32:00,3828.00,3828.00,3827.00,3828.00,878,0
+2006-02-27,13:33:00,3828.00,3828.00,3827.00,3827.00,29,0
+2006-02-27,13:34:00,3828.00,3828.00,3828.00,3828.00,87,0
+2006-02-27,13:35:00,3828.00,3828.00,3828.00,3828.00,63,0
+2006-02-27,13:36:00,3827.00,3828.00,3827.00,3827.00,8,0
+2006-02-27,13:37:00,3827.00,3827.00,3827.00,3827.00,52,0
+2006-02-27,13:38:00,3828.00,3828.00,3827.00,3827.00,6,0
+2006-02-27,13:39:00,3828.00,3828.00,3828.00,3828.00,169,0
+2006-02-27,13:40:00,3828.00,3828.00,3828.00,3828.00,330,0
+2006-02-27,13:41:00,3828.00,3829.00,3828.00,3828.00,271,0
+2006-02-27,13:42:00,3829.00,3829.00,3829.00,3829.00,21,0
+2006-02-27,13:43:00,3829.00,3829.00,3829.00,3829.00,4,0
+2006-02-27,13:44:00,3829.00,3829.00,3829.00,3829.00,8,0
+2006-02-27,13:45:00,3828.00,3828.00,3827.00,3827.00,300,0
+2006-02-27,13:46:00,3827.00,3827.00,3827.00,3827.00,1,0
+2006-02-27,13:48:00,3827.00,3827.00,3827.00,3827.00,8,0
+2006-02-27,13:49:00,3827.00,3827.00,3827.00,3827.00,33,0
+2006-02-27,13:50:00,3827.00,3827.00,3827.00,3827.00,1,0
+2006-02-27,13:51:00,3828.00,3828.00,3828.00,3828.00,2,0
+2006-02-27,13:52:00,3828.00,3828.00,3828.00,3828.00,100,0
+2006-02-27,13:54:00,3828.00,3828.00,3828.00,3828.00,4,0
+2006-02-27,13:55:00,3828.00,3828.00,3827.00,3827.00,11,0
+2006-02-27,13:56:00,3828.00,3828.00,3828.00,3828.00,2,0
+2006-02-27,13:58:00,3828.00,3828.00,3828.00,3828.00,1,0
+2006-02-27,13:59:00,3828.00,3828.00,3828.00,3828.00,60,0
+2006-02-27,14:00:00,3827.00,3827.00,3827.00,3827.00,129,0
+2006-02-27,14:01:00,3828.00,3829.00,3827.00,3828.00,357,0
+2006-02-27,14:02:00,3828.00,3828.00,3827.00,3827.00,2,0
+2006-02-27,14:03:00,3828.00,3828.00,3828.00,3828.00,1,0
+2006-02-27,14:04:00,3828.00,3828.00,3827.00,3828.00,43,0
+2006-02-27,14:05:00,3828.00,3828.00,3827.00,3828.00,106,0
+2006-02-27,14:06:00,3828.00,3828.00,3828.00,3828.00,9,0
+2006-02-27,14:07:00,3827.00,3828.00,3827.00,3827.00,186,0
+2006-02-27,14:08:00,3828.00,3828.00,3828.00,3828.00,320,0
+2006-02-27,14:09:00,3828.00,3828.00,3828.00,3828.00,2,0
+2006-02-27,14:10:00,3828.00,3828.00,3828.00,3828.00,22,0
+2006-02-27,14:11:00,3828.00,3828.00,3827.00,3827.00,91,0
+2006-02-27,14:12:00,3827.00,3828.00,3827.00,3827.00,67,0
+2006-02-27,14:13:00,3827.00,3827.00,3827.00,3827.00,4,0
+2006-02-27,14:14:00,3827.00,3827.00,3827.00,3827.00,13,0
+2006-02-27,14:15:00,3827.00,3827.00,3827.00,3827.00,1,0
+2006-02-27,14:16:00,3828.00,3828.00,3827.00,3828.00,104,0
+2006-02-27,14:17:00,3828.00,3828.00,3828.00,3828.00,30,0
+2006-02-27,14:18:00,3828.00,3828.00,3828.00,3828.00,34,0
+2006-02-27,14:19:00,3828.00,3828.00,3827.00,3827.00,648,0
+2006-02-27,14:21:00,3828.00,3828.00,3828.00,3828.00,466,0
+2006-02-27,14:22:00,3827.00,3828.00,3827.00,3828.00,161,0
+2006-02-27,14:23:00,3828.00,3828.00,3827.00,3827.00,396,0
+2006-02-27,14:24:00,3828.00,3828.00,3828.00,3828.00,14,0
+2006-02-27,14:25:00,3828.00,3828.00,3828.00,3828.00,198,0
+2006-02-27,14:26:00,3828.00,3830.00,3828.00,3830.00,1274,0
+2006-02-27,14:27:00,3830.00,3830.00,3828.00,3829.00,1350,0
+2006-02-27,14:28:00,3829.00,3830.00,3829.00,3829.00,233,0
+2006-02-27,14:29:00,3829.00,3829.00,3828.00,3828.00,90,0
+2006-02-27,14:30:00,3829.00,3829.00,3829.00,3829.00,3,0
+2006-02-27,14:31:00,3828.00,3829.00,3828.00,3829.00,12,0
+2006-02-27,14:32:00,3829.00,3830.00,3829.00,3830.00,238,0
+2006-02-27,14:33:00,3829.00,3830.00,3829.00,3829.00,199,0
+2006-02-27,14:34:00,3830.00,3830.00,3830.00,3830.00,5,0
+2006-02-27,14:35:00,3830.00,3830.00,3830.00,3830.00,14,0
+2006-02-27,14:36:00,3830.00,3831.00,3829.00,3831.00,1321,0
+2006-02-27,14:37:00,3831.00,3833.00,3831.00,3832.00,1455,0
+2006-02-27,14:38:00,3832.00,3833.00,3831.00,3831.00,642,0
+2006-02-27,14:39:00,3831.00,3831.00,3831.00,3831.00,239,0
+2006-02-27,14:40:00,3831.00,3831.00,3831.00,3831.00,5,0
+2006-02-27,14:41:00,3831.00,3831.00,3831.00,3831.00,67,0
+2006-02-27,14:42:00,3830.00,3831.00,3830.00,3830.00,218,0
+2006-02-27,14:43:00,3830.00,3831.00,3830.00,3831.00,7,0
+2006-02-27,14:44:00,3830.00,3831.00,3830.00,3830.00,53,0
+2006-02-27,14:45:00,3831.00,3831.00,3831.00,3831.00,100,0
+2006-02-27,14:46:00,3831.00,3832.00,3831.00,3831.00,212,0
+2006-02-27,14:47:00,3831.00,3831.00,3830.00,3831.00,37,0
+2006-02-27,14:48:00,3831.00,3831.00,3831.00,3831.00,3,0
+2006-02-27,14:49:00,3831.00,3831.00,3831.00,3831.00,311,0
+2006-02-27,14:50:00,3831.00,3831.00,3831.00,3831.00,77,0
+2006-02-27,14:51:00,3831.00,3832.00,3831.00,3832.00,59,0
+2006-02-27,14:52:00,3831.00,3832.00,3831.00,3832.00,7,0
+2006-02-27,14:53:00,3831.00,3832.00,3831.00,3832.00,6,0
+2006-02-27,14:54:00,3832.00,3832.00,3832.00,3832.00,6,0
+2006-02-27,14:55:00,3832.00,3832.00,3831.00,3832.00,139,0
+2006-02-27,14:56:00,3832.00,3833.00,3832.00,3832.00,395,0
+2006-02-27,14:57:00,3832.00,3832.00,3831.00,3831.00,302,0
+2006-02-27,14:58:00,3831.00,3831.00,3830.00,3831.00,149,0
+2006-02-27,14:59:00,3831.00,3831.00,3831.00,3831.00,138,0
+2006-02-27,15:00:00,3831.00,3831.00,3831.00,3831.00,5,0
+2006-02-27,15:01:00,3831.00,3832.00,3831.00,3831.00,731,0
+2006-02-27,15:02:00,3831.00,3831.00,3830.00,3830.00,108,0
+2006-02-27,15:03:00,3831.00,3832.00,3831.00,3832.00,152,0
+2006-02-27,15:04:00,3831.00,3831.00,3831.00,3831.00,272,0
+2006-02-27,15:05:00,3830.00,3830.00,3830.00,3830.00,92,0
+2006-02-27,15:06:00,3830.00,3831.00,3830.00,3831.00,126,0
+2006-02-27,15:07:00,3831.00,3831.00,3830.00,3830.00,84,0
+2006-02-27,15:08:00,3830.00,3830.00,3830.00,3830.00,430,0
+2006-02-27,15:09:00,3830.00,3830.00,3830.00,3830.00,9,0
+2006-02-27,15:10:00,3830.00,3830.00,3829.00,3829.00,109,0
+2006-02-27,15:11:00,3829.00,3830.00,3829.00,3830.00,55,0
+2006-02-27,15:12:00,3830.00,3830.00,3830.00,3830.00,6,0
+2006-02-27,15:13:00,3830.00,3830.00,3829.00,3830.00,103,0
+2006-02-27,15:14:00,3829.00,3831.00,3829.00,3831.00,138,0
+2006-02-27,15:15:00,3831.00,3831.00,3830.00,3831.00,33,0
+2006-02-27,15:16:00,3830.00,3831.00,3830.00,3830.00,17,0
+2006-02-27,15:17:00,3830.00,3831.00,3830.00,3831.00,2,0
+2006-02-27,15:18:00,3831.00,3832.00,3831.00,3831.00,177,0
+2006-02-27,15:19:00,3831.00,3832.00,3831.00,3831.00,76,0
+2006-02-27,15:20:00,3831.00,3832.00,3831.00,3832.00,48,0
+2006-02-27,15:21:00,3831.00,3832.00,3831.00,3832.00,77,0
+2006-02-27,15:22:00,3832.00,3832.00,3832.00,3832.00,1,0
+2006-02-27,15:23:00,3831.00,3832.00,3831.00,3832.00,23,0
+2006-02-27,15:24:00,3831.00,3832.00,3831.00,3832.00,12,0
+2006-02-27,15:25:00,3832.00,3832.00,3832.00,3832.00,44,0
+2006-02-27,15:26:00,3832.00,3832.00,3831.00,3831.00,224,0
+2006-02-27,15:27:00,3831.00,3831.00,3831.00,3831.00,147,0
+2006-02-27,15:28:00,3831.00,3831.00,3831.00,3831.00,56,0
+2006-02-27,15:30:00,3830.00,3831.00,3830.00,3831.00,157,0
+2006-02-27,15:31:00,3831.00,3832.00,3830.00,3831.00,149,0
+2006-02-27,15:32:00,3831.00,3831.00,3830.00,3830.00,33,0
+2006-02-27,15:33:00,3830.00,3830.00,3829.00,3830.00,956,0
+2006-02-27,15:34:00,3829.00,3830.00,3828.00,3829.00,821,0
+2006-02-27,15:35:00,3829.00,3830.00,3829.00,3830.00,516,0
+2006-02-27,15:36:00,3831.00,3832.00,3831.00,3831.00,876,0
+2006-02-27,15:37:00,3832.00,3833.00,3832.00,3833.00,308,0
+2006-02-27,15:38:00,3832.00,3834.00,3832.00,3832.00,1369,0
+2006-02-27,15:39:00,3832.00,3833.00,3831.00,3831.00,693,0
+2006-02-27,15:40:00,3831.00,3832.00,3831.00,3832.00,594,0
+2006-02-27,15:41:00,3831.00,3831.00,3830.00,3831.00,891,0
+2006-02-27,15:42:00,3831.00,3833.00,3831.00,3832.00,621,0
+2006-02-27,15:43:00,3833.00,3835.00,3833.00,3833.00,2212,0
+2006-02-27,15:44:00,3834.00,3834.00,3832.00,3833.00,646,0
+2006-02-27,15:45:00,3834.00,3835.00,3833.00,3835.00,494,0
+2006-02-27,15:46:00,3835.00,3836.00,3834.00,3834.00,1745,0
+2006-02-27,15:47:00,3835.00,3835.00,3832.00,3832.00,1284,0
+2006-02-27,15:48:00,3832.00,3834.00,3832.00,3833.00,1445,0
+2006-02-27,15:49:00,3834.00,3834.00,3832.00,3833.00,886,0
+2006-02-27,15:50:00,3833.00,3834.00,3833.00,3833.00,431,0
+2006-02-27,15:51:00,3833.00,3833.00,3832.00,3832.00,187,0
+2006-02-27,15:52:00,3833.00,3833.00,3832.00,3833.00,353,0
+2006-02-27,15:53:00,3833.00,3834.00,3833.00,3834.00,1014,0
+2006-02-27,15:54:00,3833.00,3834.00,3831.00,3832.00,286,0
+2006-02-27,15:55:00,3832.00,3833.00,3832.00,3833.00,845,0
+2006-02-27,15:56:00,3833.00,3833.00,3832.00,3833.00,359,0
+2006-02-27,15:57:00,3833.00,3833.00,3832.00,3832.00,338,0
+2006-02-27,15:58:00,3832.00,3833.00,3832.00,3832.00,45,0
+2006-02-27,15:59:00,3833.00,3834.00,3833.00,3834.00,1212,0
+2006-02-27,16:00:00,3834.00,3834.00,3832.00,3833.00,432,0
+2006-02-27,16:01:00,3833.00,3836.00,3832.00,3835.00,2664,0
+2006-02-27,16:02:00,3836.00,3836.00,3833.00,3835.00,1384,0
+2006-02-27,16:03:00,3835.00,3835.00,3833.00,3834.00,1062,0
+2006-02-27,16:04:00,3835.00,3836.00,3834.00,3834.00,870,0
+2006-02-27,16:05:00,3835.00,3837.00,3835.00,3836.00,2762,0
+2006-02-27,16:06:00,3836.00,3836.00,3834.00,3834.00,1257,0
+2006-02-27,16:07:00,3834.00,3835.00,3833.00,3834.00,1134,0
+2006-02-27,16:08:00,3834.00,3834.00,3832.00,3833.00,666,0
+2006-02-27,16:09:00,3833.00,3833.00,3832.00,3833.00,497,0
+2006-02-27,16:10:00,3833.00,3833.00,3831.00,3832.00,663,0
+2006-02-27,16:11:00,3832.00,3834.00,3832.00,3832.00,999,0
+2006-02-27,16:12:00,3833.00,3833.00,3831.00,3831.00,1515,0
+2006-02-27,16:13:00,3831.00,3833.00,3831.00,3832.00,1044,0
+2006-02-27,16:14:00,3833.00,3833.00,3832.00,3833.00,487,0
+2006-02-27,16:15:00,3833.00,3833.00,3832.00,3832.00,412,0
+2006-02-27,16:16:00,3833.00,3834.00,3831.00,3831.00,497,0
+2006-02-27,16:17:00,3831.00,3832.00,3830.00,3831.00,2496,0
+2006-02-27,16:18:00,3831.00,3832.00,3830.00,3832.00,296,0
+2006-02-27,16:19:00,3831.00,3833.00,3831.00,3832.00,972,0
+2006-02-27,16:20:00,3831.00,3831.00,3830.00,3830.00,1211,0
+2006-02-27,16:21:00,3830.00,3831.00,3829.00,3830.00,1266,0
+2006-02-27,16:22:00,3831.00,3831.00,3830.00,3831.00,1382,0
+2006-02-27,16:23:00,3831.00,3833.00,3831.00,3832.00,864,0
+2006-02-27,16:24:00,3831.00,3832.00,3831.00,3831.00,256,0
+2006-02-27,16:25:00,3832.00,3834.00,3832.00,3834.00,1020,0
+2006-02-27,16:26:00,3833.00,3834.00,3832.00,3833.00,619,0
+2006-02-27,16:27:00,3832.00,3832.00,3831.00,3831.00,395,0
+2006-02-27,16:28:00,3832.00,3832.00,3831.00,3832.00,463,0
+2006-02-27,16:29:00,3832.00,3833.00,3832.00,3832.00,192,0
+2006-02-27,16:30:00,3832.00,3832.00,3832.00,3832.00,309,0
+2006-02-27,16:31:00,3832.00,3836.00,3832.00,3835.00,1757,0
+2006-02-27,16:32:00,3835.00,3836.00,3834.00,3834.00,1275,0
+2006-02-27,16:33:00,3835.00,3835.00,3834.00,3834.00,118,0
+2006-02-27,16:34:00,3834.00,3834.00,3833.00,3833.00,1151,0
+2006-02-27,16:35:00,3833.00,3836.00,3833.00,3835.00,871,0
+2006-02-27,16:36:00,3834.00,3835.00,3834.00,3834.00,126,0
+2006-02-27,16:37:00,3834.00,3834.00,3833.00,3834.00,682,0
+2006-02-27,16:38:00,3834.00,3834.00,3833.00,3833.00,177,0
+2006-02-27,16:39:00,3833.00,3835.00,3833.00,3833.00,1133,0
+2006-02-27,16:40:00,3834.00,3834.00,3833.00,3834.00,550,0
+2006-02-27,16:41:00,3834.00,3834.00,3833.00,3833.00,123,0
+2006-02-27,16:42:00,3833.00,3834.00,3833.00,3834.00,370,0
+2006-02-27,16:43:00,3834.00,3834.00,3832.00,3833.00,704,0
+2006-02-27,16:44:00,3833.00,3834.00,3833.00,3833.00,258,0
+2006-02-27,16:45:00,3834.00,3836.00,3834.00,3835.00,984,0
+2006-02-27,16:46:00,3835.00,3835.00,3833.00,3835.00,1060,0
+2006-02-27,16:47:00,3835.00,3835.00,3834.00,3835.00,482,0
+2006-02-27,16:48:00,3834.00,3834.00,3834.00,3834.00,18,0
+2006-02-27,16:49:00,3835.00,3836.00,3834.00,3834.00,407,0
+2006-02-27,16:50:00,3835.00,3835.00,3834.00,3835.00,52,0
+2006-02-27,16:51:00,3834.00,3835.00,3833.00,3833.00,1019,0
+2006-02-27,16:52:00,3833.00,3834.00,3833.00,3834.00,703,0
+2006-02-27,16:53:00,3834.00,3835.00,3834.00,3834.00,113,0
+2006-02-27,16:54:00,3834.00,3834.00,3832.00,3832.00,829,0
+2006-02-27,16:55:00,3832.00,3833.00,3831.00,3833.00,1353,0
+2006-02-27,16:56:00,3833.00,3833.00,3832.00,3833.00,193,0
+2006-02-27,16:57:00,3833.00,3833.00,3832.00,3833.00,348,0
+2006-02-27,16:58:00,3833.00,3833.00,3830.00,3831.00,2286,0
+2006-02-27,16:59:00,3831.00,3831.00,3830.00,3831.00,735,0
+2006-02-27,17:00:00,3832.00,3832.00,3831.00,3831.00,765,0
+2006-02-27,17:01:00,3831.00,3833.00,3831.00,3832.00,353,0
+2006-02-27,17:02:00,3833.00,3834.00,3833.00,3833.00,787,0
+2006-02-27,17:03:00,3833.00,3834.00,3833.00,3833.00,170,0
+2006-02-27,17:04:00,3833.00,3835.00,3832.00,3834.00,1237,0
+2006-02-27,17:05:00,3835.00,3835.00,3833.00,3834.00,754,0
+2006-02-27,17:06:00,3834.00,3834.00,3833.00,3833.00,178,0
+2006-02-27,17:07:00,3834.00,3835.00,3833.00,3834.00,878,0
+2006-02-27,17:08:00,3834.00,3834.00,3833.00,3834.00,426,0
+2006-02-27,17:09:00,3835.00,3835.00,3835.00,3835.00,721,0
+2006-02-27,17:10:00,3835.00,3836.00,3835.00,3835.00,687,0
+2006-02-27,17:11:00,3836.00,3836.00,3835.00,3835.00,368,0
+2006-02-27,17:12:00,3835.00,3840.00,3835.00,3840.00,3721,0
+2006-02-27,17:13:00,3840.00,3841.00,3839.00,3841.00,2897,0
+2006-02-27,17:14:00,3841.00,3841.00,3840.00,3840.00,1844,0
+2006-02-27,17:15:00,3841.00,3843.00,3840.00,3842.00,1738,0
+2006-02-27,17:16:00,3842.00,3842.00,3841.00,3841.00,1616,0
+2006-02-27,17:17:00,3840.00,3841.00,3840.00,3840.00,862,0
+2006-02-27,17:18:00,3840.00,3841.00,3840.00,3841.00,567,0
+2006-02-27,17:19:00,3841.00,3843.00,3841.00,3843.00,2100,0
+2006-02-27,17:20:00,3843.00,3844.00,3842.00,3843.00,1765,0
+2006-02-27,17:21:00,3843.00,3844.00,3842.00,3843.00,2865,0
+2006-02-27,17:22:00,3843.00,3843.00,3841.00,3841.00,828,0
+2006-02-27,17:23:00,3841.00,3844.00,3841.00,3843.00,1957,0
+2006-02-27,17:24:00,3842.00,3844.00,3842.00,3843.00,1070,0
+2006-02-27,17:25:00,3843.00,3843.00,3842.00,3843.00,505,0
+2006-02-27,17:26:00,3843.00,3845.00,3843.00,3844.00,2139,0
+2006-02-27,17:27:00,3844.00,3847.00,3844.00,3846.00,4956,0
+2006-02-27,17:28:00,3845.00,3848.00,3845.00,3847.00,3623,0
+2006-02-27,17:29:00,3847.00,3847.00,3845.00,3846.00,2813,0
+2006-02-27,17:30:00,3846.00,3848.00,3846.00,3847.00,6039,0
+2006-02-27,17:31:00,3847.00,3849.00,3847.00,3847.00,3352,0
+2006-02-27,17:32:00,3847.00,3848.00,3847.00,3847.00,2886,0
+2006-02-27,17:33:00,3847.00,3848.00,3847.00,3847.00,1100,0
+2006-02-27,17:34:00,3848.00,3848.00,3846.00,3847.00,1355,0
+2006-02-27,17:35:00,3847.00,3848.00,3846.00,3847.00,1740,0
+2006-02-27,17:36:00,3847.00,3848.00,3846.00,3848.00,1420,0
+2006-02-27,17:37:00,3848.00,3849.00,3847.00,3848.00,739,0
+2006-02-27,17:38:00,3848.00,3849.00,3847.00,3848.00,516,0
+2006-02-27,17:39:00,3848.00,3848.00,3845.00,3846.00,1814,0
+2006-02-27,17:40:00,3846.00,3847.00,3845.00,3845.00,861,0
+2006-02-27,17:41:00,3845.00,3846.00,3844.00,3846.00,704,0
+2006-02-27,17:42:00,3845.00,3846.00,3845.00,3846.00,937,0
+2006-02-27,17:43:00,3846.00,3846.00,3845.00,3846.00,230,0
+2006-02-27,17:44:00,3846.00,3846.00,3845.00,3846.00,125,0
+2006-02-27,17:45:00,3846.00,3846.00,3845.00,3846.00,583,0
+2006-02-27,17:46:00,3847.00,3847.00,3846.00,3846.00,604,0
+2006-02-27,17:47:00,3846.00,3847.00,3845.00,3845.00,278,0
+2006-02-27,17:48:00,3846.00,3846.00,3845.00,3846.00,27,0
+2006-02-27,17:49:00,3845.00,3846.00,3843.00,3843.00,1637,0
+2006-02-27,17:50:00,3844.00,3844.00,3843.00,3843.00,534,0
+2006-02-27,17:51:00,3842.00,3844.00,3842.00,3844.00,1133,0
+2006-02-27,17:52:00,3843.00,3845.00,3843.00,3844.00,315,0
+2006-02-27,17:53:00,3844.00,3845.00,3844.00,3844.00,343,0
+2006-02-27,17:54:00,3844.00,3845.00,3844.00,3845.00,270,0
+2006-02-27,17:55:00,3844.00,3846.00,3844.00,3845.00,705,0
+2006-02-27,17:56:00,3845.00,3846.00,3845.00,3845.00,78,0
+2006-02-27,17:57:00,3845.00,3846.00,3845.00,3846.00,214,0
+2006-02-27,17:58:00,3845.00,3845.00,3845.00,3845.00,20,0
+2006-02-27,17:59:00,3846.00,3846.00,3845.00,3846.00,201,0
+2006-02-27,18:00:00,3846.00,3847.00,3846.00,3846.00,238,0
+2006-02-27,18:01:00,3846.00,3846.00,3845.00,3846.00,238,0
+2006-02-27,18:02:00,3846.00,3847.00,3846.00,3846.00,22,0
+2006-02-27,18:03:00,3846.00,3847.00,3846.00,3847.00,522,0
+2006-02-27,18:04:00,3848.00,3848.00,3848.00,3848.00,287,0
+2006-02-27,18:05:00,3847.00,3847.00,3847.00,3847.00,153,0
+2006-02-27,18:06:00,3848.00,3849.00,3847.00,3847.00,657,0
+2006-02-27,18:07:00,3847.00,3848.00,3847.00,3848.00,657,0
+2006-02-27,18:08:00,3847.00,3848.00,3847.00,3848.00,2,0
+2006-02-27,18:09:00,3847.00,3847.00,3847.00,3847.00,29,0
+2006-02-27,18:10:00,3847.00,3847.00,3846.00,3847.00,91,0
+2006-02-27,18:11:00,3847.00,3847.00,3846.00,3847.00,263,0
+2006-02-27,18:12:00,3847.00,3847.00,3846.00,3846.00,13,0
+2006-02-27,18:13:00,3846.00,3846.00,3845.00,3846.00,526,0
+2006-02-27,18:14:00,3846.00,3846.00,3845.00,3845.00,79,0
+2006-02-27,18:15:00,3846.00,3846.00,3845.00,3845.00,155,0
+2006-02-27,18:16:00,3845.00,3845.00,3845.00,3845.00,99,0
+2006-02-27,18:17:00,3845.00,3846.00,3845.00,3845.00,95,0
+2006-02-27,18:18:00,3845.00,3847.00,3845.00,3846.00,186,0
+2006-02-27,18:19:00,3846.00,3846.00,3846.00,3846.00,46,0
+2006-02-27,18:20:00,3846.00,3847.00,3846.00,3846.00,101,0
+2006-02-27,18:21:00,3846.00,3846.00,3846.00,3846.00,24,0
+2006-02-27,18:22:00,3846.00,3846.00,3846.00,3846.00,2,0
+2006-02-27,18:23:00,3846.00,3846.00,3846.00,3846.00,6,0
+2006-02-27,18:24:00,3846.00,3846.00,3845.00,3846.00,20,0
+2006-02-27,18:25:00,3846.00,3847.00,3846.00,3846.00,73,0
+2006-02-27,18:26:00,3847.00,3847.00,3846.00,3847.00,338,0
+2006-02-27,18:27:00,3848.00,3848.00,3848.00,3848.00,181,0
+2006-02-27,18:28:00,3847.00,3847.00,3847.00,3847.00,205,0
+2006-02-27,18:29:00,3846.00,3847.00,3846.00,3846.00,61,0
+2006-02-27,18:30:00,3846.00,3846.00,3846.00,3846.00,12,0
+2006-02-27,18:31:00,3846.00,3846.00,3846.00,3846.00,1,0
+2006-02-27,18:32:00,3846.00,3846.00,3845.00,3845.00,507,0
+2006-02-27,18:33:00,3846.00,3846.00,3846.00,3846.00,2,0
+2006-02-27,18:34:00,3845.00,3845.00,3845.00,3845.00,154,0
+2006-02-27,18:35:00,3845.00,3845.00,3845.00,3845.00,470,0
+2006-02-27,18:36:00,3844.00,3845.00,3844.00,3845.00,486,0
+2006-02-27,18:37:00,3845.00,3845.00,3844.00,3845.00,223,0
+2006-02-27,18:38:00,3845.00,3845.00,3845.00,3845.00,10,0
+2006-02-27,18:40:00,3845.00,3845.00,3844.00,3844.00,174,0
+2006-02-27,18:41:00,3845.00,3845.00,3843.00,3844.00,182,0
+2006-02-27,18:42:00,3844.00,3844.00,3844.00,3844.00,85,0
+2006-02-27,18:43:00,3844.00,3844.00,3844.00,3844.00,78,0
+2006-02-27,18:44:00,3844.00,3844.00,3842.00,3843.00,434,0
+2006-02-27,18:45:00,3843.00,3843.00,3843.00,3843.00,176,0
+2006-02-27,18:46:00,3842.00,3842.00,3841.00,3842.00,219,0
+2006-02-27,18:47:00,3842.00,3843.00,3842.00,3843.00,62,0
+2006-02-27,18:48:00,3842.00,3842.00,3842.00,3842.00,2,0
+2006-02-27,18:49:00,3842.00,3842.00,3841.00,3842.00,312,0
+2006-02-27,18:50:00,3843.00,3843.00,3842.00,3842.00,2,0
+2006-02-27,18:51:00,3843.00,3843.00,3843.00,3843.00,126,0
+2006-02-27,18:52:00,3843.00,3843.00,3842.00,3843.00,224,0
+2006-02-27,18:53:00,3843.00,3844.00,3843.00,3844.00,7,0
+2006-02-27,18:54:00,3844.00,3844.00,3843.00,3844.00,21,0
+2006-02-27,18:55:00,3843.00,3843.00,3843.00,3843.00,2,0
+2006-02-27,18:56:00,3843.00,3844.00,3843.00,3843.00,207,0
+2006-02-27,18:57:00,3843.00,3843.00,3843.00,3843.00,135,0
+2006-02-27,18:58:00,3843.00,3843.00,3843.00,3843.00,2,0
+2006-02-27,18:59:00,3843.00,3844.00,3843.00,3844.00,2,0
+2006-02-27,19:00:00,3843.00,3843.00,3843.00,3843.00,43,0
+2006-02-27,19:01:00,3844.00,3844.00,3843.00,3843.00,128,0
+2006-02-27,19:02:00,3843.00,3843.00,3843.00,3843.00,1,0
+2006-02-27,19:03:00,3844.00,3845.00,3844.00,3844.00,387,0
+2006-02-27,19:05:00,3844.00,3845.00,3844.00,3844.00,61,0
+2006-02-27,19:06:00,3843.00,3844.00,3843.00,3844.00,12,0
+2006-02-27,19:07:00,3844.00,3845.00,3844.00,3845.00,96,0
+2006-02-27,19:08:00,3844.00,3844.00,3844.00,3844.00,10,0
+2006-02-27,19:09:00,3844.00,3844.00,3843.00,3844.00,15,0
+2006-02-27,19:10:00,3843.00,3844.00,3843.00,3844.00,13,0
+2006-02-27,19:11:00,3844.00,3844.00,3844.00,3844.00,304,0
+2006-02-27,19:12:00,3843.00,3843.00,3843.00,3843.00,39,0
+2006-02-27,19:13:00,3843.00,3843.00,3843.00,3843.00,51,0
+2006-02-27,19:14:00,3844.00,3844.00,3844.00,3844.00,227,0
+2006-02-27,19:15:00,3844.00,3844.00,3844.00,3844.00,51,0
+2006-02-27,19:16:00,3844.00,3844.00,3843.00,3844.00,3,0
+2006-02-27,19:17:00,3843.00,3844.00,3843.00,3844.00,263,0
+2006-02-27,19:18:00,3844.00,3844.00,3844.00,3844.00,2,0
+2006-02-27,19:19:00,3843.00,3844.00,3842.00,3844.00,94,0
+2006-02-27,19:21:00,3843.00,3843.00,3842.00,3843.00,114,0
+2006-02-27,19:22:00,3842.00,3842.00,3842.00,3842.00,16,0
+2006-02-27,19:23:00,3842.00,3842.00,3842.00,3842.00,80,0
+2006-02-27,19:24:00,3842.00,3842.00,3840.00,3841.00,748,0
+2006-02-27,19:25:00,3841.00,3841.00,3841.00,3841.00,51,0
+2006-02-27,19:26:00,3841.00,3841.00,3840.00,3841.00,305,0
+2006-02-27,19:27:00,3841.00,3842.00,3841.00,3841.00,310,0
+2006-02-27,19:28:00,3842.00,3842.00,3842.00,3842.00,135,0
+2006-02-27,19:29:00,3842.00,3842.00,3842.00,3842.00,5,0
+2006-02-27,19:30:00,3842.00,3842.00,3841.00,3841.00,359,0
+2006-02-27,19:31:00,3842.00,3842.00,3842.00,3842.00,17,0
+2006-02-27,19:32:00,3841.00,3841.00,3841.00,3841.00,10,0
+2006-02-27,19:33:00,3842.00,3842.00,3842.00,3842.00,6,0
+2006-02-27,19:34:00,3842.00,3842.00,3842.00,3842.00,502,0
+2006-02-27,19:35:00,3842.00,3842.00,3842.00,3842.00,96,0
+2006-02-27,19:36:00,3843.00,3843.00,3842.00,3842.00,89,0
+2006-02-27,19:37:00,3842.00,3842.00,3842.00,3842.00,33,0
+2006-02-27,19:38:00,3842.00,3842.00,3842.00,3842.00,39,0
+2006-02-27,19:39:00,3842.00,3842.00,3842.00,3842.00,31,0
+2006-02-27,19:40:00,3842.00,3842.00,3842.00,3842.00,59,0
+2006-02-27,19:41:00,3842.00,3842.00,3841.00,3842.00,163,0
+2006-02-27,19:42:00,3842.00,3842.00,3841.00,3841.00,143,0
+2006-02-27,19:43:00,3842.00,3842.00,3842.00,3842.00,1,0
+2006-02-27,19:45:00,3841.00,3842.00,3841.00,3842.00,45,0
+2006-02-27,19:46:00,3841.00,3841.00,3841.00,3841.00,32,0
+2006-02-27,19:48:00,3841.00,3843.00,3841.00,3843.00,57,0
+2006-02-27,19:49:00,3843.00,3843.00,3843.00,3843.00,2,0
+2006-02-27,19:50:00,3843.00,3843.00,3843.00,3843.00,6,0
+2006-02-27,19:52:00,3843.00,3843.00,3843.00,3843.00,225,0
+2006-02-27,19:53:00,3843.00,3844.00,3843.00,3844.00,39,0
+2006-02-27,19:54:00,3844.00,3845.00,3844.00,3845.00,61,0
+2006-02-27,19:55:00,3845.00,3845.00,3845.00,3845.00,131,0
+2006-02-27,19:56:00,3845.00,3845.00,3844.00,3844.00,25,0
+2006-02-27,19:57:00,3844.00,3844.00,3843.00,3843.00,122,0
+2006-02-27,19:58:00,3844.00,3844.00,3844.00,3844.00,8,0
+2006-02-27,19:59:00,3844.00,3844.00,3844.00,3844.00,4,0
+2006-02-27,20:00:00,3844.00,3844.00,3844.00,3844.00,10,0
+2006-02-27,20:01:00,3844.00,3845.00,3844.00,3845.00,259,0
+2006-02-27,20:02:00,3845.00,3846.00,3845.00,3845.00,129,0
+2006-02-27,20:03:00,3844.00,3844.00,3844.00,3844.00,57,0
+2006-02-27,20:05:00,3844.00,3844.00,3843.00,3843.00,59,0
+2006-02-27,20:06:00,3843.00,3843.00,3843.00,3843.00,113,0
+2006-02-27,20:08:00,3843.00,3844.00,3843.00,3843.00,383,0
+2006-02-27,20:09:00,3842.00,3842.00,3842.00,3842.00,182,0
+2006-02-27,20:10:00,3841.00,3841.00,3840.00,3841.00,272,0
+2006-02-27,20:11:00,3841.00,3841.00,3839.00,3840.00,393,0
+2006-02-27,20:12:00,3839.00,3839.00,3839.00,3839.00,61,0
+2006-02-27,20:13:00,3839.00,3839.00,3839.00,3839.00,1,0
+2006-02-27,20:14:00,3840.00,3840.00,3840.00,3840.00,185,0
+2006-02-27,20:15:00,3840.00,3840.00,3839.00,3840.00,218,0
+2006-02-27,20:16:00,3840.00,3840.00,3840.00,3840.00,1,0
+2006-02-27,20:17:00,3840.00,3840.00,3839.00,3840.00,272,0
+2006-02-27,20:18:00,3840.00,3840.00,3840.00,3840.00,109,0
+2006-02-27,20:19:00,3840.00,3840.00,3840.00,3840.00,166,0
+2006-02-27,20:20:00,3840.00,3840.00,3840.00,3840.00,96,0
+2006-02-27,20:21:00,3840.00,3841.00,3840.00,3841.00,105,0
+2006-02-27,20:22:00,3840.00,3840.00,3840.00,3840.00,165,0
+2006-02-27,20:23:00,3840.00,3840.00,3839.00,3839.00,61,0
+2006-02-27,20:24:00,3840.00,3840.00,3840.00,3840.00,1,0
+2006-02-27,20:25:00,3839.00,3841.00,3839.00,3841.00,132,0
+2006-02-27,20:26:00,3840.00,3840.00,3840.00,3840.00,125,0
+2006-02-27,20:27:00,3841.00,3841.00,3841.00,3841.00,57,0
+2006-02-27,20:30:00,3841.00,3841.00,3841.00,3841.00,45,0
+2006-02-27,20:31:00,3842.00,3843.00,3842.00,3843.00,44,0
+2006-02-27,20:32:00,3843.00,3843.00,3842.00,3842.00,56,0
+2006-02-27,20:33:00,3842.00,3842.00,3842.00,3842.00,27,0
+2006-02-27,20:34:00,3842.00,3842.00,3842.00,3842.00,42,0
+2006-02-27,20:35:00,3842.00,3842.00,3842.00,3842.00,46,0
+2006-02-27,20:36:00,3842.00,3842.00,3842.00,3842.00,10,0
+2006-02-27,20:37:00,3842.00,3842.00,3842.00,3842.00,2,0
+2006-02-27,20:39:00,3842.00,3842.00,3842.00,3842.00,10,0
+2006-02-27,20:40:00,3843.00,3843.00,3842.00,3842.00,38,0
+2006-02-27,20:41:00,3841.00,3842.00,3841.00,3842.00,36,0
+2006-02-27,20:42:00,3843.00,3843.00,3843.00,3843.00,25,0
+2006-02-27,20:44:00,3843.00,3843.00,3842.00,3842.00,11,0
+2006-02-27,20:48:00,3843.00,3843.00,3843.00,3843.00,37,0
+2006-02-27,20:49:00,3844.00,3844.00,3844.00,3844.00,82,0
+2006-02-27,20:50:00,3844.00,3844.00,3843.00,3843.00,38,0
+2006-02-27,20:51:00,3843.00,3843.00,3843.00,3843.00,1,0
+2006-02-27,20:52:00,3843.00,3843.00,3843.00,3843.00,27,0
+2006-02-27,20:53:00,3843.00,3844.00,3842.00,3843.00,35,0
+2006-02-27,20:54:00,3842.00,3842.00,3842.00,3842.00,1,0
+2006-02-27,20:55:00,3843.00,3843.00,3842.00,3842.00,97,0
+2006-02-27,20:56:00,3842.00,3843.00,3842.00,3843.00,2,0
+2006-02-27,20:57:00,3842.00,3843.00,3842.00,3843.00,2,0
+2006-02-27,20:58:00,3843.00,3843.00,3843.00,3843.00,40,0
+2006-02-27,20:59:00,3844.00,3845.00,3843.00,3844.00,77,0
+2006-02-27,21:00:00,3844.00,3844.00,3844.00,3844.00,45,0
+2006-02-27,21:01:00,3844.00,3844.00,3844.00,3844.00,5,0
+2006-02-27,21:02:00,3845.00,3846.00,3845.00,3845.00,137,0
+2006-02-27,21:03:00,3845.00,3845.00,3845.00,3845.00,129,0
+2006-02-27,21:04:00,3845.00,3845.00,3845.00,3845.00,3,0
+2006-02-27,21:05:00,3845.00,3845.00,3845.00,3845.00,5,0
+2006-02-27,21:06:00,3845.00,3845.00,3845.00,3845.00,20,0
+2006-02-27,21:07:00,3845.00,3845.00,3845.00,3845.00,22,0
+2006-02-27,21:08:00,3845.00,3846.00,3845.00,3846.00,88,0
+2006-02-27,21:09:00,3846.00,3846.00,3846.00,3846.00,247,0
+2006-02-27,21:10:00,3845.00,3845.00,3845.00,3845.00,96,0
+2006-02-27,21:11:00,3845.00,3845.00,3845.00,3845.00,1,0
+2006-02-27,21:14:00,3844.00,3844.00,3844.00,3844.00,2,0
+2006-02-27,21:15:00,3844.00,3844.00,3844.00,3844.00,30,0
+2006-02-27,21:16:00,3844.00,3844.00,3844.00,3844.00,1,0
+2006-02-27,21:18:00,3844.00,3844.00,3844.00,3844.00,25,0
+2006-02-27,21:19:00,3844.00,3844.00,3844.00,3844.00,1,0
+2006-02-27,21:20:00,3844.00,3844.00,3844.00,3844.00,11,0
+2006-02-27,21:21:00,3845.00,3845.00,3844.00,3844.00,8,0
+2006-02-27,21:23:00,3843.00,3844.00,3843.00,3844.00,7,0
+2006-02-27,21:24:00,3844.00,3844.00,3844.00,3844.00,2,0
+2006-02-27,21:27:00,3844.00,3844.00,3844.00,3844.00,55,0
+2006-02-27,21:28:00,3845.00,3845.00,3845.00,3845.00,52,0
+2006-02-27,21:29:00,3845.00,3845.00,3844.00,3845.00,12,0
+2006-02-27,21:30:00,3844.00,3844.00,3843.00,3844.00,16,0
+2006-02-27,21:31:00,3845.00,3845.00,3845.00,3845.00,170,0
+2006-02-27,21:32:00,3845.00,3845.00,3845.00,3845.00,50,0
+2006-02-27,21:33:00,3845.00,3846.00,3845.00,3845.00,10,0
+2006-02-27,21:34:00,3845.00,3845.00,3845.00,3845.00,9,0
+2006-02-27,21:35:00,3844.00,3844.00,3843.00,3843.00,33,0
+2006-02-27,21:36:00,3843.00,3843.00,3843.00,3843.00,6,0
+2006-02-27,21:37:00,3844.00,3844.00,3844.00,3844.00,5,0
+2006-02-27,21:39:00,3843.00,3843.00,3842.00,3842.00,62,0
+2006-02-27,21:40:00,3842.00,3842.00,3842.00,3842.00,55,0
+2006-02-27,21:41:00,3843.00,3843.00,3842.00,3843.00,127,0
+2006-02-27,21:42:00,3843.00,3843.00,3843.00,3843.00,30,0
+2006-02-27,21:45:00,3843.00,3843.00,3842.00,3842.00,141,0
+2006-02-27,21:46:00,3842.00,3842.00,3841.00,3842.00,32,0
+2006-02-27,21:47:00,3842.00,3842.00,3841.00,3842.00,25,0
+2006-02-27,21:48:00,3842.00,3842.00,3842.00,3842.00,16,0
+2006-02-27,21:49:00,3842.00,3842.00,3842.00,3842.00,9,0
+2006-02-27,21:51:00,3842.00,3842.00,3842.00,3842.00,32,0
+2006-02-27,21:52:00,3842.00,3842.00,3841.00,3841.00,50,0
+2006-02-27,21:53:00,3841.00,3841.00,3841.00,3841.00,92,0
+2006-02-27,21:54:00,3842.00,3842.00,3841.00,3841.00,212,0
+2006-02-27,21:55:00,3841.00,3841.00,3840.00,3840.00,266,0
+2006-02-27,21:56:00,3840.00,3841.00,3840.00,3841.00,46,0
+2006-02-27,21:57:00,3841.00,3841.00,3841.00,3841.00,25,0
+2006-02-27,21:58:00,3841.00,3841.00,3840.00,3841.00,186,0
+2006-02-27,21:59:00,3841.00,3841.00,3840.00,3840.00,120,0
+2006-02-27,22:00:00,3840.00,3840.00,3838.00,3838.00,327,0
diff --git a/backtrader/source/datas/2006-day-001-optix.txt b/backtrader/source/datas/2006-day-001-optix.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d273bec233340fa9a25529423bf56f636ad1b7c9
--- /dev/null
+++ b/backtrader/source/datas/2006-day-001-optix.txt
@@ -0,0 +1,256 @@
+Date,Open,High,Low,Close,Volume,OpenInterest,Optix_Close,Optix_Pess,Optix_Opt
+2006-01-02,3578.73,3605.95,3578.73,3604.33,0,0,1.1,2.2,3.3
+2006-01-03,3604.08,3638.42,3601.84,3614.34,0,0,1.1,2.2,3.3
+2006-01-04,3615.23,3652.46,3615.23,3652.46,0,0,1.1,2.2,3.3
+2006-01-05,3652.19,3661.65,3643.17,3650.24,0,0,1.1,2.2,3.3
+2006-01-06,3650.54,3666.99,3647.66,3666.99,0,0,1.1,2.2,3.3
+2006-01-09,3667.10,3685.99,3667.10,3671.78,0,0,1.1,2.2,3.3
+2006-01-10,3671.23,3671.23,3638.77,3644.94,0,0,1.1,2.2,3.3
+2006-01-11,3645.73,3674.31,3645.73,3668.61,0,0,1.1,2.2,3.3
+2006-01-12,3667.16,3676.00,3656.99,3670.20,0,0,1.1,2.2,3.3
+2006-01-13,3670.27,3670.27,3618.06,3629.25,0,0,1.1,2.2,3.3
+2006-01-16,3628.73,3649.10,3621.03,3644.41,0,0,1.1,2.2,3.3
+2006-01-17,3639.57,3639.57,3606.54,3610.07,0,0,1.1,2.2,3.3
+2006-01-18,3609.34,3609.34,3550.16,3570.17,0,0,1.1,2.2,3.3
+2006-01-19,3572.19,3597.34,3572.19,3593.22,0,0,1.1,2.2,3.3
+2006-01-20,3593.16,3612.37,3550.80,3550.80,0,0,1.1,2.2,3.3
+2006-01-23,3550.24,3550.24,3515.07,3544.31,0,0,1.1,2.2,3.3
+2006-01-24,3544.78,3553.16,3526.37,3532.68,0,0,1.1,2.2,3.3
+2006-01-25,3532.72,3578.00,3532.72,3578.00,0,0,1.1,2.2,3.3
+2006-01-26,3578.92,3641.42,3577.98,3641.42,0,0,1.1,2.2,3.3
+2006-01-27,3643.35,3685.48,3643.35,3685.48,0,0,1.1,2.2,3.3
+2006-01-30,3684.38,3685.65,3664.45,3677.52,0,0,1.1,2.2,3.3
+2006-01-31,3676.71,3707.63,3671.67,3691.41,0,0,1.1,2.2,3.3
+2006-02-01,3686.16,3728.80,3674.89,3728.25,0,0,1.1,2.2,3.3
+2006-02-02,3728.92,3745.14,3677.05,3677.05,0,0,1.1,2.2,3.3
+2006-02-03,3677.05,3696.00,3652.76,3678.48,0,0,1.1,2.2,3.3
+2006-02-06,3678.87,3704.17,3672.53,3682.32,0,0,1.1,2.2,3.3
+2006-02-07,3682.97,3698.63,3656.20,3680.80,0,0,1.1,2.2,3.3
+2006-02-08,3680.05,3680.05,3637.93,3671.37,0,0,1.1,2.2,3.3
+2006-02-09,3672.34,3726.81,3672.34,3726.81,0,0,1.1,2.2,3.3
+2006-02-10,3725.18,3735.14,3692.63,3695.63,0,0,1.1,2.2,3.3
+2006-02-13,3696.09,3727.46,3684.83,3727.46,0,0,1.1,2.2,3.3
+2006-02-14,3728.16,3744.66,3707.25,3734.48,0,0,1.1,2.2,3.3
+2006-02-15,3733.97,3749.36,3720.41,3729.79,0,0,1.1,2.2,3.3
+2006-02-16,3730.82,3756.47,3730.82,3756.47,0,0,1.1,2.2,3.3
+2006-02-17,3757.34,3777.16,3749.94,3767.70,0,0,1.1,2.2,3.3
+2006-02-20,3767.11,3769.16,3749.88,3766.74,0,0,1.1,2.2,3.3
+2006-02-21,3767.21,3800.78,3767.21,3779.51,0,0,1.1,2.2,3.3
+2006-02-22,3778.02,3818.48,3771.06,3818.48,0,0,1.1,2.2,3.3
+2006-02-23,3819.56,3831.16,3796.21,3813.29,0,0,1.1,2.2,3.3
+2006-02-24,3812.76,3826.00,3805.55,3826.00,0,0,1.1,2.2,3.3
+2006-02-27,3828.99,3840.56,3819.65,3840.56,0,0,1.1,2.2,3.3
+2006-02-28,3840.31,3840.31,3769.25,3774.51,0,0,1.1,2.2,3.3
+2006-03-01,3775.23,3806.34,3772.49,3806.03,0,0,1.1,2.2,3.3
+2006-03-02,3807.30,3820.55,3745.46,3763.73,0,0,1.1,2.2,3.3
+2006-03-03,3763.95,3774.03,3715.35,3733.95,0,0,1.1,2.2,3.3
+2006-03-06,3737.58,3766.47,3737.58,3754.07,0,0,1.1,2.2,3.3
+2006-03-07,3751.30,3751.30,3719.92,3745.20,0,0,1.1,2.2,3.3
+2006-03-08,3745.10,3757.16,3702.04,3727.96,0,0,1.1,2.2,3.3
+2006-03-09,3736.61,3765.56,3736.61,3757.59,0,0,1.1,2.2,3.3
+2006-03-10,3754.13,3798.46,3741.51,3798.46,0,0,1.1,2.2,3.3
+2006-03-13,3801.03,3827.45,3801.03,3824.97,0,0,1.1,2.2,3.3
+2006-03-14,3823.18,3833.48,3808.96,3833.48,0,0,1.1,2.2,3.3
+2006-03-15,3834.11,3853.33,3834.11,3842.16,0,0,1.1,2.2,3.3
+2006-03-16,3844.15,3847.88,3822.56,3839.71,0,0,1.1,2.2,3.3
+2006-03-17,3840.20,3874.64,3820.50,3832.43,0,0,1.1,2.2,3.3
+2006-03-20,3833.25,3863.95,3833.11,3842.03,0,0,1.1,2.2,3.3
+2006-03-21,3842.49,3848.17,3811.02,3848.17,0,0,1.1,2.2,3.3
+2006-03-22,3840.27,3872.62,3827.40,3868.48,0,0,1.1,2.2,3.3
+2006-03-23,3869.22,3878.49,3850.46,3860.13,0,0,1.1,2.2,3.3
+2006-03-24,3859.58,3875.01,3853.43,3870.89,0,0,1.1,2.2,3.3
+2006-03-27,3872.28,3872.28,3826.49,3828.53,0,0,1.1,2.2,3.3
+2006-03-28,3829.82,3846.52,3799.04,3811.45,0,0,1.1,2.2,3.3
+2006-03-29,3811.85,3830.70,3799.12,3826.30,0,0,1.1,2.2,3.3
+2006-03-30,3835.21,3881.69,3835.21,3874.61,0,0,1.1,2.2,3.3
+2006-03-31,3872.37,3872.37,3840.64,3853.74,0,0,1.1,2.2,3.3
+2006-04-03,3859.99,3881.11,3857.23,3878.64,0,0,1.1,2.2,3.3
+2006-04-04,3875.08,3875.08,3843.18,3850.11,0,0,1.1,2.2,3.3
+2006-04-05,3853.28,3865.82,3835.35,3863.92,0,0,1.1,2.2,3.3
+2006-04-06,3866.01,3879.70,3848.73,3861.29,0,0,1.1,2.2,3.3
+2006-04-07,3860.03,3874.59,3822.26,3823.11,0,0,1.1,2.2,3.3
+2006-04-10,3822.35,3843.52,3813.80,3843.52,0,0,1.1,2.2,3.3
+2006-04-11,3840.89,3843.62,3781.99,3788.81,0,0,1.1,2.2,3.3
+2006-04-12,3786.93,3791.15,3753.47,3776.94,0,0,1.1,2.2,3.3
+2006-04-13,3777.24,3787.52,3755.69,3779.94,0,0,1.1,2.2,3.3
+2006-04-18,3779.23,3779.23,3749.71,3770.79,0,0,1.1,2.2,3.3
+2006-04-19,3778.46,3825.18,3778.46,3820.96,0,0,1.1,2.2,3.3
+2006-04-20,3820.93,3878.29,3820.93,3860.00,0,0,1.1,2.2,3.3
+2006-04-21,3863.57,3892.35,3863.57,3888.46,0,0,1.1,2.2,3.3
+2006-04-24,3884.57,3884.57,3858.67,3862.27,0,0,1.1,2.2,3.3
+2006-04-25,3864.64,3888.65,3860.61,3871.09,0,0,1.1,2.2,3.3
+2006-04-26,3873.67,3892.16,3873.06,3887.00,0,0,1.1,2.2,3.3
+2006-04-27,3889.43,3889.43,3832.10,3865.42,0,0,1.1,2.2,3.3
+2006-04-28,3865.91,3865.91,3833.74,3839.90,0,0,1.1,2.2,3.3
+2006-05-02,3839.24,3864.19,3830.96,3862.24,0,0,1.1,2.2,3.3
+2006-05-03,3865.29,3879.31,3817.60,3821.97,0,0,1.1,2.2,3.3
+2006-05-04,3822.57,3843.66,3806.35,3843.08,0,0,1.1,2.2,3.3
+2006-05-05,3845.32,3874.32,3836.65,3874.32,0,0,1.1,2.2,3.3
+2006-05-08,3877.74,3897.40,3872.67,3877.53,0,0,1.1,2.2,3.3
+2006-05-09,3879.59,3890.94,3866.35,3890.94,0,0,1.1,2.2,3.3
+2006-05-10,3883.38,3889.78,3863.56,3863.56,0,0,1.1,2.2,3.3
+2006-05-11,3864.02,3894.60,3836.67,3837.86,0,0,1.1,2.2,3.3
+2006-05-12,3829.82,3829.82,3750.44,3750.44,0,0,1.1,2.2,3.3
+2006-05-15,3746.40,3746.40,3680.95,3711.16,0,0,1.1,2.2,3.3
+2006-05-16,3711.46,3750.12,3692.35,3730.36,0,0,1.1,2.2,3.3
+2006-05-17,3734.32,3750.42,3605.19,3605.37,0,0,1.1,2.2,3.3
+2006-05-18,3607.41,3649.54,3558.27,3606.33,0,0,1.1,2.2,3.3
+2006-05-19,3608.26,3638.38,3601.68,3625.33,0,0,1.1,2.2,3.3
+2006-05-22,3622.35,3622.35,3527.05,3539.77,0,0,1.1,2.2,3.3
+2006-05-23,3541.56,3637.39,3541.56,3620.28,0,0,1.1,2.2,3.3
+2006-05-24,3617.11,3617.11,3542.93,3574.86,0,0,1.1,2.2,3.3
+2006-05-25,3579.36,3635.00,3555.18,3635.00,0,0,1.1,2.2,3.3
+2006-05-26,3647.15,3699.80,3646.42,3699.80,0,0,1.1,2.2,3.3
+2006-05-29,3696.48,3696.48,3677.02,3679.57,0,0,1.1,2.2,3.3
+2006-05-30,3677.67,3683.30,3581.65,3590.91,0,0,1.1,2.2,3.3
+2006-05-31,3581.80,3641.83,3542.41,3637.17,0,0,1.1,2.2,3.3
+2006-06-01,3634.82,3652.84,3595.27,3648.33,0,0,1.1,2.2,3.3
+2006-06-02,3656.43,3688.89,3622.96,3636.89,0,0,1.1,2.2,3.3
+2006-06-05,3636.83,3638.59,3592.71,3604.33,0,0,1.1,2.2,3.3
+2006-06-06,3598.58,3598.58,3519.86,3529.10,0,0,1.1,2.2,3.3
+2006-06-07,3536.39,3575.67,3512.25,3562.36,0,0,1.1,2.2,3.3
+2006-06-08,3556.87,3556.87,3462.37,3462.37,0,0,1.1,2.2,3.3
+2006-06-09,3470.27,3531.70,3470.27,3520.99,0,0,1.1,2.2,3.3
+2006-06-12,3519.43,3528.27,3477.06,3480.76,0,0,1.1,2.2,3.3
+2006-06-13,3476.33,3476.33,3392.75,3408.02,0,0,1.1,2.2,3.3
+2006-06-14,3410.79,3433.72,3379.66,3414.21,0,0,1.1,2.2,3.3
+2006-06-15,3423.23,3496.64,3423.23,3493.25,0,0,1.1,2.2,3.3
+2006-06-16,3508.39,3544.27,3459.56,3463.56,0,0,1.1,2.2,3.3
+2006-06-19,3469.88,3520.51,3469.88,3490.24,0,0,1.1,2.2,3.3
+2006-06-20,3474.60,3514.83,3453.14,3514.83,0,0,1.1,2.2,3.3
+2006-06-21,3519.86,3526.86,3476.22,3526.84,0,0,1.1,2.2,3.3
+2006-06-22,3542.65,3571.24,3523.72,3544.85,0,0,1.1,2.2,3.3
+2006-06-23,3545.60,3564.06,3530.00,3550.15,0,0,1.1,2.2,3.3
+2006-06-26,3554.07,3566.55,3528.59,3534.84,0,0,1.1,2.2,3.3
+2006-06-27,3540.49,3555.94,3500.72,3506.93,0,0,1.1,2.2,3.3
+2006-06-28,3503.30,3526.09,3484.71,3506.07,0,0,1.1,2.2,3.3
+2006-06-29,3519.54,3583.90,3519.54,3582.61,0,0,1.1,2.2,3.3
+2006-06-30,3592.01,3655.02,3592.01,3648.92,0,0,1.1,2.2,3.3
+2006-07-03,3648.91,3662.92,3639.07,3662.92,0,0,1.1,2.2,3.3
+2006-07-04,3664.59,3670.75,3646.04,3670.75,0,0,1.1,2.2,3.3
+2006-07-05,3656.71,3656.71,3607.81,3618.64,0,0,1.1,2.2,3.3
+2006-07-06,3624.02,3665.54,3624.02,3662.39,0,0,1.1,2.2,3.3
+2006-07-07,3657.00,3670.45,3627.02,3651.33,0,0,1.1,2.2,3.3
+2006-07-10,3645.42,3671.09,3621.34,3666.51,0,0,1.1,2.2,3.3
+2006-07-11,3656.57,3656.65,3609.05,3617.78,0,0,1.1,2.2,3.3
+2006-07-12,3632.02,3662.83,3622.26,3630.50,0,0,1.1,2.2,3.3
+2006-07-13,3617.55,3617.55,3552.52,3562.56,0,0,1.1,2.2,3.3
+2006-07-14,3545.92,3552.04,3508.25,3508.25,0,0,1.1,2.2,3.3
+2006-07-17,3512.22,3518.34,3462.77,3498.62,0,0,1.1,2.2,3.3
+2006-07-18,3491.81,3516.31,3475.98,3492.11,0,0,1.1,2.2,3.3
+2006-07-19,3497.48,3585.65,3497.48,3585.65,0,0,1.1,2.2,3.3
+2006-07-20,3593.87,3612.48,3580.86,3589.63,0,0,1.1,2.2,3.3
+2006-07-21,3580.53,3590.68,3546.24,3557.08,0,0,1.1,2.2,3.3
+2006-07-24,3559.34,3633.50,3559.34,3632.93,0,0,1.1,2.2,3.3
+2006-07-25,3639.65,3651.74,3621.71,3631.50,0,0,1.1,2.2,3.3
+2006-07-26,3635.17,3647.02,3625.07,3640.75,0,0,1.1,2.2,3.3
+2006-07-27,3649.29,3681.55,3649.29,3681.55,0,0,1.1,2.2,3.3
+2006-07-28,3671.71,3711.41,3659.67,3710.60,0,0,1.1,2.2,3.3
+2006-07-31,3708.82,3711.52,3688.22,3691.87,0,0,1.1,2.2,3.3
+2006-08-01,3687.82,3696.52,3632.51,3640.60,0,0,1.1,2.2,3.3
+2006-08-02,3655.93,3696.77,3655.93,3696.35,0,0,1.1,2.2,3.3
+2006-08-03,3695.86,3703.38,3647.96,3667.91,0,0,1.1,2.2,3.3
+2006-08-04,3677.44,3729.29,3677.44,3718.09,0,0,1.1,2.2,3.3
+2006-08-07,3707.49,3707.49,3654.09,3659.03,0,0,1.1,2.2,3.3
+2006-08-08,3672.22,3684.78,3654.51,3668.10,0,0,1.1,2.2,3.3
+2006-08-09,3674.04,3712.22,3651.29,3707.19,0,0,1.1,2.2,3.3
+2006-08-10,3686.63,3686.63,3638.55,3675.44,0,0,1.1,2.2,3.3
+2006-08-11,3682.86,3698.24,3659.10,3675.10,0,0,1.1,2.2,3.3
+2006-08-14,3690.09,3720.39,3690.09,3719.11,0,0,1.1,2.2,3.3
+2006-08-15,3712.47,3773.87,3706.87,3766.38,0,0,1.1,2.2,3.3
+2006-08-16,3767.86,3798.63,3765.45,3790.94,0,0,1.1,2.2,3.3
+2006-08-17,3792.00,3801.01,3779.32,3800.10,0,0,1.1,2.2,3.3
+2006-08-18,3798.33,3807.48,3781.99,3791.40,0,0,1.1,2.2,3.3
+2006-08-21,3789.99,3790.58,3765.38,3777.25,0,0,1.1,2.2,3.3
+2006-08-22,3788.55,3797.51,3754.38,3792.55,0,0,1.1,2.2,3.3
+2006-08-23,3793.49,3793.49,3753.04,3758.98,0,0,1.1,2.2,3.3
+2006-08-24,3761.86,3796.84,3743.26,3781.87,0,0,1.1,2.2,3.3
+2006-08-25,3784.01,3797.91,3766.21,3781.17,0,0,1.1,2.2,3.3
+2006-08-28,3778.79,3811.84,3758.87,3808.57,0,0,1.1,2.2,3.3
+2006-08-29,3810.18,3829.39,3800.05,3806.81,0,0,1.1,2.2,3.3
+2006-08-30,3815.88,3829.40,3809.02,3817.86,0,0,1.1,2.2,3.3
+2006-08-31,3823.70,3828.06,3802.39,3808.70,0,0,1.1,2.2,3.3
+2006-09-01,3808.99,3836.22,3808.99,3820.89,0,0,1.1,2.2,3.3
+2006-09-04,3824.02,3839.30,3824.02,3837.61,0,0,1.1,2.2,3.3
+2006-09-05,3835.82,3835.82,3801.14,3817.76,0,0,1.1,2.2,3.3
+2006-09-06,3818.12,3818.36,3765.73,3772.21,0,0,1.1,2.2,3.3
+2006-09-07,3766.80,3766.80,3729.77,3739.70,0,0,1.1,2.2,3.3
+2006-09-08,3745.99,3762.09,3736.31,3750.08,0,0,1.1,2.2,3.3
+2006-09-11,3745.78,3745.78,3709.81,3742.06,0,0,1.1,2.2,3.3
+2006-09-12,3744.91,3792.73,3729.36,3788.96,0,0,1.1,2.2,3.3
+2006-09-13,3799.86,3810.07,3787.11,3805.55,0,0,1.1,2.2,3.3
+2006-09-14,3809.08,3824.77,3786.70,3796.65,0,0,1.1,2.2,3.3
+2006-09-15,3800.99,3825.15,3789.18,3812.11,0,0,1.1,2.2,3.3
+2006-09-18,3813.73,3823.92,3790.83,3808.47,0,0,1.1,2.2,3.3
+2006-09-19,3807.67,3811.25,3770.36,3780.18,0,0,1.1,2.2,3.3
+2006-09-20,3782.15,3843.26,3775.48,3841.31,0,0,1.1,2.2,3.3
+2006-09-21,3840.20,3867.74,3831.23,3857.14,0,0,1.1,2.2,3.3
+2006-09-22,3839.51,3839.65,3800.65,3812.73,0,0,1.1,2.2,3.3
+2006-09-25,3815.13,3842.67,3802.47,3822.12,0,0,1.1,2.2,3.3
+2006-09-26,3838.00,3877.79,3838.00,3872.92,0,0,1.1,2.2,3.3
+2006-09-27,3877.55,3899.04,3871.12,3896.18,0,0,1.1,2.2,3.3
+2006-09-28,3893.86,3907.41,3885.32,3894.98,0,0,1.1,2.2,3.3
+2006-09-29,3898.07,3921.15,3894.87,3899.41,0,0,1.1,2.2,3.3
+2006-10-02,3902.03,3917.40,3875.76,3892.48,0,0,1.1,2.2,3.3
+2006-10-03,3886.09,3886.09,3858.87,3880.14,0,0,1.1,2.2,3.3
+2006-10-04,3884.39,3914.73,3883.38,3914.73,0,0,1.1,2.2,3.3
+2006-10-05,3921.17,3949.47,3921.17,3939.86,0,0,1.1,2.2,3.3
+2006-10-06,3939.28,3950.06,3919.88,3940.31,0,0,1.1,2.2,3.3
+2006-10-09,3932.33,3942.17,3921.81,3939.48,0,0,1.1,2.2,3.3
+2006-10-10,3946.55,3963.20,3943.35,3960.67,0,0,1.1,2.2,3.3
+2006-10-11,3956.15,3969.72,3939.78,3967.39,0,0,1.1,2.2,3.3
+2006-10-12,3966.39,4000.49,3964.44,3999.93,0,0,1.1,2.2,3.3
+2006-10-13,4002.28,4008.67,3986.41,3999.07,0,0,1.1,2.2,3.3
+2006-10-16,4000.30,4007.38,3987.52,4001.97,0,0,1.1,2.2,3.3
+2006-10-17,3993.04,3993.33,3947.39,3949.57,0,0,1.1,2.2,3.3
+2006-10-18,3958.29,4007.17,3958.29,3991.38,0,0,1.1,2.2,3.3
+2006-10-19,3986.30,4000.76,3967.98,3986.82,0,0,1.1,2.2,3.3
+2006-10-20,3991.86,4016.63,3981.18,3998.19,0,0,1.1,2.2,3.3
+2006-10-23,4001.63,4024.75,3982.02,4019.02,0,0,1.1,2.2,3.3
+2006-10-24,4018.21,4022.87,4003.96,4014.01,0,0,1.1,2.2,3.3
+2006-10-25,4011.18,4025.56,4004.86,4019.14,0,0,1.1,2.2,3.3
+2006-10-26,4026.47,4047.54,4019.98,4027.29,0,0,1.1,2.2,3.3
+2006-10-27,4029.07,4039.77,3998.43,4017.27,0,0,1.1,2.2,3.3
+2006-10-30,4007.26,4007.26,3979.81,4004.92,0,0,1.1,2.2,3.3
+2006-10-31,4003.92,4019.84,3990.01,4004.80,0,0,1.1,2.2,3.3
+2006-11-01,4003.80,4029.57,3999.78,4014.34,0,0,1.1,2.2,3.3
+2006-11-02,4003.97,4010.72,3961.64,3974.62,0,0,1.1,2.2,3.3
+2006-11-03,3979.73,4010.44,3971.83,3990.46,0,0,1.1,2.2,3.3
+2006-11-06,3991.47,4045.22,3991.47,4045.22,0,0,1.1,2.2,3.3
+2006-11-07,4047.63,4075.99,4045.52,4072.86,0,0,1.1,2.2,3.3
+2006-11-08,4064.92,4078.99,4047.19,4073.81,0,0,1.1,2.2,3.3
+2006-11-09,4071.17,4081.70,4059.21,4073.00,0,0,1.1,2.2,3.3
+2006-11-10,4067.10,4072.42,4048.97,4063.84,0,0,1.1,2.2,3.3
+2006-11-13,4063.01,4095.55,4059.51,4086.14,0,0,1.1,2.2,3.3
+2006-11-14,4087.11,4097.05,4068.51,4084.33,0,0,1.1,2.2,3.3
+2006-11-15,4089.39,4110.53,4089.39,4108.83,0,0,1.1,2.2,3.3
+2006-11-16,4107.71,4116.79,4096.67,4109.71,0,0,1.1,2.2,3.3
+2006-11-17,4106.78,4107.24,4066.05,4078.36,0,0,1.1,2.2,3.3
+2006-11-20,4074.59,4101.04,4049.44,4096.74,0,0,1.1,2.2,3.3
+2006-11-21,4095.27,4112.27,4090.91,4096.06,0,0,1.1,2.2,3.3
+2006-11-22,4105.91,4118.40,4084.71,4094.97,0,0,1.1,2.2,3.3
+2006-11-23,4099.96,4105.18,4070.31,4085.76,0,0,1.1,2.2,3.3
+2006-11-24,4076.14,4078.44,4028.30,4048.16,0,0,1.1,2.2,3.3
+2006-11-27,4045.05,4053.68,3978.25,3978.25,0,0,1.1,2.2,3.3
+2006-11-28,3976.16,3990.75,3951.94,3975.11,0,0,1.1,2.2,3.3
+2006-11-29,3983.51,4023.89,3983.51,4023.09,0,0,1.1,2.2,3.3
+2006-11-30,4027.46,4036.72,3983.05,3987.23,0,0,1.1,2.2,3.3
+2006-12-01,3993.03,4011.96,3914.46,3932.09,0,0,1.1,2.2,3.3
+2006-12-04,3935.81,3965.16,3927.40,3962.93,0,0,1.1,2.2,3.3
+2006-12-05,3966.61,4014.55,3961.06,4007.94,0,0,1.1,2.2,3.3
+2006-12-06,4007.75,4015.80,3987.15,4002.31,0,0,1.1,2.2,3.3
+2006-12-07,3997.09,4039.25,3991.84,4018.69,0,0,1.1,2.2,3.3
+2006-12-08,4011.63,4028.14,3980.66,4019.89,0,0,1.1,2.2,3.3
+2006-12-11,4024.14,4055.74,4024.14,4052.89,0,0,1.1,2.2,3.3
+2006-12-12,4052.55,4062.20,4044.02,4059.74,0,0,1.1,2.2,3.3
+2006-12-13,4063.14,4096.28,4054.64,4094.33,0,0,1.1,2.2,3.3
+2006-12-14,4100.49,4122.89,4099.98,4118.84,0,0,1.1,2.2,3.3
+2006-12-15,4119.08,4147.38,4119.08,4140.66,0,0,1.1,2.2,3.3
+2006-12-18,4140.99,4141.46,4129.65,4130.06,0,0,1.1,2.2,3.3
+2006-12-19,4121.01,4121.01,4085.18,4100.48,0,0,1.1,2.2,3.3
+2006-12-20,4108.30,4130.80,4108.30,4118.54,0,0,1.1,2.2,3.3
+2006-12-21,4111.85,4125.27,4104.46,4112.10,0,0,1.1,2.2,3.3
+2006-12-22,4109.86,4109.86,4072.62,4073.50,0,0,1.1,2.2,3.3
+2006-12-27,4079.70,4134.86,4079.70,4134.86,0,0,1.1,2.2,3.3
+2006-12-28,4137.44,4142.06,4125.14,4130.66,0,0,1.1,2.2,3.3
+2006-12-29,4130.12,4142.01,4119.94,4119.94,0,0,1.1,2.2,3.3
diff --git a/backtrader/source/datas/2006-day-001.txt b/backtrader/source/datas/2006-day-001.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c7f44e2695fea0026123efc257bfa0bdc714d243
--- /dev/null
+++ b/backtrader/source/datas/2006-day-001.txt
@@ -0,0 +1,256 @@
+Date,Open,High,Low,Close,Volume,OpenInterest
+2006-01-02,3578.73,3605.95,3578.73,3604.33,0,0
+2006-01-03,3604.08,3638.42,3601.84,3614.34,0,0
+2006-01-04,3615.23,3652.46,3615.23,3652.46,0,0
+2006-01-05,3652.19,3661.65,3643.17,3650.24,0,0
+2006-01-06,3650.54,3666.99,3647.66,3666.99,0,0
+2006-01-09,3667.10,3685.99,3667.10,3671.78,0,0
+2006-01-10,3671.23,3671.23,3638.77,3644.94,0,0
+2006-01-11,3645.73,3674.31,3645.73,3668.61,0,0
+2006-01-12,3667.16,3676.00,3656.99,3670.20,0,0
+2006-01-13,3670.27,3670.27,3618.06,3629.25,0,0
+2006-01-16,3628.73,3649.10,3621.03,3644.41,0,0
+2006-01-17,3639.57,3639.57,3606.54,3610.07,0,0
+2006-01-18,3609.34,3609.34,3550.16,3570.17,0,0
+2006-01-19,3572.19,3597.34,3572.19,3593.22,0,0
+2006-01-20,3593.16,3612.37,3550.80,3550.80,0,0
+2006-01-23,3550.24,3550.24,3515.07,3544.31,0,0
+2006-01-24,3544.78,3553.16,3526.37,3532.68,0,0
+2006-01-25,3532.72,3578.00,3532.72,3578.00,0,0
+2006-01-26,3578.92,3641.42,3577.98,3641.42,0,0
+2006-01-27,3643.35,3685.48,3643.35,3685.48,0,0
+2006-01-30,3684.38,3685.65,3664.45,3677.52,0,0
+2006-01-31,3676.71,3707.63,3671.67,3691.41,0,0
+2006-02-01,3686.16,3728.80,3674.89,3728.25,0,0
+2006-02-02,3728.92,3745.14,3677.05,3677.05,0,0
+2006-02-03,3677.05,3696.00,3652.76,3678.48,0,0
+2006-02-06,3678.87,3704.17,3672.53,3682.32,0,0
+2006-02-07,3682.97,3698.63,3656.20,3680.80,0,0
+2006-02-08,3680.05,3680.05,3637.93,3671.37,0,0
+2006-02-09,3672.34,3726.81,3672.34,3726.81,0,0
+2006-02-10,3725.18,3735.14,3692.63,3695.63,0,0
+2006-02-13,3696.09,3727.46,3684.83,3727.46,0,0
+2006-02-14,3728.16,3744.66,3707.25,3734.48,0,0
+2006-02-15,3733.97,3749.36,3720.41,3729.79,0,0
+2006-02-16,3730.82,3756.47,3730.82,3756.47,0,0
+2006-02-17,3757.34,3777.16,3749.94,3767.70,0,0
+2006-02-20,3767.11,3769.16,3749.88,3766.74,0,0
+2006-02-21,3767.21,3800.78,3767.21,3779.51,0,0
+2006-02-22,3778.02,3818.48,3771.06,3818.48,0,0
+2006-02-23,3819.56,3831.16,3796.21,3813.29,0,0
+2006-02-24,3812.76,3826.00,3805.55,3826.00,0,0
+2006-02-27,3828.99,3840.56,3819.65,3840.56,0,0
+2006-02-28,3840.31,3840.31,3769.25,3774.51,0,0
+2006-03-01,3775.23,3806.34,3772.49,3806.03,0,0
+2006-03-02,3807.30,3820.55,3745.46,3763.73,0,0
+2006-03-03,3763.95,3774.03,3715.35,3733.95,0,0
+2006-03-06,3737.58,3766.47,3737.58,3754.07,0,0
+2006-03-07,3751.30,3751.30,3719.92,3745.20,0,0
+2006-03-08,3745.10,3757.16,3702.04,3727.96,0,0
+2006-03-09,3736.61,3765.56,3736.61,3757.59,0,0
+2006-03-10,3754.13,3798.46,3741.51,3798.46,0,0
+2006-03-13,3801.03,3827.45,3801.03,3824.97,0,0
+2006-03-14,3823.18,3833.48,3808.96,3833.48,0,0
+2006-03-15,3834.11,3853.33,3834.11,3842.16,0,0
+2006-03-16,3844.15,3847.88,3822.56,3839.71,0,0
+2006-03-17,3840.20,3874.64,3820.50,3832.43,0,0
+2006-03-20,3833.25,3863.95,3833.11,3842.03,0,0
+2006-03-21,3842.49,3848.17,3811.02,3848.17,0,0
+2006-03-22,3840.27,3872.62,3827.40,3868.48,0,0
+2006-03-23,3869.22,3878.49,3850.46,3860.13,0,0
+2006-03-24,3859.58,3875.01,3853.43,3870.89,0,0
+2006-03-27,3872.28,3872.28,3826.49,3828.53,0,0
+2006-03-28,3829.82,3846.52,3799.04,3811.45,0,0
+2006-03-29,3811.85,3830.70,3799.12,3826.30,0,0
+2006-03-30,3835.21,3881.69,3835.21,3874.61,0,0
+2006-03-31,3872.37,3872.37,3840.64,3853.74,0,0
+2006-04-03,3859.99,3881.11,3857.23,3878.64,0,0
+2006-04-04,3875.08,3875.08,3843.18,3850.11,0,0
+2006-04-05,3853.28,3865.82,3835.35,3863.92,0,0
+2006-04-06,3866.01,3879.70,3848.73,3861.29,0,0
+2006-04-07,3860.03,3874.59,3822.26,3823.11,0,0
+2006-04-10,3822.35,3843.52,3813.80,3843.52,0,0
+2006-04-11,3840.89,3843.62,3781.99,3788.81,0,0
+2006-04-12,3786.93,3791.15,3753.47,3776.94,0,0
+2006-04-13,3777.24,3787.52,3755.69,3779.94,0,0
+2006-04-18,3779.23,3779.23,3749.71,3770.79,0,0
+2006-04-19,3778.46,3825.18,3778.46,3820.96,0,0
+2006-04-20,3820.93,3878.29,3820.93,3860.00,0,0
+2006-04-21,3863.57,3892.35,3863.57,3888.46,0,0
+2006-04-24,3884.57,3884.57,3858.67,3862.27,0,0
+2006-04-25,3864.64,3888.65,3860.61,3871.09,0,0
+2006-04-26,3873.67,3892.16,3873.06,3887.00,0,0
+2006-04-27,3889.43,3889.43,3832.10,3865.42,0,0
+2006-04-28,3865.91,3865.91,3833.74,3839.90,0,0
+2006-05-02,3839.24,3864.19,3830.96,3862.24,0,0
+2006-05-03,3865.29,3879.31,3817.60,3821.97,0,0
+2006-05-04,3822.57,3843.66,3806.35,3843.08,0,0
+2006-05-05,3845.32,3874.32,3836.65,3874.32,0,0
+2006-05-08,3877.74,3897.40,3872.67,3877.53,0,0
+2006-05-09,3879.59,3890.94,3866.35,3890.94,0,0
+2006-05-10,3883.38,3889.78,3863.56,3863.56,0,0
+2006-05-11,3864.02,3894.60,3836.67,3837.86,0,0
+2006-05-12,3829.82,3829.82,3750.44,3750.44,0,0
+2006-05-15,3746.40,3746.40,3680.95,3711.16,0,0
+2006-05-16,3711.46,3750.12,3692.35,3730.36,0,0
+2006-05-17,3734.32,3750.42,3605.19,3605.37,0,0
+2006-05-18,3607.41,3649.54,3558.27,3606.33,0,0
+2006-05-19,3608.26,3638.38,3601.68,3625.33,0,0
+2006-05-22,3622.35,3622.35,3527.05,3539.77,0,0
+2006-05-23,3541.56,3637.39,3541.56,3620.28,0,0
+2006-05-24,3617.11,3617.11,3542.93,3574.86,0,0
+2006-05-25,3579.36,3635.00,3555.18,3635.00,0,0
+2006-05-26,3647.15,3699.80,3646.42,3699.80,0,0
+2006-05-29,3696.48,3696.48,3677.02,3679.57,0,0
+2006-05-30,3677.67,3683.30,3581.65,3590.91,0,0
+2006-05-31,3581.80,3641.83,3542.41,3637.17,0,0
+2006-06-01,3634.82,3652.84,3595.27,3648.33,0,0
+2006-06-02,3656.43,3688.89,3622.96,3636.89,0,0
+2006-06-05,3636.83,3638.59,3592.71,3604.33,0,0
+2006-06-06,3598.58,3598.58,3519.86,3529.10,0,0
+2006-06-07,3536.39,3575.67,3512.25,3562.36,0,0
+2006-06-08,3556.87,3556.87,3462.37,3462.37,0,0
+2006-06-09,3470.27,3531.70,3470.27,3520.99,0,0
+2006-06-12,3519.43,3528.27,3477.06,3480.76,0,0
+2006-06-13,3476.33,3476.33,3392.75,3408.02,0,0
+2006-06-14,3410.79,3433.72,3379.66,3414.21,0,0
+2006-06-15,3423.23,3496.64,3423.23,3493.25,0,0
+2006-06-16,3508.39,3544.27,3459.56,3463.56,0,0
+2006-06-19,3469.88,3520.51,3469.88,3490.24,0,0
+2006-06-20,3474.60,3514.83,3453.14,3514.83,0,0
+2006-06-21,3519.86,3526.86,3476.22,3526.84,0,0
+2006-06-22,3542.65,3571.24,3523.72,3544.85,0,0
+2006-06-23,3545.60,3564.06,3530.00,3550.15,0,0
+2006-06-26,3554.07,3566.55,3528.59,3534.84,0,0
+2006-06-27,3540.49,3555.94,3500.72,3506.93,0,0
+2006-06-28,3503.30,3526.09,3484.71,3506.07,0,0
+2006-06-29,3519.54,3583.90,3519.54,3582.61,0,0
+2006-06-30,3592.01,3655.02,3592.01,3648.92,0,0
+2006-07-03,3648.91,3662.92,3639.07,3662.92,0,0
+2006-07-04,3664.59,3670.75,3646.04,3670.75,0,0
+2006-07-05,3656.71,3656.71,3607.81,3618.64,0,0
+2006-07-06,3624.02,3665.54,3624.02,3662.39,0,0
+2006-07-07,3657.00,3670.45,3627.02,3651.33,0,0
+2006-07-10,3645.42,3671.09,3621.34,3666.51,0,0
+2006-07-11,3656.57,3656.65,3609.05,3617.78,0,0
+2006-07-12,3632.02,3662.83,3622.26,3630.50,0,0
+2006-07-13,3617.55,3617.55,3552.52,3562.56,0,0
+2006-07-14,3545.92,3552.04,3508.25,3508.25,0,0
+2006-07-17,3512.22,3518.34,3462.77,3498.62,0,0
+2006-07-18,3491.81,3516.31,3475.98,3492.11,0,0
+2006-07-19,3497.48,3585.65,3497.48,3585.65,0,0
+2006-07-20,3593.87,3612.48,3580.86,3589.63,0,0
+2006-07-21,3580.53,3590.68,3546.24,3557.08,0,0
+2006-07-24,3559.34,3633.50,3559.34,3632.93,0,0
+2006-07-25,3639.65,3651.74,3621.71,3631.50,0,0
+2006-07-26,3635.17,3647.02,3625.07,3640.75,0,0
+2006-07-27,3649.29,3681.55,3649.29,3681.55,0,0
+2006-07-28,3671.71,3711.41,3659.67,3710.60,0,0
+2006-07-31,3708.82,3711.52,3688.22,3691.87,0,0
+2006-08-01,3687.82,3696.52,3632.51,3640.60,0,0
+2006-08-02,3655.93,3696.77,3655.93,3696.35,0,0
+2006-08-03,3695.86,3703.38,3647.96,3667.91,0,0
+2006-08-04,3677.44,3729.29,3677.44,3718.09,0,0
+2006-08-07,3707.49,3707.49,3654.09,3659.03,0,0
+2006-08-08,3672.22,3684.78,3654.51,3668.10,0,0
+2006-08-09,3674.04,3712.22,3651.29,3707.19,0,0
+2006-08-10,3686.63,3686.63,3638.55,3675.44,0,0
+2006-08-11,3682.86,3698.24,3659.10,3675.10,0,0
+2006-08-14,3690.09,3720.39,3690.09,3719.11,0,0
+2006-08-15,3712.47,3773.87,3706.87,3766.38,0,0
+2006-08-16,3767.86,3798.63,3765.45,3790.94,0,0
+2006-08-17,3792.00,3801.01,3779.32,3800.10,0,0
+2006-08-18,3798.33,3807.48,3781.99,3791.40,0,0
+2006-08-21,3789.99,3790.58,3765.38,3777.25,0,0
+2006-08-22,3788.55,3797.51,3754.38,3792.55,0,0
+2006-08-23,3793.49,3793.49,3753.04,3758.98,0,0
+2006-08-24,3761.86,3796.84,3743.26,3781.87,0,0
+2006-08-25,3784.01,3797.91,3766.21,3781.17,0,0
+2006-08-28,3778.79,3811.84,3758.87,3808.57,0,0
+2006-08-29,3810.18,3829.39,3800.05,3806.81,0,0
+2006-08-30,3815.88,3829.40,3809.02,3817.86,0,0
+2006-08-31,3823.70,3828.06,3802.39,3808.70,0,0
+2006-09-01,3808.99,3836.22,3808.99,3820.89,0,0
+2006-09-04,3824.02,3839.30,3824.02,3837.61,0,0
+2006-09-05,3835.82,3835.82,3801.14,3817.76,0,0
+2006-09-06,3818.12,3818.36,3765.73,3772.21,0,0
+2006-09-07,3766.80,3766.80,3729.77,3739.70,0,0
+2006-09-08,3745.99,3762.09,3736.31,3750.08,0,0
+2006-09-11,3745.78,3745.78,3709.81,3742.06,0,0
+2006-09-12,3744.91,3792.73,3729.36,3788.96,0,0
+2006-09-13,3799.86,3810.07,3787.11,3805.55,0,0
+2006-09-14,3809.08,3824.77,3786.70,3796.65,0,0
+2006-09-15,3800.99,3825.15,3789.18,3812.11,0,0
+2006-09-18,3813.73,3823.92,3790.83,3808.47,0,0
+2006-09-19,3807.67,3811.25,3770.36,3780.18,0,0
+2006-09-20,3782.15,3843.26,3775.48,3841.31,0,0
+2006-09-21,3840.20,3867.74,3831.23,3857.14,0,0
+2006-09-22,3839.51,3839.65,3800.65,3812.73,0,0
+2006-09-25,3815.13,3842.67,3802.47,3822.12,0,0
+2006-09-26,3838.00,3877.79,3838.00,3872.92,0,0
+2006-09-27,3877.55,3899.04,3871.12,3896.18,0,0
+2006-09-28,3893.86,3907.41,3885.32,3894.98,0,0
+2006-09-29,3898.07,3921.15,3894.87,3899.41,0,0
+2006-10-02,3902.03,3917.40,3875.76,3892.48,0,0
+2006-10-03,3886.09,3886.09,3858.87,3880.14,0,0
+2006-10-04,3884.39,3914.73,3883.38,3914.73,0,0
+2006-10-05,3921.17,3949.47,3921.17,3939.86,0,0
+2006-10-06,3939.28,3950.06,3919.88,3940.31,0,0
+2006-10-09,3932.33,3942.17,3921.81,3939.48,0,0
+2006-10-10,3946.55,3963.20,3943.35,3960.67,0,0
+2006-10-11,3956.15,3969.72,3939.78,3967.39,0,0
+2006-10-12,3966.39,4000.49,3964.44,3999.93,0,0
+2006-10-13,4002.28,4008.67,3986.41,3999.07,0,0
+2006-10-16,4000.30,4007.38,3987.52,4001.97,0,0
+2006-10-17,3993.04,3993.33,3947.39,3949.57,0,0
+2006-10-18,3958.29,4007.17,3958.29,3991.38,0,0
+2006-10-19,3986.30,4000.76,3967.98,3986.82,0,0
+2006-10-20,3991.86,4016.63,3981.18,3998.19,0,0
+2006-10-23,4001.63,4024.75,3982.02,4019.02,0,0
+2006-10-24,4018.21,4022.87,4003.96,4014.01,0,0
+2006-10-25,4011.18,4025.56,4004.86,4019.14,0,0
+2006-10-26,4026.47,4047.54,4019.98,4027.29,0,0
+2006-10-27,4029.07,4039.77,3998.43,4017.27,0,0
+2006-10-30,4007.26,4007.26,3979.81,4004.92,0,0
+2006-10-31,4003.92,4019.84,3990.01,4004.80,0,0
+2006-11-01,4003.80,4029.57,3999.78,4014.34,0,0
+2006-11-02,4003.97,4010.72,3961.64,3974.62,0,0
+2006-11-03,3979.73,4010.44,3971.83,3990.46,0,0
+2006-11-06,3991.47,4045.22,3991.47,4045.22,0,0
+2006-11-07,4047.63,4075.99,4045.52,4072.86,0,0
+2006-11-08,4064.92,4078.99,4047.19,4073.81,0,0
+2006-11-09,4071.17,4081.70,4059.21,4073.00,0,0
+2006-11-10,4067.10,4072.42,4048.97,4063.84,0,0
+2006-11-13,4063.01,4095.55,4059.51,4086.14,0,0
+2006-11-14,4087.11,4097.05,4068.51,4084.33,0,0
+2006-11-15,4089.39,4110.53,4089.39,4108.83,0,0
+2006-11-16,4107.71,4116.79,4096.67,4109.71,0,0
+2006-11-17,4106.78,4107.24,4066.05,4078.36,0,0
+2006-11-20,4074.59,4101.04,4049.44,4096.74,0,0
+2006-11-21,4095.27,4112.27,4090.91,4096.06,0,0
+2006-11-22,4105.91,4118.40,4084.71,4094.97,0,0
+2006-11-23,4099.96,4105.18,4070.31,4085.76,0,0
+2006-11-24,4076.14,4078.44,4028.30,4048.16,0,0
+2006-11-27,4045.05,4053.68,3978.25,3978.25,0,0
+2006-11-28,3976.16,3990.75,3951.94,3975.11,0,0
+2006-11-29,3983.51,4023.89,3983.51,4023.09,0,0
+2006-11-30,4027.46,4036.72,3983.05,3987.23,0,0
+2006-12-01,3993.03,4011.96,3914.46,3932.09,0,0
+2006-12-04,3935.81,3965.16,3927.40,3962.93,0,0
+2006-12-05,3966.61,4014.55,3961.06,4007.94,0,0
+2006-12-06,4007.75,4015.80,3987.15,4002.31,0,0
+2006-12-07,3997.09,4039.25,3991.84,4018.69,0,0
+2006-12-08,4011.63,4028.14,3980.66,4019.89,0,0
+2006-12-11,4024.14,4055.74,4024.14,4052.89,0,0
+2006-12-12,4052.55,4062.20,4044.02,4059.74,0,0
+2006-12-13,4063.14,4096.28,4054.64,4094.33,0,0
+2006-12-14,4100.49,4122.89,4099.98,4118.84,0,0
+2006-12-15,4119.08,4147.38,4119.08,4140.66,0,0
+2006-12-18,4140.99,4141.46,4129.65,4130.06,0,0
+2006-12-19,4121.01,4121.01,4085.18,4100.48,0,0
+2006-12-20,4108.30,4130.80,4108.30,4118.54,0,0
+2006-12-21,4111.85,4125.27,4104.46,4112.10,0,0
+2006-12-22,4109.86,4109.86,4072.62,4073.50,0,0
+2006-12-27,4079.70,4134.86,4079.70,4134.86,0,0
+2006-12-28,4137.44,4142.06,4125.14,4130.66,0,0
+2006-12-29,4130.12,4142.01,4119.94,4119.94,0,0
diff --git a/backtrader/source/datas/2006-day-002.txt b/backtrader/source/datas/2006-day-002.txt
new file mode 100644
index 0000000000000000000000000000000000000000..caedbf00f2e1e60ad2c979cfe17cea2ee26e6d46
--- /dev/null
+++ b/backtrader/source/datas/2006-day-002.txt
@@ -0,0 +1,130 @@
+Date,Open,High,Low,Close,Volume,OpenInterest
+2006-01-03,3578.73,3638.42,3578.73,3614.34,0,0
+2006-01-05,3615.23,3661.65,3615.23,3650.24,0,0
+2006-01-09,3650.54,3685.99,3647.66,3671.78,0,0
+2006-01-11,3671.23,3674.31,3638.77,3668.61,0,0
+2006-01-13,3667.16,3676.00,3618.06,3629.25,0,0
+2006-01-17,3628.73,3649.10,3606.54,3610.07,0,0
+2006-01-19,3609.34,3609.34,3550.16,3593.22,0,0
+2006-01-23,3593.16,3612.37,3515.07,3544.31,0,0
+2006-01-25,3544.78,3578.00,3526.37,3578.00,0,0
+2006-01-27,3578.92,3685.48,3577.98,3685.48,0,0
+2006-01-31,3684.38,3707.63,3664.45,3691.41,0,0
+2006-02-02,3686.16,3745.14,3674.89,3677.05,0,0
+2006-02-06,3677.05,3704.17,3652.76,3682.32,0,0
+2006-02-08,3682.97,3698.63,3637.93,3671.37,0,0
+2006-02-10,3672.34,3735.14,3672.34,3695.63,0,0
+2006-02-14,3696.09,3744.66,3684.83,3734.48,0,0
+2006-02-16,3733.97,3756.47,3720.41,3756.47,0,0
+2006-02-20,3757.34,3777.16,3749.88,3766.74,0,0
+2006-02-22,3767.21,3818.48,3767.21,3818.48,0,0
+2006-02-24,3819.56,3831.16,3796.21,3826.00,0,0
+2006-02-28,3828.99,3840.56,3769.25,3774.51,0,0
+2006-03-02,3775.23,3820.55,3745.46,3763.73,0,0
+2006-03-06,3763.95,3774.03,3715.35,3754.07,0,0
+2006-03-08,3751.30,3757.16,3702.04,3727.96,0,0
+2006-03-10,3736.61,3798.46,3736.61,3798.46,0,0
+2006-03-14,3801.03,3833.48,3801.03,3833.48,0,0
+2006-03-16,3834.11,3853.33,3822.56,3839.71,0,0
+2006-03-20,3840.20,3874.64,3820.50,3842.03,0,0
+2006-03-22,3842.49,3872.62,3811.02,3868.48,0,0
+2006-03-24,3869.22,3878.49,3850.46,3870.89,0,0
+2006-03-28,3872.28,3872.28,3799.04,3811.45,0,0
+2006-03-30,3811.85,3881.69,3799.12,3874.61,0,0
+2006-04-03,3872.37,3881.11,3840.64,3878.64,0,0
+2006-04-05,3875.08,3875.08,3835.35,3863.92,0,0
+2006-04-07,3866.01,3879.70,3822.26,3823.11,0,0
+2006-04-11,3822.35,3843.62,3781.99,3788.81,0,0
+2006-04-13,3786.93,3791.15,3753.47,3779.94,0,0
+2006-04-19,3779.23,3825.18,3749.71,3820.96,0,0
+2006-04-21,3820.93,3892.35,3820.93,3888.46,0,0
+2006-04-25,3884.57,3888.65,3858.67,3871.09,0,0
+2006-04-27,3873.67,3892.16,3832.10,3865.42,0,0
+2006-05-01,3865.91,3865.91,3833.74,3839.90,0,0
+2006-05-03,3839.24,3879.31,3817.60,3821.97,0,0
+2006-05-05,3822.57,3874.32,3806.35,3874.32,0,0
+2006-05-09,3877.74,3897.40,3866.35,3890.94,0,0
+2006-05-11,3883.38,3894.60,3836.67,3837.86,0,0
+2006-05-15,3829.82,3829.82,3680.95,3711.16,0,0
+2006-05-17,3711.46,3750.42,3605.19,3605.37,0,0
+2006-05-19,3607.41,3649.54,3558.27,3625.33,0,0
+2006-05-23,3622.35,3637.39,3527.05,3620.28,0,0
+2006-05-25,3617.11,3635.00,3542.93,3635.00,0,0
+2006-05-29,3647.15,3699.80,3646.42,3679.57,0,0
+2006-05-31,3677.67,3683.30,3542.41,3637.17,0,0
+2006-06-02,3634.82,3688.89,3595.27,3636.89,0,0
+2006-06-06,3636.83,3638.59,3519.86,3529.10,0,0
+2006-06-08,3536.39,3575.67,3462.37,3462.37,0,0
+2006-06-12,3470.27,3531.70,3470.27,3480.76,0,0
+2006-06-14,3476.33,3476.33,3379.66,3414.21,0,0
+2006-06-16,3423.23,3544.27,3423.23,3463.56,0,0
+2006-06-20,3469.88,3520.51,3453.14,3514.83,0,0
+2006-06-22,3519.86,3571.24,3476.22,3544.85,0,0
+2006-06-26,3545.60,3566.55,3528.59,3534.84,0,0
+2006-06-28,3540.49,3555.94,3484.71,3506.07,0,0
+2006-06-30,3519.54,3655.02,3519.54,3648.92,0,0
+2006-07-04,3648.91,3670.75,3639.07,3670.75,0,0
+2006-07-06,3656.71,3665.54,3607.81,3662.39,0,0
+2006-07-10,3657.00,3671.09,3621.34,3666.51,0,0
+2006-07-12,3656.57,3662.83,3609.05,3630.50,0,0
+2006-07-14,3617.55,3617.55,3508.25,3508.25,0,0
+2006-07-18,3512.22,3518.34,3462.77,3492.11,0,0
+2006-07-20,3497.48,3612.48,3497.48,3589.63,0,0
+2006-07-24,3580.53,3633.50,3546.24,3632.93,0,0
+2006-07-26,3639.65,3651.74,3621.71,3640.75,0,0
+2006-07-28,3649.29,3711.41,3649.29,3710.60,0,0
+2006-08-01,3708.82,3711.52,3632.51,3640.60,0,0
+2006-08-03,3655.93,3703.38,3647.96,3667.91,0,0
+2006-08-07,3677.44,3729.29,3654.09,3659.03,0,0
+2006-08-09,3672.22,3712.22,3651.29,3707.19,0,0
+2006-08-11,3686.63,3698.24,3638.55,3675.10,0,0
+2006-08-15,3690.09,3773.87,3690.09,3766.38,0,0
+2006-08-17,3767.86,3801.01,3765.45,3800.10,0,0
+2006-08-21,3798.33,3807.48,3765.38,3777.25,0,0
+2006-08-23,3788.55,3797.51,3753.04,3758.98,0,0
+2006-08-25,3761.86,3797.91,3743.26,3781.17,0,0
+2006-08-29,3778.79,3829.39,3758.87,3806.81,0,0
+2006-08-31,3815.88,3829.40,3802.39,3808.70,0,0
+2006-09-04,3808.99,3839.30,3808.99,3837.61,0,0
+2006-09-06,3835.82,3835.82,3765.73,3772.21,0,0
+2006-09-08,3766.80,3766.80,3729.77,3750.08,0,0
+2006-09-12,3745.78,3792.73,3709.81,3788.96,0,0
+2006-09-14,3799.86,3824.77,3786.70,3796.65,0,0
+2006-09-18,3800.99,3825.15,3789.18,3808.47,0,0
+2006-09-20,3807.67,3843.26,3770.36,3841.31,0,0
+2006-09-22,3840.20,3867.74,3800.65,3812.73,0,0
+2006-09-26,3815.13,3877.79,3802.47,3872.92,0,0
+2006-09-28,3877.55,3907.41,3871.12,3894.98,0,0
+2006-10-02,3898.07,3921.15,3875.76,3892.48,0,0
+2006-10-04,3886.09,3914.73,3858.87,3914.73,0,0
+2006-10-06,3921.17,3950.06,3919.88,3940.31,0,0
+2006-10-10,3932.33,3963.20,3921.81,3960.67,0,0
+2006-10-12,3956.15,4000.49,3939.78,3999.93,0,0
+2006-10-16,4002.28,4008.67,3986.41,4001.97,0,0
+2006-10-18,3993.04,4007.17,3947.39,3991.38,0,0
+2006-10-20,3986.30,4016.63,3967.98,3998.19,0,0
+2006-10-24,4001.63,4024.75,3982.02,4014.01,0,0
+2006-10-26,4011.18,4047.54,4004.86,4027.29,0,0
+2006-10-30,4029.07,4039.77,3979.81,4004.92,0,0
+2006-11-01,4003.92,4029.57,3990.01,4014.34,0,0
+2006-11-03,4003.97,4010.72,3961.64,3990.46,0,0
+2006-11-07,3991.47,4075.99,3991.47,4072.86,0,0
+2006-11-09,4064.92,4081.70,4047.19,4073.00,0,0
+2006-11-13,4067.10,4095.55,4048.97,4086.14,0,0
+2006-11-15,4087.11,4110.53,4068.51,4108.83,0,0
+2006-11-17,4107.71,4116.79,4066.05,4078.36,0,0
+2006-11-21,4074.59,4112.27,4049.44,4096.06,0,0
+2006-11-23,4105.91,4118.40,4070.31,4085.76,0,0
+2006-11-27,4076.14,4078.44,3978.25,3978.25,0,0
+2006-11-29,3976.16,4023.89,3951.94,4023.09,0,0
+2006-12-01,4027.46,4036.72,3914.46,3932.09,0,0
+2006-12-05,3935.81,4014.55,3927.40,4007.94,0,0
+2006-12-07,4007.75,4039.25,3987.15,4018.69,0,0
+2006-12-11,4011.63,4055.74,3980.66,4052.89,0,0
+2006-12-13,4052.55,4096.28,4044.02,4094.33,0,0
+2006-12-15,4100.49,4147.38,4099.98,4140.66,0,0
+2006-12-19,4140.99,4141.46,4085.18,4100.48,0,0
+2006-12-21,4108.30,4130.80,4104.46,4112.10,0,0
+2006-12-25,4109.86,4109.86,4072.62,4073.50,0,0
+2006-12-27,4079.70,4134.86,4079.70,4134.86,0,0
+2006-12-29,4137.44,4142.06,4119.94,4119.94,0,0
diff --git a/backtrader/source/datas/2006-min-005.txt b/backtrader/source/datas/2006-min-005.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6448e904409caec51277e1d0317e9b7a7358d94a
--- /dev/null
+++ b/backtrader/source/datas/2006-min-005.txt
@@ -0,0 +1,2143 @@
+Date,Time,Open,High,Low,Close,Volume,OpenInterest
+2006-01-02,09:05:00,3578.73,3587.88,3578.73,3582.99,0,0
+2006-01-02,09:10:00,3583.01,3588.40,3583.01,3588.03,0,0
+2006-01-02,09:15:00,3588.09,3591.83,3587.75,3591.83,0,0
+2006-01-02,09:20:00,3591.42,3591.58,3589.58,3590.62,0,0
+2006-01-02,09:25:00,3590.64,3591.86,3590.29,3591.16,0,0
+2006-01-02,09:30:00,3591.18,3591.18,3590.02,3590.65,0,0
+2006-01-02,09:35:00,3591.40,3596.42,3591.34,3596.41,0,0
+2006-01-02,09:40:00,3597.27,3602.86,3597.27,3602.43,0,0
+2006-01-02,09:45:00,3602.96,3605.49,3602.57,3604.35,0,0
+2006-01-02,09:50:00,3604.02,3604.11,3602.70,3602.70,0,0
+2006-01-02,09:55:00,3602.61,3602.61,3601.56,3601.79,0,0
+2006-01-02,10:00:00,3601.58,3601.58,3599.29,3600.40,0,0
+2006-01-02,10:05:00,3600.28,3602.70,3600.28,3602.70,0,0
+2006-01-02,10:10:00,3602.34,3603.31,3600.95,3601.05,0,0
+2006-01-02,10:15:00,3600.82,3600.82,3598.58,3598.85,0,0
+2006-01-02,10:20:00,3598.70,3600.52,3598.60,3599.74,0,0
+2006-01-02,10:25:00,3599.96,3601.35,3599.87,3601.02,0,0
+2006-01-02,10:30:00,3601.47,3601.57,3600.70,3601.11,0,0
+2006-01-02,10:35:00,3601.48,3603.04,3601.07,3601.34,0,0
+2006-01-02,10:40:00,3601.15,3602.69,3601.15,3602.69,0,0
+2006-01-02,10:45:00,3602.61,3602.86,3602.15,3602.15,0,0
+2006-01-02,10:50:00,3602.34,3602.39,3601.42,3601.89,0,0
+2006-01-02,10:55:00,3601.99,3602.54,3601.55,3601.55,0,0
+2006-01-02,11:00:00,3601.70,3601.85,3600.46,3601.22,0,0
+2006-01-02,11:05:00,3601.26,3601.58,3600.66,3600.72,0,0
+2006-01-02,11:10:00,3600.49,3600.88,3599.07,3599.85,0,0
+2006-01-02,11:15:00,3599.72,3599.85,3598.10,3598.47,0,0
+2006-01-02,11:20:00,3598.45,3598.45,3590.60,3590.63,0,0
+2006-01-02,11:25:00,3590.66,3592.40,3590.32,3592.18,0,0
+2006-01-02,11:30:00,3592.13,3593.72,3592.13,3593.72,0,0
+2006-01-02,11:35:00,3593.78,3595.29,3593.78,3595.20,0,0
+2006-01-02,11:40:00,3595.35,3595.80,3594.84,3595.26,0,0
+2006-01-02,11:45:00,3595.43,3596.26,3594.81,3595.73,0,0
+2006-01-02,11:50:00,3595.84,3597.04,3595.31,3597.04,0,0
+2006-01-02,11:55:00,3596.77,3599.26,3596.55,3598.63,0,0
+2006-01-02,12:00:00,3598.73,3599.48,3598.06,3598.40,0,0
+2006-01-02,12:05:00,3598.58,3598.92,3598.16,3598.37,0,0
+2006-01-02,12:10:00,3598.15,3598.57,3597.74,3597.96,0,0
+2006-01-02,12:15:00,3598.24,3599.13,3597.75,3598.77,0,0
+2006-01-02,12:20:00,3598.62,3600.24,3598.62,3600.24,0,0
+2006-01-02,12:25:00,3600.31,3600.78,3599.95,3599.98,0,0
+2006-01-02,12:30:00,3599.83,3600.05,3599.54,3599.79,0,0
+2006-01-02,12:35:00,3599.77,3599.99,3598.90,3599.00,0,0
+2006-01-02,12:40:00,3599.02,3599.31,3598.63,3598.76,0,0
+2006-01-02,12:45:00,3598.88,3599.38,3598.31,3598.77,0,0
+2006-01-02,12:50:00,3598.68,3598.91,3596.95,3596.95,0,0
+2006-01-02,12:55:00,3596.84,3597.19,3596.21,3596.22,0,0
+2006-01-02,13:00:00,3596.19,3596.85,3596.07,3596.85,0,0
+2006-01-02,13:05:00,3596.73,3596.93,3596.24,3596.42,0,0
+2006-01-02,13:10:00,3596.32,3596.32,3595.69,3595.84,0,0
+2006-01-02,13:15:00,3595.85,3596.15,3595.27,3595.63,0,0
+2006-01-02,13:20:00,3596.02,3596.02,3595.47,3595.59,0,0
+2006-01-02,13:25:00,3595.55,3595.76,3595.25,3595.31,0,0
+2006-01-02,13:30:00,3595.17,3596.48,3595.15,3596.40,0,0
+2006-01-02,13:35:00,3596.30,3596.30,3595.16,3595.16,0,0
+2006-01-02,13:40:00,3595.29,3595.30,3594.60,3595.30,0,0
+2006-01-02,13:45:00,3595.09,3595.36,3594.73,3595.31,0,0
+2006-01-02,13:50:00,3595.28,3595.37,3594.59,3594.93,0,0
+2006-01-02,13:55:00,3595.20,3595.36,3594.59,3594.74,0,0
+2006-01-02,14:00:00,3594.85,3595.11,3594.45,3594.79,0,0
+2006-01-02,14:05:00,3594.88,3595.19,3594.28,3594.55,0,0
+2006-01-02,14:10:00,3594.71,3594.71,3593.58,3593.99,0,0
+2006-01-02,14:15:00,3593.92,3594.90,3593.73,3594.78,0,0
+2006-01-02,14:20:00,3594.37,3595.17,3594.15,3594.15,0,0
+2006-01-02,14:25:00,3594.02,3594.80,3594.00,3594.31,0,0
+2006-01-02,14:30:00,3594.67,3595.51,3594.67,3595.51,0,0
+2006-01-02,14:35:00,3595.50,3595.64,3594.96,3595.44,0,0
+2006-01-02,14:40:00,3595.59,3595.87,3595.25,3595.52,0,0
+2006-01-02,14:45:00,3595.73,3596.29,3595.19,3595.47,0,0
+2006-01-02,14:50:00,3595.48,3596.15,3595.39,3595.62,0,0
+2006-01-02,14:55:00,3595.55,3596.45,3595.55,3596.45,0,0
+2006-01-02,15:00:00,3596.53,3596.55,3595.43,3596.52,0,0
+2006-01-02,15:05:00,3596.36,3596.51,3595.80,3596.33,0,0
+2006-01-02,15:10:00,3596.12,3596.63,3595.92,3596.63,0,0
+2006-01-02,15:15:00,3596.36,3596.65,3596.19,3596.65,0,0
+2006-01-02,15:20:00,3596.53,3599.13,3596.12,3598.90,0,0
+2006-01-02,15:25:00,3599.07,3599.68,3598.47,3599.68,0,0
+2006-01-02,15:30:00,3599.64,3599.73,3599.00,3599.67,0,0
+2006-01-02,15:35:00,3599.61,3600.29,3599.52,3599.92,0,0
+2006-01-02,15:40:00,3599.96,3602.06,3599.76,3602.05,0,0
+2006-01-02,15:45:00,3601.97,3602.07,3601.45,3601.83,0,0
+2006-01-02,15:50:00,3601.74,3602.80,3601.63,3602.80,0,0
+2006-01-02,15:55:00,3602.53,3602.74,3602.33,3602.61,0,0
+2006-01-02,16:00:00,3602.58,3602.75,3601.81,3602.14,0,0
+2006-01-02,16:05:00,3602.16,3602.16,3600.86,3600.96,0,0
+2006-01-02,16:10:00,3601.20,3601.49,3600.94,3601.27,0,0
+2006-01-02,16:15:00,3601.47,3601.69,3600.37,3600.69,0,0
+2006-01-02,16:20:00,3600.39,3600.68,3600.13,3600.50,0,0
+2006-01-02,16:25:00,3600.91,3602.05,3600.91,3601.82,0,0
+2006-01-02,16:30:00,3601.87,3602.18,3601.40,3602.04,0,0
+2006-01-02,16:35:00,3602.25,3603.07,3601.88,3603.07,0,0
+2006-01-02,16:40:00,3603.06,3603.93,3602.53,3603.93,0,0
+2006-01-02,16:45:00,3603.36,3603.62,3603.14,3603.42,0,0
+2006-01-02,16:50:00,3603.16,3603.87,3602.97,3603.28,0,0
+2006-01-02,16:55:00,3603.48,3603.48,3602.06,3602.06,0,0
+2006-01-02,17:00:00,3602.38,3603.07,3601.99,3602.56,0,0
+2006-01-02,17:05:00,3602.50,3603.93,3602.25,3603.81,0,0
+2006-01-02,17:10:00,3603.87,3604.12,3603.41,3604.11,0,0
+2006-01-02,17:15:00,3603.96,3603.96,3602.89,3603.79,0,0
+2006-01-02,17:20:00,3603.94,3605.95,3603.87,3603.91,0,0
+2006-01-02,17:25:00,3604.00,3604.76,3603.85,3604.64,0,0
+2006-01-02,17:30:00,3604.06,3604.41,3603.95,3604.33,0,0
+2006-01-03,09:05:00,3604.08,3609.60,3604.08,3609.60,0,0
+2006-01-03,09:10:00,3610.34,3617.31,3610.34,3617.31,0,0
+2006-01-03,09:15:00,3617.61,3617.87,3616.03,3617.51,0,0
+2006-01-03,09:20:00,3617.24,3618.86,3616.09,3618.42,0,0
+2006-01-03,09:25:00,3618.36,3623.31,3618.36,3623.23,0,0
+2006-01-03,09:30:00,3623.57,3625.02,3622.00,3623.99,0,0
+2006-01-03,09:35:00,3623.91,3628.72,3623.61,3628.22,0,0
+2006-01-03,09:40:00,3627.92,3631.61,3627.92,3631.35,0,0
+2006-01-03,09:45:00,3630.88,3630.88,3628.69,3628.69,0,0
+2006-01-03,09:50:00,3628.86,3629.09,3627.27,3628.61,0,0
+2006-01-03,09:55:00,3628.41,3631.13,3628.41,3630.43,0,0
+2006-01-03,10:00:00,3630.32,3630.97,3629.28,3630.97,0,0
+2006-01-03,10:05:00,3631.34,3633.33,3631.34,3632.30,0,0
+2006-01-03,10:10:00,3632.14,3632.29,3630.88,3631.50,0,0
+2006-01-03,10:15:00,3631.47,3631.78,3630.82,3631.78,0,0
+2006-01-03,10:20:00,3631.60,3633.50,3631.60,3633.34,0,0
+2006-01-03,10:25:00,3633.43,3635.74,3633.43,3634.70,0,0
+2006-01-03,10:30:00,3634.30,3635.36,3634.25,3635.04,0,0
+2006-01-03,10:35:00,3634.63,3635.29,3634.26,3635.08,0,0
+2006-01-03,10:40:00,3634.96,3634.96,3634.09,3634.28,0,0
+2006-01-03,10:45:00,3634.76,3636.48,3634.60,3636.25,0,0
+2006-01-03,10:50:00,3636.54,3637.72,3636.25,3637.00,0,0
+2006-01-03,10:55:00,3636.57,3636.57,3634.30,3634.30,0,0
+2006-01-03,11:00:00,3634.18,3635.82,3633.60,3635.70,0,0
+2006-01-03,11:05:00,3635.70,3638.13,3635.65,3637.15,0,0
+2006-01-03,11:10:00,3637.30,3638.42,3636.86,3637.30,0,0
+2006-01-03,11:15:00,3636.91,3637.38,3636.45,3636.79,0,0
+2006-01-03,11:20:00,3636.45,3636.63,3634.98,3634.98,0,0
+2006-01-03,11:25:00,3635.04,3636.40,3634.74,3636.38,0,0
+2006-01-03,11:30:00,3636.26,3636.65,3636.01,3636.47,0,0
+2006-01-03,11:35:00,3636.37,3637.44,3635.72,3635.72,0,0
+2006-01-03,11:40:00,3635.54,3635.89,3635.14,3635.40,0,0
+2006-01-03,11:45:00,3635.37,3636.67,3635.37,3636.67,0,0
+2006-01-03,11:50:00,3636.76,3637.07,3636.33,3636.54,0,0
+2006-01-03,11:55:00,3636.39,3636.83,3635.68,3635.68,0,0
+2006-01-03,12:00:00,3636.20,3637.13,3635.93,3636.95,0,0
+2006-01-03,12:05:00,3636.49,3636.78,3635.14,3635.26,0,0
+2006-01-03,12:10:00,3635.46,3635.63,3634.91,3635.63,0,0
+2006-01-03,12:15:00,3635.98,3635.98,3634.66,3635.26,0,0
+2006-01-03,12:20:00,3635.23,3635.43,3634.36,3634.36,0,0
+2006-01-03,12:25:00,3634.19,3634.67,3633.87,3634.30,0,0
+2006-01-03,12:30:00,3634.18,3634.46,3633.88,3634.22,0,0
+2006-01-03,12:35:00,3634.47,3634.87,3634.06,3634.73,0,0
+2006-01-03,12:40:00,3634.58,3635.10,3634.43,3635.01,0,0
+2006-01-03,12:45:00,3635.01,3635.06,3634.29,3634.57,0,0
+2006-01-03,12:50:00,3634.16,3634.22,3633.34,3634.05,0,0
+2006-01-03,12:55:00,3634.16,3635.08,3634.16,3634.97,0,0
+2006-01-03,13:00:00,3634.87,3635.06,3633.98,3634.14,0,0
+2006-01-03,13:05:00,3634.35,3634.35,3633.53,3634.19,0,0
+2006-01-03,13:10:00,3634.31,3634.95,3633.67,3634.95,0,0
+2006-01-03,13:15:00,3634.84,3634.96,3633.58,3634.18,0,0
+2006-01-03,13:20:00,3634.11,3634.27,3633.45,3634.09,0,0
+2006-01-03,13:25:00,3634.40,3634.47,3633.81,3634.08,0,0
+2006-01-03,13:30:00,3634.32,3634.97,3634.17,3634.69,0,0
+2006-01-03,13:35:00,3634.88,3635.62,3634.58,3634.67,0,0
+2006-01-03,13:40:00,3634.53,3635.11,3634.01,3634.16,0,0
+2006-01-03,13:45:00,3634.07,3634.57,3633.84,3634.57,0,0
+2006-01-03,13:50:00,3634.49,3634.71,3634.11,3634.34,0,0
+2006-01-03,13:55:00,3634.30,3634.50,3633.92,3634.28,0,0
+2006-01-03,14:00:00,3634.22,3637.00,3634.22,3637.00,0,0
+2006-01-03,14:05:00,3637.26,3637.26,3635.88,3636.98,0,0
+2006-01-03,14:10:00,3636.90,3637.14,3636.53,3637.05,0,0
+2006-01-03,14:15:00,3637.31,3637.45,3635.24,3635.24,0,0
+2006-01-03,14:20:00,3634.99,3635.14,3633.83,3633.83,0,0
+2006-01-03,14:25:00,3633.76,3633.77,3631.98,3632.96,0,0
+2006-01-03,14:30:00,3632.97,3634.11,3632.97,3633.97,0,0
+2006-01-03,14:35:00,3633.66,3634.12,3633.23,3633.98,0,0
+2006-01-03,14:40:00,3633.90,3635.40,3633.80,3635.24,0,0
+2006-01-03,14:45:00,3634.90,3635.99,3634.90,3635.71,0,0
+2006-01-03,14:50:00,3635.76,3636.73,3635.76,3636.30,0,0
+2006-01-03,14:55:00,3636.78,3636.85,3635.83,3635.98,0,0
+2006-01-03,15:00:00,3636.02,3636.39,3635.73,3635.81,0,0
+2006-01-03,15:05:00,3636.26,3636.33,3635.06,3635.32,0,0
+2006-01-03,15:10:00,3635.27,3635.80,3635.05,3635.79,0,0
+2006-01-03,15:15:00,3635.90,3636.23,3634.47,3634.73,0,0
+2006-01-03,15:20:00,3634.67,3634.95,3634.34,3634.81,0,0
+2006-01-03,15:25:00,3634.72,3635.00,3634.06,3634.87,0,0
+2006-01-03,15:30:00,3634.81,3634.89,3634.04,3634.23,0,0
+2006-01-03,15:35:00,3634.01,3635.80,3633.27,3633.27,0,0
+2006-01-03,15:40:00,3633.71,3633.71,3629.56,3629.56,0,0
+2006-01-03,15:45:00,3629.87,3633.71,3629.87,3633.71,0,0
+2006-01-03,15:50:00,3633.65,3633.72,3631.07,3631.97,0,0
+2006-01-03,15:55:00,3631.80,3632.19,3629.59,3629.68,0,0
+2006-01-03,16:00:00,3629.23,3630.25,3628.56,3630.25,0,0
+2006-01-03,16:05:00,3630.16,3630.16,3623.29,3623.54,0,0
+2006-01-03,16:10:00,3623.42,3625.34,3620.97,3621.58,0,0
+2006-01-03,16:15:00,3621.38,3621.73,3616.88,3617.21,0,0
+2006-01-03,16:20:00,3617.18,3621.09,3615.81,3621.09,0,0
+2006-01-03,16:25:00,3621.12,3621.18,3615.59,3615.59,0,0
+2006-01-03,16:30:00,3615.31,3615.45,3609.71,3611.20,0,0
+2006-01-03,16:35:00,3611.13,3611.84,3604.16,3604.84,0,0
+2006-01-03,16:40:00,3604.60,3604.60,3601.84,3602.59,0,0
+2006-01-03,16:45:00,3602.93,3608.80,3602.93,3608.31,0,0
+2006-01-03,16:50:00,3608.19,3610.76,3608.07,3610.76,0,0
+2006-01-03,16:55:00,3610.63,3613.12,3610.61,3612.59,0,0
+2006-01-03,17:00:00,3612.39,3613.70,3609.20,3610.05,0,0
+2006-01-03,17:05:00,3610.58,3611.56,3608.14,3608.14,0,0
+2006-01-03,17:10:00,3606.85,3608.09,3603.82,3608.09,0,0
+2006-01-03,17:15:00,3608.31,3609.01,3606.02,3607.36,0,0
+2006-01-03,17:20:00,3607.45,3610.81,3607.29,3610.62,0,0
+2006-01-03,17:25:00,3610.39,3610.71,3608.88,3609.13,0,0
+2006-01-03,17:30:00,3609.22,3614.34,3608.92,3614.34,0,0
+2006-01-04,09:05:00,3615.23,3643.02,3615.23,3643.02,0,0
+2006-01-04,09:10:00,3643.10,3650.67,3643.10,3649.53,0,0
+2006-01-04,09:15:00,3649.23,3649.95,3648.23,3648.57,0,0
+2006-01-04,09:20:00,3648.54,3649.06,3643.17,3643.17,0,0
+2006-01-04,09:25:00,3642.76,3644.65,3641.84,3643.55,0,0
+2006-01-04,09:30:00,3642.91,3645.55,3642.91,3645.55,0,0
+2006-01-04,09:35:00,3645.58,3646.37,3643.83,3646.03,0,0
+2006-01-04,09:40:00,3646.24,3648.08,3646.24,3647.15,0,0
+2006-01-04,09:45:00,3646.88,3646.97,3644.89,3644.89,0,0
+2006-01-04,09:50:00,3644.67,3644.93,3640.14,3640.50,0,0
+2006-01-04,09:55:00,3640.49,3645.12,3640.46,3644.75,0,0
+2006-01-04,10:00:00,3644.97,3645.07,3643.78,3644.73,0,0
+2006-01-04,10:05:00,3643.96,3643.96,3641.03,3641.03,0,0
+2006-01-04,10:10:00,3641.01,3642.59,3640.81,3641.63,0,0
+2006-01-04,10:15:00,3641.45,3642.65,3641.19,3642.17,0,0
+2006-01-04,10:20:00,3642.35,3644.91,3642.17,3644.36,0,0
+2006-01-04,10:25:00,3644.42,3645.63,3644.42,3644.88,0,0
+2006-01-04,10:30:00,3644.63,3644.63,3633.50,3633.50,0,0
+2006-01-04,10:35:00,3631.82,3640.62,3631.82,3638.01,0,0
+2006-01-04,10:40:00,3638.14,3638.32,3629.17,3634.36,0,0
+2006-01-04,10:45:00,3633.36,3639.19,3633.36,3639.19,0,0
+2006-01-04,10:50:00,3639.02,3641.15,3638.17,3640.68,0,0
+2006-01-04,10:55:00,3640.64,3641.54,3638.83,3639.21,0,0
+2006-01-04,11:00:00,3639.25,3639.25,3637.69,3637.69,0,0
+2006-01-04,11:05:00,3636.17,3638.87,3636.17,3638.78,0,0
+2006-01-04,11:10:00,3638.85,3640.32,3638.68,3640.32,0,0
+2006-01-04,11:15:00,3640.54,3642.91,3640.26,3642.52,0,0
+2006-01-04,11:20:00,3642.90,3642.90,3640.85,3641.09,0,0
+2006-01-04,11:25:00,3641.28,3642.29,3641.28,3642.01,0,0
+2006-01-04,11:30:00,3641.82,3643.98,3641.49,3643.75,0,0
+2006-01-04,11:35:00,3643.92,3643.92,3642.68,3642.98,0,0
+2006-01-04,11:40:00,3643.14,3643.35,3642.51,3642.51,0,0
+2006-01-04,11:45:00,3642.70,3643.99,3642.70,3643.99,0,0
+2006-01-04,11:50:00,3643.83,3644.44,3643.50,3644.19,0,0
+2006-01-04,11:55:00,3644.29,3644.29,3642.54,3642.81,0,0
+2006-01-04,12:00:00,3643.22,3643.22,3641.33,3641.54,0,0
+2006-01-04,12:05:00,3642.65,3642.65,3640.57,3641.78,0,0
+2006-01-04,12:10:00,3641.80,3642.10,3641.49,3641.96,0,0
+2006-01-04,12:15:00,3641.88,3642.71,3641.55,3642.50,0,0
+2006-01-04,12:20:00,3643.05,3643.05,3642.23,3642.23,0,0
+2006-01-04,12:25:00,3642.65,3642.95,3642.28,3642.56,0,0
+2006-01-04,12:30:00,3642.38,3643.88,3642.31,3643.15,0,0
+2006-01-04,12:35:00,3642.76,3643.18,3641.90,3642.21,0,0
+2006-01-04,12:40:00,3642.42,3642.65,3640.91,3640.97,0,0
+2006-01-04,12:45:00,3640.90,3641.13,3640.12,3640.12,0,0
+2006-01-04,12:50:00,3640.06,3640.68,3639.70,3640.65,0,0
+2006-01-04,12:55:00,3640.67,3640.67,3639.95,3640.00,0,0
+2006-01-04,13:00:00,3640.30,3641.58,3640.06,3641.56,0,0
+2006-01-04,13:05:00,3641.69,3641.77,3640.98,3641.23,0,0
+2006-01-04,13:10:00,3641.31,3641.83,3641.14,3641.42,0,0
+2006-01-04,13:15:00,3641.28,3641.57,3640.76,3641.43,0,0
+2006-01-04,13:20:00,3641.57,3642.21,3641.30,3641.88,0,0
+2006-01-04,13:25:00,3641.56,3642.03,3640.82,3641.11,0,0
+2006-01-04,13:30:00,3641.02,3641.86,3640.65,3641.27,0,0
+2006-01-04,13:35:00,3641.08,3641.94,3640.90,3641.85,0,0
+2006-01-04,13:40:00,3641.75,3641.98,3640.30,3640.30,0,0
+2006-01-04,13:45:00,3640.68,3640.87,3639.91,3640.06,0,0
+2006-01-04,13:50:00,3640.12,3640.55,3639.22,3640.26,0,0
+2006-01-04,13:55:00,3640.17,3640.67,3639.65,3640.53,0,0
+2006-01-04,14:00:00,3640.30,3640.61,3639.98,3640.43,0,0
+2006-01-04,14:05:00,3640.57,3640.61,3639.91,3640.13,0,0
+2006-01-04,14:10:00,3639.38,3640.44,3639.38,3640.44,0,0
+2006-01-04,14:15:00,3640.44,3641.04,3640.14,3640.88,0,0
+2006-01-04,14:20:00,3641.23,3641.88,3641.23,3641.25,0,0
+2006-01-04,14:25:00,3641.12,3642.44,3640.99,3641.11,0,0
+2006-01-04,14:30:00,3641.08,3642.03,3641.08,3641.83,0,0
+2006-01-04,14:35:00,3641.74,3642.29,3641.46,3641.46,0,0
+2006-01-04,14:40:00,3641.94,3642.67,3641.79,3642.28,0,0
+2006-01-04,14:45:00,3642.20,3645.26,3642.15,3644.68,0,0
+2006-01-04,14:50:00,3644.87,3644.87,3643.99,3644.01,0,0
+2006-01-04,14:55:00,3644.11,3644.71,3643.79,3644.14,0,0
+2006-01-04,15:00:00,3643.93,3644.16,3642.41,3642.72,0,0
+2006-01-04,15:05:00,3642.94,3643.28,3641.93,3641.93,0,0
+2006-01-04,15:10:00,3641.11,3642.10,3640.82,3641.95,0,0
+2006-01-04,15:15:00,3642.04,3643.21,3642.04,3642.92,0,0
+2006-01-04,15:20:00,3643.39,3645.28,3643.04,3645.20,0,0
+2006-01-04,15:25:00,3644.93,3645.80,3644.70,3644.91,0,0
+2006-01-04,15:30:00,3644.73,3645.21,3644.22,3644.63,0,0
+2006-01-04,15:35:00,3644.76,3645.33,3643.34,3643.34,0,0
+2006-01-04,15:40:00,3643.38,3643.88,3642.52,3643.69,0,0
+2006-01-04,15:45:00,3644.21,3647.39,3644.21,3646.27,0,0
+2006-01-04,15:50:00,3646.29,3647.62,3645.60,3646.55,0,0
+2006-01-04,15:55:00,3646.63,3647.15,3644.01,3644.51,0,0
+2006-01-04,16:00:00,3644.52,3645.80,3644.31,3645.23,0,0
+2006-01-04,16:05:00,3645.10,3649.94,3645.10,3649.70,0,0
+2006-01-04,16:10:00,3650.12,3650.36,3648.39,3650.36,0,0
+2006-01-04,16:15:00,3650.49,3650.49,3648.34,3648.63,0,0
+2006-01-04,16:20:00,3648.24,3650.80,3647.76,3648.35,0,0
+2006-01-04,16:25:00,3648.48,3649.43,3648.17,3649.43,0,0
+2006-01-04,16:30:00,3648.97,3649.12,3645.79,3646.03,0,0
+2006-01-04,16:35:00,3644.91,3645.37,3643.86,3645.37,0,0
+2006-01-04,16:40:00,3645.04,3645.74,3643.52,3644.90,0,0
+2006-01-04,16:45:00,3644.13,3644.26,3642.15,3642.98,0,0
+2006-01-04,16:50:00,3643.01,3644.60,3642.57,3644.48,0,0
+2006-01-04,16:55:00,3644.60,3646.34,3644.60,3644.94,0,0
+2006-01-04,17:00:00,3644.98,3646.21,3644.48,3644.48,0,0
+2006-01-04,17:05:00,3644.48,3647.98,3644.47,3647.85,0,0
+2006-01-04,17:10:00,3648.05,3648.82,3646.51,3647.94,0,0
+2006-01-04,17:15:00,3647.41,3647.87,3646.48,3647.39,0,0
+2006-01-04,17:20:00,3647.47,3649.41,3647.47,3649.25,0,0
+2006-01-04,17:25:00,3649.93,3651.08,3649.45,3650.07,0,0
+2006-01-04,17:30:00,3650.19,3652.46,3650.19,3652.46,0,0
+2006-01-05,09:05:00,3652.19,3652.95,3646.92,3647.27,0,0
+2006-01-05,09:10:00,3647.45,3650.00,3647.21,3647.97,0,0
+2006-01-05,09:15:00,3647.86,3649.97,3647.39,3648.80,0,0
+2006-01-05,09:20:00,3648.51,3648.60,3646.06,3646.91,0,0
+2006-01-05,09:25:00,3646.59,3646.59,3645.38,3645.54,0,0
+2006-01-05,09:30:00,3645.86,3649.39,3645.66,3649.34,0,0
+2006-01-05,09:35:00,3648.90,3651.70,3648.85,3651.62,0,0
+2006-01-05,09:40:00,3652.03,3652.22,3650.25,3650.25,0,0
+2006-01-05,09:45:00,3649.93,3650.25,3647.69,3647.69,0,0
+2006-01-05,09:50:00,3646.46,3647.01,3644.96,3645.25,0,0
+2006-01-05,09:55:00,3645.81,3648.91,3645.78,3648.69,0,0
+2006-01-05,10:00:00,3648.45,3649.70,3647.45,3647.93,0,0
+2006-01-05,10:05:00,3648.40,3648.40,3647.25,3647.85,0,0
+2006-01-05,10:10:00,3647.81,3648.99,3647.41,3648.13,0,0
+2006-01-05,10:15:00,3646.13,3646.13,3643.42,3644.47,0,0
+2006-01-05,10:20:00,3644.23,3644.38,3643.17,3643.30,0,0
+2006-01-05,10:25:00,3643.59,3648.34,3643.59,3648.34,0,0
+2006-01-05,10:30:00,3648.47,3649.35,3647.07,3647.22,0,0
+2006-01-05,10:35:00,3647.35,3648.79,3646.80,3648.78,0,0
+2006-01-05,10:40:00,3648.57,3649.05,3648.39,3648.69,0,0
+2006-01-05,10:45:00,3649.09,3652.79,3649.09,3652.79,0,0
+2006-01-05,10:50:00,3652.99,3654.05,3651.43,3652.09,0,0
+2006-01-05,10:55:00,3652.25,3652.87,3651.64,3652.72,0,0
+2006-01-05,11:00:00,3652.87,3652.91,3652.20,3652.51,0,0
+2006-01-05,11:05:00,3652.53,3652.53,3648.55,3648.55,0,0
+2006-01-05,11:10:00,3648.91,3649.59,3648.20,3649.59,0,0
+2006-01-05,11:15:00,3649.41,3650.09,3649.16,3649.87,0,0
+2006-01-05,11:20:00,3650.12,3650.84,3647.57,3647.79,0,0
+2006-01-05,11:25:00,3647.45,3648.63,3647.45,3648.44,0,0
+2006-01-05,11:30:00,3648.56,3648.93,3646.19,3647.31,0,0
+2006-01-05,11:35:00,3646.93,3647.97,3646.93,3647.97,0,0
+2006-01-05,11:40:00,3648.00,3650.81,3647.68,3650.24,0,0
+2006-01-05,11:45:00,3650.36,3651.02,3649.81,3650.75,0,0
+2006-01-05,11:50:00,3650.92,3651.56,3650.59,3651.28,0,0
+2006-01-05,11:55:00,3651.27,3651.52,3651.00,3651.32,0,0
+2006-01-05,12:00:00,3651.25,3652.43,3651.08,3652.16,0,0
+2006-01-05,12:05:00,3651.59,3653.56,3651.59,3653.00,0,0
+2006-01-05,12:10:00,3653.23,3653.25,3652.17,3652.44,0,0
+2006-01-05,12:15:00,3652.32,3652.57,3650.23,3650.87,0,0
+2006-01-05,12:20:00,3650.45,3651.24,3650.33,3650.87,0,0
+2006-01-05,12:25:00,3650.73,3651.88,3650.43,3651.54,0,0
+2006-01-05,12:30:00,3651.74,3653.73,3651.51,3652.23,0,0
+2006-01-05,12:35:00,3652.01,3652.15,3651.58,3651.69,0,0
+2006-01-05,12:40:00,3651.68,3652.07,3651.24,3651.47,0,0
+2006-01-05,12:45:00,3651.28,3651.94,3651.08,3651.30,0,0
+2006-01-05,12:50:00,3651.45,3652.15,3651.43,3652.15,0,0
+2006-01-05,12:55:00,3652.08,3652.17,3651.60,3651.90,0,0
+2006-01-05,13:00:00,3651.61,3651.95,3651.11,3651.95,0,0
+2006-01-05,13:05:00,3651.88,3653.71,3651.60,3653.07,0,0
+2006-01-05,13:10:00,3652.70,3656.32,3652.70,3655.70,0,0
+2006-01-05,13:15:00,3655.73,3656.46,3655.53,3656.04,0,0
+2006-01-05,13:20:00,3655.77,3656.16,3654.95,3655.46,0,0
+2006-01-05,13:25:00,3655.34,3656.05,3655.02,3656.04,0,0
+2006-01-05,13:30:00,3656.05,3656.32,3655.68,3656.04,0,0
+2006-01-05,13:35:00,3655.83,3656.86,3655.60,3656.02,0,0
+2006-01-05,13:40:00,3656.35,3656.35,3655.47,3655.54,0,0
+2006-01-05,13:45:00,3655.80,3656.49,3655.47,3656.08,0,0
+2006-01-05,13:50:00,3656.26,3656.88,3656.26,3656.66,0,0
+2006-01-05,13:55:00,3656.75,3656.75,3653.71,3654.25,0,0
+2006-01-05,14:00:00,3654.10,3654.10,3652.67,3653.03,0,0
+2006-01-05,14:05:00,3652.73,3652.83,3651.40,3651.62,0,0
+2006-01-05,14:10:00,3651.01,3652.14,3650.95,3652.13,0,0
+2006-01-05,14:15:00,3652.02,3652.33,3651.57,3651.90,0,0
+2006-01-05,14:20:00,3652.06,3652.35,3651.60,3652.29,0,0
+2006-01-05,14:25:00,3652.01,3654.38,3651.88,3654.15,0,0
+2006-01-05,14:30:00,3653.92,3654.34,3653.59,3654.07,0,0
+2006-01-05,14:35:00,3653.67,3656.00,3653.31,3654.19,0,0
+2006-01-05,14:40:00,3654.18,3654.43,3653.70,3654.19,0,0
+2006-01-05,14:45:00,3653.98,3654.09,3653.33,3653.79,0,0
+2006-01-05,14:50:00,3653.54,3654.80,3653.54,3654.20,0,0
+2006-01-05,14:55:00,3654.17,3655.48,3654.17,3654.92,0,0
+2006-01-05,15:00:00,3654.82,3654.82,3654.13,3654.42,0,0
+2006-01-05,15:05:00,3654.63,3655.14,3653.67,3654.29,0,0
+2006-01-05,15:10:00,3654.15,3655.06,3654.15,3654.43,0,0
+2006-01-05,15:15:00,3654.53,3656.66,3654.30,3654.56,0,0
+2006-01-05,15:20:00,3654.74,3655.97,3654.71,3655.70,0,0
+2006-01-05,15:25:00,3655.31,3655.46,3654.01,3654.31,0,0
+2006-01-05,15:30:00,3654.39,3655.07,3654.19,3654.78,0,0
+2006-01-05,15:35:00,3654.93,3657.34,3654.21,3657.03,0,0
+2006-01-05,15:40:00,3657.71,3658.44,3656.67,3658.44,0,0
+2006-01-05,15:45:00,3658.99,3659.16,3657.14,3658.36,0,0
+2006-01-05,15:50:00,3658.37,3661.65,3658.28,3659.76,0,0
+2006-01-05,15:55:00,3659.47,3659.63,3654.78,3655.43,0,0
+2006-01-05,16:00:00,3655.67,3656.50,3654.28,3656.36,0,0
+2006-01-05,16:05:00,3655.97,3656.82,3654.79,3656.19,0,0
+2006-01-05,16:10:00,3656.41,3660.92,3656.41,3658.77,0,0
+2006-01-05,16:15:00,3658.84,3658.94,3657.76,3658.68,0,0
+2006-01-05,16:20:00,3659.12,3659.12,3657.14,3657.93,0,0
+2006-01-05,16:25:00,3658.23,3659.65,3657.80,3658.46,0,0
+2006-01-05,16:30:00,3658.35,3658.37,3654.57,3654.57,0,0
+2006-01-05,16:35:00,3654.02,3655.37,3650.70,3650.70,0,0
+2006-01-05,16:40:00,3650.36,3652.00,3645.83,3645.83,0,0
+2006-01-05,16:45:00,3645.66,3646.03,3643.74,3644.81,0,0
+2006-01-05,16:50:00,3645.42,3647.16,3645.42,3646.57,0,0
+2006-01-05,16:55:00,3646.99,3649.05,3646.61,3647.16,0,0
+2006-01-05,17:00:00,3646.80,3647.03,3644.85,3646.99,0,0
+2006-01-05,17:05:00,3647.10,3650.33,3647.10,3649.49,0,0
+2006-01-05,17:10:00,3649.61,3649.70,3645.85,3649.11,0,0
+2006-01-05,17:15:00,3649.13,3649.48,3647.88,3649.34,0,0
+2006-01-05,17:20:00,3649.18,3651.90,3649.18,3650.13,0,0
+2006-01-05,17:25:00,3650.27,3650.38,3648.92,3648.92,0,0
+2006-01-05,17:30:00,3648.85,3650.32,3648.27,3650.24,0,0
+2006-01-06,09:05:00,3650.54,3653.70,3650.54,3653.70,0,0
+2006-01-06,09:10:00,3653.83,3655.18,3650.68,3650.68,0,0
+2006-01-06,09:15:00,3650.98,3653.21,3650.07,3653.07,0,0
+2006-01-06,09:20:00,3652.62,3653.11,3649.71,3649.87,0,0
+2006-01-06,09:25:00,3649.47,3650.48,3648.57,3650.48,0,0
+2006-01-06,09:30:00,3650.53,3650.89,3649.38,3650.65,0,0
+2006-01-06,09:35:00,3650.99,3651.02,3647.66,3649.20,0,0
+2006-01-06,09:40:00,3649.24,3650.43,3648.84,3650.22,0,0
+2006-01-06,09:45:00,3650.14,3650.32,3649.28,3649.28,0,0
+2006-01-06,09:50:00,3648.91,3649.80,3648.50,3649.80,0,0
+2006-01-06,09:55:00,3649.71,3650.80,3649.64,3650.80,0,0
+2006-01-06,10:00:00,3650.77,3650.90,3649.42,3649.63,0,0
+2006-01-06,10:05:00,3649.48,3649.79,3647.91,3649.79,0,0
+2006-01-06,10:10:00,3649.67,3651.20,3649.60,3650.98,0,0
+2006-01-06,10:15:00,3650.80,3651.21,3649.88,3649.88,0,0
+2006-01-06,10:20:00,3649.97,3651.54,3649.97,3651.27,0,0
+2006-01-06,10:25:00,3651.13,3651.32,3649.92,3649.93,0,0
+2006-01-06,10:30:00,3649.98,3650.18,3649.47,3650.18,0,0
+2006-01-06,10:35:00,3649.85,3651.10,3649.85,3650.86,0,0
+2006-01-06,10:40:00,3650.54,3652.64,3650.54,3652.58,0,0
+2006-01-06,10:45:00,3652.47,3653.21,3652.47,3653.12,0,0
+2006-01-06,10:50:00,3653.08,3653.39,3652.65,3652.77,0,0
+2006-01-06,10:55:00,3652.71,3653.52,3652.54,3652.69,0,0
+2006-01-06,11:00:00,3652.54,3653.09,3652.54,3653.03,0,0
+2006-01-06,11:05:00,3652.88,3654.00,3652.88,3653.62,0,0
+2006-01-06,11:10:00,3653.35,3653.51,3652.04,3652.37,0,0
+2006-01-06,11:15:00,3652.08,3652.53,3651.50,3652.53,0,0
+2006-01-06,11:20:00,3652.46,3653.28,3652.44,3653.28,0,0
+2006-01-06,11:25:00,3653.33,3653.89,3652.90,3653.33,0,0
+2006-01-06,11:30:00,3653.35,3654.93,3653.35,3654.56,0,0
+2006-01-06,11:35:00,3654.53,3655.48,3654.52,3654.93,0,0
+2006-01-06,11:40:00,3654.95,3655.31,3654.60,3654.82,0,0
+2006-01-06,11:45:00,3654.75,3655.55,3654.65,3655.55,0,0
+2006-01-06,11:50:00,3655.75,3655.75,3655.18,3655.41,0,0
+2006-01-06,11:55:00,3655.59,3656.11,3655.44,3655.89,0,0
+2006-01-06,12:00:00,3655.89,3656.28,3655.27,3655.30,0,0
+2006-01-06,12:05:00,3655.86,3656.09,3655.16,3655.88,0,0
+2006-01-06,12:10:00,3656.01,3656.47,3655.72,3656.03,0,0
+2006-01-06,12:15:00,3655.89,3655.89,3654.85,3655.15,0,0
+2006-01-06,12:20:00,3655.20,3655.20,3654.67,3654.81,0,0
+2006-01-06,12:25:00,3654.91,3655.20,3654.49,3654.49,0,0
+2006-01-06,12:30:00,3654.38,3654.44,3653.69,3653.85,0,0
+2006-01-06,12:35:00,3653.88,3654.24,3653.61,3653.61,0,0
+2006-01-06,12:40:00,3653.96,3654.71,3653.91,3654.27,0,0
+2006-01-06,12:45:00,3654.41,3655.00,3654.04,3655.00,0,0
+2006-01-06,12:50:00,3654.79,3655.23,3654.50,3655.23,0,0
+2006-01-06,12:55:00,3654.99,3655.26,3654.71,3655.14,0,0
+2006-01-06,13:00:00,3655.13,3655.50,3655.08,3655.45,0,0
+2006-01-06,13:05:00,3655.57,3655.57,3655.05,3655.19,0,0
+2006-01-06,13:10:00,3655.07,3655.07,3654.53,3654.55,0,0
+2006-01-06,13:15:00,3654.50,3655.08,3654.34,3655.08,0,0
+2006-01-06,13:20:00,3655.25,3655.42,3654.93,3655.26,0,0
+2006-01-06,13:25:00,3655.26,3658.19,3655.13,3658.19,0,0
+2006-01-06,13:30:00,3658.61,3660.66,3658.61,3660.65,0,0
+2006-01-06,13:35:00,3660.71,3662.60,3660.03,3660.03,0,0
+2006-01-06,13:40:00,3660.04,3660.04,3659.22,3659.37,0,0
+2006-01-06,13:45:00,3659.34,3659.80,3659.23,3659.80,0,0
+2006-01-06,13:50:00,3659.86,3659.86,3659.24,3659.56,0,0
+2006-01-06,13:55:00,3659.30,3659.39,3658.69,3658.93,0,0
+2006-01-06,14:00:00,3659.20,3660.12,3659.05,3660.02,0,0
+2006-01-06,14:05:00,3660.14,3660.56,3660.05,3660.41,0,0
+2006-01-06,14:10:00,3660.39,3660.60,3660.17,3660.36,0,0
+2006-01-06,14:15:00,3660.38,3662.48,3660.33,3662.48,0,0
+2006-01-06,14:20:00,3663.08,3663.74,3662.74,3663.26,0,0
+2006-01-06,14:25:00,3663.52,3663.84,3663.34,3663.41,0,0
+2006-01-06,14:30:00,3663.47,3663.76,3662.45,3662.45,0,0
+2006-01-06,14:35:00,3662.36,3664.54,3657.58,3661.76,0,0
+2006-01-06,14:40:00,3660.89,3661.13,3657.45,3657.45,0,0
+2006-01-06,14:45:00,3656.78,3658.55,3656.03,3657.32,0,0
+2006-01-06,14:50:00,3657.36,3657.72,3656.39,3656.91,0,0
+2006-01-06,14:55:00,3657.19,3659.52,3657.01,3659.52,0,0
+2006-01-06,15:00:00,3659.75,3664.25,3659.75,3664.25,0,0
+2006-01-06,15:05:00,3664.56,3665.18,3662.85,3662.85,0,0
+2006-01-06,15:10:00,3662.72,3662.84,3660.98,3661.27,0,0
+2006-01-06,15:15:00,3661.18,3661.52,3659.44,3660.09,0,0
+2006-01-06,15:20:00,3660.18,3660.84,3660.09,3660.80,0,0
+2006-01-06,15:25:00,3660.98,3661.17,3660.28,3661.17,0,0
+2006-01-06,15:30:00,3661.15,3662.00,3661.15,3661.48,0,0
+2006-01-06,15:35:00,3661.83,3663.08,3661.60,3662.98,0,0
+2006-01-06,15:40:00,3662.93,3662.93,3659.61,3659.63,0,0
+2006-01-06,15:45:00,3659.48,3659.48,3658.02,3658.48,0,0
+2006-01-06,15:50:00,3658.69,3660.13,3657.18,3660.04,0,0
+2006-01-06,15:55:00,3659.77,3660.22,3658.58,3658.60,0,0
+2006-01-06,16:00:00,3658.74,3659.65,3658.01,3659.65,0,0
+2006-01-06,16:05:00,3660.00,3660.00,3655.43,3656.38,0,0
+2006-01-06,16:10:00,3656.42,3656.93,3655.89,3656.02,0,0
+2006-01-06,16:15:00,3656.13,3659.64,3656.13,3659.64,0,0
+2006-01-06,16:20:00,3659.04,3659.63,3657.41,3657.41,0,0
+2006-01-06,16:25:00,3657.42,3659.22,3656.19,3656.68,0,0
+2006-01-06,16:30:00,3656.99,3658.09,3656.61,3658.03,0,0
+2006-01-06,16:35:00,3657.93,3658.82,3657.30,3657.78,0,0
+2006-01-06,16:40:00,3657.86,3658.82,3657.64,3658.52,0,0
+2006-01-06,16:45:00,3658.50,3659.37,3658.07,3659.26,0,0
+2006-01-06,16:50:00,3659.05,3659.27,3657.08,3658.52,0,0
+2006-01-06,16:55:00,3658.99,3659.46,3658.81,3659.11,0,0
+2006-01-06,17:00:00,3659.30,3659.34,3658.00,3659.06,0,0
+2006-01-06,17:05:00,3659.05,3661.22,3659.05,3659.64,0,0
+2006-01-06,17:10:00,3659.80,3660.17,3659.19,3659.23,0,0
+2006-01-06,17:15:00,3659.39,3659.39,3657.62,3658.19,0,0
+2006-01-06,17:20:00,3658.40,3661.06,3658.40,3660.67,0,0
+2006-01-06,17:25:00,3660.90,3663.24,3660.32,3661.99,0,0
+2006-01-06,17:30:00,3662.17,3666.99,3662.04,3666.99,0,0
+2006-01-09,09:05:00,3667.10,3683.29,3667.10,3682.86,0,0
+2006-01-09,09:10:00,3682.20,3685.99,3682.20,3684.58,0,0
+2006-01-09,09:15:00,3684.44,3684.44,3682.23,3682.23,0,0
+2006-01-09,09:20:00,3681.25,3681.25,3678.89,3680.28,0,0
+2006-01-09,09:25:00,3680.71,3682.60,3680.71,3682.60,0,0
+2006-01-09,09:30:00,3682.50,3682.50,3680.36,3681.28,0,0
+2006-01-09,09:35:00,3680.95,3681.09,3679.71,3679.93,0,0
+2006-01-09,09:40:00,3679.86,3679.86,3676.59,3677.85,0,0
+2006-01-09,09:45:00,3678.23,3679.31,3677.64,3679.31,0,0
+2006-01-09,09:50:00,3679.34,3680.56,3678.77,3680.56,0,0
+2006-01-09,09:55:00,3680.56,3682.03,3680.56,3681.19,0,0
+2006-01-09,10:00:00,3680.93,3681.50,3680.05,3680.05,0,0
+2006-01-09,10:05:00,3679.73,3680.41,3678.52,3678.77,0,0
+2006-01-09,10:10:00,3678.38,3679.79,3678.11,3679.17,0,0
+2006-01-09,10:15:00,3678.98,3680.10,3677.68,3677.68,0,0
+2006-01-09,10:20:00,3677.53,3679.11,3677.53,3679.11,0,0
+2006-01-09,10:25:00,3677.66,3677.94,3675.57,3676.07,0,0
+2006-01-09,10:30:00,3675.75,3678.20,3675.75,3678.13,0,0
+2006-01-09,10:35:00,3678.12,3680.85,3677.83,3679.27,0,0
+2006-01-09,10:40:00,3679.28,3679.86,3678.49,3679.86,0,0
+2006-01-09,10:45:00,3679.75,3680.55,3679.75,3680.21,0,0
+2006-01-09,10:50:00,3680.15,3680.80,3679.02,3679.02,0,0
+2006-01-09,10:55:00,3679.28,3681.61,3679.28,3681.38,0,0
+2006-01-09,11:00:00,3681.01,3682.54,3680.67,3680.67,0,0
+2006-01-09,11:05:00,3680.60,3681.04,3678.96,3679.47,0,0
+2006-01-09,11:10:00,3679.54,3680.60,3679.45,3680.12,0,0
+2006-01-09,11:15:00,3680.16,3683.76,3680.16,3683.76,0,0
+2006-01-09,11:20:00,3683.39,3684.92,3683.39,3684.12,0,0
+2006-01-09,11:25:00,3683.73,3685.11,3683.56,3684.95,0,0
+2006-01-09,11:30:00,3684.81,3685.32,3683.41,3683.68,0,0
+2006-01-09,11:35:00,3683.25,3683.66,3682.85,3682.85,0,0
+2006-01-09,11:40:00,3682.60,3683.22,3681.84,3682.05,0,0
+2006-01-09,11:45:00,3682.02,3683.47,3681.95,3683.47,0,0
+2006-01-09,11:50:00,3683.19,3684.63,3683.19,3684.51,0,0
+2006-01-09,11:55:00,3684.10,3684.38,3683.45,3683.68,0,0
+2006-01-09,12:00:00,3683.87,3683.87,3683.05,3683.38,0,0
+2006-01-09,12:05:00,3683.66,3683.66,3682.35,3682.47,0,0
+2006-01-09,12:10:00,3682.34,3682.57,3680.48,3681.37,0,0
+2006-01-09,12:15:00,3681.50,3681.51,3680.40,3680.84,0,0
+2006-01-09,12:20:00,3681.03,3681.21,3677.50,3677.83,0,0
+2006-01-09,12:25:00,3677.75,3678.94,3677.74,3678.82,0,0
+2006-01-09,12:30:00,3679.04,3679.43,3678.75,3678.75,0,0
+2006-01-09,12:35:00,3679.27,3680.33,3678.65,3680.05,0,0
+2006-01-09,12:40:00,3679.98,3681.09,3679.34,3679.34,0,0
+2006-01-09,12:45:00,3678.96,3679.26,3678.02,3678.65,0,0
+2006-01-09,12:50:00,3678.81,3680.06,3678.14,3678.41,0,0
+2006-01-09,12:55:00,3678.05,3678.05,3676.95,3677.46,0,0
+2006-01-09,13:00:00,3677.15,3678.10,3676.93,3677.57,0,0
+2006-01-09,13:05:00,3677.63,3678.13,3677.36,3678.13,0,0
+2006-01-09,13:10:00,3677.77,3678.21,3677.49,3677.77,0,0
+2006-01-09,13:15:00,3677.74,3678.38,3677.74,3678.29,0,0
+2006-01-09,13:20:00,3678.58,3678.62,3678.00,3678.62,0,0
+2006-01-09,13:25:00,3678.70,3679.18,3678.48,3678.54,0,0
+2006-01-09,13:30:00,3678.22,3678.45,3677.80,3677.94,0,0
+2006-01-09,13:35:00,3678.08,3678.23,3677.42,3677.96,0,0
+2006-01-09,13:40:00,3678.07,3678.07,3677.33,3677.65,0,0
+2006-01-09,13:45:00,3677.66,3678.32,3677.29,3677.93,0,0
+2006-01-09,13:50:00,3677.99,3678.91,3677.99,3678.91,0,0
+2006-01-09,13:55:00,3678.85,3679.22,3678.05,3678.05,0,0
+2006-01-09,14:00:00,3677.95,3678.72,3677.90,3678.72,0,0
+2006-01-09,14:05:00,3678.65,3678.69,3678.02,3678.69,0,0
+2006-01-09,14:10:00,3678.92,3679.08,3678.19,3679.08,0,0
+2006-01-09,14:15:00,3678.55,3678.55,3676.54,3677.56,0,0
+2006-01-09,14:20:00,3677.80,3678.85,3677.68,3678.85,0,0
+2006-01-09,14:25:00,3678.80,3679.21,3677.93,3678.87,0,0
+2006-01-09,14:30:00,3678.66,3678.81,3677.39,3678.20,0,0
+2006-01-09,14:35:00,3678.07,3678.73,3677.78,3677.85,0,0
+2006-01-09,14:40:00,3677.86,3678.11,3676.83,3677.13,0,0
+2006-01-09,14:45:00,3677.13,3677.17,3674.06,3674.22,0,0
+2006-01-09,14:50:00,3674.22,3675.48,3674.22,3675.14,0,0
+2006-01-09,14:55:00,3675.11,3675.39,3673.56,3674.61,0,0
+2006-01-09,15:00:00,3674.45,3675.19,3674.45,3674.86,0,0
+2006-01-09,15:05:00,3675.36,3675.38,3671.94,3672.73,0,0
+2006-01-09,15:10:00,3672.68,3674.18,3672.33,3674.18,0,0
+2006-01-09,15:15:00,3673.87,3674.57,3673.51,3674.56,0,0
+2006-01-09,15:20:00,3674.69,3676.31,3674.58,3675.91,0,0
+2006-01-09,15:25:00,3675.98,3676.86,3675.44,3676.76,0,0
+2006-01-09,15:30:00,3676.85,3677.17,3676.51,3676.84,0,0
+2006-01-09,15:35:00,3676.83,3678.59,3676.30,3678.02,0,0
+2006-01-09,15:40:00,3678.25,3678.45,3676.97,3678.45,0,0
+2006-01-09,15:45:00,3678.91,3679.44,3676.82,3677.13,0,0
+2006-01-09,15:50:00,3676.84,3677.69,3675.84,3676.68,0,0
+2006-01-09,15:55:00,3676.91,3676.91,3675.55,3675.85,0,0
+2006-01-09,16:00:00,3675.68,3676.89,3672.82,3673.17,0,0
+2006-01-09,16:05:00,3673.29,3674.13,3670.78,3670.78,0,0
+2006-01-09,16:10:00,3670.99,3672.94,3670.40,3672.94,0,0
+2006-01-09,16:15:00,3672.86,3674.33,3672.41,3674.33,0,0
+2006-01-09,16:20:00,3674.29,3676.63,3674.03,3675.83,0,0
+2006-01-09,16:25:00,3675.94,3676.08,3674.05,3674.22,0,0
+2006-01-09,16:30:00,3673.99,3675.27,3673.71,3674.39,0,0
+2006-01-09,16:35:00,3674.54,3676.04,3673.56,3675.07,0,0
+2006-01-09,16:40:00,3675.01,3675.17,3673.90,3675.06,0,0
+2006-01-09,16:45:00,3674.52,3675.02,3673.10,3675.02,0,0
+2006-01-09,16:50:00,3674.73,3676.70,3674.72,3676.70,0,0
+2006-01-09,16:55:00,3676.43,3677.19,3673.46,3673.46,0,0
+2006-01-09,17:00:00,3673.46,3674.22,3673.29,3673.29,0,0
+2006-01-09,17:05:00,3672.96,3673.55,3671.93,3672.30,0,0
+2006-01-09,17:10:00,3672.44,3673.06,3671.98,3673.06,0,0
+2006-01-09,17:15:00,3673.38,3673.87,3673.03,3673.13,0,0
+2006-01-09,17:20:00,3672.90,3673.11,3671.63,3671.90,0,0
+2006-01-09,17:25:00,3672.17,3673.13,3671.98,3672.50,0,0
+2006-01-09,17:30:00,3672.72,3673.98,3671.75,3671.78,0,0
+2006-01-10,09:05:00,3671.23,3671.23,3659.49,3660.84,0,0
+2006-01-10,09:10:00,3661.04,3661.67,3658.97,3661.05,0,0
+2006-01-10,09:15:00,3660.94,3662.52,3660.94,3661.85,0,0
+2006-01-10,09:20:00,3662.00,3662.34,3658.08,3658.39,0,0
+2006-01-10,09:25:00,3658.75,3659.87,3657.53,3658.01,0,0
+2006-01-10,09:30:00,3657.74,3659.52,3656.70,3658.22,0,0
+2006-01-10,09:35:00,3657.92,3660.62,3657.71,3660.62,0,0
+2006-01-10,09:40:00,3661.06,3662.37,3661.06,3661.27,0,0
+2006-01-10,09:45:00,3660.94,3661.66,3659.16,3659.16,0,0
+2006-01-10,09:50:00,3658.99,3659.14,3651.00,3651.00,0,0
+2006-01-10,09:55:00,3651.34,3651.34,3648.83,3650.79,0,0
+2006-01-10,10:00:00,3651.43,3651.69,3650.11,3650.11,0,0
+2006-01-10,10:05:00,3650.15,3650.69,3648.24,3650.55,0,0
+2006-01-10,10:10:00,3650.84,3651.56,3650.14,3650.62,0,0
+2006-01-10,10:15:00,3649.94,3650.49,3645.96,3647.00,0,0
+2006-01-10,10:20:00,3646.88,3648.89,3646.57,3648.69,0,0
+2006-01-10,10:25:00,3648.40,3648.80,3646.88,3646.94,0,0
+2006-01-10,10:30:00,3646.83,3647.85,3645.81,3647.68,0,0
+2006-01-10,10:35:00,3647.56,3648.07,3646.32,3646.32,0,0
+2006-01-10,10:40:00,3646.32,3648.15,3646.32,3647.94,0,0
+2006-01-10,10:45:00,3647.90,3648.66,3647.61,3647.78,0,0
+2006-01-10,10:50:00,3647.55,3647.76,3645.66,3645.66,0,0
+2006-01-10,10:55:00,3645.84,3647.47,3645.71,3647.29,0,0
+2006-01-10,11:00:00,3647.24,3648.42,3646.79,3648.10,0,0
+2006-01-10,11:05:00,3647.81,3650.03,3647.67,3648.73,0,0
+2006-01-10,11:10:00,3648.80,3648.80,3646.89,3646.99,0,0
+2006-01-10,11:15:00,3646.88,3646.88,3644.99,3645.43,0,0
+2006-01-10,11:20:00,3646.09,3647.91,3646.09,3646.95,0,0
+2006-01-10,11:25:00,3647.46,3647.49,3644.51,3644.51,0,0
+2006-01-10,11:30:00,3644.80,3644.93,3639.82,3641.04,0,0
+2006-01-10,11:35:00,3640.58,3641.28,3638.77,3641.09,0,0
+2006-01-10,11:40:00,3641.00,3641.62,3640.25,3641.16,0,0
+2006-01-10,11:45:00,3640.87,3643.43,3640.87,3642.94,0,0
+2006-01-10,11:50:00,3642.80,3643.07,3641.75,3642.79,0,0
+2006-01-10,11:55:00,3642.56,3642.90,3642.18,3642.90,0,0
+2006-01-10,12:00:00,3642.51,3644.06,3642.44,3644.06,0,0
+2006-01-10,12:05:00,3642.84,3644.23,3641.89,3642.40,0,0
+2006-01-10,12:10:00,3642.55,3644.57,3642.55,3644.57,0,0
+2006-01-10,12:15:00,3644.35,3644.94,3643.56,3643.77,0,0
+2006-01-10,12:20:00,3644.23,3644.54,3643.81,3644.00,0,0
+2006-01-10,12:25:00,3644.24,3644.92,3644.09,3644.09,0,0
+2006-01-10,12:30:00,3644.36,3644.81,3642.28,3642.57,0,0
+2006-01-10,12:35:00,3642.51,3642.51,3640.74,3640.74,0,0
+2006-01-10,12:40:00,3640.96,3641.11,3640.31,3640.91,0,0
+2006-01-10,12:45:00,3641.05,3641.69,3641.05,3641.50,0,0
+2006-01-10,12:50:00,3641.56,3641.99,3641.21,3641.99,0,0
+2006-01-10,12:55:00,3641.68,3642.49,3641.53,3641.97,0,0
+2006-01-10,13:00:00,3641.91,3644.09,3641.91,3643.93,0,0
+2006-01-10,13:05:00,3643.99,3645.49,3643.56,3645.03,0,0
+2006-01-10,13:10:00,3645.19,3647.02,3645.19,3646.80,0,0
+2006-01-10,13:15:00,3646.94,3647.38,3646.71,3647.05,0,0
+2006-01-10,13:20:00,3646.98,3647.13,3646.50,3646.59,0,0
+2006-01-10,13:25:00,3646.47,3647.18,3646.37,3646.96,0,0
+2006-01-10,13:30:00,3646.76,3646.76,3644.94,3645.37,0,0
+2006-01-10,13:35:00,3645.40,3645.87,3645.03,3645.61,0,0
+2006-01-10,13:40:00,3645.74,3646.87,3645.69,3646.87,0,0
+2006-01-10,13:45:00,3646.53,3646.67,3645.98,3646.42,0,0
+2006-01-10,13:50:00,3646.25,3646.72,3645.57,3645.76,0,0
+2006-01-10,13:55:00,3645.92,3646.24,3645.36,3645.53,0,0
+2006-01-10,14:00:00,3644.91,3645.24,3644.44,3644.98,0,0
+2006-01-10,14:05:00,3645.31,3646.13,3645.19,3645.94,0,0
+2006-01-10,14:10:00,3645.48,3645.56,3642.32,3642.90,0,0
+2006-01-10,14:15:00,3642.67,3643.79,3641.49,3643.49,0,0
+2006-01-10,14:20:00,3643.26,3643.63,3641.73,3642.37,0,0
+2006-01-10,14:25:00,3642.54,3642.98,3641.03,3641.94,0,0
+2006-01-10,14:30:00,3641.96,3642.95,3641.60,3642.95,0,0
+2006-01-10,14:35:00,3642.55,3643.28,3642.31,3643.09,0,0
+2006-01-10,14:40:00,3643.00,3643.37,3642.42,3642.71,0,0
+2006-01-10,14:45:00,3642.82,3642.88,3641.44,3641.56,0,0
+2006-01-10,14:50:00,3641.59,3642.36,3641.59,3642.14,0,0
+2006-01-10,14:55:00,3642.04,3642.33,3641.81,3641.88,0,0
+2006-01-10,15:00:00,3641.97,3643.11,3641.92,3643.11,0,0
+2006-01-10,15:05:00,3643.01,3643.01,3641.85,3641.93,0,0
+2006-01-10,15:10:00,3642.07,3642.99,3641.95,3642.29,0,0
+2006-01-10,15:15:00,3642.49,3642.49,3639.16,3639.20,0,0
+2006-01-10,15:20:00,3639.48,3644.31,3639.33,3644.31,0,0
+2006-01-10,15:25:00,3644.56,3644.86,3644.02,3644.45,0,0
+2006-01-10,15:30:00,3644.11,3644.58,3643.75,3644.30,0,0
+2006-01-10,15:35:00,3644.54,3645.49,3643.64,3645.49,0,0
+2006-01-10,15:40:00,3645.41,3646.52,3644.47,3646.52,0,0
+2006-01-10,15:45:00,3646.73,3647.80,3645.21,3647.80,0,0
+2006-01-10,15:50:00,3647.78,3647.78,3645.91,3646.45,0,0
+2006-01-10,15:55:00,3646.69,3646.69,3643.96,3643.96,0,0
+2006-01-10,16:00:00,3644.35,3644.76,3644.01,3644.76,0,0
+2006-01-10,16:05:00,3645.02,3648.73,3644.76,3648.73,0,0
+2006-01-10,16:10:00,3648.93,3648.93,3646.70,3647.25,0,0
+2006-01-10,16:15:00,3647.62,3650.43,3647.62,3650.43,0,0
+2006-01-10,16:20:00,3649.38,3651.24,3649.31,3650.31,0,0
+2006-01-10,16:25:00,3649.13,3652.06,3649.02,3652.06,0,0
+2006-01-10,16:30:00,3651.85,3652.01,3650.16,3650.21,0,0
+2006-01-10,16:35:00,3650.21,3651.22,3649.88,3650.72,0,0
+2006-01-10,16:40:00,3650.77,3652.88,3650.55,3652.88,0,0
+2006-01-10,16:45:00,3653.40,3653.53,3652.00,3652.00,0,0
+2006-01-10,16:50:00,3650.73,3651.21,3650.28,3651.04,0,0
+2006-01-10,16:55:00,3651.06,3652.03,3650.50,3650.70,0,0
+2006-01-10,17:00:00,3650.73,3652.29,3650.34,3651.03,0,0
+2006-01-10,17:05:00,3651.23,3651.80,3647.75,3647.75,0,0
+2006-01-10,17:10:00,3648.35,3648.44,3645.69,3645.96,0,0
+2006-01-10,17:15:00,3645.80,3646.97,3645.80,3646.23,0,0
+2006-01-10,17:20:00,3646.47,3647.98,3645.99,3647.27,0,0
+2006-01-10,17:25:00,3647.34,3648.75,3647.34,3648.42,0,0
+2006-01-10,17:30:00,3648.22,3648.34,3644.94,3644.94,0,0
+2006-01-11,09:05:00,3645.73,3666.44,3645.73,3666.44,0,0
+2006-01-11,09:10:00,3666.49,3668.77,3666.49,3668.77,0,0
+2006-01-11,09:15:00,3669.52,3669.52,3665.40,3667.29,0,0
+2006-01-11,09:20:00,3666.83,3669.24,3665.75,3665.75,0,0
+2006-01-11,09:25:00,3665.89,3668.68,3665.17,3665.17,0,0
+2006-01-11,09:30:00,3665.10,3665.10,3662.27,3663.66,0,0
+2006-01-11,09:35:00,3663.67,3664.48,3663.24,3663.56,0,0
+2006-01-11,09:40:00,3664.09,3664.09,3662.48,3663.55,0,0
+2006-01-11,09:45:00,3663.55,3666.19,3663.19,3665.61,0,0
+2006-01-11,09:50:00,3665.49,3665.49,3664.41,3664.80,0,0
+2006-01-11,09:55:00,3666.01,3666.01,3663.41,3663.88,0,0
+2006-01-11,10:00:00,3664.04,3666.15,3663.51,3665.51,0,0
+2006-01-11,10:05:00,3665.76,3667.95,3665.34,3667.76,0,0
+2006-01-11,10:10:00,3667.82,3667.82,3666.12,3666.26,0,0
+2006-01-11,10:15:00,3666.26,3666.66,3665.79,3666.54,0,0
+2006-01-11,10:20:00,3666.28,3667.72,3666.28,3666.77,0,0
+2006-01-11,10:25:00,3666.45,3666.52,3665.21,3665.40,0,0
+2006-01-11,10:30:00,3665.51,3666.56,3665.07,3666.48,0,0
+2006-01-11,10:35:00,3666.24,3666.24,3664.00,3664.71,0,0
+2006-01-11,10:40:00,3664.58,3666.43,3664.48,3665.98,0,0
+2006-01-11,10:45:00,3665.57,3666.14,3665.57,3665.60,0,0
+2006-01-11,10:50:00,3665.53,3665.82,3664.76,3665.13,0,0
+2006-01-11,10:55:00,3665.26,3665.47,3664.51,3665.33,0,0
+2006-01-11,11:00:00,3665.86,3667.13,3665.47,3665.80,0,0
+2006-01-11,11:05:00,3665.44,3665.74,3665.02,3665.26,0,0
+2006-01-11,11:10:00,3665.44,3666.44,3665.44,3666.26,0,0
+2006-01-11,11:15:00,3666.03,3667.39,3665.27,3666.71,0,0
+2006-01-11,11:20:00,3667.21,3669.97,3667.21,3669.97,0,0
+2006-01-11,11:25:00,3669.58,3670.21,3669.58,3669.81,0,0
+2006-01-11,11:30:00,3670.01,3671.27,3669.93,3670.89,0,0
+2006-01-11,11:35:00,3671.17,3671.48,3669.96,3671.33,0,0
+2006-01-11,11:40:00,3671.15,3671.48,3669.99,3670.36,0,0
+2006-01-11,11:45:00,3670.79,3671.09,3670.38,3670.90,0,0
+2006-01-11,11:50:00,3670.72,3670.81,3669.88,3670.70,0,0
+2006-01-11,11:55:00,3670.52,3671.11,3670.22,3670.93,0,0
+2006-01-11,12:00:00,3670.76,3673.70,3670.76,3673.70,0,0
+2006-01-11,12:05:00,3671.38,3674.31,3671.38,3672.84,0,0
+2006-01-11,12:10:00,3672.70,3673.29,3672.36,3672.41,0,0
+2006-01-11,12:15:00,3672.09,3672.44,3671.79,3672.24,0,0
+2006-01-11,12:20:00,3671.99,3672.56,3671.95,3672.42,0,0
+2006-01-11,12:25:00,3672.24,3673.13,3672.24,3672.44,0,0
+2006-01-11,12:30:00,3672.40,3672.95,3672.35,3672.73,0,0
+2006-01-11,12:35:00,3672.72,3672.89,3672.36,3672.76,0,0
+2006-01-11,12:40:00,3672.82,3672.82,3669.37,3669.67,0,0
+2006-01-11,12:45:00,3669.82,3670.15,3669.47,3670.15,0,0
+2006-01-11,12:50:00,3670.00,3670.46,3669.42,3669.42,0,0
+2006-01-11,12:55:00,3669.29,3669.92,3669.23,3669.58,0,0
+2006-01-11,13:00:00,3669.54,3669.67,3668.70,3669.33,0,0
+2006-01-11,13:05:00,3669.25,3669.25,3667.29,3667.46,0,0
+2006-01-11,13:10:00,3667.33,3667.33,3665.21,3665.21,0,0
+2006-01-11,13:15:00,3664.68,3665.53,3664.15,3665.39,0,0
+2006-01-11,13:20:00,3665.36,3665.36,3664.51,3664.55,0,0
+2006-01-11,13:25:00,3664.33,3664.60,3663.29,3663.29,0,0
+2006-01-11,13:30:00,3663.19,3663.57,3662.83,3663.30,0,0
+2006-01-11,13:35:00,3663.23,3663.72,3660.34,3660.54,0,0
+2006-01-11,13:40:00,3660.68,3662.14,3659.87,3662.14,0,0
+2006-01-11,13:45:00,3662.46,3665.14,3662.30,3664.90,0,0
+2006-01-11,13:50:00,3665.03,3665.27,3664.05,3664.15,0,0
+2006-01-11,13:55:00,3663.99,3664.87,3663.90,3664.75,0,0
+2006-01-11,14:00:00,3664.84,3665.60,3664.25,3665.17,0,0
+2006-01-11,14:05:00,3665.17,3665.17,3664.35,3664.64,0,0
+2006-01-11,14:10:00,3664.59,3664.59,3663.78,3664.03,0,0
+2006-01-11,14:15:00,3663.88,3664.47,3663.75,3664.15,0,0
+2006-01-11,14:20:00,3664.28,3664.54,3663.73,3663.98,0,0
+2006-01-11,14:25:00,3664.08,3664.09,3662.43,3662.76,0,0
+2006-01-11,14:30:00,3662.84,3663.32,3662.32,3663.32,0,0
+2006-01-11,14:35:00,3663.43,3663.43,3662.55,3663.09,0,0
+2006-01-11,14:40:00,3662.73,3663.25,3662.06,3663.25,0,0
+2006-01-11,14:45:00,3663.49,3665.02,3663.43,3664.70,0,0
+2006-01-11,14:50:00,3664.85,3665.32,3664.39,3664.75,0,0
+2006-01-11,14:55:00,3664.66,3665.46,3664.50,3665.23,0,0
+2006-01-11,15:00:00,3665.28,3665.79,3665.13,3665.54,0,0
+2006-01-11,15:05:00,3665.32,3665.32,3662.77,3663.19,0,0
+2006-01-11,15:10:00,3663.20,3663.64,3663.03,3663.50,0,0
+2006-01-11,15:15:00,3663.72,3663.81,3663.35,3663.47,0,0
+2006-01-11,15:20:00,3663.48,3663.58,3662.50,3663.45,0,0
+2006-01-11,15:25:00,3662.98,3663.01,3661.85,3662.05,0,0
+2006-01-11,15:30:00,3662.14,3662.61,3661.88,3662.17,0,0
+2006-01-11,15:35:00,3662.54,3662.54,3659.13,3659.49,0,0
+2006-01-11,15:40:00,3659.60,3659.67,3656.12,3656.12,0,0
+2006-01-11,15:45:00,3656.14,3656.46,3655.07,3655.89,0,0
+2006-01-11,15:50:00,3656.11,3657.02,3654.91,3656.58,0,0
+2006-01-11,15:55:00,3656.64,3656.97,3655.42,3655.58,0,0
+2006-01-11,16:00:00,3655.92,3658.21,3655.79,3657.52,0,0
+2006-01-11,16:05:00,3658.05,3659.29,3656.77,3658.09,0,0
+2006-01-11,16:10:00,3658.66,3660.50,3658.66,3658.67,0,0
+2006-01-11,16:15:00,3658.77,3659.89,3658.34,3659.89,0,0
+2006-01-11,16:20:00,3660.21,3663.92,3659.10,3662.77,0,0
+2006-01-11,16:25:00,3662.56,3664.62,3662.37,3664.39,0,0
+2006-01-11,16:30:00,3664.48,3664.48,3662.96,3663.61,0,0
+2006-01-11,16:35:00,3663.75,3664.20,3659.79,3659.79,0,0
+2006-01-11,16:40:00,3658.41,3660.99,3658.01,3660.99,0,0
+2006-01-11,16:45:00,3661.09,3661.44,3659.48,3659.94,0,0
+2006-01-11,16:50:00,3660.43,3661.01,3658.75,3659.51,0,0
+2006-01-11,16:55:00,3659.69,3659.84,3656.30,3656.30,0,0
+2006-01-11,17:00:00,3656.23,3657.94,3655.76,3657.94,0,0
+2006-01-11,17:05:00,3658.26,3658.34,3656.81,3657.87,0,0
+2006-01-11,17:10:00,3658.14,3660.82,3658.13,3660.82,0,0
+2006-01-11,17:15:00,3660.98,3661.25,3660.47,3661.05,0,0
+2006-01-11,17:20:00,3661.96,3664.62,3661.96,3664.00,0,0
+2006-01-11,17:25:00,3663.94,3663.98,3662.72,3663.74,0,0
+2006-01-11,17:30:00,3663.25,3668.61,3663.25,3668.61,0,0
+2006-01-12,09:05:00,3667.16,3667.49,3659.17,3660.16,0,0
+2006-01-12,09:10:00,3660.39,3662.88,3658.48,3662.88,0,0
+2006-01-12,09:15:00,3663.02,3667.28,3663.02,3666.64,0,0
+2006-01-12,09:20:00,3666.38,3668.57,3666.38,3668.31,0,0
+2006-01-12,09:25:00,3668.66,3669.98,3667.79,3667.95,0,0
+2006-01-12,09:30:00,3668.00,3668.71,3666.44,3666.44,0,0
+2006-01-12,09:35:00,3666.82,3666.82,3665.24,3665.24,0,0
+2006-01-12,09:40:00,3665.00,3665.96,3664.23,3665.79,0,0
+2006-01-12,09:45:00,3665.51,3666.44,3664.82,3665.28,0,0
+2006-01-12,09:50:00,3665.70,3665.77,3663.97,3663.97,0,0
+2006-01-12,09:55:00,3663.86,3664.22,3661.23,3661.66,0,0
+2006-01-12,10:00:00,3661.41,3662.72,3661.41,3662.13,0,0
+2006-01-12,10:05:00,3661.64,3662.89,3661.64,3662.05,0,0
+2006-01-12,10:10:00,3661.84,3661.84,3659.92,3660.66,0,0
+2006-01-12,10:15:00,3661.50,3662.11,3661.24,3661.33,0,0
+2006-01-12,10:20:00,3661.27,3664.88,3661.27,3664.19,0,0
+2006-01-12,10:25:00,3663.76,3663.78,3662.00,3662.23,0,0
+2006-01-12,10:30:00,3662.05,3663.82,3662.05,3663.82,0,0
+2006-01-12,10:35:00,3663.48,3664.35,3663.22,3663.68,0,0
+2006-01-12,10:40:00,3663.65,3667.03,3663.56,3667.03,0,0
+2006-01-12,10:45:00,3667.16,3667.38,3665.59,3665.73,0,0
+2006-01-12,10:50:00,3665.95,3666.73,3665.69,3666.36,0,0
+2006-01-12,10:55:00,3666.34,3666.83,3665.95,3666.82,0,0
+2006-01-12,11:00:00,3666.65,3666.65,3665.70,3665.73,0,0
+2006-01-12,11:05:00,3665.93,3666.57,3665.78,3665.90,0,0
+2006-01-12,11:10:00,3665.88,3666.60,3665.46,3666.24,0,0
+2006-01-12,11:15:00,3665.99,3666.35,3662.53,3662.53,0,0
+2006-01-12,11:20:00,3662.61,3662.61,3661.08,3661.39,0,0
+2006-01-12,11:25:00,3661.27,3663.80,3661.26,3663.32,0,0
+2006-01-12,11:30:00,3663.50,3664.74,3663.50,3664.54,0,0
+2006-01-12,11:35:00,3664.41,3664.41,3663.28,3663.50,0,0
+2006-01-12,11:40:00,3663.33,3663.86,3663.11,3663.41,0,0
+2006-01-12,11:45:00,3663.51,3663.73,3663.03,3663.24,0,0
+2006-01-12,11:50:00,3663.30,3663.96,3663.03,3663.14,0,0
+2006-01-12,11:55:00,3663.26,3663.75,3663.07,3663.07,0,0
+2006-01-12,12:00:00,3663.30,3663.64,3662.48,3663.27,0,0
+2006-01-12,12:05:00,3663.10,3664.45,3663.10,3664.21,0,0
+2006-01-12,12:10:00,3663.93,3663.93,3662.79,3662.79,0,0
+2006-01-12,12:15:00,3663.06,3663.88,3662.45,3663.73,0,0
+2006-01-12,12:20:00,3663.70,3663.70,3662.37,3662.41,0,0
+2006-01-12,12:25:00,3662.18,3662.18,3660.84,3660.84,0,0
+2006-01-12,12:30:00,3660.77,3660.77,3659.25,3660.11,0,0
+2006-01-12,12:35:00,3660.07,3660.82,3659.39,3659.68,0,0
+2006-01-12,12:40:00,3659.73,3659.73,3658.95,3659.64,0,0
+2006-01-12,12:45:00,3659.77,3659.95,3659.44,3659.53,0,0
+2006-01-12,12:50:00,3659.37,3660.64,3659.25,3659.88,0,0
+2006-01-12,12:55:00,3659.76,3660.71,3659.59,3660.56,0,0
+2006-01-12,13:00:00,3660.59,3660.67,3659.85,3660.44,0,0
+2006-01-12,13:05:00,3660.26,3660.87,3659.09,3659.09,0,0
+2006-01-12,13:10:00,3659.01,3659.60,3658.64,3659.07,0,0
+2006-01-12,13:15:00,3658.77,3658.94,3656.99,3657.27,0,0
+2006-01-12,13:20:00,3657.09,3658.00,3657.00,3657.71,0,0
+2006-01-12,13:25:00,3657.75,3658.55,3657.36,3658.43,0,0
+2006-01-12,13:30:00,3658.48,3658.91,3658.44,3658.77,0,0
+2006-01-12,13:35:00,3658.74,3658.88,3658.37,3658.37,0,0
+2006-01-12,13:40:00,3658.35,3658.65,3658.04,3658.22,0,0
+2006-01-12,13:45:00,3658.21,3658.63,3657.76,3657.76,0,0
+2006-01-12,13:50:00,3657.76,3657.90,3657.48,3657.63,0,0
+2006-01-12,13:55:00,3657.75,3659.01,3657.69,3658.54,0,0
+2006-01-12,14:00:00,3658.65,3659.08,3658.19,3658.19,0,0
+2006-01-12,14:05:00,3658.41,3659.47,3658.24,3659.31,0,0
+2006-01-12,14:10:00,3659.39,3659.41,3658.65,3659.41,0,0
+2006-01-12,14:15:00,3659.70,3661.43,3659.47,3661.26,0,0
+2006-01-12,14:20:00,3661.60,3661.61,3660.48,3661.04,0,0
+2006-01-12,14:25:00,3661.12,3661.66,3660.74,3661.25,0,0
+2006-01-12,14:30:00,3661.01,3661.81,3660.36,3661.81,0,0
+2006-01-12,14:35:00,3661.90,3664.46,3661.90,3662.88,0,0
+2006-01-12,14:40:00,3662.68,3663.73,3662.01,3662.33,0,0
+2006-01-12,14:45:00,3662.57,3662.57,3661.60,3662.19,0,0
+2006-01-12,14:50:00,3661.94,3662.63,3661.91,3662.31,0,0
+2006-01-12,14:55:00,3662.21,3662.88,3661.54,3662.82,0,0
+2006-01-12,15:00:00,3662.73,3664.47,3662.57,3664.31,0,0
+2006-01-12,15:05:00,3664.09,3665.90,3663.85,3665.90,0,0
+2006-01-12,15:10:00,3665.94,3665.95,3664.93,3665.19,0,0
+2006-01-12,15:15:00,3665.31,3665.45,3663.95,3663.95,0,0
+2006-01-12,15:20:00,3663.51,3664.25,3662.89,3663.20,0,0
+2006-01-12,15:25:00,3663.15,3664.71,3663.15,3664.60,0,0
+2006-01-12,15:30:00,3664.39,3664.94,3664.09,3664.48,0,0
+2006-01-12,15:35:00,3664.08,3665.00,3663.98,3664.07,0,0
+2006-01-12,15:40:00,3664.28,3664.28,3662.33,3663.39,0,0
+2006-01-12,15:45:00,3663.41,3663.60,3662.25,3662.97,0,0
+2006-01-12,15:50:00,3663.13,3663.25,3660.81,3661.02,0,0
+2006-01-12,15:55:00,3660.86,3662.46,3660.86,3661.17,0,0
+2006-01-12,16:00:00,3661.14,3662.17,3661.14,3661.85,0,0
+2006-01-12,16:05:00,3661.98,3663.56,3661.98,3663.56,0,0
+2006-01-12,16:10:00,3663.71,3665.47,3663.71,3664.69,0,0
+2006-01-12,16:15:00,3664.69,3665.37,3663.23,3663.36,0,0
+2006-01-12,16:20:00,3663.26,3663.44,3661.63,3662.36,0,0
+2006-01-12,16:25:00,3662.76,3663.90,3662.76,3662.90,0,0
+2006-01-12,16:30:00,3663.50,3665.07,3663.50,3664.68,0,0
+2006-01-12,16:35:00,3664.70,3664.89,3663.09,3663.67,0,0
+2006-01-12,16:40:00,3662.69,3663.26,3661.66,3663.26,0,0
+2006-01-12,16:45:00,3663.31,3663.92,3662.74,3663.92,0,0
+2006-01-12,16:50:00,3663.78,3666.91,3663.78,3666.91,0,0
+2006-01-12,16:55:00,3667.03,3668.99,3666.83,3668.92,0,0
+2006-01-12,17:00:00,3669.64,3671.85,3669.58,3671.85,0,0
+2006-01-12,17:05:00,3672.14,3676.00,3671.88,3675.37,0,0
+2006-01-12,17:10:00,3675.14,3675.14,3671.42,3671.61,0,0
+2006-01-12,17:15:00,3671.78,3673.06,3671.78,3672.73,0,0
+2006-01-12,17:20:00,3672.22,3672.93,3668.87,3669.41,0,0
+2006-01-12,17:25:00,3668.87,3668.96,3667.52,3668.74,0,0
+2006-01-12,17:30:00,3668.78,3670.39,3668.57,3670.20,0,0
+2006-01-13,09:05:00,3670.27,3670.27,3657.31,3658.53,0,0
+2006-01-13,09:10:00,3658.58,3659.26,3657.39,3657.39,0,0
+2006-01-13,09:15:00,3657.65,3657.65,3653.57,3654.15,0,0
+2006-01-13,09:20:00,3654.48,3656.45,3654.48,3654.91,0,0
+2006-01-13,09:25:00,3654.77,3655.27,3651.08,3651.08,0,0
+2006-01-13,09:30:00,3651.57,3652.13,3645.31,3646.64,0,0
+2006-01-13,09:35:00,3647.04,3647.04,3645.59,3646.35,0,0
+2006-01-13,09:40:00,3646.38,3648.00,3645.99,3646.24,0,0
+2006-01-13,09:45:00,3646.43,3646.43,3641.40,3642.63,0,0
+2006-01-13,09:50:00,3642.38,3645.51,3641.97,3645.51,0,0
+2006-01-13,09:55:00,3645.70,3646.23,3644.59,3646.17,0,0
+2006-01-13,10:00:00,3646.04,3646.26,3644.70,3644.70,0,0
+2006-01-13,10:05:00,3644.67,3644.87,3640.20,3640.36,0,0
+2006-01-13,10:10:00,3640.36,3640.42,3636.03,3636.81,0,0
+2006-01-13,10:15:00,3637.18,3638.73,3636.73,3638.27,0,0
+2006-01-13,10:20:00,3637.83,3637.83,3631.91,3635.14,0,0
+2006-01-13,10:25:00,3635.09,3635.92,3634.37,3635.65,0,0
+2006-01-13,10:30:00,3635.77,3637.95,3635.77,3637.01,0,0
+2006-01-13,10:35:00,3636.61,3636.63,3634.77,3635.15,0,0
+2006-01-13,10:40:00,3634.67,3635.60,3634.67,3635.10,0,0
+2006-01-13,10:45:00,3635.67,3636.68,3635.39,3636.43,0,0
+2006-01-13,10:50:00,3636.66,3638.86,3636.66,3638.86,0,0
+2006-01-13,10:55:00,3638.99,3639.23,3636.17,3636.56,0,0
+2006-01-13,11:00:00,3636.29,3636.54,3635.57,3636.40,0,0
+2006-01-13,11:05:00,3636.60,3636.60,3634.79,3635.28,0,0
+2006-01-13,11:10:00,3635.34,3635.34,3632.71,3632.76,0,0
+2006-01-13,11:15:00,3632.77,3635.39,3632.26,3635.39,0,0
+2006-01-13,11:20:00,3635.02,3636.39,3635.01,3636.20,0,0
+2006-01-13,11:25:00,3636.44,3637.06,3635.98,3636.47,0,0
+2006-01-13,11:30:00,3636.91,3637.53,3636.26,3636.68,0,0
+2006-01-13,11:35:00,3636.88,3637.22,3635.77,3636.95,0,0
+2006-01-13,11:40:00,3637.20,3637.20,3636.21,3636.48,0,0
+2006-01-13,11:45:00,3636.60,3637.21,3636.16,3636.29,0,0
+2006-01-13,11:50:00,3636.54,3636.91,3635.61,3636.28,0,0
+2006-01-13,11:55:00,3636.36,3636.36,3635.64,3636.01,0,0
+2006-01-13,12:00:00,3635.97,3636.96,3635.97,3636.82,0,0
+2006-01-13,12:05:00,3636.33,3637.40,3636.33,3636.63,0,0
+2006-01-13,12:10:00,3636.51,3636.51,3635.25,3635.79,0,0
+2006-01-13,12:15:00,3635.80,3636.32,3635.05,3636.22,0,0
+2006-01-13,12:20:00,3636.17,3636.31,3635.59,3635.73,0,0
+2006-01-13,12:25:00,3636.17,3636.78,3635.51,3636.70,0,0
+2006-01-13,12:30:00,3636.71,3636.75,3635.56,3635.87,0,0
+2006-01-13,12:35:00,3635.78,3636.78,3635.78,3636.50,0,0
+2006-01-13,12:40:00,3636.08,3636.67,3635.99,3636.31,0,0
+2006-01-13,12:45:00,3636.43,3636.66,3635.85,3636.43,0,0
+2006-01-13,12:50:00,3636.22,3636.54,3635.77,3636.17,0,0
+2006-01-13,12:55:00,3635.99,3636.98,3635.90,3636.76,0,0
+2006-01-13,13:00:00,3636.43,3636.46,3635.41,3635.75,0,0
+2006-01-13,13:05:00,3635.76,3635.76,3633.33,3633.93,0,0
+2006-01-13,13:10:00,3633.83,3634.25,3632.33,3632.50,0,0
+2006-01-13,13:15:00,3632.41,3633.44,3632.24,3633.40,0,0
+2006-01-13,13:20:00,3633.35,3634.78,3633.17,3634.78,0,0
+2006-01-13,13:25:00,3634.57,3634.74,3634.27,3634.27,0,0
+2006-01-13,13:30:00,3634.23,3634.62,3632.52,3632.52,0,0
+2006-01-13,13:35:00,3632.75,3632.75,3631.68,3631.83,0,0
+2006-01-13,13:40:00,3630.92,3631.17,3627.81,3628.20,0,0
+2006-01-13,13:45:00,3628.20,3628.80,3626.56,3627.20,0,0
+2006-01-13,13:50:00,3627.21,3627.90,3627.21,3627.90,0,0
+2006-01-13,13:55:00,3627.81,3628.48,3627.27,3627.96,0,0
+2006-01-13,14:00:00,3628.96,3631.03,3628.96,3630.73,0,0
+2006-01-13,14:05:00,3630.37,3632.96,3630.24,3632.82,0,0
+2006-01-13,14:10:00,3632.81,3632.81,3627.42,3627.42,0,0
+2006-01-13,14:15:00,3627.42,3628.12,3627.21,3627.83,0,0
+2006-01-13,14:20:00,3627.71,3629.31,3627.56,3629.07,0,0
+2006-01-13,14:25:00,3629.22,3630.69,3629.20,3630.69,0,0
+2006-01-13,14:30:00,3630.79,3631.31,3630.51,3630.52,0,0
+2006-01-13,14:35:00,3630.45,3631.79,3627.70,3631.28,0,0
+2006-01-13,14:40:00,3631.19,3633.85,3631.19,3633.45,0,0
+2006-01-13,14:45:00,3633.73,3634.25,3632.58,3633.10,0,0
+2006-01-13,14:50:00,3633.19,3633.19,3630.85,3631.07,0,0
+2006-01-13,14:55:00,3631.07,3631.83,3630.43,3631.45,0,0
+2006-01-13,15:00:00,3631.56,3632.45,3631.05,3631.05,0,0
+2006-01-13,15:05:00,3631.14,3631.39,3630.35,3630.35,0,0
+2006-01-13,15:10:00,3630.55,3630.98,3630.26,3630.49,0,0
+2006-01-13,15:15:00,3630.82,3631.24,3630.42,3630.56,0,0
+2006-01-13,15:20:00,3630.45,3630.62,3626.95,3627.77,0,0
+2006-01-13,15:25:00,3627.56,3627.77,3627.03,3627.46,0,0
+2006-01-13,15:30:00,3627.46,3627.72,3626.60,3626.74,0,0
+2006-01-13,15:35:00,3626.91,3629.84,3626.91,3629.47,0,0
+2006-01-13,15:40:00,3629.27,3632.98,3629.27,3632.98,0,0
+2006-01-13,15:45:00,3633.14,3633.84,3630.07,3630.07,0,0
+2006-01-13,15:50:00,3629.98,3630.84,3629.27,3629.68,0,0
+2006-01-13,15:55:00,3629.08,3630.54,3628.57,3630.44,0,0
+2006-01-13,16:00:00,3630.53,3631.41,3630.06,3630.79,0,0
+2006-01-13,16:05:00,3630.85,3630.92,3629.02,3629.79,0,0
+2006-01-13,16:10:00,3630.00,3631.55,3629.77,3631.23,0,0
+2006-01-13,16:15:00,3631.05,3631.05,3625.77,3625.77,0,0
+2006-01-13,16:20:00,3625.64,3625.74,3622.65,3623.45,0,0
+2006-01-13,16:25:00,3623.66,3625.40,3622.04,3625.01,0,0
+2006-01-13,16:30:00,3624.73,3624.90,3622.07,3624.50,0,0
+2006-01-13,16:35:00,3624.97,3625.26,3622.28,3624.04,0,0
+2006-01-13,16:40:00,3624.20,3624.55,3623.48,3623.93,0,0
+2006-01-13,16:45:00,3623.85,3623.96,3620.43,3620.43,0,0
+2006-01-13,16:50:00,3619.30,3619.88,3618.06,3618.06,0,0
+2006-01-13,16:55:00,3618.09,3621.61,3618.07,3621.61,0,0
+2006-01-13,17:00:00,3621.45,3622.68,3620.57,3622.55,0,0
+2006-01-13,17:05:00,3622.96,3625.20,3622.71,3624.22,0,0
+2006-01-13,17:10:00,3624.31,3624.66,3623.62,3624.45,0,0
+2006-01-13,17:15:00,3624.68,3628.99,3624.25,3628.16,0,0
+2006-01-13,17:20:00,3628.72,3631.75,3628.72,3630.19,0,0
+2006-01-13,17:25:00,3630.09,3630.23,3628.17,3628.76,0,0
+2006-01-13,17:30:00,3629.19,3630.13,3628.99,3629.25,0,0
+2006-01-16,09:05:00,3628.73,3630.54,3624.88,3630.54,0,0
+2006-01-16,09:10:00,3629.87,3629.87,3623.19,3623.56,0,0
+2006-01-16,09:15:00,3623.29,3623.29,3621.03,3622.68,0,0
+2006-01-16,09:20:00,3622.77,3626.61,3622.41,3626.61,0,0
+2006-01-16,09:25:00,3626.46,3626.64,3625.27,3625.54,0,0
+2006-01-16,09:30:00,3625.88,3627.27,3625.88,3627.06,0,0
+2006-01-16,09:35:00,3626.93,3626.93,3624.53,3624.74,0,0
+2006-01-16,09:40:00,3624.87,3626.76,3624.83,3626.76,0,0
+2006-01-16,09:45:00,3627.08,3628.65,3626.90,3628.29,0,0
+2006-01-16,09:50:00,3628.30,3631.04,3628.30,3631.04,0,0
+2006-01-16,09:55:00,3631.01,3631.36,3628.77,3629.14,0,0
+2006-01-16,10:00:00,3628.20,3628.33,3627.48,3628.09,0,0
+2006-01-16,10:05:00,3628.39,3630.39,3627.98,3630.38,0,0
+2006-01-16,10:10:00,3630.59,3631.41,3630.59,3631.41,0,0
+2006-01-16,10:15:00,3631.42,3632.48,3631.11,3631.11,0,0
+2006-01-16,10:20:00,3631.48,3631.82,3630.81,3631.65,0,0
+2006-01-16,10:25:00,3631.67,3631.67,3630.26,3630.41,0,0
+2006-01-16,10:30:00,3630.80,3634.43,3630.80,3633.49,0,0
+2006-01-16,10:35:00,3633.91,3635.36,3633.91,3634.74,0,0
+2006-01-16,10:40:00,3634.69,3634.69,3633.00,3633.00,0,0
+2006-01-16,10:45:00,3633.16,3634.21,3633.14,3633.31,0,0
+2006-01-16,10:50:00,3633.19,3633.37,3632.70,3632.77,0,0
+2006-01-16,10:55:00,3632.63,3632.63,3631.14,3631.56,0,0
+2006-01-16,11:00:00,3631.62,3632.46,3629.97,3630.24,0,0
+2006-01-16,11:05:00,3630.06,3630.70,3629.69,3630.54,0,0
+2006-01-16,11:10:00,3630.65,3631.38,3630.51,3631.13,0,0
+2006-01-16,11:15:00,3631.49,3632.10,3631.16,3631.80,0,0
+2006-01-16,11:20:00,3631.63,3631.98,3631.45,3631.90,0,0
+2006-01-16,11:25:00,3631.33,3632.32,3631.28,3632.03,0,0
+2006-01-16,11:30:00,3632.24,3633.40,3632.23,3633.22,0,0
+2006-01-16,11:35:00,3633.41,3634.38,3633.17,3634.30,0,0
+2006-01-16,11:40:00,3634.19,3636.01,3634.19,3635.52,0,0
+2006-01-16,11:45:00,3635.79,3635.79,3634.33,3635.52,0,0
+2006-01-16,11:50:00,3635.26,3635.59,3634.95,3635.51,0,0
+2006-01-16,11:55:00,3635.25,3635.46,3634.87,3635.04,0,0
+2006-01-16,12:00:00,3635.10,3635.10,3634.00,3635.01,0,0
+2006-01-16,12:05:00,3634.81,3636.64,3634.81,3636.00,0,0
+2006-01-16,12:10:00,3635.65,3637.11,3635.65,3636.70,0,0
+2006-01-16,12:15:00,3636.73,3636.78,3635.84,3635.84,0,0
+2006-01-16,12:20:00,3635.86,3636.42,3635.40,3636.12,0,0
+2006-01-16,12:25:00,3636.23,3636.51,3636.13,3636.37,0,0
+2006-01-16,12:30:00,3636.31,3636.67,3636.01,3636.40,0,0
+2006-01-16,12:35:00,3636.09,3636.63,3635.90,3636.33,0,0
+2006-01-16,12:40:00,3636.09,3636.15,3635.26,3635.95,0,0
+2006-01-16,12:45:00,3636.17,3636.52,3635.79,3636.43,0,0
+2006-01-16,12:50:00,3636.30,3636.73,3636.17,3636.49,0,0
+2006-01-16,12:55:00,3636.69,3636.74,3636.06,3636.68,0,0
+2006-01-16,13:00:00,3636.79,3637.00,3636.27,3636.59,0,0
+2006-01-16,13:05:00,3636.30,3636.97,3635.98,3636.36,0,0
+2006-01-16,13:10:00,3636.48,3636.92,3636.28,3636.92,0,0
+2006-01-16,13:15:00,3636.79,3636.89,3636.30,3636.66,0,0
+2006-01-16,13:20:00,3636.63,3636.68,3636.11,3636.11,0,0
+2006-01-16,13:25:00,3636.29,3637.04,3636.18,3636.77,0,0
+2006-01-16,13:30:00,3636.91,3636.91,3636.23,3636.80,0,0
+2006-01-16,13:35:00,3636.36,3636.49,3636.07,3636.28,0,0
+2006-01-16,13:40:00,3636.40,3636.74,3636.15,3636.61,0,0
+2006-01-16,13:45:00,3636.67,3636.95,3636.36,3636.95,0,0
+2006-01-16,13:50:00,3637.03,3637.30,3636.70,3637.17,0,0
+2006-01-16,13:55:00,3636.97,3637.41,3636.76,3637.09,0,0
+2006-01-16,14:00:00,3636.98,3637.40,3636.61,3636.95,0,0
+2006-01-16,14:05:00,3636.85,3636.85,3636.36,3636.55,0,0
+2006-01-16,14:10:00,3636.67,3636.83,3636.01,3636.66,0,0
+2006-01-16,14:15:00,3636.66,3637.16,3636.29,3637.16,0,0
+2006-01-16,14:20:00,3637.33,3637.33,3636.74,3637.06,0,0
+2006-01-16,14:25:00,3636.82,3637.29,3636.77,3636.86,0,0
+2006-01-16,14:30:00,3636.96,3637.53,3636.92,3637.22,0,0
+2006-01-16,14:35:00,3637.36,3637.91,3637.23,3637.69,0,0
+2006-01-16,14:40:00,3637.77,3638.30,3637.42,3638.03,0,0
+2006-01-16,14:45:00,3638.11,3638.76,3638.03,3638.56,0,0
+2006-01-16,14:50:00,3638.55,3639.33,3638.36,3639.12,0,0
+2006-01-16,14:55:00,3638.99,3639.40,3638.80,3639.23,0,0
+2006-01-16,15:00:00,3638.94,3639.54,3638.65,3639.41,0,0
+2006-01-16,15:05:00,3639.96,3640.51,3639.69,3640.06,0,0
+2006-01-16,15:10:00,3640.44,3640.44,3639.38,3639.94,0,0
+2006-01-16,15:15:00,3639.87,3640.25,3639.49,3639.49,0,0
+2006-01-16,15:20:00,3639.57,3639.87,3638.94,3639.21,0,0
+2006-01-16,15:25:00,3639.25,3639.68,3638.92,3639.47,0,0
+2006-01-16,15:30:00,3639.42,3639.42,3638.52,3638.52,0,0
+2006-01-16,15:35:00,3638.29,3639.18,3638.18,3639.18,0,0
+2006-01-16,15:40:00,3639.18,3640.17,3639.18,3639.94,0,0
+2006-01-16,15:45:00,3639.45,3639.95,3639.22,3639.23,0,0
+2006-01-16,15:50:00,3639.07,3639.61,3639.07,3639.58,0,0
+2006-01-16,15:55:00,3640.08,3640.14,3639.42,3639.61,0,0
+2006-01-16,16:00:00,3639.68,3639.87,3639.07,3639.36,0,0
+2006-01-16,16:05:00,3639.40,3641.53,3639.40,3641.13,0,0
+2006-01-16,16:10:00,3641.41,3641.41,3640.70,3640.88,0,0
+2006-01-16,16:15:00,3640.77,3641.27,3640.44,3641.04,0,0
+2006-01-16,16:20:00,3641.43,3643.55,3641.43,3643.52,0,0
+2006-01-16,16:25:00,3643.21,3645.56,3643.04,3645.56,0,0
+2006-01-16,16:30:00,3645.49,3647.13,3645.49,3646.61,0,0
+2006-01-16,16:35:00,3646.70,3647.18,3644.93,3645.15,0,0
+2006-01-16,16:40:00,3645.46,3645.46,3644.60,3645.15,0,0
+2006-01-16,16:45:00,3645.00,3645.71,3645.00,3645.56,0,0
+2006-01-16,16:50:00,3645.46,3647.29,3645.46,3647.29,0,0
+2006-01-16,16:55:00,3647.24,3648.64,3646.59,3647.63,0,0
+2006-01-16,17:00:00,3647.98,3648.43,3647.38,3648.30,0,0
+2006-01-16,17:05:00,3648.19,3648.19,3646.82,3646.82,0,0
+2006-01-16,17:10:00,3646.99,3647.30,3646.63,3647.01,0,0
+2006-01-16,17:15:00,3647.11,3647.43,3646.24,3646.55,0,0
+2006-01-16,17:20:00,3646.46,3647.98,3646.46,3647.64,0,0
+2006-01-16,17:25:00,3647.93,3649.10,3647.39,3648.10,0,0
+2006-01-16,17:30:00,3647.85,3648.16,3644.32,3644.41,0,0
+2006-01-17,09:05:00,3639.57,3639.57,3618.99,3621.85,0,0
+2006-01-17,09:10:00,3622.45,3622.45,3610.65,3613.72,0,0
+2006-01-17,09:15:00,3614.34,3618.02,3613.94,3618.02,0,0
+2006-01-17,09:20:00,3617.85,3620.82,3617.64,3618.05,0,0
+2006-01-17,09:25:00,3617.68,3620.10,3615.31,3620.10,0,0
+2006-01-17,09:30:00,3620.18,3620.18,3618.32,3619.05,0,0
+2006-01-17,09:35:00,3618.65,3618.65,3616.13,3616.89,0,0
+2006-01-17,09:40:00,3617.06,3620.48,3616.32,3620.34,0,0
+2006-01-17,09:45:00,3619.63,3620.45,3617.46,3617.46,0,0
+2006-01-17,09:50:00,3617.72,3618.47,3616.21,3618.18,0,0
+2006-01-17,09:55:00,3618.15,3618.15,3615.00,3616.50,0,0
+2006-01-17,10:00:00,3616.25,3616.34,3610.72,3612.52,0,0
+2006-01-17,10:05:00,3612.95,3612.95,3607.09,3608.41,0,0
+2006-01-17,10:10:00,3608.60,3609.99,3608.27,3608.44,0,0
+2006-01-17,10:15:00,3608.56,3610.04,3607.23,3610.04,0,0
+2006-01-17,10:20:00,3610.32,3611.84,3608.68,3608.68,0,0
+2006-01-17,10:25:00,3608.92,3612.15,3608.92,3612.15,0,0
+2006-01-17,10:30:00,3612.48,3614.64,3612.10,3614.53,0,0
+2006-01-17,10:35:00,3614.57,3614.99,3613.94,3614.43,0,0
+2006-01-17,10:40:00,3614.32,3616.01,3614.26,3616.01,0,0
+2006-01-17,10:45:00,3616.07,3617.48,3615.38,3615.71,0,0
+2006-01-17,10:50:00,3616.07,3616.94,3615.90,3615.94,0,0
+2006-01-17,10:55:00,3616.10,3616.10,3614.54,3614.77,0,0
+2006-01-17,11:00:00,3614.94,3617.02,3614.72,3616.80,0,0
+2006-01-17,11:05:00,3616.68,3617.06,3615.64,3616.03,0,0
+2006-01-17,11:10:00,3616.06,3616.49,3615.57,3616.06,0,0
+2006-01-17,11:15:00,3616.14,3616.65,3615.91,3615.95,0,0
+2006-01-17,11:20:00,3616.06,3616.87,3615.87,3616.53,0,0
+2006-01-17,11:25:00,3616.31,3617.11,3615.97,3617.11,0,0
+2006-01-17,11:30:00,3617.12,3617.52,3613.09,3613.09,0,0
+2006-01-17,11:35:00,3612.43,3613.47,3612.36,3612.92,0,0
+2006-01-17,11:40:00,3612.95,3613.60,3612.55,3612.89,0,0
+2006-01-17,11:45:00,3613.02,3613.53,3612.62,3612.96,0,0
+2006-01-17,11:50:00,3612.62,3613.59,3612.42,3613.44,0,0
+2006-01-17,11:55:00,3613.68,3614.03,3612.53,3612.53,0,0
+2006-01-17,12:00:00,3613.36,3614.21,3612.50,3614.21,0,0
+2006-01-17,12:05:00,3613.38,3614.95,3612.14,3612.54,0,0
+2006-01-17,12:10:00,3612.48,3612.69,3612.06,3612.40,0,0
+2006-01-17,12:15:00,3612.45,3612.45,3611.67,3612.14,0,0
+2006-01-17,12:20:00,3612.35,3614.15,3612.03,3614.15,0,0
+2006-01-17,12:25:00,3614.43,3616.49,3614.40,3616.28,0,0
+2006-01-17,12:30:00,3616.28,3617.29,3615.99,3616.81,0,0
+2006-01-17,12:35:00,3616.64,3616.65,3615.64,3615.65,0,0
+2006-01-17,12:40:00,3615.46,3615.57,3614.53,3614.80,0,0
+2006-01-17,12:45:00,3614.69,3616.04,3614.69,3615.90,0,0
+2006-01-17,12:50:00,3616.21,3616.21,3614.89,3615.17,0,0
+2006-01-17,12:55:00,3615.59,3615.59,3614.73,3614.97,0,0
+2006-01-17,13:00:00,3614.86,3614.99,3614.61,3614.89,0,0
+2006-01-17,13:05:00,3614.98,3616.05,3614.98,3615.70,0,0
+2006-01-17,13:10:00,3615.50,3615.87,3612.39,3612.63,0,0
+2006-01-17,13:15:00,3612.84,3613.82,3612.60,3613.51,0,0
+2006-01-17,13:20:00,3613.63,3613.67,3611.76,3612.20,0,0
+2006-01-17,13:25:00,3612.24,3613.71,3612.08,3613.71,0,0
+2006-01-17,13:30:00,3613.48,3614.36,3613.48,3614.01,0,0
+2006-01-17,13:35:00,3614.07,3614.07,3612.45,3613.11,0,0
+2006-01-17,13:40:00,3612.75,3612.76,3611.61,3611.89,0,0
+2006-01-17,13:45:00,3611.96,3613.08,3611.71,3612.86,0,0
+2006-01-17,13:50:00,3613.00,3613.35,3612.46,3612.84,0,0
+2006-01-17,13:55:00,3612.90,3613.37,3612.56,3612.63,0,0
+2006-01-17,14:00:00,3612.86,3613.15,3612.48,3612.68,0,0
+2006-01-17,14:05:00,3612.79,3612.79,3612.30,3612.47,0,0
+2006-01-17,14:10:00,3612.01,3612.49,3611.16,3611.31,0,0
+2006-01-17,14:15:00,3611.38,3611.38,3610.60,3610.66,0,0
+2006-01-17,14:20:00,3610.35,3610.57,3609.58,3610.57,0,0
+2006-01-17,14:25:00,3610.50,3610.67,3610.31,3610.42,0,0
+2006-01-17,14:30:00,3610.17,3610.77,3608.98,3609.14,0,0
+2006-01-17,14:35:00,3609.14,3609.45,3606.54,3606.86,0,0
+2006-01-17,14:40:00,3607.10,3608.58,3606.57,3608.58,0,0
+2006-01-17,14:45:00,3608.58,3610.05,3607.88,3609.70,0,0
+2006-01-17,14:50:00,3609.51,3609.85,3609.18,3609.79,0,0
+2006-01-17,14:55:00,3609.94,3610.57,3609.94,3610.55,0,0
+2006-01-17,15:00:00,3610.63,3611.49,3610.53,3611.08,0,0
+2006-01-17,15:05:00,3611.26,3611.83,3610.98,3611.76,0,0
+2006-01-17,15:10:00,3611.64,3612.38,3611.64,3611.93,0,0
+2006-01-17,15:15:00,3611.85,3612.36,3611.76,3612.14,0,0
+2006-01-17,15:20:00,3611.48,3612.70,3611.05,3612.00,0,0
+2006-01-17,15:25:00,3611.54,3612.28,3611.54,3611.76,0,0
+2006-01-17,15:30:00,3612.00,3612.09,3611.05,3612.09,0,0
+2006-01-17,15:35:00,3612.03,3612.03,3609.80,3610.56,0,0
+2006-01-17,15:40:00,3610.59,3610.89,3609.76,3610.72,0,0
+2006-01-17,15:45:00,3610.78,3613.41,3610.78,3612.86,0,0
+2006-01-17,15:50:00,3613.34,3617.16,3613.34,3616.70,0,0
+2006-01-17,15:55:00,3616.65,3620.13,3616.36,3619.90,0,0
+2006-01-17,16:00:00,3619.47,3619.47,3615.75,3615.75,0,0
+2006-01-17,16:05:00,3615.57,3615.75,3613.67,3613.86,0,0
+2006-01-17,16:10:00,3614.05,3615.88,3613.97,3615.15,0,0
+2006-01-17,16:15:00,3615.11,3619.39,3614.88,3617.45,0,0
+2006-01-17,16:20:00,3617.12,3617.12,3611.58,3613.13,0,0
+2006-01-17,16:25:00,3612.81,3614.05,3610.21,3614.05,0,0
+2006-01-17,16:30:00,3614.41,3615.98,3614.05,3615.56,0,0
+2006-01-17,16:35:00,3615.10,3616.10,3614.27,3614.27,0,0
+2006-01-17,16:40:00,3613.96,3613.96,3612.26,3612.70,0,0
+2006-01-17,16:45:00,3612.37,3612.61,3609.40,3609.88,0,0
+2006-01-17,16:50:00,3609.96,3610.70,3608.39,3610.49,0,0
+2006-01-17,16:55:00,3610.91,3612.57,3610.91,3611.24,0,0
+2006-01-17,17:00:00,3611.27,3612.14,3611.09,3611.69,0,0
+2006-01-17,17:05:00,3612.55,3613.98,3612.35,3612.35,0,0
+2006-01-17,17:10:00,3612.91,3615.40,3612.91,3615.02,0,0
+2006-01-17,17:15:00,3615.23,3616.73,3614.14,3614.83,0,0
+2006-01-17,17:20:00,3614.94,3616.02,3614.44,3615.85,0,0
+2006-01-17,17:25:00,3615.64,3615.97,3612.92,3612.92,0,0
+2006-01-17,17:30:00,3613.21,3613.21,3609.85,3610.07,0,0
+2006-01-18,09:05:00,3609.34,3609.34,3560.30,3560.94,0,0
+2006-01-18,09:10:00,3562.00,3562.00,3555.33,3559.26,0,0
+2006-01-18,09:15:00,3558.77,3558.77,3554.02,3555.34,0,0
+2006-01-18,09:20:00,3555.49,3556.59,3550.16,3552.78,0,0
+2006-01-18,09:25:00,3552.15,3556.61,3551.97,3556.61,0,0
+2006-01-18,09:30:00,3555.52,3558.55,3555.30,3558.55,0,0
+2006-01-18,09:35:00,3559.29,3566.77,3559.29,3566.77,0,0
+2006-01-18,09:40:00,3566.40,3566.40,3562.98,3562.98,0,0
+2006-01-18,09:45:00,3561.66,3563.91,3561.11,3563.75,0,0
+2006-01-18,09:50:00,3564.05,3564.97,3562.81,3563.79,0,0
+2006-01-18,09:55:00,3563.73,3564.13,3561.89,3562.50,0,0
+2006-01-18,10:00:00,3562.67,3565.70,3562.56,3565.58,0,0
+2006-01-18,10:05:00,3565.42,3565.46,3563.70,3564.00,0,0
+2006-01-18,10:10:00,3564.55,3565.04,3559.73,3561.80,0,0
+2006-01-18,10:15:00,3561.86,3562.67,3560.56,3560.56,0,0
+2006-01-18,10:20:00,3559.68,3559.75,3557.75,3559.75,0,0
+2006-01-18,10:25:00,3559.52,3559.60,3555.33,3555.98,0,0
+2006-01-18,10:30:00,3555.96,3558.67,3555.17,3558.25,0,0
+2006-01-18,10:35:00,3556.12,3558.25,3556.03,3556.96,0,0
+2006-01-18,10:40:00,3556.64,3557.65,3556.64,3556.90,0,0
+2006-01-18,10:45:00,3556.98,3557.94,3556.92,3557.59,0,0
+2006-01-18,10:50:00,3557.92,3559.76,3557.92,3558.52,0,0
+2006-01-18,10:55:00,3558.61,3558.61,3556.36,3556.36,0,0
+2006-01-18,11:00:00,3556.44,3558.66,3556.44,3558.55,0,0
+2006-01-18,11:05:00,3558.59,3559.99,3558.42,3559.39,0,0
+2006-01-18,11:10:00,3559.16,3561.17,3559.03,3561.17,0,0
+2006-01-18,11:15:00,3561.31,3561.69,3560.79,3561.69,0,0
+2006-01-18,11:20:00,3561.47,3563.20,3561.47,3563.02,0,0
+2006-01-18,11:25:00,3562.52,3564.36,3562.52,3563.34,0,0
+2006-01-18,11:30:00,3563.79,3564.11,3562.37,3562.48,0,0
+2006-01-18,11:35:00,3562.23,3563.35,3562.23,3563.27,0,0
+2006-01-18,11:40:00,3562.92,3563.32,3559.26,3560.34,0,0
+2006-01-18,11:45:00,3560.52,3561.59,3560.18,3561.59,0,0
+2006-01-18,11:50:00,3561.61,3562.19,3560.68,3561.46,0,0
+2006-01-18,11:55:00,3561.16,3562.08,3561.16,3561.98,0,0
+2006-01-18,12:00:00,3561.65,3562.47,3560.74,3560.74,0,0
+2006-01-18,12:05:00,3561.57,3561.57,3560.05,3560.72,0,0
+2006-01-18,12:10:00,3560.71,3561.25,3560.52,3560.94,0,0
+2006-01-18,12:15:00,3560.83,3560.93,3559.55,3560.60,0,0
+2006-01-18,12:20:00,3560.42,3560.55,3559.78,3560.41,0,0
+2006-01-18,12:25:00,3560.38,3560.38,3559.11,3559.29,0,0
+2006-01-18,12:30:00,3559.19,3559.78,3558.73,3559.71,0,0
+2006-01-18,12:35:00,3559.42,3559.50,3558.86,3559.33,0,0
+2006-01-18,12:40:00,3559.36,3559.68,3558.54,3558.59,0,0
+2006-01-18,12:45:00,3558.65,3559.51,3558.13,3558.13,0,0
+2006-01-18,12:50:00,3557.86,3558.69,3557.81,3557.81,0,0
+2006-01-18,12:55:00,3558.16,3559.13,3558.16,3559.13,0,0
+2006-01-18,13:00:00,3559.17,3559.17,3557.21,3557.89,0,0
+2006-01-18,13:05:00,3558.11,3558.31,3557.33,3557.86,0,0
+2006-01-18,13:10:00,3557.79,3560.39,3557.75,3560.14,0,0
+2006-01-18,13:15:00,3560.29,3561.54,3560.16,3560.99,0,0
+2006-01-18,13:20:00,3561.06,3563.77,3560.77,3563.77,0,0
+2006-01-18,13:25:00,3563.89,3564.96,3563.70,3564.62,0,0
+2006-01-18,13:30:00,3564.84,3567.44,3564.84,3567.44,0,0
+2006-01-18,13:35:00,3567.66,3569.11,3567.44,3568.72,0,0
+2006-01-18,13:40:00,3568.55,3569.13,3567.79,3567.79,0,0
+2006-01-18,13:45:00,3567.65,3567.65,3566.46,3566.82,0,0
+2006-01-18,13:50:00,3566.95,3567.53,3566.02,3566.03,0,0
+2006-01-18,13:55:00,3566.02,3566.71,3565.87,3566.65,0,0
+2006-01-18,14:00:00,3566.43,3567.66,3565.10,3565.52,0,0
+2006-01-18,14:05:00,3565.42,3565.93,3564.96,3565.11,0,0
+2006-01-18,14:10:00,3565.01,3565.01,3563.97,3564.18,0,0
+2006-01-18,14:15:00,3564.27,3564.37,3563.62,3563.84,0,0
+2006-01-18,14:20:00,3563.65,3564.35,3563.65,3564.35,0,0
+2006-01-18,14:25:00,3564.28,3565.06,3563.96,3565.06,0,0
+2006-01-18,14:30:00,3565.17,3565.45,3564.92,3565.45,0,0
+2006-01-18,14:35:00,3565.22,3567.95,3565.22,3565.49,0,0
+2006-01-18,14:40:00,3565.76,3565.76,3563.98,3565.31,0,0
+2006-01-18,14:45:00,3565.43,3566.30,3564.84,3566.30,0,0
+2006-01-18,14:50:00,3566.31,3566.39,3565.51,3565.87,0,0
+2006-01-18,14:55:00,3565.82,3566.89,3565.71,3566.89,0,0
+2006-01-18,15:00:00,3566.75,3569.20,3566.71,3569.20,0,0
+2006-01-18,15:05:00,3569.13,3570.75,3569.13,3570.75,0,0
+2006-01-18,15:10:00,3570.80,3574.25,3570.80,3574.23,0,0
+2006-01-18,15:15:00,3574.52,3575.45,3574.49,3575.13,0,0
+2006-01-18,15:20:00,3575.02,3575.02,3573.14,3573.51,0,0
+2006-01-18,15:25:00,3573.30,3574.38,3573.25,3574.38,0,0
+2006-01-18,15:30:00,3574.51,3574.77,3572.78,3572.78,0,0
+2006-01-18,15:35:00,3572.43,3573.13,3571.42,3572.06,0,0
+2006-01-18,15:40:00,3571.67,3571.67,3567.90,3568.26,0,0
+2006-01-18,15:45:00,3568.43,3575.07,3568.43,3575.07,0,0
+2006-01-18,15:50:00,3575.76,3579.21,3575.76,3577.15,0,0
+2006-01-18,15:55:00,3576.66,3577.87,3576.22,3576.84,0,0
+2006-01-18,16:00:00,3576.33,3576.33,3573.30,3573.61,0,0
+2006-01-18,16:05:00,3573.75,3574.51,3572.95,3574.51,0,0
+2006-01-18,16:10:00,3575.11,3579.43,3575.11,3579.43,0,0
+2006-01-18,16:15:00,3579.45,3580.66,3578.84,3580.66,0,0
+2006-01-18,16:20:00,3580.56,3583.28,3579.64,3582.55,0,0
+2006-01-18,16:25:00,3582.31,3588.08,3582.03,3587.13,0,0
+2006-01-18,16:30:00,3587.05,3587.93,3584.62,3584.93,0,0
+2006-01-18,16:35:00,3584.93,3585.37,3584.00,3584.13,0,0
+2006-01-18,16:40:00,3584.05,3584.05,3581.27,3581.27,0,0
+2006-01-18,16:45:00,3581.21,3584.04,3580.75,3582.87,0,0
+2006-01-18,16:50:00,3583.00,3584.13,3582.03,3582.13,0,0
+2006-01-18,16:55:00,3580.96,3581.50,3579.76,3581.50,0,0
+2006-01-18,17:00:00,3581.93,3582.13,3579.30,3579.30,0,0
+2006-01-18,17:05:00,3579.24,3579.73,3578.60,3579.06,0,0
+2006-01-18,17:10:00,3579.21,3579.59,3578.32,3578.38,0,0
+2006-01-18,17:15:00,3577.74,3579.00,3577.74,3579.00,0,0
+2006-01-18,17:20:00,3579.09,3579.09,3576.45,3576.85,0,0
+2006-01-18,17:25:00,3577.11,3577.77,3576.78,3577.19,0,0
+2006-01-18,17:30:00,3577.15,3577.60,3570.17,3570.17,0,0
+2006-01-19,09:05:00,3572.19,3595.26,3572.19,3593.54,0,0
+2006-01-19,09:10:00,3594.34,3597.34,3594.34,3596.54,0,0
+2006-01-19,09:15:00,3596.77,3596.99,3593.77,3593.80,0,0
+2006-01-19,09:20:00,3593.73,3594.80,3593.17,3594.80,0,0
+2006-01-19,09:25:00,3594.78,3595.88,3588.68,3589.46,0,0
+2006-01-19,09:30:00,3589.13,3589.88,3586.96,3589.88,0,0
+2006-01-19,09:35:00,3590.04,3590.24,3589.08,3590.24,0,0
+2006-01-19,09:40:00,3590.85,3593.26,3590.72,3593.26,0,0
+2006-01-19,09:45:00,3593.09,3593.39,3588.70,3589.40,0,0
+2006-01-19,09:50:00,3589.68,3590.98,3588.35,3588.45,0,0
+2006-01-19,09:55:00,3588.56,3589.78,3588.45,3589.48,0,0
+2006-01-19,10:00:00,3590.13,3590.84,3589.71,3589.94,0,0
+2006-01-19,10:05:00,3589.78,3590.20,3586.86,3587.71,0,0
+2006-01-19,10:10:00,3587.56,3591.07,3587.56,3590.60,0,0
+2006-01-19,10:15:00,3590.96,3592.32,3590.96,3592.17,0,0
+2006-01-19,10:20:00,3592.52,3593.08,3592.29,3592.94,0,0
+2006-01-19,10:25:00,3592.71,3593.34,3592.58,3593.34,0,0
+2006-01-19,10:30:00,3593.21,3594.37,3592.94,3594.37,0,0
+2006-01-19,10:35:00,3594.26,3594.26,3591.80,3592.98,0,0
+2006-01-19,10:40:00,3592.95,3593.64,3591.98,3593.56,0,0
+2006-01-19,10:45:00,3593.54,3594.16,3592.57,3593.06,0,0
+2006-01-19,10:50:00,3593.17,3593.23,3590.28,3590.28,0,0
+2006-01-19,10:55:00,3590.19,3590.54,3589.10,3589.10,0,0
+2006-01-19,11:00:00,3589.17,3589.98,3588.66,3589.18,0,0
+2006-01-19,11:05:00,3589.32,3590.16,3589.20,3589.48,0,0
+2006-01-19,11:10:00,3589.79,3590.03,3588.21,3588.73,0,0
+2006-01-19,11:15:00,3588.39,3588.83,3587.12,3588.73,0,0
+2006-01-19,11:20:00,3588.89,3589.86,3588.62,3589.64,0,0
+2006-01-19,11:25:00,3589.96,3590.88,3589.74,3590.88,0,0
+2006-01-19,11:30:00,3590.61,3590.85,3590.00,3590.51,0,0
+2006-01-19,11:35:00,3590.49,3591.04,3590.42,3590.92,0,0
+2006-01-19,11:40:00,3590.99,3591.02,3589.98,3589.98,0,0
+2006-01-19,11:45:00,3590.15,3590.15,3587.70,3587.72,0,0
+2006-01-19,11:50:00,3587.89,3587.89,3587.06,3587.31,0,0
+2006-01-19,11:55:00,3587.06,3589.27,3587.06,3588.94,0,0
+2006-01-19,12:00:00,3588.16,3589.34,3587.86,3588.87,0,0
+2006-01-19,12:05:00,3588.35,3589.15,3587.93,3588.73,0,0
+2006-01-19,12:10:00,3588.84,3588.98,3583.35,3583.71,0,0
+2006-01-19,12:15:00,3584.13,3584.99,3581.33,3582.74,0,0
+2006-01-19,12:20:00,3582.78,3583.39,3580.11,3582.69,0,0
+2006-01-19,12:25:00,3582.60,3584.76,3580.75,3584.66,0,0
+2006-01-19,12:30:00,3584.48,3584.49,3581.79,3583.26,0,0
+2006-01-19,12:35:00,3583.43,3583.46,3582.17,3582.21,0,0
+2006-01-19,12:40:00,3582.08,3583.93,3582.08,3583.93,0,0
+2006-01-19,12:45:00,3584.31,3587.37,3583.23,3587.37,0,0
+2006-01-19,12:50:00,3587.46,3588.55,3586.40,3588.34,0,0
+2006-01-19,12:55:00,3587.39,3588.10,3587.34,3587.96,0,0
+2006-01-19,13:00:00,3588.07,3588.07,3587.13,3587.53,0,0
+2006-01-19,13:05:00,3587.48,3587.54,3583.87,3583.87,0,0
+2006-01-19,13:10:00,3583.62,3583.74,3581.23,3582.79,0,0
+2006-01-19,13:15:00,3582.76,3584.42,3582.67,3584.14,0,0
+2006-01-19,13:20:00,3584.21,3584.79,3583.96,3584.79,0,0
+2006-01-19,13:25:00,3584.50,3584.87,3584.10,3584.34,0,0
+2006-01-19,13:30:00,3584.73,3585.39,3584.49,3585.25,0,0
+2006-01-19,13:35:00,3585.27,3588.99,3585.16,3588.99,0,0
+2006-01-19,13:40:00,3589.21,3589.53,3587.00,3587.24,0,0
+2006-01-19,13:45:00,3587.27,3587.27,3585.13,3585.13,0,0
+2006-01-19,13:50:00,3585.19,3586.09,3584.71,3586.09,0,0
+2006-01-19,13:55:00,3585.75,3586.47,3585.08,3585.08,0,0
+2006-01-19,14:00:00,3585.58,3586.37,3585.27,3586.15,0,0
+2006-01-19,14:05:00,3586.50,3588.46,3586.49,3588.46,0,0
+2006-01-19,14:10:00,3588.50,3590.78,3588.08,3590.60,0,0
+2006-01-19,14:15:00,3590.55,3591.26,3589.42,3589.73,0,0
+2006-01-19,14:20:00,3589.54,3589.55,3588.66,3589.44,0,0
+2006-01-19,14:25:00,3589.37,3590.90,3589.14,3590.39,0,0
+2006-01-19,14:30:00,3590.61,3591.38,3590.33,3591.38,0,0
+2006-01-19,14:35:00,3591.58,3592.08,3589.27,3590.23,0,0
+2006-01-19,14:40:00,3590.51,3592.13,3590.51,3592.13,0,0
+2006-01-19,14:45:00,3592.07,3593.50,3591.90,3593.06,0,0
+2006-01-19,14:50:00,3592.92,3593.06,3592.45,3592.56,0,0
+2006-01-19,14:55:00,3592.92,3593.16,3592.21,3592.21,0,0
+2006-01-19,15:00:00,3592.42,3592.42,3590.00,3590.87,0,0
+2006-01-19,15:05:00,3590.84,3591.86,3590.76,3591.68,0,0
+2006-01-19,15:10:00,3591.59,3594.91,3591.59,3594.88,0,0
+2006-01-19,15:15:00,3595.04,3595.83,3594.20,3595.24,0,0
+2006-01-19,15:20:00,3595.46,3595.64,3593.74,3593.77,0,0
+2006-01-19,15:25:00,3594.50,3594.50,3593.77,3593.95,0,0
+2006-01-19,15:30:00,3593.94,3593.94,3591.31,3592.70,0,0
+2006-01-19,15:35:00,3592.54,3592.54,3590.91,3592.17,0,0
+2006-01-19,15:40:00,3592.06,3592.87,3591.07,3592.87,0,0
+2006-01-19,15:45:00,3592.82,3593.30,3592.16,3593.30,0,0
+2006-01-19,15:50:00,3593.63,3593.63,3591.90,3592.83,0,0
+2006-01-19,15:55:00,3593.29,3593.37,3591.53,3591.53,0,0
+2006-01-19,16:00:00,3590.68,3592.27,3590.20,3592.27,0,0
+2006-01-19,16:05:00,3592.79,3594.11,3590.67,3592.53,0,0
+2006-01-19,16:10:00,3591.92,3591.92,3588.73,3589.42,0,0
+2006-01-19,16:15:00,3588.97,3588.97,3585.81,3588.79,0,0
+2006-01-19,16:20:00,3588.59,3591.82,3588.59,3590.87,0,0
+2006-01-19,16:25:00,3590.80,3590.80,3588.85,3588.85,0,0
+2006-01-19,16:30:00,3588.85,3590.23,3588.55,3589.92,0,0
+2006-01-19,16:35:00,3590.09,3591.17,3588.82,3589.56,0,0
+2006-01-19,16:40:00,3588.87,3591.90,3588.87,3591.25,0,0
+2006-01-19,16:45:00,3590.88,3591.27,3590.21,3591.01,0,0
+2006-01-19,16:50:00,3591.40,3591.72,3589.43,3591.45,0,0
+2006-01-19,16:55:00,3591.62,3592.44,3591.20,3591.78,0,0
+2006-01-19,17:00:00,3590.69,3591.64,3589.79,3589.79,0,0
+2006-01-19,17:05:00,3590.04,3591.85,3589.97,3590.87,0,0
+2006-01-19,17:10:00,3591.52,3593.70,3591.38,3593.70,0,0
+2006-01-19,17:15:00,3594.15,3595.51,3592.71,3594.61,0,0
+2006-01-19,17:20:00,3594.11,3594.14,3591.36,3592.01,0,0
+2006-01-19,17:25:00,3591.64,3592.01,3589.51,3590.92,0,0
+2006-01-19,17:30:00,3591.04,3593.22,3590.88,3593.22,0,0
+2006-01-20,09:05:00,3593.16,3603.17,3593.16,3602.66,0,0
+2006-01-20,09:10:00,3602.94,3609.06,3602.94,3609.06,0,0
+2006-01-20,09:15:00,3608.80,3608.87,3607.16,3608.62,0,0
+2006-01-20,09:20:00,3608.51,3609.27,3606.89,3607.99,0,0
+2006-01-20,09:25:00,3607.52,3607.94,3606.80,3607.44,0,0
+2006-01-20,09:30:00,3607.48,3608.37,3604.61,3604.61,0,0
+2006-01-20,09:35:00,3604.09,3605.92,3604.09,3605.92,0,0
+2006-01-20,09:40:00,3605.66,3607.28,3604.94,3604.94,0,0
+2006-01-20,09:45:00,3605.45,3606.46,3605.22,3605.73,0,0
+2006-01-20,09:50:00,3606.25,3608.28,3606.25,3607.80,0,0
+2006-01-20,09:55:00,3608.41,3611.05,3608.41,3609.55,0,0
+2006-01-20,10:00:00,3609.60,3611.72,3609.13,3610.88,0,0
+2006-01-20,10:05:00,3612.37,3612.37,3609.13,3609.59,0,0
+2006-01-20,10:10:00,3609.49,3610.62,3608.85,3610.08,0,0
+2006-01-20,10:15:00,3610.17,3610.27,3608.25,3608.91,0,0
+2006-01-20,10:20:00,3609.26,3609.26,3607.06,3607.53,0,0
+2006-01-20,10:25:00,3607.99,3609.60,3607.99,3609.60,0,0
+2006-01-20,10:30:00,3610.03,3610.11,3608.42,3608.88,0,0
+2006-01-20,10:35:00,3608.97,3609.79,3608.47,3609.79,0,0
+2006-01-20,10:40:00,3609.67,3611.17,3609.57,3611.07,0,0
+2006-01-20,10:45:00,3610.95,3610.95,3609.32,3610.01,0,0
+2006-01-20,10:50:00,3609.68,3610.00,3607.96,3608.62,0,0
+2006-01-20,10:55:00,3608.82,3609.26,3608.36,3609.10,0,0
+2006-01-20,11:00:00,3609.13,3609.30,3608.51,3609.00,0,0
+2006-01-20,11:05:00,3609.22,3609.22,3604.48,3604.81,0,0
+2006-01-20,11:10:00,3604.76,3605.22,3604.65,3605.22,0,0
+2006-01-20,11:15:00,3605.27,3605.27,3600.43,3601.66,0,0
+2006-01-20,11:20:00,3601.96,3602.86,3601.96,3602.81,0,0
+2006-01-20,11:25:00,3602.96,3603.47,3599.83,3599.83,0,0
+2006-01-20,11:30:00,3599.51,3600.80,3598.90,3599.56,0,0
+2006-01-20,11:35:00,3599.74,3600.64,3597.65,3598.88,0,0
+2006-01-20,11:40:00,3598.73,3600.13,3598.53,3600.12,0,0
+2006-01-20,11:45:00,3600.01,3601.83,3599.95,3601.83,0,0
+2006-01-20,11:50:00,3601.60,3603.24,3601.58,3602.96,0,0
+2006-01-20,11:55:00,3603.94,3607.00,3603.72,3605.25,0,0
+2006-01-20,12:00:00,3605.13,3605.13,3599.29,3599.29,0,0
+2006-01-20,12:05:00,3603.64,3603.64,3597.63,3599.14,0,0
+2006-01-20,12:10:00,3598.43,3598.66,3596.08,3596.83,0,0
+2006-01-20,12:15:00,3596.83,3596.95,3596.13,3596.48,0,0
+2006-01-20,12:20:00,3596.61,3597.01,3596.04,3596.54,0,0
+2006-01-20,12:25:00,3596.68,3597.55,3596.45,3597.26,0,0
+2006-01-20,12:30:00,3597.42,3597.82,3596.54,3596.69,0,0
+2006-01-20,12:35:00,3596.84,3597.80,3596.69,3597.61,0,0
+2006-01-20,12:40:00,3597.70,3597.71,3594.15,3595.04,0,0
+2006-01-20,12:45:00,3595.18,3595.18,3594.28,3594.51,0,0
+2006-01-20,12:50:00,3594.56,3595.01,3593.58,3593.58,0,0
+2006-01-20,12:55:00,3593.53,3593.98,3592.67,3593.19,0,0
+2006-01-20,13:00:00,3593.51,3593.51,3593.04,3593.20,0,0
+2006-01-20,13:05:00,3593.21,3593.54,3592.62,3592.98,0,0
+2006-01-20,13:10:00,3593.00,3593.00,3589.31,3589.49,0,0
+2006-01-20,13:15:00,3589.59,3590.13,3589.47,3590.03,0,0
+2006-01-20,13:20:00,3590.12,3590.49,3589.50,3589.93,0,0
+2006-01-20,13:25:00,3590.44,3591.95,3590.44,3591.77,0,0
+2006-01-20,13:30:00,3591.83,3592.07,3591.29,3591.30,0,0
+2006-01-20,13:35:00,3591.60,3592.53,3591.55,3592.14,0,0
+2006-01-20,13:40:00,3591.99,3592.60,3591.71,3591.95,0,0
+2006-01-20,13:45:00,3592.01,3592.51,3591.61,3592.51,0,0
+2006-01-20,13:50:00,3592.75,3592.75,3591.85,3592.02,0,0
+2006-01-20,13:55:00,3592.45,3593.05,3592.17,3592.79,0,0
+2006-01-20,14:00:00,3592.71,3593.62,3592.50,3593.62,0,0
+2006-01-20,14:05:00,3593.72,3594.08,3593.23,3593.96,0,0
+2006-01-20,14:10:00,3593.91,3594.38,3593.64,3594.11,0,0
+2006-01-20,14:15:00,3594.21,3594.92,3593.99,3594.92,0,0
+2006-01-20,14:20:00,3594.81,3594.81,3593.34,3593.71,0,0
+2006-01-20,14:25:00,3593.76,3594.88,3593.76,3594.10,0,0
+2006-01-20,14:30:00,3594.28,3594.39,3593.48,3594.20,0,0
+2006-01-20,14:35:00,3594.05,3594.32,3593.00,3593.65,0,0
+2006-01-20,14:40:00,3593.25,3593.70,3592.61,3593.59,0,0
+2006-01-20,14:45:00,3593.44,3593.61,3592.69,3592.69,0,0
+2006-01-20,14:50:00,3593.00,3594.06,3592.82,3594.06,0,0
+2006-01-20,14:55:00,3594.29,3594.90,3593.97,3594.90,0,0
+2006-01-20,15:00:00,3595.19,3595.19,3590.83,3591.31,0,0
+2006-01-20,15:05:00,3591.29,3593.09,3591.29,3593.08,0,0
+2006-01-20,15:10:00,3592.98,3595.22,3592.79,3594.98,0,0
+2006-01-20,15:15:00,3594.78,3595.23,3593.92,3594.33,0,0
+2006-01-20,15:20:00,3594.21,3596.22,3594.21,3596.22,0,0
+2006-01-20,15:25:00,3595.86,3595.93,3594.76,3594.76,0,0
+2006-01-20,15:30:00,3594.62,3596.65,3594.62,3596.65,0,0
+2006-01-20,15:35:00,3596.81,3597.09,3595.87,3596.47,0,0
+2006-01-20,15:40:00,3596.60,3596.64,3595.40,3596.58,0,0
+2006-01-20,15:45:00,3596.92,3597.28,3596.39,3596.85,0,0
+2006-01-20,15:50:00,3596.69,3597.82,3595.76,3597.82,0,0
+2006-01-20,15:55:00,3597.45,3597.81,3596.48,3597.07,0,0
+2006-01-20,16:00:00,3597.06,3597.06,3584.50,3584.50,0,0
+2006-01-20,16:05:00,3584.01,3589.65,3575.40,3586.01,0,0
+2006-01-20,16:10:00,3586.79,3588.14,3584.96,3584.96,0,0
+2006-01-20,16:15:00,3585.80,3586.27,3576.71,3576.71,0,0
+2006-01-20,16:20:00,3574.77,3581.66,3574.77,3576.86,0,0
+2006-01-20,16:25:00,3576.79,3580.10,3575.65,3579.81,0,0
+2006-01-20,16:30:00,3579.29,3579.75,3576.22,3576.33,0,0
+2006-01-20,16:35:00,3575.75,3576.14,3566.87,3570.06,0,0
+2006-01-20,16:40:00,3571.20,3571.75,3570.12,3571.67,0,0
+2006-01-20,16:45:00,3571.75,3572.91,3568.36,3568.36,0,0
+2006-01-20,16:50:00,3566.58,3568.06,3564.83,3564.99,0,0
+2006-01-20,16:55:00,3564.88,3565.83,3555.66,3559.16,0,0
+2006-01-20,17:00:00,3559.44,3562.12,3559.18,3561.36,0,0
+2006-01-20,17:05:00,3559.71,3563.01,3555.91,3563.01,0,0
+2006-01-20,17:10:00,3563.18,3563.52,3560.93,3562.32,0,0
+2006-01-20,17:15:00,3563.02,3568.18,3560.34,3567.54,0,0
+2006-01-20,17:20:00,3567.40,3567.40,3562.08,3562.08,0,0
+2006-01-20,17:25:00,3560.85,3560.85,3554.04,3555.56,0,0
+2006-01-20,17:30:00,3554.39,3555.60,3550.80,3550.80,0,0
+2006-01-23,09:05:00,3550.24,3550.24,3516.13,3521.42,0,0
+2006-01-23,09:10:00,3520.96,3520.96,3515.07,3515.64,0,0
+2006-01-23,09:15:00,3515.46,3520.63,3515.46,3520.63,0,0
+2006-01-23,09:20:00,3521.20,3527.25,3520.97,3525.08,0,0
+2006-01-23,09:25:00,3523.73,3523.78,3522.17,3523.09,0,0
+2006-01-23,09:30:00,3522.77,3523.38,3520.74,3521.73,0,0
+2006-01-23,09:35:00,3522.08,3522.08,3519.58,3520.53,0,0
+2006-01-23,09:40:00,3520.67,3522.09,3520.01,3521.43,0,0
+2006-01-23,09:45:00,3520.19,3524.91,3520.19,3524.82,0,0
+2006-01-23,09:50:00,3524.67,3525.33,3523.54,3525.33,0,0
+2006-01-23,09:55:00,3525.92,3529.63,3525.68,3529.06,0,0
+2006-01-23,10:00:00,3529.25,3529.95,3528.20,3528.22,0,0
+2006-01-23,10:05:00,3528.17,3529.39,3525.69,3525.82,0,0
+2006-01-23,10:10:00,3526.11,3529.06,3526.11,3527.69,0,0
+2006-01-23,10:15:00,3527.22,3527.31,3526.01,3526.18,0,0
+2006-01-23,10:20:00,3526.36,3527.60,3526.05,3527.28,0,0
+2006-01-23,10:25:00,3527.71,3529.36,3527.71,3527.92,0,0
+2006-01-23,10:30:00,3527.76,3530.16,3527.61,3529.84,0,0
+2006-01-23,10:35:00,3529.71,3533.60,3529.71,3533.60,0,0
+2006-01-23,10:40:00,3533.65,3533.65,3532.38,3533.31,0,0
+2006-01-23,10:45:00,3533.13,3536.66,3533.13,3536.20,0,0
+2006-01-23,10:50:00,3536.05,3537.82,3533.30,3533.68,0,0
+2006-01-23,10:55:00,3534.26,3535.74,3533.91,3535.70,0,0
+2006-01-23,11:00:00,3535.60,3536.60,3535.15,3535.81,0,0
+2006-01-23,11:05:00,3535.35,3535.35,3531.47,3532.25,0,0
+2006-01-23,11:10:00,3531.70,3532.17,3531.02,3531.77,0,0
+2006-01-23,11:15:00,3531.75,3532.81,3531.56,3532.32,0,0
+2006-01-23,11:20:00,3532.48,3533.22,3532.31,3532.38,0,0
+2006-01-23,11:25:00,3532.43,3535.67,3532.33,3535.67,0,0
+2006-01-23,11:30:00,3535.62,3536.01,3534.17,3534.41,0,0
+2006-01-23,11:35:00,3534.27,3534.27,3531.34,3532.31,0,0
+2006-01-23,11:40:00,3532.18,3532.59,3531.12,3531.92,0,0
+2006-01-23,11:45:00,3531.70,3531.83,3530.75,3530.93,0,0
+2006-01-23,11:50:00,3531.37,3533.16,3531.33,3532.85,0,0
+2006-01-23,11:55:00,3532.79,3533.57,3532.36,3533.04,0,0
+2006-01-23,12:00:00,3533.00,3534.07,3531.89,3532.68,0,0
+2006-01-23,12:05:00,3533.06,3533.08,3532.04,3532.49,0,0
+2006-01-23,12:10:00,3532.73,3532.99,3532.08,3532.78,0,0
+2006-01-23,12:15:00,3532.72,3532.81,3530.89,3530.89,0,0
+2006-01-23,12:20:00,3530.70,3530.70,3529.01,3529.64,0,0
+2006-01-23,12:25:00,3529.63,3530.17,3524.10,3524.10,0,0
+2006-01-23,12:30:00,3524.33,3525.62,3523.30,3525.62,0,0
+2006-01-23,12:35:00,3525.75,3526.20,3524.66,3524.86,0,0
+2006-01-23,12:40:00,3523.31,3525.12,3523.07,3525.11,0,0
+2006-01-23,12:45:00,3525.24,3525.24,3520.60,3520.60,0,0
+2006-01-23,12:50:00,3521.05,3521.48,3519.94,3520.35,0,0
+2006-01-23,12:55:00,3520.17,3522.78,3520.00,3522.78,0,0
+2006-01-23,13:00:00,3522.96,3523.52,3521.93,3523.07,0,0
+2006-01-23,13:05:00,3522.97,3524.39,3522.03,3523.99,0,0
+2006-01-23,13:10:00,3524.04,3526.03,3523.37,3526.03,0,0
+2006-01-23,13:15:00,3526.07,3527.54,3526.07,3527.04,0,0
+2006-01-23,13:20:00,3527.37,3529.63,3527.12,3529.34,0,0
+2006-01-23,13:25:00,3529.46,3529.83,3529.18,3529.60,0,0
+2006-01-23,13:30:00,3529.81,3529.81,3528.07,3528.74,0,0
+2006-01-23,13:35:00,3528.71,3531.47,3528.64,3530.33,0,0
+2006-01-23,13:40:00,3530.49,3531.07,3529.46,3529.91,0,0
+2006-01-23,13:45:00,3529.89,3530.22,3529.34,3530.17,0,0
+2006-01-23,13:50:00,3530.26,3533.46,3530.22,3533.38,0,0
+2006-01-23,13:55:00,3533.30,3533.60,3531.57,3531.57,0,0
+2006-01-23,14:00:00,3531.79,3531.91,3531.13,3531.40,0,0
+2006-01-23,14:05:00,3531.33,3531.72,3529.09,3531.72,0,0
+2006-01-23,14:10:00,3531.88,3534.04,3531.59,3534.04,0,0
+2006-01-23,14:15:00,3533.81,3535.00,3533.81,3534.85,0,0
+2006-01-23,14:20:00,3534.55,3534.76,3533.17,3533.27,0,0
+2006-01-23,14:25:00,3533.30,3534.75,3533.22,3534.45,0,0
+2006-01-23,14:30:00,3534.70,3534.88,3533.66,3534.19,0,0
+2006-01-23,14:35:00,3533.91,3534.18,3532.57,3533.46,0,0
+2006-01-23,14:40:00,3532.50,3533.56,3532.50,3533.14,0,0
+2006-01-23,14:45:00,3533.09,3533.09,3532.02,3532.88,0,0
+2006-01-23,14:50:00,3532.77,3535.73,3532.77,3535.60,0,0
+2006-01-23,14:55:00,3535.36,3535.60,3532.44,3533.43,0,0
+2006-01-23,15:00:00,3533.67,3534.06,3531.56,3531.56,0,0
+2006-01-23,15:05:00,3531.33,3532.22,3529.93,3532.22,0,0
+2006-01-23,15:10:00,3531.75,3532.30,3531.19,3532.20,0,0
+2006-01-23,15:15:00,3532.19,3532.19,3530.78,3531.40,0,0
+2006-01-23,15:20:00,3531.53,3532.08,3531.35,3532.08,0,0
+2006-01-23,15:25:00,3532.00,3532.74,3531.60,3532.74,0,0
+2006-01-23,15:30:00,3532.66,3533.58,3532.66,3533.37,0,0
+2006-01-23,15:35:00,3533.19,3533.36,3531.55,3532.10,0,0
+2006-01-23,15:40:00,3532.08,3532.68,3531.27,3532.68,0,0
+2006-01-23,15:45:00,3532.66,3533.00,3531.71,3532.69,0,0
+2006-01-23,15:50:00,3532.69,3532.72,3530.21,3531.60,0,0
+2006-01-23,15:55:00,3531.78,3532.57,3531.44,3531.66,0,0
+2006-01-23,16:00:00,3531.46,3531.95,3528.88,3529.03,0,0
+2006-01-23,16:05:00,3527.17,3527.17,3522.61,3523.47,0,0
+2006-01-23,16:10:00,3523.40,3524.05,3521.89,3523.35,0,0
+2006-01-23,16:15:00,3523.92,3528.43,3523.92,3528.43,0,0
+2006-01-23,16:20:00,3528.13,3529.30,3527.23,3527.23,0,0
+2006-01-23,16:25:00,3527.23,3533.40,3526.85,3533.40,0,0
+2006-01-23,16:30:00,3533.32,3535.60,3533.32,3533.65,0,0
+2006-01-23,16:35:00,3533.39,3535.12,3531.01,3531.01,0,0
+2006-01-23,16:40:00,3530.77,3531.39,3529.78,3530.26,0,0
+2006-01-23,16:45:00,3530.09,3530.26,3527.78,3530.26,0,0
+2006-01-23,16:50:00,3530.74,3534.45,3530.74,3532.05,0,0
+2006-01-23,16:55:00,3532.11,3533.84,3532.03,3533.00,0,0
+2006-01-23,17:00:00,3533.28,3537.33,3533.28,3536.17,0,0
+2006-01-23,17:05:00,3535.93,3538.85,3534.75,3538.37,0,0
+2006-01-23,17:10:00,3538.16,3540.65,3538.02,3540.02,0,0
+2006-01-23,17:15:00,3540.83,3545.85,3540.83,3545.13,0,0
+2006-01-23,17:20:00,3544.96,3545.00,3543.91,3544.28,0,0
+2006-01-23,17:25:00,3544.32,3544.67,3543.63,3544.04,0,0
+2006-01-23,17:30:00,3543.91,3544.73,3543.91,3544.31,0,0
+2006-01-24,09:05:00,3544.78,3549.28,3544.78,3549.21,0,0
+2006-01-24,09:10:00,3549.95,3550.83,3543.75,3543.75,0,0
+2006-01-24,09:15:00,3542.61,3546.05,3541.97,3545.17,0,0
+2006-01-24,09:20:00,3545.18,3546.66,3543.88,3544.47,0,0
+2006-01-24,09:25:00,3544.57,3544.57,3539.13,3539.13,0,0
+2006-01-24,09:30:00,3538.59,3539.61,3536.86,3536.86,0,0
+2006-01-24,09:35:00,3537.21,3539.09,3536.79,3538.77,0,0
+2006-01-24,09:40:00,3538.57,3541.21,3538.57,3539.70,0,0
+2006-01-24,09:45:00,3539.60,3539.60,3535.26,3535.32,0,0
+2006-01-24,09:50:00,3535.59,3536.22,3532.83,3533.90,0,0
+2006-01-24,09:55:00,3533.77,3534.01,3530.96,3531.79,0,0
+2006-01-24,10:00:00,3532.44,3534.29,3532.44,3533.82,0,0
+2006-01-24,10:05:00,3534.01,3536.69,3533.93,3536.56,0,0
+2006-01-24,10:10:00,3536.54,3536.97,3536.01,3536.27,0,0
+2006-01-24,10:15:00,3536.53,3539.79,3536.53,3539.62,0,0
+2006-01-24,10:20:00,3539.23,3539.66,3537.01,3537.38,0,0
+2006-01-24,10:25:00,3537.34,3539.44,3537.34,3538.24,0,0
+2006-01-24,10:30:00,3538.24,3539.04,3537.05,3537.05,0,0
+2006-01-24,10:35:00,3537.34,3537.95,3536.15,3537.68,0,0
+2006-01-24,10:40:00,3537.98,3537.98,3537.40,3537.88,0,0
+2006-01-24,10:45:00,3537.58,3538.34,3535.49,3535.49,0,0
+2006-01-24,10:50:00,3534.75,3535.81,3534.43,3534.43,0,0
+2006-01-24,10:55:00,3534.13,3534.13,3531.58,3532.66,0,0
+2006-01-24,11:00:00,3532.74,3534.17,3532.17,3533.06,0,0
+2006-01-24,11:05:00,3533.26,3534.15,3532.53,3533.54,0,0
+2006-01-24,11:10:00,3533.61,3534.35,3533.56,3534.13,0,0
+2006-01-24,11:15:00,3534.46,3534.64,3532.97,3532.97,0,0
+2006-01-24,11:20:00,3532.87,3532.87,3528.92,3528.99,0,0
+2006-01-24,11:25:00,3529.18,3532.79,3529.11,3532.79,0,0
+2006-01-24,11:30:00,3532.83,3533.09,3532.12,3532.59,0,0
+2006-01-24,11:35:00,3532.81,3534.49,3532.62,3533.76,0,0
+2006-01-24,11:40:00,3533.89,3535.14,3533.89,3535.14,0,0
+2006-01-24,11:45:00,3535.07,3535.32,3534.13,3534.40,0,0
+2006-01-24,11:50:00,3534.11,3534.11,3532.80,3532.80,0,0
+2006-01-24,11:55:00,3532.85,3533.41,3532.06,3533.41,0,0
+2006-01-24,12:00:00,3532.81,3533.95,3532.81,3533.32,0,0
+2006-01-24,12:05:00,3533.16,3533.60,3531.61,3532.12,0,0
+2006-01-24,12:10:00,3531.89,3532.80,3531.59,3532.45,0,0
+2006-01-24,12:15:00,3532.68,3535.26,3532.68,3534.93,0,0
+2006-01-24,12:20:00,3534.68,3534.90,3533.65,3534.61,0,0
+2006-01-24,12:25:00,3534.39,3535.06,3534.35,3534.43,0,0
+2006-01-24,12:30:00,3534.38,3534.69,3532.70,3533.28,0,0
+2006-01-24,12:35:00,3533.54,3535.90,3533.54,3535.90,0,0
+2006-01-24,12:40:00,3536.07,3539.66,3536.07,3539.66,0,0
+2006-01-24,12:45:00,3539.76,3540.68,3538.61,3538.64,0,0
+2006-01-24,12:50:00,3538.70,3539.84,3538.35,3539.71,0,0
+2006-01-24,12:55:00,3539.20,3539.57,3538.73,3539.50,0,0
+2006-01-24,13:00:00,3539.60,3541.25,3539.60,3540.87,0,0
+2006-01-24,13:05:00,3541.06,3541.23,3539.80,3540.10,0,0
+2006-01-24,13:10:00,3540.53,3541.25,3540.19,3541.05,0,0
+2006-01-24,13:15:00,3541.04,3541.68,3540.17,3540.55,0,0
+2006-01-24,13:20:00,3539.79,3539.97,3539.15,3539.59,0,0
+2006-01-24,13:25:00,3539.45,3540.75,3539.39,3540.75,0,0
+2006-01-24,13:30:00,3540.88,3542.23,3540.88,3542.23,0,0
+2006-01-24,13:35:00,3542.12,3543.01,3542.12,3542.88,0,0
+2006-01-24,13:40:00,3542.62,3542.92,3541.83,3542.64,0,0
+2006-01-24,13:45:00,3542.37,3542.85,3542.18,3542.46,0,0
+2006-01-24,13:50:00,3542.14,3542.83,3541.08,3542.66,0,0
+2006-01-24,13:55:00,3542.56,3544.17,3542.47,3542.47,0,0
+2006-01-24,14:00:00,3542.52,3543.14,3542.14,3542.93,0,0
+2006-01-24,14:05:00,3543.11,3543.11,3539.15,3539.15,0,0
+2006-01-24,14:10:00,3539.74,3539.92,3539.30,3539.52,0,0
+2006-01-24,14:15:00,3539.18,3539.19,3537.69,3538.00,0,0
+2006-01-24,14:20:00,3537.77,3539.83,3537.77,3539.38,0,0
+2006-01-24,14:25:00,3539.46,3540.84,3539.33,3540.02,0,0
+2006-01-24,14:30:00,3539.70,3541.20,3539.50,3541.20,0,0
+2006-01-24,14:35:00,3541.12,3542.57,3541.03,3542.28,0,0
+2006-01-24,14:40:00,3542.46,3542.82,3542.01,3542.16,0,0
+2006-01-24,14:45:00,3542.24,3542.96,3542.08,3542.48,0,0
+2006-01-24,14:50:00,3542.30,3542.30,3540.63,3542.08,0,0
+2006-01-24,14:55:00,3542.07,3542.29,3540.81,3540.93,0,0
+2006-01-24,15:00:00,3540.82,3541.02,3539.43,3540.24,0,0
+2006-01-24,15:05:00,3540.33,3540.33,3538.32,3539.18,0,0
+2006-01-24,15:10:00,3539.49,3540.77,3539.49,3540.33,0,0
+2006-01-24,15:15:00,3540.58,3541.24,3540.53,3540.70,0,0
+2006-01-24,15:20:00,3541.05,3541.33,3540.54,3541.20,0,0
+2006-01-24,15:25:00,3541.44,3541.70,3540.74,3540.74,0,0
+2006-01-24,15:30:00,3540.76,3541.15,3540.15,3541.15,0,0
+2006-01-24,15:35:00,3540.55,3542.68,3540.49,3542.68,0,0
+2006-01-24,15:40:00,3542.70,3544.97,3542.70,3544.12,0,0
+2006-01-24,15:45:00,3544.38,3544.71,3543.40,3543.40,0,0
+2006-01-24,15:50:00,3544.48,3546.24,3544.48,3546.24,0,0
+2006-01-24,15:55:00,3546.21,3548.53,3546.08,3548.26,0,0
+2006-01-24,16:00:00,3548.63,3550.64,3548.63,3550.23,0,0
+2006-01-24,16:05:00,3550.25,3550.86,3548.30,3549.24,0,0
+2006-01-24,16:10:00,3549.29,3549.29,3548.21,3548.49,0,0
+2006-01-24,16:15:00,3548.10,3548.39,3546.74,3547.52,0,0
+2006-01-24,16:20:00,3547.92,3548.45,3547.44,3548.36,0,0
+2006-01-24,16:25:00,3549.33,3553.16,3549.33,3550.27,0,0
+2006-01-24,16:30:00,3549.93,3549.95,3543.97,3544.73,0,0
+2006-01-24,16:35:00,3544.63,3545.54,3543.61,3545.35,0,0
+2006-01-24,16:40:00,3545.40,3546.64,3545.11,3546.39,0,0
+2006-01-24,16:45:00,3546.11,3548.64,3545.58,3548.03,0,0
+2006-01-24,16:50:00,3547.37,3548.85,3546.72,3546.72,0,0
+2006-01-24,16:55:00,3546.54,3548.88,3545.49,3545.49,0,0
+2006-01-24,17:00:00,3543.92,3543.92,3540.78,3540.82,0,0
+2006-01-24,17:05:00,3540.97,3540.97,3538.17,3538.28,0,0
+2006-01-24,17:10:00,3538.04,3538.09,3529.39,3530.65,0,0
+2006-01-24,17:15:00,3531.12,3532.30,3526.44,3526.44,0,0
+2006-01-24,17:20:00,3526.37,3529.03,3526.37,3527.59,0,0
+2006-01-24,17:25:00,3528.51,3531.66,3528.51,3530.97,0,0
+2006-01-24,17:30:00,3530.79,3533.11,3530.67,3532.68,0,0
+2006-01-25,09:05:00,3532.72,3546.45,3532.72,3545.92,0,0
+2006-01-25,09:10:00,3545.62,3546.08,3544.09,3544.93,0,0
+2006-01-25,09:15:00,3544.73,3544.73,3542.12,3543.89,0,0
+2006-01-25,09:20:00,3543.97,3546.58,3542.16,3546.19,0,0
+2006-01-25,09:25:00,3546.58,3548.03,3544.96,3548.03,0,0
+2006-01-25,09:30:00,3547.97,3549.32,3545.08,3545.08,0,0
+2006-01-25,09:35:00,3543.51,3548.44,3543.51,3547.87,0,0
+2006-01-25,09:40:00,3547.44,3547.84,3544.16,3544.16,0,0
+2006-01-25,09:45:00,3544.58,3548.59,3544.58,3547.91,0,0
+2006-01-25,09:50:00,3547.96,3549.72,3547.78,3548.29,0,0
+2006-01-25,09:55:00,3548.03,3551.50,3547.56,3550.28,0,0
+2006-01-25,10:00:00,3550.38,3551.63,3549.43,3551.10,0,0
+2006-01-25,10:05:00,3551.29,3557.57,3551.29,3557.21,0,0
+2006-01-25,10:10:00,3557.40,3557.40,3554.99,3555.35,0,0
+2006-01-25,10:15:00,3555.42,3555.42,3553.87,3553.91,0,0
+2006-01-25,10:20:00,3553.35,3557.35,3553.35,3557.33,0,0
+2006-01-25,10:25:00,3557.70,3557.91,3555.89,3556.79,0,0
+2006-01-25,10:30:00,3555.96,3556.08,3553.28,3553.53,0,0
+2006-01-25,10:35:00,3553.61,3555.45,3553.44,3555.45,0,0
+2006-01-25,10:40:00,3555.12,3556.53,3554.76,3555.97,0,0
+2006-01-25,10:45:00,3555.72,3555.94,3554.79,3555.50,0,0
+2006-01-25,10:50:00,3555.22,3555.22,3552.42,3553.54,0,0
+2006-01-25,10:55:00,3552.82,3554.47,3552.82,3554.25,0,0
+2006-01-25,11:00:00,3554.42,3554.52,3553.14,3553.67,0,0
+2006-01-25,11:05:00,3553.70,3557.71,3553.70,3556.32,0,0
+2006-01-25,11:10:00,3556.54,3557.23,3556.11,3556.11,0,0
+2006-01-25,11:15:00,3556.35,3558.16,3556.24,3557.56,0,0
+2006-01-25,11:20:00,3557.79,3559.41,3557.23,3558.67,0,0
+2006-01-25,11:25:00,3558.41,3559.06,3558.01,3558.03,0,0
+2006-01-25,11:30:00,3558.10,3559.52,3558.08,3559.11,0,0
+2006-01-25,11:35:00,3559.15,3560.72,3559.15,3560.67,0,0
+2006-01-25,11:40:00,3561.19,3562.61,3561.19,3561.89,0,0
+2006-01-25,11:45:00,3561.14,3563.39,3561.06,3562.85,0,0
+2006-01-25,11:50:00,3562.95,3565.12,3562.89,3563.34,0,0
+2006-01-25,11:55:00,3563.03,3563.29,3562.26,3562.69,0,0
+2006-01-25,12:00:00,3562.94,3563.88,3562.57,3563.88,0,0
+2006-01-25,12:05:00,3563.09,3563.67,3562.09,3562.09,0,0
+2006-01-25,12:10:00,3562.19,3562.38,3561.75,3561.98,0,0
+2006-01-25,12:15:00,3562.23,3564.92,3562.22,3564.63,0,0
+2006-01-25,12:20:00,3564.41,3565.18,3563.68,3564.94,0,0
+2006-01-25,12:25:00,3564.88,3566.18,3564.76,3566.10,0,0
+2006-01-25,12:30:00,3566.15,3566.15,3563.93,3564.43,0,0
+2006-01-25,12:35:00,3564.24,3564.76,3563.32,3563.87,0,0
+2006-01-25,12:40:00,3563.21,3563.89,3563.16,3563.75,0,0
+2006-01-25,12:45:00,3563.67,3563.67,3561.60,3561.94,0,0
+2006-01-25,12:50:00,3561.84,3561.84,3560.01,3560.43,0,0
+2006-01-25,12:55:00,3560.28,3561.04,3560.13,3560.42,0,0
+2006-01-25,13:00:00,3559.95,3560.08,3559.07,3559.27,0,0
+2006-01-25,13:05:00,3558.67,3560.05,3558.51,3559.35,0,0
+2006-01-25,13:10:00,3559.51,3561.41,3559.51,3561.41,0,0
+2006-01-25,13:15:00,3561.10,3562.31,3561.10,3562.12,0,0
+2006-01-25,13:20:00,3562.17,3564.48,3562.17,3564.48,0,0
+2006-01-25,13:25:00,3564.24,3565.25,3564.11,3564.11,0,0
+2006-01-25,13:30:00,3564.69,3565.13,3564.32,3564.94,0,0
+2006-01-25,13:35:00,3565.15,3566.47,3564.80,3566.47,0,0
+2006-01-25,13:40:00,3567.11,3567.65,3566.03,3566.13,0,0
+2006-01-25,13:45:00,3566.38,3567.84,3566.30,3567.84,0,0
+2006-01-25,13:50:00,3568.07,3568.58,3566.71,3566.86,0,0
+2006-01-25,13:55:00,3566.59,3566.59,3565.16,3565.27,0,0
+2006-01-25,14:00:00,3565.12,3565.42,3563.36,3563.75,0,0
+2006-01-25,14:05:00,3563.88,3565.02,3563.80,3564.60,0,0
+2006-01-25,14:10:00,3564.41,3566.26,3564.00,3566.26,0,0
+2006-01-25,14:15:00,3566.84,3566.98,3564.96,3565.15,0,0
+2006-01-25,14:20:00,3565.17,3565.37,3564.12,3564.67,0,0
+2006-01-25,14:25:00,3564.62,3565.70,3564.62,3565.30,0,0
+2006-01-25,14:30:00,3565.10,3566.21,3565.04,3565.80,0,0
+2006-01-25,14:35:00,3565.98,3566.59,3565.84,3566.42,0,0
+2006-01-25,14:40:00,3566.48,3566.54,3563.85,3563.85,0,0
+2006-01-25,14:45:00,3564.01,3566.42,3564.01,3566.20,0,0
+2006-01-25,14:50:00,3566.27,3566.34,3564.84,3565.53,0,0
+2006-01-25,14:55:00,3565.94,3566.74,3565.73,3566.74,0,0
+2006-01-25,15:00:00,3566.95,3567.82,3566.72,3567.13,0,0
+2006-01-25,15:05:00,3567.40,3568.02,3567.40,3567.79,0,0
+2006-01-25,15:10:00,3567.80,3568.01,3566.33,3568.01,0,0
+2006-01-25,15:15:00,3568.16,3568.59,3566.81,3567.28,0,0
+2006-01-25,15:20:00,3567.21,3567.74,3566.68,3567.03,0,0
+2006-01-25,15:25:00,3567.19,3568.27,3566.83,3568.14,0,0
+2006-01-25,15:30:00,3567.81,3569.87,3567.81,3569.67,0,0
+2006-01-25,15:35:00,3569.90,3570.54,3568.59,3569.20,0,0
+2006-01-25,15:40:00,3569.22,3569.30,3566.89,3567.19,0,0
+2006-01-25,15:45:00,3567.35,3567.35,3563.82,3564.46,0,0
+2006-01-25,15:50:00,3564.12,3566.42,3563.03,3566.42,0,0
+2006-01-25,15:55:00,3567.05,3568.74,3566.60,3568.74,0,0
+2006-01-25,16:00:00,3568.89,3569.20,3566.69,3566.92,0,0
+2006-01-25,16:05:00,3567.17,3572.97,3566.38,3572.82,0,0
+2006-01-25,16:10:00,3572.71,3573.03,3566.65,3566.65,0,0
+2006-01-25,16:15:00,3566.17,3566.17,3561.78,3564.35,0,0
+2006-01-25,16:20:00,3564.05,3565.12,3563.30,3564.43,0,0
+2006-01-25,16:25:00,3564.52,3564.56,3555.15,3555.15,0,0
+2006-01-25,16:30:00,3554.67,3556.88,3554.49,3556.88,0,0
+2006-01-25,16:35:00,3557.30,3558.00,3549.99,3549.99,0,0
+2006-01-25,16:40:00,3550.51,3555.85,3550.51,3555.79,0,0
+2006-01-25,16:45:00,3555.51,3556.03,3554.16,3556.03,0,0
+2006-01-25,16:50:00,3555.92,3560.91,3554.15,3560.52,0,0
+2006-01-25,16:55:00,3560.55,3564.09,3559.92,3562.80,0,0
+2006-01-25,17:00:00,3562.32,3562.49,3560.48,3561.57,0,0
+2006-01-25,17:05:00,3561.90,3568.43,3561.45,3567.04,0,0
+2006-01-25,17:10:00,3568.04,3568.24,3565.19,3565.24,0,0
+2006-01-25,17:15:00,3565.29,3567.24,3565.23,3566.44,0,0
+2006-01-25,17:20:00,3566.03,3572.44,3565.95,3571.84,0,0
+2006-01-25,17:25:00,3572.69,3575.61,3572.69,3573.76,0,0
+2006-01-25,17:30:00,3573.38,3578.00,3573.21,3578.00,0,0
+2006-01-26,09:05:00,3578.92,3590.22,3577.98,3590.22,0,0
+2006-01-26,09:10:00,3590.11,3598.00,3590.11,3598.00,0,0
+2006-01-26,09:15:00,3600.30,3610.06,3600.30,3606.78,0,0
+2006-01-26,09:20:00,3607.45,3608.95,3606.84,3608.40,0,0
+2006-01-26,09:25:00,3608.14,3610.32,3606.01,3610.32,0,0
+2006-01-26,09:30:00,3609.58,3612.38,3609.16,3609.79,0,0
+2006-01-26,09:35:00,3609.17,3611.32,3609.17,3611.22,0,0
+2006-01-26,09:40:00,3611.03,3613.81,3611.03,3612.64,0,0
+2006-01-26,09:45:00,3611.67,3611.67,3608.35,3609.58,0,0
+2006-01-26,09:50:00,3609.86,3609.97,3607.59,3608.07,0,0
+2006-01-26,09:55:00,3608.03,3608.31,3606.93,3608.05,0,0
+2006-01-26,10:00:00,3607.50,3609.44,3606.82,3608.73,0,0
+2006-01-26,10:05:00,3609.05,3614.66,3609.05,3613.96,0,0
+2006-01-26,10:10:00,3614.54,3624.86,3614.53,3624.25,0,0
+2006-01-26,10:15:00,3623.28,3623.88,3620.58,3620.77,0,0
+2006-01-26,10:20:00,3620.47,3622.71,3620.47,3621.44,0,0
+2006-01-26,10:25:00,3621.07,3628.49,3621.07,3628.49,0,0
+2006-01-26,10:30:00,3627.98,3637.73,3627.27,3637.06,0,0
+2006-01-26,10:35:00,3635.73,3635.73,3630.59,3631.40,0,0
+2006-01-26,10:40:00,3631.14,3631.63,3628.35,3629.26,0,0
+2006-01-26,10:45:00,3629.21,3630.53,3627.53,3630.04,0,0
+2006-01-26,10:50:00,3630.69,3640.93,3630.69,3636.56,0,0
+2006-01-26,10:55:00,3635.67,3635.67,3633.00,3633.21,0,0
+2006-01-26,11:00:00,3632.93,3632.93,3627.42,3627.42,0,0
+2006-01-26,11:05:00,3627.61,3635.51,3627.61,3632.51,0,0
+2006-01-26,11:10:00,3632.37,3633.21,3620.79,3630.09,0,0
+2006-01-26,11:15:00,3628.80,3629.14,3624.38,3624.38,0,0
+2006-01-26,11:20:00,3623.77,3628.03,3622.37,3627.05,0,0
+2006-01-26,11:25:00,3627.16,3628.39,3626.23,3626.23,0,0
+2006-01-26,11:30:00,3626.44,3627.76,3625.40,3627.57,0,0
+2006-01-26,11:35:00,3627.45,3627.45,3622.96,3623.09,0,0
+2006-01-26,11:40:00,3622.91,3625.26,3622.91,3625.26,0,0
+2006-01-26,11:45:00,3625.15,3633.76,3624.62,3633.08,0,0
+2006-01-26,11:50:00,3632.43,3633.12,3631.86,3632.38,0,0
+2006-01-26,11:55:00,3632.98,3639.39,3632.67,3638.37,0,0
+2006-01-26,12:00:00,3635.52,3638.56,3632.10,3634.28,0,0
+2006-01-26,12:05:00,3634.74,3634.74,3628.38,3628.55,0,0
+2006-01-26,12:10:00,3627.76,3627.76,3626.10,3626.10,0,0
+2006-01-26,12:15:00,3627.61,3630.51,3627.61,3628.82,0,0
+2006-01-26,12:20:00,3629.09,3629.09,3626.50,3628.03,0,0
+2006-01-26,12:25:00,3627.43,3627.81,3625.51,3626.02,0,0
+2006-01-26,12:30:00,3626.12,3627.22,3625.78,3626.87,0,0
+2006-01-26,12:35:00,3626.70,3628.34,3626.70,3627.33,0,0
+2006-01-26,12:40:00,3627.44,3627.70,3625.58,3625.91,0,0
+2006-01-26,12:45:00,3625.71,3628.10,3625.34,3627.97,0,0
+2006-01-26,12:50:00,3628.43,3630.04,3628.22,3629.21,0,0
+2006-01-26,12:55:00,3628.95,3630.79,3628.95,3629.97,0,0
+2006-01-26,13:00:00,3629.80,3629.80,3628.08,3628.11,0,0
+2006-01-26,13:05:00,3628.38,3628.99,3627.51,3627.61,0,0
+2006-01-26,13:10:00,3627.66,3627.66,3626.90,3627.11,0,0
+2006-01-26,13:15:00,3626.95,3627.99,3626.78,3627.99,0,0
+2006-01-26,13:20:00,3628.31,3628.31,3626.84,3627.05,0,0
+2006-01-26,13:25:00,3627.07,3627.07,3626.37,3626.63,0,0
+2006-01-26,13:30:00,3626.80,3628.86,3626.75,3628.86,0,0
+2006-01-26,13:35:00,3628.55,3630.64,3628.12,3630.40,0,0
+2006-01-26,13:40:00,3631.00,3631.00,3629.54,3629.54,0,0
+2006-01-26,13:45:00,3629.93,3631.00,3629.78,3630.60,0,0
+2006-01-26,13:50:00,3630.73,3632.76,3630.33,3631.66,0,0
+2006-01-26,13:55:00,3631.53,3631.54,3629.93,3629.99,0,0
+2006-01-26,14:00:00,3629.91,3630.31,3629.22,3629.48,0,0
+2006-01-26,14:05:00,3629.58,3630.76,3627.96,3628.59,0,0
+2006-01-26,14:10:00,3628.57,3629.27,3627.57,3629.27,0,0
+2006-01-26,14:15:00,3628.99,3631.93,3628.96,3631.72,0,0
+2006-01-26,14:20:00,3631.50,3631.50,3630.46,3631.05,0,0
+2006-01-26,14:25:00,3630.87,3632.17,3630.87,3631.35,0,0
+2006-01-26,14:30:00,3630.61,3630.61,3629.42,3629.65,0,0
+2006-01-26,14:35:00,3629.68,3630.72,3625.50,3625.51,0,0
+2006-01-26,14:40:00,3625.70,3625.70,3622.38,3623.16,0,0
+2006-01-26,14:45:00,3623.98,3624.19,3622.77,3623.87,0,0
+2006-01-26,14:50:00,3623.66,3623.66,3621.55,3621.55,0,0
+2006-01-26,14:55:00,3621.39,3621.39,3619.88,3619.88,0,0
+2006-01-26,15:00:00,3619.59,3622.18,3618.79,3622.18,0,0
+2006-01-26,15:05:00,3622.88,3623.68,3620.97,3620.97,0,0
+2006-01-26,15:10:00,3620.93,3622.82,3620.61,3622.31,0,0
+2006-01-26,15:15:00,3622.38,3623.66,3622.36,3622.96,0,0
+2006-01-26,15:20:00,3623.13,3623.33,3621.24,3621.93,0,0
+2006-01-26,15:25:00,3621.95,3622.27,3621.18,3621.18,0,0
+2006-01-26,15:30:00,3621.11,3622.07,3620.71,3622.07,0,0
+2006-01-26,15:35:00,3622.52,3623.94,3622.06,3622.82,0,0
+2006-01-26,15:40:00,3623.12,3626.00,3623.12,3625.94,0,0
+2006-01-26,15:45:00,3624.53,3624.53,3621.75,3621.75,0,0
+2006-01-26,15:50:00,3621.67,3622.14,3619.91,3619.91,0,0
+2006-01-26,15:55:00,3620.03,3626.37,3619.12,3626.13,0,0
+2006-01-26,16:00:00,3625.88,3625.88,3623.52,3623.55,0,0
+2006-01-26,16:05:00,3622.12,3622.31,3620.86,3621.87,0,0
+2006-01-26,16:10:00,3622.24,3629.74,3620.81,3629.74,0,0
+2006-01-26,16:15:00,3629.96,3630.52,3626.98,3628.70,0,0
+2006-01-26,16:20:00,3628.34,3628.46,3623.69,3623.69,0,0
+2006-01-26,16:25:00,3624.04,3624.74,3621.81,3624.74,0,0
+2006-01-26,16:30:00,3624.56,3624.56,3622.43,3622.43,0,0
+2006-01-26,16:35:00,3622.61,3629.15,3622.61,3625.63,0,0
+2006-01-26,16:40:00,3624.98,3624.98,3618.76,3618.76,0,0
+2006-01-26,16:45:00,3618.91,3622.95,3618.91,3622.30,0,0
+2006-01-26,16:50:00,3622.13,3626.72,3621.80,3626.72,0,0
+2006-01-26,16:55:00,3626.68,3629.66,3626.60,3629.55,0,0
+2006-01-26,17:00:00,3629.31,3636.50,3627.75,3636.50,0,0
+2006-01-26,17:05:00,3636.57,3636.57,3630.97,3634.53,0,0
+2006-01-26,17:10:00,3634.56,3634.56,3631.74,3632.14,0,0
+2006-01-26,17:15:00,3631.90,3633.00,3631.57,3632.67,0,0
+2006-01-26,17:20:00,3632.73,3634.16,3630.64,3631.44,0,0
+2006-01-26,17:25:00,3631.34,3634.86,3631.34,3634.83,0,0
+2006-01-26,17:30:00,3634.95,3641.42,3634.90,3641.42,0,0
+2006-01-27,09:05:00,3643.35,3677.29,3643.35,3677.29,0,0
+2006-01-27,09:10:00,3676.45,3678.85,3676.13,3678.07,0,0
+2006-01-27,09:15:00,3677.25,3677.25,3673.76,3673.76,0,0
+2006-01-27,09:20:00,3673.78,3675.79,3671.68,3671.70,0,0
+2006-01-27,09:25:00,3670.74,3671.62,3669.46,3671.29,0,0
+2006-01-27,09:30:00,3671.88,3674.19,3671.42,3674.19,0,0
+2006-01-27,09:35:00,3674.10,3676.66,3674.10,3675.54,0,0
+2006-01-27,09:40:00,3675.33,3675.33,3673.68,3674.38,0,0
+2006-01-27,09:45:00,3674.63,3674.71,3672.46,3672.46,0,0
+2006-01-27,09:50:00,3672.62,3675.24,3671.86,3674.54,0,0
+2006-01-27,09:55:00,3674.25,3674.25,3672.54,3673.36,0,0
+2006-01-27,10:00:00,3673.96,3676.34,3673.07,3673.43,0,0
+2006-01-27,10:05:00,3673.16,3673.31,3672.16,3672.25,0,0
+2006-01-27,10:10:00,3672.43,3678.88,3671.96,3677.23,0,0
+2006-01-27,10:15:00,3677.14,3678.49,3676.39,3676.39,0,0
+2006-01-27,10:20:00,3676.26,3677.70,3674.26,3674.79,0,0
+2006-01-27,10:25:00,3675.37,3675.98,3671.37,3671.37,0,0
+2006-01-27,10:30:00,3671.42,3671.61,3667.04,3669.94,0,0
+2006-01-27,10:35:00,3669.52,3669.91,3666.37,3668.12,0,0
+2006-01-27,10:40:00,3667.87,3668.86,3666.56,3668.62,0,0
+2006-01-27,10:45:00,3668.40,3672.11,3668.40,3671.91,0,0
+2006-01-27,10:50:00,3672.30,3672.30,3670.08,3670.23,0,0
+2006-01-27,10:55:00,3670.78,3670.78,3668.96,3669.80,0,0
+2006-01-27,11:00:00,3670.06,3670.06,3666.73,3666.73,0,0
+2006-01-27,11:05:00,3667.07,3670.27,3666.70,3669.90,0,0
+2006-01-27,11:10:00,3669.23,3671.40,3668.94,3671.40,0,0
+2006-01-27,11:15:00,3671.59,3671.99,3670.45,3670.45,0,0
+2006-01-27,11:20:00,3670.77,3670.84,3669.91,3670.38,0,0
+2006-01-27,11:25:00,3669.93,3669.93,3668.72,3668.99,0,0
+2006-01-27,11:30:00,3669.25,3669.25,3667.06,3667.06,0,0
+2006-01-27,11:35:00,3666.81,3666.81,3664.92,3666.70,0,0
+2006-01-27,11:40:00,3666.19,3667.23,3665.98,3666.89,0,0
+2006-01-27,11:45:00,3666.31,3666.77,3665.38,3665.38,0,0
+2006-01-27,11:50:00,3664.99,3666.68,3664.62,3665.60,0,0
+2006-01-27,11:55:00,3665.04,3665.26,3663.74,3664.04,0,0
+2006-01-27,12:00:00,3664.41,3664.41,3662.72,3662.87,0,0
+2006-01-27,12:05:00,3663.83,3663.83,3662.21,3662.83,0,0
+2006-01-27,12:10:00,3662.61,3664.83,3662.61,3664.83,0,0
+2006-01-27,12:15:00,3665.51,3666.64,3665.05,3665.05,0,0
+2006-01-27,12:20:00,3665.15,3665.15,3664.00,3664.72,0,0
+2006-01-27,12:25:00,3664.39,3664.64,3663.39,3663.39,0,0
+2006-01-27,12:30:00,3663.32,3664.44,3663.32,3664.32,0,0
+2006-01-27,12:35:00,3663.94,3664.64,3663.75,3664.17,0,0
+2006-01-27,12:40:00,3664.34,3664.65,3663.96,3664.25,0,0
+2006-01-27,12:45:00,3664.31,3665.18,3664.20,3665.18,0,0
+2006-01-27,12:50:00,3665.27,3666.64,3665.27,3666.04,0,0
+2006-01-27,12:55:00,3666.18,3668.87,3666.18,3668.23,0,0
+2006-01-27,13:00:00,3668.27,3668.52,3667.33,3667.33,0,0
+2006-01-27,13:05:00,3667.44,3667.54,3666.44,3666.65,0,0
+2006-01-27,13:10:00,3666.98,3667.61,3666.58,3667.49,0,0
+2006-01-27,13:15:00,3667.72,3668.23,3667.35,3667.65,0,0
+2006-01-27,13:20:00,3667.28,3667.54,3665.69,3666.11,0,0
+2006-01-27,13:25:00,3665.94,3666.12,3665.67,3665.69,0,0
+2006-01-27,13:30:00,3665.35,3665.45,3664.30,3664.57,0,0
+2006-01-27,13:35:00,3664.84,3665.27,3664.19,3664.19,0,0
+2006-01-27,13:40:00,3664.13,3664.32,3662.42,3664.22,0,0
+2006-01-27,13:45:00,3664.34,3665.83,3664.04,3665.83,0,0
+2006-01-27,13:50:00,3665.96,3667.61,3665.77,3667.08,0,0
+2006-01-27,13:55:00,3667.05,3667.73,3666.91,3667.54,0,0
+2006-01-27,14:00:00,3667.13,3667.83,3666.95,3667.21,0,0
+2006-01-27,14:05:00,3666.94,3669.12,3666.60,3668.47,0,0
+2006-01-27,14:10:00,3668.70,3672.80,3668.34,3672.15,0,0
+2006-01-27,14:15:00,3671.88,3674.71,3671.25,3671.68,0,0
+2006-01-27,14:20:00,3671.79,3672.33,3671.50,3671.88,0,0
+2006-01-27,14:25:00,3671.95,3672.35,3670.01,3670.02,0,0
+2006-01-27,14:30:00,3670.08,3670.08,3668.02,3668.66,0,0
+2006-01-27,14:35:00,3668.69,3668.69,3658.18,3661.37,0,0
+2006-01-27,14:40:00,3660.91,3660.91,3649.80,3649.80,0,0
+2006-01-27,14:45:00,3649.94,3660.20,3649.94,3659.61,0,0
+2006-01-27,14:50:00,3658.54,3658.88,3656.23,3657.97,0,0
+2006-01-27,14:55:00,3657.68,3657.89,3655.94,3656.69,0,0
+2006-01-27,15:00:00,3656.76,3656.76,3651.00,3652.08,0,0
+2006-01-27,15:05:00,3651.97,3651.97,3650.32,3651.70,0,0
+2006-01-27,15:10:00,3652.06,3655.05,3652.06,3653.44,0,0
+2006-01-27,15:15:00,3653.54,3657.96,3653.54,3657.96,0,0
+2006-01-27,15:20:00,3658.14,3660.41,3658.14,3658.32,0,0
+2006-01-27,15:25:00,3657.83,3659.40,3657.03,3658.95,0,0
+2006-01-27,15:30:00,3658.91,3663.00,3658.91,3662.06,0,0
+2006-01-27,15:35:00,3662.17,3667.79,3661.86,3664.78,0,0
+2006-01-27,15:40:00,3663.40,3663.40,3659.74,3661.50,0,0
+2006-01-27,15:45:00,3661.48,3664.26,3661.25,3664.00,0,0
+2006-01-27,15:50:00,3663.65,3665.23,3663.46,3664.43,0,0
+2006-01-27,15:55:00,3663.48,3663.87,3660.48,3662.36,0,0
+2006-01-27,16:00:00,3662.69,3664.27,3662.62,3662.93,0,0
+2006-01-27,16:05:00,3663.61,3674.07,3663.33,3673.28,0,0
+2006-01-27,16:10:00,3673.27,3680.40,3673.27,3675.41,0,0
+2006-01-27,16:15:00,3675.68,3677.94,3675.08,3675.08,0,0
+2006-01-27,16:20:00,3674.71,3680.27,3674.71,3678.34,0,0
+2006-01-27,16:25:00,3678.10,3678.30,3675.51,3676.95,0,0
+2006-01-27,16:30:00,3677.05,3679.47,3675.68,3677.38,0,0
+2006-01-27,16:35:00,3677.80,3677.80,3672.66,3672.82,0,0
+2006-01-27,16:40:00,3673.56,3675.98,3673.08,3674.18,0,0
+2006-01-27,16:45:00,3674.28,3679.45,3674.28,3677.27,0,0
+2006-01-27,16:50:00,3679.35,3679.35,3676.09,3676.99,0,0
+2006-01-27,16:55:00,3677.47,3678.98,3677.47,3678.79,0,0
+2006-01-27,17:00:00,3678.90,3681.97,3678.28,3679.26,0,0
+2006-01-27,17:05:00,3678.97,3678.97,3676.09,3677.73,0,0
+2006-01-27,17:10:00,3677.83,3679.59,3677.83,3679.04,0,0
+2006-01-27,17:15:00,3678.96,3679.72,3677.79,3678.68,0,0
+2006-01-27,17:20:00,3678.58,3684.23,3678.58,3684.23,0,0
+2006-01-27,17:25:00,3683.92,3683.92,3681.77,3681.77,0,0
+2006-01-27,17:30:00,3682.13,3685.95,3681.78,3685.48,0,0
+2006-01-30,09:05:00,3684.38,3684.38,3675.05,3675.37,0,0
+2006-01-30,09:10:00,3672.25,3672.53,3667.92,3668.15,0,0
+2006-01-30,09:15:00,3667.24,3667.70,3664.45,3667.43,0,0
+2006-01-30,09:20:00,3668.00,3668.97,3666.95,3668.63,0,0
+2006-01-30,09:25:00,3669.01,3673.33,3669.01,3672.85,0,0
+2006-01-30,09:30:00,3673.21,3675.31,3672.91,3675.07,0,0
+2006-01-30,09:35:00,3673.87,3675.66,3672.30,3673.19,0,0
+2006-01-30,09:40:00,3673.32,3674.15,3672.41,3673.36,0,0
+2006-01-30,09:45:00,3673.10,3678.75,3672.84,3678.75,0,0
+2006-01-30,09:50:00,3677.89,3677.89,3675.55,3676.62,0,0
+2006-01-30,09:55:00,3676.95,3678.69,3676.78,3678.69,0,0
+2006-01-30,10:00:00,3679.48,3683.00,3678.45,3682.92,0,0
+2006-01-30,10:05:00,3682.99,3684.13,3681.67,3682.53,0,0
+2006-01-30,10:10:00,3683.06,3684.87,3683.06,3684.87,0,0
+2006-01-30,10:15:00,3684.98,3685.22,3682.94,3683.13,0,0
+2006-01-30,10:20:00,3683.71,3684.11,3682.69,3683.11,0,0
+2006-01-30,10:25:00,3683.40,3684.15,3682.19,3682.19,0,0
+2006-01-30,10:30:00,3682.55,3684.97,3682.55,3683.75,0,0
+2006-01-30,10:35:00,3683.62,3683.62,3681.62,3682.39,0,0
+2006-01-30,10:40:00,3682.93,3684.12,3682.66,3683.20,0,0
+2006-01-30,10:45:00,3681.53,3681.53,3677.82,3678.21,0,0
+2006-01-30,10:50:00,3678.09,3678.43,3675.60,3675.60,0,0
+2006-01-30,10:55:00,3675.80,3676.13,3673.06,3673.39,0,0
+2006-01-30,11:00:00,3673.63,3675.94,3673.47,3673.85,0,0
+2006-01-30,11:05:00,3674.03,3674.80,3673.94,3674.23,0,0
+2006-01-30,11:10:00,3674.37,3674.44,3671.28,3671.28,0,0
+2006-01-30,11:15:00,3671.09,3672.10,3669.57,3671.00,0,0
+2006-01-30,11:20:00,3671.18,3672.30,3670.95,3670.95,0,0
+2006-01-30,11:25:00,3671.01,3671.08,3670.59,3670.85,0,0
+2006-01-30,11:30:00,3671.66,3674.01,3671.54,3674.01,0,0
+2006-01-30,11:35:00,3673.98,3675.35,3673.92,3674.68,0,0
+2006-01-30,11:40:00,3674.01,3675.11,3673.62,3674.32,0,0
+2006-01-30,11:45:00,3674.14,3676.79,3674.14,3676.42,0,0
+2006-01-30,11:50:00,3676.55,3676.86,3675.35,3675.75,0,0
+2006-01-30,11:55:00,3675.32,3675.48,3674.17,3674.33,0,0
+2006-01-30,12:00:00,3674.60,3674.95,3673.73,3674.65,0,0
+2006-01-30,12:05:00,3674.54,3675.12,3674.32,3674.41,0,0
+2006-01-30,12:10:00,3674.32,3674.65,3673.42,3673.94,0,0
+2006-01-30,12:15:00,3674.22,3678.44,3674.02,3677.04,0,0
+2006-01-30,12:20:00,3677.04,3677.56,3676.52,3677.10,0,0
+2006-01-30,12:25:00,3677.36,3677.79,3676.93,3677.07,0,0
+2006-01-30,12:30:00,3677.22,3677.72,3676.92,3677.07,0,0
+2006-01-30,12:35:00,3677.05,3677.09,3676.04,3676.06,0,0
+2006-01-30,12:40:00,3676.09,3676.31,3675.40,3676.16,0,0
+2006-01-30,12:45:00,3676.42,3676.67,3675.57,3675.89,0,0
+2006-01-30,12:50:00,3676.25,3676.70,3675.12,3676.70,0,0
+2006-01-30,12:55:00,3676.75,3676.75,3675.60,3675.99,0,0
+2006-01-30,13:00:00,3676.08,3676.56,3675.54,3676.06,0,0
+2006-01-30,13:05:00,3675.75,3676.13,3675.72,3675.98,0,0
+2006-01-30,13:10:00,3675.81,3676.73,3675.81,3676.03,0,0
+2006-01-30,13:15:00,3675.83,3676.78,3675.83,3676.53,0,0
+2006-01-30,13:20:00,3676.24,3676.70,3674.89,3675.05,0,0
+2006-01-30,13:25:00,3674.72,3675.30,3674.55,3675.09,0,0
+2006-01-30,13:30:00,3675.08,3676.17,3674.80,3675.63,0,0
+2006-01-30,13:35:00,3675.68,3675.96,3673.72,3674.10,0,0
+2006-01-30,13:40:00,3674.06,3674.61,3673.72,3674.27,0,0
+2006-01-30,13:45:00,3674.45,3674.82,3674.03,3674.63,0,0
+2006-01-30,13:50:00,3674.49,3674.49,3672.70,3672.92,0,0
+2006-01-30,13:55:00,3672.43,3672.43,3671.06,3671.57,0,0
+2006-01-30,14:00:00,3671.95,3672.42,3671.61,3672.42,0,0
+2006-01-30,14:05:00,3672.39,3676.33,3672.39,3675.74,0,0
+2006-01-30,14:10:00,3675.72,3677.62,3675.46,3677.18,0,0
+2006-01-30,14:15:00,3677.02,3677.72,3676.48,3677.72,0,0
+2006-01-30,14:20:00,3677.91,3677.99,3676.27,3676.78,0,0
+2006-01-30,14:25:00,3676.57,3677.38,3676.57,3677.20,0,0
+2006-01-30,14:30:00,3677.16,3677.26,3675.28,3675.66,0,0
+2006-01-30,14:35:00,3675.68,3676.98,3673.23,3673.24,0,0
+2006-01-30,14:40:00,3673.67,3674.08,3673.20,3673.91,0,0
+2006-01-30,14:45:00,3673.85,3675.03,3673.78,3675.03,0,0
+2006-01-30,14:50:00,3675.06,3675.85,3674.95,3675.40,0,0
+2006-01-30,14:55:00,3675.00,3675.00,3673.76,3674.29,0,0
+2006-01-30,15:00:00,3674.26,3675.69,3674.07,3675.38,0,0
+2006-01-30,15:05:00,3675.58,3677.03,3675.58,3676.12,0,0
+2006-01-30,15:10:00,3676.29,3676.29,3675.83,3675.98,0,0
+2006-01-30,15:15:00,3675.95,3678.02,3675.53,3677.91,0,0
+2006-01-30,15:20:00,3677.42,3677.97,3677.03,3677.97,0,0
+2006-01-30,15:25:00,3678.15,3679.37,3677.60,3679.31,0,0
+2006-01-30,15:30:00,3679.51,3680.81,3679.51,3679.69,0,0
+2006-01-30,15:35:00,3679.45,3680.75,3678.93,3680.37,0,0
+2006-01-30,15:40:00,3680.77,3681.39,3678.18,3681.39,0,0
+2006-01-30,15:45:00,3680.86,3680.86,3677.83,3679.50,0,0
+2006-01-30,15:50:00,3680.48,3680.66,3677.02,3677.02,0,0
+2006-01-30,15:55:00,3677.05,3677.05,3675.71,3676.35,0,0
+2006-01-30,16:00:00,3676.93,3677.75,3676.27,3677.04,0,0
+2006-01-30,16:05:00,3677.21,3678.33,3676.53,3678.33,0,0
+2006-01-30,16:10:00,3678.37,3682.04,3678.17,3680.58,0,0
+2006-01-30,16:15:00,3680.32,3683.37,3679.10,3682.94,0,0
+2006-01-30,16:20:00,3683.27,3684.80,3682.17,3682.59,0,0
+2006-01-30,16:25:00,3682.17,3682.84,3680.36,3682.53,0,0
+2006-01-30,16:30:00,3682.26,3683.11,3680.50,3681.70,0,0
+2006-01-30,16:35:00,3681.56,3681.76,3680.45,3680.63,0,0
+2006-01-30,16:40:00,3681.39,3682.66,3681.39,3682.26,0,0
+2006-01-30,16:45:00,3682.19,3683.04,3682.19,3683.04,0,0
+2006-01-30,16:50:00,3683.33,3684.04,3682.19,3684.04,0,0
+2006-01-30,16:55:00,3683.66,3685.65,3683.66,3685.65,0,0
+2006-01-30,17:00:00,3685.38,3685.38,3681.90,3681.90,0,0
+2006-01-30,17:05:00,3681.88,3681.88,3679.22,3679.43,0,0
+2006-01-30,17:10:00,3679.32,3679.64,3677.14,3677.14,0,0
+2006-01-30,17:15:00,3677.33,3680.52,3677.07,3679.97,0,0
+2006-01-30,17:20:00,3679.69,3680.14,3678.27,3678.68,0,0
+2006-01-30,17:25:00,3678.84,3679.28,3678.10,3679.28,0,0
+2006-01-30,17:30:00,3679.29,3679.40,3676.31,3677.52,0,0
diff --git a/backtrader/source/datas/2006-month-001.txt b/backtrader/source/datas/2006-month-001.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d9dce4aad4553d72d118206db0431c05d2a69d0c
--- /dev/null
+++ b/backtrader/source/datas/2006-month-001.txt
@@ -0,0 +1,13 @@
+Date,Open,High,Low,Close,Volume,OpenInterest
+2006-01-31,3578.73,3707.63,3515.07,3691.41,0,0
+2006-02-28,3686.16,3840.56,3637.93,3774.51,0,0
+2006-03-31,3775.23,3881.69,3702.04,3853.74,0,0
+2006-04-28,3859.99,3892.35,3749.71,3839.90,0,0
+2006-05-31,3839.24,3897.40,3527.05,3637.17,0,0
+2006-06-30,3634.82,3688.89,3379.66,3648.92,0,0
+2006-07-31,3648.91,3711.52,3462.77,3691.87,0,0
+2006-08-31,3687.82,3829.40,3632.51,3808.70,0,0
+2006-09-29,3808.99,3921.15,3709.81,3899.41,0,0
+2006-10-31,3902.03,4047.54,3858.87,4004.80,0,0
+2006-11-30,4003.80,4118.40,3951.94,3987.23,0,0
+2006-12-29,3993.03,4147.38,3914.46,4119.94,0,0
diff --git a/backtrader/source/datas/2006-volume-day-001.txt b/backtrader/source/datas/2006-volume-day-001.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b0f784461a72e54fb6ea29abd91e9311f37d7f75
--- /dev/null
+++ b/backtrader/source/datas/2006-volume-day-001.txt
@@ -0,0 +1,256 @@
+Date,Open,High,Low,Close,Volume,OpenInterest
+2006-01-02,3602.00,3624.00,3596.00,3617.00,164794,1511674
+2006-01-03,3623.00,3665.00,3614.00,3665.00,554426,1501792
+2006-01-04,3660.00,3674.00,3641.00,3666.00,517558,1503213
+2006-01-05,3667.00,3674.00,3654.00,3662.00,432252,1541255
+2006-01-06,3667.00,3693.00,3661.00,3691.00,416112,1501069
+2006-01-09,3693.00,3699.00,3681.00,3689.00,436207,1551895
+2006-01-10,3676.00,3678.00,3650.00,3671.00,484719,1569331
+2006-01-11,3682.00,3689.00,3666.00,3685.00,449783,1577535
+2006-01-12,3676.00,3691.00,3660.00,3664.00,444316,1586476
+2006-01-13,3666.00,3671.00,3623.00,3639.00,591691,0
+2006-01-16,3635.00,3664.00,3632.00,3660.00,273296,1592611
+2006-01-17,3632.00,3634.00,3612.00,3622.00,555959,1579789
+2006-01-18,3575.00,3598.00,3558.00,3581.00,866129,1557570
+2006-01-19,3594.00,3619.00,3588.00,3610.00,644053,1601545
+2006-01-20,3607.00,3622.00,3525.00,3528.00,962941,1601777
+2006-01-23,3525.00,3554.00,3521.00,3540.00,669369,1702949
+2006-01-24,3550.00,3562.00,3533.00,3547.00,609427,1695854
+2006-01-25,3559.00,3592.00,3548.00,3592.00,757536,1683331
+2006-01-26,3596.00,3665.00,3592.00,3662.00,982957,1682448
+2006-01-27,3679.00,3695.00,3659.00,3685.00,762116,1658807
+2006-01-30,3687.00,3709.00,3672.00,3701.00,424069,1666739
+2006-01-31,3697.00,3718.00,3681.00,3704.00,749740,1642003
+2006-02-01,3690.00,3747.00,3683.00,3747.00,733850,1721115
+2006-02-02,3742.00,3756.00,3674.00,3682.00,870956,1720980
+2006-02-03,3694.00,3711.00,3661.00,3690.00,711608,1658525
+2006-02-06,3703.00,3714.00,3680.00,3692.00,407575,1690543
+2006-02-07,3704.00,3709.00,3662.00,3669.00,681151,1670454
+2006-02-08,3658.00,3708.00,3645.00,3708.00,638180,1709261
+2006-02-09,3705.00,3749.00,3704.00,3717.00,565728,1753450
+2006-02-10,3724.00,3742.00,3699.00,3729.00,538179,1690376
+2006-02-13,3702.00,3742.00,3691.00,3730.00,574650,1644656
+2006-02-14,3740.00,3765.00,3713.00,3763.00,672589,1673746
+2006-02-15,3746.00,3757.00,3721.00,3741.00,651196,1676842
+2006-02-16,3755.00,3774.00,3738.00,3773.00,502043,1662302
+2006-02-17,3765.00,3783.00,3755.00,3777.00,532354,1677584
+2006-02-20,3769.00,3780.00,3756.00,3775.00,179685,1716864
+2006-02-21,3785.00,3808.00,3772.00,3775.00,552188,1727193
+2006-02-22,3783.00,3832.00,3775.00,3829.00,540857,1736052
+2006-02-23,3829.00,3838.00,3801.00,3816.00,573338,1721732
+2006-02-24,3827.00,3840.00,3809.00,3829.00,420159,1683865
+2006-02-27,3839.00,3849.00,3823.00,3838.00,341173,1663400
+2006-02-28,3839.00,3843.00,3768.00,3778.00,806168,1691337
+2006-03-01,3787.00,3815.00,3776.00,3813.00,564840,1723253
+2006-03-02,3815.00,3825.00,3744.00,3765.00,822977,1694897
+2006-03-03,3766.00,3778.00,3716.00,3745.00,751991,1662200
+2006-03-06,3771.00,3774.00,3731.00,3739.00,507265,1700569
+2006-03-07,3740.00,3751.00,3721.00,3742.00,669267,1700258
+2006-03-08,3751.00,3759.00,3703.00,3744.00,801845,1725875
+2006-03-09,3767.00,3770.00,3739.00,3740.00,662235,1741907
+2006-03-10,3747.00,3815.00,3741.00,3812.00,885356,1714786
+2006-03-13,3822.00,3830.00,3809.00,3817.00,699437,1682559
+2006-03-14,3811.00,3848.00,3807.00,3848.00,1050866,1539322
+2006-03-15,3845.00,3855.00,3834.00,3853.00,1153878,1266311
+2006-03-16,3845.00,3849.00,3820.00,3842.00,963198,962243
+2006-03-17,3795.00,3821.00,3763.00,3783.00,834457,1355933
+2006-03-20,3791.00,3810.00,3776.00,3787.00,392211,1500920
+2006-03-21,3788.00,3812.00,3755.00,3779.00,655677,1482004
+2006-03-22,3774.00,3825.00,3768.00,3825.00,580511,1510583
+2006-03-23,3821.00,3823.00,3792.00,3804.00,508721,1547034
+2006-03-24,3810.00,3819.00,3790.00,3806.00,444361,1537140
+2006-03-27,3814.00,3814.00,3758.00,3771.00,506035,1575845
+2006-03-28,3774.00,3790.00,3739.00,3749.00,640434,1601634
+2006-03-29,3759.00,3788.00,3739.00,3785.00,590338,1604818
+2006-03-30,3797.00,3825.00,3780.00,3794.00,631668,1607161
+2006-03-31,3804.00,3817.00,3783.00,3793.00,565216,1644981
+2006-04-03,3817.00,3827.00,3802.00,3805.00,427411,1648659
+2006-04-04,3812.00,3814.00,3787.00,3814.00,496039,1640704
+2006-04-05,3803.00,3815.00,3779.00,3813.00,574708,1622484
+2006-04-06,3816.00,3824.00,3789.00,3798.00,613372,1624616
+2006-04-07,3800.00,3818.00,3750.00,3754.00,705207,1621819
+2006-04-10,3760.00,3790.00,3755.00,3773.00,491924,1645637
+2006-04-11,3779.00,3785.00,3707.00,3713.00,789073,1649283
+2006-04-12,3723.00,3733.00,3693.00,3715.00,823485,1692389
+2006-04-13,3722.00,3731.00,3697.00,3723.00,496944,1723232
+2006-04-18,3721.00,3749.00,3693.00,3749.00,645187,1719735
+2006-04-19,3761.00,3780.00,3742.00,3778.00,722051,1700118
+2006-04-20,3768.00,3825.00,3768.00,3809.00,854085,1728414
+2006-04-21,3814.00,3839.00,3814.00,3827.00,673246,1736906
+2006-04-24,3806.00,3824.00,3804.00,3822.00,434005,1807907
+2006-04-25,3816.00,3838.00,3807.00,3821.00,604489,1821146
+2006-04-26,3826.00,3840.00,3819.00,3835.00,495302,1813733
+2006-04-27,3838.00,3839.00,3780.00,3812.00,1145228,1863368
+2006-04-28,3807.00,3810.00,3775.00,3781.00,656051,1814070
+2006-05-02,3783.00,3828.00,3783.00,3827.00,494418,1802136
+2006-05-03,3827.00,3833.00,3766.00,3779.00,736870,1824109
+2006-05-04,3782.00,3810.00,3765.00,3800.00,744298,1823761
+2006-05-05,3807.00,3864.00,3804.00,3864.00,659911,1815999
+2006-05-08,3858.00,3870.00,3841.00,3854.00,469340,1850345
+2006-05-09,3850.00,3863.00,3835.00,3859.00,455538,1868598
+2006-05-10,3850.00,3865.00,3828.00,3841.00,492600,1850629
+2006-05-11,3842.00,3871.00,3786.00,3789.00,827195,1899846
+2006-05-12,3790.00,3798.00,3701.00,3703.00,1342476,1894512
+2006-05-15,3701.00,3719.00,3659.00,3707.00,1460518,1943327
+2006-05-16,3687.00,3731.00,3670.00,3706.00,1117478,2103469
+2006-05-17,3727.00,3732.00,3570.00,3575.00,1788718,2043097
+2006-05-18,3595.00,3633.00,3540.00,3564.00,2168228,2131643
+2006-05-19,3581.00,3627.00,3579.00,3625.00,1212872,2218894
+2006-05-22,3587.00,3593.00,3515.00,3549.00,1641627,2216936
+2006-05-23,3552.00,3628.00,3552.00,3563.00,1381685,2160107
+2006-05-24,3575.00,3593.00,3529.00,3569.00,1529421,2104592
+2006-05-25,3575.00,3650.00,3540.00,3650.00,1129110,2138331
+2006-05-26,3651.00,3688.00,3633.00,3685.00,1027127,2050352
+2006-05-29,3679.00,3684.00,3658.00,3659.00,215809,2134952
+2006-05-30,3668.00,3672.00,3566.00,3568.00,1260220,2134851
+2006-05-31,3547.00,3637.00,3532.00,3633.00,1396918,2085498
+2006-06-01,3637.00,3665.00,3586.00,3665.00,990387,2118324
+2006-06-02,3660.00,3690.00,3615.00,3638.00,1067955,2094696
+2006-06-05,3628.00,3636.00,3550.00,3552.00,681687,2093880
+2006-06-06,3555.00,3573.00,3516.00,3555.00,1311007,2123492
+2006-06-07,3541.00,3580.00,3511.00,3530.00,1207692,2187648
+2006-06-08,3490.00,3520.00,3447.00,3501.00,1861849,2139443
+2006-06-09,3503.00,3534.00,3477.00,3481.00,1055892,2243288
+2006-06-12,3485.00,3529.00,3442.00,3447.00,1262995,2088629
+2006-06-13,3429.00,3441.00,3378.00,3379.00,2481435,2009439
+2006-06-14,3406.00,3435.00,3377.00,3421.00,2290170,1684602
+2006-06-15,3433.00,3527.00,3427.00,3524.00,1599024,1684602
+2006-06-16,3531.00,3555.00,3460.00,3475.00,1514636,1811106
+2006-06-19,3488.00,3533.00,3465.00,3470.00,857267,2007929
+2006-06-20,3460.00,3540.00,3460.00,3514.00,847971,2088828
+2006-06-21,3516.00,3568.00,3487.00,3554.00,941295,2066100
+2006-06-22,3577.00,3585.00,3534.00,3544.00,893527,2038981
+2006-06-23,3556.00,3578.00,3540.00,3554.00,644564,1988668
+2006-06-26,3563.00,3579.00,3537.00,3566.00,530862,2003961
+2006-06-27,3570.00,3572.00,3490.00,3490.00,754938,2021306
+2006-06-28,3490.00,3537.00,3488.00,3535.00,739095,1981724
+2006-06-29,3548.00,3650.00,3534.00,3650.00,858799,2020228
+2006-06-30,3645.00,3670.00,3622.00,3656.00,914321,2019762
+2006-07-03,3663.00,3687.00,3651.00,3686.00,338525,2027695
+2006-07-04,3687.00,3687.00,3658.00,3677.00,219059,2023196
+2006-07-05,3658.00,3669.00,3618.00,3638.00,667919,2025208
+2006-07-06,3647.00,3679.00,3632.00,3666.00,669766,1992150
+2006-07-07,3648.00,3685.00,3633.00,3635.00,730538,2034396
+2006-07-10,3655.00,3685.00,3633.00,3671.00,553661,2001511
+2006-07-11,3666.00,3669.00,3620.00,3660.00,738094,1991727
+2006-07-12,3662.00,3676.00,3613.00,3617.00,728707,2002733
+2006-07-13,3615.00,3617.00,3540.00,3540.00,1137876,2006342
+2006-07-14,3537.00,3563.00,3509.00,3529.00,940704,2173836
+2006-07-17,3530.00,3535.00,3471.00,3510.00,1183232,2060540
+2006-07-18,3505.00,3527.00,3474.00,3515.00,971038,2078403
+2006-07-19,3515.00,3616.00,3503.00,3611.00,1247743,2073643
+2006-07-20,3620.00,3625.00,3566.00,3566.00,913324,2117872
+2006-07-21,3577.00,3594.00,3553.00,3554.00,977746,2059052
+2006-07-24,3563.00,3654.00,3562.00,3647.00,781984,2129505
+2006-07-25,3643.00,3669.00,3630.00,3663.00,758600,2137417
+2006-07-26,3653.00,3668.00,3631.00,3652.00,538583,2091204
+2006-07-27,3677.00,3693.00,3652.00,3662.00,798036,2087808
+2006-07-28,3684.00,3729.00,3664.00,3725.00,791896,2084741
+2006-07-31,3721.00,3724.00,3693.00,3697.00,525898,2118711
+2006-08-01,3701.00,3706.00,3640.00,3659.00,762840,2070762
+2006-08-02,3670.00,3720.00,3664.00,3710.00,631879,1997861
+2006-08-03,3714.00,3718.00,3654.00,3701.00,838138,2020588
+2006-08-04,3707.00,3739.00,3676.00,3693.00,796568,2022850
+2006-08-07,3640.00,3691.00,3638.00,3670.00,653752,2083817
+2006-08-08,3691.00,3695.00,3643.00,3653.00,625419,2045623
+2006-08-09,3677.00,3725.00,3657.00,3680.00,862594,2018560
+2006-08-10,3685.00,3703.00,3644.00,3694.00,965625,2038955
+2006-08-11,3695.00,3708.00,3668.00,3686.00,524572,2069633
+2006-08-14,3705.00,3735.00,3703.00,3709.00,457261,2050554
+2006-08-15,3714.00,3798.00,3710.00,3798.00,809251,2054467
+2006-08-16,3799.00,3815.00,3774.00,3813.00,746420,2103281
+2006-08-17,3806.00,3818.00,3788.00,3804.00,589634,2096994
+2006-08-18,3810.00,3817.00,3789.00,3815.00,659585,2078365
+2006-08-21,3803.00,3803.00,3773.00,3786.00,443445,2109036
+2006-08-22,3800.00,3808.00,3761.00,3793.00,686723,2096506
+2006-08-23,3799.00,3801.00,3758.00,3770.00,547430,2081631
+2006-08-24,3762.00,3804.00,3750.00,3795.00,697401,2061097
+2006-08-25,3790.00,3805.00,3772.00,3786.00,392038,2090199
+2006-08-28,3777.00,3830.00,3764.00,3824.00,402973,2079101
+2006-08-29,3825.00,3837.00,3804.00,3825.00,622592,2091149
+2006-08-30,3835.00,3836.00,3814.00,3820.00,557408,2084035
+2006-08-31,3831.00,3837.00,3807.00,3815.00,577983,2118325
+2006-09-01,3823.00,3842.00,3813.00,3829.00,550519,2084737
+2006-09-04,3835.00,3845.00,3831.00,3840.00,192059,2085890
+2006-09-05,3842.00,3844.00,3804.00,3826.00,726065,2081211
+2006-09-06,3822.00,3825.00,3758.00,3761.00,829394,2068691
+2006-09-07,3752.00,3761.00,3730.00,3744.00,880485,2029126
+2006-09-08,3756.00,3765.00,3736.00,3755.00,606124,2029126
+2006-09-11,3739.00,3768.00,3711.00,3758.00,1024854,2027132
+2006-09-12,3753.00,3814.00,3728.00,3811.00,1615762,1794565
+2006-09-13,3808.00,3817.00,3786.00,3809.00,1373203,1523326
+2006-09-14,3810.00,3826.00,3787.00,3802.00,1049353,1246561
+2006-09-15,3820.00,3844.00,3805.00,3827.00,1062149,1634414
+2006-09-18,3835.00,3843.00,3807.00,3830.00,556228,1889978
+2006-09-19,3823.00,3830.00,3774.00,3790.00,997035,1892381
+2006-09-20,3794.00,3865.00,3788.00,3861.00,850817,1887128
+2006-09-21,3861.00,3886.00,3836.00,3845.00,835754,1909028
+2006-09-22,3847.00,3856.00,3815.00,3835.00,726456,1895010
+2006-09-25,3838.00,3877.00,3818.00,3868.00,719681,1905193
+2006-09-26,3866.00,3904.00,3857.00,3898.00,779519,1908637
+2006-09-27,3908.00,3917.00,3885.00,3910.00,879752,1922556
+2006-09-28,3917.00,3923.00,3899.00,3913.00,584648,1946249
+2006-09-29,3917.00,3937.00,3906.00,3915.00,651560,1939397
+2006-10-02,3928.00,3933.00,3887.00,3895.00,518041,1961560
+2006-10-03,3892.00,3919.00,3871.00,3906.00,762343,1954293
+2006-10-04,3898.00,3960.00,3895.00,3957.00,800505,1999756
+2006-10-05,3965.00,3965.00,3944.00,3962.00,723730,1968960
+2006-10-06,3952.00,3962.00,3931.00,3956.00,659552,1987876
+2006-10-09,3945.00,3962.00,3931.00,3957.00,354847,1993264
+2006-10-10,3958.00,3977.00,3955.00,3975.00,649293,1974426
+2006-10-11,3958.00,3991.00,3950.00,3980.00,698769,2011806
+2006-10-12,3985.00,4019.00,3975.00,4017.00,704630,2055129
+2006-10-13,4019.00,4022.00,3996.00,4018.00,627241,2093519
+2006-10-16,4022.00,4023.00,3997.00,4020.00,534606,2090486
+2006-10-17,4012.00,4012.00,3955.00,3981.00,915211,2074140
+2006-10-18,3976.00,4017.00,3970.00,3991.00,961202,2051473
+2006-10-19,3980.00,4011.00,3975.00,3991.00,771490,2064301
+2006-10-20,4003.00,4025.00,3988.00,4017.00,828299,2042974
+2006-10-23,4023.00,4041.00,3991.00,4038.00,709659,2136161
+2006-10-24,4031.00,4035.00,4014.00,4026.00,575676,2125016
+2006-10-25,4024.00,4042.00,4013.00,4038.00,544941,2124918
+2006-10-26,4038.00,4058.00,4028.00,4051.00,638495,2147155
+2006-10-27,4047.00,4049.00,4005.00,4010.00,790202,2143371
+2006-10-30,4008.00,4020.00,3985.00,4010.00,748619,2143056
+2006-10-31,4011.00,4029.00,3990.00,4005.00,783684,2147836
+2006-11-01,4012.00,4038.00,3991.00,3994.00,819735,2125314
+2006-11-02,3997.00,4019.00,3967.00,3982.00,1047094,2162817
+2006-11-03,3983.00,4019.00,3975.00,3991.00,893043,2178807
+2006-11-06,3994.00,4065.00,3994.00,4062.00,717182,2195100
+2006-11-07,4053.00,4084.00,4053.00,4066.00,681246,2204994
+2006-11-08,4061.00,4093.00,4053.00,4090.00,815148,2197183
+2006-11-09,4092.00,4095.00,4061.00,4065.00,641185,2212649
+2006-11-10,4072.00,4081.00,4056.00,4078.00,590119,2221795
+2006-11-13,4076.00,4104.00,4065.00,4086.00,666203,2220934
+2006-11-14,4096.00,4114.00,4074.00,4112.00,836687,2286895
+2006-11-15,4109.00,4128.00,4099.00,4117.00,697121,2328617
+2006-11-16,4112.00,4125.00,4102.00,4114.00,641666,2294820
+2006-11-17,4106.00,4117.00,4074.00,4102.00,925799,2244807
+2006-11-20,4086.00,4112.00,4058.00,4102.00,801877,2303799
+2006-11-21,4102.00,4122.00,4100.00,4111.00,756217,2322742
+2006-11-22,4122.00,4129.00,4093.00,4110.00,759039,2274337
+2006-11-23,4110.00,4118.00,4079.00,4092.00,385092,2190882
+2006-11-24,4080.00,4087.00,4032.00,4032.00,1015631,2142261
+2006-11-27,4041.00,4061.00,3965.00,3966.00,1192955,2189543
+2006-11-28,3978.00,3997.00,3957.00,3987.00,1514766,2242243
+2006-11-29,3999.00,4030.00,3988.00,4027.00,929793,2206435
+2006-11-30,4034.00,4042.00,3981.00,4001.00,1209362,2184940
+2006-12-01,4005.00,4018.00,3916.00,3941.00,1268854,2304700
+2006-12-04,3936.00,3979.00,3931.00,3974.00,825305,2328923
+2006-12-05,3973.00,4020.00,3964.00,4018.00,1126088,2297094
+2006-12-06,4017.00,4021.00,3991.00,4000.00,718338,2311993
+2006-12-07,3990.00,4044.00,3990.00,4010.00,885668,2261296
+2006-12-08,4009.00,4040.00,3982.00,4029.00,1090833,2204231
+2006-12-11,4034.00,4060.00,4034.00,4057.00,994201,2147274
+2006-12-12,4052.00,4066.00,4040.00,4052.00,1347733,1998010
+2006-12-13,4051.00,4109.00,4049.00,4107.00,1459572,1799697
+2006-12-14,4112.00,4132.00,4100.00,4131.00,1120863,1530036
+2006-12-15,4162.00,4179.00,4146.00,4152.00,1081297,1787685
+2006-12-18,4157.00,4173.00,4138.00,4144.00,379455,1921269
+2006-12-19,4137.00,4149.00,4113.00,4144.00,756938,1899981
+2006-12-20,4154.00,4162.00,4127.00,4129.00,374934,1911897
+2006-12-21,4134.00,4154.00,4117.00,4130.00,374608,1910869
+2006-12-22,4137.00,4139.00,4086.00,4092.00,378353,1912405
+2006-12-27,4113.00,4174.00,4113.00,4173.00,311003,1903141
+2006-12-28,4177.00,4179.00,4146.00,4157.00,282295,1912601
+2006-12-29,4157.00,4167.00,4145.00,4157.00,205816,1916930
diff --git a/backtrader/source/datas/2006-week-001.txt b/backtrader/source/datas/2006-week-001.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7b476232762a6e4a7d45bd0cadb6f09d6df2345c
--- /dev/null
+++ b/backtrader/source/datas/2006-week-001.txt
@@ -0,0 +1,53 @@
+Date,Open,High,Low,Close,Volume,OpenInterest
+2006-01-06,3578.73,3666.99,3578.73,3666.99,0,0
+2006-01-13,3667.10,3685.99,3618.06,3629.25,0,0
+2006-01-20,3628.73,3649.10,3550.16,3550.80,0,0
+2006-01-27,3550.24,3685.48,3515.07,3685.48,0,0
+2006-02-03,3684.38,3745.14,3652.76,3678.48,0,0
+2006-02-10,3678.87,3735.14,3637.93,3695.63,0,0
+2006-02-17,3696.09,3777.16,3684.83,3767.70,0,0
+2006-02-24,3767.11,3831.16,3749.88,3826.00,0,0
+2006-03-03,3828.99,3840.56,3715.35,3733.95,0,0
+2006-03-10,3737.58,3798.46,3702.04,3798.46,0,0
+2006-03-17,3801.03,3874.64,3801.03,3832.43,0,0
+2006-03-24,3833.25,3878.49,3811.02,3870.89,0,0
+2006-03-31,3872.28,3881.69,3799.04,3853.74,0,0
+2006-04-07,3859.99,3881.11,3822.26,3823.11,0,0
+2006-04-13,3822.35,3843.62,3753.47,3779.94,0,0
+2006-04-21,3779.23,3892.35,3749.71,3888.46,0,0
+2006-04-28,3884.57,3892.16,3832.10,3839.90,0,0
+2006-05-05,3839.24,3879.31,3806.35,3874.32,0,0
+2006-05-12,3877.74,3897.40,3750.44,3750.44,0,0
+2006-05-19,3746.40,3750.42,3558.27,3625.33,0,0
+2006-05-26,3622.35,3699.80,3527.05,3699.80,0,0
+2006-06-02,3696.48,3696.48,3542.41,3636.89,0,0
+2006-06-09,3636.83,3638.59,3462.37,3520.99,0,0
+2006-06-16,3519.43,3544.27,3379.66,3463.56,0,0
+2006-06-23,3469.88,3571.24,3453.14,3550.15,0,0
+2006-06-30,3554.07,3655.02,3484.71,3648.92,0,0
+2006-07-07,3648.91,3670.75,3607.81,3651.33,0,0
+2006-07-14,3645.42,3671.09,3508.25,3508.25,0,0
+2006-07-21,3512.22,3612.48,3462.77,3557.08,0,0
+2006-07-28,3559.34,3711.41,3559.34,3710.60,0,0
+2006-08-04,3708.82,3729.29,3632.51,3718.09,0,0
+2006-08-11,3707.49,3712.22,3638.55,3675.10,0,0
+2006-08-18,3690.09,3807.48,3690.09,3791.40,0,0
+2006-08-25,3789.99,3797.91,3743.26,3781.17,0,0
+2006-09-01,3778.79,3836.22,3758.87,3820.89,0,0
+2006-09-08,3824.02,3839.30,3729.77,3750.08,0,0
+2006-09-15,3745.78,3825.15,3709.81,3812.11,0,0
+2006-09-22,3813.73,3867.74,3770.36,3812.73,0,0
+2006-09-29,3815.13,3921.15,3802.47,3899.41,0,0
+2006-10-06,3902.03,3950.06,3858.87,3940.31,0,0
+2006-10-13,3932.33,4008.67,3921.81,3999.07,0,0
+2006-10-20,4000.30,4016.63,3947.39,3998.19,0,0
+2006-10-27,4001.63,4047.54,3982.02,4017.27,0,0
+2006-11-03,4007.26,4029.57,3961.64,3990.46,0,0
+2006-11-10,3991.47,4081.70,3991.47,4063.84,0,0
+2006-11-17,4063.01,4116.79,4059.51,4078.36,0,0
+2006-11-24,4074.59,4118.40,4028.30,4048.16,0,0
+2006-12-01,4045.05,4053.68,3914.46,3932.09,0,0
+2006-12-08,3935.81,4039.25,3927.40,4019.89,0,0
+2006-12-15,4024.14,4147.38,4024.14,4140.66,0,0
+2006-12-22,4140.99,4141.46,4072.62,4073.50,0,0
+2006-12-29,4079.70,4142.06,4079.70,4119.94,0,0
diff --git a/backtrader/source/datas/2006-week-002.txt b/backtrader/source/datas/2006-week-002.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1ca7ef7587cf0848965a734eb06578e744120432
--- /dev/null
+++ b/backtrader/source/datas/2006-week-002.txt
@@ -0,0 +1,27 @@
+Date,Open,High,Low,Close,Volume,OpenInterest
+2006-01-13,3578.73,3685.99,3578.73,3629.25,0,0
+2006-01-27,3628.73,3685.48,3515.07,3685.48,0,0
+2006-02-10,3684.38,3745.14,3637.93,3695.63,0,0
+2006-02-24,3696.09,3831.16,3684.83,3826.00,0,0
+2006-03-10,3828.99,3840.56,3702.04,3798.46,0,0
+2006-03-24,3801.03,3878.49,3801.03,3870.89,0,0
+2006-04-07,3872.28,3881.69,3799.04,3823.11,0,0
+2006-04-21,3822.35,3892.35,3749.71,3888.46,0,0
+2006-05-05,3884.57,3892.16,3806.35,3874.32,0,0
+2006-05-19,3877.74,3897.40,3558.27,3625.33,0,0
+2006-06-02,3622.35,3699.80,3527.05,3636.89,0,0
+2006-06-16,3636.83,3638.59,3379.66,3463.56,0,0
+2006-06-30,3469.88,3655.02,3453.14,3648.92,0,0
+2006-07-14,3648.91,3671.09,3508.25,3508.25,0,0
+2006-07-28,3512.22,3711.41,3462.77,3710.60,0,0
+2006-08-11,3708.82,3729.29,3632.51,3675.10,0,0
+2006-08-25,3690.09,3807.48,3690.09,3781.17,0,0
+2006-09-08,3778.79,3839.30,3729.77,3750.08,0,0
+2006-09-22,3745.78,3867.74,3709.81,3812.73,0,0
+2006-10-06,3815.13,3950.06,3802.47,3940.31,0,0
+2006-10-20,3932.33,4016.63,3921.81,3998.19,0,0
+2006-11-03,4001.63,4047.54,3961.64,3990.46,0,0
+2006-11-17,3991.47,4116.79,3991.47,4078.36,0,0
+2006-12-01,4074.59,4118.40,3914.46,3932.09,0,0
+2006-12-15,3935.81,4147.38,3927.40,4140.66,0,0
+2006-12-29,4140.99,4142.06,4072.62,4119.94,0,0
diff --git a/backtrader/source/datas/bidask.csv b/backtrader/source/datas/bidask.csv
new file mode 100644
index 0000000000000000000000000000000000000000..e34ac107b2770058f9d817b7369a0571a379c6fc
--- /dev/null
+++ b/backtrader/source/datas/bidask.csv
@@ -0,0 +1,11 @@
+TIMESTAMP,BID,ASK
+02/03/2010 16:53:50,0.5346,0.5347
+02/03/2010 16:53:51,0.5343,0.5347
+02/03/2010 16:53:52,0.5543,0.5545
+02/03/2010 16:53:53,0.5342,0.5344
+02/03/2010 16:53:54,0.5245,0.5464
+02/03/2010 16:53:54,0.5460,0.5470
+02/03/2010 16:53:56,0.5824,0.5826
+02/03/2010 16:53:57,0.5371,0.5374
+02/03/2010 16:53:58,0.5793,0.5794
+02/03/2010 16:53:59,0.5684,0.5688
diff --git a/backtrader/source/datas/bidask2.csv b/backtrader/source/datas/bidask2.csv
new file mode 100644
index 0000000000000000000000000000000000000000..84e62e7222d20d4d3ba8ac8272720124d1d84d81
--- /dev/null
+++ b/backtrader/source/datas/bidask2.csv
@@ -0,0 +1,11 @@
+TimeStamp,cross,status ("D"= dealt) (only trades "DEALT"),bid, offer, vol bid, vol offer
+01/03/16,23:43:11,EUR/JPY,D,,130.520,,1000000
+01/03/16,23:43:27,EUR/JPY,D,,130.520,,2000000
+01/03/16,23:49:19,EUR/JPY,D,,130.510,,500000
+01/03/16,23:49:22,EUR/JPY,D,,130.530,,1500000
+01/03/16,23:49:25,EUR/JPY,D,,130.540,,750000
+01/03/16,23:49:27,EUR/JPY,D,,130.550,,900000
+01/03/16,23:51:25,EUR/JPY,D,,130.500,,1200000
+01/03/16,23:52:27,EUR/JPY,D,,130.495,,1100000
+01/03/16,23:53:25,EUR/JPY,D,,130.480,,600000
+01/03/16,23:54:27,EUR/JPY,D,,130.470,,900000
\ No newline at end of file
diff --git a/backtrader/source/datas/nvda-1999-2014.txt b/backtrader/source/datas/nvda-1999-2014.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5910e4ab0adfcc1ab7d5c83e1d95f3195b65dfe2
--- /dev/null
+++ b/backtrader/source/datas/nvda-1999-2014.txt
@@ -0,0 +1,4013 @@
+Date,Open,High,Low,Close,Adj Close,Volume
+1999-01-22,1.750000,1.953125,1.552083,1.640625,1.518424,67867200
+1999-01-25,1.770833,1.833333,1.640625,1.812500,1.677496,12762000
+1999-01-26,1.833333,1.869792,1.645833,1.671875,1.547346,8580000
+1999-01-27,1.677083,1.718750,1.583333,1.666667,1.542525,6109200
+1999-01-28,1.666667,1.677083,1.651042,1.661458,1.537705,5688000
+1999-01-29,1.661458,1.666667,1.583333,1.583333,1.465399,6100800
+1999-02-01,1.583333,1.625000,1.583333,1.614583,1.494321,3867600
+1999-02-02,1.583333,1.625000,1.442708,1.489583,1.378632,6602400
+1999-02-03,1.468750,1.541667,1.458333,1.520833,1.407555,1878000
+1999-02-04,1.541667,1.645833,1.520833,1.604167,1.484681,4548000
+1999-02-05,1.630208,1.666667,1.588542,1.651042,1.528064,3421200
+1999-02-08,1.661458,1.666667,1.593750,1.593750,1.475040,3852000
+1999-02-09,1.625000,1.635417,1.510417,1.531250,1.417195,2174400
+1999-02-10,1.531250,1.572917,1.489583,1.515625,1.402734,3705600
+1999-02-11,1.520833,1.708333,1.520833,1.645833,1.523244,3306000
+1999-02-12,1.666667,1.750000,1.666667,1.739583,1.610011,2743200
+1999-02-16,1.770833,1.843750,1.572917,1.750000,1.619651,5275200
+1999-02-17,1.708333,1.729167,1.625000,1.656250,1.532884,1693200
+1999-02-18,1.708333,1.729167,1.635417,1.682292,1.556986,1767600
+1999-02-19,1.666667,1.770833,1.645833,1.739583,1.610011,1884000
+1999-02-22,1.770833,1.791667,1.656250,1.750000,1.619651,5131200
+1999-02-23,1.791667,1.869792,1.687500,1.833333,1.696778,3452400
+1999-02-24,2.104167,2.187500,1.932292,1.979167,1.831748,15319200
+1999-02-25,2.062500,2.125000,1.885417,1.916667,1.773904,3728400
+1999-02-26,1.937500,2.000000,1.812500,1.828125,1.691957,4315200
+1999-03-01,1.875000,1.916667,1.750000,1.838542,1.701598,2304000
+1999-03-02,1.833333,1.843750,1.791667,1.822917,1.687137,1381200
+1999-03-03,1.833333,1.833333,1.687500,1.697917,1.571447,1534800
+1999-03-04,1.781250,1.791667,1.645833,1.661458,1.537705,1434000
+1999-03-05,1.677083,1.760417,1.677083,1.755208,1.624472,1969200
+1999-03-08,1.708333,1.833333,1.677083,1.781250,1.648574,1897200
+1999-03-09,1.776042,1.864583,1.776042,1.838542,1.701598,3579600
+1999-03-10,1.864583,1.864583,1.781250,1.807292,1.672675,5883600
+1999-03-11,1.776042,1.807292,1.729167,1.729167,1.600370,1357200
+1999-03-12,1.739583,1.739583,1.666667,1.697917,1.571447,2269200
+1999-03-15,1.739583,1.791667,1.729167,1.770833,1.638933,2720400
+1999-03-16,1.781250,1.802083,1.697917,1.713542,1.585909,1978800
+1999-03-17,1.729167,1.760417,1.682292,1.723958,1.595549,1284000
+1999-03-18,1.729167,1.770833,1.687500,1.744792,1.614831,1158000
+1999-03-19,1.739583,1.802083,1.739583,1.750000,1.619651,2632800
+1999-03-22,1.786458,1.791667,1.697917,1.697917,1.571447,916800
+1999-03-23,1.708333,1.708333,1.562500,1.593750,1.475040,4099200
+1999-03-24,1.583333,1.593750,1.520833,1.583333,1.465399,1521600
+1999-03-25,1.578125,1.666667,1.572917,1.604167,1.484681,1008000
+1999-03-26,1.625000,1.750000,1.625000,1.744792,1.614831,2206800
+1999-03-29,1.796875,1.838542,1.765625,1.796875,1.663035,1648800
+1999-03-30,1.802083,1.817708,1.635417,1.645833,1.523244,1737600
+1999-03-31,1.697917,1.781250,1.619792,1.760417,1.629292,3840000
+1999-04-01,1.760417,1.770833,1.677083,1.708333,1.581088,760800
+1999-04-05,1.687500,1.729167,1.645833,1.656250,1.532884,2466000
+1999-04-06,1.671875,1.677083,1.583333,1.614583,1.494321,1742400
+1999-04-07,1.625000,1.760417,1.614583,1.750000,1.619651,2232000
+1999-04-08,1.760417,1.833333,1.739583,1.781250,1.648574,3253200
+1999-04-09,1.791667,1.791667,1.739583,1.750000,1.619651,1215600
+1999-04-12,1.729167,1.729167,1.645833,1.677083,1.552166,832800
+1999-04-13,1.708333,1.708333,1.583333,1.609375,1.489501,903600
+1999-04-14,1.604167,1.640625,1.562500,1.562500,1.446117,1207200
+1999-04-15,1.604167,1.604167,1.562500,1.604167,1.484681,896400
+1999-04-16,1.593750,1.682292,1.593750,1.656250,1.532884,973200
+1999-04-19,1.677083,1.677083,1.562500,1.583333,1.465399,782400
+1999-04-20,1.583333,1.645833,1.536458,1.552083,1.436477,1692000
+1999-04-21,1.552083,1.583333,1.541667,1.578125,1.460579,937200
+1999-04-22,1.583333,1.583333,1.494792,1.510417,1.397913,5679600
+1999-04-23,1.505208,1.510417,1.427083,1.437500,1.330428,3151200
+1999-04-26,1.437500,1.458333,1.333333,1.364583,1.262943,3087600
+1999-04-27,1.395833,1.520833,1.375000,1.510417,1.397913,5673600
+1999-04-28,1.520833,1.520833,1.453125,1.500000,1.388273,3002400
+1999-04-29,1.505208,1.510417,1.468750,1.500000,1.388273,1203600
+1999-04-30,1.515625,1.583333,1.505208,1.520833,1.407555,2482800
+1999-05-03,1.536458,1.536458,1.489583,1.531250,1.417195,846000
+1999-05-04,1.531250,1.531250,1.416667,1.447917,1.340069,2401200
+1999-05-05,1.458333,1.479167,1.375000,1.479167,1.368991,3614400
+1999-05-06,1.468750,1.500000,1.406250,1.450517,1.342475,890400
+1999-05-07,1.406250,1.468750,1.406250,1.458333,1.349710,625200
+1999-05-10,1.447917,1.489583,1.447917,1.458333,1.349710,492000
+1999-05-11,1.520833,1.583333,1.489583,1.536458,1.422016,4293600
+1999-05-12,1.552083,1.588542,1.531250,1.583333,1.465399,4212000
+1999-05-13,1.583333,1.625000,1.578125,1.583333,1.465399,1748400
+1999-05-14,1.583333,1.583333,1.479167,1.500000,1.388273,711600
+1999-05-17,1.479167,1.572917,1.473958,1.572917,1.455758,894000
+1999-05-18,1.588542,1.666667,1.541667,1.645833,1.523244,3788400
+1999-05-19,1.718750,1.781250,1.546875,1.572917,1.455758,11293200
+1999-05-20,1.583333,1.583333,1.390625,1.447917,1.340069,4454400
+1999-05-21,1.427083,1.427083,1.375000,1.416667,1.311146,7587600
+1999-05-24,1.427083,1.458333,1.390625,1.411458,1.306326,4065600
+1999-05-25,1.416667,1.437500,1.406250,1.421875,1.315967,3252000
+1999-05-26,1.416667,1.489583,1.416667,1.416667,1.311146,2618400
+1999-05-27,1.427083,1.427083,1.406250,1.406250,1.301506,2058000
+1999-05-28,1.427083,1.427083,1.406250,1.421875,1.315967,2216400
+1999-06-01,1.416667,1.427083,1.395833,1.427083,1.320787,2463600
+1999-06-02,1.427083,1.427083,1.375000,1.375000,1.272583,3253200
+1999-06-03,1.411458,1.421875,1.395833,1.411458,1.306326,1039200
+1999-06-04,1.421875,1.427083,1.411458,1.421875,1.315967,1972800
+1999-06-07,1.429683,1.458333,1.427083,1.437500,1.330428,3128400
+1999-06-08,1.442708,1.500000,1.437500,1.473958,1.364171,3832800
+1999-06-09,1.479167,1.531250,1.479167,1.500000,1.388273,2379600
+1999-06-10,1.500000,1.510417,1.489583,1.505208,1.393093,902400
+1999-06-11,1.505208,1.510417,1.421875,1.473958,1.364171,1525200
+1999-06-14,1.476558,1.479167,1.406250,1.416667,1.311146,1291200
+1999-06-15,1.416667,1.427083,1.395833,1.416667,1.311146,1232400
+1999-06-16,1.437500,1.500000,1.416667,1.458333,1.349710,1610400
+1999-06-17,1.447917,1.468750,1.416667,1.416667,1.311146,1873200
+1999-06-18,1.427083,1.427083,1.364583,1.364583,1.262943,3968400
+1999-06-21,1.406250,1.437500,1.368483,1.437500,1.330428,2086800
+1999-06-22,1.437500,1.437500,1.380208,1.411458,1.306326,4826400
+1999-06-23,1.395833,1.437500,1.380208,1.437500,1.330428,5272800
+1999-06-24,1.447917,1.447917,1.395833,1.406250,1.301506,2880000
+1999-06-25,1.395833,1.442708,1.395833,1.427083,1.320787,1838400
+1999-06-28,1.473958,1.473958,1.416667,1.447917,1.340069,2728800
+1999-06-29,1.468750,1.484375,1.447917,1.463542,1.354530,2317200
+1999-06-30,1.510417,1.593750,1.479167,1.593750,1.475040,6730800
+1999-07-01,1.593750,1.593750,1.427083,1.510417,1.397913,2224800
+1999-07-02,1.531250,1.619792,1.500000,1.619792,1.499142,5622000
+1999-07-06,1.635417,1.635417,1.604167,1.625000,1.503962,4952400
+1999-07-07,1.635417,1.635417,1.593750,1.593750,1.475040,1578000
+1999-07-08,1.604167,1.656250,1.552083,1.630208,1.508783,4651200
+1999-07-09,1.625000,1.781250,1.625000,1.768225,1.636519,5293200
+1999-07-12,1.875000,1.927083,1.802083,1.848958,1.711239,10026000
+1999-07-13,1.869792,1.880208,1.770833,1.854167,1.716060,3471600
+1999-07-14,1.854167,1.895833,1.770833,1.781250,1.648574,3448800
+1999-07-15,1.796875,1.854167,1.791667,1.791667,1.658215,3426000
+1999-07-16,1.822917,1.843750,1.791667,1.828125,1.691957,2596800
+1999-07-19,1.833333,1.838542,1.770833,1.781250,1.648574,1090800
+1999-07-20,1.781250,1.781250,1.687500,1.750000,1.619651,4468800
+1999-07-21,1.729167,1.729167,1.645833,1.697917,1.571447,2802000
+1999-07-22,1.687500,1.687500,1.604167,1.619792,1.499142,5331600
+1999-07-23,1.614583,1.666667,1.614583,1.619792,1.499142,2006400
+1999-07-26,1.661458,1.661458,1.625000,1.625000,1.503962,1513200
+1999-07-27,1.625000,1.635417,1.604167,1.630208,1.508783,2464800
+1999-07-28,1.625000,1.677083,1.619792,1.656250,1.532884,6105600
+1999-07-29,1.625000,1.677083,1.614583,1.671875,1.547346,9720000
+1999-07-30,1.671875,1.718750,1.666667,1.677083,1.552166,11307600
+1999-08-02,1.677083,1.697917,1.666667,1.692708,1.566627,7833600
+1999-08-03,1.692708,1.692708,1.635417,1.651042,1.528064,6380400
+1999-08-04,1.661458,1.666667,1.645833,1.651042,1.528064,2248800
+1999-08-05,1.651042,1.677083,1.625000,1.677083,1.552166,6014400
+1999-08-06,1.671875,1.682292,1.666667,1.677083,1.552166,4599600
+1999-08-09,1.682292,1.697917,1.666667,1.677083,1.552166,776400
+1999-08-10,1.687500,1.781250,1.677083,1.708333,1.581088,5301600
+1999-08-11,1.739583,1.843750,1.718750,1.822917,1.687137,4942800
+1999-08-12,1.833333,1.958333,1.822917,1.911458,1.769083,5990400
+1999-08-13,1.895833,1.932292,1.875000,1.890625,1.749802,2116800
+1999-08-16,1.906250,1.906250,1.755208,1.817708,1.682317,5586000
+1999-08-17,1.822917,1.854167,1.776042,1.822917,1.687137,4838400
+1999-08-18,1.802083,1.885417,1.765625,1.864583,1.725700,6997200
+1999-08-19,1.994792,2.364583,1.927083,2.260417,2.092050,49174800
+1999-08-20,2.265625,2.281250,2.156250,2.239583,2.072768,8827200
+1999-08-23,2.208333,2.208333,2.031250,2.104167,1.947438,12699600
+1999-08-24,2.072917,2.114583,1.968750,2.093750,1.937797,9951600
+1999-08-25,2.098958,2.119792,2.000000,2.083333,1.928156,8758800
+1999-08-26,2.083333,2.114583,2.020833,2.052083,1.899234,6884400
+1999-08-27,2.093750,2.250000,2.083333,2.166667,2.005283,13809600
+1999-08-30,2.203125,2.244792,2.067708,2.158850,1.998048,3966000
+1999-08-31,2.166667,2.354167,2.125000,2.343750,2.169176,19671600
+1999-09-01,2.343750,2.343750,2.197917,2.234375,2.067948,14133600
+1999-09-02,2.161458,2.218750,2.114583,2.208333,2.043846,8527200
+1999-09-03,2.250000,2.281250,2.208333,2.223958,2.058307,6471600
+1999-09-07,2.260417,2.260417,2.203125,2.213542,2.048666,3110400
+1999-09-08,2.218750,2.234375,2.208333,2.208333,2.043846,4251600
+1999-09-09,2.229167,2.244792,2.135417,2.177083,2.014924,5236800
+1999-09-10,2.213542,2.239583,2.197917,2.208333,2.043846,4185600
+1999-09-13,2.218750,2.218750,2.114583,2.135417,1.976361,4360800
+1999-09-14,2.135417,2.135417,2.062500,2.072917,1.918516,6259200
+1999-09-15,2.046875,2.114583,2.031250,2.088542,1.932977,5318400
+1999-09-16,2.062500,2.083333,2.010417,2.036458,1.884773,3952800
+1999-09-17,2.023433,2.041667,1.958333,2.031250,1.879953,4291200
+1999-09-20,1.994792,2.020833,1.958333,1.958333,1.812467,5727600
+1999-09-21,1.916667,1.927083,1.744792,1.770833,1.638933,18433200
+1999-09-22,1.770833,1.822917,1.666667,1.812500,1.677496,9399600
+1999-09-23,1.817708,1.822917,1.645833,1.661458,1.537705,9489600
+1999-09-24,1.666667,1.708333,1.395833,1.510417,1.397913,17122800
+1999-09-27,1.609375,1.635417,1.510417,1.604167,1.484681,10800000
+1999-09-28,1.606767,1.770833,1.604167,1.750000,1.619651,10329600
+1999-09-29,1.786458,1.854167,1.583333,1.609375,1.489501,14851200
+1999-09-30,1.666667,1.718750,1.583333,1.604167,1.484681,8563200
+1999-10-01,1.578125,1.635417,1.510417,1.593750,1.475040,8694000
+1999-10-04,1.645833,1.651042,1.604167,1.625000,1.503962,4440000
+1999-10-05,1.625000,1.791667,1.625000,1.781250,1.648574,11952000
+1999-10-06,1.786458,2.083333,1.770833,1.994792,1.846210,37718400
+1999-10-07,2.078125,2.078125,1.854167,1.864583,1.725700,12182400
+1999-10-08,1.864583,2.015625,1.791667,1.958333,1.812467,9973200
+1999-10-11,1.973958,1.979167,1.854167,1.906250,1.764263,13611600
+1999-10-12,1.916667,1.937500,1.875000,1.880208,1.740161,8074800
+1999-10-13,1.859375,1.859375,1.791667,1.828125,1.691957,7009200
+1999-10-14,1.833333,1.833333,1.770833,1.791667,1.658215,4808400
+1999-10-15,1.703125,1.791667,1.697917,1.781250,1.648574,5268000
+1999-10-18,1.786458,1.786458,1.677083,1.687500,1.561807,5379600
+1999-10-19,1.739583,1.739583,1.588542,1.619792,1.499142,7723200
+1999-10-20,1.645833,1.697917,1.619792,1.677083,1.552166,8718000
+1999-10-21,1.671875,1.755208,1.625000,1.755208,1.624472,9553200
+1999-10-22,1.750000,1.848958,1.750000,1.796875,1.663035,7168800
+1999-10-25,1.786458,1.812500,1.708333,1.708333,1.581088,5346000
+1999-10-26,1.781250,1.937500,1.770833,1.875000,1.735341,12031200
+1999-10-27,1.885417,1.895833,1.760417,1.791667,1.658215,5353200
+1999-10-28,1.802083,1.833333,1.697917,1.708333,1.581088,5569200
+1999-10-29,1.729167,1.875000,1.718750,1.843750,1.706419,8263200
+1999-11-01,1.812500,2.031250,1.812500,1.958333,1.812467,19563600
+1999-11-02,1.994792,2.093750,1.979167,2.083333,1.928156,20937600
+1999-11-03,2.166667,2.343750,2.151042,2.286458,2.116152,50292000
+1999-11-04,2.312500,2.494792,2.312500,2.432292,2.251123,31508400
+1999-11-05,2.500000,2.520833,2.239583,2.354167,2.178817,15409200
+1999-11-08,2.281250,2.489583,2.208333,2.421875,2.241482,11750400
+1999-11-09,2.416667,2.427083,2.291667,2.385417,2.207740,6808800
+1999-11-10,2.393225,2.395833,2.317708,2.364583,2.188458,3601200
+1999-11-11,2.364583,2.656250,2.312500,2.531250,2.342711,14067600
+1999-11-12,2.640625,2.666667,2.489583,2.666667,2.468041,12537600
+1999-11-15,2.684892,2.765625,2.572917,2.614583,2.419837,9055200
+1999-11-16,2.677083,2.916667,2.666667,2.864583,2.651215,18094800
+1999-11-17,2.916667,3.125000,2.875000,2.973958,2.752443,19659600
+1999-11-18,3.036458,3.062500,2.958333,2.984375,2.762084,5899200
+1999-11-19,3.343750,3.697917,3.333333,3.572917,3.306788,54129600
+1999-11-22,3.664058,3.666667,3.354167,3.567708,3.301968,13504800
+1999-11-23,3.203125,3.348958,3.166667,3.312500,3.065768,13831200
+1999-11-24,3.296875,3.333333,2.963542,3.208333,2.969361,10171200
+1999-11-26,3.177083,3.208333,3.083333,3.187500,2.950080,1794000
+1999-11-29,3.177083,3.218750,3.000000,3.072917,2.844031,7465200
+1999-11-30,3.083333,3.135417,2.885417,2.885417,2.670497,7867200
+1999-12-01,2.885417,3.072917,2.885417,3.031250,2.805467,5588400
+1999-12-02,3.041667,3.296875,3.041667,3.255208,3.012744,7747200
+1999-12-03,3.286458,3.343750,3.135417,3.177083,2.940439,8569200
+1999-12-06,3.187500,3.281250,3.187500,3.265625,3.022386,4465200
+1999-12-07,3.291667,3.296875,3.031250,3.156250,2.921157,4659600
+1999-12-08,3.145833,3.328125,3.135417,3.296875,3.051308,5042400
+1999-12-09,3.291667,3.375000,3.083333,3.197917,2.959720,5373600
+1999-12-10,3.255208,3.270833,3.104167,3.161458,2.925978,2457600
+1999-12-13,3.125000,3.234375,3.083333,3.151042,2.916337,4596000
+1999-12-14,3.156250,3.234375,3.067708,3.098958,2.868133,6847200
+1999-12-15,3.078125,3.093750,2.927083,3.000000,2.776546,5149200
+1999-12-16,3.015625,3.062500,2.968750,2.979167,2.757264,3314400
+1999-12-17,3.062500,3.182292,3.046875,3.135417,2.901876,6552000
+1999-12-20,3.140625,3.457025,3.031250,3.395833,3.142895,10060800
+1999-12-21,3.395833,3.546875,3.270833,3.541667,3.277866,9709200
+1999-12-22,3.552083,3.666667,3.416667,3.625000,3.354993,6279600
+1999-12-23,3.630208,3.875000,3.614583,3.864583,3.576730,7005600
+1999-12-27,3.947917,3.953125,3.677083,3.718750,3.441760,5060400
+1999-12-28,3.718750,3.854167,3.697917,3.708333,3.432119,4479600
+1999-12-29,3.700517,3.875000,3.697917,3.833333,3.547807,3303600
+1999-12-30,3.833333,3.890625,3.770833,3.864583,3.576730,3494400
+1999-12-31,3.856767,3.916667,3.843750,3.911458,3.620114,3183600
+2000-01-03,3.937500,3.968750,3.677083,3.901042,3.610473,7522800
+2000-01-04,3.833333,3.843750,3.604167,3.796875,3.514066,7512000
+2000-01-05,3.687500,3.750000,3.619792,3.671875,3.398376,4708800
+2000-01-06,3.671875,3.671875,3.291667,3.432292,3.176638,3012000
+2000-01-07,3.416667,3.526042,3.364583,3.489583,3.229662,1779600
+2000-01-10,3.500000,3.750000,3.437500,3.604167,3.335711,5996400
+2000-01-11,3.583333,3.625000,3.458333,3.458333,3.200740,3703200
+2000-01-12,3.458333,3.463542,3.322917,3.369792,3.118793,3088800
+2000-01-13,3.364583,3.541667,3.322917,3.510417,3.248944,3304800
+2000-01-14,3.562500,3.807292,3.552083,3.661458,3.388735,15114000
+2000-01-18,3.708333,3.833333,3.541667,3.817708,3.533347,6541200
+2000-01-19,3.833333,3.833333,3.750000,3.781250,3.499604,4117200
+2000-01-20,3.812500,4.020833,3.739583,3.770833,3.489963,4489200
+2000-01-21,3.760417,3.776042,3.635417,3.729167,3.451401,13606800
+2000-01-24,3.848958,3.848958,3.541667,3.562500,3.297148,6423600
+2000-01-25,3.578125,3.614583,3.416667,3.531250,3.268226,5928000
+2000-01-26,3.531250,3.625000,3.322917,3.385417,3.133255,5811600
+2000-01-27,3.411458,3.411458,3.083333,3.208333,2.969361,11455200
+2000-01-28,3.166667,3.187500,2.989583,3.114583,2.882594,4861200
+2000-01-31,3.130208,3.197917,2.916667,3.088542,2.858492,4560000
+2000-02-01,3.093750,3.187500,2.979167,3.161458,2.925978,2324400
+2000-02-02,3.177083,3.312500,3.161458,3.250000,3.007924,3726000
+2000-02-03,3.354167,3.421875,3.281250,3.302083,3.056128,2706000
+2000-02-04,3.406250,3.406250,3.312500,3.380208,3.128434,3092400
+2000-02-07,3.395833,3.395833,3.166667,3.171875,2.935618,5437200
+2000-02-08,3.250000,3.437500,3.166667,3.322917,3.075409,11720400
+2000-02-09,3.447917,3.505208,3.401042,3.406250,3.152536,14726400
+2000-02-10,3.614583,4.166667,3.614583,4.104167,3.798469,24252000
+2000-02-11,4.307292,4.312500,3.864583,4.166667,3.856313,10594800
+2000-02-14,4.177083,4.833333,4.135417,4.833333,4.473323,16252800
+2000-02-15,4.843750,4.848958,4.447917,4.645833,4.299788,11262000
+2000-02-16,4.697917,5.020833,4.645833,4.859375,4.497425,25489200
+2000-02-17,4.854167,5.062500,4.781250,5.031250,4.656496,13394400
+2000-02-18,4.958333,5.687500,4.921875,5.614583,5.196381,24021600
+2000-02-22,5.437500,5.510417,5.250000,5.458333,5.051770,13562400
+2000-02-23,5.395833,5.546875,5.328125,5.489583,5.080692,12784800
+2000-02-24,5.520833,5.557292,5.208333,5.437500,5.032489,6108000
+2000-02-25,5.442708,5.442708,4.875000,5.098958,4.719164,6968400
+2000-02-28,5.072917,5.125000,4.979167,5.062500,4.685421,12946800
+2000-02-29,5.031250,5.395833,5.031250,5.333333,4.936082,7651200
+2000-03-01,5.333333,5.333333,5.093750,5.177083,4.791470,9589200
+2000-03-02,5.218750,5.218750,4.812500,4.828125,4.468503,4776000
+2000-03-03,4.833333,4.958333,4.791667,4.906250,4.540808,6842400
+2000-03-06,4.937500,5.312500,4.833333,4.875000,4.511886,10802400
+2000-03-07,6.250000,7.270833,5.979167,6.942708,6.425582,48805200
+2000-03-08,6.938800,7.062500,6.437500,7.000000,6.478606,16718400
+2000-03-09,7.083333,9.000000,7.062500,8.358067,7.735517,23823600
+2000-03-10,8.791667,12.083333,8.729167,9.833333,9.100898,54030000
+2000-03-13,8.916667,12.500000,8.833333,12.437500,11.511096,60379200
+2000-03-14,12.369792,12.369792,9.000000,9.177083,8.493527,39194400
+2000-03-15,9.834633,10.088542,8.500000,8.802083,8.146460,24890400
+2000-03-16,9.083333,9.395833,7.718750,7.847650,7.263118,18759600
+2000-03-17,7.666667,8.916667,7.665359,8.322917,7.702986,13940400
+2000-03-20,8.651042,8.927083,8.052083,8.317708,7.698164,9132000
+2000-03-21,8.333333,8.406250,7.250000,7.906250,7.317354,13416000
+2000-03-22,7.968750,8.208333,7.833333,7.963542,7.370378,5764800
+2000-03-23,7.890625,8.541667,7.875000,8.104167,7.500529,7735200
+2000-03-24,8.052083,8.416667,7.500000,7.765625,7.187204,5790000
+2000-03-27,7.750000,8.000000,7.187500,7.255208,6.714807,9723600
+2000-03-28,7.005208,7.083333,6.583333,6.713542,6.213484,9832800
+2000-03-29,6.739583,6.895833,6.000000,6.270833,5.803751,11736000
+2000-03-30,6.083333,6.812500,5.875000,6.234375,5.770008,9048000
+2000-03-31,6.660150,7.322917,6.541667,7.040359,6.515959,24074400
+2000-04-03,6.976558,7.000000,6.307292,6.489583,6.006207,8248800
+2000-04-04,6.833333,6.947917,4.750000,6.250000,5.784469,12844800
+2000-04-05,6.312500,8.125000,5.989583,7.640625,7.071514,15990000
+2000-04-06,7.994792,8.401042,7.614583,7.994792,7.399301,10114800
+2000-04-07,8.395833,8.750000,8.041667,8.546875,7.910261,7964400
+2000-04-10,8.692708,9.197917,7.630208,7.791667,7.211305,9882000
+2000-04-11,7.248692,7.916667,6.666667,7.328125,6.782290,11439600
+2000-04-12,7.338542,7.500000,6.541667,6.567708,6.078513,7836000
+2000-04-13,6.619792,6.854167,6.177083,6.286458,5.818213,7832400
+2000-04-14,5.885417,6.338542,5.458333,5.733067,5.306039,10548000
+2000-04-17,5.250000,6.250000,5.250000,6.026042,5.577194,7352400
+2000-04-18,6.632808,7.479167,6.437500,7.093750,6.565373,11937600
+2000-04-19,7.317708,7.416667,6.666667,6.755208,6.252047,6958800
+2000-04-20,6.937500,7.067708,6.625000,6.718750,6.218304,3848400
+2000-04-24,6.333333,6.614583,6.052083,6.385417,5.909800,5149200
+2000-04-25,6.671875,7.291667,6.656250,7.083333,6.555732,6242400
+2000-04-26,7.578125,7.750000,7.000000,7.010417,6.488246,6352800
+2000-04-27,6.541667,7.656250,6.505208,7.583333,7.018491,7024800
+2000-04-28,7.703125,8.000000,7.427083,7.427083,6.873878,4476000
+2000-05-01,7.708333,7.875000,7.484375,7.666667,7.095615,2985600
+2000-05-02,7.666667,8.114583,7.156250,7.369792,6.820854,5850000
+2000-05-03,7.322917,7.562500,6.666667,7.250000,6.709986,8229600
+2000-05-04,7.234375,7.645833,7.171875,7.338542,6.791931,6030000
+2000-05-05,7.307292,7.854167,7.208333,7.677083,7.105257,4264800
+2000-05-08,7.479167,7.750000,7.385417,7.395833,6.844956,4628400
+2000-05-09,7.520833,7.583333,7.083333,7.291667,6.748549,4420800
+2000-05-10,7.218750,7.223958,6.510417,6.572917,6.083333,6852000
+2000-05-11,6.666667,6.973958,6.578125,6.854167,6.343636,6147600
+2000-05-12,7.041667,7.416667,6.645833,6.645833,6.150819,4695600
+2000-05-15,6.614583,7.218750,6.291667,7.104167,6.575014,7052400
+2000-05-16,7.416667,8.057292,7.333333,7.833333,7.249868,9160800
+2000-05-17,8.250000,9.552083,8.244792,9.208333,8.522453,32265600
+2000-05-18,9.260417,9.411458,8.526042,8.583333,7.944006,12747600
+2000-05-19,8.333333,8.791667,8.270833,8.510417,7.876523,13029600
+2000-05-22,8.416667,9.062500,7.671875,9.062500,8.387482,12928800
+2000-05-23,8.833333,9.828125,8.687500,8.989583,8.319996,19464000
+2000-05-24,8.979167,9.125000,7.687500,8.875000,8.213944,18490800
+2000-05-25,9.005208,9.541667,8.640625,8.750000,8.098257,14229600
+2000-05-26,8.794267,9.036458,8.250000,8.794267,8.139227,4586400
+2000-05-30,9.031250,9.385417,8.989583,9.156250,8.474247,7591200
+2000-05-31,9.125000,9.666667,9.125000,9.510417,8.802034,11738400
+2000-06-01,9.791667,9.880208,9.531250,9.776042,9.047874,10474800
+2000-06-02,9.979167,11.083333,9.979167,10.963542,10.146925,14804400
+2000-06-05,10.947917,11.750000,10.510417,11.199217,10.365046,12297600
+2000-06-06,11.239583,11.656250,10.583333,10.640625,9.848060,9397200
+2000-06-07,10.562500,10.651042,10.010417,10.166667,9.409404,8308800
+2000-06-08,10.427083,10.437500,9.833333,10.244792,9.481709,11517600
+2000-06-09,10.437500,11.000000,10.281250,10.536458,9.751653,11682000
+2000-06-12,10.583333,10.671875,10.020833,10.255208,9.491349,9500400
+2000-06-13,9.968750,10.583333,9.916667,10.578125,9.790216,11196000
+2000-06-14,10.776042,10.833333,10.428383,10.567708,9.780574,6877200
+2000-06-15,10.536458,10.843750,9.968750,10.843750,10.036056,8464800
+2000-06-16,10.804684,12.500000,10.802083,12.479167,11.549659,24696000
+2000-06-19,12.447917,14.270833,12.135417,13.260417,12.272716,26304000
+2000-06-20,13.489583,13.645833,12.916667,13.083333,12.108825,15256800
+2000-06-21,12.880208,14.666667,12.880208,14.411458,13.338022,15372000
+2000-06-22,14.348958,14.645833,13.489583,13.625000,12.610145,15358800
+2000-06-23,13.260417,13.427083,12.333333,12.338542,11.419507,15184800
+2000-06-26,12.583333,13.906250,12.385417,13.828125,12.798139,15457200
+2000-06-27,13.708333,13.937500,11.510417,11.875000,10.990492,15115200
+2000-06-28,12.125000,12.583333,11.083333,11.416667,10.566298,14665200
+2000-06-29,11.218750,11.218750,9.583333,9.770833,9.043055,29622000
+2000-06-30,10.229167,10.770833,9.729167,10.593750,9.804674,30229800
+2000-07-03,10.666667,11.000000,10.083333,10.187500,9.428687,5817000
+2000-07-05,10.145833,10.166667,8.791667,9.093750,8.416405,19448400
+2000-07-06,9.104167,9.979167,8.885417,9.645833,8.927365,15098400
+2000-07-07,10.000000,10.166667,9.500000,9.697917,8.975570,8664000
+2000-07-10,9.531250,10.437500,9.437500,10.197917,9.438328,8781600
+2000-07-11,10.062500,11.541667,9.947917,11.020833,10.199949,18882600
+2000-07-12,11.479167,11.906250,11.114583,11.333333,10.489170,9703800
+2000-07-13,11.572917,12.458333,11.552083,12.395833,11.472531,11468400
+2000-07-14,12.645833,12.885417,12.000000,12.302083,11.385764,7005000
+2000-07-17,12.489583,12.500000,12.125000,12.166667,11.260436,2638800
+2000-07-18,11.500000,12.500000,11.500000,11.927083,11.038693,4591800
+2000-07-19,11.500000,11.583333,10.927083,11.166667,10.334916,4737600
+2000-07-20,11.156250,11.750000,11.125000,11.468750,10.614503,3574800
+2000-07-21,11.500000,11.833333,11.333333,11.614583,10.749472,6298200
+2000-07-24,11.625000,11.708333,10.166667,10.625000,9.833597,7027800
+2000-07-25,10.791667,10.875000,10.208333,10.229167,9.467249,8382600
+2000-07-26,10.229167,10.229167,9.187500,9.468750,8.763471,9501600
+2000-07-27,9.166667,9.291667,8.666667,8.791667,8.136823,8289000
+2000-07-28,8.833333,9.656250,8.333333,9.000000,8.329637,12816600
+2000-07-31,9.500000,10.020833,9.000000,10.000000,9.255151,9280800
+2000-08-01,10.000000,10.083333,9.729167,9.802083,9.071979,8765400
+2000-08-02,9.666667,10.161450,9.510417,10.000000,9.255151,8635800
+2000-08-03,9.000000,10.666667,9.000000,10.437500,9.660064,9216600
+2000-08-04,10.687500,10.833333,10.458333,10.625000,9.833597,4869600
+2000-08-07,10.697917,11.552083,10.656250,11.458333,10.604859,6173400
+2000-08-08,11.208333,11.833333,11.166667,11.208333,10.373482,3202800
+2000-08-09,11.354167,11.427083,10.718750,10.875000,10.064978,3406200
+2000-08-10,10.625000,11.250000,10.416667,11.000000,10.180667,3910800
+2000-08-11,11.020833,11.104167,10.229167,10.739583,9.939647,3298200
+2000-08-14,10.875000,10.979167,10.500000,10.843750,10.036056,2714400
+2000-08-15,10.895833,12.083333,10.864583,11.867184,10.983258,11083200
+2000-08-16,12.510417,12.510417,11.802083,12.166667,11.260436,6655800
+2000-08-17,12.000000,12.458333,11.958333,12.395833,11.472531,3245400
+2000-08-18,12.343750,12.979167,12.322917,12.833333,11.877445,5118000
+2000-08-21,13.302083,13.531250,13.000000,13.031250,12.060618,11611800
+2000-08-22,12.354167,12.625000,11.687500,11.802083,10.923006,16471800
+2000-08-23,11.614583,12.510417,11.375000,12.489583,11.559299,8820000
+2000-08-24,12.416667,12.947917,12.187500,12.822917,11.867805,8315400
+2000-08-25,12.687500,12.958333,12.437500,12.500000,11.568938,3826200
+2000-08-28,12.562500,13.166667,12.416667,13.000000,12.031697,4731600
+2000-08-29,13.052083,13.083333,12.833333,12.968750,12.002778,3734400
+2000-08-30,12.822917,13.260417,12.687500,13.083333,12.108825,4452000
+2000-08-31,13.281250,13.750000,13.020833,13.229167,12.243793,9722400
+2000-09-01,13.500000,13.625000,13.104167,13.250000,12.263074,5103600
+2000-09-05,13.562500,13.572917,13.177083,13.270833,12.282356,6153600
+2000-09-06,13.322917,13.322917,12.250000,12.354167,11.433969,5753400
+2000-09-07,12.541667,13.041667,12.020833,13.020833,12.050978,5994000
+2000-09-08,12.875000,13.166667,12.208333,12.250000,11.337561,5566200
+2000-09-11,12.093750,12.166667,11.291667,11.750000,10.874804,7147200
+2000-09-12,11.760417,12.375000,11.500000,11.677083,10.807316,3149400
+2000-09-13,11.645833,11.864583,11.395833,11.671866,10.802488,5999400
+2000-09-14,11.729167,12.250000,11.416667,11.562500,10.701268,5408400
+2000-09-15,11.500000,11.979167,11.416667,11.815100,10.935052,6064800
+2000-09-18,11.843750,11.916667,11.000000,11.125000,10.296354,4087200
+2000-09-19,10.614583,11.500000,10.500000,11.468750,10.614503,7527600
+2000-09-20,11.156250,11.375000,10.916667,11.093750,10.267433,5689200
+2000-09-21,11.177083,11.822917,11.166667,11.570300,10.708488,8670600
+2000-09-22,10.427083,11.916667,10.416667,11.770833,10.894087,9681600
+2000-09-25,12.135417,12.791667,12.041667,12.614583,11.674989,11689200
+2000-09-26,12.750000,13.062500,12.166667,12.916667,11.954571,8433600
+2000-09-27,12.812500,14.229167,12.812500,13.625000,12.610145,16903200
+2000-09-28,13.500000,14.125000,13.166667,14.041667,12.995776,8345400
+2000-09-29,13.645833,14.166667,13.416667,13.645833,12.629425,9346800
+2000-10-02,13.833333,14.375000,12.979167,13.322917,12.330560,8514600
+2000-10-03,13.395833,13.500000,12.500000,12.604167,11.665348,7506600
+2000-10-04,12.270833,12.666667,12.104167,12.458333,11.530377,10489200
+2000-10-05,12.552083,12.552083,11.906250,12.166667,11.260436,13126200
+2000-10-06,12.197917,12.281250,11.239583,11.406250,10.556657,25679400
+2000-10-09,11.114583,11.833333,10.333333,11.656250,10.788036,16631400
+2000-10-10,11.166667,11.729167,10.666667,10.770833,9.968570,10398600
+2000-10-11,10.114583,11.458333,9.708333,10.864583,10.055337,13394400
+2000-10-12,11.104167,11.750000,10.333333,10.437500,9.660064,10040400
+2000-10-13,10.510417,11.166667,10.398434,10.854167,10.045699,14474400
+2000-10-16,10.854167,10.854167,10.354167,10.604167,9.814318,8480400
+2000-10-17,10.562500,10.604167,9.718750,9.833333,9.100898,11581200
+2000-10-18,9.197917,10.239583,8.760417,9.677083,8.956287,10423800
+2000-10-19,10.302083,10.750000,10.145833,10.614583,9.823956,7372200
+2000-10-20,10.364583,11.875000,10.291667,11.604167,10.739830,9684000
+2000-10-23,11.697917,11.770833,10.979167,11.343750,10.498813,4552800
+2000-10-24,11.291667,11.479167,10.937500,10.979167,10.161384,4849200
+2000-10-25,10.677083,10.833333,9.947917,10.020833,9.274434,9637800
+2000-10-26,10.083333,10.833333,9.375000,10.447917,9.669706,6644400
+2000-10-27,10.458333,10.716133,9.833333,10.208333,9.447967,5274000
+2000-10-30,10.041667,10.268217,9.479167,9.489583,8.782752,4803000
+2000-10-31,9.864583,10.520833,9.562500,10.356767,9.585344,7481400
+2000-11-01,10.104167,10.500000,9.750000,10.354167,9.582939,7613400
+2000-11-02,10.718750,11.416667,10.541667,11.145833,10.315639,4822200
+2000-11-03,11.000000,12.083333,10.916667,11.875000,10.990492,6715800
+2000-11-06,12.156250,13.333333,12.083333,12.791667,11.838880,15876000
+2000-11-07,12.583333,12.583333,11.500000,11.927083,11.038693,6456000
+2000-11-08,12.062500,12.062500,11.395833,11.572917,10.710909,4677000
+2000-11-09,10.875000,11.416667,9.854167,10.364583,9.592580,14113200
+2000-11-10,10.718750,11.250000,9.541667,9.802083,9.071979,20131200
+2000-11-13,9.312500,10.916667,9.000000,9.843750,9.110538,13251000
+2000-11-14,10.500000,11.729167,10.416667,11.645833,10.778393,11768400
+2000-11-15,11.437500,11.802083,10.968750,11.492184,10.636189,10596600
+2000-11-16,11.166667,11.458333,10.666667,10.770833,9.968570,5888400
+2000-11-17,10.854167,11.406250,10.208333,10.562500,9.775755,4469400
+2000-11-20,10.171866,10.177083,9.635417,9.750000,9.023772,7468800
+2000-11-21,10.166667,10.250000,9.062500,9.562500,8.850239,9562800
+2000-11-22,9.166667,9.458333,8.666667,9.062500,8.387482,10243800
+2000-11-24,9.166667,9.937500,9.166667,9.583333,8.869518,4126800
+2000-11-27,10.270833,10.333333,8.877600,9.260417,8.570656,9096600
+2000-11-28,9.401033,9.500000,8.364583,8.570300,7.931941,9558600
+2000-11-29,8.697917,8.708333,7.395833,8.041667,7.442685,15910200
+2000-11-30,7.354167,7.354167,6.062500,6.750000,6.247227,24540600
+2000-12-01,7.166667,8.125000,7.125000,7.416667,6.864238,19602000
+2000-12-04,7.463533,7.708333,6.958333,7.531250,6.970286,11856600
+2000-12-05,8.062500,8.354167,7.312500,8.020833,7.423403,24930600
+2000-12-06,7.864583,8.083333,6.833333,6.875000,6.362917,23773200
+2000-12-07,6.541667,7.114583,6.187500,6.750000,6.247227,19629600
+2000-12-08,7.447917,8.333333,6.752600,8.291667,7.674064,21334800
+2000-12-11,8.020833,8.458333,7.812500,8.291667,7.674064,18940800
+2000-12-12,8.083333,8.229167,7.791667,8.062500,7.461966,10237800
+2000-12-13,8.031250,8.166667,7.291667,7.437500,6.883520,16876800
+2000-12-14,7.385417,7.447917,6.750000,6.927083,6.411121,14225400
+2000-12-15,6.489583,6.895833,6.208333,6.239583,5.774829,27360600
+2000-12-18,6.500000,6.666667,6.354167,6.445300,5.965223,16471800
+2000-12-19,6.541667,7.125000,5.833333,5.958333,5.514528,23655000
+2000-12-20,5.656250,6.479167,5.020833,5.312500,4.916799,27634800
+2000-12-21,5.239583,5.958333,4.583333,4.645833,4.299788,21131400
+2000-12-22,5.020833,6.375000,5.020833,5.843750,5.408479,23727000
+2000-12-26,5.916667,5.979167,5.229167,5.604167,5.186741,8595600
+2000-12-27,5.541667,6.208333,5.312500,5.979167,5.533811,8486400
+2000-12-28,5.739583,6.166667,5.645833,6.010417,5.562732,10480800
+2000-12-29,6.000000,6.197917,5.333333,5.460933,5.054176,12379200
+2001-01-02,5.500000,5.572917,4.968750,4.989583,4.617936,7270200
+2001-01-03,4.833333,6.572917,4.708333,6.520833,6.035130,22759200
+2001-01-04,6.406250,7.437500,6.229167,7.270833,6.729269,20386200
+2001-01-05,7.208333,7.239583,6.041667,6.182283,5.721796,10819200
+2001-01-08,6.010417,7.041667,6.010417,6.770833,6.266510,14344200
+2001-01-09,6.864583,7.041667,6.531250,6.906250,6.391839,7572600
+2001-01-10,6.552083,7.416667,6.395833,7.385417,6.835315,9823200
+2001-01-11,7.208333,8.312500,7.083333,8.000000,7.404121,11191200
+2001-01-12,8.135417,8.625000,7.750000,7.833333,7.249868,16725000
+2001-01-16,7.875000,7.875000,7.093750,7.218750,6.681062,10374600
+2001-01-17,7.770833,8.000000,7.447917,7.479167,6.922081,14814600
+2001-01-18,7.479167,9.125000,7.312500,8.914050,8.250087,23704200
+2001-01-19,9.166667,9.500000,8.541667,8.677083,8.030773,25467600
+2001-01-22,8.416667,8.750000,8.093750,8.333333,7.712626,9442800
+2001-01-23,8.229167,9.333333,8.187500,9.164050,8.481467,10840800
+2001-01-24,9.156250,9.250000,8.593750,9.125000,8.445326,11293200
+2001-01-25,8.812500,8.833333,8.020833,8.208333,7.596938,11000400
+2001-01-26,7.750000,8.567700,7.692700,8.468750,7.837956,6481200
+2001-01-29,8.208333,8.520833,7.916667,8.510417,7.876523,8854200
+2001-01-30,8.645833,8.880200,8.479167,8.697917,8.050054,6093000
+2001-01-31,8.708333,9.041667,8.416667,8.604167,7.963287,8958600
+2001-02-01,8.604167,8.708333,8.229167,8.648434,8.004256,9296400
+2001-02-02,8.656250,8.854167,7.750000,7.812500,7.230587,8013000
+2001-02-05,7.802083,7.854167,7.343750,7.802083,7.220946,9189600
+2001-02-06,7.656250,8.000000,7.638017,7.843750,7.259509,6261000
+2001-02-07,7.791667,7.854167,7.062500,7.479167,6.922081,18009600
+2001-02-08,7.520833,7.947917,7.406250,7.437500,6.883520,9607200
+2001-02-09,7.375000,7.427083,7.114583,7.385417,6.835315,6490200
+2001-02-12,7.302083,7.385417,6.833333,7.187500,6.652139,8858400
+2001-02-13,7.322917,7.750000,7.239583,7.406250,6.854598,11693400
+2001-02-14,7.312500,8.166667,7.000000,7.947917,7.355917,17272200
+2001-02-15,9.041667,9.562500,8.979167,9.406250,8.705626,27712800
+2001-02-16,8.927083,10.166667,8.916667,9.916667,9.178026,27029400
+2001-02-20,9.666667,9.875000,8.916667,8.927083,8.262151,17532600
+2001-02-21,8.593750,9.708333,8.500000,9.333333,8.638139,16162800
+2001-02-22,9.281250,10.000000,9.000000,9.729167,9.004492,20382600
+2001-02-23,9.677083,9.833333,8.750000,9.057283,8.382653,25866600
+2001-02-26,8.791667,9.041667,8.468750,8.854167,8.194665,18795600
+2001-02-27,8.635417,8.979167,8.270833,8.322917,7.702986,13345800
+2001-02-28,8.260417,8.750000,7.291667,7.447917,6.893159,19601400
+2001-03-01,7.354167,8.166667,6.666667,8.036450,7.437856,22882200
+2001-03-02,7.458333,7.989583,7.166667,7.263017,6.722032,35337600
+2001-03-05,6.979167,7.520833,6.937500,7.333333,6.787111,18557400
+2001-03-06,7.708333,8.302083,7.578117,8.041667,7.442685,20860200
+2001-03-07,8.218750,8.708333,8.072917,8.687500,8.040412,23457000
+2001-03-08,8.437500,9.072917,8.437500,8.979167,8.310355,20733600
+2001-03-09,8.510417,8.552083,7.562500,8.343750,7.722268,30419400
+2001-03-12,8.062500,8.437500,7.687500,8.041667,7.442685,19053600
+2001-03-13,8.145833,9.125000,8.104167,9.000000,8.329637,27058800
+2001-03-14,8.593750,9.541667,8.593750,9.510417,8.802034,33778200
+2001-03-15,10.093750,10.622383,9.729167,9.979167,9.235871,46899600
+2001-03-16,9.822917,10.208333,9.531250,9.937500,9.197307,30630000
+2001-03-19,9.885417,10.583333,9.346350,10.510417,9.727550,23597400
+2001-03-20,10.385417,11.041667,9.416667,9.531250,8.821319,49764000
+2001-03-21,9.552083,10.520833,9.500000,10.239583,9.476891,46933800
+2001-03-22,10.333333,11.312500,10.250000,11.270833,10.431326,42444000
+2001-03-23,11.479167,11.687500,10.604167,11.166667,10.334916,37741800
+2001-03-26,11.166667,11.833333,11.166667,11.770833,10.894087,38574000
+2001-03-27,11.541667,11.947917,10.854167,11.343750,10.498813,42553800
+2001-03-28,11.031250,11.645833,11.000000,11.351550,10.506031,35832000
+2001-03-29,11.252600,11.916667,11.020833,11.520833,10.662707,40824000
+2001-03-30,11.437500,11.656250,10.750000,10.820300,10.014354,35579400
+2001-04-02,10.791667,11.052083,10.229167,10.364583,9.592580,31629000
+2001-04-03,10.208333,10.989583,10.197917,10.708333,9.910724,49790400
+2001-04-04,10.302083,10.322917,8.968750,9.604167,8.888803,84061800
+2001-04-05,10.239583,10.656250,9.958333,10.489583,9.708267,43119000
+2001-04-06,10.354167,11.000000,10.177083,10.447917,9.669706,38691600
+2001-04-09,10.650000,10.908334,9.775000,9.940000,9.199619,27429000
+2001-04-10,10.178333,11.200000,10.085000,10.878333,10.068062,29660400
+2001-04-11,11.548333,11.966666,11.216666,11.535000,10.675818,35671800
+2001-04-12,11.321667,12.208333,11.105000,11.708333,10.836239,36006600
+2001-04-16,11.500000,11.741667,11.213333,11.423333,10.572468,19102800
+2001-04-17,11.255000,12.075000,11.250000,11.983334,11.090759,27811200
+2001-04-18,12.488334,14.066667,12.488334,12.876667,11.917553,57546600
+2001-04-19,12.950000,14.205000,12.891666,13.983334,12.941788,40806600
+2001-04-20,13.815000,14.998333,13.450000,14.493333,13.413800,44346000
+2001-04-23,14.178333,14.191667,13.583333,13.728333,12.705780,30975000
+2001-04-24,13.690000,14.715000,12.541667,12.756667,11.806487,45708000
+2001-04-25,12.790000,13.798333,12.741667,13.343333,12.349456,35593200
+2001-04-26,13.633333,13.633333,12.166667,12.291667,11.376124,37150200
+2001-04-27,12.766666,13.221666,12.518333,13.166667,12.185952,22891800
+2001-04-30,13.525000,14.658334,13.238334,13.883333,12.849236,39582000
+2001-05-01,13.933333,15.216666,13.708333,15.180000,14.049319,46684200
+2001-05-02,15.575000,15.575000,14.633333,14.831667,13.726934,38694600
+2001-05-03,14.383333,14.833333,14.293333,14.766666,13.666773,24012600
+2001-05-04,14.333333,15.205000,14.266666,14.970000,13.854959,23838000
+2001-05-07,14.913333,15.750000,14.738334,15.641666,14.476599,24390000
+2001-05-08,15.873333,15.880000,14.376667,14.510000,13.429223,40503600
+2001-05-09,14.048333,14.353333,13.733334,13.830000,12.799874,32976000
+2001-05-10,14.230000,14.398334,13.200000,13.365000,12.369508,24972600
+2001-05-11,13.331667,13.416667,12.756667,13.023334,12.053291,23030400
+2001-05-14,13.061666,13.290000,12.591666,13.135000,12.156641,17560800
+2001-05-15,13.250000,14.166667,13.100000,13.606667,12.593176,31065000
+2001-05-16,13.295000,14.333333,13.210000,14.248333,13.187048,23927400
+2001-05-17,14.295000,14.916667,14.075000,14.500000,13.419971,22976400
+2001-05-18,14.451667,14.833333,14.100000,14.383333,13.311996,14395800
+2001-05-21,14.351666,15.333333,14.063334,15.033334,13.913580,26617200
+2001-05-22,15.253333,15.633333,14.666667,15.483334,14.330060,26249400
+2001-05-23,16.091667,16.666666,15.166667,15.351666,14.208200,56122800
+2001-05-24,15.250000,15.973333,14.791667,15.578333,14.417984,42014400
+2001-05-25,15.265000,15.491667,15.000000,15.283334,14.144956,23698800
+2001-05-29,15.196667,15.200000,14.450000,14.656667,13.564968,23014200
+2001-05-30,14.311666,15.038333,14.233334,14.383333,13.311996,82722600
+2001-05-31,14.498333,14.583333,13.960000,14.268333,13.205561,31573200
+2001-06-01,14.366667,15.180000,14.283334,15.058333,13.936717,25561800
+2001-06-04,15.068334,15.148334,14.626667,14.825000,13.720761,15538800
+2001-06-05,14.808333,15.758333,14.783334,15.603333,14.441122,24679200
+2001-06-06,15.661667,15.875000,15.433333,15.670000,14.502824,17474400
+2001-06-07,15.531667,16.600000,15.416667,16.555000,15.321903,28528800
+2001-06-08,16.504999,16.530001,15.953333,16.125000,14.923932,17817000
+2001-06-11,16.148333,16.166666,15.403334,15.653334,14.487400,14548200
+2001-06-12,15.325000,16.408333,15.291667,16.174999,14.970208,27568200
+2001-06-13,16.293333,16.540001,15.491667,15.631667,14.467347,23467800
+2001-06-14,15.430000,15.865000,15.208333,15.598333,14.436495,23653800
+2001-06-15,15.416667,16.116667,15.130000,15.841666,14.661702,27363600
+2001-06-18,15.801666,16.058332,15.041667,15.215000,14.081714,21416400
+2001-06-19,15.501667,15.863334,14.075000,14.383333,13.311996,37828200
+2001-06-20,14.118333,15.166667,13.825000,15.001667,13.884270,43980000
+2001-06-21,14.941667,15.550000,14.541667,15.285000,14.146498,37114200
+2001-06-22,15.208333,15.615000,15.016666,15.216666,14.083254,19029600
+2001-06-25,15.386666,15.450000,14.743333,15.186666,14.055489,16000800
+2001-06-26,14.850000,15.700000,14.791667,15.625000,14.461173,18948000
+2001-06-27,15.550000,15.583333,14.876667,15.141666,14.013843,22393800
+2001-06-28,15.345000,15.541667,15.166667,15.320000,14.178894,22733400
+2001-06-29,15.375000,15.700000,15.201667,15.458333,14.306922,18273000
+2001-07-02,14.846666,14.971666,14.550000,14.773334,13.672941,26000400
+2001-07-03,14.671667,15.116667,14.596666,14.961667,13.847250,10157400
+2001-07-05,14.783334,14.875000,13.858334,13.876667,12.843067,25502400
+2001-07-06,13.668333,13.775000,13.183333,13.450000,12.448180,20070600
+2001-07-09,13.275000,13.596666,12.883333,13.010000,12.040955,25351800
+2001-07-10,13.183333,13.358334,12.958333,13.116667,12.139672,30543600
+2001-07-11,13.066667,13.301666,12.686666,13.091666,12.116535,22615800
+2001-07-12,13.708333,13.875000,13.375000,13.778334,12.752058,24538800
+2001-07-13,13.676666,13.826667,13.208333,13.493333,12.488284,17253600
+2001-07-16,13.341666,13.500000,12.341666,12.408334,11.484100,29792400
+2001-07-17,12.200000,13.223333,12.083333,13.101666,12.125792,29247600
+2001-07-18,12.790000,13.143333,12.380000,12.648334,11.706226,21024600
+2001-07-19,12.831667,13.386666,12.635000,12.851666,11.894415,21000600
+2001-07-20,12.531667,12.816667,12.083333,12.481667,11.551970,18561600
+2001-07-23,12.500000,12.516666,11.285000,11.300000,10.458320,38699400
+2001-07-24,11.451667,12.075000,11.210000,12.065000,11.166340,34132800
+2001-07-25,12.043333,12.066667,11.546667,11.948334,11.058365,31147200
+2001-07-26,11.835000,13.250000,11.775000,13.166667,12.185952,42853800
+2001-07-27,13.141666,13.645000,12.750000,13.500000,12.494454,27367200
+2001-07-30,13.516666,13.571667,13.033334,13.178333,12.196746,14557200
+2001-07-31,13.196667,13.541667,12.716666,13.483334,12.479029,29694000
+2001-08-01,13.748333,14.376667,13.653334,14.306666,13.241036,30123600
+2001-08-02,14.488334,14.698334,13.998333,14.646667,13.555715,27448200
+2001-08-03,14.500000,14.756667,14.226666,14.531667,13.449279,20508600
+2001-08-06,14.428333,15.120000,14.273334,14.971666,13.856503,32314200
+2001-08-07,14.968333,15.041667,14.575000,14.750000,13.651348,27215400
+2001-08-08,14.621667,15.000000,14.310000,14.375000,13.304278,28142400
+2001-08-09,14.308333,14.590000,13.866667,14.123333,13.071360,41090400
+2001-08-10,14.116667,14.300000,13.683333,14.106667,13.055935,25912200
+2001-08-13,14.348333,14.858334,14.135000,14.698334,13.603531,37869600
+2001-08-14,14.431666,14.525000,14.126667,14.308333,13.242579,58029000
+2001-08-15,14.631667,14.803333,14.198334,14.325000,13.258005,45409800
+2001-08-16,14.061666,14.950000,14.005000,14.928333,13.816398,25652400
+2001-08-17,14.550000,14.740000,13.843333,13.961667,12.921734,41721000
+2001-08-20,13.873333,14.015000,13.440000,13.865000,12.832266,29583000
+2001-08-21,13.900000,14.266666,13.551666,13.573334,12.562328,29666400
+2001-08-22,13.813334,14.146667,13.375000,14.131667,13.079075,37452600
+2001-08-23,14.083333,14.265000,13.750000,13.818334,12.789079,25339800
+2001-08-24,13.966666,14.498333,13.885000,14.213333,13.154656,27773400
+2001-08-27,13.895000,14.893333,13.841666,14.705000,13.609700,31990200
+2001-08-28,14.665000,14.991667,14.400000,14.513333,13.432309,29469000
+2001-08-29,14.553333,14.645000,13.925000,14.046667,13.000402,35895000
+2001-08-30,13.783334,14.100000,13.458333,14.001667,12.958755,35782800
+2001-08-31,13.908334,14.246667,13.725000,14.118333,13.066731,22197600
+2001-09-04,14.080000,14.080000,13.038333,13.136666,12.158184,46403400
+2001-09-05,13.125000,13.516666,12.591666,13.416667,12.417330,59889600
+2001-09-06,13.151667,13.566667,12.808333,12.868333,11.909836,48769200
+2001-09-07,12.666667,13.200000,12.600000,13.003333,12.034780,49256400
+2001-09-10,12.893333,13.091666,12.365000,12.626667,11.686171,46809000
+2001-09-17,11.840000,12.130000,11.273334,11.330000,10.486089,28464900
+2001-09-18,11.550000,11.633333,10.390000,10.646667,9.853652,22359300
+2001-09-19,10.706667,10.830000,9.020000,10.516666,9.733335,39047700
+2001-09-20,9.953333,10.316667,9.333333,9.626667,8.909625,36767400
+2001-09-21,8.883333,9.426666,8.670000,8.990000,8.320382,30657600
+2001-09-24,9.703333,10.146667,9.273334,10.000000,9.255151,37687500
+2001-09-25,10.030000,10.463333,9.580000,9.610000,8.894202,23543100
+2001-09-26,9.733334,9.766666,9.166667,9.263333,8.573357,10770300
+2001-09-27,9.230000,9.333333,8.503333,8.750000,8.098257,22682400
+2001-09-28,9.000000,9.603333,8.616667,9.156667,8.474634,26121900
+2001-10-01,9.150000,9.300000,8.233334,8.380000,7.755816,24320100
+2001-10-02,8.366667,8.700000,7.553333,7.960000,7.367101,28075800
+2001-10-03,7.920000,10.030000,7.920000,9.526667,8.817075,44970600
+2001-10-04,10.033334,11.266666,9.686666,10.763333,9.961626,49514400
+2001-10-05,10.600000,11.230000,10.196667,10.966666,10.149814,26955300
+2001-10-08,10.533334,11.630000,10.533334,11.213333,10.378112,19147500
+2001-10-09,11.243333,11.466666,10.406667,10.726666,9.927691,22938900
+2001-10-10,10.536667,11.500000,10.466666,11.416667,10.566298,24203100
+2001-10-11,12.026667,12.686666,11.963333,12.653334,11.710854,22950000
+2001-10-12,12.333333,13.500000,12.290000,13.476666,12.472858,31327500
+2001-10-15,13.083333,13.833333,12.716666,13.416667,12.417330,22714200
+2001-10-16,13.400000,14.873333,13.123333,14.766666,13.666773,34596300
+2001-10-17,15.093333,15.100000,13.833333,13.900000,12.864659,42388500
+2001-10-18,13.900000,14.623333,13.866667,14.486667,13.407632,25521600
+2001-10-19,14.280000,15.000000,14.100000,14.786667,13.685285,26481600
+2001-10-22,14.676666,15.333333,14.350000,15.136666,14.009214,24270600
+2001-10-23,15.330000,15.603333,14.533334,14.870000,13.762410,23825700
+2001-10-24,14.600000,15.563334,14.433333,15.526667,14.370166,30303600
+2001-10-25,15.166667,16.713333,14.933333,16.436666,15.212382,28809900
+2001-10-26,16.323334,16.813334,15.166667,15.263333,14.126447,27428100
+2001-10-29,15.316667,15.583333,14.006667,14.023334,12.978809,25119900
+2001-10-30,13.766666,14.646667,13.450000,14.000000,12.957211,28834500
+2001-10-31,14.523334,14.916667,14.083333,14.286667,13.222528,24732300
+2001-11-01,14.470000,15.623333,14.250000,15.506667,14.351655,27344400
+2001-11-02,15.436666,15.913333,14.866667,15.723333,14.552183,27181200
+2001-11-05,15.996667,16.433332,15.680000,15.780000,14.604630,23336400
+2001-11-06,15.750000,16.936666,15.666667,16.863333,15.607271,35384400
+2001-11-07,16.733334,17.526667,16.636667,16.876667,15.619611,35478600
+2001-11-08,17.086666,17.313334,16.083334,16.583334,15.348127,47879700
+2001-11-09,17.316668,17.746666,16.996666,17.733334,16.412470,56762100
+2001-11-12,17.666666,18.663334,17.126667,18.209999,16.853632,36465900
+2001-11-13,18.266666,18.270000,17.799999,18.059999,16.714800,36162900
+2001-11-14,18.193333,18.366667,17.066668,17.556667,16.248960,28755600
+2001-11-15,17.356667,17.889999,17.136667,17.650000,16.335339,21873600
+2001-11-16,17.666666,17.853333,17.260000,17.496666,16.193436,12403200
+2001-11-19,17.670000,17.833334,16.166666,17.113333,15.838648,48576300
+2001-11-20,17.196667,17.496666,16.443333,16.633333,15.394403,23447100
+2001-11-21,16.353333,16.856667,15.933333,16.420000,15.196957,18210300
+2001-11-23,16.483334,16.666666,16.200001,16.650000,15.409825,6350400
+2001-11-26,16.930000,17.863333,16.883333,17.840000,16.511189,30394500
+2001-11-27,17.830000,18.433332,17.500000,18.030001,16.687037,29599800
+2001-11-28,17.799999,18.096666,17.080000,17.120001,15.844821,18521100
+2001-11-29,18.363333,18.456667,17.799999,17.870001,16.538958,128386800
+2001-11-30,17.863333,18.343334,17.600000,18.213333,16.856716,25850700
+2001-12-03,17.830000,18.053333,17.616667,17.936666,16.600655,21287400
+2001-12-04,18.026667,19.400000,18.026667,19.379999,17.936481,34616100
+2001-12-05,19.533333,20.983334,19.516666,20.943333,19.383369,42675900
+2001-12-06,20.780001,20.833334,20.090000,20.613333,19.077955,28473600
+2001-12-07,20.459999,20.646667,19.626667,19.983334,18.494877,20175900
+2001-12-10,19.883333,20.639999,19.716667,20.183332,18.679981,17396700
+2001-12-11,20.536667,21.383333,20.333334,20.906666,19.349432,19806300
+2001-12-12,21.066668,21.566668,20.660000,21.556667,19.951023,25115700
+2001-12-13,21.133333,21.403334,20.853333,20.936666,19.377203,22035000
+2001-12-14,20.933332,21.983334,20.836666,21.879999,20.250271,18867000
+2001-12-17,21.713333,22.983334,21.713333,22.666666,20.978340,27024000
+2001-12-18,22.170000,22.483334,21.896667,22.083334,20.438459,22174200
+2001-12-19,21.719999,22.163334,21.396667,21.480000,19.880068,21366300
+2001-12-20,21.566668,21.956667,20.556667,20.633333,19.096462,23780700
+2001-12-21,21.083334,21.666666,20.840000,21.526667,19.923252,18099300
+2001-12-24,21.516666,22.173334,21.506666,22.063334,20.419950,6632700
+2001-12-26,22.173334,22.980000,22.170000,22.603333,20.919725,16053900
+2001-12-27,22.799999,23.230000,22.766666,23.126667,21.404083,18253800
+2001-12-28,23.263334,23.416666,22.346666,22.570000,20.888874,18942000
+2001-12-31,22.736666,22.866667,22.250000,22.299999,20.638985,18439500
+2002-01-02,22.396667,22.816668,21.833334,22.433332,20.762388,32472600
+2002-01-03,22.480000,24.000000,22.466667,23.903334,22.122898,35368800
+2002-01-04,24.219999,24.219999,22.799999,23.206667,21.478121,23407200
+2002-01-07,23.299999,23.333334,22.270000,22.583334,20.901218,24326700
+2002-01-08,22.536667,23.393333,22.459999,22.850000,21.148024,19359000
+2002-01-09,23.166666,23.583334,22.216667,22.536667,20.858028,28529700
+2002-01-10,22.416666,22.723333,21.799999,21.996666,20.358252,24812700
+2002-01-11,22.143333,22.150000,20.936666,21.023333,19.457413,34521300
+2002-01-14,20.976667,21.123333,19.920000,19.920000,18.436260,34239000
+2002-01-15,20.750000,21.793333,20.726667,21.780001,20.157722,45970200
+2002-01-16,21.483334,21.623333,20.850000,20.930000,19.371033,27884700
+2002-01-17,21.623333,21.666666,20.840000,21.663334,20.049744,28038600
+2002-01-18,20.846666,21.416666,20.833334,21.266666,19.682619,20091900
+2002-01-22,21.466667,21.523333,20.493334,20.733334,19.189013,27125700
+2002-01-23,20.920000,21.273333,20.506666,21.123333,19.549963,22229100
+2002-01-24,21.333334,22.100000,20.883333,21.879999,20.250271,28442100
+2002-01-25,21.566668,22.366667,21.299999,21.823334,20.197832,20443800
+2002-01-28,22.250000,22.666666,22.030001,22.663334,20.975264,23107200
+2002-01-29,22.716667,22.783333,21.200001,21.553333,19.947937,34548300
+2002-01-30,21.666666,21.830000,21.150000,21.813334,20.188572,30461400
+2002-01-31,22.096666,22.266666,21.183332,21.913334,20.281124,24349500
+2002-02-01,21.876667,22.110001,21.250000,21.376667,19.784428,17206800
+2002-02-04,21.330000,21.850000,20.336666,20.370001,18.852745,27621600
+2002-02-05,20.233334,20.410000,19.376667,20.170000,18.667641,36865500
+2002-02-06,20.703333,21.030001,20.299999,20.673334,19.133480,31063200
+2002-02-07,20.700001,20.700001,19.906666,20.003334,18.513390,24111900
+2002-02-08,20.136667,20.250000,18.476667,19.240000,17.806911,46782300
+2002-02-11,19.209999,20.333334,19.139999,20.303333,18.791044,31230600
+2002-02-12,19.996666,21.116667,19.766666,20.733334,19.189013,30412500
+2002-02-13,21.000000,21.353333,20.266666,20.466667,18.942211,30760800
+2002-02-14,20.639999,21.150000,20.379999,20.719999,19.176670,30642300
+2002-02-15,19.766666,19.883333,18.916666,19.116667,17.692762,99713700
+2002-02-19,18.299999,18.490000,17.703333,17.850000,16.520443,49313100
+2002-02-20,17.533333,18.983334,17.500000,18.783333,17.384262,45968400
+2002-02-21,18.526667,18.533333,17.476667,17.500000,16.196514,38276100
+2002-02-22,17.150000,17.350000,16.416666,16.639999,15.400569,64640400
+2002-02-25,16.716667,18.073334,16.713333,17.943333,16.606827,39989100
+2002-02-26,18.336666,18.650000,17.850000,18.333334,16.967775,47566800
+2002-02-27,18.750000,18.830000,17.666666,17.716667,16.397041,43080600
+2002-02-28,17.600000,17.916666,16.853333,17.003334,15.736845,39636000
+2002-03-01,17.166666,18.666666,17.116667,18.646667,17.257771,32784900
+2002-03-04,18.703333,19.900000,18.523333,19.686666,18.220312,37118100
+2002-03-05,19.383333,20.163334,19.366667,19.636667,18.174030,34486200
+2002-03-06,19.049999,19.243334,18.610001,19.020000,17.603296,36151500
+2002-03-07,19.290001,19.353333,18.340000,18.866667,17.461386,33663300
+2002-03-08,19.226667,19.830000,19.133333,19.430000,17.982759,31758900
+2002-03-11,19.216667,19.430000,18.883333,19.203333,17.772972,20263500
+2002-03-12,18.616667,18.716667,18.066668,18.196667,16.841291,31375800
+2002-03-13,18.026667,18.156666,17.799999,17.866667,16.535868,25790400
+2002-03-14,17.733334,17.733334,16.840000,16.876667,15.619611,28486500
+2002-03-15,16.996666,17.610001,16.673334,17.590000,16.279812,31207200
+2002-03-18,17.910000,18.296667,17.389999,17.590000,16.279812,30924900
+2002-03-19,17.716667,17.750000,17.113333,17.216667,15.934286,21151800
+2002-03-20,16.933332,16.966667,15.450000,15.506667,14.351655,57314700
+2002-03-21,15.770000,16.516666,15.353333,16.330000,15.113661,43042800
+2002-03-22,16.623333,16.623333,16.066668,16.190001,14.984091,31228500
+2002-03-25,16.113333,16.133333,15.333333,15.353333,14.209741,22104000
+2002-03-26,15.193334,16.056667,15.106667,15.666667,14.499737,28087800
+2002-03-27,15.426666,15.740000,14.900000,15.166667,14.036982,26700300
+2002-03-28,15.270000,15.366667,13.956667,14.786667,13.685285,78102000
+2002-04-01,13.966666,14.656667,13.520000,14.543333,13.460077,59133600
+2002-04-02,14.106667,14.896667,14.080000,14.163333,13.108379,35950200
+2002-04-03,14.226666,14.613334,13.933333,14.430000,13.355184,27366000
+2002-04-04,14.320000,14.850000,14.123333,14.360000,13.290398,28274100
+2002-04-05,14.453333,14.686666,13.886666,14.033334,12.988063,25672500
+2002-04-08,13.383333,14.503333,13.380000,14.503333,13.423056,28782900
+2002-04-09,14.646667,14.766666,13.553333,13.586667,12.574666,34519200
+2002-04-10,13.696667,13.800000,11.866667,12.836667,11.880532,92243100
+2002-04-11,12.733334,12.896667,12.133333,12.273334,11.359158,35932200
+2002-04-12,12.546667,12.646667,11.843333,12.226666,11.315964,34422000
+2002-04-15,12.463333,12.930000,12.433333,12.720000,11.772552,28930200
+2002-04-16,13.290000,13.426666,13.013333,13.273334,12.284669,21371400
+2002-04-17,13.430000,13.626667,13.010000,13.430000,12.429671,23612100
+2002-04-18,13.293333,13.436666,12.916667,13.206667,12.222973,17328900
+2002-04-19,12.760000,12.916667,12.290000,12.306666,11.390006,28141800
+2002-04-22,12.170000,12.616667,12.166667,12.366667,11.445538,20204400
+2002-04-23,12.463333,12.606667,11.756667,11.866667,10.982780,19337700
+2002-04-24,12.003333,12.180000,10.796667,10.826667,10.020245,39573900
+2002-04-25,10.783334,11.463333,10.780000,11.246667,10.408962,29207400
+2002-04-26,11.370000,11.383333,10.123333,10.123333,9.369297,29778000
+2002-04-29,11.320000,11.980000,10.940000,11.810000,10.930335,98271300
+2002-04-30,12.090000,12.250000,11.350000,11.603333,10.739060,44412600
+2002-05-01,11.413333,11.976666,11.116667,11.813334,10.933418,42972600
+2002-05-02,11.870000,12.163333,11.333333,11.336667,10.492259,28127100
+2002-05-03,11.350000,11.436666,10.860000,10.916667,10.103540,21318900
+2002-05-06,10.633333,11.133333,10.413333,10.500000,9.717910,27551100
+2002-05-07,10.733334,10.956667,10.236667,10.763333,9.961626,35311200
+2002-05-08,11.496667,12.186666,11.133333,12.000000,11.106183,42217200
+2002-05-09,11.963333,12.210000,11.466666,11.486667,10.631083,30771000
+2002-05-10,11.723333,11.766666,10.500000,10.626667,9.835141,33038700
+2002-05-13,10.736667,11.306666,10.646667,11.270000,10.430556,20022300
+2002-05-14,11.990000,12.516666,11.783334,12.390000,11.467134,38152800
+2002-05-15,12.200000,12.866667,12.030000,12.633333,11.692340,37613700
+2002-05-16,12.636666,12.916667,12.380000,12.656667,11.713936,24639000
+2002-05-17,13.000000,13.093333,12.676666,13.056666,12.084144,23360100
+2002-05-20,12.946667,13.283334,12.886666,13.196667,12.213715,23835300
+2002-05-21,13.366667,13.550000,12.176666,12.190000,11.282030,34565100
+2002-05-22,12.286667,12.756667,12.266666,12.683333,11.738618,38699700
+2002-05-23,12.720000,12.746667,11.533334,11.910000,11.022884,63919500
+2002-05-24,11.683333,11.743333,11.406667,11.676666,10.806932,18444600
+2002-05-28,11.780000,11.786667,10.980000,11.213333,10.378112,34177200
+2002-05-29,11.033334,11.683333,10.863334,11.636666,10.769912,32775300
+2002-05-30,11.400000,11.743333,11.176666,11.466666,10.612573,26652000
+2002-05-31,11.533334,11.583333,11.133333,11.153334,10.322577,16852800
+2002-06-03,10.883333,10.933333,10.363334,10.496667,9.714825,22531200
+2002-06-04,10.430000,11.083333,10.413333,11.026667,10.205348,27385800
+2002-06-05,11.050000,11.053333,10.483334,10.866667,10.057265,27857700
+2002-06-06,10.753333,11.016666,10.750000,10.870000,10.060352,18483900
+2002-06-07,9.986667,10.900000,9.983334,10.766666,9.964713,34282500
+2002-06-10,10.910000,11.213333,10.650000,10.676666,9.881415,18728700
+2002-06-11,10.853333,10.900000,10.170000,10.196667,9.437170,21482700
+2002-06-12,9.953333,10.133333,8.890000,9.316667,8.622714,56688600
+2002-06-13,9.386666,9.560000,8.926666,9.220000,8.533250,31647300
+2002-06-14,8.880000,9.463333,8.580000,9.393333,8.693673,27911100
+2002-06-17,9.603333,9.726666,9.313334,9.476666,8.770797,26353500
+2002-06-18,9.360000,9.700000,9.250000,9.426666,8.724523,25207500
+2002-06-19,8.966666,8.966666,7.880000,7.950000,7.357846,64840500
+2002-06-20,7.966667,8.183333,7.773334,7.876667,7.289974,35626200
+2002-06-21,7.836667,8.140000,7.393333,7.553333,6.990725,37109100
+2002-06-24,7.360000,7.930000,7.133333,7.693333,7.120296,34489800
+2002-06-25,7.833333,7.833333,7.010000,7.056667,6.531053,29305800
+2002-06-26,6.256667,6.926667,6.083333,6.690000,6.191697,51695700
+2002-06-27,6.936666,6.990000,5.600000,5.693333,5.269266,79570200
+2002-06-28,5.600000,5.963333,5.476666,5.726666,5.300117,49779600
+2002-07-01,5.700000,5.866667,5.593333,5.713333,5.287776,29109300
+2002-07-02,5.646667,5.666667,5.206666,5.353333,4.954590,34204500
+2002-07-03,5.320000,5.826667,5.316667,5.816667,5.383414,26832600
+2002-07-05,6.233333,6.333333,6.053333,6.330000,5.858512,18488100
+2002-07-08,6.256667,6.746666,6.250000,6.520000,6.034359,39679500
+2002-07-09,6.536667,6.620000,6.060000,6.200000,5.738194,26877000
+2002-07-10,6.350000,6.400000,5.986667,6.030000,5.580856,23174700
+2002-07-11,5.996666,6.666667,5.943333,6.643333,6.148506,28598700
+2002-07-12,7.000000,7.026667,6.500000,6.636667,6.142334,33622500
+2002-07-15,6.653333,7.300000,6.353333,7.296667,6.753175,37381800
+2002-07-16,7.116667,7.783333,6.983333,7.100000,6.571157,44335800
+2002-07-17,6.946667,7.083333,6.220000,6.496666,6.012763,48059100
+2002-07-18,6.390000,6.766667,6.313334,6.330000,5.858512,31079700
+2002-07-19,6.136667,6.380000,6.000000,6.043334,5.593197,21144300
+2002-07-22,6.016667,6.186666,5.516667,5.763333,5.334052,32268600
+2002-07-23,5.796667,5.833333,5.136667,5.333333,4.936082,35241300
+2002-07-24,5.260000,5.760000,5.256667,5.673333,5.250755,29377500
+2002-07-25,5.453333,5.470000,4.836667,5.020000,4.646086,44911200
+2002-07-26,5.166667,5.286667,4.766667,4.903333,4.538109,30547500
+2002-07-29,5.106667,5.133333,4.876667,5.040000,4.664597,30693000
+2002-07-30,5.016667,5.660000,5.000000,5.406667,5.003953,45450300
+2002-07-31,3.940000,4.020000,3.646667,3.690000,3.415151,120928500
+2002-08-01,3.720000,3.720000,3.333333,3.336667,3.088135,43142700
+2002-08-02,3.443333,3.466667,3.033333,3.116667,2.884522,44881500
+2002-08-05,3.070000,3.076667,2.830000,2.866667,2.653143,33267900
+2002-08-06,3.000000,3.130000,2.953333,3.016667,2.791971,29220000
+2002-08-07,3.150000,3.180000,2.833333,2.946667,2.727185,22324500
+2002-08-08,2.976667,3.193333,2.900000,3.140000,2.906118,18885600
+2002-08-09,3.056667,3.166667,3.003333,3.066667,2.838246,14532600
+2002-08-12,3.033333,3.183333,2.953333,3.066667,2.838246,14820000
+2002-08-13,3.086667,3.236667,3.000000,3.003333,2.779630,16360500
+2002-08-14,3.060000,3.233333,3.033333,3.206667,2.967819,15817200
+2002-08-15,3.326667,3.496667,3.293333,3.430000,3.174517,28503000
+2002-08-16,3.246667,3.683333,3.146667,3.563333,3.297919,41435700
+2002-08-19,3.716667,4.483333,3.710000,4.216667,3.902589,56098200
+2002-08-20,4.250000,4.333333,3.976667,4.030000,3.729826,35737200
+2002-08-21,4.213333,4.296667,4.016667,4.243333,3.927269,29871900
+2002-08-22,4.116667,4.283333,4.073333,4.100000,3.794612,33962400
+2002-08-23,3.983333,4.010000,3.806667,3.830000,3.544724,22998300
+2002-08-26,3.903333,3.930000,3.680000,3.860000,3.572488,17464200
+2002-08-27,3.926667,3.946667,3.616667,3.640000,3.368876,17167800
+2002-08-28,3.620000,3.626667,3.400000,3.413333,3.159091,17508900
+2002-08-29,3.370000,3.613333,3.343333,3.456667,3.199198,20388000
+2002-08-30,3.423333,3.566667,3.300000,3.366667,3.115901,26647200
+2002-09-03,3.206667,3.223333,3.106667,3.160000,2.924628,21182100
+2002-09-04,3.170000,3.253333,3.003333,3.140000,2.906118,23263800
+2002-09-05,3.110000,3.123333,3.000000,3.020000,2.795055,17857800
+2002-09-06,3.146667,3.173333,3.040000,3.086667,2.856757,18661500
+2002-09-09,3.063333,3.180000,2.970000,3.083333,2.853672,14451000
+2002-09-10,3.066667,3.683333,3.063333,3.523333,3.260899,57940800
+2002-09-11,3.633333,3.966667,3.633333,3.696667,3.421321,41438400
+2002-09-12,3.606667,3.803333,3.540000,3.580000,3.313344,32373300
+2002-09-13,3.543333,3.713333,3.500000,3.523333,3.260899,19921800
+2002-09-16,3.470000,3.483333,3.216667,3.300000,3.054200,23136600
+2002-09-17,3.446667,3.530000,3.230000,3.250000,3.007924,22101300
+2002-09-18,3.200000,3.263333,3.063333,3.160000,2.924628,20292300
+2002-09-19,3.090000,3.200000,3.036667,3.053333,2.825907,15462300
+2002-09-20,3.076667,3.140000,3.003333,3.070000,2.841331,17182800
+2002-09-23,3.020000,3.050000,2.916667,2.936667,2.717930,13041900
+2002-09-24,2.903333,3.100000,2.850000,2.960000,2.739525,15611100
+2002-09-25,3.133333,3.183333,3.010000,3.123333,2.890692,22415400
+2002-09-26,3.183333,3.216667,2.910000,2.956667,2.736439,18489000
+2002-09-27,2.950000,3.026667,2.850000,2.853333,2.640803,16267200
+2002-09-30,2.843333,2.976667,2.783333,2.853333,2.640803,14603100
+2002-10-01,2.876667,3.033333,2.773333,3.006667,2.782716,22209000
+2002-10-02,3.030000,3.183333,3.003333,3.003333,2.779630,18727500
+2002-10-03,2.966667,3.016667,2.850000,2.856667,2.643888,14764200
+2002-10-04,2.850000,2.940000,2.666667,2.713333,2.511231,13244700
+2002-10-07,2.676667,2.730000,2.560000,2.580000,2.387829,12326700
+2002-10-08,2.666667,2.673333,2.400000,2.503333,2.316873,17856300
+2002-10-09,2.466667,2.626667,2.413333,2.456667,2.273682,14328300
+2002-10-10,2.433333,2.663333,2.433333,2.583333,2.390915,13450800
+2002-10-11,2.683333,2.983333,2.666667,2.936667,2.717930,24853500
+2002-10-14,2.850000,2.936667,2.790000,2.850000,2.637718,15287100
+2002-10-15,3.166667,3.280000,3.103333,3.146667,2.912287,21319200
+2002-10-16,2.933333,2.960000,2.833333,2.883333,2.668568,14453100
+2002-10-17,3.133333,3.250000,3.056667,3.103333,2.872182,14644800
+2002-10-18,3.086667,3.166667,2.970000,3.133333,2.899947,12459300
+2002-10-21,3.090000,3.530000,3.020000,3.416667,3.162177,23265600
+2002-10-22,3.260000,3.733333,3.256667,3.530000,3.267068,31804200
+2002-10-23,3.583333,3.723333,3.533333,3.673333,3.399726,23135700
+2002-10-24,3.746667,3.786667,3.433333,3.486667,3.226963,26379300
+2002-10-25,3.500000,3.716667,3.453333,3.700000,3.424406,18648900
+2002-10-28,3.870000,3.900000,3.696667,3.720000,3.442916,26763600
+2002-10-29,3.726667,3.753333,3.370000,3.556667,3.291749,19318200
+2002-10-30,3.670000,3.866667,3.656667,3.746667,3.467597,28487400
+2002-10-31,3.773333,3.993333,3.763333,3.966667,3.671210,31386900
+2002-11-01,3.906667,4.756667,3.900000,4.700000,4.349922,53220900
+2002-11-04,4.983333,5.503334,4.970000,5.213333,4.825018,67203300
+2002-11-05,5.200000,5.286667,4.783333,5.006667,4.633745,50863500
+2002-11-06,5.176667,5.400000,4.973333,5.393333,4.991611,41150400
+2002-11-07,5.253334,5.253334,4.820000,4.850000,4.488749,41514000
+2002-11-08,4.100000,4.343333,3.670000,3.786667,3.504618,94972500
+2002-11-11,3.606667,3.660000,3.406667,3.493333,3.233133,34461300
+2002-11-12,3.576667,3.933333,3.546667,3.803333,3.520042,34529700
+2002-11-13,3.713333,4.033333,3.640000,3.923333,3.631104,45052800
+2002-11-14,4.183333,4.263333,4.056667,4.183333,3.871738,28468200
+2002-11-15,4.400000,4.636667,4.350000,4.490000,4.155563,51358200
+2002-11-18,4.850000,4.866667,4.643333,4.656667,4.309816,49561800
+2002-11-19,4.630000,4.960000,4.580000,4.723333,4.371515,49298700
+2002-11-20,4.866667,5.000000,4.803333,4.960000,4.590555,32319900
+2002-11-21,5.160000,5.626667,5.150000,5.380000,4.979271,51348000
+2002-11-22,5.053333,5.346667,5.000000,5.240000,4.849699,31297500
+2002-11-25,5.483333,5.563334,5.270000,5.430000,5.025548,30752100
+2002-11-26,5.456666,5.563334,5.266667,5.283333,4.889805,27108300
+2002-11-27,5.506667,5.786667,5.436666,5.693333,5.269266,27213900
+2002-11-29,5.843333,5.926667,5.666667,5.710000,5.284691,12984900
+2002-12-02,6.013333,6.090000,5.640000,5.666667,5.244585,29187600
+2002-12-03,5.560000,5.573333,5.283333,5.293334,4.899061,26155500
+2002-12-04,4.920000,5.000000,4.643333,4.660000,4.312899,55163700
+2002-12-05,4.960000,4.993333,4.590000,4.703333,4.353006,39871800
+2002-12-06,4.500000,4.800000,4.426667,4.710000,4.359177,28980600
+2002-12-09,4.556667,4.630000,4.296667,4.333333,4.010565,24244800
+2002-12-10,4.443333,4.783333,4.386667,4.696667,4.346837,34747200
+2002-12-11,4.663333,4.800000,4.506667,4.670000,4.322156,34105200
+2002-12-12,4.843333,4.900000,4.583333,4.593333,4.251200,32563800
+2002-12-13,4.510000,4.510000,4.380000,4.413333,4.084607,17693100
+2002-12-16,4.566667,4.700000,4.450000,4.673333,4.325241,26424300
+2002-12-17,4.756667,4.916667,4.630000,4.666667,4.319069,26943600
+2002-12-18,4.520000,4.526667,4.300000,4.310000,3.988971,28170900
+2002-12-19,4.233333,4.456666,4.173333,4.216667,3.902589,27515100
+2002-12-20,4.350000,4.396667,4.063334,4.273334,3.955034,20114400
+2002-12-23,4.263333,4.406667,4.250000,4.303333,3.982800,12466200
+2002-12-24,4.326667,4.413333,4.193333,4.216667,3.902589,7508400
+2002-12-26,4.286667,4.350000,4.103333,4.140000,3.831633,17994000
+2002-12-27,4.253334,4.263333,3.946667,3.983333,3.686635,17563200
+2002-12-30,4.000000,4.043334,3.753333,3.843333,3.557063,19618500
+2002-12-31,3.803333,3.933333,3.730000,3.836667,3.550893,20634900
+2003-01-02,4.000000,4.150000,3.863333,4.103333,3.797697,32563500
+2003-01-03,4.116667,4.250000,4.033333,4.103333,3.797697,25937400
+2003-01-06,4.203333,4.503334,4.200000,4.436666,4.106203,25835700
+2003-01-07,4.523334,4.626667,4.373333,4.423333,4.093863,37456800
+2003-01-08,4.310000,4.436666,3.953333,3.983333,3.686635,46313100
+2003-01-09,4.106667,4.150000,4.013333,4.053333,3.751420,35901900
+2003-01-10,4.000000,4.183333,3.946667,4.123333,3.816208,23112300
+2003-01-13,4.280000,4.316667,4.070000,4.090000,3.785357,21228000
+2003-01-14,4.103333,4.160000,3.996667,4.120000,3.813123,21713100
+2003-01-15,4.123333,4.156667,3.993333,3.993333,3.695891,22614600
+2003-01-16,3.933333,3.983333,3.670000,3.723333,3.446002,50999400
+2003-01-17,3.623333,3.673333,3.536667,3.583333,3.316429,26470800
+2003-01-21,3.650000,3.726667,3.483333,3.493333,3.233133,24183900
+2003-01-22,3.483333,3.586667,3.473333,3.496667,3.236218,13774800
+2003-01-23,3.590000,3.650000,3.496667,3.593333,3.325685,22961400
+2003-01-24,3.563333,3.580000,3.330000,3.390000,3.137496,22427700
+2003-01-27,3.316667,3.490000,3.256667,3.340000,3.091220,22227900
+2003-01-28,3.296667,3.523333,3.186667,3.460000,3.202282,44637000
+2003-01-29,3.366667,3.556667,3.366667,3.530000,3.267068,25551000
+2003-01-30,3.600000,3.630000,3.350000,3.386667,3.134412,18576600
+2003-01-31,3.286667,3.533333,3.256667,3.440000,3.183773,23741400
+2003-02-03,3.503333,3.573333,3.433333,3.506667,3.245473,18888900
+2003-02-04,3.483333,3.500000,3.300000,3.350000,3.100476,15693000
+2003-02-05,3.423333,3.516667,3.366667,3.380000,3.128241,14537700
+2003-02-06,3.613333,3.620000,3.350000,3.406667,3.152921,30654600
+2003-02-07,3.473333,3.490000,3.246667,3.253333,3.011009,22878900
+2003-02-10,3.250000,3.316667,3.110000,3.293333,3.048030,24565800
+2003-02-11,3.320000,3.416667,3.216667,3.233333,2.992499,21267900
+2003-02-12,3.233333,3.370000,3.206667,3.250000,3.007924,16035000
+2003-02-13,3.306667,3.323333,3.216667,3.290000,3.044945,22229100
+2003-02-14,3.740000,4.016667,3.650000,4.013333,3.714401,88721100
+2003-02-18,4.166667,4.323333,4.116667,4.243333,3.927269,43512900
+2003-02-19,4.216667,4.310000,4.170000,4.283333,3.964290,28530300
+2003-02-20,4.300000,4.413333,4.266667,4.283333,3.964290,24453300
+2003-02-21,4.280000,4.296667,4.133333,4.286667,3.967376,22831500
+2003-02-24,4.250000,4.496666,4.226666,4.340000,4.016736,28425300
+2003-02-25,4.200000,4.333333,4.133333,4.313334,3.992056,30980100
+2003-02-26,4.256667,4.326667,4.093333,4.103333,3.797697,18672300
+2003-02-27,4.143333,4.210000,4.076667,4.190000,3.877908,16882800
+2003-02-28,4.060000,4.216667,3.940000,4.206666,3.893335,41333400
+2003-03-03,4.256667,4.333333,4.083333,4.136667,3.828548,17550900
+2003-03-04,4.150000,4.190000,4.063334,4.103333,3.797697,13459800
+2003-03-05,4.063334,4.193333,4.053333,4.170000,3.859399,13053900
+2003-03-06,4.136667,4.176667,4.083333,4.100000,3.794612,13701600
+2003-03-07,4.036667,4.176667,4.000000,4.163333,3.853228,14528700
+2003-03-10,4.120000,4.140000,4.040000,4.046667,3.745251,8619900
+2003-03-11,4.076667,4.143333,4.030000,4.076667,3.773017,10428600
+2003-03-12,4.110000,4.200000,4.073333,4.190000,3.877908,12348000
+2003-03-13,4.313334,4.633333,4.293334,4.606667,4.263539,34068300
+2003-03-14,4.623333,4.666667,4.440000,4.473333,4.140139,27355500
+2003-03-17,4.400000,4.823333,4.390000,4.733333,4.380772,32695200
+2003-03-18,4.716667,4.770000,4.600000,4.696667,4.346837,23307000
+2003-03-19,4.706666,4.753334,4.553333,4.720000,4.368432,17824800
+2003-03-20,4.720000,4.863333,4.596667,4.763333,4.408537,19501500
+2003-03-21,4.926667,4.943333,4.506667,4.720000,4.368432,42045000
+2003-03-24,4.526667,4.666667,4.500000,4.543334,4.204923,20975400
+2003-03-25,4.556667,4.743333,4.540000,4.673333,4.325241,16820700
+2003-03-26,4.776667,4.883333,4.740000,4.803333,4.445557,27696000
+2003-03-27,4.740000,4.840000,4.653333,4.666667,4.319069,34818300
+2003-03-28,4.666667,4.683333,4.403333,4.476666,4.143223,32267100
+2003-03-31,4.340000,4.393333,4.273334,4.293334,3.973545,17012700
+2003-04-01,4.383333,4.466667,4.286667,4.420000,4.090778,13345200
+2003-04-02,4.570000,4.660000,4.510000,4.583333,4.241944,19297500
+2003-04-03,4.666667,4.666667,4.546667,4.643333,4.297476,17569500
+2003-04-04,4.656667,4.663333,4.443333,4.463333,4.130882,12846000
+2003-04-07,4.763333,4.800000,4.466667,4.510000,4.174074,16781400
+2003-04-08,4.550000,4.573333,4.436666,4.466667,4.133967,11875800
+2003-04-09,4.483333,4.603333,4.436666,4.443333,4.112372,17356500
+2003-04-10,4.503334,4.510000,4.423333,4.466667,4.133967,9102600
+2003-04-11,4.516667,4.553333,4.373333,4.416667,4.087693,9354600
+2003-04-14,4.350000,4.506667,4.336667,4.493333,4.158648,11144400
+2003-04-15,4.463333,4.526667,4.353333,4.470000,4.137052,12255300
+2003-04-16,4.573333,4.583333,4.433333,4.470000,4.137052,16799700
+2003-04-17,4.503334,4.560000,4.410000,4.550000,4.211094,13018500
+2003-04-21,4.556667,4.680000,4.513333,4.666667,4.319069,14928600
+2003-04-22,4.643333,4.730000,4.566667,4.726666,4.374602,19684800
+2003-04-23,4.720000,4.863333,4.683333,4.833333,4.473323,15155100
+2003-04-24,4.836667,4.836667,4.626667,4.690000,4.340666,16522800
+2003-04-25,4.663333,4.743333,4.473333,4.516667,4.180245,22116300
+2003-04-28,4.570000,4.736667,4.516667,4.653333,4.306731,16874700
+2003-04-29,4.760000,4.863333,4.723333,4.796667,4.439387,16758600
+2003-04-30,4.770000,4.900000,4.750000,4.776667,4.420877,11665500
+2003-05-01,4.743333,4.853333,4.716667,4.806667,4.448643,18334200
+2003-05-02,4.870000,5.333333,4.843333,5.300000,4.905230,42277200
+2003-05-05,5.350000,5.680000,5.253334,5.430000,5.025548,39404100
+2003-05-06,5.403333,5.576667,5.350000,5.436666,5.031717,28596600
+2003-05-07,5.356667,5.483333,5.256667,5.350000,4.951506,22434300
+2003-05-08,5.283333,5.566667,5.216667,5.353333,4.954590,48936300
+2003-05-09,6.276667,7.176667,6.100000,7.123333,6.592753,230771400
+2003-05-12,7.140000,7.300000,6.866667,6.923333,6.407650,75196500
+2003-05-13,6.686666,6.900000,6.646667,6.793334,6.287333,45602700
+2003-05-14,6.816667,6.900000,6.700000,6.786667,6.281164,24139500
+2003-05-15,6.886667,7.033333,6.850000,7.020000,6.497116,27641400
+2003-05-16,6.933333,7.210000,6.923333,7.086667,6.558818,25722900
+2003-05-19,6.993333,7.060000,6.603333,6.686666,6.188612,30512100
+2003-05-20,6.696667,6.783333,6.666667,6.733333,6.231802,22103100
+2003-05-21,6.736667,6.973333,6.700000,6.970000,6.450840,22636800
+2003-05-22,6.980000,7.056667,6.816667,6.993333,6.472435,22220400
+2003-05-23,7.000000,7.133333,6.926667,6.956666,6.438500,21690300
+2003-05-27,6.883333,7.600000,6.750000,7.573333,7.009235,41935200
+2003-05-28,7.550000,7.633333,7.366667,7.553333,6.990725,30888900
+2003-05-29,7.550000,8.326667,7.533333,8.070000,7.468907,57443400
+2003-05-30,8.833333,8.876667,8.616667,8.723333,8.073578,53557800
+2003-06-02,8.950000,8.960000,8.186666,8.240000,7.626245,39153600
+2003-06-03,8.146667,8.660000,8.046667,8.410000,7.783581,39920100
+2003-06-04,8.383333,8.616667,8.253333,8.610000,7.968687,29390100
+2003-06-05,8.496667,8.886666,8.383333,8.856667,8.196979,30110100
+2003-06-06,9.203333,9.250000,8.520000,8.586667,7.947089,34470900
+2003-06-09,8.533334,8.753333,8.353333,8.483334,7.851453,18014700
+2003-06-10,8.483334,8.613334,8.390000,8.606667,7.965600,14082600
+2003-06-11,8.553333,8.690000,8.400000,8.613334,7.971773,23595900
+2003-06-12,8.673333,8.766666,8.456667,8.483334,7.851453,26167200
+2003-06-13,8.116667,8.350000,7.766667,7.823333,7.240614,45670200
+2003-06-16,7.916667,8.090000,7.393333,7.990000,7.394866,47621700
+2003-06-17,8.173333,8.233334,7.933333,8.180000,7.570715,24996300
+2003-06-18,8.100000,8.656667,8.033334,8.493333,7.860709,28051800
+2003-06-19,8.530000,8.573334,7.933333,7.976666,7.382526,29763300
+2003-06-20,8.063334,8.066667,7.766667,7.893333,7.305400,23446200
+2003-06-23,7.886667,7.926667,7.456666,7.613333,7.046255,18369600
+2003-06-24,7.566667,7.733333,7.353333,7.596667,7.030830,25220400
+2003-06-25,7.616667,7.926667,7.586667,7.646667,7.077106,26515500
+2003-06-26,7.670000,7.760000,7.430000,7.656667,7.086362,24013500
+2003-06-27,7.746666,7.816667,7.483333,7.520000,6.959876,17727600
+2003-06-30,7.620000,7.770000,7.533333,7.636667,7.067852,13603200
+2003-07-01,7.540000,7.960000,7.470000,7.950000,7.357846,24425400
+2003-07-02,8.023334,8.126667,7.816667,7.926667,7.336250,21170700
+2003-07-03,7.743333,8.040000,7.726666,7.836667,7.252954,10522800
+2003-07-07,7.943333,8.393333,7.940000,8.350000,7.728051,20805000
+2003-07-08,8.120000,8.366667,8.100000,8.256667,7.641670,15071400
+2003-07-09,8.253333,8.583333,8.240000,8.446667,7.817518,18883800
+2003-07-10,8.183333,8.290000,7.956666,8.100000,7.496672,16114200
+2003-07-11,8.196667,8.246667,8.073334,8.143333,7.536778,12375000
+2003-07-14,8.350000,8.400000,8.040000,8.080000,7.478162,17358600
+2003-07-15,8.200000,8.236667,7.740000,7.816667,7.234443,28586400
+2003-07-16,7.963333,8.000000,7.533333,7.720000,7.144977,22011900
+2003-07-17,7.486667,7.583333,7.233333,7.333333,6.787111,21344100
+2003-07-18,7.190000,7.213333,6.823333,7.086667,6.558818,32020800
+2003-07-21,7.126667,7.150000,6.813334,6.980000,6.460096,24628500
+2003-07-22,7.176667,7.230000,7.056667,7.096667,6.568073,14561100
+2003-07-23,7.090000,7.233333,6.876667,7.190000,6.654455,15133200
+2003-07-24,7.320000,7.373333,6.850000,6.910000,6.395310,27920700
+2003-07-25,6.923333,7.060000,6.666667,7.020000,6.497116,25052100
+2003-07-28,7.076667,7.093333,6.773334,6.803333,6.296588,17593800
+2003-07-29,6.186666,6.720000,6.120000,6.356667,5.883191,69869700
+2003-07-30,6.333333,6.406667,6.246666,6.286667,5.818405,19718100
+2003-07-31,6.433333,6.526667,6.296667,6.363333,5.889361,22440000
+2003-08-01,6.366667,6.626667,6.303333,6.573333,6.083719,19188900
+2003-08-04,6.566667,6.940000,6.526667,6.820000,6.312014,35721300
+2003-08-05,6.996666,7.156667,6.743333,6.800000,6.293503,26587200
+2003-08-06,6.710000,6.800000,6.360000,6.523334,6.037443,25646700
+2003-08-07,6.506667,6.600000,6.346667,6.433333,5.954146,26008500
+2003-08-08,5.516667,5.540000,5.086667,5.166667,4.781829,94189500
+2003-08-11,5.250000,5.516667,5.216667,5.446667,5.040973,41893800
+2003-08-12,5.516667,5.570000,5.426667,5.556667,5.142780,19104000
+2003-08-13,5.580000,5.683333,5.440000,5.593333,5.176715,17338800
+2003-08-14,5.406667,5.486667,5.340000,5.400000,4.997781,38192400
+2003-08-15,5.366667,5.416667,5.333333,5.383333,4.982357,5442900
+2003-08-18,5.470000,5.543334,5.373333,5.543334,5.130439,17942100
+2003-08-19,5.666667,6.000000,5.663333,5.966667,5.522241,35099400
+2003-08-20,5.883333,5.993333,5.753334,5.883333,5.445114,21758700
+2003-08-21,6.026667,6.100000,5.933333,6.043334,5.593197,16118700
+2003-08-22,6.406667,6.493333,6.083333,6.086667,5.633301,25059900
+2003-08-25,6.203333,6.203333,6.000000,6.053333,5.602452,10850700
+2003-08-26,5.976666,6.066667,5.793334,5.956666,5.512984,19224600
+2003-08-27,5.996666,6.200000,5.933333,6.136667,5.679579,14195400
+2003-08-28,6.196667,6.230000,5.906667,5.976666,5.531495,20707800
+2003-08-29,5.966667,6.083333,5.943333,6.056667,5.605537,13322100
+2003-09-02,6.163333,6.216667,5.973333,6.003334,5.556176,17786400
+2003-09-03,6.093333,6.110000,5.856667,5.886667,5.448199,21249300
+2003-09-04,5.910000,6.083333,5.866667,5.943333,5.500645,18501600
+2003-09-05,5.953333,6.366667,5.883333,6.226666,5.762874,29968500
+2003-09-08,6.326667,6.586667,6.250000,6.513333,6.028189,37717800
+2003-09-09,6.333333,7.156667,6.246666,6.913333,6.398396,62235900
+2003-09-10,6.716667,6.896667,6.386667,6.440000,5.960318,34515600
+2003-09-11,6.526667,6.716667,6.100000,6.356667,5.883191,65318400
+2003-09-12,6.303333,6.590000,6.233333,6.450000,5.969573,29060100
+2003-09-15,6.503334,6.536667,6.320000,6.343333,5.870850,14900700
+2003-09-16,6.356667,6.560000,6.356667,6.540000,6.052870,15518400
+2003-09-17,6.580000,6.743333,6.526667,6.616667,6.123825,22569600
+2003-09-18,6.580000,6.670000,6.506667,6.666667,6.170101,15087300
+2003-09-19,6.743333,6.786667,6.553333,6.613333,6.120740,16202400
+2003-09-22,6.483333,6.496666,6.300000,6.353333,5.880108,18387600
+2003-09-23,6.363333,6.450000,6.280000,6.413333,5.935638,15723300
+2003-09-24,6.276667,6.333333,5.916667,5.926667,5.485220,40016700
+2003-09-25,5.973333,6.080000,5.816667,5.843333,5.408092,18419400
+2003-09-26,5.826667,5.843333,5.543334,5.620000,5.201395,22397700
+2003-09-29,5.336667,5.526667,5.233333,5.316667,4.920655,48624900
+2003-09-30,5.270000,5.503334,5.250000,5.323333,4.926826,25522200
+2003-10-01,5.333333,5.430000,5.320000,5.366667,4.966932,21930600
+2003-10-02,5.333333,5.526667,5.316667,5.450000,5.044057,21440700
+2003-10-03,5.600000,5.733333,5.503334,5.593333,5.176715,21570300
+2003-10-06,5.603333,5.660000,5.503334,5.550000,5.136609,9425700
+2003-10-07,5.550000,5.600000,5.473333,5.600000,5.182886,12764700
+2003-10-08,5.600000,5.650000,5.370000,5.403333,5.000866,18486000
+2003-10-09,5.483333,5.693333,5.436666,5.480000,5.071824,21310200
+2003-10-10,5.566667,5.616667,5.500000,5.576667,5.161289,10349400
+2003-10-13,5.640000,5.750000,5.596667,5.633333,5.213736,10872600
+2003-10-14,5.573333,5.753334,5.540000,5.736667,5.309373,15588900
+2003-10-15,5.803333,5.910000,5.626667,5.663333,5.241501,17587200
+2003-10-16,5.670000,5.753334,5.583333,5.733333,5.306286,11152200
+2003-10-17,5.700000,5.810000,5.546667,5.553333,5.139693,11492400
+2003-10-20,5.556667,5.683333,5.523334,5.676667,5.253840,11684700
+2003-10-21,5.780000,5.960000,5.700000,5.850000,5.414263,18968100
+2003-10-22,5.760000,5.893333,5.720000,5.750000,5.321712,15523800
+2003-10-23,5.666667,5.833333,5.656667,5.723333,5.297032,11288100
+2003-10-24,5.666667,5.753334,5.613333,5.703333,5.278522,11177100
+2003-10-27,5.733333,5.800000,5.693333,5.733333,5.306286,6361500
+2003-10-28,5.810000,6.126667,5.783333,6.093333,5.639472,23901600
+2003-10-29,5.913333,6.166667,5.910000,6.093333,5.639472,12350100
+2003-10-30,6.250000,6.253334,5.970000,5.980000,5.534581,14531400
+2003-10-31,6.033333,6.083333,5.800000,5.893333,5.454369,14953800
+2003-11-03,5.863333,6.116667,5.836667,6.003334,5.556176,19343100
+2003-11-04,6.133333,6.150000,5.983333,6.023334,5.574686,17522400
+2003-11-05,5.900000,6.106667,5.803333,6.046667,5.596282,22050600
+2003-11-06,6.136667,6.166667,5.946667,6.056667,5.605537,29382000
+2003-11-07,7.220000,7.353333,7.066667,7.250000,6.709986,107320500
+2003-11-10,7.273334,7.373333,7.186666,7.230000,6.691474,30251400
+2003-11-11,7.066667,7.190000,6.923333,7.050000,6.524881,19978500
+2003-11-12,7.026667,7.166667,6.993333,7.143333,6.611264,15441600
+2003-11-13,7.143333,7.246666,7.103333,7.146667,6.614349,14508300
+2003-11-14,7.166667,7.166667,6.703333,6.723333,6.222547,22210500
+2003-11-17,6.596667,6.733333,6.533333,6.653333,6.157760,14997000
+2003-11-18,6.816667,6.900000,6.533333,6.556667,6.068294,24785700
+2003-11-19,6.603333,6.766667,6.580000,6.740000,6.237972,14188800
+2003-11-20,6.633333,6.780000,6.533333,6.560000,6.071380,18471300
+2003-11-21,6.640000,6.650000,6.460000,6.586667,6.096060,13581000
+2003-11-24,6.650000,7.000000,6.603333,6.983333,6.463180,23516100
+2003-11-25,7.013333,7.163333,6.933333,7.103333,6.574244,20570100
+2003-11-26,7.220000,7.243333,6.976666,7.110000,6.580413,10750800
+2003-11-28,7.106667,7.126667,7.016667,7.076667,6.549562,5153400
+2003-12-01,7.156667,7.230000,7.073333,7.176667,6.642114,13174500
+2003-12-02,7.133333,7.293334,7.103333,7.146667,6.614349,14368500
+2003-12-03,7.166667,7.400000,7.056667,7.073333,6.546477,17750700
+2003-12-04,7.096667,7.223333,6.870000,7.036667,6.512541,13048800
+2003-12-05,6.870000,7.066667,6.753334,6.810000,6.302759,13996200
+2003-12-08,6.810000,6.930000,6.750000,6.860000,6.349034,8524500
+2003-12-09,6.846667,6.913333,6.500000,6.503334,6.018934,14953200
+2003-12-10,6.503334,6.683333,6.500000,6.646667,6.151590,14216400
+2003-12-11,6.643333,7.066667,6.630000,6.983333,6.463180,17371800
+2003-12-12,7.076667,7.123333,6.833333,6.946667,6.429245,17517300
+2003-12-15,7.150000,7.160000,6.786667,6.806667,6.299674,15568800
+2003-12-16,6.766667,6.943333,6.646667,6.900000,6.386054,15043200
+2003-12-17,6.843333,6.866667,6.653333,6.766667,6.262654,12477900
+2003-12-18,6.780000,6.990000,6.773334,6.920000,6.404565,10918200
+2003-12-19,7.093333,7.200000,6.946667,7.023334,6.500201,22923900
+2003-12-22,6.920000,7.050000,6.850000,7.033333,6.509456,9279600
+2003-12-23,7.006667,7.390000,7.003334,7.320000,6.774771,18069000
+2003-12-24,7.316667,7.340000,7.246666,7.266667,6.725410,5271300
+2003-12-26,7.323333,7.623333,7.293334,7.580000,7.015405,9099000
+2003-12-29,7.723333,7.926667,7.686666,7.900000,7.311569,18915600
+2003-12-30,7.816667,8.066667,7.810000,7.916667,7.326994,13772100
+2003-12-31,7.913333,7.950000,7.606667,7.733333,7.157317,12431700
+2004-01-02,7.856667,7.963333,7.693333,7.693333,7.120296,10910400
+2004-01-05,7.810000,7.996666,7.740000,7.943333,7.351676,14382300
+2004-01-06,7.920000,8.376667,7.883333,8.266666,7.650925,27333600
+2004-01-07,8.173333,8.380000,8.116667,8.340000,7.718798,16825800
+2004-01-08,8.443334,8.483334,8.290000,8.370000,7.746562,10843800
+2004-01-09,8.313334,8.593333,8.246667,8.490000,7.857621,19164600
+2004-01-12,8.520000,8.613334,8.440000,8.586667,7.947089,13549500
+2004-01-13,8.543333,8.626667,8.053333,8.143333,7.536778,21645000
+2004-01-14,8.183333,8.300000,8.006667,8.083333,7.481248,13621800
+2004-01-15,8.023334,8.163333,7.880000,8.096666,7.493587,15230100
+2004-01-16,8.180000,8.290000,8.103333,8.220000,7.607735,11293200
+2004-01-20,8.320000,8.463333,8.226666,8.450000,7.820603,12194100
+2004-01-21,8.380000,8.413333,8.046667,8.060000,7.459653,12361500
+2004-01-22,8.103333,8.233334,7.776667,7.873333,7.286890,15143100
+2004-01-23,7.833333,7.990000,7.680000,7.696667,7.123382,12061800
+2004-01-26,7.746666,8.033334,7.686666,8.000000,7.404121,9842100
+2004-01-27,7.840000,7.966667,7.483333,7.543334,6.981470,23352600
+2004-01-28,7.640000,7.760000,7.483333,7.523334,6.962959,15380100
+2004-01-29,7.546667,7.583333,7.050000,7.303333,6.759346,23242500
+2004-01-30,7.286667,7.583333,7.243333,7.416667,6.864238,11661600
+2004-02-02,7.476666,7.683333,7.400000,7.536667,6.975299,14021100
+2004-02-03,7.516667,7.646667,7.410000,7.510000,6.950618,10450800
+2004-02-04,7.403333,7.463333,7.296667,7.306667,6.762431,10920000
+2004-02-05,7.346667,7.500000,7.300000,7.416667,6.864238,8299500
+2004-02-06,7.513333,7.693333,7.473333,7.586667,7.021574,11778300
+2004-02-09,7.643333,7.766667,7.530000,7.533333,6.972214,9349800
+2004-02-10,7.556667,7.816667,7.553333,7.810000,7.228272,12742500
+2004-02-11,7.910000,8.110000,7.883333,8.083333,7.481248,18445200
+2004-02-12,8.040000,8.083333,7.716667,7.840000,7.256040,24372300
+2004-02-13,7.633333,7.963333,7.566667,7.766667,7.188168,43687500
+2004-02-17,7.796667,7.876667,7.690000,7.853333,7.268380,14399400
+2004-02-18,7.876667,7.916667,7.800000,7.853333,7.268380,8006100
+2004-02-19,7.950000,8.090000,7.833333,7.850000,7.265296,15775800
+2004-02-20,7.836667,8.066667,7.793334,8.046667,7.447313,15453000
+2004-02-23,8.033334,8.046667,7.660000,7.766667,7.188168,21333300
+2004-02-24,7.633333,7.730000,7.373333,7.456666,6.901258,17709600
+2004-02-25,7.503334,7.643333,7.420000,7.500000,6.941364,16312800
+2004-02-26,7.610000,7.623333,7.456666,7.550000,6.987640,8624400
+2004-02-27,7.566667,7.573333,7.303333,7.416667,6.864238,14888700
+2004-03-01,7.396667,7.540000,7.386667,7.526667,6.966044,12665700
+2004-03-02,7.536667,7.590000,7.356667,7.386667,6.836471,20333700
+2004-03-03,7.366667,7.366667,7.170000,7.290000,6.747006,13812300
+2004-03-04,7.363333,7.463333,7.303333,7.450000,6.895088,10333800
+2004-03-05,7.283333,7.566667,7.256667,7.396667,6.845727,8872200
+2004-03-08,7.400000,7.500000,7.083333,7.140000,6.608179,11629200
+2004-03-09,7.200000,7.206666,6.970000,7.090000,6.561903,9280800
+2004-03-10,7.136667,7.213333,6.936666,6.986667,6.466266,12042300
+2004-03-11,6.893333,7.140000,6.893333,6.933333,6.416906,13171800
+2004-03-12,7.026667,7.166667,6.950000,7.080000,6.552649,9448800
+2004-03-15,7.036667,7.066667,6.876667,6.920000,6.404565,10530600
+2004-03-16,7.006667,7.250000,6.960000,7.216667,6.679134,14937600
+2004-03-17,7.333333,7.463333,7.303333,7.393333,6.842642,13114800
+2004-03-18,7.353333,7.566667,7.333333,7.476666,6.919767,13201200
+2004-03-19,7.436666,7.513333,7.346667,7.390000,6.839557,11324100
+2004-03-22,7.276667,7.390000,7.166667,7.333333,6.787111,14417700
+2004-03-23,7.433333,7.513333,7.280000,7.363333,6.814876,14400900
+2004-03-24,7.350000,7.816667,7.333333,7.693333,7.120296,19683600
+2004-03-25,7.780000,8.180000,7.766667,8.140000,7.533693,24928200
+2004-03-26,8.116667,8.243333,8.006667,8.116667,7.512099,13790100
+2004-03-29,8.233334,8.576667,8.216666,8.466666,7.836025,24644100
+2004-03-30,8.410000,8.760000,8.403334,8.720000,8.070494,18123900
+2004-03-31,8.763333,8.893333,8.716666,8.800000,8.144534,15118800
+2004-04-01,8.810000,8.990000,8.423333,8.643333,7.999538,32987700
+2004-04-02,8.833333,8.890000,8.566667,8.766666,8.113682,16243500
+2004-04-05,8.720000,9.116667,8.720000,9.080000,8.403676,14418600
+2004-04-06,8.900000,8.963333,8.666667,8.713333,8.064321,15602400
+2004-04-07,8.780000,8.783334,8.513333,8.666667,8.021131,11196600
+2004-04-08,8.860000,9.000000,8.793333,8.913333,8.249424,11177400
+2004-04-12,8.983334,9.023334,8.693334,8.746667,8.095174,11094600
+2004-04-13,8.826667,8.833333,8.500000,8.543333,7.906985,11067600
+2004-04-14,8.500000,8.746667,8.403334,8.586667,7.947089,12800400
+2004-04-15,8.470000,8.506667,8.100000,8.136666,7.530610,20702100
+2004-04-16,8.103333,8.106667,7.853333,7.870000,7.283804,16371600
+2004-04-19,7.863333,7.916667,7.720000,7.860000,7.274549,13070100
+2004-04-20,7.880000,7.966667,7.523334,7.526667,6.966044,12845100
+2004-04-21,7.556667,7.800000,7.480000,7.536667,6.975299,17220300
+2004-04-22,7.466667,7.706666,7.310000,7.580000,7.015405,17388000
+2004-04-23,7.673333,7.876667,7.650000,7.746666,7.169657,11098200
+2004-04-26,7.763333,7.796667,7.423333,7.443333,6.888918,10747800
+2004-04-27,7.530000,7.730000,7.353333,7.380000,6.830302,12364200
+2004-04-28,7.383333,7.496666,7.293334,7.350000,6.802537,11719200
+2004-04-29,7.306667,7.356667,7.050000,7.146667,6.614349,16126200
+2004-04-30,7.106667,7.150000,6.813334,6.840000,6.330523,12823200
+2004-05-03,6.913333,6.983333,6.633333,6.753334,6.250313,15266700
+2004-05-04,6.850000,7.270000,6.833333,7.183333,6.648283,19309500
+2004-05-05,7.190000,7.306667,7.130000,7.243333,6.703816,11607000
+2004-05-06,7.170000,7.360000,7.016667,7.303333,6.759346,17783700
+2004-05-07,7.516667,7.656667,7.320000,7.360000,6.811792,23919300
+2004-05-10,7.163333,7.240000,6.916667,7.073333,6.546477,16726800
+2004-05-11,7.163333,7.316667,7.133333,7.246666,6.706900,9998400
+2004-05-12,7.206666,7.216667,6.896667,7.146667,6.614349,12058200
+2004-05-13,7.086667,7.300000,7.066667,7.170000,6.635944,8698800
+2004-05-14,7.200000,7.326667,7.133333,7.170000,6.635944,11475000
+2004-05-17,7.066667,7.160000,6.950000,7.056667,6.531053,7708500
+2004-05-18,7.120000,7.253334,7.093333,7.170000,6.635944,5110500
+2004-05-19,7.330000,7.433333,7.116667,7.153333,6.620518,12456900
+2004-05-20,7.140000,7.260000,7.013333,7.050000,6.524881,10537200
+2004-05-21,7.133333,7.143333,6.970000,7.066667,6.540307,7052400
+2004-05-24,7.053333,7.123333,6.960000,7.043334,6.518712,7540500
+2004-05-25,7.073333,7.383333,6.930000,7.350000,6.802537,17031600
+2004-05-26,7.350000,7.600000,7.306667,7.500000,6.941364,13114200
+2004-05-27,7.623333,7.736667,7.513333,7.523334,6.962959,13913700
+2004-05-28,7.616667,7.860000,7.556667,7.816667,7.234443,15949500
+2004-06-01,7.683333,7.890000,7.673333,7.810000,7.228272,7960500
+2004-06-02,8.000000,8.036667,7.743333,7.750000,7.172742,16095000
+2004-06-03,7.753334,7.770000,7.353333,7.376667,6.827216,17520600
+2004-06-04,7.526667,7.543334,7.296667,7.303333,6.759346,16240200
+2004-06-07,7.423333,7.563334,7.330000,7.480000,6.922854,14298900
+2004-06-08,7.436666,7.450000,7.236667,7.346667,6.799452,15375000
+2004-06-09,7.390000,7.400000,6.980000,7.003334,6.481692,12458400
+2004-06-10,7.116667,7.130000,6.870000,6.933333,6.416906,14112900
+2004-06-14,6.896667,6.896667,6.663333,6.716667,6.216376,10618800
+2004-06-15,6.830000,6.920000,6.753334,6.816667,6.308928,9864600
+2004-06-16,6.796667,6.840000,6.683333,6.710000,6.210208,6314400
+2004-06-17,6.666667,6.830000,6.543334,6.576667,6.086806,12059400
+2004-06-18,6.613333,6.770000,6.500000,6.586667,6.096060,13358400
+2004-06-21,6.596667,6.700000,6.426667,6.470000,5.988083,6664200
+2004-06-22,6.506667,6.683333,6.463333,6.653333,6.157760,10757700
+2004-06-23,6.633333,6.793334,6.616667,6.766667,6.262654,6616500
+2004-06-24,6.946667,6.970000,6.656667,6.706666,6.207122,14766300
+2004-06-25,6.753334,6.830000,6.673333,6.750000,6.247227,8228100
+2004-06-28,6.846667,6.870000,6.666667,6.693333,6.194782,7484400
+2004-06-29,6.733333,6.933333,6.706666,6.923333,6.407650,9096300
+2004-06-30,6.740000,6.930000,6.740000,6.823333,6.315099,8231700
+2004-07-01,6.900000,6.910000,6.500000,6.510000,6.025105,12640500
+2004-07-02,6.580000,6.583333,6.370000,6.420000,5.941807,7373700
+2004-07-06,6.343333,6.410000,5.973333,6.043334,5.593197,14384700
+2004-07-07,6.120000,6.246666,6.043334,6.073333,5.620962,8603400
+2004-07-08,6.016667,6.116667,5.876667,5.886667,5.448199,10751400
+2004-07-09,5.880000,5.886667,5.523334,5.633333,5.213736,27862500
+2004-07-12,5.476666,5.633333,5.430000,5.503334,5.093419,16901100
+2004-07-13,5.570000,5.666667,5.433333,5.493333,5.084163,14177700
+2004-07-14,5.300000,5.446667,5.143333,5.250000,4.858955,22540200
+2004-07-15,5.303333,5.360000,5.180000,5.213333,4.825018,15283800
+2004-07-16,5.373333,5.380000,5.060000,5.060000,4.683107,11617500
+2004-07-19,5.073333,5.173333,5.003334,5.116667,4.735553,11527200
+2004-07-20,5.113333,5.240000,5.063334,5.220000,4.831189,8538600
+2004-07-21,5.300000,5.306667,4.886667,4.903333,4.538109,15335400
+2004-07-22,4.960000,5.033333,4.800000,5.006667,4.633745,13036500
+2004-07-23,5.040000,5.046667,4.840000,4.873333,4.510344,9287400
+2004-07-26,4.936666,4.980000,4.690000,4.736667,4.383857,12580200
+2004-07-27,4.760000,4.906667,4.613333,4.893333,4.528854,19747200
+2004-07-28,4.883333,4.900000,4.633333,4.770000,4.414706,12627900
+2004-07-29,4.836667,5.206666,4.813334,5.083333,4.704702,18684000
+2004-07-30,5.020000,5.233333,5.010000,5.140000,4.757148,10098900
+2004-08-02,5.143333,5.226666,5.056667,5.206666,4.818849,10524600
+2004-08-03,5.230000,5.233333,4.896667,4.936666,4.568959,18538500
+2004-08-04,4.883333,5.036667,4.876667,4.990000,4.618320,12695400
+2004-08-05,5.043334,5.066667,4.766667,4.853333,4.491833,21498000
+2004-08-06,3.370000,3.400000,3.100000,3.143333,2.909203,127223700
+2004-08-09,3.223333,3.356667,3.170000,3.283333,3.038775,39480300
+2004-08-10,3.466667,3.576667,3.410000,3.543333,3.279409,51297900
+2004-08-11,3.496667,3.496667,3.416667,3.440000,3.183773,24095400
+2004-08-12,3.450000,3.460000,3.353333,3.360000,3.109731,16359600
+2004-08-13,3.440000,3.523333,3.410000,3.500000,3.239303,20392500
+2004-08-16,3.460000,3.553333,3.440000,3.466667,3.208453,13293300
+2004-08-17,3.543333,3.676667,3.510000,3.656667,3.384301,18622800
+2004-08-18,3.673333,3.900000,3.643333,3.900000,3.609509,21810600
+2004-08-19,3.876667,3.946667,3.826667,3.886667,3.597169,18110100
+2004-08-20,3.866667,4.173333,3.853333,4.116667,3.810037,29976000
+2004-08-23,4.183333,4.250000,4.160000,4.206666,3.893335,20000700
+2004-08-24,4.266667,4.286667,3.970000,4.050000,3.748336,23485500
+2004-08-25,4.140000,4.253334,4.063334,4.223333,3.908759,18032700
+2004-08-26,4.216667,4.260000,4.183333,4.233333,3.918013,15318000
+2004-08-27,4.236667,4.373333,4.233333,4.313334,3.992056,14128200
+2004-08-30,4.296667,4.320000,4.166667,4.170000,3.859399,15701400
+2004-08-31,4.186666,4.206666,4.023334,4.153333,3.843972,14676600
+2004-09-01,4.100000,4.293334,4.046667,4.233333,3.918013,14793600
+2004-09-02,4.253334,4.440000,4.213333,4.406667,4.078437,19252200
+2004-09-03,4.273334,4.360000,4.236667,4.273334,3.955034,17876400
+2004-09-07,4.300000,4.390000,4.136667,4.193333,3.880993,18183300
+2004-09-08,4.196667,4.233333,4.096667,4.106667,3.800782,20874600
+2004-09-09,4.206666,4.590000,4.186666,4.516667,4.180245,32483100
+2004-09-10,4.440000,4.713333,4.426667,4.690000,4.340666,25983600
+2004-09-13,4.683333,4.873333,4.676667,4.780000,4.423964,24193800
+2004-09-14,4.736667,4.833333,4.700000,4.800000,4.442473,17088900
+2004-09-15,4.653333,4.666667,4.473333,4.533333,4.195668,29097600
+2004-09-16,4.610000,4.750000,4.593333,4.703333,4.353006,20250600
+2004-09-17,4.740000,4.923333,4.700000,4.896667,4.531938,25095000
+2004-09-20,4.800000,5.030000,4.740000,4.890000,4.525771,19865700
+2004-09-21,5.000000,5.060000,4.940000,5.020000,4.646086,12597600
+2004-09-22,4.886667,5.006667,4.763333,4.786667,4.430132,15648000
+2004-09-23,4.843333,4.856667,4.703333,4.830000,4.470239,14466600
+2004-09-24,4.850000,4.856667,4.613333,4.683333,4.334496,11907900
+2004-09-27,4.646667,4.700000,4.516667,4.600000,4.257370,10150500
+2004-09-28,4.590000,4.706666,4.526667,4.666667,4.319069,11871000
+2004-09-29,4.663333,4.913333,4.603333,4.780000,4.423964,13430700
+2004-09-30,4.833333,4.950000,4.743333,4.840000,4.479494,15492000
+2004-10-01,4.863333,5.066667,4.840000,5.040000,4.664597,14760300
+2004-10-04,5.083333,5.250000,5.073333,5.183333,4.797253,16848300
+2004-10-05,5.056667,5.190000,5.020000,5.066667,4.689277,15829500
+2004-10-06,5.056667,5.110000,4.940000,5.086667,4.707788,12462600
+2004-10-07,5.180000,5.296667,5.090000,5.116667,4.735553,19951800
+2004-10-08,5.063334,5.083333,4.793334,4.836667,4.476409,17335500
+2004-10-11,4.843333,4.940000,4.756667,4.843333,4.482577,9346200
+2004-10-12,4.680000,4.810000,4.603333,4.773334,4.417792,20680800
+2004-10-13,4.916667,4.980000,4.703333,4.743333,4.390027,16820400
+2004-10-14,4.786667,4.786667,4.566667,4.600000,4.257370,12831600
+2004-10-15,4.610000,4.616667,4.360000,4.473333,4.140139,32012100
+2004-10-18,4.446667,4.600000,4.410000,4.553333,4.214179,14349300
+2004-10-19,4.656667,4.703333,4.490000,4.523334,4.186414,15462000
+2004-10-20,4.510000,4.596667,4.483333,4.576667,4.235775,13505100
+2004-10-21,4.623333,4.740000,4.586667,4.680000,4.331410,25349100
+2004-10-22,4.723333,4.733333,4.413333,4.426667,4.096948,17161500
+2004-10-25,4.390000,4.543334,4.380000,4.446667,4.115457,13229100
+2004-10-26,4.883333,5.063334,4.723333,4.830000,4.470239,61394400
+2004-10-27,4.743333,5.053333,4.743333,4.963333,4.593640,26850900
+2004-10-28,4.896667,5.000000,4.863333,4.910000,4.544279,14038800
+2004-10-29,4.863333,4.930000,4.780000,4.823333,4.464067,18571500
+2004-11-01,4.890000,4.930000,4.826667,4.926667,4.559705,16347300
+2004-11-02,4.913333,5.100000,4.873333,4.996666,4.624490,27393900
+2004-11-03,5.200000,5.216667,5.016667,5.043334,4.667682,22758900
+2004-11-04,5.080000,5.200000,4.973333,5.136667,4.754062,24888600
+2004-11-05,5.933333,6.256667,5.813334,5.880000,5.442029,96225300
+2004-11-08,5.816667,6.023334,5.790000,5.943333,5.500645,17965500
+2004-11-09,5.853333,5.993333,5.850000,5.906667,5.466709,15398400
+2004-11-10,5.900000,5.963333,5.873333,5.906667,5.466709,16147800
+2004-11-11,5.943333,6.023334,5.903333,6.023334,5.574686,12675000
+2004-11-12,6.116667,6.133333,5.973333,6.033333,5.583941,16176900
+2004-11-15,5.973333,6.166667,5.936666,6.123333,5.667237,13411800
+2004-11-16,6.143333,6.210000,5.990000,6.103333,5.648727,11818200
+2004-11-17,6.200000,6.370000,6.140000,6.206666,5.744364,15069300
+2004-11-18,6.260000,6.340000,6.130000,6.286667,5.818405,13313100
+2004-11-19,6.766667,6.843333,6.270000,6.320000,5.849256,53151300
+2004-11-22,6.343333,6.500000,6.283333,6.500000,6.015849,18344700
+2004-11-23,6.446667,6.596667,6.393333,6.526667,6.040529,16922400
+2004-11-24,6.520000,6.660000,6.503334,6.553333,6.065209,10714500
+2004-11-26,6.583333,6.680000,6.526667,6.620000,6.126910,8769000
+2004-11-29,6.670000,6.716667,6.433333,6.490000,6.006593,17609700
+2004-11-30,6.516667,6.523334,6.340000,6.376667,5.901703,14413500
+2004-12-01,6.433333,6.536667,6.386667,6.536667,6.049784,12864300
+2004-12-02,6.473333,6.673333,6.423333,6.623333,6.129994,18966300
+2004-12-03,6.783333,7.000000,6.760000,6.910000,6.395310,33682800
+2004-12-06,6.943333,7.296667,6.820000,7.240000,6.700728,24262500
+2004-12-07,7.663333,8.320000,7.513333,7.603333,7.037001,73176300
+2004-12-08,7.710000,7.833333,7.633333,7.693333,7.120296,21818100
+2004-12-09,7.556667,7.703333,7.410000,7.623333,7.055511,21749100
+2004-12-10,7.800000,7.853333,7.723333,7.770000,7.191253,16321200
+2004-12-13,7.653333,7.753334,7.520000,7.556667,6.993810,18450600
+2004-12-14,7.563334,7.716667,7.550000,7.710000,7.135721,12824700
+2004-12-15,7.786667,7.803333,7.666667,7.780000,7.200507,10819200
+2004-12-16,8.006667,8.286667,7.870000,7.883333,7.296144,38100900
+2004-12-17,8.030000,8.063334,7.596667,7.686666,7.114126,30356100
+2004-12-20,7.776667,7.896667,7.563334,7.603333,7.037001,22468200
+2004-12-21,7.603333,7.713333,7.416667,7.660000,7.089447,22485000
+2004-12-22,7.813334,7.850000,7.653333,7.670000,7.098701,10545600
+2004-12-23,7.626667,7.776667,7.590000,7.690000,7.117211,9174300
+2004-12-27,7.796667,7.830000,7.583333,7.623333,7.055511,7705200
+2004-12-28,7.640000,7.700000,7.553333,7.583333,7.018491,7290300
+2004-12-29,7.560000,7.743333,7.540000,7.650000,7.080191,7368300
+2004-12-30,7.653333,7.716667,7.586667,7.620000,7.052426,6495300
+2004-12-31,7.730000,7.893333,7.700000,7.853333,7.268380,14399100
+2005-01-03,8.126667,8.240000,7.826667,7.860000,7.274549,26667900
+2005-01-04,7.916667,7.930000,7.370000,7.490000,6.932107,19755600
+2005-01-05,7.410000,7.650000,7.370000,7.560000,6.996895,18120300
+2005-01-06,7.693333,7.783333,7.433333,7.486667,6.929022,14089200
+2005-01-07,7.503334,7.560000,7.233333,7.343333,6.796367,19077300
+2005-01-10,7.366667,7.433333,7.316667,7.360000,6.811792,14488800
+2005-01-11,7.290000,7.330000,7.023334,7.133333,6.602008,27334500
+2005-01-12,7.196667,7.223333,6.900000,7.073333,6.546477,26445000
+2005-01-13,7.090000,7.333333,6.933333,7.146667,6.614349,22469100
+2005-01-14,7.280000,7.296667,7.100000,7.170000,6.635944,14347800
+2005-01-18,7.090000,7.300000,7.073333,7.283333,6.740834,11613900
+2005-01-19,7.316667,7.333333,7.086667,7.116667,6.586583,8412300
+2005-01-20,6.973333,7.306667,6.973333,7.133333,6.602008,16002000
+2005-01-21,7.143333,7.286667,7.120000,7.146667,6.614349,14908800
+2005-01-24,7.106667,7.210000,6.820000,6.860000,6.349034,11592600
+2005-01-25,6.890000,7.076667,6.850000,6.980000,6.460096,10992600
+2005-01-26,7.003334,7.166667,6.886667,7.070000,6.543393,10728000
+2005-01-27,7.083333,7.670000,7.040000,7.636667,7.067852,25072800
+2005-01-28,7.666667,7.696667,7.460000,7.626667,7.058596,16776300
+2005-01-31,7.690000,7.783333,7.533333,7.640000,7.070936,14074200
+2005-02-01,7.633333,7.816667,7.586667,7.783333,7.203594,12679500
+2005-02-02,8.090000,8.280000,7.860000,8.216666,7.604649,50885100
+2005-02-03,8.130000,8.186666,8.016666,8.130000,7.524439,17253000
+2005-02-04,8.133333,8.620000,8.130000,8.596666,7.956344,20161200
+2005-02-07,8.606667,8.766666,8.416667,8.493333,7.860709,13040700
+2005-02-08,8.440000,8.713333,8.413333,8.576667,7.937836,11394300
+2005-02-09,8.600000,8.626667,8.233334,8.276667,7.660179,19593900
+2005-02-10,8.320000,8.513333,8.290000,8.470000,7.839112,15059400
+2005-02-11,8.416667,8.780000,8.386666,8.716666,8.067407,13912800
+2005-02-14,8.713333,8.746667,8.500000,8.533334,7.897729,10822500
+2005-02-15,8.590000,8.883333,8.576667,8.610000,7.968687,18712500
+2005-02-16,8.583333,8.706667,8.426666,8.580000,7.940920,11661600
+2005-02-17,8.696667,8.700000,8.436666,8.503333,7.869962,25435200
+2005-02-18,9.156667,9.433333,8.903334,9.423333,8.721437,78303000
+2005-02-22,9.360000,9.763333,9.276667,9.543333,8.832500,35520000
+2005-02-23,9.390000,9.506667,9.080000,9.233334,8.545593,27696000
+2005-02-24,9.106667,9.490000,9.106667,9.476666,8.770797,17387400
+2005-02-25,9.490000,9.663333,9.386666,9.613334,8.897285,13128300
+2005-02-28,9.566667,9.666667,9.483334,9.663333,8.943562,18951600
+2005-03-01,9.706667,9.866667,9.543333,9.640000,8.921967,18428700
+2005-03-02,9.533334,9.586667,9.300000,9.356667,8.659735,23686500
+2005-03-03,9.333333,9.393333,9.093333,9.230000,8.542503,19032300
+2005-03-04,9.256667,9.336667,9.113334,9.190000,8.505485,14828100
+2005-03-07,9.230000,9.476666,9.166667,9.283334,8.591866,12779400
+2005-03-08,9.260000,9.280000,8.753333,8.813334,8.156874,33309600
+2005-03-09,8.756667,8.920000,8.556666,8.583333,7.944006,22753500
+2005-03-10,8.610000,8.686666,8.443334,8.580000,7.940920,17232000
+2005-03-11,8.656667,8.670000,8.310000,8.386666,7.761986,18304500
+2005-03-14,8.560000,8.660000,8.500000,8.623333,7.981024,14303700
+2005-03-15,8.666667,8.750000,8.443334,8.450000,7.820603,9452700
+2005-03-16,8.416667,8.550000,8.303333,8.306666,7.687944,13383900
+2005-03-17,8.333333,8.363334,8.203333,8.223333,7.610821,11064600
+2005-03-18,8.230000,8.256667,7.906667,8.056666,7.456567,15975300
+2005-03-21,8.053333,8.353333,8.003333,8.333333,7.712626,16361400
+2005-03-22,8.340000,8.416667,8.153334,8.183333,7.573801,15574800
+2005-03-23,8.173333,8.416667,8.156667,8.360000,7.737307,18219600
+2005-03-24,8.383333,8.610000,8.370000,8.376667,7.752734,21633900
+2005-03-28,8.380000,8.500000,8.203333,8.283334,7.666350,12779700
+2005-03-29,8.273334,8.366667,8.063334,8.100000,7.496672,14685000
+2005-03-30,8.103333,8.216666,7.823333,8.100000,7.496672,21467700
+2005-03-31,8.053333,8.110000,7.883333,7.920000,7.330080,12957900
+2005-04-01,8.016666,8.063334,7.796667,7.843333,7.259122,12768900
+2005-04-04,7.800000,7.823333,7.623333,7.796667,7.215932,10535700
+2005-04-05,7.800000,7.963333,7.613333,7.660000,7.089447,10753200
+2005-04-06,7.803333,7.933333,7.750000,7.776667,7.197423,14186700
+2005-04-07,7.816667,8.000000,7.683333,7.920000,7.330080,12658800
+2005-04-08,7.953333,8.130000,7.800000,7.816667,7.234443,15538500
+2005-04-11,7.873333,7.900000,7.640000,7.663333,7.092532,8209500
+2005-04-12,7.640000,7.770000,7.470000,7.756667,7.178913,12805800
+2005-04-13,7.766667,7.786667,7.383333,7.433333,6.879663,12460200
+2005-04-14,7.450000,7.520000,7.346667,7.373333,6.824131,8802000
+2005-04-15,7.280000,7.333333,7.050000,7.116667,6.586583,15753900
+2005-04-18,7.073333,7.226666,7.033333,7.066667,6.540307,11827500
+2005-04-19,7.183333,7.366667,7.150000,7.313334,6.768601,9136500
+2005-04-20,7.436666,7.483333,7.083333,7.090000,6.561903,14116800
+2005-04-21,7.233333,7.510000,7.170000,7.483333,6.925939,13453800
+2005-04-22,7.436666,7.486667,7.326667,7.413333,6.861152,8406900
+2005-04-25,7.476666,7.586667,7.440000,7.530000,6.969129,7954200
+2005-04-26,7.533333,7.690000,7.343333,7.496666,6.938279,8828700
+2005-04-27,7.300000,7.326667,7.060000,7.210000,6.672964,15233700
+2005-04-28,7.186666,7.330000,7.116667,7.233333,6.694559,9323700
+2005-04-29,7.303333,7.360000,6.973333,7.310000,6.765516,11958900
+2005-05-02,7.396667,7.480000,7.173333,7.283333,6.740834,8372700
+2005-05-03,7.290000,7.423333,7.213333,7.243333,6.703816,10987800
+2005-05-04,7.276667,7.526667,7.253334,7.473333,6.916683,11720400
+2005-05-05,7.516667,7.713333,7.476666,7.620000,7.052426,15481800
+2005-05-06,7.710000,7.726666,7.533333,7.723333,7.148062,8893200
+2005-05-09,7.756667,7.920000,7.710000,7.866667,7.280720,18633300
+2005-05-10,7.766667,7.770000,7.473333,7.560000,6.996895,18378000
+2005-05-11,7.600000,7.633333,7.420000,7.433333,6.879663,13885500
+2005-05-12,7.433333,7.696667,7.426667,7.596667,7.030830,20889600
+2005-05-13,8.283334,8.490000,7.933333,8.443334,7.814434,66258000
+2005-05-16,8.343333,8.530000,8.340000,8.473333,7.842198,16602600
+2005-05-17,8.423333,8.606667,8.416667,8.566667,7.928581,15995100
+2005-05-18,8.546667,8.650000,8.456667,8.630000,7.987198,13751400
+2005-05-19,8.650000,8.686666,8.516666,8.613334,7.971773,11322000
+2005-05-20,8.603333,8.770000,8.503333,8.766666,8.113682,12925200
+2005-05-23,8.826667,9.060000,8.800000,8.970000,8.301869,17591700
+2005-05-24,8.926666,9.130000,8.883333,9.096666,8.419103,13054800
+2005-05-25,9.076667,9.123333,8.893333,8.980000,8.311127,13381800
+2005-05-26,9.060000,9.303333,9.043333,9.233334,8.545593,19719600
+2005-05-27,9.260000,9.260000,9.076667,9.173333,8.490056,8068500
+2005-05-31,9.133333,9.210000,8.883333,9.033334,8.360491,19079400
+2005-06-01,8.973333,9.283334,8.866667,9.116667,8.437613,19915800
+2005-06-02,9.083333,9.456667,9.083333,9.456667,8.752291,17108700
+2005-06-03,9.423333,9.510000,9.333333,9.433333,8.730693,13990500
+2005-06-06,9.263333,9.446667,9.256667,9.343333,8.647397,12822300
+2005-06-07,9.280000,9.433333,9.083333,9.116667,8.437613,24353400
+2005-06-08,9.140000,9.266666,8.956667,9.053333,8.378999,15468000
+2005-06-09,8.983334,9.436666,8.973333,9.433333,8.730693,15497700
+2005-06-10,9.423333,9.433333,9.263333,9.326667,8.631971,11627400
+2005-06-13,9.333333,9.796667,9.306666,9.533334,8.823245,35247900
+2005-06-14,9.536667,9.693334,8.670000,8.970000,8.301869,60210300
+2005-06-15,8.913333,8.983334,8.590000,8.943334,8.277192,41744700
+2005-06-16,8.940000,9.050000,8.810000,8.990000,8.320382,12231000
+2005-06-17,9.100000,9.116667,8.946667,8.970000,8.301869,11408700
+2005-06-20,8.970000,9.166667,8.823334,9.106667,8.428358,15151500
+2005-06-21,9.166667,9.236667,9.080000,9.193334,8.508569,10704300
+2005-06-22,9.290000,9.353333,9.070000,9.183333,8.499314,17516700
+2005-06-23,9.166667,9.440000,9.133333,9.326667,8.631971,20924400
+2005-06-24,9.310000,9.313334,8.980000,9.030000,8.357400,11890800
+2005-06-27,8.973333,9.046667,8.876667,8.956667,8.289530,8864700
+2005-06-28,8.993333,9.073334,8.893333,9.013333,8.341974,6557700
+2005-06-29,9.016666,9.033334,8.856667,8.930000,8.264852,7089300
+2005-06-30,8.990000,9.073334,8.836667,8.906667,8.243255,14830800
+2005-07-01,8.876667,8.960000,8.766666,8.946667,8.280277,7879200
+2005-07-05,8.980000,9.123333,8.893333,9.086667,8.409846,9711000
+2005-07-06,9.116667,9.370000,9.013333,9.330000,8.635056,17590800
+2005-07-07,9.183333,9.333333,9.153334,9.263333,8.573357,11647500
+2005-07-08,9.320000,9.410000,9.200000,9.380000,8.681332,10203300
+2005-07-11,9.463333,9.616667,9.423333,9.520000,8.810903,9987300
+2005-07-12,9.513333,9.540000,9.273334,9.466666,8.761544,14106300
+2005-07-13,9.506667,9.533334,9.320000,9.480000,8.773884,14869500
+2005-07-14,9.580000,9.766666,9.046667,9.060000,8.385170,46787400
+2005-07-15,9.033334,9.060000,8.806666,8.963333,8.295699,30583800
+2005-07-18,8.936666,8.940000,8.650000,8.740000,8.089001,26122500
+2005-07-19,8.793333,8.880000,8.726666,8.860000,8.200062,12947400
+2005-07-20,8.756667,9.030000,8.636666,8.993333,8.323465,13162500
+2005-07-21,8.876667,8.916667,8.656667,8.840000,8.181556,14863200
+2005-07-22,8.883333,9.010000,8.546667,8.610000,7.968687,17481600
+2005-07-25,8.510000,8.926666,8.473333,8.660000,8.014959,24373800
+2005-07-26,8.623333,8.853333,8.590000,8.840000,8.181556,18987300
+2005-07-27,8.853333,9.060000,8.703333,9.020000,8.348148,20195700
+2005-07-28,9.003333,9.133333,8.880000,9.090000,8.412932,10281000
+2005-07-29,9.053333,9.150000,8.946667,9.020000,8.348148,8791500
+2005-08-01,9.073334,9.196667,9.013333,9.156667,8.474634,9726000
+2005-08-02,9.166667,9.310000,9.153334,9.280000,8.588781,10566300
+2005-08-03,9.280000,9.366667,9.196667,9.280000,8.588781,12956400
+2005-08-04,9.210000,9.250000,9.163333,9.183333,8.499314,8910600
+2005-08-05,9.170000,9.436666,9.106667,9.416667,8.715269,17102400
+2005-08-08,9.480000,9.656667,9.383333,9.450000,8.746119,18138600
+2005-08-09,9.463333,9.486667,9.323334,9.426666,8.724523,7297500
+2005-08-10,9.466666,9.513333,9.190000,9.286667,8.594952,11013900
+2005-08-11,9.286667,9.433333,9.196667,9.416667,8.715269,17538900
+2005-08-12,9.970000,10.070000,9.630000,9.983334,9.239722,57385500
+2005-08-15,10.016666,10.340000,9.890000,10.236667,9.474190,22070100
+2005-08-16,10.140000,10.230000,9.990000,10.063334,9.313769,15937200
+2005-08-17,10.020000,10.186666,10.013333,10.063334,9.313769,15189300
+2005-08-18,9.986667,10.036667,9.760000,9.803333,9.073134,20568300
+2005-08-19,9.820000,9.850000,9.703333,9.733334,9.008348,10555800
+2005-08-22,9.716666,9.873333,9.540000,9.653334,8.934306,13680600
+2005-08-23,9.643333,9.766666,9.610000,9.716666,8.992922,6361500
+2005-08-24,9.653334,9.930000,9.606667,9.723333,8.999093,12865500
+2005-08-25,9.766666,9.843333,9.683333,9.790000,9.060793,7412100
+2005-08-26,9.800000,9.800000,9.546667,9.640000,8.921967,8085900
+2005-08-29,9.550000,9.666667,9.473333,9.656667,8.937391,8584800
+2005-08-30,9.640000,10.026667,9.626667,10.003333,9.258239,23721300
+2005-08-31,9.980000,10.353333,9.950000,10.226666,9.464934,22670100
+2005-09-01,10.196667,10.323334,10.143333,10.230000,9.468021,13922100
+2005-09-02,10.250000,10.250000,10.030000,10.063334,9.313769,11745000
+2005-09-06,10.100000,10.200000,9.946667,10.146667,9.390894,10577400
+2005-09-07,10.133333,10.496667,10.106667,10.470000,9.690145,14700300
+2005-09-08,10.406667,10.723333,10.406667,10.593333,9.804291,16152900
+2005-09-09,10.706667,10.753333,10.533334,10.730000,9.930777,11355900
+2005-09-12,10.740000,10.773334,10.566667,10.693334,9.896841,13914600
+2005-09-13,10.643333,11.070000,10.643333,11.016666,10.196093,21368100
+2005-09-14,10.933333,11.080000,10.833333,10.883333,10.072692,12586200
+2005-09-15,11.050000,11.200000,10.983334,11.076667,10.251625,18993900
+2005-09-16,11.170000,11.230000,10.993333,11.083333,10.257793,12995700
+2005-09-19,11.070000,11.106667,10.866667,10.926666,10.112795,10707900
+2005-09-20,11.010000,11.263333,10.996667,11.140000,10.310238,13054800
+2005-09-21,11.096666,11.316667,10.946667,11.043333,10.220770,15641400
+2005-09-22,11.070000,11.070000,10.550000,10.746667,9.946202,18478800
+2005-09-23,10.723333,10.996667,10.633333,10.903334,10.091202,7866000
+2005-09-26,10.986667,11.070000,10.790000,10.993333,10.174496,10169400
+2005-09-27,11.040000,11.136666,10.946667,11.030000,10.208431,10104000
+2005-09-28,11.063334,11.126667,10.936666,11.096666,10.270132,8838900
+2005-09-29,11.100000,11.333333,11.010000,11.326667,10.483002,12834300
+2005-09-30,11.333333,11.530000,11.310000,11.426666,10.575553,11470800
+2005-10-03,11.560000,11.823334,11.466666,11.740000,10.865548,13747200
+2005-10-04,11.790000,11.983334,11.560000,11.586667,10.723637,12861900
+2005-10-05,11.600000,11.600000,11.133333,11.203333,10.368854,14979600
+2005-10-06,11.190000,11.363334,10.826667,11.163333,10.331835,17137800
+2005-10-07,11.183333,11.296667,10.933333,11.020000,10.199178,13798800
+2005-10-10,11.076667,11.096666,10.736667,10.740000,9.940034,11480400
+2005-10-11,10.780000,10.873333,10.483334,10.606667,9.816631,13501200
+2005-10-12,10.576667,10.896667,10.563334,10.733334,9.933864,16441500
+2005-10-13,10.710000,10.726666,10.266666,10.676666,9.881415,12732600
+2005-10-14,10.753333,10.886666,10.500000,10.676666,9.881415,7781400
+2005-10-17,10.683333,10.886666,10.683333,10.780000,9.977053,6097800
+2005-10-18,10.820000,10.840000,10.533334,10.603333,9.813545,7495800
+2005-10-19,10.466666,10.530000,10.170000,10.513333,9.730251,15898800
+2005-10-20,10.530000,10.806666,10.483334,10.586667,9.798121,8988000
+2005-10-21,10.766666,10.800000,10.573334,10.646667,9.853652,7459200
+2005-10-24,10.740000,10.936666,10.643333,10.936666,10.122051,7275300
+2005-10-25,10.863334,11.040000,10.816667,11.006667,10.186837,8367000
+2005-10-26,11.010000,11.033334,10.690000,10.706667,9.909181,10383600
+2005-10-27,10.726666,10.760000,10.450000,10.483334,9.702484,5694600
+2005-10-28,10.510000,10.826667,10.250000,10.806666,10.001733,11616000
+2005-10-31,10.850000,11.260000,10.850000,11.183333,10.350346,10810500
+2005-11-01,11.183333,11.266666,10.960000,11.046667,10.223859,10012200
+2005-11-02,11.050000,11.700000,11.000000,11.686666,10.816185,13091700
+2005-11-03,11.766666,11.833333,11.456667,11.550000,10.689701,11626800
+2005-11-04,11.556666,11.583333,11.233334,11.353333,10.507680,14256900
+2005-11-07,11.413333,11.453333,11.256667,11.303333,10.461407,9270600
+2005-11-08,11.346666,11.356667,11.043333,11.093333,10.267047,13474200
+2005-11-09,11.116667,11.666667,10.990000,11.593333,10.729808,20472000
+2005-11-10,11.996667,12.256667,10.946667,11.163333,10.331835,62590500
+2005-11-11,11.260000,11.480000,11.210000,11.346666,10.501510,13648200
+2005-11-14,11.350000,11.666667,11.176666,11.586667,10.723637,12341700
+2005-11-15,11.656667,11.766666,11.576667,11.613334,10.748317,12405000
+2005-11-16,11.626667,11.690000,11.346666,11.573334,10.711294,11382000
+2005-11-17,11.670000,12.096666,11.533334,12.086667,11.186394,17581500
+2005-11-18,12.126667,12.226666,11.826667,12.063334,11.164798,11644200
+2005-11-21,12.076667,12.296667,11.996667,12.276667,11.362241,11367600
+2005-11-22,12.340000,12.723333,12.243333,12.603333,11.664578,18292500
+2005-11-23,12.616667,12.750000,12.500000,12.566667,11.630641,10298700
+2005-11-25,12.626667,12.710000,12.540000,12.690000,11.744785,2916900
+2005-11-28,12.723333,12.833333,12.400000,12.626667,11.686171,10613100
+2005-11-29,11.880000,12.216666,11.773334,11.826667,10.945757,26078400
+2005-11-30,11.743333,12.110000,11.740000,12.050000,11.152459,14386200
+2005-12-01,12.150000,12.250000,12.020000,12.193334,11.285114,14050800
+2005-12-02,12.250000,12.280000,12.033334,12.196667,11.288199,8361900
+2005-12-05,12.223333,12.223333,11.930000,11.970000,11.078419,9692700
+2005-12-06,11.990000,12.183333,11.973333,12.020000,11.124692,9381300
+2005-12-07,12.066667,12.140000,11.833333,12.040000,11.143202,8816700
+2005-12-08,11.976666,12.133333,11.806666,11.943334,11.053739,9666600
+2005-12-09,11.980000,12.130000,11.813334,12.113334,11.211075,6572400
+2005-12-12,12.146667,12.316667,12.126667,12.290000,11.374582,7028400
+2005-12-13,12.313334,12.556666,12.223333,12.450000,11.522662,11085300
+2005-12-14,12.356667,12.416667,12.186666,12.333333,11.414687,7186800
+2005-12-15,12.323334,12.416667,12.050000,12.176666,11.269689,8318100
+2005-12-16,12.220000,12.336667,12.103333,12.283334,11.368410,26640000
+2005-12-19,12.310000,12.400000,12.050000,12.080000,11.180222,7307400
+2005-12-20,12.066667,12.250000,11.913333,12.073334,11.174052,7608900
+2005-12-21,12.130000,12.230000,11.940000,12.050000,11.152459,7234500
+2005-12-22,12.040000,12.430000,12.036667,12.416667,11.491814,7958400
+2005-12-23,12.450000,12.530000,12.366667,12.513333,11.581277,5363400
+2005-12-27,12.500000,12.726666,12.460000,12.590000,11.652235,9199200
+2005-12-28,12.590000,12.746667,12.510000,12.706667,11.760216,6610500
+2005-12-29,12.700000,12.740000,12.370000,12.423333,11.497983,7761600
+2005-12-30,12.353333,12.356667,12.136666,12.186666,11.278945,5740200
+2006-01-03,12.256667,12.833333,12.216666,12.740000,11.791061,11820300
+2006-01-04,12.836667,13.116667,12.703333,13.096666,12.121163,12751800
+2006-01-05,13.100000,13.416667,13.076667,13.393333,12.395735,16152300
+2006-01-06,13.546667,13.663333,13.016666,13.613334,12.599348,15584700
+2006-01-09,13.606667,14.066667,13.576667,13.993333,12.951041,14012100
+2006-01-10,13.926666,13.996667,13.750000,13.996667,12.954129,8491500
+2006-01-11,14.010000,14.583333,13.986667,14.503333,13.423056,15657600
+2006-01-12,14.500000,14.723333,14.193334,14.296667,13.231782,12387600
+2006-01-13,14.263333,14.380000,13.970000,14.170000,13.114550,10532400
+2006-01-17,13.976666,14.166667,13.790000,14.160000,13.105297,8230800
+2006-01-18,13.730000,14.280000,13.600000,14.233334,13.173166,11498700
+2006-01-19,14.423333,15.220000,14.396667,15.023334,13.904321,22869000
+2006-01-20,15.046667,15.220000,14.600000,14.603333,13.515608,11540100
+2006-01-23,14.716666,14.810000,14.516666,14.686666,13.592733,8372100
+2006-01-24,14.720000,15.066667,14.680000,14.760000,13.660604,9722400
+2006-01-25,14.833333,14.930000,14.453333,14.630000,13.540288,10005900
+2006-01-26,14.843333,15.143333,14.750000,15.130000,14.003043,11220900
+2006-01-27,15.326667,15.586667,15.200000,15.416667,14.268358,9626100
+2006-01-30,15.483334,15.500000,15.173333,15.243333,14.107936,7894500
+2006-01-31,15.166667,15.250000,14.870000,14.986667,13.870388,9611400
+2006-02-01,14.716666,15.056666,14.660000,14.996667,13.879642,11271300
+2006-02-02,15.133333,15.143333,14.516666,14.540000,13.456992,11843400
+2006-02-03,14.446667,14.853333,14.400000,14.673333,13.580393,12606300
+2006-02-06,14.633333,15.103333,14.570000,15.086667,13.962939,9086700
+2006-02-07,15.116667,15.116667,14.543333,14.550000,13.466246,9985200
+2006-02-08,14.593333,14.970000,14.593333,14.970000,13.854959,9826800
+2006-02-09,15.016666,15.250000,14.623333,14.716666,13.620496,10927500
+2006-02-10,14.770000,14.836667,14.290000,14.633333,13.543372,10374900
+2006-02-13,14.586667,14.786667,14.486667,14.683333,13.589648,7018500
+2006-02-14,14.683333,14.763333,14.516666,14.710000,13.614330,8558700
+2006-02-15,14.680000,15.033334,14.643333,14.993333,13.876558,12332400
+2006-02-16,15.273334,15.766666,15.170000,15.733334,14.561440,32647200
+2006-02-17,16.889999,16.906666,15.733334,15.823334,14.644734,58923900
+2006-02-21,15.790000,15.816667,15.350000,15.486667,14.333142,17101500
+2006-02-22,15.266666,15.583333,14.900000,15.460000,14.308464,23493900
+2006-02-23,15.413333,15.516666,15.180000,15.223333,14.089426,9628200
+2006-02-24,15.290000,15.473333,15.140000,15.220000,14.086342,10410300
+2006-02-27,15.336667,15.933333,15.176666,15.836667,14.657075,16661700
+2006-02-28,15.766666,15.900000,15.556666,15.710000,14.539842,14082900
+2006-03-01,15.766666,16.400000,15.666667,16.306667,15.092067,17598300
+2006-03-02,16.290001,16.559999,16.120001,16.330000,15.113661,13636500
+2006-03-03,16.180000,16.670000,16.150000,16.386667,15.166108,14895000
+2006-03-06,16.706667,16.816668,16.273333,16.353333,15.135261,13225500
+2006-03-07,16.356667,16.483334,15.750000,16.073334,14.876115,15155100
+2006-03-08,16.076666,16.160000,15.420000,15.993333,14.802073,16770000
+2006-03-09,16.186666,16.456667,16.066668,16.076666,14.879198,13417500
+2006-03-10,16.059999,16.263334,15.653334,15.796667,14.620051,13039500
+2006-03-13,15.956667,16.063334,15.836667,15.986667,14.795903,9303300
+2006-03-14,16.000000,16.496666,15.940000,16.430000,15.206213,15694800
+2006-03-15,16.463333,16.716667,16.400000,16.693333,15.449929,12765000
+2006-03-16,16.723333,16.743334,16.070000,16.126667,14.925476,14210400
+2006-03-17,16.049999,16.299999,15.810000,16.256666,15.045790,15464700
+2006-03-20,16.400000,16.403334,16.116667,16.133333,14.931646,7344300
+2006-03-21,16.930000,17.233334,16.486666,16.930000,15.668972,30886800
+2006-03-22,16.500000,16.580000,16.073334,16.443333,15.218554,28964400
+2006-03-23,16.500000,16.816668,16.313334,16.750000,15.502376,16549800
+2006-03-24,16.793333,17.346666,16.766666,17.316668,16.026834,17198400
+2006-03-27,17.330000,17.796667,17.273333,17.783333,16.458744,16286100
+2006-03-28,17.703333,18.293333,17.666666,18.056667,16.711720,19880100
+2006-03-29,18.133333,19.059999,17.983334,19.026667,17.609470,24677400
+2006-03-30,19.046667,19.260000,18.703333,19.156666,17.729788,26582700
+2006-03-31,19.143333,19.410000,18.969999,19.086666,17.664999,20889000
+2006-04-03,19.186666,19.566668,18.946667,19.299999,17.862440,24222900
+2006-04-04,19.326666,20.233334,19.306667,20.203333,18.698492,30015300
+2006-04-05,20.166666,20.466667,19.736666,20.366667,18.849655,27824400
+2006-04-06,20.313334,20.559999,20.033333,20.406666,18.886679,19732800
+2006-04-07,20.320000,20.500000,19.953333,20.353333,18.837320,17066800
+2006-04-10,20.306667,20.426666,19.846666,20.000000,18.510302,15855700
+2006-04-11,20.066668,20.066668,19.393333,19.513334,18.059885,17551800
+2006-04-12,19.639999,20.406666,19.533333,20.299999,18.787958,14957700
+2006-04-13,19.866667,20.093334,19.653334,19.733334,18.263498,18459000
+2006-04-17,19.700001,20.280001,19.626667,19.786667,18.312860,11096700
+2006-04-18,19.433332,19.440001,18.793333,19.320000,17.880955,29137200
+2006-04-19,19.200001,19.653334,18.933332,19.440001,17.992018,12936900
+2006-04-20,19.266666,19.760000,18.946667,19.413334,17.967333,13817100
+2006-04-21,19.473333,19.553333,18.486666,18.713333,17.319469,19250400
+2006-04-24,18.833334,19.473333,18.500000,19.286667,17.850105,16921200
+2006-04-25,19.066668,19.320000,18.733334,19.273333,17.837765,17994100
+2006-04-26,19.346666,19.639999,18.933332,19.139999,17.714365,8263200
+2006-04-27,19.066668,19.626667,18.653334,19.446667,17.998186,11574100
+2006-04-28,19.459999,19.726667,19.293333,19.480000,18.029036,7118400
+2006-05-01,19.613333,20.980000,19.613333,20.600000,19.065613,22561800
+2006-05-02,20.753334,21.000000,20.219999,20.573334,19.040928,13492500
+2006-05-03,20.340000,20.933332,20.320000,20.706667,19.164333,9452800
+2006-05-04,20.299999,20.799999,20.193333,20.573334,19.040928,12778200
+2006-05-05,20.680000,20.926666,20.393333,20.853333,19.300072,8454600
+2006-05-08,20.799999,21.253334,20.566668,20.760000,19.213694,12590500
+2006-05-09,20.733334,20.840000,20.100000,20.126667,18.627539,14041200
+2006-05-10,19.886667,20.120001,19.480000,19.680000,18.214140,18831600
+2006-05-11,19.879999,20.066668,18.826666,18.980000,17.566278,30027700
+2006-05-12,18.526667,18.620001,17.160000,17.553333,16.245872,39204300
+2006-05-15,17.520000,17.959999,17.366667,17.806667,16.480341,13834500
+2006-05-16,17.906666,17.913334,17.226667,17.340000,16.048433,12438300
+2006-05-17,17.280001,17.379999,16.333334,16.639999,15.400569,21026800
+2006-05-18,16.773333,16.933332,15.866667,15.886666,14.703351,17168200
+2006-05-19,16.033333,16.600000,15.873333,16.219999,15.011855,23320200
+2006-05-22,16.133333,16.166666,15.560000,16.000000,14.808243,18372100
+2006-05-23,16.333334,16.713333,15.760000,15.826667,14.647819,13307800
+2006-05-24,15.966666,16.506666,15.606667,16.033333,14.839091,14488000
+2006-05-25,16.333334,16.573334,15.860000,15.946667,14.758883,10591600
+2006-05-26,16.006666,16.113333,15.813334,15.980000,14.789731,7366000
+2006-05-30,16.006666,16.013334,15.306666,15.313334,14.172724,11219700
+2006-05-31,15.520000,15.666667,15.226666,15.320000,14.178894,14960500
+2006-06-01,15.493333,16.120001,15.253333,16.120001,14.919306,13428100
+2006-06-02,16.379999,16.459999,15.726666,15.886666,14.703351,16842700
+2006-06-05,15.800000,16.093334,15.173333,15.220000,14.086342,14526300
+2006-06-06,15.413333,15.426666,14.400000,14.813334,13.709965,20603200
+2006-06-07,14.973333,15.000000,14.433333,14.546667,13.463160,14134500
+2006-06-08,14.380000,14.566667,13.706667,14.280000,13.216358,18264300
+2006-06-09,14.466666,14.713333,14.113334,14.233334,13.173166,10845600
+2006-06-12,13.986667,14.173333,13.366667,13.446667,12.445093,11580700
+2006-06-13,13.440000,13.713333,13.113334,13.240000,12.253820,13313700
+2006-06-14,13.320000,13.666667,13.180000,13.626667,12.611685,12012300
+2006-06-15,14.126667,14.866667,14.013333,14.820000,13.716134,20933400
+2006-06-16,14.720000,14.760000,14.300000,14.440000,13.364439,12586200
+2006-06-19,14.600000,14.673333,13.973333,14.006667,12.963384,9701100
+2006-06-20,13.620000,14.100000,13.566667,13.786667,12.759768,13395400
+2006-06-21,13.726666,14.160000,13.726666,13.940000,12.901680,11029300
+2006-06-22,14.093333,14.133333,13.440000,13.533334,12.525309,13308400
+2006-06-23,13.506667,13.820000,13.380000,13.540000,12.531474,8380000
+2006-06-26,13.520000,13.666667,13.346666,13.413333,12.414245,7043400
+2006-06-27,13.493333,13.506667,12.806666,12.986667,12.019357,15212800
+2006-06-28,13.086667,13.920000,12.746667,13.706667,12.685727,20834400
+2006-06-29,13.333333,14.326667,13.286667,14.326667,13.259547,17191600
+2006-06-30,14.466666,14.693334,14.086667,14.193334,13.136147,11706000
+2006-07-03,14.520000,14.533334,14.300000,14.400000,13.327418,4367400
+2006-07-05,14.173333,14.300000,13.753333,13.753333,12.728921,11492700
+2006-07-06,13.753333,13.886666,13.186666,13.326667,12.334032,11765800
+2006-07-07,13.420000,13.446667,12.766666,12.913333,11.951486,13530700
+2006-07-10,12.946667,13.040000,12.240000,12.353333,11.433196,11248000
+2006-07-11,12.313334,12.813334,12.133333,12.766666,11.815743,15014500
+2006-07-12,12.720000,12.866667,12.140000,12.153334,11.248095,11525800
+2006-07-13,11.966666,12.266666,11.780000,11.840000,10.958099,13514500
+2006-07-14,12.060000,12.126667,11.446667,11.780000,10.902568,14303700
+2006-07-17,11.726666,12.006667,11.666667,11.873333,10.988948,12570100
+2006-07-18,12.280000,12.646667,11.840000,12.520000,11.587451,24483300
+2006-07-19,12.466666,13.226666,12.373333,13.066667,12.093397,26388700
+2006-07-20,13.300000,13.533334,12.786667,12.806666,11.852763,12640000
+2006-07-21,12.373333,12.426666,11.753333,11.846666,10.964270,15847900
+2006-07-24,12.286667,13.340000,12.220000,13.040000,12.068719,24579400
+2006-07-25,13.200000,13.640000,13.006667,13.500000,12.494454,14352600
+2006-07-26,13.500000,13.660000,13.100000,13.500000,12.494454,12382900
+2006-07-27,13.673333,14.233334,13.446667,13.693334,12.673386,17358400
+2006-07-28,14.046667,15.140000,13.966666,15.113334,13.987619,20382400
+2006-07-31,14.953333,15.106667,14.720000,14.760000,13.660604,14869000
+2006-08-01,14.580000,14.606667,13.900000,14.166667,13.111465,15024100
+2006-08-02,14.480000,15.326667,14.446667,15.253333,14.117191,18919300
+2006-08-03,15.200000,16.626667,14.986667,16.213333,15.005680,22264200
+2006-08-04,16.639999,16.666666,15.580000,15.993333,14.802073,20455800
+2006-08-07,15.713333,16.006666,15.500000,15.806666,14.629309,10903600
+2006-08-08,15.933333,16.566668,15.893333,16.226667,15.018026,15495100
+2006-08-09,16.546667,17.000000,16.100000,16.219999,15.011855,14617600
+2006-08-10,16.040001,16.200001,15.766666,16.106667,14.906963,26803500
+2006-08-11,14.933333,16.006666,14.880000,15.600000,14.438037,40081800
+2006-08-14,15.793333,15.953333,15.433333,15.520000,14.363994,20235300
+2006-08-15,15.920000,17.100000,15.766666,17.013334,15.746097,22554300
+2006-08-16,17.106667,18.306667,16.666666,18.233334,16.875225,25731100
+2006-08-17,18.006666,18.480000,17.766666,17.946667,16.609909,20355600
+2006-08-18,17.966667,18.333334,17.340000,18.240000,16.881397,16647400
+2006-08-21,17.966667,18.000000,17.526667,17.566668,16.258219,12505500
+2006-08-22,17.513334,18.026667,17.500000,17.540001,16.233538,11848200
+2006-08-23,17.673334,17.853333,17.139999,17.526667,16.221195,12135300
+2006-08-24,17.573334,17.799999,17.293333,17.706667,16.387793,6520000
+2006-08-25,17.573334,17.966667,17.400000,17.653334,16.338427,5957800
+2006-08-28,17.946667,18.780001,17.913334,18.260000,16.899906,19114000
+2006-08-29,18.433332,19.173334,18.299999,19.086666,17.664999,18199000
+2006-08-30,19.193333,19.680000,19.146667,19.480000,18.029036,17039100
+2006-08-31,19.433332,19.520000,18.986666,19.406666,17.961163,12781900
+2006-09-01,19.120001,19.273333,18.520000,18.593334,17.208410,15143500
+2006-09-05,18.653334,19.073334,18.379999,19.000000,17.584789,13733800
+2006-09-06,18.666666,18.693333,18.000000,18.046667,16.702465,12339300
+2006-09-07,17.753334,18.813334,17.559999,18.406666,17.035648,18570900
+2006-09-08,18.700001,18.780001,18.059999,18.466667,17.091187,11199400
+2006-09-11,18.053333,18.966667,17.846666,18.753334,17.356493,14956600
+2006-09-12,18.666666,19.366667,18.620001,19.246666,17.813082,12460800
+2006-09-13,19.293333,19.653334,19.233334,19.400000,17.954996,11907100
+2006-09-14,19.306667,19.666666,19.073334,19.326666,17.887123,10720300
+2006-09-15,19.393333,19.799999,19.299999,19.706667,18.238821,16244100
+2006-09-18,19.760000,20.486666,19.700001,20.453333,18.929869,19847400
+2006-09-19,20.320000,20.466667,19.753334,19.920000,18.436260,17701300
+2006-09-20,20.180000,20.673334,20.139999,20.646667,19.108803,12797100
+2006-09-21,20.626667,20.833334,20.286667,20.480000,18.954550,13477600
+2006-09-22,20.420000,20.546667,19.646667,19.873333,18.393066,16333300
+2006-09-25,20.173334,20.673334,19.626667,20.586666,19.053270,17112100
+2006-09-26,20.566668,20.620001,19.893333,20.153334,18.652218,12903000
+2006-09-27,20.093334,20.733334,19.900000,20.093334,18.596684,14453500
+2006-09-28,19.306667,19.793333,19.219999,19.713333,18.244991,16183600
+2006-09-29,19.846666,20.000000,19.620001,19.726667,18.257334,9347200
+2006-10-02,19.633333,19.760000,19.066668,19.226667,17.794571,16186000
+2006-10-03,18.866667,19.013334,18.446667,18.866667,17.461386,22692300
+2006-10-04,18.893333,20.726667,18.840000,20.719999,19.176670,36509500
+2006-10-05,20.639999,20.846666,20.080000,20.133333,18.633699,16567000
+2006-10-06,20.166666,20.833334,20.106667,20.620001,19.084124,14840200
+2006-10-09,20.573334,22.219999,20.513334,21.946667,20.311975,23307600
+2006-10-10,21.833334,21.920000,21.200001,21.446667,19.849218,15616200
+2006-10-11,21.333334,21.946667,21.006666,21.566668,19.960276,12048600
+2006-10-12,21.686666,22.100000,21.340000,21.653334,20.040489,10368000
+2006-10-13,21.580000,22.639999,21.226667,22.513334,20.836430,14604700
+2006-10-16,22.586666,22.953333,22.073334,22.473333,20.799412,11974200
+2006-10-17,22.106667,22.260000,21.400000,21.613333,20.003466,13162600
+2006-10-18,21.933332,22.166666,20.886667,21.040001,19.472839,20568700
+2006-10-19,20.959999,21.600000,20.793333,21.440001,19.843042,11826000
+2006-10-20,21.606667,21.620001,20.886667,21.193333,19.614754,8986900
+2006-10-23,21.146667,21.660000,21.000000,21.053333,19.485178,7006200
+2006-10-24,21.093334,21.906666,21.033333,21.666666,20.052826,12982200
+2006-10-25,21.873333,22.200001,21.506666,21.866667,20.237932,9735900
+2006-10-26,21.920000,22.633333,21.920000,22.559999,20.879622,9167200
+2006-10-27,22.559999,23.059999,21.333334,21.586666,19.978786,14174700
+2006-10-30,21.733334,22.233334,21.500000,21.846666,20.219421,11989800
+2006-10-31,22.326666,23.246666,22.213333,23.246666,21.515141,24904300
+2006-11-01,22.940001,23.153334,21.133333,21.453333,19.855383,29413500
+2006-11-02,21.553333,22.020000,21.013334,21.306667,19.719639,21573600
+2006-11-03,21.546667,21.760000,21.200001,21.733334,20.114531,13701700
+2006-11-06,21.793333,22.693333,21.520000,22.393333,20.725363,18490000
+2006-11-07,22.559999,22.973333,22.433332,22.733334,21.040043,13831300
+2006-11-08,22.573334,23.346666,22.520000,23.066668,21.348547,16208100
+2006-11-09,23.540001,24.133333,23.326666,23.526667,21.774288,30193900
+2006-11-10,23.326666,23.440001,22.379999,22.959999,21.249823,32929800
+2006-11-13,23.006666,24.066668,23.000000,24.000000,22.212366,21307000
+2006-11-14,23.913334,24.286667,23.400000,24.240000,22.434484,15713200
+2006-11-15,24.166666,24.500000,23.706667,23.840000,22.064285,12297300
+2006-11-16,23.940001,24.233334,23.733334,24.146667,22.348104,11429500
+2006-11-17,23.980000,24.280001,23.833334,24.213333,22.409807,9040200
+2006-11-20,23.913334,24.573334,23.733334,24.440001,22.619589,15215800
+2006-11-21,24.513334,24.553333,23.893333,24.059999,22.267895,9684600
+2006-11-22,24.146667,24.500000,24.020000,24.473333,22.650444,6006400
+2006-11-24,24.353333,24.706667,24.133333,24.653334,22.817036,3608400
+2006-11-27,24.506666,24.833334,23.373333,23.540001,21.786627,14632300
+2006-11-28,23.459999,24.193333,23.093334,23.980000,22.193855,12024100
+2006-11-29,24.200001,24.626667,24.106667,24.333334,22.520872,14494800
+2006-11-30,24.333334,24.860001,24.040001,24.660000,22.823200,14590800
+2006-12-01,24.386667,24.420000,23.480000,23.693333,21.928539,19625200
+2006-12-04,24.000000,24.959999,23.913334,24.653334,22.817036,15539200
+2006-12-05,24.393333,24.540001,24.126667,24.400000,22.582567,16583800
+2006-12-06,24.480000,24.480000,24.033333,24.366667,22.551718,11956000
+2006-12-07,24.366667,24.500000,23.566668,23.780001,22.008749,12172300
+2006-12-08,23.606667,24.026667,23.266666,23.700001,21.934710,14121400
+2006-12-11,23.706667,24.393333,23.653334,24.106667,22.311090,12887100
+2006-12-12,23.926666,24.006666,23.540001,23.860001,22.082792,14202900
+2006-12-13,24.053333,24.333334,24.053333,24.139999,22.341932,12298800
+2006-12-14,24.333334,24.873333,24.313334,24.566668,22.736820,17884500
+2006-12-15,24.726667,25.000000,24.573334,25.000000,23.137877,18652300
+2006-12-18,25.026667,25.733334,25.013334,25.433332,23.538937,17208900
+2006-12-19,25.106667,25.933332,25.073334,25.799999,23.878292,13640500
+2006-12-20,25.666666,25.973333,25.486666,25.506666,23.606812,7664800
+2006-12-21,25.646667,25.719999,25.000000,25.286667,23.403196,9198000
+2006-12-22,25.246666,25.333334,24.566668,24.686666,22.847885,9254200
+2006-12-26,24.820000,25.040001,24.580000,24.680000,22.841715,5704800
+2006-12-27,24.786667,25.093334,24.786667,25.006666,23.144049,6623800
+2006-12-28,25.033333,25.059999,24.713333,24.826666,22.977455,5347800
+2006-12-29,24.826666,25.346666,24.646667,24.673334,22.835548,9652300
+2007-01-03,24.713333,25.013334,23.193333,24.053333,22.261728,28870500
+2007-01-04,23.966667,24.053333,23.353333,23.940001,22.156837,19932400
+2007-01-05,23.373333,23.466667,22.280001,22.440001,20.768562,31083600
+2007-01-08,22.520000,23.040001,22.133333,22.606667,20.922813,16431700
+2007-01-09,22.639999,22.793333,22.139999,22.166666,20.515587,19104100
+2007-01-10,21.933332,23.466667,21.600000,23.260000,21.527485,27718600
+2007-01-11,23.260000,23.440001,22.793333,23.173334,21.447273,23112600
+2007-01-12,22.826666,23.580000,22.719999,23.486666,21.737265,17454700
+2007-01-16,23.666666,23.680000,23.260000,23.526667,21.774288,17796600
+2007-01-17,23.200001,23.340000,22.946667,23.033333,21.317699,17698300
+2007-01-18,22.833334,22.833334,20.840000,21.126667,19.553049,37540900
+2007-01-19,20.900000,21.693333,20.753334,21.253334,19.670282,23565100
+2007-01-22,21.453333,21.799999,21.173334,21.253334,19.670282,18266100
+2007-01-23,21.153334,21.600000,20.760000,21.260000,19.676455,15758800
+2007-01-24,21.533333,22.206667,21.433332,21.920000,20.287294,17143000
+2007-01-25,22.120001,22.200001,21.046667,21.153334,19.577732,15407100
+2007-01-26,21.333334,21.540001,20.600000,20.980000,19.417307,20739600
+2007-01-29,20.886667,20.900000,19.940001,20.120001,18.621368,31457100
+2007-01-30,20.253334,20.639999,20.073334,20.506666,18.979227,15904300
+2007-01-31,20.406666,20.626667,20.153334,20.433332,18.911362,11699400
+2007-02-01,20.240000,20.799999,20.200001,20.693333,19.151989,16272400
+2007-02-02,20.806667,21.333334,20.633333,21.233334,19.651770,14664700
+2007-02-05,21.333334,21.760000,21.299999,21.580000,19.972612,14497600
+2007-02-06,22.066668,22.626667,21.740000,22.346666,20.682180,19384600
+2007-02-07,22.526667,23.273333,22.393333,23.219999,21.490459,19026400
+2007-02-08,22.866667,23.246666,22.666666,22.920000,21.212803,18156900
+2007-02-09,23.033333,23.226667,21.680000,21.766666,20.145384,23448900
+2007-02-12,21.926666,22.719999,21.693333,22.246666,20.589626,19734000
+2007-02-13,22.606667,22.846666,22.379999,22.666666,20.978340,21243300
+2007-02-14,22.866667,23.000000,22.313334,22.366667,20.700691,27046200
+2007-02-15,22.353333,22.613333,22.139999,22.500000,20.824089,12217000
+2007-02-16,22.406666,22.433332,21.746666,21.813334,20.188572,22876500
+2007-02-20,21.846666,22.126667,21.693333,22.006666,20.367502,15639400
+2007-02-21,21.826666,22.059999,21.459999,21.680000,20.065166,16383300
+2007-02-22,22.020000,22.373333,21.766666,21.820000,20.194742,16386300
+2007-02-23,22.026667,22.040001,21.760000,21.766666,20.145384,10076200
+2007-02-26,21.826666,21.993334,21.400000,21.433332,19.836874,12351700
+2007-02-27,21.200001,21.700001,20.753334,20.786667,19.238379,17865700
+2007-02-28,20.726667,21.113333,20.473333,20.666666,19.127317,19501200
+2007-03-01,20.219999,20.793333,19.953333,20.413334,18.892847,20930700
+2007-03-02,20.233334,20.480000,19.806667,19.846666,18.368387,17068200
+2007-03-05,19.500000,19.886667,19.106667,19.173334,17.745213,16588900
+2007-03-06,19.593334,20.526667,19.513334,20.306667,18.794128,20149300
+2007-03-07,20.206667,20.299999,19.646667,19.733334,18.263498,20291400
+2007-03-08,20.146667,20.773333,20.133333,20.546667,19.016249,19265500
+2007-03-09,20.833334,21.066668,20.106667,20.340000,18.824976,13882600
+2007-03-12,20.106667,20.513334,20.080000,20.219999,18.713917,10700200
+2007-03-13,20.013334,20.133333,19.353333,19.366667,17.924143,15426700
+2007-03-14,19.420000,19.533333,18.693333,19.273333,17.837765,24290200
+2007-03-15,19.226667,19.400000,18.786667,19.080000,17.658825,16393800
+2007-03-16,19.093334,19.126667,18.766666,18.900000,17.492239,13141200
+2007-03-19,19.000000,19.299999,18.933332,18.993334,17.578619,11537700
+2007-03-20,18.933332,19.366667,18.826666,18.900000,17.492239,16412200
+2007-03-21,19.666666,20.293333,19.293333,19.980000,18.491789,31709400
+2007-03-22,20.000000,20.540001,19.906666,20.420000,18.899019,20273800
+2007-03-23,20.266666,20.626667,20.046667,20.193333,18.689236,13116000
+2007-03-26,20.206667,20.400000,19.866667,20.233334,18.726255,11183400
+2007-03-27,20.186666,20.226667,19.833334,19.853333,18.374561,11725500
+2007-03-28,19.686666,19.853333,19.440001,19.473333,18.022863,11487600
+2007-03-29,19.766666,19.793333,18.820000,19.133333,17.708191,17975400
+2007-03-30,19.393333,19.533333,19.086666,19.186666,17.757547,14531100
+2007-04-02,19.139999,19.299999,18.853333,19.166666,17.739037,10020700
+2007-04-03,19.166666,19.379999,18.913334,19.093334,17.671169,11843100
+2007-04-04,19.066668,19.219999,19.000000,19.053333,17.634150,9042300
+2007-04-05,19.133333,20.620001,19.133333,20.600000,19.065613,33322500
+2007-04-09,20.600000,20.833334,20.186666,20.226667,18.720093,16023700
+2007-04-10,20.200001,20.433332,19.980000,20.020000,18.528816,19855500
+2007-04-11,20.059999,20.260000,19.593334,19.660000,18.195627,20253700
+2007-04-12,19.553333,20.280001,19.426666,20.219999,18.713917,18591000
+2007-04-13,20.153334,20.426666,19.906666,20.386667,18.868170,15967300
+2007-04-16,20.333334,20.486666,20.020000,20.280001,18.769444,16795900
+2007-04-17,20.793333,21.266666,20.373333,20.473333,18.948380,26477700
+2007-04-18,20.440001,20.906666,20.333334,20.726667,19.182840,17095000
+2007-04-19,20.559999,21.133333,20.500000,21.013334,19.448162,14201400
+2007-04-20,21.320000,21.333334,20.980000,21.260000,19.676455,14751300
+2007-04-23,21.160000,21.200001,20.853333,20.913334,19.355606,14881800
+2007-04-24,21.266666,21.893333,21.126667,21.700001,20.083681,25702200
+2007-04-25,21.666666,22.193333,21.566668,22.073334,20.429199,12741000
+2007-04-26,22.073334,22.513334,21.873333,22.346666,20.682180,12501700
+2007-04-27,22.273333,22.520000,21.693333,22.046667,20.404524,13851400
+2007-04-30,22.346666,22.626667,21.920000,21.926666,20.293461,14084700
+2007-05-01,22.326666,22.473333,21.980000,22.160000,20.509415,13613800
+2007-05-02,22.273333,22.366667,21.786667,21.900000,20.268782,16491400
+2007-05-03,22.106667,22.459999,22.066668,22.313334,20.651331,12506200
+2007-05-04,22.433332,22.586666,22.219999,22.473333,20.799412,10131100
+2007-05-07,22.799999,23.053333,22.000000,22.026667,20.386017,13927500
+2007-05-08,21.893333,22.246666,21.466667,22.193333,20.540264,18427500
+2007-05-09,22.033333,22.420000,21.780001,22.293333,20.632811,10446700
+2007-05-10,22.386667,22.680000,21.686666,21.879999,20.250271,20064600
+2007-05-11,23.059999,23.653334,22.706667,23.426666,21.681732,38265700
+2007-05-14,23.333334,23.553333,22.973333,23.193333,21.465778,18289200
+2007-05-15,23.260000,23.400000,22.933332,22.986666,21.274508,15534000
+2007-05-16,23.006666,23.280001,22.566668,23.280001,21.545996,13077600
+2007-05-17,23.213333,23.333334,22.760000,22.893333,21.188129,11091600
+2007-05-18,23.066668,23.413334,22.873333,23.346666,21.607698,15106600
+2007-05-21,23.280001,24.000000,23.166666,23.420000,21.675570,16144200
+2007-05-22,23.440001,23.760000,23.059999,23.546667,21.792795,10043400
+2007-05-23,23.559999,23.700001,22.853333,22.920000,21.212803,11206200
+2007-05-24,23.026667,23.093334,22.000000,22.093334,20.447718,15195000
+2007-05-25,22.253334,22.553333,22.186666,22.440001,20.768562,7724400
+2007-05-29,22.346666,22.753334,22.280001,22.680000,20.990686,7906000
+2007-05-30,22.413334,22.733334,22.133333,22.733334,21.040043,8291200
+2007-05-31,22.900000,23.233334,22.793333,23.093334,21.373234,12039300
+2007-06-01,23.353333,23.700001,23.213333,23.253334,21.521315,10727100
+2007-06-04,23.040001,23.513334,22.946667,23.379999,21.638540,8050000
+2007-06-05,23.446667,24.113333,23.406666,24.073334,22.280233,17464600
+2007-06-06,23.906666,24.639999,23.806667,24.253334,22.446831,23768400
+2007-06-07,24.139999,24.500000,23.986666,23.993334,22.206194,19796500
+2007-06-08,23.793333,24.400000,23.500000,24.366667,22.551718,13331700
+2007-06-11,24.366667,24.600000,24.233334,24.453333,22.631927,10865800
+2007-06-12,24.326666,24.666666,24.186666,24.200001,22.397467,13169200
+2007-06-13,24.466667,24.786667,24.153334,24.780001,22.934269,14680800
+2007-06-14,24.666666,25.313334,24.633333,25.219999,23.341492,12713700
+2007-06-15,25.506666,26.566668,25.500000,26.366667,24.402748,27049900
+2007-06-18,26.633333,26.726667,26.166666,26.379999,24.415089,17141500
+2007-06-19,26.213333,26.606667,26.033333,26.546667,24.569338,12298800
+2007-06-20,26.666666,26.799999,26.393333,26.573334,24.594023,20569800
+2007-06-21,27.086666,28.886667,26.879999,28.653334,26.519094,32433100
+2007-06-22,28.666666,29.246666,28.233334,29.080000,26.913984,22065400
+2007-06-25,28.266666,28.959999,28.006666,28.313334,26.204422,20492500
+2007-06-26,28.240000,28.320000,26.933332,27.000000,24.988909,21712000
+2007-06-27,27.000000,27.760000,26.866667,27.726667,25.661451,15328500
+2007-06-28,27.806667,28.293333,27.533333,27.993334,25.908258,14938300
+2007-06-29,28.180000,28.186666,27.526667,27.540001,25.488688,12914200
+2007-07-02,27.933332,28.700001,27.846666,28.686666,26.549942,14096200
+2007-07-03,28.666666,28.959999,28.433332,28.733334,26.593134,5969200
+2007-07-05,28.740000,29.133333,28.600000,29.040001,26.876961,9332200
+2007-07-06,29.000000,29.293333,28.946667,29.180000,27.006531,7068000
+2007-07-09,29.286667,30.166666,29.280001,30.026667,27.790138,13419600
+2007-07-10,29.873333,30.500000,29.553333,30.320000,28.061621,13816300
+2007-07-11,30.313334,30.520000,29.766666,30.186666,27.938221,14565300
+2007-07-12,30.400000,30.799999,30.186666,30.766666,28.475014,10968300
+2007-07-13,30.680000,31.046667,30.546667,30.580000,28.302254,9315700
+2007-07-16,30.606667,31.260000,30.600000,31.133333,28.814375,13542700
+2007-07-17,31.260000,31.886667,30.973333,31.000000,28.690969,16095300
+2007-07-18,30.553333,30.646667,29.833334,30.433332,28.166508,13766400
+2007-07-19,30.866667,31.020000,30.186666,30.400000,28.135658,10184400
+2007-07-20,30.600000,30.706667,29.920000,30.066668,27.827160,12641200
+2007-07-23,29.959999,30.986666,29.893333,30.366667,28.104807,9011800
+2007-07-24,30.246666,30.500000,29.379999,29.566668,27.364401,11439000
+2007-07-25,29.573334,29.993334,28.746666,29.426666,27.234827,10929900
+2007-07-26,29.113333,29.986666,28.719999,29.573334,27.370569,17756700
+2007-07-27,29.500000,30.860001,29.486666,29.500000,27.302696,15387000
+2007-07-30,29.606667,30.373333,29.600000,30.326666,28.067789,13453900
+2007-07-31,31.526667,31.953333,30.466667,30.506666,28.234383,17787300
+2007-08-01,30.066668,30.806667,28.866667,30.280001,28.024597,17645700
+2007-08-02,30.626667,30.653334,29.740000,30.146667,27.901197,11715100
+2007-08-03,30.046667,30.266666,28.346666,28.360001,26.247610,15585300
+2007-08-06,28.600000,28.813334,27.799999,28.600000,26.469730,13118100
+2007-08-07,28.600000,29.526667,28.219999,29.053333,26.889301,14144100
+2007-08-08,29.580000,31.299999,29.353333,30.393333,28.129488,16518600
+2007-08-09,30.600000,31.600000,29.900000,30.753334,28.462675,31295800
+2007-08-10,28.233334,29.526667,27.593334,29.326666,27.142271,28525300
+2007-08-13,29.559999,29.760000,28.400000,29.006666,26.846111,17510200
+2007-08-14,29.206667,30.600000,29.120001,30.133333,27.888857,27304300
+2007-08-15,29.973333,30.400000,28.820000,28.860001,26.710367,17378500
+2007-08-16,28.573334,28.780001,27.000000,28.379999,26.266119,19500700
+2007-08-17,29.166666,30.080000,28.260000,30.053333,27.814814,18217800
+2007-08-20,30.073334,30.400000,29.566668,29.933332,27.703754,12992100
+2007-08-21,30.113333,31.793333,29.666666,31.553333,29.203089,17883400
+2007-08-22,32.353333,32.459999,31.700001,32.273335,29.869459,14153800
+2007-08-23,32.426666,32.806667,31.860001,32.000000,29.616486,16699600
+2007-08-24,31.906666,32.226665,31.673334,32.166668,29.770739,9041100
+2007-08-27,32.166668,33.233334,32.020000,32.893333,30.443283,15898600
+2007-08-28,33.000000,33.133335,30.813334,30.886667,28.586077,14000500
+2007-08-29,31.533333,32.680000,31.466667,32.639999,30.208818,13464000
+2007-08-30,32.326668,33.259998,32.313332,32.453335,30.036053,11641500
+2007-08-31,33.133335,34.233334,32.953335,34.106667,31.566244,18020800
+2007-09-04,34.259998,35.306667,33.726665,35.160000,32.541119,17081700
+2007-09-05,35.006668,36.000000,34.866665,34.893333,32.294312,16406800
+2007-09-06,35.326668,35.646667,34.900002,35.046665,32.436222,10637400
+2007-09-07,34.073334,34.426666,33.113335,33.766666,31.251554,15057600
+2007-09-10,34.500000,35.099998,33.580002,33.860001,31.337944,21802800
+2007-09-11,34.270000,34.840000,33.910000,34.580002,32.004322,10135600
+2007-09-12,34.950001,35.119999,32.880001,33.220001,30.745615,13861300
+2007-09-13,33.849998,33.889999,32.990002,33.230000,30.754866,11321600
+2007-09-14,32.900002,32.939999,32.150002,32.250000,29.847864,12182700
+2007-09-17,32.299999,32.639999,31.830000,32.180000,29.783079,9370700
+2007-09-18,32.520000,35.500000,32.470001,35.000000,32.393028,21118500
+2007-09-19,35.320000,36.000000,34.020000,34.360001,31.800695,13034000
+2007-09-20,34.380001,34.750000,33.779999,34.160000,31.615599,8104300
+2007-09-21,34.500000,35.000000,34.160000,34.490002,31.921015,11438300
+2007-09-24,34.700001,35.900002,34.450001,35.369999,32.735474,11409000
+2007-09-25,35.160000,35.970001,35.060001,35.820000,33.151951,9018700
+2007-09-26,36.000000,36.750000,35.910000,36.669998,33.938637,12950800
+2007-09-27,37.020000,37.200001,36.389999,36.779999,34.040443,9457000
+2007-09-28,37.000000,37.130001,36.160000,36.240002,33.540680,10107300
+2007-10-01,36.549999,37.950001,36.509998,37.770000,34.956703,9955000
+2007-10-02,37.680000,37.750000,36.860001,37.410000,34.623516,7124000
+2007-10-03,36.750000,36.750000,35.230000,35.820000,33.151951,11679900
+2007-10-04,35.779999,36.189999,34.750000,35.980000,33.300037,9474400
+2007-10-05,36.549999,37.130001,36.160000,36.930000,34.179276,8621000
+2007-10-08,37.189999,37.590000,36.750000,37.529999,34.734581,6312100
+2007-10-09,37.529999,37.700001,36.320000,36.869999,34.123737,10075200
+2007-10-10,37.119999,37.119999,36.020000,36.910000,34.160778,9728400
+2007-10-11,36.570000,37.029999,34.869999,35.270000,32.642914,13227600
+2007-10-12,35.660000,36.130001,35.110001,36.130001,33.438854,10248800
+2007-10-15,36.250000,36.860001,36.080002,36.389999,33.679497,8897500
+2007-10-16,36.349998,37.369999,36.220001,36.720001,33.984913,6909000
+2007-10-17,38.150002,39.650002,38.110001,39.540001,36.594883,17948600
+2007-10-18,39.410000,39.669998,38.419998,39.509998,36.567104,8515500
+2007-10-19,39.419998,39.439999,37.380001,37.389999,34.605000,12644200
+2007-10-22,37.150002,39.240002,36.849998,39.160000,36.243172,13441400
+2007-10-23,39.669998,39.669998,38.279999,39.349998,36.419018,7357300
+2007-10-24,38.500000,38.500000,36.150002,38.020000,35.188091,14137500
+2007-10-25,36.849998,37.200001,33.590000,34.700001,32.115383,20154800
+2007-10-26,35.799999,36.040001,33.900002,34.400002,31.837725,15414500
+2007-10-29,33.220001,33.750000,32.560001,33.590000,31.088053,20347400
+2007-10-30,33.860001,35.529999,33.299999,34.820000,32.226440,13130300
+2007-10-31,35.029999,35.400002,33.939999,35.380001,32.744732,11379700
+2007-11-01,34.830002,36.090000,34.349998,35.380001,32.744732,14680900
+2007-11-02,35.869999,37.000000,35.369999,36.740002,34.003422,12296100
+2007-11-05,36.430000,37.619999,36.200001,36.740002,34.003422,10915900
+2007-11-06,37.090000,38.200001,36.919998,37.900002,35.077026,13865500
+2007-11-07,37.880001,38.029999,35.799999,36.099998,33.411098,13669200
+2007-11-08,35.750000,36.400002,32.810001,33.840000,31.319435,24920600
+2007-11-09,34.549999,34.799999,32.650002,33.360001,30.875193,21776400
+2007-11-12,33.349998,33.590000,30.030001,30.030001,27.793217,17893300
+2007-11-13,30.520000,32.709999,30.030001,32.680000,30.245836,18167400
+2007-11-14,33.509998,33.830002,32.000000,32.169998,29.773821,16668000
+2007-11-15,31.959999,32.259998,31.000000,31.740000,29.375851,12410900
+2007-11-16,32.000000,32.540001,31.740000,32.450001,30.032969,10589800
+2007-11-19,31.990000,32.150002,30.090000,30.260000,28.006086,14210300
+2007-11-20,30.830000,30.879999,29.110001,30.030001,27.793217,15565700
+2007-11-21,29.400000,30.420000,29.309999,29.709999,27.497055,16211300
+2007-11-23,29.920000,30.350000,29.540001,30.219999,27.969067,3549400
+2007-11-26,30.200001,30.820000,29.459999,29.520000,27.321207,9647400
+2007-11-27,29.940001,30.879999,29.709999,30.790001,28.496613,11471400
+2007-11-28,31.760000,33.290001,31.610001,32.849998,30.403172,14363700
+2007-11-29,32.799999,34.099998,32.660000,33.119999,30.653063,12227100
+2007-11-30,34.200001,34.200001,31.440001,31.540001,29.190750,16316400
+2007-12-03,32.000000,32.590000,31.510000,32.000000,29.616486,12267200
+2007-12-04,32.139999,32.250000,31.350000,31.969999,29.588720,9292800
+2007-12-05,33.189999,34.250000,32.779999,33.630001,31.125072,16667600
+2007-12-06,33.549999,34.419998,33.250000,34.310001,31.754421,9278800
+2007-12-07,34.450001,34.490002,33.529999,33.880001,31.356447,8007300
+2007-12-10,33.990002,34.650002,33.889999,34.250000,31.698889,8409000
+2007-12-11,34.980000,35.619999,34.209999,34.290001,31.735918,14560900
+2007-12-12,35.740002,36.090000,34.779999,35.470001,32.828026,15437600
+2007-12-13,35.040001,35.270000,33.480000,34.500000,31.930283,12509100
+2007-12-14,34.340000,35.450001,34.110001,35.070000,32.457817,8850400
+2007-12-17,34.700001,35.029999,33.200001,33.279999,30.801138,12685200
+2007-12-18,33.790001,34.500000,33.450001,34.130001,31.587835,9922400
+2007-12-19,34.009998,34.770000,33.869999,34.450001,31.884001,6338400
+2007-12-20,35.000000,35.250000,34.270000,35.169998,32.550365,6998500
+2007-12-21,35.590000,35.900002,34.840000,35.160000,32.541119,10835200
+2007-12-24,35.419998,35.950001,35.160000,35.779999,33.114941,2600200
+2007-12-26,35.849998,36.259998,35.500000,36.259998,33.559174,5383500
+2007-12-27,36.200001,36.400002,35.049999,35.139999,32.522606,6034200
+2007-12-28,35.080002,35.500000,34.490002,34.790001,32.198673,6551600
+2007-12-31,34.509998,35.139999,34.009998,34.020000,31.486027,6905900
+2008-01-02,34.119999,34.250000,32.560001,33.009998,30.551252,12099100
+2008-01-03,33.200001,33.860001,32.630001,32.750000,30.310623,11882700
+2008-01-04,31.770000,31.930000,29.799999,30.000000,27.765457,18402300
+2008-01-07,30.200001,30.450001,26.350000,26.900000,24.896360,25170000
+2008-01-08,27.049999,29.290001,26.420000,27.469999,25.423901,27673900
+2008-01-09,27.840000,28.900000,27.430000,28.889999,26.738134,18525900
+2008-01-10,28.100000,28.740000,27.730000,28.290001,26.182819,13860800
+2008-01-11,27.620001,28.200001,26.850000,27.049999,25.035185,14315300
+2008-01-14,27.450001,28.889999,27.010000,28.850000,26.701115,13479700
+2008-01-15,27.750000,28.080000,26.260000,26.730000,24.739016,18142300
+2008-01-16,25.049999,25.360001,23.160000,23.709999,21.943970,36611800
+2008-01-17,24.080000,24.719999,23.240000,23.299999,21.564501,28347500
+2008-01-18,23.370001,24.969999,22.520000,24.840000,22.989794,23010700
+2008-01-22,22.469999,24.180000,22.330000,23.600000,21.842157,17727300
+2008-01-23,22.639999,24.740000,22.420000,24.030001,22.240126,23247000
+2008-01-24,24.500000,25.879999,24.270000,25.870001,23.943081,14927300
+2008-01-25,26.860001,27.459999,24.830000,24.950001,23.091604,17200300
+2008-01-28,24.860001,25.110001,24.120001,24.650000,22.813946,14440200
+2008-01-29,25.090000,25.510000,24.440001,25.410000,23.517345,10362100
+2008-01-30,25.000000,25.570000,24.469999,25.190001,23.313725,13261900
+2008-01-31,24.639999,25.049999,23.830000,24.590000,22.758421,14717700
+2008-02-01,24.540001,27.000000,24.330000,26.860001,24.859343,14827600
+2008-02-04,27.440001,27.590000,25.879999,26.020000,24.081909,14128200
+2008-02-05,25.500000,25.510000,24.379999,24.389999,22.573315,12373200
+2008-02-06,24.650000,25.330000,23.860001,24.309999,22.499277,13934500
+2008-02-07,23.610001,25.240000,23.100000,24.549999,22.721399,16603200
+2008-02-08,24.320000,25.180000,24.000000,24.990000,23.128624,9848300
+2008-02-11,25.200001,25.610001,24.900000,25.070000,23.202663,12593300
+2008-02-12,25.450001,26.360001,25.309999,26.000000,24.063395,15242200
+2008-02-13,26.200001,27.100000,25.920000,27.020000,25.007423,18557800
+2008-02-14,26.230000,26.250000,22.549999,22.610001,20.925894,54607400
+2008-02-15,22.520000,23.129999,21.910000,22.270000,20.611221,20434100
+2008-02-19,22.680000,22.719999,21.750000,21.940001,20.305799,13965200
+2008-02-20,21.299999,22.100000,21.209999,21.780001,20.157722,18975400
+2008-02-21,22.000000,22.110001,21.160000,21.290001,19.704216,16106800
+2008-02-22,21.459999,22.360001,21.299999,22.320000,20.657497,18076300
+2008-02-25,22.299999,22.559999,21.719999,22.309999,20.648235,16794600
+2008-02-26,22.180000,22.840000,21.840000,22.500000,20.824089,14135500
+2008-02-27,22.389999,23.030001,22.250000,22.850000,21.148024,13445400
+2008-02-28,22.650000,22.690001,21.990000,21.990000,20.352079,12590200
+2008-02-29,21.629999,21.920000,21.299999,21.389999,19.796770,13514400
+2008-03-03,21.360001,21.510000,20.860001,21.139999,19.565390,11225700
+2008-03-04,21.000000,21.040001,20.110001,20.930000,19.371033,19472200
+2008-03-05,21.129999,21.670000,20.910000,21.170000,19.593159,16116400
+2008-03-06,20.910000,21.049999,19.809999,19.840000,18.362219,26882100
+2008-03-07,19.480000,20.320000,19.000000,19.549999,18.093821,19187500
+2008-03-10,19.309999,19.549999,18.400000,18.430000,17.057243,19402500
+2008-03-11,19.000000,19.230000,18.240000,19.040001,17.621805,21448500
+2008-03-12,19.219999,19.389999,18.360001,18.520000,17.140541,18583000
+2008-03-13,18.230000,19.980000,18.120001,19.700001,18.232649,30513200
+2008-03-14,19.799999,19.820000,18.180000,18.320000,16.955439,28874300
+2008-03-17,17.520000,18.480000,17.309999,17.860001,16.529703,20023800
+2008-03-18,18.280001,19.000000,17.760000,18.969999,17.557016,26881400
+2008-03-19,18.530001,18.790001,17.660000,17.660000,16.344597,22011900
+2008-03-20,17.870001,18.559999,17.549999,18.520000,17.140541,15836500
+2008-03-24,18.930000,20.139999,18.860001,20.030001,18.538071,22186000
+2008-03-25,20.120001,20.700001,19.930000,20.320000,18.806469,18384700
+2008-03-26,20.049999,20.190001,19.450001,19.670000,18.204885,18041300
+2008-03-27,19.370001,19.920000,19.070000,19.389999,17.945732,15032700
+2008-03-28,19.740000,20.190001,19.540001,19.680000,18.214140,14044700
+2008-03-31,19.889999,20.260000,19.540001,19.790001,18.315941,14249800
+2008-04-01,20.379999,21.049999,20.090000,21.000000,19.435820,16921800
+2008-04-02,21.059999,21.059999,20.200001,20.360001,18.843487,15413400
+2008-04-03,20.190001,20.219999,19.389999,19.980000,18.491789,21049600
+2008-04-04,19.580000,19.680000,18.730000,18.780001,17.381182,38388200
+2008-04-07,19.240000,19.520000,19.080000,19.230000,17.797657,18237400
+2008-04-08,19.000000,19.740000,19.000000,19.120001,17.695854,15986900
+2008-04-09,19.340000,19.700001,19.160000,19.500000,18.047544,16880800
+2008-04-10,19.709999,20.510000,19.290001,19.879999,18.399239,27304600
+2008-04-11,19.500000,19.620001,18.410000,18.530001,17.149796,27657000
+2008-04-14,18.459999,18.500000,17.799999,17.910000,16.575975,19500100
+2008-04-15,18.000000,18.190001,17.610001,18.120001,16.770340,10997900
+2008-04-16,18.809999,19.080000,18.480000,18.840000,17.436707,16170900
+2008-04-17,17.969999,18.650000,17.959999,18.580000,17.196070,14924200
+2008-04-18,19.150000,19.320000,18.760000,19.020000,17.603296,14338500
+2008-04-21,18.870001,20.000000,18.870001,19.870001,18.389984,16997300
+2008-04-22,19.510000,19.719999,19.080000,19.500000,18.047544,14691700
+2008-04-23,19.770000,20.660000,19.510000,20.440001,18.917532,25512400
+2008-04-24,20.559999,20.660000,19.650000,19.950001,18.464027,16394100
+2008-04-25,20.139999,20.200001,19.510000,20.150000,18.649128,13805200
+2008-04-28,20.059999,20.360001,19.709999,19.790001,18.315941,13392500
+2008-04-29,19.570000,20.450001,19.570000,20.200001,18.695410,14335200
+2008-04-30,20.440001,20.770000,20.299999,20.549999,19.019335,26708000
+2008-05-01,20.799999,21.549999,20.700001,21.500000,19.898571,25365600
+2008-05-02,22.090000,22.520000,21.760000,22.520000,20.842598,28275400
+2008-05-05,22.370001,22.469999,21.910000,21.959999,20.324314,23584800
+2008-05-06,21.900000,22.580000,21.559999,22.530001,20.851856,18225900
+2008-05-07,22.590000,22.889999,21.820000,22.010000,20.370594,17890800
+2008-05-08,22.180000,22.250000,21.010000,21.950001,20.315060,34000000
+2008-05-09,22.010000,23.430000,21.969999,22.530001,20.851856,50758800
+2008-05-12,22.820000,22.820000,21.670000,21.889999,20.259523,25166300
+2008-05-13,22.000000,22.000000,21.280001,21.440001,19.843042,21352700
+2008-05-14,21.709999,22.639999,21.440001,22.070000,20.426119,18778700
+2008-05-15,22.020000,23.879999,21.920000,23.780001,22.008749,29136600
+2008-05-16,24.180000,24.459999,23.629999,24.410000,22.591824,27288900
+2008-05-19,24.420000,25.309999,23.730000,23.900000,22.119810,28963300
+2008-05-20,23.250000,23.520000,23.010000,23.280001,21.545996,19285100
+2008-05-21,23.340000,24.240000,23.040001,23.090000,21.370148,26666500
+2008-05-22,23.420000,23.840000,23.049999,23.650000,21.888437,17327700
+2008-05-23,23.610001,23.799999,22.770000,23.110001,21.388655,20066800
+2008-05-27,23.150000,23.389999,22.709999,23.360001,21.620035,20821400
+2008-05-28,24.000000,24.059999,23.309999,23.580000,21.823645,18793400
+2008-05-29,23.590000,23.629999,23.090000,23.520000,21.768116,17336500
+2008-05-30,24.190001,24.780001,24.120001,24.700001,22.860229,20756100
+2008-06-02,24.700001,24.990000,24.430000,24.799999,22.952778,18366500
+2008-06-03,24.879999,24.920000,23.670000,23.959999,22.175343,21017400
+2008-06-04,23.430000,24.290001,23.299999,24.240000,22.434484,20793100
+2008-06-05,25.080000,25.350000,24.570000,24.850000,22.999048,20696500
+2008-06-06,24.549999,24.580000,23.920000,24.059999,22.267895,19621900
+2008-06-09,23.920000,24.250000,23.209999,23.690001,21.925455,15947900
+2008-06-10,23.049999,23.080000,22.139999,22.290001,20.629730,30630200
+2008-06-11,22.290001,22.830000,21.219999,21.250000,19.667194,24985700
+2008-06-12,21.730000,22.150000,21.200001,21.379999,19.787516,20649800
+2008-06-13,21.410000,21.660000,20.680000,21.309999,19.722723,17643700
+2008-06-16,21.080000,21.280001,20.850000,21.020000,19.454330,15762400
+2008-06-17,21.320000,21.330000,20.459999,20.510000,18.982315,17197800
+2008-06-18,20.299999,21.000000,19.580000,19.910000,18.427010,26631800
+2008-06-19,20.020000,20.299999,19.379999,19.860001,18.380733,19623200
+2008-06-20,19.420000,19.980000,19.410000,19.760000,18.288177,18525200
+2008-06-23,19.910000,19.930000,19.180000,19.350000,17.908716,19415400
+2008-06-24,19.240000,20.450001,19.240000,19.990000,18.501047,26973200
+2008-06-25,20.299999,20.450001,19.780001,20.100000,18.602858,22524400
+2008-06-26,19.500000,19.650000,19.070000,19.070000,17.649570,21138300
+2008-06-27,19.150000,19.389999,18.709999,19.280001,17.843933,14603500
+2008-06-30,19.059999,19.230000,18.590000,18.719999,17.325642,16348500
+2008-07-01,18.500000,18.770000,18.160000,18.750000,17.353405,22036600
+2008-07-02,18.660000,18.780001,18.000000,18.030001,16.687037,19079900
+2008-07-03,12.980000,13.130000,12.400000,12.490000,11.559683,74688000
+2008-07-07,12.680000,12.760000,11.760000,12.100000,11.198733,55067300
+2008-07-08,12.180000,12.480000,11.800000,12.030000,11.133947,45132200
+2008-07-09,12.060000,12.240000,11.820000,11.820000,10.939589,35329200
+2008-07-10,11.880000,12.020000,11.570000,11.790000,10.911822,26424800
+2008-07-11,11.550000,11.960000,11.320000,11.670000,10.800762,20194000
+2008-07-14,11.760000,11.850000,11.060000,11.140000,10.310238,22057900
+2008-07-15,11.040000,11.490000,10.700000,11.260000,10.421299,28062100
+2008-07-16,11.300000,11.620000,10.990000,11.320000,10.476832,25859800
+2008-07-17,11.500000,11.500000,10.920000,11.360000,10.513852,21552000
+2008-07-18,11.280000,11.630000,10.960000,11.560000,10.698956,22493000
+2008-07-21,11.740000,11.910000,11.530000,11.630000,10.763742,14290900
+2008-07-22,11.520000,11.570000,11.160000,11.380000,10.532364,13898100
+2008-07-23,11.460000,11.840000,11.410000,11.720000,10.847041,14871900
+2008-07-24,11.600000,11.710000,11.000000,11.030000,10.208431,17640700
+2008-07-25,11.140000,11.600000,10.910000,11.560000,10.698956,25990000
+2008-07-28,11.410000,11.910000,11.360000,11.530000,10.671188,18370200
+2008-07-29,11.550000,11.940000,11.420000,11.650000,10.782250,19115900
+2008-07-30,11.880000,11.900000,11.220000,11.480000,10.624911,14712300
+2008-07-31,11.450000,11.690000,11.320000,11.440000,10.587892,12180900
+2008-08-01,11.140000,11.180000,10.700000,10.840000,10.032583,22026500
+2008-08-04,10.840000,10.900000,10.550000,10.580000,9.791950,13051300
+2008-08-05,10.780000,11.190000,10.660000,11.190000,10.356513,17146100
+2008-08-06,11.220000,11.590000,10.860000,11.490000,10.634171,20371600
+2008-08-07,11.390000,11.900000,11.180000,11.310000,10.467578,20480800
+2008-08-08,11.400000,11.500000,10.960000,11.000000,10.180667,21344100
+2008-08-11,11.080000,11.500000,11.040000,11.230000,10.393536,29910900
+2008-08-12,11.320000,11.350000,10.910000,11.070000,10.245454,35271700
+2008-08-13,11.950000,12.440000,11.660000,12.260000,11.346816,52381500
+2008-08-14,12.170000,13.490000,12.170000,13.000000,12.031697,40882600
+2008-08-15,13.230000,13.380000,12.870000,12.960000,11.994676,19441300
+2008-08-18,13.050000,13.340000,12.910000,13.220000,12.235312,22349200
+2008-08-19,12.950000,13.500000,12.950000,13.420000,12.420416,25353500
+2008-08-20,13.620000,14.120000,13.520000,14.080000,13.031255,28592300
+2008-08-21,13.830000,13.940000,13.340000,13.620000,12.605517,25539000
+2008-08-22,13.720000,13.880000,13.320000,13.610000,12.596261,11481600
+2008-08-25,13.530000,13.850000,13.370000,13.410000,12.411159,11790000
+2008-08-26,13.480000,13.490000,12.950000,13.090000,12.114991,15327800
+2008-08-27,12.790000,13.350000,12.670000,13.190000,12.207544,11365500
+2008-08-28,13.210000,13.350000,13.010000,13.140000,12.161269,9129800
+2008-08-29,12.960000,13.000000,12.600000,12.640000,11.698512,12900100
+2008-09-02,12.850000,12.960000,12.150000,12.320000,11.402347,17348200
+2008-09-03,12.150000,12.200000,11.550000,11.660000,10.791505,17871400
+2008-09-04,11.530000,11.650000,11.430000,11.500000,10.643424,17903200
+2008-09-05,11.400000,11.700000,11.390000,11.670000,10.800762,19777500
+2008-09-08,11.780000,11.780000,11.000000,11.190000,10.356513,32871000
+2008-09-09,11.150000,11.830000,10.770000,10.810000,10.004818,27457400
+2008-09-10,10.940000,11.160000,10.750000,10.820000,10.014074,16107100
+2008-09-11,10.200000,10.520000,9.960000,10.300000,9.532806,26674400
+2008-09-12,10.210000,10.280000,9.610000,10.190000,9.430999,30230000
+2008-09-15,9.830000,9.980000,9.180000,9.300000,8.607290,21599600
+2008-09-16,8.970000,9.660000,8.800000,9.590000,8.875690,31021000
+2008-09-17,9.370000,10.220000,9.280000,10.000000,9.255151,34814500
+2008-09-18,10.120000,11.420000,10.100000,10.890000,10.078861,40276500
+2008-09-19,11.410000,11.500000,10.900000,11.410000,10.560126,27683600
+2008-09-22,11.320000,11.650000,11.110000,11.170000,10.338002,17501800
+2008-09-23,11.080000,11.490000,10.810000,10.850000,10.041841,20536700
+2008-09-24,10.710000,11.470000,10.650000,11.250000,10.412045,21650900
+2008-09-25,11.250000,11.740000,11.060000,11.470000,10.615657,14708200
+2008-09-26,11.190000,11.770000,10.980000,11.690000,10.819270,16171300
+2008-09-29,11.380000,11.520000,10.000000,10.100000,9.347705,24381000
+2008-09-30,10.260000,10.810000,10.150000,10.710000,9.912269,16476100
+2008-10-01,10.550000,10.740000,10.220000,10.410000,9.634611,13930200
+2008-10-02,10.480000,10.480000,9.280000,9.330000,8.635056,19693200
+2008-10-03,9.480000,9.750000,8.970000,9.030000,8.357400,22895700
+2008-10-06,8.600000,8.620000,7.310000,7.850000,7.265296,41936000
+2008-10-07,8.130000,8.150000,7.180000,7.240000,6.700728,26499600
+2008-10-08,6.980000,7.820000,6.910000,7.390000,6.839557,30486400
+2008-10-09,7.660000,7.770000,6.840000,6.920000,6.404565,22740900
+2008-10-10,6.320000,7.330000,6.280000,6.810000,6.302759,30006300
+2008-10-13,7.390000,8.060000,7.300000,8.050000,7.450396,22913400
+2008-10-14,8.350000,8.400000,7.650000,7.870000,7.283804,30225300
+2008-10-15,7.820000,7.860000,7.020000,7.020000,6.497116,21351600
+2008-10-16,7.230000,7.740000,6.900000,7.700000,7.126466,25495500
+2008-10-17,7.480000,8.090000,7.340000,7.650000,7.080191,20985400
+2008-10-20,7.910000,7.970000,7.610000,7.800000,7.219018,14894100
+2008-10-21,7.650000,7.730000,7.160000,7.200000,6.663709,16477900
+2008-10-22,7.100000,7.400000,6.740000,6.930000,6.413820,15024900
+2008-10-23,6.910000,7.080000,6.260000,6.540000,6.052870,20804800
+2008-10-24,6.000000,6.950000,5.970000,6.610000,6.117656,19958400
+2008-10-27,6.570000,7.380000,6.360000,6.970000,6.450840,17473400
+2008-10-28,7.340000,8.030000,7.210000,8.020000,7.422632,21248000
+2008-10-29,7.970000,8.800000,7.930000,8.280000,7.663266,24432100
+2008-10-30,8.750000,8.800000,8.100000,8.630000,7.987198,16429400
+2008-10-31,8.360000,8.930000,8.340000,8.760000,8.107513,15216800
+2008-11-03,8.950000,9.110000,8.300000,8.440000,7.811349,18098100
+2008-11-04,8.730000,8.980000,8.500000,8.980000,8.311127,15489000
+2008-11-05,8.650000,8.900000,8.510000,8.510000,7.876133,19690500
+2008-11-06,8.010000,8.310000,7.600000,7.620000,7.052426,19948400
+2008-11-07,8.680000,9.070000,8.100000,8.720000,8.070494,28301700
+2008-11-10,9.050000,9.100000,7.970000,8.160000,7.552205,14409900
+2008-11-11,8.040000,8.100000,7.720000,7.800000,7.219018,14412100
+2008-11-12,7.560000,7.740000,7.250000,7.340000,6.793281,16152300
+2008-11-13,7.000000,7.950000,6.860000,7.940000,7.348591,19930700
+2008-11-14,7.620000,7.660000,7.140000,7.170000,6.635944,18525600
+2008-11-17,7.100000,7.290000,6.950000,7.020000,6.497116,9705600
+2008-11-18,7.160000,7.200000,6.560000,6.790000,6.284248,14112200
+2008-11-19,6.730000,6.900000,6.200000,6.230000,5.765961,12505500
+2008-11-20,6.180000,6.490000,5.830000,5.900000,5.460539,21175900
+2008-11-21,6.090000,6.380000,5.750000,6.380000,5.904786,14976600
+2008-11-24,6.770000,6.880000,6.400000,6.800000,6.293503,15007700
+2008-11-25,7.100000,7.120000,6.790000,6.990000,6.469351,13206400
+2008-11-26,6.870000,7.630000,6.830000,7.610000,7.043171,15019800
+2008-11-28,7.490000,7.600000,7.370000,7.470000,6.913598,4381200
+2008-12-01,7.170000,7.240000,6.820000,6.830000,6.321269,13677800
+2008-12-02,6.960000,7.300000,6.870000,7.210000,6.672964,11999700
+2008-12-03,6.930000,7.590000,6.870000,7.580000,7.015405,14615800
+2008-12-04,7.430000,7.800000,6.910000,7.080000,6.552649,11657300
+2008-12-05,6.860000,7.390000,6.740000,7.360000,6.811792,10962100
+2008-12-08,7.500000,7.650000,6.950000,7.120000,6.589668,17699800
+2008-12-09,7.030000,8.090000,6.950000,7.810000,7.228272,20744000
+2008-12-10,7.960000,8.750000,7.830000,8.550000,7.913153,24028100
+2008-12-11,8.500000,8.800000,8.090000,8.190000,7.579970,14567500
+2008-12-12,7.950000,8.650000,7.790000,8.600000,7.959431,16981700
+2008-12-15,8.650000,8.700000,8.050000,8.320000,7.700284,11924900
+2008-12-16,8.400000,8.900000,8.320000,8.880000,8.218574,13048500
+2008-12-17,8.720000,9.450000,8.600000,9.320000,8.625798,16854500
+2008-12-18,9.260000,9.290000,8.350000,8.460000,7.829859,13770200
+2008-12-19,8.570000,8.900000,8.490000,8.520000,7.885391,14828000
+2008-12-22,8.650000,8.670000,7.710000,8.020000,7.422632,13061600
+2008-12-23,8.070000,8.240000,7.790000,7.910000,7.320825,9436300
+2008-12-24,7.750000,7.940000,7.560000,7.720000,7.144977,3665400
+2008-12-26,7.720000,7.820000,7.300000,7.510000,6.950618,5653900
+2008-12-29,7.610000,7.750000,7.120000,7.750000,7.172742,11504200
+2008-12-30,7.850000,8.140000,7.670000,8.020000,7.422632,10246500
+2008-12-31,7.920000,8.270000,7.780000,8.070000,7.468907,11039500
+2009-01-02,8.070000,8.770000,8.040000,8.710000,8.061236,12428100
+2009-01-05,8.610000,9.070000,8.550000,8.870000,8.209316,17643400
+2009-01-06,9.130000,9.430000,8.930000,9.170000,8.486974,16447600
+2009-01-07,8.960000,8.960000,8.310000,8.620000,7.977942,21752400
+2009-01-08,8.510000,8.510000,7.880000,8.400000,7.774329,25362400
+2009-01-09,8.400000,8.400000,7.910000,7.930000,7.339336,19033800
+2009-01-12,7.930000,7.970000,7.500000,7.610000,7.043171,16138300
+2009-01-13,7.350000,7.940000,7.210000,7.650000,7.080191,45610600
+2009-01-14,7.380000,7.470000,7.200000,7.310000,6.765516,24372700
+2009-01-15,7.350000,7.690000,7.200000,7.570000,7.006149,24955100
+2009-01-16,7.780000,8.060000,7.530000,7.990000,7.394866,20783100
+2009-01-20,7.970000,8.000000,7.150000,7.210000,6.672964,17644700
+2009-01-21,7.350000,7.610000,7.080000,7.560000,6.996895,16211800
+2009-01-22,7.320000,7.620000,7.150000,7.420000,6.867322,13691400
+2009-01-23,7.210000,7.940000,7.200000,7.710000,7.135721,15840400
+2009-01-26,7.750000,8.200000,7.620000,7.970000,7.376356,14543700
+2009-01-27,8.100000,8.500000,8.070000,8.440000,7.811349,18132500
+2009-01-28,8.740000,8.930000,8.460000,8.790000,8.135280,18093800
+2009-01-29,8.500000,8.600000,8.240000,8.280000,7.663266,10328200
+2009-01-30,8.220000,8.440000,7.850000,7.950000,7.357846,12669000
+2009-02-02,7.830000,8.470000,7.790000,8.380000,7.755816,14449800
+2009-02-03,8.400000,8.550000,8.170000,8.480000,7.848369,9923700
+2009-02-04,8.500000,9.150000,8.500000,8.720000,8.070494,19480800
+2009-02-05,8.490000,9.460000,8.400000,9.360000,8.662821,22979800
+2009-02-06,9.390000,9.930000,9.230000,9.870000,9.134834,28947000
+2009-02-09,9.830000,9.970000,9.470000,9.740000,9.014518,17903200
+2009-02-10,9.730000,9.860000,9.140000,9.320000,8.625798,28241600
+2009-02-11,8.580000,8.890000,7.860000,8.150000,7.542948,49585000
+2009-02-12,7.970000,8.370000,7.860000,8.320000,7.700284,25600500
+2009-02-13,8.130000,8.410000,8.070000,8.310000,7.691030,19107600
+2009-02-17,8.000000,8.190000,7.800000,7.830000,7.246785,19489400
+2009-02-18,7.830000,8.300000,7.820000,8.040000,7.441142,16156300
+2009-02-19,8.200000,8.270000,7.420000,7.420000,6.867322,18599700
+2009-02-20,7.320000,7.730000,7.250000,7.610000,7.043171,19251400
+2009-02-23,7.740000,7.780000,7.210000,7.260000,6.719240,16988700
+2009-02-24,7.300000,7.920000,7.290000,7.910000,7.320825,16488100
+2009-02-25,7.890000,8.240000,7.620000,8.000000,7.404121,17559000
+2009-02-26,8.280000,8.540000,8.160000,8.260000,7.644756,27938900
+2009-02-27,8.050000,8.470000,7.990000,8.280000,7.663266,18886100
+2009-03-02,8.080000,8.250000,7.550000,7.580000,7.015405,17501600
+2009-03-03,7.720000,8.180000,7.470000,7.880000,7.293059,26034300
+2009-03-04,8.090000,8.700000,8.020000,8.460000,7.829859,27716700
+2009-03-05,8.340000,8.680000,8.220000,8.260000,7.644756,23881300
+2009-03-06,8.260000,8.690000,8.150000,8.390000,7.765073,24368900
+2009-03-09,8.330000,8.960000,8.280000,8.300000,7.681777,17069200
+2009-03-10,8.600000,9.210000,8.520000,9.050000,8.375913,31370000
+2009-03-11,9.050000,11.850000,8.900000,9.300000,8.607290,21622900
+2009-03-12,9.270000,9.950000,9.150000,9.850000,9.116324,40115100
+2009-03-13,9.710000,9.940000,9.550000,9.800000,9.070047,29878900
+2009-03-16,9.900000,9.910000,9.340000,9.420000,8.718353,17483600
+2009-03-17,9.450000,9.910000,9.330000,9.890000,9.153346,25134600
+2009-03-18,9.740000,10.490000,9.730000,10.200000,9.440252,33989000
+2009-03-19,10.270000,10.270000,10.010000,10.080000,9.329193,20566200
+2009-03-20,10.230000,10.240000,9.270000,9.530000,8.820158,27341800
+2009-03-23,9.830000,10.240000,9.610000,10.220000,9.458766,20401200
+2009-03-24,9.970000,10.060000,9.730000,9.780000,9.051541,27871700
+2009-03-25,10.080000,10.400000,9.560000,9.940000,9.199619,31096300
+2009-03-26,10.100000,10.580000,9.990000,10.560000,9.773440,33341600
+2009-03-27,10.450000,10.710000,10.300000,10.460000,9.680890,18297300
+2009-03-30,10.060000,10.190000,9.650000,9.790000,9.060793,19501300
+2009-03-31,9.940000,10.100000,9.790000,9.860000,9.125580,20131800
+2009-04-01,9.740000,10.200000,9.370000,10.110000,9.356958,22198000
+2009-04-02,10.490000,10.770000,10.340000,10.580000,9.791950,25071500
+2009-04-03,10.590000,11.350000,10.410000,11.320000,10.476832,25080200
+2009-04-06,11.130000,11.450000,10.980000,11.350000,10.504598,22182200
+2009-04-07,11.130000,11.250000,10.890000,10.960000,10.143647,15195100
+2009-04-08,11.080000,11.440000,10.990000,11.410000,10.560126,18291300
+2009-04-09,11.700000,12.080000,11.610000,12.040000,11.143202,22610300
+2009-04-13,11.890000,11.900000,11.390000,11.650000,10.782250,19190700
+2009-04-14,11.490000,12.000000,11.440000,11.720000,10.847041,17799000
+2009-04-15,11.310000,11.440000,10.910000,11.390000,10.541617,26134200
+2009-04-16,11.600000,11.820000,11.160000,11.680000,10.810018,25969300
+2009-04-17,11.680000,11.870000,11.400000,11.760000,10.884058,17394100
+2009-04-20,11.310000,11.410000,10.990000,11.050000,10.226943,14766500
+2009-04-21,10.900000,11.480000,10.740000,11.020000,10.199178,23304600
+2009-04-22,10.920000,11.810000,10.740000,11.350000,10.504598,22910100
+2009-04-23,11.460000,11.560000,10.820000,11.170000,10.338002,18848800
+2009-04-24,11.280000,11.510000,11.010000,11.430000,10.578639,18987700
+2009-04-27,11.280000,11.600000,10.950000,11.020000,10.199178,19675600
+2009-04-28,10.880000,11.280000,10.780000,11.050000,10.226943,15859800
+2009-04-29,11.100000,11.150000,10.750000,10.880000,10.069605,21491700
+2009-04-30,11.090000,11.800000,11.000000,11.480000,10.624911,27756900
+2009-05-01,11.450000,11.940000,11.440000,11.670000,10.800762,21013700
+2009-05-04,11.870000,12.390000,11.710000,12.300000,11.383839,23192600
+2009-05-05,12.030000,12.110000,11.550000,11.800000,10.921079,20926900
+2009-05-06,11.930000,12.040000,11.330000,11.560000,10.698956,23377200
+2009-05-07,11.820000,11.820000,10.580000,10.730000,9.930777,32229900
+2009-05-08,10.500000,10.500000,9.110000,9.250000,8.561014,73264100
+2009-05-11,9.100000,9.660000,9.020000,9.430000,8.727609,25964900
+2009-05-12,9.640000,9.640000,8.800000,8.980000,8.311127,30034600
+2009-05-13,8.920000,8.970000,8.330000,8.400000,7.774329,32640200
+2009-05-14,8.390000,8.700000,8.330000,8.520000,7.885391,25446600
+2009-05-15,8.580000,9.040000,8.480000,8.740000,8.089001,19507700
+2009-05-18,8.960000,9.330000,8.940000,9.270000,8.579525,23458000
+2009-05-19,9.330000,9.560000,9.180000,9.450000,8.746119,21494200
+2009-05-20,9.620000,10.250000,9.580000,9.730000,9.005262,32735900
+2009-05-21,9.610000,9.800000,9.400000,9.670000,8.949731,24140000
+2009-05-22,9.670000,9.960000,9.490000,9.820000,9.088557,17956500
+2009-05-26,9.730000,10.430000,9.630000,10.350000,9.579082,21638500
+2009-05-27,10.300000,10.680000,10.200000,10.370000,9.597591,20353800
+2009-05-28,10.530000,10.600000,10.060000,10.510000,9.727165,24882200
+2009-05-29,10.520000,10.540000,10.070000,10.430000,9.653123,20855800
+2009-06-01,10.550000,11.000000,10.510000,10.940000,10.125135,25569100
+2009-06-02,10.940000,11.180000,10.650000,10.850000,10.041841,22699600
+2009-06-03,10.710000,10.750000,10.250000,10.510000,9.727165,18392200
+2009-06-04,10.540000,10.910000,10.530000,10.890000,10.078861,16829500
+2009-06-05,11.090000,11.090000,10.700000,10.830000,10.023329,13999800
+2009-06-08,10.750000,10.920000,10.500000,10.770000,9.967798,11848700
+2009-06-09,10.920000,11.480000,10.840000,11.360000,10.513852,18125800
+2009-06-10,11.420000,11.790000,11.170000,11.720000,10.847041,20833000
+2009-06-11,11.750000,12.200000,11.500000,11.570000,10.708207,20878900
+2009-06-12,11.400000,11.550000,11.140000,11.510000,10.652681,14875000
+2009-06-15,11.300000,11.450000,11.120000,11.320000,10.476832,11129100
+2009-06-16,11.320000,11.460000,10.850000,11.010000,10.189922,14872800
+2009-06-17,11.180000,11.390000,10.750000,11.280000,10.439811,19975400
+2009-06-18,11.240000,11.450000,10.940000,11.060000,10.236197,14159400
+2009-06-19,11.170000,11.460000,11.030000,11.180000,10.347261,18689100
+2009-06-22,11.220000,11.220000,10.510000,10.550000,9.764187,14371600
+2009-06-23,10.650000,10.670000,10.090000,10.500000,9.717910,14744100
+2009-06-24,10.630000,11.100000,10.630000,10.850000,10.041841,12877400
+2009-06-25,10.750000,11.440000,10.640000,11.420000,10.569383,21761100
+2009-06-26,11.370000,11.610000,11.270000,11.570000,10.708207,12848900
+2009-06-29,11.600000,11.780000,11.450000,11.570000,10.708207,12751400
+2009-06-30,11.530000,11.690000,11.080000,11.290000,10.449068,14746100
+2009-07-01,11.360000,11.490000,11.150000,11.340000,10.495343,17410500
+2009-07-02,10.970000,11.110000,10.750000,10.900000,10.088115,13807800
+2009-07-06,10.890000,10.900000,10.370000,10.550000,9.764187,18811400
+2009-07-07,10.590000,10.650000,10.060000,10.090000,9.338448,26824900
+2009-07-08,10.150000,10.180000,9.710000,10.110000,9.356958,30146500
+2009-07-09,10.280000,10.500000,10.250000,10.330000,9.560570,17864100
+2009-07-10,10.330000,10.440000,10.110000,10.370000,9.597591,13000200
+2009-07-13,10.580000,10.580000,9.950000,10.490000,9.708653,13900300
+2009-07-14,10.570000,10.750000,10.450000,10.710000,9.912269,11314200
+2009-07-15,11.100000,11.370000,11.000000,11.150000,10.319492,25570200
+2009-07-16,11.270000,11.770000,11.210000,11.730000,10.856294,23801900
+2009-07-17,11.730000,12.110000,11.610000,12.070000,11.170966,21258900
+2009-07-20,12.170000,12.350000,12.010000,12.220000,11.309794,19568900
+2009-07-21,12.190000,12.240000,11.690000,11.970000,11.078419,23532400
+2009-07-22,11.730000,12.380000,11.650000,12.270000,11.356070,15022700
+2009-07-23,12.290000,13.040000,12.160000,13.000000,12.031697,26153000
+2009-07-24,12.600000,13.000000,12.520000,12.960000,11.994676,16264800
+2009-07-27,12.840000,13.210000,12.720000,13.020000,12.050210,16937100
+2009-07-28,12.930000,13.180000,12.820000,13.040000,12.068719,14079500
+2009-07-29,12.890000,12.970000,12.650000,12.780000,11.828083,9349300
+2009-07-30,13.000000,13.170000,12.770000,12.880000,11.920636,11711100
+2009-07-31,12.880000,13.110000,12.580000,12.930000,11.966911,13539000
+2009-08-03,13.240000,13.430000,12.990000,13.280000,12.290840,11797500
+2009-08-04,13.050000,13.600000,13.030000,13.370000,12.374138,17384500
+2009-08-05,13.290000,13.500000,13.130000,13.400000,12.401902,15269200
+2009-08-06,13.450000,13.690000,13.040000,13.120000,12.142759,23939700
+2009-08-07,13.830000,14.230000,13.520000,13.710000,12.688812,35046800
+2009-08-10,13.810000,14.010000,13.180000,13.260000,12.272332,17332800
+2009-08-11,13.170000,13.370000,12.880000,12.950000,11.985421,12047100
+2009-08-12,12.960000,13.570000,12.950000,13.430000,12.429671,15873500
+2009-08-13,13.530000,13.880000,13.290000,13.830000,12.799874,14100700
+2009-08-14,13.810000,13.830000,13.240000,13.420000,12.420416,10678700
+2009-08-17,13.010000,13.050000,12.720000,12.860000,11.902123,11625800
+2009-08-18,12.860000,13.480000,12.850000,13.330000,12.337117,15905000
+2009-08-19,13.130000,13.260000,13.000000,13.180000,12.198291,13824900
+2009-08-20,13.120000,13.760000,13.090000,13.700000,12.679556,20496000
+2009-08-21,13.810000,13.950000,13.530000,13.930000,12.892426,15183100
+2009-08-24,13.850000,14.000000,13.460000,13.540000,12.531474,11536400
+2009-08-25,13.610000,13.800000,13.380000,13.660000,12.642537,11102200
+2009-08-26,13.630000,13.850000,13.580000,13.820000,12.790620,10857700
+2009-08-27,13.880000,14.070000,13.730000,14.010000,12.966466,13776800
+2009-08-28,14.390000,15.030000,14.370000,14.730000,13.632838,22099800
+2009-08-31,14.560000,14.630000,14.330000,14.520000,13.438480,10794900
+2009-09-01,14.510000,14.920000,13.950000,14.030000,12.984977,18421400
+2009-09-02,14.050000,14.370000,13.970000,14.230000,13.170080,10116400
+2009-09-03,14.230000,14.590000,14.190000,14.570000,13.484754,13350500
+2009-09-04,14.510000,15.210000,14.510000,15.110000,13.984533,12826200
+2009-09-08,15.220000,15.530000,15.100000,15.530000,14.373251,13742800
+2009-09-09,15.500000,15.990000,15.280000,15.960000,14.771221,14292100
+2009-09-10,16.010000,16.490000,15.830000,16.469999,15.243233,15198800
+2009-09-11,16.430000,16.490000,16.200001,16.320000,15.104409,17818300
+2009-09-14,16.080000,16.209999,15.910000,16.049999,14.854517,12262900
+2009-09-15,16.200001,16.580000,16.049999,16.379999,15.159940,13653400
+2009-09-16,16.340000,16.370001,15.700000,15.940000,14.752711,17676600
+2009-09-17,15.900000,15.900000,14.970000,15.240000,14.104853,23077400
+2009-09-18,15.390000,15.500000,15.100000,15.220000,14.086342,15118500
+2009-09-21,15.040000,15.410000,14.910000,15.150000,14.021555,14719400
+2009-09-22,15.260000,15.350000,15.060000,15.180000,14.049319,9034700
+2009-09-23,15.270000,15.400000,14.920000,14.940000,13.827196,11973400
+2009-09-24,15.190000,15.190000,14.690000,14.740000,13.642094,13821900
+2009-09-25,14.660000,14.730000,14.390000,14.500000,13.419971,9438900
+2009-09-28,14.550000,15.200000,14.550000,14.830000,13.725390,11692700
+2009-09-29,14.920000,15.100000,14.530000,14.560000,13.475502,11773200
+2009-09-30,14.860000,15.210000,14.530000,15.030000,13.910491,21898900
+2009-10-01,14.980000,14.980000,13.950000,13.960000,12.920193,24999000
+2009-10-02,13.820000,14.150000,13.740000,13.850000,12.818384,15311900
+2009-10-05,14.000000,14.050000,13.540000,13.780000,12.753601,18856900
+2009-10-06,13.950000,14.250000,13.850000,14.010000,12.966466,19031800
+2009-10-07,13.910000,14.060000,13.750000,13.900000,12.864659,11490200
+2009-10-08,13.980000,14.020000,13.490000,13.990000,12.947957,31038100
+2009-10-09,13.910000,14.190000,13.890000,14.170000,13.114550,15463500
+2009-10-12,13.930000,14.280000,13.920000,14.010000,12.966466,12475200
+2009-10-13,14.090000,14.250000,13.830000,13.960000,12.920193,15053100
+2009-10-14,14.500000,14.500000,13.870000,13.940000,12.901680,27548700
+2009-10-15,13.920000,14.050000,13.440000,13.530000,12.522220,27304900
+2009-10-16,13.360000,13.400000,12.980000,13.220000,12.235312,25470800
+2009-10-19,13.330000,13.810000,13.220000,13.700000,12.679556,17389700
+2009-10-20,13.930000,14.030000,13.600000,13.710000,12.688812,16504500
+2009-10-21,13.660000,13.870000,13.310000,13.380000,12.383393,12598900
+2009-10-22,13.310000,13.540000,13.080000,13.470000,12.466689,9483200
+2009-10-23,13.650000,13.650000,13.070000,13.150000,12.170524,10738200
+2009-10-26,13.250000,13.450000,12.910000,12.980000,12.013186,12041300
+2009-10-27,12.920000,13.110000,12.410000,12.540000,11.605959,14795900
+2009-10-28,12.260000,12.540000,11.960000,12.020000,11.124692,19340800
+2009-10-29,12.210000,12.610000,12.100000,12.550000,11.615216,15927500
+2009-10-30,12.490000,12.540000,11.900000,11.960000,11.069161,15103600
+2009-11-02,11.940000,12.330000,11.730000,12.070000,11.170966,14828400
+2009-11-03,11.680000,12.070000,11.560000,12.010000,11.115438,21911800
+2009-11-04,12.100000,12.230000,11.930000,11.980000,11.087671,22921000
+2009-11-05,12.120000,12.390000,12.080000,12.270000,11.356070,23878900
+2009-11-06,13.040000,13.430000,12.880000,13.160000,12.179779,41027800
+2009-11-09,13.340000,13.650000,13.330000,13.460000,12.457435,20453100
+2009-11-10,13.510000,13.510000,12.960000,13.130000,12.152014,19536800
+2009-11-11,13.350000,13.820000,13.330000,13.500000,12.494454,21787800
+2009-11-12,13.620000,13.850000,13.420000,13.460000,12.457435,12646600
+2009-11-13,13.450000,13.630000,13.390000,13.560000,12.549986,9713100
+2009-11-16,13.680000,13.910000,13.610000,13.750000,12.725834,10070500
+2009-11-17,13.760000,13.760000,13.470000,13.730000,12.707322,8753100
+2009-11-18,13.600000,13.650000,13.290000,13.520000,12.512964,11387900
+2009-11-19,13.230000,13.230000,12.740000,12.980000,12.013186,20846000
+2009-11-20,12.680000,12.960000,12.650000,12.900000,11.939146,10668700
+2009-11-23,13.090000,13.330000,12.940000,13.000000,12.031697,9773100
+2009-11-24,12.940000,13.030000,12.710000,12.920000,11.957652,10462600
+2009-11-25,13.070000,13.250000,12.980000,13.070000,12.096482,11044000
+2009-11-27,12.600000,12.940000,12.530000,12.790000,11.837342,6998300
+2009-11-30,12.840000,13.070000,12.700000,13.060000,12.087229,12745900
+2009-12-01,13.130000,13.470000,13.060000,13.320000,12.327860,11548400
+2009-12-02,13.350000,13.750000,13.270000,13.720000,12.698068,15057300
+2009-12-03,13.880000,14.130000,13.810000,13.830000,12.799874,16500900
+2009-12-04,14.090000,14.320000,13.870000,14.260000,13.197845,20614100
+2009-12-07,15.850000,16.450001,15.100000,16.090000,14.891540,68304600
+2009-12-08,15.830000,15.900000,15.220000,15.310000,14.169638,26887800
+2009-12-09,15.470000,15.810000,15.320000,15.690000,14.521331,16789700
+2009-12-10,15.800000,15.900000,15.360000,15.410000,14.262189,10425300
+2009-12-11,15.540000,15.560000,15.170000,15.210000,14.077087,10418600
+2009-12-14,15.430000,15.720000,15.260000,15.670000,14.502824,10137200
+2009-12-15,15.560000,15.910000,15.520000,15.650000,14.484312,11153800
+2009-12-16,16.209999,17.090000,16.120001,16.910000,15.650460,42085000
+2009-12-17,16.959999,17.480000,16.580000,16.830000,15.576420,25403300
+2009-12-18,16.969999,17.030001,16.620001,16.820000,15.567163,20320700
+2009-12-21,16.920000,17.490000,16.900000,17.420000,16.122473,10694800
+2009-12-22,17.420000,18.059999,17.400000,17.879999,16.548208,19826100
+2009-12-23,18.049999,18.180000,17.820000,18.129999,16.779587,11054900
+2009-12-24,18.180000,18.209999,18.020000,18.090000,16.742569,3420300
+2009-12-28,18.059999,18.219999,17.620001,17.799999,16.474169,11644000
+2009-12-29,17.740000,18.070000,17.700001,18.020000,16.677786,11896200
+2009-12-30,18.190001,18.780001,18.059999,18.670000,17.279371,17600200
+2009-12-31,18.709999,18.950001,18.660000,18.680000,17.288624,17508500
+2010-01-04,18.510000,18.620001,18.110001,18.490000,17.112780,20005100
+2010-01-05,18.420000,18.959999,18.420000,18.760000,17.362663,18216200
+2010-01-06,18.750000,18.920000,18.570000,18.879999,17.473728,16229200
+2010-01-07,18.780001,18.860001,18.370001,18.510000,17.131287,13694800
+2010-01-08,18.360001,18.680000,18.250000,18.549999,17.168303,11954200
+2010-01-11,18.650000,18.730000,18.030001,18.290001,16.927671,13915300
+2010-01-12,18.020000,18.090000,17.290001,17.670000,16.353855,15685800
+2010-01-13,17.790001,17.969999,17.100000,17.910000,16.575975,12721700
+2010-01-14,17.690001,17.820000,17.330000,17.629999,16.316832,15213100
+2010-01-15,17.500000,17.650000,16.879999,17.110001,15.835566,20454800
+2010-01-19,16.980000,17.540001,16.930000,17.430000,16.131727,13633200
+2010-01-20,17.209999,17.430000,16.980000,17.360001,16.066944,17993200
+2010-01-21,17.350000,17.660000,16.889999,17.049999,15.780033,15215800
+2010-01-22,16.850000,17.160000,16.360001,16.459999,15.233979,26697900
+2010-01-25,16.730000,17.059999,16.610001,16.740000,15.493124,16091900
+2010-01-26,16.660000,16.770000,16.200001,16.209999,15.002598,17865900
+2010-01-27,16.200001,16.709999,16.020000,16.650000,15.409825,20312600
+2010-01-28,16.780001,16.840000,15.860000,16.090000,14.891540,17194100
+2010-01-29,16.270000,16.450001,15.150000,15.390000,14.243677,19367500
+2010-02-01,15.450000,16.600000,15.320000,16.570000,15.335786,23745800
+2010-02-02,16.510000,16.950001,16.459999,16.740000,15.493124,21245300
+2010-02-03,16.590000,16.950001,16.510000,16.879999,15.622698,14057400
+2010-02-04,16.730000,16.730000,15.720000,15.900000,14.715692,19587000
+2010-02-05,15.880000,16.260000,15.600000,16.219999,15.011855,15121400
+2010-02-08,16.170000,16.580000,15.870000,16.190001,14.984091,11129000
+2010-02-09,16.450001,16.530001,15.900000,16.059999,14.863774,23253600
+2010-02-10,16.160000,16.520000,16.049999,16.370001,15.150683,13395700
+2010-02-11,16.629999,17.299999,16.510000,17.120001,15.844821,17399500
+2010-02-12,17.000000,17.700001,16.809999,17.350000,16.057692,19505300
+2010-02-16,17.580000,17.740000,17.370001,17.670000,16.353855,11425600
+2010-02-17,17.889999,17.900000,17.330000,17.840000,16.511189,21914000
+2010-02-18,16.860001,16.950001,16.209999,16.670000,15.428340,37887700
+2010-02-19,16.600000,16.780001,16.500000,16.580000,15.345040,12763700
+2010-02-22,16.650000,16.900000,16.500000,16.610001,15.372808,11452100
+2010-02-23,16.660000,16.730000,16.040001,16.209999,15.002598,12244100
+2010-02-24,16.350000,16.709999,16.299999,16.549999,15.317273,11146700
+2010-02-25,16.170000,16.440001,15.760000,16.400000,15.178449,14424300
+2010-02-26,16.320000,16.440001,16.100000,16.200001,14.993344,9834900
+2010-03-01,16.209999,16.930000,16.080000,16.850000,15.594929,13896700
+2010-03-02,17.000000,17.209999,16.719999,16.840000,15.585675,13466200
+2010-03-03,16.940001,17.030001,16.490000,16.629999,15.391317,9982500
+2010-03-04,16.700001,16.830000,16.450001,16.660000,15.419081,13934900
+2010-03-05,16.540001,17.290001,16.540001,17.170000,15.891098,15820800
+2010-03-08,17.180000,17.230000,16.850000,16.920000,15.659718,10982800
+2010-03-09,17.090000,17.719999,17.080000,17.549999,16.242788,20770800
+2010-03-10,17.500000,17.780001,17.490000,17.590000,16.279812,10463000
+2010-03-11,17.450001,17.510000,17.120001,17.190001,15.909604,13516500
+2010-03-12,17.379999,17.430000,17.160000,17.250000,15.965141,13008800
+2010-03-15,17.230000,17.400000,17.000000,17.160000,15.881840,8972600
+2010-03-16,17.150000,17.860001,17.139999,17.760000,16.437147,16624700
+2010-03-17,17.860001,18.340000,17.860001,18.100000,16.751825,16279200
+2010-03-18,18.129999,18.129999,17.299999,17.459999,16.159498,18524100
+2010-03-19,17.719999,17.770000,17.030001,17.250000,15.965141,14615300
+2010-03-22,17.030001,17.600000,17.030001,17.530001,16.224277,10883400
+2010-03-23,17.660000,17.980000,17.540001,17.889999,16.557470,12340300
+2010-03-24,17.740000,17.790001,17.260000,17.290001,16.002161,10906300
+2010-03-25,17.540001,17.650000,17.299999,17.340000,16.048433,12379600
+2010-03-26,17.490000,17.670000,17.200001,17.340000,16.048433,8616900
+2010-03-29,17.450001,17.600000,17.209999,17.559999,16.252045,9861400
+2010-03-30,17.760000,17.850000,17.330000,17.629999,16.316832,8102600
+2010-03-31,17.559999,17.639999,17.309999,17.400000,16.103962,9746000
+2010-04-01,17.480000,17.680000,17.040001,17.219999,15.937373,8491600
+2010-04-05,17.330000,17.510000,17.309999,17.480000,16.178001,10340900
+2010-04-06,17.260000,17.299999,16.750000,17.049999,15.780033,20231500
+2010-04-07,16.940001,17.450001,16.799999,17.160000,15.881840,20436700
+2010-04-08,17.049999,17.180000,16.790001,16.879999,15.622698,25940000
+2010-04-09,16.840000,17.049999,16.750000,16.990000,15.724502,20439300
+2010-04-12,17.010000,17.370001,16.980000,17.299999,16.011414,13661500
+2010-04-13,17.370001,17.719999,17.299999,17.660000,16.344597,16217400
+2010-04-14,18.040001,18.129999,17.600000,17.879999,16.548208,22518000
+2010-04-15,17.940001,18.120001,17.760000,18.010000,16.668528,23939900
+2010-04-16,17.280001,17.350000,16.680000,17.059999,15.789289,47943400
+2010-04-19,16.930000,17.030001,16.410000,16.980000,15.715242,27362300
+2010-04-20,17.100000,17.280001,16.820000,17.040001,15.770782,16954700
+2010-04-21,17.129999,17.150000,16.400000,16.600000,15.363553,22397700
+2010-04-22,16.330000,16.719999,16.100000,16.670000,15.428340,16423300
+2010-04-23,16.620001,16.660000,16.150000,16.440001,15.215470,18822900
+2010-04-26,16.459999,16.799999,16.430000,16.600000,15.363553,12277300
+2010-04-27,16.480000,16.650000,16.080000,16.129999,14.928557,15167600
+2010-04-28,16.120001,16.389999,15.830000,16.160000,14.956325,16804100
+2010-04-29,16.209999,16.670000,15.970000,16.650000,15.409825,24678200
+2010-04-30,16.450001,16.480000,15.700000,15.710000,14.539842,26701200
+2010-05-03,15.790000,15.880000,15.300000,15.540000,14.382506,26974300
+2010-05-04,15.300000,15.330000,14.530000,14.750000,13.651348,32784400
+2010-05-05,14.450000,14.870000,14.320000,14.500000,13.419971,33271000
+2010-05-06,14.400000,14.700000,13.040000,14.200000,13.142314,25072200
+2010-05-07,14.330000,14.330000,13.460000,13.960000,12.920193,28842800
+2010-05-10,14.800000,14.980000,14.400000,14.560000,13.475502,24478900
+2010-05-11,14.420000,14.690000,14.290000,14.400000,13.327418,20728100
+2010-05-12,14.500000,14.760000,14.410000,14.680000,13.586561,22530900
+2010-05-13,14.620000,15.290000,14.510000,14.650000,13.558796,31300000
+2010-05-14,13.660000,13.700000,12.600000,12.960000,11.994676,62326700
+2010-05-17,12.980000,13.150000,12.580000,12.990000,12.022442,21401500
+2010-05-18,13.100000,13.180000,12.490000,12.560000,11.624471,16852800
+2010-05-19,12.500000,12.780000,12.410000,12.760000,11.809572,20663000
+2010-05-20,12.390000,12.760000,12.010000,12.460000,11.531922,28228400
+2010-05-21,12.100000,13.080000,12.100000,12.730000,11.781806,26740000
+2010-05-24,12.690000,12.840000,12.320000,12.360000,11.439368,16614100
+2010-05-25,11.970000,12.750000,11.850000,12.690000,11.744785,24166300
+2010-05-26,13.200000,13.450000,12.710000,12.750000,11.800319,24875700
+2010-05-27,13.070000,13.500000,13.040000,13.500000,12.494454,17839000
+2010-05-28,13.480000,13.480000,12.940000,13.140000,12.161269,13627900
+2010-06-01,12.960000,13.110000,12.570000,12.580000,11.642981,13187300
+2010-06-02,12.600000,12.740000,12.520000,12.720000,11.772552,16227200
+2010-06-03,12.460000,12.730000,12.420000,12.700000,11.754042,14659000
+2010-06-04,12.330000,12.550000,12.030000,12.100000,11.198733,16786400
+2010-06-07,12.150000,12.230000,11.450000,11.500000,10.643424,14431200
+2010-06-08,11.450000,11.450000,10.890000,11.180000,10.347261,24190900
+2010-06-09,11.240000,11.540000,10.870000,10.910000,10.097371,17428800
+2010-06-10,11.130000,11.400000,11.100000,11.350000,10.504598,15294200
+2010-06-11,11.230000,11.660000,11.200000,11.610000,10.745230,11052600
+2010-06-14,11.780000,11.800000,11.330000,11.360000,10.513852,9377000
+2010-06-15,11.490000,11.980000,11.470000,11.920000,11.032143,13215800
+2010-06-16,11.840000,11.950000,11.610000,11.770000,10.893313,9162000
+2010-06-17,12.180000,12.250000,11.760000,12.220000,11.309794,21476700
+2010-06-18,12.290000,12.450000,12.200000,12.300000,11.383839,23320800
+2010-06-21,12.560000,12.590000,11.900000,12.010000,11.115438,14495900
+2010-06-22,12.160000,12.310000,11.500000,11.560000,10.698956,20454100
+2010-06-23,11.670000,11.810000,11.340000,11.690000,10.819270,15351500
+2010-06-24,11.620000,11.680000,11.070000,11.110000,10.282472,18125700
+2010-06-25,11.190000,11.200000,10.900000,11.080000,10.254707,12680500
+2010-06-28,11.160000,11.260000,10.900000,11.100000,10.273217,9300200
+2010-06-29,10.860000,10.870000,10.410000,10.480000,9.699398,16520200
+2010-06-30,10.500000,10.610000,10.210000,10.210000,9.449510,15576800
+2010-07-01,10.240000,10.450000,9.930000,10.380000,9.606847,18425200
+2010-07-02,10.420000,10.440000,9.900000,10.250000,9.486529,18427400
+2010-07-06,10.210000,10.540000,10.050000,10.140000,9.384722,17800500
+2010-07-07,10.180000,10.690000,10.160000,10.630000,9.838227,15210300
+2010-07-08,10.700000,10.710000,10.180000,10.310000,9.542062,19581800
+2010-07-09,10.360000,10.420000,10.220000,10.350000,9.579082,14287900
+2010-07-12,10.350000,10.670000,10.340000,10.540000,9.754930,14134900
+2010-07-13,10.710000,10.990000,10.650000,10.920000,10.106626,18082900
+2010-07-14,11.400000,11.480000,10.870000,11.030000,10.208431,33891600
+2010-07-15,11.040000,11.050000,10.590000,10.720000,9.921521,23827200
+2010-07-16,10.720000,10.750000,10.010000,10.050000,9.301429,32215100
+2010-07-19,10.190000,10.500000,10.120000,10.460000,9.680890,19961000
+2010-07-20,10.190000,10.780000,10.100000,10.720000,9.921521,29024700
+2010-07-21,10.820000,10.830000,10.270000,10.370000,9.597591,15623500
+2010-07-22,10.480000,10.650000,10.420000,10.540000,9.754930,11565300
+2010-07-23,10.530000,10.540000,10.260000,10.360000,9.588335,20440100
+2010-07-26,10.330000,10.590000,10.170000,10.550000,9.764187,17088700
+2010-07-27,10.580000,10.600000,10.330000,10.460000,9.680890,17086800
+2010-07-28,10.290000,10.470000,10.100000,10.130000,9.375468,33020200
+2010-07-29,9.400000,9.600000,9.070000,9.130000,8.449953,66611900
+2010-07-30,9.060000,9.350000,8.920000,9.190000,8.505485,24607200
+2010-08-02,9.350000,9.390000,9.140000,9.180000,8.496228,22925500
+2010-08-03,9.110000,9.120000,8.870000,8.940000,8.274104,23886100
+2010-08-04,9.020000,9.350000,8.980000,9.320000,8.625798,21387400
+2010-08-05,9.350000,9.460000,9.180000,9.440000,8.736864,20012600
+2010-08-06,9.400000,9.650000,9.320000,9.550000,8.838668,18497600
+2010-08-09,9.650000,9.660000,9.410000,9.640000,8.921967,11661400
+2010-08-10,9.480000,9.500000,9.200000,9.240000,8.551761,19314000
+2010-08-11,9.050000,9.050000,8.850000,8.880000,8.218574,19903700
+2010-08-12,8.720000,9.160000,8.650000,8.960000,8.292617,33589600
+2010-08-13,9.250000,9.520000,9.230000,9.390000,8.690591,44934800
+2010-08-16,9.260000,9.450000,9.030000,9.150000,8.468465,20350200
+2010-08-17,9.240000,9.440000,9.150000,9.270000,8.579525,12030600
+2010-08-18,9.240000,9.400000,9.180000,9.320000,8.625798,8823000
+2010-08-19,9.420000,9.910000,9.370000,9.880000,9.144089,40377500
+2010-08-20,9.810000,10.210000,9.800000,9.970000,9.227387,32632700
+2010-08-23,10.000000,10.250000,9.790000,9.820000,9.088557,18715500
+2010-08-24,9.500000,9.820000,9.480000,9.720000,8.996009,16033300
+2010-08-25,9.610000,10.000000,9.560000,9.920000,9.181109,18938300
+2010-08-26,10.050000,10.160000,9.800000,9.800000,9.070047,16439900
+2010-08-27,9.860000,10.200000,9.610000,10.120000,9.366214,26510400
+2010-08-30,10.000000,10.080000,9.640000,9.640000,8.921967,15070100
+2010-08-31,9.500000,9.800000,9.300000,9.330000,8.635056,23287200
+2010-09-01,9.470000,9.590000,9.350000,9.400000,8.699843,21286000
+2010-09-02,9.430000,9.600000,9.340000,9.570000,8.857183,14907300
+2010-09-03,9.800000,9.930000,9.680000,9.900000,9.162601,14162100
+2010-09-07,9.870000,10.220000,9.850000,9.990000,9.245894,22495500
+2010-09-08,10.010000,10.390000,9.900000,10.320000,9.551317,30603900
+2010-09-09,10.450000,10.460000,10.050000,10.180000,9.421743,17443700
+2010-09-10,10.250000,10.280000,9.980000,10.070000,9.319938,15232300
+2010-09-13,10.250000,10.770000,10.250000,10.640000,9.847481,25394800
+2010-09-14,10.550000,10.680000,10.450000,10.540000,9.754930,17463400
+2010-09-15,10.440000,10.570000,10.300000,10.560000,9.773440,13889300
+2010-09-16,10.420000,10.660000,10.420000,10.570000,9.782695,9132000
+2010-09-17,10.670000,10.680000,10.520000,10.550000,9.764187,10422100
+2010-09-20,10.550000,10.750000,10.450000,10.710000,9.912269,11079200
+2010-09-21,10.650000,11.470000,10.650000,11.290000,10.449068,44490600
+2010-09-22,11.250000,11.490000,11.180000,11.390000,10.541617,24999900
+2010-09-23,11.520000,11.980000,11.420000,11.620000,10.754486,31021800
+2010-09-24,11.880000,12.300000,11.790000,12.260000,11.346816,27174400
+2010-09-27,12.350000,12.360000,11.840000,12.000000,11.106183,24987600
+2010-09-28,12.010000,12.140000,11.760000,11.970000,11.078419,18079800
+2010-09-29,11.860000,12.230000,11.750000,11.880000,10.995119,24372600
+2010-09-30,12.030000,12.170000,11.580000,11.680000,10.810018,19690800
+2010-10-01,11.850000,11.870000,11.260000,11.350000,10.504598,24978000
+2010-10-04,11.240000,11.430000,11.010000,11.240000,10.402789,18737500
+2010-10-05,11.480000,11.500000,11.290000,11.320000,10.476832,18839700
+2010-10-06,11.320000,11.370000,10.670000,10.780000,9.977053,26440100
+2010-10-07,10.830000,10.840000,10.380000,10.700000,9.903011,19037200
+2010-10-08,10.660000,10.950000,10.510000,10.860000,10.051095,17673300
+2010-10-11,10.910000,11.000000,10.760000,10.810000,10.004818,11067000
+2010-10-12,10.720000,11.070000,10.630000,11.020000,10.199178,15130200
+2010-10-13,11.200000,11.500000,11.080000,11.340000,10.495343,24218300
+2010-10-14,11.350000,11.370000,11.110000,11.160000,10.328749,14979300
+2010-10-15,11.340000,11.470000,11.160000,11.290000,10.449068,15998500
+2010-10-18,11.300000,11.410000,11.100000,11.360000,10.513852,11203900
+2010-10-19,11.110000,11.370000,11.020000,11.290000,10.449068,21653400
+2010-10-20,11.300000,11.600000,11.100000,11.290000,10.449068,19088300
+2010-10-21,11.300000,11.320000,10.920000,11.090000,10.263966,25360700
+2010-10-22,11.160000,11.890000,11.040000,11.800000,10.921079,33066900
+2010-10-25,11.890000,12.000000,11.780000,11.910000,11.022884,16828400
+2010-10-26,11.770000,12.050000,11.670000,11.870000,10.985863,16881200
+2010-10-27,11.760000,12.080000,11.730000,12.040000,11.143202,12419900
+2010-10-28,12.200000,12.240000,11.940000,12.050000,11.152459,17611200
+2010-10-29,12.030000,12.150000,11.900000,12.020000,11.124692,13866600
+2010-11-01,12.100000,12.290000,11.940000,12.040000,11.143202,11848000
+2010-11-02,12.090000,12.490000,12.020000,12.290000,11.374582,14525900
+2010-11-03,12.370000,12.460000,12.050000,12.380000,11.457877,16793700
+2010-11-04,12.500000,12.630000,12.380000,12.400000,11.476389,17500400
+2010-11-05,12.490000,12.720000,12.430000,12.610000,11.670746,18377900
+2010-11-08,12.600000,12.770000,12.500000,12.660000,11.717024,15128900
+2010-11-09,12.660000,12.760000,12.520000,12.590000,11.652235,15849100
+2010-11-10,12.680000,12.740000,12.500000,12.740000,11.791061,13025400
+2010-11-11,12.440000,12.820000,12.270000,12.610000,11.670746,27249500
+2010-11-12,13.090000,13.680000,13.030000,13.260000,12.272332,53564000
+2010-11-15,13.320000,13.510000,13.070000,13.100000,12.124250,18338700
+2010-11-16,12.880000,13.060000,12.690000,12.710000,11.763298,18483900
+2010-11-17,12.700000,13.070000,12.580000,12.920000,11.957652,13794100
+2010-11-18,13.090000,13.450000,13.090000,13.320000,12.327860,24828000
+2010-11-19,13.290000,13.800000,13.270000,13.750000,12.725834,17912100
+2010-11-22,13.660000,13.840000,13.540000,13.760000,12.735090,11566700
+2010-11-23,13.600000,13.740000,13.340000,13.440000,12.438923,11445800
+2010-11-24,13.580000,13.820000,13.570000,13.770000,12.744344,9944600
+2010-11-26,13.760000,13.840000,13.600000,13.600000,12.587007,3577600
+2010-11-29,13.540000,13.800000,13.480000,13.750000,12.725834,11704800
+2010-11-30,13.540000,13.680000,13.360000,13.610000,12.596261,18023400
+2010-12-01,13.880000,14.300000,13.860000,14.210000,13.151568,15663400
+2010-12-02,14.210000,14.470000,14.200000,14.380000,13.308910,13232900
+2010-12-03,14.310000,14.790000,14.280000,14.790000,13.688369,15151100
+2010-12-06,14.840000,14.870000,14.450000,14.510000,13.429223,10960600
+2010-12-07,14.850000,15.330000,14.820000,14.980000,13.864214,25670300
+2010-12-08,14.960000,15.270000,14.850000,15.110000,13.984533,15331300
+2010-12-09,14.750000,14.960000,14.540000,14.860000,13.753155,23560200
+2010-12-10,14.860000,15.090000,14.820000,14.950000,13.836452,11297500
+2010-12-13,15.010000,15.040000,14.530000,14.570000,13.484754,15227700
+2010-12-14,14.850000,15.120000,14.570000,14.590000,13.503265,18879000
+2010-12-15,14.620000,14.800000,14.250000,14.270000,13.207104,15604400
+2010-12-16,14.420000,14.500000,14.250000,14.290000,13.225613,15796800
+2010-12-17,14.300000,14.450000,14.130000,14.370000,13.299651,14828900
+2010-12-20,14.420000,14.490000,14.300000,14.310000,13.244121,8602200
+2010-12-21,14.450000,14.870000,14.440000,14.870000,13.762410,11673800
+2010-12-22,14.840000,15.050000,14.700000,15.030000,13.910491,11949700
+2010-12-23,15.030000,15.030000,14.860000,14.920000,13.808686,6844600
+2010-12-27,14.880000,15.110000,14.610000,15.000000,13.882729,6387500
+2010-12-28,15.000000,15.100000,14.850000,14.940000,13.827196,4856500
+2010-12-29,14.930000,15.050000,14.800000,14.940000,13.827196,4441500
+2010-12-30,14.920000,15.080000,14.870000,14.990000,13.873473,4362200
+2010-12-31,15.000000,15.420000,14.980000,15.400000,14.252933,9781300
+2011-01-03,15.520000,15.970000,15.500000,15.820000,14.641649,20436200
+2011-01-04,15.850000,15.920000,15.420000,15.770000,14.595375,16284600
+2011-01-05,16.059999,17.000000,15.900000,16.980000,15.715242,35705400
+2011-01-06,17.420000,19.340000,17.370001,19.330000,17.890209,87332800
+2011-01-07,19.110001,19.930000,18.680000,19.870001,18.389984,64499600
+2011-01-10,19.510000,20.670000,19.360001,20.629999,19.093374,43758700
+2011-01-11,20.910000,21.110001,19.870001,20.309999,18.797215,67777200
+2011-01-12,20.320000,23.370001,20.250000,23.350000,21.610779,85797400
+2011-01-13,23.100000,23.840000,22.379999,23.389999,21.647800,67379800
+2011-01-14,22.990000,23.980000,22.850000,23.590000,21.832897,39883800
+2011-01-18,23.270000,23.430000,22.469999,23.040001,21.323872,45333700
+2011-01-19,23.049999,23.600000,22.360001,22.410000,20.740799,29947400
+2011-01-20,22.190001,22.559999,21.790001,22.430000,20.759306,27785200
+2011-01-21,22.670000,22.990000,22.180000,22.219999,20.564943,18481100
+2011-01-24,23.240000,25.049999,22.980000,24.730000,22.887989,51422500
+2011-01-25,24.620001,24.879999,23.809999,23.969999,22.184601,27171400
+2011-01-26,24.219999,25.000000,24.049999,24.540001,22.712139,26866500
+2011-01-27,24.889999,24.950001,24.000000,24.469999,22.647354,16434900
+2011-01-28,24.530001,24.940001,23.200001,23.760000,21.990238,27369900
+2011-01-31,23.799999,24.250000,23.410000,23.920000,22.138323,18754000
+2011-02-01,24.129999,24.650000,23.969999,24.469999,22.647354,16352600
+2011-02-02,24.330000,26.170000,24.330000,25.580000,23.674685,40165400
+2011-02-03,25.620001,25.620001,24.549999,25.100000,23.230433,25769400
+2011-02-04,25.450001,25.870001,25.350000,25.670000,23.757975,21822500
+2011-02-07,25.320000,25.430000,24.510000,24.600000,22.767677,23355900
+2011-02-08,24.629999,24.790001,23.760000,23.870001,22.092047,26914600
+2011-02-09,23.959999,24.200001,22.860001,23.290001,21.555248,31938000
+2011-02-10,22.770000,23.209999,22.600000,22.820000,21.120253,26058800
+2011-02-11,22.740000,24.209999,22.370001,23.469999,21.721844,33981900
+2011-02-14,23.750000,24.500000,23.020000,23.110001,21.388655,32195700
+2011-02-15,23.150000,23.230000,22.450001,22.549999,20.870367,22174500
+2011-02-16,22.850000,23.709999,22.770000,23.379999,21.638540,32959100
+2011-02-17,22.719999,26.010000,22.610001,25.680000,23.767229,86752400
+2011-02-18,25.540001,25.950001,25.230000,25.629999,23.720953,34860300
+2011-02-22,24.790001,24.860001,23.129999,23.209999,21.481209,34916200
+2011-02-23,23.209999,23.430000,21.780001,22.110001,20.463144,37290100
+2011-02-24,22.219999,23.040001,22.059999,22.650000,20.962917,31153000
+2011-02-25,23.260000,23.500000,22.940001,23.120001,21.397911,19391300
+2011-02-28,23.500000,23.510000,22.139999,22.660000,20.972178,22592400
+2011-03-01,22.700001,22.990000,21.650000,21.650000,20.037405,24711200
+2011-03-02,21.620001,22.030001,20.250000,20.750000,19.204445,42953500
+2011-03-03,21.230000,21.350000,20.240000,20.870001,19.315498,39842600
+2011-03-04,20.889999,21.100000,20.530001,20.760000,19.213694,23994000
+2011-03-07,20.910000,20.980000,19.950001,20.469999,18.945293,25478500
+2011-03-08,20.690001,20.799999,19.120001,19.549999,18.093821,48679600
+2011-03-09,19.490000,19.680000,18.969999,19.139999,17.714365,32974400
+2011-03-10,18.700001,18.840000,17.900000,17.920000,16.585234,43068400
+2011-03-11,18.070000,18.549999,17.660000,18.049999,16.705549,37170800
+2011-03-14,18.190001,18.650000,17.900000,18.200001,16.844376,25084000
+2011-03-15,17.309999,17.959999,17.010000,17.660000,16.344597,31407000
+2011-03-16,17.500000,18.350000,17.299999,17.530001,16.224277,36913000
+2011-03-17,18.000000,18.030001,17.200001,17.860001,16.529703,30962900
+2011-03-18,18.139999,18.200001,17.600000,17.620001,16.307581,22174000
+2011-03-21,18.000000,18.180000,17.580000,17.760000,16.437147,18795800
+2011-03-22,17.709999,17.879999,17.370001,17.450001,16.150238,17958300
+2011-03-23,17.420000,17.860001,17.040001,17.809999,16.483425,19559900
+2011-03-24,18.190001,19.450001,18.150000,19.230000,17.797657,44514800
+2011-03-25,19.400000,19.450001,18.600000,18.629999,17.242340,29909800
+2011-03-28,19.070000,19.639999,18.900000,19.320000,17.880955,30107100
+2011-03-29,19.320000,19.389999,18.910000,19.170000,17.742123,17894100
+2011-03-30,19.320000,19.400000,18.209999,18.450001,17.075752,29408000
+2011-03-31,18.480000,18.680000,18.120001,18.459999,17.085007,16377800
+2011-04-01,18.700001,18.719999,17.950001,18.200001,16.844376,21251800
+2011-04-04,18.200001,18.250000,17.420000,17.549999,16.242788,23108200
+2011-04-05,17.809999,17.950001,17.540001,17.580000,16.270559,20526900
+2011-04-06,17.709999,17.730000,17.309999,17.459999,16.159498,21424600
+2011-04-07,17.500000,18.209999,17.430000,18.100000,16.751825,25530200
+2011-04-08,18.240000,18.240000,17.500000,17.549999,16.242788,18663800
+2011-04-11,17.620001,17.709999,17.129999,17.320000,16.029919,13655200
+2011-04-12,17.150000,17.490000,16.830000,17.370001,16.076199,21018900
+2011-04-13,17.549999,17.870001,17.330000,17.760000,16.437147,18739700
+2011-04-14,17.600000,18.520000,17.500000,18.510000,17.131287,31367600
+2011-04-15,18.370001,18.940001,18.280001,18.709999,17.316389,24243000
+2011-04-18,18.270000,18.389999,17.799999,18.090000,16.742569,18589600
+2011-04-19,18.100000,18.170000,17.530001,18.020000,16.677786,16496500
+2011-04-20,18.680000,18.950001,18.270000,18.570000,17.186817,16262900
+2011-04-21,18.770000,18.889999,18.480000,18.520000,17.140541,10532500
+2011-04-25,18.600000,19.120001,18.590000,18.809999,17.408937,15490300
+2011-04-26,18.969999,19.490000,18.780001,19.299999,17.862440,16900000
+2011-04-27,19.400000,19.400000,18.900000,19.299999,17.862440,11250100
+2011-04-28,19.299999,19.900000,19.080000,19.510000,18.056805,17100000
+2011-04-29,19.639999,20.440001,19.610001,20.000000,18.510302,20900000
+2011-05-02,20.420000,20.430000,19.629999,19.730000,18.260410,15345600
+2011-05-03,19.500000,19.559999,18.549999,18.790001,17.390429,20200000
+2011-05-04,18.850000,19.059999,18.299999,18.650000,17.260859,15983900
+2011-05-05,18.500000,18.879999,18.250000,18.660000,17.270111,13600000
+2011-05-06,19.049999,19.500000,18.900000,19.320000,17.880955,21027000
+2011-05-09,19.379999,19.850000,19.330000,19.750000,18.278925,17658200
+2011-05-10,19.910000,19.930000,19.580000,19.780001,18.306692,17274400
+2011-05-11,19.879999,20.080000,19.600000,19.870001,18.389984,15400000
+2011-05-12,19.799999,20.520000,19.750000,20.500000,18.973059,30600000
+2011-05-13,19.200001,19.250000,18.120001,18.260000,16.899906,50629800
+2011-05-16,18.209999,18.250000,17.690001,17.700001,16.381624,18204700
+2011-05-17,17.639999,17.650000,17.120001,17.629999,16.316832,35509100
+2011-05-18,17.700001,18.190001,17.639999,18.040001,16.696297,16471100
+2011-05-19,18.180000,18.190001,17.510000,17.780001,16.455658,16272100
+2011-05-20,17.740000,18.129999,17.660000,18.090000,16.742569,14395500
+2011-05-23,17.830000,18.200001,17.600000,18.070000,16.724060,14700000
+2011-05-24,18.160000,18.870001,18.110001,18.139999,16.788843,18009300
+2011-05-25,18.049999,18.480000,17.870001,18.360001,16.992456,13632800
+2011-05-26,18.360001,18.980000,18.309999,18.820000,17.418196,17660900
+2011-05-27,18.900000,19.530001,18.879999,19.500000,18.047544,16470600
+2011-05-31,19.879999,20.049999,19.400000,20.040001,18.547325,30017900
+2011-06-01,19.950001,19.980000,19.100000,19.139999,17.714365,19055200
+2011-06-02,19.170000,19.309999,18.820000,19.049999,17.631063,15189800
+2011-06-03,18.830000,19.000000,18.370001,18.459999,17.085007,13732500
+2011-06-06,18.430000,18.600000,18.049999,18.070000,16.724060,10899700
+2011-06-07,18.209999,18.309999,17.980000,18.059999,16.714800,10848900
+2011-06-08,17.969999,18.080000,17.430000,17.570000,16.261303,14232200
+2011-06-09,17.559999,17.600000,16.740000,17.370001,16.076199,18540800
+2011-06-10,17.400000,17.510000,16.980000,17.120001,15.844821,12338700
+2011-06-13,17.120001,17.340000,16.879999,17.000000,15.733760,14369000
+2011-06-14,17.150000,17.520000,17.070000,17.139999,15.863327,13364400
+2011-06-15,16.910000,17.010000,16.420000,16.770000,15.520890,23397900
+2011-06-16,16.780001,17.040001,15.950000,16.190001,14.984091,25622700
+2011-06-17,16.379999,16.389999,15.310000,15.810000,14.632396,36697100
+2011-06-20,15.670000,16.000000,15.500000,15.620000,14.456545,18649000
+2011-06-21,15.680000,16.080000,15.530000,15.960000,14.771221,17606900
+2011-06-22,15.850000,16.059999,15.710000,15.740000,14.567608,16293000
+2011-06-23,15.540000,16.320000,15.400000,16.209999,15.002598,18600600
+2011-06-24,16.129999,16.270000,15.640000,15.740000,14.567608,13226300
+2011-06-27,15.740000,15.840000,14.860000,15.410000,14.262189,28553800
+2011-06-28,15.410000,15.680000,15.300000,15.500000,14.345485,17305000
+2011-06-29,15.600000,15.900000,15.060000,15.740000,14.567608,24013600
+2011-06-30,15.780000,16.110001,15.540000,15.940000,14.752711,16307500
+2011-07-01,15.940000,16.209999,15.620000,16.150000,14.947068,13520100
+2011-07-05,16.129999,16.280001,15.740000,15.880000,14.697182,13382400
+2011-07-06,15.870000,15.900000,15.480000,15.670000,14.502824,13239500
+2011-07-07,15.750000,15.830000,15.450000,15.730000,14.558353,24653400
+2011-07-08,15.510000,15.620000,15.300000,15.430000,14.280700,15487900
+2011-07-11,15.140000,15.200000,14.850000,14.890000,13.780923,17859700
+2011-07-12,14.820000,14.960000,14.440000,14.690000,13.595817,21690100
+2011-07-13,14.890000,14.990000,14.520000,14.660000,13.568051,15859200
+2011-07-14,14.720000,14.810000,14.010000,14.080000,13.031255,27224900
+2011-07-15,14.160000,14.250000,13.810000,14.100000,13.049762,20693400
+2011-07-18,13.990000,14.070000,13.620000,13.800000,12.772108,20455000
+2011-07-19,13.840000,14.250000,13.840000,14.220000,13.160826,15055600
+2011-07-20,14.270000,14.350000,14.000000,14.040000,12.994231,16573900
+2011-07-21,14.060000,14.800000,13.850000,14.700000,13.605074,28585500
+2011-07-22,14.830000,15.050000,14.640000,15.000000,13.882729,18429800
+2011-07-25,14.770000,14.830000,14.550000,14.760000,13.660604,14173000
+2011-07-26,14.340000,14.700000,14.190000,14.400000,13.327418,17456900
+2011-07-27,14.200000,14.270000,13.820000,13.860000,12.827640,16305300
+2011-07-28,13.810000,14.120000,13.590000,13.830000,12.799874,16204400
+2011-07-29,13.690000,13.960000,13.620000,13.830000,12.799874,16941400
+2011-08-01,14.150000,14.610000,14.030000,14.570000,13.484754,25490500
+2011-08-02,14.470000,15.380000,14.420000,14.420000,13.345928,33910800
+2011-08-03,14.450000,14.860000,14.310000,14.810000,13.706879,19130900
+2011-08-04,14.540000,14.540000,13.400000,13.400000,12.401902,24493300
+2011-08-05,13.710000,13.880000,12.600000,12.950000,11.985421,31764700
+2011-08-08,12.320000,12.760000,11.850000,11.930000,11.041396,27104500
+2011-08-09,12.160000,12.950000,12.000000,12.930000,11.966911,33245800
+2011-08-10,12.550000,12.910000,12.270000,12.340000,11.420857,28501300
+2011-08-11,12.340000,13.590000,12.340000,13.410000,12.411159,26969800
+2011-08-12,14.840000,14.860000,12.670000,12.880000,11.920636,79894600
+2011-08-15,13.010000,13.400000,12.940000,13.370000,12.374138,21603800
+2011-08-16,13.220000,13.400000,12.750000,12.990000,12.022442,17921700
+2011-08-17,13.030000,13.250000,12.640000,12.810000,11.855849,13833200
+2011-08-18,12.230000,12.350000,11.800000,11.940000,11.050653,20064100
+2011-08-19,11.740000,12.390000,11.650000,11.730000,10.856294,19033300
+2011-08-22,12.060000,12.200000,11.810000,11.940000,11.050653,15296900
+2011-08-23,12.230000,13.240000,12.210000,13.230000,12.244564,23457800
+2011-08-24,13.200000,13.240000,12.700000,13.040000,12.068719,17187500
+2011-08-25,12.780000,13.010000,12.460000,12.480000,11.550429,17274200
+2011-08-26,12.430000,13.140000,12.210000,13.010000,12.040955,18316500
+2011-08-29,13.380000,13.410000,13.070000,13.360000,12.364880,15038200
+2011-08-30,13.270000,13.790000,13.180000,13.680000,12.661047,17119000
+2011-08-31,13.780000,13.920000,13.200000,13.310000,12.318607,17645200
+2011-09-01,13.490000,13.780000,13.270000,13.280000,12.290840,19057800
+2011-09-02,12.980000,13.160000,12.820000,12.920000,11.957652,11783900
+2011-09-06,12.500000,13.210000,12.380000,13.180000,12.198291,17406200
+2011-09-07,14.250000,14.640000,13.860000,14.250000,13.188593,40165500
+2011-09-08,14.110000,14.450000,13.950000,14.180000,13.123805,22004100
+2011-09-09,14.060000,14.440000,13.760000,13.880000,12.846150,21745700
+2011-09-12,13.690000,14.330000,13.690000,14.210000,13.151568,22912000
+2011-09-13,14.330000,14.600000,14.110000,14.530000,13.447735,21345900
+2011-09-14,14.910000,15.470000,14.900000,15.280000,14.141871,38679800
+2011-09-15,15.620000,15.700000,15.360000,15.500000,14.345485,18822700
+2011-09-16,15.530000,16.100000,15.380000,15.460000,14.308464,34789700
+2011-09-19,15.200000,15.310000,14.750000,15.140000,14.012299,24205100
+2011-09-20,15.330000,15.390000,14.680000,14.750000,13.651348,19810900
+2011-09-21,14.830000,15.090000,14.460000,14.470000,13.392203,17881300
+2011-09-22,13.900000,13.920000,13.250000,13.510000,12.503712,32865800
+2011-09-23,13.430000,14.180000,13.350000,13.790000,12.762855,25286000
+2011-09-26,13.960000,14.000000,13.200000,13.820000,12.790620,24303100
+2011-09-27,14.170000,14.290000,13.730000,13.840000,12.809130,19534700
+2011-09-28,13.870000,14.220000,13.200000,13.420000,12.420416,30913300
+2011-09-29,13.660000,13.890000,12.750000,13.090000,12.114991,21660400
+2011-09-30,12.880000,12.950000,12.490000,12.510000,11.578194,16944600
+2011-10-03,12.350000,12.740000,11.810000,11.810000,10.930335,23747400
+2011-10-04,11.520000,12.900000,11.470000,12.900000,11.939146,34038700
+2011-10-05,12.870000,13.480000,12.610000,13.360000,12.364880,21417700
+2011-10-06,13.430000,13.930000,13.410000,13.890000,12.855405,19329800
+2011-10-07,13.950000,14.360000,13.660000,14.150000,13.096040,20174400
+2011-10-10,14.390000,14.780000,14.360000,14.780000,13.679114,13359400
+2011-10-11,14.660000,14.900000,14.570000,14.620000,13.531032,20402000
+2011-10-12,14.900000,14.910000,14.600000,14.610000,13.521777,15301600
+2011-10-13,14.540000,15.490000,14.500000,15.460000,14.308464,21370800
+2011-10-14,15.730000,15.890000,15.340000,15.720000,14.549099,17561300
+2011-10-17,15.540000,15.540000,14.860000,14.940000,13.827196,15294500
+2011-10-18,14.860000,15.520000,14.770000,15.480000,14.326974,14772900
+2011-10-19,15.500000,15.770000,15.130000,15.170000,14.040063,13939200
+2011-10-20,14.760000,14.820000,13.840000,14.410000,13.336673,24757700
+2011-10-21,14.590000,14.830000,14.240000,14.480000,13.401456,15710700
+2011-10-24,14.540000,15.250000,14.510000,15.020000,13.901237,13381400
+2011-10-25,14.810000,14.930000,14.420000,14.450000,13.373693,14449900
+2011-10-26,14.730000,14.810000,14.200000,14.620000,13.531032,12577900
+2011-10-27,15.160000,15.400000,14.820000,15.250000,14.114105,14443300
+2011-10-28,15.120000,15.740000,15.080000,15.600000,14.438037,12253900
+2011-10-31,15.100000,15.190000,14.800000,14.800000,13.697624,12999600
+2011-11-01,14.260000,14.300000,13.920000,14.060000,13.012742,19770600
+2011-11-02,14.200000,14.270000,13.530000,13.820000,12.790620,24040200
+2011-11-03,13.970000,14.680000,13.600000,14.650000,13.558796,18734300
+2011-11-04,14.520000,14.870000,14.290000,14.820000,13.716134,16371000
+2011-11-07,14.710000,14.960000,14.400000,14.740000,13.642094,15338400
+2011-11-08,14.930000,15.170000,14.690000,15.080000,13.956767,13743200
+2011-11-09,14.730000,14.920000,14.260000,14.320000,13.253376,13306100
+2011-11-10,14.670000,14.820000,14.110000,14.470000,13.392203,24762100
+2011-11-11,14.880000,15.100000,14.070000,14.980000,13.864214,43789000
+2011-11-14,14.980000,15.130000,14.650000,14.690000,13.595817,12507300
+2011-11-15,14.550000,14.990000,14.510000,14.880000,13.771665,12641500
+2011-11-16,14.600000,14.990000,14.530000,14.580000,13.494012,12810500
+2011-11-17,14.550000,14.590000,13.800000,14.060000,13.012742,16437600
+2011-11-18,14.140000,14.140000,13.780000,13.930000,12.892426,12533800
+2011-11-21,13.710000,14.770000,13.500000,14.630000,13.540288,33269700
+2011-11-22,14.790000,15.160000,14.710000,15.080000,13.956767,32187000
+2011-11-23,14.920000,15.030000,14.430000,14.440000,13.364439,20633500
+2011-11-25,14.250000,14.580000,14.000000,14.040000,12.994231,10165500
+2011-11-28,14.500000,15.050000,14.500000,14.830000,13.725390,17265400
+2011-11-29,14.810000,15.100000,14.670000,14.910000,13.799432,15586000
+2011-11-30,15.360000,15.670000,15.230000,15.630000,14.465802,18258100
+2011-12-01,15.500000,15.860000,15.430000,15.820000,14.641649,13244000
+2011-12-02,15.990000,16.049999,15.570000,15.720000,14.549099,13661600
+2011-12-05,15.980000,16.000000,15.350000,15.480000,14.326974,16117400
+2011-12-06,15.570000,15.600000,15.100000,15.260000,14.123362,14345800
+2011-12-07,15.160000,15.280000,14.850000,15.170000,14.040063,12750400
+2011-12-08,15.020000,15.270000,14.640000,14.690000,13.595817,12287200
+2011-12-09,14.580000,15.020000,14.380000,14.900000,13.790175,13896000
+2011-12-12,14.580000,14.640000,14.260000,14.530000,13.447735,14330200
+2011-12-13,14.720000,14.900000,14.040000,14.130000,13.077529,12914900
+2011-12-14,14.010000,14.090000,13.430000,13.580000,12.568496,15900500
+2011-12-15,13.810000,13.900000,13.430000,13.460000,12.457435,10878700
+2011-12-16,13.570000,13.830000,13.450000,13.510000,12.503712,15477900
+2011-12-19,13.570000,13.730000,13.110000,13.160000,12.179779,11581900
+2011-12-20,13.460000,13.950000,13.460000,13.900000,12.864659,11130200
+2011-12-21,13.820000,13.970000,13.450000,13.720000,12.698068,13710600
+2011-12-22,13.760000,14.350000,13.760000,14.310000,13.244121,14414000
+2011-12-23,14.380000,14.400000,14.050000,14.170000,13.114550,6223700
+2011-12-27,14.110000,14.280000,14.020000,14.060000,13.012742,4892800
+2011-12-28,14.060000,14.090000,13.700000,13.710000,12.688812,5849000
+2011-12-29,13.850000,14.000000,13.650000,13.970000,12.929446,5277800
+2011-12-30,13.920000,14.070000,13.840000,13.860000,12.827640,4673900
+2012-01-03,14.300000,14.400000,14.010000,14.040000,12.994231,11701100
+2012-01-04,14.050000,14.260000,13.920000,14.200000,13.142314,8684300
+2012-01-05,14.130000,14.780000,14.070000,14.710000,13.614330,14088700
+2012-01-06,14.700000,14.710000,14.370000,14.540000,13.456992,13331300
+2012-01-09,14.550000,14.820000,14.440000,14.540000,13.456992,12706100
+2012-01-10,14.760000,14.770000,14.380000,14.480000,13.401456,13658200
+2012-01-11,14.350000,14.480000,14.130000,14.190000,13.133060,12106800
+2012-01-12,14.220000,14.230000,13.790000,14.100000,13.049762,16309100
+2012-01-13,14.000000,14.030000,13.660000,13.730000,12.707322,12607500
+2012-01-17,13.940000,13.940000,13.500000,13.520000,12.512964,15679400
+2012-01-18,13.780000,14.090000,13.710000,13.980000,12.938703,15816900
+2012-01-19,14.100000,14.370000,13.950000,14.350000,13.281140,15207800
+2012-01-20,14.330000,14.500000,14.170000,14.220000,13.160826,13656800
+2012-01-23,14.230000,14.620000,14.050000,14.610000,13.521777,14069800
+2012-01-24,14.510000,15.000000,14.500000,14.940000,13.827196,18273000
+2012-01-25,14.540000,14.890000,14.120000,14.850000,13.743901,31853800
+2012-01-26,15.070000,15.240000,14.630000,14.710000,13.614330,19991800
+2012-01-27,14.620000,14.990000,14.500000,14.910000,13.799432,11249900
+2012-01-30,14.650000,14.870000,14.430000,14.800000,13.697624,9976900
+2012-01-31,14.840000,14.850000,14.510000,14.770000,13.669857,8947500
+2012-02-01,14.940000,15.100000,14.730000,14.930000,13.817945,10700500
+2012-02-02,15.010000,15.550000,14.860000,15.490000,14.336228,17405900
+2012-02-03,15.720000,15.950000,15.690000,15.820000,14.641649,12380800
+2012-02-06,15.740000,15.760000,15.560000,15.700000,14.530591,6971700
+2012-02-07,15.720000,15.830000,15.460000,15.740000,14.567608,10257400
+2012-02-08,15.740000,16.620001,15.660000,16.309999,15.095154,21190300
+2012-02-09,16.510000,16.600000,16.270000,16.299999,15.085896,14048600
+2012-02-10,16.139999,16.200001,15.810000,15.900000,14.715692,11006700
+2012-02-13,16.299999,16.360001,15.820000,16.150000,14.947068,15266700
+2012-02-14,16.150000,16.379999,16.010000,16.240000,15.030365,11343900
+2012-02-15,16.389999,16.900000,16.129999,16.170000,14.965582,27771400
+2012-02-16,15.060000,16.580000,15.000000,16.450001,15.224727,47214700
+2012-02-17,16.459999,16.570000,15.700000,15.850000,14.669415,25509000
+2012-02-21,15.840000,16.320000,15.810000,15.930000,14.743457,12954400
+2012-02-22,15.850000,16.240000,15.800000,15.820000,14.641649,12310800
+2012-02-23,15.850000,16.000000,15.600000,15.910000,14.724942,8099200
+2012-02-24,15.960000,15.980000,15.720000,15.790000,14.613883,9166700
+2012-02-27,15.590000,15.660000,15.250000,15.470000,14.317719,18631700
+2012-02-28,15.470000,15.650000,15.170000,15.330000,14.188148,17497100
+2012-02-29,15.380000,15.640000,15.140000,15.150000,14.021555,17229900
+2012-03-01,15.210000,15.430000,15.150000,15.250000,14.114105,11248600
+2012-03-02,15.200000,15.600000,15.200000,15.380000,14.234423,17101900
+2012-03-05,15.270000,15.300000,14.750000,14.860000,13.753155,12871200
+2012-03-06,14.690000,14.810000,14.460000,14.720000,13.623584,11785000
+2012-03-07,14.800000,14.870000,14.600000,14.810000,13.706879,11049600
+2012-03-08,14.850000,15.010000,14.770000,14.860000,13.753155,10771300
+2012-03-09,14.900000,15.010000,14.740000,14.820000,13.716134,9195900
+2012-03-12,14.880000,14.980000,14.550000,14.590000,13.503265,7498700
+2012-03-13,14.650000,14.870000,14.580000,14.790000,13.688369,13832200
+2012-03-14,14.790000,14.820000,14.320000,14.370000,13.299651,18392700
+2012-03-15,14.410000,14.660000,14.360000,14.580000,13.494012,9559500
+2012-03-16,14.590000,14.660000,14.510000,14.600000,13.512524,10708500
+2012-03-19,14.680000,14.750000,14.570000,14.640000,13.549541,10135000
+2012-03-20,14.560000,14.560000,14.270000,14.400000,13.327418,11240400
+2012-03-21,14.400000,14.590000,14.240000,14.460000,13.382948,11696000
+2012-03-22,14.350000,14.560000,14.310000,14.440000,13.364439,10634300
+2012-03-23,14.400000,14.590000,14.300000,14.550000,13.466246,7886400
+2012-03-26,14.690000,14.790000,14.550000,14.720000,13.623584,7215000
+2012-03-27,14.780000,15.000000,14.750000,14.820000,13.716134,10499200
+2012-03-28,15.010000,15.360000,14.900000,15.160000,14.030810,22311200
+2012-03-29,15.140000,15.350000,14.950000,15.230000,14.095595,9317500
+2012-03-30,15.360000,15.490000,15.140000,15.400000,14.252933,13181000
+2012-04-02,15.360000,15.490000,15.110000,15.330000,14.188148,10194400
+2012-04-03,15.440000,15.460000,15.000000,15.080000,13.956767,10761900
+2012-04-04,14.850000,15.040000,14.560000,14.650000,13.558796,12397400
+2012-04-05,14.670000,14.850000,14.580000,14.630000,13.540288,9235600
+2012-04-09,14.400000,14.490000,14.160000,14.440000,13.364439,9137600
+2012-04-10,14.380000,14.580000,14.090000,14.160000,13.105297,11759000
+2012-04-11,14.350000,14.650000,14.300000,14.340000,13.271889,9324000
+2012-04-12,14.360000,14.760000,14.300000,14.680000,13.586561,9621700
+2012-04-13,14.550000,14.630000,14.150000,14.160000,13.105297,7783100
+2012-04-16,14.260000,14.300000,13.760000,13.990000,12.947957,11586700
+2012-04-17,14.030000,14.200000,13.970000,14.020000,12.975723,11517400
+2012-04-18,13.930000,14.000000,13.700000,13.870000,12.836898,10019100
+2012-04-19,13.690000,14.210000,13.590000,13.660000,12.642537,16679700
+2012-04-20,13.740000,13.780000,13.360000,13.390000,12.392650,12739800
+2012-04-23,13.160000,13.290000,12.910000,13.230000,12.244564,17656100
+2012-04-24,13.270000,13.380000,12.750000,12.820000,11.865105,18261000
+2012-04-25,13.010000,13.180000,12.770000,13.080000,12.105740,18177800
+2012-04-26,13.070000,13.200000,12.980000,13.090000,12.114991,13480200
+2012-04-27,13.070000,13.150000,12.840000,12.980000,12.013186,11883900
+2012-04-30,12.910000,13.070000,12.820000,13.000000,12.031697,6556700
+2012-05-01,12.930000,13.370000,12.930000,13.230000,12.244564,10217000
+2012-05-02,13.180000,13.230000,12.780000,12.850000,11.892871,17100200
+2012-05-03,12.880000,12.960000,12.550000,12.630000,11.689256,10488400
+2012-05-04,12.550000,12.620000,12.260000,12.260000,11.346816,13627300
+2012-05-07,12.480000,12.690000,12.370000,12.470000,11.541173,15111000
+2012-05-08,12.360000,12.540000,12.140000,12.460000,11.531922,11557800
+2012-05-09,12.240000,12.610000,12.120000,12.510000,11.578194,13015200
+2012-05-10,12.630000,12.650000,12.220000,12.420000,11.494897,14927300
+2012-05-11,13.450000,13.680000,13.160000,13.210000,12.226056,35878500
+2012-05-14,13.100000,13.330000,12.830000,13.130000,12.152014,10936800
+2012-05-15,13.130000,13.420000,12.940000,13.000000,12.031697,14998500
+2012-05-16,13.020000,13.170000,12.700000,12.740000,11.791061,11762100
+2012-05-17,12.790000,12.910000,12.650000,12.650000,11.707766,8384100
+2012-05-18,12.680000,12.740000,12.020000,12.080000,11.180222,14182200
+2012-05-21,12.100000,12.350000,12.020000,12.290000,11.374582,10406500
+2012-05-22,12.280000,12.300000,11.960000,12.140000,11.235756,10253500
+2012-05-23,12.010000,12.460000,11.830000,12.440000,11.513409,12400000
+2012-05-24,12.510000,12.530000,12.020000,12.110000,11.207987,13010500
+2012-05-25,12.100000,12.500000,12.100000,12.400000,11.476389,9793800
+2012-05-29,12.600000,12.800000,12.550000,12.720000,11.772552,7750000
+2012-05-30,12.580000,12.670000,12.350000,12.570000,11.633727,9494800
+2012-05-31,12.570000,12.620000,12.270000,12.430000,11.504153,8954800
+2012-06-01,12.170000,12.290000,11.960000,11.980000,11.087671,11024600
+2012-06-04,12.040000,12.110000,11.630000,11.730000,10.856294,10821400
+2012-06-05,11.670000,12.100000,11.670000,12.070000,11.170966,9130600
+2012-06-06,12.160000,12.420000,12.070000,12.390000,11.467134,9224200
+2012-06-07,12.570000,12.640000,11.880000,11.890000,11.004375,13169500
+2012-06-08,11.930000,12.160000,11.910000,12.120000,11.217242,9257700
+2012-06-11,12.510000,12.730000,12.230000,12.260000,11.346816,20977000
+2012-06-12,12.400000,12.630000,12.380000,12.510000,11.578194,12403200
+2012-06-13,12.500000,12.530000,12.120000,12.180000,11.272774,12356900
+2012-06-14,12.160000,12.260000,11.910000,12.030000,11.133947,14747100
+2012-06-15,12.120000,12.300000,12.010000,12.290000,11.374582,9632200
+2012-06-18,12.200000,12.500000,12.100000,12.400000,11.476389,7610600
+2012-06-19,12.910000,13.430000,12.850000,13.240000,12.253820,24011900
+2012-06-20,13.370000,13.700000,13.290000,13.450000,12.448180,24318000
+2012-06-21,13.440000,13.440000,12.810000,12.840000,11.883615,12909400
+2012-06-22,13.000000,13.150000,12.820000,13.000000,12.031697,21634000
+2012-06-25,13.010000,13.050000,12.540000,12.590000,11.652235,12365400
+2012-06-26,12.660000,12.820000,12.480000,12.730000,11.781806,10928800
+2012-06-27,12.740000,13.230000,12.740000,13.140000,12.161269,12651600
+2012-06-28,13.020000,13.320000,12.910000,13.240000,12.253820,13647400
+2012-06-29,13.550000,13.850000,13.540000,13.820000,12.790620,15412700
+2012-07-02,13.890000,13.900000,13.340000,13.450000,12.448180,14542100
+2012-07-03,13.450000,13.830000,13.440000,13.800000,12.772108,5482100
+2012-07-05,13.710000,13.770000,13.450000,13.660000,12.642537,7001900
+2012-07-06,13.560000,13.600000,13.250000,13.400000,12.401902,9569000
+2012-07-09,13.320000,13.380000,13.110000,13.220000,12.235312,7658400
+2012-07-10,13.080000,13.470000,12.720000,12.820000,11.865105,12800700
+2012-07-11,12.860000,13.020000,12.550000,12.610000,11.670746,12130400
+2012-07-12,12.470000,12.490000,12.290000,12.400000,11.476389,11804000
+2012-07-13,12.410000,12.620000,12.330000,12.560000,11.624471,8106500
+2012-07-16,12.480000,12.700000,12.360000,12.600000,11.661491,8361500
+2012-07-17,12.640000,12.710000,12.160000,12.370000,11.448624,11186900
+2012-07-18,12.340000,13.240000,12.280000,13.060000,12.087229,15400200
+2012-07-19,13.150000,13.360000,13.060000,13.190000,12.207544,10075900
+2012-07-20,13.110000,13.200000,12.670000,12.810000,11.855849,11275000
+2012-07-23,12.470000,13.070000,12.330000,12.980000,12.013186,11289600
+2012-07-24,13.000000,13.080000,12.690000,12.840000,11.883615,8779100
+2012-07-25,12.800000,13.220000,12.740000,13.090000,12.114991,10376100
+2012-07-26,13.330000,13.480000,13.050000,13.150000,12.170524,8461000
+2012-07-27,13.200000,13.520000,13.100000,13.480000,12.475944,9412900
+2012-07-30,13.480000,13.650000,13.220000,13.330000,12.337117,9088800
+2012-07-31,13.330000,13.730000,13.310000,13.540000,12.531474,9694700
+2012-08-01,13.620000,13.750000,13.330000,13.390000,12.392650,8397800
+2012-08-02,13.320000,13.640000,13.100000,13.440000,12.438923,9197800
+2012-08-03,13.650000,13.860000,13.330000,13.720000,12.698068,8163700
+2012-08-06,13.850000,14.080000,13.830000,14.010000,12.966466,9008100
+2012-08-07,14.180000,14.300000,14.070000,14.150000,13.096040,10183500
+2012-08-08,14.140000,14.380000,14.100000,14.230000,13.170080,12926600
+2012-08-09,14.250000,14.740000,14.230000,14.710000,13.614330,20557500
+2012-08-10,15.100000,15.220000,14.430000,14.620000,13.531032,31968600
+2012-08-13,14.640000,14.820000,14.580000,14.810000,13.706879,11181100
+2012-08-14,14.860000,14.880000,14.530000,14.590000,13.503265,9720700
+2012-08-15,14.640000,14.760000,14.410000,14.480000,13.401456,14860100
+2012-08-16,14.610000,14.830000,14.560000,14.780000,13.679114,9275200
+2012-08-17,14.780000,14.780000,14.520000,14.650000,13.558796,7746600
+2012-08-20,14.600000,14.670000,14.430000,14.650000,13.558796,7859800
+2012-08-21,14.700000,14.790000,14.460000,14.610000,13.521777,8506200
+2012-08-22,14.520000,14.700000,14.470000,14.640000,13.549541,7838900
+2012-08-23,14.610000,14.620000,14.250000,14.310000,13.244121,9476000
+2012-08-24,14.310000,14.670000,14.280000,14.600000,13.512524,8693100
+2012-08-27,14.590000,14.630000,14.340000,14.350000,13.281140,8523600
+2012-08-28,14.240000,14.430000,14.210000,14.290000,13.225613,7769100
+2012-08-29,14.280000,14.410000,14.250000,14.320000,13.253376,6260300
+2012-08-30,14.290000,14.340000,13.980000,14.050000,13.003490,7687200
+2012-08-31,14.150000,14.250000,13.890000,14.030000,12.984977,12126600
+2012-09-04,13.800000,13.850000,13.150000,13.280000,12.290840,17361300
+2012-09-05,13.330000,13.520000,13.180000,13.320000,12.327860,12006400
+2012-09-06,13.420000,14.090000,13.410000,13.730000,12.707322,16432400
+2012-09-07,13.380000,13.490000,12.950000,13.400000,12.401902,19526600
+2012-09-10,13.370000,13.560000,13.250000,13.280000,12.290840,9277700
+2012-09-11,13.270000,13.650000,13.220000,13.440000,12.438923,9570200
+2012-09-12,13.550000,13.660000,13.420000,13.590000,12.577751,8065200
+2012-09-13,13.710000,13.760000,13.420000,13.680000,12.661047,10845900
+2012-09-14,13.670000,14.080000,13.670000,13.840000,12.809130,8486700
+2012-09-17,13.870000,13.870000,13.310000,13.460000,12.457435,12333700
+2012-09-18,13.310000,13.710000,13.300000,13.550000,12.540729,8998800
+2012-09-19,13.580000,13.900000,13.420000,13.710000,12.688812,11298400
+2012-09-20,13.680000,13.750000,13.500000,13.610000,12.596261,8014900
+2012-09-21,13.630000,13.750000,13.580000,13.670000,12.651793,8503400
+2012-09-24,13.450000,13.680000,13.430000,13.660000,12.642537,8945800
+2012-09-25,13.840000,13.900000,13.390000,13.410000,12.411159,12038600
+2012-09-26,13.360000,13.370000,13.020000,13.180000,12.198291,10920300
+2012-09-27,13.210000,13.300000,13.100000,13.280000,12.290840,13972200
+2012-09-28,13.220000,13.530000,13.050000,13.340000,12.346373,12137700
+2012-10-01,13.400000,13.480000,13.070000,13.120000,12.142759,12605900
+2012-10-02,13.210000,13.210000,13.020000,13.170000,12.189035,7387300
+2012-10-03,13.200000,13.240000,12.970000,13.040000,12.068719,10771800
+2012-10-04,13.070000,13.700000,13.000000,13.620000,12.605517,12565200
+2012-10-05,13.660000,13.800000,13.250000,13.300000,12.309353,12076700
+2012-10-08,13.250000,13.310000,13.070000,13.170000,12.189035,6014900
+2012-10-09,13.150000,13.190000,12.850000,12.890000,11.929889,9159000
+2012-10-10,12.830000,12.890000,12.620000,12.670000,11.726276,8164200
+2012-10-11,12.790000,12.830000,12.640000,12.740000,11.791061,8012900
+2012-10-12,12.650000,12.750000,12.550000,12.630000,11.689256,6517400
+2012-10-15,12.650000,12.800000,12.500000,12.790000,11.837342,6239500
+2012-10-16,12.900000,13.200000,12.780000,13.160000,12.179779,9192400
+2012-10-17,13.000000,13.120000,12.870000,13.060000,12.087229,9793800
+2012-10-18,13.030000,13.030000,12.810000,12.860000,11.902123,6369300
+2012-10-19,12.670000,12.760000,12.040000,12.110000,11.207987,17735300
+2012-10-22,12.160000,12.230000,11.870000,11.970000,11.078419,12021000
+2012-10-23,11.860000,12.410000,11.830000,12.330000,11.411600,14348700
+2012-10-24,12.410000,12.460000,12.050000,12.170000,11.263521,8322900
+2012-10-25,12.270000,12.400000,12.130000,12.180000,11.272774,7683900
+2012-10-26,12.200000,12.270000,12.050000,12.050000,11.152459,9734400
+2012-10-31,12.100000,12.200000,11.950000,11.980000,11.087671,8677800
+2012-11-01,12.040000,12.560000,12.030000,12.550000,11.615216,11830500
+2012-11-02,12.680000,12.700000,12.410000,12.490000,11.559683,6417500
+2012-11-05,12.460000,13.070000,12.460000,13.020000,12.050210,11121000
+2012-11-06,13.050000,13.050000,12.790000,13.010000,12.040955,8770100
+2012-11-07,12.910000,12.990000,12.550000,12.610000,11.670746,8115500
+2012-11-08,12.750000,13.080000,12.650000,12.680000,11.735536,20975600
+2012-11-09,12.750000,12.900000,12.150000,12.190000,11.282030,21157000
+2012-11-12,12.210000,12.260000,11.800000,11.920000,11.032143,16090600
+2012-11-13,11.860000,12.130000,11.820000,11.830000,10.948846,12303000
+2012-11-14,11.900000,12.020000,11.530000,11.540000,10.680446,15482500
+2012-11-15,11.610000,11.910000,11.510000,11.590000,10.726722,11667200
+2012-11-16,11.590000,11.630000,11.150000,11.380000,10.532364,15613800
+2012-11-19,11.590000,11.740000,11.450000,11.700000,10.828526,10102300
+2012-11-20,11.580000,11.630000,11.370000,11.490000,10.702775,8424400
+2012-11-21,11.490000,11.850000,11.480000,11.820000,11.010168,10557800
+2012-11-23,11.870000,12.040000,11.810000,11.900000,11.084687,6923300
+2012-11-26,11.920000,12.140000,11.900000,12.110000,11.280297,9115000
+2012-11-27,12.060000,12.340000,11.960000,12.160000,11.326873,11285100
+2012-11-28,12.110000,12.320000,11.960000,12.260000,11.420021,9958300
+2012-11-29,12.280000,12.340000,12.000000,12.040000,11.215091,12217200
+2012-11-30,12.030000,12.120000,11.900000,11.970000,11.149891,11512600
+2012-12-03,12.120000,12.120000,11.720000,11.750000,10.944963,9784500
+2012-12-04,11.770000,12.120000,11.700000,12.100000,11.270984,13201700
+2012-12-05,12.000000,12.080000,11.790000,11.960000,11.140575,15825600
+2012-12-06,11.930000,12.060000,11.890000,11.980000,11.159203,10322400
+2012-12-07,11.990000,12.050000,11.820000,11.960000,11.140575,8457200
+2012-12-10,11.960000,12.450000,11.930000,12.360000,11.513167,12841100
+2012-12-11,12.400000,12.810000,12.370000,12.650000,11.783299,20418100
+2012-12-12,12.690000,12.760000,12.470000,12.520000,11.662207,9985100
+2012-12-13,12.500000,12.770000,12.410000,12.530000,11.671519,9438900
+2012-12-14,12.580000,12.720000,12.490000,12.590000,11.727410,8466500
+2012-12-17,12.560000,12.630000,12.350000,12.540000,11.680838,11130800
+2012-12-18,12.540000,12.700000,12.500000,12.560000,11.699467,10410900
+2012-12-19,12.650000,12.800000,12.600000,12.650000,11.783299,11463600
+2012-12-20,12.700000,12.710000,12.500000,12.640000,11.773988,8358300
+2012-12-21,12.470000,12.470000,12.210000,12.350000,11.503856,11554300
+2012-12-24,12.340000,12.380000,12.210000,12.250000,11.410707,3184400
+2012-12-26,12.220000,12.420000,12.190000,12.240000,11.401391,4918500
+2012-12-27,12.260000,12.280000,12.020000,12.160000,11.326873,7495100
+2012-12-28,12.050000,12.290000,12.030000,12.100000,11.270984,5515000
+2012-12-31,12.060000,12.310000,12.030000,12.260000,11.420021,8161500
+2013-01-02,12.560000,12.730000,12.510000,12.720000,11.848505,11970900
+2013-01-03,12.720000,12.870000,12.580000,12.730000,11.857819,7472200
+2013-01-04,12.750000,13.190000,12.710000,13.150000,12.249041,13124200
+2013-01-07,13.140000,13.180000,12.680000,12.770000,11.895081,15268300
+2013-01-08,12.800000,12.840000,12.400000,12.490000,11.634263,11660600
+2013-01-09,12.590000,12.650000,12.130000,12.210000,11.373447,17375500
+2013-01-10,12.320000,12.380000,12.160000,12.230000,11.392076,12659200
+2013-01-11,12.280000,12.290000,12.090000,12.210000,11.373447,12829300
+2013-01-14,12.290000,12.290000,12.060000,12.200000,11.364130,7642100
+2013-01-15,12.140000,12.140000,11.910000,11.980000,11.159203,9397200
+2013-01-16,11.960000,12.190000,11.960000,12.090000,11.261669,8434400
+2013-01-17,12.130000,12.300000,12.100000,12.250000,11.410707,14518400
+2013-01-18,12.250000,12.250000,12.020000,12.170000,11.336187,9927200
+2013-01-22,12.160000,12.270000,12.050000,12.110000,11.280297,7705600
+2013-01-23,12.150000,12.160000,12.000000,12.130000,11.298926,10545200
+2013-01-24,12.090000,12.240000,12.030000,12.190000,11.354815,9924500
+2013-01-25,12.210000,12.420000,12.150000,12.410000,11.559747,9848000
+2013-01-28,12.470000,12.690000,12.440000,12.610000,11.746040,10562300
+2013-01-29,12.560000,12.590000,12.290000,12.340000,11.494538,9721800
+2013-01-30,12.350000,12.520000,12.280000,12.320000,11.475911,7189800
+2013-01-31,12.320000,12.460000,12.180000,12.260000,11.420021,11763600
+2013-02-01,12.360000,12.410000,12.260000,12.370000,11.522485,7220400
+2013-02-04,12.300000,12.550000,12.150000,12.160000,11.326873,12793600
+2013-02-05,12.220000,12.510000,12.180000,12.440000,11.587689,9182400
+2013-02-06,12.140000,12.440000,12.070000,12.340000,11.494538,13267200
+2013-02-07,12.300000,12.400000,12.170000,12.290000,11.447966,11000000
+2013-02-08,12.370000,12.470000,12.290000,12.370000,11.522485,7680800
+2013-02-11,12.470000,12.640000,12.350000,12.510000,11.652892,10207700
+2013-02-12,12.400000,12.570000,12.380000,12.430000,11.578375,6945100
+2013-02-13,12.440000,12.670000,12.330000,12.370000,11.522485,21409900
+2013-02-14,12.200000,12.740000,12.050000,12.730000,11.857819,22052400
+2013-02-15,12.700000,12.790000,12.450000,12.730000,11.857819,18346500
+2013-02-19,12.740000,12.750000,12.480000,12.560000,11.699467,10838800
+2013-02-20,12.600000,12.800000,12.340000,12.380000,11.531799,17825300
+2013-02-21,12.360000,12.500000,12.260000,12.290000,11.447966,14510200
+2013-02-22,12.370000,12.530000,12.300000,12.520000,11.662207,9253700
+2013-02-25,12.550000,12.650000,12.280000,12.300000,11.457280,16111100
+2013-02-26,12.250000,12.440000,12.210000,12.370000,11.593175,12187600
+2013-02-27,12.370000,12.690000,12.340000,12.600000,11.808730,11924500
+2013-02-28,12.560000,12.850000,12.510000,12.660000,11.864965,14784800
+2013-03-01,12.570000,12.750000,12.460000,12.710000,11.911822,9734900
+2013-03-04,12.620000,12.780000,12.520000,12.660000,11.864965,8842000
+2013-03-05,12.730000,12.820000,12.670000,12.800000,11.996166,9154200
+2013-03-06,12.880000,13.000000,12.730000,12.790000,11.986802,8573200
+2013-03-07,12.860000,12.990000,12.690000,12.760000,11.958680,7870600
+2013-03-08,12.790000,12.880000,12.730000,12.820000,12.014915,6161600
+2013-03-11,12.690000,12.750000,12.590000,12.700000,11.902450,7493700
+2013-03-12,12.680000,12.780000,12.560000,12.740000,11.939939,7771400
+2013-03-13,12.740000,12.960000,12.620000,12.740000,11.939939,12146000
+2013-03-14,12.820000,12.860000,12.670000,12.750000,11.949310,9582600
+2013-03-15,12.750000,12.750000,12.590000,12.640000,11.846218,8894400
+2013-03-18,12.560000,12.670000,12.460000,12.550000,11.761870,7457800
+2013-03-19,12.560000,12.620000,12.380000,12.470000,11.686893,8887000
+2013-03-20,12.590000,12.660000,12.480000,12.620000,11.827474,8514700
+2013-03-21,12.550000,12.570000,12.400000,12.420000,11.640034,8475800
+2013-03-22,12.460000,12.530000,12.410000,12.480000,11.696265,5811900
+2013-03-25,12.550000,12.560000,12.320000,12.410000,11.630664,9051900
+2013-03-26,12.440000,12.510000,12.390000,12.500000,11.715012,5813500
+2013-03-27,12.450000,12.720000,12.420000,12.650000,11.855590,6373600
+2013-03-28,12.620000,12.840000,12.530000,12.830000,12.024289,8731900
+2013-04-01,12.800000,12.800000,12.320000,12.410000,11.630664,11070700
+2013-04-02,12.420000,12.450000,12.200000,12.280000,11.508826,9288100
+2013-04-03,12.260000,12.330000,12.040000,12.130000,11.368246,8828900
+2013-04-04,12.090000,12.290000,12.050000,12.250000,11.480711,7366900
+2013-04-05,12.070000,12.460000,12.040000,12.460000,11.677524,13783800
+2013-04-08,12.470000,12.470000,12.200000,12.430000,11.649407,8166500
+2013-04-09,12.440000,12.720000,12.350000,12.630000,11.836847,9514600
+2013-04-10,12.640000,12.850000,12.610000,12.830000,12.024289,9617200
+2013-04-11,12.650000,12.850000,12.300000,12.770000,11.968055,24230500
+2013-04-12,12.830000,13.230000,12.720000,13.090000,12.267958,19263700
+2013-04-15,13.050000,13.090000,12.740000,12.820000,12.014915,10760500
+2013-04-16,12.940000,13.050000,12.870000,12.960000,12.146123,11721100
+2013-04-17,12.860000,12.980000,12.710000,12.790000,11.986802,13323700
+2013-04-18,12.820000,12.900000,12.540000,12.540000,11.752500,10063700
+2013-04-19,12.530000,12.610000,12.370000,12.570000,11.780614,7575700
+2013-04-22,12.560000,12.700000,12.460000,12.590000,11.799358,6139200
+2013-04-23,12.700000,13.050000,12.680000,12.920000,12.108632,9423700
+2013-04-24,12.960000,13.470000,12.950000,13.360000,12.521003,13913900
+2013-04-25,13.430000,13.500000,13.310000,13.470000,12.624096,8830600
+2013-04-26,13.450000,13.470000,13.340000,13.410000,12.567863,8108300
+2013-04-29,13.430000,13.620000,13.370000,13.570000,12.717815,6742800
+2013-04-30,13.600000,13.770000,13.510000,13.770000,12.905254,6917800
+2013-05-01,13.770000,13.860000,13.600000,13.650000,12.792790,8532900
+2013-05-02,13.640000,13.850000,13.560000,13.810000,12.942741,8087000
+2013-05-03,13.900000,13.970000,13.820000,13.870000,12.998977,7346600
+2013-05-06,13.870000,13.950000,13.750000,13.830000,12.961487,5427900
+2013-05-07,13.830000,13.860000,13.520000,13.650000,12.792790,11201700
+2013-05-08,13.670000,13.980000,13.620000,13.900000,13.027090,8350800
+2013-05-09,13.650000,13.970000,13.630000,13.910000,13.036464,14170000
+2013-05-10,14.200000,14.600000,14.200000,14.540000,13.626901,21528400
+2013-05-13,14.440000,14.500000,14.180000,14.240000,13.345739,7245300
+2013-05-14,14.410000,14.570000,14.270000,14.450000,13.542554,11353500
+2013-05-15,14.380000,14.750000,14.380000,14.700000,13.776852,7829300
+2013-05-16,14.680000,14.830000,14.580000,14.630000,13.711250,7709200
+2013-05-17,14.700000,14.970000,14.590000,14.870000,13.936177,7802900
+2013-05-20,14.810000,14.900000,14.760000,14.840000,13.908061,5909500
+2013-05-21,14.850000,14.980000,14.680000,14.920000,14.054066,8944600
+2013-05-22,14.980000,14.980000,14.340000,14.400000,13.564244,12010100
+2013-05-23,14.230000,14.680000,14.190000,14.630000,13.780897,9847100
+2013-05-24,14.550000,14.670000,14.380000,14.540000,13.696119,7082600
+2013-05-28,14.650000,14.690000,14.390000,14.530000,13.686699,6982500
+2013-05-29,14.440000,14.530000,14.380000,14.440000,13.601923,8376300
+2013-05-30,14.420000,14.780000,14.380000,14.630000,13.780897,7112600
+2013-05-31,14.550000,14.760000,14.470000,14.470000,13.630183,14437700
+2013-06-03,14.490000,14.600000,14.150000,14.450000,13.611341,11111700
+2013-06-04,14.540000,14.800000,14.380000,14.470000,13.630183,9091900
+2013-06-05,14.450000,14.560000,14.120000,14.160000,13.338175,11613000
+2013-06-06,14.160000,14.360000,14.150000,14.250000,13.422951,8526100
+2013-06-07,14.350000,14.540000,14.290000,14.450000,13.611341,6864600
+2013-06-10,14.410000,14.530000,14.330000,14.440000,13.601923,5603700
+2013-06-11,14.250000,14.450000,14.170000,14.170000,13.347591,7408400
+2013-06-12,14.240000,14.360000,13.970000,14.050000,13.234560,7814700
+2013-06-13,14.000000,14.440000,13.990000,14.370000,13.535985,5906400
+2013-06-14,14.420000,14.440000,14.250000,14.350000,13.517149,5900300
+2013-06-17,14.460000,14.620000,14.380000,14.490000,13.649022,6383400
+2013-06-18,14.560000,14.720000,14.280000,14.400000,13.564244,12169300
+2013-06-19,14.530000,15.480000,14.480000,14.840000,13.978707,28989700
+2013-06-20,14.720000,14.740000,14.340000,14.440000,13.601923,15717400
+2013-06-21,14.520000,14.570000,14.180000,14.420000,13.583083,17855700
+2013-06-24,14.210000,14.390000,13.910000,14.120000,13.300495,14519300
+2013-06-25,14.270000,14.300000,14.070000,14.220000,13.394695,11434000
+2013-06-26,14.380000,14.400000,14.080000,14.140000,13.319337,14493800
+2013-06-27,14.180000,14.200000,13.860000,14.010000,13.196878,20200900
+2013-06-28,14.010000,14.180000,13.830000,14.040000,13.225141,10788400
+2013-07-01,14.140000,14.170000,14.010000,14.100000,13.281655,4988100
+2013-07-02,14.020000,14.300000,13.960000,14.090000,13.272236,6409800
+2013-07-03,13.970000,14.300000,13.970000,14.130000,13.309916,3509700
+2013-07-05,14.170000,14.270000,14.080000,14.240000,13.413530,4617100
+2013-07-08,14.280000,14.350000,14.090000,14.170000,13.347591,6552100
+2013-07-09,14.200000,14.330000,14.160000,14.240000,13.413530,3934100
+2013-07-10,14.240000,14.470000,14.200000,14.430000,13.592507,5211700
+2013-07-11,14.510000,14.650000,14.480000,14.630000,13.780897,5995800
+2013-07-12,14.600000,14.780000,14.550000,14.640000,13.790315,5409000
+2013-07-15,14.670000,14.670000,14.380000,14.610000,13.762056,5033300
+2013-07-16,14.670000,14.770000,14.600000,14.690000,13.837413,4064000
+2013-07-17,14.690000,14.740000,14.570000,14.610000,13.762056,4152500
+2013-07-18,14.590000,14.640000,14.360000,14.550000,13.705538,8612200
+2013-07-19,14.460000,14.530000,14.090000,14.240000,13.413530,12013300
+2013-07-22,14.350000,14.480000,14.170000,14.230000,13.404108,7309600
+2013-07-23,14.410000,14.410000,14.140000,14.210000,13.385272,6169800
+2013-07-24,14.340000,14.380000,14.190000,14.210000,13.385272,7106300
+2013-07-25,14.200000,14.450000,14.100000,14.260000,13.432370,6083000
+2013-07-26,14.090000,14.290000,14.090000,14.200000,13.375853,5684000
+2013-07-29,14.170000,14.350000,14.130000,14.170000,13.347591,4488500
+2013-07-30,14.220000,14.600000,14.210000,14.410000,13.573665,6651900
+2013-07-31,14.340000,14.580000,14.330000,14.440000,13.601923,6754000
+2013-08-01,14.490000,14.670000,14.320000,14.640000,13.790315,6941200
+2013-08-02,14.610000,14.790000,14.510000,14.760000,13.903353,5240700
+2013-08-05,14.720000,14.880000,14.640000,14.830000,13.969288,4629700
+2013-08-06,14.840000,14.870000,14.580000,14.610000,13.762056,5165200
+2013-08-07,14.530000,14.750000,14.520000,14.600000,13.752641,6109500
+2013-08-08,14.680000,14.770000,14.510000,14.700000,13.846831,8642400
+2013-08-09,14.120000,14.710000,14.110000,14.490000,13.649022,22655600
+2013-08-12,13.900000,14.580000,13.110000,14.370000,13.535985,6439200
+2013-08-13,14.390000,14.480000,14.300000,14.420000,13.583083,4936700
+2013-08-14,14.390000,15.120000,14.380000,15.030000,14.157681,20712700
+2013-08-15,14.870000,15.250000,14.810000,15.130000,14.251877,18090400
+2013-08-16,15.100000,15.400000,15.070000,15.190000,14.308393,16511400
+2013-08-19,15.100000,15.150000,14.940000,14.950000,14.082324,9835800
+2013-08-20,14.870000,15.050000,14.850000,14.950000,14.153326,5854800
+2013-08-21,14.860000,15.050000,14.820000,14.880000,14.087059,6538500
+2013-08-22,14.870000,15.100000,14.870000,14.960000,14.162795,3225400
+2013-08-23,14.980000,15.100000,14.930000,14.960000,14.162795,6128000
+2013-08-26,14.970000,15.030000,14.930000,14.990000,14.191192,7503800
+2013-08-27,14.850000,14.950000,14.750000,14.800000,14.011321,6936600
+2013-08-28,14.830000,14.940000,14.740000,14.800000,14.011321,7970600
+2013-08-29,14.750000,14.910000,14.710000,14.770000,13.982918,6905400
+2013-08-30,14.780000,14.820000,14.680000,14.750000,13.963984,9453000
+2013-09-03,14.790000,14.970000,14.670000,14.760000,13.973454,7117000
+2013-09-04,14.760000,14.990000,14.740000,14.900000,14.105989,5552000
+2013-09-05,14.840000,15.000000,14.830000,14.940000,14.143860,4372600
+2013-09-06,14.950000,15.030000,14.770000,14.880000,14.087059,5668900
+2013-09-09,15.000000,15.130000,14.960000,15.130000,14.323735,6160200
+2013-09-10,15.240000,15.460000,15.170000,15.450000,14.626683,7303300
+2013-09-11,15.430000,15.750000,15.320000,15.710000,14.872828,9904100
+2013-09-12,15.630000,15.900000,15.630000,15.700000,14.863362,7595200
+2013-09-13,15.750000,15.870000,15.640000,15.800000,14.958030,3992400
+2013-09-16,15.930000,16.040001,15.750000,15.810000,14.967499,5785300
+2013-09-17,15.870000,15.990000,15.800000,15.860000,15.014835,4215200
+2013-09-18,15.870000,16.040001,15.790000,16.000000,15.147372,6704200
+2013-09-19,16.070000,16.100000,15.860000,15.930000,15.081105,5689300
+2013-09-20,15.970000,16.070000,15.760000,15.790000,14.948565,8900900
+2013-09-23,15.780000,15.910000,15.550000,15.640000,14.806558,6781100
+2013-09-24,15.650000,15.760000,15.560000,15.700000,14.863362,5743300
+2013-09-25,15.670000,15.840000,15.600000,15.720000,14.882296,5828900
+2013-09-26,15.760000,15.790000,15.580000,15.670000,14.834960,3720400
+2013-09-27,15.550000,15.680000,15.490000,15.580000,14.749754,3798000
+2013-09-30,15.420000,15.670000,15.330000,15.560000,14.730823,5666000
+2013-10-01,15.580000,15.650000,15.460000,15.550000,14.721354,5674400
+2013-10-02,15.390000,15.600000,15.390000,15.540000,14.711887,4050900
+2013-10-03,15.550000,15.690000,15.310000,15.380000,14.560412,10919200
+2013-10-04,15.360000,15.720000,15.320000,15.590000,14.759222,6155700
+2013-10-07,15.530000,15.700000,15.450000,15.590000,14.759222,4248800
+2013-10-08,15.550000,15.770000,15.340000,15.460000,14.636149,7267800
+2013-10-09,15.560000,15.570000,15.140000,15.220000,14.408940,6896500
+2013-10-10,15.330000,15.430000,15.220000,15.390000,14.569881,5587100
+2013-10-11,15.150000,15.340000,15.100000,15.260000,14.446809,5342600
+2013-10-14,15.220000,15.490000,15.220000,15.490000,14.664552,4165700
+2013-10-15,15.490000,15.580000,15.400000,15.410000,14.588814,5220500
+2013-10-16,15.500000,15.660000,15.480000,15.600000,14.768688,5251800
+2013-10-17,15.480000,15.670000,15.480000,15.630000,14.797091,5333100
+2013-10-18,15.600000,15.860000,15.540000,15.810000,14.967499,6376700
+2013-10-21,16.000000,16.010000,15.800000,15.850000,15.005366,4875200
+2013-10-22,15.850000,15.860000,15.630000,15.770000,14.929631,4486300
+2013-10-23,15.740000,15.740000,15.450000,15.500000,14.674018,6305400
+2013-10-24,15.540000,15.640000,15.360000,15.390000,14.569881,5910900
+2013-10-25,15.470000,15.480000,15.190000,15.240000,14.427872,8262300
+2013-10-28,15.220000,15.290000,15.000000,15.210000,14.399472,9850600
+2013-10-29,15.190000,15.260000,15.050000,15.230000,14.418406,9698800
+2013-10-30,15.280000,15.350000,15.090000,15.220000,14.408940,5100800
+2013-10-31,15.240000,15.350000,15.160000,15.190000,14.380537,7334200
+2013-11-01,15.270000,15.330000,15.150000,15.260000,14.446809,5153400
+2013-11-04,15.310000,15.310000,14.790000,14.820000,14.030255,10256600
+2013-11-05,14.730000,14.870000,14.570000,14.800000,14.011321,10559200
+2013-11-06,14.800000,14.910000,14.650000,14.900000,14.105989,4951100
+2013-11-07,14.850000,14.890000,14.520000,14.550000,13.774642,13826900
+2013-11-08,15.000000,15.610000,14.940000,15.560000,14.730823,18363300
+2013-11-11,15.500000,15.730000,15.470000,15.690000,14.853892,7440600
+2013-11-12,15.760000,15.850000,15.540000,15.720000,14.882296,7900800
+2013-11-13,15.680000,16.150000,15.650000,16.150000,15.289380,8319800
+2013-11-14,16.100000,16.320000,16.090000,16.219999,15.355650,7699500
+2013-11-15,16.280001,16.299999,16.010000,16.170000,15.308316,11258300
+2013-11-18,15.820000,15.960000,15.740000,15.780000,14.939096,7923700
+2013-11-19,15.620000,15.760000,15.420000,15.440000,14.696378,5167900
+2013-11-20,15.450000,15.490000,15.180000,15.210000,14.477456,5119400
+2013-11-21,15.230000,15.360000,15.160000,15.330000,14.591679,5339200
+2013-11-22,15.350000,15.350000,15.150000,15.180000,14.448900,3966700
+2013-11-25,15.180000,15.530000,15.180000,15.510000,14.763006,6205200
+2013-11-26,15.680000,15.810000,15.580000,15.640000,14.886745,18829400
+2013-11-27,15.630000,15.750000,15.530000,15.700000,14.943857,4531800
+2013-11-29,15.700000,15.740000,15.500000,15.600000,14.848674,2924100
+2013-12-02,15.540000,15.860000,15.510000,15.750000,14.991447,9346800
+2013-12-03,15.750000,15.960000,15.640000,15.740000,14.981932,7264000
+2013-12-04,15.700000,15.990000,15.660000,15.960000,15.191336,12329400
+2013-12-05,15.990000,15.990000,15.680000,15.700000,14.943857,6795300
+2013-12-06,15.890000,15.890000,15.430000,15.470000,14.724933,7025000
+2013-12-09,15.470000,15.520000,15.180000,15.210000,14.477456,9630500
+2013-12-10,15.210000,15.630000,15.190000,15.560000,14.810599,13106700
+2013-12-11,15.590000,15.610000,15.380000,15.410000,14.667824,10353900
+2013-12-12,15.360000,15.440000,15.080000,15.110000,14.382273,6468100
+2013-12-13,15.140000,15.250000,15.000000,15.020000,14.296606,4614700
+2013-12-16,15.030000,15.170000,15.020000,15.040000,14.315645,5940500
+2013-12-17,15.030000,15.150000,14.900000,15.110000,14.382273,6852600
+2013-12-18,15.140000,15.350000,14.950000,15.320000,14.582159,10655800
+2013-12-19,15.300000,15.400000,15.200000,15.380000,14.639268,6463600
+2013-12-20,15.410000,15.700000,15.370000,15.690000,14.934338,9552000
+2013-12-23,15.780000,15.910000,15.650000,15.780000,15.020003,4214200
+2013-12-24,15.870000,15.870000,15.660000,15.820000,15.058077,1990000
+2013-12-26,15.880000,15.930000,15.630000,15.670000,14.915301,4223000
+2013-12-27,15.750000,15.790000,15.660000,15.760000,15.000966,5274400
+2013-12-30,15.770000,15.980000,15.750000,15.970000,15.200851,6204500
+2013-12-31,16.000000,16.100000,15.900000,16.020000,15.248446,5894400
+2014-01-02,15.920000,15.980000,15.720000,15.860000,15.096152,6502300
+2014-01-03,15.890000,15.920000,15.620000,15.670000,14.915301,6483300
+2014-01-06,15.830000,16.000000,15.680000,15.880000,15.115188,10237300
+2014-01-07,16.040001,16.200001,15.930000,16.139999,15.362666,8332200
+2014-01-08,16.200001,16.440001,16.139999,16.360001,15.572070,7704800
+2014-01-09,16.110001,16.139999,15.700000,15.750000,14.991447,7304300
+2014-01-10,15.800000,15.910000,15.590000,15.730000,14.972411,5462300
+2014-01-13,15.730000,15.830000,15.330000,15.360000,14.620232,6083300
+2014-01-14,15.440000,15.870000,15.370000,15.840000,15.077115,6045700
+2014-01-15,15.910000,16.070000,15.840000,16.010000,15.238929,4376100
+2014-01-16,16.010000,16.090000,15.940000,16.059999,15.286519,5516300
+2014-01-17,16.059999,16.250000,15.890000,15.990000,15.219892,8510000
+2014-01-21,16.010000,16.150000,15.880000,16.049999,15.276999,6151900
+2014-01-22,16.080000,16.100000,15.840000,16.030001,15.257964,8448500
+2014-01-23,15.980000,16.150000,15.850000,15.970000,15.200851,4625700
+2014-01-24,15.840000,15.900000,15.560000,15.560000,14.810599,6167400
+2014-01-27,15.560000,15.780000,15.370000,15.460000,14.715416,5845300
+2014-01-28,15.430000,15.620000,15.370000,15.610000,14.858193,4199900
+2014-01-29,15.550000,15.640000,15.450000,15.460000,14.715416,4073600
+2014-01-30,15.550000,15.750000,15.500000,15.720000,14.962893,5072400
+2014-01-31,15.500000,15.790000,15.490000,15.700000,14.943857,8383700
+2014-02-03,15.810000,15.830000,15.430000,15.490000,14.743970,10793200
+2014-02-04,15.480000,15.610000,15.400000,15.580000,14.829636,7017300
+2014-02-05,15.470000,15.520000,15.320000,15.440000,14.696378,5366900
+2014-02-06,15.460000,15.680000,15.440000,15.640000,14.886745,4209500
+2014-02-07,15.680000,15.890000,15.540000,15.870000,15.105667,3931200
+2014-02-10,15.850000,16.129999,15.840000,15.920000,15.153262,8109300
+2014-02-11,16.010000,16.290001,15.930000,16.250000,15.467368,5884600
+2014-02-12,16.299999,16.950001,16.299999,16.830000,16.019436,18613200
+2014-02-13,17.250000,17.459999,16.950001,17.360001,16.523907,22570900
+2014-02-14,17.200001,17.950001,17.190001,17.910000,17.047417,20438400
+2014-02-18,17.920000,17.980000,17.750000,17.900000,17.037903,10724700
+2014-02-19,17.900000,18.299999,17.820000,18.139999,17.266336,11258500
+2014-02-20,18.180000,18.820000,18.150000,18.780001,17.875525,9952200
+2014-02-21,18.750000,18.990000,18.520000,18.639999,17.742262,11276300
+2014-02-24,18.600000,19.049999,18.430000,18.910000,17.999254,10077800
+2014-02-25,18.799999,18.879999,18.540001,18.740000,17.917986,6054600
+2014-02-26,18.700001,18.980000,18.650000,18.709999,17.889301,9022100
+2014-02-27,18.709999,18.900000,18.450001,18.500000,17.688515,9721200
+2014-02-28,18.400000,18.580000,18.110001,18.379999,17.573780,8042300
+2014-03-03,17.969999,18.290001,17.809999,18.290001,17.487722,9398700
+2014-03-04,18.379999,18.600000,18.350000,18.480000,17.669390,6508600
+2014-03-05,18.459999,18.650000,18.379999,18.639999,17.822372,6036800
+2014-03-06,18.670000,18.770000,18.350000,18.379999,17.573780,7253600
+2014-03-07,18.459999,18.490000,18.219999,18.360001,17.554655,6711300
+2014-03-10,18.299999,18.379999,18.010000,18.090000,17.296495,7522200
+2014-03-11,18.180000,18.430000,18.120001,18.270000,17.468601,7430500
+2014-03-12,18.180000,18.430000,18.110001,18.320000,17.516407,5985700
+2014-03-13,18.360001,18.430000,17.650000,17.740000,16.961849,9629300
+2014-03-14,17.559999,17.980000,17.559999,17.820000,17.038338,11501200
+2014-03-17,17.870001,18.000000,17.799999,17.820000,17.038338,7491400
+2014-03-18,17.889999,18.360001,17.809999,18.240000,17.439919,7347600
+2014-03-19,18.379999,18.910000,18.330000,18.559999,17.745882,9154200
+2014-03-20,18.459999,18.730000,18.379999,18.570000,17.755442,4795000
+2014-03-21,18.730000,18.879999,18.440001,18.540001,17.726755,14152900
+2014-03-24,18.549999,18.700001,18.180000,18.450001,17.640705,7652400
+2014-03-25,18.650000,18.670000,18.309999,18.450001,17.640705,7610600
+2014-03-26,18.620001,18.969999,17.870001,18.030001,17.239130,13943900
+2014-03-27,17.990000,18.139999,17.590000,17.790001,17.009659,13518200
+2014-03-28,17.760000,18.010000,17.709999,17.900000,17.114834,9970500
+2014-03-31,17.930000,18.090000,17.809999,17.910000,17.124388,6835100
+2014-04-01,18.480000,18.870001,18.260000,18.650000,17.831930,16406800
+2014-04-02,18.650000,18.690001,18.450001,18.530001,17.717197,5998700
+2014-04-03,18.570000,19.180000,18.559999,18.730000,17.908424,14988700
+2014-04-04,18.830000,18.940001,18.070000,18.150000,17.353865,9200800
+2014-04-07,18.160000,18.559999,18.059999,18.209999,17.411230,10714400
+2014-04-08,18.209999,18.910000,18.180000,18.860001,18.032722,11767300
+2014-04-09,18.950001,19.110001,18.690001,18.840000,18.013599,10549200
+2014-04-10,18.760000,19.020000,18.320000,18.379999,17.573780,9318700
+2014-04-11,18.240000,18.520000,17.879999,18.120001,17.325182,8827800
+2014-04-14,18.240000,18.389999,18.120001,18.320000,17.516407,7254600
+2014-04-15,18.340000,18.549999,18.160000,18.450001,17.640705,7615900
+2014-04-16,18.540001,18.559999,18.260000,18.490000,17.678951,5878400
+2014-04-17,18.420000,18.730000,18.379999,18.559999,17.745882,3838300
+2014-04-21,18.570000,18.760000,18.450001,18.709999,17.889301,2925100
+2014-04-22,18.740000,18.990000,18.639999,18.870001,18.042284,6378000
+2014-04-23,18.900000,19.139999,18.870001,19.090000,18.252630,6539500
+2014-04-24,19.219999,19.459999,19.219999,19.260000,18.415174,9787300
+2014-04-25,19.219999,19.400000,18.690001,18.730000,17.908424,7840000
+2014-04-28,18.879999,18.980000,18.420000,18.650000,17.831930,5669700
+2014-04-29,18.719999,18.760000,18.480000,18.690001,17.870176,4282500
+2014-04-30,18.660000,18.680000,18.430000,18.469999,17.659830,7643500
+2014-05-01,18.750000,18.790001,18.420000,18.570000,17.755442,4952600
+2014-05-02,18.660000,18.660000,18.320000,18.430000,17.621580,3909400
+2014-05-05,18.410000,18.770000,18.389999,18.629999,17.812811,5981500
+2014-05-06,18.809999,18.969999,18.200001,18.250000,17.449478,10404700
+2014-05-07,18.250000,18.420000,18.070000,18.270000,17.468601,7347500
+2014-05-08,18.200001,18.790001,18.110001,18.500000,17.688515,10818200
+2014-05-09,17.940001,18.110001,17.709999,18.049999,17.258253,13488300
+2014-05-12,18.090000,18.620001,18.080000,18.580000,17.765001,7496400
+2014-05-13,18.330000,18.629999,18.219999,18.280001,17.478165,5527600
+2014-05-14,18.290001,18.360001,18.090000,18.100000,17.306061,5358000
+2014-05-15,18.059999,18.160000,17.820000,18.000000,17.210443,8147400
+2014-05-16,17.860001,18.090000,17.860001,17.959999,17.172197,7099000
+2014-05-19,18.150000,18.639999,18.070000,18.540001,17.726755,9001900
+2014-05-20,18.459999,18.510000,18.150000,18.240000,17.520245,6405000
+2014-05-21,18.309999,18.469999,18.129999,18.240000,17.520245,5417800
+2014-05-22,18.200001,18.420000,18.200001,18.320000,17.597084,3259100
+2014-05-23,18.420000,18.580000,18.309999,18.490000,17.760378,4566400
+2014-05-27,18.600000,18.820000,18.540001,18.820000,18.077356,5242000
+2014-05-28,18.889999,19.100000,18.709999,18.980000,18.231039,5616900
+2014-05-29,18.969999,19.129999,18.910000,18.950001,18.202223,4297100
+2014-05-30,18.950001,19.049999,18.850000,19.000000,18.250257,5978200
+2014-06-02,19.059999,19.180000,18.780001,18.940001,18.192621,4537500
+2014-06-03,18.980000,19.000000,18.610001,18.860001,18.115776,6080300
+2014-06-04,18.809999,19.020000,18.799999,18.879999,18.134987,4030900
+2014-06-05,18.910000,19.020000,18.799999,18.959999,18.211832,4717400
+2014-06-06,19.049999,19.200001,18.980000,19.030001,18.279070,4026300
+2014-06-09,19.010000,19.230000,18.879999,19.049999,18.298279,6186400
+2014-06-10,18.980000,19.240000,18.900000,19.150000,18.394333,5440200
+2014-06-11,19.080000,19.450001,19.080000,19.400000,18.634468,6655700
+2014-06-12,19.400000,19.610001,19.230000,19.520000,18.749731,8428700
+2014-06-13,19.719999,19.730000,19.350000,19.540001,18.768940,5696300
+2014-06-16,19.450001,19.610001,19.309999,19.480000,18.711311,4965500
+2014-06-17,19.500000,19.690001,19.400000,19.610001,18.836180,3940200
+2014-06-18,19.559999,19.680000,19.379999,19.590000,18.816978,5388400
+2014-06-19,19.230000,19.330000,19.000000,19.139999,18.384727,11864800
+2014-06-20,19.190001,19.260000,18.780001,18.930000,18.183014,8828700
+2014-06-23,18.680000,18.719999,18.459999,18.709999,17.971695,10355000
+2014-06-24,18.680000,18.830000,18.340000,18.420000,17.693142,6894500
+2014-06-25,18.469999,18.620001,18.299999,18.610001,17.875643,5385500
+2014-06-26,18.610001,18.620001,18.299999,18.360001,17.635508,6422700
+2014-06-27,18.340000,18.490000,18.230000,18.379999,17.654716,7570500
+2014-06-30,18.309999,18.590000,18.309999,18.540001,17.808403,4512800
+2014-07-01,18.520000,18.860001,18.459999,18.750000,18.010117,8029500
+2014-07-02,18.680000,18.760000,18.570000,18.680000,17.942877,4482100
+2014-07-03,18.510000,18.900000,18.510000,18.850000,18.106169,3422300
+2014-07-07,18.879999,18.889999,18.670000,18.700001,17.962095,3187400
+2014-07-08,18.650000,18.730000,18.370001,18.549999,17.818007,5548500
+2014-07-09,18.709999,19.190001,18.570000,19.110001,18.355913,9691700
+2014-07-10,18.750000,19.090000,18.600000,19.010000,18.259857,6657700
+2014-07-11,19.030001,19.110001,18.959999,19.049999,18.298279,4779700
+2014-07-14,19.129999,19.340000,19.059999,19.290001,18.528809,6815900
+2014-07-15,19.320000,19.420000,19.190001,19.370001,18.605650,9886000
+2014-07-16,19.450001,19.600000,19.240000,19.350000,18.586443,7993200
+2014-07-17,19.129999,19.500000,19.129999,19.299999,18.538412,8120800
+2014-07-18,18.900000,19.049999,18.410000,18.440001,17.712351,14195400
+2014-07-21,18.370001,18.680000,18.370001,18.549999,17.818007,6084100
+2014-07-22,18.690001,18.790001,18.430000,18.469999,17.741167,7470400
+2014-07-23,18.480000,18.490000,18.059999,18.080000,17.366556,7433800
+2014-07-24,18.180000,18.230000,17.980000,18.110001,17.395372,6364400
+2014-07-25,18.049999,18.090000,17.760000,17.790001,17.088001,6653300
+2014-07-28,17.870001,17.870001,17.420000,17.719999,17.020761,8258800
+2014-07-29,17.730000,18.020000,17.719999,17.780001,17.078396,5449300
+2014-07-30,17.889999,18.129999,17.840000,18.080000,17.366556,6154600
+2014-07-31,17.860001,18.000000,17.469999,17.500000,16.809444,10047000
+2014-08-01,17.500000,17.790001,17.440001,17.690001,16.991943,5497100
+2014-08-04,17.670000,17.820000,17.559999,17.650000,16.953524,6043100
+2014-08-05,17.600000,17.920000,17.450001,17.660000,16.963131,7453400
+2014-08-06,17.540001,17.860001,17.410000,17.639999,16.943914,5586400
+2014-08-07,17.790001,17.950001,17.340000,17.459999,16.771021,10192400
+2014-08-08,18.219999,19.100000,18.219999,19.000000,18.250257,22358700
+2014-08-11,19.020000,19.100000,18.850000,18.900000,18.154200,8615600
+2014-08-12,18.889999,19.000000,18.690001,18.900000,18.154200,7403800
+2014-08-13,18.930000,19.170000,18.809999,19.010000,18.259857,6414900
+2014-08-14,19.080000,19.080000,18.719999,18.799999,18.058144,6399800
+2014-08-15,18.860001,19.150000,18.680000,19.040001,18.288673,9244900
+2014-08-18,19.120001,19.320000,18.930000,19.299999,18.538412,7101900
+2014-08-19,19.219999,19.469999,19.150000,19.370001,18.687956,6206500
+2014-08-20,19.299999,19.389999,19.200001,19.250000,18.572180,5536700
+2014-08-21,19.200001,19.299999,19.040001,19.070000,18.398521,6819900
+2014-08-22,19.049999,19.240000,18.930000,19.080000,18.408167,6280600
+2014-08-25,19.160000,19.290001,19.070000,19.110001,18.437113,3834500
+2014-08-26,19.160000,19.490000,19.090000,19.450001,18.765139,6740900
+2014-08-27,19.330000,19.480000,19.200001,19.230000,18.552885,4574300
+2014-08-28,19.190001,19.430000,19.129999,19.389999,18.707249,4492600
+2014-08-29,19.459999,19.490000,19.250000,19.450001,18.765139,5198300
+2014-09-02,19.500000,19.500000,19.320000,19.500000,18.813377,4815900
+2014-09-03,19.600000,19.750000,19.469999,19.680000,18.987040,6486400
+2014-09-04,19.650000,20.150000,19.639999,20.030001,19.324717,12295800
+2014-09-05,20.010000,20.100000,19.840000,19.969999,19.266825,6344800
+2014-09-08,19.950001,19.990000,19.709999,19.790001,19.093166,7982200
+2014-09-09,19.700001,19.830000,19.520000,19.540001,18.851969,4964700
+2014-09-10,19.650000,19.680000,19.430000,19.610001,18.919504,4309400
+2014-09-11,19.469999,19.540001,19.200001,19.410000,18.726542,6268000
+2014-09-12,19.530001,19.530001,19.100000,19.120001,18.446758,6563400
+2014-09-15,19.180000,19.209999,18.780001,18.860001,18.195913,7353800
+2014-09-16,18.809999,19.240000,18.750000,19.139999,18.466053,5498400
+2014-09-17,19.090000,19.330000,19.000000,19.150000,18.475702,4339600
+2014-09-18,19.270000,19.459999,19.209999,19.440001,18.755489,5490100
+2014-09-19,19.500000,19.520000,19.049999,19.080000,18.408167,15032900
+2014-09-22,19.469999,19.469999,18.870001,18.889999,18.224855,5536600
+2014-09-23,18.790001,19.020000,18.719999,18.809999,18.147671,4903600
+2014-09-24,18.799999,18.980000,18.780001,18.920000,18.253801,3989800
+2014-09-25,18.900000,18.950001,18.469999,18.510000,17.858242,7461000
+2014-09-26,18.570000,18.690001,18.490000,18.549999,17.896828,6029700
+2014-09-29,18.400000,18.650000,18.219999,18.520000,17.867882,5213500
+2014-09-30,18.440001,18.580000,18.230000,18.450001,17.800352,6930100
+2014-10-01,18.480000,18.610001,18.219999,18.270000,17.626688,8774400
+2014-10-02,18.240000,18.330000,17.770000,18.190001,17.549507,7224900
+2014-10-03,18.299999,18.549999,18.230000,18.230000,17.588097,5978500
+2014-10-06,18.299999,18.450001,18.000000,18.120001,17.481970,4975800
+2014-10-07,18.040001,18.219999,17.910000,17.930000,17.298664,7547400
+2014-10-08,17.910000,18.350000,17.770000,18.260000,17.617041,6504300
+2014-10-09,18.180000,18.200001,17.760000,17.910000,17.279362,7673900
+2014-10-10,17.770000,17.830000,16.840000,16.850000,16.256691,17284400
+2014-10-13,16.959999,17.299999,16.770000,16.790001,16.198801,9940700
+2014-10-14,17.020000,17.650000,16.920000,17.180000,16.575071,9415500
+2014-10-15,16.930000,17.530001,16.820000,17.440001,16.825918,10110700
+2014-10-16,17.129999,17.650000,17.090000,17.450001,16.835562,8777900
+2014-10-17,17.660000,17.860001,17.350000,17.420000,16.806616,7267900
+2014-10-20,17.420000,17.730000,17.299999,17.570000,16.951340,5008400
+2014-10-21,17.700001,18.340000,17.650000,18.320000,17.674927,8777300
+2014-10-22,18.290001,18.350000,17.889999,17.889999,17.260071,5987800
+2014-10-23,18.200001,18.420000,18.070000,18.290001,17.645983,5361900
+2014-10-24,18.400000,18.590000,18.290001,18.480000,17.829294,5253900
+2014-10-27,18.469999,18.559999,18.270000,18.490000,17.838942,3627300
+2014-10-28,18.440001,18.950001,18.420000,18.930000,18.263449,4814500
+2014-10-29,18.850000,18.959999,18.639999,18.809999,18.147671,4208500
+2014-10-30,18.760000,18.840000,18.450001,18.690001,18.031898,4256500
+2014-10-31,19.120001,19.549999,19.020000,19.540001,18.851969,6407900
+2014-11-03,19.990000,20.059999,19.770000,19.870001,19.170351,7718300
+2014-11-04,20.000000,20.200001,19.670000,20.129999,19.421200,9004900
+2014-11-05,20.250000,20.260000,19.980000,20.129999,19.421200,8391300
+2014-11-06,20.170000,20.250000,19.860001,20.219999,19.508024,9852200
+2014-11-07,20.450001,20.690001,19.590000,19.790001,19.093166,11270000
+2014-11-10,19.770000,20.150000,19.719999,20.020000,19.315071,7334700
+2014-11-11,19.900000,20.010000,19.610001,19.780001,19.083521,5324800
+2014-11-12,19.709999,19.760000,19.379999,19.650000,18.958096,5114600
+2014-11-13,19.719999,19.750000,19.389999,19.549999,18.861618,5633200
+2014-11-14,19.570000,19.790001,19.379999,19.790001,19.093166,4006200
+2014-11-17,19.700001,19.910000,19.570000,19.700001,19.006338,3968300
+2014-11-18,19.709999,20.219999,19.660000,20.170000,19.459791,5194300
+2014-11-19,20.100000,20.160000,19.799999,20.010000,19.387121,6007500
+2014-11-20,19.870001,20.360001,19.809999,20.340000,19.706846,5524200
+2014-11-21,20.520000,20.549999,20.280001,20.450001,19.813425,4974400
+2014-11-24,20.500000,20.670000,20.420000,20.580000,19.939379,3400100
+2014-11-25,20.540001,20.719999,20.500000,20.570000,19.929693,4756000
+2014-11-26,20.450001,20.940001,20.440001,20.920000,20.268797,5481600
+2014-11-28,20.990000,21.090000,20.799999,20.969999,20.317238,3120800
+2014-12-01,20.879999,21.000000,20.549999,20.580000,19.939379,4751500
+2014-12-02,20.559999,20.700001,20.370001,20.610001,19.968447,6148800
+2014-12-03,20.709999,21.150000,20.650000,21.139999,20.481945,7110600
+2014-12-04,21.110001,21.190001,20.809999,20.950001,20.297861,4633300
+2014-12-05,20.959999,21.180000,20.950001,21.070000,20.414127,4142000
+2014-12-08,21.040001,21.250000,20.629999,20.799999,20.152531,5673600
+2014-12-09,20.670000,20.780001,20.360001,20.730000,20.084709,5986200
+2014-12-10,20.670000,20.750000,20.250000,20.270000,19.639027,5109100
+2014-12-11,20.389999,20.530001,20.219999,20.260000,19.629343,3391300
+2014-12-12,19.990000,20.170000,19.610001,19.629999,19.018950,8099100
+2014-12-15,19.860001,20.219999,19.510000,19.570000,18.960817,6367400
+2014-12-16,19.549999,19.860001,19.340000,19.350000,18.747669,4632700
+2014-12-17,19.740000,20.170000,19.100000,20.139999,19.513073,8639900
+2014-12-18,20.389999,20.629999,20.030001,20.219999,19.590582,5653900
+2014-12-19,20.360001,20.500000,20.170000,20.420000,19.784357,8138200
+2014-12-22,20.400000,20.780001,20.330000,20.780001,20.133152,3724400
+2014-12-23,20.940001,21.040001,20.629999,20.650000,20.007196,2732000
+2014-12-24,20.700001,20.730000,20.549999,20.570000,19.929693,1141100
+2014-12-26,20.570000,20.700001,20.520000,20.590000,19.949068,1315900
+2014-12-29,20.530001,20.700001,20.430000,20.559999,19.920000,2073600
+2014-12-30,20.420000,20.520000,20.340000,20.370001,19.735916,2803000
+2014-12-31,20.400000,20.510000,19.990000,20.049999,19.425875,4157500
diff --git a/backtrader/source/datas/nvda-2014.txt b/backtrader/source/datas/nvda-2014.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a6639943996cd03c55985ded5b50d49a9302a3f0
--- /dev/null
+++ b/backtrader/source/datas/nvda-2014.txt
@@ -0,0 +1,253 @@
+Date,Open,High,Low,Close,Adj Close,Volume
+2014-01-02,15.920000,15.980000,15.720000,15.860000,15.096152,6502300
+2014-01-03,15.890000,15.920000,15.620000,15.670000,14.915301,6483300
+2014-01-06,15.830000,16.000000,15.680000,15.880000,15.115188,10237300
+2014-01-07,16.040001,16.200001,15.930000,16.139999,15.362666,8332200
+2014-01-08,16.200001,16.440001,16.139999,16.360001,15.572070,7704800
+2014-01-09,16.110001,16.139999,15.700000,15.750000,14.991447,7304300
+2014-01-10,15.800000,15.910000,15.590000,15.730000,14.972411,5462300
+2014-01-13,15.730000,15.830000,15.330000,15.360000,14.620232,6083300
+2014-01-14,15.440000,15.870000,15.370000,15.840000,15.077115,6045700
+2014-01-15,15.910000,16.070000,15.840000,16.010000,15.238929,4376100
+2014-01-16,16.010000,16.090000,15.940000,16.059999,15.286519,5516300
+2014-01-17,16.059999,16.250000,15.890000,15.990000,15.219892,8510000
+2014-01-21,16.010000,16.150000,15.880000,16.049999,15.276999,6151900
+2014-01-22,16.080000,16.100000,15.840000,16.030001,15.257964,8448500
+2014-01-23,15.980000,16.150000,15.850000,15.970000,15.200851,4625700
+2014-01-24,15.840000,15.900000,15.560000,15.560000,14.810599,6167400
+2014-01-27,15.560000,15.780000,15.370000,15.460000,14.715416,5845300
+2014-01-28,15.430000,15.620000,15.370000,15.610000,14.858193,4199900
+2014-01-29,15.550000,15.640000,15.450000,15.460000,14.715416,4073600
+2014-01-30,15.550000,15.750000,15.500000,15.720000,14.962893,5072400
+2014-01-31,15.500000,15.790000,15.490000,15.700000,14.943857,8383700
+2014-02-03,15.810000,15.830000,15.430000,15.490000,14.743970,10793200
+2014-02-04,15.480000,15.610000,15.400000,15.580000,14.829636,7017300
+2014-02-05,15.470000,15.520000,15.320000,15.440000,14.696378,5366900
+2014-02-06,15.460000,15.680000,15.440000,15.640000,14.886745,4209500
+2014-02-07,15.680000,15.890000,15.540000,15.870000,15.105667,3931200
+2014-02-10,15.850000,16.129999,15.840000,15.920000,15.153262,8109300
+2014-02-11,16.010000,16.290001,15.930000,16.250000,15.467368,5884600
+2014-02-12,16.299999,16.950001,16.299999,16.830000,16.019436,18613200
+2014-02-13,17.250000,17.459999,16.950001,17.360001,16.523907,22570900
+2014-02-14,17.200001,17.950001,17.190001,17.910000,17.047417,20438400
+2014-02-18,17.920000,17.980000,17.750000,17.900000,17.037903,10724700
+2014-02-19,17.900000,18.299999,17.820000,18.139999,17.266336,11258500
+2014-02-20,18.180000,18.820000,18.150000,18.780001,17.875525,9952200
+2014-02-21,18.750000,18.990000,18.520000,18.639999,17.742262,11276300
+2014-02-24,18.600000,19.049999,18.430000,18.910000,17.999254,10077800
+2014-02-25,18.799999,18.879999,18.540001,18.740000,17.917986,6054600
+2014-02-26,18.700001,18.980000,18.650000,18.709999,17.889301,9022100
+2014-02-27,18.709999,18.900000,18.450001,18.500000,17.688515,9721200
+2014-02-28,18.400000,18.580000,18.110001,18.379999,17.573780,8042300
+2014-03-03,17.969999,18.290001,17.809999,18.290001,17.487722,9398700
+2014-03-04,18.379999,18.600000,18.350000,18.480000,17.669390,6508600
+2014-03-05,18.459999,18.650000,18.379999,18.639999,17.822372,6036800
+2014-03-06,18.670000,18.770000,18.350000,18.379999,17.573780,7253600
+2014-03-07,18.459999,18.490000,18.219999,18.360001,17.554655,6711300
+2014-03-10,18.299999,18.379999,18.010000,18.090000,17.296495,7522200
+2014-03-11,18.180000,18.430000,18.120001,18.270000,17.468601,7430500
+2014-03-12,18.180000,18.430000,18.110001,18.320000,17.516407,5985700
+2014-03-13,18.360001,18.430000,17.650000,17.740000,16.961849,9629300
+2014-03-14,17.559999,17.980000,17.559999,17.820000,17.038338,11501200
+2014-03-17,17.870001,18.000000,17.799999,17.820000,17.038338,7491400
+2014-03-18,17.889999,18.360001,17.809999,18.240000,17.439919,7347600
+2014-03-19,18.379999,18.910000,18.330000,18.559999,17.745882,9154200
+2014-03-20,18.459999,18.730000,18.379999,18.570000,17.755442,4795000
+2014-03-21,18.730000,18.879999,18.440001,18.540001,17.726755,14152900
+2014-03-24,18.549999,18.700001,18.180000,18.450001,17.640705,7652400
+2014-03-25,18.650000,18.670000,18.309999,18.450001,17.640705,7610600
+2014-03-26,18.620001,18.969999,17.870001,18.030001,17.239130,13943900
+2014-03-27,17.990000,18.139999,17.590000,17.790001,17.009659,13518200
+2014-03-28,17.760000,18.010000,17.709999,17.900000,17.114834,9970500
+2014-03-31,17.930000,18.090000,17.809999,17.910000,17.124388,6835100
+2014-04-01,18.480000,18.870001,18.260000,18.650000,17.831930,16406800
+2014-04-02,18.650000,18.690001,18.450001,18.530001,17.717197,5998700
+2014-04-03,18.570000,19.180000,18.559999,18.730000,17.908424,14988700
+2014-04-04,18.830000,18.940001,18.070000,18.150000,17.353865,9200800
+2014-04-07,18.160000,18.559999,18.059999,18.209999,17.411230,10714400
+2014-04-08,18.209999,18.910000,18.180000,18.860001,18.032722,11767300
+2014-04-09,18.950001,19.110001,18.690001,18.840000,18.013599,10549200
+2014-04-10,18.760000,19.020000,18.320000,18.379999,17.573780,9318700
+2014-04-11,18.240000,18.520000,17.879999,18.120001,17.325182,8827800
+2014-04-14,18.240000,18.389999,18.120001,18.320000,17.516407,7254600
+2014-04-15,18.340000,18.549999,18.160000,18.450001,17.640705,7615900
+2014-04-16,18.540001,18.559999,18.260000,18.490000,17.678951,5878400
+2014-04-17,18.420000,18.730000,18.379999,18.559999,17.745882,3838300
+2014-04-21,18.570000,18.760000,18.450001,18.709999,17.889301,2925100
+2014-04-22,18.740000,18.990000,18.639999,18.870001,18.042284,6378000
+2014-04-23,18.900000,19.139999,18.870001,19.090000,18.252630,6539500
+2014-04-24,19.219999,19.459999,19.219999,19.260000,18.415174,9787300
+2014-04-25,19.219999,19.400000,18.690001,18.730000,17.908424,7840000
+2014-04-28,18.879999,18.980000,18.420000,18.650000,17.831930,5669700
+2014-04-29,18.719999,18.760000,18.480000,18.690001,17.870176,4282500
+2014-04-30,18.660000,18.680000,18.430000,18.469999,17.659830,7643500
+2014-05-01,18.750000,18.790001,18.420000,18.570000,17.755442,4952600
+2014-05-02,18.660000,18.660000,18.320000,18.430000,17.621580,3909400
+2014-05-05,18.410000,18.770000,18.389999,18.629999,17.812811,5981500
+2014-05-06,18.809999,18.969999,18.200001,18.250000,17.449478,10404700
+2014-05-07,18.250000,18.420000,18.070000,18.270000,17.468601,7347500
+2014-05-08,18.200001,18.790001,18.110001,18.500000,17.688515,10818200
+2014-05-09,17.940001,18.110001,17.709999,18.049999,17.258253,13488300
+2014-05-12,18.090000,18.620001,18.080000,18.580000,17.765001,7496400
+2014-05-13,18.330000,18.629999,18.219999,18.280001,17.478165,5527600
+2014-05-14,18.290001,18.360001,18.090000,18.100000,17.306061,5358000
+2014-05-15,18.059999,18.160000,17.820000,18.000000,17.210443,8147400
+2014-05-16,17.860001,18.090000,17.860001,17.959999,17.172197,7099000
+2014-05-19,18.150000,18.639999,18.070000,18.540001,17.726755,9001900
+2014-05-20,18.459999,18.510000,18.150000,18.240000,17.520245,6405000
+2014-05-21,18.309999,18.469999,18.129999,18.240000,17.520245,5417800
+2014-05-22,18.200001,18.420000,18.200001,18.320000,17.597084,3259100
+2014-05-23,18.420000,18.580000,18.309999,18.490000,17.760378,4566400
+2014-05-27,18.600000,18.820000,18.540001,18.820000,18.077356,5242000
+2014-05-28,18.889999,19.100000,18.709999,18.980000,18.231039,5616900
+2014-05-29,18.969999,19.129999,18.910000,18.950001,18.202223,4297100
+2014-05-30,18.950001,19.049999,18.850000,19.000000,18.250257,5978200
+2014-06-02,19.059999,19.180000,18.780001,18.940001,18.192621,4537500
+2014-06-03,18.980000,19.000000,18.610001,18.860001,18.115776,6080300
+2014-06-04,18.809999,19.020000,18.799999,18.879999,18.134987,4030900
+2014-06-05,18.910000,19.020000,18.799999,18.959999,18.211832,4717400
+2014-06-06,19.049999,19.200001,18.980000,19.030001,18.279070,4026300
+2014-06-09,19.010000,19.230000,18.879999,19.049999,18.298279,6186400
+2014-06-10,18.980000,19.240000,18.900000,19.150000,18.394333,5440200
+2014-06-11,19.080000,19.450001,19.080000,19.400000,18.634468,6655700
+2014-06-12,19.400000,19.610001,19.230000,19.520000,18.749731,8428700
+2014-06-13,19.719999,19.730000,19.350000,19.540001,18.768940,5696300
+2014-06-16,19.450001,19.610001,19.309999,19.480000,18.711311,4965500
+2014-06-17,19.500000,19.690001,19.400000,19.610001,18.836180,3940200
+2014-06-18,19.559999,19.680000,19.379999,19.590000,18.816978,5388400
+2014-06-19,19.230000,19.330000,19.000000,19.139999,18.384727,11864800
+2014-06-20,19.190001,19.260000,18.780001,18.930000,18.183014,8828700
+2014-06-23,18.680000,18.719999,18.459999,18.709999,17.971695,10355000
+2014-06-24,18.680000,18.830000,18.340000,18.420000,17.693142,6894500
+2014-06-25,18.469999,18.620001,18.299999,18.610001,17.875643,5385500
+2014-06-26,18.610001,18.620001,18.299999,18.360001,17.635508,6422700
+2014-06-27,18.340000,18.490000,18.230000,18.379999,17.654716,7570500
+2014-06-30,18.309999,18.590000,18.309999,18.540001,17.808403,4512800
+2014-07-01,18.520000,18.860001,18.459999,18.750000,18.010117,8029500
+2014-07-02,18.680000,18.760000,18.570000,18.680000,17.942877,4482100
+2014-07-03,18.510000,18.900000,18.510000,18.850000,18.106169,3422300
+2014-07-07,18.879999,18.889999,18.670000,18.700001,17.962095,3187400
+2014-07-08,18.650000,18.730000,18.370001,18.549999,17.818007,5548500
+2014-07-09,18.709999,19.190001,18.570000,19.110001,18.355913,9691700
+2014-07-10,18.750000,19.090000,18.600000,19.010000,18.259857,6657700
+2014-07-11,19.030001,19.110001,18.959999,19.049999,18.298279,4779700
+2014-07-14,19.129999,19.340000,19.059999,19.290001,18.528809,6815900
+2014-07-15,19.320000,19.420000,19.190001,19.370001,18.605650,9886000
+2014-07-16,19.450001,19.600000,19.240000,19.350000,18.586443,7993200
+2014-07-17,19.129999,19.500000,19.129999,19.299999,18.538412,8120800
+2014-07-18,18.900000,19.049999,18.410000,18.440001,17.712351,14195400
+2014-07-21,18.370001,18.680000,18.370001,18.549999,17.818007,6084100
+2014-07-22,18.690001,18.790001,18.430000,18.469999,17.741167,7470400
+2014-07-23,18.480000,18.490000,18.059999,18.080000,17.366556,7433800
+2014-07-24,18.180000,18.230000,17.980000,18.110001,17.395372,6364400
+2014-07-25,18.049999,18.090000,17.760000,17.790001,17.088001,6653300
+2014-07-28,17.870001,17.870001,17.420000,17.719999,17.020761,8258800
+2014-07-29,17.730000,18.020000,17.719999,17.780001,17.078396,5449300
+2014-07-30,17.889999,18.129999,17.840000,18.080000,17.366556,6154600
+2014-07-31,17.860001,18.000000,17.469999,17.500000,16.809444,10047000
+2014-08-01,17.500000,17.790001,17.440001,17.690001,16.991943,5497100
+2014-08-04,17.670000,17.820000,17.559999,17.650000,16.953524,6043100
+2014-08-05,17.600000,17.920000,17.450001,17.660000,16.963131,7453400
+2014-08-06,17.540001,17.860001,17.410000,17.639999,16.943914,5586400
+2014-08-07,17.790001,17.950001,17.340000,17.459999,16.771021,10192400
+2014-08-08,18.219999,19.100000,18.219999,19.000000,18.250257,22358700
+2014-08-11,19.020000,19.100000,18.850000,18.900000,18.154200,8615600
+2014-08-12,18.889999,19.000000,18.690001,18.900000,18.154200,7403800
+2014-08-13,18.930000,19.170000,18.809999,19.010000,18.259857,6414900
+2014-08-14,19.080000,19.080000,18.719999,18.799999,18.058144,6399800
+2014-08-15,18.860001,19.150000,18.680000,19.040001,18.288673,9244900
+2014-08-18,19.120001,19.320000,18.930000,19.299999,18.538412,7101900
+2014-08-19,19.219999,19.469999,19.150000,19.370001,18.687956,6206500
+2014-08-20,19.299999,19.389999,19.200001,19.250000,18.572180,5536700
+2014-08-21,19.200001,19.299999,19.040001,19.070000,18.398521,6819900
+2014-08-22,19.049999,19.240000,18.930000,19.080000,18.408167,6280600
+2014-08-25,19.160000,19.290001,19.070000,19.110001,18.437113,3834500
+2014-08-26,19.160000,19.490000,19.090000,19.450001,18.765139,6740900
+2014-08-27,19.330000,19.480000,19.200001,19.230000,18.552885,4574300
+2014-08-28,19.190001,19.430000,19.129999,19.389999,18.707249,4492600
+2014-08-29,19.459999,19.490000,19.250000,19.450001,18.765139,5198300
+2014-09-02,19.500000,19.500000,19.320000,19.500000,18.813377,4815900
+2014-09-03,19.600000,19.750000,19.469999,19.680000,18.987040,6486400
+2014-09-04,19.650000,20.150000,19.639999,20.030001,19.324717,12295800
+2014-09-05,20.010000,20.100000,19.840000,19.969999,19.266825,6344800
+2014-09-08,19.950001,19.990000,19.709999,19.790001,19.093166,7982200
+2014-09-09,19.700001,19.830000,19.520000,19.540001,18.851969,4964700
+2014-09-10,19.650000,19.680000,19.430000,19.610001,18.919504,4309400
+2014-09-11,19.469999,19.540001,19.200001,19.410000,18.726542,6268000
+2014-09-12,19.530001,19.530001,19.100000,19.120001,18.446758,6563400
+2014-09-15,19.180000,19.209999,18.780001,18.860001,18.195913,7353800
+2014-09-16,18.809999,19.240000,18.750000,19.139999,18.466053,5498400
+2014-09-17,19.090000,19.330000,19.000000,19.150000,18.475702,4339600
+2014-09-18,19.270000,19.459999,19.209999,19.440001,18.755489,5490100
+2014-09-19,19.500000,19.520000,19.049999,19.080000,18.408167,15032900
+2014-09-22,19.469999,19.469999,18.870001,18.889999,18.224855,5536600
+2014-09-23,18.790001,19.020000,18.719999,18.809999,18.147671,4903600
+2014-09-24,18.799999,18.980000,18.780001,18.920000,18.253801,3989800
+2014-09-25,18.900000,18.950001,18.469999,18.510000,17.858242,7461000
+2014-09-26,18.570000,18.690001,18.490000,18.549999,17.896828,6029700
+2014-09-29,18.400000,18.650000,18.219999,18.520000,17.867882,5213500
+2014-09-30,18.440001,18.580000,18.230000,18.450001,17.800352,6930100
+2014-10-01,18.480000,18.610001,18.219999,18.270000,17.626688,8774400
+2014-10-02,18.240000,18.330000,17.770000,18.190001,17.549507,7224900
+2014-10-03,18.299999,18.549999,18.230000,18.230000,17.588097,5978500
+2014-10-06,18.299999,18.450001,18.000000,18.120001,17.481970,4975800
+2014-10-07,18.040001,18.219999,17.910000,17.930000,17.298664,7547400
+2014-10-08,17.910000,18.350000,17.770000,18.260000,17.617041,6504300
+2014-10-09,18.180000,18.200001,17.760000,17.910000,17.279362,7673900
+2014-10-10,17.770000,17.830000,16.840000,16.850000,16.256691,17284400
+2014-10-13,16.959999,17.299999,16.770000,16.790001,16.198801,9940700
+2014-10-14,17.020000,17.650000,16.920000,17.180000,16.575071,9415500
+2014-10-15,16.930000,17.530001,16.820000,17.440001,16.825918,10110700
+2014-10-16,17.129999,17.650000,17.090000,17.450001,16.835562,8777900
+2014-10-17,17.660000,17.860001,17.350000,17.420000,16.806616,7267900
+2014-10-20,17.420000,17.730000,17.299999,17.570000,16.951340,5008400
+2014-10-21,17.700001,18.340000,17.650000,18.320000,17.674927,8777300
+2014-10-22,18.290001,18.350000,17.889999,17.889999,17.260071,5987800
+2014-10-23,18.200001,18.420000,18.070000,18.290001,17.645983,5361900
+2014-10-24,18.400000,18.590000,18.290001,18.480000,17.829294,5253900
+2014-10-27,18.469999,18.559999,18.270000,18.490000,17.838942,3627300
+2014-10-28,18.440001,18.950001,18.420000,18.930000,18.263449,4814500
+2014-10-29,18.850000,18.959999,18.639999,18.809999,18.147671,4208500
+2014-10-30,18.760000,18.840000,18.450001,18.690001,18.031898,4256500
+2014-10-31,19.120001,19.549999,19.020000,19.540001,18.851969,6407900
+2014-11-03,19.990000,20.059999,19.770000,19.870001,19.170351,7718300
+2014-11-04,20.000000,20.200001,19.670000,20.129999,19.421200,9004900
+2014-11-05,20.250000,20.260000,19.980000,20.129999,19.421200,8391300
+2014-11-06,20.170000,20.250000,19.860001,20.219999,19.508024,9852200
+2014-11-07,20.450001,20.690001,19.590000,19.790001,19.093166,11270000
+2014-11-10,19.770000,20.150000,19.719999,20.020000,19.315071,7334700
+2014-11-11,19.900000,20.010000,19.610001,19.780001,19.083521,5324800
+2014-11-12,19.709999,19.760000,19.379999,19.650000,18.958096,5114600
+2014-11-13,19.719999,19.750000,19.389999,19.549999,18.861618,5633200
+2014-11-14,19.570000,19.790001,19.379999,19.790001,19.093166,4006200
+2014-11-17,19.700001,19.910000,19.570000,19.700001,19.006338,3968300
+2014-11-18,19.709999,20.219999,19.660000,20.170000,19.459791,5194300
+2014-11-19,20.100000,20.160000,19.799999,20.010000,19.387121,6007500
+2014-11-20,19.870001,20.360001,19.809999,20.340000,19.706846,5524200
+2014-11-21,20.520000,20.549999,20.280001,20.450001,19.813425,4974400
+2014-11-24,20.500000,20.670000,20.420000,20.580000,19.939379,3400100
+2014-11-25,20.540001,20.719999,20.500000,20.570000,19.929693,4756000
+2014-11-26,20.450001,20.940001,20.440001,20.920000,20.268797,5481600
+2014-11-28,20.990000,21.090000,20.799999,20.969999,20.317238,3120800
+2014-12-01,20.879999,21.000000,20.549999,20.580000,19.939379,4751500
+2014-12-02,20.559999,20.700001,20.370001,20.610001,19.968447,6148800
+2014-12-03,20.709999,21.150000,20.650000,21.139999,20.481945,7110600
+2014-12-04,21.110001,21.190001,20.809999,20.950001,20.297861,4633300
+2014-12-05,20.959999,21.180000,20.950001,21.070000,20.414127,4142000
+2014-12-08,21.040001,21.250000,20.629999,20.799999,20.152531,5673600
+2014-12-09,20.670000,20.780001,20.360001,20.730000,20.084709,5986200
+2014-12-10,20.670000,20.750000,20.250000,20.270000,19.639027,5109100
+2014-12-11,20.389999,20.530001,20.219999,20.260000,19.629343,3391300
+2014-12-12,19.990000,20.170000,19.610001,19.629999,19.018950,8099100
+2014-12-15,19.860001,20.219999,19.510000,19.570000,18.960817,6367400
+2014-12-16,19.549999,19.860001,19.340000,19.350000,18.747669,4632700
+2014-12-17,19.740000,20.170000,19.100000,20.139999,19.513073,8639900
+2014-12-18,20.389999,20.629999,20.030001,20.219999,19.590582,5653900
+2014-12-19,20.360001,20.500000,20.170000,20.420000,19.784357,8138200
+2014-12-22,20.400000,20.780001,20.330000,20.780001,20.133152,3724400
+2014-12-23,20.940001,21.040001,20.629999,20.650000,20.007196,2732000
+2014-12-24,20.700001,20.730000,20.549999,20.570000,19.929693,1141100
+2014-12-26,20.570000,20.700001,20.520000,20.590000,19.949068,1315900
+2014-12-29,20.530001,20.700001,20.430000,20.559999,19.920000,2073600
+2014-12-30,20.420000,20.520000,20.340000,20.370001,19.735916,2803000
+2014-12-31,20.400000,20.510000,19.990000,20.049999,19.425875,4157500
diff --git a/backtrader/source/datas/orcl-1995-2014.txt b/backtrader/source/datas/orcl-1995-2014.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d0c873578b0ff8cf460406db92ca64f57c49da5e
--- /dev/null
+++ b/backtrader/source/datas/orcl-1995-2014.txt
@@ -0,0 +1,5037 @@
+Date,Open,High,Low,Close,Adj Close,Volume
+1995-01-03,2.179012,2.191358,2.117284,2.117284,1.883304,36301200
+1995-01-04,2.123457,2.148148,2.092592,2.135803,1.899776,46051600
+1995-01-05,2.141975,2.148148,2.086420,2.092592,1.861340,37762800
+1995-01-06,2.092592,2.154321,2.061728,2.117284,1.883304,41864400
+1995-01-09,2.135803,2.179012,2.129630,2.179012,1.938211,34639200
+1995-01-10,2.191358,2.216049,2.185185,2.185185,1.943701,42088000
+1995-01-11,2.203704,2.216049,2.098765,2.120370,1.886049,46762000
+1995-01-12,2.123457,2.129630,2.086420,2.104938,1.872322,41294400
+1995-01-13,2.129630,2.145062,2.074074,2.080247,1.850359,55039200
+1995-01-16,2.024691,2.080247,1.975309,2.067901,1.839378,54574800
+1995-01-17,2.067901,2.141975,2.067901,2.141975,1.905266,39588000
+1995-01-18,2.135803,2.160494,2.129630,2.135803,1.899776,28841200
+1995-01-19,2.129630,2.216049,2.117284,2.209877,1.965664,55818000
+1995-01-20,2.209877,2.216049,2.129630,2.169753,1.929974,48518800
+1995-01-23,2.154321,2.154321,2.098765,2.123457,1.888794,37551600
+1995-01-24,2.123457,2.135803,2.086420,2.117284,1.883304,28960800
+1995-01-25,2.104938,2.197531,2.086420,2.160494,1.921738,67278400
+1995-01-26,2.154321,2.160494,2.117284,2.117284,1.883304,27543600
+1995-01-27,2.123457,2.135803,2.086420,2.111111,1.877813,35708400
+1995-01-30,2.111111,2.117284,2.055556,2.061728,1.833888,44440000
+1995-01-31,2.074074,2.129630,2.061728,2.104938,1.872322,37908400
+1995-02-01,2.129630,2.141975,2.080247,2.092592,1.861340,24384400
+1995-02-02,2.092592,2.123457,2.080247,2.117284,1.883304,24165600
+1995-02-03,2.135803,2.197531,2.123457,2.172839,1.932719,53942800
+1995-02-06,2.172839,2.203704,2.160494,2.194444,1.951937,24818800
+1995-02-07,2.197531,2.203704,2.160494,2.191358,1.949191,18529600
+1995-02-08,2.197531,2.203704,2.154321,2.166667,1.927228,26293200
+1995-02-09,2.185185,2.216049,2.148148,2.148148,1.910756,48528000
+1995-02-10,2.160494,2.203704,2.148148,2.185185,1.943701,36315600
+1995-02-13,2.191358,2.240741,2.172839,2.197531,1.954682,33372400
+1995-02-14,2.216049,2.228395,2.160494,2.179012,1.938211,28029600
+1995-02-15,2.185185,2.259259,2.185185,2.259259,2.009588,44546800
+1995-02-16,2.259259,2.283951,2.234568,2.277778,2.026061,45473200
+1995-02-17,2.271605,2.277778,2.246914,2.253086,2.004097,20790000
+1995-02-21,2.271605,2.296296,2.259259,2.277778,2.026061,27059200
+1995-02-22,2.265432,2.333333,2.253086,2.327161,2.069987,40435200
+1995-02-23,2.351852,2.379630,2.296296,2.324074,2.067241,42390400
+1995-02-24,2.324074,2.324074,2.250000,2.259259,2.009588,34297600
+1995-02-27,2.268518,2.333333,2.250000,2.250000,2.001353,31061200
+1995-02-28,2.277778,2.333333,2.250000,2.324074,2.067241,23047200
+1995-03-01,2.342592,2.351852,2.305556,2.314815,2.059005,24346800
+1995-03-02,2.333333,2.342592,2.277778,2.342592,2.083714,14650000
+1995-03-03,2.342592,2.444444,2.314815,2.435185,2.166073,44342800
+1995-03-06,2.416667,2.425926,2.361111,2.407408,2.141366,27613600
+1995-03-07,2.398148,2.425926,2.370370,2.388889,2.124893,30264000
+1995-03-08,2.388889,2.407408,2.379630,2.407408,2.141366,17985600
+1995-03-09,2.416667,2.444444,2.388889,2.425926,2.157837,45533200
+1995-03-10,2.416667,2.444444,2.407408,2.444444,2.174309,26088000
+1995-03-13,2.453704,2.490741,2.444444,2.453704,2.182545,30138000
+1995-03-14,2.490741,2.509259,2.462963,2.462963,2.190781,24872800
+1995-03-15,2.481482,2.481482,2.416667,2.425926,2.157837,24435600
+1995-03-16,2.425926,2.462963,2.425926,2.462963,2.190781,19735200
+1995-03-17,2.472222,2.500000,2.444444,2.472222,2.199017,29170800
+1995-03-20,2.481482,2.564815,2.453704,2.490741,2.215489,20464000
+1995-03-21,2.527778,2.564815,2.469904,2.537037,2.256670,46642000
+1995-03-22,2.453704,2.472222,2.416667,2.444444,2.174309,87223200
+1995-03-23,2.453704,2.453704,2.333333,2.361111,2.100185,53838000
+1995-03-24,2.361111,2.407408,2.342592,2.379630,2.116657,59328000
+1995-03-27,2.379630,2.407408,2.361111,2.398148,2.133129,55688400
+1995-03-28,2.398148,2.425926,2.379630,2.425926,2.157837,43761600
+1995-03-29,2.425926,2.453704,2.333333,2.370370,2.108421,42786400
+1995-03-30,2.388889,2.398148,2.287037,2.324074,2.067241,42184800
+1995-03-31,2.277778,2.361111,2.268518,2.314815,2.059005,21330400
+1995-04-03,2.305556,2.398148,2.287037,2.379630,2.116657,34187200
+1995-04-04,2.333333,2.462963,2.296296,2.333333,2.075477,62237200
+1995-04-05,2.333333,2.333333,2.277778,2.314815,2.059005,42781200
+1995-04-06,2.296296,2.314815,2.166667,2.175926,1.935465,51303600
+1995-04-07,2.222222,2.305556,2.203704,2.268518,2.017825,74368800
+1995-04-10,2.259259,2.277778,2.231482,2.268518,2.017825,33039600
+1995-04-11,2.296296,2.305556,2.277778,2.305556,2.050768,27496800
+1995-04-12,2.333333,2.379630,2.314815,2.370370,2.108421,20217600
+1995-04-13,2.388889,2.416667,2.314815,2.370370,2.108421,23033200
+1995-04-17,2.379630,2.388889,2.305556,2.310185,2.054886,35958400
+1995-04-18,2.324074,2.342592,2.268518,2.287037,2.034297,38097600
+1995-04-19,2.277778,2.287037,2.194444,2.240741,1.993117,52083600
+1995-04-20,2.259259,2.277778,2.194444,2.212963,1.968409,34000800
+1995-04-21,2.222222,2.231482,2.203704,2.222222,1.976646,62858400
+1995-04-24,2.231482,2.268518,2.203704,2.254630,2.005472,55102000
+1995-04-25,2.259259,2.287037,2.194444,2.203704,1.960173,56012400
+1995-04-26,2.203704,2.222222,2.138889,2.148148,1.910756,53532400
+1995-04-27,2.148148,2.361111,2.074074,2.314815,2.059005,150139600
+1995-04-28,2.324074,2.351852,2.222222,2.259259,2.009588,66034800
+1995-05-01,2.268518,2.277778,2.212963,2.226852,1.980763,49532400
+1995-05-02,2.231482,2.231482,2.203704,2.208333,1.964291,43858800
+1995-05-03,2.222222,2.370370,2.212963,2.333333,2.075477,91555200
+1995-05-04,2.361111,2.416667,2.277778,2.277778,2.026061,68866000
+1995-05-05,2.314815,2.333333,2.259259,2.268518,2.017825,30326800
+1995-05-08,2.287037,2.319444,2.268518,2.287037,2.034297,24262000
+1995-05-09,2.314815,2.333333,2.259259,2.296296,2.042532,35996400
+1995-05-10,2.305556,2.333333,2.268518,2.305556,2.050768,22288000
+1995-05-11,2.296296,2.379630,2.277778,2.379630,2.116657,38153200
+1995-05-12,2.370370,2.462963,2.361111,2.407408,2.141366,72420000
+1995-05-15,2.435185,2.527778,2.407408,2.513889,2.236080,56471200
+1995-05-16,2.518518,2.592592,2.509259,2.541667,2.260788,88011600
+1995-05-17,2.564815,2.601852,2.546296,2.555556,2.273141,48359200
+1995-05-18,2.555556,2.564815,2.472222,2.472222,2.199017,37798000
+1995-05-19,2.453704,2.518518,2.444444,2.518518,2.240197,31640800
+1995-05-22,2.546296,2.546296,2.472222,2.490741,2.215489,35697600
+1995-05-23,2.500000,2.583333,2.486111,2.583333,2.297849,34003600
+1995-05-24,2.712963,2.796296,2.694444,2.787037,2.479042,121257600
+1995-05-25,2.805556,2.851852,2.703704,2.740741,2.437862,56305600
+1995-05-26,2.740741,2.740741,2.648148,2.675926,2.380210,33050400
+1995-05-30,2.685185,2.685185,2.537037,2.537037,2.256670,64638400
+1995-05-31,2.546296,2.583333,2.453704,2.574074,2.289614,49482400
+1995-06-01,2.592592,2.657408,2.592592,2.638889,2.347265,38858800
+1995-06-02,2.629630,2.694444,2.555556,2.666667,2.371974,41282800
+1995-06-05,2.740741,2.740741,2.611111,2.638889,2.347265,43310400
+1995-06-06,2.638889,2.648148,2.518518,2.574074,2.289614,33982800
+1995-06-07,2.592592,2.638889,2.564815,2.611111,2.322557,30613200
+1995-06-08,2.629630,2.657408,2.611111,2.638889,2.347265,19054800
+1995-06-09,2.638889,2.731482,2.601852,2.722222,2.421390,37538800
+1995-06-12,2.759259,2.805556,2.694444,2.759259,2.454334,41046000
+1995-06-13,2.796296,2.805556,2.722222,2.768518,2.462570,43446400
+1995-06-14,2.768518,2.777778,2.731482,2.768518,2.462570,30049200
+1995-06-15,2.768518,2.805556,2.740741,2.768518,2.462570,19678000
+1995-06-16,2.796296,2.805556,2.740741,2.787037,2.479042,26305600
+1995-06-19,2.805556,2.898148,2.796296,2.861111,2.544931,39504400
+1995-06-20,2.879630,2.916667,2.833333,2.888889,2.569638,41228800
+1995-06-21,2.935185,2.944444,2.833333,2.879630,2.561402,47905600
+1995-06-22,2.907408,3.000000,2.888889,2.972222,2.643763,71226400
+1995-06-23,2.962963,2.981482,2.824074,2.907408,2.586111,78650800
+1995-06-26,2.907408,2.925926,2.777778,2.824074,2.511986,40346800
+1995-06-27,2.805556,2.888889,2.777778,2.796296,2.487279,36228400
+1995-06-28,2.787037,2.851852,2.722222,2.791667,2.483160,42115200
+1995-06-29,2.805556,2.888889,2.777778,2.861111,2.544931,42813600
+1995-06-30,2.870370,2.916667,2.833333,2.861111,2.544931,27302400
+1995-07-03,2.870370,2.925926,2.851852,2.898148,2.577875,12094000
+1995-07-05,2.907408,2.944444,2.861111,2.870370,2.553166,38658400
+1995-07-06,2.879630,2.925926,2.833333,2.916667,2.594347,39179200
+1995-07-07,2.907408,3.000000,2.907408,2.990741,2.660235,52280800
+1995-07-10,3.000000,3.074074,2.990741,3.018518,2.684943,36128400
+1995-07-11,3.018518,3.018518,2.888889,2.888889,2.569638,36520000
+1995-07-12,2.925926,3.046296,2.916667,3.027778,2.693178,36703600
+1995-07-13,3.027778,3.120370,2.972222,3.018518,2.684943,32470000
+1995-07-14,2.990741,3.037037,2.944444,3.023148,2.689060,29300800
+1995-07-17,3.046296,3.129630,3.037037,3.129630,2.783775,41150400
+1995-07-18,3.129630,3.129630,2.962963,2.972222,2.643763,53179200
+1995-07-19,2.814815,2.953704,2.703704,2.833333,2.520222,98179600
+1995-07-20,2.833333,2.870370,2.796296,2.842592,2.528458,55798000
+1995-07-21,2.814815,2.898148,2.814815,2.847222,2.532577,31044400
+1995-07-24,2.870370,2.916667,2.842592,2.902778,2.581993,27229200
+1995-07-25,2.944444,3.018518,2.907408,2.981482,2.651999,43365600
+1995-07-26,3.018518,3.129630,3.000000,3.129630,2.783775,49709200
+1995-07-27,3.148148,3.259259,3.138889,3.212963,2.857898,40500400
+1995-07-28,3.203704,3.203704,3.111111,3.120370,2.775539,28096000
+1995-07-31,3.129630,3.129630,3.055556,3.101852,2.759067,17105200
+1995-08-01,3.111111,3.111111,2.953704,3.009259,2.676707,30454000
+1995-08-02,3.046296,3.129630,2.907408,2.935185,2.610818,48919200
+1995-08-03,2.870370,2.935185,2.798607,2.912037,2.590230,71761200
+1995-08-04,2.907408,3.000000,2.888889,2.990741,2.660235,22397200
+1995-08-07,2.990741,3.055556,2.972222,2.986111,2.656117,15670800
+1995-08-08,3.000000,3.009259,2.944444,2.958333,2.631408,12747600
+1995-08-09,3.009259,3.046296,2.981482,3.037037,2.701415,23404000
+1995-08-10,3.037037,3.083333,3.027778,3.055556,2.717887,22918000
+1995-08-11,3.064815,3.074074,2.962963,3.027778,2.693178,18044800
+1995-08-14,3.018518,3.111111,2.990741,3.101852,2.759067,28754800
+1995-08-15,3.111111,3.129630,3.018518,3.083333,2.742595,24782800
+1995-08-16,3.083333,3.166667,3.074074,3.166667,2.816719,31606000
+1995-08-17,3.166667,3.203704,3.148148,3.199074,2.845546,26641600
+1995-08-18,3.231482,3.250000,3.157408,3.203704,2.849662,38806800
+1995-08-21,3.259259,3.287037,3.129630,3.134259,2.787893,31201200
+1995-08-22,3.138889,3.175926,3.064815,3.166667,2.816719,32065600
+1995-08-23,3.166667,3.212963,3.129630,3.175926,2.824955,25450000
+1995-08-24,3.185185,3.185185,3.092592,3.148148,2.800246,35103600
+1995-08-25,3.166667,3.203704,3.148148,3.166667,2.816719,21133600
+1995-08-28,3.166667,3.185185,3.055556,3.069444,2.730241,28777200
+1995-08-29,3.037037,3.046296,2.879630,3.009259,2.676707,68792800
+1995-08-30,3.018518,3.046296,2.907408,2.953704,2.627290,48200800
+1995-08-31,2.962963,3.009259,2.944444,2.972222,2.643763,28209600
+1995-09-01,2.972222,2.972222,2.888889,2.907408,2.586111,41072400
+1995-09-05,2.907408,3.296296,2.907408,3.277778,2.915551,98296800
+1995-09-06,3.129630,3.287037,3.111111,3.222222,2.866134,67087600
+1995-09-07,3.231482,3.296296,3.194444,3.250000,2.890843,32711200
+1995-09-08,3.250000,3.277778,3.194444,3.250000,2.890843,24305200
+1995-09-11,3.240741,3.398148,3.240741,3.351852,2.981440,59000400
+1995-09-12,3.388889,3.407408,3.287037,3.324074,2.956733,28701600
+1995-09-13,3.324074,3.472222,3.314815,3.407408,3.030855,40741200
+1995-09-14,3.435185,3.481482,3.287037,3.324074,2.956733,51487200
+1995-09-15,2.870370,2.925926,2.703704,2.787037,2.479042,384968400
+1995-09-18,2.851852,2.944444,2.814815,2.944444,2.619054,111745600
+1995-09-19,2.953704,3.027778,2.944444,2.972222,2.643763,71098800
+1995-09-20,3.009259,3.046296,2.944444,2.949074,2.623172,56149600
+1995-09-21,2.944444,2.953704,2.851852,2.879630,2.561402,43666800
+1995-09-22,2.861111,2.925926,2.833333,2.916667,2.594347,28744800
+1995-09-25,2.935185,2.944444,2.833333,2.898148,2.577875,29098800
+1995-09-26,2.935185,2.962963,2.842592,2.842592,2.528458,39080400
+1995-09-27,2.814815,2.879630,2.694444,2.861111,2.544931,83973600
+1995-09-28,2.888889,2.916667,2.824074,2.907408,2.586111,49926400
+1995-09-29,2.907408,2.953704,2.824074,2.842592,2.528458,44082400
+1995-10-02,2.861111,2.879630,2.768518,2.789348,2.481098,22100400
+1995-10-03,2.814815,2.879630,2.777778,2.861111,2.544931,52653600
+1995-10-04,2.824074,2.879630,2.777778,2.814815,2.503751,38646000
+1995-10-05,2.814815,2.851852,2.750000,2.851852,2.536695,56722000
+1995-10-06,2.870370,2.907408,2.787037,2.796296,2.487279,49298800
+1995-10-09,2.777778,2.777778,2.629630,2.731482,2.429626,61938000
+1995-10-10,2.685185,2.740741,2.592592,2.740741,2.437862,78254800
+1995-10-11,2.870370,2.907408,2.759259,2.851852,2.536695,68326800
+1995-10-12,2.879630,2.962963,2.870370,2.949074,2.623172,60048400
+1995-10-13,2.972222,3.027778,2.888889,2.925926,2.602582,75654000
+1995-10-16,2.935185,2.981482,2.925926,2.962963,2.635525,37395600
+1995-10-17,2.972222,3.027778,2.888889,3.023148,2.689060,69709200
+1995-10-18,3.064815,3.203704,3.023148,3.185185,2.833191,146953600
+1995-10-19,3.166667,3.287037,3.157408,3.277778,2.915551,75375600
+1995-10-20,3.287037,3.296296,3.129630,3.157408,2.808483,66593200
+1995-10-23,3.120370,3.175926,3.101852,3.166667,2.816719,40321600
+1995-10-24,3.194444,3.240741,3.166667,3.222222,2.866134,45973600
+1995-10-25,3.250000,3.250000,3.157408,3.185185,2.833191,29930400
+1995-10-26,3.166667,3.212963,3.055556,3.138889,2.792011,32054800
+1995-10-27,3.120370,3.222222,3.111111,3.203704,2.849662,32740800
+1995-10-30,3.250000,3.314815,3.222222,3.268518,2.907315,41167600
+1995-10-31,3.314815,3.333333,3.231482,3.231482,2.874371,31107600
+1995-11-01,3.240741,3.314815,3.222222,3.268518,2.907315,37859200
+1995-11-02,3.287037,3.407408,3.277778,3.398148,3.022619,56992000
+1995-11-03,3.407408,3.444444,3.359948,3.425926,3.047327,37718800
+1995-11-06,3.398148,3.518518,3.333333,3.342592,2.973203,39362800
+1995-11-07,3.324074,3.333333,3.194444,3.268518,2.907315,52207200
+1995-11-08,3.296296,3.416667,3.268518,3.314815,2.948496,38385600
+1995-11-09,3.388889,3.490741,3.388889,3.490741,3.104980,56284000
+1995-11-10,3.462963,3.574074,3.425926,3.490741,3.104980,42308800
+1995-11-13,3.481482,3.564815,3.388889,3.407408,3.030855,37776400
+1995-11-14,3.370370,3.500000,3.361111,3.379630,3.006147,43621600
+1995-11-15,3.425926,3.481482,3.370370,3.472222,3.088508,50058400
+1995-11-16,3.462963,3.583333,3.435185,3.518518,3.129688,56000400
+1995-11-17,3.537037,3.611111,3.509259,3.564815,3.170868,50357200
+1995-11-20,3.592592,3.601852,3.370370,3.370370,2.997912,30148800
+1995-11-21,3.370370,3.425926,3.342592,3.398148,3.022619,48174000
+1995-11-22,3.416667,3.416667,3.296296,3.319444,2.952614,34026000
+1995-11-24,3.351852,3.361111,3.268518,3.342592,2.973203,19988800
+1995-11-27,3.398148,3.444444,3.342592,3.365741,2.993793,54459600
+1995-11-28,3.370370,3.490741,3.351852,3.481482,3.096743,49608000
+1995-11-29,3.518518,3.546296,3.435185,3.462963,3.080271,34668000
+1995-11-30,3.462963,3.472222,3.342592,3.361111,2.989676,34887600
+1995-12-01,3.370370,3.388889,3.250000,3.305556,2.940259,45725200
+1995-12-04,3.296296,3.425926,3.212963,3.365741,2.993793,59076400
+1995-12-05,3.342592,3.462963,3.277778,3.333333,2.964967,57186400
+1995-12-06,3.324074,3.342592,3.166667,3.240741,2.882607,50563600
+1995-12-07,3.361111,3.370370,3.203704,3.277778,2.915551,44253600
+1995-12-08,3.351852,3.462963,3.305556,3.453704,3.072035,67216000
+1995-12-11,3.509259,3.527778,3.435185,3.435185,3.055563,44804400
+1995-12-12,3.453704,3.453704,3.287037,3.296296,2.932024,34990000
+1995-12-13,3.287037,3.324074,3.185185,3.203704,2.849662,51724800
+1995-12-14,3.222222,3.268518,2.972222,3.101852,2.759067,109447200
+1995-12-15,3.194444,3.277778,3.175926,3.212963,2.857898,122081200
+1995-12-18,3.212963,3.212963,2.953704,3.055556,2.717887,83241600
+1995-12-19,3.111111,3.314815,3.083333,3.314815,2.948496,80933200
+1995-12-20,3.388889,3.388889,3.175926,3.185185,2.833191,51554400
+1995-12-21,3.203704,3.240741,3.129630,3.166667,2.816719,56762800
+1995-12-22,3.166667,3.314815,3.166667,3.277778,2.915551,41440000
+1995-12-26,3.305556,3.314815,3.259259,3.287037,2.923787,16459200
+1995-12-27,3.296296,3.305556,3.203704,3.222222,2.866134,30029200
+1995-12-28,3.203704,3.203704,3.129630,3.138889,2.792011,51989200
+1995-12-29,3.148148,3.166667,3.092592,3.138889,2.792011,45870000
+1996-01-02,3.166667,3.212963,3.138889,3.203704,2.849662,45602800
+1996-01-03,3.148148,3.212963,3.055556,3.055556,2.717887,55518000
+1996-01-04,3.083333,3.083333,2.935185,3.018518,2.684943,129803200
+1996-01-05,2.972222,3.185185,2.944444,3.175926,2.824955,83783200
+1996-01-08,3.222222,3.231482,3.120370,3.129630,2.783775,12593200
+1996-01-09,3.138889,3.138889,2.925926,2.981482,2.651999,96068400
+1996-01-10,2.935185,3.148148,2.925926,3.037037,2.701415,124564000
+1996-01-11,3.083333,3.129630,3.018518,3.101852,2.759067,61104400
+1996-01-12,3.111111,3.157408,3.083333,3.157408,2.808483,61249200
+1996-01-15,3.175926,3.185185,2.925926,2.962963,2.635525,69793200
+1996-01-16,2.990741,3.101852,2.944444,3.092592,2.750831,78514000
+1996-01-17,3.046296,3.277778,3.037037,3.166667,2.816719,79512000
+1996-01-18,3.203704,3.296296,3.203704,3.296296,2.932024,56856400
+1996-01-19,3.324074,3.407408,3.296296,3.370370,2.997912,63830400
+1996-01-22,3.351852,3.435185,3.351852,3.407408,3.030855,51492400
+1996-01-23,3.388889,3.500000,3.370370,3.425926,3.047327,67290000
+1996-01-24,3.481482,3.638889,3.425926,3.638889,3.236756,88524400
+1996-01-25,3.657408,3.666667,3.500000,3.537037,3.146160,57434800
+1996-01-26,3.509259,3.574074,3.444444,3.509259,3.121452,54751200
+1996-01-29,3.518518,3.564815,3.490741,3.490741,3.104980,22008400
+1996-01-30,3.509259,3.537037,3.472222,3.509259,3.121452,25807200
+1996-01-31,3.537037,3.564815,3.462963,3.537037,3.146160,49115200
+1996-02-01,3.527778,3.555556,3.481482,3.527778,3.137923,33097200
+1996-02-02,3.537037,3.675926,3.527778,3.648148,3.244992,62912400
+1996-02-05,3.648148,3.777778,3.629630,3.759259,3.343823,61314000
+1996-02-06,3.768518,3.777778,3.657408,3.712963,3.302644,71672400
+1996-02-07,3.703704,3.712963,3.587963,3.620370,3.220284,50296000
+1996-02-08,3.611111,3.722222,3.564815,3.722222,3.310880,61416400
+1996-02-09,3.712963,3.814815,3.629630,3.638889,3.236756,91428000
+1996-02-12,3.638889,3.731482,3.629630,3.699074,3.290291,41428800
+1996-02-13,3.620370,3.759259,3.611111,3.722222,3.310880,56459200
+1996-02-14,3.731482,3.805556,3.685185,3.791667,3.372650,55507200
+1996-02-15,3.777778,3.935185,3.777778,3.916667,3.483837,79474000
+1996-02-16,3.907408,3.944444,3.861111,3.888889,3.459129,60269200
+1996-02-20,3.796296,3.907408,3.787037,3.842592,3.417948,41756400
+1996-02-21,3.870370,3.925926,3.824074,3.925926,3.492073,33825600
+1996-02-22,3.962963,4.046296,3.962963,4.009259,3.566197,62515600
+1996-02-23,4.027778,4.037037,3.884259,3.972222,3.533253,53784400
+1996-02-26,4.000000,4.074074,3.962963,4.018518,3.574433,50557200
+1996-02-27,4.037037,4.037037,3.907408,3.921296,3.487954,54656800
+1996-02-28,3.935185,4.018518,3.888889,3.907408,3.475600,40702000
+1996-02-29,3.851852,3.925926,3.787037,3.851852,3.426184,44960400
+1996-03-01,3.861111,3.861111,3.620370,3.638889,3.236756,79750800
+1996-03-04,3.694444,3.703704,3.555556,3.583333,3.187340,47477200
+1996-03-05,3.564815,3.851852,3.537037,3.833333,3.409713,65632000
+1996-03-06,3.740741,3.777778,3.583333,3.675926,3.269700,117099600
+1996-03-07,3.722222,3.722222,3.675926,3.685185,3.277937,59216400
+1996-03-08,3.592592,3.685185,3.481482,3.481482,3.096743,71002800
+1996-03-11,3.555556,3.703704,3.518518,3.694444,3.286172,56098800
+1996-03-12,3.666667,3.685185,3.518518,3.574074,3.179104,68634000
+1996-03-13,3.629630,3.712963,3.611111,3.675926,3.269700,60023200
+1996-03-14,3.694444,3.703704,3.546296,3.564815,3.170868,74817600
+1996-03-15,3.592592,3.685185,3.564815,3.620370,3.220284,106088400
+1996-03-18,3.675926,3.740741,3.675926,3.722222,3.310880,45759600
+1996-03-19,3.768518,3.796296,3.657408,3.694444,3.286172,40910400
+1996-03-20,3.694444,3.708333,3.611111,3.694444,3.286172,33072000
+1996-03-21,3.703704,3.722222,3.583333,3.601852,3.203811,41194800
+1996-03-22,3.648148,3.648148,3.462963,3.620370,3.220284,87752400
+1996-03-25,3.648148,3.666667,3.527778,3.527778,3.137923,68666800
+1996-03-26,3.509259,3.620370,3.481482,3.555556,3.162632,48683200
+1996-03-27,3.564815,3.620370,3.546296,3.574074,3.179104,24835200
+1996-03-28,3.537037,3.611111,3.518518,3.564815,3.170868,38156400
+1996-03-29,3.583333,3.592592,3.472222,3.490741,3.104980,29840800
+1996-04-01,3.518518,3.527778,3.407408,3.472222,3.088508,50288400
+1996-04-02,3.518518,3.527778,3.453704,3.481482,3.096743,28574800
+1996-04-03,3.453704,3.453704,3.351852,3.379630,3.006147,88381600
+1996-04-04,3.388889,3.425926,3.361111,3.370370,2.997912,70027200
+1996-04-08,3.259259,3.268518,3.185185,3.203704,2.849662,193920000
+1996-04-09,3.250000,3.259259,2.943281,3.074074,2.734359,388101600
+1996-04-10,3.129630,3.250000,3.129630,3.203704,2.849662,146442400
+1996-04-11,3.222222,3.296296,3.134259,3.250000,2.890843,92761200
+1996-04-12,3.268518,3.277778,3.185185,3.259259,2.899079,51095200
+1996-04-15,3.259259,3.296296,3.203704,3.217592,2.862017,36982800
+1996-04-16,3.342592,3.425926,3.324074,3.393518,3.018501,82638400
+1996-04-17,3.402778,3.500000,3.388889,3.458333,3.076153,56881600
+1996-04-18,3.513889,3.555556,3.486111,3.527778,3.137923,39338800
+1996-04-19,3.638889,3.652778,3.527778,3.555556,3.162632,50414400
+1996-04-22,3.625000,3.708333,3.607633,3.680556,3.273817,54228400
+1996-04-23,3.708333,3.805556,3.694444,3.777778,3.360296,41809200
+1996-04-24,3.833333,3.895833,3.789922,3.847222,3.422066,58420800
+1996-04-25,3.861111,3.861111,3.722222,3.819444,3.397358,33487200
+1996-04-26,3.777778,3.902778,3.777778,3.791667,3.372650,27234000
+1996-04-29,3.791667,3.861111,3.763889,3.805556,3.385005,19857600
+1996-04-30,3.833333,3.847222,3.708333,3.750000,3.335588,23940000
+1996-05-01,3.750000,3.819444,3.708333,3.791667,3.372650,21137200
+1996-05-02,3.791667,3.791667,3.638889,3.652778,3.249110,29428000
+1996-05-03,3.715278,3.763889,3.638889,3.701389,3.292349,29212000
+1996-05-06,3.708333,3.805556,3.708333,3.791667,3.372650,26137600
+1996-05-07,3.805556,3.805556,3.694444,3.722222,3.310880,29140000
+1996-05-08,3.722222,3.722222,3.555556,3.652778,3.249110,45999600
+1996-05-09,3.694444,3.736111,3.666667,3.736111,3.323234,18920400
+1996-05-10,3.776033,3.791667,3.722222,3.763889,3.347942,28980400
+1996-05-13,3.777778,3.888889,3.750000,3.875000,3.446775,31298800
+1996-05-14,3.902778,3.958333,3.888889,3.902778,3.471482,39534000
+1996-05-15,3.902778,3.930556,3.819444,3.833333,3.409713,29282800
+1996-05-16,3.791667,3.916667,3.763889,3.888889,3.459129,36248400
+1996-05-17,3.930556,3.986111,3.875000,3.902778,3.471482,27947200
+1996-05-20,3.930556,4.000000,3.930556,3.944444,3.508545,30397200
+1996-05-21,3.984367,4.000000,3.930556,3.944444,3.508545,28045600
+1996-05-22,3.930556,3.972222,3.708333,3.777778,3.360296,57283200
+1996-05-23,3.861111,3.861111,3.722222,3.763889,3.347942,60604000
+1996-05-24,3.819444,3.819444,3.694444,3.694444,3.286172,31228800
+1996-05-28,3.736111,3.736111,3.666667,3.680556,3.273817,30819600
+1996-05-29,3.708333,3.708333,3.611111,3.638889,3.236756,29542000
+1996-05-30,3.652778,3.750000,3.611111,3.694444,3.286172,28426000
+1996-05-31,3.750000,3.763889,3.638889,3.680556,3.273817,44240400
+1996-06-03,3.680556,3.680556,3.583333,3.611111,3.212048,47610000
+1996-06-04,3.652778,3.680556,3.597222,3.666667,3.261464,40732800
+1996-06-05,3.680556,3.777778,3.638889,3.777778,3.360296,33570400
+1996-06-06,3.791667,3.833333,3.638889,3.652778,3.249110,35834400
+1996-06-07,3.597222,3.763889,3.555556,3.763889,3.347942,33907200
+1996-06-10,3.777778,3.819444,3.666667,3.687500,3.279995,24889200
+1996-06-11,3.722222,3.819444,3.694444,3.763889,3.347942,31120800
+1996-06-12,3.819444,3.875000,3.791667,3.833333,3.409713,40072000
+1996-06-13,3.833333,3.847222,3.750000,3.819444,3.397358,25837600
+1996-06-14,3.819444,3.819444,3.708333,3.763889,3.347942,27813600
+1996-06-17,3.819444,3.819444,3.722222,3.763889,3.347942,24302400
+1996-06-18,3.777778,3.791667,3.680556,3.722222,3.310880,28930000
+1996-06-19,3.736111,3.833333,3.708333,3.819444,3.397358,45619600
+1996-06-20,3.861111,3.958333,3.722222,3.875000,3.446775,62536000
+1996-06-21,4.236111,4.250000,4.041667,4.222222,3.755626,140348400
+1996-06-24,4.208333,4.236111,4.152778,4.208333,3.743271,41875600
+1996-06-25,4.208333,4.305555,4.180555,4.236111,3.767979,41244000
+1996-06-26,4.236111,4.236111,4.138889,4.152778,3.693855,34527600
+1996-06-27,4.152778,4.388889,4.111111,4.388889,3.903874,50740800
+1996-06-28,4.402778,4.486111,4.319445,4.381945,3.897696,53573200
+1996-07-01,4.388889,4.444445,4.333333,4.347222,3.866812,27046800
+1996-07-02,4.319445,4.361111,4.236111,4.250000,3.780334,32082000
+1996-07-03,4.236111,4.250000,4.194445,4.250000,3.780334,23870400
+1996-07-05,4.180555,4.194445,4.097222,4.125000,3.669146,14092800
+1996-07-08,4.125000,4.250000,4.069445,4.194445,3.730917,49334400
+1996-07-09,4.263889,4.291667,4.138889,4.166667,3.706209,29491600
+1996-07-10,4.194445,4.263889,4.125000,4.263889,3.792686,35836800
+1996-07-11,4.208333,4.236111,4.083333,4.180555,3.718563,62100400
+1996-07-12,4.222222,4.250000,4.069445,4.138889,3.681501,29214400
+1996-07-15,4.140622,4.166667,3.944444,3.986111,3.545606,50607600
+1996-07-16,3.944444,4.083333,3.694444,4.027778,3.582669,104452800
+1996-07-17,4.138889,4.208333,4.000000,4.166667,3.706209,66102000
+1996-07-18,4.180555,4.236111,4.138889,4.222222,3.755626,38336800
+1996-07-19,4.180555,4.194445,4.097222,4.125000,3.669146,31993200
+1996-07-22,4.111111,4.125000,4.055555,4.111111,3.656793,24928800
+1996-07-23,4.138889,4.194445,3.986111,4.000000,3.557961,42314400
+1996-07-24,3.833333,4.097222,3.833333,4.055555,3.607377,49374400
+1996-07-25,4.055555,4.250000,4.055555,4.236111,3.767979,52945200
+1996-07-26,4.222222,4.277778,4.180555,4.236111,3.767979,29223600
+1996-07-29,4.194445,4.305555,4.194445,4.194445,3.730917,22145200
+1996-07-30,4.222222,4.250000,4.125000,4.250000,3.780334,16802800
+1996-07-31,4.263889,4.347222,4.250000,4.347222,3.866812,31266400
+1996-08-01,4.347222,4.430555,4.319445,4.361111,3.879166,33699600
+1996-08-02,4.402778,4.444445,4.375000,4.402778,3.916226,37225600
+1996-08-05,4.416667,4.430555,4.263889,4.291667,3.817394,20058000
+1996-08-06,4.277778,4.444445,4.236111,4.430555,3.940935,28454400
+1996-08-07,4.458333,4.666667,4.430555,4.645833,4.132424,60687600
+1996-08-08,4.597222,4.680555,4.527778,4.527778,4.027414,36590800
+1996-08-09,4.513889,4.652778,4.458333,4.597222,4.089184,42211600
+1996-08-12,4.611111,4.666667,4.513889,4.583333,4.076830,27784800
+1996-08-13,4.541667,4.583333,4.444445,4.513889,4.015060,32004000
+1996-08-14,4.527778,4.583333,4.472222,4.513889,4.015060,22608000
+1996-08-15,4.513889,4.513889,4.416667,4.430555,3.940935,27615600
+1996-08-16,4.472222,4.472222,4.388889,4.416667,3.928583,28794400
+1996-08-19,4.444445,4.444445,4.361111,4.402778,3.916226,23042400
+1996-08-20,4.388889,4.402778,4.250000,4.333333,3.854456,37595200
+1996-08-21,4.208333,4.222222,4.111111,4.208333,3.743271,66442000
+1996-08-22,4.208333,4.236111,4.166667,4.236111,3.767979,31723200
+1996-08-23,4.236111,4.361111,4.208333,4.319445,3.842104,35185200
+1996-08-26,4.305555,4.305555,4.236111,4.236111,3.767979,17714400
+1996-08-27,4.263889,4.305555,4.222222,4.250000,3.780334,21181200
+1996-08-28,4.263889,4.263889,4.111111,4.152778,3.693855,37978000
+1996-08-29,4.138889,4.166667,4.041667,4.041667,3.595022,36720000
+1996-08-30,4.000000,4.027778,3.902778,3.916667,3.483837,59006400
+1996-09-03,3.861111,4.152778,3.833333,4.138889,3.681501,42780400
+1996-09-04,4.125000,4.194445,4.055555,4.180555,3.718563,36766800
+1996-09-05,4.166667,4.250000,4.097222,4.111111,3.656793,45176400
+1996-09-06,4.138889,4.194445,4.111111,4.166667,3.706209,28922800
+1996-09-09,4.180555,4.194445,4.083333,4.166667,3.706209,21618400
+1996-09-10,4.194445,4.208333,4.111111,4.166667,3.706209,21914800
+1996-09-11,4.138889,4.138889,4.000000,4.069445,3.619730,36380400
+1996-09-12,4.097222,4.208333,4.013889,4.166667,3.706209,72135600
+1996-09-13,4.513889,4.680555,4.444445,4.680555,4.163309,137418000
+1996-09-16,4.666667,4.694445,4.569445,4.625000,4.113893,65257200
+1996-09-17,4.694445,4.694445,4.611111,4.625000,4.113893,47449600
+1996-09-18,4.611111,4.888889,4.583333,4.819445,4.286849,70453600
+1996-09-19,4.819445,4.875000,4.729167,4.833333,4.299203,41036800
+1996-09-20,4.847222,4.944445,4.750000,4.944445,4.398034,51914400
+1996-09-23,4.902778,4.916667,4.763889,4.763889,4.237434,26159200
+1996-09-24,4.777778,4.833333,4.736111,4.805555,4.274496,32218800
+1996-09-25,4.847222,4.861111,4.763889,4.812500,4.280673,25498800
+1996-09-26,4.833333,4.888889,4.680555,4.708333,4.188017,42944800
+1996-09-27,4.708333,4.791667,4.666667,4.770833,4.243610,31670800
+1996-09-30,4.763889,4.791667,4.722222,4.729167,4.206548,19625200
+1996-10-01,4.715278,4.784722,4.694445,4.736111,4.212725,28844800
+1996-10-02,4.750000,4.916667,4.736111,4.916667,4.373327,69026800
+1996-10-03,4.958333,5.000000,4.888889,4.916667,4.373327,47147200
+1996-10-04,4.958333,5.055555,4.944445,5.027778,4.472159,44636800
+1996-10-07,5.055555,5.152778,5.013889,5.111111,4.546282,40375600
+1996-10-08,5.125000,5.125000,4.958333,4.972222,4.422743,27200400
+1996-10-09,5.027778,5.041667,4.888889,4.902778,4.360972,27216000
+1996-10-10,4.888889,5.013889,4.875000,4.986111,4.435096,24118000
+1996-10-11,5.013889,5.055555,4.972222,5.013889,4.459805,20200000
+1996-10-14,5.027778,5.083333,4.986111,5.055555,4.496868,20278800
+1996-10-15,5.097222,5.111111,4.958333,4.972222,4.422743,29950800
+1996-10-16,4.958333,4.986111,4.916667,4.944445,4.398034,17309200
+1996-10-17,4.986111,5.013889,4.847222,4.861111,4.323911,25298800
+1996-10-18,4.875000,4.972222,4.847222,4.944445,4.398034,32248800
+1996-10-21,4.944445,5.013889,4.763889,4.791667,4.262139,25776400
+1996-10-22,4.750000,4.763889,4.611111,4.666667,4.150953,41041600
+1996-10-23,4.666667,4.763889,4.611111,4.708333,4.188017,39315600
+1996-10-24,4.750000,4.875000,4.638889,4.777778,4.249787,24696000
+1996-10-25,4.763889,4.805555,4.694445,4.701389,4.181839,14218800
+1996-10-28,4.750000,4.819445,4.694445,4.722222,4.200370,22207200
+1996-10-29,4.736111,4.777778,4.597222,4.611111,4.101537,21115600
+1996-10-30,4.638889,4.666667,4.555555,4.569445,4.064476,25898400
+1996-10-31,4.597222,4.736111,4.541667,4.701389,4.181839,34004400
+1996-11-01,4.763889,4.930555,4.750000,4.902778,4.360972,44876400
+1996-11-04,4.944445,4.986111,4.888889,4.972222,4.422743,27158400
+1996-11-05,5.013889,5.027778,4.791667,4.902778,4.360972,71874000
+1996-11-06,4.958333,5.055555,4.902778,5.000000,4.447452,61610800
+1996-11-07,5.013889,5.055555,4.916667,5.013889,4.459805,52985200
+1996-11-08,5.013889,5.125000,5.000000,5.109367,4.544732,45939600
+1996-11-11,5.138889,5.194445,5.027778,5.069445,4.509221,29286000
+1996-11-12,5.097222,5.111111,4.958333,4.986111,4.435096,22622800
+1996-11-13,5.013889,5.097222,4.930555,5.055555,4.496868,23460000
+1996-11-14,5.069445,5.319445,5.027778,5.263889,4.682178,41656000
+1996-11-15,5.319445,5.361111,5.138889,5.222222,4.645113,39432400
+1996-11-18,5.222222,5.250000,5.055555,5.166667,4.595698,23641200
+1996-11-19,5.166667,5.194445,5.111111,5.125000,4.558638,26652400
+1996-11-20,5.180555,5.319445,5.125000,5.319445,4.731593,31980400
+1996-11-21,5.333333,5.500000,5.222222,5.250000,4.669824,53435200
+1996-11-22,5.263889,5.569445,5.263889,5.527778,4.916903,39298000
+1996-11-25,5.541667,5.569445,5.430555,5.527778,4.916903,44185200
+1996-11-26,5.527778,5.569445,5.375000,5.500000,4.892195,35476000
+1996-11-27,5.527778,5.527778,5.444445,5.472222,4.867488,21384000
+1996-11-29,5.493055,5.513889,5.444445,5.444445,4.842780,9448800
+1996-12-02,5.430555,5.527778,5.361111,5.513889,4.904551,25705600
+1996-12-03,5.541667,5.666667,5.501733,5.527778,4.916903,37220400
+1996-12-04,5.513889,5.527778,5.166667,5.194445,4.620408,77348400
+1996-12-05,5.194445,5.222222,5.097222,5.208333,4.632761,45355200
+1996-12-06,5.055555,5.194445,4.986111,5.069445,4.509221,44388000
+1996-12-09,5.111111,5.416667,5.083333,5.416667,4.818072,39070800
+1996-12-10,5.541667,5.583333,5.430555,5.486111,4.879842,42397200
+1996-12-11,5.402778,5.486111,5.222222,5.333333,4.743948,51596800
+1996-12-12,5.416667,5.486111,5.222222,5.250000,4.669824,39253200
+1996-12-13,4.875000,4.958333,4.770833,4.888889,4.348619,226649200
+1996-12-16,4.958333,4.972222,4.708333,4.729167,4.206548,67174000
+1996-12-17,4.694445,4.819445,4.611111,4.805555,4.274496,69094800
+1996-12-18,4.819445,4.833333,4.666667,4.694445,4.175663,67948800
+1996-12-19,4.763889,4.777778,4.638889,4.680555,4.163309,70351200
+1996-12-20,4.708333,4.888889,4.583333,4.805555,4.274496,67197600
+1996-12-23,4.819445,4.847222,4.666667,4.708333,4.188017,25519200
+1996-12-24,4.722222,4.819445,4.666667,4.805555,4.274496,9664000
+1996-12-26,4.819445,4.902778,4.805555,4.895833,4.354796,26186800
+1996-12-27,4.902778,4.902778,4.722222,4.763889,4.237434,26539600
+1996-12-30,4.791667,4.819445,4.625000,4.631945,4.120068,27697200
+1996-12-31,4.652778,4.708333,4.625000,4.638889,4.126245,31612000
+1997-01-02,4.680555,4.722222,4.527778,4.666667,4.150953,54342000
+1997-01-03,4.750000,4.958333,4.736111,4.958333,4.410389,47344000
+1997-01-06,5.000000,5.013889,4.956589,4.986111,4.435096,35467600
+1997-01-07,4.972222,4.986111,4.875000,4.972222,4.422743,32473600
+1997-01-08,4.979167,5.013889,4.798611,4.819445,4.286849,41618400
+1997-01-09,4.875000,4.888889,4.625000,4.638889,4.126245,81560400
+1997-01-10,4.625000,4.652778,4.500000,4.541667,4.039767,120012000
+1997-01-13,4.583333,4.597222,4.513889,4.555555,4.052123,53683200
+1997-01-14,4.611111,4.861111,4.597222,4.805555,4.274496,65166000
+1997-01-15,4.847222,4.847222,4.583333,4.583333,4.076830,52612000
+1997-01-16,4.652778,4.750000,4.562500,4.583333,4.076830,61376400
+1997-01-17,4.583333,4.708333,4.555555,4.611111,4.101537,54756400
+1997-01-20,4.652778,4.763889,4.625000,4.736111,4.212725,38761600
+1997-01-21,4.763889,4.833333,4.611111,4.638889,4.126245,64057200
+1997-01-22,4.638889,4.750000,4.625000,4.708333,4.188017,57422400
+1997-01-23,4.763889,4.763889,4.486111,4.500000,4.002706,85063200
+1997-01-24,4.513889,4.513889,4.347222,4.402778,3.916226,106879200
+1997-01-27,4.416667,4.444445,4.166667,4.236111,3.767979,105248400
+1997-01-28,4.402778,4.402778,4.138889,4.180555,3.718563,136550400
+1997-01-29,4.236111,4.277778,4.166667,4.187500,3.724741,85716400
+1997-01-30,4.236111,4.250000,4.111111,4.166667,3.706209,96756000
+1997-01-31,4.208333,4.416667,4.166667,4.319445,3.842104,85518000
+1997-02-03,4.375000,4.472222,4.347222,4.375000,3.891519,59693200
+1997-02-04,4.416667,4.472222,4.361111,4.430555,3.940935,50998000
+1997-02-05,4.500000,4.500000,4.180555,4.291667,3.817394,71854000
+1997-02-06,4.319445,4.458333,4.305555,4.388889,3.903874,70651600
+1997-02-07,4.458333,4.486111,4.361111,4.444445,3.953291,34070400
+1997-02-10,4.472222,4.541667,4.430555,4.458333,3.965643,48582400
+1997-02-11,4.458333,4.486111,4.305555,4.347222,3.866812,68290000
+1997-02-12,4.444445,4.611111,4.430555,4.604167,4.095362,79970400
+1997-02-13,4.652778,4.694445,4.541667,4.590278,4.083007,49575600
+1997-02-14,4.597222,4.652778,4.527778,4.541667,4.039767,36990400
+1997-02-18,4.569445,4.569445,4.430555,4.527778,4.027414,36747600
+1997-02-19,4.527778,4.652778,4.472222,4.597222,4.089184,36259200
+1997-02-20,4.625000,4.736111,4.618055,4.638889,4.126245,59025600
+1997-02-21,4.652778,4.666667,4.486111,4.541667,4.039767,53787600
+1997-02-24,4.500000,4.541667,4.430555,4.479167,3.984174,35872000
+1997-02-25,4.513889,4.569445,4.451389,4.541667,4.039767,33200800
+1997-02-26,4.541667,4.611111,4.458333,4.527778,4.027414,27000000
+1997-02-27,4.527778,4.527778,4.430555,4.444445,3.953291,32756800
+1997-02-28,4.416667,4.458333,4.319445,4.361111,3.879166,45770400
+1997-03-03,4.361111,4.388889,4.236111,4.375000,3.891519,55296400
+1997-03-04,4.402778,4.444445,4.305555,4.388889,3.903874,68404000
+1997-03-05,4.416667,4.500000,4.319445,4.416667,3.928583,38626800
+1997-03-06,4.416667,4.416667,3.958333,4.062500,3.613554,170809600
+1997-03-07,4.125000,4.180555,3.916667,3.979167,3.539430,119399200
+1997-03-10,4.013889,4.083333,3.861111,4.000000,3.557961,86598400
+1997-03-11,4.055555,4.069445,3.902778,3.972222,3.533253,56134800
+1997-03-12,3.958333,3.972222,3.736111,3.791667,3.372650,77609200
+1997-03-13,3.805556,4.111111,3.791667,4.013889,3.570314,120247600
+1997-03-14,4.402778,4.569445,4.388889,4.555555,4.052123,155834800
+1997-03-17,4.500000,4.680555,4.430555,4.666667,4.150953,84920800
+1997-03-18,4.680555,4.722222,4.430555,4.500000,4.002706,65855200
+1997-03-19,4.416667,4.444445,4.250000,4.375000,3.891519,72075600
+1997-03-20,4.361111,4.500000,4.319445,4.430555,3.940935,53210400
+1997-03-21,4.472222,4.500000,4.416667,4.430555,3.940935,46664800
+1997-03-24,4.388889,4.444445,4.319445,4.430555,3.940935,43705600
+1997-03-25,4.458333,4.500000,4.291667,4.333333,3.854456,52729600
+1997-03-26,4.361111,4.527778,4.333333,4.500000,4.002706,44324800
+1997-03-27,4.513889,4.527778,4.291667,4.375000,3.891519,48680800
+1997-03-31,4.347222,4.375000,4.222222,4.284722,3.811220,40222800
+1997-04-01,4.055555,4.291667,4.027778,4.111111,3.656793,71017600
+1997-04-02,4.125000,4.180555,4.027778,4.083333,3.632085,42739200
+1997-04-03,4.097222,4.305555,4.013889,4.291667,3.817394,71208400
+1997-04-04,4.222222,4.416667,4.208333,4.319445,3.842104,54000000
+1997-04-07,4.388889,4.430555,4.319445,4.416667,3.928583,37730400
+1997-04-08,4.388889,4.416667,4.305555,4.388889,3.903874,27486000
+1997-04-09,4.402778,4.444445,4.250000,4.263889,3.792686,39940000
+1997-04-10,4.263889,4.277778,4.138889,4.166667,3.706209,34047600
+1997-04-11,4.097222,4.138889,4.055555,4.055555,3.607377,42588000
+1997-04-14,4.069445,4.333333,4.000000,4.319445,3.842104,41932800
+1997-04-15,4.361111,4.402778,4.013889,4.145833,3.687678,67640400
+1997-04-16,4.111111,4.180555,4.055555,4.166667,3.706209,31331200
+1997-04-17,4.194445,4.333333,4.097222,4.118055,3.662971,37100400
+1997-04-18,4.152778,4.194445,4.013889,4.125000,3.669146,53864800
+1997-04-21,4.083333,4.125000,3.986111,4.013889,3.570314,30331600
+1997-04-22,4.041667,4.041667,3.875000,3.916667,3.483837,48248800
+1997-04-23,3.944444,4.222222,3.902778,4.194445,3.730917,69930400
+1997-04-24,4.250000,4.430555,4.236111,4.388889,3.903874,66722800
+1997-04-25,4.347222,4.375000,4.208333,4.208333,3.743271,32589600
+1997-04-28,4.222222,4.319445,4.083333,4.222222,3.755626,30512400
+1997-04-29,4.333333,4.430555,4.222222,4.277778,3.805041,55114000
+1997-04-30,4.236111,4.444445,4.222222,4.416667,3.928583,80145600
+1997-05-01,4.430555,4.569445,4.402778,4.493055,3.996527,81002400
+1997-05-02,4.486111,4.736111,4.472222,4.722222,4.200370,65894400
+1997-05-05,4.763889,5.013889,4.750000,4.972222,4.422743,123752400
+1997-05-06,4.958333,5.000000,4.805555,4.881945,4.342444,62184400
+1997-05-07,4.805555,4.944445,4.763889,4.777778,4.249787,45734400
+1997-05-08,4.736111,4.944445,4.694445,4.875000,4.336265,60463600
+1997-05-09,4.902778,4.972222,4.750000,4.875000,4.336265,42534000
+1997-05-12,4.847222,4.958333,4.777778,4.861111,4.323911,37386400
+1997-05-13,4.916667,5.083333,4.902778,4.979167,4.428921,93182800
+1997-05-14,5.111111,5.125000,4.875000,4.923611,4.379503,74369200
+1997-05-15,4.930555,5.125000,4.916667,5.104167,4.540106,64282000
+1997-05-16,4.986111,5.097222,4.916667,4.930555,4.385682,69361200
+1997-05-19,4.916667,4.944445,4.833333,4.916667,4.373327,35838000
+1997-05-20,4.930555,5.027778,4.861111,5.027778,4.472159,44722800
+1997-05-21,5.097222,5.236111,5.097222,5.215278,4.638939,80141200
+1997-05-22,5.263889,5.291667,5.166667,5.194445,4.620408,43659600
+1997-05-23,5.194445,5.263889,5.138889,5.222222,4.645113,22555600
+1997-05-27,5.166667,5.319445,5.111111,5.263889,4.682178,39391200
+1997-05-28,5.250000,5.305555,5.166667,5.236111,4.657469,40014000
+1997-05-29,5.263889,5.347222,5.194445,5.236111,4.657469,48439600
+1997-05-30,4.888889,5.236111,4.888889,5.180555,4.608054,69277200
+1997-06-02,5.194445,5.444445,5.111111,5.444445,4.842780,55036800
+1997-06-03,5.416667,5.430555,5.159722,5.166667,4.595698,59567200
+1997-06-04,5.180555,5.270833,5.111111,5.187500,4.614232,51326800
+1997-06-05,5.236111,5.375000,5.222222,5.277778,4.694531,49992000
+1997-06-06,5.277778,5.444445,5.263889,5.444445,4.842780,60370000
+1997-06-09,5.437500,5.513889,5.416667,5.444445,4.842780,44697600
+1997-06-10,5.437500,5.479167,5.270833,5.291667,4.706884,41639200
+1997-06-11,5.291667,5.437500,5.243055,5.409722,4.811897,31883200
+1997-06-12,5.402778,5.548611,5.381945,5.510411,4.901457,52849600
+1997-06-13,5.500000,5.777778,5.458333,5.777778,5.139277,95150400
+1997-06-16,5.777778,5.888889,5.680555,5.812500,5.170162,85806000
+1997-06-17,5.784722,5.944445,5.763889,5.916667,5.262816,67363600
+1997-06-18,5.625000,5.763889,5.555555,5.590278,4.972497,99493200
+1997-06-19,5.583333,5.638889,5.486111,5.506945,4.898373,63288000
+1997-06-20,5.513889,5.541667,5.361111,5.361111,4.768656,79124800
+1997-06-23,5.416667,5.513889,5.361111,5.361111,4.768656,64330800
+1997-06-24,5.444445,5.597222,5.347222,5.569445,4.953968,51370800
+1997-06-25,5.611111,5.777778,5.513889,5.659722,5.034267,73665600
+1997-06-26,5.638889,5.756945,5.597222,5.631945,5.009559,45954000
+1997-06-27,5.652778,5.708333,5.590278,5.597222,4.978674,34057600
+1997-06-30,5.597222,5.652778,5.458333,5.597222,4.978674,30344800
+1997-07-01,5.548611,5.597222,5.347222,5.395833,4.799540,46398400
+1997-07-02,5.409722,5.416667,5.263889,5.347222,4.756302,52347600
+1997-07-03,5.375000,5.541667,5.361111,5.527778,4.916903,22314400
+1997-07-07,5.541667,5.625000,5.444445,5.479167,4.873665,28595200
+1997-07-08,5.479167,5.666667,5.472222,5.659722,5.034267,30799600
+1997-07-09,5.694445,5.812500,5.666667,5.729167,5.096037,57402400
+1997-07-10,5.722222,5.854167,5.569445,5.784722,5.145454,48904000
+1997-07-11,5.777778,5.875000,5.763889,5.812500,5.170162,29149600
+1997-07-14,5.812500,5.979167,5.812500,5.972222,5.312233,35348400
+1997-07-15,6.111111,6.305555,6.069445,6.274300,5.580930,72235600
+1997-07-16,6.402778,6.555555,6.368055,6.381945,5.676676,75413200
+1997-07-17,6.395833,6.402778,6.194445,6.208333,5.522252,54171600
+1997-07-18,6.187500,6.284722,6.000000,6.208333,5.522252,73792800
+1997-07-21,6.208333,6.208333,6.041667,6.131945,5.454305,27925600
+1997-07-22,6.152778,6.333333,6.055555,6.319445,5.621084,36589200
+1997-07-23,6.381945,6.416667,6.111111,6.291667,5.596375,51559600
+1997-07-24,6.236111,6.298611,6.055555,6.083333,5.411065,45484800
+1997-07-25,6.097222,6.236111,6.041667,6.083333,5.411065,39303600
+1997-07-28,6.104167,6.180555,5.986111,6.055555,5.386356,29468400
+1997-07-29,6.048611,6.083333,5.951389,6.055555,5.386356,30496000
+1997-07-30,6.069445,6.250000,6.013889,6.152778,5.472835,32689600
+1997-07-31,6.166667,6.236111,6.027778,6.048611,5.380180,28381200
+1997-08-01,6.069445,6.194445,6.041667,6.097222,5.423419,39107200
+1997-08-04,6.125000,6.263889,6.097222,6.236111,5.546960,28911600
+1997-08-05,6.291667,6.333333,6.208333,6.312500,5.614906,37244400
+1997-08-06,6.333333,6.458333,6.277778,6.444445,5.732269,44258400
+1997-08-07,6.472222,6.486111,6.305555,6.319445,5.621084,49798800
+1997-08-08,6.250000,6.430555,6.166667,6.375000,5.670500,59587600
+1997-08-11,6.416667,6.430555,6.173611,6.333333,5.633438,38808400
+1997-08-12,6.381945,6.388889,6.250000,6.250000,5.559314,25628800
+1997-08-13,6.333333,6.347222,6.166667,6.305555,5.608728,33688800
+1997-08-14,6.333333,6.444445,6.312500,6.430555,5.719916,37004400
+1997-08-15,6.430555,6.513889,6.180555,6.194445,5.509898,46280400
+1997-08-18,6.208333,6.437500,6.020833,6.416667,5.707561,30523600
+1997-08-19,6.572917,6.864583,6.500000,6.854167,6.096715,60157200
+1997-08-20,6.979167,7.020833,6.760417,6.833333,6.078184,54691200
+1997-08-21,6.885417,6.895833,6.645833,6.666667,5.929935,36745200
+1997-08-22,6.562500,6.812500,6.416667,6.812500,6.059652,41149200
+1997-08-25,6.833333,6.843750,6.593750,6.604167,5.874341,27442000
+1997-08-26,6.604167,6.625000,6.406250,6.437500,5.726094,50060800
+1997-08-27,6.479167,6.541667,6.302083,6.395833,5.689031,33187200
+1997-08-28,6.395833,6.437500,6.020833,6.052083,5.383269,48157200
+1997-08-29,6.145833,6.416667,6.062500,6.354167,5.651969,50159200
+1997-09-02,6.437500,6.531250,6.354167,6.479167,5.763154,37926000
+1997-09-03,6.541667,6.562500,6.395833,6.416667,5.707561,30378000
+1997-09-04,6.458333,6.552083,6.416667,6.510417,5.790951,23112400
+1997-09-05,6.562500,6.656250,6.510417,6.583333,5.855811,21586800
+1997-09-08,6.614583,6.666667,6.531250,6.656250,5.920670,25388800
+1997-09-09,6.656250,6.677083,6.520833,6.635417,5.902138,27785200
+1997-09-10,6.604167,6.604167,6.270833,6.322917,5.624172,50615200
+1997-09-11,6.333333,6.531250,6.197917,6.489583,5.772420,34526800
+1997-09-12,6.541667,6.562500,6.312500,6.447917,5.735359,23408400
+1997-09-15,6.479167,6.572917,6.322917,6.333333,5.633438,31686400
+1997-09-16,6.395833,6.604167,6.333333,6.593750,5.865076,41924800
+1997-09-17,6.229167,6.270833,5.958333,6.010417,5.346207,164461200
+1997-09-18,6.135417,6.260417,6.031250,6.114583,5.438861,84763600
+1997-09-19,6.145833,6.281250,6.062500,6.250000,5.559314,61997200
+1997-09-22,6.312500,6.354167,6.187500,6.192700,5.508346,32969200
+1997-09-23,6.197917,6.322917,6.156250,6.229167,5.540783,30796000
+1997-09-24,6.416667,6.520833,6.312500,6.322917,5.624172,64599600
+1997-09-25,6.302083,6.437500,6.177083,6.375000,5.670500,35756800
+1997-09-26,6.406250,6.416667,6.229167,6.270833,5.577845,37310400
+1997-09-29,6.291667,6.312500,6.145833,6.229167,5.540783,30647200
+1997-09-30,6.229167,6.250000,6.072917,6.072917,5.401800,26588800
+1997-10-01,6.166667,6.166667,5.937500,6.000000,5.336940,37809600
+1997-10-02,6.041667,6.125000,5.916667,6.000000,5.336940,32830800
+1997-10-03,6.104167,6.291667,6.052083,6.145833,5.466659,32593200
+1997-10-06,6.208333,6.291667,6.125000,6.177083,5.494455,21720000
+1997-10-07,6.187500,6.291667,6.132800,6.255200,5.563939,25854400
+1997-10-08,6.291667,6.291667,6.125000,6.208333,5.522252,22747200
+1997-10-09,6.166667,6.250000,6.125000,6.197917,5.512986,17358000
+1997-10-10,6.104167,6.166667,6.000000,6.020833,5.355473,38638000
+1997-10-13,6.083333,6.114583,6.020833,6.062500,5.392535,21827200
+1997-10-14,6.052083,6.104167,5.937500,6.000000,5.336940,23269600
+1997-10-15,5.937500,5.989583,5.770833,5.822917,5.179426,53672800
+1997-10-16,5.875000,5.916667,5.666667,5.739583,5.105304,36670800
+1997-10-17,5.625000,5.760417,5.562500,5.697917,5.068242,45437200
+1997-10-20,5.750000,5.822917,5.697917,5.750000,5.114568,29237200
+1997-10-21,5.833333,5.958333,5.812500,5.947917,5.290613,38733600
+1997-10-22,5.968750,6.062500,5.812500,5.843750,5.197959,27979600
+1997-10-23,5.583333,5.791667,5.541667,5.687500,5.058978,30819600
+1997-10-24,5.791667,5.854167,5.593750,5.656250,5.031180,34748400
+1997-10-27,5.562500,5.666667,5.166667,5.208333,4.632761,43253200
+1997-10-28,4.833333,5.812500,4.791667,5.791667,5.151631,80150400
+1997-10-29,5.812500,5.979167,5.666667,5.843750,5.197959,62920000
+1997-10-30,5.583333,5.979167,5.583333,5.625000,5.003383,49981200
+1997-10-31,5.843750,5.979167,5.750000,5.963533,5.304505,55548000
+1997-11-03,6.020833,6.125000,5.833333,5.979167,5.318412,49340800
+1997-11-04,6.000000,6.145833,5.958333,6.114583,5.438861,42404800
+1997-11-05,6.145833,6.208333,6.041667,6.062500,5.392535,24966400
+1997-11-06,6.052083,6.062500,5.864583,5.895833,5.244286,29761200
+1997-11-07,5.687500,5.854167,5.625000,5.822917,5.179426,32662000
+1997-11-10,5.895833,6.000000,5.750000,5.770833,5.133100,24766800
+1997-11-11,5.833333,5.854167,5.708333,5.822917,5.179426,23399200
+1997-11-12,5.708333,5.833333,5.291667,5.416667,4.818072,50317600
+1997-11-13,5.541667,5.604167,5.322917,5.562500,4.947790,44474400
+1997-11-14,5.604167,5.812500,5.583333,5.739583,5.105304,30315600
+1997-11-17,5.864583,6.020833,5.833333,5.875000,5.225755,44148000
+1997-11-18,5.895833,5.906250,5.770833,5.791667,5.151631,20984400
+1997-11-19,5.791667,5.833333,5.666667,5.802083,5.160895,18663600
+1997-11-20,5.854167,5.968750,5.770833,5.864583,5.216490,24085200
+1997-11-21,5.958333,5.979167,5.729167,5.833333,5.188694,31270800
+1997-11-24,5.687500,5.708333,5.333333,5.416667,4.818072,63726000
+1997-11-25,5.604167,5.666667,5.437500,5.572917,4.957056,46028400
+1997-11-26,5.635417,5.697917,5.437500,5.479167,4.873665,29482800
+1997-11-28,5.479167,5.583333,5.416667,5.552083,4.938524,13800400
+1997-12-01,5.375000,5.395833,5.208333,5.312500,4.725417,73718800
+1997-12-02,5.270833,5.281250,5.000000,5.062500,4.503043,60875200
+1997-12-03,5.031250,5.104167,4.937500,5.041667,4.484512,73313200
+1997-12-04,5.125000,5.229167,5.031250,5.041667,4.484512,41658000
+1997-12-05,5.041667,5.250000,5.031250,5.197917,4.623497,46664400
+1997-12-08,5.312500,5.416667,5.218750,5.395833,4.799540,49045600
+1997-12-09,3.833333,4.000000,3.729167,3.822917,3.400446,1030963200
+1997-12-10,3.937500,3.979167,3.791667,3.906250,3.474571,397717600
+1997-12-11,3.875000,3.906250,3.625000,3.656250,3.252199,197842000
+1997-12-12,3.729167,3.828117,3.656250,3.791667,3.372650,110834800
+1997-12-15,3.885417,3.906250,3.802083,3.864583,3.437509,90271200
+1997-12-16,3.906250,3.927083,3.854167,3.885417,3.456040,84283200
+1997-12-17,3.937500,3.958333,3.729167,3.770833,3.354120,79088400
+1997-12-18,3.833333,3.833333,3.666667,3.666667,3.261464,72074800
+1997-12-19,3.604167,3.697917,3.500000,3.604167,3.205870,105211600
+1997-12-22,3.656250,3.791667,3.604167,3.625000,3.224402,58378000
+1997-12-23,3.645833,3.645833,3.489583,3.520833,3.131747,62624400
+1997-12-24,3.520833,3.562500,3.500000,3.510417,3.122482,28986000
+1997-12-26,3.541667,3.572917,3.510417,3.572917,3.178074,22574400
+1997-12-29,3.656250,3.666667,3.572917,3.625000,3.224402,45751200
+1997-12-30,3.635417,3.729167,3.625000,3.729167,3.317056,43931200
+1997-12-31,3.729167,3.750000,3.666667,3.718750,3.307792,51522000
+1998-01-02,3.729167,3.906250,3.687500,3.833333,3.409713,29168800
+1998-01-05,3.854167,3.916667,3.812500,3.895833,3.465306,66106800
+1998-01-06,3.885417,3.895833,3.739583,3.781250,3.363385,41610000
+1998-01-07,3.750000,3.750000,3.500000,3.520833,3.131747,98762400
+1998-01-08,3.552083,3.583333,3.354167,3.385417,3.011295,97678800
+1998-01-09,3.375000,3.375000,3.104167,3.125000,2.779657,149899600
+1998-01-12,3.062500,3.125000,2.958333,3.010417,2.677737,150830400
+1998-01-13,3.145833,3.208333,3.062500,3.177083,2.825984,129452800
+1998-01-14,3.229167,3.312500,3.187500,3.260417,2.900108,99942400
+1998-01-15,3.281250,3.291667,3.145833,3.208333,2.853781,59463600
+1998-01-16,3.250000,3.302083,3.218750,3.239583,2.881577,71509600
+1998-01-20,3.354167,3.375000,3.291667,3.375000,3.002029,60654400
+1998-01-21,3.395833,3.416667,3.333333,3.354167,2.983498,45778800
+1998-01-22,3.354167,3.364583,3.291667,3.322917,2.955702,40696000
+1998-01-23,3.375000,3.375000,3.197917,3.239583,2.881577,54330000
+1998-01-26,3.250000,3.250000,3.145833,3.156250,2.807453,45301200
+1998-01-27,3.145833,3.197917,3.125000,3.166667,2.816719,53340000
+1998-01-28,3.427083,3.583333,3.416667,3.531250,3.141012,153802000
+1998-01-29,3.593750,3.812500,3.583333,3.723950,3.312417,125407200
+1998-01-30,3.812500,3.979167,3.791667,3.875000,3.446775,128443600
+1998-02-02,4.125000,4.145833,4.072917,4.104167,3.650616,100587600
+1998-02-03,4.135417,4.145833,4.020833,4.114583,3.659882,67231200
+1998-02-04,4.062500,4.125000,4.031250,4.072917,3.622820,50851600
+1998-02-05,4.114583,4.208333,3.937500,3.979167,3.539430,70332000
+1998-02-06,3.979167,4.500000,3.958333,4.500000,4.002706,133721200
+1998-02-09,4.729167,4.789050,4.500000,4.614583,4.104626,161128800
+1998-02-10,4.656250,4.656250,4.468750,4.541667,4.039767,99506800
+1998-02-11,4.489583,4.562500,4.427083,4.489583,3.993439,58904400
+1998-02-12,4.395833,4.500000,4.302083,4.479167,3.984174,65746800
+1998-02-13,4.406250,4.458333,4.354167,4.416667,3.928583,35910400
+1998-02-17,4.479167,4.500000,4.239583,4.270833,3.798865,43597200
+1998-02-18,4.250000,4.364583,4.187500,4.322917,3.845192,37574400
+1998-02-19,4.343750,4.354167,4.187500,4.218750,3.752536,54198400
+1998-02-20,4.270833,4.270833,4.052083,4.187500,3.724741,59090800
+1998-02-23,4.270833,4.406250,4.250000,4.395833,3.910050,67914000
+1998-02-24,4.458333,4.468750,4.291667,4.364583,3.882254,50905200
+1998-02-25,4.364583,4.385417,4.218750,4.343750,3.863722,55740000
+1998-02-26,4.291667,4.312500,4.187500,4.260417,3.789598,53124400
+1998-02-27,4.229167,4.239583,4.062500,4.104167,3.650616,79120000
+1998-03-02,4.093750,4.114583,4.020833,4.020833,3.576491,41014800
+1998-03-03,4.114583,4.364583,4.020833,4.343750,3.863722,105721600
+1998-03-04,4.333333,4.458333,4.281250,4.343750,3.863722,57533200
+1998-03-05,4.187500,4.322917,4.161450,4.218750,3.752536,50005600
+1998-03-06,4.260417,4.500000,4.187500,4.479167,3.984174,73587600
+1998-03-09,4.468750,4.513017,4.229167,4.260417,3.789598,79208800
+1998-03-10,4.458333,4.520833,4.346350,4.500000,4.002706,83075200
+1998-03-11,4.531250,4.677083,4.520833,4.656250,4.141690,110964400
+1998-03-12,4.625000,4.708333,4.458333,4.614583,4.104626,94375200
+1998-03-13,5.166667,5.166667,4.833333,4.864583,4.327000,264699600
+1998-03-16,4.895833,4.989583,4.895833,4.937500,4.391857,64366800
+1998-03-17,4.937500,4.947917,4.750000,4.791667,4.262139,57643200
+1998-03-18,4.729167,4.927083,4.708333,4.895833,4.354796,61584000
+1998-03-19,4.895833,4.906250,4.812500,4.875000,4.336265,38823600
+1998-03-20,4.875000,4.875000,4.739583,4.822917,4.289938,56153200
+1998-03-23,4.791667,5.020833,4.750000,5.010417,4.456717,83642400
+1998-03-24,4.989583,5.104167,4.979167,5.052083,4.493777,86273200
+1998-03-25,5.145833,5.166667,5.062500,5.114583,4.549372,83322400
+1998-03-26,5.062500,5.252600,5.062500,5.250000,4.669824,65593600
+1998-03-27,5.260417,5.291667,5.083333,5.177083,4.604965,45736000
+1998-03-30,5.125000,5.229167,5.104167,5.218750,4.642026,42528000
+1998-03-31,5.218750,5.281250,5.208333,5.260417,4.679090,42608400
+1998-04-01,5.291667,5.312500,5.104167,5.229167,4.651292,51238800
+1998-04-02,5.177083,5.197917,4.979167,5.020833,4.465983,42534400
+1998-04-03,4.854167,4.885417,4.625000,4.687500,4.169483,135210400
+1998-04-06,4.625000,4.656250,4.437500,4.520833,4.021238,75050800
+1998-04-07,4.447917,4.531250,4.375000,4.520833,4.021238,60317200
+1998-04-08,4.500000,4.583333,4.437500,4.510417,4.011970,35712000
+1998-04-09,4.531250,4.541667,4.437500,4.489583,3.993439,27467200
+1998-04-13,4.479167,4.770833,4.427083,4.739583,4.215812,49784400
+1998-04-14,4.708333,4.812500,4.666667,4.750000,4.225079,32473600
+1998-04-15,4.770833,4.781250,4.656250,4.708333,4.188017,26488000
+1998-04-16,4.666667,4.687500,4.541667,4.583333,4.076830,25158400
+1998-04-17,4.541667,4.604167,4.500000,4.541667,4.039767,31988800
+1998-04-20,4.510417,4.635417,4.510417,4.583333,4.076830,36512400
+1998-04-21,4.572917,4.593750,4.520833,4.593750,4.086096,24115200
+1998-04-22,4.562500,4.614583,4.552083,4.583333,4.076830,30638800
+1998-04-23,4.552083,4.562500,4.343750,4.343750,3.863722,54848800
+1998-04-24,4.364583,4.500000,4.354167,4.447917,3.956378,29288400
+1998-04-27,4.343750,4.406250,4.302083,4.385417,3.900785,37526800
+1998-04-28,4.437500,4.500000,4.354167,4.375000,3.891519,41070400
+1998-04-29,4.395833,4.416667,4.302083,4.395833,3.910050,40535200
+1998-04-30,4.468750,4.479167,4.312500,4.312500,3.835926,46720000
+1998-05-01,4.354167,4.364583,4.218750,4.260417,3.789598,52196400
+1998-05-04,4.302083,4.437500,4.270833,4.385417,3.900785,40241200
+1998-05-05,4.312500,4.354167,4.213533,4.302083,3.826662,65786400
+1998-05-06,4.364583,4.414050,4.302083,4.385417,3.900785,43002000
+1998-05-07,4.375000,4.406250,4.322917,4.343750,3.863722,34075200
+1998-05-08,4.333333,4.479167,4.333333,4.479167,3.984174,28894000
+1998-05-11,4.489583,4.500000,4.333333,4.333333,3.854456,27403200
+1998-05-12,4.343750,4.364583,4.250000,4.343750,3.863722,34554000
+1998-05-13,4.333333,4.375000,4.302083,4.333333,3.854456,26074000
+1998-05-14,4.291667,4.427083,4.291667,4.375000,3.891519,31849200
+1998-05-15,4.322917,4.354167,4.270833,4.312500,3.835926,33055600
+1998-05-18,4.270833,4.333333,4.250000,4.281250,3.808129,32785600
+1998-05-19,4.322917,4.354167,4.281250,4.343750,3.863722,27482800
+1998-05-20,4.364583,4.375000,4.166667,4.187500,3.724741,36439200
+1998-05-21,4.218750,4.250000,4.041667,4.104167,3.650616,33985600
+1998-05-22,4.093750,4.104167,3.968750,4.062500,3.613554,31108000
+1998-05-26,4.093750,4.104167,3.979167,4.000000,3.557961,27080400
+1998-05-27,3.916667,4.031250,3.906250,3.979167,3.539430,31188000
+1998-05-28,3.968750,4.104167,3.947917,4.104167,3.650616,28081200
+1998-05-29,4.125000,4.156250,3.927083,3.937500,3.502367,60899200
+1998-06-01,3.927083,4.010417,3.750000,3.802083,3.381916,39799200
+1998-06-02,3.822917,4.093750,3.677083,4.062500,3.613554,83485200
+1998-06-03,4.083333,4.104167,3.916667,3.927083,3.493102,48964000
+1998-06-04,3.979167,4.156250,3.937500,4.135417,3.678412,46338400
+1998-06-05,4.156250,4.416667,4.156250,4.322917,3.845192,61518400
+1998-06-08,4.281250,4.364583,4.270833,4.312500,3.835926,33981600
+1998-06-09,4.312500,4.395833,4.302083,4.343750,3.863722,25986000
+1998-06-10,4.291667,4.343750,4.125000,4.145833,3.687678,35389200
+1998-06-11,4.177083,4.177083,4.010417,4.062500,3.613554,38994400
+1998-06-12,4.041667,4.218750,4.031250,4.177083,3.715475,52746000
+1998-06-15,4.125000,4.250000,4.072917,4.093750,3.641351,29586400
+1998-06-16,4.125000,4.145833,3.979167,4.041667,3.595022,38971600
+1998-06-17,4.104167,4.265617,4.020833,4.052083,3.604289,65968000
+1998-06-18,4.187500,4.239583,4.062500,4.104167,3.650616,112910800
+1998-06-19,4.104167,4.125000,3.989583,4.041667,3.595022,43826800
+1998-06-22,4.020833,4.093750,3.958333,4.031250,3.585757,39698400
+1998-06-23,4.052083,4.166667,4.052083,4.072917,3.622820,33183600
+1998-06-24,4.104167,4.208333,4.031250,4.166667,3.706209,44262400
+1998-06-25,4.197917,4.229167,4.083333,4.114583,3.659882,32257200
+1998-06-26,4.125000,4.135417,4.052083,4.104167,3.650616,15721600
+1998-06-29,4.125000,4.145833,4.031250,4.083333,3.632085,22618000
+1998-06-30,4.041667,4.135417,3.989583,4.093750,3.641351,30382800
+1998-07-01,4.093750,4.093750,4.000000,4.010417,3.567226,37561200
+1998-07-02,3.979167,4.000000,3.791667,3.812500,3.391181,61005600
+1998-07-06,3.854167,3.864583,3.812500,3.843750,3.418978,30358800
+1998-07-07,3.833333,3.843750,3.770833,3.812500,3.391181,25014000
+1998-07-08,3.864583,3.937500,3.802083,3.927083,3.493102,48232800
+1998-07-09,3.958333,4.135417,3.947917,4.072917,3.622820,61574800
+1998-07-10,4.072917,4.187500,3.979167,4.177083,3.715475,41154400
+1998-07-13,4.177083,4.291667,4.177083,4.270833,3.798865,41444800
+1998-07-14,4.270833,4.343750,4.270833,4.333333,3.854456,56885200
+1998-07-15,4.333333,4.562500,4.333333,4.510417,4.011970,74725200
+1998-07-16,4.541667,4.645833,4.510417,4.614583,4.104626,48816400
+1998-07-17,4.625000,4.625000,4.468750,4.513017,4.014285,39223600
+1998-07-20,4.500000,4.687500,4.468750,4.593750,4.086096,50903200
+1998-07-21,4.604167,4.750000,4.583333,4.625000,4.113893,51199200
+1998-07-22,4.500000,4.510417,4.270833,4.322917,3.845192,53298400
+1998-07-23,4.270833,4.281250,4.166667,4.187500,3.724741,31864000
+1998-07-24,4.218750,4.239583,4.000000,4.104167,3.650616,38740800
+1998-07-27,4.052083,4.458333,4.041667,4.447917,3.956378,45499600
+1998-07-28,4.427083,4.510417,4.364583,4.489583,3.993439,45169200
+1998-07-29,4.489583,4.500000,4.395833,4.437500,3.947112,41414800
+1998-07-30,4.479167,4.489583,4.427083,4.447917,3.956378,43102000
+1998-07-31,4.427083,4.541667,4.416667,4.416667,3.928583,37299600
+1998-08-03,4.406250,4.489583,4.343750,4.437500,3.947112,34653600
+1998-08-04,4.531250,4.541667,4.208333,4.250000,3.780334,53546800
+1998-08-05,4.229167,4.270833,4.072917,4.197917,3.734007,36434400
+1998-08-06,4.114583,4.281250,4.093750,4.270833,3.798865,27672400
+1998-08-07,4.281250,4.281250,4.177083,4.187500,3.724741,25819200
+1998-08-10,4.166667,4.218750,4.104167,4.104167,3.650616,19776400
+1998-08-11,4.041667,4.104167,3.968750,4.083333,3.632085,31141600
+1998-08-12,4.083333,4.270833,4.083333,4.218750,3.752536,32503600
+1998-08-13,4.166667,4.239583,4.083333,4.083333,3.632085,25808400
+1998-08-14,4.156250,4.166667,3.885417,3.968750,3.530164,43505200
+1998-08-17,3.968750,4.010417,3.895833,3.968750,3.530164,34530400
+1998-08-18,3.989583,4.031250,3.843750,3.885417,3.456040,50108800
+1998-08-19,3.895833,4.104167,3.895833,4.072917,3.622820,70490800
+1998-08-20,4.041667,4.125000,3.958333,4.093750,3.641351,34464400
+1998-08-21,4.020833,4.177083,3.958333,4.156250,3.696943,47086800
+1998-08-24,4.166667,4.197917,4.010417,4.041667,3.595022,22714800
+1998-08-25,4.104167,4.104167,3.947917,4.020833,3.576491,25384800
+1998-08-26,3.927083,4.062500,3.916667,3.968750,3.530164,19456800
+1998-08-27,3.885417,3.906250,3.750000,3.770833,3.354120,36361600
+1998-08-28,3.781250,3.802083,3.500000,3.552083,3.159543,42436800
+1998-08-31,3.614583,3.666667,3.302083,3.322917,2.955702,61621600
+1998-09-01,3.333333,3.458333,3.031250,3.427083,3.048357,76397200
+1998-09-02,3.468750,3.500000,3.343750,3.385417,3.011295,76332400
+1998-09-03,3.333333,3.447917,3.156250,3.177083,2.825984,57826000
+1998-09-04,3.281250,3.468750,3.250000,3.447917,3.066888,51078000
+1998-09-08,3.645833,3.656250,3.479167,3.604167,3.205870,44079600
+1998-09-09,3.583333,3.770833,3.583333,3.635417,3.233668,35885200
+1998-09-10,3.604167,3.697917,3.479167,3.687500,3.279995,47486800
+1998-09-11,4.104167,4.270833,4.083333,4.250000,3.780334,146108400
+1998-09-14,4.291667,4.427083,4.291667,4.427083,3.937849,60785200
+1998-09-15,4.354167,4.520833,4.281250,4.500000,4.002706,64830400
+1998-09-16,4.489583,4.593750,4.479167,4.541667,4.039767,56800800
+1998-09-17,4.375000,4.510417,4.354167,4.468750,3.974910,53653600
+1998-09-18,4.479167,4.552083,4.437500,4.531250,4.030503,47238400
+1998-09-21,4.416667,4.687500,4.406250,4.635417,4.123157,54644400
+1998-09-22,4.656250,4.802083,4.656250,4.770833,4.243610,52411200
+1998-09-23,4.802083,4.822917,4.645833,4.770833,4.243610,75694000
+1998-09-24,4.687500,4.802083,4.666667,4.729167,4.206548,48895200
+1998-09-25,4.635417,4.833333,4.635417,4.822917,4.289938,46424800
+1998-09-28,4.822917,4.895833,4.687500,4.687500,4.169483,44779200
+1998-09-29,4.687500,4.916667,4.687500,4.843750,4.308467,72210000
+1998-09-30,4.750000,4.916667,4.729167,4.854167,4.317734,58888000
+1998-10-01,4.739583,4.812500,4.479167,4.500000,4.002706,66616800
+1998-10-02,4.364583,4.416667,4.187500,4.333333,3.854456,88020400
+1998-10-05,4.125000,4.166667,3.739583,3.958333,3.520900,104928000
+1998-10-06,4.083333,4.083333,3.843750,3.864583,3.437509,49108000
+1998-10-07,3.843750,4.104167,3.833333,4.062500,3.613554,49443600
+1998-10-08,3.895833,4.041667,3.718750,3.979167,3.539430,63256800
+1998-10-09,4.052083,4.270833,3.885417,4.250000,3.780334,61496400
+1998-10-12,4.281250,4.322917,4.125000,4.135417,3.678412,30629200
+1998-10-13,4.083333,4.270833,4.041667,4.125000,3.669146,26618400
+1998-10-14,4.083333,4.385417,4.083333,4.281250,3.808129,49360800
+1998-10-15,4.250000,4.500000,4.229167,4.458333,3.965643,29899600
+1998-10-16,4.520833,4.572917,4.333333,4.406250,3.919316,40399600
+1998-10-19,4.375000,4.661450,4.354167,4.645833,4.132424,45282400
+1998-10-20,4.666667,4.697917,4.322917,4.364583,3.882254,51039600
+1998-10-21,4.375000,4.562500,4.229167,4.520833,4.021238,39889600
+1998-10-22,4.437500,4.656250,4.395833,4.531250,4.030503,28379200
+1998-10-23,4.500000,4.614583,4.375000,4.515617,4.016596,31597200
+1998-10-26,4.520833,4.666667,4.510417,4.604167,4.095362,44818800
+1998-10-27,4.645833,4.666667,4.510417,4.510417,4.011970,32759200
+1998-10-28,4.500000,4.708333,4.500000,4.692700,4.174110,38326800
+1998-10-29,4.666667,4.812500,4.666667,4.781250,4.252876,39097600
+1998-10-30,4.791667,4.958333,4.791667,4.927083,4.382593,62119600
+1998-11-02,4.927083,5.000000,4.927083,4.989583,4.438187,49954000
+1998-11-03,4.979167,5.000000,4.937500,4.968750,4.419655,44732400
+1998-11-04,5.000000,5.125000,4.958333,5.104167,4.540106,79274800
+1998-11-05,5.000000,5.322917,5.000000,5.302083,4.716151,69805600
+1998-11-06,5.239583,5.333333,5.187500,5.239583,4.660558,52956000
+1998-11-09,5.166667,5.302083,5.041667,5.302083,4.716151,59396400
+1998-11-10,5.250000,5.291667,5.125000,5.250000,4.669824,31307200
+1998-11-11,5.458333,5.666667,5.447917,5.583333,4.966321,113314000
+1998-11-12,5.500000,5.541667,5.479167,5.489583,4.882929,43410400
+1998-11-13,5.489583,5.552083,5.458333,5.531250,4.919993,28083600
+1998-11-16,5.531250,5.583333,5.302083,5.406250,4.808806,42249600
+1998-11-17,5.406250,5.645833,5.343750,5.510417,4.901462,47075200
+1998-11-18,5.531250,5.614583,5.510417,5.593750,4.975585,33895200
+1998-11-19,5.583333,5.625000,5.437500,5.625000,5.003383,44346400
+1998-11-20,5.739583,5.833333,5.625000,5.802083,5.160895,55476400
+1998-11-23,5.833333,6.166667,5.822917,6.145833,5.466659,60821200
+1998-11-24,6.031250,6.104167,5.770833,5.833333,5.188694,47662800
+1998-11-25,5.833333,5.864583,5.697917,5.770833,5.133100,24115600
+1998-11-27,5.781250,5.989583,5.770833,5.979167,5.318412,12776400
+1998-11-30,5.916667,5.937500,5.697917,5.708333,5.077507,33556800
+1998-12-01,5.614583,6.166667,5.614583,6.156250,5.475925,78979600
+1998-12-02,6.093750,6.145833,6.010417,6.052083,5.383269,45706000
+1998-12-03,6.052083,6.093750,5.833333,5.833333,5.188694,41251200
+1998-12-04,5.937500,6.104167,5.916667,6.093750,5.420329,46182400
+1998-12-07,6.125000,6.166667,5.916667,6.104167,5.429596,28266000
+1998-12-08,6.104167,6.125000,5.770833,5.885417,5.235020,39116400
+1998-12-09,5.947917,6.104167,5.822917,6.104167,5.429596,39831600
+1998-12-10,6.104167,6.208333,5.802083,5.822917,5.179426,64810000
+1998-12-11,6.197917,6.304683,6.010417,6.208333,5.522252,124789200
+1998-12-14,6.302083,6.385417,6.177083,6.187500,5.503721,76788400
+1998-12-15,6.343750,6.604167,6.197917,6.593750,5.865076,69344400
+1998-12-16,6.656250,6.656250,6.354167,6.437500,5.726094,57210400
+1998-12-17,6.458333,6.562500,6.416667,6.531250,5.809483,38235600
+1998-12-18,6.500000,6.593750,6.416667,6.552083,5.828013,53547600
+1998-12-21,6.614583,6.656250,6.437500,6.510417,5.790951,48190000
+1998-12-22,6.510417,6.697917,6.416667,6.656250,5.920670,50949600
+1998-12-23,6.760417,7.020833,6.750000,6.947917,6.180104,74973600
+1998-12-24,6.958333,6.979167,6.854167,6.864583,6.105980,10801600
+1998-12-28,6.937500,7.395833,6.864583,7.312500,6.504397,58003200
+1998-12-29,7.375000,7.479167,7.281250,7.416667,6.597052,37177200
+1998-12-30,7.364583,7.479167,7.250000,7.291667,6.485867,33391600
+1998-12-31,7.281250,7.395833,7.166667,7.187500,6.393211,20972400
+1999-01-04,7.270833,7.406250,7.062500,7.166667,6.374679,43098000
+1999-01-05,7.041667,7.395833,6.927083,7.385417,6.569256,67004400
+1999-01-06,7.437500,7.833333,7.385417,7.729167,6.875018,75255600
+1999-01-07,7.541667,7.854167,7.541667,7.604167,6.763831,48528000
+1999-01-08,7.645833,7.739583,7.500000,7.708333,6.856488,50915200
+1999-01-11,7.916667,8.010417,7.791667,7.864583,6.995469,55628400
+1999-01-12,7.979167,8.000000,7.520833,7.656250,6.810159,43664400
+1999-01-13,7.489583,7.791667,7.270833,7.625000,6.782362,63853600
+1999-01-14,7.687500,7.687500,7.291667,7.437500,6.615584,59686000
+1999-01-15,7.541667,7.885417,7.427083,7.854167,6.986204,69376800
+1999-01-19,8.395833,8.677083,8.216133,8.614583,7.662584,95794800
+1999-01-20,8.916667,8.979167,8.479167,8.479167,7.542137,81503200
+1999-01-21,8.458333,8.677083,8.020833,8.114583,7.217844,92054800
+1999-01-22,7.895833,8.677083,7.875000,8.312500,7.393887,61857600
+1999-01-25,8.406250,8.666667,8.291667,8.510417,7.569931,32653200
+1999-01-26,8.638017,8.822917,8.552083,8.812500,7.838632,40450000
+1999-01-27,8.854167,8.947917,8.500000,8.500000,7.560667,54046000
+1999-01-28,8.666667,9.052083,8.656250,8.947917,7.959086,55992000
+1999-01-29,9.083333,9.354167,9.020833,9.229167,8.209252,68132400
+1999-02-01,9.708333,10.062500,9.583333,9.854167,8.765186,88941600
+1999-02-02,10.145833,10.291667,9.520833,9.802083,8.718855,105376800
+1999-02-03,9.854167,10.135417,9.770833,10.125000,9.006085,56942400
+1999-02-04,10.208333,10.229167,9.708333,9.718750,8.644734,49136800
+1999-02-05,9.718750,9.750000,9.260417,9.364583,8.329704,81045600
+1999-02-08,9.541667,9.822917,9.479167,9.562500,8.505753,56399200
+1999-02-09,9.614583,9.645833,8.958333,9.104167,8.098065,52063600
+1999-02-10,9.187500,9.375000,8.739583,8.947917,7.959086,74451600
+1999-02-11,9.072917,9.947917,9.000000,9.927083,8.830042,77552400
+1999-02-12,9.666667,9.750000,9.343750,9.447917,8.403828,65795200
+1999-02-16,9.687500,9.770833,8.781250,8.906250,7.922021,61094400
+1999-02-17,8.812500,9.437500,8.375000,8.541667,7.597730,84750400
+1999-02-18,8.666667,8.781250,8.250000,8.468750,7.532871,94698400
+1999-02-19,8.572917,9.041667,8.479167,9.031250,8.033207,51931200
+1999-02-22,9.156250,9.187500,8.947917,9.093750,8.088801,59874400
+1999-02-23,9.197917,9.770833,9.145833,9.750000,8.672530,60813600
+1999-02-24,9.822917,9.833333,9.260417,9.281250,8.255583,45501600
+1999-02-25,9.250000,9.822917,9.083333,9.666667,8.598407,87832800
+1999-02-26,9.614583,9.614583,9.114583,9.312500,8.283381,55968000
+1999-03-01,9.359375,9.515625,8.953125,9.156250,8.144392,46918400
+1999-03-02,9.296875,9.453125,8.734375,8.828125,7.852531,41852800
+1999-03-03,8.937500,8.984375,8.093750,8.750000,7.783039,67898400
+1999-03-04,8.828125,9.296875,8.781250,9.093750,8.088801,53987600
+1999-03-05,9.359375,9.531250,9.203125,9.359375,8.325075,30049200
+1999-03-08,9.515625,9.671875,9.125000,9.578125,8.519649,79701600
+1999-03-09,9.453125,9.906250,9.375000,9.687500,8.616935,60371200
+1999-03-10,9.906250,9.906250,9.234375,9.484375,8.436256,101269600
+1999-03-11,9.625000,9.625000,8.718750,9.218750,8.199986,96672400
+1999-03-12,7.531250,7.625000,7.000000,7.140625,6.351516,403753600
+1999-03-15,7.351550,7.531250,7.250000,7.500000,6.671176,120536000
+1999-03-16,7.593750,7.625000,7.359375,7.453125,6.629482,80118000
+1999-03-17,7.500000,7.500000,7.265625,7.265625,6.462703,47204000
+1999-03-18,7.296875,7.468750,7.250000,7.421875,6.601685,52340400
+1999-03-19,7.500000,7.500000,6.859375,6.890625,6.129144,112506800
+1999-03-22,7.031250,7.140625,6.781250,6.796875,6.045753,48056800
+1999-03-23,6.796875,6.812500,6.500000,6.515625,5.795586,59231200
+1999-03-24,6.562500,6.578125,6.453125,6.484375,5.767788,57314400
+1999-03-25,6.687500,6.781250,6.531250,6.671875,5.934567,61482800
+1999-03-26,6.734375,7.031250,6.562500,6.875000,6.115245,48299600
+1999-03-29,7.062500,7.140625,6.875000,7.125000,6.337618,46350400
+1999-03-30,7.109375,7.187500,6.718750,6.718750,5.976262,38966400
+1999-03-31,6.937500,7.015625,6.562500,6.593750,5.865076,62015200
+1999-04-01,6.718750,6.750000,6.406250,6.453125,5.739992,73686400
+1999-04-05,6.656250,6.671875,6.250000,6.328125,5.628805,82389200
+1999-04-06,6.343750,6.375000,5.875000,5.921875,5.267450,99907600
+1999-04-07,6.015625,6.062500,5.250000,5.359375,4.767111,194831200
+1999-04-08,5.437500,5.875000,5.359375,5.828125,5.184059,137565600
+1999-04-09,6.156250,6.500000,5.906250,6.468750,5.753890,152150000
+1999-04-12,6.343750,6.625000,6.250000,6.250000,5.559314,90573200
+1999-04-13,6.390625,6.406250,5.859375,5.906250,5.253552,86128000
+1999-04-14,6.109375,6.359375,5.984375,6.031250,5.364737,62267600
+1999-04-15,6.218750,6.406250,6.125000,6.218750,5.531517,62860800
+1999-04-16,6.296875,6.296875,6.109375,6.125000,5.448126,50318000
+1999-04-19,6.234375,6.250000,5.843750,5.843750,5.197959,70212800
+1999-04-20,5.812500,6.031250,5.718750,5.812500,5.170162,89227200
+1999-04-21,5.925775,6.062500,5.812500,6.031250,5.364737,60174000
+1999-04-22,6.218750,6.515625,6.062500,6.453125,5.739992,64498800
+1999-04-23,6.468750,6.921875,6.437500,6.835925,6.080489,71249600
+1999-04-26,6.968750,7.312500,6.937500,7.171875,6.379311,70492400
+1999-04-27,7.281250,7.281250,6.843750,7.015625,6.240328,52992800
+1999-04-28,7.000000,7.062500,6.656250,6.828125,6.073550,40228400
+1999-04-29,6.843750,6.921875,6.687500,6.812500,6.059652,38068800
+1999-04-30,6.937500,7.078125,6.593750,6.765625,6.017958,39295200
+1999-05-03,6.703125,6.703125,6.375000,6.515625,5.795586,77500000
+1999-05-04,6.406250,6.421875,6.218750,6.296875,5.601008,77888800
+1999-05-05,6.281250,6.281250,6.031250,6.250000,5.559314,84511600
+1999-05-06,6.234375,6.343750,6.015625,6.046875,5.378637,56171600
+1999-05-07,6.093750,6.265625,5.910150,6.125000,5.448126,58082000
+1999-05-10,6.156250,6.171875,5.968750,6.093750,5.420329,62537600
+1999-05-11,6.187500,6.484375,6.058575,6.203125,5.517620,83342000
+1999-05-12,6.281250,6.562500,6.031250,6.328125,5.628805,100062800
+1999-05-13,5.968750,6.375000,5.734375,5.750000,5.114568,229328400
+1999-05-14,5.906250,6.156250,5.843750,5.968750,5.309144,159232400
+1999-05-17,6.078125,6.250000,5.953125,6.125000,5.448126,55369200
+1999-05-18,6.218750,6.250000,6.125000,6.203125,5.517620,42034400
+1999-05-19,6.281250,6.625000,6.250000,6.593750,5.865076,68676000
+1999-05-20,6.671875,6.750000,6.328125,6.328125,5.628805,82693200
+1999-05-21,6.312500,6.703125,6.281250,6.437500,5.726094,47640000
+1999-05-24,6.546875,6.609375,6.140625,6.187500,5.503721,51160400
+1999-05-25,6.296875,6.343750,6.000000,6.000000,5.336940,49319600
+1999-05-26,5.906250,6.000000,5.640625,5.859375,5.211857,91702000
+1999-05-27,5.875000,6.046875,5.734375,5.890625,5.239653,51938000
+1999-05-28,5.953125,6.218750,5.921875,6.203125,5.517620,37284800
+1999-06-01,6.234375,6.500000,6.218750,6.375000,5.670500,59201600
+1999-06-02,6.343750,6.562500,6.296875,6.546875,5.823381,52914800
+1999-06-03,6.640625,6.890625,6.625000,6.875000,6.115245,97686000
+1999-06-04,6.937500,7.203125,6.875000,7.171875,6.379311,95625600
+1999-06-07,7.218750,7.250000,7.031250,7.125000,6.337618,54590800
+1999-06-08,7.046875,7.062500,6.687500,6.781250,6.031855,47042400
+1999-06-09,6.812500,6.828125,6.562500,6.671875,5.934567,43354000
+1999-06-10,6.593750,6.609375,6.375000,6.515625,5.795586,50374000
+1999-06-11,6.500000,6.562500,6.250000,6.328125,5.628805,55334800
+1999-06-14,6.406250,6.656250,6.375000,6.609375,5.878975,68968000
+1999-06-15,6.687500,6.890625,6.234375,6.281250,5.587111,114050800
+1999-06-16,8.171875,8.343750,7.812500,8.234375,7.324397,405908000
+1999-06-17,7.937500,8.750000,7.937500,8.718750,7.755242,202552400
+1999-06-18,8.312500,8.984375,8.296875,8.765625,7.796936,124886400
+1999-06-21,8.687500,8.843750,8.515625,8.531250,7.588464,62167600
+1999-06-22,8.343750,8.687500,8.250000,8.531250,7.588464,62997600
+1999-06-23,8.390625,8.796875,8.375000,8.781250,7.810836,75558800
+1999-06-24,8.734375,9.062500,8.734375,8.921875,7.935921,85113600
+1999-06-25,8.968750,9.058575,8.828125,8.937500,7.949819,34084800
+1999-06-28,8.937500,9.187500,8.937500,9.171875,8.158294,43406000
+1999-06-29,9.109375,9.281250,9.031250,9.281250,8.255583,45924000
+1999-06-30,9.187500,9.328125,9.015625,9.281250,8.255583,47386800
+1999-07-01,9.218750,9.500000,9.093750,9.437500,8.394565,48526800
+1999-07-02,9.421875,9.656250,9.390625,9.609375,8.547444,41040800
+1999-07-06,9.562500,9.750000,9.484375,9.671875,8.603035,47408000
+1999-07-07,9.578125,9.703125,9.531250,9.671875,8.603035,43384000
+1999-07-08,9.546875,9.781250,9.531250,9.734375,8.658633,41420800
+1999-07-09,9.750000,9.828125,9.593750,9.828125,8.742019,40340000
+1999-07-12,9.718750,9.765625,9.625000,9.718750,8.644734,42054000
+1999-07-13,9.562500,9.750000,9.562500,9.671875,8.603035,57056800
+1999-07-14,9.703125,9.718750,9.421875,9.515625,8.464055,63491200
+1999-07-15,9.453125,9.796875,9.437500,9.750000,8.672530,66302000
+1999-07-16,9.812500,9.953125,9.781250,9.937500,8.839310,60138000
+1999-07-19,9.906250,9.937500,9.796875,9.875000,8.783714,41648000
+1999-07-20,9.781250,9.781250,9.234375,9.375000,8.338965,57625200
+1999-07-21,9.359375,9.578125,9.296875,9.531250,8.477953,31700400
+1999-07-22,9.484375,9.484375,8.812500,9.062500,8.061006,44054800
+1999-07-23,9.078125,9.203125,8.843750,9.046875,8.047108,27679600
+1999-07-26,8.859375,9.093750,8.703125,8.750000,7.783039,29542000
+1999-07-27,8.890625,9.390625,8.820300,9.265625,8.241685,46239200
+1999-07-28,9.250000,9.546875,9.062500,9.421875,8.380664,33699200
+1999-07-29,9.234375,9.593750,9.203125,9.515625,8.464055,46836800
+1999-07-30,9.484375,9.609375,9.390625,9.515625,8.464055,29497200
+1999-08-02,9.453125,9.750000,9.390625,9.531250,8.477953,32924400
+1999-08-03,9.546875,9.609375,8.984375,9.281250,8.255583,44406800
+1999-08-04,9.218750,9.390625,9.125000,9.187500,8.172193,34460400
+1999-08-05,9.093750,9.390625,8.890625,9.281250,8.255583,42011600
+1999-08-06,9.109375,9.296875,9.093750,9.125000,8.116593,18963200
+1999-08-09,9.109375,9.312500,9.031250,9.093750,8.088801,17804800
+1999-08-10,9.125000,9.125000,8.765625,9.000000,8.005412,24823200
+1999-08-11,9.156250,9.187500,8.875000,9.187500,8.172193,24944400
+1999-08-12,9.093750,9.234375,8.843750,8.875000,7.894225,29526000
+1999-08-13,9.109375,9.703125,9.062500,9.656250,8.589142,48884000
+1999-08-16,9.562500,9.875000,9.390625,9.828125,8.742019,47812800
+1999-08-17,9.859375,9.937500,9.156250,9.328125,8.297276,46906000
+1999-08-18,8.875000,9.000000,8.671875,8.859375,7.880326,104588800
+1999-08-19,8.796875,9.156250,8.765625,9.000000,8.005412,37891200
+1999-08-20,9.078125,9.250000,8.984375,9.250000,8.227786,22706000
+1999-08-23,9.359375,9.421875,9.234375,9.390625,8.352869,26333200
+1999-08-24,9.281250,9.609375,9.187500,9.234375,8.213882,35510400
+1999-08-25,9.281250,9.328125,9.171875,9.234375,8.213882,28866400
+1999-08-26,9.234375,9.500000,9.234375,9.281250,8.255583,28053600
+1999-08-27,9.265625,9.343750,9.015625,9.250000,8.227786,23192400
+1999-08-30,9.234375,9.265625,9.062500,9.125000,8.116593,17385200
+1999-08-31,9.125000,9.140625,8.859375,9.125000,8.116593,24392400
+1999-09-01,9.156250,9.546875,9.140625,9.421875,8.380664,39725600
+1999-09-02,9.312500,9.718750,9.281250,9.609375,8.547444,48401600
+1999-09-03,9.718750,10.406250,9.718750,10.375000,9.228463,102798800
+1999-09-07,10.375000,11.203125,10.304675,10.953125,9.742697,97488400
+1999-09-08,10.843750,11.203125,10.765625,11.078125,9.853882,71019200
+1999-09-09,11.062500,11.125000,10.781250,11.015625,9.798288,51350000
+1999-09-10,11.125000,11.734375,11.062500,11.593750,10.312529,64388000
+1999-09-13,11.609375,11.671875,11.125000,11.437500,10.173543,59682800
+1999-09-14,11.500000,11.609375,10.921875,11.359375,10.104052,80645200
+1999-09-15,10.031250,10.859375,9.968750,10.671875,9.492529,256649600
+1999-09-16,10.671875,10.742175,10.421875,10.546875,9.381341,61758400
+1999-09-17,10.593750,10.937500,10.585925,10.890625,9.687106,64400000
+1999-09-20,10.937500,11.375000,10.843750,11.281250,10.034560,42020800
+1999-09-21,11.203125,11.500000,10.968750,11.125000,9.895579,53644800
+1999-09-22,11.125000,11.437500,10.968750,11.421875,10.159647,38004800
+1999-09-23,11.437500,11.531250,10.750000,10.875000,9.673204,40246000
+1999-09-24,10.750000,10.890625,10.265625,10.546875,9.381341,50765600
+1999-09-27,10.796875,10.906250,10.546875,10.578125,9.409139,41769600
+1999-09-28,10.500000,10.750000,10.296875,10.718750,9.534222,37798400
+1999-09-29,10.687500,11.265625,10.687500,10.828125,9.631512,45801600
+1999-09-30,10.843750,11.468750,10.625000,11.375000,10.117955,58577200
+1999-10-01,11.171875,11.468750,11.109375,11.312500,10.062361,34570800
+1999-10-04,11.359375,11.656250,11.265625,11.625000,10.340323,40801600
+1999-10-05,11.671875,11.718750,11.375000,11.562500,10.284732,46292000
+1999-10-06,11.609375,11.687500,11.421875,11.468750,10.201341,31310000
+1999-10-07,11.296875,11.359375,11.093750,11.171875,9.937273,38359600
+1999-10-08,11.156250,11.406250,10.843750,11.312500,10.062361,28551200
+1999-10-11,11.265625,11.687500,11.234375,11.515625,10.243034,25299600
+1999-10-12,11.484375,11.953125,11.468750,11.750000,10.451510,45535600
+1999-10-13,11.546875,12.031250,11.531250,11.859375,10.548799,57057200
+1999-10-14,11.843750,11.875000,11.531250,11.695300,10.402855,47554400
+1999-10-15,11.578125,11.625000,11.187500,11.250000,10.006766,56845600
+1999-10-18,11.218750,11.265625,10.671875,10.968750,9.756595,47037600
+1999-10-19,11.156250,11.203125,10.765625,10.953125,9.742697,39418800
+1999-10-20,11.109375,11.203125,10.984375,11.187500,9.951171,45197200
+1999-10-21,10.546875,11.437500,10.500000,11.296875,10.048458,55295200
+1999-10-22,11.343750,11.484375,10.890625,11.031250,9.812190,40710400
+1999-10-25,10.906250,11.078125,10.781250,10.828125,9.631512,41902800
+1999-10-26,10.875000,10.968750,10.687500,10.859375,9.659307,42569200
+1999-10-27,10.867175,11.265625,10.812500,11.203125,9.965072,39112800
+1999-10-28,11.328125,11.484375,10.937500,11.468750,10.201341,39646400
+1999-10-29,11.515625,12.187500,11.500000,11.890625,10.576593,53908400
+1999-11-01,12.031250,13.109375,11.968750,12.796875,11.382694,90335200
+1999-11-02,12.843750,13.468750,12.843750,13.250000,11.785744,83764800
+1999-11-03,13.843750,14.437500,13.750000,14.328125,12.744729,87264000
+1999-11-04,14.546875,14.750000,14.406250,14.546875,12.939302,83700800
+1999-11-05,14.937500,15.343750,14.625000,14.671875,13.050488,84155600
+1999-11-08,14.906250,15.171875,14.703125,14.859375,13.217269,54326400
+1999-11-09,14.968750,14.968750,14.437500,14.609375,12.994895,55569200
+1999-11-10,14.546875,15.000000,14.359375,14.718750,13.092187,50972000
+1999-11-11,14.906250,15.718750,14.875000,15.515625,13.800999,47960400
+1999-11-12,15.812500,16.687500,15.437500,16.281250,14.482009,69733600
+1999-11-15,16.359375,16.562500,16.000000,16.015625,14.245741,42568400
+1999-11-16,16.078125,16.359375,16.000000,16.125000,14.343029,58097600
+1999-11-17,17.437500,18.093750,17.156250,17.750000,15.788449,100242400
+1999-11-18,17.937500,18.671875,17.265625,18.546875,16.497272,64814800
+1999-11-19,18.531250,19.546875,18.343750,19.031250,16.928110,60086000
+1999-11-22,18.921875,19.468750,18.718750,19.359375,17.219973,40570400
+1999-11-23,19.468750,19.468750,18.296875,18.375000,16.344385,64967600
+1999-11-24,18.234375,18.234375,17.187500,17.953125,15.969131,73022400
+1999-11-26,17.750000,18.468750,17.703125,18.406250,16.372179,18470000
+1999-11-29,18.203125,18.750000,17.765625,18.140625,16.135906,35636400
+1999-11-30,18.171875,18.187500,16.808575,16.953125,15.079640,63926800
+1999-12-01,17.109375,17.703125,16.875000,17.671875,15.718959,40256400
+1999-12-02,17.734375,19.000000,17.718750,18.984375,16.886414,49338400
+1999-12-03,19.406250,20.453125,19.250000,19.671875,17.497940,74702800
+1999-12-06,19.687500,19.968750,19.390625,19.609375,17.442347,38683200
+1999-12-07,19.578125,20.031250,19.078125,19.812500,17.623026,51888800
+1999-12-08,19.625000,19.750000,18.968750,19.031250,16.928110,42925600
+1999-12-09,19.265625,19.859375,19.250000,19.640625,17.470144,66600400
+1999-12-10,19.875000,21.187500,19.359375,21.156250,18.818277,49635600
+1999-12-13,21.000000,21.015625,19.890625,19.953125,17.748112,60372000
+1999-12-14,20.156250,20.781250,19.093750,19.234375,17.108788,75655200
+1999-12-15,21.312500,22.859375,20.718750,22.593750,20.096916,148169600
+1999-12-16,22.406250,22.656250,21.843750,22.390625,19.916243,59600000
+1999-12-17,23.000000,23.703125,22.566401,22.671875,20.166407,81975200
+1999-12-20,23.593750,24.562500,23.562500,24.078125,21.417263,70350400
+1999-12-21,24.328125,24.843750,23.781250,24.421875,21.723021,60357200
+1999-12-22,24.953125,26.343750,24.750000,26.265625,23.363016,54652800
+1999-12-23,26.437500,27.625000,26.312500,26.671875,23.724369,56016000
+1999-12-27,27.156250,27.171875,25.531250,26.093750,23.210135,38805600
+1999-12-28,26.015625,27.140625,25.500000,26.531250,23.599285,34231600
+1999-12-29,26.421875,27.546875,26.406250,27.500000,24.460979,22750000
+1999-12-30,27.984375,28.234375,27.203125,27.843750,24.766745,27397600
+1999-12-31,27.843750,28.343750,27.703125,28.015625,24.919622,10714800
+2000-01-03,31.156250,31.296875,27.906250,29.531250,26.267759,98114800
+2000-01-04,28.875000,29.656250,26.250000,26.921875,23.946749,116824800
+2000-01-05,25.406250,26.593750,24.000000,25.500000,22.681999,166054000
+2000-01-06,25.039049,26.250000,23.671875,24.000000,21.347761,109880000
+2000-01-07,23.750000,25.875000,23.390625,25.843750,22.987759,91755600
+2000-01-10,27.000000,29.000000,26.375000,28.937500,25.739622,91518000
+2000-01-11,28.156250,28.687500,27.375000,28.093750,24.989111,86585200
+2000-01-12,28.062500,28.062500,25.921875,26.406250,23.488100,83443600
+2000-01-13,27.125000,27.468750,25.875000,26.265625,23.363016,55779200
+2000-01-14,27.250000,27.843750,26.187500,26.703125,23.752163,57078000
+2000-01-18,26.968750,28.625000,26.406250,27.812500,24.738943,66780000
+2000-01-19,28.062500,29.125000,27.000000,28.562500,25.406065,49198400
+2000-01-20,29.500000,30.125000,29.062500,29.625000,26.351145,54526800
+2000-01-21,30.750000,30.750000,29.500000,29.843750,26.545721,50891000
+2000-01-24,30.125000,30.187500,27.000000,27.093750,24.099627,50022400
+2000-01-25,27.531250,28.750000,27.437500,28.218750,25.100300,53059200
+2000-01-26,28.375000,29.468750,27.500000,27.531250,24.488775,47569200
+2000-01-27,27.906250,28.343750,25.000000,25.906250,23.043356,61054000
+2000-01-28,25.750000,25.968750,23.312500,23.687500,21.069799,86394000
+2000-01-31,23.968750,25.062500,23.531250,24.976549,22.216394,68148000
+2000-02-01,25.625000,27.156250,25.000000,27.000000,24.016233,57105600
+2000-02-02,27.468750,28.000000,27.000000,27.156250,24.155216,63933000
+2000-02-03,27.687500,28.500000,27.125000,28.343750,25.211485,55533200
+2000-02-04,28.812500,29.125000,28.406250,28.906250,25.711823,40916000
+2000-02-07,29.656250,30.000000,29.437500,29.968750,26.656906,44691200
+2000-02-08,30.375000,30.718750,29.500000,29.781250,26.490126,55718000
+2000-02-09,30.031250,30.656250,29.406250,29.968750,26.656906,52471600
+2000-02-10,30.000000,31.312500,29.000000,31.156250,27.713177,45288600
+2000-02-11,31.250000,32.375000,29.375000,29.843750,26.545721,55774000
+2000-02-14,30.437500,31.125000,29.312500,31.093750,27.657583,37599800
+2000-02-15,30.812500,31.593750,29.562500,30.687500,27.296230,47971400
+2000-02-16,30.500000,31.281250,30.062500,30.625000,27.240635,33489200
+2000-02-17,30.875000,31.375000,30.000000,30.812500,27.407425,40392600
+2000-02-18,30.843750,31.000000,29.187500,29.281250,26.045383,63888400
+2000-02-22,29.562500,30.718750,28.156250,29.656250,26.378944,75546200
+2000-02-23,30.093750,31.632799,29.812500,31.531250,28.046734,69664400
+2000-02-24,31.593750,32.531250,30.125000,30.968750,27.546400,70963200
+2000-02-25,30.937500,35.500000,30.937500,35.312500,31.410124,103186600
+2000-02-28,35.625000,38.250000,34.125000,34.312500,30.520636,122316600
+2000-02-29,36.687500,37.218750,35.562500,37.125000,33.022331,55586400
+2000-03-01,36.875000,37.250000,35.375000,35.750000,31.799276,44934400
+2000-03-02,36.750000,36.781250,33.937500,34.250000,30.465029,52311000
+2000-03-03,35.562500,37.562500,35.085899,37.500000,33.355862,47974400
+2000-03-06,37.406250,38.468750,36.187500,37.875000,33.689434,45520600
+2000-03-07,38.312500,40.000000,37.187500,37.468750,33.328098,53982200
+2000-03-08,38.687500,41.781250,37.500000,41.562500,36.969437,62781200
+2000-03-09,42.156250,42.500000,40.062500,42.000000,37.358589,56476400
+2000-03-10,42.000000,42.031250,40.125000,40.812500,36.302330,44699800
+2000-03-13,39.250000,41.812500,38.398399,39.375000,35.023670,65803200
+2000-03-14,40.937500,41.875000,38.250000,38.500000,34.245380,72364000
+2000-03-15,42.000000,42.500000,38.500000,39.312500,34.968075,144810400
+2000-03-16,40.343750,41.281250,38.343750,40.968750,36.441299,95532400
+2000-03-17,40.875000,41.000000,39.750000,39.906250,35.496223,66055200
+2000-03-20,40.250000,40.312500,38.781250,39.062500,34.745701,47183600
+2000-03-21,38.937500,40.437500,38.000000,40.343750,35.885372,52621400
+2000-03-22,40.500000,42.187500,39.437500,42.031250,37.386383,53197600
+2000-03-23,41.562500,44.000000,41.281250,43.437500,38.637226,50803800
+2000-03-24,43.406250,44.843750,43.218750,43.500000,38.692818,52821600
+2000-03-27,44.531250,44.656250,43.468750,44.218750,39.332153,32597200
+2000-03-28,43.812500,45.000000,42.750000,43.281250,38.498257,36039200
+2000-03-29,43.031250,43.062500,41.031250,41.250000,36.691471,51966200
+2000-03-30,39.250000,42.250000,39.000000,39.218750,34.884693,70986000
+2000-03-31,40.093750,40.781250,38.000000,39.031250,34.717915,79842000
+2000-04-03,39.312500,40.312500,37.500000,38.437500,34.189777,71598000
+2000-04-04,39.062500,39.062500,32.539051,37.968750,33.772827,123633800
+2000-04-05,36.625000,40.500000,36.273399,39.125000,34.801300,73736800
+2000-04-06,40.312500,41.718750,40.062500,41.093750,36.552486,62408200
+2000-04-07,41.843750,43.625000,41.500000,43.562500,38.748425,46764600
+2000-04-10,43.750000,43.812500,41.125000,41.250000,36.691471,56241200
+2000-04-11,40.093750,40.812500,38.406250,38.687500,34.412140,70983800
+2000-04-12,38.968750,40.000000,36.468750,36.562500,32.521992,67133000
+2000-04-13,37.437500,38.750000,35.875000,35.968750,31.993855,63206800
+2000-04-14,34.960899,35.640598,30.125000,31.250000,27.796566,109951400
+2000-04-17,30.250000,37.437500,30.085899,37.406250,33.272488,115304800
+2000-04-18,37.781250,39.531250,36.875000,39.468750,35.107071,78738800
+2000-04-19,39.312500,39.781250,37.125000,37.281250,33.161301,46184200
+2000-04-20,36.906250,37.750000,34.937500,35.406250,31.493519,50397800
+2000-04-24,33.687500,36.343750,33.500000,36.218750,32.216217,59725600
+2000-04-25,37.437500,38.187500,36.312500,37.781250,33.606045,61764200
+2000-04-26,38.062500,38.906250,35.531250,36.093750,32.105045,47788800
+2000-04-27,35.031250,38.781250,34.968750,38.656250,34.384346,52101000
+2000-04-28,39.250000,40.000000,39.062500,39.968750,35.551811,41696600
+2000-05-01,39.937500,40.937500,39.375000,39.843750,35.440620,37093400
+2000-05-02,39.468750,39.750000,38.687500,38.906250,34.606728,35341000
+2000-05-03,38.437500,38.562500,36.062500,37.906250,33.717239,49603200
+2000-05-04,37.656250,38.468750,36.500000,37.125000,33.022331,39899800
+2000-05-05,37.000000,38.500000,36.875000,38.406250,34.161987,35289600
+2000-05-08,37.656250,38.000000,36.031250,36.156250,32.160625,36528400
+2000-05-09,36.843750,37.125000,35.625000,36.000000,32.021648,43535200
+2000-05-10,35.468750,36.562500,33.750000,33.812500,30.075888,71169800
+2000-05-11,34.468750,36.187500,34.000000,36.187500,32.188431,46590200
+2000-05-12,36.656250,38.218750,36.531250,37.093750,32.994545,39038200
+2000-05-15,37.218750,38.500000,35.312500,38.500000,34.245380,41971800
+2000-05-16,38.812500,39.875000,38.531250,39.593750,35.218258,38261400
+2000-05-17,38.875000,39.937500,38.125000,39.093750,34.773506,33993600
+2000-05-18,39.156250,39.375000,36.218750,36.531250,32.494194,46444600
+2000-05-19,36.000000,37.000000,34.750000,35.031250,31.159950,52228800
+2000-05-22,35.031250,35.125000,31.375000,33.906250,30.159281,91156000
+2000-05-23,33.500000,34.250000,31.187500,31.312500,27.852161,58574000
+2000-05-24,30.882799,32.250000,29.062500,32.125000,28.574875,85195200
+2000-05-25,32.750000,35.406250,32.500000,33.218750,29.547756,80958000
+2000-05-26,33.406250,34.750000,32.531250,33.500000,29.797928,28903800
+2000-05-30,34.437500,37.093750,34.281250,37.093750,32.994545,38933000
+2000-05-31,36.625000,38.218750,35.875000,35.937500,31.966059,50939800
+2000-06-01,36.968750,38.937500,36.750000,38.937500,34.634533,53401000
+2000-06-02,40.250000,40.750000,39.250000,40.093750,35.663002,57964800
+2000-06-05,39.625000,41.000000,39.500000,40.468750,35.996559,38507200
+2000-06-06,40.250000,40.750000,38.125000,38.531250,34.273178,40020000
+2000-06-07,38.375000,40.125000,37.781250,40.000000,35.579617,34080800
+2000-06-08,40.937500,41.375000,40.125000,41.187500,36.635876,46768600
+2000-06-09,41.437500,41.875000,40.937500,41.343750,36.774857,32975200
+2000-06-12,41.281250,41.406250,40.187500,40.281250,35.829773,24206000
+2000-06-13,39.992149,40.875000,39.031250,40.843750,36.330101,37229400
+2000-06-14,40.937500,41.000000,39.375000,39.500000,35.134857,33191800
+2000-06-15,39.625000,41.312500,39.562500,41.250000,36.691471,36786800
+2000-06-16,40.937500,41.875000,40.531250,40.937500,36.413494,41904400
+2000-06-19,41.031250,43.031250,40.625000,43.000000,38.248077,51077200
+2000-06-20,43.468750,43.812500,42.250000,43.023399,38.268883,57192600
+2000-06-21,40.406250,43.687500,40.156250,43.093750,38.331463,108053800
+2000-06-22,42.312500,42.625000,40.687500,40.750000,36.246731,42105600
+2000-06-23,40.406250,40.742149,39.281250,39.750000,35.357239,40643000
+2000-06-26,40.125000,41.718750,39.625000,41.343750,36.774857,38942400
+2000-06-27,41.187500,41.968750,40.843750,41.125000,36.580284,28581600
+2000-06-28,41.031250,42.500000,40.843750,41.468750,36.886051,32104800
+2000-06-29,41.031250,41.562500,39.781250,40.437500,35.968750,35751800
+2000-06-30,40.187500,42.250000,40.000000,42.031250,37.386383,38093000
+2000-07-03,40.562500,40.875000,39.437500,40.093750,35.663002,42136200
+2000-07-05,38.406250,38.812500,36.093750,36.156250,32.160625,94634200
+2000-07-06,35.875000,37.937500,35.875000,37.812500,33.633850,50533000
+2000-07-07,37.968750,38.500000,37.750000,37.937500,33.745026,31480200
+2000-07-10,37.312500,37.750000,36.437500,37.062500,32.966740,43957600
+2000-07-11,36.812500,37.625000,35.562500,36.156250,32.160625,42121400
+2000-07-12,36.718750,37.562500,36.500000,37.343750,33.216896,34368400
+2000-07-13,37.875000,38.312500,37.375000,37.875000,33.689434,41625400
+2000-07-14,38.093750,38.250000,37.562500,38.062500,33.856220,31712000
+2000-07-17,37.656250,39.000000,37.031250,38.062500,33.856220,32388800
+2000-07-18,37.843750,38.312500,37.031250,37.093750,32.994545,29967000
+2000-07-19,37.500000,37.968750,36.500000,36.875000,32.799942,31558600
+2000-07-20,37.406250,39.500000,37.375000,39.062500,34.745701,35382000
+2000-07-21,38.718750,38.843750,37.531250,37.718750,33.550453,30925000
+2000-07-24,38.562500,39.312500,37.468750,37.500000,33.355862,38060200
+2000-07-25,37.937500,38.250000,37.156250,38.000000,33.800629,27118200
+2000-07-26,37.406250,39.000000,37.031250,38.375000,34.134186,31826400
+2000-07-27,37.968750,39.000000,37.500000,37.531250,33.383682,32539000
+2000-07-28,37.562500,38.218750,35.531250,36.187500,32.188431,33203400
+2000-07-31,35.875000,37.750000,35.687500,37.593750,33.439270,34406400
+2000-08-01,37.593750,37.937500,36.437500,36.562500,32.521992,30190800
+2000-08-02,36.500000,37.625000,36.187500,36.562500,32.521992,30315000
+2000-08-03,36.406250,38.750000,35.812500,38.718750,34.439945,44941200
+2000-08-04,39.156250,41.156250,39.062500,40.781250,36.274521,73211600
+2000-08-07,40.437500,41.187500,40.375000,40.937500,36.413494,40751400
+2000-08-08,40.500000,41.625000,40.406250,41.500000,36.913853,34931800
+2000-08-09,41.750000,42.140598,40.593750,40.687500,36.191139,30846000
+2000-08-10,40.718750,41.187500,40.000000,40.031250,35.607403,24436000
+2000-08-11,39.968750,40.968750,39.625000,40.562500,36.079948,22106800
+2000-08-14,40.093750,41.281250,39.937500,41.187500,36.635876,21862200
+2000-08-15,40.968750,41.781250,40.562500,40.625000,36.135544,31208800
+2000-08-16,40.687500,41.125000,40.531250,40.593750,36.107746,22698200
+2000-08-17,40.437500,42.031250,40.406250,41.968750,37.330799,30085000
+2000-08-18,41.750000,42.375000,40.562500,40.656250,36.163345,31121200
+2000-08-21,41.062500,41.687500,40.382801,41.593750,36.997227,20295600
+2000-08-22,41.437500,42.093750,41.093750,41.781250,37.164005,23251600
+2000-08-23,41.468750,41.562500,40.500000,41.437500,36.858265,25104800
+2000-08-24,41.437500,42.531250,41.343750,42.343750,37.664349,40413200
+2000-08-25,42.343750,43.406250,42.250000,42.312500,37.636555,26866600
+2000-08-28,42.500000,43.968750,42.468750,43.375000,38.581642,25833600
+2000-08-29,43.406250,44.632801,43.281250,43.875000,39.026379,37678600
+2000-08-30,43.843750,44.406250,43.562500,44.125000,39.248760,27073400
+2000-08-31,44.218750,45.500000,44.218750,45.468750,40.444004,39840000
+2000-09-01,46.101551,46.468750,45.437500,46.312500,41.194511,30417800
+2000-09-05,46.187500,46.406250,45.281250,45.531250,40.499596,25535800
+2000-09-06,45.687500,45.875000,44.531250,44.625000,39.693497,38473000
+2000-09-07,45.062500,45.875000,44.750000,45.593750,40.555202,28559000
+2000-09-08,45.406250,45.437500,43.250000,43.281250,38.498257,34569400
+2000-09-11,43.031250,43.375000,41.187500,41.718750,37.108418,41459600
+2000-09-12,41.500000,42.656250,39.531250,39.687500,35.301636,49606000
+2000-09-13,38.875000,41.375000,38.468750,40.906250,36.385712,68132400
+2000-09-14,43.187500,43.312500,41.125000,42.468750,37.775547,64170600
+2000-09-15,40.562500,41.437500,39.000000,39.156250,34.829094,122939600
+2000-09-18,39.406250,40.000000,37.375000,38.234348,34.009083,72997800
+2000-09-19,38.718750,39.875000,38.062500,39.656250,35.273842,53198600
+2000-09-20,39.500000,40.312500,38.750000,39.968750,35.551811,37352200
+2000-09-21,39.718750,40.000000,37.750000,39.468750,35.107071,27160000
+2000-09-22,37.968750,40.375000,37.750000,40.367149,35.906170,58729400
+2000-09-25,40.562500,41.281250,39.375000,39.375000,35.023670,34748600
+2000-09-26,39.656250,40.500000,39.312500,39.718750,35.329445,39993400
+2000-09-27,40.093750,40.468750,39.000000,39.937500,35.524014,48205600
+2000-09-28,39.750000,41.093750,39.187500,40.742149,36.239758,42188600
+2000-09-29,40.679649,40.843750,39.125000,39.375000,35.023670,34843000
+2000-10-02,39.875000,41.062500,38.859348,39.375000,35.023670,46136800
+2000-10-03,39.906250,40.804649,34.375000,34.750000,30.909779,96827800
+2000-10-04,33.000000,35.375000,30.250000,34.062500,30.298258,204852000
+2000-10-05,34.156250,34.812500,33.250000,34.156250,30.381655,54316000
+2000-10-06,34.625000,35.812500,33.437500,33.812500,30.075888,53378400
+2000-10-09,33.812500,34.375000,32.562500,33.375000,29.686735,40304000
+2000-10-10,33.031250,33.625000,32.250000,32.312500,28.741648,50948400
+2000-10-11,31.500000,32.992149,31.000000,31.125000,27.685385,71687200
+2000-10-12,31.906250,32.437500,30.875000,31.500000,28.018940,50889400
+2000-10-13,31.000000,35.750000,31.000000,35.625000,31.688086,38514000
+2000-10-16,36.562500,37.000000,33.375000,34.562500,30.743013,36480500
+2000-10-17,35.750000,35.875000,32.875000,33.687500,29.964703,29353900
+2000-10-18,31.562500,35.375000,30.500000,33.562500,29.853519,52547900
+2000-10-19,36.000000,36.500000,34.625000,36.375000,32.355206,39321000
+2000-10-20,36.125000,36.500000,34.937500,35.250000,31.354528,34073400
+2000-10-23,35.187500,35.250000,33.375000,34.062500,30.298258,28316300
+2000-10-24,35.000000,36.562500,34.500000,35.812500,31.854866,36713000
+2000-10-25,36.500000,36.625000,34.000000,34.375000,30.576216,33361600
+2000-10-26,34.750000,35.875000,30.937500,34.062500,30.298258,49986600
+2000-10-27,34.500000,35.187500,33.000000,34.187500,30.409451,34962500
+2000-10-30,33.750000,34.125000,31.375000,31.625000,28.130129,35420300
+2000-10-31,32.625000,34.750000,32.500000,33.000000,29.353170,41881000
+2000-11-01,32.812500,33.187500,30.375000,31.375000,27.907751,62692100
+2000-11-02,32.437500,32.500000,27.250000,29.562500,26.295551,149767500
+2000-11-03,31.500000,31.750000,29.500000,30.312500,26.962673,65017500
+2000-11-06,30.687500,31.000000,27.500000,27.937500,24.850128,75551500
+2000-11-07,28.375000,28.437500,26.500000,26.562500,23.627083,58951000
+2000-11-08,27.375000,27.500000,24.500000,24.812500,22.070478,63040000
+2000-11-09,24.687500,27.375000,24.062500,27.187500,24.183014,67280700
+2000-11-10,26.437500,26.937500,24.875000,25.437500,22.626406,54609400
+2000-11-13,25.125000,25.875000,23.500000,24.750000,22.014885,61652800
+2000-11-14,27.375000,28.500000,26.500000,28.375000,25.239283,77494300
+2000-11-15,28.812500,29.437500,27.703100,28.875000,25.684031,50649700
+2000-11-16,28.750000,29.812500,27.250000,27.375000,24.349798,37986600
+2000-11-17,26.937500,29.250000,25.250000,28.812500,25.628443,59636000
+2000-11-20,24.312500,25.875000,24.000000,24.750000,22.014885,89778400
+2000-11-21,24.812500,25.625000,23.500000,23.875000,21.236578,58647400
+2000-11-22,23.625000,24.062500,22.062500,22.312500,19.846748,53315300
+2000-11-24,23.312500,24.250000,23.125000,24.125000,21.458946,22443900
+2000-11-27,25.437500,25.812500,22.875000,23.125000,20.569464,45665200
+2000-11-28,23.500000,23.812500,22.250000,22.656200,20.152466,43075300
+2000-11-29,23.187500,23.625000,21.812500,22.875000,20.347086,75409600
+2000-11-30,21.750000,27.625000,21.500000,26.500000,23.571487,84386200
+2000-12-01,26.375000,27.875000,25.500000,26.437500,23.515902,48663500
+2000-12-04,26.250000,28.875000,26.187500,28.187500,25.072502,40710400
+2000-12-05,29.437500,31.500000,28.875000,31.500000,28.018940,59754700
+2000-12-06,31.187500,31.625000,29.312500,30.187500,26.851484,42125600
+2000-12-07,29.625000,29.937500,28.125000,28.312500,25.183691,41088300
+2000-12-08,30.062500,30.625000,29.250000,30.062500,26.740299,40052600
+2000-12-11,30.500000,32.250000,30.000000,31.937500,28.408096,50279700
+2000-12-12,31.875000,32.500000,30.406200,30.750000,27.351824,26481200
+2000-12-13,31.937500,32.000000,28.250000,28.375000,25.239283,37933600
+2000-12-14,29.250000,29.937500,27.250000,27.500000,24.460979,45894400
+2000-12-15,29.437500,30.078100,28.187500,28.562500,25.406065,120004000
+2000-12-18,30.000000,32.437500,29.937500,32.000000,28.463690,61640100
+2000-12-19,31.812500,33.125000,30.125000,30.625000,27.240635,58653700
+2000-12-20,28.062500,29.812500,27.500000,28.500000,25.350471,54440500
+2000-12-21,27.812500,30.250000,27.312500,29.500000,26.239960,46719700
+2000-12-22,30.375000,31.984301,30.000000,31.875000,28.352501,35568200
+2000-12-26,31.500000,32.187500,30.000000,30.937500,27.518599,20589500
+2000-12-27,30.375000,31.062500,29.375000,30.687500,27.296230,26437500
+2000-12-28,30.562500,31.625000,30.375000,31.062500,27.629786,25053600
+2000-12-29,30.875000,31.312500,28.687500,29.062500,25.850811,31702200
+2001-01-02,29.562500,29.750000,25.625000,26.375000,23.460304,46281000
+2001-01-03,25.250000,32.125000,25.250000,32.000000,28.463690,76389600
+2001-01-04,31.562500,33.250000,31.000000,32.562500,28.964018,57584400
+2001-01-05,32.500000,32.562500,29.625000,30.125000,26.795893,38415200
+2001-01-08,30.062500,30.250000,27.562500,29.937500,26.629114,40644600
+2001-01-09,30.625000,32.000000,30.250000,31.500000,28.018940,44818600
+2001-01-10,30.500000,33.375000,30.250000,32.750000,29.130808,64627400
+2001-01-11,32.312500,34.093700,32.250000,33.312500,29.631144,50906600
+2001-01-12,33.062500,34.000000,32.000000,32.312500,28.741648,40234100
+2001-01-16,33.062500,33.375000,31.062500,31.812500,28.296913,31198700
+2001-01-17,33.312500,34.062500,32.750000,33.250000,29.575546,52535000
+2001-01-18,33.609299,34.000000,32.812500,33.812500,30.075888,33749200
+2001-01-19,34.125000,35.000000,33.625000,34.562500,30.743013,50227100
+2001-01-22,33.625000,33.625000,31.328100,31.812500,28.296913,57564400
+2001-01-23,31.937500,32.437500,31.312500,31.484301,28.004978,42545700
+2001-01-24,32.000000,32.015598,30.000000,30.062500,26.740299,65596100
+2001-01-25,30.562500,30.750000,29.500000,29.937500,26.629114,60995500
+2001-01-26,29.625000,30.500000,28.750000,30.375000,27.018267,46538900
+2001-01-29,30.187500,31.125000,29.812500,30.437500,27.073856,33397000
+2001-01-30,30.750000,31.500000,30.125000,30.312500,26.962673,42788300
+2001-01-31,30.562500,30.812500,29.062500,29.125000,25.906401,46144400
+2001-02-01,29.250000,30.687500,29.125000,30.062500,26.740299,38389200
+2001-02-02,29.937500,30.062500,27.687500,27.750000,24.683353,38655400
+2001-02-05,27.500000,28.500000,26.500000,27.500000,24.460979,35933100
+2001-02-06,27.375000,28.500000,27.187500,27.625000,24.572166,28746300
+2001-02-07,27.125000,28.375000,26.500000,27.687500,24.627764,42854400
+2001-02-08,28.437500,28.875000,26.687500,27.125000,24.127419,41775000
+2001-02-09,25.250000,25.687500,23.250000,23.562500,20.958612,91625000
+2001-02-12,23.625000,24.000000,22.500000,23.000000,20.458273,51901400
+2001-02-13,23.687500,24.375000,22.500000,22.562500,20.069120,44509700
+2001-02-14,23.250000,25.062500,22.687500,25.000000,22.237257,41247400
+2001-02-15,25.562500,26.625000,25.187500,25.500000,22.681999,46084700
+2001-02-16,24.000000,24.562500,23.187500,24.000000,21.347761,40632200
+2001-02-20,24.375000,24.625000,23.000000,23.125000,20.569464,39873200
+2001-02-21,22.812500,24.250000,22.062500,23.000000,20.458273,57591900
+2001-02-22,23.515600,24.187500,22.437500,23.375000,20.791836,54073600
+2001-02-23,22.875000,23.187500,20.562500,22.000000,19.568779,72859000
+2001-02-26,22.375000,23.250000,21.562500,23.187500,20.625057,44847400
+2001-02-27,22.437500,22.687500,21.562500,21.687500,19.290821,41584600
+2001-02-28,21.875000,22.000000,18.812500,19.000000,16.900314,62362300
+2001-03-01,19.000000,21.500000,18.750000,21.375000,19.012852,76869400
+2001-03-02,16.250000,17.937500,15.750000,16.875000,15.010143,224088800
+2001-03-05,17.312500,17.375000,16.687500,17.000000,15.121334,51544000
+2001-03-06,17.750000,18.000000,17.375000,17.625000,15.677264,57448400
+2001-03-07,18.312500,18.750000,17.812500,18.625000,16.566761,52486500
+2001-03-08,18.390600,18.500000,17.312500,17.500000,15.566077,40342100
+2001-03-09,17.125000,17.187500,16.125000,16.375000,14.565404,58409900
+2001-03-12,16.000000,16.375000,15.062500,15.187500,13.509133,66843000
+2001-03-13,15.937500,17.000000,15.375000,16.937500,15.065742,57981600
+2001-03-14,16.250000,16.750000,15.562500,16.062500,14.287437,52862100
+2001-03-15,16.500000,16.625000,14.500000,14.687500,13.064390,77834800
+2001-03-16,14.187500,14.625000,13.500000,14.062500,12.508455,89327600
+2001-03-19,14.375000,15.687500,14.187500,15.437500,13.731505,50443200
+2001-03-20,15.875000,16.062500,14.312500,14.375000,12.786422,65545100
+2001-03-21,14.750000,16.000000,14.250000,14.750000,13.119980,50574600
+2001-03-22,15.250000,15.625000,14.375000,15.500000,13.787101,63980900
+2001-03-23,16.312500,16.562500,15.671800,15.875000,14.120656,72068300
+2001-03-26,16.320000,16.370001,15.400000,15.440000,13.733728,34392600
+2001-03-27,16.040001,16.500000,15.460000,16.420000,14.605429,43943800
+2001-03-28,16.120001,16.139999,14.580000,15.060000,13.395722,46438000
+2001-03-29,14.610000,15.320000,14.030000,14.330000,12.746394,54250500
+2001-03-30,14.520000,15.290000,14.320000,14.630000,13.013240,36956100
+2001-04-02,15.100000,16.020000,15.010000,15.200000,13.520250,39034400
+2001-04-03,14.630000,15.160000,13.100000,13.160000,11.705689,71558000
+2001-04-04,13.280000,14.050000,13.000000,13.420000,11.936957,49247500
+2001-04-05,14.480000,14.630000,14.000000,14.470000,12.870920,44283900
+2001-04-06,14.330000,14.450000,13.310000,13.550000,12.052594,43585800
+2001-04-09,14.100000,14.200000,13.630000,14.050000,12.497337,28898900
+2001-04-10,14.470000,15.470000,14.250000,14.970000,13.315666,48270800
+2001-04-11,15.600000,15.730000,15.010000,15.530000,13.813782,66768000
+2001-04-12,15.450000,16.000000,15.340000,15.820000,14.071734,46220500
+2001-04-16,16.000000,16.709999,15.600000,15.960000,14.196264,43783600
+2001-04-17,15.470000,16.650000,15.410000,16.219999,14.427530,40606700
+2001-04-18,17.350000,19.200001,17.000000,17.920000,15.939669,95540700
+2001-04-19,19.660000,20.540001,19.320000,20.320000,18.074442,103097600
+2001-04-20,20.590000,20.840000,19.320000,19.750000,17.567429,60473500
+2001-04-23,18.330000,18.500000,16.920000,17.150000,15.254751,61003400
+2001-04-24,16.900000,18.080000,16.719999,16.969999,15.094646,53129800
+2001-04-25,17.110001,17.580000,16.650000,17.250000,15.343704,42959000
+2001-04-26,18.160000,18.250000,16.799999,16.900000,15.032383,45575700
+2001-04-27,17.410000,17.469999,16.670000,17.150000,15.254751,47171900
+2001-04-30,17.770000,17.879999,15.870000,16.160000,14.374161,92948800
+2001-05-01,16.320000,16.360001,15.520000,16.040001,14.267425,64021600
+2001-05-02,16.850000,17.230000,16.000000,17.170000,15.272546,65788100
+2001-05-03,16.820000,17.170000,16.209999,16.450001,14.632113,50568500
+2001-05-04,16.139999,17.200001,15.960000,17.090000,15.201384,48155400
+2001-05-07,17.139999,17.200001,16.510000,16.870001,15.005698,46012500
+2001-05-08,17.250000,17.270000,16.540001,17.040001,15.156910,34351300
+2001-05-09,16.660000,17.549999,16.459999,17.059999,15.174700,41358100
+2001-05-10,17.270000,17.480000,16.379999,16.389999,14.578743,40520200
+2001-05-11,16.379999,16.520000,15.860000,15.900000,14.142898,34225400
+2001-05-14,16.080000,16.490000,16.000000,16.040001,14.267425,27117300
+2001-05-15,16.209999,16.500000,15.680000,15.930000,14.169580,38532000
+2001-05-16,15.720000,16.420000,15.450000,16.400000,14.587640,61700300
+2001-05-17,16.420000,16.790001,15.950000,16.120001,14.338584,44326500
+2001-05-18,16.010000,16.350000,15.880000,16.280001,14.480903,29843000
+2001-05-21,16.270000,18.209999,16.190001,18.100000,16.099775,68843600
+2001-05-22,18.350000,18.520000,17.459999,17.580000,15.637236,61060300
+2001-05-23,17.209999,17.260000,16.750000,16.830000,14.970117,41615300
+2001-05-24,16.860001,17.400000,16.320000,17.299999,15.388177,30695500
+2001-05-25,16.969999,17.150000,16.420000,16.510000,14.685482,27635500
+2001-05-29,16.370001,16.430000,15.440000,15.610000,13.884942,44873200
+2001-05-30,15.360000,16.000000,14.450000,14.510000,12.906503,60895300
+2001-05-31,14.650000,15.890000,14.600000,15.300000,13.609200,77868700
+2001-06-01,15.500000,15.990000,15.260000,15.860000,14.107315,38975400
+2001-06-04,16.530001,16.540001,15.930000,16.059999,14.285213,34347900
+2001-06-05,16.120001,16.959999,16.090000,16.760000,14.907855,37528800
+2001-06-06,16.940001,17.240000,16.799999,17.000000,15.121334,43538700
+2001-06-07,16.860001,17.400000,16.610001,17.330000,15.414864,33703600
+2001-06-08,17.280001,17.500000,16.920000,17.010000,15.130228,21379300
+2001-06-11,17.000000,17.010000,16.020000,16.190001,14.400846,26158600
+2001-06-12,16.010000,16.360001,15.340000,16.139999,14.356373,35267300
+2001-06-13,16.350000,16.450001,15.340000,15.500000,13.787101,34243200
+2001-06-14,15.360000,15.370000,14.700000,14.850000,13.208930,45062500
+2001-06-15,14.750000,15.500000,14.660000,15.000000,13.342353,59629800
+2001-06-18,15.230000,15.300000,14.620000,14.840000,13.200036,51419000
+2001-06-19,17.049999,17.080000,16.440001,16.760000,14.907855,123132300
+2001-06-20,16.520000,17.770000,16.440001,17.520000,15.583868,64848800
+2001-06-21,17.459999,18.040001,17.299999,17.900000,15.921874,42898000
+2001-06-22,17.799999,17.969999,17.350000,17.480000,15.548291,29738200
+2001-06-25,17.650000,18.059999,17.510000,17.770000,15.806239,30607400
+2001-06-26,17.350000,19.000000,17.010000,18.440001,16.402203,58071400
+2001-06-27,18.559999,18.840000,17.700001,18.040001,16.046406,56799800
+2001-06-28,18.389999,19.629999,18.290001,19.180000,17.060417,72499100
+2001-06-29,19.190001,20.020000,17.799999,19.000000,16.900314,60090400
+2001-07-02,19.240000,20.000000,19.070000,19.580000,17.416220,29413600
+2001-07-03,19.389999,20.000000,18.780001,19.770000,17.585220,22039400
+2001-07-05,19.379999,19.910000,18.900000,18.930000,16.838057,29051400
+2001-07-06,18.629999,18.950001,18.040001,18.209999,16.197617,28647000
+2001-07-09,18.180000,19.330000,18.100000,18.910000,16.820263,32770400
+2001-07-10,19.090000,19.459999,17.559999,17.590000,15.646129,37848700
+2001-07-11,17.570000,18.100000,17.459999,18.000000,16.010824,35511200
+2001-07-12,18.930000,19.930000,18.200001,19.660000,17.487371,45614700
+2001-07-13,19.260000,19.900000,19.100000,19.540001,17.380640,31009700
+2001-07-16,19.309999,19.790001,18.510000,18.700001,16.633465,27119500
+2001-07-17,18.520000,19.580000,18.459999,19.500000,17.345060,30114100
+2001-07-18,18.840000,19.410000,18.580000,18.780001,16.704622,27427000
+2001-07-19,19.040001,19.690001,18.570000,19.170000,17.051533,32984700
+2001-07-20,19.020000,19.160000,18.700001,19.070000,16.962576,25359300
+2001-07-23,19.129999,19.299999,18.100000,18.129999,16.126463,25795800
+2001-07-24,18.209999,18.700001,17.879999,18.209999,16.197617,33028800
+2001-07-25,18.389999,19.340000,18.309999,19.260000,17.131584,36470800
+2001-07-26,19.080000,19.549999,18.680000,19.410000,17.265007,36148800
+2001-07-27,19.139999,20.000000,18.750000,19.059999,16.953676,28020000
+2001-07-30,19.070000,19.180000,18.450001,18.670000,16.606781,25210800
+2001-07-31,18.600000,18.959999,18.040001,18.080000,16.081980,43749700
+2001-08-01,18.360001,18.840000,18.100000,18.320000,16.295458,37145400
+2001-08-02,18.670000,18.850000,17.980000,18.309999,16.286568,33431000
+2001-08-03,18.320000,18.340000,17.900000,18.000000,16.010824,28608900
+2001-08-06,17.680000,18.010000,17.309999,17.459999,15.530499,24829900
+2001-08-07,17.400000,17.440001,17.010000,17.240000,15.334808,33877700
+2001-08-08,17.040001,17.600000,16.150000,16.299999,14.498691,47257900
+2001-08-09,16.320000,16.420000,15.850000,15.990000,14.222947,46391600
+2001-08-10,15.780000,15.920000,15.000000,15.160000,13.484674,61738800
+2001-08-13,15.040000,15.910000,14.770000,15.690000,13.956103,47255700
+2001-08-14,15.930000,16.320000,15.460000,15.550000,13.831572,37069400
+2001-08-15,15.610000,15.820000,14.960000,15.010000,13.351249,33463100
+2001-08-16,14.820000,15.350000,14.670000,15.310000,13.618096,38077500
+2001-08-17,14.900000,15.090000,14.630000,14.720000,13.093297,25901300
+2001-08-20,14.700000,14.920000,14.420000,14.810000,13.173353,25332300
+2001-08-21,14.870000,15.250000,14.080000,14.130000,12.568497,28873200
+2001-08-22,14.380000,14.780000,14.020000,14.640000,13.022137,28870500
+2001-08-23,14.520000,15.030000,14.000000,14.010000,12.461758,31620300
+2001-08-24,14.410000,15.290000,14.110000,15.190000,13.511354,33658100
+2001-08-27,15.130000,15.280000,14.750000,14.930000,13.280088,23745200
+2001-08-28,14.940000,15.000000,13.980000,14.010000,12.461758,36618900
+2001-08-29,14.200000,14.210000,13.240000,13.350000,11.874691,43939900
+2001-08-30,13.080000,13.400000,11.820000,12.000000,10.673881,76405600
+2001-08-31,12.100000,12.830000,12.040000,12.210000,10.860674,38723800
+2001-09-04,12.530000,13.030000,12.010000,12.080000,10.745041,45400800
+2001-09-05,12.250000,12.540000,11.620000,12.070000,10.736146,58220600
+2001-09-06,11.820000,12.050000,10.850000,10.920000,9.713232,74982200
+2001-09-07,10.860000,11.310000,10.550000,11.070000,9.846655,48172100
+2001-09-10,10.890000,11.520000,10.850000,11.460000,10.193557,53889500
+2001-09-17,10.290000,11.300000,10.240000,11.010000,9.793285,63861900
+2001-09-18,10.950000,11.630000,10.700000,11.380000,10.122401,77758800
+2001-09-19,11.230000,11.530000,10.260000,11.200000,9.962291,67253400
+2001-09-20,10.790000,11.540000,10.740000,11.310000,10.060135,57281700
+2001-09-21,10.190000,11.150000,10.160000,10.760000,9.570913,80169100
+2001-09-24,11.300000,12.740000,11.250000,12.520000,11.136417,76525500
+2001-09-25,12.660000,13.060000,12.150000,12.250000,10.896253,57355300
+2001-09-26,12.490000,12.540000,11.920000,12.200000,10.851779,39057600
+2001-09-27,11.970000,12.320000,11.770000,12.040000,10.709458,41609600
+2001-09-28,12.170000,12.740000,12.070000,12.580000,11.189787,44276500
+2001-10-01,12.470000,12.700000,12.180000,12.580000,11.189787,30206800
+2001-10-02,12.520000,12.840000,12.340000,12.600000,11.207576,42296100
+2001-10-03,12.370000,14.160000,12.230000,13.660000,12.150435,71058700
+2001-10-04,14.100000,14.590000,13.610000,13.790000,12.266070,57506300
+2001-10-05,13.510000,14.420000,13.370000,14.200000,12.630759,39470600
+2001-10-08,13.810000,14.400000,13.630000,13.900000,12.363915,30967900
+2001-10-09,14.020000,14.050000,13.420000,13.700000,12.186015,28599600
+2001-10-10,13.500000,14.450000,13.380000,14.290000,12.710817,38833200
+2001-10-11,14.530000,15.000000,14.500000,14.970000,13.315666,49702400
+2001-10-12,14.560000,14.950000,14.200000,14.940000,13.288984,41655100
+2001-10-15,14.470000,14.740000,14.210000,14.440000,12.844240,49779400
+2001-10-16,14.550000,14.980000,14.390000,14.940000,13.288984,32793500
+2001-10-17,15.270000,15.350000,13.630000,13.660000,12.150435,54189200
+2001-10-18,13.710000,14.460000,13.590000,14.260000,12.684127,40798900
+2001-10-19,14.080000,14.610000,13.850000,14.540000,12.933187,35524500
+2001-10-22,14.320000,14.990000,14.210000,14.950000,13.297876,24091900
+2001-10-23,15.040000,15.480000,14.800000,15.010000,13.351249,38775600
+2001-10-24,14.670000,15.070000,14.430000,14.660000,13.039927,59223700
+2001-10-25,14.000000,14.100000,13.260000,13.950000,12.408389,82909100
+2001-10-26,13.710000,14.080000,13.400000,13.580000,12.079280,46623900
+2001-10-29,13.420000,13.860000,13.210000,13.400000,11.919167,39469900
+2001-10-30,13.330000,13.820000,13.100000,13.500000,12.008117,39623500
+2001-10-31,13.870000,14.180000,13.470000,13.560000,12.061490,36448300
+2001-11-01,13.590000,14.220000,13.420000,14.170000,12.604078,37005300
+2001-11-02,14.110000,14.550000,13.900000,14.450000,12.853133,30795000
+2001-11-05,14.820000,15.150000,14.600000,14.960000,13.306775,35243400
+2001-11-06,14.680000,15.290000,14.440000,15.220000,13.538042,34708200
+2001-11-07,15.060000,15.940000,15.000000,15.580000,13.858255,44046600
+2001-11-08,15.630000,16.280001,15.220000,15.450000,13.742622,46697600
+2001-11-09,15.370000,15.690000,15.180000,15.380000,13.680359,29770800
+2001-11-12,15.140000,15.530000,14.640000,15.400000,13.698148,27878300
+2001-11-13,15.130000,15.270000,14.280000,14.520000,12.915399,89914000
+2001-11-14,14.830000,15.070000,14.200000,14.920000,13.271194,52842700
+2001-11-15,14.680000,15.250000,14.500000,14.790000,13.155560,41385800
+2001-11-16,14.860000,14.920000,14.370000,14.550000,12.942084,40618100
+2001-11-19,14.820000,15.050000,14.500000,14.870000,13.226722,30458900
+2001-11-20,14.800000,15.180000,14.540000,14.560000,12.950979,40052100
+2001-11-21,14.500000,14.720000,13.970000,14.080000,12.524020,33836400
+2001-11-23,14.140000,14.450000,14.080000,14.410000,12.817554,10846300
+2001-11-26,14.540000,14.790000,14.450000,14.740000,13.111086,32643100
+2001-11-27,14.570000,14.920000,14.230000,14.420000,12.826447,36021500
+2001-11-28,14.320000,14.880000,14.070000,14.120000,12.559601,30083900
+2001-11-29,14.320000,14.500000,14.000000,14.190000,12.621868,36810100
+2001-11-30,14.410000,14.780000,13.680000,14.030000,12.479549,74143100
+2001-12-03,13.820000,14.270000,13.650000,13.700000,12.186015,42093800
+2001-12-04,13.870000,13.900000,13.320000,13.800000,12.274967,47757100
+2001-12-05,14.500000,15.380000,14.450000,15.370000,13.671465,113746800
+2001-12-06,15.610000,16.030001,15.500000,15.900000,14.142898,67014700
+2001-12-07,15.740000,15.950000,15.550000,15.910000,14.151790,42468600
+2001-12-10,15.640000,16.020000,15.250000,15.420000,13.715939,35877600
+2001-12-11,15.710000,15.760000,15.100000,15.110000,13.440196,41071500
+2001-12-12,15.280000,15.450000,14.750000,15.100000,13.431301,44940700
+2001-12-13,14.740000,15.250000,14.390000,14.670000,13.048823,52531500
+2001-12-14,14.650000,14.700000,14.310000,14.570000,12.959872,54346500
+2001-12-17,14.450000,15.000000,14.400000,14.790000,13.155560,32530700
+2001-12-18,15.000000,15.300000,14.910000,15.050000,13.386827,40321500
+2001-12-19,14.810000,15.400000,14.780000,14.920000,13.271194,59069000
+2001-12-20,14.850000,14.910000,14.400000,14.490000,12.888713,44289800
+2001-12-21,14.790000,14.940000,14.350000,14.380000,12.790868,59252900
+2001-12-24,14.410000,14.640000,14.230000,14.340000,12.755289,12753700
+2001-12-26,14.260000,14.700000,14.080000,14.090000,12.532915,26817000
+2001-12-27,14.100000,14.250000,13.870000,13.990000,12.443967,31281100
+2001-12-28,14.060000,14.360000,14.010000,14.060000,12.506234,24629700
+2001-12-31,14.100000,14.230000,13.800000,13.810000,12.283859,29857600
+2002-01-02,13.980000,14.060000,13.800000,13.980000,12.435071,42477900
+2002-01-03,14.150000,15.340000,14.100000,15.290000,13.600307,77498300
+2002-01-04,15.560000,15.890000,15.250000,15.450000,13.742622,42962600
+2002-01-07,15.680000,15.760000,15.270000,15.490000,13.778204,33672400
+2002-01-08,15.400000,16.010000,15.390000,15.750000,14.009470,39963400
+2002-01-09,16.290001,17.250000,16.230000,16.730000,14.881170,104852700
+2002-01-10,16.650000,17.030001,16.360001,16.690001,14.845591,42615900
+2002-01-11,16.690001,16.860001,16.200001,16.270000,14.472008,41520900
+2002-01-14,16.070000,16.680000,16.030001,16.389999,14.578743,36595900
+2002-01-15,16.480000,17.000000,16.400000,16.990000,15.112435,42148200
+2002-01-16,16.650000,17.040001,16.510000,16.580000,14.747750,38500400
+2002-01-17,16.930000,17.500000,16.790001,17.219999,15.317023,49705700
+2002-01-18,16.750000,16.870001,16.440001,16.480000,14.658796,44563400
+2002-01-22,16.680000,16.969999,15.920000,15.940000,14.178473,42317200
+2002-01-23,16.049999,16.950001,15.830000,16.750000,14.898964,45388000
+2002-01-24,17.120001,17.430000,17.030001,17.250000,15.343704,46794400
+2002-01-25,16.969999,17.420000,16.670000,16.690001,14.845591,41197100
+2002-01-28,16.920000,17.139999,16.750000,16.900000,15.032383,27499800
+2002-01-29,16.809999,17.100000,16.290001,16.500000,14.676585,42884700
+2002-01-30,16.469999,16.700001,15.820000,16.620001,14.783325,46967300
+2002-01-31,17.000000,17.330000,16.650000,17.260000,15.352599,52355800
+2002-02-01,16.780001,17.030001,16.330000,16.389999,14.578743,50686200
+2002-02-04,16.440001,16.639999,15.910000,16.120001,14.338584,40447500
+2002-02-05,15.970000,16.260000,15.780000,15.810000,14.062840,40088800
+2002-02-06,16.090000,16.170000,15.650000,16.040001,14.267425,39840500
+2002-02-07,15.900000,16.469999,15.740000,15.920000,14.160685,34368100
+2002-02-08,15.990000,16.250000,15.360000,16.180000,14.391953,35752800
+2002-02-11,16.059999,16.400000,15.930000,16.350000,14.543164,27446200
+2002-02-12,16.180000,16.600000,16.000000,16.180000,14.391953,27703500
+2002-02-13,16.379999,16.410000,16.040001,16.120001,14.338584,24804300
+2002-02-14,16.190001,16.860001,16.080000,16.320000,14.516479,31951400
+2002-02-15,16.370001,16.440001,15.410000,15.490000,13.778204,35977500
+2002-02-19,15.330000,15.600000,14.510000,14.790000,13.155560,46342700
+2002-02-20,15.110000,15.750000,14.950000,15.510000,13.795994,42658600
+2002-02-21,15.520000,15.800000,15.240000,15.260000,13.573620,35673800
+2002-02-22,15.290000,15.690000,14.720000,15.500000,13.787101,31700700
+2002-02-25,15.580000,16.450001,15.520000,16.340000,14.534271,41281500
+2002-02-26,16.330000,16.820000,16.270000,16.530001,14.703275,41557900
+2002-02-27,16.719999,16.889999,15.990000,16.370001,14.560957,40283300
+2002-02-28,16.389999,16.950001,16.379999,16.620001,14.783325,48930600
+2002-03-01,16.660000,16.719999,15.550000,15.990000,14.222947,78055500
+2002-03-04,13.950000,14.050000,12.950000,13.670000,12.159329,208718700
+2002-03-05,13.970000,14.140000,13.670000,13.850000,12.319440,72999800
+2002-03-06,13.800000,14.210000,13.630000,14.140000,12.577394,47536200
+2002-03-07,14.470000,14.530000,13.720000,14.000000,12.452865,38756800
+2002-03-08,14.420000,14.550000,14.100000,14.200000,12.630759,42591600
+2002-03-11,14.150000,14.750000,14.040000,14.500000,12.897607,31683800
+2002-03-12,14.390000,14.630000,14.240000,14.440000,12.844240,30116900
+2002-03-13,14.330000,14.410000,13.860000,13.890000,12.355020,33362500
+2002-03-14,13.960000,14.080000,13.380000,13.440000,11.954747,46463700
+2002-03-15,12.900000,13.030000,12.590000,12.600000,11.207576,121186000
+2002-03-18,12.830000,13.010000,12.470000,12.600000,11.207576,49182600
+2002-03-19,12.740000,13.160000,12.700000,12.810000,11.394370,37202500
+2002-03-20,12.660000,13.050000,12.520000,12.540000,11.154209,35961200
+2002-03-21,12.650000,13.250000,12.440000,13.150000,11.696795,49338700
+2002-03-22,13.260000,13.500000,12.770000,12.850000,11.429949,40552600
+2002-03-25,12.920000,13.000000,12.500000,12.520000,11.136417,30843100
+2002-03-26,12.510000,13.000000,12.460000,12.710000,11.305421,37668400
+2002-03-27,12.730000,12.820000,12.550000,12.630000,11.234262,28081700
+2002-03-28,12.750000,12.890000,12.590000,12.800000,11.385474,24038700
+2002-04-01,12.600000,12.890000,12.500000,12.840000,11.421054,28660500
+2002-04-02,12.570000,12.710000,12.470000,12.530000,11.145312,28503600
+2002-04-03,12.550000,12.720000,12.320000,12.480000,11.100841,29135700
+2002-04-04,12.360000,12.590000,12.040000,12.220000,10.869572,31358700
+2002-04-05,12.340000,12.530000,12.030000,12.130000,10.789515,25132200
+2002-04-08,11.960000,12.370000,11.770000,12.340000,10.976313,29156800
+2002-04-09,12.330000,12.380000,11.830000,11.980000,10.656094,36219100
+2002-04-10,11.920000,12.080000,10.860000,11.550000,10.273612,60553900
+2002-04-11,11.330000,11.440000,10.910000,10.940000,9.731021,41736500
+2002-04-12,11.090000,11.600000,10.920000,11.510000,10.238035,45762600
+2002-04-15,11.610000,11.780000,11.290000,11.300000,10.051239,34398400
+2002-04-16,11.690000,12.280000,11.540000,12.060000,10.727255,29575900
+2002-04-17,12.010000,12.150000,11.680000,11.780000,10.478193,32665700
+2002-04-18,11.850000,12.050000,11.590000,11.650000,10.362561,32099900
+2002-04-19,11.880000,12.100000,11.750000,11.930000,10.611618,26765600
+2002-04-22,11.750000,11.810000,11.330000,11.430000,10.166874,41638100
+2002-04-23,11.440000,11.460000,10.880000,11.120000,9.891130,52599600
+2002-04-24,11.040000,11.130000,10.500000,10.500000,9.339647,57097300
+2002-04-25,10.500000,10.910000,10.450000,10.500000,9.339647,44673800
+2002-04-26,10.690000,10.830000,10.100000,10.130000,9.010536,39596300
+2002-04-29,10.220000,10.450000,10.130000,10.430000,9.277383,42502700
+2002-04-30,10.330000,10.470000,10.000000,10.040000,8.930483,69154400
+2002-05-01,9.930000,10.000000,8.880000,9.450000,8.405684,108231800
+2002-05-02,9.340000,9.510000,8.150000,8.550000,7.605141,127028400
+2002-05-03,8.460000,8.540000,7.840000,8.430000,7.498401,110031900
+2002-05-06,8.250000,8.510000,8.150000,8.220000,7.311610,64023900
+2002-05-07,8.250000,8.440000,7.500000,8.250000,7.338293,100174400
+2002-05-08,8.700000,9.180000,8.520000,9.150000,8.138834,64747900
+2002-05-09,9.040000,9.070000,8.410000,8.480000,7.542877,44338200
+2002-05-10,8.500000,8.630000,8.000000,8.010000,7.124816,51678300
+2002-05-13,8.200000,8.560000,8.080000,8.470000,7.533982,47133400
+2002-05-14,8.910000,9.050000,8.570000,8.810000,7.836409,69514000
+2002-05-15,8.650000,9.720000,8.550000,9.190000,8.174413,84175000
+2002-05-16,9.270000,9.660000,9.190000,9.580000,8.521317,44102600
+2002-05-17,9.770000,10.000000,9.380000,9.560000,8.503523,46574200
+2002-05-20,9.380000,9.450000,8.600000,9.110000,8.103256,36387600
+2002-05-21,9.170000,9.400000,8.740000,8.850000,7.871991,42013800
+2002-05-22,8.720000,8.920000,8.440000,8.800000,7.827513,59710300
+2002-05-23,9.020000,9.410000,8.800000,9.370000,8.334523,43943400
+2002-05-24,9.200000,9.240000,8.790000,8.850000,7.871991,28872400
+2002-05-28,9.050000,9.060000,8.570000,8.940000,7.952040,30326100
+2002-05-29,8.840000,8.940000,8.400000,8.400000,7.471716,37093300
+2002-05-30,8.350000,8.780000,8.250000,8.420000,7.489509,45703700
+2002-05-31,8.480000,8.520000,7.840000,7.920000,7.044763,52579400
+2002-06-03,7.800000,8.190000,7.270000,7.320000,6.511068,86670000
+2002-06-04,7.470000,8.070000,7.250000,7.820000,6.955816,80771800
+2002-06-05,7.870000,8.670000,7.590000,8.660000,7.702984,60986500
+2002-06-06,8.450000,8.490000,8.060000,8.150000,7.249345,59408000
+2002-06-07,7.930000,8.730000,7.870000,8.360000,7.436139,54034000
+2002-06-10,8.420000,8.430000,8.080000,8.140000,7.240451,38192900
+2002-06-11,8.290000,8.480000,7.970000,8.030000,7.142606,39634900
+2002-06-12,7.910000,8.300000,7.730000,8.260000,7.347190,61515800
+2002-06-13,8.200000,8.420000,8.080000,8.260000,7.347190,45476900
+2002-06-14,8.130000,8.600000,7.940000,8.570000,7.622930,45042200
+2002-06-17,8.700000,9.380000,8.670000,9.200000,8.183311,73449200
+2002-06-18,9.040000,9.140000,8.700000,8.980000,7.987624,87006200
+2002-06-19,9.440000,9.520000,8.530000,8.800000,7.827513,111863800
+2002-06-20,8.650000,8.800000,8.370000,8.460000,7.525086,56839400
+2002-06-21,8.290000,8.680000,8.080000,8.120000,7.222661,62786500
+2002-06-24,8.030000,8.770000,7.930000,8.610000,7.658512,59579000
+2002-06-25,8.710000,8.860000,8.320000,8.700000,7.738562,57016100
+2002-06-26,8.200000,9.500000,8.150000,9.170000,8.156626,76641800
+2002-06-27,9.350000,9.700000,9.110000,9.680000,8.610267,80203600
+2002-06-28,9.500000,9.920000,9.350000,9.470000,8.423471,51290300
+2002-07-01,9.300000,9.370000,8.930000,9.000000,8.005412,42506500
+2002-07-02,8.880000,9.000000,8.610000,8.680000,7.720774,48316200
+2002-07-03,8.580000,9.630000,8.540000,9.550000,8.494629,50001600
+2002-07-05,9.800000,10.050000,9.760000,9.980000,8.877112,24017600
+2002-07-08,9.760000,10.080000,9.240000,9.310000,8.281154,47165100
+2002-07-09,9.440000,9.900000,9.340000,9.400000,8.361209,47022800
+2002-07-10,9.530000,9.640000,8.950000,8.980000,7.987624,53667200
+2002-07-11,8.870000,9.530000,8.710000,9.420000,8.378997,73131400
+2002-07-12,9.560000,9.830000,9.420000,9.680000,8.610267,50084300
+2002-07-15,9.480000,10.170000,9.400000,10.150000,9.028326,62672400
+2002-07-16,9.960000,10.480000,9.880000,9.990000,8.886008,79162800
+2002-07-17,10.430000,10.550000,10.000000,10.470000,9.312963,72719600
+2002-07-18,10.280000,10.310000,9.950000,10.050000,8.939380,68437400
+2002-07-19,9.800000,10.060000,9.490000,9.720000,8.645846,59706300
+2002-07-22,9.510000,9.650000,9.170000,9.230000,8.209993,62146800
+2002-07-23,9.360000,9.530000,8.760000,8.800000,7.827513,66680100
+2002-07-24,8.500000,9.470000,8.360000,9.400000,8.361209,70072800
+2002-07-25,9.140000,9.270000,8.760000,9.010000,8.014307,62316200
+2002-07-26,9.010000,9.350000,8.820000,9.330000,8.298947,44375500
+2002-07-29,9.600000,9.750000,9.310000,9.550000,8.494629,49638500
+2002-07-30,9.530000,10.000000,9.440000,9.870000,8.779268,51168000
+2002-07-31,9.720000,10.010000,9.580000,10.010000,8.903798,43451400
+2002-08-01,9.900000,10.040000,9.480000,9.670000,8.601371,47106200
+2002-08-02,9.530000,9.660000,9.050000,9.410000,8.370103,50938500
+2002-08-05,9.300000,9.490000,9.000000,9.010000,8.014307,40423800
+2002-08-06,9.220000,9.620000,9.100000,9.330000,8.298947,51110000
+2002-08-07,9.660000,9.830000,9.200000,9.520000,8.467947,51504200
+2002-08-08,9.490000,10.050000,9.410000,10.010000,8.903798,45828500
+2002-08-09,9.830000,10.330000,9.780000,9.810000,8.725896,48363200
+2002-08-12,9.670000,10.020000,9.640000,9.730000,8.654740,33188100
+2002-08-13,9.620000,9.700000,9.060000,9.090000,8.085467,54342800
+2002-08-14,9.230000,10.090000,9.190000,10.050000,8.939380,54279100
+2002-08-15,10.120000,10.270000,9.850000,10.120000,9.001640,56122100
+2002-08-16,9.920000,10.450000,9.890000,10.390000,9.241802,45686200
+2002-08-19,10.420000,11.140000,10.320000,10.930000,9.722128,56303000
+2002-08-20,10.700000,11.000000,10.540000,10.760000,9.570913,38054800
+2002-08-21,10.950000,11.060000,10.550000,10.760000,9.570913,45105100
+2002-08-22,10.870000,11.200000,10.600000,11.190000,9.953397,42098900
+2002-08-23,11.020000,11.220000,10.580000,10.790000,9.597600,29674700
+2002-08-26,10.770000,10.850000,10.260000,10.570000,9.401912,35549500
+2002-08-27,10.720000,10.820000,10.100000,10.150000,9.028326,36429100
+2002-08-28,10.130000,10.420000,9.850000,9.910000,8.814846,33652200
+2002-08-29,9.790000,10.130000,9.650000,9.960000,8.859322,39768600
+2002-08-30,9.790000,9.920000,9.520000,9.590000,8.530209,34935200
+2002-09-03,9.510000,9.570000,9.000000,9.060000,8.058783,43694600
+2002-09-04,9.180000,9.690000,9.150000,9.600000,8.539107,43514400
+2002-09-05,9.450000,9.470000,9.110000,9.120000,8.112150,44877700
+2002-09-06,9.470000,9.810000,9.410000,9.630000,8.565792,39052400
+2002-09-09,9.620000,9.880000,9.400000,9.780000,8.699216,39399100
+2002-09-10,9.770000,9.970000,9.460000,9.790000,8.708110,40390100
+2002-09-11,9.860000,10.200000,9.770000,9.800000,8.717004,34483500
+2002-09-12,9.690000,9.760000,9.430000,9.480000,8.432367,33143900
+2002-09-13,9.490000,9.860000,9.430000,9.730000,8.654740,36261100
+2002-09-16,9.710000,9.750000,9.050000,9.280000,8.254467,52494500
+2002-09-17,9.400000,9.420000,8.780000,9.030000,8.032095,81486100
+2002-09-18,8.240000,8.540000,7.810000,8.320000,7.400558,122601600
+2002-09-19,8.050000,8.210000,7.950000,8.110000,7.213765,47977300
+2002-09-20,8.180000,8.280000,7.960000,7.990000,7.107028,69838300
+2002-09-23,7.850000,7.960000,7.490000,7.640000,6.795705,54908300
+2002-09-24,7.390000,8.180000,7.300000,8.000000,7.115922,77572000
+2002-09-25,8.120000,8.600000,7.960000,8.590000,7.640721,63782200
+2002-09-26,8.670000,8.720000,8.200000,8.290000,7.373875,58182400
+2002-09-27,8.120000,8.640000,8.090000,8.400000,7.471716,47307400
+2002-09-30,8.160000,8.280000,7.300000,7.860000,6.991393,49137600
+2002-10-01,7.830000,8.580000,7.780000,8.540000,7.596247,54834900
+2002-10-02,8.270000,8.550000,8.190000,8.310000,7.391663,45000700
+2002-10-03,8.230000,8.580000,8.140000,8.330000,7.409452,49005300
+2002-10-04,8.460000,8.580000,8.200000,8.200000,7.293820,45026100
+2002-10-07,8.120000,8.240000,7.650000,7.700000,6.849074,50625700
+2002-10-08,7.830000,8.230000,7.790000,8.070000,7.178186,48688300
+2002-10-09,7.910000,8.250000,7.800000,8.070000,7.178186,55491400
+2002-10-10,8.080000,8.580000,8.020000,8.510000,7.569563,39404700
+2002-10-11,8.610000,9.070000,8.510000,9.050000,8.049888,49019800
+2002-10-14,8.840000,9.300000,8.740000,9.250000,8.227786,32391600
+2002-10-15,9.620000,9.840000,9.350000,9.690000,8.619159,52984900
+2002-10-16,9.220000,9.590000,9.220000,9.320000,8.290048,41261700
+2002-10-17,9.980000,10.080000,9.730000,9.870000,8.779268,52962900
+2002-10-18,9.550000,9.670000,9.230000,9.490000,8.441261,54988200
+2002-10-21,9.370000,9.790000,9.270000,9.640000,8.574686,47599300
+2002-10-22,9.380000,9.950000,9.330000,9.890000,8.797059,46216500
+2002-10-23,9.770000,10.000000,9.640000,9.960000,8.859322,50575400
+2002-10-24,9.980000,10.190000,9.820000,9.860000,8.770370,55952100
+2002-10-25,9.940000,10.310000,9.910000,10.260000,9.126168,45287900
+2002-10-28,10.380000,10.420000,9.950000,10.070000,8.957167,40931700
+2002-10-29,10.010000,10.290000,9.670000,9.960000,8.859322,43315700
+2002-10-30,9.980000,10.120000,9.830000,10.010000,8.903798,50795900
+2002-10-31,9.970000,10.250000,9.800000,10.190000,9.063905,53490400
+2002-11-01,10.040000,10.270000,9.690000,10.130000,9.010536,44318000
+2002-11-04,10.410000,10.480000,9.910000,10.240000,9.108378,61141500
+2002-11-05,10.090000,10.260000,9.990000,10.170000,9.046114,40878800
+2002-11-06,10.310000,10.410000,10.070000,10.360000,9.215117,53095100
+2002-11-07,10.130000,10.240000,10.000000,10.200000,9.072800,41749500
+2002-11-08,10.080000,10.080000,9.540000,9.550000,8.494629,56464000
+2002-11-11,9.210000,9.500000,8.970000,9.050000,8.049888,48740600
+2002-11-12,9.260000,9.760000,9.130000,9.500000,8.450157,52874400
+2002-11-13,9.370000,9.740000,9.360000,9.620000,8.556897,43148800
+2002-11-14,9.810000,10.400000,9.790000,10.350000,9.206223,47581000
+2002-11-15,10.170000,10.780000,10.110000,10.710000,9.526440,57425300
+2002-11-18,10.880000,11.000000,10.250000,10.250000,9.117275,42280500
+2002-11-19,10.240000,10.600000,10.050000,10.370000,9.224017,39188600
+2002-11-20,10.360000,10.780000,10.250000,10.740000,9.553125,48408600
+2002-11-21,10.840000,11.500000,10.820000,11.460000,10.193557,59605500
+2002-11-22,11.070000,11.650000,11.020000,11.580000,10.300299,47514400
+2002-11-25,11.600000,12.000000,11.530000,11.910000,10.593827,45853800
+2002-11-26,11.810000,12.080000,11.550000,11.630000,10.344773,58763800
+2002-11-27,11.900000,12.210000,11.480000,12.000000,10.673881,47671800
+2002-11-29,12.030000,12.250000,11.950000,12.150000,10.807303,16345800
+2002-12-02,12.360000,12.730000,11.820000,11.900000,10.584934,46174700
+2002-12-03,11.820000,11.940000,11.250000,11.370000,10.113503,46235500
+2002-12-04,11.040000,11.350000,10.740000,11.050000,9.828863,45352900
+2002-12-05,11.300000,11.330000,10.650000,10.690000,9.508653,39194600
+2002-12-06,10.540000,11.590000,10.450000,11.280000,10.033448,47974500
+2002-12-09,11.120000,11.290000,10.510000,10.530000,9.366334,41361800
+2002-12-10,10.770000,11.030000,10.630000,10.700000,9.517542,35175200
+2002-12-11,10.700000,11.450000,10.610000,11.300000,10.051239,42332500
+2002-12-12,11.470000,11.550000,11.050000,11.400000,10.140189,31506500
+2002-12-13,11.280000,11.320000,10.630000,10.650000,9.473071,49233800
+2002-12-16,10.950000,11.370000,10.810000,11.300000,10.051239,36217200
+2002-12-17,11.210000,11.480000,10.860000,11.020000,9.802179,38315200
+2002-12-18,10.800000,10.890000,10.410000,10.630000,9.455281,59093700
+2002-12-19,11.060000,11.570000,10.800000,11.000000,9.784389,97046000
+2002-12-20,11.280000,11.370000,10.550000,10.740000,9.553125,70354000
+2002-12-23,10.780000,11.150000,10.620000,11.060000,9.837760,32994600
+2002-12-24,10.900000,11.150000,10.850000,10.990000,9.775497,9088400
+2002-12-26,11.000000,11.230000,10.780000,10.830000,9.633178,19094500
+2002-12-27,10.810000,11.070000,10.750000,10.790000,9.597600,24793900
+2002-12-30,10.870000,11.020000,10.730000,10.940000,9.731021,29686300
+2002-12-31,10.880000,10.970000,10.780000,10.800000,9.606497,26155500
+2003-01-02,10.940000,11.250000,10.800000,11.210000,9.971185,32064900
+2003-01-03,11.190000,11.620000,11.120000,11.560000,10.282507,30879500
+2003-01-06,11.540000,12.110000,11.540000,11.960000,10.638303,45324400
+2003-01-07,11.890000,12.800000,11.760000,12.690000,11.287631,72764800
+2003-01-08,12.570000,12.650000,12.070000,12.120000,10.780618,53623200
+2003-01-09,12.460000,13.180000,12.400000,13.010000,11.572268,71178800
+2003-01-10,12.660000,13.250000,12.490000,13.070000,11.625636,52033600
+2003-01-13,13.300000,13.360000,12.830000,12.930000,11.501109,40588200
+2003-01-14,12.880000,13.200000,12.800000,13.110000,11.661217,39310400
+2003-01-15,13.150000,13.240000,12.460000,12.530000,11.145312,41972100
+2003-01-16,12.510000,12.800000,12.100000,12.170000,10.825096,50428400
+2003-01-17,11.680000,11.740000,11.420000,11.440000,10.175767,55319200
+2003-01-21,11.590000,11.920000,11.470000,11.570000,10.291402,36345400
+2003-01-22,11.590000,12.140000,11.450000,11.620000,10.335875,45273300
+2003-01-23,12.050000,12.590000,11.890000,12.460000,11.083047,46467100
+2003-01-24,12.410000,12.440000,11.670000,11.770000,10.469296,45555000
+2003-01-27,11.800000,12.060000,11.600000,11.930000,10.611618,44095200
+2003-01-28,12.150000,12.160000,11.710000,11.970000,10.647197,36313900
+2003-01-29,11.780000,12.190000,11.550000,12.020000,10.691673,36287500
+2003-01-30,12.080000,12.480000,11.690000,11.750000,10.451510,38272500
+2003-01-31,11.590000,12.180000,11.500000,12.030000,10.700568,48082000
+2003-02-03,12.010000,12.140000,11.890000,12.010000,10.682778,30451300
+2003-02-04,11.850000,12.130000,11.520000,11.730000,10.433721,47845200
+2003-02-05,11.880000,12.040000,11.500000,11.520000,10.246928,41316900
+2003-02-06,11.510000,11.720000,11.330000,11.530000,10.255820,39066500
+2003-02-07,11.740000,11.900000,11.260000,11.340000,10.086818,43943700
+2003-02-10,11.410000,11.800000,11.380000,11.750000,10.451510,33763500
+2003-02-11,11.840000,12.140000,11.720000,11.910000,10.593827,46126300
+2003-02-12,11.820000,11.950000,11.490000,11.500000,10.229136,39650300
+2003-02-13,11.560000,11.690000,11.350000,11.540000,10.264715,34557500
+2003-02-14,11.560000,11.920000,11.350000,11.700000,10.407034,41473100
+2003-02-18,11.900000,12.440000,11.790000,12.420000,11.047471,40391400
+2003-02-19,12.330000,12.370000,12.120000,12.320000,10.958520,34828800
+2003-02-20,12.390000,12.470000,12.230000,12.310000,10.949624,31167700
+2003-02-21,12.180000,12.440000,11.870000,12.390000,11.020787,44233400
+2003-02-24,12.190000,12.450000,11.810000,11.820000,10.513773,45766300
+2003-02-25,11.640000,12.010000,11.480000,11.940000,10.620513,47223800
+2003-02-26,11.910000,12.100000,11.670000,11.720000,10.424827,40775700
+2003-02-27,11.910000,12.090000,11.730000,11.890000,10.576039,36829700
+2003-02-28,11.890000,12.140000,11.830000,11.960000,10.638303,35480000
+2003-03-03,12.200000,12.200000,11.640000,11.690000,10.398142,34375200
+2003-03-04,11.740000,11.860000,11.550000,11.630000,10.344773,37421000
+2003-03-05,11.380000,11.410000,10.990000,11.170000,9.935604,64571400
+2003-03-06,11.180000,11.350000,11.020000,11.160000,9.926711,37140800
+2003-03-07,10.940000,11.300000,10.840000,11.060000,9.837760,44083500
+2003-03-10,10.820000,11.000000,10.670000,10.760000,9.570913,30568300
+2003-03-11,10.810000,10.960000,10.650000,10.680000,9.499754,36460600
+2003-03-12,10.650000,11.060000,10.640000,11.000000,9.784389,41539800
+2003-03-13,11.310000,11.940000,11.190000,11.900000,10.584934,57891600
+2003-03-14,11.890000,12.050000,11.650000,11.940000,10.620513,51565800
+2003-03-17,11.710000,12.450000,11.600000,12.350000,10.985206,56316800
+2003-03-18,12.370000,12.450000,12.060000,12.250000,10.896253,58587300
+2003-03-19,11.650000,11.830000,11.100000,11.310000,10.060135,123560800
+2003-03-20,11.430000,11.600000,11.110000,11.500000,10.229136,55821400
+2003-03-21,11.690000,11.830000,11.270000,11.350000,10.095716,65517600
+2003-03-24,11.140000,11.300000,10.990000,11.030000,9.811075,42180200
+2003-03-25,11.190000,11.490000,11.070000,11.300000,10.051239,41673400
+2003-03-26,11.340000,11.580000,11.250000,11.440000,10.175767,38346100
+2003-03-27,11.300000,11.510000,11.230000,11.360000,10.104609,29790500
+2003-03-28,11.250000,11.390000,11.100000,11.100000,9.873343,27751300
+2003-03-31,10.830000,11.090000,10.820000,10.850000,9.650972,44908800
+2003-04-01,10.880000,10.910000,10.650000,10.760000,9.570913,50467600
+2003-04-02,11.060000,11.560000,10.900000,11.460000,10.193557,48276800
+2003-04-03,11.820000,11.860000,11.540000,11.620000,10.335875,44264100
+2003-04-04,11.660000,11.740000,11.000000,11.370000,10.113503,34937000
+2003-04-07,11.900000,12.510000,11.680000,11.710000,10.415929,45510400
+2003-04-08,11.670000,11.740000,11.480000,11.500000,10.229136,34791300
+2003-04-09,11.620000,11.640000,11.160000,11.170000,9.935604,39120000
+2003-04-10,11.190000,11.450000,11.070000,11.370000,10.113503,31242200
+2003-04-11,11.520000,11.690000,11.200000,11.290000,10.042344,27457400
+2003-04-14,11.330000,11.710000,11.230000,11.660000,10.371456,28588700
+2003-04-15,11.530000,11.750000,11.460000,11.540000,10.264715,33429700
+2003-04-16,11.760000,11.950000,11.560000,11.580000,10.300299,41489400
+2003-04-17,11.550000,12.010000,11.460000,12.000000,10.673881,35670800
+2003-04-21,11.980000,12.190000,11.800000,11.840000,10.531563,29742500
+2003-04-22,11.790000,12.190000,11.700000,12.130000,10.789515,33697200
+2003-04-23,11.930000,12.080000,11.870000,12.000000,10.673881,30255100
+2003-04-24,11.830000,12.090000,11.760000,12.030000,10.700568,31261600
+2003-04-25,11.960000,12.020000,11.770000,11.790000,10.487089,26159300
+2003-04-28,11.800000,12.040000,11.660000,11.970000,10.647197,29737500
+2003-04-29,11.950000,12.200000,11.930000,12.020000,10.691673,31540200
+2003-04-30,11.960000,12.030000,11.810000,11.880000,10.567142,40601500
+2003-05-01,11.850000,11.990000,11.740000,11.920000,10.602724,26984400
+2003-05-02,11.790000,12.240000,11.790000,12.200000,10.851779,35190700
+2003-05-05,12.190000,12.300000,12.060000,12.080000,10.745041,34043100
+2003-05-06,11.980000,12.550000,11.930000,12.410000,11.038571,44153800
+2003-05-07,12.360000,12.550000,12.140000,12.190000,10.842883,45258000
+2003-05-08,12.000000,12.360000,12.000000,12.100000,10.762835,34438600
+2003-05-09,12.240000,12.500000,12.200000,12.420000,11.047471,33759800
+2003-05-12,12.290000,12.530000,12.200000,12.460000,11.083047,33784200
+2003-05-13,12.360000,12.650000,12.320000,12.420000,11.047471,34690400
+2003-05-14,12.600000,12.640000,12.340000,12.530000,11.145312,34511800
+2003-05-15,12.600000,13.010000,12.560000,12.910000,11.483317,45269100
+2003-05-16,12.910000,13.000000,12.470000,12.560000,11.172000,34563400
+2003-05-19,12.450000,12.620000,12.100000,12.170000,10.825096,32926600
+2003-05-20,12.210000,12.280000,12.010000,12.160000,10.816200,33688700
+2003-05-21,12.120000,12.220000,11.970000,12.100000,10.762835,35936400
+2003-05-22,12.130000,12.410000,12.120000,12.300000,10.940730,26953500
+2003-05-23,12.220000,12.300000,12.060000,12.100000,10.762835,25251500
+2003-05-27,12.030000,12.740000,11.980000,12.650000,11.252048,35590200
+2003-05-28,12.810000,13.400000,12.700000,13.260000,11.794641,78128000
+2003-05-29,13.070000,13.280000,12.810000,12.830000,11.412163,50293400
+2003-05-30,12.950000,13.250000,12.890000,13.010000,11.572268,43628800
+2003-06-02,13.210000,13.250000,12.760000,12.800000,11.385474,41425900
+2003-06-03,12.860000,13.160000,12.760000,13.020000,11.581161,33190800
+2003-06-04,13.110000,13.700000,13.000000,13.580000,12.079280,53947300
+2003-06-05,13.400000,13.570000,13.280000,13.360000,11.883589,37461900
+2003-06-06,13.640000,13.950000,12.950000,13.090000,11.643428,102963900
+2003-06-09,13.130000,13.250000,12.710000,12.860000,11.438843,51279400
+2003-06-10,13.050000,13.090000,12.860000,13.020000,11.581161,40820000
+2003-06-11,13.210000,13.420000,13.030000,13.270000,11.803535,41013300
+2003-06-12,13.400000,13.480000,13.100000,13.330000,11.856905,40907500
+2003-06-13,13.920000,14.000000,13.360000,13.480000,11.990325,81322400
+2003-06-16,13.620000,13.900000,13.300000,13.650000,12.141539,31357300
+2003-06-17,13.740000,13.770000,13.280000,13.350000,11.874691,36730100
+2003-06-18,13.290000,13.540000,13.260000,13.420000,11.936957,49885300
+2003-06-19,13.350000,13.510000,13.260000,13.340000,11.865800,39496600
+2003-06-20,13.520000,13.610000,12.860000,12.930000,11.501109,51764300
+2003-06-23,12.950000,13.050000,12.650000,12.770000,11.358789,30410900
+2003-06-24,12.860000,13.010000,12.600000,12.650000,11.252048,30663200
+2003-06-25,12.650000,12.810000,12.350000,12.380000,11.011891,26269000
+2003-06-26,12.520000,12.610000,12.150000,12.520000,11.136417,30859200
+2003-06-27,12.550000,12.690000,12.240000,12.430000,11.056364,29954600
+2003-06-30,12.490000,12.550000,12.000000,12.010000,10.682778,42454900
+2003-07-01,12.040000,12.380000,11.740000,12.330000,10.967413,45514700
+2003-07-02,12.480000,12.750000,12.320000,12.450000,11.074152,40358900
+2003-07-03,12.330000,12.520000,12.120000,12.180000,10.833991,15602700
+2003-07-07,12.360000,12.760000,12.290000,12.570000,11.180889,29498700
+2003-07-08,12.600000,12.880000,12.550000,12.730000,11.323209,43898700
+2003-07-09,12.920000,13.050000,12.600000,12.670000,11.269840,33649900
+2003-07-10,12.510000,12.740000,12.410000,12.600000,11.207576,41053100
+2003-07-11,12.600000,12.880000,12.580000,12.840000,11.421054,30605400
+2003-07-14,12.940000,13.090000,12.530000,12.640000,11.243156,28583900
+2003-07-15,12.850000,12.890000,12.540000,12.630000,11.234262,34859600
+2003-07-16,12.690000,12.710000,12.300000,12.410000,11.038571,30646000
+2003-07-17,12.220000,12.310000,12.030000,12.090000,10.753934,29515500
+2003-07-18,12.100000,12.160000,11.990000,12.080000,10.745041,24285200
+2003-07-21,12.060000,12.110000,11.590000,11.690000,10.398142,36377800
+2003-07-22,11.900000,12.250000,11.820000,12.070000,10.736146,43591000
+2003-07-23,12.190000,12.210000,11.830000,12.100000,10.762835,27594900
+2003-07-24,12.210000,12.360000,11.650000,11.680000,10.389247,42418200
+2003-07-25,11.740000,12.130000,11.600000,12.100000,10.762835,29301700
+2003-07-28,12.170000,12.240000,11.800000,11.880000,10.567142,35409100
+2003-07-29,11.950000,12.060000,11.690000,11.920000,10.602724,30663400
+2003-07-30,12.020000,12.060000,11.810000,11.880000,10.567142,27817400
+2003-07-31,12.080000,12.310000,11.880000,11.990000,10.664987,34629900
+2003-08-01,11.900000,11.990000,11.730000,11.820000,10.513773,29348000
+2003-08-04,11.880000,12.000000,11.670000,11.860000,10.549355,27503500
+2003-08-05,11.820000,11.960000,11.620000,11.640000,10.353663,30777600
+2003-08-06,11.560000,11.640000,11.430000,11.450000,10.184662,44154700
+2003-08-07,11.460000,11.530000,11.180000,11.390000,10.131290,30669300
+2003-08-08,11.490000,11.510000,11.170000,11.290000,10.042344,25653500
+2003-08-11,11.780000,11.900000,11.600000,11.680000,10.389247,51264000
+2003-08-12,11.860000,12.160000,11.810000,12.160000,10.816200,48958700
+2003-08-13,12.390000,12.390000,11.800000,11.900000,10.584934,68194900
+2003-08-14,11.980000,12.200000,11.880000,12.120000,10.780618,29768000
+2003-08-15,12.090000,12.140000,11.960000,12.080000,10.745041,12464200
+2003-08-18,12.160000,12.200000,12.090000,12.180000,10.833991,28071100
+2003-08-19,12.290000,12.320000,11.980000,12.150000,10.807303,40467800
+2003-08-20,12.050000,12.160000,11.960000,12.120000,10.780618,23000600
+2003-08-21,12.230000,12.320000,12.050000,12.160000,10.816200,36844900
+2003-08-22,12.240000,12.500000,12.150000,12.300000,10.940730,45221100
+2003-08-25,12.230000,12.410000,12.190000,12.370000,11.002991,30133800
+2003-08-26,12.270000,12.520000,12.030000,12.440000,11.065258,49911800
+2003-08-27,12.360000,12.570000,12.310000,12.450000,11.074152,38240700
+2003-08-28,12.500000,12.800000,12.480000,12.770000,11.358789,37764900
+2003-08-29,12.710000,12.890000,12.640000,12.830000,11.412163,33163800
+2003-09-02,12.960000,13.450000,12.940000,13.390000,11.910271,86313000
+2003-09-03,13.730000,14.030000,13.580000,13.760000,12.239388,100807000
+2003-09-04,13.650000,13.780000,13.510000,13.720000,12.203808,41802700
+2003-09-05,13.400000,13.510000,13.000000,13.080000,11.634531,77735500
+2003-09-08,13.250000,13.540000,13.230000,13.480000,11.990325,58859800
+2003-09-09,13.430000,13.480000,13.260000,13.360000,11.883589,39313700
+2003-09-10,13.150000,13.370000,12.790000,12.850000,11.429949,48143700
+2003-09-11,13.030000,13.180000,12.860000,12.980000,11.545584,55297300
+2003-09-12,12.140000,12.600000,12.050000,12.550000,11.163103,125872200
+2003-09-15,12.560000,12.640000,12.380000,12.450000,11.074152,44944600
+2003-09-16,12.470000,12.560000,12.410000,12.530000,11.145312,42621000
+2003-09-17,12.510000,12.540000,12.220000,12.280000,10.922938,48337000
+2003-09-18,12.270000,12.410000,12.140000,12.360000,10.994098,53130900
+2003-09-19,12.320000,12.350000,12.070000,12.120000,10.780618,56562500
+2003-09-22,12.020000,12.080000,11.870000,11.970000,10.647197,48600400
+2003-09-23,12.070000,12.130000,11.970000,12.030000,10.700568,41884000
+2003-09-24,12.030000,12.090000,11.600000,11.600000,10.318087,73146100
+2003-09-25,11.670000,11.930000,11.530000,11.560000,10.282507,41716800
+2003-09-26,11.650000,11.710000,11.390000,11.410000,10.149080,45417900
+2003-09-29,11.550000,11.640000,11.360000,11.640000,10.353663,41382800
+2003-09-30,11.500000,11.520000,11.210000,11.250000,10.006766,54694100
+2003-10-01,11.380000,11.730000,11.350000,11.690000,10.398142,47601100
+2003-10-02,11.570000,11.630000,11.370000,11.400000,10.140189,53302900
+2003-10-03,11.860000,12.090000,11.710000,11.980000,10.656094,76447800
+2003-10-06,12.070000,12.300000,12.040000,12.190000,10.842883,36214900
+2003-10-07,12.050000,12.260000,11.960000,12.200000,10.851779,45506900
+2003-10-08,12.530000,12.750000,12.380000,12.630000,11.234262,71375900
+2003-10-09,12.750000,12.890000,12.310000,12.330000,10.967413,63201300
+2003-10-10,12.450000,12.510000,12.290000,12.330000,10.967413,38087200
+2003-10-13,12.390000,12.490000,12.210000,12.280000,10.922938,45863300
+2003-10-14,12.250000,12.400000,12.160000,12.330000,10.967413,32292100
+2003-10-15,12.460000,12.500000,12.030000,12.120000,10.780618,44173200
+2003-10-16,12.100000,12.160000,11.860000,11.970000,10.647197,60555300
+2003-10-17,11.910000,12.010000,11.680000,11.720000,10.424827,49571700
+2003-10-20,11.780000,11.970000,11.760000,11.910000,10.593827,34152800
+2003-10-21,12.030000,12.100000,11.920000,11.980000,10.656094,33965400
+2003-10-22,11.840000,11.960000,11.700000,11.720000,10.424827,30664800
+2003-10-23,11.660000,11.870000,11.600000,11.750000,10.451510,29827900
+2003-10-24,11.600000,11.780000,11.520000,11.730000,10.433721,40662500
+2003-10-27,11.800000,11.890000,11.610000,11.700000,10.407034,27969800
+2003-10-28,11.720000,12.000000,11.550000,11.980000,10.656094,44104200
+2003-10-29,11.930000,12.080000,11.760000,11.890000,10.576039,40955000
+2003-10-30,12.090000,12.290000,11.920000,12.190000,10.842883,53247200
+2003-10-31,12.120000,12.280000,11.960000,11.970000,10.647197,32516500
+2003-11-03,12.060000,12.320000,12.020000,12.190000,10.842883,35722600
+2003-11-04,12.070000,12.480000,12.040000,12.210000,10.860674,42082700
+2003-11-05,12.330000,12.480000,12.190000,12.350000,10.985206,36371900
+2003-11-06,12.530000,12.720000,12.200000,12.700000,11.296529,76866900
+2003-11-07,12.790000,12.880000,12.430000,12.460000,11.083047,50302100
+2003-11-10,12.410000,12.750000,12.350000,12.570000,11.180889,44400800
+2003-11-11,12.690000,12.740000,12.400000,12.540000,11.154209,34508000
+2003-11-12,12.560000,12.850000,12.540000,12.770000,11.358789,38815500
+2003-11-13,12.630000,12.720000,12.460000,12.570000,11.180889,34809000
+2003-11-14,12.570000,12.670000,12.270000,12.290000,10.931831,36909100
+2003-11-17,12.240000,12.250000,11.980000,12.090000,10.753934,34247700
+2003-11-18,12.190000,12.240000,11.780000,11.810000,10.504880,42238700
+2003-11-19,11.850000,12.130000,11.790000,12.030000,10.700568,37597900
+2003-11-20,11.920000,12.140000,11.770000,11.820000,10.513773,41329600
+2003-11-21,11.920000,12.000000,11.750000,11.880000,10.567142,31832800
+2003-11-24,12.050000,12.100000,11.920000,12.050000,10.718357,43397800
+2003-11-25,12.070000,12.080000,11.860000,11.870000,10.558247,40057100
+2003-11-26,12.000000,12.050000,11.860000,12.040000,10.709458,30882000
+2003-11-28,12.020000,12.060000,11.980000,12.020000,10.691673,8159500
+2003-12-01,12.170000,12.570000,12.160000,12.510000,11.127522,50681500
+2003-12-02,12.490000,12.690000,12.350000,12.400000,11.029679,47466000
+2003-12-03,12.710000,13.100000,12.650000,12.900000,11.474422,89509200
+2003-12-04,12.950000,13.060000,12.820000,12.990000,11.554479,56952500
+2003-12-05,12.860000,12.990000,12.710000,12.740000,11.332106,39383800
+2003-12-08,12.690000,12.930000,12.640000,12.810000,11.394370,32397300
+2003-12-09,12.920000,12.970000,12.510000,12.610000,11.216468,40658700
+2003-12-10,12.610000,12.800000,12.600000,12.780000,11.367684,41922500
+2003-12-11,12.740000,12.900000,12.720000,12.830000,11.412163,39950200
+2003-12-12,12.880000,12.900000,12.690000,12.830000,11.412163,37379900
+2003-12-15,13.070000,13.080000,12.650000,12.700000,11.296529,82537400
+2003-12-16,12.980000,13.230000,12.750000,13.120000,11.670113,95028600
+2003-12-17,13.080000,13.260000,13.050000,13.250000,11.785744,46581000
+2003-12-18,13.220000,13.430000,13.200000,13.330000,11.856905,48645300
+2003-12-19,13.340000,13.430000,12.980000,13.090000,11.643428,52988700
+2003-12-22,12.970000,13.210000,12.920000,13.200000,11.741268,37429800
+2003-12-23,13.240000,13.240000,12.980000,13.050000,11.607845,27584700
+2003-12-24,12.990000,13.130000,12.950000,12.970000,11.536691,15177900
+2003-12-26,12.980000,13.060000,12.950000,13.000000,11.563371,9305200
+2003-12-29,12.990000,13.210000,12.960000,13.180000,11.723480,24670600
+2003-12-30,13.180000,13.230000,13.050000,13.190000,11.732375,21820800
+2003-12-31,13.170000,13.240000,13.050000,13.230000,11.767954,24268300
+2004-01-02,13.250000,13.310000,13.110000,13.140000,11.687901,20730800
+2004-01-05,13.280000,13.560000,13.260000,13.550000,12.052594,35329600
+2004-01-06,13.520000,13.710000,13.400000,13.600000,12.097069,40106000
+2004-01-07,13.670000,13.990000,13.590000,13.970000,12.426177,45151100
+2004-01-08,13.990000,14.380000,13.750000,14.240000,12.666341,70741300
+2004-01-09,14.070000,14.360000,14.000000,14.170000,12.604078,41121800
+2004-01-12,14.280000,15.510000,14.240000,14.660000,13.039927,62729400
+2004-01-13,14.440000,14.480000,14.040000,14.360000,12.773076,78363800
+2004-01-14,14.480000,14.670000,14.390000,14.590000,12.977662,30545500
+2004-01-15,14.440000,14.980000,14.440000,14.890000,13.244508,50439200
+2004-01-16,14.990000,15.030000,14.670000,14.850000,13.208930,46809800
+2004-01-20,14.910000,14.970000,14.560000,14.710000,13.084402,40751300
+2004-01-21,14.630000,14.920000,14.510000,14.710000,13.084402,36834500
+2004-01-22,14.790000,14.910000,14.420000,14.530000,12.924294,34476800
+2004-01-23,14.550000,14.670000,14.350000,14.540000,12.933187,28790500
+2004-01-26,14.460000,14.540000,14.280000,14.470000,12.870920,33787100
+2004-01-27,14.420000,14.680000,14.180000,14.200000,12.630759,32503900
+2004-01-28,14.310000,14.400000,13.860000,13.940000,12.399492,44593900
+2004-01-29,14.050000,14.220000,13.730000,14.190000,12.621868,50196100
+2004-01-30,14.110000,14.300000,13.780000,13.860000,12.328335,45136500
+2004-02-02,13.760000,13.900000,13.510000,13.640000,12.132647,42162300
+2004-02-03,13.570000,13.990000,13.520000,13.910000,12.372808,32484300
+2004-02-04,13.190000,13.690000,13.120000,13.270000,11.803535,47107800
+2004-02-05,13.440000,13.770000,13.320000,13.560000,12.061490,39729800
+2004-02-06,13.580000,13.760000,13.360000,13.420000,11.936957,41298900
+2004-02-09,13.540000,13.630000,13.250000,13.280000,11.812428,33219100
+2004-02-10,13.270000,13.530000,13.260000,13.390000,11.910271,30386400
+2004-02-11,13.530000,13.790000,13.330000,13.700000,12.186015,38713100
+2004-02-12,13.620000,13.850000,13.510000,13.720000,12.203808,27981100
+2004-02-13,13.780000,14.100000,13.660000,13.790000,12.266070,41834100
+2004-02-17,13.910000,13.980000,13.730000,13.760000,12.239388,21836800
+2004-02-18,13.880000,14.160000,13.710000,14.060000,12.506234,38796400
+2004-02-19,14.180000,14.210000,13.770000,13.800000,12.274967,29936900
+2004-02-20,13.960000,13.970000,13.540000,13.710000,12.194913,27880000
+2004-02-23,13.680000,13.720000,13.220000,13.340000,11.865800,30737700
+2004-02-24,13.280000,13.360000,13.040000,13.260000,11.794641,56492900
+2004-02-25,13.290000,13.340000,13.080000,13.190000,11.732375,35990900
+2004-02-26,13.100000,13.500000,12.860000,13.280000,11.812428,45428900
+2004-02-27,13.300000,13.370000,12.860000,12.870000,11.447742,44508600
+2004-03-01,13.110000,13.170000,12.880000,13.080000,11.634531,46943200
+2004-03-02,13.130000,13.280000,12.950000,12.980000,11.545584,39962100
+2004-03-03,12.910000,13.140000,12.890000,13.010000,11.572268,29869200
+2004-03-04,12.920000,13.100000,12.890000,13.000000,11.563371,32745100
+2004-03-05,12.870000,13.100000,12.710000,12.710000,11.305421,59897400
+2004-03-08,12.860000,12.880000,12.320000,12.360000,10.994098,59836100
+2004-03-09,12.350000,12.480000,12.130000,12.310000,10.949624,59151200
+2004-03-10,12.400000,12.620000,12.310000,12.410000,11.038571,73298000
+2004-03-11,12.340000,12.600000,12.170000,12.250000,10.896253,88238400
+2004-03-12,12.490000,12.500000,11.950000,12.060000,10.727255,109858800
+2004-03-15,12.030000,12.050000,11.580000,11.660000,10.371456,71864700
+2004-03-16,11.790000,11.890000,11.370000,11.700000,10.407034,84172400
+2004-03-17,11.850000,11.930000,11.680000,11.850000,10.540460,59616200
+2004-03-18,11.800000,11.830000,11.560000,11.610000,10.326982,59118700
+2004-03-19,11.600000,11.780000,11.490000,11.500000,10.229136,47572800
+2004-03-22,11.380000,11.450000,11.150000,11.340000,10.086818,54723000
+2004-03-23,11.450000,11.630000,11.300000,11.400000,10.140189,62015900
+2004-03-24,11.480000,11.690000,11.300000,11.530000,10.255820,43124500
+2004-03-25,11.650000,12.030000,11.630000,11.940000,10.620513,61981700
+2004-03-26,11.930000,12.150000,11.900000,11.920000,10.602724,47907200
+2004-03-29,12.040000,12.120000,11.960000,12.080000,10.745041,39093100
+2004-03-30,11.970000,12.130000,11.840000,12.080000,10.745041,49915300
+2004-03-31,12.100000,12.160000,11.950000,12.000000,10.673881,48584200
+2004-04-01,11.990000,12.360000,11.960000,12.290000,10.931831,60501700
+2004-04-02,12.620000,12.650000,12.400000,12.580000,11.189787,48908400
+2004-04-05,12.600000,12.860000,12.550000,12.770000,11.358789,48809700
+2004-04-06,12.650000,12.740000,12.420000,12.460000,11.083047,36671400
+2004-04-07,12.430000,12.460000,12.220000,12.350000,10.985206,45873800
+2004-04-08,12.540000,12.580000,12.300000,12.380000,11.011891,25128300
+2004-04-12,12.340000,12.570000,12.320000,12.410000,11.038571,37987000
+2004-04-13,12.430000,12.450000,12.230000,12.310000,10.949624,34207400
+2004-04-14,12.220000,12.470000,12.210000,12.370000,11.002991,40484800
+2004-04-15,12.420000,12.420000,11.980000,12.080000,10.745041,41139700
+2004-04-16,12.170000,12.220000,11.910000,11.990000,10.664987,37456900
+2004-04-19,12.050000,12.320000,11.970000,12.320000,10.958520,39837500
+2004-04-20,12.290000,12.430000,11.990000,12.000000,10.673881,46891200
+2004-04-21,11.990000,12.150000,11.870000,12.070000,10.736146,39061300
+2004-04-22,11.980000,12.500000,11.950000,12.370000,11.002991,47915400
+2004-04-23,12.470000,12.580000,12.350000,12.530000,11.145312,38928500
+2004-04-26,12.480000,12.560000,12.200000,12.310000,10.949624,35321200
+2004-04-27,12.270000,12.400000,12.100000,12.150000,10.807303,38910400
+2004-04-28,12.080000,12.220000,11.770000,11.900000,10.584934,38196000
+2004-04-29,11.870000,11.890000,11.340000,11.430000,10.166874,86524700
+2004-04-30,11.500000,11.550000,11.220000,11.250000,10.006766,61729600
+2004-05-03,11.360000,11.520000,11.200000,11.330000,10.077927,47395000
+2004-05-04,11.260000,11.530000,11.170000,11.350000,10.095716,66183600
+2004-05-05,11.380000,11.600000,11.350000,11.350000,10.095716,29772000
+2004-05-06,11.260000,11.700000,11.250000,11.490000,10.220240,44245700
+2004-05-07,11.470000,11.680000,11.400000,11.400000,10.140189,39423200
+2004-05-10,11.260000,11.450000,11.260000,11.400000,10.140189,36486800
+2004-05-11,11.510000,11.670000,11.430000,11.670000,10.380351,36158300
+2004-05-12,11.550000,11.660000,11.350000,11.590000,10.309194,42703600
+2004-05-13,11.520000,11.850000,11.500000,11.800000,10.495983,34109400
+2004-05-14,11.740000,11.780000,11.460000,11.600000,10.318087,33566500
+2004-05-17,11.400000,11.500000,11.300000,11.360000,10.104609,49025700
+2004-05-18,11.430000,11.530000,11.370000,11.370000,10.113503,26005300
+2004-05-19,11.480000,11.590000,11.290000,11.290000,10.042344,39327800
+2004-05-20,11.380000,11.380000,11.150000,11.230000,9.988976,35553700
+2004-05-21,11.320000,11.390000,11.180000,11.230000,9.988976,38074300
+2004-05-24,11.320000,11.430000,11.280000,11.360000,10.104609,30700600
+2004-05-25,11.310000,11.520000,11.180000,11.500000,10.229136,44651300
+2004-05-26,11.450000,11.500000,11.280000,11.480000,10.211349,32837400
+2004-05-27,11.490000,11.620000,11.370000,11.480000,10.211349,40369500
+2004-05-28,11.420000,11.490000,11.320000,11.400000,10.140189,30497100
+2004-06-01,11.240000,11.310000,11.050000,11.120000,9.891130,42016100
+2004-06-02,11.220000,11.260000,11.080000,11.150000,9.917816,39112300
+2004-06-03,11.160000,11.210000,10.850000,10.970000,9.757706,53652200
+2004-06-04,11.090000,11.180000,11.010000,11.040000,9.819971,48278700
+2004-06-07,11.180000,11.420000,11.130000,11.420000,10.157976,43849600
+2004-06-08,11.420000,11.610000,11.340000,11.590000,10.309194,49357800
+2004-06-09,11.590000,11.720000,11.500000,11.540000,10.264715,47534000
+2004-06-10,11.570000,11.720000,11.530000,11.710000,10.415929,42342500
+2004-06-14,11.620000,11.660000,11.450000,11.550000,10.273612,41450900
+2004-06-15,11.630000,11.860000,11.610000,11.710000,10.415929,62721200
+2004-06-16,11.360000,11.430000,11.230000,11.350000,10.095716,80914200
+2004-06-17,11.270000,11.320000,11.120000,11.140000,9.908919,41264700
+2004-06-18,11.100000,11.350000,11.050000,11.140000,9.908919,62933800
+2004-06-21,11.130000,11.210000,11.110000,11.150000,9.917816,38332300
+2004-06-22,11.110000,11.190000,11.050000,11.120000,9.891130,55112100
+2004-06-23,11.090000,11.210000,11.080000,11.150000,9.917816,45101400
+2004-06-24,11.160000,11.570000,11.140000,11.500000,10.229136,70678600
+2004-06-25,11.560000,11.960000,11.510000,11.800000,10.495983,88673100
+2004-06-28,11.780000,11.850000,11.600000,11.630000,10.344773,47118600
+2004-06-29,11.620000,11.860000,11.580000,11.770000,10.469296,39040900
+2004-06-30,11.760000,12.070000,11.640000,11.930000,10.611618,62400000
+2004-07-01,11.850000,11.960000,11.610000,11.810000,10.504880,61520000
+2004-07-02,11.750000,11.820000,11.620000,11.650000,10.362561,32076700
+2004-07-06,11.550000,11.600000,11.140000,11.200000,9.962291,61782900
+2004-07-07,11.150000,11.320000,11.130000,11.200000,9.962291,50583800
+2004-07-08,11.140000,11.150000,10.860000,10.920000,9.713232,71465200
+2004-07-09,11.030000,11.250000,10.980000,11.030000,9.811075,47046600
+2004-07-12,11.070000,11.230000,11.010000,11.090000,9.864447,37216900
+2004-07-13,11.140000,11.150000,11.000000,11.000000,9.784389,39466700
+2004-07-14,10.950000,11.010000,10.680000,10.790000,9.597600,79172000
+2004-07-15,10.970000,11.000000,10.690000,10.720000,9.535335,72403300
+2004-07-16,10.840000,10.870000,10.210000,10.220000,9.090592,100621100
+2004-07-19,10.380000,10.480000,10.290000,10.330000,9.188433,54154100
+2004-07-20,10.380000,10.540000,10.270000,10.500000,9.339647,45273400
+2004-07-21,10.550000,10.810000,10.330000,10.350000,9.206223,67054800
+2004-07-22,10.360000,10.460000,10.120000,10.360000,9.215117,34995200
+2004-07-23,10.280000,10.310000,10.030000,10.100000,8.983853,36626900
+2004-07-26,10.120000,10.270000,10.030000,10.080000,8.966062,42494100
+2004-07-27,10.110000,10.490000,10.100000,10.380000,9.232909,44267700
+2004-07-28,10.310000,10.370000,10.050000,10.250000,9.117275,45714900
+2004-07-29,10.340000,10.500000,10.270000,10.380000,9.232909,41100200
+2004-07-30,10.390000,10.520000,10.350000,10.510000,9.348543,31709700
+2004-08-02,10.370000,10.670000,10.330000,10.670000,9.490860,40242900
+2004-08-03,10.570000,10.680000,10.520000,10.560000,9.393018,44096400
+2004-08-04,10.560000,10.970000,10.520000,10.840000,9.642075,51684300
+2004-08-05,10.830000,10.850000,10.540000,10.640000,9.464179,46577100
+2004-08-06,10.430000,10.540000,10.190000,10.190000,9.063905,38588500
+2004-08-09,10.300000,10.470000,10.200000,10.370000,9.224017,31533900
+2004-08-10,10.450000,10.610000,10.310000,10.600000,9.428595,31955300
+2004-08-11,10.390000,10.420000,10.090000,10.190000,9.063905,43650500
+2004-08-12,10.090000,10.200000,9.780000,9.900000,8.805953,56499100
+2004-08-13,9.950000,10.280000,9.930000,10.250000,9.117275,46512000
+2004-08-16,10.250000,10.420000,10.200000,10.250000,9.117275,32335500
+2004-08-17,10.290000,10.430000,10.120000,10.280000,9.143956,40834000
+2004-08-18,10.140000,10.530000,10.120000,10.510000,9.348543,40961900
+2004-08-19,10.440000,10.490000,10.340000,10.420000,9.268490,32090200
+2004-08-20,10.390000,10.430000,10.300000,10.310000,9.170645,24015500
+2004-08-23,10.330000,10.390000,10.220000,10.300000,9.161748,27130700
+2004-08-24,10.330000,10.360000,10.150000,10.330000,9.188433,38644600
+2004-08-25,10.350000,10.440000,10.260000,10.400000,9.250698,29812200
+2004-08-26,10.370000,10.420000,10.210000,10.230000,9.099482,27281500
+2004-08-27,10.240000,10.340000,10.230000,10.290000,9.152852,20328400
+2004-08-30,10.200000,10.240000,10.080000,10.110000,8.992745,33704600
+2004-08-31,10.110000,10.140000,9.820000,9.970000,8.868216,37907800
+2004-09-01,9.960000,10.110000,9.940000,10.050000,8.939380,28920000
+2004-09-02,10.070000,10.350000,9.970000,10.290000,9.152852,40370000
+2004-09-03,10.200000,10.290000,9.970000,10.030000,8.921587,33742000
+2004-09-07,10.170000,10.220000,9.980000,10.080000,8.966062,31732100
+2004-09-08,9.940000,10.030000,9.860000,9.860000,8.770370,47062500
+2004-09-09,9.980000,10.020000,9.900000,9.930000,8.832635,44902800
+2004-09-10,10.120000,10.500000,10.040000,10.460000,9.304066,66209200
+2004-09-13,10.550000,10.700000,10.510000,10.620000,9.446383,52492300
+2004-09-14,10.640000,10.690000,10.460000,10.550000,9.384121,72170200
+2004-09-15,11.090000,11.410000,11.030000,11.330000,10.077927,135089500
+2004-09-16,11.250000,11.400000,11.170000,11.230000,9.988976,57893500
+2004-09-17,11.250000,11.580000,11.230000,11.510000,10.238035,59258000
+2004-09-20,11.350000,11.550000,11.310000,11.400000,10.140189,40527500
+2004-09-21,11.670000,11.680000,11.340000,11.410000,10.149080,44463000
+2004-09-22,11.280000,11.390000,11.100000,11.140000,9.908919,55341300
+2004-09-23,11.160000,11.240000,11.020000,11.050000,9.828863,40709000
+2004-09-24,11.120000,11.210000,11.010000,11.040000,9.819971,30796100
+2004-09-27,10.980000,11.280000,10.930000,11.190000,9.953397,40616600
+2004-09-28,11.240000,11.360000,11.090000,11.360000,10.104609,45610200
+2004-09-29,11.340000,11.520000,11.280000,11.430000,10.166874,41868100
+2004-09-30,11.420000,11.450000,11.240000,11.280000,10.033448,49604900
+2004-10-01,11.650000,11.950000,11.510000,11.900000,10.584934,69604100
+2004-10-04,12.100000,12.180000,11.830000,11.870000,10.558247,66003300
+2004-10-05,11.840000,12.210000,11.830000,12.210000,10.860674,46999300
+2004-10-06,12.140000,12.260000,12.060000,12.240000,10.887359,44461400
+2004-10-07,12.210000,12.420000,12.190000,12.290000,10.931831,50909000
+2004-10-08,12.170000,12.470000,12.020000,12.170000,10.825096,45517700
+2004-10-11,12.170000,12.270000,12.080000,12.200000,10.851779,25741700
+2004-10-12,12.030000,12.230000,11.980000,12.150000,10.807303,35379900
+2004-10-13,12.150000,12.170000,11.930000,11.990000,10.664987,40599700
+2004-10-14,11.930000,12.110000,11.920000,12.000000,10.673881,28269600
+2004-10-15,12.040000,12.250000,12.000000,12.240000,10.887359,41393100
+2004-10-18,12.150000,12.460000,12.100000,12.420000,11.047471,33181100
+2004-10-19,12.450000,12.540000,12.310000,12.310000,10.949624,44047000
+2004-10-20,12.240000,12.420000,12.180000,12.420000,11.047471,35207600
+2004-10-21,12.440000,12.470000,12.280000,12.440000,11.065258,40699800
+2004-10-22,12.430000,12.480000,12.190000,12.310000,10.949624,33118300
+2004-10-25,12.260000,12.330000,12.050000,12.130000,10.789515,33386800
+2004-10-26,12.160000,12.300000,12.110000,12.270000,10.914046,33466400
+2004-10-27,12.160000,12.720000,12.150000,12.590000,11.198681,43334500
+2004-10-28,12.480000,12.770000,12.210000,12.740000,11.332106,31068300
+2004-10-29,12.810000,12.810000,12.550000,12.660000,11.260947,34619900
+2004-11-01,12.720000,12.870000,12.550000,12.750000,11.341000,27994800
+2004-11-02,12.760000,13.000000,12.680000,12.800000,11.385474,40570200
+2004-11-03,12.950000,13.000000,12.720000,12.830000,11.412163,33987500
+2004-11-04,12.850000,13.140000,12.830000,13.100000,11.652321,37692700
+2004-11-05,13.120000,13.280000,13.080000,13.170000,11.714587,34605000
+2004-11-08,13.070000,13.200000,13.010000,13.110000,11.661217,21120600
+2004-11-09,13.090000,13.380000,13.070000,13.350000,11.874691,32825300
+2004-11-10,13.340000,13.500000,13.290000,13.380000,11.901380,40553300
+2004-11-11,13.230000,13.280000,12.780000,13.140000,11.687901,48867000
+2004-11-12,13.010000,13.400000,12.970000,13.390000,11.910271,41742700
+2004-11-15,13.300000,13.310000,12.970000,13.010000,11.572268,35834100
+2004-11-16,12.970000,13.040000,12.870000,12.920000,11.492210,29547200
+2004-11-17,12.990000,13.210000,12.950000,13.130000,11.679008,28451100
+2004-11-18,13.110000,13.150000,12.950000,12.970000,11.536691,25803100
+2004-11-19,13.070000,13.160000,12.690000,12.750000,11.341000,30991800
+2004-11-22,12.670000,12.750000,12.510000,12.680000,11.278737,41035900
+2004-11-23,12.600000,12.810000,12.510000,12.700000,11.296529,27711900
+2004-11-24,12.740000,12.860000,12.710000,12.790000,11.376582,19122000
+2004-11-26,12.780000,12.790000,12.640000,12.660000,11.260947,9101000
+2004-11-29,12.630000,12.790000,12.580000,12.680000,11.278737,32675200
+2004-11-30,12.640000,12.810000,12.620000,12.740000,11.332106,32502200
+2004-12-01,12.750000,13.090000,12.660000,13.090000,11.643428,46113400
+2004-12-02,12.900000,13.070000,12.820000,12.950000,11.518897,27804600
+2004-12-03,12.840000,13.110000,12.740000,13.030000,11.590058,69334000
+2004-12-06,12.980000,13.510000,12.960000,13.340000,11.865800,55786100
+2004-12-07,13.360000,13.570000,13.020000,13.060000,11.616741,41045600
+2004-12-08,13.140000,13.420000,13.090000,13.210000,11.750168,39890300
+2004-12-09,13.060000,13.400000,13.010000,13.290000,11.821325,35971400
+2004-12-10,13.160000,13.450000,13.140000,13.280000,11.812428,32027500
+2004-12-13,14.210000,14.870000,13.750000,14.630000,13.013240,181316700
+2004-12-14,14.460000,14.610000,14.180000,14.230000,12.657444,78544300
+2004-12-15,14.140000,14.180000,13.920000,14.090000,12.532915,73641400
+2004-12-16,14.000000,14.170000,13.980000,14.090000,12.532915,53533600
+2004-12-17,14.000000,14.170000,13.920000,13.980000,12.435071,62424100
+2004-12-20,14.000000,14.100000,13.550000,13.580000,12.079280,53505200
+2004-12-21,13.530000,13.900000,13.530000,13.790000,12.266070,50640900
+2004-12-22,13.800000,13.900000,13.650000,13.700000,12.186015,35878500
+2004-12-23,13.640000,13.780000,13.600000,13.640000,12.132647,20796300
+2004-12-27,13.720000,13.780000,13.610000,13.650000,12.141539,28715500
+2004-12-28,13.600000,13.890000,13.580000,13.840000,12.310545,34572700
+2004-12-29,13.730000,13.870000,13.660000,13.720000,12.203808,42544900
+2004-12-30,13.680000,13.940000,13.660000,13.880000,12.346124,37261100
+2004-12-31,13.860000,14.030000,13.680000,13.720000,12.203808,43515400
+2005-01-03,13.880000,13.890000,13.390000,13.410000,11.928063,60319300
+2005-01-04,13.460000,13.480000,12.920000,13.060000,11.616741,80906400
+2005-01-05,13.030000,13.260000,13.010000,13.100000,11.652321,42548400
+2005-01-06,13.130000,13.350000,13.080000,13.220000,11.759061,55580100
+2005-01-07,13.340000,13.450000,13.150000,13.330000,11.856905,45685800
+2005-01-10,13.320000,13.450000,13.170000,13.190000,11.732375,47571800
+2005-01-11,13.090000,13.390000,13.060000,13.200000,11.741268,63973000
+2005-01-12,13.260000,13.490000,13.240000,13.480000,11.990325,53420800
+2005-01-13,13.380000,13.670000,13.340000,13.480000,11.990325,56987700
+2005-01-14,13.560000,13.760000,13.490000,13.630000,12.123753,42509100
+2005-01-18,13.590000,13.900000,13.520000,13.780000,12.257174,60758900
+2005-01-19,13.660000,13.800000,13.450000,13.470000,11.981432,51115100
+2005-01-20,13.440000,13.680000,13.280000,13.280000,11.812428,45253200
+2005-01-21,13.350000,13.490000,13.280000,13.310000,11.839114,40716100
+2005-01-24,13.360000,13.500000,13.210000,13.240000,11.776849,37540700
+2005-01-25,13.490000,13.740000,13.460000,13.590000,12.088172,48682500
+2005-01-26,13.960000,14.010000,13.610000,13.620000,12.114855,78543500
+2005-01-27,13.670000,13.980000,13.500000,13.970000,12.426177,61917900
+2005-01-28,13.910000,13.950000,13.550000,13.680000,12.168226,47465300
+2005-01-31,13.770000,13.890000,13.630000,13.770000,12.248281,38555200
+2005-02-01,13.730000,13.760000,13.580000,13.650000,12.141539,43567600
+2005-02-02,13.670000,13.700000,13.450000,13.560000,12.061490,42057200
+2005-02-03,13.470000,13.550000,13.280000,13.340000,11.865800,39310700
+2005-02-04,13.310000,13.700000,13.300000,13.660000,12.150435,35832700
+2005-02-07,13.570000,13.610000,13.410000,13.550000,12.052594,43465100
+2005-02-08,13.550000,13.600000,13.460000,13.470000,11.981432,28869900
+2005-02-09,13.410000,13.480000,13.150000,13.170000,11.714587,42305100
+2005-02-10,13.210000,13.240000,13.020000,13.140000,11.687901,41274700
+2005-02-11,13.110000,13.390000,13.010000,13.350000,11.874691,50626000
+2005-02-14,13.260000,13.380000,13.230000,13.310000,11.839114,34744600
+2005-02-15,13.340000,13.460000,13.260000,13.290000,11.821325,43226900
+2005-02-16,13.240000,13.460000,13.230000,13.330000,11.856905,28360700
+2005-02-17,13.300000,13.380000,12.890000,12.960000,11.527794,44724400
+2005-02-18,12.970000,12.990000,12.840000,12.940000,11.510002,34769400
+2005-02-22,12.760000,12.870000,12.640000,12.660000,11.260947,50815200
+2005-02-23,12.730000,12.990000,12.590000,12.950000,11.518897,40930600
+2005-02-24,12.840000,13.120000,12.830000,13.010000,11.572268,39114400
+2005-02-25,13.040000,13.140000,12.960000,13.130000,11.679008,29254000
+2005-02-28,13.080000,13.250000,12.910000,12.950000,11.518897,37646400
+2005-03-01,13.030000,13.240000,12.980000,13.150000,11.696795,47027400
+2005-03-02,13.030000,13.200000,12.820000,13.050000,11.607845,49438200
+2005-03-03,13.080000,13.170000,12.960000,13.090000,11.643428,35449800
+2005-03-04,13.220000,13.460000,13.180000,13.280000,11.812428,55955700
+2005-03-07,13.370000,13.760000,13.340000,13.600000,12.097069,54894700
+2005-03-08,13.600000,13.800000,13.590000,13.620000,12.114855,38824300
+2005-03-09,13.440000,13.640000,13.310000,13.350000,11.874691,38544700
+2005-03-10,13.360000,13.420000,13.220000,13.260000,11.794641,28878100
+2005-03-11,13.330000,13.380000,13.000000,13.090000,11.643428,36704200
+2005-03-14,13.100000,13.250000,13.010000,13.150000,11.696795,30111500
+2005-03-15,13.270000,13.290000,13.110000,13.150000,11.696795,34154200
+2005-03-16,13.040000,13.210000,12.900000,13.020000,11.581161,44721200
+2005-03-17,13.010000,13.340000,12.990000,13.160000,11.705689,43835700
+2005-03-18,12.940000,13.010000,12.510000,12.540000,11.154209,153018100
+2005-03-21,12.600000,12.690000,12.420000,12.650000,11.252048,57215900
+2005-03-22,12.680000,12.740000,12.390000,12.490000,11.109732,50698700
+2005-03-23,12.320000,12.590000,12.240000,12.510000,11.127522,69699700
+2005-03-24,12.530000,12.550000,12.360000,12.400000,11.029679,34531200
+2005-03-28,12.400000,12.580000,12.260000,12.430000,11.056364,35841500
+2005-03-29,12.390000,12.520000,12.230000,12.280000,10.922938,35637300
+2005-03-30,12.340000,12.630000,12.320000,12.480000,11.100841,35214200
+2005-03-31,12.470000,12.670000,12.440000,12.480000,11.100841,32835900
+2005-04-01,12.560000,12.720000,12.520000,12.530000,11.145312,38333200
+2005-04-04,12.570000,12.730000,12.540000,12.690000,11.287631,48303100
+2005-04-05,12.650000,12.700000,12.380000,12.450000,11.074152,42466000
+2005-04-06,12.410000,12.560000,12.320000,12.380000,11.011891,30283800
+2005-04-07,12.370000,12.480000,12.280000,12.450000,11.074152,40822100
+2005-04-08,12.420000,12.530000,12.330000,12.360000,10.994098,38601300
+2005-04-11,12.370000,12.420000,12.310000,12.400000,11.029679,24216700
+2005-04-12,12.350000,12.530000,12.340000,12.490000,11.109732,41508400
+2005-04-13,12.400000,12.490000,12.170000,12.260000,10.905152,34983000
+2005-04-14,12.290000,12.360000,12.060000,12.090000,10.753934,49235100
+2005-04-15,11.940000,11.970000,11.660000,11.700000,10.407034,62108300
+2005-04-18,11.710000,11.970000,11.670000,11.800000,10.495983,42602500
+2005-04-19,11.900000,11.960000,11.690000,11.880000,10.567142,48096200
+2005-04-20,11.880000,12.030000,11.730000,11.780000,10.478193,55428000
+2005-04-21,11.930000,12.200000,11.910000,12.170000,10.825096,51078800
+2005-04-22,12.120000,12.170000,11.830000,11.920000,10.602724,43471400
+2005-04-25,11.930000,12.110000,11.920000,12.070000,10.736146,32411300
+2005-04-26,12.000000,12.300000,11.850000,11.880000,10.567142,30723400
+2005-04-27,11.830000,12.000000,11.810000,11.900000,10.584934,26514600
+2005-04-28,11.860000,11.900000,11.550000,11.620000,10.335875,39434000
+2005-04-29,11.670000,11.680000,11.250000,11.560000,10.282507,41386100
+2005-05-02,11.570000,11.680000,11.510000,11.600000,10.318087,27176700
+2005-05-03,11.530000,11.730000,11.510000,11.590000,10.309194,39877600
+2005-05-04,11.650000,11.870000,11.630000,11.720000,10.424827,37634100
+2005-05-05,11.710000,11.770000,11.560000,11.660000,10.371456,44792300
+2005-05-06,11.720000,11.800000,11.670000,11.760000,10.460404,27731800
+2005-05-09,11.740000,11.850000,11.690000,11.750000,10.451510,28091400
+2005-05-10,11.580000,11.720000,11.490000,11.520000,10.246928,36598000
+2005-05-11,11.580000,11.760000,11.480000,11.700000,10.407034,32542900
+2005-05-12,11.660000,12.020000,11.640000,11.890000,10.576039,62649000
+2005-05-13,11.920000,12.390000,11.910000,12.360000,10.994098,69496400
+2005-05-16,12.260000,12.450000,12.250000,12.350000,10.985206,41887000
+2005-05-17,12.260000,12.280000,11.980000,12.210000,10.860674,61633100
+2005-05-18,12.210000,12.430000,12.130000,12.330000,10.967413,44940000
+2005-05-19,12.360000,12.640000,12.350000,12.430000,11.056364,40463700
+2005-05-20,12.450000,12.640000,12.400000,12.550000,11.163103,25230900
+2005-05-23,12.620000,12.770000,12.600000,12.700000,11.296529,47390500
+2005-05-24,12.660000,12.860000,12.640000,12.800000,11.385474,43792600
+2005-05-25,12.720000,12.790000,12.610000,12.750000,11.341000,32280900
+2005-05-26,12.820000,12.980000,12.770000,12.920000,11.492210,31827400
+2005-05-27,12.860000,12.900000,12.790000,12.850000,11.429949,21594400
+2005-05-31,12.770000,12.870000,12.690000,12.800000,11.385474,28423900
+2005-06-01,12.790000,12.970000,12.770000,12.890000,11.465528,33329000
+2005-06-02,12.880000,12.990000,12.840000,12.980000,11.545584,33375700
+2005-06-03,12.950000,12.960000,12.550000,12.590000,11.198681,49038900
+2005-06-06,12.570000,12.720000,12.550000,12.650000,11.252048,29298000
+2005-06-07,12.640000,12.800000,12.560000,12.590000,11.198681,34230100
+2005-06-08,12.630000,12.750000,12.600000,12.670000,11.269840,35934900
+2005-06-09,12.630000,12.730000,12.580000,12.670000,11.269840,30027400
+2005-06-10,12.650000,12.850000,12.550000,12.640000,11.243156,28917900
+2005-06-13,12.580000,12.790000,12.560000,12.600000,11.207576,29601000
+2005-06-14,12.570000,12.640000,12.420000,12.480000,11.100841,36616900
+2005-06-15,12.580000,12.700000,12.300000,12.620000,11.225367,42236600
+2005-06-16,12.560000,12.630000,12.350000,12.460000,11.083047,40706600
+2005-06-17,12.600000,12.640000,12.280000,12.340000,10.976313,58512100
+2005-06-20,12.300000,12.550000,12.280000,12.410000,11.038571,34560100
+2005-06-21,12.400000,12.590000,12.370000,12.550000,11.163103,25868700
+2005-06-22,12.600000,12.700000,12.500000,12.630000,11.234262,31376000
+2005-06-23,12.630000,12.840000,12.480000,12.510000,11.127522,40990400
+2005-06-24,12.590000,12.660000,12.410000,12.500000,11.118629,34563900
+2005-06-27,12.500000,12.630000,12.500000,12.540000,11.154209,29560700
+2005-06-28,12.590000,12.920000,12.570000,12.830000,11.412163,49229600
+2005-06-29,13.470000,13.790000,13.230000,13.570000,12.070382,155754700
+2005-06-30,13.560000,13.630000,13.160000,13.200000,11.741268,73638100
+2005-07-01,13.390000,13.400000,13.210000,13.290000,11.821325,40126400
+2005-07-05,13.250000,13.310000,12.990000,13.270000,11.803535,43866000
+2005-07-06,13.230000,13.660000,13.210000,13.320000,11.848005,60319100
+2005-07-07,13.230000,13.350000,13.190000,13.290000,11.821325,50565700
+2005-07-08,13.280000,13.570000,13.260000,13.560000,12.061490,36333200
+2005-07-11,13.570000,13.740000,13.540000,13.710000,12.194913,37520900
+2005-07-12,13.660000,13.890000,13.620000,13.800000,12.274967,30736600
+2005-07-13,13.760000,14.000000,13.710000,13.960000,12.417285,34444700
+2005-07-14,13.980000,14.100000,13.860000,14.050000,12.497337,45097400
+2005-07-15,14.020000,14.110000,13.980000,14.040000,12.488443,43579300
+2005-07-18,13.960000,13.990000,13.900000,13.900000,12.363915,41776800
+2005-07-19,13.980000,14.510000,13.750000,13.940000,12.399492,36381100
+2005-07-20,13.790000,14.080000,13.780000,14.030000,12.479549,33567000
+2005-07-21,13.950000,14.050000,13.540000,13.720000,12.203808,41179300
+2005-07-22,13.670000,13.840000,13.570000,13.800000,12.274967,27661200
+2005-07-25,13.800000,13.900000,13.710000,13.790000,12.266070,18455700
+2005-07-26,13.800000,13.960000,13.760000,13.790000,12.266070,24798000
+2005-07-27,13.890000,13.950000,13.700000,13.840000,12.310545,22664400
+2005-07-28,13.860000,13.900000,13.710000,13.850000,12.319440,18985900
+2005-07-29,13.830000,13.860000,13.570000,13.570000,12.070382,27162200
+2005-08-01,13.670000,13.690000,13.450000,13.520000,12.025908,25341800
+2005-08-02,13.520000,13.690000,13.440000,13.580000,12.079280,28944700
+2005-08-03,13.500000,13.520000,13.290000,13.380000,11.901380,31846100
+2005-08-04,13.250000,13.380000,13.210000,13.300000,11.830220,30788400
+2005-08-05,13.270000,13.360000,13.140000,13.280000,11.812428,25542900
+2005-08-08,13.340000,13.420000,13.250000,13.290000,11.821325,24940300
+2005-08-09,13.330000,13.440000,13.300000,13.360000,11.883589,21887400
+2005-08-10,13.380000,13.570000,13.300000,13.350000,11.874691,29897300
+2005-08-11,13.330000,13.470000,13.260000,13.370000,11.892487,25785900
+2005-08-12,13.320000,13.360000,13.200000,13.300000,11.830220,31991200
+2005-08-15,13.260000,13.380000,13.220000,13.290000,11.821325,37981700
+2005-08-16,13.260000,13.350000,13.250000,13.300000,11.830220,32583500
+2005-08-17,13.280000,13.330000,13.140000,13.240000,11.776849,29401000
+2005-08-18,13.200000,13.270000,13.040000,13.090000,11.643428,28469400
+2005-08-19,13.140000,13.220000,13.060000,13.070000,11.625636,22327200
+2005-08-22,13.060000,13.200000,12.990000,13.090000,11.643428,22938400
+2005-08-23,13.060000,13.180000,12.960000,13.100000,11.652321,26582100
+2005-08-24,13.070000,13.120000,12.870000,12.950000,11.518897,34968300
+2005-08-25,12.970000,13.060000,12.920000,12.970000,11.536691,23002700
+2005-08-26,12.950000,13.000000,12.820000,12.900000,11.474422,21404700
+2005-08-29,12.840000,13.170000,12.830000,13.080000,11.634531,24065700
+2005-08-30,13.010000,13.070000,12.840000,13.030000,11.590058,24651900
+2005-08-31,13.000000,13.030000,12.820000,12.990000,11.554479,41226700
+2005-09-01,12.940000,13.400000,12.920000,13.310000,11.839114,48010000
+2005-09-02,13.360000,13.560000,13.350000,13.390000,11.910271,30062900
+2005-09-06,13.430000,13.620000,13.390000,13.560000,12.061490,21904000
+2005-09-07,13.500000,13.580000,13.330000,13.410000,11.928063,21709400
+2005-09-08,13.490000,13.530000,13.260000,13.370000,11.892487,21637400
+2005-09-09,13.460000,13.480000,13.000000,13.280000,11.812428,26508800
+2005-09-12,13.490000,13.500000,13.280000,13.490000,11.999223,63897300
+2005-09-13,13.480000,14.000000,13.460000,13.640000,12.132647,52205500
+2005-09-14,13.680000,13.750000,13.440000,13.440000,11.954747,42778400
+2005-09-15,13.510000,13.530000,13.270000,13.370000,11.892487,35539600
+2005-09-16,13.430000,13.470000,13.120000,13.250000,11.785744,139633800
+2005-09-19,13.280000,13.390000,13.140000,13.290000,11.821325,34865300
+2005-09-20,13.320000,13.570000,13.270000,13.400000,11.919167,50218900
+2005-09-21,13.420000,13.470000,13.170000,13.290000,11.821325,41807500
+2005-09-22,13.320000,13.620000,13.210000,13.520000,12.025908,50974700
+2005-09-23,12.540000,12.600000,12.260000,12.450000,11.074152,171863900
+2005-09-26,12.530000,12.550000,12.320000,12.400000,11.029679,59122300
+2005-09-27,12.430000,12.460000,12.290000,12.330000,10.967413,37175600
+2005-09-28,12.330000,12.340000,12.180000,12.190000,10.842883,44322900
+2005-09-29,12.190000,12.350000,12.000000,12.320000,10.958520,52676000
+2005-09-30,12.300000,12.550000,12.250000,12.400000,11.029679,47203900
+2005-10-03,12.420000,12.570000,12.370000,12.380000,11.011891,29586900
+2005-10-04,12.380000,12.450000,12.140000,12.240000,10.887359,41009900
+2005-10-05,12.220000,12.250000,12.030000,12.170000,10.825096,34813500
+2005-10-06,12.190000,12.280000,11.900000,12.030000,10.700568,45171900
+2005-10-07,12.070000,12.100000,11.850000,11.980000,10.656094,39090400
+2005-10-10,11.970000,12.070000,11.850000,12.010000,10.682778,29861900
+2005-10-11,12.010000,12.210000,11.990000,12.080000,10.745041,45667300
+2005-10-12,12.060000,12.250000,12.000000,12.000000,10.673881,38115600
+2005-10-13,11.990000,12.220000,11.970000,12.080000,10.745041,27465200
+2005-10-14,12.140000,12.350000,12.060000,12.310000,10.949624,32795600
+2005-10-17,12.280000,12.590000,12.210000,12.380000,11.011891,39140000
+2005-10-18,12.330000,12.470000,12.320000,12.370000,11.002991,25834800
+2005-10-19,12.320000,12.590000,11.960000,12.190000,10.842883,58423300
+2005-10-20,12.290000,12.410000,12.110000,12.140000,10.798413,47209000
+2005-10-21,12.210000,12.380000,12.180000,12.260000,10.905152,35759000
+2005-10-24,12.380000,12.850000,12.310000,12.820000,11.403267,57706100
+2005-10-25,12.730000,13.050000,12.700000,12.970000,11.536691,51784400
+2005-10-26,12.850000,12.980000,12.570000,12.660000,11.260947,43585600
+2005-10-27,12.600000,12.730000,12.440000,12.450000,11.074152,29631200
+2005-10-28,12.560000,12.770000,12.480000,12.710000,11.305421,33849500
+2005-10-31,12.650000,12.780000,12.570000,12.680000,11.278737,41947800
+2005-11-01,12.580000,12.860000,12.580000,12.730000,11.323209,24436100
+2005-11-02,12.580000,12.660000,12.300000,12.480000,11.100841,50044000
+2005-11-03,12.400000,12.410000,11.750000,12.200000,10.851779,111121100
+2005-11-04,12.180000,12.640000,12.170000,12.610000,11.216468,44196600
+2005-11-07,12.590000,12.640000,12.450000,12.610000,11.216468,29100600
+2005-11-08,12.550000,12.650000,12.490000,12.620000,11.225367,25869100
+2005-11-09,12.560000,12.620000,12.480000,12.510000,11.127522,23907100
+2005-11-10,12.490000,12.710000,12.380000,12.700000,11.296529,31650400
+2005-11-11,12.700000,13.030000,12.650000,12.810000,11.394370,30479200
+2005-11-14,12.780000,12.940000,12.750000,12.820000,11.403267,23442500
+2005-11-15,12.730000,12.800000,12.600000,12.670000,11.269840,27329000
+2005-11-16,12.620000,12.630000,12.410000,12.490000,11.109732,31078200
+2005-11-17,12.450000,12.630000,12.380000,12.610000,11.216468,42275000
+2005-11-18,12.800000,12.820000,12.570000,12.620000,11.225367,33066200
+2005-11-21,12.530000,12.650000,12.340000,12.440000,11.065258,41774600
+2005-11-22,12.330000,12.490000,12.310000,12.390000,11.020787,46235900
+2005-11-23,12.350000,12.670000,12.340000,12.640000,11.243156,34181400
+2005-11-25,12.670000,12.770000,12.600000,12.610000,11.216468,7851700
+2005-11-28,12.590000,12.600000,12.470000,12.540000,11.154209,23031900
+2005-11-29,12.580000,12.800000,12.570000,12.730000,11.323209,28170600
+2005-11-30,12.710000,12.810000,12.560000,12.600000,11.207576,34494400
+2005-12-01,12.680000,12.920000,12.670000,12.860000,11.438843,30461000
+2005-12-02,12.940000,12.950000,12.730000,12.760000,11.349896,28696700
+2005-12-05,12.720000,12.740000,12.420000,12.510000,11.127522,44188500
+2005-12-06,12.540000,12.630000,12.420000,12.520000,11.136417,31834600
+2005-12-07,12.520000,12.580000,12.360000,12.510000,11.127522,40344700
+2005-12-08,12.500000,12.520000,12.230000,12.440000,11.065258,74267000
+2005-12-09,12.430000,12.580000,12.430000,12.500000,11.118629,44904200
+2005-12-12,12.510000,12.860000,12.500000,12.840000,11.421054,47509200
+2005-12-13,12.700000,12.860000,12.600000,12.830000,11.412163,40282800
+2005-12-14,12.820000,12.900000,12.680000,12.810000,11.394370,36832500
+2005-12-15,12.710000,12.850000,12.640000,12.830000,11.412163,39606200
+2005-12-16,12.540000,12.730000,11.990000,12.690000,11.287631,203707200
+2005-12-19,12.550000,12.620000,12.280000,12.320000,10.958520,88450900
+2005-12-20,12.390000,12.420000,12.250000,12.280000,10.922938,88569800
+2005-12-21,12.320000,12.320000,12.140000,12.180000,10.833991,42154200
+2005-12-22,12.160000,12.420000,12.150000,12.320000,10.958520,64662200
+2005-12-23,12.380000,12.510000,12.310000,12.340000,10.976313,28028200
+2005-12-27,12.330000,12.410000,12.240000,12.350000,10.985206,20909100
+2005-12-28,12.350000,12.440000,12.270000,12.280000,10.922938,21423600
+2005-12-29,12.270000,12.360000,12.230000,12.290000,10.931831,21138100
+2005-12-30,12.210000,12.400000,12.160000,12.210000,10.860674,22598000
+2006-01-03,12.230000,12.800000,12.220000,12.600000,11.207576,56073800
+2006-01-04,12.560000,12.780000,12.540000,12.620000,11.225367,56412300
+2006-01-05,12.620000,12.920000,12.600000,12.790000,11.376582,52657100
+2006-01-06,12.800000,13.150000,12.750000,13.120000,11.670113,95067600
+2006-01-09,13.010000,13.090000,12.790000,12.880000,11.456632,48177800
+2006-01-10,12.810000,12.810000,12.610000,12.620000,11.225367,43903600
+2006-01-11,12.640000,12.680000,12.470000,12.600000,11.207576,60810100
+2006-01-12,12.730000,12.740000,12.480000,12.520000,11.136417,43749300
+2006-01-13,12.490000,12.540000,12.370000,12.510000,11.127522,33247500
+2006-01-17,12.460000,12.540000,12.400000,12.440000,11.065258,22593700
+2006-01-18,12.370000,12.390000,12.230000,12.340000,10.976313,44744000
+2006-01-19,12.470000,12.600000,12.450000,12.520000,11.136417,41646400
+2006-01-20,12.480000,12.530000,12.260000,12.290000,10.931831,53853200
+2006-01-23,12.310000,12.500000,12.210000,12.300000,10.940730,36996200
+2006-01-24,12.350000,12.390000,12.190000,12.200000,10.851779,48399500
+2006-01-25,12.400000,12.560000,12.340000,12.510000,11.127522,92994900
+2006-01-26,12.560000,12.600000,12.410000,12.440000,11.065258,63482400
+2006-01-27,12.450000,12.530000,12.390000,12.410000,11.038571,61590500
+2006-01-30,12.420000,12.650000,12.280000,12.610000,11.216468,62092100
+2006-01-31,12.560000,12.590000,12.410000,12.570000,11.180889,53373600
+2006-02-01,12.410000,12.650000,12.390000,12.580000,11.189787,54206000
+2006-02-02,12.540000,12.580000,12.360000,12.390000,11.020787,41926000
+2006-02-03,12.300000,12.380000,12.180000,12.210000,10.860674,63619900
+2006-02-06,12.220000,12.290000,12.060000,12.250000,10.896253,61768000
+2006-02-07,12.230000,12.390000,12.210000,12.370000,11.002991,51162700
+2006-02-08,12.440000,12.630000,12.440000,12.570000,11.180889,54270900
+2006-02-09,12.560000,12.800000,12.460000,12.690000,11.287631,107351900
+2006-02-10,12.580000,12.800000,12.560000,12.690000,11.287631,59674100
+2006-02-13,12.640000,12.720000,12.400000,12.490000,11.109732,37636000
+2006-02-14,12.480000,12.490000,12.350000,12.400000,11.029679,47912300
+2006-02-15,12.370000,12.500000,12.350000,12.410000,11.038571,37630400
+2006-02-16,12.420000,12.490000,12.360000,12.440000,11.065258,29399100
+2006-02-17,12.380000,12.440000,12.320000,12.400000,11.029679,35536000
+2006-02-21,12.350000,12.380000,12.250000,12.340000,10.976313,41343600
+2006-02-22,12.360000,12.490000,12.280000,12.480000,11.100841,40641000
+2006-02-23,12.440000,12.540000,12.400000,12.400000,11.029679,39913300
+2006-02-24,12.390000,12.490000,12.380000,12.460000,11.083047,31299300
+2006-02-27,12.440000,12.510000,12.360000,12.460000,11.083047,38585600
+2006-02-28,12.420000,12.580000,12.390000,12.420000,11.047471,43399200
+2006-03-01,12.490000,12.830000,12.490000,12.810000,11.394370,72471500
+2006-03-02,12.750000,12.920000,12.680000,12.800000,11.385474,63229200
+2006-03-03,12.630000,12.930000,12.610000,12.790000,11.376582,52363900
+2006-03-06,12.750000,12.960000,12.730000,12.770000,11.358789,48553100
+2006-03-07,12.740000,12.920000,12.720000,12.880000,11.456632,36177700
+2006-03-08,12.810000,12.950000,12.750000,12.860000,11.438843,38942500
+2006-03-09,12.900000,13.000000,12.820000,12.840000,11.421054,48773800
+2006-03-10,12.880000,13.000000,12.840000,12.900000,11.474422,38438000
+2006-03-13,12.920000,12.950000,12.850000,12.900000,11.474422,24297100
+2006-03-14,12.910000,12.980000,12.870000,12.960000,11.527794,44498300
+2006-03-15,12.940000,13.320000,12.900000,13.240000,11.776849,76106900
+2006-03-16,13.340000,13.540000,13.270000,13.500000,12.008117,81957200
+2006-03-17,13.540000,13.720000,13.420000,13.600000,12.097069,70639000
+2006-03-20,13.660000,13.870000,13.570000,13.720000,12.203808,123796300
+2006-03-21,13.340000,13.900000,13.220000,13.620000,12.114855,144515800
+2006-03-22,13.570000,14.000000,13.550000,13.990000,12.443967,83106300
+2006-03-23,13.910000,13.990000,13.730000,13.800000,12.274967,51106100
+2006-03-24,13.780000,13.830000,13.720000,13.790000,12.266070,35174400
+2006-03-27,13.830000,13.940000,13.770000,13.840000,12.310545,36646600
+2006-03-28,13.830000,13.850000,13.570000,13.590000,12.088172,47533800
+2006-03-29,13.590000,13.810000,13.430000,13.720000,12.203808,55889400
+2006-03-30,13.720000,13.850000,13.640000,13.780000,12.257174,50501000
+2006-03-31,13.710000,13.850000,13.690000,13.690000,12.177119,33305800
+2006-04-03,13.750000,13.860000,13.750000,13.790000,12.266070,26912300
+2006-04-04,13.820000,13.910000,13.780000,13.840000,12.310545,30831800
+2006-04-05,13.820000,14.000000,13.810000,13.950000,12.408389,70984700
+2006-04-06,13.960000,13.960000,13.740000,13.800000,12.274967,32788400
+2006-04-07,13.830000,13.910000,13.720000,13.750000,12.230490,29517200
+2006-04-10,13.730000,13.850000,13.620000,13.830000,12.301647,28928600
+2006-04-11,13.830000,14.000000,13.720000,13.840000,12.310545,44219500
+2006-04-12,13.840000,13.900000,13.730000,13.780000,12.257174,29217300
+2006-04-13,13.750000,13.770000,13.660000,13.680000,12.168226,29693900
+2006-04-17,13.660000,13.830000,13.650000,13.740000,12.221597,28970700
+2006-04-18,13.700000,14.010000,13.690000,14.000000,12.452865,41113900
+2006-04-19,13.840000,14.340000,13.810000,14.310000,12.728604,58050400
+2006-04-20,14.160000,14.310000,14.100000,14.150000,12.586285,32815300
+2006-04-21,14.160000,14.450000,14.150000,14.280000,12.701921,56187800
+2006-04-24,14.230000,14.670000,14.190000,14.480000,12.879815,61354000
+2006-04-25,14.560000,14.830000,14.550000,14.650000,13.031030,58690000
+2006-04-26,14.700000,14.740000,14.620000,14.720000,13.093297,47345900
+2006-04-27,14.680000,15.210000,14.550000,14.930000,13.280088,108692600
+2006-04-28,14.890000,14.950000,14.520000,14.590000,12.977662,67677500
+2006-05-01,14.610000,14.960000,14.430000,14.580000,12.968766,41422900
+2006-05-02,14.560000,14.580000,14.380000,14.430000,12.835343,29045900
+2006-05-03,14.370000,14.490000,14.070000,14.320000,12.737498,40839600
+2006-05-04,14.380000,14.470000,14.210000,14.290000,12.710817,21837400
+2006-05-05,14.300000,14.570000,14.280000,14.450000,12.853133,26398600
+2006-05-08,14.430000,14.550000,14.170000,14.230000,12.657444,29683000
+2006-05-09,14.220000,14.280000,14.050000,14.110000,12.550708,21975400
+2006-05-10,14.070000,14.370000,14.060000,14.240000,12.666341,23581800
+2006-05-11,14.190000,14.280000,13.800000,13.910000,12.372808,31474100
+2006-05-12,13.740000,14.220000,13.540000,13.980000,12.435071,39924500
+2006-05-15,13.830000,14.030000,13.800000,13.970000,12.426177,26079100
+2006-05-16,13.910000,14.220000,13.870000,14.190000,12.621868,42273300
+2006-05-17,14.080000,14.110000,13.750000,13.850000,12.319440,47984500
+2006-05-18,13.930000,13.990000,13.280000,13.770000,12.248281,46897500
+2006-05-19,13.610000,13.930000,13.560000,13.700000,12.186015,46390200
+2006-05-22,13.530000,13.720000,13.500000,13.550000,12.052594,29426200
+2006-05-23,13.560000,13.640000,13.440000,13.470000,11.981432,27182500
+2006-05-24,13.380000,13.870000,13.360000,13.780000,12.257174,32985200
+2006-05-25,13.760000,14.110000,13.700000,14.070000,12.515128,37154800
+2006-05-26,14.050000,14.180000,13.920000,14.050000,12.497337,18672500
+2006-05-30,14.000000,14.190000,13.880000,14.020000,12.470651,26323900
+2006-05-31,14.010000,14.250000,13.970000,14.220000,12.648550,34272800
+2006-06-01,14.140000,14.240000,13.960000,14.220000,12.648550,37626100
+2006-06-02,14.220000,14.280000,14.040000,14.150000,12.586285,22929600
+2006-06-05,14.050000,14.110000,13.860000,13.860000,12.328335,22489500
+2006-06-06,13.980000,14.000000,13.600000,13.820000,12.292753,31295500
+2006-06-07,13.860000,13.880000,13.500000,13.540000,12.043694,30404500
+2006-06-08,13.450000,13.590000,13.200000,13.530000,12.034801,50882600
+2006-06-09,13.490000,13.540000,13.330000,13.470000,11.981432,26740100
+2006-06-12,13.460000,13.580000,13.220000,13.250000,11.785744,36625600
+2006-06-13,13.270000,13.540000,13.100000,13.150000,11.696795,36410300
+2006-06-14,13.150000,13.290000,13.070000,13.190000,11.732375,27433700
+2006-06-15,13.330000,13.840000,13.300000,13.700000,12.186015,47881400
+2006-06-16,14.470000,14.920000,14.090000,14.190000,12.621868,115901400
+2006-06-19,14.350000,14.560000,14.180000,14.290000,12.710817,35603700
+2006-06-20,14.420000,14.480000,14.230000,14.250000,12.675236,29998100
+2006-06-21,14.290000,14.900000,14.280000,14.530000,12.924294,58342800
+2006-06-22,14.620000,14.700000,14.250000,14.330000,12.746394,48936300
+2006-06-23,14.680000,15.070000,14.540000,14.900000,13.253403,72620900
+2006-06-26,14.870000,14.930000,14.520000,14.670000,13.048823,32602300
+2006-06-27,14.610000,14.670000,14.330000,14.500000,12.897607,41863600
+2006-06-28,14.500000,14.630000,14.490000,14.580000,12.968766,25331900
+2006-06-29,14.610000,14.860000,14.400000,14.740000,13.111086,52383700
+2006-06-30,14.770000,14.970000,14.490000,14.490000,12.888713,49491600
+2006-07-03,14.610000,14.810000,14.610000,14.810000,13.173353,16969500
+2006-07-05,14.630000,14.770000,14.550000,14.570000,12.959872,29529100
+2006-07-06,14.520000,14.640000,14.430000,14.500000,12.897607,28736300
+2006-07-07,14.500000,14.980000,14.420000,14.780000,13.146663,53231000
+2006-07-10,14.780000,14.980000,14.400000,14.590000,12.977662,32810500
+2006-07-11,14.470000,14.580000,14.290000,14.540000,12.933187,35140800
+2006-07-12,14.510000,14.590000,14.150000,14.220000,12.648550,26652400
+2006-07-13,13.880000,14.270000,13.770000,14.100000,12.541811,52970500
+2006-07-14,14.050000,14.390000,13.930000,14.290000,12.710817,40051300
+2006-07-17,14.240000,14.470000,14.220000,14.420000,12.826447,32459300
+2006-07-18,14.390000,14.810000,14.350000,14.720000,13.093297,52405400
+2006-07-19,14.810000,15.210000,14.730000,15.070000,13.404617,66918900
+2006-07-20,15.060000,15.240000,14.910000,15.120000,13.449092,48545800
+2006-07-21,15.030000,15.290000,14.960000,15.120000,13.449092,57164900
+2006-07-24,15.080000,15.170000,14.920000,14.980000,13.324563,47729400
+2006-07-25,14.930000,15.060000,14.800000,14.930000,13.280088,36945500
+2006-07-26,14.940000,15.190000,14.760000,15.020000,13.360144,35836600
+2006-07-27,15.080000,15.190000,14.790000,14.870000,13.226722,37199200
+2006-07-28,14.930000,15.120000,14.850000,15.070000,13.404617,25837300
+2006-07-31,14.930000,15.030000,14.820000,14.970000,13.315666,35173100
+2006-08-01,14.900000,14.940000,14.550000,14.730000,13.102192,33903300
+2006-08-02,14.700000,14.940000,14.550000,14.810000,13.173353,33423700
+2006-08-03,14.800000,15.030000,14.730000,14.770000,13.137772,31820900
+2006-08-04,14.840000,14.870000,14.490000,14.620000,13.004346,35927100
+2006-08-07,14.640000,14.690000,14.500000,14.620000,13.004346,31683300
+2006-08-08,14.660000,15.000000,14.660000,14.800000,13.164456,42021300
+2006-08-09,14.950000,15.250000,14.850000,14.950000,13.297876,50604600
+2006-08-10,14.880000,15.270000,14.860000,15.130000,13.457987,34394400
+2006-08-11,15.100000,15.160000,14.890000,14.990000,13.333457,19315000
+2006-08-14,15.110000,15.500000,15.060000,15.290000,13.600307,36319700
+2006-08-15,15.470000,15.750000,15.430000,15.720000,13.982785,47767900
+2006-08-16,15.740000,15.750000,15.410000,15.540000,13.822677,49609300
+2006-08-17,15.420000,15.950000,15.410000,15.810000,14.062840,46413400
+2006-08-18,15.760000,15.810000,15.400000,15.710000,13.973890,33126400
+2006-08-21,15.590000,15.790000,15.450000,15.640000,13.911633,28275800
+2006-08-22,15.630000,15.650000,15.370000,15.480000,13.769311,39584700
+2006-08-23,15.480000,15.490000,15.230000,15.320000,13.626990,37833800
+2006-08-24,15.390000,15.500000,15.230000,15.380000,13.680359,41883900
+2006-08-25,15.360000,15.630000,15.310000,15.410000,13.707043,28897000
+2006-08-28,15.420000,15.650000,15.360000,15.540000,13.822677,28113600
+2006-08-29,15.530000,15.640000,15.400000,15.520000,13.804886,28281400
+2006-08-30,15.560000,15.830000,15.500000,15.760000,14.018366,27305200
+2006-08-31,15.680000,15.750000,15.500000,15.660000,13.929417,27549200
+2006-09-01,15.800000,15.830000,15.450000,15.500000,13.787101,24599100
+2006-09-05,15.600000,15.890000,15.590000,15.840000,14.089525,40291700
+2006-09-06,15.680000,15.810000,15.570000,15.620000,13.893836,44824300
+2006-09-07,15.640000,16.200001,15.580000,16.010000,14.240740,77357700
+2006-09-08,16.049999,16.180000,15.760000,15.910000,14.151790,46528300
+2006-09-11,15.790000,16.350000,15.750000,16.290001,14.489797,42647900
+2006-09-12,16.299999,16.379999,16.150000,16.299999,14.498691,44246800
+2006-09-13,16.309999,16.480000,16.180000,16.389999,14.578743,40822400
+2006-09-14,16.280001,16.490000,16.200001,16.469999,14.649902,27724100
+2006-09-15,16.520000,16.639999,16.100000,16.330000,14.525372,81171300
+2006-09-18,16.400000,16.450001,16.100000,16.250000,14.454216,59339400
+2006-09-19,16.309999,16.600000,16.070000,16.129999,14.347474,91193700
+2006-09-20,18.090000,18.290001,17.840000,17.930000,15.948557,202996500
+2006-09-21,17.930000,18.150000,17.910000,18.080000,16.081980,68071400
+2006-09-22,17.830000,17.900000,17.530001,17.540001,15.601664,49688000
+2006-09-25,17.580000,17.990000,17.389999,17.969999,15.984132,54215900
+2006-09-26,17.870001,18.240000,17.870001,18.190001,16.179831,64678900
+2006-09-27,18.080000,18.190001,17.900000,17.930000,15.948557,34076300
+2006-09-28,17.969999,18.150000,17.809999,17.990000,16.001934,43520700
+2006-09-29,17.950001,18.030001,17.740000,17.740000,15.779552,33614900
+2006-10-02,17.910000,17.959999,17.590000,17.660000,15.708395,41128800
+2006-10-03,17.570000,18.049999,17.520000,17.900000,15.921874,53435100
+2006-10-04,17.879999,18.200001,17.790001,18.170000,16.162039,46304700
+2006-10-05,18.180000,18.309999,18.139999,18.260000,16.242088,43868000
+2006-10-06,18.150000,18.459999,18.129999,18.190001,16.179831,33143800
+2006-10-09,18.160000,18.590000,18.070000,18.549999,16.500044,33338100
+2006-10-10,18.559999,18.740000,18.469999,18.740000,16.669046,50293800
+2006-10-11,18.680000,18.790001,18.480000,18.580000,16.526728,37734900
+2006-10-12,18.650000,19.000000,18.520000,18.990000,16.891420,44746600
+2006-10-13,18.969999,19.139999,18.780001,19.070000,16.962576,36476500
+2006-10-16,19.100000,19.129999,18.980000,18.990000,16.891420,24339400
+2006-10-17,18.840000,18.990000,18.600000,18.629999,16.571207,27320400
+2006-10-18,18.840000,18.950001,18.690001,18.740000,16.669046,26886900
+2006-10-19,18.660000,18.959999,18.370001,18.870001,16.784685,33306700
+2006-10-20,18.950001,19.020000,18.680000,18.980000,16.882523,23512400
+2006-10-23,18.969999,19.250000,18.870001,19.150000,17.033735,29547100
+2006-10-24,19.059999,19.150000,18.740000,18.889999,16.802469,28817700
+2006-10-25,18.910000,18.980000,18.549999,18.620001,16.562307,36102000
+2006-10-26,18.709999,18.879999,18.469999,18.719999,16.651260,30011200
+2006-10-27,18.590000,18.590000,18.059999,18.100000,16.099775,42152100
+2006-10-30,17.940001,18.590000,17.770000,18.520000,16.473360,29734300
+2006-10-31,18.540001,18.680000,18.410000,18.469999,16.428883,28280800
+2006-11-01,18.559999,18.650000,18.340000,18.469999,16.428883,31828700
+2006-11-02,18.450001,18.469999,18.049999,18.270000,16.250988,34605200
+2006-11-03,18.320000,18.340000,17.670000,17.780001,15.815137,47245500
+2006-11-06,17.900000,18.230000,17.820000,18.100000,16.099775,38100500
+2006-11-07,18.120001,18.250000,17.990000,18.200001,16.188723,27343800
+2006-11-08,18.160000,18.430000,18.049999,18.360001,16.331043,24934900
+2006-11-09,18.410000,18.799999,18.290001,18.540001,16.491150,40625800
+2006-11-10,18.650000,18.870001,18.610001,18.780001,16.704622,24006700
+2006-11-13,18.790001,19.209999,18.750000,19.180000,17.060417,34351000
+2006-11-14,19.170000,19.219999,18.920000,19.170000,17.051533,33725800
+2006-11-15,19.129999,19.270000,19.070000,19.120001,17.007046,19244400
+2006-11-16,19.160000,19.200001,18.889999,19.100000,16.989258,22138000
+2006-11-17,19.000000,19.469999,18.980000,19.459999,17.309481,34515900
+2006-11-20,19.330000,19.580000,19.320000,19.480000,17.327269,24461400
+2006-11-21,19.459999,19.490000,19.219999,19.480000,17.327269,20572900
+2006-11-22,19.490000,19.750000,19.480000,19.660000,17.487371,22510700
+2006-11-24,19.459999,19.730000,19.379999,19.600000,17.434008,7998500
+2006-11-27,19.480000,19.549999,18.830000,18.920000,16.829155,36667400
+2006-11-28,18.780001,19.030001,18.719999,18.900000,16.811367,38242400
+2006-11-29,19.040001,19.340000,18.910000,19.150000,17.033735,23085400
+2006-11-30,19.129999,19.309999,19.030001,19.049999,16.944784,32049500
+2006-12-01,19.110001,19.110001,18.629999,18.809999,16.731312,35175500
+2006-12-04,18.879999,19.340000,18.750000,19.280001,17.149372,47472800
+2006-12-05,19.320000,19.330000,18.780001,18.860001,16.775787,54935000
+2006-12-06,18.389999,18.420000,17.780001,17.879999,15.904080,94937400
+2006-12-07,17.620001,17.700001,17.320000,17.500000,15.566077,93141200
+2006-12-08,17.590000,17.879999,17.530001,17.799999,15.832925,37639100
+2006-12-11,17.770000,18.250000,17.709999,18.070000,16.073092,43930100
+2006-12-12,18.209999,18.219999,17.830000,17.990000,16.001934,41589600
+2006-12-13,18.219999,18.250000,17.879999,18.020000,16.028614,33991300
+2006-12-14,18.070000,18.250000,17.940001,18.020000,16.028614,26996600
+2006-12-15,18.010000,18.030001,17.590000,17.680000,15.726192,70448500
+2006-12-18,17.870001,18.170000,17.650000,17.910000,15.930766,58188500
+2006-12-19,17.150000,17.260000,16.930000,17.100000,15.210281,102097500
+2006-12-20,17.090000,17.219999,17.030001,17.100000,15.210281,48725300
+2006-12-21,17.139999,17.200001,17.090000,17.100000,15.210281,34704400
+2006-12-22,17.110001,17.250000,17.049999,17.110001,15.219178,19736700
+2006-12-26,17.020000,17.250000,16.990000,17.129999,15.236966,15053500
+2006-12-27,17.230000,17.240000,17.070000,17.100000,15.210281,16546600
+2006-12-28,17.129999,17.250000,17.040001,17.200001,15.299232,20485400
+2006-12-29,17.110001,17.379999,17.080000,17.139999,15.245860,23592900
+2007-01-03,17.219999,17.780001,17.100000,17.510000,15.574974,52241700
+2007-01-04,17.549999,17.870001,17.299999,17.680000,15.726192,33559800
+2007-01-05,17.620001,17.760000,17.440001,17.639999,15.690602,36154800
+2007-01-08,17.629999,17.930000,17.450001,17.860001,15.886301,31018100
+2007-01-09,17.930000,17.980000,17.650000,17.820000,15.850718,31417000
+2007-01-10,17.660000,17.799999,17.549999,17.770000,15.806239,27822400
+2007-01-11,17.790001,17.809999,17.350000,17.389999,15.468234,65380200
+2007-01-12,17.350000,17.549999,17.280001,17.500000,15.566077,42526400
+2007-01-16,17.389999,17.480000,17.260000,17.299999,15.388177,35736000
+2007-01-17,17.290001,17.709999,17.280001,17.520000,15.583868,31417600
+2007-01-18,17.480000,17.520000,17.100000,17.120001,15.228071,61438500
+2007-01-19,17.059999,17.450001,17.010000,17.270000,15.361494,28871700
+2007-01-22,17.250000,17.809999,16.770000,17.000000,15.121334,52768300
+2007-01-23,17.010000,17.309999,17.010000,17.120001,15.228071,33062000
+2007-01-24,17.110001,17.290001,17.090000,17.139999,15.245860,31268600
+2007-01-25,17.129999,17.219999,16.930000,16.980000,15.103538,35851900
+2007-01-26,17.040001,17.299999,17.030001,17.150000,15.254751,36013400
+2007-01-29,17.090000,17.299999,17.030001,17.270000,15.361494,33492500
+2007-01-30,17.320000,17.500000,17.090000,17.160000,15.263649,42647400
+2007-01-31,17.110001,17.200001,16.799999,17.160000,15.263649,39756700
+2007-02-01,17.219999,17.340000,17.030001,17.049999,15.165809,29262300
+2007-02-02,17.139999,17.440001,17.110001,17.420000,15.494920,41177800
+2007-02-05,17.350000,17.430000,17.080000,17.160000,15.263649,28521100
+2007-02-06,17.129999,17.190001,16.860001,17.020000,15.139127,31442200
+2007-02-07,17.120001,17.120001,16.850000,16.910000,15.041280,45225900
+2007-02-08,16.870001,16.920000,16.660000,16.709999,14.863382,45789500
+2007-02-09,16.790001,16.940001,16.540001,16.700001,14.854488,41419200
+2007-02-12,16.650000,16.709999,16.510000,16.650000,14.810013,31935900
+2007-02-13,16.709999,16.709999,16.530001,16.620001,14.783325,28212500
+2007-02-14,16.740000,16.940001,16.680000,16.770000,14.916751,42296700
+2007-02-15,16.840000,16.920000,16.680000,16.910000,15.041280,33887400
+2007-02-16,16.889999,16.980000,16.700001,16.700001,14.854488,34121000
+2007-02-20,16.690001,16.980000,16.570000,16.980000,15.103538,31925200
+2007-02-21,16.969999,17.280001,16.950001,17.200001,15.299232,50679300
+2007-02-22,17.260000,17.299999,17.010000,17.270000,15.361494,32971700
+2007-02-23,17.240000,17.260000,16.709999,16.820000,14.961226,54223900
+2007-02-26,16.910000,17.020000,16.000000,16.820000,14.961226,32784400
+2007-02-27,16.650000,16.799999,16.290001,16.290001,14.489797,39847100
+2007-02-28,16.370001,16.840000,16.309999,16.430000,14.614326,47578000
+2007-03-01,16.110001,17.040001,15.970000,16.770000,14.916751,81590400
+2007-03-02,16.629999,16.889999,16.530001,16.709999,14.863382,37306400
+2007-03-05,16.520000,17.000000,16.340000,16.370001,14.560957,34056700
+2007-03-06,16.520000,16.920000,16.490000,16.879999,15.014593,38263800
+2007-03-07,16.770000,16.850000,16.459999,16.490000,14.667691,30652900
+2007-03-08,16.700001,16.920000,16.629999,16.690001,14.845591,30462200
+2007-03-09,16.809999,16.950001,16.570000,16.629999,14.792220,24208200
+2007-03-12,16.610001,17.090000,16.600000,17.070000,15.183599,30612500
+2007-03-13,16.930000,17.209999,16.650000,16.650000,14.810013,31390600
+2007-03-14,16.740000,16.940001,16.660000,16.879999,15.014593,33735600
+2007-03-15,16.850000,16.940001,16.650000,16.719999,14.872277,24015100
+2007-03-16,16.709999,16.850000,16.620001,16.700001,14.854488,34226000
+2007-03-19,16.830000,17.230000,16.830000,17.180000,15.281442,29509600
+2007-03-20,17.250000,17.700001,17.139999,17.549999,15.610557,65763900
+2007-03-21,18.309999,18.389999,17.780001,18.170000,16.162039,95212000
+2007-03-22,18.010000,18.549999,17.950001,18.490000,16.446674,49522300
+2007-03-23,18.459999,18.590000,18.180000,18.240000,16.224300,34168200
+2007-03-26,18.219999,18.430000,18.020000,18.389999,16.357729,50457200
+2007-03-27,18.350000,18.500000,18.350000,18.490000,16.446674,33079800
+2007-03-28,18.340000,18.500000,18.150000,18.170000,16.162039,33674900
+2007-03-29,18.330000,18.330000,17.950001,18.160000,16.153137,28826400
+2007-03-30,18.180000,18.270000,17.889999,18.129999,16.126463,20829000
+2007-04-02,18.080000,18.180000,17.990000,18.139999,16.135351,20713000
+2007-04-03,18.230000,18.469999,18.170000,18.360001,16.331043,32084400
+2007-04-04,18.350000,18.570000,18.330000,18.559999,16.508934,23413200
+2007-04-05,18.500000,18.670000,18.389999,18.670000,16.606781,21896000
+2007-04-09,18.660000,18.700001,18.540001,18.570000,16.517828,19737500
+2007-04-10,18.780001,18.879999,18.680000,18.850000,16.766890,24388700
+2007-04-11,18.900000,18.910000,18.459999,18.590000,16.535616,29857300
+2007-04-12,18.570000,18.709999,18.440001,18.700001,16.633465,22695500
+2007-04-13,18.790001,18.850000,18.459999,18.629999,16.571207,32228500
+2007-04-16,18.680000,18.950001,18.660000,18.900000,16.811367,26629500
+2007-04-17,18.799999,19.000000,18.799999,18.889999,16.802469,26270500
+2007-04-18,18.799999,18.879999,18.700001,18.730000,16.660147,31580800
+2007-04-19,18.549999,18.850000,18.549999,18.760000,16.686838,31511200
+2007-04-20,18.980000,19.059999,18.820000,19.000000,16.900314,37574200
+2007-04-23,18.969999,19.090000,18.900000,18.940001,16.846943,24752500
+2007-04-24,19.040001,19.049999,18.750000,18.820000,16.740206,21191800
+2007-04-25,18.889999,18.990000,18.700001,18.900000,16.811367,24759100
+2007-04-26,18.770000,19.000000,18.760000,18.950001,16.855841,16645600
+2007-04-27,18.959999,19.290001,18.879999,19.100000,16.989258,25063000
+2007-04-30,19.100000,19.150000,18.799999,18.799999,16.722418,27161900
+2007-05-01,18.750000,18.820000,18.549999,18.590000,16.535616,33335900
+2007-05-02,18.690001,18.980000,18.610001,18.860001,16.775787,22342300
+2007-05-03,18.910000,19.040001,18.799999,19.020000,16.918100,18260900
+2007-05-04,19.040001,19.049999,18.770000,19.030001,16.926996,24433600
+2007-05-07,19.020000,19.150000,18.990000,19.049999,16.944784,16307300
+2007-05-08,18.930000,19.040001,18.879999,18.950001,16.855841,17168600
+2007-05-09,18.910000,18.910000,18.570000,18.830000,16.749105,22497800
+2007-05-10,18.690001,18.910000,18.480000,18.490000,16.446674,30821500
+2007-05-11,18.600000,19.040001,18.520000,18.980000,16.882523,30915000
+2007-05-14,18.940001,19.080000,18.770000,18.940001,16.846943,17521100
+2007-05-15,18.889999,19.170000,18.830000,18.840000,16.757994,23631300
+2007-05-16,18.860001,18.990000,18.650000,18.990000,16.891420,24453400
+2007-05-17,18.860001,19.110001,18.809999,19.049999,16.944784,21129600
+2007-05-18,19.070000,19.250000,19.010000,19.250000,17.122690,25941800
+2007-05-21,19.200001,19.320000,19.110001,19.320000,17.184946,18449000
+2007-05-22,19.389999,19.459999,19.200001,19.370001,17.229425,22231100
+2007-05-23,19.379999,19.469999,19.150000,19.160000,17.042633,23079900
+2007-05-24,19.139999,19.290001,18.670000,18.750000,16.677931,33424600
+2007-05-25,18.889999,19.299999,18.840000,19.240000,17.113794,24639600
+2007-05-29,19.290001,19.490000,19.190001,19.309999,17.176058,27015400
+2007-05-30,19.250000,19.420000,19.110001,19.420000,17.273901,28823700
+2007-05-31,19.389999,19.600000,19.260000,19.379999,17.238317,32588100
+2007-06-01,19.450001,19.700001,19.379999,19.660000,17.487371,25854400
+2007-06-04,19.549999,19.690001,19.389999,19.670000,17.496277,21916500
+2007-06-05,19.600000,19.639999,19.330000,19.480000,17.327269,26304900
+2007-06-06,19.370001,19.400000,19.110001,19.350000,17.211632,31111800
+2007-06-07,19.150000,19.350000,18.730000,18.730000,16.660147,39857800
+2007-06-08,18.730000,19.100000,18.730000,19.059999,16.953676,35495100
+2007-06-11,18.930000,19.320000,18.900000,19.209999,17.087105,24997700
+2007-06-12,19.209999,19.370001,18.809999,18.840000,16.757994,33775600
+2007-06-13,18.870001,19.299999,18.719999,19.299999,17.167166,29790400
+2007-06-14,19.549999,19.690001,19.490000,19.639999,17.469585,41226700
+2007-06-15,19.910000,19.950001,19.750000,19.860001,17.665270,40671500
+2007-06-18,19.920000,19.940001,19.620001,19.790001,17.603012,36639100
+2007-06-19,19.790001,19.940001,19.629999,19.879999,17.683060,24366900
+2007-06-20,19.959999,19.959999,19.520000,19.530001,17.371746,34945000
+2007-06-21,19.570000,19.730000,19.459999,19.680000,17.505167,27977300
+2007-06-22,19.600000,19.650000,19.389999,19.389999,17.247210,39685600
+2007-06-25,19.450001,19.660000,19.209999,19.480000,17.327269,28377000
+2007-06-26,19.620001,19.680000,19.020000,19.160000,17.042633,49101000
+2007-06-27,19.320000,19.770000,19.270000,19.690001,17.514059,76122400
+2007-06-28,19.620001,20.059999,19.610001,19.850000,17.656380,46529500
+2007-06-29,19.950001,20.020000,19.540001,19.709999,17.531847,31480800
+2007-07-02,19.879999,19.990000,19.719999,19.920000,17.718643,23759900
+2007-07-03,19.969999,20.070000,19.900000,20.070000,17.852070,18749800
+2007-07-05,20.059999,20.500000,19.959999,20.490000,18.225649,36504600
+2007-07-06,20.450001,20.490000,20.250000,20.400000,18.145599,26765700
+2007-07-09,20.240000,20.240000,20.070000,20.160000,17.932123,27335100
+2007-07-10,20.010000,20.150000,19.700001,19.719999,17.540741,29259100
+2007-07-11,19.770000,20.000000,19.719999,19.980000,17.772017,29842800
+2007-07-12,20.049999,20.510000,19.969999,20.500000,18.234550,36005900
+2007-07-13,20.500000,20.500000,20.250000,20.400000,18.145599,23160700
+2007-07-16,20.290001,20.469999,20.170000,20.200001,17.967707,19827000
+2007-07-17,20.250000,20.469999,20.209999,20.379999,18.127810,21767500
+2007-07-18,20.200001,20.420000,20.160000,20.410000,18.154503,30676900
+2007-07-19,20.559999,20.719999,20.520000,20.600000,18.323496,29326400
+2007-07-20,20.889999,20.940001,20.379999,20.610001,18.332396,43965400
+2007-07-23,20.809999,20.910000,20.639999,20.780001,18.483604,29403500
+2007-07-24,20.780001,20.980000,20.530001,20.639999,18.359074,39526500
+2007-07-25,20.700001,20.740000,20.400000,20.580000,18.305704,31017700
+2007-07-26,20.209999,20.459999,19.740000,20.010000,17.798698,41746500
+2007-07-27,20.000000,20.219999,19.600000,19.620001,17.451792,32531300
+2007-07-30,19.559999,19.670000,19.340000,19.580000,17.416220,21879400
+2007-07-31,19.790001,19.820000,19.110001,19.120001,17.007046,35952300
+2007-08-01,18.930000,19.820000,18.830000,19.790001,17.603012,54801800
+2007-08-02,19.760000,20.209999,19.670000,20.090000,17.869858,31437400
+2007-08-03,20.090000,20.190001,19.660000,19.660000,17.487371,35123900
+2007-08-06,19.820000,20.100000,19.730000,20.080000,17.860966,29746300
+2007-08-07,19.860001,20.080000,19.500000,19.680000,17.505167,34504100
+2007-08-08,19.959999,20.209999,19.799999,20.200001,17.967707,26724900
+2007-08-09,19.940001,20.299999,19.870001,20.090000,17.869858,33581200
+2007-08-10,19.750000,20.250000,19.670000,19.990000,17.780905,36769100
+2007-08-13,19.930000,19.959999,19.650000,19.719999,17.540741,22088400
+2007-08-14,19.799999,19.809999,19.320000,19.350000,17.211632,22266300
+2007-08-15,19.250000,19.709999,19.129999,19.180000,17.060417,27172500
+2007-08-16,19.110001,19.480000,18.809999,19.139999,17.024843,42493800
+2007-08-17,19.309999,19.549999,19.010000,19.350000,17.211632,36236800
+2007-08-20,19.250000,19.410000,18.950001,19.110001,16.998154,23960800
+2007-08-21,18.959999,19.340000,18.959999,19.270000,17.140474,23766700
+2007-08-22,19.389999,19.420000,19.070000,19.320000,17.184946,23664200
+2007-08-23,19.379999,19.690001,19.219999,19.370001,17.229425,31203800
+2007-08-24,19.299999,19.969999,19.299999,19.940001,17.736431,26753000
+2007-08-27,19.950001,20.020000,19.750000,19.860001,17.665270,18113200
+2007-08-28,19.799999,19.860001,19.330000,19.360001,17.220533,21875400
+2007-08-29,19.410000,20.150000,19.370001,20.129999,17.905437,30989600
+2007-08-30,19.959999,20.420000,19.809999,20.209999,17.976595,30459800
+2007-08-31,20.430000,20.480000,20.150000,20.280001,18.038860,24050700
+2007-09-04,20.240000,20.879999,20.200001,20.719999,18.430235,36903900
+2007-09-05,20.490000,20.850000,20.459999,20.730000,18.439133,30545000
+2007-09-06,20.719999,20.740000,20.330000,20.540001,18.270130,26360100
+2007-09-07,20.219999,20.400000,19.969999,20.160000,17.932123,29191800
+2007-09-10,20.340000,20.459999,19.980000,20.170000,17.941019,25314200
+2007-09-11,20.230000,20.520000,20.150000,20.459999,18.198963,20869100
+2007-09-12,20.350000,20.620001,20.299999,20.540001,18.270130,30815500
+2007-09-13,20.700001,20.700001,20.340000,20.450001,18.190079,24506800
+2007-09-14,20.389999,20.420000,20.010000,20.070000,17.852070,35461300
+2007-09-17,19.959999,20.230000,19.879999,20.020000,17.807596,23329200
+2007-09-18,20.080000,20.730000,20.049999,20.730000,18.439133,28759700
+2007-09-19,20.940001,21.129999,20.610001,20.840000,18.536980,46209900
+2007-09-20,20.820000,21.309999,20.629999,21.040001,18.714876,56499400
+2007-09-21,21.570000,22.170000,21.040001,21.980000,19.550995,95941900
+2007-09-24,22.000000,22.120001,21.549999,21.790001,19.381990,37448700
+2007-09-25,21.620001,21.980000,21.500000,21.940001,19.515411,30826800
+2007-09-26,22.010000,22.020000,21.500000,21.770000,19.364204,32477400
+2007-09-27,21.840000,21.879999,21.530001,21.629999,19.239668,21078400
+2007-09-28,21.660000,21.830000,21.559999,21.650000,19.257460,20381400
+2007-10-01,21.639999,21.990000,21.610001,21.969999,19.542099,23641200
+2007-10-02,21.980000,21.980000,21.709999,21.850000,19.435360,24202300
+2007-10-03,21.790001,21.879999,21.450001,21.570000,19.186308,25149500
+2007-10-04,21.650000,21.790001,21.510000,21.760000,19.355309,18636800
+2007-10-05,21.860001,22.320000,21.809999,22.180000,19.728893,31341400
+2007-10-08,22.049999,22.549999,22.030001,22.510000,20.022425,23281300
+2007-10-09,22.540001,22.680000,22.360001,22.580000,20.084688,24543300
+2007-10-10,22.590000,22.950001,22.530001,22.920000,20.387114,32204900
+2007-10-11,22.950001,23.000000,22.389999,22.459999,19.977953,35055400
+2007-10-12,22.400000,22.650000,22.110001,22.440001,19.960167,39710600
+2007-10-15,22.549999,22.580000,21.820000,22.070000,19.631050,34244900
+2007-10-16,22.000000,22.059999,21.709999,21.750000,19.346409,31324300
+2007-10-17,21.950001,21.950001,21.139999,21.490000,19.115147,42188200
+2007-10-18,21.490000,21.580000,21.110001,21.430000,19.061775,32349900
+2007-10-19,21.430000,21.469999,20.670000,20.750000,18.456926,40513300
+2007-10-22,20.600000,21.340000,20.510000,21.200001,18.857189,31102900
+2007-10-23,21.400000,21.490000,21.120001,21.450001,19.079563,30083700
+2007-10-24,21.260000,21.350000,20.850000,21.180000,18.839401,31753500
+2007-10-25,21.330000,21.450001,20.780001,21.000000,18.679295,40656800
+2007-10-26,21.320000,21.350000,20.990000,21.350000,18.990618,31368700
+2007-10-29,21.490000,21.820000,21.299999,21.770000,19.364204,29398500
+2007-10-30,21.650000,21.740000,21.480000,21.629999,19.239668,25714700
+2007-10-31,21.639999,22.240000,21.629999,22.170000,19.719995,31540300
+2007-11-01,22.000000,22.190001,21.750000,21.760000,19.355309,34306900
+2007-11-02,21.809999,22.100000,21.680000,22.030001,19.595470,30857000
+2007-11-05,21.830000,22.209999,21.760000,22.070000,19.631050,26496300
+2007-11-06,22.530001,22.889999,22.340000,22.830000,20.307064,34111500
+2007-11-07,22.500000,22.690001,22.070000,22.100000,19.657726,38119400
+2007-11-08,21.900000,22.049999,19.820000,20.350000,18.101126,94813800
+2007-11-09,19.930000,20.070000,19.320000,19.360001,17.220533,77224300
+2007-11-12,19.250000,19.920000,19.059999,19.440001,17.291693,55312900
+2007-11-13,19.799999,20.530001,19.440001,20.520000,18.252337,48238200
+2007-11-14,20.830000,20.930000,19.990000,20.180000,17.949915,47248500
+2007-11-15,19.920000,20.620001,19.719999,20.420000,18.163393,54927000
+2007-11-16,20.420000,21.059999,20.190001,20.799999,18.501396,44728400
+2007-11-19,20.650000,20.879999,20.320000,20.530001,18.261240,29048500
+2007-11-20,20.440001,20.940001,20.230000,20.690001,18.403553,34611400
+2007-11-21,20.250000,20.629999,20.020000,20.209999,17.976595,29401200
+2007-11-23,20.240000,20.430000,20.059999,20.309999,18.065548,11207000
+2007-11-26,20.379999,20.500000,19.690001,19.700001,17.522953,26680800
+2007-11-27,19.750000,20.180000,19.500000,19.889999,17.691961,33108300
+2007-11-28,20.080000,20.620001,20.010000,20.510000,18.243450,28537700
+2007-11-29,20.480000,20.690001,20.309999,20.480000,18.216757,25080700
+2007-11-30,20.780001,20.780001,19.780001,20.180000,17.949915,47957900
+2007-12-03,20.230000,20.459999,20.100000,20.240000,18.003281,36709300
+2007-12-04,19.750000,20.190001,19.680000,20.030001,17.816490,33425000
+2007-12-05,20.219999,21.459999,20.190001,21.219999,18.874983,56410100
+2007-12-06,21.100000,21.450001,20.940001,21.420000,19.052879,29484300
+2007-12-07,21.500000,21.540001,21.059999,21.139999,18.803823,24556300
+2007-12-10,21.290001,21.690001,21.230000,21.639999,19.248568,25332600
+2007-12-11,21.700001,21.700001,21.010000,21.070000,18.741556,30365600
+2007-12-12,21.410000,21.809999,21.059999,21.370001,19.008400,39807900
+2007-12-13,21.340000,21.770000,21.260000,21.610001,19.221884,30334600
+2007-12-14,21.360001,21.440001,21.120001,21.200001,18.857189,26260100
+2007-12-17,21.150000,21.160000,20.820000,20.940001,18.625925,36971900
+2007-12-18,21.090000,21.260000,20.620001,21.250000,18.901667,38884600
+2007-12-19,21.330000,21.400000,20.559999,20.760000,18.465818,68576400
+2007-12-20,22.430000,22.500000,22.040001,22.100000,19.657726,78506700
+2007-12-21,22.299999,22.760000,22.250000,22.709999,20.200323,58166900
+2007-12-24,22.639999,22.799999,22.420000,22.760000,20.244802,15394700
+2007-12-26,22.559999,23.000000,22.549999,23.000000,20.458273,24286900
+2007-12-27,23.049999,23.309999,22.910000,23.040001,20.493856,34093100
+2007-12-28,23.110001,23.290001,22.900000,22.969999,20.431585,21955900
+2007-12-31,22.690001,22.959999,22.500000,22.580000,20.084688,20004400
+2008-01-02,22.549999,22.820000,22.379999,22.490000,20.004639,42775700
+2008-01-03,22.430000,23.110001,22.430000,23.110001,20.556120,42045400
+2008-01-04,22.770000,22.879999,21.790001,22.030001,19.595470,44738600
+2008-01-07,21.959999,22.480000,21.790001,22.250000,19.791159,40045600
+2008-01-08,22.240000,22.320000,21.139999,21.150000,18.812716,43551600
+2008-01-09,21.340000,21.690001,21.150000,21.610001,19.221884,47973000
+2008-01-10,21.459999,21.799999,21.070000,21.680000,19.284149,42107400
+2008-01-11,21.530001,21.690001,21.059999,21.100000,18.768242,46251400
+2008-01-14,21.440001,22.120001,21.100000,22.059999,19.622150,48826100
+2008-01-15,21.760000,22.049999,21.299999,21.309999,18.955034,39579500
+2008-01-16,21.030001,22.330000,20.850000,21.920000,19.497629,76869400
+2008-01-17,21.900000,21.950001,21.299999,21.410000,19.043985,52783800
+2008-01-18,21.350000,21.830000,21.170000,21.580000,19.195200,51486500
+2008-01-22,20.280001,20.790001,19.680000,20.219999,17.985491,66962800
+2008-01-23,19.580000,20.680000,19.520000,20.610001,18.332396,56349500
+2008-01-24,20.600000,20.969999,20.150000,20.610001,18.332396,43764900
+2008-01-25,21.000000,21.080000,20.219999,20.280001,18.038860,42303500
+2008-01-28,20.129999,20.400000,20.010000,20.260000,18.021072,29189600
+2008-01-29,20.230000,20.280001,19.690001,20.070000,17.852070,35571800
+2008-01-30,20.020000,20.600000,19.809999,20.270000,18.029961,42369000
+2008-01-31,19.950001,20.730000,19.879999,20.549999,18.279026,52510400
+2008-02-01,20.780001,20.780001,20.219999,20.680000,18.394657,41937100
+2008-02-04,20.680000,20.680000,20.150000,20.200001,17.967707,26668700
+2008-02-05,19.780001,19.879999,19.209999,19.260000,17.131584,55269500
+2008-02-06,19.540001,20.090000,19.400000,19.680000,17.505167,50356200
+2008-02-07,19.260000,19.600000,19.030001,19.200001,17.078215,59196500
+2008-02-08,19.160000,19.389999,18.940001,19.190001,17.069313,38131800
+2008-02-11,19.209999,19.570000,19.170000,19.440001,17.291693,44115100
+2008-02-12,19.549999,19.889999,19.299999,19.410000,17.265007,36472700
+2008-02-13,19.700001,19.930000,19.459999,19.660000,17.487371,33598000
+2008-02-14,19.650000,19.719999,19.000000,19.090000,16.980373,36483300
+2008-02-15,19.020000,19.219999,18.940001,19.090000,16.980373,25070700
+2008-02-19,19.309999,19.400000,18.990000,19.020000,16.918100,34260000
+2008-02-20,19.020000,19.500000,18.980000,19.430000,17.282789,36662000
+2008-02-21,19.490000,19.600000,18.809999,18.889999,16.802469,55583400
+2008-02-22,18.930000,19.020000,18.180000,18.900000,16.811367,61623500
+2008-02-25,18.850000,19.120001,18.610001,18.969999,16.873629,56319700
+2008-02-26,18.900000,19.350000,18.870001,19.209999,17.087105,48428800
+2008-02-27,19.120001,19.450001,18.809999,19.190001,17.069313,37850700
+2008-02-28,19.100000,19.600000,18.920000,19.410000,17.265007,42274100
+2008-02-29,19.180000,19.190001,18.730000,18.799999,16.722418,43803100
+2008-03-03,18.760000,19.180000,18.660000,18.950001,16.855841,41836600
+2008-03-04,18.820000,18.980000,18.200001,18.440001,16.402203,71509100
+2008-03-05,18.709999,18.980000,18.620001,18.799999,16.722418,58178200
+2008-03-06,19.090000,19.600000,19.070000,19.230000,17.104891,69112300
+2008-03-07,19.129999,19.549999,18.870001,19.000000,16.900314,46510200
+2008-03-10,19.170000,19.500000,19.080000,19.280001,17.149372,36576100
+2008-03-11,19.650000,19.950001,19.100000,19.510000,17.353945,48217800
+2008-03-12,19.580000,20.170000,19.430000,19.680000,17.505167,48200300
+2008-03-13,19.570000,19.990000,19.360001,19.840000,17.647490,43684900
+2008-03-14,20.010000,20.049999,19.270000,19.520000,17.362844,43595500
+2008-03-17,18.930000,19.490000,18.930000,19.280001,17.149372,41039200
+2008-03-18,19.639999,20.049999,19.389999,20.020000,17.807596,38445300
+2008-03-19,20.260000,20.490000,19.549999,19.559999,17.398432,43142100
+2008-03-20,19.860001,20.170000,19.559999,20.080000,17.860966,45441300
+2008-03-24,20.420000,20.910000,20.370001,20.770000,18.474716,34487700
+2008-03-25,21.030001,21.160000,20.719999,21.080000,18.750448,43212600
+2008-03-26,21.290001,21.299999,20.629999,20.940001,18.625925,85438700
+2008-03-27,19.450001,19.700001,19.250000,19.430000,17.282789,117082800
+2008-03-28,19.549999,19.860001,19.320000,19.370001,17.229425,38130200
+2008-03-31,19.480000,19.629999,19.389999,19.559999,17.398432,32073900
+2008-04-01,19.910000,20.420000,19.719999,20.410000,18.154503,44724400
+2008-04-02,20.410000,20.760000,20.260000,20.490000,18.225649,32243000
+2008-04-03,20.400000,20.700001,20.270000,20.680000,18.394657,36848900
+2008-04-04,20.610001,20.690001,20.309999,20.350000,18.101126,53991200
+2008-04-07,20.450001,20.559999,20.200001,20.230000,17.994385,24030900
+2008-04-08,20.030001,20.150000,19.840000,19.920000,17.718643,35278100
+2008-04-09,19.920000,20.260000,19.870001,20.219999,17.985491,31565400
+2008-04-10,20.190001,20.799999,20.160000,20.450001,18.190079,49075300
+2008-04-11,20.090000,20.139999,19.809999,19.840000,17.647490,28955200
+2008-04-14,19.830000,20.150000,19.799999,19.860001,17.665270,21577300
+2008-04-15,19.950001,20.240000,19.930000,20.180000,17.949915,24994100
+2008-04-16,20.299999,20.940001,20.290001,20.770000,18.474716,47112400
+2008-04-17,20.830000,21.219999,20.690001,21.200001,18.857189,37481600
+2008-04-18,21.540001,21.930000,21.230000,21.799999,19.390882,47169800
+2008-04-21,21.639999,21.910000,21.410000,21.760000,19.355309,26095700
+2008-04-22,21.540001,21.879999,21.500000,21.780001,19.373096,29861500
+2008-04-23,21.790001,21.959999,21.690001,21.910000,19.488733,25501200
+2008-04-24,21.920000,22.280001,21.540001,22.010000,19.577681,35155700
+2008-04-25,21.959999,21.980000,21.250000,21.590000,19.204096,28692400
+2008-04-28,21.580000,21.799999,21.379999,21.510000,19.132929,24818500
+2008-04-29,21.410000,21.879999,21.330000,21.760000,19.355309,25801300
+2008-04-30,21.490000,21.580000,20.799999,20.850000,18.545872,41907200
+2008-05-01,21.010000,21.850000,20.959999,21.820000,19.408674,35781100
+2008-05-02,22.059999,22.070000,21.290001,21.510000,19.132929,36754700
+2008-05-05,21.500000,21.680000,21.340000,21.549999,19.168516,30525500
+2008-05-06,21.410000,21.770000,21.250000,21.500000,19.124039,32882300
+2008-05-07,21.430000,21.500000,20.910000,20.990000,18.670399,37811800
+2008-05-08,21.150000,21.280001,21.000000,21.100000,18.768242,26097900
+2008-05-09,20.840000,21.100000,20.700001,21.000000,18.679295,21073100
+2008-05-12,21.129999,21.629999,21.080000,21.510000,19.132929,24786200
+2008-05-13,21.549999,21.719999,21.309999,21.670000,19.275249,20443900
+2008-05-14,21.730000,22.139999,21.600000,21.780001,19.373096,26521200
+2008-05-15,21.620001,21.910000,21.540001,21.870001,19.453152,21660300
+2008-05-16,21.900000,21.969999,21.410000,21.680000,19.284149,33779900
+2008-05-19,22.040001,22.750000,21.870001,22.430000,19.951263,41541600
+2008-05-20,22.240000,22.440001,22.049999,22.160000,19.711105,25913800
+2008-05-21,22.240000,22.709999,21.940001,22.010000,19.577681,30644300
+2008-05-22,22.070000,22.469999,22.059999,22.309999,19.844522,24186400
+2008-05-23,22.290001,22.299999,21.889999,21.980000,19.550995,19994200
+2008-05-27,22.049999,22.750000,22.020000,22.660000,20.155853,29198000
+2008-05-28,22.790001,22.950001,22.639999,22.790001,20.271486,26752100
+2008-05-29,22.840000,23.000000,22.480000,22.790001,20.271486,32460500
+2008-05-30,22.809999,22.940001,22.680000,22.840000,20.315952,25258000
+2008-06-02,22.770000,22.770000,22.350000,22.680000,20.173635,31834700
+2008-06-03,22.740000,23.570000,22.700001,22.910000,20.378220,50881500
+2008-06-04,22.709999,23.150000,22.709999,22.910000,20.378220,35156400
+2008-06-05,22.850000,23.209999,22.709999,23.180000,20.618387,31050400
+2008-06-06,23.000000,23.059999,22.459999,22.459999,19.977953,41297500
+2008-06-09,22.639999,22.670000,22.250000,22.549999,20.058004,26286600
+2008-06-10,22.309999,22.670000,22.120001,22.500000,20.013533,28076900
+2008-06-11,22.559999,22.780001,22.049999,22.070000,19.631050,28994300
+2008-06-12,22.129999,22.260000,21.730000,21.860001,19.444256,35103700
+2008-06-13,22.090000,22.660000,21.950001,22.629999,20.129166,31789500
+2008-06-16,22.490000,23.000000,22.330000,22.940001,20.404907,32562000
+2008-06-17,23.020000,23.020000,22.500000,22.530001,20.040211,27281700
+2008-06-18,22.350000,22.670000,22.219999,22.440001,19.960167,23148400
+2008-06-19,22.330000,23.000000,22.270000,22.700001,20.191431,41127200
+2008-06-20,22.639999,22.680000,21.910000,22.100000,19.657726,52614700
+2008-06-23,22.309999,22.410000,21.830000,22.080000,19.639942,32593700
+2008-06-24,21.940001,22.440001,21.820000,22.230000,19.773365,28450200
+2008-06-25,22.410000,22.850000,22.190001,22.549999,20.058004,61229800
+2008-06-26,21.680000,22.219999,21.420000,21.420000,19.052879,70022700
+2008-06-27,21.389999,21.709999,20.969999,21.290001,18.937246,40295600
+2008-06-30,21.080000,21.350000,21.000000,21.000000,18.679295,36317800
+2008-07-01,20.790001,21.340000,20.650000,21.309999,18.955034,47419800
+2008-07-02,21.270000,21.400000,20.799999,20.820000,18.519186,32334200
+2008-07-03,21.040001,21.190001,20.690001,20.730000,18.439133,21598100
+2008-07-07,20.780001,21.330000,20.610001,21.090000,18.759346,34574700
+2008-07-08,21.090000,21.600000,20.969999,21.580000,19.195200,38512800
+2008-07-09,21.480000,21.610001,21.070000,21.110001,18.777142,41640900
+2008-07-10,21.170000,21.420000,20.930000,21.290001,18.937246,31664300
+2008-07-11,21.070000,21.250000,20.700001,20.959999,18.643721,36881300
+2008-07-14,21.100000,21.190001,20.260000,20.450001,18.190079,38892700
+2008-07-15,20.250000,20.450001,19.980000,20.250000,18.012171,51034800
+2008-07-16,20.219999,20.549999,20.090000,20.440001,18.181185,37598100
+2008-07-17,20.500000,21.040001,20.370001,20.860001,18.554766,37414500
+2008-07-18,20.889999,21.250000,20.650000,21.180000,18.839401,35894400
+2008-07-21,21.200001,21.420000,21.020000,21.090000,18.759346,21452900
+2008-07-22,21.160000,21.620001,21.150000,21.590000,19.204096,32973700
+2008-07-23,21.540001,21.590000,21.139999,21.500000,19.124039,32196800
+2008-07-24,21.190001,21.389999,20.850000,20.950001,18.634823,30294300
+2008-07-25,20.969999,20.980000,20.639999,20.950001,18.634823,22856500
+2008-07-28,20.730000,21.100000,20.690001,20.719999,18.430235,20871700
+2008-07-29,20.860001,21.570000,20.840000,21.430000,19.061775,31769100
+2008-07-30,21.410000,21.450001,20.969999,21.309999,18.955034,31664400
+2008-07-31,21.059999,21.900000,20.980000,21.530001,19.150728,37252500
+2008-08-01,21.580000,21.690001,21.270000,21.500000,19.124039,25008100
+2008-08-04,21.490000,21.590000,21.139999,21.250000,18.901667,26000600
+2008-08-05,21.420000,22.219999,21.309999,22.209999,19.755575,42677200
+2008-08-06,22.080000,22.910000,22.030001,22.860001,20.333748,42928500
+2008-08-07,22.629999,23.020000,22.459999,22.750000,20.235910,38857800
+2008-08-08,22.750000,23.620001,22.639999,23.520000,20.920809,47770000
+2008-08-11,23.410000,23.520000,22.920000,23.080000,20.529430,33999200
+2008-08-12,22.980000,23.010000,22.680000,22.900000,20.369324,29979400
+2008-08-13,22.790001,23.150000,22.570000,23.010000,20.467171,26117000
+2008-08-14,22.780001,23.400000,22.750000,23.190001,20.627277,32146100
+2008-08-15,23.330000,23.450001,22.920000,23.059999,20.511641,26526700
+2008-08-18,23.049999,23.230000,22.549999,22.770000,20.253693,23069400
+2008-08-19,22.680000,22.770000,22.450001,22.559999,20.066896,22491600
+2008-08-20,22.680000,22.950001,22.500000,22.660000,20.155853,21921000
+2008-08-21,22.389999,22.450001,22.160000,22.299999,19.835632,22441800
+2008-08-22,22.520000,22.820000,22.389999,22.700001,20.191431,18335600
+2008-08-25,22.540001,22.709999,22.190001,22.209999,19.755575,20109600
+2008-08-26,22.160000,22.379999,22.010000,22.150000,19.702209,16293400
+2008-08-27,22.200001,22.570000,22.129999,22.340000,19.871208,21416200
+2008-08-28,22.290001,22.730000,22.270000,22.639999,20.138060,18706100
+2008-08-29,22.400000,22.430000,21.700001,21.930000,19.506525,35278800
+2008-09-02,22.299999,22.370001,21.500000,21.549999,19.168516,43670400
+2008-09-03,21.520000,21.570000,21.010000,21.190001,18.848293,40639000
+2008-09-04,20.840000,20.889999,19.920000,19.930000,17.727537,80189500
+2008-09-05,19.719999,20.320000,19.700001,20.070000,17.852070,47196900
+2008-09-08,20.370001,20.650000,18.940001,19.260000,17.131584,93829900
+2008-09-09,19.400000,19.850000,19.020000,19.170000,17.051533,62465800
+2008-09-10,19.350000,19.400000,19.030001,19.160000,17.042633,52165600
+2008-09-11,19.030001,19.400000,18.889999,19.350000,17.211632,49981500
+2008-09-12,19.219999,19.670000,19.040001,19.610001,17.442900,39169200
+2008-09-15,19.049999,19.490000,18.920000,19.010000,16.909208,41749400
+2008-09-16,18.600000,19.049999,18.400000,18.959999,16.864735,61197300
+2008-09-17,18.690001,18.820000,18.070000,18.100000,16.099775,50033700
+2008-09-18,18.370001,18.950001,17.840000,18.750000,16.677931,76944900
+2008-09-19,20.990000,21.000000,15.000000,20.070000,17.852070,76248200
+2008-09-22,19.980000,20.760000,19.600000,19.750000,17.567429,39592900
+2008-09-23,19.820000,20.549999,19.639999,19.690001,17.514059,42062600
+2008-09-24,19.900000,20.500000,19.770000,19.950001,17.745329,32234300
+2008-09-25,20.340000,20.820000,20.209999,20.469999,18.207869,40432400
+2008-09-26,19.990000,20.850000,19.980000,20.620001,18.341290,39221800
+2008-09-29,20.340000,20.530001,18.000000,18.770000,16.695732,59105400
+2008-09-30,19.110001,20.410000,19.100000,20.309999,18.065548,51036400
+2008-10-01,20.190001,20.190001,19.549999,19.860001,17.665270,35077900
+2008-10-02,19.840000,19.990000,19.360001,19.490000,17.336161,43966500
+2008-10-03,19.670000,20.540001,19.480000,19.480000,17.327269,53659800
+2008-10-06,18.889999,19.299999,17.250000,18.299999,16.277668,79751400
+2008-10-07,18.290001,18.500000,16.780001,16.780001,14.925647,64087300
+2008-10-08,16.309999,17.629999,16.010000,16.879999,15.014593,75915900
+2008-10-09,17.219999,17.559999,16.000000,16.209999,14.418634,58118900
+2008-10-10,15.700000,17.030001,15.280000,16.680000,14.836694,96946200
+2008-10-13,17.520000,18.870001,17.040001,18.860001,16.775787,54677400
+2008-10-14,19.340000,19.440001,17.370001,17.690001,15.735088,59134200
+2008-10-15,17.400000,17.730000,15.940000,15.950000,14.187366,55101100
+2008-10-16,16.160000,16.990000,15.310000,16.990000,15.112435,70756900
+2008-10-17,16.410000,17.990000,16.209999,17.020000,15.139127,52293900
+2008-10-20,17.360001,18.160000,17.100000,18.160000,16.153137,42566000
+2008-10-21,17.900000,18.410000,17.590000,17.690001,15.735088,46932000
+2008-10-22,17.250000,17.500000,16.610001,17.170000,15.272546,46864400
+2008-10-23,16.980000,17.469999,16.010000,16.950001,15.076857,62156400
+2008-10-24,15.710000,16.709999,15.480000,16.200001,14.409739,54151300
+2008-10-27,15.990000,16.770000,15.310000,15.770000,14.027260,62876600
+2008-10-28,16.400000,17.680000,15.570000,17.620001,15.672818,47608000
+2008-10-29,17.360001,18.370001,16.770000,17.290001,15.379282,58715900
+2008-10-30,18.129999,18.610001,17.790001,18.320000,16.295458,71484400
+2008-10-31,17.860001,18.620001,17.809999,18.290001,16.268776,55114800
+2008-11-03,18.110001,18.410000,18.040001,18.330000,16.304359,28389100
+2008-11-04,18.500000,19.000000,18.320000,18.900000,16.811367,38671300
+2008-11-05,18.650000,18.760000,17.709999,17.820000,15.850718,37384600
+2008-11-06,17.430000,17.580000,16.650000,16.850000,14.987915,54420800
+2008-11-07,17.080000,17.660000,16.969999,17.530001,15.592764,35136500
+2008-11-10,17.830000,17.840000,17.360001,17.559999,15.619448,24816800
+2008-11-11,17.379999,17.520000,16.790001,17.290001,15.379282,35681000
+2008-11-12,16.820000,17.040001,16.400000,16.469999,14.649902,44447600
+2008-11-13,16.330000,17.750000,15.630000,17.719999,15.761770,62134400
+2008-11-14,17.260000,17.790001,16.660000,16.900000,15.032383,51944100
+2008-11-17,16.610001,16.990000,16.299999,16.410000,14.596537,41318500
+2008-11-18,16.520000,17.030001,15.920000,17.020000,15.139127,55664200
+2008-11-19,16.900000,17.299999,15.970000,16.000000,14.231845,65869100
+2008-11-20,16.020000,16.760000,15.320000,15.400000,13.698148,67199300
+2008-11-21,15.440000,16.490000,15.100000,16.379999,14.569852,73239000
+2008-11-24,16.570000,16.990000,16.320000,16.639999,14.801116,75407900
+2008-11-25,16.840000,16.850000,15.720000,15.980000,14.214055,73396600
+2008-11-26,15.650000,16.250000,15.640000,16.139999,14.356373,52962900
+2008-11-28,16.100000,16.150000,15.750000,16.090000,14.311898,19899100
+2008-12-01,15.710000,16.040001,15.380000,15.470000,13.760415,51362300
+2008-12-02,15.610000,16.020000,15.260000,15.790000,14.045049,41701000
+2008-12-03,15.920000,16.150000,15.620000,16.129999,14.347474,72210200
+2008-12-04,15.820000,15.990000,15.200000,15.440000,13.733728,48105900
+2008-12-05,15.230000,16.400000,15.170000,16.320000,14.516479,57184100
+2008-12-08,16.510000,17.320000,16.350000,17.040001,15.156910,49736700
+2008-12-09,16.740000,17.670000,16.600000,16.940001,15.067964,44413400
+2008-12-10,17.139999,17.590000,16.889999,17.389999,15.468234,36795000
+2008-12-11,17.290001,17.290001,16.400000,16.459999,14.641008,36833500
+2008-12-12,16.110001,16.940001,16.070000,16.840000,14.979017,33021700
+2008-12-15,16.400000,16.639999,16.129999,16.450001,14.632113,37179300
+2008-12-16,16.610001,17.400000,16.510000,17.270000,15.361494,57317700
+2008-12-17,16.969999,17.040001,16.680000,16.740000,14.890066,38961500
+2008-12-18,16.830000,16.969999,16.340000,16.610001,14.774429,45269900
+2008-12-19,17.440001,18.160000,16.610001,17.780001,15.815137,90125800
+2008-12-22,17.790001,17.790001,17.170000,17.520000,15.583868,32738500
+2008-12-23,17.530001,17.760000,17.080000,17.299999,15.388177,26611800
+2008-12-24,17.350000,17.450001,17.180000,17.320000,15.405969,8337100
+2008-12-26,17.400000,17.459999,17.260000,17.430000,15.503815,9496000
+2008-12-29,17.320000,17.400000,17.020000,17.219999,15.317023,21226900
+2008-12-30,17.350000,17.860001,17.250000,17.830000,15.859609,24498300
+2008-12-31,17.809999,17.990000,17.680000,17.730000,15.770661,23404500
+2009-01-02,17.639999,18.480000,17.620001,18.410000,16.375513,27833600
+2009-01-05,18.190001,18.250000,17.860001,18.090000,16.090878,28309400
+2009-01-06,18.170000,18.700001,18.030001,18.389999,16.357729,29856600
+2009-01-07,18.059999,18.250000,17.480000,17.650000,15.699500,38635700
+2009-01-08,17.500000,17.670000,17.309999,17.620001,15.672818,35148700
+2009-01-09,17.709999,17.709999,17.250000,17.360001,15.441547,32028400
+2009-01-12,17.410000,17.469999,16.840000,17.049999,15.165809,34575200
+2009-01-13,17.000000,17.320000,16.910000,17.139999,15.245860,32780400
+2009-01-14,16.870001,16.920000,16.180000,16.360001,14.552058,39968400
+2009-01-15,16.330000,16.680000,15.870000,16.530001,14.703275,45102600
+2009-01-16,16.740000,17.059999,16.410000,16.910000,15.041280,38250300
+2009-01-20,16.900000,16.980000,16.049999,16.100000,14.320790,34055200
+2009-01-21,16.400000,16.920000,16.250000,16.889999,15.023487,56144800
+2009-01-22,16.430000,16.930000,16.410000,16.650000,14.810013,36650800
+2009-01-23,16.430000,17.020000,16.389999,16.780001,14.925647,34362500
+2009-01-26,16.820000,17.360001,16.780001,16.959999,15.085753,27890000
+2009-01-27,17.020000,17.430000,16.980000,17.280001,15.370392,27379200
+2009-01-28,17.709999,18.010000,17.440001,17.840000,15.868508,32607600
+2009-01-29,17.670000,17.870001,17.260000,17.590000,15.646129,27538600
+2009-01-30,17.620001,17.760000,16.790001,16.830000,14.970117,33537000
+2009-02-02,16.600000,17.100000,16.510000,16.900000,15.032383,25466300
+2009-02-03,16.850000,17.059999,16.500000,17.049999,15.165809,31190700
+2009-02-04,17.150000,17.629999,17.049999,17.209999,15.308125,26574100
+2009-02-05,16.860001,17.700001,16.740000,17.620001,15.672818,35402800
+2009-02-06,17.690001,18.070000,17.480000,17.969999,15.984132,29569000
+2009-02-09,17.950001,18.090000,17.820000,18.049999,16.055302,23314600
+2009-02-10,17.820000,18.090000,17.240000,17.580000,15.637236,44734500
+2009-02-11,17.650000,18.010000,17.570000,17.799999,15.832925,28637900
+2009-02-12,17.549999,17.610001,16.940001,17.549999,15.610557,42572500
+2009-02-13,17.510000,17.959999,17.430000,17.719999,15.761770,27489800
+2009-02-17,17.150000,17.340000,16.809999,16.959999,15.085753,41029500
+2009-02-18,17.070000,17.510000,17.000000,17.240000,15.334808,41327900
+2009-02-19,17.340000,17.370001,16.799999,16.830000,14.970117,32818200
+2009-02-20,16.639999,16.750000,16.340000,16.559999,14.729955,46460000
+2009-02-23,16.520000,16.680000,15.820000,15.860000,14.107315,32342400
+2009-02-24,15.770000,16.500000,15.750000,16.440001,14.623219,37697900
+2009-02-25,16.379999,16.570000,16.010000,16.240000,14.445322,33469700
+2009-02-26,16.370001,16.370001,15.780000,15.780000,14.036158,36230900
+2009-02-27,15.500000,15.830000,15.410000,15.540000,13.822677,52301300
+2009-03-02,15.210000,15.690000,15.140000,15.200000,13.520250,47340600
+2009-03-03,15.400000,15.450000,14.970000,15.010000,13.351249,39128500
+2009-03-04,15.400000,15.480000,14.850000,14.960000,13.306775,71256500
+2009-03-05,14.940000,15.280000,14.520000,14.530000,12.924294,67101400
+2009-03-06,14.600000,14.860000,14.140000,14.470000,12.870920,52932400
+2009-03-09,14.310000,14.700000,13.800000,13.850000,12.319440,60034700
+2009-03-10,14.170000,15.190000,14.000000,15.090000,13.422407,58945900
+2009-03-11,15.280000,15.460000,14.730000,15.340000,13.644779,46562000
+2009-03-12,15.350000,15.680000,15.080000,15.630000,13.902732,27419900
+2009-03-13,15.650000,15.700000,15.280000,15.560000,13.840466,30867300
+2009-03-16,15.540000,15.800000,14.830000,14.900000,13.253403,39883700
+2009-03-17,14.930000,15.600000,14.650000,15.400000,13.698148,52106400
+2009-03-18,15.150000,16.090000,15.070000,15.830000,14.080626,58521300
+2009-03-19,17.559999,18.090000,17.350000,17.370001,15.450447,112624400
+2009-03-20,17.500000,17.709999,17.000000,17.100000,15.210281,75071700
+2009-03-23,17.340000,18.250000,17.260000,18.250000,16.233187,46048300
+2009-03-24,17.900000,18.219999,17.700001,17.910000,15.930766,32228100
+2009-03-25,18.030001,18.340000,17.700001,18.090000,16.090878,34714200
+2009-03-26,18.250000,18.680000,18.180000,18.680000,16.615679,34216000
+2009-03-27,18.450001,18.450001,17.930000,18.010000,16.019718,34232800
+2009-03-30,17.660000,17.700001,17.250000,17.660000,15.708395,33143900
+2009-03-31,17.930000,18.389999,17.820000,18.070000,16.073092,34583400
+2009-04-01,17.860001,18.680000,17.730000,18.580000,16.526728,37135900
+2009-04-02,18.930000,19.299999,18.650000,18.820000,16.740206,46061500
+2009-04-03,18.879999,19.450001,18.870001,19.290001,17.158260,40966900
+2009-04-06,19.000000,19.110001,18.690001,19.110001,17.042324,29302100
+2009-04-07,18.790001,18.860001,18.360001,18.540001,16.534008,29049200
+2009-04-08,18.690001,18.760000,18.330000,18.570000,16.560760,25522400
+2009-04-09,18.830000,19.200001,18.790001,19.110001,17.042324,25806100
+2009-04-13,18.870001,19.230000,18.860001,19.059999,16.997742,21743200
+2009-04-14,18.770000,19.010000,18.610001,18.870001,16.828293,30604400
+2009-04-15,18.690001,18.740000,18.110001,18.590000,16.578600,28350500
+2009-04-16,18.809999,19.290001,18.580000,19.180000,17.104759,30286800
+2009-04-17,19.240000,19.450001,18.730000,19.059999,16.997742,32850100
+2009-04-20,17.760000,19.080000,17.730000,18.820000,16.783712,84059500
+2009-04-21,18.780001,19.850000,18.639999,19.530001,17.416889,66973800
+2009-04-22,19.520000,19.750000,19.090000,19.350000,17.256367,40035100
+2009-04-23,19.400000,19.709999,19.139999,19.680000,17.550663,36144600
+2009-04-24,19.750000,20.180000,19.650000,19.790001,17.648758,42970200
+2009-04-27,19.590000,20.280001,19.520000,19.770000,17.630922,29389700
+2009-04-28,19.570000,19.930000,19.510000,19.740000,17.604160,25051800
+2009-04-29,19.450001,19.799999,19.410000,19.600000,17.479309,28310800
+2009-04-30,19.750000,19.940001,19.040001,19.340000,17.247450,49416900
+2009-05-01,19.350000,19.440001,19.120001,19.340000,17.247450,20402200
+2009-05-04,19.400000,19.440001,18.959999,18.969999,16.917479,38586500
+2009-05-05,19.170000,19.190001,18.670000,19.010000,16.953148,29366500
+2009-05-06,19.150000,19.190001,18.690001,19.059999,16.997742,27110300
+2009-05-07,18.990000,19.150000,18.190001,18.420000,16.426983,54151100
+2009-05-08,18.600000,18.780001,18.120001,18.320000,16.337805,41125900
+2009-05-11,18.150000,18.830000,18.040001,18.559999,16.551844,32102300
+2009-05-12,18.639999,18.670000,18.080000,18.379999,16.391312,33700100
+2009-05-13,18.150000,18.340000,17.969999,18.070000,16.114862,29146000
+2009-05-14,18.240000,18.580000,18.100000,18.459999,16.462656,26242700
+2009-05-15,18.590000,18.740000,18.350000,18.420000,16.426983,22884500
+2009-05-18,18.690001,18.940001,18.469999,18.920000,16.872892,22953400
+2009-05-19,18.790001,19.209999,18.770000,18.969999,16.917479,23414200
+2009-05-20,19.080000,19.400000,18.879999,18.940001,16.890726,29082600
+2009-05-21,18.760000,18.830000,18.350000,18.570000,16.560760,26281200
+2009-05-22,18.580000,19.090000,18.440001,18.650000,16.632107,24378600
+2009-05-26,18.459999,19.200001,18.280001,19.070000,17.006664,28315900
+2009-05-27,18.980000,19.450001,18.910000,18.990000,16.935320,27633200
+2009-05-28,19.010000,19.370001,18.830000,19.209999,17.131508,25588900
+2009-05-29,19.280001,19.600000,19.160000,19.590000,17.470392,42625200
+2009-06-01,19.750000,20.020000,19.600000,19.920000,17.764696,31616300
+2009-06-02,19.770000,20.440001,19.770000,20.350000,18.148169,31008500
+2009-06-03,20.240000,20.510000,20.090000,20.340000,18.139250,27013500
+2009-06-04,20.340000,20.670000,20.260000,20.610001,18.380035,30251800
+2009-06-05,20.820000,20.900000,20.510000,20.709999,18.469212,26652000
+2009-06-08,20.600000,21.070000,20.530001,20.870001,18.611906,34885600
+2009-06-09,20.950001,21.200001,20.830000,20.990000,18.718916,23790000
+2009-06-10,21.059999,21.190001,20.430000,20.740000,18.495970,33270900
+2009-06-11,20.660000,21.200001,20.660000,20.940001,18.674332,26073600
+2009-06-12,20.850000,21.000000,19.469999,20.850000,18.594069,23154700
+2009-06-15,20.639999,20.650000,20.000000,20.219999,18.032232,40579100
+2009-06-16,20.180000,20.270000,19.680000,19.690001,17.559578,41410900
+2009-06-17,19.719999,20.170000,19.700001,19.940001,17.782530,33324200
+2009-06-18,20.170000,20.459999,19.980000,20.250000,18.058985,34591500
+2009-06-19,20.420000,20.920000,20.370001,20.660000,18.424618,51092900
+2009-06-22,20.420000,20.750000,19.930000,19.969999,17.809282,38852500
+2009-06-23,20.209999,20.209999,19.730000,19.870001,17.720100,39341200
+2009-06-24,20.860001,21.750000,20.780001,21.260000,18.959707,99417800
+2009-06-25,21.250000,21.709999,21.129999,21.629999,19.289665,49521000
+2009-06-26,21.540001,21.540001,21.150000,21.240000,18.941870,37033500
+2009-06-29,21.340000,21.709999,21.219999,21.500000,19.173735,28022200
+2009-06-30,21.500000,21.750000,21.280001,21.420000,19.102386,32109600
+2009-07-01,21.629999,22.000000,21.620001,21.740000,19.387772,28169700
+2009-07-02,21.330000,21.340000,20.860001,21.040001,18.763515,27417800
+2009-07-06,20.920000,21.040001,20.500000,20.670000,18.433542,37209100
+2009-07-07,20.670000,20.780001,20.120001,20.180000,17.996565,35542700
+2009-07-08,20.209999,20.790001,19.790001,20.570000,18.344360,55776800
+2009-07-09,20.540001,20.770000,20.180000,20.320000,18.121407,31907000
+2009-07-10,20.200001,20.629999,20.190001,20.490000,18.273014,22410400
+2009-07-13,20.520000,20.730000,20.120001,20.719999,18.523335,26523000
+2009-07-14,20.639999,20.719999,20.280001,20.629999,18.442869,22065800
+2009-07-15,20.820000,21.530001,20.770000,21.510000,19.229578,32308800
+2009-07-16,21.570000,21.770000,21.340000,21.639999,19.345795,24399500
+2009-07-17,21.690001,21.740000,21.400000,21.740000,19.435194,21094800
+2009-07-20,21.700001,21.830000,21.340000,21.510000,19.229578,28079300
+2009-07-21,21.969999,22.000000,21.430000,21.930000,19.605051,36397100
+2009-07-22,21.840000,21.980000,21.629999,21.750000,19.444134,26150500
+2009-07-23,21.650000,22.400000,21.590000,22.200001,19.846428,33195600
+2009-07-24,21.940001,22.480000,21.910000,22.330000,19.962652,24623700
+2009-07-27,22.290001,22.309999,21.750000,21.980000,19.649752,23778600
+2009-07-28,21.860001,22.320000,21.719999,22.240000,19.882185,26375300
+2009-07-29,22.129999,22.280001,21.830000,22.010000,19.676573,21026500
+2009-07-30,22.240000,22.469999,21.910000,22.139999,19.792793,28861800
+2009-07-31,22.160000,22.420000,22.070000,22.129999,19.783850,24391100
+2009-08-03,22.320000,22.379999,22.000000,22.299999,19.935823,24046200
+2009-08-04,22.240000,22.280001,21.680000,21.889999,19.569298,28735000
+2009-08-05,21.830000,21.850000,21.180000,21.440001,19.167002,36001800
+2009-08-06,21.420000,21.940001,21.090000,21.209999,18.961386,28036000
+2009-08-07,21.430000,21.840000,21.370001,21.430000,19.158056,25561400
+2009-08-10,21.209999,21.410000,21.030001,21.250000,18.997147,19521600
+2009-08-11,21.080000,21.410000,21.030001,21.280001,19.023964,25855600
+2009-08-12,21.299999,22.100000,21.250000,21.879999,19.560349,34000100
+2009-08-13,21.940001,22.030001,21.770000,21.990000,19.658688,25740300
+2009-08-14,21.889999,22.080000,21.660000,21.959999,19.631870,24254700
+2009-08-17,21.650000,21.750000,21.370001,21.400000,19.131245,19838400
+2009-08-18,21.450001,21.959999,21.309999,21.580000,19.292158,16120100
+2009-08-19,21.320000,21.840000,21.200001,21.780001,19.470955,22257400
+2009-08-20,21.719999,22.049999,21.610001,21.940001,19.613993,21178600
+2009-08-21,22.139999,22.139999,21.740000,22.110001,19.765968,29644200
+2009-08-24,22.129999,22.490000,22.040001,22.320000,19.953711,22218700
+2009-08-25,22.490000,22.549999,22.200001,22.230000,19.873251,30600400
+2009-08-26,22.170000,22.260000,22.000000,22.200001,19.846428,18779300
+2009-08-27,22.160000,22.209999,21.780001,22.160000,19.810667,20012300
+2009-08-28,22.299999,22.610001,22.100000,22.160000,19.810667,23965200
+2009-08-31,22.000000,22.190001,21.730000,21.879999,19.560349,26421900
+2009-09-01,21.770000,22.309999,21.670000,21.940001,19.613993,34860200
+2009-09-02,21.830000,22.030001,21.680000,21.770000,19.462015,21034500
+2009-09-03,21.570000,21.600000,21.219999,21.559999,19.274275,28597100
+2009-09-04,21.570000,22.100000,21.540001,21.969999,19.640810,17831800
+2009-09-08,22.120001,22.120001,21.770000,21.879999,19.560349,24532500
+2009-09-09,21.969999,22.580000,21.879999,22.520000,20.132498,31035100
+2009-09-10,22.570000,22.799999,22.459999,22.760000,20.347061,23557100
+2009-09-11,22.820000,22.950001,22.670000,22.860001,20.436459,22601200
+2009-09-14,22.780001,22.930000,22.600000,22.719999,20.311300,24067800
+2009-09-15,22.730000,22.879999,22.600000,22.660000,20.257660,24791100
+2009-09-16,22.600000,22.610001,21.980000,22.129999,19.783850,86377100
+2009-09-17,21.420000,21.760000,21.320000,21.520000,19.238523,92155400
+2009-09-18,21.719999,21.870001,21.570000,21.620001,19.327925,70094400
+2009-09-21,21.559999,21.820000,21.500000,21.570000,19.283215,25487400
+2009-09-22,21.590000,21.709999,21.350000,21.410000,19.140186,34159300
+2009-09-23,21.469999,21.469999,21.049999,21.129999,18.889866,40677800
+2009-09-24,21.160000,21.350000,21.059999,21.170000,18.925623,28392800
+2009-09-25,21.100000,21.200001,20.830000,20.860001,18.648493,35144400
+2009-09-28,20.870001,21.340000,20.830000,21.170000,18.925623,28379500
+2009-09-29,21.120001,21.379999,21.100000,21.120001,18.880926,23280900
+2009-09-30,21.170000,21.200001,20.650000,20.840000,18.630611,44303900
+2009-10-01,20.730000,20.750000,20.100000,20.360001,18.201500,45924800
+2009-10-02,20.250000,20.639999,20.240000,20.340000,18.183620,41680500
+2009-10-05,20.459999,20.680000,20.160000,20.389999,18.228323,34471700
+2009-10-06,20.469999,20.600000,20.299999,20.540001,18.362415,37202700
+2009-10-07,20.520000,20.950001,20.469999,20.570000,18.389233,41754000
+2009-10-08,20.650000,21.059999,20.590000,20.799999,18.594849,46644500
+2009-10-09,20.740000,21.030001,20.660000,20.740000,18.585892,39813300
+2009-10-12,20.730000,20.920000,20.600000,20.719999,18.567968,32400900
+2009-10-13,20.750000,20.980000,20.650000,20.910000,18.738234,27852300
+2009-10-14,21.170000,21.500000,21.120001,21.190001,18.989157,41225400
+2009-10-15,21.049999,21.320000,20.990000,21.320000,19.105654,30361300
+2009-10-16,21.200001,22.030001,21.180000,21.809999,19.544758,65051600
+2009-10-19,22.020000,22.490000,21.870001,22.420000,20.091404,51697400
+2009-10-20,22.230000,22.340000,21.900000,22.190001,19.885292,35900300
+2009-10-21,22.100000,22.400000,22.000000,22.030001,19.741907,31267500
+2009-10-22,21.950001,22.260000,21.830000,22.190001,19.885292,27044900
+2009-10-23,22.260000,22.469999,21.950001,22.049999,19.759830,31577900
+2009-10-26,22.129999,22.379999,21.850000,21.990000,19.706059,28175900
+2009-10-27,21.870001,22.230000,21.799999,21.870001,19.598524,28669700
+2009-10-28,21.290001,21.500000,20.870001,21.299999,19.087725,30525600
+2009-10-29,21.420000,21.469999,21.200001,21.450001,19.222153,32212000
+2009-10-30,21.320000,21.610001,21.049999,21.100000,18.908501,37101800
+2009-11-02,21.059999,21.219999,20.799999,21.090000,18.899540,27906900
+2009-11-03,21.000000,21.059999,20.650000,20.889999,18.720312,20646000
+2009-11-04,20.820000,21.200001,20.650000,20.900000,18.729277,32398300
+2009-11-05,21.180000,21.520000,21.110001,21.320000,19.105654,22058800
+2009-11-06,21.170000,21.580000,21.110001,21.420000,19.195271,22995100
+2009-11-09,21.610001,21.870001,21.500000,21.830000,19.562679,22678100
+2009-11-10,21.639999,21.879999,21.600000,21.799999,19.535795,22687100
+2009-11-11,21.830000,22.049999,21.750000,21.900000,19.625410,19488200
+2009-11-12,22.010000,22.129999,21.940001,22.040001,19.750868,24305100
+2009-11-13,22.049999,22.360001,21.950001,22.340000,20.019712,24660700
+2009-11-16,22.360001,22.889999,22.299999,22.830000,20.458818,33383000
+2009-11-17,22.709999,22.799999,22.600000,22.799999,20.431932,26126600
+2009-11-18,22.660000,22.820000,22.540001,22.799999,20.431932,14827600
+2009-11-19,22.690001,22.709999,22.230000,22.389999,20.064516,17651800
+2009-11-20,22.270000,22.389999,22.180000,22.340000,20.019712,24493900
+2009-11-23,22.580000,22.719999,22.450001,22.600000,20.252708,22713600
+2009-11-24,22.700001,22.700001,22.090000,22.139999,19.840488,24232600
+2009-11-25,22.340000,22.719999,22.200001,22.600000,20.252708,24123500
+2009-11-27,22.160000,22.299999,22.000000,22.090000,19.795675,12569100
+2009-11-30,22.010000,22.150000,21.799999,22.080000,19.786716,26291700
+2009-12-01,22.160000,22.570000,22.080000,22.440001,20.109324,28447900
+2009-12-02,22.530001,22.750000,22.410000,22.660000,20.306475,21160800
+2009-12-03,22.660000,22.910000,22.600000,22.639999,20.288553,22492500
+2009-12-04,22.809999,23.000000,22.549999,22.830000,20.458818,27814200
+2009-12-07,22.719999,22.889999,22.350000,22.480000,20.145168,24138100
+2009-12-08,22.309999,22.360001,21.889999,21.910000,19.634371,27902700
+2009-12-09,21.990000,22.020000,21.620001,21.950001,19.670216,28550400
+2009-12-10,22.330000,22.670000,22.230000,22.590000,20.243748,34877300
+2009-12-11,22.700001,22.860001,22.490000,22.780001,20.414011,26741900
+2009-12-14,22.959999,23.440001,22.910000,23.309999,20.888960,32293900
+2009-12-15,23.110001,23.459999,23.059999,23.160000,20.754543,24653700
+2009-12-16,23.350000,23.459999,23.080000,23.120001,20.718704,30037100
+2009-12-17,23.070000,23.190001,22.770000,22.879999,20.503620,35972600
+2009-12-18,24.010000,24.740000,23.980000,24.340000,21.811977,88246400
+2009-12-21,24.389999,24.570000,24.219999,24.430000,21.892643,26935500
+2009-12-22,24.510000,24.629999,24.240000,24.459999,21.919521,23847200
+2009-12-23,24.459999,24.750000,24.360001,24.730000,22.161478,19257800
+2009-12-24,24.719999,24.959999,24.670000,24.950001,22.358633,7782700
+2009-12-28,24.830000,24.990000,24.719999,24.969999,22.376558,15927500
+2009-12-29,25.010000,25.110001,24.910000,25.010000,22.412395,16214100
+2009-12-30,24.920000,25.049999,24.700001,24.930000,22.340710,18697400
+2009-12-31,24.940001,24.950001,24.480000,24.530001,21.982254,17714100
+2010-01-04,24.660000,25.190001,24.660000,24.850000,22.269018,26795000
+2010-01-05,24.719999,24.850000,24.350000,24.820000,22.242130,28669900
+2010-01-06,24.770000,24.920000,24.379999,24.459999,21.919521,24560700
+2010-01-07,24.459999,24.610001,24.080000,24.379999,21.847832,30469700
+2010-01-08,24.280001,24.750000,24.250000,24.680000,22.116669,23542400
+2010-01-11,24.690001,24.799999,24.370001,24.690001,22.125635,19002400
+2010-01-12,24.559999,24.610001,24.309999,24.559999,22.009134,26204600
+2010-01-13,24.629999,24.990000,24.549999,24.799999,22.224213,24912300
+2010-01-14,25.129999,25.580000,25.049999,25.340000,22.754000,44685200
+2010-01-15,25.469999,25.639999,24.990000,25.240000,22.664200,42296200
+2010-01-19,25.320000,25.500000,25.120001,25.330000,22.745018,22732200
+2010-01-20,25.049999,25.129999,24.510000,25.059999,22.502575,39971500
+2010-01-21,25.190001,25.540001,24.590000,24.830000,22.296047,41756100
+2010-01-22,24.940001,25.049999,24.110001,24.150000,21.685442,33681500
+2010-01-25,24.240000,24.270000,23.820000,24.030001,21.577684,26366600
+2010-01-26,23.930000,24.129999,23.700001,23.879999,21.442997,28746000
+2010-01-27,23.900000,24.049999,23.540001,23.860001,21.425037,28819300
+2010-01-28,24.080000,24.180000,23.290001,23.469999,21.074833,41245700
+2010-01-29,23.650000,23.830000,22.980000,23.059999,20.706678,49957800
+2010-02-01,23.360001,23.379999,22.860001,23.219999,20.850351,29572800
+2010-02-02,23.330000,23.850000,23.240000,23.760000,21.335239,32150600
+2010-02-03,23.750000,23.840000,23.520000,23.750000,21.326262,23101100
+2010-02-04,23.610001,23.780001,23.100000,23.110001,20.751577,33254900
+2010-02-05,23.350000,23.670000,23.070000,23.549999,21.146669,45919600
+2010-02-08,23.540001,23.650000,23.100000,23.120001,20.760561,32929200
+2010-02-09,23.469999,23.719999,23.250000,23.510000,21.110752,34084100
+2010-02-10,23.510000,23.610001,22.920000,23.110001,20.751577,40139200
+2010-02-11,23.059999,23.510000,22.830000,23.350000,20.967085,28159000
+2010-02-12,23.110001,23.500000,22.969999,23.410000,21.020958,33657700
+2010-02-16,23.690001,23.850000,23.440001,23.809999,21.380136,21582200
+2010-02-17,23.950001,24.280001,23.940001,24.180000,21.712378,26147200
+2010-02-18,24.110001,24.570000,24.059999,24.520000,22.017681,31679100
+2010-02-19,24.410000,24.540001,24.180000,24.320000,21.838091,25941000
+2010-02-22,24.590000,24.980000,24.440001,24.809999,22.278082,37081800
+2010-02-23,24.809999,24.889999,24.379999,24.480000,21.981766,25098300
+2010-02-24,24.629999,24.830000,24.459999,24.770000,22.242170,24530400
+2010-02-25,24.450001,24.900000,24.209999,24.870001,22.331961,29145200
+2010-02-26,24.959999,24.959999,24.540001,24.650000,22.134411,21048700
+2010-03-01,24.600000,24.910000,24.540001,24.740000,22.215231,19744300
+2010-03-02,24.790001,24.950001,24.520000,24.580000,22.071558,23535000
+2010-03-03,24.510000,24.690001,24.400000,24.500000,21.999725,20726400
+2010-03-04,24.469999,24.860001,24.280001,24.760000,22.233185,20925500
+2010-03-05,24.860001,25.000000,24.840000,24.950001,22.403803,19312900
+2010-03-08,24.969999,24.969999,24.680000,24.700001,22.179310,16843600
+2010-03-09,24.600000,25.100000,24.559999,24.879999,22.340944,21835800
+2010-03-10,24.790001,25.020000,24.680000,24.870001,22.331961,23095900
+2010-03-11,24.799999,25.250000,24.799999,25.139999,22.574409,24214600
+2010-03-12,25.120001,25.190001,24.730000,25.049999,22.493589,35344700
+2010-03-15,24.920000,25.379999,24.879999,25.280001,22.700123,22025300
+2010-03-16,25.379999,25.410000,24.900000,25.209999,22.637262,25478300
+2010-03-17,25.230000,25.700001,25.139999,25.469999,22.870733,30309400
+2010-03-18,25.430000,25.600000,25.270000,25.379999,22.789921,29185800
+2010-03-19,25.549999,25.730000,24.950001,25.190001,22.619307,45881000
+2010-03-22,25.190001,25.700001,25.160000,25.559999,22.951548,24945500
+2010-03-23,25.670000,26.000000,25.540001,25.990000,23.337660,25834200
+2010-03-24,25.980000,26.000000,25.700001,25.760000,23.131136,28837000
+2010-03-25,25.950001,26.250000,25.719999,26.040001,23.382563,54350900
+2010-03-26,25.700001,26.000000,25.370001,25.690001,23.068281,58562200
+2010-03-29,25.650000,25.850000,25.410000,25.570000,22.960526,28975300
+2010-03-30,25.480000,25.580000,25.219999,25.540001,22.933590,29819400
+2010-03-31,25.330000,25.790001,25.299999,25.709999,23.086243,27196400
+2010-04-01,25.780001,25.950001,25.190001,25.459999,22.861746,26562700
+2010-04-05,25.510000,25.740000,25.350000,25.580000,22.969511,19390200
+2010-04-06,25.370001,25.940001,25.299999,25.830000,23.193996,26937600
+2010-04-07,25.760000,25.990000,25.750000,25.910000,23.265827,29833200
+2010-04-08,25.879999,26.080000,25.719999,25.830000,23.193996,28266100
+2010-04-09,25.799999,26.139999,25.650000,26.129999,23.463377,19663700
+2010-04-12,26.059999,26.280001,25.850000,26.200001,23.571341,24773300
+2010-04-13,26.010000,26.629999,26.000000,26.350000,23.706291,33933000
+2010-04-14,26.340000,26.500000,26.200001,26.379999,23.733274,27920000
+2010-04-15,26.290001,26.400000,26.139999,26.200001,23.571341,23828200
+2010-04-16,26.090000,26.370001,25.910000,25.950001,23.346418,42289300
+2010-04-19,25.980000,26.299999,25.870001,26.190001,23.562346,27078800
+2010-04-20,26.379999,26.410000,26.020000,26.150000,23.526352,23703400
+2010-04-21,26.120001,26.330000,25.980000,26.290001,23.652308,24276800
+2010-04-22,26.139999,26.309999,25.860001,26.240000,23.607321,27275800
+2010-04-23,26.170000,26.520000,26.160000,26.480000,23.823246,27478900
+2010-04-26,26.500000,26.610001,26.250000,26.469999,23.814247,20080500
+2010-04-27,26.340000,26.520000,25.900000,25.980000,23.373409,26235700
+2010-04-28,26.020000,26.110001,25.780001,25.860001,23.265450,31820300
+2010-04-29,25.990000,26.139999,25.709999,25.969999,23.364410,18620100
+2010-04-30,26.070000,26.100000,25.690001,25.870001,23.274448,25567400
+2010-05-03,26.049999,26.150000,25.709999,26.010000,23.400402,19357000
+2010-05-04,25.580000,25.670000,24.709999,24.969999,22.464743,48382700
+2010-05-05,24.850000,25.120001,24.629999,24.940001,22.437754,33663600
+2010-05-06,24.860001,24.969999,22.200001,23.910000,21.511091,56242000
+2010-05-07,23.920000,24.250000,23.110001,23.410000,21.061262,63592900
+2010-05-10,24.030001,25.129999,23.990000,24.389999,21.942932,38947200
+2010-05-11,24.250000,24.610001,24.110001,24.190001,21.762999,29469800
+2010-05-12,24.209999,24.700001,24.190001,24.600000,22.131866,27116300
+2010-05-13,24.420000,24.549999,24.200001,24.240000,21.807985,22780300
+2010-05-14,24.100000,24.120001,23.540001,23.780001,21.394142,28736600
+2010-05-17,23.889999,23.889999,23.330000,23.740000,21.358147,22401200
+2010-05-18,23.799999,23.950001,23.309999,23.430000,21.079250,29926200
+2010-05-19,23.219999,23.500000,23.020000,23.190001,20.863335,29806500
+2010-05-20,22.950001,23.030001,22.340000,22.350000,20.107609,40313300
+2010-05-21,21.620001,22.360001,21.549999,22.160000,19.936666,63119700
+2010-05-24,22.040001,22.670000,21.850000,22.280001,20.044636,32817400
+2010-05-25,21.770000,22.200001,21.629999,22.200001,19.972660,41173900
+2010-05-26,22.320000,22.620001,21.750000,21.910000,19.711750,43317600
+2010-05-27,22.350000,22.610001,22.270000,22.580000,20.314533,29881400
+2010-05-28,22.480000,22.850000,22.280001,22.570000,20.305536,35878200
+2010-06-01,22.420000,22.840000,22.150000,22.200001,19.972660,32336200
+2010-06-02,22.299999,22.670000,21.900000,22.639999,20.368515,28371600
+2010-06-03,22.709999,22.950001,22.540001,22.840000,20.548445,28583600
+2010-06-04,22.540001,22.959999,22.040001,22.129999,19.909679,35094700
+2010-06-07,22.129999,22.290001,21.690001,21.700001,19.522821,25656900
+2010-06-08,21.650000,21.780001,21.299999,21.760000,19.576809,29552600
+2010-06-09,21.770000,22.090000,21.480000,21.540001,19.378881,22198300
+2010-06-10,21.879999,22.240000,21.730000,22.200001,19.972660,25018200
+2010-06-11,22.030001,22.750000,21.990000,22.690001,20.413498,30179600
+2010-06-14,23.020000,23.080000,22.660000,22.690001,20.413498,22318600
+2010-06-15,22.790001,23.240000,22.660000,23.200001,20.872334,24304500
+2010-06-16,23.059999,23.219999,22.879999,23.180000,20.854338,20702000
+2010-06-17,23.110001,23.180000,22.920000,23.070000,20.755371,22376600
+2010-06-18,23.260000,23.260000,22.969999,23.200001,20.872334,29538900
+2010-06-21,23.370001,23.660000,22.980000,23.090000,20.773371,19526100
+2010-06-22,23.240000,23.490000,22.879999,22.889999,20.593435,19107800
+2010-06-23,22.969999,23.010000,22.629999,22.680000,20.404497,23533600
+2010-06-24,22.490000,22.700001,22.139999,22.219999,19.990658,30313500
+2010-06-25,23.139999,23.250000,22.559999,22.660000,20.386507,62583800
+2010-06-28,22.840000,22.850000,22.389999,22.450001,20.197578,24643100
+2010-06-29,22.020000,22.100000,21.580000,21.750000,19.567808,34229000
+2010-06-30,21.639999,21.959999,21.389999,21.459999,19.306902,35301600
+2010-07-01,21.459999,21.680000,21.240000,21.549999,19.387875,38318200
+2010-07-02,21.709999,22.030001,21.490000,21.830000,19.639786,31784000
+2010-07-06,22.000000,22.709999,22.000000,22.320000,20.080622,39642400
+2010-07-07,22.700001,23.120001,22.600000,23.090000,20.773371,36663500
+2010-07-08,23.139999,23.340000,22.959999,23.219999,20.890324,27335600
+2010-07-09,23.250000,23.389999,23.139999,23.370001,21.025274,16258800
+2010-07-12,23.209999,23.480000,23.110001,23.379999,21.079367,19312200
+2010-07-13,23.500000,23.860001,23.459999,23.709999,21.376894,22207700
+2010-07-14,23.850000,24.190001,23.719999,23.940001,21.584263,34781800
+2010-07-15,23.830000,23.900000,23.500000,23.830000,21.485086,26060700
+2010-07-16,23.799999,23.950001,23.250000,23.270000,20.980192,30343000
+2010-07-19,23.480000,23.670000,23.400000,23.590000,21.268702,19688200
+2010-07-20,23.270000,23.969999,23.040001,23.920000,21.566231,38192700
+2010-07-21,23.860001,23.969999,23.459999,23.559999,21.241657,38740000
+2010-07-22,23.719999,24.410000,23.700001,24.309999,21.917854,32726500
+2010-07-23,24.200001,24.580000,24.150000,24.500000,22.089161,29755500
+2010-07-26,24.450001,24.670000,24.350000,24.639999,22.215380,27093000
+2010-07-27,24.600000,24.680000,24.320000,24.570000,22.152269,23800600
+2010-07-28,24.549999,24.590000,24.170000,24.280001,21.890812,21200100
+2010-07-29,24.250000,24.389999,23.629999,23.700001,21.367882,39976700
+2010-07-30,23.570000,23.830000,23.400000,23.639999,21.313786,48321700
+2010-08-02,23.870001,24.389999,23.719999,24.290001,21.899828,26652000
+2010-08-03,24.309999,24.340000,24.059999,24.209999,21.827694,16366100
+2010-08-04,24.290001,24.590000,24.170000,24.490000,22.080143,19989600
+2010-08-05,24.280001,24.440001,24.139999,24.290001,21.899828,18723600
+2010-08-06,24.010000,24.400000,23.900000,24.379999,21.980967,33734300
+2010-08-09,24.400000,24.590000,24.240000,24.260000,21.872774,20551400
+2010-08-10,24.100000,24.430000,23.920000,24.290001,21.899828,28063400
+2010-08-11,23.910000,23.940001,23.559999,23.660000,21.331818,25666300
+2010-08-12,23.240000,23.389999,22.730000,22.940001,20.682667,33737300
+2010-08-13,22.760000,22.940001,22.510000,22.660000,20.430218,29793400
+2010-08-16,22.510000,23.000000,22.350000,22.719999,20.484314,19511700
+2010-08-17,22.860001,23.240000,22.719999,23.049999,20.781841,22483000
+2010-08-18,22.910000,23.250000,22.799999,23.090000,20.817907,18984200
+2010-08-19,22.860001,23.160000,22.820000,23.000000,20.736761,26754800
+2010-08-20,22.950001,23.080000,22.770000,23.020000,20.754795,21985400
+2010-08-23,23.059999,23.299999,22.830000,22.840000,20.592501,18250200
+2010-08-24,22.610001,22.790001,22.379999,22.410000,20.204819,23293400
+2010-08-25,22.219999,22.549999,22.030001,22.420000,20.213837,18685900
+2010-08-26,22.540001,22.730000,22.190001,22.250000,20.060562,18884700
+2010-08-27,22.379999,22.549999,21.950001,22.510000,20.294973,21375200
+2010-08-30,22.340000,22.620001,22.000000,22.020000,19.853195,23318300
+2010-08-31,21.920000,21.930000,21.660000,21.840000,19.690910,41712400
+2010-09-01,22.150000,22.650000,22.100000,22.620001,20.394157,29085400
+2010-09-02,22.610001,22.719999,22.350000,22.480000,20.267927,18057800
+2010-09-03,22.790001,22.940001,22.570000,22.920000,20.664639,21256900
+2010-09-07,24.559999,24.690001,24.010000,24.260000,21.872774,113824400
+2010-09-08,24.070000,24.230000,23.879999,24.139999,21.764582,54705500
+2010-09-09,24.320000,24.500000,24.209999,24.330000,21.935886,25963700
+2010-09-10,24.420000,25.150000,24.379999,25.049999,22.585032,44266700
+2010-09-13,25.139999,25.420000,25.110001,25.110001,22.639135,46816700
+2010-09-14,25.040001,25.580000,25.040001,25.379999,22.882566,31261800
+2010-09-15,25.270000,25.790001,25.170000,25.740000,23.207140,37563600
+2010-09-16,25.680000,25.709999,25.209999,25.360001,22.864531,52951000
+2010-09-17,26.440001,27.629999,26.400000,27.480000,24.775921,150976500
+2010-09-20,27.350000,27.570000,27.030001,27.490000,24.784943,49729800
+2010-09-21,27.330000,27.360001,26.700001,26.820000,24.180864,82733900
+2010-09-22,26.660000,27.330000,26.639999,27.200001,24.523476,51969100
+2010-09-23,26.959999,27.490000,26.959999,27.120001,24.451349,33123300
+2010-09-24,27.440001,27.500000,26.740000,26.959999,24.307089,58136200
+2010-09-27,26.860001,27.120001,26.780001,26.950001,24.298080,34142900
+2010-09-28,27.059999,27.400000,26.790001,27.190001,24.514460,43256700
+2010-09-29,27.070000,27.299999,26.930000,27.170000,24.496433,36626800
+2010-09-30,27.280001,27.410000,26.809999,26.850000,24.207918,42880900
+2010-10-01,27.180000,27.610001,27.139999,27.240000,24.559532,33690400
+2010-10-04,27.020000,27.360001,26.889999,26.900000,24.297598,36791900
+2010-10-05,27.209999,27.350000,27.059999,27.299999,24.658895,42520100
+2010-10-06,27.299999,27.860001,27.240000,27.580000,24.911806,50631600
+2010-10-07,27.629999,27.889999,27.540001,27.690001,25.011168,40611400
+2010-10-08,27.590000,28.080000,27.309999,28.000000,25.291172,33162900
+2010-10-11,27.900000,28.100000,27.730000,27.850000,25.155684,22649500
+2010-10-12,27.750000,28.000000,27.410000,27.950001,25.246014,27552500
+2010-10-13,28.000000,28.910000,26.980000,28.600000,25.833130,49145300
+2010-10-14,28.660000,28.700001,28.110001,28.330000,25.589251,38136000
+2010-10-15,28.469999,28.910000,28.160000,28.900000,26.104105,54775500
+2010-10-18,28.730000,29.230000,28.580000,29.230000,26.402184,35810300
+2010-10-19,28.940001,29.240000,28.450001,29.129999,26.311853,44673600
+2010-10-20,29.010000,29.180000,28.600000,28.639999,25.869255,39081700
+2010-10-21,28.799999,29.139999,28.570000,28.820000,26.031841,30191100
+2010-10-22,28.840000,29.030001,28.730000,28.990000,26.185400,16499800
+2010-10-25,29.150000,29.290001,28.809999,28.840000,26.049915,30650400
+2010-10-26,28.709999,28.840000,28.540001,28.629999,25.860228,28045400
+2010-10-27,28.549999,28.820000,28.360001,28.700001,25.923460,33890100
+2010-10-28,28.820000,29.480000,28.500000,29.360001,26.519608,35130600
+2010-10-29,29.360001,29.709999,29.299999,29.379999,26.537668,35074300
+2010-11-01,29.520000,29.549999,28.930000,29.129999,26.311853,21100000
+2010-11-02,29.490000,29.570000,29.260000,29.530001,26.673159,24201900
+2010-11-03,29.549999,29.570000,28.990000,29.200001,26.375088,30003800
+2010-11-04,29.610001,29.820000,29.100000,29.469999,26.618959,35709700
+2010-11-05,29.299999,29.500000,28.980000,29.250000,26.420250,28312700
+2010-11-08,29.080000,29.190001,28.840000,29.040001,26.230560,27179000
+2010-11-09,29.059999,29.250000,28.610001,28.740000,25.959583,34625800
+2010-11-10,28.639999,28.840000,28.360001,28.690001,25.914425,27841000
+2010-11-11,28.190001,28.580000,27.680000,28.570000,25.806034,37211000
+2010-11-12,28.500000,28.610001,28.090000,28.320000,25.580215,25818800
+2010-11-15,28.350000,28.770000,28.280001,28.400000,25.652479,21636700
+2010-11-16,28.010000,28.100000,27.500000,27.580000,24.911806,31206600
+2010-11-17,27.510000,28.110001,27.490000,27.910000,25.209887,24642700
+2010-11-18,28.370001,28.590000,28.160000,28.309999,25.571182,32649200
+2010-11-19,28.320000,28.370001,28.030001,28.150000,25.426659,25890900
+2010-11-22,27.889999,28.090000,27.790001,28.049999,25.336340,27618000
+2010-11-23,27.750000,27.820000,27.080000,27.190001,24.559540,31294200
+2010-11-24,27.670000,27.879999,27.620001,27.740000,25.056328,34983800
+2010-11-26,27.580000,27.620001,27.340000,27.490000,24.830517,12887500
+2010-11-29,27.170000,27.340000,26.910000,27.219999,24.586634,32610700
+2010-11-30,26.920000,27.129999,26.809999,27.049999,24.433081,38931000
+2010-12-01,27.540001,27.690001,27.410000,27.650000,24.975037,34781300
+2010-12-02,27.809999,28.180000,27.690001,28.100000,25.381506,32129900
+2010-12-03,28.080000,28.900000,28.059999,28.809999,26.022820,34454600
+2010-12-06,28.850000,28.959999,28.639999,28.730000,25.950556,21150300
+2010-12-07,29.059999,29.370001,28.940001,29.049999,26.239595,32190500
+2010-12-08,29.260000,29.280001,29.000000,29.230000,26.402184,14874800
+2010-12-09,29.350000,29.490000,29.040001,29.260000,26.429276,18260200
+2010-12-10,29.440001,29.980000,29.420000,29.940001,27.043491,28562000
+2010-12-13,29.990000,30.719999,29.570000,30.420000,27.477058,45575200
+2010-12-14,30.360001,30.750000,30.360001,30.510000,27.558352,25351800
+2010-12-15,30.590000,30.700001,30.260000,30.490000,27.540285,30537600
+2010-12-16,30.700001,30.770000,30.250000,30.270000,27.341566,47435600
+2010-12-17,31.920000,32.270000,31.370001,31.459999,28.416441,92487100
+2010-12-20,31.540001,31.940001,31.110001,31.670000,28.606129,33568100
+2010-12-21,31.650000,32.000000,31.590000,31.760000,28.687416,20002800
+2010-12-22,31.680000,31.879999,31.559999,31.660000,28.597097,14019200
+2010-12-23,31.530001,31.700001,31.410000,31.540001,28.488695,13049400
+2010-12-27,31.400000,31.799999,31.240000,31.660000,28.597097,13822100
+2010-12-28,31.660000,31.760000,31.410000,31.570000,28.515797,9736000
+2010-12-29,31.530001,31.690001,31.420000,31.500000,28.452570,9769000
+2010-12-30,31.450001,31.580000,31.209999,31.290001,28.262892,12989400
+2010-12-31,31.219999,31.330000,30.930000,31.299999,28.271923,11716300
+2011-01-03,31.590000,31.940001,31.520000,31.620001,28.560963,20970400
+2011-01-04,31.600000,31.750000,31.139999,31.480000,28.434509,22870800
+2011-01-05,31.320000,31.440001,30.980000,31.040001,28.037079,36339600
+2011-01-06,31.190001,31.200001,31.020000,31.170000,28.154495,21859400
+2011-01-07,31.240000,31.340000,30.930000,31.030001,28.028044,27697900
+2011-01-10,30.850000,31.219999,30.799999,31.040001,28.037079,29719600
+2011-01-11,31.080000,31.100000,30.860001,30.990000,27.991909,26395300
+2011-01-12,31.219999,31.230000,30.940001,30.940001,27.946753,33963700
+2011-01-13,30.969999,31.389999,30.900000,31.180000,28.163532,43412400
+2011-01-14,31.020000,31.340000,30.940001,31.250000,28.272091,37934100
+2011-01-18,31.260000,31.549999,31.230000,31.530001,28.525421,26975900
+2011-01-19,31.360001,31.610001,31.270000,31.600000,28.588745,26939000
+2011-01-20,31.469999,32.349998,31.469999,32.310001,29.231081,47750700
+2011-01-21,32.470001,32.669998,32.340000,32.509998,29.412029,34482100
+2011-01-24,32.580002,32.650002,32.070000,32.400002,29.312511,20170200
+2011-01-25,32.389999,32.439999,31.940001,32.290001,29.212997,25926600
+2011-01-26,32.310001,32.730000,32.160000,32.560001,29.457266,21485600
+2011-01-27,32.619999,33.090000,32.160000,32.919998,29.782955,25635600
+2011-01-28,33.200001,33.299999,31.830000,32.000000,28.950623,30820300
+2011-01-31,31.950001,32.200001,31.840000,32.029999,28.977764,20820100
+2011-02-01,32.169998,33.430000,32.110001,33.240002,30.072464,32573400
+2011-02-02,33.090000,33.560001,33.000000,33.139999,29.981997,19358200
+2011-02-03,32.980000,33.160000,32.720001,32.990002,29.846289,17600900
+2011-02-04,32.919998,32.980000,32.529999,32.619999,29.511547,38691800
+2011-02-07,32.700001,33.290001,32.549999,32.980000,29.837240,22785100
+2011-02-08,33.020000,33.160000,32.720001,33.029999,29.882475,15418400
+2011-02-09,33.040001,33.099998,32.610001,32.889999,29.755817,17112700
+2011-02-10,32.779999,33.259998,32.660000,33.259998,30.090549,17237600
+2011-02-11,33.070000,33.590000,33.029999,33.470001,30.280546,17402300
+2011-02-14,33.290001,33.540001,33.240002,33.290001,30.117701,16438000
+2011-02-15,33.119999,33.150002,32.610001,32.759998,29.638206,19332100
+2011-02-16,32.849998,33.139999,32.610001,33.110001,29.954857,15829000
+2011-02-17,32.970001,33.200001,32.759998,33.009998,29.864382,14568900
+2011-02-18,33.020000,33.709999,32.910000,33.680000,30.470543,25539900
+2011-02-22,33.290001,33.660000,32.520000,32.529999,29.430117,24887800
+2011-02-23,32.549999,32.650002,32.020000,32.180000,29.113476,22154100
+2011-02-24,32.099998,32.410000,31.639999,32.250000,29.176805,23416200
+2011-02-25,32.290001,33.080002,32.270000,32.950001,29.810099,20850400
+2011-02-28,33.060001,33.230000,32.680000,32.900002,29.764864,19406700
+2011-03-01,33.020000,33.080002,31.610001,31.670000,28.652069,30423200
+2011-03-02,31.580000,32.360001,31.549999,32.119999,29.059193,23091500
+2011-03-03,32.470001,33.189999,32.430000,33.029999,29.882475,24169800
+2011-03-04,32.990002,33.099998,32.220001,32.759998,29.638206,19148900
+2011-03-07,32.970001,33.060001,31.889999,32.099998,29.041094,20474300
+2011-03-08,32.340000,33.009998,32.189999,32.740002,29.620106,21891800
+2011-03-09,32.630001,33.139999,32.419998,32.790001,29.665344,17217800
+2011-03-10,32.369999,32.459999,31.510000,31.799999,28.769690,29054200
+2011-03-11,31.730000,32.400002,31.340000,31.910000,28.869198,23705900
+2011-03-14,31.520000,31.860001,31.270000,31.590000,28.579700,18656500
+2011-03-15,30.240000,31.299999,29.820000,31.170000,28.199720,34600300
+2011-03-16,30.920000,31.059999,29.620001,30.200001,27.322161,45026200
+2011-03-17,30.690001,31.049999,30.340000,30.549999,27.638798,31529500
+2011-03-18,30.980000,31.190001,30.610001,30.760000,27.828793,34862100
+2011-03-21,31.450001,31.850000,31.299999,31.420000,28.425896,23199400
+2011-03-22,31.389999,31.540001,31.059999,31.129999,28.163530,20051900
+2011-03-23,31.219999,31.709999,30.830000,31.410000,28.416843,23159700
+2011-03-24,31.780001,32.330002,31.500000,32.139999,29.077290,38277500
+2011-03-25,33.740002,34.099998,32.580002,32.639999,29.529640,64967600
+2011-03-28,32.830002,32.889999,32.400002,32.560001,29.457266,31399500
+2011-03-29,32.400002,33.160000,32.360001,33.160000,30.000090,29950300
+2011-03-30,33.270000,33.430000,33.000000,33.049999,29.900568,25718200
+2011-03-31,33.000000,33.630001,32.950001,33.430000,30.244358,38234200
+2011-04-01,33.700001,34.099998,33.610001,34.020000,30.778145,43176800
+2011-04-04,34.090000,34.430000,34.009998,34.139999,30.886692,26743000
+2011-04-05,34.290001,34.400002,33.910000,33.919998,30.687664,30286100
+2011-04-06,34.200001,34.200001,33.490002,33.580002,30.380070,24782200
+2011-04-07,33.599998,34.070000,33.299999,33.720001,30.506727,22723600
+2011-04-08,33.880001,33.930000,33.310001,33.540001,30.343878,16136500
+2011-04-11,33.540001,33.849998,33.540001,33.779999,30.615780,15960300
+2011-04-12,33.570000,33.630001,33.080002,33.400002,30.271368,16948600
+2011-04-13,33.570000,33.970001,33.490002,33.700001,30.543268,24345500
+2011-04-14,33.330002,33.880001,33.200001,33.799999,30.633902,17962100
+2011-04-15,33.980000,34.299999,33.680000,34.180000,30.978304,25468400
+2011-04-18,33.669998,33.779999,33.279999,33.630001,30.479822,20226500
+2011-04-19,33.540001,33.840000,33.480000,33.669998,30.516077,20452400
+2011-04-20,34.180000,34.369999,33.830002,34.110001,30.914864,24798400
+2011-04-21,34.110001,34.790001,34.099998,34.750000,31.494921,21125800
+2011-04-25,34.700001,34.860001,34.560001,34.830002,31.567423,12163000
+2011-04-26,34.810001,35.279999,34.720001,34.970001,31.694307,30391000
+2011-04-27,35.049999,35.290001,34.830002,35.250000,31.948076,21990200
+2011-04-28,35.029999,35.349998,34.709999,35.290001,31.984322,22995700
+2011-04-29,35.290001,36.049999,35.209999,35.959999,32.591564,94242100
+2011-05-02,35.840000,36.439999,35.830002,36.369999,32.963165,30058600
+2011-05-03,36.450001,36.500000,35.869999,36.139999,32.754711,24946200
+2011-05-04,36.119999,36.169998,34.950001,35.250000,31.948076,38886400
+2011-05-05,35.049999,35.369999,34.570000,34.669998,31.422398,23245400
+2011-05-06,35.119999,35.560001,34.830002,34.869999,31.603664,23885400
+2011-05-09,34.889999,35.450001,34.810001,35.200001,31.902761,16272500
+2011-05-10,35.490002,35.660000,35.230000,35.619999,32.283428,17015600
+2011-05-11,35.529999,35.700001,34.720001,34.980000,31.703384,20854300
+2011-05-12,34.900002,35.750000,34.810001,35.730000,32.383102,23096900
+2011-05-13,35.770000,35.919998,35.139999,35.189999,31.893700,20438800
+2011-05-16,35.080002,35.090000,34.020000,34.180000,30.978304,31350300
+2011-05-17,34.029999,34.290001,33.709999,33.939999,30.760784,27856100
+2011-05-18,34.000000,34.230000,33.549999,33.910000,30.733601,30005900
+2011-05-19,34.049999,34.570000,33.990002,34.500000,31.268326,22741400
+2011-05-20,34.459999,34.599998,34.040001,34.270000,31.059881,16484100
+2011-05-23,33.680000,33.740002,32.959999,33.160000,30.053852,29985800
+2011-05-24,33.270000,33.419998,32.919998,33.040001,29.945097,21893400
+2011-05-25,33.000000,33.380001,32.930000,32.990002,29.899784,23042300
+2011-05-26,33.139999,33.590000,33.009998,33.400002,30.271368,20948100
+2011-05-27,33.419998,33.849998,33.400002,33.700001,30.543268,16918600
+2011-05-31,33.910000,34.230000,33.320000,34.220001,31.014557,30783300
+2011-06-01,34.230000,34.299999,32.830002,32.880001,29.800085,31762600
+2011-06-02,32.869999,32.880001,32.080002,32.720001,29.655066,38255500
+2011-06-03,32.240002,32.759998,32.209999,32.330002,29.301600,23808200
+2011-06-06,32.150002,32.580002,32.070000,32.189999,29.174709,21677600
+2011-06-07,32.240002,32.299999,31.830000,31.840000,28.857496,28218700
+2011-06-08,31.750000,31.850000,31.139999,31.250000,28.322758,36607500
+2011-06-09,31.360001,31.930000,31.280001,31.629999,28.667170,21647100
+2011-06-10,31.420000,31.650000,31.120001,31.180000,28.259325,23747000
+2011-06-13,31.250000,31.850000,31.120001,31.629999,28.667170,26716600
+2011-06-14,31.990000,32.200001,31.830000,32.080002,29.075016,23067400
+2011-06-15,31.730000,31.990000,31.059999,31.160000,28.241192,34512600
+2011-06-16,31.160000,31.270000,30.650000,30.799999,27.914911,29868500
+2011-06-17,31.350000,31.809999,31.180000,31.180000,28.259325,42812400
+2011-06-20,31.350000,31.990000,31.250000,31.910000,28.920938,23408300
+2011-06-21,32.090000,32.709999,31.750000,32.650002,29.591627,26941600
+2011-06-22,32.580002,32.580002,32.139999,32.200001,29.183773,25940800
+2011-06-23,31.900000,32.549999,31.330000,32.459999,29.419416,54354600
+2011-06-24,31.490000,31.709999,30.950001,31.139999,28.223061,75120900
+2011-06-27,30.980000,31.830000,30.860001,31.580000,28.621855,29585600
+2011-06-28,31.690001,32.369999,31.370001,32.340000,29.310661,32746800
+2011-06-29,32.400002,32.680000,32.209999,32.430000,29.392235,27305700
+2011-06-30,32.630001,32.939999,32.509998,32.910000,29.827265,22182400
+2011-07-01,32.889999,33.200001,32.480000,33.049999,29.954147,25382300
+2011-07-05,33.009998,33.139999,32.790001,33.060001,29.963215,21406400
+2011-07-06,33.000000,33.250000,32.869999,33.209999,30.099171,22363900
+2011-07-07,33.470001,34.130001,33.400002,34.090000,30.896738,29886000
+2011-07-08,33.740002,33.939999,33.419998,33.939999,30.760784,23909600
+2011-07-11,33.610001,33.660000,32.900002,33.139999,30.088915,21943300
+2011-07-12,33.320000,33.470001,32.520000,32.599998,29.598629,35092400
+2011-07-13,32.860001,33.290001,32.590000,32.689999,29.680344,36497800
+2011-07-14,32.799999,33.099998,31.860001,32.049999,29.099266,32194500
+2011-07-15,32.150002,32.259998,31.840000,32.090000,29.135590,25404600
+2011-07-18,31.830000,31.940001,31.200001,31.490000,28.590828,25253300
+2011-07-19,31.910000,32.669998,31.889999,32.639999,29.634949,26835500
+2011-07-20,32.439999,32.599998,32.060001,32.080002,29.126505,23074700
+2011-07-21,32.189999,32.750000,32.060001,32.470001,29.480600,24516200
+2011-07-22,32.369999,32.669998,32.099998,32.549999,29.553238,21378100
+2011-07-25,32.250000,32.439999,32.040001,32.209999,29.244537,20806100
+2011-07-26,32.250000,32.520000,31.840000,32.150002,29.190063,33568300
+2011-07-27,31.809999,31.840000,30.620001,30.709999,27.882635,43084500
+2011-07-28,30.700001,31.150000,30.629999,30.670000,27.846321,29323100
+2011-07-29,30.520000,31.190001,30.260000,30.580000,27.764605,38200600
+2011-08-01,30.969999,31.209999,29.559999,30.110001,27.337879,38566100
+2011-08-02,29.790001,30.400000,29.520000,29.549999,26.829432,40691000
+2011-08-03,29.500000,30.350000,29.150000,30.190001,27.410511,44046200
+2011-08-04,29.840000,29.870001,28.840000,28.879999,26.221117,49433400
+2011-08-05,29.330000,29.420000,27.500000,28.350000,25.739910,82201300
+2011-08-08,27.469999,28.040001,25.959999,26.020000,23.624432,80848500
+2011-08-09,26.459999,27.600000,25.809999,27.600000,25.058969,82425600
+2011-08-10,26.799999,27.510000,26.110001,26.480000,24.042076,82821600
+2011-08-11,26.500000,28.030001,26.370001,27.700001,25.149754,58279300
+2011-08-12,27.830000,27.830000,26.990000,27.389999,24.868299,43238500
+2011-08-15,27.420000,27.860001,27.160000,27.639999,25.095282,38334100
+2011-08-16,27.420000,27.959999,27.230000,27.570000,25.031729,37615100
+2011-08-17,27.650000,28.049999,27.070000,27.469999,24.940933,34073800
+2011-08-18,26.459999,26.490000,24.719999,25.190001,22.870848,78449700
+2011-08-19,24.820000,25.600000,24.750000,24.780001,22.498590,46790600
+2011-08-22,25.410000,25.620001,24.809999,25.059999,22.752810,37825100
+2011-08-23,25.190001,26.209999,25.160000,26.200001,23.787859,36867400
+2011-08-24,26.110001,26.730000,26.010000,26.680000,24.223663,31588800
+2011-08-25,26.850000,27.049999,25.730000,25.900000,23.515476,38264000
+2011-08-26,25.879999,26.830000,25.480000,26.650000,24.196432,34449300
+2011-08-29,27.049999,27.959999,27.020000,27.910000,25.340425,28945400
+2011-08-30,27.809999,28.040001,27.459999,27.870001,25.304110,29944300
+2011-08-31,27.860001,28.610001,27.709999,28.070000,25.485693,31444600
+2011-09-01,28.030001,28.670000,27.750000,27.840000,25.276867,34199100
+2011-09-02,27.230000,27.450001,26.780001,26.969999,24.486965,30297500
+2011-09-06,26.030001,26.820000,25.709999,26.490000,24.051161,30907700
+2011-09-07,26.980000,27.629999,26.750000,27.629999,25.086201,26106200
+2011-09-08,27.450001,27.530001,26.370001,26.719999,24.259979,50386300
+2011-09-09,26.420000,26.600000,25.770000,26.000000,23.606270,38961600
+2011-09-12,25.920000,26.770000,25.900000,26.750000,24.287220,37358200
+2011-09-13,26.820000,27.790001,26.760000,27.719999,25.167913,42359400
+2011-09-14,28.020000,28.580000,27.660000,28.150000,25.558323,34972000
+2011-09-15,28.610001,29.000000,28.260000,28.950001,26.284679,28846400
+2011-09-16,29.040001,29.299999,28.799999,29.230000,26.538897,58059500
+2011-09-19,28.740000,29.240000,28.170000,29.020000,26.348228,34514300
+2011-09-20,29.240000,29.360001,28.219999,28.350000,25.739910,50913400
+2011-09-21,29.809999,30.959999,29.469999,29.540001,26.820353,83318400
+2011-09-22,28.740000,29.030001,27.830000,28.340000,25.730837,61371400
+2011-09-23,28.100000,29.080000,27.809999,28.900000,26.239281,43991700
+2011-09-26,29.059999,29.790001,28.650000,29.709999,26.974705,37762600
+2011-09-27,30.250000,30.580000,29.760000,30.129999,27.356035,38514400
+2011-09-28,30.240000,30.410000,29.420000,29.450001,26.738638,31357100
+2011-09-29,29.980000,30.620001,29.080000,29.650000,26.920227,44358800
+2011-09-30,29.260000,29.740000,28.740000,28.740000,26.094007,42188000
+2011-10-03,28.590000,29.010000,27.920000,27.940001,25.367662,45214600
+2011-10-04,27.440001,28.770000,27.000000,28.690001,26.048607,50300200
+2011-10-05,28.650000,29.590000,28.389999,29.510000,26.793118,43277100
+2011-10-06,29.459999,30.100000,28.980000,30.070000,27.301561,34994100
+2011-10-07,30.049999,30.340000,29.549999,29.910000,27.210587,37977000
+2011-10-10,30.430000,31.030001,30.219999,30.969999,28.174921,27708200
+2011-10-11,30.900000,31.200001,30.730000,30.930000,28.138531,25382700
+2011-10-12,31.370001,31.549999,31.080000,31.110001,28.302280,30322800
+2011-10-13,30.959999,31.299999,30.570000,31.139999,28.329571,27161500
+2011-10-14,31.559999,31.860001,31.270000,31.850000,28.975498,23613200
+2011-10-17,31.590000,31.750000,30.950001,31.230000,28.411453,25074700
+2011-10-18,31.139999,32.000000,30.770000,31.879999,29.002787,29754800
+2011-10-19,31.830000,32.180000,31.250000,31.490000,28.647989,25586300
+2011-10-20,31.590000,31.750000,30.879999,31.530001,28.684383,25102300
+2011-10-21,31.940001,32.250000,31.820000,32.119999,29.221130,32837700
+2011-10-24,32.009998,32.919998,32.009998,32.869999,29.903440,27941900
+2011-10-25,32.919998,32.950001,32.270000,32.369999,29.448568,30540900
+2011-10-26,32.730000,32.759998,31.559999,32.400002,29.475851,33683500
+2011-10-27,33.090000,33.810001,32.950001,33.660000,30.622133,35578800
+2011-10-28,33.500000,33.799999,33.400002,33.689999,30.649429,26333800
+2011-10-31,33.250000,33.369999,32.759998,32.770000,29.812460,28859900
+2011-11-01,31.959999,32.209999,31.620001,31.690001,28.829935,31480100
+2011-11-02,31.959999,32.639999,31.799999,32.279999,29.366688,26470800
+2011-11-03,32.259998,33.150002,32.180000,33.110001,30.121780,27467100
+2011-11-04,32.820000,32.880001,32.119999,32.549999,29.612324,23837800
+2011-11-07,32.389999,32.919998,31.799999,32.869999,29.903440,23980000
+2011-11-08,33.130001,33.759998,32.849998,33.610001,30.576645,30171400
+2011-11-09,32.840000,32.840000,31.440001,31.590000,28.738964,36933000
+2011-11-10,31.940001,32.029999,31.299999,31.730000,28.866323,25303800
+2011-11-11,32.020000,32.759998,32.000000,32.369999,29.448568,21664700
+2011-11-14,32.299999,32.509998,32.080002,32.299999,29.384882,16781600
+2011-11-15,32.209999,33.160000,32.139999,32.959999,29.985315,21397300
+2011-11-16,32.599998,33.060001,31.990000,31.990000,29.102863,24295200
+2011-11-17,31.850000,32.000000,30.469999,30.820000,28.038454,41500400
+2011-11-18,30.730000,30.889999,30.290001,30.600000,27.838306,26601000
+2011-11-21,30.190001,30.350000,29.540001,29.910000,27.210587,25360400
+2011-11-22,29.580000,29.920000,29.270000,29.809999,27.119608,25437400
+2011-11-23,29.500000,29.590000,28.990000,29.000000,26.382711,24399700
+2011-11-25,28.680000,29.330000,28.610001,28.740000,26.146177,13641400
+2011-11-28,29.450001,30.059999,29.360001,29.870001,27.174198,21067200
+2011-11-29,29.930000,30.160000,29.690001,29.740000,27.055923,20155800
+2011-11-30,30.690001,31.459999,30.650000,31.350000,28.520618,31879500
+2011-12-01,31.400000,31.780001,31.139999,31.670000,28.811739,22197000
+2011-12-02,32.000000,32.049999,31.200001,31.200001,28.384159,22391200
+2011-12-05,31.809999,32.240002,31.549999,31.900000,29.020985,19992200
+2011-12-06,32.040001,32.110001,31.540001,31.730000,28.866323,21049900
+2011-12-07,31.290001,31.809999,30.820000,31.540001,28.693480,31366000
+2011-12-08,31.240000,31.500000,30.650000,30.740000,27.965675,24494300
+2011-12-09,30.840000,31.850000,30.809999,31.690001,28.829935,22621000
+2011-12-12,31.400000,31.400000,30.770000,31.320000,28.493328,22536100
+2011-12-13,31.690001,31.900000,30.600000,30.830000,28.047550,25309900
+2011-12-14,30.670000,30.750000,29.750000,29.870001,27.174198,26644600
+2011-12-15,30.139999,30.200001,28.809999,29.030001,26.410002,43170300
+2011-12-16,29.260000,30.070000,28.959999,29.209999,26.573759,46100600
+2011-12-19,29.410000,29.440001,28.500000,28.610001,26.027906,24849700
+2011-12-20,29.059999,29.490000,28.870001,29.170000,26.537367,46428300
+2011-12-21,25.670000,25.990000,24.910000,25.770000,23.444221,183503900
+2011-12-22,25.860001,25.870001,25.379999,25.690001,23.371443,44203700
+2011-12-23,25.799999,26.080000,25.750000,26.059999,23.708050,32292800
+2011-12-27,26.059999,26.200001,25.559999,25.629999,23.316860,21312400
+2011-12-28,25.680000,25.760000,25.330000,25.510000,23.207685,25412300
+2011-12-29,25.670000,25.840000,25.500000,25.799999,23.471518,19249800
+2011-12-30,25.730000,25.879999,25.620001,25.650000,23.335056,19168800
+2012-01-03,26.330000,26.660000,25.830000,25.860001,23.526100,37911800
+2012-01-04,25.950001,26.230000,25.549999,26.010000,23.662561,45418500
+2012-01-05,26.010000,26.900000,25.910000,26.590000,24.190212,50873400
+2012-01-06,26.670000,27.150000,26.360001,26.930000,24.499535,55685000
+2012-01-09,26.900000,27.120001,26.660000,27.030001,24.645416,38481100
+2012-01-10,27.180000,27.600000,26.850000,26.969999,24.590712,48976300
+2012-01-11,26.990000,27.100000,26.750000,26.889999,24.517769,30836000
+2012-01-12,27.020000,27.260000,26.620001,27.170000,24.773066,31775700
+2012-01-13,27.040001,27.370001,26.850000,27.340000,24.928070,31482600
+2012-01-17,27.680000,27.879999,27.480000,27.660000,25.219837,35769400
+2012-01-18,27.709999,28.450001,27.610001,28.340000,25.839849,35343800
+2012-01-19,28.480000,28.799999,28.250000,28.559999,26.040436,36353100
+2012-01-20,28.389999,28.950001,28.270000,28.709999,26.177206,37014000
+2012-01-23,28.730000,28.910000,28.280001,28.389999,25.885435,27438400
+2012-01-24,28.330000,28.740000,28.250000,28.510000,25.994850,23700900
+2012-01-25,28.260000,28.639999,27.959999,28.510000,25.994850,39274500
+2012-01-26,28.559999,28.840000,28.150000,28.290001,25.794262,34646400
+2012-01-27,28.240000,28.629999,28.129999,28.420000,25.912788,24561500
+2012-01-30,28.190001,28.690001,28.020000,28.600000,26.076916,23294900
+2012-01-31,28.730000,28.740000,28.049999,28.209999,25.721317,32744000
+2012-02-01,28.480000,28.940001,28.110001,28.879999,26.332211,38240800
+2012-02-02,28.870001,29.250000,28.709999,28.809999,26.268389,27334400
+2012-02-03,29.129999,29.219999,28.780001,29.110001,26.541922,26277200
+2012-02-06,29.030001,29.070000,28.809999,29.000000,26.441626,16582600
+2012-02-07,28.910000,29.000000,28.750000,28.950001,26.396044,20291700
+2012-02-08,28.920000,28.990000,28.379999,28.730000,26.195450,29842600
+2012-02-09,28.850000,28.900000,28.350000,28.889999,26.341328,31795300
+2012-02-10,28.549999,28.639999,28.280001,28.500000,25.985733,30232000
+2012-02-13,28.590000,28.670000,28.350000,28.430000,25.921911,20015200
+2012-02-14,28.320000,28.450001,28.030001,28.240000,25.748674,30267900
+2012-02-15,28.100000,28.350000,27.920000,27.980000,25.511606,34620600
+2012-02-16,28.160000,29.000000,28.129999,28.950001,26.396044,36380600
+2012-02-17,29.030001,29.030001,28.639999,28.790001,26.250158,34061000
+2012-02-21,28.799999,28.980000,28.490000,28.740000,26.204563,20612200
+2012-02-22,28.719999,29.080000,28.500000,28.549999,26.031322,25207600
+2012-02-23,28.610001,28.879999,28.320000,28.809999,26.268389,25319100
+2012-02-24,29.059999,29.540001,28.840000,29.250000,26.669573,24952400
+2012-02-27,29.000000,29.379999,28.760000,29.260000,26.678686,30419400
+2012-02-28,29.240000,29.389999,29.000000,29.389999,26.797218,29889400
+2012-02-29,29.400000,29.440001,29.020000,29.250000,26.669573,33160700
+2012-03-01,29.400000,29.969999,29.230000,29.830000,27.198408,32909600
+2012-03-02,29.850000,30.250000,29.760000,29.959999,27.316935,28177200
+2012-03-05,30.240000,30.420000,29.920000,30.240000,27.572231,33786600
+2012-03-06,29.940001,30.400000,29.709999,29.940001,27.298698,28971600
+2012-03-07,30.049999,30.280001,29.830000,30.219999,27.553993,23691100
+2012-03-08,30.400000,30.440001,29.850000,30.070000,27.417233,30927300
+2012-03-09,30.049999,30.290001,29.900000,30.129999,27.471937,30056300
+2012-03-12,29.719999,29.920000,29.200001,29.709999,27.088989,40933900
+2012-03-13,29.990000,30.230000,29.910000,30.129999,27.471937,32329200
+2012-03-14,30.000000,30.160000,29.690001,29.840000,27.207521,30994400
+2012-03-15,29.959999,30.129999,29.740000,30.059999,27.408112,35528500
+2012-03-16,30.110001,30.160000,29.580000,29.740000,27.116341,38651200
+2012-03-19,29.590000,29.889999,29.430000,29.760000,27.134579,32519400
+2012-03-20,29.700001,30.139999,29.549999,30.100000,27.444580,46126400
+2012-03-21,30.870001,31.150000,29.340000,29.410000,26.815456,94678000
+2012-03-22,29.330000,29.330000,28.559999,28.629999,26.104267,59763200
+2012-03-23,28.690001,28.889999,28.520000,28.549999,26.031322,36696300
+2012-03-26,28.780001,29.190001,28.650000,29.160000,26.587513,30044300
+2012-03-27,29.170000,29.520000,29.000000,29.350000,26.760744,31710000
+2012-03-28,29.379999,29.549999,29.139999,29.360001,26.769865,29405300
+2012-03-29,29.209999,29.580000,29.100000,29.299999,26.715160,34035400
+2012-03-30,29.459999,29.490000,29.040001,29.160000,26.587513,32006100
+2012-04-02,29.120001,29.680000,29.000000,29.530001,26.924868,28525300
+2012-04-03,29.610001,29.700001,29.120001,29.389999,26.797218,29995400
+2012-04-04,29.190001,29.480000,28.930000,29.160000,26.587513,31154000
+2012-04-05,29.150000,29.629999,29.129999,29.559999,26.952221,43273500
+2012-04-09,29.100000,29.250000,29.000000,29.010000,26.504547,21528500
+2012-04-10,28.879999,28.959999,28.080000,28.350000,25.901537,41175000
+2012-04-11,28.490000,28.549999,28.040001,28.139999,25.709679,30390100
+2012-04-12,28.320000,28.719999,28.160000,28.700001,26.221317,29414300
+2012-04-13,28.700001,28.770000,28.490000,28.559999,26.093401,16685800
+2012-04-16,28.580000,28.770000,28.309999,28.639999,26.166498,21476800
+2012-04-17,28.719999,29.440001,28.700001,29.280001,26.751225,24985300
+2012-04-18,29.129999,29.350000,29.100000,29.129999,26.614178,21151400
+2012-04-19,28.990000,29.459999,28.670000,29.010000,26.504547,26462100
+2012-04-20,29.120001,29.530001,28.879999,28.879999,26.385767,35727900
+2012-04-23,28.600000,28.660000,28.260000,28.480000,26.020317,23045500
+2012-04-24,28.530001,28.850000,28.520000,28.690001,26.212172,20486900
+2012-04-25,28.680000,28.990000,28.600000,28.870001,26.376635,26902800
+2012-04-26,28.840000,29.219999,28.740000,29.020000,26.513680,20548300
+2012-04-27,29.059999,29.440001,29.059999,29.240000,26.714680,16847800
+2012-04-30,29.230000,29.420000,29.200001,29.400000,26.860857,18568500
+2012-05-01,29.450001,29.780001,29.290001,29.570000,27.016176,19965400
+2012-05-02,29.420000,29.790001,29.190001,29.709999,27.144085,22579000
+2012-05-03,29.740000,29.820000,29.340000,29.379999,26.842583,19175800
+2012-05-04,29.100000,29.150000,28.410000,28.410000,25.956358,33934300
+2012-05-07,28.340000,28.450001,27.850000,27.920000,25.508680,33670500
+2012-05-08,27.709999,28.020000,27.530001,27.930000,25.517815,24660200
+2012-05-09,27.620001,27.910000,27.410000,27.780001,25.380766,25521100
+2012-05-10,27.700001,27.750000,26.740000,27.020000,24.686411,52653300
+2012-05-11,26.969999,27.309999,26.770000,27.000000,24.668137,25588900
+2012-05-14,26.730000,27.309999,26.660000,26.959999,24.631592,22485200
+2012-05-15,27.020000,27.530001,26.940001,27.059999,24.722958,26392900
+2012-05-16,27.160000,27.410000,26.680000,26.719999,24.412317,29672800
+2012-05-17,26.700001,26.719999,26.250000,26.250000,23.982910,29440600
+2012-05-18,26.290001,26.290001,25.330000,25.610001,23.398180,68182500
+2012-05-21,25.540001,26.459999,25.530001,26.260000,23.992048,30712700
+2012-05-22,26.330000,26.490000,26.070000,26.360001,24.083408,22122800
+2012-05-23,26.120001,26.850000,26.040001,26.680000,24.375772,33179600
+2012-05-24,26.620001,26.650000,25.900000,26.120001,23.864138,34232000
+2012-05-25,26.180000,26.330000,26.040001,26.139999,23.882412,18642900
+2012-05-29,26.410000,26.780001,26.160000,26.459999,24.174770,24139900
+2012-05-30,26.190001,26.340000,25.980000,26.170000,23.909817,21538300
+2012-05-31,26.219999,26.719999,26.170000,26.469999,24.183908,32192300
+2012-06-01,25.980000,26.280001,25.900000,26.000000,23.754501,30739700
+2012-06-04,26.040001,26.340000,25.840000,26.200001,23.937229,28945200
+2012-06-05,26.070000,26.940001,26.070000,26.709999,24.403181,28412000
+2012-06-06,26.990000,27.570000,26.879999,27.530001,25.152365,27639000
+2012-06-07,27.750000,27.760000,27.180000,27.180000,24.832590,32896100
+2012-06-08,27.040001,27.270000,26.799999,27.160000,24.814318,22343200
+2012-06-11,27.379999,27.420000,26.770000,26.809999,24.494543,20470800
+2012-06-12,27.000000,27.150000,26.730000,27.030001,24.695543,26186900
+2012-06-13,26.879999,27.379999,26.790001,27.020000,24.686411,19638800
+2012-06-14,27.090000,27.350000,26.510000,26.910000,24.585907,34311700
+2012-06-15,27.110001,27.760000,26.990000,27.700001,25.307676,40136400
+2012-06-18,27.430000,27.430000,26.690001,27.120001,24.777777,38322000
+2012-06-19,28.389999,28.750000,27.530001,27.959999,25.545225,81048700
+2012-06-20,28.040001,28.580000,27.940001,28.490000,26.029451,29281700
+2012-06-21,28.490000,28.639999,27.750000,27.809999,25.408175,32721900
+2012-06-22,27.910000,28.139999,27.790001,28.000000,25.581770,22163000
+2012-06-25,27.540001,27.750000,27.240000,27.620001,25.234587,24918800
+2012-06-26,27.629999,27.950001,27.520000,27.830000,25.426453,20614200
+2012-06-27,27.760000,28.459999,27.760000,28.170000,25.737091,19388200
+2012-06-28,28.030001,28.260000,27.730000,28.170000,25.737091,27175800
+2012-06-29,28.809999,29.709999,28.790001,29.700001,27.134951,35545300
+2012-07-02,29.530001,29.799999,29.150000,29.799999,27.226311,24445300
+2012-07-03,29.629999,29.980000,29.610001,29.969999,27.381634,14468000
+2012-07-05,29.830000,29.930000,29.709999,29.719999,27.153221,19244600
+2012-07-06,29.370001,29.480000,28.940001,29.180000,26.659863,25259400
+2012-07-09,29.230000,29.360001,29.020000,29.100000,26.586771,21873200
+2012-07-10,29.360001,29.600000,28.850000,29.049999,26.541088,23424100
+2012-07-11,28.980000,29.320000,28.910000,29.230000,26.760813,27247300
+2012-07-12,29.450001,29.469999,28.610001,28.820000,26.385447,23562000
+2012-07-13,28.870001,29.660000,28.750000,29.580000,27.081244,22026800
+2012-07-16,29.430000,29.750000,29.280001,29.520000,27.026312,16819600
+2012-07-17,29.709999,30.049999,29.370001,29.920000,27.392529,23897100
+2012-07-18,29.840000,30.760000,29.820000,30.500000,27.923529,24988700
+2012-07-19,30.600000,31.110001,30.559999,30.870001,28.262278,26180000
+2012-07-20,30.660000,30.830000,30.100000,30.120001,27.575632,25013000
+2012-07-23,29.530001,29.799999,29.110001,29.650000,27.145334,23403200
+2012-07-24,29.590000,29.670000,29.070000,29.320000,26.843210,23707500
+2012-07-25,29.299999,29.559999,29.120001,29.260000,26.788277,22389100
+2012-07-26,29.790001,30.360001,29.700001,30.000000,27.465769,26746600
+2012-07-27,30.299999,30.840000,30.040001,30.770000,28.170721,23852100
+2012-07-30,30.690001,31.000000,30.400000,30.580000,27.996773,20919700
+2012-07-31,30.559999,30.690001,30.170000,30.200001,27.648874,20951600
+2012-08-01,30.340000,30.520000,30.030001,30.320000,27.758736,17344400
+2012-08-02,29.870001,30.400000,29.740000,29.920000,27.392529,22103400
+2012-08-03,30.530001,30.870001,30.379999,30.719999,28.124945,17767200
+2012-08-06,30.920000,31.250000,30.780001,31.000000,28.381292,18658400
+2012-08-07,31.219999,31.700001,31.150000,31.500000,28.839058,21692700
+2012-08-08,31.340000,31.809999,31.070000,31.160000,28.527777,22436100
+2012-08-09,31.160000,31.549999,31.150000,31.370001,28.720034,14578500
+2012-08-10,31.190001,31.620001,31.080000,31.610001,28.939764,13848800
+2012-08-13,31.450001,31.549999,31.200001,31.360001,28.710884,14362100
+2012-08-14,31.500000,31.629999,31.240000,31.350000,28.701723,13806800
+2012-08-15,31.330000,31.690001,31.330000,31.549999,28.884834,16230100
+2012-08-16,31.639999,32.209999,31.540001,32.029999,29.324280,20333700
+2012-08-17,32.090000,32.299999,31.910000,32.200001,29.479921,20814500
+2012-08-20,32.099998,32.150002,31.900000,32.040001,29.333439,11189200
+2012-08-21,32.020000,32.270000,31.719999,31.750000,29.067940,19673100
+2012-08-22,31.740000,31.850000,31.520000,31.700001,29.022169,18087900
+2012-08-23,31.559999,31.750000,31.309999,31.590000,28.921461,14201700
+2012-08-24,31.340000,32.000000,31.250000,31.950001,29.251047,14811400
+2012-08-27,32.070000,32.070000,31.750000,31.830000,29.141176,14708300
+2012-08-28,31.719999,32.000000,31.559999,31.580000,28.912302,15993500
+2012-08-29,31.650000,31.889999,31.459999,31.490000,28.829901,15845300
+2012-08-30,31.299999,31.379999,31.160000,31.170000,28.536938,17984700
+2012-08-31,31.459999,31.760000,31.129999,31.650000,28.976385,21240300
+2012-09-04,31.629999,31.799999,31.219999,31.570000,28.903141,16654700
+2012-09-05,31.650000,32.110001,31.610001,32.070000,29.360907,22994600
+2012-09-06,32.180000,32.790001,32.160000,32.630001,29.873602,22699700
+2012-09-07,32.639999,32.639999,32.270000,32.599998,29.846134,19068700
+2012-09-10,32.590000,32.750000,32.299999,32.310001,29.580633,18589900
+2012-09-11,32.290001,32.459999,32.160000,32.320000,29.589785,21554800
+2012-09-12,32.500000,32.500000,32.240002,32.259998,29.534847,20602100
+2012-09-13,32.320000,32.790001,32.090000,32.619999,29.864445,27451700
+2012-09-14,32.650002,33.000000,32.599998,32.950001,30.166567,23162900
+2012-09-17,32.810001,33.130001,32.750000,33.099998,30.303894,25017900
+2012-09-18,33.099998,33.270000,32.939999,33.020000,30.230663,25285000
+2012-09-19,33.009998,33.080002,32.560001,32.779999,30.010927,20913400
+2012-09-20,32.599998,32.880001,32.189999,32.259998,29.534847,38005700
+2012-09-21,33.029999,33.290001,32.279999,32.470001,29.727118,62905800
+2012-09-24,32.250000,32.439999,32.080002,32.220001,29.498240,18511200
+2012-09-25,32.180000,32.230000,31.250000,31.299999,28.655951,30757800
+2012-09-26,31.020000,31.080000,30.570000,30.730000,28.134096,29234500
+2012-09-27,30.760000,31.420000,30.700001,31.219999,28.582710,23400200
+2012-09-28,31.129999,31.610001,31.070000,31.459999,28.802439,27014800
+2012-10-01,31.709999,32.000000,31.540001,31.670000,28.994694,28412900
+2012-10-02,31.790001,32.009998,31.400000,31.650000,28.976385,21859900
+2012-10-03,31.809999,32.049999,31.690001,31.820000,29.132027,19700800
+2012-10-04,31.850000,31.980000,31.650000,31.900000,29.205265,25156900
+2012-10-05,32.049999,32.090000,31.280001,31.389999,28.738348,31239000
+2012-10-08,31.200001,31.379999,30.860001,31.180000,28.546091,22261500
+2012-10-09,31.059999,31.100000,30.440001,30.650000,28.060856,23311300
+2012-10-10,30.580000,30.719999,30.430000,30.580000,28.051682,23103700
+2012-10-11,30.730000,31.090000,30.620001,30.719999,28.180109,20436300
+2012-10-12,30.680000,31.190001,30.680000,31.000000,28.436962,18639800
+2012-10-15,31.059999,31.379999,31.020000,31.299999,28.712156,26143200
+2012-10-16,31.400000,31.889999,31.280001,31.870001,29.235033,22024500
+2012-10-17,31.530001,31.700001,31.209999,31.230000,28.647943,28326200
+2012-10-18,31.139999,31.240000,30.760000,31.120001,28.547039,26013900
+2012-10-19,31.070000,31.250000,30.400000,30.480000,27.959953,26239700
+2012-10-22,30.590000,30.889999,30.309999,30.799999,28.253494,17338400
+2012-10-23,30.520000,30.840000,30.450001,30.590000,28.060858,21384700
+2012-10-24,30.900000,30.950001,30.370001,30.600000,28.070028,21642700
+2012-10-25,30.870001,31.219999,30.709999,30.860001,28.308538,20696000
+2012-10-26,30.809999,31.100000,30.610001,30.990000,28.427792,19815600
+2012-10-31,31.240000,31.389999,30.860001,31.080000,28.510347,21844400
+2012-11-01,31.200001,31.520000,30.930000,31.480000,28.877275,22886100
+2012-11-02,31.799999,31.809999,31.180000,31.209999,28.629597,17251200
+2012-11-05,30.950001,31.350000,30.770000,31.250000,28.666292,13590100
+2012-11-06,31.430000,31.910000,31.330000,31.629999,29.014872,15018800
+2012-11-07,31.299999,31.350000,30.760000,30.790001,28.244324,22295700
+2012-11-08,30.730000,30.980000,30.410000,30.420000,27.904917,17902800
+2012-11-09,30.400000,30.730000,30.270000,30.350000,27.840704,15537900
+2012-11-12,30.410000,30.549999,30.090000,30.299999,27.794836,10964600
+2012-11-13,30.080000,30.500000,29.889999,30.020000,27.537987,20901000
+2012-11-14,30.100000,30.150000,29.520000,29.580000,27.134363,22562900
+2012-11-15,29.580000,30.070000,29.559999,29.950001,27.473772,26295000
+2012-11-16,30.030001,30.129999,29.780001,30.000000,27.519636,25491700
+2012-11-19,30.250000,30.260000,29.850000,30.139999,27.648066,22551100
+2012-11-20,30.020000,30.200001,29.780001,30.200001,27.703104,17448200
+2012-11-21,30.190001,30.530001,30.129999,30.400000,27.886570,17423900
+2012-11-23,30.650000,31.059999,30.580000,30.920000,28.363575,8211500
+2012-11-26,30.719999,30.969999,30.580000,30.959999,28.400270,15644900
+2012-11-27,31.200001,31.770000,31.160000,31.219999,28.638773,24696300
+2012-11-28,31.150000,31.820000,30.990000,31.799999,29.170822,21603200
+2012-11-29,31.920000,32.139999,31.809999,31.840000,29.207512,22205300
+2012-11-30,31.850000,32.240002,31.750000,32.180000,29.519400,26610600
+2012-12-03,32.369999,32.500000,32.209999,32.310001,29.638655,22159300
+2012-12-04,32.220001,32.470001,32.009998,32.380001,29.702868,17391100
+2012-12-05,31.950001,32.119999,31.309999,32.000000,29.354279,30775300
+2012-12-06,31.990000,32.110001,31.900000,32.029999,29.381804,25132600
+2012-12-07,32.150002,32.169998,31.770000,31.920000,29.280899,18421100
+2012-12-10,31.920000,32.230000,31.920000,32.070000,29.418493,20712600
+2012-12-11,32.180000,32.500000,32.020000,32.340000,29.666178,25716300
+2012-12-12,32.209999,32.380001,31.830000,31.940001,29.463230,20205300
+2012-12-13,31.930000,32.009998,31.389999,31.610001,29.158821,20608200
+2012-12-14,31.540001,32.110001,31.440001,31.959999,29.481680,21930800
+2012-12-17,32.000000,32.470001,31.799999,32.320000,29.813761,24047300
+2012-12-18,32.490002,32.950001,32.349998,32.880001,30.330345,37797600
+2012-12-19,33.860001,34.349998,33.830002,34.090000,31.446512,60937600
+2012-12-20,34.090000,34.250000,33.930000,33.939999,31.308142,28119900
+2012-12-21,33.509998,33.919998,33.200001,33.759998,31.142105,45601600
+2012-12-24,33.459999,33.639999,33.419998,33.610001,31.003727,6451900
+2012-12-26,33.669998,33.849998,33.340000,33.610001,31.003727,13282100
+2012-12-27,33.540001,33.619999,33.000000,33.270000,30.690096,21600200
+2012-12-28,33.040001,33.490002,33.000000,33.020000,30.459488,16792100
+2012-12-31,32.910000,33.459999,32.689999,33.320000,30.736229,25320000
+2013-01-02,34.080002,34.740002,33.930000,34.689999,31.999990,33758400
+2013-01-03,34.630001,34.750000,34.139999,34.310001,31.649454,21819500
+2013-01-04,34.450001,34.750000,34.400002,34.610001,31.926191,21687300
+2013-01-07,34.439999,34.520000,34.209999,34.430000,31.760151,14008300
+2013-01-08,34.150002,34.509998,34.060001,34.439999,31.769369,17408900
+2013-01-09,34.500000,34.799999,34.380001,34.459999,31.787817,18932700
+2013-01-10,34.560001,34.919998,34.410000,34.910000,32.202923,17843600
+2013-01-11,34.959999,35.000000,34.779999,34.860001,32.156811,15105200
+2013-01-14,34.830002,35.000000,34.599998,34.959999,32.249046,14589400
+2013-01-15,34.570000,34.880001,34.520000,34.700001,32.009205,16263600
+2013-01-16,34.630001,34.869999,34.560001,34.639999,31.953865,17608200
+2013-01-17,34.759998,34.810001,34.599998,34.619999,31.935419,17827100
+2013-01-18,34.590000,35.130001,34.410000,35.110001,32.387417,30088900
+2013-01-22,34.950001,34.980000,34.529999,34.930000,32.221378,19309500
+2013-01-23,34.959999,35.200001,34.689999,34.689999,31.999990,17235800
+2013-01-24,34.880001,35.400002,34.810001,34.939999,32.230595,18662000
+2013-01-25,35.000000,35.400002,34.880001,35.380001,32.636486,18061300
+2013-01-28,35.410000,35.790001,35.380001,35.540001,32.784073,20119500
+2013-01-29,35.360001,35.869999,35.070000,35.779999,33.005466,18284800
+2013-01-30,35.759998,35.880001,35.290001,35.380001,32.636486,14249900
+2013-01-31,35.270000,35.689999,35.250000,35.509998,32.756397,19077700
+2013-02-01,35.869999,36.310001,35.810001,36.209999,33.402119,27725700
+2013-02-04,35.810001,36.000000,35.029999,35.130001,32.405876,23595800
+2013-02-05,35.209999,35.720001,35.139999,35.480000,32.728729,16662700
+2013-02-06,35.310001,35.419998,35.009998,35.099998,32.378181,15603500
+2013-02-07,35.150002,35.189999,34.450001,34.560001,31.880070,26869300
+2013-02-08,34.759998,34.980000,34.500000,34.900002,32.193707,19255700
+2013-02-11,34.980000,35.040001,34.549999,34.959999,32.249046,12648800
+2013-02-12,34.889999,35.250000,34.849998,35.110001,32.387417,14666300
+2013-02-13,35.209999,35.259998,34.880001,34.990002,32.276730,13176800
+2013-02-14,34.869999,35.070000,34.689999,34.900002,32.193707,15886800
+2013-02-15,34.799999,34.990002,34.650002,34.810001,32.110687,18406000
+2013-02-19,34.930000,35.410000,34.820000,35.400002,32.654938,16446000
+2013-02-20,35.500000,35.590000,35.000000,35.009998,32.295170,16263700
+2013-02-21,34.950001,34.950001,34.169998,34.279999,31.621773,20923100
+2013-02-22,34.509998,34.779999,34.130001,34.750000,32.055332,13754700
+2013-02-25,35.070000,35.430000,34.270000,34.279999,31.621773,19992900
+2013-02-26,34.279999,34.570000,34.080002,34.320000,31.658682,15839500
+2013-02-27,34.250000,34.970001,34.060001,34.680000,31.990761,15671400
+2013-02-28,34.700001,34.860001,34.220001,34.240002,31.584881,23816400
+2013-03-01,34.119999,34.830002,34.000000,34.630001,31.944637,20376000
+2013-03-04,34.529999,35.080002,34.400002,35.049999,32.332066,14750500
+2013-03-05,35.220001,35.680000,35.209999,35.459999,32.710278,15410100
+2013-03-06,35.500000,35.930000,35.480000,35.860001,33.079262,21340800
+2013-03-07,35.939999,36.130001,35.759998,35.939999,33.153061,15098100
+2013-03-08,35.939999,36.090000,35.669998,35.709999,32.940887,14985000
+2013-03-11,35.700001,35.980000,35.639999,35.880001,33.097706,14111600
+2013-03-12,35.849998,35.849998,35.160000,35.430000,32.682602,18411100
+2013-03-13,35.820000,35.849998,35.349998,35.580002,32.820972,21228800
+2013-03-14,35.799999,36.330002,35.619999,36.299999,33.485146,21040700
+2013-03-15,36.110001,36.430000,36.099998,36.340000,33.522034,56178100
+2013-03-18,36.099998,36.419998,36.000000,36.040001,33.245304,20654800
+2013-03-19,36.180000,36.230000,35.410000,35.689999,32.922440,20548800
+2013-03-20,35.980000,36.070000,35.400002,35.770000,32.996235,41088100
+2013-03-21,32.779999,32.939999,32.180000,32.299999,29.795315,132669500
+2013-03-22,32.400002,32.500000,31.639999,31.980000,29.500128,64333500
+2013-03-25,32.049999,32.200001,31.160000,31.250000,28.826740,39694400
+2013-03-26,31.410000,31.790001,31.410000,31.540001,29.094248,29420300
+2013-03-27,31.410000,32.110001,31.290001,31.950001,29.472458,35028500
+2013-03-28,31.889999,32.389999,31.790001,32.330002,29.822989,23676700
+2013-04-01,32.360001,32.459999,32.040001,32.410000,29.896786,18677600
+2013-04-02,32.650002,32.939999,32.529999,32.740002,30.201202,22619600
+2013-04-03,32.930000,32.939999,32.200001,32.400002,29.887566,25545200
+2013-04-04,32.360001,32.509998,32.230000,32.369999,29.859888,18163800
+2013-04-05,31.770000,32.119999,31.670000,32.029999,29.546255,24415300
+2013-04-08,32.070000,32.360001,31.900000,32.360001,29.850662,14134400
+2013-04-09,32.500000,33.080002,32.459999,33.040001,30.477940,30087400
+2013-04-10,33.150002,33.950001,33.150002,33.730000,31.114424,35941000
+2013-04-11,33.619999,33.919998,33.560001,33.619999,31.012959,23080700
+2013-04-12,33.639999,33.669998,33.020000,33.459999,30.865362,18408200
+2013-04-15,33.389999,33.500000,32.799999,32.799999,30.256536,19617500
+2013-04-16,32.950001,33.490002,32.910000,33.419998,30.828463,17310600
+2013-04-17,33.099998,33.130001,32.450001,32.490002,29.970589,25277000
+2013-04-18,32.650002,32.799999,31.900000,32.119999,29.629274,24892500
+2013-04-19,31.750000,32.459999,31.670000,32.369999,29.859888,30391400
+2013-04-22,32.490002,32.660000,32.160000,32.520000,29.998255,18754900
+2013-04-23,32.720001,33.000000,32.369999,32.459999,29.942902,23964900
+2013-04-24,32.490002,32.830002,32.439999,32.509998,29.989031,22601800
+2013-04-25,32.560001,32.580002,32.209999,32.270000,29.767647,25910200
+2013-04-26,32.200001,32.529999,32.169998,32.360001,29.850662,22376200
+2013-04-29,32.389999,32.500000,32.139999,32.240002,29.739971,31381300
+2013-04-30,32.220001,32.869999,32.220001,32.779999,30.238091,50028100
+2013-05-01,32.750000,33.619999,32.720001,33.160000,30.588631,32712000
+2013-05-02,33.110001,33.779999,32.980000,33.689999,31.077528,22992700
+2013-05-03,33.930000,33.950001,33.279999,33.380001,30.791565,23976800
+2013-05-06,33.439999,33.509998,33.080002,33.509998,30.911486,17964500
+2013-05-07,33.529999,33.790001,33.189999,33.259998,30.680868,17955000
+2013-05-08,33.090000,33.570000,33.090000,33.459999,30.865362,21382700
+2013-05-09,33.299999,34.000000,33.279999,33.700001,31.086754,18722100
+2013-05-10,33.830002,34.029999,33.650002,34.020000,31.381947,17364100
+2013-05-13,33.950001,34.000000,33.650002,33.779999,31.160553,12193400
+2013-05-14,33.650002,34.250000,33.549999,33.669998,31.059084,23560400
+2013-05-15,33.740002,34.099998,33.709999,33.990002,31.354259,18360500
+2013-05-16,34.090000,34.610001,34.090000,34.369999,31.704798,25526300
+2013-05-17,34.590000,35.029999,34.439999,35.029999,32.313614,26986800
+2013-05-20,34.810001,35.029999,34.560001,34.900002,32.193707,18326400
+2013-05-21,34.900002,35.320000,34.900002,35.099998,32.378181,19682900
+2013-05-22,35.070000,35.150002,33.919998,34.119999,31.474184,33742400
+2013-05-23,33.950001,34.410000,33.860001,34.230000,31.575651,20442500
+2013-05-24,33.689999,34.139999,33.419998,34.049999,31.409618,22642500
+2013-05-28,34.669998,34.779999,34.259998,34.529999,31.852386,21432200
+2013-05-29,34.400002,34.560001,34.119999,34.400002,31.732477,16004800
+2013-05-30,34.490002,34.790001,34.340000,34.340000,31.677116,17928400
+2013-05-31,34.119999,34.459999,33.750000,33.779999,31.160553,24412100
+2013-06-03,33.849998,34.400002,33.730000,34.389999,31.723244,19782700
+2013-06-04,34.340000,34.750000,33.959999,34.160000,31.511086,20324900
+2013-06-05,34.099998,34.610001,34.000000,34.119999,31.474184,22005600
+2013-06-06,33.980000,33.980000,33.130001,33.349998,30.763895,29158700
+2013-06-07,33.590000,34.029999,33.320000,33.810001,31.188236,20548900
+2013-06-10,33.980000,34.090000,33.820000,34.049999,31.409618,16901500
+2013-06-11,33.660000,34.150002,33.490002,33.570000,30.966839,15274500
+2013-06-12,33.830002,33.869999,33.500000,33.520000,30.920706,13731100
+2013-06-13,33.470001,34.320000,33.410000,34.250000,31.594107,15727400
+2013-06-14,34.150002,34.320000,33.700001,33.770000,31.151321,17551400
+2013-06-17,34.029999,34.630001,34.000000,34.270000,31.612556,19398200
+2013-06-18,34.259998,34.590000,34.209999,34.400002,31.732477,16949300
+2013-06-19,34.430000,34.590000,34.080002,34.090000,31.446512,19408400
+2013-06-20,33.880001,34.020000,33.029999,33.209999,30.634750,35222400
+2013-06-21,30.709999,30.840000,29.980000,30.139999,27.802814,140813500
+2013-06-24,30.120001,30.440001,30.030001,30.170000,27.830486,78919200
+2013-06-25,30.500000,30.530001,29.889999,29.959999,27.636766,64051500
+2013-06-26,30.190001,30.230000,29.860001,30.139999,27.802814,52429800
+2013-06-27,30.309999,31.139999,30.290001,30.450001,28.088776,43014900
+2013-06-28,30.280001,30.809999,30.250000,30.709999,28.328608,39787100
+2013-07-01,30.889999,30.980000,30.070000,30.110001,27.775137,33962900
+2013-07-02,30.090000,30.350000,29.950001,30.100000,27.765917,33114500
+2013-07-03,30.049999,30.799999,30.040001,30.700001,28.319387,18629700
+2013-07-05,30.990000,31.200001,30.540001,31.190001,28.771393,22193800
+2013-07-08,31.350000,31.650000,31.250000,31.650000,29.195726,28904300
+2013-07-09,31.500000,31.600000,31.230000,31.520000,29.075800,28854300
+2013-07-10,31.360001,31.440001,31.049999,31.230000,28.918385,28458600
+2013-07-11,31.570000,32.000000,31.570000,31.860001,29.501751,33193000
+2013-07-12,31.900000,32.000000,31.240000,31.250000,28.936905,157674700
+2013-07-15,31.480000,32.049999,31.320000,32.009998,29.640652,36543400
+2013-07-16,31.990000,32.150002,31.860001,32.000000,29.631388,22531400
+2013-07-17,32.070000,32.439999,32.049999,32.160000,29.779552,22357000
+2013-07-18,31.959999,32.459999,31.809999,32.009998,29.640652,23615600
+2013-07-19,32.029999,32.029999,31.510000,31.860001,29.501751,28512000
+2013-07-22,31.790001,31.900000,31.700001,31.870001,29.511015,16760100
+2013-07-23,31.870001,32.189999,31.809999,32.070000,29.696209,16771000
+2013-07-24,32.380001,32.560001,32.299999,32.389999,29.992521,20003600
+2013-07-25,32.410000,32.410000,31.969999,32.369999,29.974003,21050300
+2013-07-26,32.360001,32.599998,32.160000,32.540001,30.131420,17308500
+2013-07-29,32.389999,32.560001,32.169998,32.480000,30.075861,16119300
+2013-07-30,32.599998,32.709999,32.490002,32.549999,30.140682,18340700
+2013-07-31,32.580002,32.750000,31.950001,32.349998,29.955482,30540500
+2013-08-01,32.619999,32.830002,32.400002,32.750000,30.325884,15797000
+2013-08-02,32.619999,32.700001,32.480000,32.570000,30.159199,18998100
+2013-08-05,32.590000,32.900002,32.549999,32.779999,30.353651,11151300
+2013-08-06,32.750000,33.220001,32.700001,33.000000,30.557367,18620900
+2013-08-07,32.770000,33.000000,32.680000,32.820000,30.390694,17416900
+2013-08-08,32.910000,33.099998,32.759998,33.020000,30.575895,14204600
+2013-08-09,32.910000,33.110001,32.700001,32.919998,30.483288,11646000
+2013-08-12,32.810001,33.340000,32.750000,33.250000,30.788860,11746400
+2013-08-13,33.389999,33.459999,33.110001,33.250000,30.788860,12738700
+2013-08-14,33.259998,33.650002,33.230000,33.570000,31.085184,19684400
+2013-08-15,33.240002,33.240002,32.540001,32.730000,30.307360,19574600
+2013-08-16,32.599998,32.849998,32.299999,32.410000,30.011042,19504100
+2013-08-19,32.400002,32.700001,32.009998,32.060001,29.686951,13385600
+2013-08-20,32.060001,32.419998,32.000000,32.200001,29.816584,13870200
+2013-08-21,32.189999,32.619999,32.099998,32.299999,29.909182,11955400
+2013-08-22,32.419998,32.529999,32.130001,32.400002,30.001785,10271600
+2013-08-23,32.380001,32.660000,31.770000,31.770000,29.418417,27128400
+2013-08-26,31.760000,32.599998,31.760000,32.340000,29.946230,18888600
+2013-08-27,31.650000,32.200001,31.600000,31.780001,29.427675,16061600
+2013-08-28,31.790001,31.910000,31.660000,31.660000,29.316557,15919100
+2013-08-29,31.570000,31.980000,31.559999,31.700001,29.353600,14012100
+2013-08-30,31.740000,32.099998,31.709999,31.860001,29.501751,14044300
+2013-09-03,32.169998,32.369999,31.820000,32.020000,29.649908,14647300
+2013-09-04,32.009998,32.490002,31.959999,32.320000,29.927698,13040800
+2013-09-05,32.380001,32.520000,32.160000,32.259998,29.872139,11437900
+2013-09-06,32.299999,32.459999,31.850000,32.200001,29.816584,12625400
+2013-09-09,32.310001,32.889999,32.250000,32.750000,30.325884,12400500
+2013-09-10,32.799999,32.990002,32.750000,32.860001,30.427734,15918900
+2013-09-11,32.869999,33.230000,32.740002,33.020000,30.575895,19692300
+2013-09-12,33.009998,33.110001,32.740002,32.790001,30.362913,16250100
+2013-09-13,32.840000,32.869999,32.349998,32.459999,30.057335,17638400
+2013-09-16,32.840000,33.150002,32.779999,32.970001,30.529598,25316900
+2013-09-17,32.990002,33.430000,32.930000,33.259998,30.798122,20282300
+2013-09-18,33.209999,33.910000,33.130001,33.869999,31.362978,39152100
+2013-09-19,33.639999,34.000000,33.250000,33.889999,31.381487,63316300
+2013-09-20,33.939999,34.130001,33.669998,34.049999,31.529655,53470400
+2013-09-23,33.799999,34.340000,33.750000,33.939999,31.427792,26293100
+2013-09-24,33.830002,33.889999,33.590000,33.639999,31.149996,18958300
+2013-09-25,33.759998,34.090000,33.700001,33.869999,31.362978,19653100
+2013-09-26,33.980000,34.259998,33.689999,33.810001,31.307426,15621000
+2013-09-27,33.630001,33.950001,33.509998,33.779999,31.279638,14068700
+2013-09-30,33.490002,33.529999,33.040001,33.169998,30.714790,25132600
+2013-10-01,33.200001,33.549999,33.060001,33.500000,31.020361,16300300
+2013-10-02,33.310001,33.730000,33.259998,33.680000,31.187037,19451600
+2013-10-03,33.529999,33.669998,33.080002,33.240002,30.779608,15480100
+2013-10-04,33.180000,33.490002,33.060001,33.209999,30.863247,15054900
+2013-10-07,32.860001,33.240002,32.790001,32.840000,30.519398,14150100
+2013-10-08,32.830002,32.919998,32.270000,32.369999,30.082605,23780400
+2013-10-09,32.450001,32.459999,32.000000,32.189999,29.915327,19656000
+2013-10-10,32.480000,33.000000,32.340000,32.990002,30.658802,21580700
+2013-10-11,33.080002,33.380001,32.939999,33.259998,30.909710,14018800
+2013-10-14,33.009998,33.349998,32.889999,33.279999,30.928297,12882400
+2013-10-15,33.139999,33.259998,32.700001,32.750000,30.435760,20677000
+2013-10-16,32.910000,33.200001,32.889999,33.020000,30.686678,16398300
+2013-10-17,32.619999,33.049999,32.520000,32.869999,30.547274,22821900
+2013-10-18,32.750000,32.990002,32.549999,32.900002,30.575153,17472700
+2013-10-21,33.230000,33.400002,32.830002,32.950001,30.621616,16568800
+2013-10-22,33.090000,33.139999,32.849998,32.900002,30.575153,19741200
+2013-10-23,32.860001,32.889999,32.439999,32.700001,30.389286,24610300
+2013-10-24,32.740002,33.250000,32.730000,33.070000,30.733139,26573600
+2013-10-25,33.209999,33.490002,33.009998,33.150002,30.807489,19820600
+2013-10-28,33.240002,33.459999,33.090000,33.139999,30.798195,17632800
+2013-10-29,33.240002,33.730000,33.240002,33.709999,31.327921,15954700
+2013-10-30,33.820000,33.950001,33.419998,33.529999,31.160637,14959100
+2013-10-31,33.500000,33.910000,33.439999,33.500000,31.132755,16171500
+2013-11-01,33.700001,33.820000,33.430000,33.529999,31.160637,15115800
+2013-11-04,33.700001,33.759998,33.459999,33.709999,31.327921,12725000
+2013-11-05,33.549999,33.689999,33.410000,33.500000,31.132755,11161500
+2013-11-06,33.660000,34.340000,33.619999,34.070000,31.662470,25184600
+2013-11-07,34.180000,34.459999,33.939999,34.000000,31.597422,17101200
+2013-11-08,33.919998,34.349998,33.759998,34.349998,31.922689,14028300
+2013-11-11,34.310001,34.630001,34.279999,34.369999,31.941277,11415100
+2013-11-12,34.459999,34.849998,34.270000,34.700001,32.247952,16145000
+2013-11-13,34.599998,35.000000,34.590000,35.000000,32.526756,14815800
+2013-11-14,34.169998,34.570000,34.060001,34.380001,31.950569,25790900
+2013-11-15,34.360001,34.930000,34.310001,34.919998,32.452415,21477700
+2013-11-18,34.880001,35.130001,34.820000,34.930000,32.461708,15093200
+2013-11-19,34.990002,34.990002,34.630001,34.759998,32.303726,14532900
+2013-11-20,34.840000,34.970001,34.669998,34.750000,32.294422,12165500
+2013-11-21,34.840000,35.049999,34.709999,34.939999,32.470997,11773000
+2013-11-22,34.820000,34.970001,34.680000,34.830002,32.368778,13826300
+2013-11-25,34.919998,34.959999,34.599998,34.779999,32.322304,14753800
+2013-11-26,34.689999,35.160000,34.610001,34.930000,32.461708,28403700
+2013-11-27,35.060001,35.400002,35.020000,35.290001,32.796261,16120200
+2013-11-29,35.099998,35.419998,35.040001,35.290001,32.796261,11851500
+2013-12-02,35.369999,35.389999,34.959999,35.080002,32.601112,20284400
+2013-12-03,34.990002,35.110001,34.840000,35.070000,32.591816,16545300
+2013-12-04,34.900002,35.180000,34.820000,35.070000,32.591816,20004000
+2013-12-05,35.169998,35.169998,34.820000,34.849998,32.387356,20839500
+2013-12-06,35.150002,35.509998,35.099998,35.480000,32.972843,15995300
+2013-12-09,35.480000,35.750000,35.400002,35.599998,33.084358,16795000
+2013-12-10,35.419998,35.470001,34.770000,34.799999,32.340889,25491700
+2013-12-11,34.950001,35.060001,34.419998,34.560001,32.117855,17184000
+2013-12-12,33.849998,33.900002,33.290001,33.599998,31.225689,30946000
+2013-12-13,33.660000,33.700001,33.220001,33.230000,30.881830,18221200
+2013-12-16,33.400002,33.880001,33.349998,33.540001,31.169922,22756300
+2013-12-17,33.630001,33.790001,33.380001,33.630001,31.253567,21782100
+2013-12-18,33.869999,34.759998,33.700001,34.599998,32.155018,40179900
+2013-12-19,35.520000,36.959999,35.500000,36.599998,34.013691,62855300
+2013-12-20,36.650002,36.799999,36.369999,36.369999,33.799957,40783000
+2013-12-23,36.529999,37.020000,36.520000,36.930000,34.320377,18002800
+2013-12-24,36.959999,37.380001,36.880001,37.320000,34.682816,9670100
+2013-12-26,37.330002,37.750000,37.299999,37.689999,35.026672,11516900
+2013-12-27,37.889999,38.220001,37.779999,37.980000,35.296185,15373100
+2013-12-30,37.950001,38.110001,37.810001,37.990002,35.305481,11683000
+2013-12-31,37.939999,38.340000,37.880001,38.259998,35.556389,11746400
+2014-01-02,37.779999,38.029999,37.549999,37.840000,35.166069,18162100
+2014-01-03,37.650002,37.860001,37.560001,37.619999,35.072853,11693900
+2014-01-06,37.639999,37.799999,37.419998,37.470001,34.932995,15329400
+2014-01-07,37.660000,37.930000,37.500000,37.849998,35.287270,16792200
+2014-01-08,37.790001,37.910000,37.560001,37.720001,35.166077,16111600
+2014-01-09,37.849998,37.849998,37.459999,37.650002,35.100822,13623500
+2014-01-10,37.750000,38.139999,37.590000,38.110001,35.529667,15402900
+2014-01-13,37.950001,38.200001,37.700001,37.750000,35.194050,20848300
+2014-01-14,37.779999,38.250000,37.709999,38.209999,35.622894,13486400
+2014-01-15,38.200001,38.570000,38.119999,38.410000,35.809361,17010900
+2014-01-16,38.389999,38.770000,38.169998,38.290001,35.697491,13463000
+2014-01-17,38.119999,38.470001,38.029999,38.209999,35.622894,14051100
+2014-01-21,38.520000,38.520000,37.799999,38.110001,35.529667,13540000
+2014-01-22,38.029999,38.279999,37.950001,37.980000,35.408474,14006300
+2014-01-23,38.169998,38.259998,37.930000,38.150002,35.566963,14174200
+2014-01-24,37.919998,37.959999,37.110001,37.110001,34.597382,26815600
+2014-01-27,37.259998,37.369999,36.490002,36.490002,34.019360,19073800
+2014-01-28,36.599998,37.130001,36.580002,37.099998,34.588047,13899900
+2014-01-29,37.180000,37.250000,36.709999,36.970001,34.466854,16553600
+2014-01-30,37.189999,37.560001,37.080002,37.400002,34.867741,12975500
+2014-01-31,37.029999,37.200001,36.680000,36.900002,34.401588,17039700
+2014-02-03,37.090000,37.090000,35.820000,35.840000,33.413364,21272600
+2014-02-04,35.650002,36.020000,35.439999,35.959999,33.525238,16228000
+2014-02-05,35.520000,36.250000,35.470001,35.950001,33.515923,11458400
+2014-02-06,36.119999,36.830002,36.110001,36.720001,34.233772,14762200
+2014-02-07,36.880001,37.230000,36.709999,37.189999,34.671955,13114700
+2014-02-10,37.240002,37.439999,37.070000,37.299999,34.774513,10976900
+2014-02-11,37.500000,37.900002,37.389999,37.840000,35.277946,12066100
+2014-02-12,37.799999,38.250000,37.660000,38.070000,35.492378,12343200
+2014-02-13,37.840000,38.490002,37.779999,38.419998,35.818676,11683200
+2014-02-14,38.330002,38.330002,37.919998,37.980000,35.408474,15641400
+2014-02-18,38.060001,38.119999,37.730000,37.970001,35.399147,10560300
+2014-02-19,37.830002,38.299999,37.799999,37.869999,35.305916,12491400
+2014-02-20,37.840000,38.349998,37.700001,38.270000,35.678833,11786000
+2014-02-21,38.330002,38.490002,38.080002,38.099998,35.520336,13243600
+2014-02-24,38.160000,38.459999,38.040001,38.139999,35.557640,10388100
+2014-02-25,38.110001,38.430000,37.889999,38.250000,35.660191,11766400
+2014-02-26,38.419998,38.830002,38.349998,38.500000,35.893257,11482900
+2014-02-27,38.500000,39.099998,38.360001,38.950001,36.312805,14055700
+2014-02-28,38.950001,39.369999,38.650002,39.110001,36.461967,19257800
+2014-03-03,38.720001,38.990002,38.380001,38.509998,35.902576,13293700
+2014-03-04,39.139999,39.500000,39.060001,39.410000,36.741653,13682100
+2014-03-05,39.410000,39.700001,39.299999,39.500000,36.825558,11929200
+2014-03-06,39.680000,39.849998,39.419998,39.459999,36.788265,13081900
+2014-03-07,39.570000,39.590000,38.599998,38.830002,36.200920,13821500
+2014-03-10,38.820000,38.950001,38.650002,38.860001,36.228897,8670300
+2014-03-11,39.000000,39.020000,38.619999,38.900002,36.266186,12841500
+2014-03-12,38.820000,38.820000,38.279999,38.520000,35.911907,13226200
+2014-03-13,38.619999,38.660000,37.520000,37.650002,35.100822,15361200
+2014-03-14,37.689999,38.000000,37.500000,37.599998,35.054203,14308300
+2014-03-17,37.799999,38.480000,37.799999,38.220001,35.632221,14981300
+2014-03-18,38.369999,38.939999,38.160000,38.840000,36.210239,29707200
+2014-03-19,37.799999,38.959999,37.400002,38.549999,35.939880,45154900
+2014-03-20,38.500000,38.689999,38.009998,38.369999,35.772049,18960200
+2014-03-21,38.700001,38.849998,37.500000,37.500000,34.960968,33897900
+2014-03-24,37.490002,38.340000,37.380001,38.180000,35.594929,22539000
+2014-03-25,38.130001,38.500000,38.099998,38.400002,35.800026,19750600
+2014-03-26,38.400002,39.459999,38.360001,39.080002,36.433994,31357500
+2014-03-27,38.990002,39.560001,38.799999,39.240002,36.583157,26283600
+2014-03-28,39.520000,39.860001,39.189999,39.570000,36.890823,18405100
+2014-03-31,39.750000,41.430000,39.630001,40.910000,38.140087,48340300
+2014-04-01,41.040001,42.000000,40.959999,41.490002,38.680820,35431800
+2014-04-02,41.369999,41.619999,40.849998,41.130001,38.345192,22754900
+2014-04-03,41.040001,41.139999,40.340000,40.369999,37.636642,22497000
+2014-04-04,40.599998,40.730000,39.660000,39.980000,37.384174,23836200
+2014-04-07,39.799999,39.919998,39.040001,39.470001,36.907307,27311900
+2014-04-08,39.439999,40.349998,39.360001,40.240002,37.627296,22197600
+2014-04-09,40.470001,40.919998,40.180000,40.880001,38.225746,20314000
+2014-04-10,40.889999,41.049999,39.480000,39.790001,37.206516,26397800
+2014-04-11,39.509998,39.880001,38.970001,38.980000,36.449104,18655800
+2014-04-14,39.080002,39.750000,39.080002,39.570000,37.000805,16022000
+2014-04-15,39.700001,39.980000,39.240002,39.730000,37.150414,14553400
+2014-04-16,39.939999,40.150002,39.509998,40.130001,37.524445,13614800
+2014-04-17,39.959999,40.180000,39.389999,40.080002,37.477695,14644100
+2014-04-21,40.240002,40.439999,40.060001,40.240002,37.627296,8593600
+2014-04-22,40.270000,40.619999,40.139999,40.459999,37.833012,10396100
+2014-04-23,40.279999,40.340000,39.750000,39.790001,37.206516,10048500
+2014-04-24,39.759998,39.860001,39.020000,39.750000,37.169109,13966400
+2014-04-25,39.810001,39.810001,39.230000,39.450001,36.888588,11647800
+2014-04-28,39.750000,40.279999,39.650002,40.130001,37.524445,20141200
+2014-04-29,40.250000,40.610001,40.070000,40.110001,37.505741,14996300
+2014-04-30,40.090000,40.930000,40.020000,40.880001,38.225746,16480900
+2014-05-01,40.720001,41.189999,40.639999,40.970001,38.309902,13945500
+2014-05-02,41.160000,41.209999,40.810001,40.810001,38.160286,10710100
+2014-05-05,41.130001,41.259998,40.770000,41.209999,38.534317,13722700
+2014-05-06,41.000000,41.290001,40.970001,41.009998,38.347301,12647500
+2014-05-07,41.150002,41.279999,40.490002,41.060001,38.394058,12570400
+2014-05-08,41.090000,41.259998,40.549999,40.869999,38.216400,10212900
+2014-05-09,40.799999,41.259998,40.540001,41.040001,38.375355,10262400
+2014-05-12,41.220001,42.139999,41.189999,41.950001,39.226269,18751400
+2014-05-13,42.020000,42.090000,41.639999,41.889999,39.170166,10319200
+2014-05-14,41.980000,42.020000,41.709999,41.880001,39.160816,14015200
+2014-05-15,41.840000,42.169998,41.639999,41.930000,39.207577,19267000
+2014-05-16,41.889999,41.970001,41.320000,41.689999,38.983154,15497400
+2014-05-19,41.480000,42.200001,41.410000,42.160000,39.422634,11929700
+2014-05-20,42.070000,42.099998,41.450001,41.560001,38.861603,10580200
+2014-05-21,41.669998,41.790001,41.480000,41.680000,38.973804,11151700
+2014-05-22,41.599998,41.939999,41.509998,41.520000,38.824196,12276200
+2014-05-23,41.650002,42.230000,41.490002,42.150002,39.413288,12044200
+2014-05-27,42.259998,42.349998,41.730000,41.910000,39.188869,12680200
+2014-05-28,41.990002,42.189999,41.560001,41.570000,38.870949,11308800
+2014-05-29,41.790001,42.209999,41.610001,42.200001,39.460037,9629500
+2014-05-30,42.080002,42.200001,41.849998,42.020000,39.291733,13496500
+2014-06-02,41.959999,42.020000,41.610001,41.970001,39.244972,11284900
+2014-06-03,41.840000,41.919998,41.580002,41.810001,39.095356,10968400
+2014-06-04,41.790001,41.790001,41.330002,41.700001,38.992508,8936300
+2014-06-05,41.849998,42.330002,41.740002,42.099998,39.366535,10647800
+2014-06-06,42.290001,42.630001,42.250000,42.630001,39.862125,11447800
+2014-06-09,42.650002,42.810001,42.410000,42.700001,39.927574,10307400
+2014-06-10,42.570000,42.880001,42.490002,42.660000,39.890175,13457200
+2014-06-11,42.450001,42.880001,42.360001,42.560001,39.796661,9622700
+2014-06-12,42.529999,42.619999,41.840000,42.000000,39.273022,11060900
+2014-06-13,42.049999,42.180000,41.709999,42.139999,39.403923,10324600
+2014-06-16,42.000000,42.230000,41.770000,42.150002,39.413288,8150200
+2014-06-17,42.189999,42.700001,41.980000,42.320000,39.572247,12792400
+2014-06-18,42.380001,42.860001,42.299999,42.810001,40.030437,10307000
+2014-06-19,42.930000,43.189999,42.430000,42.509998,39.749908,27255800
+2014-06-20,40.259998,40.939999,39.930000,40.820000,38.169636,65103700
+2014-06-23,40.930000,41.330002,40.750000,41.099998,38.431465,16956600
+2014-06-24,40.990002,41.389999,40.660000,40.759998,38.113522,16459200
+2014-06-25,40.730000,40.840000,40.389999,40.459999,37.833012,13889400
+2014-06-26,40.549999,40.549999,39.980000,40.150002,37.543140,16642500
+2014-06-27,40.029999,40.660000,40.029999,40.529999,37.898464,15320500
+2014-06-30,40.599998,40.820000,40.490002,40.529999,37.898464,14098200
+2014-07-01,40.410000,40.910000,40.410000,40.770000,38.122887,13147000
+2014-07-02,40.930000,41.200001,40.770000,40.950001,38.291203,13400200
+2014-07-03,40.980000,41.360001,40.970001,41.340000,38.655888,7863600
+2014-07-07,41.009998,41.110001,40.750000,40.889999,38.346409,11959400
+2014-07-08,40.689999,40.849998,40.380001,40.560001,38.036942,12350600
+2014-07-09,40.610001,40.720001,39.990002,40.259998,37.755585,14711600
+2014-07-10,39.889999,40.520000,39.889999,40.320000,37.811855,9566900
+2014-07-11,40.490002,40.490002,39.980000,40.130001,37.633686,11942300
+2014-07-14,40.430000,40.680000,40.259998,40.490002,37.971291,13586800
+2014-07-15,40.380001,40.810001,40.360001,40.540001,38.018177,11813800
+2014-07-16,40.810001,40.880001,40.130001,40.259998,37.755585,14722600
+2014-07-17,40.209999,40.709999,39.860001,39.910000,37.427368,24447800
+2014-07-18,39.980000,40.160000,39.889999,40.000000,37.511768,19123500
+2014-07-21,40.029999,40.240002,39.919998,40.009998,37.521152,15864700
+2014-07-22,40.139999,40.700001,39.959999,40.430000,37.915028,13728100
+2014-07-23,40.430000,40.650002,40.240002,40.310001,37.802479,9191700
+2014-07-24,40.349998,40.669998,40.349998,40.470001,37.952534,10797700
+2014-07-25,40.270000,40.639999,40.270000,40.330002,37.821239,7483800
+2014-07-28,40.310001,40.820000,40.230000,40.549999,38.027554,9658200
+2014-07-29,40.709999,40.919998,40.500000,40.630001,38.102581,9450400
+2014-07-30,40.709999,41.029999,40.580002,40.959999,38.412048,11406300
+2014-07-31,40.650002,40.939999,40.349998,40.389999,37.877506,13689500
+2014-08-01,40.189999,40.529999,39.570000,39.610001,37.146038,15074700
+2014-08-04,39.630001,40.220001,39.529999,40.099998,37.605545,12356200
+2014-08-05,40.009998,40.380001,39.810001,39.959999,37.474258,8806600
+2014-08-06,39.849998,40.349998,39.779999,40.160000,37.661819,8184800
+2014-08-07,40.299999,40.430000,39.590000,39.669998,37.202290,9180500
+2014-08-08,39.730000,39.970001,39.560001,39.939999,37.455502,8862000
+2014-08-11,39.990002,40.139999,39.810001,39.919998,37.436737,10292800
+2014-08-12,39.740002,40.040001,39.730000,39.900002,37.417995,6704300
+2014-08-13,40.119999,40.299999,40.020000,40.240002,37.736843,10629700
+2014-08-14,40.290001,40.400002,39.980000,40.220001,37.718086,9707000
+2014-08-15,40.240002,40.590000,39.980000,40.279999,37.774349,13418800
+2014-08-18,40.450001,40.770000,40.400002,40.639999,38.111950,7633600
+2014-08-19,40.720001,41.580002,40.639999,41.410000,38.834057,14378600
+2014-08-20,41.580002,41.580002,41.090000,41.250000,38.684006,9627100
+2014-08-21,41.160000,41.810001,41.160000,41.580002,38.993484,9569200
+2014-08-22,41.340000,41.799999,41.270000,41.630001,39.040375,9260700
+2014-08-25,41.740002,42.040001,41.639999,41.740002,39.143536,8856700
+2014-08-26,41.849998,42.000000,41.779999,41.840000,39.237309,7320800
+2014-08-27,41.750000,41.799999,41.419998,41.639999,39.049747,8440000
+2014-08-28,41.669998,41.669998,41.209999,41.270000,38.702766,8737100
+2014-08-29,41.240002,41.730000,41.240002,41.529999,38.946590,8970900
+2014-09-02,41.599998,41.680000,41.459999,41.660000,39.068508,8538600
+2014-09-03,41.799999,41.950001,41.619999,41.900002,39.293579,10041600
+2014-09-04,41.889999,42.090000,41.369999,41.549999,38.965351,12248100
+2014-09-05,41.610001,41.759998,41.259998,41.270000,38.702766,15155600
+2014-09-08,41.009998,41.180000,40.270000,40.639999,38.111950,19658500
+2014-09-09,40.509998,40.910000,40.430000,40.709999,38.177605,14044100
+2014-09-10,40.700001,40.810001,40.570000,40.709999,38.177605,9134500
+2014-09-11,40.250000,40.689999,40.200001,40.680000,38.149467,12389100
+2014-09-12,40.740002,40.740002,40.400002,40.500000,37.980663,11912300
+2014-09-15,40.500000,40.770000,40.209999,40.660000,38.130707,14018100
+2014-09-16,40.810001,41.330002,40.500000,41.189999,38.627747,13220100
+2014-09-17,41.189999,41.330002,40.770000,41.139999,38.580856,14083300
+2014-09-18,41.349998,41.770000,41.200001,41.549999,38.965351,26454500
+2014-09-19,40.580002,40.660000,39.279999,39.799999,37.324219,86679100
+2014-09-22,39.680000,39.740002,39.240002,39.580002,37.117893,24572600
+2014-09-23,39.500000,39.590000,38.799999,38.830002,36.414551,34353300
+2014-09-24,38.770000,39.560001,38.570000,39.419998,36.967842,18937000
+2014-09-25,39.349998,39.349998,38.650002,38.759998,36.348900,13287800
+2014-09-26,38.770000,39.009998,38.520000,38.950001,36.527084,16006400
+2014-09-29,38.570000,38.630001,38.270000,38.439999,36.048805,16586000
+2014-09-30,38.459999,38.570000,38.139999,38.279999,35.898754,21143300
+2014-10-01,38.320000,38.410000,37.950001,38.090000,35.720577,17452400
+2014-10-02,38.150002,38.549999,37.919998,38.270000,35.889385,14808100
+2014-10-03,38.500000,39.119999,38.400002,38.889999,36.470814,15289500
+2014-10-06,38.970001,39.240002,38.950001,39.080002,36.762436,14168000
+2014-10-07,38.939999,39.080002,38.430000,38.459999,36.179203,14309200
+2014-10-08,38.820000,39.049999,38.040001,39.020000,36.705994,16005500
+2014-10-09,38.990002,39.209999,38.509998,38.740002,36.442600,15004900
+2014-10-10,38.660000,39.099998,38.090000,38.099998,35.840542,18234100
+2014-10-13,38.110001,38.779999,37.860001,38.230000,35.962833,20723700
+2014-10-14,38.660000,39.040001,38.419998,38.459999,36.179203,19508500
+2014-10-15,37.980000,38.430000,37.180000,38.299999,36.028690,24561500
+2014-10-16,37.990002,38.180000,37.520000,37.560001,35.332577,21419300
+2014-10-17,37.689999,38.020000,37.340000,37.869999,35.624191,21122700
+2014-10-20,36.310001,37.810001,35.820000,37.799999,35.558342,16654100
+2014-10-21,38.290001,38.470001,38.040001,38.349998,36.075722,15381900
+2014-10-22,38.369999,38.430000,37.580002,37.639999,35.407825,16810200
+2014-10-23,38.080002,38.500000,38.009998,38.230000,35.962833,9659100
+2014-10-24,38.320000,38.740002,38.250000,38.730000,36.433197,8975900
+2014-10-27,38.500000,38.720001,38.349998,38.430000,36.150974,7525300
+2014-10-28,38.340000,38.730000,38.340000,38.650002,36.357933,11631800
+2014-10-29,38.730000,38.740002,38.459999,38.580002,36.292084,10923800
+2014-10-30,38.400002,38.660000,38.389999,38.500000,36.216820,9644400
+2014-10-31,38.880001,39.049999,38.830002,39.049999,36.734211,16142800
+2014-11-03,39.020000,39.040001,38.759998,38.990002,36.677769,10318600
+2014-11-04,38.930000,39.150002,38.900002,39.130001,36.809471,12671000
+2014-11-05,39.340000,39.509998,39.110001,39.290001,36.959976,12280300
+2014-11-06,39.220001,39.860001,39.110001,39.810001,37.449142,11603400
+2014-11-07,39.689999,39.970001,39.610001,39.939999,37.571430,13728500
+2014-11-10,39.970001,40.490002,39.889999,40.450001,38.051189,11058100
+2014-11-11,40.529999,40.590000,40.349998,40.470001,38.070004,7061000
+2014-11-12,40.560001,40.590000,40.049999,40.139999,37.759575,10965100
+2014-11-13,40.169998,40.770000,39.889999,40.720001,38.305172,11868700
+2014-11-14,40.860001,41.070000,40.630001,40.840000,38.418060,11476500
+2014-11-17,40.709999,41.200001,40.630001,41.160000,38.719078,11987600
+2014-11-18,41.189999,41.480000,41.110001,41.259998,38.813145,9328200
+2014-11-19,41.150002,41.270000,40.810001,40.919998,38.493309,9202600
+2014-11-20,40.709999,41.009998,40.610001,40.919998,38.493309,9062200
+2014-11-21,41.320000,41.500000,41.169998,41.439999,38.982475,12641400
+2014-11-24,41.490002,41.639999,41.360001,41.430000,38.973068,9542100
+2014-11-25,41.509998,41.639999,41.150002,41.150002,38.709671,12404200
+2014-11-26,41.180000,41.910000,41.180000,41.869999,39.386971,11590000
+2014-11-28,41.980000,42.509998,41.889999,42.410000,39.894947,11890100
+2014-12-01,42.009998,42.380001,42.009998,42.080002,39.584522,10802400
+2014-12-02,41.900002,42.360001,41.860001,42.180000,39.678596,9083200
+2014-12-03,41.939999,42.139999,41.639999,42.060001,39.565712,10326000
+2014-12-04,42.119999,42.119999,41.490002,41.889999,39.405788,9177100
+2014-12-05,42.020000,42.020000,41.590000,41.930000,39.443420,8925300
+2014-12-08,41.910000,42.029999,41.330002,41.369999,38.916622,12766500
+2014-12-09,40.980000,41.930000,40.889999,41.869999,39.386971,13897500
+2014-12-10,41.700001,41.810001,40.880001,40.919998,38.493309,12547600
+2014-12-11,41.119999,41.639999,40.709999,40.759998,38.342800,12395800
+2014-12-12,40.240002,40.779999,39.919998,39.950001,37.580837,14108200
+2014-12-15,41.209999,41.650002,40.770000,41.110001,38.672047,22343100
+2014-12-16,40.889999,41.360001,40.610001,40.630001,38.220520,16424500
+2014-12-17,41.060001,41.630001,40.680000,41.160000,38.719078,18151000
+2014-12-18,43.830002,45.369999,43.570000,45.349998,42.660591,54495600
+2014-12-19,45.099998,46.150002,44.980000,46.000000,43.272057,41782200
+2014-12-22,45.570000,46.049999,45.410000,45.650002,42.942802,21264400
+2014-12-23,45.529999,46.500000,45.459999,46.009998,43.281460,14042400
+2014-12-24,46.360001,46.709999,46.150002,46.230000,43.488419,10238200
+2014-12-26,46.189999,46.500000,46.070000,46.099998,43.366119,6901500
+2014-12-29,46.020000,46.090000,45.599998,45.610001,42.905186,9701400
+2014-12-30,45.549999,45.660000,45.290001,45.340000,42.651192,9968400
+2014-12-31,45.450001,45.560001,44.970001,44.970001,42.303135,13269200
diff --git a/backtrader/source/datas/orcl-2003-2005.txt b/backtrader/source/datas/orcl-2003-2005.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f45c038b6e35352cfd485ac85438b7514c51da93
--- /dev/null
+++ b/backtrader/source/datas/orcl-2003-2005.txt
@@ -0,0 +1,757 @@
+Date,Open,High,Low,Close,Adj Close,Volume
+2003-01-02,10.940000,11.250000,10.800000,11.210000,9.971185,32064900
+2003-01-03,11.190000,11.620000,11.120000,11.560000,10.282507,30879500
+2003-01-06,11.540000,12.110000,11.540000,11.960000,10.638303,45324400
+2003-01-07,11.890000,12.800000,11.760000,12.690000,11.287631,72764800
+2003-01-08,12.570000,12.650000,12.070000,12.120000,10.780618,53623200
+2003-01-09,12.460000,13.180000,12.400000,13.010000,11.572268,71178800
+2003-01-10,12.660000,13.250000,12.490000,13.070000,11.625636,52033600
+2003-01-13,13.300000,13.360000,12.830000,12.930000,11.501109,40588200
+2003-01-14,12.880000,13.200000,12.800000,13.110000,11.661217,39310400
+2003-01-15,13.150000,13.240000,12.460000,12.530000,11.145312,41972100
+2003-01-16,12.510000,12.800000,12.100000,12.170000,10.825096,50428400
+2003-01-17,11.680000,11.740000,11.420000,11.440000,10.175767,55319200
+2003-01-21,11.590000,11.920000,11.470000,11.570000,10.291402,36345400
+2003-01-22,11.590000,12.140000,11.450000,11.620000,10.335875,45273300
+2003-01-23,12.050000,12.590000,11.890000,12.460000,11.083047,46467100
+2003-01-24,12.410000,12.440000,11.670000,11.770000,10.469296,45555000
+2003-01-27,11.800000,12.060000,11.600000,11.930000,10.611618,44095200
+2003-01-28,12.150000,12.160000,11.710000,11.970000,10.647197,36313900
+2003-01-29,11.780000,12.190000,11.550000,12.020000,10.691673,36287500
+2003-01-30,12.080000,12.480000,11.690000,11.750000,10.451510,38272500
+2003-01-31,11.590000,12.180000,11.500000,12.030000,10.700568,48082000
+2003-02-03,12.010000,12.140000,11.890000,12.010000,10.682778,30451300
+2003-02-04,11.850000,12.130000,11.520000,11.730000,10.433721,47845200
+2003-02-05,11.880000,12.040000,11.500000,11.520000,10.246928,41316900
+2003-02-06,11.510000,11.720000,11.330000,11.530000,10.255820,39066500
+2003-02-07,11.740000,11.900000,11.260000,11.340000,10.086818,43943700
+2003-02-10,11.410000,11.800000,11.380000,11.750000,10.451510,33763500
+2003-02-11,11.840000,12.140000,11.720000,11.910000,10.593827,46126300
+2003-02-12,11.820000,11.950000,11.490000,11.500000,10.229136,39650300
+2003-02-13,11.560000,11.690000,11.350000,11.540000,10.264715,34557500
+2003-02-14,11.560000,11.920000,11.350000,11.700000,10.407034,41473100
+2003-02-18,11.900000,12.440000,11.790000,12.420000,11.047471,40391400
+2003-02-19,12.330000,12.370000,12.120000,12.320000,10.958520,34828800
+2003-02-20,12.390000,12.470000,12.230000,12.310000,10.949624,31167700
+2003-02-21,12.180000,12.440000,11.870000,12.390000,11.020787,44233400
+2003-02-24,12.190000,12.450000,11.810000,11.820000,10.513773,45766300
+2003-02-25,11.640000,12.010000,11.480000,11.940000,10.620513,47223800
+2003-02-26,11.910000,12.100000,11.670000,11.720000,10.424827,40775700
+2003-02-27,11.910000,12.090000,11.730000,11.890000,10.576039,36829700
+2003-02-28,11.890000,12.140000,11.830000,11.960000,10.638303,35480000
+2003-03-03,12.200000,12.200000,11.640000,11.690000,10.398142,34375200
+2003-03-04,11.740000,11.860000,11.550000,11.630000,10.344773,37421000
+2003-03-05,11.380000,11.410000,10.990000,11.170000,9.935604,64571400
+2003-03-06,11.180000,11.350000,11.020000,11.160000,9.926711,37140800
+2003-03-07,10.940000,11.300000,10.840000,11.060000,9.837760,44083500
+2003-03-10,10.820000,11.000000,10.670000,10.760000,9.570913,30568300
+2003-03-11,10.810000,10.960000,10.650000,10.680000,9.499754,36460600
+2003-03-12,10.650000,11.060000,10.640000,11.000000,9.784389,41539800
+2003-03-13,11.310000,11.940000,11.190000,11.900000,10.584934,57891600
+2003-03-14,11.890000,12.050000,11.650000,11.940000,10.620513,51565800
+2003-03-17,11.710000,12.450000,11.600000,12.350000,10.985206,56316800
+2003-03-18,12.370000,12.450000,12.060000,12.250000,10.896253,58587300
+2003-03-19,11.650000,11.830000,11.100000,11.310000,10.060135,123560800
+2003-03-20,11.430000,11.600000,11.110000,11.500000,10.229136,55821400
+2003-03-21,11.690000,11.830000,11.270000,11.350000,10.095716,65517600
+2003-03-24,11.140000,11.300000,10.990000,11.030000,9.811075,42180200
+2003-03-25,11.190000,11.490000,11.070000,11.300000,10.051239,41673400
+2003-03-26,11.340000,11.580000,11.250000,11.440000,10.175767,38346100
+2003-03-27,11.300000,11.510000,11.230000,11.360000,10.104609,29790500
+2003-03-28,11.250000,11.390000,11.100000,11.100000,9.873343,27751300
+2003-03-31,10.830000,11.090000,10.820000,10.850000,9.650972,44908800
+2003-04-01,10.880000,10.910000,10.650000,10.760000,9.570913,50467600
+2003-04-02,11.060000,11.560000,10.900000,11.460000,10.193557,48276800
+2003-04-03,11.820000,11.860000,11.540000,11.620000,10.335875,44264100
+2003-04-04,11.660000,11.740000,11.000000,11.370000,10.113503,34937000
+2003-04-07,11.900000,12.510000,11.680000,11.710000,10.415929,45510400
+2003-04-08,11.670000,11.740000,11.480000,11.500000,10.229136,34791300
+2003-04-09,11.620000,11.640000,11.160000,11.170000,9.935604,39120000
+2003-04-10,11.190000,11.450000,11.070000,11.370000,10.113503,31242200
+2003-04-11,11.520000,11.690000,11.200000,11.290000,10.042344,27457400
+2003-04-14,11.330000,11.710000,11.230000,11.660000,10.371456,28588700
+2003-04-15,11.530000,11.750000,11.460000,11.540000,10.264715,33429700
+2003-04-16,11.760000,11.950000,11.560000,11.580000,10.300299,41489400
+2003-04-17,11.550000,12.010000,11.460000,12.000000,10.673881,35670800
+2003-04-21,11.980000,12.190000,11.800000,11.840000,10.531563,29742500
+2003-04-22,11.790000,12.190000,11.700000,12.130000,10.789515,33697200
+2003-04-23,11.930000,12.080000,11.870000,12.000000,10.673881,30255100
+2003-04-24,11.830000,12.090000,11.760000,12.030000,10.700568,31261600
+2003-04-25,11.960000,12.020000,11.770000,11.790000,10.487089,26159300
+2003-04-28,11.800000,12.040000,11.660000,11.970000,10.647197,29737500
+2003-04-29,11.950000,12.200000,11.930000,12.020000,10.691673,31540200
+2003-04-30,11.960000,12.030000,11.810000,11.880000,10.567142,40601500
+2003-05-01,11.850000,11.990000,11.740000,11.920000,10.602724,26984400
+2003-05-02,11.790000,12.240000,11.790000,12.200000,10.851779,35190700
+2003-05-05,12.190000,12.300000,12.060000,12.080000,10.745041,34043100
+2003-05-06,11.980000,12.550000,11.930000,12.410000,11.038571,44153800
+2003-05-07,12.360000,12.550000,12.140000,12.190000,10.842883,45258000
+2003-05-08,12.000000,12.360000,12.000000,12.100000,10.762835,34438600
+2003-05-09,12.240000,12.500000,12.200000,12.420000,11.047471,33759800
+2003-05-12,12.290000,12.530000,12.200000,12.460000,11.083047,33784200
+2003-05-13,12.360000,12.650000,12.320000,12.420000,11.047471,34690400
+2003-05-14,12.600000,12.640000,12.340000,12.530000,11.145312,34511800
+2003-05-15,12.600000,13.010000,12.560000,12.910000,11.483317,45269100
+2003-05-16,12.910000,13.000000,12.470000,12.560000,11.172000,34563400
+2003-05-19,12.450000,12.620000,12.100000,12.170000,10.825096,32926600
+2003-05-20,12.210000,12.280000,12.010000,12.160000,10.816200,33688700
+2003-05-21,12.120000,12.220000,11.970000,12.100000,10.762835,35936400
+2003-05-22,12.130000,12.410000,12.120000,12.300000,10.940730,26953500
+2003-05-23,12.220000,12.300000,12.060000,12.100000,10.762835,25251500
+2003-05-27,12.030000,12.740000,11.980000,12.650000,11.252048,35590200
+2003-05-28,12.810000,13.400000,12.700000,13.260000,11.794641,78128000
+2003-05-29,13.070000,13.280000,12.810000,12.830000,11.412163,50293400
+2003-05-30,12.950000,13.250000,12.890000,13.010000,11.572268,43628800
+2003-06-02,13.210000,13.250000,12.760000,12.800000,11.385474,41425900
+2003-06-03,12.860000,13.160000,12.760000,13.020000,11.581161,33190800
+2003-06-04,13.110000,13.700000,13.000000,13.580000,12.079280,53947300
+2003-06-05,13.400000,13.570000,13.280000,13.360000,11.883589,37461900
+2003-06-06,13.640000,13.950000,12.950000,13.090000,11.643428,102963900
+2003-06-09,13.130000,13.250000,12.710000,12.860000,11.438843,51279400
+2003-06-10,13.050000,13.090000,12.860000,13.020000,11.581161,40820000
+2003-06-11,13.210000,13.420000,13.030000,13.270000,11.803535,41013300
+2003-06-12,13.400000,13.480000,13.100000,13.330000,11.856905,40907500
+2003-06-13,13.920000,14.000000,13.360000,13.480000,11.990325,81322400
+2003-06-16,13.620000,13.900000,13.300000,13.650000,12.141539,31357300
+2003-06-17,13.740000,13.770000,13.280000,13.350000,11.874691,36730100
+2003-06-18,13.290000,13.540000,13.260000,13.420000,11.936957,49885300
+2003-06-19,13.350000,13.510000,13.260000,13.340000,11.865800,39496600
+2003-06-20,13.520000,13.610000,12.860000,12.930000,11.501109,51764300
+2003-06-23,12.950000,13.050000,12.650000,12.770000,11.358789,30410900
+2003-06-24,12.860000,13.010000,12.600000,12.650000,11.252048,30663200
+2003-06-25,12.650000,12.810000,12.350000,12.380000,11.011891,26269000
+2003-06-26,12.520000,12.610000,12.150000,12.520000,11.136417,30859200
+2003-06-27,12.550000,12.690000,12.240000,12.430000,11.056364,29954600
+2003-06-30,12.490000,12.550000,12.000000,12.010000,10.682778,42454900
+2003-07-01,12.040000,12.380000,11.740000,12.330000,10.967413,45514700
+2003-07-02,12.480000,12.750000,12.320000,12.450000,11.074152,40358900
+2003-07-03,12.330000,12.520000,12.120000,12.180000,10.833991,15602700
+2003-07-07,12.360000,12.760000,12.290000,12.570000,11.180889,29498700
+2003-07-08,12.600000,12.880000,12.550000,12.730000,11.323209,43898700
+2003-07-09,12.920000,13.050000,12.600000,12.670000,11.269840,33649900
+2003-07-10,12.510000,12.740000,12.410000,12.600000,11.207576,41053100
+2003-07-11,12.600000,12.880000,12.580000,12.840000,11.421054,30605400
+2003-07-14,12.940000,13.090000,12.530000,12.640000,11.243156,28583900
+2003-07-15,12.850000,12.890000,12.540000,12.630000,11.234262,34859600
+2003-07-16,12.690000,12.710000,12.300000,12.410000,11.038571,30646000
+2003-07-17,12.220000,12.310000,12.030000,12.090000,10.753934,29515500
+2003-07-18,12.100000,12.160000,11.990000,12.080000,10.745041,24285200
+2003-07-21,12.060000,12.110000,11.590000,11.690000,10.398142,36377800
+2003-07-22,11.900000,12.250000,11.820000,12.070000,10.736146,43591000
+2003-07-23,12.190000,12.210000,11.830000,12.100000,10.762835,27594900
+2003-07-24,12.210000,12.360000,11.650000,11.680000,10.389247,42418200
+2003-07-25,11.740000,12.130000,11.600000,12.100000,10.762835,29301700
+2003-07-28,12.170000,12.240000,11.800000,11.880000,10.567142,35409100
+2003-07-29,11.950000,12.060000,11.690000,11.920000,10.602724,30663400
+2003-07-30,12.020000,12.060000,11.810000,11.880000,10.567142,27817400
+2003-07-31,12.080000,12.310000,11.880000,11.990000,10.664987,34629900
+2003-08-01,11.900000,11.990000,11.730000,11.820000,10.513773,29348000
+2003-08-04,11.880000,12.000000,11.670000,11.860000,10.549355,27503500
+2003-08-05,11.820000,11.960000,11.620000,11.640000,10.353663,30777600
+2003-08-06,11.560000,11.640000,11.430000,11.450000,10.184662,44154700
+2003-08-07,11.460000,11.530000,11.180000,11.390000,10.131290,30669300
+2003-08-08,11.490000,11.510000,11.170000,11.290000,10.042344,25653500
+2003-08-11,11.780000,11.900000,11.600000,11.680000,10.389247,51264000
+2003-08-12,11.860000,12.160000,11.810000,12.160000,10.816200,48958700
+2003-08-13,12.390000,12.390000,11.800000,11.900000,10.584934,68194900
+2003-08-14,11.980000,12.200000,11.880000,12.120000,10.780618,29768000
+2003-08-15,12.090000,12.140000,11.960000,12.080000,10.745041,12464200
+2003-08-18,12.160000,12.200000,12.090000,12.180000,10.833991,28071100
+2003-08-19,12.290000,12.320000,11.980000,12.150000,10.807303,40467800
+2003-08-20,12.050000,12.160000,11.960000,12.120000,10.780618,23000600
+2003-08-21,12.230000,12.320000,12.050000,12.160000,10.816200,36844900
+2003-08-22,12.240000,12.500000,12.150000,12.300000,10.940730,45221100
+2003-08-25,12.230000,12.410000,12.190000,12.370000,11.002991,30133800
+2003-08-26,12.270000,12.520000,12.030000,12.440000,11.065258,49911800
+2003-08-27,12.360000,12.570000,12.310000,12.450000,11.074152,38240700
+2003-08-28,12.500000,12.800000,12.480000,12.770000,11.358789,37764900
+2003-08-29,12.710000,12.890000,12.640000,12.830000,11.412163,33163800
+2003-09-02,12.960000,13.450000,12.940000,13.390000,11.910271,86313000
+2003-09-03,13.730000,14.030000,13.580000,13.760000,12.239388,100807000
+2003-09-04,13.650000,13.780000,13.510000,13.720000,12.203808,41802700
+2003-09-05,13.400000,13.510000,13.000000,13.080000,11.634531,77735500
+2003-09-08,13.250000,13.540000,13.230000,13.480000,11.990325,58859800
+2003-09-09,13.430000,13.480000,13.260000,13.360000,11.883589,39313700
+2003-09-10,13.150000,13.370000,12.790000,12.850000,11.429949,48143700
+2003-09-11,13.030000,13.180000,12.860000,12.980000,11.545584,55297300
+2003-09-12,12.140000,12.600000,12.050000,12.550000,11.163103,125872200
+2003-09-15,12.560000,12.640000,12.380000,12.450000,11.074152,44944600
+2003-09-16,12.470000,12.560000,12.410000,12.530000,11.145312,42621000
+2003-09-17,12.510000,12.540000,12.220000,12.280000,10.922938,48337000
+2003-09-18,12.270000,12.410000,12.140000,12.360000,10.994098,53130900
+2003-09-19,12.320000,12.350000,12.070000,12.120000,10.780618,56562500
+2003-09-22,12.020000,12.080000,11.870000,11.970000,10.647197,48600400
+2003-09-23,12.070000,12.130000,11.970000,12.030000,10.700568,41884000
+2003-09-24,12.030000,12.090000,11.600000,11.600000,10.318087,73146100
+2003-09-25,11.670000,11.930000,11.530000,11.560000,10.282507,41716800
+2003-09-26,11.650000,11.710000,11.390000,11.410000,10.149080,45417900
+2003-09-29,11.550000,11.640000,11.360000,11.640000,10.353663,41382800
+2003-09-30,11.500000,11.520000,11.210000,11.250000,10.006766,54694100
+2003-10-01,11.380000,11.730000,11.350000,11.690000,10.398142,47601100
+2003-10-02,11.570000,11.630000,11.370000,11.400000,10.140189,53302900
+2003-10-03,11.860000,12.090000,11.710000,11.980000,10.656094,76447800
+2003-10-06,12.070000,12.300000,12.040000,12.190000,10.842883,36214900
+2003-10-07,12.050000,12.260000,11.960000,12.200000,10.851779,45506900
+2003-10-08,12.530000,12.750000,12.380000,12.630000,11.234262,71375900
+2003-10-09,12.750000,12.890000,12.310000,12.330000,10.967413,63201300
+2003-10-10,12.450000,12.510000,12.290000,12.330000,10.967413,38087200
+2003-10-13,12.390000,12.490000,12.210000,12.280000,10.922938,45863300
+2003-10-14,12.250000,12.400000,12.160000,12.330000,10.967413,32292100
+2003-10-15,12.460000,12.500000,12.030000,12.120000,10.780618,44173200
+2003-10-16,12.100000,12.160000,11.860000,11.970000,10.647197,60555300
+2003-10-17,11.910000,12.010000,11.680000,11.720000,10.424827,49571700
+2003-10-20,11.780000,11.970000,11.760000,11.910000,10.593827,34152800
+2003-10-21,12.030000,12.100000,11.920000,11.980000,10.656094,33965400
+2003-10-22,11.840000,11.960000,11.700000,11.720000,10.424827,30664800
+2003-10-23,11.660000,11.870000,11.600000,11.750000,10.451510,29827900
+2003-10-24,11.600000,11.780000,11.520000,11.730000,10.433721,40662500
+2003-10-27,11.800000,11.890000,11.610000,11.700000,10.407034,27969800
+2003-10-28,11.720000,12.000000,11.550000,11.980000,10.656094,44104200
+2003-10-29,11.930000,12.080000,11.760000,11.890000,10.576039,40955000
+2003-10-30,12.090000,12.290000,11.920000,12.190000,10.842883,53247200
+2003-10-31,12.120000,12.280000,11.960000,11.970000,10.647197,32516500
+2003-11-03,12.060000,12.320000,12.020000,12.190000,10.842883,35722600
+2003-11-04,12.070000,12.480000,12.040000,12.210000,10.860674,42082700
+2003-11-05,12.330000,12.480000,12.190000,12.350000,10.985206,36371900
+2003-11-06,12.530000,12.720000,12.200000,12.700000,11.296529,76866900
+2003-11-07,12.790000,12.880000,12.430000,12.460000,11.083047,50302100
+2003-11-10,12.410000,12.750000,12.350000,12.570000,11.180889,44400800
+2003-11-11,12.690000,12.740000,12.400000,12.540000,11.154209,34508000
+2003-11-12,12.560000,12.850000,12.540000,12.770000,11.358789,38815500
+2003-11-13,12.630000,12.720000,12.460000,12.570000,11.180889,34809000
+2003-11-14,12.570000,12.670000,12.270000,12.290000,10.931831,36909100
+2003-11-17,12.240000,12.250000,11.980000,12.090000,10.753934,34247700
+2003-11-18,12.190000,12.240000,11.780000,11.810000,10.504880,42238700
+2003-11-19,11.850000,12.130000,11.790000,12.030000,10.700568,37597900
+2003-11-20,11.920000,12.140000,11.770000,11.820000,10.513773,41329600
+2003-11-21,11.920000,12.000000,11.750000,11.880000,10.567142,31832800
+2003-11-24,12.050000,12.100000,11.920000,12.050000,10.718357,43397800
+2003-11-25,12.070000,12.080000,11.860000,11.870000,10.558247,40057100
+2003-11-26,12.000000,12.050000,11.860000,12.040000,10.709458,30882000
+2003-11-28,12.020000,12.060000,11.980000,12.020000,10.691673,8159500
+2003-12-01,12.170000,12.570000,12.160000,12.510000,11.127522,50681500
+2003-12-02,12.490000,12.690000,12.350000,12.400000,11.029679,47466000
+2003-12-03,12.710000,13.100000,12.650000,12.900000,11.474422,89509200
+2003-12-04,12.950000,13.060000,12.820000,12.990000,11.554479,56952500
+2003-12-05,12.860000,12.990000,12.710000,12.740000,11.332106,39383800
+2003-12-08,12.690000,12.930000,12.640000,12.810000,11.394370,32397300
+2003-12-09,12.920000,12.970000,12.510000,12.610000,11.216468,40658700
+2003-12-10,12.610000,12.800000,12.600000,12.780000,11.367684,41922500
+2003-12-11,12.740000,12.900000,12.720000,12.830000,11.412163,39950200
+2003-12-12,12.880000,12.900000,12.690000,12.830000,11.412163,37379900
+2003-12-15,13.070000,13.080000,12.650000,12.700000,11.296529,82537400
+2003-12-16,12.980000,13.230000,12.750000,13.120000,11.670113,95028600
+2003-12-17,13.080000,13.260000,13.050000,13.250000,11.785744,46581000
+2003-12-18,13.220000,13.430000,13.200000,13.330000,11.856905,48645300
+2003-12-19,13.340000,13.430000,12.980000,13.090000,11.643428,52988700
+2003-12-22,12.970000,13.210000,12.920000,13.200000,11.741268,37429800
+2003-12-23,13.240000,13.240000,12.980000,13.050000,11.607845,27584700
+2003-12-24,12.990000,13.130000,12.950000,12.970000,11.536691,15177900
+2003-12-26,12.980000,13.060000,12.950000,13.000000,11.563371,9305200
+2003-12-29,12.990000,13.210000,12.960000,13.180000,11.723480,24670600
+2003-12-30,13.180000,13.230000,13.050000,13.190000,11.732375,21820800
+2003-12-31,13.170000,13.240000,13.050000,13.230000,11.767954,24268300
+2004-01-02,13.250000,13.310000,13.110000,13.140000,11.687901,20730800
+2004-01-05,13.280000,13.560000,13.260000,13.550000,12.052594,35329600
+2004-01-06,13.520000,13.710000,13.400000,13.600000,12.097069,40106000
+2004-01-07,13.670000,13.990000,13.590000,13.970000,12.426177,45151100
+2004-01-08,13.990000,14.380000,13.750000,14.240000,12.666341,70741300
+2004-01-09,14.070000,14.360000,14.000000,14.170000,12.604078,41121800
+2004-01-12,14.280000,15.510000,14.240000,14.660000,13.039927,62729400
+2004-01-13,14.440000,14.480000,14.040000,14.360000,12.773076,78363800
+2004-01-14,14.480000,14.670000,14.390000,14.590000,12.977662,30545500
+2004-01-15,14.440000,14.980000,14.440000,14.890000,13.244508,50439200
+2004-01-16,14.990000,15.030000,14.670000,14.850000,13.208930,46809800
+2004-01-20,14.910000,14.970000,14.560000,14.710000,13.084402,40751300
+2004-01-21,14.630000,14.920000,14.510000,14.710000,13.084402,36834500
+2004-01-22,14.790000,14.910000,14.420000,14.530000,12.924294,34476800
+2004-01-23,14.550000,14.670000,14.350000,14.540000,12.933187,28790500
+2004-01-26,14.460000,14.540000,14.280000,14.470000,12.870920,33787100
+2004-01-27,14.420000,14.680000,14.180000,14.200000,12.630759,32503900
+2004-01-28,14.310000,14.400000,13.860000,13.940000,12.399492,44593900
+2004-01-29,14.050000,14.220000,13.730000,14.190000,12.621868,50196100
+2004-01-30,14.110000,14.300000,13.780000,13.860000,12.328335,45136500
+2004-02-02,13.760000,13.900000,13.510000,13.640000,12.132647,42162300
+2004-02-03,13.570000,13.990000,13.520000,13.910000,12.372808,32484300
+2004-02-04,13.190000,13.690000,13.120000,13.270000,11.803535,47107800
+2004-02-05,13.440000,13.770000,13.320000,13.560000,12.061490,39729800
+2004-02-06,13.580000,13.760000,13.360000,13.420000,11.936957,41298900
+2004-02-09,13.540000,13.630000,13.250000,13.280000,11.812428,33219100
+2004-02-10,13.270000,13.530000,13.260000,13.390000,11.910271,30386400
+2004-02-11,13.530000,13.790000,13.330000,13.700000,12.186015,38713100
+2004-02-12,13.620000,13.850000,13.510000,13.720000,12.203808,27981100
+2004-02-13,13.780000,14.100000,13.660000,13.790000,12.266070,41834100
+2004-02-17,13.910000,13.980000,13.730000,13.760000,12.239388,21836800
+2004-02-18,13.880000,14.160000,13.710000,14.060000,12.506234,38796400
+2004-02-19,14.180000,14.210000,13.770000,13.800000,12.274967,29936900
+2004-02-20,13.960000,13.970000,13.540000,13.710000,12.194913,27880000
+2004-02-23,13.680000,13.720000,13.220000,13.340000,11.865800,30737700
+2004-02-24,13.280000,13.360000,13.040000,13.260000,11.794641,56492900
+2004-02-25,13.290000,13.340000,13.080000,13.190000,11.732375,35990900
+2004-02-26,13.100000,13.500000,12.860000,13.280000,11.812428,45428900
+2004-02-27,13.300000,13.370000,12.860000,12.870000,11.447742,44508600
+2004-03-01,13.110000,13.170000,12.880000,13.080000,11.634531,46943200
+2004-03-02,13.130000,13.280000,12.950000,12.980000,11.545584,39962100
+2004-03-03,12.910000,13.140000,12.890000,13.010000,11.572268,29869200
+2004-03-04,12.920000,13.100000,12.890000,13.000000,11.563371,32745100
+2004-03-05,12.870000,13.100000,12.710000,12.710000,11.305421,59897400
+2004-03-08,12.860000,12.880000,12.320000,12.360000,10.994098,59836100
+2004-03-09,12.350000,12.480000,12.130000,12.310000,10.949624,59151200
+2004-03-10,12.400000,12.620000,12.310000,12.410000,11.038571,73298000
+2004-03-11,12.340000,12.600000,12.170000,12.250000,10.896253,88238400
+2004-03-12,12.490000,12.500000,11.950000,12.060000,10.727255,109858800
+2004-03-15,12.030000,12.050000,11.580000,11.660000,10.371456,71864700
+2004-03-16,11.790000,11.890000,11.370000,11.700000,10.407034,84172400
+2004-03-17,11.850000,11.930000,11.680000,11.850000,10.540460,59616200
+2004-03-18,11.800000,11.830000,11.560000,11.610000,10.326982,59118700
+2004-03-19,11.600000,11.780000,11.490000,11.500000,10.229136,47572800
+2004-03-22,11.380000,11.450000,11.150000,11.340000,10.086818,54723000
+2004-03-23,11.450000,11.630000,11.300000,11.400000,10.140189,62015900
+2004-03-24,11.480000,11.690000,11.300000,11.530000,10.255820,43124500
+2004-03-25,11.650000,12.030000,11.630000,11.940000,10.620513,61981700
+2004-03-26,11.930000,12.150000,11.900000,11.920000,10.602724,47907200
+2004-03-29,12.040000,12.120000,11.960000,12.080000,10.745041,39093100
+2004-03-30,11.970000,12.130000,11.840000,12.080000,10.745041,49915300
+2004-03-31,12.100000,12.160000,11.950000,12.000000,10.673881,48584200
+2004-04-01,11.990000,12.360000,11.960000,12.290000,10.931831,60501700
+2004-04-02,12.620000,12.650000,12.400000,12.580000,11.189787,48908400
+2004-04-05,12.600000,12.860000,12.550000,12.770000,11.358789,48809700
+2004-04-06,12.650000,12.740000,12.420000,12.460000,11.083047,36671400
+2004-04-07,12.430000,12.460000,12.220000,12.350000,10.985206,45873800
+2004-04-08,12.540000,12.580000,12.300000,12.380000,11.011891,25128300
+2004-04-12,12.340000,12.570000,12.320000,12.410000,11.038571,37987000
+2004-04-13,12.430000,12.450000,12.230000,12.310000,10.949624,34207400
+2004-04-14,12.220000,12.470000,12.210000,12.370000,11.002991,40484800
+2004-04-15,12.420000,12.420000,11.980000,12.080000,10.745041,41139700
+2004-04-16,12.170000,12.220000,11.910000,11.990000,10.664987,37456900
+2004-04-19,12.050000,12.320000,11.970000,12.320000,10.958520,39837500
+2004-04-20,12.290000,12.430000,11.990000,12.000000,10.673881,46891200
+2004-04-21,11.990000,12.150000,11.870000,12.070000,10.736146,39061300
+2004-04-22,11.980000,12.500000,11.950000,12.370000,11.002991,47915400
+2004-04-23,12.470000,12.580000,12.350000,12.530000,11.145312,38928500
+2004-04-26,12.480000,12.560000,12.200000,12.310000,10.949624,35321200
+2004-04-27,12.270000,12.400000,12.100000,12.150000,10.807303,38910400
+2004-04-28,12.080000,12.220000,11.770000,11.900000,10.584934,38196000
+2004-04-29,11.870000,11.890000,11.340000,11.430000,10.166874,86524700
+2004-04-30,11.500000,11.550000,11.220000,11.250000,10.006766,61729600
+2004-05-03,11.360000,11.520000,11.200000,11.330000,10.077927,47395000
+2004-05-04,11.260000,11.530000,11.170000,11.350000,10.095716,66183600
+2004-05-05,11.380000,11.600000,11.350000,11.350000,10.095716,29772000
+2004-05-06,11.260000,11.700000,11.250000,11.490000,10.220240,44245700
+2004-05-07,11.470000,11.680000,11.400000,11.400000,10.140189,39423200
+2004-05-10,11.260000,11.450000,11.260000,11.400000,10.140189,36486800
+2004-05-11,11.510000,11.670000,11.430000,11.670000,10.380351,36158300
+2004-05-12,11.550000,11.660000,11.350000,11.590000,10.309194,42703600
+2004-05-13,11.520000,11.850000,11.500000,11.800000,10.495983,34109400
+2004-05-14,11.740000,11.780000,11.460000,11.600000,10.318087,33566500
+2004-05-17,11.400000,11.500000,11.300000,11.360000,10.104609,49025700
+2004-05-18,11.430000,11.530000,11.370000,11.370000,10.113503,26005300
+2004-05-19,11.480000,11.590000,11.290000,11.290000,10.042344,39327800
+2004-05-20,11.380000,11.380000,11.150000,11.230000,9.988976,35553700
+2004-05-21,11.320000,11.390000,11.180000,11.230000,9.988976,38074300
+2004-05-24,11.320000,11.430000,11.280000,11.360000,10.104609,30700600
+2004-05-25,11.310000,11.520000,11.180000,11.500000,10.229136,44651300
+2004-05-26,11.450000,11.500000,11.280000,11.480000,10.211349,32837400
+2004-05-27,11.490000,11.620000,11.370000,11.480000,10.211349,40369500
+2004-05-28,11.420000,11.490000,11.320000,11.400000,10.140189,30497100
+2004-06-01,11.240000,11.310000,11.050000,11.120000,9.891130,42016100
+2004-06-02,11.220000,11.260000,11.080000,11.150000,9.917816,39112300
+2004-06-03,11.160000,11.210000,10.850000,10.970000,9.757706,53652200
+2004-06-04,11.090000,11.180000,11.010000,11.040000,9.819971,48278700
+2004-06-07,11.180000,11.420000,11.130000,11.420000,10.157976,43849600
+2004-06-08,11.420000,11.610000,11.340000,11.590000,10.309194,49357800
+2004-06-09,11.590000,11.720000,11.500000,11.540000,10.264715,47534000
+2004-06-10,11.570000,11.720000,11.530000,11.710000,10.415929,42342500
+2004-06-14,11.620000,11.660000,11.450000,11.550000,10.273612,41450900
+2004-06-15,11.630000,11.860000,11.610000,11.710000,10.415929,62721200
+2004-06-16,11.360000,11.430000,11.230000,11.350000,10.095716,80914200
+2004-06-17,11.270000,11.320000,11.120000,11.140000,9.908919,41264700
+2004-06-18,11.100000,11.350000,11.050000,11.140000,9.908919,62933800
+2004-06-21,11.130000,11.210000,11.110000,11.150000,9.917816,38332300
+2004-06-22,11.110000,11.190000,11.050000,11.120000,9.891130,55112100
+2004-06-23,11.090000,11.210000,11.080000,11.150000,9.917816,45101400
+2004-06-24,11.160000,11.570000,11.140000,11.500000,10.229136,70678600
+2004-06-25,11.560000,11.960000,11.510000,11.800000,10.495983,88673100
+2004-06-28,11.780000,11.850000,11.600000,11.630000,10.344773,47118600
+2004-06-29,11.620000,11.860000,11.580000,11.770000,10.469296,39040900
+2004-06-30,11.760000,12.070000,11.640000,11.930000,10.611618,62400000
+2004-07-01,11.850000,11.960000,11.610000,11.810000,10.504880,61520000
+2004-07-02,11.750000,11.820000,11.620000,11.650000,10.362561,32076700
+2004-07-06,11.550000,11.600000,11.140000,11.200000,9.962291,61782900
+2004-07-07,11.150000,11.320000,11.130000,11.200000,9.962291,50583800
+2004-07-08,11.140000,11.150000,10.860000,10.920000,9.713232,71465200
+2004-07-09,11.030000,11.250000,10.980000,11.030000,9.811075,47046600
+2004-07-12,11.070000,11.230000,11.010000,11.090000,9.864447,37216900
+2004-07-13,11.140000,11.150000,11.000000,11.000000,9.784389,39466700
+2004-07-14,10.950000,11.010000,10.680000,10.790000,9.597600,79172000
+2004-07-15,10.970000,11.000000,10.690000,10.720000,9.535335,72403300
+2004-07-16,10.840000,10.870000,10.210000,10.220000,9.090592,100621100
+2004-07-19,10.380000,10.480000,10.290000,10.330000,9.188433,54154100
+2004-07-20,10.380000,10.540000,10.270000,10.500000,9.339647,45273400
+2004-07-21,10.550000,10.810000,10.330000,10.350000,9.206223,67054800
+2004-07-22,10.360000,10.460000,10.120000,10.360000,9.215117,34995200
+2004-07-23,10.280000,10.310000,10.030000,10.100000,8.983853,36626900
+2004-07-26,10.120000,10.270000,10.030000,10.080000,8.966062,42494100
+2004-07-27,10.110000,10.490000,10.100000,10.380000,9.232909,44267700
+2004-07-28,10.310000,10.370000,10.050000,10.250000,9.117275,45714900
+2004-07-29,10.340000,10.500000,10.270000,10.380000,9.232909,41100200
+2004-07-30,10.390000,10.520000,10.350000,10.510000,9.348543,31709700
+2004-08-02,10.370000,10.670000,10.330000,10.670000,9.490860,40242900
+2004-08-03,10.570000,10.680000,10.520000,10.560000,9.393018,44096400
+2004-08-04,10.560000,10.970000,10.520000,10.840000,9.642075,51684300
+2004-08-05,10.830000,10.850000,10.540000,10.640000,9.464179,46577100
+2004-08-06,10.430000,10.540000,10.190000,10.190000,9.063905,38588500
+2004-08-09,10.300000,10.470000,10.200000,10.370000,9.224017,31533900
+2004-08-10,10.450000,10.610000,10.310000,10.600000,9.428595,31955300
+2004-08-11,10.390000,10.420000,10.090000,10.190000,9.063905,43650500
+2004-08-12,10.090000,10.200000,9.780000,9.900000,8.805953,56499100
+2004-08-13,9.950000,10.280000,9.930000,10.250000,9.117275,46512000
+2004-08-16,10.250000,10.420000,10.200000,10.250000,9.117275,32335500
+2004-08-17,10.290000,10.430000,10.120000,10.280000,9.143956,40834000
+2004-08-18,10.140000,10.530000,10.120000,10.510000,9.348543,40961900
+2004-08-19,10.440000,10.490000,10.340000,10.420000,9.268490,32090200
+2004-08-20,10.390000,10.430000,10.300000,10.310000,9.170645,24015500
+2004-08-23,10.330000,10.390000,10.220000,10.300000,9.161748,27130700
+2004-08-24,10.330000,10.360000,10.150000,10.330000,9.188433,38644600
+2004-08-25,10.350000,10.440000,10.260000,10.400000,9.250698,29812200
+2004-08-26,10.370000,10.420000,10.210000,10.230000,9.099482,27281500
+2004-08-27,10.240000,10.340000,10.230000,10.290000,9.152852,20328400
+2004-08-30,10.200000,10.240000,10.080000,10.110000,8.992745,33704600
+2004-08-31,10.110000,10.140000,9.820000,9.970000,8.868216,37907800
+2004-09-01,9.960000,10.110000,9.940000,10.050000,8.939380,28920000
+2004-09-02,10.070000,10.350000,9.970000,10.290000,9.152852,40370000
+2004-09-03,10.200000,10.290000,9.970000,10.030000,8.921587,33742000
+2004-09-07,10.170000,10.220000,9.980000,10.080000,8.966062,31732100
+2004-09-08,9.940000,10.030000,9.860000,9.860000,8.770370,47062500
+2004-09-09,9.980000,10.020000,9.900000,9.930000,8.832635,44902800
+2004-09-10,10.120000,10.500000,10.040000,10.460000,9.304066,66209200
+2004-09-13,10.550000,10.700000,10.510000,10.620000,9.446383,52492300
+2004-09-14,10.640000,10.690000,10.460000,10.550000,9.384121,72170200
+2004-09-15,11.090000,11.410000,11.030000,11.330000,10.077927,135089500
+2004-09-16,11.250000,11.400000,11.170000,11.230000,9.988976,57893500
+2004-09-17,11.250000,11.580000,11.230000,11.510000,10.238035,59258000
+2004-09-20,11.350000,11.550000,11.310000,11.400000,10.140189,40527500
+2004-09-21,11.670000,11.680000,11.340000,11.410000,10.149080,44463000
+2004-09-22,11.280000,11.390000,11.100000,11.140000,9.908919,55341300
+2004-09-23,11.160000,11.240000,11.020000,11.050000,9.828863,40709000
+2004-09-24,11.120000,11.210000,11.010000,11.040000,9.819971,30796100
+2004-09-27,10.980000,11.280000,10.930000,11.190000,9.953397,40616600
+2004-09-28,11.240000,11.360000,11.090000,11.360000,10.104609,45610200
+2004-09-29,11.340000,11.520000,11.280000,11.430000,10.166874,41868100
+2004-09-30,11.420000,11.450000,11.240000,11.280000,10.033448,49604900
+2004-10-01,11.650000,11.950000,11.510000,11.900000,10.584934,69604100
+2004-10-04,12.100000,12.180000,11.830000,11.870000,10.558247,66003300
+2004-10-05,11.840000,12.210000,11.830000,12.210000,10.860674,46999300
+2004-10-06,12.140000,12.260000,12.060000,12.240000,10.887359,44461400
+2004-10-07,12.210000,12.420000,12.190000,12.290000,10.931831,50909000
+2004-10-08,12.170000,12.470000,12.020000,12.170000,10.825096,45517700
+2004-10-11,12.170000,12.270000,12.080000,12.200000,10.851779,25741700
+2004-10-12,12.030000,12.230000,11.980000,12.150000,10.807303,35379900
+2004-10-13,12.150000,12.170000,11.930000,11.990000,10.664987,40599700
+2004-10-14,11.930000,12.110000,11.920000,12.000000,10.673881,28269600
+2004-10-15,12.040000,12.250000,12.000000,12.240000,10.887359,41393100
+2004-10-18,12.150000,12.460000,12.100000,12.420000,11.047471,33181100
+2004-10-19,12.450000,12.540000,12.310000,12.310000,10.949624,44047000
+2004-10-20,12.240000,12.420000,12.180000,12.420000,11.047471,35207600
+2004-10-21,12.440000,12.470000,12.280000,12.440000,11.065258,40699800
+2004-10-22,12.430000,12.480000,12.190000,12.310000,10.949624,33118300
+2004-10-25,12.260000,12.330000,12.050000,12.130000,10.789515,33386800
+2004-10-26,12.160000,12.300000,12.110000,12.270000,10.914046,33466400
+2004-10-27,12.160000,12.720000,12.150000,12.590000,11.198681,43334500
+2004-10-28,12.480000,12.770000,12.210000,12.740000,11.332106,31068300
+2004-10-29,12.810000,12.810000,12.550000,12.660000,11.260947,34619900
+2004-11-01,12.720000,12.870000,12.550000,12.750000,11.341000,27994800
+2004-11-02,12.760000,13.000000,12.680000,12.800000,11.385474,40570200
+2004-11-03,12.950000,13.000000,12.720000,12.830000,11.412163,33987500
+2004-11-04,12.850000,13.140000,12.830000,13.100000,11.652321,37692700
+2004-11-05,13.120000,13.280000,13.080000,13.170000,11.714587,34605000
+2004-11-08,13.070000,13.200000,13.010000,13.110000,11.661217,21120600
+2004-11-09,13.090000,13.380000,13.070000,13.350000,11.874691,32825300
+2004-11-10,13.340000,13.500000,13.290000,13.380000,11.901380,40553300
+2004-11-11,13.230000,13.280000,12.780000,13.140000,11.687901,48867000
+2004-11-12,13.010000,13.400000,12.970000,13.390000,11.910271,41742700
+2004-11-15,13.300000,13.310000,12.970000,13.010000,11.572268,35834100
+2004-11-16,12.970000,13.040000,12.870000,12.920000,11.492210,29547200
+2004-11-17,12.990000,13.210000,12.950000,13.130000,11.679008,28451100
+2004-11-18,13.110000,13.150000,12.950000,12.970000,11.536691,25803100
+2004-11-19,13.070000,13.160000,12.690000,12.750000,11.341000,30991800
+2004-11-22,12.670000,12.750000,12.510000,12.680000,11.278737,41035900
+2004-11-23,12.600000,12.810000,12.510000,12.700000,11.296529,27711900
+2004-11-24,12.740000,12.860000,12.710000,12.790000,11.376582,19122000
+2004-11-26,12.780000,12.790000,12.640000,12.660000,11.260947,9101000
+2004-11-29,12.630000,12.790000,12.580000,12.680000,11.278737,32675200
+2004-11-30,12.640000,12.810000,12.620000,12.740000,11.332106,32502200
+2004-12-01,12.750000,13.090000,12.660000,13.090000,11.643428,46113400
+2004-12-02,12.900000,13.070000,12.820000,12.950000,11.518897,27804600
+2004-12-03,12.840000,13.110000,12.740000,13.030000,11.590058,69334000
+2004-12-06,12.980000,13.510000,12.960000,13.340000,11.865800,55786100
+2004-12-07,13.360000,13.570000,13.020000,13.060000,11.616741,41045600
+2004-12-08,13.140000,13.420000,13.090000,13.210000,11.750168,39890300
+2004-12-09,13.060000,13.400000,13.010000,13.290000,11.821325,35971400
+2004-12-10,13.160000,13.450000,13.140000,13.280000,11.812428,32027500
+2004-12-13,14.210000,14.870000,13.750000,14.630000,13.013240,181316700
+2004-12-14,14.460000,14.610000,14.180000,14.230000,12.657444,78544300
+2004-12-15,14.140000,14.180000,13.920000,14.090000,12.532915,73641400
+2004-12-16,14.000000,14.170000,13.980000,14.090000,12.532915,53533600
+2004-12-17,14.000000,14.170000,13.920000,13.980000,12.435071,62424100
+2004-12-20,14.000000,14.100000,13.550000,13.580000,12.079280,53505200
+2004-12-21,13.530000,13.900000,13.530000,13.790000,12.266070,50640900
+2004-12-22,13.800000,13.900000,13.650000,13.700000,12.186015,35878500
+2004-12-23,13.640000,13.780000,13.600000,13.640000,12.132647,20796300
+2004-12-27,13.720000,13.780000,13.610000,13.650000,12.141539,28715500
+2004-12-28,13.600000,13.890000,13.580000,13.840000,12.310545,34572700
+2004-12-29,13.730000,13.870000,13.660000,13.720000,12.203808,42544900
+2004-12-30,13.680000,13.940000,13.660000,13.880000,12.346124,37261100
+2004-12-31,13.860000,14.030000,13.680000,13.720000,12.203808,43515400
+2005-01-03,13.880000,13.890000,13.390000,13.410000,11.928063,60319300
+2005-01-04,13.460000,13.480000,12.920000,13.060000,11.616741,80906400
+2005-01-05,13.030000,13.260000,13.010000,13.100000,11.652321,42548400
+2005-01-06,13.130000,13.350000,13.080000,13.220000,11.759061,55580100
+2005-01-07,13.340000,13.450000,13.150000,13.330000,11.856905,45685800
+2005-01-10,13.320000,13.450000,13.170000,13.190000,11.732375,47571800
+2005-01-11,13.090000,13.390000,13.060000,13.200000,11.741268,63973000
+2005-01-12,13.260000,13.490000,13.240000,13.480000,11.990325,53420800
+2005-01-13,13.380000,13.670000,13.340000,13.480000,11.990325,56987700
+2005-01-14,13.560000,13.760000,13.490000,13.630000,12.123753,42509100
+2005-01-18,13.590000,13.900000,13.520000,13.780000,12.257174,60758900
+2005-01-19,13.660000,13.800000,13.450000,13.470000,11.981432,51115100
+2005-01-20,13.440000,13.680000,13.280000,13.280000,11.812428,45253200
+2005-01-21,13.350000,13.490000,13.280000,13.310000,11.839114,40716100
+2005-01-24,13.360000,13.500000,13.210000,13.240000,11.776849,37540700
+2005-01-25,13.490000,13.740000,13.460000,13.590000,12.088172,48682500
+2005-01-26,13.960000,14.010000,13.610000,13.620000,12.114855,78543500
+2005-01-27,13.670000,13.980000,13.500000,13.970000,12.426177,61917900
+2005-01-28,13.910000,13.950000,13.550000,13.680000,12.168226,47465300
+2005-01-31,13.770000,13.890000,13.630000,13.770000,12.248281,38555200
+2005-02-01,13.730000,13.760000,13.580000,13.650000,12.141539,43567600
+2005-02-02,13.670000,13.700000,13.450000,13.560000,12.061490,42057200
+2005-02-03,13.470000,13.550000,13.280000,13.340000,11.865800,39310700
+2005-02-04,13.310000,13.700000,13.300000,13.660000,12.150435,35832700
+2005-02-07,13.570000,13.610000,13.410000,13.550000,12.052594,43465100
+2005-02-08,13.550000,13.600000,13.460000,13.470000,11.981432,28869900
+2005-02-09,13.410000,13.480000,13.150000,13.170000,11.714587,42305100
+2005-02-10,13.210000,13.240000,13.020000,13.140000,11.687901,41274700
+2005-02-11,13.110000,13.390000,13.010000,13.350000,11.874691,50626000
+2005-02-14,13.260000,13.380000,13.230000,13.310000,11.839114,34744600
+2005-02-15,13.340000,13.460000,13.260000,13.290000,11.821325,43226900
+2005-02-16,13.240000,13.460000,13.230000,13.330000,11.856905,28360700
+2005-02-17,13.300000,13.380000,12.890000,12.960000,11.527794,44724400
+2005-02-18,12.970000,12.990000,12.840000,12.940000,11.510002,34769400
+2005-02-22,12.760000,12.870000,12.640000,12.660000,11.260947,50815200
+2005-02-23,12.730000,12.990000,12.590000,12.950000,11.518897,40930600
+2005-02-24,12.840000,13.120000,12.830000,13.010000,11.572268,39114400
+2005-02-25,13.040000,13.140000,12.960000,13.130000,11.679008,29254000
+2005-02-28,13.080000,13.250000,12.910000,12.950000,11.518897,37646400
+2005-03-01,13.030000,13.240000,12.980000,13.150000,11.696795,47027400
+2005-03-02,13.030000,13.200000,12.820000,13.050000,11.607845,49438200
+2005-03-03,13.080000,13.170000,12.960000,13.090000,11.643428,35449800
+2005-03-04,13.220000,13.460000,13.180000,13.280000,11.812428,55955700
+2005-03-07,13.370000,13.760000,13.340000,13.600000,12.097069,54894700
+2005-03-08,13.600000,13.800000,13.590000,13.620000,12.114855,38824300
+2005-03-09,13.440000,13.640000,13.310000,13.350000,11.874691,38544700
+2005-03-10,13.360000,13.420000,13.220000,13.260000,11.794641,28878100
+2005-03-11,13.330000,13.380000,13.000000,13.090000,11.643428,36704200
+2005-03-14,13.100000,13.250000,13.010000,13.150000,11.696795,30111500
+2005-03-15,13.270000,13.290000,13.110000,13.150000,11.696795,34154200
+2005-03-16,13.040000,13.210000,12.900000,13.020000,11.581161,44721200
+2005-03-17,13.010000,13.340000,12.990000,13.160000,11.705689,43835700
+2005-03-18,12.940000,13.010000,12.510000,12.540000,11.154209,153018100
+2005-03-21,12.600000,12.690000,12.420000,12.650000,11.252048,57215900
+2005-03-22,12.680000,12.740000,12.390000,12.490000,11.109732,50698700
+2005-03-23,12.320000,12.590000,12.240000,12.510000,11.127522,69699700
+2005-03-24,12.530000,12.550000,12.360000,12.400000,11.029679,34531200
+2005-03-28,12.400000,12.580000,12.260000,12.430000,11.056364,35841500
+2005-03-29,12.390000,12.520000,12.230000,12.280000,10.922938,35637300
+2005-03-30,12.340000,12.630000,12.320000,12.480000,11.100841,35214200
+2005-03-31,12.470000,12.670000,12.440000,12.480000,11.100841,32835900
+2005-04-01,12.560000,12.720000,12.520000,12.530000,11.145312,38333200
+2005-04-04,12.570000,12.730000,12.540000,12.690000,11.287631,48303100
+2005-04-05,12.650000,12.700000,12.380000,12.450000,11.074152,42466000
+2005-04-06,12.410000,12.560000,12.320000,12.380000,11.011891,30283800
+2005-04-07,12.370000,12.480000,12.280000,12.450000,11.074152,40822100
+2005-04-08,12.420000,12.530000,12.330000,12.360000,10.994098,38601300
+2005-04-11,12.370000,12.420000,12.310000,12.400000,11.029679,24216700
+2005-04-12,12.350000,12.530000,12.340000,12.490000,11.109732,41508400
+2005-04-13,12.400000,12.490000,12.170000,12.260000,10.905152,34983000
+2005-04-14,12.290000,12.360000,12.060000,12.090000,10.753934,49235100
+2005-04-15,11.940000,11.970000,11.660000,11.700000,10.407034,62108300
+2005-04-18,11.710000,11.970000,11.670000,11.800000,10.495983,42602500
+2005-04-19,11.900000,11.960000,11.690000,11.880000,10.567142,48096200
+2005-04-20,11.880000,12.030000,11.730000,11.780000,10.478193,55428000
+2005-04-21,11.930000,12.200000,11.910000,12.170000,10.825096,51078800
+2005-04-22,12.120000,12.170000,11.830000,11.920000,10.602724,43471400
+2005-04-25,11.930000,12.110000,11.920000,12.070000,10.736146,32411300
+2005-04-26,12.000000,12.300000,11.850000,11.880000,10.567142,30723400
+2005-04-27,11.830000,12.000000,11.810000,11.900000,10.584934,26514600
+2005-04-28,11.860000,11.900000,11.550000,11.620000,10.335875,39434000
+2005-04-29,11.670000,11.680000,11.250000,11.560000,10.282507,41386100
+2005-05-02,11.570000,11.680000,11.510000,11.600000,10.318087,27176700
+2005-05-03,11.530000,11.730000,11.510000,11.590000,10.309194,39877600
+2005-05-04,11.650000,11.870000,11.630000,11.720000,10.424827,37634100
+2005-05-05,11.710000,11.770000,11.560000,11.660000,10.371456,44792300
+2005-05-06,11.720000,11.800000,11.670000,11.760000,10.460404,27731800
+2005-05-09,11.740000,11.850000,11.690000,11.750000,10.451510,28091400
+2005-05-10,11.580000,11.720000,11.490000,11.520000,10.246928,36598000
+2005-05-11,11.580000,11.760000,11.480000,11.700000,10.407034,32542900
+2005-05-12,11.660000,12.020000,11.640000,11.890000,10.576039,62649000
+2005-05-13,11.920000,12.390000,11.910000,12.360000,10.994098,69496400
+2005-05-16,12.260000,12.450000,12.250000,12.350000,10.985206,41887000
+2005-05-17,12.260000,12.280000,11.980000,12.210000,10.860674,61633100
+2005-05-18,12.210000,12.430000,12.130000,12.330000,10.967413,44940000
+2005-05-19,12.360000,12.640000,12.350000,12.430000,11.056364,40463700
+2005-05-20,12.450000,12.640000,12.400000,12.550000,11.163103,25230900
+2005-05-23,12.620000,12.770000,12.600000,12.700000,11.296529,47390500
+2005-05-24,12.660000,12.860000,12.640000,12.800000,11.385474,43792600
+2005-05-25,12.720000,12.790000,12.610000,12.750000,11.341000,32280900
+2005-05-26,12.820000,12.980000,12.770000,12.920000,11.492210,31827400
+2005-05-27,12.860000,12.900000,12.790000,12.850000,11.429949,21594400
+2005-05-31,12.770000,12.870000,12.690000,12.800000,11.385474,28423900
+2005-06-01,12.790000,12.970000,12.770000,12.890000,11.465528,33329000
+2005-06-02,12.880000,12.990000,12.840000,12.980000,11.545584,33375700
+2005-06-03,12.950000,12.960000,12.550000,12.590000,11.198681,49038900
+2005-06-06,12.570000,12.720000,12.550000,12.650000,11.252048,29298000
+2005-06-07,12.640000,12.800000,12.560000,12.590000,11.198681,34230100
+2005-06-08,12.630000,12.750000,12.600000,12.670000,11.269840,35934900
+2005-06-09,12.630000,12.730000,12.580000,12.670000,11.269840,30027400
+2005-06-10,12.650000,12.850000,12.550000,12.640000,11.243156,28917900
+2005-06-13,12.580000,12.790000,12.560000,12.600000,11.207576,29601000
+2005-06-14,12.570000,12.640000,12.420000,12.480000,11.100841,36616900
+2005-06-15,12.580000,12.700000,12.300000,12.620000,11.225367,42236600
+2005-06-16,12.560000,12.630000,12.350000,12.460000,11.083047,40706600
+2005-06-17,12.600000,12.640000,12.280000,12.340000,10.976313,58512100
+2005-06-20,12.300000,12.550000,12.280000,12.410000,11.038571,34560100
+2005-06-21,12.400000,12.590000,12.370000,12.550000,11.163103,25868700
+2005-06-22,12.600000,12.700000,12.500000,12.630000,11.234262,31376000
+2005-06-23,12.630000,12.840000,12.480000,12.510000,11.127522,40990400
+2005-06-24,12.590000,12.660000,12.410000,12.500000,11.118629,34563900
+2005-06-27,12.500000,12.630000,12.500000,12.540000,11.154209,29560700
+2005-06-28,12.590000,12.920000,12.570000,12.830000,11.412163,49229600
+2005-06-29,13.470000,13.790000,13.230000,13.570000,12.070382,155754700
+2005-06-30,13.560000,13.630000,13.160000,13.200000,11.741268,73638100
+2005-07-01,13.390000,13.400000,13.210000,13.290000,11.821325,40126400
+2005-07-05,13.250000,13.310000,12.990000,13.270000,11.803535,43866000
+2005-07-06,13.230000,13.660000,13.210000,13.320000,11.848005,60319100
+2005-07-07,13.230000,13.350000,13.190000,13.290000,11.821325,50565700
+2005-07-08,13.280000,13.570000,13.260000,13.560000,12.061490,36333200
+2005-07-11,13.570000,13.740000,13.540000,13.710000,12.194913,37520900
+2005-07-12,13.660000,13.890000,13.620000,13.800000,12.274967,30736600
+2005-07-13,13.760000,14.000000,13.710000,13.960000,12.417285,34444700
+2005-07-14,13.980000,14.100000,13.860000,14.050000,12.497337,45097400
+2005-07-15,14.020000,14.110000,13.980000,14.040000,12.488443,43579300
+2005-07-18,13.960000,13.990000,13.900000,13.900000,12.363915,41776800
+2005-07-19,13.980000,14.510000,13.750000,13.940000,12.399492,36381100
+2005-07-20,13.790000,14.080000,13.780000,14.030000,12.479549,33567000
+2005-07-21,13.950000,14.050000,13.540000,13.720000,12.203808,41179300
+2005-07-22,13.670000,13.840000,13.570000,13.800000,12.274967,27661200
+2005-07-25,13.800000,13.900000,13.710000,13.790000,12.266070,18455700
+2005-07-26,13.800000,13.960000,13.760000,13.790000,12.266070,24798000
+2005-07-27,13.890000,13.950000,13.700000,13.840000,12.310545,22664400
+2005-07-28,13.860000,13.900000,13.710000,13.850000,12.319440,18985900
+2005-07-29,13.830000,13.860000,13.570000,13.570000,12.070382,27162200
+2005-08-01,13.670000,13.690000,13.450000,13.520000,12.025908,25341800
+2005-08-02,13.520000,13.690000,13.440000,13.580000,12.079280,28944700
+2005-08-03,13.500000,13.520000,13.290000,13.380000,11.901380,31846100
+2005-08-04,13.250000,13.380000,13.210000,13.300000,11.830220,30788400
+2005-08-05,13.270000,13.360000,13.140000,13.280000,11.812428,25542900
+2005-08-08,13.340000,13.420000,13.250000,13.290000,11.821325,24940300
+2005-08-09,13.330000,13.440000,13.300000,13.360000,11.883589,21887400
+2005-08-10,13.380000,13.570000,13.300000,13.350000,11.874691,29897300
+2005-08-11,13.330000,13.470000,13.260000,13.370000,11.892487,25785900
+2005-08-12,13.320000,13.360000,13.200000,13.300000,11.830220,31991200
+2005-08-15,13.260000,13.380000,13.220000,13.290000,11.821325,37981700
+2005-08-16,13.260000,13.350000,13.250000,13.300000,11.830220,32583500
+2005-08-17,13.280000,13.330000,13.140000,13.240000,11.776849,29401000
+2005-08-18,13.200000,13.270000,13.040000,13.090000,11.643428,28469400
+2005-08-19,13.140000,13.220000,13.060000,13.070000,11.625636,22327200
+2005-08-22,13.060000,13.200000,12.990000,13.090000,11.643428,22938400
+2005-08-23,13.060000,13.180000,12.960000,13.100000,11.652321,26582100
+2005-08-24,13.070000,13.120000,12.870000,12.950000,11.518897,34968300
+2005-08-25,12.970000,13.060000,12.920000,12.970000,11.536691,23002700
+2005-08-26,12.950000,13.000000,12.820000,12.900000,11.474422,21404700
+2005-08-29,12.840000,13.170000,12.830000,13.080000,11.634531,24065700
+2005-08-30,13.010000,13.070000,12.840000,13.030000,11.590058,24651900
+2005-08-31,13.000000,13.030000,12.820000,12.990000,11.554479,41226700
+2005-09-01,12.940000,13.400000,12.920000,13.310000,11.839114,48010000
+2005-09-02,13.360000,13.560000,13.350000,13.390000,11.910271,30062900
+2005-09-06,13.430000,13.620000,13.390000,13.560000,12.061490,21904000
+2005-09-07,13.500000,13.580000,13.330000,13.410000,11.928063,21709400
+2005-09-08,13.490000,13.530000,13.260000,13.370000,11.892487,21637400
+2005-09-09,13.460000,13.480000,13.000000,13.280000,11.812428,26508800
+2005-09-12,13.490000,13.500000,13.280000,13.490000,11.999223,63897300
+2005-09-13,13.480000,14.000000,13.460000,13.640000,12.132647,52205500
+2005-09-14,13.680000,13.750000,13.440000,13.440000,11.954747,42778400
+2005-09-15,13.510000,13.530000,13.270000,13.370000,11.892487,35539600
+2005-09-16,13.430000,13.470000,13.120000,13.250000,11.785744,139633800
+2005-09-19,13.280000,13.390000,13.140000,13.290000,11.821325,34865300
+2005-09-20,13.320000,13.570000,13.270000,13.400000,11.919167,50218900
+2005-09-21,13.420000,13.470000,13.170000,13.290000,11.821325,41807500
+2005-09-22,13.320000,13.620000,13.210000,13.520000,12.025908,50974700
+2005-09-23,12.540000,12.600000,12.260000,12.450000,11.074152,171863900
+2005-09-26,12.530000,12.550000,12.320000,12.400000,11.029679,59122300
+2005-09-27,12.430000,12.460000,12.290000,12.330000,10.967413,37175600
+2005-09-28,12.330000,12.340000,12.180000,12.190000,10.842883,44322900
+2005-09-29,12.190000,12.350000,12.000000,12.320000,10.958520,52676000
+2005-09-30,12.300000,12.550000,12.250000,12.400000,11.029679,47203900
+2005-10-03,12.420000,12.570000,12.370000,12.380000,11.011891,29586900
+2005-10-04,12.380000,12.450000,12.140000,12.240000,10.887359,41009900
+2005-10-05,12.220000,12.250000,12.030000,12.170000,10.825096,34813500
+2005-10-06,12.190000,12.280000,11.900000,12.030000,10.700568,45171900
+2005-10-07,12.070000,12.100000,11.850000,11.980000,10.656094,39090400
+2005-10-10,11.970000,12.070000,11.850000,12.010000,10.682778,29861900
+2005-10-11,12.010000,12.210000,11.990000,12.080000,10.745041,45667300
+2005-10-12,12.060000,12.250000,12.000000,12.000000,10.673881,38115600
+2005-10-13,11.990000,12.220000,11.970000,12.080000,10.745041,27465200
+2005-10-14,12.140000,12.350000,12.060000,12.310000,10.949624,32795600
+2005-10-17,12.280000,12.590000,12.210000,12.380000,11.011891,39140000
+2005-10-18,12.330000,12.470000,12.320000,12.370000,11.002991,25834800
+2005-10-19,12.320000,12.590000,11.960000,12.190000,10.842883,58423300
+2005-10-20,12.290000,12.410000,12.110000,12.140000,10.798413,47209000
+2005-10-21,12.210000,12.380000,12.180000,12.260000,10.905152,35759000
+2005-10-24,12.380000,12.850000,12.310000,12.820000,11.403267,57706100
+2005-10-25,12.730000,13.050000,12.700000,12.970000,11.536691,51784400
+2005-10-26,12.850000,12.980000,12.570000,12.660000,11.260947,43585600
+2005-10-27,12.600000,12.730000,12.440000,12.450000,11.074152,29631200
+2005-10-28,12.560000,12.770000,12.480000,12.710000,11.305421,33849500
+2005-10-31,12.650000,12.780000,12.570000,12.680000,11.278737,41947800
+2005-11-01,12.580000,12.860000,12.580000,12.730000,11.323209,24436100
+2005-11-02,12.580000,12.660000,12.300000,12.480000,11.100841,50044000
+2005-11-03,12.400000,12.410000,11.750000,12.200000,10.851779,111121100
+2005-11-04,12.180000,12.640000,12.170000,12.610000,11.216468,44196600
+2005-11-07,12.590000,12.640000,12.450000,12.610000,11.216468,29100600
+2005-11-08,12.550000,12.650000,12.490000,12.620000,11.225367,25869100
+2005-11-09,12.560000,12.620000,12.480000,12.510000,11.127522,23907100
+2005-11-10,12.490000,12.710000,12.380000,12.700000,11.296529,31650400
+2005-11-11,12.700000,13.030000,12.650000,12.810000,11.394370,30479200
+2005-11-14,12.780000,12.940000,12.750000,12.820000,11.403267,23442500
+2005-11-15,12.730000,12.800000,12.600000,12.670000,11.269840,27329000
+2005-11-16,12.620000,12.630000,12.410000,12.490000,11.109732,31078200
+2005-11-17,12.450000,12.630000,12.380000,12.610000,11.216468,42275000
+2005-11-18,12.800000,12.820000,12.570000,12.620000,11.225367,33066200
+2005-11-21,12.530000,12.650000,12.340000,12.440000,11.065258,41774600
+2005-11-22,12.330000,12.490000,12.310000,12.390000,11.020787,46235900
+2005-11-23,12.350000,12.670000,12.340000,12.640000,11.243156,34181400
+2005-11-25,12.670000,12.770000,12.600000,12.610000,11.216468,7851700
+2005-11-28,12.590000,12.600000,12.470000,12.540000,11.154209,23031900
+2005-11-29,12.580000,12.800000,12.570000,12.730000,11.323209,28170600
+2005-11-30,12.710000,12.810000,12.560000,12.600000,11.207576,34494400
+2005-12-01,12.680000,12.920000,12.670000,12.860000,11.438843,30461000
+2005-12-02,12.940000,12.950000,12.730000,12.760000,11.349896,28696700
+2005-12-05,12.720000,12.740000,12.420000,12.510000,11.127522,44188500
+2005-12-06,12.540000,12.630000,12.420000,12.520000,11.136417,31834600
+2005-12-07,12.520000,12.580000,12.360000,12.510000,11.127522,40344700
+2005-12-08,12.500000,12.520000,12.230000,12.440000,11.065258,74267000
+2005-12-09,12.430000,12.580000,12.430000,12.500000,11.118629,44904200
+2005-12-12,12.510000,12.860000,12.500000,12.840000,11.421054,47509200
+2005-12-13,12.700000,12.860000,12.600000,12.830000,11.412163,40282800
+2005-12-14,12.820000,12.900000,12.680000,12.810000,11.394370,36832500
+2005-12-15,12.710000,12.850000,12.640000,12.830000,11.412163,39606200
+2005-12-16,12.540000,12.730000,11.990000,12.690000,11.287631,203707200
+2005-12-19,12.550000,12.620000,12.280000,12.320000,10.958520,88450900
+2005-12-20,12.390000,12.420000,12.250000,12.280000,10.922938,88569800
+2005-12-21,12.320000,12.320000,12.140000,12.180000,10.833991,42154200
+2005-12-22,12.160000,12.420000,12.150000,12.320000,10.958520,64662200
+2005-12-23,12.380000,12.510000,12.310000,12.340000,10.976313,28028200
+2005-12-27,12.330000,12.410000,12.240000,12.350000,10.985206,20909100
+2005-12-28,12.350000,12.440000,12.270000,12.280000,10.922938,21423600
+2005-12-29,12.270000,12.360000,12.230000,12.290000,10.931831,21138100
+2005-12-30,12.210000,12.400000,12.160000,12.210000,10.860674,22598000
diff --git a/backtrader/source/datas/orcl-2014.txt b/backtrader/source/datas/orcl-2014.txt
new file mode 100644
index 0000000000000000000000000000000000000000..040ec600352d48d45d39eff89fcc4b65bd626c7b
--- /dev/null
+++ b/backtrader/source/datas/orcl-2014.txt
@@ -0,0 +1,253 @@
+Date,Open,High,Low,Close,Adj Close,Volume
+2014-01-02,37.779999,38.029999,37.549999,37.840000,35.166069,18162100
+2014-01-03,37.650002,37.860001,37.560001,37.619999,35.072853,11693900
+2014-01-06,37.639999,37.799999,37.419998,37.470001,34.932995,15329400
+2014-01-07,37.660000,37.930000,37.500000,37.849998,35.287270,16792200
+2014-01-08,37.790001,37.910000,37.560001,37.720001,35.166077,16111600
+2014-01-09,37.849998,37.849998,37.459999,37.650002,35.100822,13623500
+2014-01-10,37.750000,38.139999,37.590000,38.110001,35.529667,15402900
+2014-01-13,37.950001,38.200001,37.700001,37.750000,35.194050,20848300
+2014-01-14,37.779999,38.250000,37.709999,38.209999,35.622894,13486400
+2014-01-15,38.200001,38.570000,38.119999,38.410000,35.809361,17010900
+2014-01-16,38.389999,38.770000,38.169998,38.290001,35.697491,13463000
+2014-01-17,38.119999,38.470001,38.029999,38.209999,35.622894,14051100
+2014-01-21,38.520000,38.520000,37.799999,38.110001,35.529667,13540000
+2014-01-22,38.029999,38.279999,37.950001,37.980000,35.408474,14006300
+2014-01-23,38.169998,38.259998,37.930000,38.150002,35.566963,14174200
+2014-01-24,37.919998,37.959999,37.110001,37.110001,34.597382,26815600
+2014-01-27,37.259998,37.369999,36.490002,36.490002,34.019360,19073800
+2014-01-28,36.599998,37.130001,36.580002,37.099998,34.588047,13899900
+2014-01-29,37.180000,37.250000,36.709999,36.970001,34.466854,16553600
+2014-01-30,37.189999,37.560001,37.080002,37.400002,34.867741,12975500
+2014-01-31,37.029999,37.200001,36.680000,36.900002,34.401588,17039700
+2014-02-03,37.090000,37.090000,35.820000,35.840000,33.413364,21272600
+2014-02-04,35.650002,36.020000,35.439999,35.959999,33.525238,16228000
+2014-02-05,35.520000,36.250000,35.470001,35.950001,33.515923,11458400
+2014-02-06,36.119999,36.830002,36.110001,36.720001,34.233772,14762200
+2014-02-07,36.880001,37.230000,36.709999,37.189999,34.671955,13114700
+2014-02-10,37.240002,37.439999,37.070000,37.299999,34.774513,10976900
+2014-02-11,37.500000,37.900002,37.389999,37.840000,35.277946,12066100
+2014-02-12,37.799999,38.250000,37.660000,38.070000,35.492378,12343200
+2014-02-13,37.840000,38.490002,37.779999,38.419998,35.818676,11683200
+2014-02-14,38.330002,38.330002,37.919998,37.980000,35.408474,15641400
+2014-02-18,38.060001,38.119999,37.730000,37.970001,35.399147,10560300
+2014-02-19,37.830002,38.299999,37.799999,37.869999,35.305916,12491400
+2014-02-20,37.840000,38.349998,37.700001,38.270000,35.678833,11786000
+2014-02-21,38.330002,38.490002,38.080002,38.099998,35.520336,13243600
+2014-02-24,38.160000,38.459999,38.040001,38.139999,35.557640,10388100
+2014-02-25,38.110001,38.430000,37.889999,38.250000,35.660191,11766400
+2014-02-26,38.419998,38.830002,38.349998,38.500000,35.893257,11482900
+2014-02-27,38.500000,39.099998,38.360001,38.950001,36.312805,14055700
+2014-02-28,38.950001,39.369999,38.650002,39.110001,36.461967,19257800
+2014-03-03,38.720001,38.990002,38.380001,38.509998,35.902576,13293700
+2014-03-04,39.139999,39.500000,39.060001,39.410000,36.741653,13682100
+2014-03-05,39.410000,39.700001,39.299999,39.500000,36.825558,11929200
+2014-03-06,39.680000,39.849998,39.419998,39.459999,36.788265,13081900
+2014-03-07,39.570000,39.590000,38.599998,38.830002,36.200920,13821500
+2014-03-10,38.820000,38.950001,38.650002,38.860001,36.228897,8670300
+2014-03-11,39.000000,39.020000,38.619999,38.900002,36.266186,12841500
+2014-03-12,38.820000,38.820000,38.279999,38.520000,35.911907,13226200
+2014-03-13,38.619999,38.660000,37.520000,37.650002,35.100822,15361200
+2014-03-14,37.689999,38.000000,37.500000,37.599998,35.054203,14308300
+2014-03-17,37.799999,38.480000,37.799999,38.220001,35.632221,14981300
+2014-03-18,38.369999,38.939999,38.160000,38.840000,36.210239,29707200
+2014-03-19,37.799999,38.959999,37.400002,38.549999,35.939880,45154900
+2014-03-20,38.500000,38.689999,38.009998,38.369999,35.772049,18960200
+2014-03-21,38.700001,38.849998,37.500000,37.500000,34.960968,33897900
+2014-03-24,37.490002,38.340000,37.380001,38.180000,35.594929,22539000
+2014-03-25,38.130001,38.500000,38.099998,38.400002,35.800026,19750600
+2014-03-26,38.400002,39.459999,38.360001,39.080002,36.433994,31357500
+2014-03-27,38.990002,39.560001,38.799999,39.240002,36.583157,26283600
+2014-03-28,39.520000,39.860001,39.189999,39.570000,36.890823,18405100
+2014-03-31,39.750000,41.430000,39.630001,40.910000,38.140087,48340300
+2014-04-01,41.040001,42.000000,40.959999,41.490002,38.680820,35431800
+2014-04-02,41.369999,41.619999,40.849998,41.130001,38.345192,22754900
+2014-04-03,41.040001,41.139999,40.340000,40.369999,37.636642,22497000
+2014-04-04,40.599998,40.730000,39.660000,39.980000,37.384174,23836200
+2014-04-07,39.799999,39.919998,39.040001,39.470001,36.907307,27311900
+2014-04-08,39.439999,40.349998,39.360001,40.240002,37.627296,22197600
+2014-04-09,40.470001,40.919998,40.180000,40.880001,38.225746,20314000
+2014-04-10,40.889999,41.049999,39.480000,39.790001,37.206516,26397800
+2014-04-11,39.509998,39.880001,38.970001,38.980000,36.449104,18655800
+2014-04-14,39.080002,39.750000,39.080002,39.570000,37.000805,16022000
+2014-04-15,39.700001,39.980000,39.240002,39.730000,37.150414,14553400
+2014-04-16,39.939999,40.150002,39.509998,40.130001,37.524445,13614800
+2014-04-17,39.959999,40.180000,39.389999,40.080002,37.477695,14644100
+2014-04-21,40.240002,40.439999,40.060001,40.240002,37.627296,8593600
+2014-04-22,40.270000,40.619999,40.139999,40.459999,37.833012,10396100
+2014-04-23,40.279999,40.340000,39.750000,39.790001,37.206516,10048500
+2014-04-24,39.759998,39.860001,39.020000,39.750000,37.169109,13966400
+2014-04-25,39.810001,39.810001,39.230000,39.450001,36.888588,11647800
+2014-04-28,39.750000,40.279999,39.650002,40.130001,37.524445,20141200
+2014-04-29,40.250000,40.610001,40.070000,40.110001,37.505741,14996300
+2014-04-30,40.090000,40.930000,40.020000,40.880001,38.225746,16480900
+2014-05-01,40.720001,41.189999,40.639999,40.970001,38.309902,13945500
+2014-05-02,41.160000,41.209999,40.810001,40.810001,38.160286,10710100
+2014-05-05,41.130001,41.259998,40.770000,41.209999,38.534317,13722700
+2014-05-06,41.000000,41.290001,40.970001,41.009998,38.347301,12647500
+2014-05-07,41.150002,41.279999,40.490002,41.060001,38.394058,12570400
+2014-05-08,41.090000,41.259998,40.549999,40.869999,38.216400,10212900
+2014-05-09,40.799999,41.259998,40.540001,41.040001,38.375355,10262400
+2014-05-12,41.220001,42.139999,41.189999,41.950001,39.226269,18751400
+2014-05-13,42.020000,42.090000,41.639999,41.889999,39.170166,10319200
+2014-05-14,41.980000,42.020000,41.709999,41.880001,39.160816,14015200
+2014-05-15,41.840000,42.169998,41.639999,41.930000,39.207577,19267000
+2014-05-16,41.889999,41.970001,41.320000,41.689999,38.983154,15497400
+2014-05-19,41.480000,42.200001,41.410000,42.160000,39.422634,11929700
+2014-05-20,42.070000,42.099998,41.450001,41.560001,38.861603,10580200
+2014-05-21,41.669998,41.790001,41.480000,41.680000,38.973804,11151700
+2014-05-22,41.599998,41.939999,41.509998,41.520000,38.824196,12276200
+2014-05-23,41.650002,42.230000,41.490002,42.150002,39.413288,12044200
+2014-05-27,42.259998,42.349998,41.730000,41.910000,39.188869,12680200
+2014-05-28,41.990002,42.189999,41.560001,41.570000,38.870949,11308800
+2014-05-29,41.790001,42.209999,41.610001,42.200001,39.460037,9629500
+2014-05-30,42.080002,42.200001,41.849998,42.020000,39.291733,13496500
+2014-06-02,41.959999,42.020000,41.610001,41.970001,39.244972,11284900
+2014-06-03,41.840000,41.919998,41.580002,41.810001,39.095356,10968400
+2014-06-04,41.790001,41.790001,41.330002,41.700001,38.992508,8936300
+2014-06-05,41.849998,42.330002,41.740002,42.099998,39.366535,10647800
+2014-06-06,42.290001,42.630001,42.250000,42.630001,39.862125,11447800
+2014-06-09,42.650002,42.810001,42.410000,42.700001,39.927574,10307400
+2014-06-10,42.570000,42.880001,42.490002,42.660000,39.890175,13457200
+2014-06-11,42.450001,42.880001,42.360001,42.560001,39.796661,9622700
+2014-06-12,42.529999,42.619999,41.840000,42.000000,39.273022,11060900
+2014-06-13,42.049999,42.180000,41.709999,42.139999,39.403923,10324600
+2014-06-16,42.000000,42.230000,41.770000,42.150002,39.413288,8150200
+2014-06-17,42.189999,42.700001,41.980000,42.320000,39.572247,12792400
+2014-06-18,42.380001,42.860001,42.299999,42.810001,40.030437,10307000
+2014-06-19,42.930000,43.189999,42.430000,42.509998,39.749908,27255800
+2014-06-20,40.259998,40.939999,39.930000,40.820000,38.169636,65103700
+2014-06-23,40.930000,41.330002,40.750000,41.099998,38.431465,16956600
+2014-06-24,40.990002,41.389999,40.660000,40.759998,38.113522,16459200
+2014-06-25,40.730000,40.840000,40.389999,40.459999,37.833012,13889400
+2014-06-26,40.549999,40.549999,39.980000,40.150002,37.543140,16642500
+2014-06-27,40.029999,40.660000,40.029999,40.529999,37.898464,15320500
+2014-06-30,40.599998,40.820000,40.490002,40.529999,37.898464,14098200
+2014-07-01,40.410000,40.910000,40.410000,40.770000,38.122887,13147000
+2014-07-02,40.930000,41.200001,40.770000,40.950001,38.291203,13400200
+2014-07-03,40.980000,41.360001,40.970001,41.340000,38.655888,7863600
+2014-07-07,41.009998,41.110001,40.750000,40.889999,38.346409,11959400
+2014-07-08,40.689999,40.849998,40.380001,40.560001,38.036942,12350600
+2014-07-09,40.610001,40.720001,39.990002,40.259998,37.755585,14711600
+2014-07-10,39.889999,40.520000,39.889999,40.320000,37.811855,9566900
+2014-07-11,40.490002,40.490002,39.980000,40.130001,37.633686,11942300
+2014-07-14,40.430000,40.680000,40.259998,40.490002,37.971291,13586800
+2014-07-15,40.380001,40.810001,40.360001,40.540001,38.018177,11813800
+2014-07-16,40.810001,40.880001,40.130001,40.259998,37.755585,14722600
+2014-07-17,40.209999,40.709999,39.860001,39.910000,37.427368,24447800
+2014-07-18,39.980000,40.160000,39.889999,40.000000,37.511768,19123500
+2014-07-21,40.029999,40.240002,39.919998,40.009998,37.521152,15864700
+2014-07-22,40.139999,40.700001,39.959999,40.430000,37.915028,13728100
+2014-07-23,40.430000,40.650002,40.240002,40.310001,37.802479,9191700
+2014-07-24,40.349998,40.669998,40.349998,40.470001,37.952534,10797700
+2014-07-25,40.270000,40.639999,40.270000,40.330002,37.821239,7483800
+2014-07-28,40.310001,40.820000,40.230000,40.549999,38.027554,9658200
+2014-07-29,40.709999,40.919998,40.500000,40.630001,38.102581,9450400
+2014-07-30,40.709999,41.029999,40.580002,40.959999,38.412048,11406300
+2014-07-31,40.650002,40.939999,40.349998,40.389999,37.877506,13689500
+2014-08-01,40.189999,40.529999,39.570000,39.610001,37.146038,15074700
+2014-08-04,39.630001,40.220001,39.529999,40.099998,37.605545,12356200
+2014-08-05,40.009998,40.380001,39.810001,39.959999,37.474258,8806600
+2014-08-06,39.849998,40.349998,39.779999,40.160000,37.661819,8184800
+2014-08-07,40.299999,40.430000,39.590000,39.669998,37.202290,9180500
+2014-08-08,39.730000,39.970001,39.560001,39.939999,37.455502,8862000
+2014-08-11,39.990002,40.139999,39.810001,39.919998,37.436737,10292800
+2014-08-12,39.740002,40.040001,39.730000,39.900002,37.417995,6704300
+2014-08-13,40.119999,40.299999,40.020000,40.240002,37.736843,10629700
+2014-08-14,40.290001,40.400002,39.980000,40.220001,37.718086,9707000
+2014-08-15,40.240002,40.590000,39.980000,40.279999,37.774349,13418800
+2014-08-18,40.450001,40.770000,40.400002,40.639999,38.111950,7633600
+2014-08-19,40.720001,41.580002,40.639999,41.410000,38.834057,14378600
+2014-08-20,41.580002,41.580002,41.090000,41.250000,38.684006,9627100
+2014-08-21,41.160000,41.810001,41.160000,41.580002,38.993484,9569200
+2014-08-22,41.340000,41.799999,41.270000,41.630001,39.040375,9260700
+2014-08-25,41.740002,42.040001,41.639999,41.740002,39.143536,8856700
+2014-08-26,41.849998,42.000000,41.779999,41.840000,39.237309,7320800
+2014-08-27,41.750000,41.799999,41.419998,41.639999,39.049747,8440000
+2014-08-28,41.669998,41.669998,41.209999,41.270000,38.702766,8737100
+2014-08-29,41.240002,41.730000,41.240002,41.529999,38.946590,8970900
+2014-09-02,41.599998,41.680000,41.459999,41.660000,39.068508,8538600
+2014-09-03,41.799999,41.950001,41.619999,41.900002,39.293579,10041600
+2014-09-04,41.889999,42.090000,41.369999,41.549999,38.965351,12248100
+2014-09-05,41.610001,41.759998,41.259998,41.270000,38.702766,15155600
+2014-09-08,41.009998,41.180000,40.270000,40.639999,38.111950,19658500
+2014-09-09,40.509998,40.910000,40.430000,40.709999,38.177605,14044100
+2014-09-10,40.700001,40.810001,40.570000,40.709999,38.177605,9134500
+2014-09-11,40.250000,40.689999,40.200001,40.680000,38.149467,12389100
+2014-09-12,40.740002,40.740002,40.400002,40.500000,37.980663,11912300
+2014-09-15,40.500000,40.770000,40.209999,40.660000,38.130707,14018100
+2014-09-16,40.810001,41.330002,40.500000,41.189999,38.627747,13220100
+2014-09-17,41.189999,41.330002,40.770000,41.139999,38.580856,14083300
+2014-09-18,41.349998,41.770000,41.200001,41.549999,38.965351,26454500
+2014-09-19,40.580002,40.660000,39.279999,39.799999,37.324219,86679100
+2014-09-22,39.680000,39.740002,39.240002,39.580002,37.117893,24572600
+2014-09-23,39.500000,39.590000,38.799999,38.830002,36.414551,34353300
+2014-09-24,38.770000,39.560001,38.570000,39.419998,36.967842,18937000
+2014-09-25,39.349998,39.349998,38.650002,38.759998,36.348900,13287800
+2014-09-26,38.770000,39.009998,38.520000,38.950001,36.527084,16006400
+2014-09-29,38.570000,38.630001,38.270000,38.439999,36.048805,16586000
+2014-09-30,38.459999,38.570000,38.139999,38.279999,35.898754,21143300
+2014-10-01,38.320000,38.410000,37.950001,38.090000,35.720577,17452400
+2014-10-02,38.150002,38.549999,37.919998,38.270000,35.889385,14808100
+2014-10-03,38.500000,39.119999,38.400002,38.889999,36.470814,15289500
+2014-10-06,38.970001,39.240002,38.950001,39.080002,36.762436,14168000
+2014-10-07,38.939999,39.080002,38.430000,38.459999,36.179203,14309200
+2014-10-08,38.820000,39.049999,38.040001,39.020000,36.705994,16005500
+2014-10-09,38.990002,39.209999,38.509998,38.740002,36.442600,15004900
+2014-10-10,38.660000,39.099998,38.090000,38.099998,35.840542,18234100
+2014-10-13,38.110001,38.779999,37.860001,38.230000,35.962833,20723700
+2014-10-14,38.660000,39.040001,38.419998,38.459999,36.179203,19508500
+2014-10-15,37.980000,38.430000,37.180000,38.299999,36.028690,24561500
+2014-10-16,37.990002,38.180000,37.520000,37.560001,35.332577,21419300
+2014-10-17,37.689999,38.020000,37.340000,37.869999,35.624191,21122700
+2014-10-20,36.310001,37.810001,35.820000,37.799999,35.558342,16654100
+2014-10-21,38.290001,38.470001,38.040001,38.349998,36.075722,15381900
+2014-10-22,38.369999,38.430000,37.580002,37.639999,35.407825,16810200
+2014-10-23,38.080002,38.500000,38.009998,38.230000,35.962833,9659100
+2014-10-24,38.320000,38.740002,38.250000,38.730000,36.433197,8975900
+2014-10-27,38.500000,38.720001,38.349998,38.430000,36.150974,7525300
+2014-10-28,38.340000,38.730000,38.340000,38.650002,36.357933,11631800
+2014-10-29,38.730000,38.740002,38.459999,38.580002,36.292084,10923800
+2014-10-30,38.400002,38.660000,38.389999,38.500000,36.216820,9644400
+2014-10-31,38.880001,39.049999,38.830002,39.049999,36.734211,16142800
+2014-11-03,39.020000,39.040001,38.759998,38.990002,36.677769,10318600
+2014-11-04,38.930000,39.150002,38.900002,39.130001,36.809471,12671000
+2014-11-05,39.340000,39.509998,39.110001,39.290001,36.959976,12280300
+2014-11-06,39.220001,39.860001,39.110001,39.810001,37.449142,11603400
+2014-11-07,39.689999,39.970001,39.610001,39.939999,37.571430,13728500
+2014-11-10,39.970001,40.490002,39.889999,40.450001,38.051189,11058100
+2014-11-11,40.529999,40.590000,40.349998,40.470001,38.070004,7061000
+2014-11-12,40.560001,40.590000,40.049999,40.139999,37.759575,10965100
+2014-11-13,40.169998,40.770000,39.889999,40.720001,38.305172,11868700
+2014-11-14,40.860001,41.070000,40.630001,40.840000,38.418060,11476500
+2014-11-17,40.709999,41.200001,40.630001,41.160000,38.719078,11987600
+2014-11-18,41.189999,41.480000,41.110001,41.259998,38.813145,9328200
+2014-11-19,41.150002,41.270000,40.810001,40.919998,38.493309,9202600
+2014-11-20,40.709999,41.009998,40.610001,40.919998,38.493309,9062200
+2014-11-21,41.320000,41.500000,41.169998,41.439999,38.982475,12641400
+2014-11-24,41.490002,41.639999,41.360001,41.430000,38.973068,9542100
+2014-11-25,41.509998,41.639999,41.150002,41.150002,38.709671,12404200
+2014-11-26,41.180000,41.910000,41.180000,41.869999,39.386971,11590000
+2014-11-28,41.980000,42.509998,41.889999,42.410000,39.894947,11890100
+2014-12-01,42.009998,42.380001,42.009998,42.080002,39.584522,10802400
+2014-12-02,41.900002,42.360001,41.860001,42.180000,39.678596,9083200
+2014-12-03,41.939999,42.139999,41.639999,42.060001,39.565712,10326000
+2014-12-04,42.119999,42.119999,41.490002,41.889999,39.405788,9177100
+2014-12-05,42.020000,42.020000,41.590000,41.930000,39.443420,8925300
+2014-12-08,41.910000,42.029999,41.330002,41.369999,38.916622,12766500
+2014-12-09,40.980000,41.930000,40.889999,41.869999,39.386971,13897500
+2014-12-10,41.700001,41.810001,40.880001,40.919998,38.493309,12547600
+2014-12-11,41.119999,41.639999,40.709999,40.759998,38.342800,12395800
+2014-12-12,40.240002,40.779999,39.919998,39.950001,37.580837,14108200
+2014-12-15,41.209999,41.650002,40.770000,41.110001,38.672047,22343100
+2014-12-16,40.889999,41.360001,40.610001,40.630001,38.220520,16424500
+2014-12-17,41.060001,41.630001,40.680000,41.160000,38.719078,18151000
+2014-12-18,43.830002,45.369999,43.570000,45.349998,42.660591,54495600
+2014-12-19,45.099998,46.150002,44.980000,46.000000,43.272057,41782200
+2014-12-22,45.570000,46.049999,45.410000,45.650002,42.942802,21264400
+2014-12-23,45.529999,46.500000,45.459999,46.009998,43.281460,14042400
+2014-12-24,46.360001,46.709999,46.150002,46.230000,43.488419,10238200
+2014-12-26,46.189999,46.500000,46.070000,46.099998,43.366119,6901500
+2014-12-29,46.020000,46.090000,45.599998,45.610001,42.905186,9701400
+2014-12-30,45.549999,45.660000,45.290001,45.340000,42.651192,9968400
+2014-12-31,45.450001,45.560001,44.970001,44.970001,42.303135,13269200
diff --git a/backtrader/source/datas/ticksample.csv b/backtrader/source/datas/ticksample.csv
new file mode 100644
index 0000000000000000000000000000000000000000..39ea402aecb835bbbde0951dfc2339604652806d
--- /dev/null
+++ b/backtrader/source/datas/ticksample.csv
@@ -0,0 +1,136 @@
+Datetime,Open,High,Low,Close,Volume,OpenInterest
+2015-09-23T20:57:42.146,3067.00,3067.00,3067.00,3067.00,180,0
+2015-09-23T20:57:46.151,3066.00,3066.00,3066.00,3066.00,2,0
+2015-09-23T20:57:53.821,3066.00,3066.00,3066.00,3066.00,1,0
+2015-09-23T20:57:55.073,3066.00,3066.00,3066.00,3066.00,2,0
+2015-09-23T20:57:57.330,3066.00,3066.00,3066.00,3066.00,1,0
+2015-09-23T20:58:00.079,3066.00,3066.00,3066.00,3066.00,168,0
+2015-09-23T20:58:00.267,3066.00,3066.00,3066.00,3066.00,15,0
+2015-09-23T20:58:00.578,3066.00,3066.00,3066.00,3066.00,3,0
+2015-09-23T20:58:01.091,3065.00,3065.00,3065.00,3065.00,4,0
+2015-09-23T20:58:01.341,3066.00,3066.00,3066.00,3066.00,4,0
+2015-09-23T20:58:02.587,3067.00,3067.00,3067.00,3067.00,50,0
+2015-09-23T20:58:03.271,3066.00,3066.00,3066.00,3066.00,191,0
+2015-09-23T20:58:05.052,3067.00,3067.00,3067.00,3067.00,69,0
+2015-09-23T20:58:06.540,3066.00,3066.00,3066.00,3066.00,10,0
+2015-09-23T20:58:10.550,3067.00,3067.00,3067.00,3067.00,2,0
+2015-09-23T20:58:12.301,3067.00,3067.00,3067.00,3067.00,1,0
+2015-09-23T20:58:12.551,3067.00,3067.00,3067.00,3067.00,1,0
+2015-09-23T20:58:13.049,3066.00,3066.00,3066.00,3066.00,1,0
+2015-09-23T20:58:13.549,3067.00,3067.00,3067.00,3067.00,4,0
+2015-09-23T20:58:19.561,3068.00,3068.00,3068.00,3068.00,198,0
+2015-09-23T20:58:21.068,3068.00,3068.00,3068.00,3068.00,6,0
+2015-09-23T20:58:22.316,3068.00,3068.00,3068.00,3068.00,60,0
+2015-09-23T20:58:22.316,3069.00,3069.00,3069.00,3069.00,1,0
+2015-09-23T20:58:22.665,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:58:29.429,3068.00,3068.00,3068.00,3068.00,5,0
+2015-09-23T20:58:29.679,3068.00,3068.00,3068.00,3068.00,65,0
+2015-09-23T20:58:30.590,3068.00,3068.00,3068.00,3068.00,2,0
+2015-09-23T20:58:31.182,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:58:31.674,3068.00,3068.00,3068.00,3068.00,2,0
+2015-09-23T20:58:32.832,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:58:37.189,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:58:39.451,3068.00,3068.00,3068.00,3068.00,2,0
+2015-09-23T20:58:41.701,3068.00,3068.00,3068.00,3068.00,10,0
+2015-09-23T20:58:41.841,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:58:42.948,3069.00,3069.00,3069.00,3069.00,8,0
+2015-09-23T20:58:43.188,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:58:44.201,3069.00,3069.00,3069.00,3069.00,7,0
+2015-09-23T20:58:44.451,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:58:46.946,3069.00,3069.00,3069.00,3069.00,16,0
+2015-09-23T20:58:47.186,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:58:52.192,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:58:53.953,3068.00,3068.00,3068.00,3068.00,61,0
+2015-09-23T20:58:55.208,3068.00,3068.00,3068.00,3068.00,10,0
+2015-09-23T20:58:57.958,3069.00,3069.00,3069.00,3069.00,30,0
+2015-09-23T20:58:58.463,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:58:58.970,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:58:59.971,3067.00,3067.00,3067.00,3067.00,12,0
+2015-09-23T20:59:00.222,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:59:00.412,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:59:00.713,3067.00,3067.00,3067.00,3067.00,10,0
+2015-09-23T20:59:00.963,3068.00,3068.00,3068.00,3068.00,9,0
+2015-09-23T20:59:01.213,3067.00,3067.00,3067.00,3067.00,3,0
+2015-09-23T20:59:01.471,3068.00,3068.00,3068.00,3068.00,4,0
+2015-09-23T20:59:01.627,3068.00,3068.00,3068.00,3068.00,3,0
+2015-09-23T20:59:03.723,3067.00,3067.00,3067.00,3067.00,1,0
+2015-09-23T20:59:05.223,3068.00,3068.00,3068.00,3068.00,6,0
+2015-09-23T20:59:05.973,3067.00,3067.00,3067.00,3067.00,3,0
+2015-09-23T20:59:06.380,3067.00,3067.00,3067.00,3067.00,1,0
+2015-09-23T20:59:09.235,3068.00,3068.00,3068.00,3068.00,25,0
+2015-09-23T20:59:10.237,3068.00,3068.00,3068.00,3068.00,17,0
+2015-09-23T20:59:12.477,3067.00,3067.00,3067.00,3067.00,4,0
+2015-09-23T20:59:12.633,3067.00,3067.00,3067.00,3067.00,4,0
+2015-09-23T20:59:12.966,3067.00,3067.00,3067.00,3067.00,2,0
+2015-09-23T20:59:13.232,3067.00,3067.00,3067.00,3067.00,2,0
+2015-09-23T20:59:15.237,3067.00,3067.00,3067.00,3067.00,2,0
+2015-09-23T20:59:15.487,3068.00,3068.00,3068.00,3068.00,9,0
+2015-09-23T20:59:16.739,3068.00,3068.00,3068.00,3068.00,27,0
+2015-09-23T20:59:16.895,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:59:17.902,3068.00,3068.00,3068.00,3068.00,10,0
+2015-09-23T20:59:18.496,3068.00,3068.00,3068.00,3068.00,10,0
+2015-09-23T20:59:18.987,3068.00,3068.00,3068.00,3068.00,11,0
+2015-09-23T20:59:19.402,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:59:21.490,3068.00,3068.00,3068.00,3068.00,4,0
+2015-09-23T20:59:26.998,3068.00,3068.00,3068.00,3068.00,14,0
+2015-09-23T20:59:27.248,3068.00,3068.00,3068.00,3068.00,2,0
+2015-09-23T20:59:27.749,3067.00,3067.00,3067.00,3067.00,1,0
+2015-09-23T20:59:28.506,3067.00,3067.00,3067.00,3067.00,15,0
+2015-09-23T20:59:30.002,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:59:31.018,3067.00,3067.00,3067.00,3067.00,2,0
+2015-09-23T20:59:31.757,3068.00,3068.00,3068.00,3068.00,25,0
+2015-09-23T20:59:32.015,3067.00,3067.00,3067.00,3067.00,40,0
+2015-09-23T20:59:32.257,3068.00,3068.00,3068.00,3068.00,10,0
+2015-09-23T20:59:33.508,3067.00,3067.00,3067.00,3067.00,31,0
+2015-09-23T20:59:35.019,3067.00,3067.00,3067.00,3067.00,2,0
+2015-09-23T20:59:35.265,3068.00,3068.00,3068.00,3068.00,25,0
+2015-09-23T20:59:35.769,3067.00,3067.00,3067.00,3067.00,10,0
+2015-09-23T20:59:37.016,3068.00,3068.00,3068.00,3068.00,24,0
+2015-09-23T20:59:38.276,3067.00,3067.00,3067.00,3067.00,1,0
+2015-09-23T20:59:38.515,3067.00,3067.00,3067.00,3067.00,5,0
+2015-09-23T20:59:38.771,3068.00,3068.00,3068.00,3068.00,25,0
+2015-09-23T20:59:40.458,3068.00,3068.00,3068.00,3068.00,72,0
+2015-09-23T20:59:41.028,3068.00,3068.00,3068.00,3068.00,2,0
+2015-09-23T20:59:42.272,3069.00,3069.00,3069.00,3069.00,25,0
+2015-09-23T20:59:43.012,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:59:43.528,3069.00,3069.00,3069.00,3069.00,11,0
+2015-09-23T20:59:43.778,3069.00,3069.00,3069.00,3069.00,25,0
+2015-09-23T20:59:44.035,3068.00,3068.00,3068.00,3068.00,10,0
+2015-09-23T20:59:44.285,3068.00,3068.00,3068.00,3068.00,30,0
+2015-09-23T20:59:44.535,3069.00,3069.00,3069.00,3069.00,3,0
+2015-09-23T20:59:44.785,3069.00,3069.00,3069.00,3069.00,1,0
+2015-09-23T20:59:45.440,3069.00,3069.00,3069.00,3069.00,25,0
+2015-09-23T20:59:46.193,3069.00,3069.00,3069.00,3069.00,4,0
+2015-09-23T20:59:46.444,3069.00,3069.00,3069.00,3069.00,3,0
+2015-09-23T20:59:47.034,3069.00,3069.00,3069.00,3069.00,1,0
+2015-09-23T20:59:47.278,3069.00,3069.00,3069.00,3069.00,26,0
+2015-09-23T20:59:48.542,3069.00,3069.00,3069.00,3069.00,4,0
+2015-09-23T20:59:48.780,3068.00,3068.00,3068.00,3068.00,5,0
+2015-09-23T20:59:49.030,3069.00,3069.00,3069.00,3069.00,25,0
+2015-09-23T20:59:49.298,3069.00,3069.00,3069.00,3069.00,9,0
+2015-09-23T20:59:49.446,3069.00,3069.00,3069.00,3069.00,1,0
+2015-09-23T20:59:49.789,3069.00,3069.00,3069.00,3069.00,1,0
+2015-09-23T20:59:50.031,3068.00,3068.00,3068.00,3068.00,201,0
+2015-09-23T20:59:50.480,3069.00,3069.00,3069.00,3069.00,8,0
+2015-09-23T20:59:50.794,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:59:51.039,3068.00,3068.00,3068.00,3068.00,17,0
+2015-09-23T20:59:51.289,3068.00,3068.00,3068.00,3068.00,7,0
+2015-09-23T20:59:51.445,3068.00,3068.00,3068.00,3068.00,5,0
+2015-09-23T20:59:52.040,3068.00,3068.00,3068.00,3068.00,3,0
+2015-09-23T20:59:52.286,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:59:52.536,3068.00,3068.00,3068.00,3068.00,29,0
+2015-09-23T20:59:53.539,3067.00,3067.00,3067.00,3067.00,1,0
+2015-09-23T20:59:54.302,3068.00,3068.00,3068.00,3068.00,25,0
+2015-09-23T20:59:55.053,3067.00,3067.00,3067.00,3067.00,2,0
+2015-09-23T20:59:55.282,3068.00,3068.00,3068.00,3068.00,66,0
+2015-09-23T20:59:56.055,3068.00,3068.00,3068.00,3068.00,26,0
+2015-09-23T20:59:56.301,3068.00,3068.00,3068.00,3068.00,7,0
+2015-09-23T20:59:56.792,3067.00,3067.00,3067.00,3067.00,10,0
+2015-09-23T20:59:57.287,3068.00,3068.00,3068.00,3068.00,7,0
+2015-09-23T20:59:57.552,3068.00,3068.00,3068.00,3068.00,5,0
+2015-09-23T20:59:57.802,3069.00,3069.00,3069.00,3069.00,16,0
+2015-09-23T20:59:58.048,3068.00,3068.00,3068.00,3068.00,8,0
+2015-09-23T20:59:58.548,3068.00,3068.00,3068.00,3068.00,1,0
+2015-09-23T20:59:59.049,3069.00,3069.00,3069.00,3069.00,230,0
+2015-09-23T20:59:59.547,3068.00,3068.00,3068.00,3068.00,19,0
+2015-09-23T21:00:00.238,3069.00,3069.00,3069.00,3069.00,1,0
diff --git a/backtrader/source/datas/yhoo-1996-2014.txt b/backtrader/source/datas/yhoo-1996-2014.txt
new file mode 100644
index 0000000000000000000000000000000000000000..382071aade6d4e90d44b61493c8e17443dfcf531
--- /dev/null
+++ b/backtrader/source/datas/yhoo-1996-2014.txt
@@ -0,0 +1,4714 @@
+Date,Open,High,Low,Close,Adj Close,Volume
+1996-04-12,1.052083,1.791667,1.020833,1.375000,1.375000,408720000
+1996-04-15,1.489583,1.500000,1.250000,1.343750,1.343750,79219200
+1996-04-16,1.343750,1.343750,1.166667,1.197917,1.197917,48016000
+1996-04-17,1.177083,1.177083,1.031250,1.125000,1.125000,42816000
+1996-04-18,1.255208,1.255208,1.166667,1.218750,1.218750,27268800
+1996-04-19,1.255208,1.281250,1.197917,1.203125,1.203125,12913600
+1996-04-22,1.208333,1.208333,1.145833,1.177083,1.177083,8041600
+1996-04-23,1.197917,1.208333,1.166667,1.166667,1.166667,4297600
+1996-04-24,1.187500,1.213542,1.156250,1.208333,1.208333,7795200
+1996-04-25,1.250000,1.343750,1.208333,1.302083,1.302083,19478400
+1996-04-26,1.333333,1.343750,1.302083,1.322917,1.322917,7561600
+1996-04-29,1.312500,1.333333,1.270833,1.291667,1.291667,5928000
+1996-04-30,1.302083,1.312500,1.229167,1.239583,1.239583,5003200
+1996-05-01,1.260417,1.322917,1.250000,1.317708,1.317708,4881600
+1996-05-02,1.312500,1.385417,1.312500,1.369792,1.369792,9731200
+1996-05-03,1.343750,1.354167,1.302083,1.333333,1.333333,6116800
+1996-05-06,1.354167,1.354167,1.223958,1.255208,1.255208,8214400
+1996-05-07,1.250000,1.281250,1.239583,1.265625,1.265625,5569600
+1996-05-08,1.270833,1.281250,1.213542,1.260417,1.260417,6288000
+1996-05-09,1.250000,1.281250,1.239583,1.281250,1.281250,4032000
+1996-05-10,1.281250,1.322917,1.270833,1.302083,1.302083,5875200
+1996-05-13,1.307292,1.312500,1.250000,1.260417,1.260417,2747200
+1996-05-14,1.281250,1.291667,1.229167,1.229167,1.229167,4003200
+1996-05-15,1.250000,1.281250,1.239583,1.260417,1.260417,2200000
+1996-05-16,1.239583,1.270833,1.239583,1.260417,1.260417,3390400
+1996-05-17,1.260417,1.270833,1.239583,1.250000,1.250000,2448000
+1996-05-20,1.250000,1.265625,1.208333,1.208333,1.208333,4257600
+1996-05-21,1.208333,1.213542,1.156250,1.166667,1.166667,4048000
+1996-05-22,1.166667,1.166667,1.125000,1.145833,1.145833,2563200
+1996-05-23,1.145833,1.229167,1.145833,1.229167,1.229167,2918400
+1996-05-24,1.229167,1.250000,1.197917,1.229167,1.229167,2491200
+1996-05-28,1.218750,1.234375,1.187500,1.208333,1.208333,2224000
+1996-05-29,1.197917,1.197917,1.125000,1.145833,1.145833,3726400
+1996-05-30,1.145833,1.208333,1.145833,1.177083,1.177083,3038400
+1996-05-31,1.197917,1.197917,1.135417,1.166667,1.166667,1734400
+1996-06-03,1.156250,1.166667,1.135417,1.135417,1.135417,1142400
+1996-06-04,1.135417,1.166667,1.130208,1.130208,1.130208,2468800
+1996-06-05,1.145833,1.145833,1.125000,1.130208,1.130208,1166400
+1996-06-06,1.187500,1.197917,1.145833,1.156250,1.156250,3873600
+1996-06-07,1.135417,1.135417,1.104167,1.119792,1.119792,3457600
+1996-06-10,1.119792,1.119792,1.088542,1.104167,1.104167,1849600
+1996-06-11,1.088542,1.104167,1.062500,1.062500,1.062500,4243200
+1996-06-12,1.072917,1.114583,1.072917,1.083333,1.083333,2608000
+1996-06-13,1.072917,1.093750,1.020833,1.062500,1.062500,5668800
+1996-06-14,1.031250,1.062500,1.031250,1.031250,1.031250,2046400
+1996-06-17,1.031250,1.041667,0.937500,0.958333,0.958333,3249600
+1996-06-18,0.906250,0.927083,0.854167,0.854167,0.854167,5564800
+1996-06-19,0.875000,0.895833,0.854167,0.864583,0.864583,4033600
+1996-06-20,0.875000,0.906250,0.854167,0.906250,0.906250,2958400
+1996-06-21,0.927083,0.947917,0.906250,0.927083,0.927083,2544000
+1996-06-24,0.927083,0.927083,0.906250,0.906250,0.906250,633600
+1996-06-25,0.906250,0.927083,0.895833,0.906250,0.906250,993600
+1996-06-26,0.895833,0.916667,0.864583,0.875000,0.875000,1488000
+1996-06-27,0.885417,0.916667,0.760417,0.760417,0.760417,7392000
+1996-06-28,0.812500,0.875000,0.791667,0.875000,0.875000,4067200
+1996-07-01,0.854167,0.927083,0.854167,0.906250,0.906250,2286400
+1996-07-02,0.927083,0.927083,0.885417,0.885417,0.885417,984000
+1996-07-03,0.906250,0.906250,0.854167,0.875000,0.875000,1384000
+1996-07-05,0.833333,0.859375,0.822917,0.833333,0.833333,748800
+1996-07-08,0.833333,0.833333,0.802083,0.833333,0.833333,1211200
+1996-07-09,0.812500,0.833333,0.770833,0.770833,0.770833,2112000
+1996-07-10,0.781250,0.781250,0.666667,0.682292,0.682292,5899200
+1996-07-11,0.666667,0.718750,0.645833,0.718750,0.718750,3510400
+1996-07-12,0.708333,0.750000,0.708333,0.729167,0.729167,1696000
+1996-07-15,0.750000,0.770833,0.729167,0.744792,0.744792,1900800
+1996-07-16,0.739583,0.770833,0.723958,0.750000,0.750000,3726400
+1996-07-17,0.755208,0.802083,0.739583,0.802083,0.802083,1849600
+1996-07-18,0.812500,0.828125,0.781250,0.802083,0.802083,1608000
+1996-07-19,0.828125,0.828125,0.781250,0.786458,0.786458,1235200
+1996-07-22,0.791667,0.791667,0.729167,0.750000,0.750000,1132800
+1996-07-23,0.729167,0.750000,0.677083,0.677083,0.677083,1881600
+1996-07-24,0.677083,0.682292,0.645833,0.656250,0.656250,888000
+1996-07-25,0.656250,0.697917,0.656250,0.677083,0.677083,1283200
+1996-07-26,0.677083,0.692708,0.656250,0.692708,0.692708,600000
+1996-07-29,0.677083,0.692708,0.671875,0.671875,0.671875,371200
+1996-07-30,0.677083,0.729167,0.677083,0.708333,0.708333,686400
+1996-07-31,0.708333,0.750000,0.708333,0.750000,0.750000,931200
+1996-08-01,0.750000,0.791667,0.729167,0.791667,0.791667,1388800
+1996-08-02,0.770833,0.802083,0.770833,0.786458,0.786458,1168000
+1996-08-05,0.791667,0.807292,0.786458,0.786458,0.786458,510400
+1996-08-06,0.802083,0.802083,0.755208,0.755208,0.755208,817600
+1996-08-07,0.744792,0.760417,0.739583,0.750000,0.750000,971200
+1996-08-08,0.750000,0.770833,0.739583,0.770833,0.770833,1748800
+1996-08-09,0.723958,0.739583,0.687500,0.739583,0.739583,1833600
+1996-08-12,0.729167,0.729167,0.708333,0.718750,0.718750,864000
+1996-08-13,0.708333,0.854167,0.708333,0.828125,0.828125,10464000
+1996-08-14,0.838542,0.859375,0.833333,0.848958,0.848958,4852800
+1996-08-15,0.848958,0.848958,0.817708,0.828125,0.828125,1177600
+1996-08-16,0.812500,0.828125,0.796875,0.807292,0.807292,864000
+1996-08-19,0.807292,0.817708,0.807292,0.817708,0.817708,428800
+1996-08-20,0.817708,0.817708,0.796875,0.796875,0.796875,494400
+1996-08-21,0.796875,0.802083,0.760417,0.776042,0.776042,688000
+1996-08-22,0.776042,0.833333,0.760417,0.828125,0.828125,1921600
+1996-08-23,0.822917,0.843750,0.822917,0.822917,0.822917,1024000
+1996-08-26,0.838542,0.838542,0.822917,0.822917,0.822917,388800
+1996-08-27,0.822917,0.848958,0.822917,0.838542,0.838542,1897600
+1996-08-28,0.838542,0.921875,0.838542,0.880208,0.880208,5193600
+1996-08-29,0.869792,0.880208,0.822917,0.822917,0.822917,1987200
+1996-08-30,0.828125,0.838542,0.807292,0.817708,0.817708,913600
+1996-09-03,0.791667,0.807292,0.781250,0.791667,0.791667,1012800
+1996-09-04,0.791667,0.802083,0.776042,0.786458,0.786458,528000
+1996-09-05,0.765625,0.776042,0.765625,0.765625,0.765625,148800
+1996-09-06,0.760417,0.776042,0.755208,0.765625,0.765625,753600
+1996-09-09,0.755208,0.786458,0.755208,0.781250,0.781250,835200
+1996-09-10,0.781250,0.796875,0.770833,0.770833,0.770833,907200
+1996-09-11,0.781250,0.791667,0.770833,0.786458,0.786458,1267200
+1996-09-12,0.781250,0.812500,0.781250,0.812500,0.812500,1374400
+1996-09-13,0.828125,0.869792,0.822917,0.859375,0.859375,3193600
+1996-09-16,0.859375,0.875000,0.854167,0.859375,0.859375,1382400
+1996-09-17,0.880208,0.901042,0.864583,0.901042,0.901042,2665600
+1996-09-18,0.895833,0.901042,0.848958,0.864583,0.864583,1977600
+1996-09-19,0.864583,0.895833,0.854167,0.895833,0.895833,1761600
+1996-09-20,0.895833,1.000000,0.890625,1.000000,1.000000,7460800
+1996-09-23,0.994792,1.026042,0.989583,0.992188,0.992188,5332800
+1996-09-24,0.989583,0.994792,0.937500,0.947917,0.947917,3774400
+1996-09-25,0.937500,0.942708,0.901042,0.911458,0.911458,2040000
+1996-09-26,0.901042,0.921875,0.901042,0.911458,0.911458,1067200
+1996-09-27,0.911458,0.921875,0.895833,0.906250,0.906250,688000
+1996-09-30,0.906250,0.906250,0.885417,0.885417,0.885417,849600
+1996-10-01,0.875000,0.885417,0.796875,0.817708,0.817708,4105600
+1996-10-02,0.848958,0.942708,0.848958,0.906250,0.906250,5827200
+1996-10-03,0.921875,0.979167,0.916667,0.942708,0.942708,4324800
+1996-10-04,0.963542,0.968750,0.916667,0.916667,0.916667,2046400
+1996-10-07,0.916667,0.942708,0.916667,0.927083,0.927083,715200
+1996-10-08,0.932292,0.942708,0.869792,0.869792,0.869792,2299200
+1996-10-09,0.869792,0.937500,0.869792,0.937500,0.937500,2366400
+1996-10-10,0.947917,0.953125,0.848958,0.854167,0.854167,8673600
+1996-10-11,0.848958,0.869792,0.848958,0.859375,0.859375,2382400
+1996-10-14,0.869792,0.901042,0.859375,0.901042,0.901042,6452800
+1996-10-15,0.895833,0.906250,0.875000,0.895833,0.895833,3884800
+1996-10-16,0.890625,0.901042,0.875000,0.880208,0.880208,2702400
+1996-10-17,0.880208,0.921875,0.880208,0.916667,0.916667,3504000
+1996-10-18,0.927083,0.927083,0.906250,0.916667,0.916667,2582400
+1996-10-21,0.906250,0.927083,0.906250,0.911458,0.911458,2232000
+1996-10-22,0.911458,0.921875,0.885417,0.885417,0.885417,1868800
+1996-10-23,0.885417,0.895833,0.875000,0.880208,0.880208,1492800
+1996-10-24,0.875000,0.880208,0.869792,0.869792,0.869792,1244800
+1996-10-25,0.869792,0.875000,0.854167,0.854167,0.854167,1984000
+1996-10-28,0.854167,0.864583,0.854167,0.859375,0.859375,558400
+1996-10-29,0.859375,0.864583,0.854167,0.854167,0.854167,625600
+1996-10-30,0.854167,0.859375,0.838542,0.838542,0.838542,969600
+1996-10-31,0.833333,0.843750,0.812500,0.822917,0.822917,1646400
+1996-11-01,0.812500,0.822917,0.812500,0.812500,0.812500,340800
+1996-11-04,0.812500,0.822917,0.791667,0.791667,0.791667,995200
+1996-11-05,0.791667,0.802083,0.734375,0.760417,0.760417,2982400
+1996-11-06,0.750000,0.770833,0.744792,0.750000,0.750000,1656000
+1996-11-07,0.744792,0.765625,0.744792,0.755208,0.755208,932800
+1996-11-08,0.755208,0.812500,0.755208,0.812500,0.812500,2179200
+1996-11-11,0.812500,0.843750,0.812500,0.838542,0.838542,2348800
+1996-11-12,0.828125,0.838542,0.817708,0.822917,0.822917,712000
+1996-11-13,0.822917,0.822917,0.776042,0.791667,0.791667,1340800
+1996-11-14,0.791667,0.791667,0.755208,0.757813,0.757813,1681600
+1996-11-15,0.765625,0.776042,0.760417,0.770833,0.770833,1192000
+1996-11-18,0.760417,0.770833,0.744792,0.755208,0.755208,1729600
+1996-11-19,0.755208,0.755208,0.739583,0.744792,0.744792,2137600
+1996-11-20,0.744792,0.755208,0.734375,0.739583,0.739583,1022400
+1996-11-21,0.734375,0.739583,0.718750,0.723958,0.723958,1588800
+1996-11-22,0.729167,0.734375,0.718750,0.734375,0.734375,1124800
+1996-11-25,0.734375,0.802083,0.723958,0.796875,0.796875,6734400
+1996-11-26,0.802083,0.822917,0.786458,0.786458,0.786458,3419200
+1996-11-27,0.791667,0.791667,0.770833,0.773438,0.773438,1057600
+1996-11-29,0.770833,0.796875,0.770833,0.796875,0.796875,803200
+1996-12-02,0.781250,0.796875,0.781250,0.791667,0.791667,1081600
+1996-12-03,0.781250,0.859375,0.781250,0.833333,0.833333,9120000
+1996-12-04,0.828125,0.848958,0.822917,0.822917,0.822917,1633600
+1996-12-05,0.822917,0.921875,0.822917,0.888021,0.888021,8190400
+1996-12-06,0.843750,0.906250,0.828125,0.854167,0.854167,5596800
+1996-12-09,0.848958,0.890625,0.843750,0.885417,0.885417,3827200
+1996-12-10,0.885417,0.890625,0.843750,0.843750,0.843750,2521600
+1996-12-11,0.828125,0.828125,0.796875,0.807292,0.807292,2592000
+1996-12-12,0.812500,0.838542,0.791667,0.833333,0.833333,2851200
+1996-12-13,0.812500,0.843750,0.812500,0.828125,0.828125,1353600
+1996-12-16,0.833333,0.843750,0.776042,0.781250,0.781250,1886400
+1996-12-17,0.776042,0.781250,0.744792,0.755208,0.755208,1732800
+1996-12-18,0.750000,0.807292,0.744792,0.765625,0.765625,5496000
+1996-12-19,0.770833,0.776042,0.744792,0.750000,0.750000,2049600
+1996-12-20,0.755208,0.755208,0.708333,0.708333,0.708333,4926400
+1996-12-23,0.729167,0.770833,0.723958,0.747396,0.747396,3619200
+1996-12-24,0.755208,0.755208,0.739583,0.755208,0.755208,715200
+1996-12-26,0.750000,0.760417,0.744792,0.744792,0.744792,1513600
+1996-12-27,0.760417,0.781250,0.744792,0.760417,0.760417,1806400
+1996-12-30,0.760417,0.760417,0.739583,0.750000,0.750000,1396800
+1996-12-31,0.729167,0.734375,0.697917,0.708333,0.708333,3923200
+1997-01-02,0.708333,0.729167,0.697917,0.729167,0.729167,2579200
+1997-01-03,0.734375,0.781250,0.729817,0.765625,0.765625,2180800
+1997-01-06,0.796875,0.828125,0.791667,0.828125,0.828125,6640000
+1997-01-07,0.828125,0.854167,0.809896,0.838542,0.838542,5008000
+1997-01-08,0.841146,0.848958,0.781250,0.786458,0.786458,2924800
+1997-01-09,0.786458,0.822917,0.786458,0.807292,0.807292,4907200
+1997-01-10,0.791667,0.802083,0.791667,0.802083,0.802083,2577600
+1997-01-13,0.828125,0.921875,0.822917,0.906250,0.906250,18164800
+1997-01-14,0.911458,0.911458,0.869792,0.869792,0.869792,5376000
+1997-01-15,0.958333,1.083333,0.953125,1.057292,1.057292,50636800
+1997-01-16,1.057292,1.125000,1.031250,1.088542,1.088542,20267200
+1997-01-17,1.083333,1.119792,1.036458,1.109375,1.109375,24388800
+1997-01-20,1.104167,1.302083,1.104167,1.229167,1.229167,36244800
+1997-01-21,1.203125,1.343750,1.192708,1.328125,1.328125,30428800
+1997-01-22,1.317708,1.385417,1.291667,1.328125,1.328125,29809600
+1997-01-23,1.338542,1.468750,1.338542,1.468750,1.468750,28028800
+1997-01-24,1.442708,1.458333,1.333333,1.380208,1.380208,28099200
+1997-01-27,1.380208,1.557292,1.380208,1.518229,1.518229,41558400
+1997-01-28,1.526042,1.526042,1.317708,1.359375,1.359375,27313600
+1997-01-29,1.359375,1.406250,1.328125,1.401042,1.401042,17718400
+1997-01-30,1.375000,1.473958,1.354167,1.421875,1.421875,21408000
+1997-01-31,1.437500,1.463542,1.406250,1.411458,1.411458,6904000
+1997-02-03,1.411458,1.458333,1.395833,1.453125,1.453125,16043200
+1997-02-04,1.442708,1.510417,1.416667,1.442708,1.442708,13686400
+1997-02-05,1.432292,1.458333,1.380208,1.411458,1.411458,7427200
+1997-02-06,1.395833,1.421875,1.328125,1.343750,1.343750,11481600
+1997-02-07,1.322917,1.322917,1.239583,1.255208,1.255208,18787200
+1997-02-10,1.255208,1.265625,1.197917,1.213542,1.213542,9270400
+1997-02-11,1.218750,1.307292,1.218750,1.307292,1.307292,12691200
+1997-02-12,1.338542,1.510417,1.312500,1.484375,1.484375,28483200
+1997-02-13,1.479167,1.505208,1.437500,1.494792,1.494792,17510400
+1997-02-14,1.479167,1.489583,1.390625,1.432292,1.432292,10555200
+1997-02-18,1.427083,1.437500,1.317708,1.421875,1.421875,10705600
+1997-02-19,1.416667,1.416667,1.343750,1.375000,1.375000,9553600
+1997-02-20,1.364583,1.375000,1.302083,1.328125,1.328125,7259200
+1997-02-21,1.333333,1.338542,1.281250,1.296875,1.296875,6304000
+1997-02-24,1.302083,1.375000,1.265625,1.265625,1.265625,9985600
+1997-02-25,1.302083,1.416667,1.291667,1.348958,1.348958,13734400
+1997-02-26,1.333333,1.348958,1.281250,1.302083,1.302083,12100800
+1997-02-27,1.302083,1.317708,1.270833,1.270833,1.270833,4944000
+1997-02-28,1.276042,1.286458,1.234375,1.260417,1.260417,8812800
+1997-03-03,1.244792,1.328125,1.239583,1.250000,1.250000,10776000
+1997-03-04,1.255208,1.255208,1.192708,1.195313,1.195313,7508800
+1997-03-05,1.192708,1.197917,1.109375,1.125000,1.125000,12091200
+1997-03-06,1.114583,1.135417,1.062500,1.093750,1.093750,12792000
+1997-03-07,1.093750,1.140625,1.088542,1.135417,1.135417,6217600
+1997-03-10,1.135417,1.135417,1.104167,1.109375,1.109375,3513600
+1997-03-11,1.114583,1.140625,1.083333,1.083333,1.083333,7019200
+1997-03-12,1.083333,1.114583,1.041667,1.067708,1.067708,7958400
+1997-03-13,1.067708,1.067708,0.947917,0.950521,0.950521,13540800
+1997-03-14,0.963542,1.057292,0.932292,1.052083,1.052083,11526400
+1997-03-17,1.062500,1.098958,0.937500,0.963542,0.963542,24931200
+1997-03-18,0.968750,1.005208,0.916667,0.942708,0.942708,11500800
+1997-03-19,0.947917,1.057292,0.942708,1.031250,1.031250,21164800
+1997-03-20,1.130208,1.229167,1.125000,1.208333,1.208333,29731200
+1997-03-21,1.223958,1.276042,1.104167,1.197917,1.197917,27048000
+1997-03-24,1.197917,1.250000,1.135417,1.197917,1.197917,14780800
+1997-03-25,1.223958,1.255208,1.125000,1.169271,1.169271,10316800
+1997-03-26,1.171875,1.250000,1.151042,1.234375,1.234375,10580800
+1997-03-27,1.250000,1.250000,1.177083,1.190104,1.190104,7811200
+1997-03-31,1.203125,1.203125,1.125000,1.171875,1.171875,5640000
+1997-04-01,1.161458,1.229167,1.156250,1.229167,1.229167,6278400
+1997-04-02,1.223958,1.250000,1.187500,1.247396,1.247396,7403200
+1997-04-03,1.250000,1.281250,1.169271,1.218750,1.218750,9009600
+1997-04-04,1.213542,1.348958,1.213542,1.317708,1.317708,17539200
+1997-04-07,1.364583,1.427083,1.322917,1.401042,1.401042,23224000
+1997-04-08,1.401042,1.406250,1.333333,1.385417,1.385417,10574400
+1997-04-09,1.442708,1.500000,1.432292,1.434896,1.434896,25516800
+1997-04-10,1.453125,1.458333,1.307292,1.361979,1.361979,34768000
+1997-04-11,1.312500,1.437500,1.286458,1.429688,1.429688,21049600
+1997-04-14,1.411458,1.432292,1.348958,1.369792,1.369792,10651200
+1997-04-15,1.375000,1.421875,1.291667,1.304688,1.304688,14208000
+1997-04-16,1.291667,1.348958,1.270833,1.304688,1.304688,16086400
+1997-04-17,1.312500,1.401042,1.302083,1.351563,1.351563,10315200
+1997-04-18,1.380208,1.390625,1.281250,1.291667,1.291667,10238400
+1997-04-21,1.270833,1.291667,1.114583,1.177083,1.177083,12880000
+1997-04-22,1.170571,1.171875,1.031250,1.143229,1.143229,27371200
+1997-04-23,1.156250,1.307292,1.151042,1.302083,1.302083,13531200
+1997-04-24,1.302083,1.307292,1.239583,1.270833,1.270833,17889600
+1997-04-25,1.276042,1.276042,1.260417,1.260417,1.260417,6452800
+1997-04-28,1.260417,1.369792,1.250000,1.307292,1.307292,12057600
+1997-04-29,1.317708,1.333333,1.281250,1.322917,1.322917,20836800
+1997-04-30,1.328125,1.442708,1.307292,1.421875,1.421875,23041600
+1997-05-01,1.437500,1.437500,1.359375,1.416667,1.416667,9956800
+1997-05-02,1.406250,1.479167,1.406250,1.458333,1.458333,13300800
+1997-05-05,1.479167,1.541667,1.458333,1.500000,1.500000,16374400
+1997-05-06,1.473958,1.479167,1.333333,1.372396,1.372396,19278400
+1997-05-07,1.359375,1.447917,1.354167,1.395833,1.395833,16603200
+1997-05-08,1.411458,1.479167,1.406250,1.421875,1.421875,7969600
+1997-05-09,1.432292,1.453125,1.403646,1.406250,1.406250,9508800
+1997-05-12,1.416667,1.416667,1.333333,1.364583,1.364583,9524800
+1997-05-13,1.364583,1.364583,1.244792,1.265625,1.265625,25048000
+1997-05-14,1.270833,1.322917,1.250000,1.260417,1.260417,14406400
+1997-05-15,1.260417,1.296875,1.255208,1.296875,1.296875,11044800
+1997-05-16,1.276042,1.348958,1.265625,1.328125,1.328125,12323200
+1997-05-19,1.322917,1.346354,1.307292,1.343750,1.343750,6510400
+1997-05-20,1.338542,1.354167,1.322917,1.351563,1.351563,6846400
+1997-05-21,1.348958,1.421875,1.338542,1.380208,1.380208,14593600
+1997-05-22,1.385417,1.385417,1.286458,1.304688,1.304688,5865600
+1997-05-23,1.302083,1.333333,1.296875,1.309896,1.309896,2622400
+1997-05-27,1.307292,1.348958,1.291667,1.320313,1.320313,2836800
+1997-05-28,1.317708,1.390625,1.302083,1.333333,1.333333,5318400
+1997-05-29,1.328125,1.354167,1.302083,1.328125,1.328125,5289600
+1997-05-30,1.312500,1.395833,1.286458,1.343750,1.343750,9692800
+1997-06-02,1.364583,1.395833,1.354167,1.380208,1.380208,3259200
+1997-06-03,1.380208,1.385417,1.330729,1.354167,1.354167,2300800
+1997-06-04,1.364583,1.375000,1.296875,1.312500,1.312500,2668800
+1997-06-05,1.338542,1.359375,1.333333,1.351563,1.351563,2003200
+1997-06-06,1.333333,1.375000,1.312500,1.333333,1.333333,6145600
+1997-06-09,1.333333,1.416667,1.333333,1.356771,1.356771,6096000
+1997-06-10,1.354167,1.380208,1.333333,1.348958,1.348958,5601600
+1997-06-11,1.348958,1.354167,1.286458,1.291667,1.291667,17387200
+1997-06-12,1.302083,1.338542,1.294271,1.333333,1.333333,5771200
+1997-06-13,1.333333,1.375000,1.333333,1.343750,1.343750,3307200
+1997-06-16,1.354167,1.468750,1.348958,1.445313,1.445313,15921600
+1997-06-17,1.447917,1.463542,1.411458,1.458333,1.458333,5377600
+1997-06-18,1.447917,1.473958,1.406250,1.421875,1.421875,8027200
+1997-06-19,1.437500,1.468750,1.406250,1.447917,1.447917,5457600
+1997-06-20,1.458333,1.640625,1.447917,1.635417,1.635417,22753600
+1997-06-23,1.588542,1.609375,1.494792,1.541667,1.541667,17841600
+1997-06-24,1.552083,1.578125,1.510417,1.549479,1.549479,6438400
+1997-06-25,1.565104,1.604167,1.541667,1.552083,1.552083,6720000
+1997-06-26,1.526042,1.531250,1.489583,1.510417,1.510417,5118400
+1997-06-27,1.505208,1.536458,1.427083,1.437500,1.437500,8419200
+1997-06-30,1.432292,1.479167,1.351563,1.468750,1.468750,14171200
+1997-07-01,1.458333,1.468750,1.406250,1.419271,1.419271,4000000
+1997-07-02,1.421875,1.437500,1.395833,1.406250,1.406250,5891200
+1997-07-03,1.432292,1.437500,1.395833,1.395833,1.395833,4416000
+1997-07-07,1.416667,1.572917,1.411458,1.572917,1.572917,14356800
+1997-07-08,1.572917,1.666667,1.567708,1.656250,1.656250,17337600
+1997-07-09,1.697917,1.880208,1.697917,1.833333,1.833333,37545600
+1997-07-10,1.890625,1.921875,1.739583,1.791667,1.791667,44035200
+1997-07-11,1.791667,1.880208,1.760417,1.833333,1.833333,15331200
+1997-07-14,1.833333,2.020833,1.828125,2.020833,2.020833,24980800
+1997-07-15,2.010417,2.114583,1.989583,2.104167,2.104167,33832000
+1997-07-16,2.135417,2.135417,2.041667,2.046875,2.046875,11449600
+1997-07-17,2.046875,2.046875,1.937500,1.953125,1.953125,12688000
+1997-07-18,1.932292,2.015625,1.869792,1.953125,1.953125,12059200
+1997-07-21,1.979167,2.083333,1.958333,2.067708,2.067708,11200000
+1997-07-22,2.072917,2.130208,2.010417,2.101563,2.101563,11822400
+1997-07-23,2.114583,2.114583,2.046875,2.046875,2.046875,7364800
+1997-07-24,2.041667,2.062500,1.947917,1.979167,1.979167,15115200
+1997-07-25,1.989583,2.005208,1.924479,1.994792,1.994792,9232000
+1997-07-28,2.010417,2.041667,1.979167,1.981771,1.981771,3806400
+1997-07-29,1.984375,2.010417,1.958333,2.010417,2.010417,4523200
+1997-07-30,2.072917,2.291667,2.067708,2.276042,2.276042,47521600
+1997-07-31,2.291667,2.354167,2.182292,2.354167,2.354167,33768000
+1997-08-01,2.333333,2.333333,2.223958,2.302083,2.302083,19910400
+1997-08-04,2.281250,2.281250,2.213542,2.223958,2.223958,12841600
+1997-08-05,2.239583,2.312500,2.218750,2.265625,2.265625,11304000
+1997-08-06,2.276042,2.333333,2.250000,2.291667,2.291667,7033600
+1997-08-07,2.312500,2.338542,2.239583,2.242188,2.242188,8430400
+1997-08-08,2.229167,2.276042,2.135417,2.250000,2.250000,13401600
+1997-08-11,2.250000,2.250000,2.156250,2.218750,2.218750,18528000
+1997-08-12,2.229167,2.260417,2.109375,2.122396,2.122396,10715200
+1997-08-13,2.125000,2.187500,2.067708,2.098958,2.098958,18326400
+1997-08-14,2.098958,2.125000,2.057292,2.065104,2.065104,5505600
+1997-08-15,2.062500,2.072917,2.020833,2.020833,2.020833,9004800
+1997-08-18,2.026042,2.187500,2.010417,2.182292,2.182292,18100800
+1997-08-19,2.192708,2.333333,2.187500,2.302083,2.302083,20222400
+1997-08-20,2.312500,2.406250,2.260417,2.390625,2.390625,21724800
+1997-08-21,2.395833,2.406250,2.302083,2.322917,2.322917,10432000
+1997-08-22,2.229167,2.338542,2.213542,2.320313,2.320313,12489600
+1997-08-25,2.333333,2.385417,2.328125,2.364583,2.364583,10302400
+1997-08-26,2.354167,2.364583,2.312500,2.328125,2.328125,6016000
+1997-08-27,2.328125,2.348958,2.281250,2.325521,2.325521,11371200
+1997-08-28,2.307292,2.403646,2.229167,2.338542,2.338542,24696000
+1997-08-29,2.354167,2.494792,2.343750,2.479167,2.479167,13696000
+1997-09-02,2.515625,2.546875,2.445313,2.492188,2.492188,10619200
+1997-09-03,2.523438,2.617188,2.492188,2.539063,2.539063,11555200
+1997-09-04,2.578125,2.648438,2.539063,2.609375,2.609375,9294400
+1997-09-05,2.640625,2.859375,2.625000,2.835938,2.835938,16643200
+1997-09-08,2.921875,3.070313,2.921875,2.949219,2.949219,21164800
+1997-09-09,3.007813,3.148438,3.000000,3.148438,3.148438,17556800
+1997-09-10,3.230469,3.375000,3.148438,3.332031,3.332031,23131200
+1997-09-11,3.312500,3.546875,3.281250,3.460938,3.460938,33902400
+1997-09-12,3.539063,3.625000,3.296875,3.371094,3.371094,22862400
+1997-09-15,3.312500,3.359375,3.000000,3.011719,3.011719,31624000
+1997-09-16,3.015625,3.195313,2.828125,3.195313,3.195313,37563200
+1997-09-17,3.218750,3.242188,2.960938,3.054688,3.054688,20712000
+1997-09-18,3.070313,3.140625,3.023438,3.109375,3.109375,12360000
+1997-09-19,3.093750,3.289063,3.078125,3.210938,3.210938,24308800
+1997-09-22,3.257813,3.460938,3.250000,3.351563,3.351563,17758400
+1997-09-23,3.382813,3.437500,3.132813,3.167969,3.167969,14896000
+1997-09-24,3.195313,3.320313,3.179688,3.218750,3.218750,12670400
+1997-09-25,3.234375,3.250000,3.046875,3.128906,3.128906,14795200
+1997-09-26,3.156250,3.234375,3.125000,3.140625,3.140625,10222400
+1997-09-29,3.156250,3.187500,3.085938,3.167969,3.167969,6649600
+1997-09-30,3.164063,3.164063,3.109375,3.132813,3.132813,3744000
+1997-10-01,3.140625,3.226563,3.132813,3.195313,3.195313,14475200
+1997-10-02,3.195313,3.437500,3.132813,3.437500,3.437500,22676800
+1997-10-03,3.437500,3.515625,3.359375,3.453125,3.453125,19518400
+1997-10-06,3.453125,3.664063,3.453125,3.640625,3.640625,15339200
+1997-10-07,3.609375,3.632813,3.445313,3.484375,3.484375,15825600
+1997-10-08,3.578125,3.625000,3.500000,3.546875,3.546875,32020800
+1997-10-09,3.468750,3.523438,3.421875,3.468750,3.468750,33960000
+1997-10-10,3.375000,3.468750,3.296875,3.300781,3.300781,18844800
+1997-10-13,3.320313,3.328125,3.140625,3.195313,3.195313,18051200
+1997-10-14,3.226563,3.289063,3.093750,3.187500,3.187500,14172800
+1997-10-15,3.171875,3.234375,3.140625,3.218750,3.218750,11564800
+1997-10-16,3.234375,3.320313,3.015625,3.039063,3.039063,21169600
+1997-10-17,3.015625,3.062500,2.843750,3.031250,3.031250,24849600
+1997-10-20,3.046875,3.078125,2.929688,3.054688,3.054688,20217600
+1997-10-21,3.109375,3.210938,3.101563,3.195313,3.195313,13385600
+1997-10-22,3.273438,3.335938,3.164063,3.308594,3.308594,14001600
+1997-10-23,3.171875,3.234375,3.078125,3.160156,3.160156,15209600
+1997-10-24,3.234375,3.234375,2.906250,2.972656,2.972656,15764800
+1997-10-27,2.937500,2.937500,2.375000,2.375000,2.375000,35051200
+1997-10-28,2.132813,2.921875,2.132813,2.695313,2.695313,51822400
+1997-10-29,2.781250,2.890625,2.523438,2.578125,2.578125,30163200
+1997-10-30,2.460938,2.703125,2.453125,2.605469,2.605469,17641600
+1997-10-31,2.695313,2.765625,2.656250,2.740231,2.740231,14144000
+1997-11-03,2.812500,2.906250,2.796875,2.880856,2.880856,13121600
+1997-11-04,2.851563,3.210938,2.781250,3.187500,3.187500,25473600
+1997-11-05,3.179688,3.406250,3.179688,3.351563,3.351563,39339200
+1997-11-06,3.312500,3.484375,3.265625,3.296875,3.296875,29057600
+1997-11-07,3.062500,3.234375,3.046875,3.093750,3.093750,23028800
+1997-11-10,3.101563,3.187500,3.000000,3.039063,3.039063,13699200
+1997-11-11,3.070313,3.093750,2.843750,2.875000,2.875000,20819200
+1997-11-12,2.796875,2.960938,2.679688,2.718750,2.718750,25264000
+1997-11-13,2.820313,2.906250,2.625000,2.855469,2.855469,29244800
+1997-11-14,2.875000,3.070313,2.875000,2.992188,2.992188,24700800
+1997-11-17,3.117188,3.296875,3.101563,3.250000,3.250000,25088000
+1997-11-18,3.226563,3.390625,3.210938,3.234375,3.234375,22524800
+1997-11-19,3.179688,3.226563,3.097656,3.164063,3.164063,13123200
+1997-11-20,3.203125,3.382813,3.179688,3.351563,3.351563,24377600
+1997-11-21,3.382813,3.406250,3.226563,3.304688,3.304688,12600000
+1997-11-24,3.281250,3.281250,3.007813,3.031250,3.031250,20104000
+1997-11-25,3.140625,3.234375,3.000000,3.175781,3.175781,29675200
+1997-11-26,3.234375,3.265625,3.140625,3.179688,3.179688,8777600
+1997-11-28,3.195313,3.218750,3.171875,3.195313,3.195313,2153600
+1997-12-01,3.218750,3.398438,3.203125,3.375000,3.375000,16558400
+1997-12-02,3.359375,3.429688,3.250000,3.312500,3.312500,15512000
+1997-12-03,3.281250,3.390625,3.242188,3.367188,3.367188,9440000
+1997-12-04,3.398438,3.437500,3.335938,3.363281,3.363281,10012800
+1997-12-05,3.347656,3.523438,3.289063,3.515625,3.515625,25928000
+1997-12-08,3.531250,3.734375,3.476563,3.726563,3.726563,30825600
+1997-12-09,3.679688,3.812500,3.625000,3.707031,3.707031,27473600
+1997-12-10,3.656250,3.710938,3.562500,3.679688,3.679688,14763200
+1997-12-11,3.562500,3.679688,3.523438,3.664063,3.664063,17451200
+1997-12-12,3.671875,3.750000,3.562500,3.718750,3.718750,14584000
+1997-12-15,3.750000,3.765625,3.531250,3.625000,3.625000,14430400
+1997-12-16,3.617188,3.781250,3.570313,3.769531,3.769531,13553600
+1997-12-17,3.781250,3.843750,3.718750,3.722656,3.722656,10875200
+1997-12-18,3.718750,3.718750,3.578125,3.632813,3.632813,12747200
+1997-12-19,3.593750,3.937500,3.515625,3.867188,3.867188,29721600
+1997-12-22,3.867188,4.085938,3.867188,4.027344,4.027344,23824000
+1997-12-23,4.000000,4.242188,3.976563,4.070313,4.070313,22833600
+1997-12-24,4.074219,4.125000,4.031250,4.031250,4.031250,6185600
+1997-12-26,4.019531,4.148438,4.015625,4.132813,4.132813,9587200
+1997-12-29,4.187500,4.312500,4.148438,4.308594,4.308594,15100800
+1997-12-30,4.304688,4.437500,4.250000,4.437500,4.437500,16508800
+1997-12-31,4.414063,4.429688,4.320313,4.328125,4.328125,15467200
+1998-01-02,4.328125,4.343750,4.062500,4.140625,4.140625,17828800
+1998-01-05,4.023438,4.085938,3.914063,3.933594,3.933594,26601600
+1998-01-06,3.859375,4.070313,3.828125,4.000000,4.000000,28688000
+1998-01-07,3.921875,4.054688,3.921875,3.988281,3.988281,15758400
+1998-01-08,4.000000,4.123044,3.921875,4.015625,4.015625,21748800
+1998-01-09,4.031250,4.078125,3.796875,3.867188,3.867188,30296000
+1998-01-12,3.750000,4.007813,3.687500,3.906250,3.906250,38262400
+1998-01-13,4.046875,4.265625,4.035156,4.111325,4.111325,52755200
+1998-01-14,4.171875,4.242188,4.125000,4.187500,4.187500,26678400
+1998-01-15,4.078125,4.171875,4.000000,4.083981,4.083981,27916800
+1998-01-16,4.125000,4.218750,4.062500,4.078125,4.078125,18288000
+1998-01-20,4.078125,4.078125,3.937500,4.031250,4.031250,35096000
+1998-01-21,4.007813,4.031250,3.929688,3.992188,3.992188,18336000
+1998-01-22,3.960938,4.000000,3.890625,3.894531,3.894531,11137600
+1998-01-23,3.921875,3.933594,3.820313,3.859375,3.859375,10700800
+1998-01-26,3.898438,3.906250,3.718750,3.742188,3.742188,10534400
+1998-01-27,3.765625,3.828125,3.750000,3.753906,3.753906,15113600
+1998-01-28,3.789063,3.789063,3.613281,3.628906,3.628906,29641600
+1998-01-29,3.625000,3.890625,3.601563,3.867188,3.867188,33180800
+1998-01-30,3.937500,4.031250,3.828125,3.960938,3.960938,32681600
+1998-02-02,4.015625,4.132813,3.992188,4.125000,4.125000,24558400
+1998-02-03,4.109375,4.132813,3.992188,4.052731,4.052731,33953600
+1998-02-04,4.039063,4.039063,3.949219,3.980469,3.980469,13721600
+1998-02-05,4.023438,4.054688,3.851563,3.890625,3.890625,18446400
+1998-02-06,3.882813,4.039063,3.851563,4.015625,4.015625,14387200
+1998-02-09,4.046875,4.078125,3.937500,3.993162,3.993162,16547200
+1998-02-10,4.000000,4.093750,3.937500,4.039063,4.039063,20785600
+1998-02-11,4.039063,4.109375,4.000000,4.068356,4.068356,11950400
+1998-02-12,4.015625,4.078125,3.984375,4.070313,4.070313,9059200
+1998-02-13,4.046875,4.171875,4.023438,4.046875,4.046875,13256000
+1998-02-17,4.031250,4.062500,3.968750,4.015625,4.015625,11427200
+1998-02-18,4.015625,4.046875,3.914063,3.968750,3.968750,11323200
+1998-02-19,3.968750,4.101563,3.953125,4.001950,4.001950,13486400
+1998-02-20,4.031250,4.046875,3.851563,4.007813,4.007813,12539200
+1998-02-23,4.023438,4.039063,3.933594,3.955075,3.955075,11187200
+1998-02-24,3.992188,3.992188,3.820313,3.845700,3.845700,14260800
+1998-02-25,3.867188,3.890625,3.804688,3.857419,3.857419,20102400
+1998-02-26,3.875000,4.281250,3.859375,4.257813,4.257813,39760000
+1998-02-27,4.265625,4.640625,4.234375,4.574219,4.574219,99968000
+1998-03-02,4.671875,4.683594,4.484375,4.574219,4.574219,32520000
+1998-03-03,4.500000,4.625000,4.421875,4.558594,4.558594,22182400
+1998-03-04,4.484375,4.531250,4.421875,4.476563,4.476563,22900800
+1998-03-05,4.343750,4.726563,4.296875,4.707031,4.707031,53112000
+1998-03-06,4.796875,5.109375,4.734375,5.035156,5.035156,52110400
+1998-03-09,5.109375,5.531250,5.101563,5.488281,5.488281,66227200
+1998-03-10,5.656250,5.773438,5.269531,5.468750,5.468750,105219200
+1998-03-11,5.335938,5.421875,5.187500,5.265625,5.265625,66195200
+1998-03-12,5.242188,5.312500,5.078125,5.125000,5.125000,69780800
+1998-03-13,5.140625,5.312500,5.093750,5.210938,5.210938,31441600
+1998-03-16,5.343750,5.406250,5.281250,5.312500,5.312500,24947200
+1998-03-17,5.320313,5.328125,5.164063,5.240231,5.240231,14350400
+1998-03-18,5.156250,5.429688,5.101563,5.392575,5.392575,41563200
+1998-03-19,5.359375,5.464844,5.242188,5.242188,5.242188,33745600
+1998-03-20,5.273438,5.308594,5.171875,5.197262,5.197262,18041600
+1998-03-23,5.156250,5.238281,5.148438,5.187500,5.187500,10816000
+1998-03-24,5.171875,5.437500,5.171875,5.425781,5.425781,28342400
+1998-03-25,5.507813,5.621094,5.460938,5.515625,5.515625,38163200
+1998-03-26,5.507813,5.656250,5.458981,5.558594,5.558594,27820800
+1998-03-27,5.636719,5.761719,5.546875,5.664063,5.664063,28928000
+1998-03-30,5.726563,5.890625,5.695313,5.816406,5.816406,30766400
+1998-03-31,5.875000,5.882813,5.734375,5.777344,5.777344,19136000
+1998-04-01,5.777344,6.113281,5.679688,6.113281,6.113281,39004800
+1998-04-02,6.187500,6.535156,6.156250,6.492188,6.492188,64988800
+1998-04-03,6.566406,6.609375,6.312500,6.402344,6.402344,58545600
+1998-04-06,6.484375,6.484375,6.156250,6.191406,6.191406,47131200
+1998-04-07,6.156250,6.156250,5.734375,5.828125,5.828125,81860800
+1998-04-08,5.875000,6.171875,5.867188,6.078125,6.078125,93374400
+1998-04-09,6.734375,7.171875,6.625000,7.156250,7.156250,176787200
+1998-04-13,7.031250,7.289063,6.800781,7.062500,7.062500,114054400
+1998-04-14,7.046875,7.390625,6.976563,7.179688,7.179688,77942400
+1998-04-15,7.296875,7.414063,7.238281,7.386719,7.386719,40574400
+1998-04-16,7.437500,8.101563,7.312500,8.024412,8.024412,146963200
+1998-04-17,7.726563,7.843750,7.507813,7.593750,7.593750,93952000
+1998-04-20,7.640625,8.054688,7.539063,7.859375,7.859375,67028800
+1998-04-21,7.921875,8.062500,7.625000,7.705075,7.705075,51115200
+1998-04-22,7.765625,7.789063,7.320313,7.398438,7.398438,57531200
+1998-04-23,7.226563,7.250000,6.941406,7.011719,7.011719,82996800
+1998-04-24,7.117188,7.359375,6.945313,7.171875,7.171875,78507200
+1998-04-27,6.976563,7.046875,6.832031,7.007813,7.007813,67828800
+1998-04-28,7.324219,7.460938,7.203125,7.406250,7.406250,75300800
+1998-04-29,7.375000,7.468750,7.285156,7.390625,7.390625,38995200
+1998-04-30,7.515625,7.601563,7.375000,7.433594,7.433594,35766400
+1998-05-01,7.460938,7.460938,7.296875,7.414063,7.414063,20518400
+1998-05-04,7.503906,7.625000,7.453125,7.554688,7.554688,15729600
+1998-05-05,7.398438,7.523438,7.281250,7.296875,7.296875,23513600
+1998-05-06,7.320313,7.328125,7.140625,7.191406,7.191406,22596800
+1998-05-07,7.187500,7.398438,7.156250,7.199219,7.199219,26564800
+1998-05-08,7.171875,7.359375,7.105469,7.359375,7.359375,26433600
+1998-05-11,7.414063,7.429688,7.125000,7.136719,7.136719,27179200
+1998-05-12,7.093750,7.281250,7.035156,7.230469,7.230469,33731200
+1998-05-13,7.250000,7.753906,7.203125,7.750000,7.750000,60171200
+1998-05-14,7.691406,7.898438,7.515625,7.515625,7.515625,57985600
+1998-05-15,7.625000,7.687500,7.359375,7.378906,7.378906,25552000
+1998-05-18,7.429688,7.464844,7.136719,7.285156,7.285156,33620800
+1998-05-19,7.359375,7.484375,7.296875,7.384762,7.384762,23678400
+1998-05-20,7.460938,7.460938,7.234375,7.304688,7.304688,15969600
+1998-05-21,7.406250,7.406250,7.234375,7.312500,7.312500,18348800
+1998-05-22,7.273438,7.296875,7.062500,7.148438,7.148438,15713600
+1998-05-26,7.195313,7.218750,6.757813,6.765625,6.765625,46486400
+1998-05-27,6.656250,7.203125,6.648438,7.195313,7.195313,103491200
+1998-05-28,7.132813,7.187500,6.867188,6.875000,6.875000,47590400
+1998-05-29,6.906250,7.000000,6.792969,6.843750,6.843750,36216000
+1998-06-01,6.765625,6.828125,6.343750,6.523438,6.523438,72801600
+1998-06-02,6.562500,6.609375,6.195313,6.550781,6.550781,114208000
+1998-06-03,6.609375,6.609375,6.351563,6.375000,6.375000,71544000
+1998-06-04,6.375000,6.507813,6.281250,6.414063,6.414063,49841600
+1998-06-05,6.406250,6.625000,6.343750,6.562500,6.562500,37105600
+1998-06-08,6.562500,6.843750,6.554688,6.835938,6.835938,33300800
+1998-06-09,6.941406,7.406250,6.859375,7.367188,7.367188,95710400
+1998-06-10,7.312500,7.453125,7.148438,7.152344,7.152344,69064000
+1998-06-11,7.195313,7.296875,7.089844,7.203125,7.203125,51329600
+1998-06-12,7.250000,7.250000,6.937500,7.113281,7.113281,48417600
+1998-06-15,6.992188,7.273438,6.968750,7.203125,7.203125,53963200
+1998-06-16,7.273438,7.648438,7.156250,7.621094,7.621094,63780800
+1998-06-17,7.789063,8.226563,7.765625,8.164063,8.164063,130657600
+1998-06-18,8.296875,8.523438,7.976563,7.984375,7.984375,81768000
+1998-06-19,7.945313,8.156250,7.796875,8.078125,8.078125,59110400
+1998-06-22,8.062500,8.773438,8.031250,8.722656,8.722656,81326400
+1998-06-23,8.703125,9.398438,8.625000,9.253906,9.253906,122494400
+1998-06-24,9.308594,9.500000,8.937500,9.296875,9.296875,96169600
+1998-06-25,9.281250,9.765625,9.187500,9.515625,9.515625,99208000
+1998-06-26,9.421875,9.601563,9.156250,9.292969,9.292969,67873600
+1998-06-29,9.343750,9.671875,9.335938,9.652344,9.652344,51121600
+1998-06-30,9.671875,9.984375,9.601563,9.843750,9.843750,63260800
+1998-07-01,10.007813,10.625000,10.000000,10.617188,10.617188,73984000
+1998-07-02,10.843750,11.218750,10.375000,10.804688,10.804688,119217600
+1998-07-06,11.179688,12.500000,11.058594,12.453125,12.453125,216720000
+1998-07-07,12.921875,12.968750,11.875000,11.937500,11.937500,198368000
+1998-07-08,11.562500,12.406250,10.937500,11.636719,11.636719,224849600
+1998-07-09,12.484375,12.750000,11.500000,11.500000,11.500000,207491200
+1998-07-10,11.335938,11.632813,11.101563,11.406250,11.406250,112896000
+1998-07-13,11.101563,11.789063,11.062500,11.773438,11.773438,85763200
+1998-07-14,11.796875,11.960938,11.500000,11.656250,11.656250,59248000
+1998-07-15,11.710938,11.710938,11.320313,11.359375,11.359375,36636800
+1998-07-16,11.398438,11.718750,11.226563,11.667969,11.667969,51748800
+1998-07-17,11.609375,11.835938,11.414063,11.609375,11.609375,46369600
+1998-07-20,11.656250,12.328125,11.546875,12.269531,12.269531,63902400
+1998-07-21,12.289063,12.964844,11.714844,11.812500,11.812500,115219200
+1998-07-22,11.875000,12.289063,11.781250,12.109375,12.109375,68036800
+1998-07-23,12.132813,12.421875,11.796875,11.835938,11.835938,43572800
+1998-07-24,11.968750,12.062500,11.101563,11.382813,11.382813,87747200
+1998-07-27,11.171875,11.843750,10.875000,11.824219,11.824219,83516800
+1998-07-28,11.781250,11.906250,11.390625,11.453125,11.453125,61753600
+1998-07-29,11.609375,11.664063,10.828125,10.847656,10.847656,66641600
+1998-07-30,11.085938,11.585938,10.656250,11.417969,11.417969,96512000
+1998-07-31,11.484375,11.562500,11.156250,11.371094,11.371094,63755200
+1998-08-03,11.250000,11.312500,10.765625,10.804688,10.804688,34780000
+1998-08-04,11.078125,11.218750,10.625000,10.640625,10.640625,42092800
+1998-08-05,10.734375,10.968750,9.875000,10.484375,10.484375,54120000
+1998-08-06,10.250000,11.046875,10.148438,10.921875,10.921875,36946400
+1998-08-07,11.078125,11.656250,10.914063,11.453125,11.453125,51663200
+1998-08-10,11.500000,11.750000,11.093750,11.750000,11.750000,34913600
+1998-08-11,11.210938,11.781250,11.046875,11.421875,11.421875,50840800
+1998-08-12,11.687500,12.039063,11.625000,11.921875,11.921875,42176000
+1998-08-13,11.890625,12.093750,11.578125,11.593750,11.593750,26801600
+1998-08-14,11.750000,11.796875,11.250000,11.468750,11.468750,25372000
+1998-08-17,11.359375,11.562500,11.250000,11.500000,11.500000,20256800
+1998-08-18,11.609375,12.250000,11.578125,12.156250,12.156250,42212800
+1998-08-19,12.359375,12.500000,11.859375,11.906250,11.906250,33248000
+1998-08-20,11.921875,12.234375,11.843750,12.187500,12.187500,23878400
+1998-08-21,12.015625,12.171875,11.656250,11.921875,11.921875,30939200
+1998-08-24,12.000000,12.250000,11.953125,12.210938,12.210938,21888000
+1998-08-25,12.367188,12.406250,11.968750,12.187500,12.187500,19356800
+1998-08-26,11.968750,12.117188,11.765625,12.109375,12.109375,22042400
+1998-08-27,11.812500,11.875000,11.343750,11.382813,11.382813,39107200
+1998-08-28,11.359375,11.546875,10.218750,10.382813,10.382813,62074400
+1998-08-31,10.375000,10.515625,8.312500,8.625000,8.625000,77024800
+1998-09-01,8.265625,9.562500,7.375000,9.031250,9.031250,96534400
+1998-09-02,9.625000,10.492188,9.328125,9.718750,9.718750,78278400
+1998-09-03,9.250000,9.734375,8.937500,9.398438,9.398438,63705600
+1998-09-04,9.617188,9.765625,9.062500,9.421875,9.421875,33694400
+1998-09-08,10.359375,10.625000,9.890625,10.578125,10.578125,54988000
+1998-09-09,10.453125,10.726563,9.968750,10.000000,10.000000,38174400
+1998-09-10,9.593750,10.062500,9.125000,9.984375,9.984375,61207200
+1998-09-11,10.062500,10.234375,9.593750,9.984375,9.984375,45369600
+1998-09-14,10.281250,10.609375,10.203125,10.484375,10.484375,35400800
+1998-09-15,10.328125,10.562500,10.250000,10.546875,10.546875,33928800
+1998-09-16,10.726563,11.718750,10.625000,11.671875,11.671875,97708000
+1998-09-17,11.171875,11.718750,11.164063,11.257813,11.257813,103429600
+1998-09-18,11.250000,11.546875,11.234375,11.304688,11.304688,40134400
+1998-09-21,10.906250,12.125000,10.851563,12.039063,12.039063,61918400
+1998-09-22,12.281250,13.125000,12.250000,12.867188,12.867188,88165600
+1998-09-23,13.093750,14.750000,13.062500,14.734375,14.734375,121677600
+1998-09-24,14.843750,15.671875,14.093750,14.406250,14.406250,119551200
+1998-09-25,14.000000,15.156250,13.906250,15.125000,15.125000,80061600
+1998-09-28,15.750000,16.187500,15.226563,15.992188,15.992188,85004800
+1998-09-29,16.093750,16.828125,15.593750,16.437500,16.437500,87640800
+1998-09-30,16.121088,16.523438,15.593750,16.187500,16.187500,83716800
+1998-10-01,15.421875,15.796875,14.085938,14.117188,14.117188,122895200
+1998-10-02,14.445313,15.937500,14.218750,15.875000,15.875000,135588000
+1998-10-05,15.765625,16.195313,14.632813,15.726563,15.726563,130274400
+1998-10-06,16.390625,16.515625,15.218750,15.601563,15.601563,123448000
+1998-10-07,15.335938,15.375000,13.812500,14.296875,14.296875,137588800
+1998-10-08,13.015625,13.562500,12.187500,13.101563,13.101563,172985600
+1998-10-09,13.484375,13.750000,12.750000,13.203125,13.203125,74280000
+1998-10-12,13.812500,14.750000,13.585938,14.304688,14.304688,103243200
+1998-10-13,14.179688,14.296875,13.703125,13.742188,13.742188,51824000
+1998-10-14,13.562500,14.562500,13.562500,13.984375,13.984375,59580000
+1998-10-15,14.109375,15.015625,13.781250,14.921875,14.921875,71287200
+1998-10-16,15.015625,15.250000,14.390625,14.453125,14.453125,54677600
+1998-10-19,14.328125,14.906250,14.187500,14.687500,14.687500,42296000
+1998-10-20,15.031250,15.140625,14.421875,14.437500,14.437500,48166400
+1998-10-21,14.703125,14.984375,14.457025,14.968750,14.968750,35041600
+1998-10-22,14.867188,15.531250,14.656250,15.265625,15.265625,60401600
+1998-10-23,15.210938,15.500000,15.062500,15.265625,15.265625,28093600
+1998-10-26,15.406250,16.000000,15.406250,15.992188,15.992188,40869600
+1998-10-27,16.312500,16.515625,15.437500,15.468750,15.468750,47267200
+1998-10-28,15.453125,16.000000,15.125000,15.843750,15.843750,42363200
+1998-10-29,16.031250,16.406250,15.750000,16.398438,16.398438,41452000
+1998-10-30,16.234375,16.640625,16.156250,16.355463,16.355463,39603200
+1998-11-02,16.632813,18.218750,16.468750,18.179688,18.179688,82252800
+1998-11-03,18.093750,18.625000,17.632813,17.765625,17.765625,88573600
+1998-11-04,18.453125,18.937500,18.187500,18.921875,18.921875,75329600
+1998-11-05,18.726563,19.257813,18.726563,18.960938,18.960938,82464800
+1998-11-06,18.992188,19.289063,18.875000,19.195313,19.195313,39160800
+1998-11-09,19.250000,20.671875,19.234375,20.593750,20.593750,73947200
+1998-11-10,21.062500,23.203125,21.046875,22.070313,22.070313,104089600
+1998-11-11,22.187500,22.734375,20.500000,20.625000,20.625000,96396800
+1998-11-12,20.437500,21.921875,20.406250,21.656250,21.656250,76820000
+1998-11-13,22.109375,22.210938,20.562500,21.000000,21.000000,59292800
+1998-11-16,21.718750,21.875000,20.968750,21.656250,21.656250,47338400
+1998-11-17,21.460938,22.687500,21.031250,22.093750,22.093750,65894400
+1998-11-18,22.421875,23.781250,22.304688,23.765625,23.765625,80068000
+1998-11-19,24.242188,24.796875,23.062500,23.234375,23.234375,83217600
+1998-11-20,24.125000,24.140625,22.687500,23.875000,23.875000,74551200
+1998-11-23,24.609375,27.750000,23.875000,27.679688,27.679688,92021600
+1998-11-24,27.000000,28.468750,25.375000,26.281250,26.281250,132245600
+1998-11-25,26.343750,27.000000,25.406250,26.234375,26.234375,56652000
+1998-11-27,26.601563,27.156250,26.468750,27.117188,27.117188,16614400
+1998-11-30,27.203125,27.203125,23.937500,24.000000,24.000000,56202400
+1998-12-01,22.984375,25.921875,22.750000,25.781250,25.781250,98687200
+1998-12-02,25.601563,25.796875,24.375000,24.632813,24.632813,63236800
+1998-12-03,24.718750,25.343750,22.828125,22.968750,22.968750,67581600
+1998-12-04,23.914063,24.109375,22.500000,23.718750,23.718750,73370400
+1998-12-07,24.062500,24.250000,23.328125,23.820313,23.820313,30444000
+1998-12-08,23.687500,25.000000,23.421875,24.812500,24.812500,50747200
+1998-12-09,25.000000,25.812500,24.257813,24.734375,24.734375,63276000
+1998-12-10,24.804688,25.250000,23.578125,24.093750,24.093750,47940800
+1998-12-11,23.890625,24.718750,23.843750,24.460938,24.460938,42621600
+1998-12-14,24.046875,24.609375,23.695313,23.906250,23.906250,40104000
+1998-12-15,24.312500,24.796875,24.187500,24.750000,24.750000,32498400
+1998-12-16,25.515625,26.312500,25.156250,25.640625,25.640625,55996800
+1998-12-17,25.015625,26.687500,24.937500,25.687500,25.687500,54028800
+1998-12-18,26.453125,26.890625,25.906250,26.539063,26.539063,37685600
+1998-12-21,27.625000,31.359375,27.250000,30.937500,30.937500,68780000
+1998-12-22,31.562500,31.734375,29.125000,30.625000,30.625000,63622400
+1998-12-23,31.406250,31.671875,30.687500,31.250000,31.250000,29891200
+1998-12-24,30.765625,31.375000,30.500000,30.890625,30.890625,9348800
+1998-12-28,31.687500,35.750000,31.250000,34.437500,34.437500,60430400
+1998-12-29,34.421875,34.421875,32.921875,33.750000,33.750000,41398400
+1998-12-30,33.250000,33.921875,30.125000,30.578125,30.578125,59023200
+1998-12-31,30.234375,31.875000,29.000000,29.617188,29.617188,37516800
+1999-01-04,30.250000,31.500000,30.000000,31.000000,31.000000,33860000
+1999-01-05,30.320313,32.625000,29.960938,32.234375,32.234375,43924800
+1999-01-06,33.500000,37.375000,33.375000,36.375000,36.375000,71474400
+1999-01-07,35.500000,40.718750,35.375000,40.000000,40.000000,77141600
+1999-01-08,43.250000,44.671875,41.250000,42.953125,42.953125,61498400
+1999-01-11,45.992188,55.625000,45.437500,51.921875,51.921875,80186400
+1999-01-12,54.828125,55.375000,46.250000,50.250000,50.250000,104092000
+1999-01-13,49.890625,50.750000,41.500000,46.000000,46.000000,97093600
+1999-01-14,46.484375,48.250000,42.875000,42.992188,42.992188,56675200
+1999-01-15,43.117188,44.312500,38.000000,39.625000,39.625000,83922400
+1999-01-19,42.484375,43.125000,39.742188,40.375000,40.375000,34664800
+1999-01-20,40.804688,41.343750,35.625000,35.898438,35.898438,43305600
+1999-01-21,34.257813,35.000000,31.171875,33.125000,33.125000,89164000
+1999-01-22,31.625000,36.375000,31.625000,35.750000,35.750000,73045600
+1999-01-25,37.093750,39.125000,35.625000,39.000000,39.000000,49068800
+1999-01-26,39.937500,44.015625,39.875000,43.906250,43.906250,66213600
+1999-01-27,46.546875,47.648438,41.250000,41.984375,41.984375,54030400
+1999-01-28,43.609375,46.125000,41.875000,45.968750,45.968750,52440000
+1999-01-29,45.000000,45.625000,43.125000,44.281250,44.281250,33787200
+1999-02-01,44.625000,44.875000,41.625000,41.945313,41.945313,39826400
+1999-02-02,41.968750,42.250000,38.578125,40.367188,40.367188,49295200
+1999-02-03,40.390625,45.000000,40.390625,44.757813,44.757813,45029600
+1999-02-04,44.562500,44.875000,41.875000,42.125000,42.125000,48534400
+1999-02-05,43.015625,44.125000,41.875000,43.187500,43.187500,49096000
+1999-02-08,43.187500,43.375000,38.656250,39.656250,39.656250,38321600
+1999-02-09,39.343750,39.468750,34.750000,35.187500,35.187500,41688400
+1999-02-10,34.875000,37.156250,32.234375,35.593750,35.593750,47980400
+1999-02-11,37.250000,39.750000,36.375000,39.625000,39.625000,32700800
+1999-02-12,38.640625,38.750000,37.000000,37.750000,37.750000,24872000
+1999-02-16,38.125000,39.000000,32.984375,33.343750,33.343750,58302000
+1999-02-17,33.625000,34.812500,31.375000,32.406250,32.406250,38656400
+1999-02-18,33.500000,33.625000,31.000000,32.218750,32.218750,35252000
+1999-02-19,33.390625,34.359375,32.500000,33.828125,33.828125,33774000
+1999-02-22,34.250000,37.500000,32.968750,36.437500,36.437500,33567600
+1999-02-23,37.125000,39.312500,37.000000,38.218750,38.218750,45360800
+1999-02-24,39.125000,40.125000,37.375000,37.546875,37.546875,35772800
+1999-02-25,37.390625,38.875000,36.125000,38.843750,38.843750,32932400
+1999-02-26,38.875000,39.593750,37.500000,38.375000,38.375000,29360000
+1999-03-01,38.390625,41.250000,37.281250,40.031250,40.031250,39223200
+1999-03-02,40.343750,41.250000,38.218750,38.296875,38.296875,29651200
+1999-03-03,38.718750,39.343750,37.156250,38.359375,38.359375,25215200
+1999-03-04,39.187500,39.500000,36.531250,37.875000,37.875000,23268000
+1999-03-05,39.593750,40.500000,39.000000,39.953125,39.953125,32062800
+1999-03-08,40.589825,43.296875,40.000000,42.609375,42.609375,36341600
+1999-03-09,42.703125,43.250000,40.937500,41.828125,41.828125,25655600
+1999-03-10,43.250000,43.625000,42.250000,43.406250,43.406250,22300000
+1999-03-11,44.468750,45.843750,44.015625,44.750000,44.750000,34746000
+1999-03-12,44.687500,44.781250,42.750000,44.000000,44.000000,18828400
+1999-03-15,44.250000,44.921875,43.187500,44.859375,44.859375,13907200
+1999-03-16,45.078125,45.125000,43.687500,43.718750,43.718750,12136000
+1999-03-17,43.531250,43.562500,42.500000,43.031250,43.031250,11562800
+1999-03-18,42.515625,44.000000,42.468750,43.828125,43.828125,13022800
+1999-03-19,44.187500,44.562500,42.437500,42.500000,42.500000,13999600
+1999-03-22,42.718750,44.500000,41.156250,41.250000,41.250000,16258800
+1999-03-23,40.500000,41.000000,38.796875,38.875000,38.875000,20626000
+1999-03-24,38.093750,40.125000,36.781250,40.125000,40.125000,22805600
+1999-03-25,41.984375,44.812500,41.250000,44.750000,44.750000,32558000
+1999-03-26,43.593750,44.312500,42.500000,42.843750,42.843750,23164800
+1999-03-29,44.250000,44.687500,42.937500,44.000000,44.000000,15764000
+1999-03-30,43.843750,46.468750,43.031250,43.078125,43.078125,38020000
+1999-03-31,44.000000,45.375000,42.000000,42.093750,42.093750,32183600
+1999-04-01,44.750000,45.250000,42.000000,44.937500,44.937500,40504800
+1999-04-05,46.562500,55.250000,46.250000,54.781250,54.781250,82058000
+1999-04-06,55.000000,61.000000,52.500000,53.718750,53.718750,100101200
+1999-04-07,57.250000,57.750000,50.750000,52.109375,52.109375,69661600
+1999-04-08,54.250000,54.250000,49.234375,51.671875,51.671875,56466800
+1999-04-09,51.171875,52.750000,50.500000,51.750000,51.750000,24151600
+1999-04-12,48.281250,51.515625,48.218750,50.734375,50.734375,39976800
+1999-04-13,51.187500,54.093750,50.500000,50.750000,50.750000,29236400
+1999-04-14,51.062500,52.000000,47.375000,47.750000,47.750000,25956800
+1999-04-15,47.437500,50.015625,43.000000,48.656250,48.656250,45416800
+1999-04-16,48.875000,49.250000,46.265625,47.296875,47.296875,23426400
+1999-04-19,47.218750,47.750000,40.312500,40.921875,40.921875,42021200
+1999-04-20,40.312500,43.500000,38.750000,42.750000,42.750000,42084400
+1999-04-21,43.656250,45.000000,42.500000,43.718750,43.718750,24596400
+1999-04-22,45.671875,46.250000,43.859375,46.000000,46.000000,25307200
+1999-04-23,45.843750,48.031250,45.125000,46.921875,46.921875,19913600
+1999-04-26,47.281250,48.625000,46.812500,48.062500,48.062500,13915600
+1999-04-27,48.734375,49.390625,45.375000,46.125000,46.125000,20129200
+1999-04-28,45.687500,46.234375,42.750000,43.375000,43.375000,18786800
+1999-04-29,42.031250,43.875000,41.156250,43.750000,43.750000,25935200
+1999-04-30,45.015625,45.500000,42.000000,43.671875,43.671875,14938800
+1999-05-03,42.781250,43.312500,40.250000,40.640625,40.640625,20424000
+1999-05-04,40.562500,42.562500,39.500000,39.812500,39.812500,25120000
+1999-05-05,40.093750,40.531250,37.218750,40.328125,40.328125,39324000
+1999-05-06,40.500000,40.625000,37.500000,37.968750,37.968750,23365200
+1999-05-07,37.906250,39.375000,36.250000,36.859375,36.859375,27588800
+1999-05-10,37.062500,39.203125,36.875000,38.921875,38.921875,25932800
+1999-05-11,41.093750,43.828125,40.218750,43.500000,43.500000,42985600
+1999-05-12,42.718750,43.375000,41.218750,42.484375,42.484375,22728400
+1999-05-13,42.875000,43.375000,39.968750,40.093750,40.093750,18511600
+1999-05-14,38.609375,40.437500,38.250000,39.343750,39.343750,23758400
+1999-05-17,38.765625,40.687500,37.515625,40.453125,40.453125,26168000
+1999-05-18,39.843750,40.375000,38.828125,39.203125,39.203125,18851600
+1999-05-19,39.734375,40.281250,38.812500,39.562500,39.562500,16702000
+1999-05-20,39.593750,39.781250,37.750000,37.875000,37.875000,10570000
+1999-05-21,38.312500,38.328125,37.187500,37.828125,37.828125,14906400
+1999-05-24,37.343750,37.562500,33.968750,34.468750,34.468750,30008400
+1999-05-25,34.609375,35.281250,31.656250,31.734375,31.734375,37816800
+1999-05-26,32.500000,35.312500,30.125000,35.218750,35.218750,52978400
+1999-05-27,34.750000,35.406250,33.218750,33.343750,33.343750,30726800
+1999-05-28,33.625000,37.062500,32.875000,37.000000,37.000000,28661200
+1999-06-01,36.328125,37.500000,33.765625,34.546875,34.546875,31400400
+1999-06-02,34.062500,37.250000,32.531250,35.625000,35.625000,45042400
+1999-06-03,35.625000,36.125000,33.375000,33.843750,33.843750,30196000
+1999-06-04,34.031250,36.937500,33.500000,36.859375,36.859375,36142000
+1999-06-07,36.656250,39.437500,36.062500,37.968750,37.968750,36826000
+1999-06-08,38.093750,38.375000,35.632801,35.828125,35.828125,27203600
+1999-06-09,36.218750,37.296875,35.765625,36.593750,36.593750,23841200
+1999-06-10,35.921875,36.968750,35.187500,36.187500,36.187500,20716000
+1999-06-11,36.093750,36.625000,33.562500,33.812500,33.812500,25944000
+1999-06-14,33.671875,33.718750,29.500000,29.812500,29.812500,50811600
+1999-06-15,29.406250,32.406250,29.406250,31.312500,31.312500,49996000
+1999-06-16,33.312500,35.875000,31.296875,35.406250,35.406250,59128800
+1999-06-17,34.906250,37.484375,34.312500,35.562500,35.562500,48852400
+1999-06-18,35.343750,36.375000,35.125000,36.109375,36.109375,17448800
+1999-06-21,37.125000,40.125000,37.000000,39.718750,39.718750,50007600
+1999-06-22,39.343750,41.531250,37.625000,38.125000,38.125000,50848000
+1999-06-23,37.437500,39.125000,36.562500,38.875000,38.875000,42335200
+1999-06-24,38.750000,38.921875,36.750000,37.750000,37.750000,28072800
+1999-06-25,38.187500,38.468750,36.250000,36.718750,36.718750,21633200
+1999-06-28,36.890625,39.125000,36.890625,39.125000,39.125000,38500400
+1999-06-29,38.953125,41.078125,38.250000,40.000000,40.000000,45476000
+1999-06-30,39.968750,44.593750,39.453125,43.062500,43.062500,59339600
+1999-07-01,43.593750,44.968750,42.953125,44.312500,44.312500,46766800
+1999-07-02,44.250000,44.718750,43.125000,44.531250,44.531250,29583200
+1999-07-06,45.625000,47.312500,43.125000,43.781250,43.781250,62996800
+1999-07-07,43.062500,43.500000,41.250000,41.765625,41.765625,67031200
+1999-07-08,43.453125,43.812500,40.500000,41.109375,41.109375,67836800
+1999-07-09,41.359375,41.750000,39.750000,40.000000,40.000000,28462000
+1999-07-12,39.875000,39.937500,37.500000,37.562500,37.562500,47432400
+1999-07-13,36.968750,39.500000,36.250000,39.234375,39.234375,47375200
+1999-07-14,39.937500,40.375000,39.218750,39.859375,39.859375,36978400
+1999-07-15,40.125000,40.437500,38.250000,38.609375,38.609375,24413600
+1999-07-16,38.437500,38.875000,37.468750,37.562500,37.562500,20528000
+1999-07-19,37.718750,38.125000,36.875000,37.375000,37.375000,25438400
+1999-07-20,37.031250,37.625000,35.437500,35.531250,35.531250,24332400
+1999-07-21,35.718750,38.125000,35.562500,37.968750,37.968750,32751200
+1999-07-22,37.078125,37.875000,35.765625,36.281250,36.281250,39331200
+1999-07-23,36.640625,37.031250,35.890625,36.437500,36.437500,19178800
+1999-07-26,35.375000,35.968750,33.000000,33.578125,33.578125,41694400
+1999-07-27,34.531250,35.125000,32.765625,32.828125,32.828125,39426000
+1999-07-28,33.359375,35.804676,32.875000,35.750000,35.750000,46910800
+1999-07-29,34.781250,35.000000,33.500000,34.250000,34.250000,42611200
+1999-07-30,34.437500,35.125000,33.375000,34.109375,34.109375,25167200
+1999-08-02,33.765625,34.937500,33.000000,33.078125,33.078125,24568000
+1999-08-03,33.609375,33.609375,30.718750,31.343750,31.343750,60916800
+1999-08-04,31.250000,31.937500,29.937500,30.250000,30.250000,45760800
+1999-08-05,30.031250,32.406250,27.500000,32.093750,32.093750,93246000
+1999-08-06,32.781250,34.000000,31.437500,31.734375,31.734375,58423200
+1999-08-09,32.031250,32.218750,30.003901,30.296875,30.296875,30964400
+1999-08-10,30.187500,32.187500,29.000000,31.875000,31.875000,59756000
+1999-08-11,32.562500,32.906250,30.640625,32.015625,32.015625,47123600
+1999-08-12,32.000000,33.312500,31.640625,32.093750,32.093750,31806800
+1999-08-13,33.093750,33.500000,32.437500,33.203125,33.203125,24487600
+1999-08-16,33.000000,33.843750,32.687500,33.625000,33.625000,20766000
+1999-08-17,34.093750,34.875000,33.812500,34.718750,34.718750,29511600
+1999-08-18,35.812500,37.375000,35.750000,36.265625,36.265625,41488000
+1999-08-19,35.375000,35.875000,34.500000,34.796875,34.796875,31132400
+1999-08-20,34.906250,36.328125,34.625000,36.250000,36.250000,20089600
+1999-08-23,36.750000,38.375000,36.718750,38.031250,38.031250,42162000
+1999-08-24,37.484375,39.875000,37.468750,38.234375,38.234375,46909600
+1999-08-25,38.687500,39.765625,38.375000,39.640625,39.640625,25081200
+1999-08-26,39.375000,40.125000,38.093750,38.171875,38.171875,23626800
+1999-08-27,38.343750,38.375000,36.812500,37.250000,37.250000,20174400
+1999-08-30,37.125000,37.437500,35.640625,35.953125,35.953125,17183600
+1999-08-31,35.609375,37.062500,34.812500,36.875000,36.875000,42270800
+1999-09-01,37.187500,37.343750,35.578125,35.828125,35.828125,17971600
+1999-09-02,35.062500,36.128899,34.843750,35.390625,35.390625,21898800
+1999-09-03,36.906250,38.765625,36.718750,38.750000,38.750000,33040800
+1999-09-07,38.390625,39.250000,38.015625,38.750000,38.750000,24489600
+1999-09-08,38.203125,38.875000,37.953125,38.359375,38.359375,17771200
+1999-09-09,39.453125,40.843750,39.453125,40.671875,40.671875,41091200
+1999-09-10,41.406250,43.015625,41.250000,42.625000,42.625000,41157200
+1999-09-13,41.687500,41.937500,40.125000,40.187500,40.187500,28529600
+1999-09-14,39.937500,41.984375,39.921875,41.296875,41.296875,25134000
+1999-09-15,42.062500,42.437500,40.562500,40.593750,40.593750,26740800
+1999-09-16,40.531250,40.968750,39.328125,40.859375,40.859375,25113200
+1999-09-17,40.703125,41.656250,40.265625,40.781250,40.781250,19720000
+1999-09-20,41.125000,42.187500,41.000000,42.093750,42.093750,20120000
+1999-09-21,41.453125,43.750000,41.078125,42.390625,42.390625,43461600
+1999-09-22,42.375000,45.000000,42.156250,44.875000,44.875000,47312800
+1999-09-23,45.078125,46.609375,42.812500,43.437500,43.437500,66187200
+1999-09-24,43.328125,46.250000,43.328125,45.828125,45.828125,56219600
+1999-09-27,46.500000,46.843750,44.578125,45.343750,45.343750,38259200
+1999-09-28,45.312500,46.468750,43.812500,46.171875,46.171875,32783600
+1999-09-29,45.500000,46.750000,44.671875,44.828125,44.828125,26710400
+1999-09-30,44.906250,45.359375,43.687500,44.875000,44.875000,23179600
+1999-10-01,44.625000,45.000000,43.156250,43.859375,43.859375,24662400
+1999-10-04,44.296875,44.625000,41.656250,42.796875,42.796875,34314400
+1999-10-05,43.054676,44.453125,41.937500,43.328125,43.328125,52034800
+1999-10-06,44.000000,44.234375,42.890625,43.937500,43.937500,35948400
+1999-10-07,46.171875,48.265625,45.500000,47.562500,47.562500,99988000
+1999-10-08,47.000000,48.093750,46.265625,48.031250,48.031250,37374800
+1999-10-11,46.750000,47.000000,45.000000,45.343750,45.343750,70550400
+1999-10-12,45.468750,45.484375,43.000000,43.468750,43.468750,45610000
+1999-10-13,43.296875,44.250000,41.812500,41.890625,41.890625,45434800
+1999-10-14,42.484375,43.484375,41.843750,43.343750,43.343750,42182000
+1999-10-15,41.750000,43.187500,41.328125,42.390625,42.390625,44574800
+1999-10-18,42.421875,43.187500,41.125000,42.593750,42.593750,33723200
+1999-10-19,43.625000,44.187500,43.406250,43.718750,43.718750,35864000
+1999-10-20,44.187500,45.125000,43.343750,45.035149,45.035149,29566000
+1999-10-21,44.218750,45.718750,44.062500,45.484375,45.484375,38491600
+1999-10-22,45.562500,45.953125,44.312500,44.531250,44.531250,20509200
+1999-10-25,44.148426,45.062500,44.062500,44.687500,44.687500,15003200
+1999-10-26,44.812500,45.031250,43.500000,44.796875,44.796875,12201600
+1999-10-27,44.375000,44.406250,43.000000,43.546875,43.546875,14534800
+1999-10-28,43.515625,44.875000,43.187500,43.750000,43.750000,29123600
+1999-10-29,44.625000,45.000000,44.250000,44.765625,44.765625,29416400
+1999-11-01,44.875000,45.750000,44.500000,45.171875,45.171875,22136000
+1999-11-02,45.250000,45.375000,44.218750,44.500000,44.500000,16212000
+1999-11-03,44.859375,45.593750,44.656250,45.156250,45.156250,18202400
+1999-11-04,45.765625,46.375000,45.328125,45.531250,45.531250,22840400
+1999-11-05,46.531250,46.625000,45.750000,45.859375,45.859375,19503200
+1999-11-08,45.656250,49.906250,45.468750,49.296875,49.296875,39462400
+1999-11-09,49.812500,49.875000,48.062500,48.640625,48.640625,29762000
+1999-11-10,48.343750,50.593750,48.312500,49.421875,49.421875,26834000
+1999-11-11,49.625000,50.750000,48.062500,48.281250,48.281250,15894400
+1999-11-12,49.000000,49.718750,47.562500,49.234375,49.234375,17907200
+1999-11-15,49.000000,51.875000,48.843750,51.250000,51.250000,23674800
+1999-11-16,51.421875,53.234375,50.921875,53.140625,53.140625,23657200
+1999-11-17,52.765625,53.000000,51.218750,51.546875,51.546875,16416800
+1999-11-18,51.656250,53.875000,50.750000,53.468750,53.468750,16049600
+1999-11-19,53.484375,54.796875,52.500000,54.687500,54.687500,17340400
+1999-11-22,54.875000,57.546875,54.500000,56.703125,56.703125,22806400
+1999-11-23,56.500000,57.312500,54.500000,55.296875,55.296875,25955600
+1999-11-24,56.562500,58.250000,56.312500,57.750000,57.750000,22665200
+1999-11-26,58.250000,58.812500,56.343750,56.718750,56.718750,8035600
+1999-11-29,57.312500,58.625000,56.218750,56.531250,56.531250,18530400
+1999-11-30,55.859375,55.906250,52.625000,53.187500,53.187500,24242400
+1999-12-01,57.500000,58.500000,56.234375,57.218750,57.218750,52774000
+1999-12-02,57.593750,62.437500,56.937500,61.453125,61.453125,39232400
+1999-12-03,62.496075,64.687500,62.234375,63.250000,63.250000,40032400
+1999-12-06,63.250000,70.500000,62.671875,70.203125,70.203125,64394800
+1999-12-07,74.000000,88.250000,71.531250,87.000000,87.000000,265342000
+1999-12-08,81.000000,82.328125,77.750000,79.906250,79.906250,99627600
+1999-12-09,79.968750,85.312500,78.015625,85.000000,85.000000,45672000
+1999-12-10,86.687500,89.375000,83.562500,88.375000,88.375000,38182800
+1999-12-13,87.003899,89.062500,86.125000,87.765625,87.765625,22786400
+1999-12-14,87.062500,87.625000,83.250000,83.281250,83.281250,28800000
+1999-12-15,81.843750,83.687500,78.875000,81.875000,81.875000,33132400
+1999-12-16,83.125000,85.468750,83.093750,85.250000,85.250000,19881200
+1999-12-17,86.187500,88.031250,84.250000,87.500000,87.500000,20652000
+1999-12-20,87.000000,92.468750,86.500000,92.375000,92.375000,27528400
+1999-12-21,91.906250,102.078125,91.203125,101.390625,101.390625,40430400
+1999-12-22,101.437500,105.296875,98.687500,104.828125,104.828125,34557200
+1999-12-23,104.375000,106.562500,100.000000,100.656250,100.656250,18468400
+1999-12-27,98.437500,107.015625,94.468750,103.750000,103.750000,38158000
+1999-12-28,102.500000,105.000000,97.500000,97.562500,97.562500,20896400
+1999-12-29,99.109375,102.500000,98.500000,100.921875,100.921875,11763200
+1999-12-30,105.437500,112.000000,101.687500,104.015625,104.015625,24972400
+1999-12-31,105.109375,110.375000,102.515625,108.171875,108.171875,10116400
+2000-01-03,110.730453,119.250000,107.375000,118.750000,118.750000,38469600
+2000-01-04,116.125000,125.031250,110.500000,110.750000,110.750000,69868800
+2000-01-05,107.625000,107.781250,100.500000,102.625000,102.625000,83194800
+2000-01-06,101.562500,103.250000,90.250000,92.046875,92.046875,71301200
+2000-01-07,91.687500,102.000000,90.750000,101.812500,101.812500,48999600
+2000-01-10,108.125000,112.812500,105.000000,109.015625,109.015625,61022400
+2000-01-11,105.968750,106.562500,98.000000,99.343750,99.343750,75761600
+2000-01-12,97.468750,98.500000,88.750000,89.390625,89.390625,74100000
+2000-01-13,91.625000,94.343750,84.500000,86.718750,86.718750,67762800
+2000-01-14,88.750000,90.750000,85.500000,88.250000,88.250000,49232800
+2000-01-18,85.437500,87.500000,83.750000,85.296875,85.296875,30706000
+2000-01-19,84.000000,91.843750,84.000000,91.000000,91.000000,31800000
+2000-01-20,92.265625,92.984375,87.250000,87.984375,87.984375,31349600
+2000-01-21,88.750000,90.000000,87.000000,87.984375,87.984375,17615200
+2000-01-24,88.484375,90.125000,81.000000,81.078125,81.078125,25329200
+2000-01-25,81.750000,86.750000,79.062500,86.390625,86.390625,34588000
+2000-01-26,85.125000,85.871078,81.937500,82.140625,82.140625,19404000
+2000-01-27,83.109375,84.890625,81.281250,84.343750,84.343750,19222000
+2000-01-28,83.390625,85.750000,77.406250,78.375000,78.375000,36656000
+2000-01-31,77.500000,80.515625,75.750000,80.515625,80.515625,35825200
+2000-02-01,79.859375,82.437500,77.703125,79.343750,79.343750,24690800
+2000-02-02,80.371078,84.250000,79.250000,82.000000,82.000000,26813200
+2000-02-03,83.714828,90.250000,83.500000,90.062500,90.062500,39057600
+2000-02-04,91.125000,93.125000,86.750000,88.375000,88.375000,33816000
+2000-02-07,88.511703,90.750000,86.750000,88.500000,88.500000,20864400
+2000-02-08,89.750000,94.953125,89.625000,93.281250,93.281250,29828800
+2000-02-09,92.500000,94.312500,90.031250,90.578125,90.578125,23918800
+2000-02-10,90.625000,91.500000,88.484375,91.250000,91.250000,17980400
+2000-02-11,90.968750,91.250000,85.437500,85.671875,85.671875,19158400
+2000-02-14,86.750000,86.875000,81.875000,82.875000,82.875000,15165600
+2000-02-15,83.187500,86.625000,78.000000,85.000000,85.000000,21323200
+2000-02-16,84.125000,85.000000,80.000000,80.781250,80.781250,12820400
+2000-02-17,82.937500,84.000000,80.531250,81.593750,81.593750,12434600
+2000-02-18,80.625000,81.593750,77.687500,78.062500,78.062500,14643800
+2000-02-22,78.437500,78.500000,74.468750,76.906250,76.906250,17691600
+2000-02-23,76.812500,85.000000,76.500000,83.101547,83.101547,21189800
+2000-02-24,83.242149,85.812500,79.625000,84.031250,84.031250,16506000
+2000-02-25,82.812500,85.156250,80.156250,82.593750,82.593750,11418000
+2000-02-28,80.742149,82.375000,76.062500,80.968750,80.968750,18420200
+2000-02-29,82.218750,84.937500,77.750000,79.843750,79.843750,13684600
+2000-03-01,78.750000,81.500000,77.500000,79.250000,79.250000,11652200
+2000-03-02,77.507797,79.500000,76.000000,77.468750,77.468750,12227400
+2000-03-03,78.000000,81.500000,75.500000,79.000000,79.000000,14972000
+2000-03-06,81.750000,88.500000,81.367149,85.781250,85.781250,25566400
+2000-03-07,87.437500,90.187500,84.000000,85.687500,85.687500,17345600
+2000-03-08,87.312500,90.500000,82.500000,88.500000,88.500000,17234400
+2000-03-09,87.625000,92.500000,86.000000,91.625000,91.625000,17405000
+2000-03-10,90.585899,91.500000,87.812500,89.031250,89.031250,10406600
+2000-03-13,84.062500,90.250000,84.000000,87.906250,87.906250,12033000
+2000-03-14,89.250000,91.765602,83.968750,84.375000,84.375000,15768600
+2000-03-15,84.375000,84.500000,77.562500,79.250000,79.250000,17643400
+2000-03-16,79.593750,86.500000,78.031250,85.093750,85.093750,17049200
+2000-03-17,84.562500,88.468750,84.500000,85.562500,85.562500,11223000
+2000-03-20,86.093750,87.687500,82.625000,86.007797,86.007797,10404600
+2000-03-21,86.500000,96.625000,84.281250,95.875000,95.875000,25232800
+2000-03-22,94.718750,102.812500,94.250000,98.593750,98.593750,31384600
+2000-03-23,96.687500,101.500000,95.250000,95.500000,95.500000,14708600
+2000-03-24,96.750000,100.500000,94.000000,97.000000,97.000000,14707800
+2000-03-27,97.812500,102.593750,97.500000,100.375000,100.375000,17279800
+2000-03-28,98.500000,100.375000,96.000000,97.500000,97.500000,12830200
+2000-03-29,96.718750,98.250000,87.000000,88.531250,88.531250,21540000
+2000-03-30,86.250000,93.531250,80.125000,84.750000,84.750000,31733800
+2000-03-31,87.625000,88.625000,80.250000,85.687500,85.687500,21684000
+2000-04-03,84.375000,86.500000,79.687500,80.062500,80.062500,19322800
+2000-04-04,82.500000,85.500000,66.375000,83.687500,83.687500,42528400
+2000-04-05,81.000000,84.937500,79.250000,82.781250,82.781250,27371800
+2000-04-06,80.968750,85.625000,75.343750,77.000000,77.000000,55990400
+2000-04-07,78.375000,80.000000,75.375000,75.562500,75.562500,24960400
+2000-04-10,76.437500,76.500000,70.500000,70.968750,70.968750,24860000
+2000-04-11,69.781250,71.250000,66.250000,66.750000,66.750000,28853600
+2000-04-12,68.312500,71.468750,65.250000,68.093750,68.093750,29695800
+2000-04-13,68.484352,74.062500,67.156250,68.062500,68.062500,28022800
+2000-04-14,65.125000,67.625000,55.500000,58.000000,58.000000,38466800
+2000-04-17,55.625000,61.468750,54.000000,57.187500,57.187500,44468600
+2000-04-18,58.468750,63.750000,57.750000,63.343750,63.343750,24866000
+2000-04-19,64.687500,67.250000,61.000000,62.937500,62.937500,18326000
+2000-04-20,63.250000,64.562500,59.750000,61.562500,61.562500,13100600
+2000-04-24,57.500000,59.562500,53.500000,56.937500,56.937500,21974800
+2000-04-25,59.375000,63.500000,59.375000,62.250000,62.250000,25156400
+2000-04-26,62.250000,63.437500,59.125000,59.562500,59.562500,16669600
+2000-04-27,57.250000,63.375000,56.500000,62.156250,62.156250,19964200
+2000-04-28,63.375000,65.937500,62.750000,65.125000,65.125000,14908800
+2000-05-01,67.375000,68.000000,63.468750,65.437500,65.437500,14252400
+2000-05-02,64.562500,65.750000,60.812500,61.281250,61.281250,13658200
+2000-05-03,60.156250,62.375000,58.031250,61.031250,61.031250,14383000
+2000-05-04,62.250000,63.500000,60.531250,62.093750,62.093750,13000000
+2000-05-05,61.000000,64.000000,61.000000,62.843750,62.843750,8375000
+2000-05-08,61.468750,62.750000,60.250000,60.375000,60.375000,7958800
+2000-05-09,60.750000,61.125000,57.500000,58.718750,58.718750,13656200
+2000-05-10,57.656250,61.250000,56.250000,59.445301,59.445301,18772600
+2000-05-11,60.906250,63.000000,59.750000,62.656250,62.656250,14962800
+2000-05-12,63.250000,65.718750,62.531250,62.843750,62.843750,14853400
+2000-05-15,62.562500,65.000000,60.320301,65.000000,65.000000,11592000
+2000-05-16,66.687500,69.125000,65.000000,67.812500,67.812500,20359400
+2000-05-17,66.250000,69.875000,65.937500,68.906250,68.906250,20842400
+2000-05-18,68.750000,68.781250,65.000000,66.000000,66.000000,15213200
+2000-05-19,65.687500,67.343750,60.000000,60.156250,60.156250,28261600
+2000-05-22,60.062500,64.000000,56.625000,63.125000,63.125000,31994400
+2000-05-23,62.625000,63.687500,59.000000,59.156250,59.156250,17904400
+2000-05-24,58.750000,62.000000,56.000000,61.375000,61.375000,22729200
+2000-05-25,60.750000,61.812500,56.500000,57.500000,57.500000,18788800
+2000-05-26,57.250000,58.062500,55.500000,56.031250,56.031250,12662200
+2000-05-30,57.843750,60.000000,57.250000,58.500000,58.500000,17734000
+2000-05-31,56.875000,58.656250,56.406250,56.531250,56.531250,28353800
+2000-06-01,58.093750,61.000000,57.812500,60.031250,60.031250,16573800
+2000-06-02,64.929649,67.437500,63.656250,67.250000,67.250000,22187400
+2000-06-05,65.437500,70.968750,65.250000,68.656250,68.656250,17966800
+2000-06-06,67.875000,71.093750,67.500000,67.531250,67.531250,13933800
+2000-06-07,69.250000,73.000000,67.750000,72.250000,72.250000,20657200
+2000-06-08,73.437500,73.875000,70.250000,72.000000,72.000000,17499800
+2000-06-09,73.281250,73.382797,71.125000,71.593750,71.593750,8727400
+2000-06-12,72.500000,72.750000,68.375000,68.718750,68.718750,11717000
+2000-06-13,68.343750,69.781250,65.625000,69.750000,69.750000,14961200
+2000-06-14,70.031250,70.750000,68.562500,69.750000,69.750000,8810400
+2000-06-15,69.125000,70.875000,67.406250,69.843750,69.843750,10597600
+2000-06-16,69.937500,70.625000,67.750000,70.468750,70.468750,13738800
+2000-06-19,70.000000,70.312500,67.968750,69.531250,69.531250,14533600
+2000-06-20,70.187500,75.000000,70.156250,74.000000,74.000000,20704400
+2000-06-21,71.156250,72.781250,70.250000,71.406250,71.406250,15826200
+2000-06-22,70.937500,71.062500,65.812500,65.843750,65.843750,16783000
+2000-06-23,64.625000,65.000000,61.125000,62.656250,62.656250,18099800
+2000-06-26,62.250000,62.437500,58.562500,59.656250,59.656250,23421800
+2000-06-27,59.437500,64.437500,59.375000,62.968750,62.968750,20571400
+2000-06-28,62.656250,63.812500,61.562500,61.781250,61.781250,13065200
+2000-06-29,61.281250,63.000000,59.375000,59.656250,59.656250,12176400
+2000-06-30,59.406250,62.250000,59.406250,61.937500,61.937500,9068000
+2000-07-03,61.250000,64.125000,61.062500,63.937500,63.937500,4773200
+2000-07-05,63.000000,63.937500,60.125000,60.406250,60.406250,8643000
+2000-07-06,60.687500,62.093750,59.250000,61.187500,61.187500,11706400
+2000-07-07,58.531250,59.250000,57.500000,58.250000,58.250000,25520400
+2000-07-10,56.906250,57.000000,54.859348,55.000000,55.000000,23104200
+2000-07-11,52.468750,53.281250,49.937500,52.750000,52.750000,61754000
+2000-07-12,60.250000,63.687500,58.437500,62.468750,62.468750,74122200
+2000-07-13,62.781250,63.562500,60.757801,61.281250,61.281250,20465600
+2000-07-14,62.312500,64.125000,61.250000,64.000000,64.000000,18338800
+2000-07-17,63.375000,66.750000,62.531250,65.812500,65.812500,15484200
+2000-07-18,64.687500,66.687500,63.562500,64.968750,64.968750,15129400
+2000-07-19,65.031250,69.000000,65.000000,67.000000,67.000000,20859200
+2000-07-20,67.000000,71.343750,66.843750,69.906250,69.906250,19580200
+2000-07-21,69.062500,70.375000,68.781250,69.156250,69.156250,10598400
+2000-07-24,68.437500,69.375000,66.125000,66.281250,66.281250,12922000
+2000-07-25,67.031250,69.687500,65.187500,69.000000,69.000000,12744800
+2000-07-26,68.156250,69.625000,66.843750,67.968750,67.968750,11078600
+2000-07-27,67.093750,68.312500,65.656250,67.031250,67.031250,11889800
+2000-07-28,67.343750,68.375000,63.031250,63.375000,63.375000,14022600
+2000-07-31,63.093750,64.875000,61.375000,64.343750,64.343750,11073200
+2000-08-01,64.250000,65.000000,63.000000,63.718750,63.718750,8777800
+2000-08-02,63.343750,66.531250,63.125000,63.562500,63.562500,9287400
+2000-08-03,62.437500,65.781250,61.750000,65.593750,65.593750,12216200
+2000-08-04,66.375000,68.437500,65.625000,66.968750,66.968750,10833600
+2000-08-07,66.734352,68.875000,65.375000,68.250000,68.250000,9502600
+2000-08-08,67.593750,69.000000,66.531250,67.062500,67.062500,8953400
+2000-08-09,68.187500,68.750000,66.250000,66.343750,66.343750,8145800
+2000-08-10,66.281250,66.906250,64.156250,64.656250,64.656250,6857000
+2000-08-11,64.125000,64.875000,62.687500,64.312500,64.312500,7436000
+2000-08-14,64.625000,66.875000,64.093750,66.187500,66.187500,8142800
+2000-08-15,65.593750,67.625000,65.562500,66.156250,66.156250,6694400
+2000-08-16,67.250000,69.000000,66.750000,67.000000,67.000000,11161800
+2000-08-17,66.656250,67.062500,65.437500,65.562500,65.562500,11038200
+2000-08-18,65.187500,65.687500,62.500000,62.593750,62.593750,14911600
+2000-08-21,62.343750,65.281250,61.625000,65.218750,65.218750,15705600
+2000-08-22,64.500000,65.000000,63.156250,63.750000,63.750000,18488000
+2000-08-23,62.875000,67.187500,62.468750,66.906250,66.906250,14610600
+2000-08-24,66.687500,70.000000,66.062500,69.906250,69.906250,19643800
+2000-08-25,69.406250,69.843750,66.437500,67.125000,67.125000,13895600
+2000-08-28,64.250000,65.750000,60.312500,61.031250,61.031250,39080600
+2000-08-29,60.367149,63.375000,60.000000,60.500000,60.500000,27184600
+2000-08-30,60.843750,62.250000,60.257801,61.625000,61.625000,15051800
+2000-08-31,61.812500,62.000000,60.375000,60.750000,60.750000,11091400
+2000-09-01,58.937500,58.968750,55.062500,56.968750,56.968750,35473000
+2000-09-05,55.937500,59.625000,55.187500,58.562500,58.562500,27535600
+2000-09-06,58.687500,58.875000,56.000000,56.031250,56.031250,19088600
+2000-09-07,55.281250,57.375000,53.000000,53.468750,53.468750,35515800
+2000-09-08,53.593750,54.687500,49.875000,52.062500,52.062500,36988200
+2000-09-11,51.625000,54.687500,51.437500,53.156250,53.156250,17564200
+2000-09-12,54.406250,55.117149,52.500000,53.500000,53.500000,12909600
+2000-09-13,52.781250,54.093750,52.250000,53.187500,53.187500,11120400
+2000-09-14,53.906250,54.687500,53.000000,53.468750,53.468750,11057000
+2000-09-15,53.500000,53.750000,52.187500,52.937500,52.937500,13341000
+2000-09-18,52.093750,53.750000,51.187500,52.531250,52.531250,11642800
+2000-09-19,52.750000,54.125000,52.562500,54.031250,54.031250,9642600
+2000-09-20,54.625000,56.218750,53.812500,54.843750,54.843750,16960800
+2000-09-21,54.429649,56.062500,54.000000,54.062500,54.062500,8599200
+2000-09-22,51.937500,56.000000,51.937500,55.718750,55.718750,12025600
+2000-09-25,55.171848,56.187500,52.531250,52.750000,52.750000,10145800
+2000-09-26,53.000000,53.031250,50.250000,51.218750,51.218750,14132200
+2000-09-27,51.375000,51.375000,44.000000,45.187500,45.187500,59994600
+2000-09-28,45.687500,48.500000,44.968750,47.843750,47.843750,27555400
+2000-09-29,48.562500,48.625000,45.250000,45.500000,45.500000,13879800
+2000-10-02,45.781250,45.937500,42.062500,43.031250,43.031250,25121600
+2000-10-03,43.750000,45.375000,41.312500,42.000000,42.000000,25678000
+2000-10-04,42.218750,44.375000,41.250000,43.968750,43.968750,18776000
+2000-10-05,44.250000,45.312500,41.750000,42.343750,42.343750,19689600
+2000-10-06,42.750000,43.000000,39.718750,40.625000,40.625000,23314400
+2000-10-09,40.781250,43.750000,37.750000,42.875000,42.875000,25993800
+2000-10-10,43.687500,44.375000,40.937500,41.343750,41.343750,38555200
+2000-10-11,36.343750,36.781250,32.500000,32.687500,32.687500,92244000
+2000-10-12,33.343750,33.375000,27.718750,28.312500,28.312500,63441200
+2000-10-13,27.593750,30.187500,27.375000,30.000000,30.000000,56348600
+2000-10-16,30.375000,30.812500,27.531250,27.625000,27.625000,31040200
+2000-10-17,27.968750,28.062500,23.718750,24.468750,24.468750,58899000
+2000-10-18,23.218750,27.125000,22.531250,26.375000,26.375000,59887600
+2000-10-19,28.687500,30.062500,26.843750,29.781250,29.781250,34329800
+2000-10-20,29.687500,31.875000,28.343750,29.500000,29.500000,25588200
+2000-10-23,30.125000,31.046850,29.531250,29.812500,29.812500,15772600
+2000-10-24,30.718750,32.125000,29.000000,29.312500,29.312500,23606200
+2000-10-25,30.437500,30.898399,27.046850,27.781250,27.781250,20160200
+2000-10-26,28.375000,28.500000,25.437500,28.000000,28.000000,19796600
+2000-10-27,28.562500,29.218750,26.593750,27.625000,27.625000,14792400
+2000-10-30,26.906250,27.812500,25.500000,26.312500,26.312500,16900200
+2000-10-31,26.843750,30.000000,26.250000,29.312500,29.312500,23011600
+2000-11-01,28.890600,33.500000,28.500000,32.179649,32.179649,34524000
+2000-11-02,33.250000,34.625000,32.125000,33.718750,33.718750,29210800
+2000-11-03,34.687500,35.281250,33.312500,34.375000,34.375000,20381800
+2000-11-06,35.125000,35.218750,32.687500,32.812500,32.812500,14251200
+2000-11-07,32.968750,34.562500,31.812500,34.250000,34.250000,13889800
+2000-11-08,34.625000,35.312500,32.468750,32.500000,32.500000,16011400
+2000-11-09,30.429649,31.437500,28.250000,29.406250,29.406250,26721000
+2000-11-10,28.906250,30.875000,28.062500,28.218750,28.218750,19196200
+2000-11-13,27.406250,29.562500,26.000000,27.656250,27.656250,19343200
+2000-11-14,28.843750,29.750000,27.750000,29.718750,29.718750,13959400
+2000-11-15,29.125000,30.000000,27.375000,28.562500,28.562500,16191200
+2000-11-16,27.500000,28.250000,26.312500,26.468750,26.468750,13573000
+2000-11-17,26.101549,27.750000,25.000000,25.625000,25.625000,21516400
+2000-11-20,25.187500,25.687500,23.937500,24.437500,24.437500,18448400
+2000-11-21,23.500000,24.000000,20.281250,20.843750,20.843750,49950200
+2000-11-22,20.187500,21.500000,19.031250,19.093750,19.093750,43183200
+2000-11-24,20.125000,21.125000,19.687500,20.437500,20.437500,19702400
+2000-11-27,21.867149,22.500000,20.000000,20.062500,20.062500,24838400
+2000-11-28,19.968750,20.250000,17.875000,18.484350,18.484350,29390800
+2000-11-29,18.570299,19.625000,17.843750,19.531250,19.531250,35039400
+2000-11-30,18.796850,19.812500,17.593750,19.812500,19.812500,33938200
+2000-12-01,19.406250,20.562500,18.187500,19.468750,19.468750,40172600
+2000-12-04,19.218750,19.656250,18.093750,18.968750,18.968750,29997600
+2000-12-05,19.843750,22.000000,19.656250,21.937500,21.937500,30714800
+2000-12-06,20.812500,21.468750,18.562500,18.750000,18.750000,32559800
+2000-12-07,18.031250,18.109350,15.750000,17.468750,17.468750,55136200
+2000-12-08,18.562500,18.562500,16.062500,17.468750,17.468750,49184000
+2000-12-11,16.812500,18.531250,15.312500,16.937500,16.937500,71038800
+2000-12-12,16.625000,19.750000,16.468750,17.906250,17.906250,79275800
+2000-12-13,19.156250,19.312500,17.125000,17.437500,17.437500,33640400
+2000-12-14,17.656250,17.953100,15.968750,16.000000,16.000000,20899800
+2000-12-15,16.000000,17.000000,15.531250,16.500000,16.500000,40448000
+2000-12-18,16.937500,17.000000,15.125000,16.000000,16.000000,31697600
+2000-12-19,15.281250,15.984350,14.000000,14.000000,14.000000,36131600
+2000-12-20,12.906250,14.187500,12.750000,13.968750,13.968750,44862800
+2000-12-21,13.375000,14.125000,12.531250,12.812500,12.812500,27794400
+2000-12-22,13.218750,14.937500,13.031250,14.781250,14.781250,28347400
+2000-12-26,16.000000,17.000000,15.062500,15.593750,15.593750,37536200
+2000-12-27,15.500000,15.750000,14.562500,14.875000,14.875000,22045400
+2000-12-28,14.718750,15.875000,14.562500,15.500000,15.500000,24374600
+2000-12-29,15.156250,15.593750,14.781250,15.031250,15.031250,20893400
+2001-01-02,15.156250,15.187500,13.750000,14.093750,14.093750,21939200
+2001-01-03,13.875000,16.281250,12.992150,15.468750,15.468750,49936600
+2001-01-04,14.929650,16.093750,14.718750,14.781250,14.781250,35051800
+2001-01-05,14.687500,15.687500,13.937500,14.250000,14.250000,26867400
+2001-01-08,13.687500,13.750000,12.687500,13.593750,13.593750,26165200
+2001-01-09,13.281250,15.281250,13.000000,15.062500,15.062500,43097200
+2001-01-10,14.656250,15.625000,13.937500,15.250000,15.250000,54304200
+2001-01-11,12.210900,13.312500,12.062500,12.937500,12.937500,132926800
+2001-01-12,13.031250,13.437500,12.531250,13.281250,13.281250,50575600
+2001-01-16,13.500000,14.218750,13.312500,13.687500,13.687500,32059000
+2001-01-17,14.312500,15.875000,13.968750,15.125000,15.125000,66939000
+2001-01-18,15.500000,17.375000,14.843750,17.218750,17.218750,57925400
+2001-01-19,18.000000,18.031250,16.281250,16.906250,16.906250,40979800
+2001-01-22,16.656250,17.875000,16.281250,17.343750,17.343750,25512600
+2001-01-23,17.218750,19.500000,17.093750,19.476549,19.476549,34783200
+2001-01-24,19.156250,21.687500,19.000000,21.437500,21.437500,57294800
+2001-01-25,20.937500,21.406250,19.281250,19.593750,19.593750,44249200
+2001-01-26,18.812500,19.312500,18.062500,18.843750,18.843750,24462600
+2001-01-29,18.875000,20.187500,18.875000,19.937500,19.937500,18819000
+2001-01-30,20.562500,20.875000,18.875000,19.843750,19.843750,18776000
+2001-01-31,19.906250,20.531250,18.500000,18.656250,18.656250,22458600
+2001-02-01,18.750000,19.093750,17.531250,18.031250,18.031250,20113200
+2001-02-02,18.250000,18.312500,16.437500,16.500000,16.500000,21816200
+2001-02-05,16.343750,17.992149,16.031250,17.531250,17.531250,19448400
+2001-02-06,17.593750,18.250000,17.062500,18.187500,18.187500,20752000
+2001-02-07,17.562500,17.843750,16.312500,16.718750,16.718750,19541600
+2001-02-08,16.843750,16.937500,14.937500,15.093750,15.093750,28289800
+2001-02-09,15.093750,15.250000,13.875000,13.968750,13.968750,23027200
+2001-02-12,14.156250,15.000000,13.843750,14.250000,14.250000,18094400
+2001-02-13,14.468750,14.875000,13.500000,13.562500,13.562500,21768800
+2001-02-14,13.718750,14.468750,12.875000,14.250000,14.250000,22815200
+2001-02-15,14.500000,16.250000,14.500000,15.656250,15.656250,40358600
+2001-02-16,14.656250,15.000000,13.875000,14.093750,14.093750,19290600
+2001-02-20,14.468750,14.937500,13.250000,13.281250,13.281250,26573400
+2001-02-21,13.093750,14.125000,12.937500,13.062500,13.062500,23493200
+2001-02-22,13.250000,13.875000,11.812500,12.000000,12.000000,46159600
+2001-02-23,12.093750,12.750000,11.437500,12.718750,12.718750,28155400
+2001-02-26,12.937500,12.968750,11.718750,12.875000,12.875000,24700600
+2001-02-27,12.625000,12.812500,11.687500,11.718750,11.718750,19961600
+2001-02-28,11.843750,12.562500,11.531250,11.906250,11.906250,20347000
+2001-03-01,11.781250,12.218750,11.093750,12.218750,12.218750,21860200
+2001-03-02,11.460900,11.875000,10.812500,10.843750,10.843750,21483200
+2001-03-05,11.250000,11.437500,10.843750,11.093750,11.093750,17513000
+2001-03-06,11.750000,12.218750,11.156250,11.187500,11.187500,20773600
+2001-03-07,10.984350,11.000000,10.406250,10.468750,10.468750,10498800
+2001-03-08,8.531250,8.875000,8.125000,8.843750,8.843750,118728200
+2001-03-09,8.593750,8.656250,8.218750,8.500000,8.500000,28098800
+2001-03-12,8.125000,8.750000,8.054650,8.187500,8.187500,32844000
+2001-03-13,8.375000,8.601550,7.812500,8.031250,8.031250,29766600
+2001-03-14,7.687500,8.000000,7.468750,7.656250,7.656250,21191000
+2001-03-15,7.937500,8.062500,7.500000,7.500000,7.500000,16375400
+2001-03-16,7.312500,7.531250,6.750000,6.781250,6.781250,24668000
+2001-03-19,7.031250,7.562500,6.843750,7.468750,7.468750,17516200
+2001-03-20,7.625000,7.812500,6.875000,6.968750,6.968750,23528400
+2001-03-21,6.968750,7.250000,6.750000,6.843750,6.843750,15176000
+2001-03-22,7.031250,7.468750,6.765600,7.437500,7.437500,20599000
+2001-03-23,7.687500,7.789050,6.968750,7.218750,7.218750,18004600
+2001-03-26,7.562500,7.562500,7.078100,7.093750,7.093750,12504000
+2001-03-27,7.250000,7.875000,7.125000,7.781250,7.781250,21399000
+2001-03-28,7.687500,7.781250,7.250000,7.468750,7.468750,18186800
+2001-03-29,7.437500,7.500000,7.125000,7.500000,7.500000,17917800
+2001-03-30,7.500000,8.218750,7.187500,7.875000,7.875000,20178000
+2001-04-02,7.687500,7.875000,6.718750,7.000000,7.000000,19148200
+2001-04-03,6.781250,6.843750,5.687500,5.687500,5.687500,29801200
+2001-04-04,5.937500,6.656250,5.875000,6.218750,6.218750,30154800
+2001-04-05,7.531250,7.937500,7.312500,7.625000,7.625000,51246000
+2001-04-06,7.625000,7.906250,7.125000,7.406250,7.406250,30974000
+2001-04-09,7.910000,8.045000,7.475000,7.820000,7.820000,18480400
+2001-04-10,8.020000,8.460000,7.575000,8.010000,8.010000,39976000
+2001-04-11,8.500000,8.625000,7.600000,7.930000,7.930000,37044200
+2001-04-12,7.940000,8.500000,7.575000,8.480000,8.480000,34184400
+2001-04-16,8.260000,9.275000,8.100000,8.810000,8.810000,34724200
+2001-04-17,8.660000,8.900000,8.300000,8.655000,8.655000,35402800
+2001-04-18,9.205000,10.045000,8.995000,9.310000,9.310000,37386800
+2001-04-19,9.495000,10.075000,9.425000,9.980000,9.980000,26405400
+2001-04-20,10.100000,10.490000,9.610000,9.925000,9.925000,25914000
+2001-04-23,9.555000,9.585000,8.935000,8.980000,8.980000,20566200
+2001-04-24,9.125000,9.550000,8.875000,9.005000,9.005000,20524000
+2001-04-25,8.925000,9.370000,8.770000,9.340000,9.340000,14547200
+2001-04-26,9.475000,9.875000,9.060000,9.130000,9.130000,14672000
+2001-04-27,9.555000,9.925000,9.380000,9.750000,9.750000,15259400
+2001-04-30,10.130000,10.525000,9.925000,10.090000,10.090000,21019200
+2001-05-01,10.055000,11.200000,10.000000,11.155000,11.155000,20895600
+2001-05-02,11.385000,11.850000,10.560000,11.460000,11.460000,35659200
+2001-05-03,10.905000,10.985000,10.165000,10.415000,10.415000,19632800
+2001-05-04,9.935000,10.240000,9.675000,10.065000,10.065000,24910200
+2001-05-07,10.010000,10.135000,9.780000,9.990000,9.990000,13814200
+2001-05-08,10.180000,10.190000,9.575000,9.870000,9.870000,15375200
+2001-05-09,9.620000,9.620000,9.200000,9.430000,9.430000,17152000
+2001-05-10,9.660000,9.680000,9.005000,9.115000,9.115000,12491400
+2001-05-11,9.120000,9.215000,8.750000,8.895000,8.895000,9188200
+2001-05-14,8.900000,8.915000,8.475000,8.550000,8.550000,9832800
+2001-05-15,8.650000,9.525000,8.500000,9.030000,9.030000,16877400
+2001-05-16,8.910000,9.935000,8.750000,9.690000,9.690000,19513600
+2001-05-17,9.745000,10.160000,9.690000,9.925000,9.925000,18521800
+2001-05-18,9.780000,10.020000,9.450000,9.680000,9.680000,10363200
+2001-05-21,9.700000,10.750000,9.600000,10.750000,10.750000,23925600
+2001-05-22,11.075000,11.535000,10.750000,11.065000,11.065000,30289800
+2001-05-23,10.935000,10.940000,10.200000,10.220000,10.220000,15063000
+2001-05-24,10.200000,10.775000,9.940000,10.765000,10.765000,17315000
+2001-05-25,10.660000,10.680000,10.260000,10.460000,10.460000,7707000
+2001-05-29,10.425000,10.425000,9.310000,9.395000,9.395000,15425400
+2001-05-30,9.185000,9.520000,8.675000,8.835000,8.835000,16173200
+2001-05-31,8.965000,9.800000,8.925000,9.055000,9.055000,18587600
+2001-06-01,9.295000,10.075000,8.950000,9.730000,9.730000,17945200
+2001-06-04,10.230000,10.250000,9.765000,9.890000,9.890000,24160400
+2001-06-05,9.850000,10.050000,9.680000,10.000000,10.000000,14149800
+2001-06-06,9.945000,10.410000,9.800000,9.840000,9.840000,16235000
+2001-06-07,9.650000,9.715000,9.250000,9.710000,9.710000,15290400
+2001-06-08,9.695000,9.720000,9.225000,9.275000,9.275000,11039600
+2001-06-11,9.120000,9.270000,8.740000,8.930000,8.930000,13595800
+2001-06-12,8.750000,9.260000,8.500000,9.055000,9.055000,15636800
+2001-06-13,9.165000,9.195000,8.540000,8.575000,8.575000,12258000
+2001-06-14,8.530000,8.740000,8.025000,8.235000,8.235000,16570400
+2001-06-15,8.075000,8.375000,7.860000,8.005000,8.005000,17234800
+2001-06-18,8.255000,8.320000,7.640000,7.655000,7.655000,11646000
+2001-06-19,8.190000,8.255000,7.620000,7.780000,7.780000,19567800
+2001-06-20,7.655000,9.255000,7.650000,9.245000,9.245000,21971600
+2001-06-21,9.090000,9.250000,8.610000,8.900000,8.900000,21789600
+2001-06-22,9.020000,9.105000,8.600000,8.655000,8.655000,12910400
+2001-06-25,9.045000,9.985000,9.000000,9.885000,9.885000,33834000
+2001-06-26,9.525000,9.810000,9.155000,9.570000,9.570000,27588400
+2001-06-27,9.750000,9.820000,9.170000,9.365000,9.365000,21202000
+2001-06-28,9.605000,9.840000,9.560000,9.690000,9.690000,16157600
+2001-06-29,9.730000,10.000000,9.550000,9.995000,9.995000,11881000
+2001-07-02,9.830000,10.275000,9.730000,10.020000,10.020000,14062400
+2001-07-03,9.880000,10.075000,9.850000,9.905000,9.905000,7351400
+2001-07-05,10.000000,10.435000,9.480000,9.595000,9.595000,19023800
+2001-07-06,9.470000,9.500000,8.825000,8.940000,8.940000,19318200
+2001-07-09,9.075000,9.435000,9.010000,9.285000,9.285000,14335000
+2001-07-10,9.460000,9.510000,8.890000,8.915000,8.915000,12927200
+2001-07-11,8.470000,8.775000,7.655000,8.515000,8.515000,50231200
+2001-07-12,9.285000,9.310000,8.820000,9.310000,9.310000,31990000
+2001-07-13,9.085000,9.530000,8.875000,9.125000,9.125000,19426200
+2001-07-16,9.015000,9.595000,8.975000,9.005000,9.005000,23582200
+2001-07-17,8.920000,9.350000,8.770000,9.240000,9.240000,15734200
+2001-07-18,8.975000,9.125000,8.400000,8.515000,8.515000,20664000
+2001-07-19,8.785000,8.945000,8.375000,8.715000,8.715000,16326400
+2001-07-20,8.640000,9.025000,8.635000,8.970000,8.970000,17394400
+2001-07-23,9.115000,9.145000,8.710000,8.780000,8.780000,11828200
+2001-07-24,8.540000,8.885000,8.215000,8.485000,8.485000,11831600
+2001-07-25,8.495000,8.625000,8.235000,8.435000,8.435000,10177800
+2001-07-26,8.440000,8.850000,8.300000,8.740000,8.740000,11784000
+2001-07-27,8.710000,9.250000,8.600000,9.010000,9.010000,12615800
+2001-07-30,9.090000,9.195000,8.740000,8.900000,8.900000,8501600
+2001-07-31,8.975000,9.125000,8.750000,8.810000,8.810000,9468400
+2001-08-01,9.030000,9.295000,8.935000,9.145000,9.145000,14035200
+2001-08-02,9.345000,9.350000,9.000000,9.225000,9.225000,7531600
+2001-08-03,9.245000,9.255000,8.855000,8.935000,8.935000,7477600
+2001-08-06,8.875000,8.920000,8.630000,8.695000,8.695000,7260600
+2001-08-07,8.675000,8.910000,8.515000,8.650000,8.650000,7591400
+2001-08-08,8.615000,8.750000,8.220000,8.275000,8.275000,10008800
+2001-08-09,8.280000,8.285000,7.800000,8.140000,8.140000,16024400
+2001-08-10,8.045000,8.130000,7.625000,7.710000,7.710000,18642400
+2001-08-13,7.760000,7.900000,7.650000,7.820000,7.820000,10381800
+2001-08-14,7.945000,8.005000,7.370000,7.490000,7.490000,17311400
+2001-08-15,7.525000,7.540000,6.920000,7.130000,7.130000,21956200
+2001-08-16,6.980000,7.470000,6.975000,7.395000,7.395000,14791200
+2001-08-17,7.250000,7.310000,7.000000,7.025000,7.025000,9049600
+2001-08-20,7.020000,7.390000,6.875000,7.230000,7.230000,9762600
+2001-08-21,7.340000,7.345000,6.500000,6.505000,6.505000,12589800
+2001-08-22,6.720000,6.735000,6.375000,6.700000,6.700000,18209000
+2001-08-23,6.645000,6.925000,6.565000,6.630000,6.630000,15656400
+2001-08-24,6.690000,7.135000,6.600000,7.055000,7.055000,13311000
+2001-08-27,7.035000,7.035000,6.505000,6.710000,6.710000,15045400
+2001-08-28,6.760000,6.860000,6.500000,6.500000,6.500000,14270400
+2001-08-29,6.570000,6.670000,6.000000,6.070000,6.070000,21579600
+2001-08-30,6.000000,6.000000,5.510000,5.660000,5.660000,23788000
+2001-08-31,5.660000,5.950000,5.585000,5.930000,5.930000,15667000
+2001-09-04,5.980000,6.205000,5.740000,5.850000,5.850000,18605800
+2001-09-05,5.845000,5.845000,5.225000,5.320000,5.320000,24114600
+2001-09-06,5.515000,5.775000,5.285000,5.550000,5.550000,29971200
+2001-09-07,5.370000,5.580000,5.270000,5.375000,5.375000,17791800
+2001-09-10,5.365000,6.175000,5.355000,5.870000,5.870000,29562800
+2001-09-17,5.275000,5.660000,5.125000,5.440000,5.440000,34958200
+2001-09-18,5.400000,5.565000,5.015000,5.050000,5.050000,20893400
+2001-09-19,5.095000,5.200000,4.900000,5.035000,5.035000,24542000
+2001-09-20,4.975000,5.170000,4.905000,4.985000,4.985000,16103200
+2001-09-21,4.665000,4.700000,4.250000,4.340000,4.340000,25924800
+2001-09-24,4.545000,4.730000,4.410000,4.625000,4.625000,15538800
+2001-09-25,4.580000,5.020000,4.500000,4.640000,4.640000,23675000
+2001-09-26,4.675000,4.750000,4.050000,4.055000,4.055000,15748000
+2001-09-27,4.020000,4.625000,4.010000,4.555000,4.555000,29073200
+2001-09-28,4.580000,4.625000,4.300000,4.405000,4.405000,13111800
+2001-10-01,4.350000,4.600000,4.225000,4.545000,4.545000,14021600
+2001-10-02,4.510000,4.625000,4.445000,4.620000,4.620000,10246400
+2001-10-03,4.455000,5.000000,4.420000,4.955000,4.955000,23861000
+2001-10-04,5.085000,5.795000,4.840000,5.340000,5.340000,35863200
+2001-10-05,5.150000,5.300000,5.025000,5.175000,5.175000,12420400
+2001-10-08,5.025000,5.445000,4.955000,5.245000,5.245000,14124400
+2001-10-09,5.205000,5.300000,5.005000,5.080000,5.080000,12246400
+2001-10-10,5.040000,5.625000,5.005000,5.465000,5.465000,26617400
+2001-10-11,5.980000,6.340000,5.850000,6.250000,6.250000,58265400
+2001-10-12,6.105000,6.130000,5.730000,6.040000,6.040000,29939200
+2001-10-15,5.930000,6.195000,5.775000,6.035000,6.035000,11493000
+2001-10-16,6.095000,6.335000,6.005000,6.250000,6.250000,13847800
+2001-10-17,6.515000,6.590000,5.655000,5.680000,5.680000,23678200
+2001-10-18,5.745000,5.920000,5.540000,5.635000,5.635000,14633600
+2001-10-19,5.560000,5.730000,5.405000,5.685000,5.685000,13111600
+2001-10-22,5.700000,5.940000,5.535000,5.890000,5.890000,11827000
+2001-10-23,5.965000,6.145000,5.700000,5.790000,5.790000,20593400
+2001-10-24,5.890000,6.020000,5.625000,5.975000,5.975000,12465200
+2001-10-25,5.735000,6.160000,5.585000,6.125000,6.125000,20753600
+2001-10-26,6.070000,6.290000,5.865000,6.030000,6.030000,11832200
+2001-10-29,5.975000,6.075000,5.645000,5.650000,5.650000,14799000
+2001-10-30,5.520000,5.710000,5.310000,5.545000,5.545000,14171600
+2001-10-31,5.765000,5.845000,5.435000,5.440000,5.440000,11277200
+2001-11-01,5.535000,5.670000,5.335000,5.600000,5.600000,14626000
+2001-11-02,5.565000,5.625000,5.415000,5.480000,5.480000,10678000
+2001-11-05,5.630000,6.000000,5.590000,5.995000,5.995000,15136800
+2001-11-06,5.950000,6.575000,5.915000,6.495000,6.495000,23447200
+2001-11-07,6.400000,7.005000,6.400000,6.715000,6.715000,29029000
+2001-11-08,6.890000,7.140000,6.485000,6.560000,6.560000,22932000
+2001-11-09,6.610000,6.885000,6.485000,6.860000,6.860000,18362800
+2001-11-12,6.775000,6.885000,6.420000,6.850000,6.850000,15510000
+2001-11-13,7.130000,7.145000,6.900000,6.985000,6.985000,15337600
+2001-11-14,7.285000,7.690000,7.210000,7.605000,7.605000,29540000
+2001-11-15,7.445000,7.730000,7.275000,7.415000,7.415000,30830600
+2001-11-16,7.635000,8.000000,7.525000,7.735000,7.735000,31970800
+2001-11-19,8.020000,8.175000,7.810000,8.140000,8.140000,17486200
+2001-11-20,7.940000,8.000000,7.440000,7.445000,7.445000,26776200
+2001-11-21,7.490000,7.630000,7.110000,7.465000,7.465000,16417400
+2001-11-23,7.590000,7.890000,7.505000,7.865000,7.865000,9200200
+2001-11-26,8.175000,9.045000,8.100000,9.035000,9.035000,45330600
+2001-11-27,8.700000,8.970000,8.450000,8.700000,8.700000,43562200
+2001-11-28,8.520000,8.725000,8.050000,8.105000,8.105000,25570400
+2001-11-29,8.300000,8.350000,7.750000,8.350000,8.350000,33130200
+2001-11-30,8.350000,8.390000,7.680000,7.785000,7.785000,25159000
+2001-12-03,8.150000,8.175000,7.875000,7.915000,7.915000,22941800
+2001-12-04,8.145000,8.515000,8.005000,8.480000,8.480000,22457600
+2001-12-05,8.565000,8.800000,8.265000,8.530000,8.530000,40721000
+2001-12-06,8.770000,9.750000,8.635000,9.510000,9.510000,61513000
+2001-12-07,8.955000,9.115000,8.735000,8.835000,8.835000,32549200
+2001-12-10,8.815000,9.350000,8.800000,8.910000,8.910000,23105800
+2001-12-11,9.250000,9.500000,9.005000,9.210000,9.210000,29282400
+2001-12-12,9.515000,9.665000,9.325000,9.570000,9.570000,31213200
+2001-12-13,9.105000,9.155000,8.790000,8.790000,8.790000,22921200
+2001-12-14,9.020000,9.020000,8.270000,8.605000,8.605000,20105600
+2001-12-17,8.600000,9.035000,8.565000,8.930000,8.930000,15448400
+2001-12-18,9.170000,9.225000,8.980000,9.190000,9.190000,15585200
+2001-12-19,8.975000,9.150000,8.715000,8.855000,8.855000,13653200
+2001-12-20,8.800000,9.095000,8.075000,8.110000,8.110000,20588400
+2001-12-21,8.485000,8.640000,8.250000,8.460000,8.460000,23752600
+2001-12-24,8.445000,8.510000,8.275000,8.335000,8.335000,4194400
+2001-12-26,9.025000,9.135000,8.655000,8.755000,8.755000,25327400
+2001-12-27,8.975000,9.045000,8.770000,8.885000,8.885000,15643400
+2001-12-28,9.325000,9.440000,9.145000,9.150000,9.150000,25317400
+2001-12-31,9.255000,9.275000,8.800000,8.870000,8.870000,18827800
+2002-01-02,9.070000,9.345000,8.840000,9.315000,9.315000,21903600
+2002-01-03,9.350000,9.645000,9.270000,9.565000,9.565000,23668000
+2002-01-04,9.500000,9.905000,9.265000,9.450000,9.450000,24050200
+2002-01-07,9.350000,9.970000,9.325000,9.865000,9.865000,29516400
+2002-01-08,9.700000,9.865000,9.625000,9.765000,9.765000,19021200
+2002-01-09,9.900000,10.675000,9.885000,10.125000,10.125000,38134400
+2002-01-10,10.030000,10.355000,9.975000,10.245000,10.245000,21084800
+2002-01-11,10.260000,10.450000,10.010000,10.080000,10.080000,14488200
+2002-01-14,9.855000,9.960000,9.435000,9.505000,9.505000,21948400
+2002-01-15,9.610000,9.740000,9.410000,9.735000,9.735000,16099200
+2002-01-16,9.460000,9.540000,8.900000,8.935000,8.935000,39965800
+2002-01-17,9.685000,10.190000,9.625000,10.060000,10.060000,59843400
+2002-01-18,9.830000,9.990000,9.475000,9.600000,9.600000,35842800
+2002-01-22,9.950000,10.025000,9.200000,9.210000,9.210000,28990600
+2002-01-23,9.400000,9.425000,8.985000,9.220000,9.220000,21565200
+2002-01-24,9.465000,9.700000,9.010000,9.095000,9.095000,29277400
+2002-01-25,9.160000,9.425000,9.030000,9.340000,9.340000,20250600
+2002-01-28,9.415000,9.455000,9.200000,9.350000,9.350000,12314400
+2002-01-29,9.405000,9.405000,8.855000,9.090000,9.090000,20109600
+2002-01-30,9.095000,9.100000,8.090000,8.595000,8.595000,37318600
+2002-01-31,8.850000,8.900000,8.395000,8.620000,8.620000,15431600
+2002-02-01,8.630000,8.650000,8.175000,8.340000,8.340000,13860200
+2002-02-04,8.275000,8.300000,7.800000,7.875000,7.875000,17827400
+2002-02-05,7.780000,8.080000,7.615000,7.885000,7.885000,21340200
+2002-02-06,8.045000,8.050000,7.750000,7.945000,7.945000,25175200
+2002-02-07,7.830000,7.875000,7.475000,7.675000,7.675000,21492200
+2002-02-08,7.705000,8.360000,7.665000,8.325000,8.325000,18556800
+2002-02-11,8.200000,8.410000,8.060000,8.275000,8.275000,12847800
+2002-02-12,8.190000,8.265000,8.060000,8.165000,8.165000,9701200
+2002-02-13,8.340000,8.590000,8.205000,8.395000,8.395000,24922800
+2002-02-14,8.460000,8.675000,8.250000,8.285000,8.285000,13740600
+2002-02-15,8.350000,8.355000,7.745000,7.835000,7.835000,15085000
+2002-02-19,7.560000,7.575000,7.125000,7.220000,7.220000,24867000
+2002-02-20,7.370000,7.715000,7.005000,7.645000,7.645000,25165200
+2002-02-21,7.575000,7.675000,7.175000,7.220000,7.220000,20302000
+2002-02-22,7.150000,7.330000,6.705000,7.230000,7.230000,18192000
+2002-02-25,7.210000,7.625000,7.045000,7.500000,7.500000,19819800
+2002-02-26,7.555000,7.565000,7.080000,7.465000,7.465000,16967000
+2002-02-27,7.545000,7.690000,7.225000,7.275000,7.275000,16609200
+2002-02-28,7.315000,7.505000,7.125000,7.230000,7.230000,16732200
+2002-03-01,7.465000,8.345000,7.465000,8.305000,8.305000,33485400
+2002-03-04,8.565000,9.035000,8.475000,8.905000,8.905000,32436200
+2002-03-05,8.645000,9.130000,8.585000,9.095000,9.095000,28806400
+2002-03-06,8.925000,9.250000,8.815000,9.130000,9.130000,23403200
+2002-03-07,9.155000,9.250000,8.810000,8.970000,8.970000,16618600
+2002-03-08,9.220000,9.490000,9.025000,9.465000,9.465000,19056800
+2002-03-11,9.255000,10.270000,9.255000,10.250000,10.250000,34095200
+2002-03-12,9.675000,9.905000,9.450000,9.680000,9.680000,29150400
+2002-03-13,9.375000,9.800000,9.375000,9.610000,9.610000,16346600
+2002-03-14,9.520000,9.695000,9.450000,9.615000,9.615000,11820400
+2002-03-15,9.750000,9.800000,9.065000,9.360000,9.360000,26581200
+2002-03-18,9.370000,9.630000,9.330000,9.605000,9.605000,15079000
+2002-03-19,9.585000,9.725000,9.495000,9.545000,9.545000,10785200
+2002-03-20,9.335000,9.545000,9.080000,9.100000,9.100000,10253600
+2002-03-21,9.175000,9.375000,8.800000,9.295000,9.295000,20458800
+2002-03-22,9.210000,9.380000,9.090000,9.215000,9.215000,13243400
+2002-03-25,9.200000,9.440000,8.860000,8.915000,8.915000,10465600
+2002-03-26,8.810000,9.225000,8.785000,8.845000,8.845000,16236600
+2002-03-27,8.855000,8.975000,8.645000,8.925000,8.925000,11252400
+2002-03-28,9.015000,9.245000,8.935000,9.235000,9.235000,10132400
+2002-04-01,9.375000,9.425000,9.000000,9.340000,9.340000,12873600
+2002-04-02,9.220000,9.250000,8.925000,9.025000,9.025000,14504000
+2002-04-03,9.115000,9.140000,8.755000,8.910000,8.910000,14094000
+2002-04-04,8.905000,8.910000,8.550000,8.830000,8.830000,15151200
+2002-04-05,8.870000,9.240000,8.855000,9.085000,9.085000,18153400
+2002-04-08,8.800000,9.425000,8.675000,9.420000,9.420000,26425800
+2002-04-09,9.475000,9.575000,9.195000,9.230000,9.230000,21637800
+2002-04-10,9.350000,9.405000,8.750000,9.220000,9.220000,33023200
+2002-04-11,8.430000,8.435000,7.630000,7.725000,7.725000,68269000
+2002-04-12,7.910000,7.995000,7.750000,7.860000,7.860000,23181000
+2002-04-15,7.950000,8.035000,7.660000,7.705000,7.705000,18348600
+2002-04-16,7.765000,7.775000,7.525000,7.695000,7.695000,29637400
+2002-04-17,7.790000,7.950000,7.740000,7.945000,7.945000,22728800
+2002-04-18,7.885000,7.920000,7.500000,7.530000,7.530000,16957400
+2002-04-19,7.600000,7.625000,7.375000,7.380000,7.380000,18159800
+2002-04-22,7.365000,7.365000,6.940000,7.070000,7.070000,19980800
+2002-04-23,7.055000,7.140000,6.935000,7.085000,7.085000,14515400
+2002-04-24,7.340000,7.545000,7.250000,7.305000,7.305000,26954000
+2002-04-25,7.120000,7.385000,7.085000,7.175000,7.175000,16614200
+2002-04-26,7.455000,7.475000,7.175000,7.250000,7.250000,19087600
+2002-04-29,7.235000,7.350000,6.985000,7.105000,7.105000,15803200
+2002-04-30,7.110000,7.525000,7.080000,7.380000,7.380000,21189800
+2002-05-01,7.395000,7.925000,7.060000,7.820000,7.820000,26775600
+2002-05-02,7.595000,7.885000,7.400000,7.500000,7.500000,21428600
+2002-05-03,7.510000,7.550000,7.235000,7.385000,7.385000,12639200
+2002-05-06,7.320000,7.630000,7.195000,7.300000,7.300000,15049000
+2002-05-07,7.390000,7.525000,7.280000,7.370000,7.370000,12768800
+2002-05-08,7.615000,8.185000,7.550000,8.160000,8.160000,21358200
+2002-05-09,7.825000,8.325000,7.795000,8.185000,8.185000,22037600
+2002-05-10,8.100000,8.225000,7.700000,7.730000,7.730000,17620000
+2002-05-13,7.830000,8.115000,7.825000,7.990000,7.990000,14218400
+2002-05-14,8.345000,8.910000,8.325000,8.775000,8.775000,24921600
+2002-05-15,8.585000,8.990000,8.525000,8.890000,8.890000,21283600
+2002-05-16,8.830000,9.100000,8.775000,9.015000,9.015000,14107400
+2002-05-17,9.095000,9.225000,8.835000,9.000000,9.000000,12264200
+2002-05-20,8.855000,8.860000,8.445000,8.585000,8.585000,14262800
+2002-05-21,8.610000,8.635000,8.250000,8.365000,8.365000,9908600
+2002-05-22,8.295000,8.570000,7.965000,8.135000,8.135000,16974200
+2002-05-23,8.265000,8.565000,8.125000,8.545000,8.545000,14567800
+2002-05-24,8.435000,8.550000,8.250000,8.505000,8.505000,8892600
+2002-05-28,8.575000,8.580000,8.080000,8.275000,8.275000,9969600
+2002-05-29,8.245000,8.440000,8.115000,8.290000,8.290000,10859600
+2002-05-30,8.180000,8.330000,8.025000,8.210000,8.210000,9002800
+2002-05-31,8.315000,8.350000,7.975000,8.010000,8.010000,11485200
+2002-06-03,8.060000,8.200000,7.825000,7.840000,7.840000,12299800
+2002-06-04,7.755000,8.150000,7.575000,8.000000,8.000000,15346800
+2002-06-05,8.030000,8.045000,7.745000,8.005000,8.005000,11977400
+2002-06-06,7.985000,8.210000,7.855000,7.995000,7.995000,13621000
+2002-06-07,7.750000,8.115000,7.725000,7.930000,7.930000,15696600
+2002-06-10,7.935000,8.105000,7.775000,7.920000,7.920000,9751200
+2002-06-11,7.985000,8.195000,7.880000,7.930000,7.930000,10988400
+2002-06-12,7.815000,8.025000,7.540000,7.915000,7.915000,17325200
+2002-06-13,7.815000,8.100000,7.750000,7.985000,7.985000,10379800
+2002-06-14,7.750000,8.035000,7.510000,7.980000,7.980000,13859800
+2002-06-17,7.955000,8.535000,7.885000,8.390000,8.390000,14372200
+2002-06-18,8.260000,8.525000,8.225000,8.325000,8.325000,11408600
+2002-06-19,8.230000,8.435000,8.005000,8.010000,8.010000,13765800
+2002-06-20,8.015000,8.110000,7.735000,7.825000,7.825000,14256800
+2002-06-21,7.530000,7.800000,7.450000,7.745000,7.745000,17888200
+2002-06-24,7.695000,7.700000,7.265000,7.540000,7.540000,19801800
+2002-06-25,7.600000,7.685000,6.735000,6.860000,6.860000,29930600
+2002-06-26,6.515000,7.350000,6.410000,7.090000,7.090000,27075400
+2002-06-27,7.215000,7.350000,6.620000,7.090000,7.090000,23792600
+2002-06-28,7.050000,7.435000,6.960000,7.380000,7.380000,13724200
+2002-07-01,7.380000,7.430000,6.775000,6.815000,6.815000,15985000
+2002-07-02,6.790000,6.795000,5.830000,5.940000,5.940000,34056000
+2002-07-03,5.975000,6.490000,5.935000,6.390000,6.390000,25270400
+2002-07-05,6.590000,6.825000,6.500000,6.810000,6.810000,9540600
+2002-07-08,6.650000,6.900000,6.425000,6.445000,6.445000,21260400
+2002-07-09,6.490000,6.560000,6.275000,6.350000,6.350000,18565400
+2002-07-10,6.460000,6.535000,6.030000,6.095000,6.095000,43756600
+2002-07-11,5.575000,6.580000,5.555000,6.460000,6.460000,80174600
+2002-07-12,6.395000,6.665000,6.310000,6.470000,6.470000,35516000
+2002-07-15,6.405000,6.835000,6.180000,6.530000,6.530000,39270800
+2002-07-16,6.430000,7.165000,6.410000,6.880000,6.880000,34376200
+2002-07-17,7.120000,7.400000,6.960000,7.130000,7.130000,31584000
+2002-07-18,7.035000,7.125000,6.765000,6.790000,6.790000,21366600
+2002-07-19,6.670000,6.740000,6.490000,6.685000,6.685000,19755600
+2002-07-22,6.580000,6.985000,6.420000,6.660000,6.660000,26279400
+2002-07-23,6.770000,6.845000,6.325000,6.330000,6.330000,24089400
+2002-07-24,6.150000,6.795000,5.950000,6.790000,6.790000,30755600
+2002-07-25,6.530000,6.570000,5.955000,6.080000,6.080000,39191600
+2002-07-26,6.235000,6.425000,6.095000,6.350000,6.350000,24620400
+2002-07-29,6.475000,6.635000,6.420000,6.595000,6.595000,17167200
+2002-07-30,6.460000,6.945000,6.435000,6.695000,6.695000,19163200
+2002-07-31,6.580000,6.740000,6.465000,6.585000,6.585000,14406800
+2002-08-01,6.530000,6.535000,6.055000,6.080000,6.080000,16597800
+2002-08-02,6.085000,6.090000,5.660000,5.790000,5.790000,17923400
+2002-08-05,5.795000,5.815000,5.375000,5.445000,5.445000,16354600
+2002-08-06,5.620000,5.970000,5.555000,5.750000,5.750000,15271000
+2002-08-07,6.005000,6.095000,5.375000,5.715000,5.715000,16859000
+2002-08-08,5.695000,6.050000,5.650000,5.980000,5.980000,13103000
+2002-08-09,5.875000,6.095000,5.815000,5.980000,5.980000,9686400
+2002-08-12,5.840000,5.990000,5.745000,5.985000,5.985000,9145000
+2002-08-13,5.945000,6.225000,5.580000,5.595000,5.595000,20229400
+2002-08-14,5.565000,5.985000,5.465000,5.855000,5.855000,19843800
+2002-08-15,5.950000,6.145000,5.880000,6.110000,6.110000,13778400
+2002-08-16,6.060000,6.135000,5.830000,6.050000,6.050000,14823000
+2002-08-19,6.025000,6.775000,6.020000,6.735000,6.735000,25111800
+2002-08-20,6.585000,6.730000,6.450000,6.545000,6.545000,16508200
+2002-08-21,6.675000,6.740000,6.350000,6.450000,6.450000,20940400
+2002-08-22,6.510000,6.550000,6.265000,6.400000,6.400000,21010800
+2002-08-23,6.375000,6.385000,5.900000,6.010000,6.010000,17538200
+2002-08-26,6.080000,6.085000,5.570000,5.655000,5.655000,22961600
+2002-08-27,5.765000,5.765000,5.280000,5.350000,5.350000,25004800
+2002-08-28,5.320000,5.325000,4.565000,4.565000,4.565000,55790200
+2002-08-29,4.870000,5.205000,4.860000,5.125000,5.125000,70994200
+2002-08-30,5.085000,5.225000,5.005000,5.145000,5.145000,23827400
+2002-09-03,5.020000,5.040000,4.805000,4.855000,4.855000,26393200
+2002-09-04,4.890000,4.975000,4.715000,4.885000,4.885000,26636600
+2002-09-05,4.815000,4.815000,4.570000,4.595000,4.595000,19218400
+2002-09-06,4.780000,5.010000,4.755000,4.970000,4.970000,17477400
+2002-09-09,4.815000,5.180000,4.760000,5.075000,5.075000,18977400
+2002-09-10,5.075000,5.340000,5.065000,5.230000,5.230000,19370400
+2002-09-11,5.215000,5.550000,5.215000,5.360000,5.360000,15065800
+2002-09-12,5.240000,5.310000,5.125000,5.175000,5.175000,20129400
+2002-09-13,5.100000,5.325000,5.015000,5.230000,5.230000,13731400
+2002-09-16,5.230000,5.295000,5.090000,5.090000,5.090000,9599200
+2002-09-17,5.325000,5.340000,5.000000,5.005000,5.005000,10153200
+2002-09-18,5.000000,5.060000,4.835000,5.000000,5.000000,9826200
+2002-09-19,4.780000,4.950000,4.750000,4.750000,4.750000,9647400
+2002-09-20,4.850000,4.885000,4.700000,4.875000,4.875000,12771200
+2002-09-23,4.790000,4.825000,4.500000,4.540000,4.540000,16616400
+2002-09-24,4.475000,4.730000,4.470000,4.500000,4.500000,18029000
+2002-09-25,4.625000,5.030000,4.525000,4.955000,4.955000,24466200
+2002-09-26,5.115000,5.355000,5.060000,5.295000,5.295000,36120400
+2002-09-27,5.100000,5.410000,5.075000,5.290000,5.290000,14591000
+2002-09-30,5.190000,5.190000,4.770000,4.785000,4.785000,21264200
+2002-10-01,4.950000,4.970000,4.660000,4.850000,4.850000,18278800
+2002-10-02,4.835000,5.140000,4.700000,4.740000,4.740000,17789000
+2002-10-03,4.780000,5.000000,4.650000,4.695000,4.695000,12065600
+2002-10-04,4.770000,4.785000,4.625000,4.670000,4.670000,11016800
+2002-10-07,4.625000,4.745000,4.505000,4.540000,4.540000,10617800
+2002-10-08,4.690000,4.790000,4.530000,4.750000,4.750000,16115000
+2002-10-09,4.720000,5.045000,4.640000,4.990000,4.990000,38622600
+2002-10-10,5.680000,6.150000,5.650000,6.135000,6.135000,125565800
+2002-10-11,6.125000,6.750000,6.125000,6.680000,6.680000,65590000
+2002-10-14,6.445000,7.350000,6.440000,7.130000,7.130000,65224200
+2002-10-15,7.490000,7.615000,7.070000,7.210000,7.210000,75204200
+2002-10-16,6.900000,7.415000,6.860000,7.340000,7.340000,45494600
+2002-10-17,7.370000,7.490000,6.955000,7.335000,7.335000,45500400
+2002-10-18,7.205000,7.525000,7.145000,7.515000,7.515000,30130400
+2002-10-21,7.305000,7.550000,7.125000,7.480000,7.480000,35637800
+2002-10-22,7.255000,7.455000,7.155000,7.425000,7.425000,29231800
+2002-10-23,7.280000,7.535000,7.175000,7.535000,7.535000,29811600
+2002-10-24,7.700000,7.795000,7.425000,7.530000,7.530000,35035000
+2002-10-25,7.425000,7.520000,7.350000,7.460000,7.460000,24087400
+2002-10-28,7.675000,7.675000,7.265000,7.330000,7.330000,20800000
+2002-10-29,7.255000,7.400000,7.110000,7.150000,7.150000,19701000
+2002-10-30,7.145000,7.530000,7.050000,7.490000,7.490000,18673200
+2002-10-31,7.510000,7.660000,7.355000,7.460000,7.460000,20530800
+2002-11-01,7.350000,7.615000,7.250000,7.575000,7.575000,19034000
+2002-11-04,7.755000,8.745000,7.750000,8.385000,8.385000,45498600
+2002-11-05,8.150000,8.545000,8.130000,8.515000,8.515000,24968000
+2002-11-06,8.545000,8.720000,8.310000,8.690000,8.690000,50040000
+2002-11-07,8.075000,8.090000,7.665000,7.800000,7.800000,45190000
+2002-11-08,7.740000,7.970000,7.680000,7.840000,7.840000,18175400
+2002-11-11,7.765000,7.850000,7.425000,7.460000,7.460000,15788200
+2002-11-12,7.545000,7.865000,7.420000,7.740000,7.740000,16587000
+2002-11-13,7.695000,7.950000,7.540000,7.720000,7.720000,21902200
+2002-11-14,7.980000,8.375000,7.925000,8.350000,8.350000,21356200
+2002-11-15,8.190000,8.755000,8.000000,8.725000,8.725000,29216000
+2002-11-18,8.700000,9.000000,8.695000,8.880000,8.880000,19682600
+2002-11-19,8.630000,8.795000,8.285000,8.375000,8.375000,21809200
+2002-11-20,8.585000,9.005000,8.425000,9.000000,9.000000,21584600
+2002-11-21,8.995000,9.400000,8.965000,9.155000,9.155000,27018400
+2002-11-22,9.350000,9.380000,9.055000,9.200000,9.200000,16801400
+2002-11-25,9.250000,9.300000,8.925000,9.195000,9.195000,15369200
+2002-11-26,9.210000,9.250000,8.950000,9.065000,9.065000,18048200
+2002-11-27,9.165000,9.295000,9.085000,9.195000,9.195000,12832400
+2002-11-29,9.245000,9.300000,9.045000,9.135000,9.135000,8669600
+2002-12-02,9.350000,9.485000,8.960000,9.020000,9.020000,15975200
+2002-12-03,8.680000,8.810000,8.610000,8.680000,8.680000,14968400
+2002-12-04,8.580000,8.625000,8.285000,8.370000,8.370000,21054800
+2002-12-05,8.530000,8.560000,8.250000,8.275000,8.275000,10059200
+2002-12-06,8.160000,8.470000,8.085000,8.370000,8.370000,9903400
+2002-12-09,8.300000,8.330000,7.855000,7.870000,7.870000,12543800
+2002-12-10,7.935000,8.345000,7.935000,8.135000,8.135000,16256400
+2002-12-11,8.150000,8.390000,8.045000,8.230000,8.230000,10198600
+2002-12-12,8.400000,8.925000,8.180000,8.840000,8.840000,25788000
+2002-12-13,8.700000,9.095000,8.640000,8.700000,8.700000,31478800
+2002-12-16,8.690000,8.800000,8.520000,8.650000,8.650000,18587400
+2002-12-17,8.550000,8.875000,8.545000,8.760000,8.760000,15719400
+2002-12-18,8.610000,8.675000,8.295000,8.400000,8.400000,13168600
+2002-12-19,8.285000,8.560000,8.050000,8.355000,8.355000,21200200
+2002-12-20,8.505000,8.575000,8.350000,8.540000,8.540000,18247400
+2002-12-23,8.400000,8.890000,8.285000,8.860000,8.860000,14434400
+2002-12-24,8.665000,8.900000,8.660000,8.685000,8.685000,6323400
+2002-12-26,8.660000,8.770000,8.425000,8.475000,8.475000,9446200
+2002-12-27,8.430000,8.690000,8.215000,8.290000,8.290000,9223400
+2002-12-30,8.225000,8.405000,8.090000,8.240000,8.240000,11204800
+2002-12-31,8.175000,8.310000,8.090000,8.175000,8.175000,8761000
+2003-01-02,8.295000,8.830000,8.250000,8.800000,8.800000,19640400
+2003-01-03,8.750000,9.175000,8.675000,9.050000,9.050000,15090600
+2003-01-06,8.925000,9.595000,8.890000,9.470000,9.470000,21209400
+2003-01-07,8.935000,9.650000,8.930000,9.575000,9.575000,28092600
+2003-01-08,9.435000,9.650000,9.280000,9.375000,9.375000,19244600
+2003-01-09,9.460000,9.745000,9.400000,9.720000,9.720000,15946400
+2003-01-10,9.400000,10.000000,9.400000,10.000000,10.000000,26122600
+2003-01-13,10.165000,10.195000,9.675000,9.835000,9.835000,27927600
+2003-01-14,9.780000,9.920000,9.650000,9.850000,9.850000,16060600
+2003-01-15,9.985000,10.090000,9.745000,9.790000,9.790000,44611000
+2003-01-16,9.150000,9.745000,9.055000,9.375000,9.375000,58419400
+2003-01-17,9.300000,9.490000,9.180000,9.185000,9.185000,22038600
+2003-01-21,9.105000,9.220000,8.875000,8.960000,8.960000,20121600
+2003-01-22,8.945000,9.375000,8.855000,9.240000,9.240000,23056600
+2003-01-23,9.425000,9.565000,9.280000,9.540000,9.540000,18093400
+2003-01-24,9.530000,9.585000,9.325000,9.390000,9.390000,23468400
+2003-01-27,9.090000,9.385000,9.020000,9.055000,9.055000,18864600
+2003-01-28,9.175000,9.360000,9.015000,9.310000,9.310000,17630800
+2003-01-29,9.205000,9.485000,9.080000,9.415000,9.415000,16126800
+2003-01-30,9.335000,9.425000,9.040000,9.045000,9.045000,10401000
+2003-01-31,8.910000,9.190000,8.900000,9.100000,9.100000,13286000
+2003-02-03,9.025000,9.200000,8.965000,8.985000,8.985000,9586600
+2003-02-04,8.915000,8.930000,8.750000,8.875000,8.875000,11921400
+2003-02-05,8.915000,9.075000,8.825000,8.895000,8.895000,12986800
+2003-02-06,8.860000,9.090000,8.775000,8.965000,8.965000,10670000
+2003-02-07,8.885000,8.925000,8.650000,8.770000,8.770000,14120200
+2003-02-10,8.785000,8.985000,8.730000,8.960000,8.960000,10486400
+2003-02-11,9.000000,9.245000,8.990000,9.145000,9.145000,14895800
+2003-02-12,9.100000,9.300000,9.000000,9.085000,9.085000,12368000
+2003-02-13,9.345000,9.365000,8.780000,9.025000,9.025000,26697800
+2003-02-14,9.155000,9.455000,9.045000,9.450000,9.450000,15901600
+2003-02-18,9.425000,9.800000,9.415000,9.745000,9.745000,17076400
+2003-02-19,9.550000,9.795000,9.515000,9.690000,9.690000,12852400
+2003-02-20,9.705000,9.875000,9.655000,9.860000,9.860000,13858000
+2003-02-21,9.750000,9.950000,9.605000,9.915000,9.915000,12717200
+2003-02-24,9.760000,9.980000,9.760000,9.835000,9.835000,9690400
+2003-02-25,9.725000,10.000000,9.655000,10.000000,10.000000,11824200
+2003-02-26,9.790000,9.980000,9.790000,9.855000,9.855000,15627400
+2003-02-27,9.905000,10.085000,9.805000,10.040000,10.040000,14893600
+2003-02-28,10.015000,10.475000,9.990000,10.425000,10.425000,23457000
+2003-03-03,10.395000,10.500000,9.950000,9.960000,9.960000,26211600
+2003-03-04,9.960000,10.080000,9.875000,9.935000,9.935000,20929000
+2003-03-05,9.990000,10.060000,9.865000,9.950000,9.950000,12279000
+2003-03-06,9.915000,9.915000,9.600000,9.720000,9.720000,21565200
+2003-03-07,9.625000,9.835000,9.400000,9.810000,9.810000,20720200
+2003-03-10,9.695000,9.825000,9.545000,9.595000,9.595000,11862800
+2003-03-11,9.630000,9.670000,9.410000,9.480000,9.480000,12019800
+2003-03-12,9.470000,9.610000,9.235000,9.595000,9.595000,13683400
+2003-03-13,9.845000,10.240000,9.725000,10.125000,10.125000,23618400
+2003-03-14,10.250000,10.415000,10.025000,10.345000,10.345000,18290000
+2003-03-17,10.060000,11.200000,10.045000,11.190000,11.190000,42114000
+2003-03-18,10.925000,11.050000,10.750000,10.985000,10.985000,25790000
+2003-03-19,11.025000,11.185000,10.700000,11.105000,11.105000,24803000
+2003-03-20,11.015000,11.630000,10.900000,11.425000,11.425000,29435600
+2003-03-21,11.790000,12.095000,11.465000,11.985000,11.985000,36211200
+2003-03-24,11.415000,11.860000,11.265000,11.675000,11.675000,33779000
+2003-03-25,11.680000,12.270000,11.645000,11.810000,11.810000,35374400
+2003-03-26,12.245000,12.495000,11.775000,12.380000,12.380000,37575800
+2003-03-27,12.350000,12.495000,12.125000,12.205000,12.205000,36248400
+2003-03-28,12.140000,12.375000,12.115000,12.190000,12.190000,21920600
+2003-03-31,11.910000,12.195000,11.825000,12.010000,12.010000,27397200
+2003-04-01,11.650000,11.800000,11.260000,11.395000,11.395000,47505200
+2003-04-02,11.520000,11.955000,11.335000,11.870000,11.870000,37083400
+2003-04-03,12.025000,12.390000,11.660000,12.170000,12.170000,27701400
+2003-04-04,12.025000,12.095000,11.555000,12.025000,12.025000,49753200
+2003-04-07,12.510000,12.625000,11.970000,12.000000,12.000000,35569400
+2003-04-08,12.090000,12.115000,11.820000,11.905000,11.905000,25371000
+2003-04-09,11.905000,11.955000,11.320000,11.435000,11.435000,48223400
+2003-04-10,11.860000,12.185000,11.565000,12.135000,12.135000,72957000
+2003-04-11,12.175000,12.465000,11.775000,12.215000,12.215000,44018000
+2003-04-14,11.895000,12.225000,11.830000,12.175000,12.175000,30561000
+2003-04-15,12.060000,12.500000,12.040000,12.405000,12.405000,27799400
+2003-04-16,12.505000,12.625000,12.235000,12.335000,12.335000,27588600
+2003-04-17,12.355000,12.550000,12.275000,12.545000,12.545000,22127000
+2003-04-21,12.500000,12.835000,12.425000,12.705000,12.705000,22762800
+2003-04-22,12.560000,12.870000,12.475000,12.830000,12.830000,22454200
+2003-04-23,12.880000,13.125000,12.710000,12.800000,12.800000,24810000
+2003-04-24,12.595000,12.850000,12.535000,12.725000,12.725000,18209600
+2003-04-25,12.900000,12.915000,12.420000,12.480000,12.480000,23921800
+2003-04-28,12.600000,12.715000,12.275000,12.645000,12.645000,19463400
+2003-04-29,12.610000,12.785000,12.380000,12.505000,12.505000,15976400
+2003-04-30,12.460000,12.625000,12.315000,12.385000,12.385000,16177800
+2003-05-01,12.395000,12.395000,12.020000,12.275000,12.275000,17440600
+2003-05-02,12.375000,12.635000,12.290000,12.575000,12.575000,17471000
+2003-05-05,12.670000,12.760000,12.445000,12.515000,12.515000,17909600
+2003-05-06,12.540000,12.750000,12.440000,12.575000,12.575000,19928600
+2003-05-07,12.505000,12.535000,12.305000,12.380000,12.380000,14273200
+2003-05-08,12.325000,12.670000,12.235000,12.540000,12.540000,16335200
+2003-05-09,12.565000,12.680000,12.365000,12.520000,12.520000,14930000
+2003-05-12,12.490000,13.115000,12.450000,13.085000,13.085000,22603200
+2003-05-13,12.980000,13.840000,12.935000,13.610000,13.610000,40806200
+2003-05-14,13.605000,13.775000,13.490000,13.545000,13.545000,24530400
+2003-05-15,13.540000,13.815000,13.390000,13.755000,13.755000,19305400
+2003-05-16,13.710000,14.000000,13.655000,13.875000,13.875000,20265200
+2003-05-19,13.735000,13.805000,12.875000,12.975000,12.975000,31976400
+2003-05-20,13.170000,13.455000,13.050000,13.290000,13.290000,34828400
+2003-05-21,13.290000,13.325000,12.995000,13.090000,13.090000,19526400
+2003-05-22,13.150000,13.505000,13.015000,13.450000,13.450000,16879600
+2003-05-23,13.500000,14.255000,13.450000,14.245000,14.245000,30364200
+2003-05-27,13.940000,15.095000,13.760000,14.985000,14.985000,44754600
+2003-05-28,15.005000,15.145000,14.790000,14.950000,14.950000,26365200
+2003-05-29,14.975000,15.360000,14.875000,15.075000,15.075000,22298800
+2003-05-30,15.150000,15.180000,14.755000,14.920000,14.920000,32082800
+2003-06-02,15.155000,15.200000,14.275000,14.330000,14.330000,34546600
+2003-06-03,14.465000,14.490000,14.115000,14.275000,14.275000,42024400
+2003-06-04,14.225000,14.830000,14.195000,14.795000,14.795000,42710000
+2003-06-05,14.750000,14.765000,14.490000,14.695000,14.695000,19126800
+2003-06-06,15.005000,15.100000,13.750000,13.975000,13.975000,42757200
+2003-06-09,14.275000,14.330000,13.675000,13.750000,13.750000,36217400
+2003-06-10,13.800000,13.995000,13.525000,13.950000,13.950000,20410600
+2003-06-11,14.160000,14.975000,14.100000,14.800000,14.800000,39347800
+2003-06-12,14.865000,14.945000,14.580000,14.850000,14.850000,26566000
+2003-06-13,14.815000,14.875000,14.280000,14.360000,14.360000,21168000
+2003-06-16,14.925000,15.395000,14.800000,15.330000,15.330000,38891000
+2003-06-17,15.475000,15.810000,15.335000,15.710000,15.710000,27192600
+2003-06-18,15.495000,16.410000,15.470000,16.150000,16.150000,32913800
+2003-06-19,16.055000,16.594999,15.750000,15.815000,15.815000,27878200
+2003-06-20,16.150000,16.245001,15.815000,16.070000,16.070000,25535800
+2003-06-23,15.950000,16.075001,15.560000,15.760000,15.760000,17155200
+2003-06-24,15.720000,15.970000,15.285000,15.680000,15.680000,21847600
+2003-06-25,15.600000,16.049999,15.585000,15.675000,15.675000,20055600
+2003-06-26,15.850000,16.500000,15.705000,16.450001,16.450001,28344600
+2003-06-27,16.549999,16.745001,16.090000,16.110001,16.110001,25943200
+2003-06-30,16.330000,16.680000,15.875000,16.350000,16.350000,21051200
+2003-07-01,16.430000,16.825001,16.100000,16.820000,16.820000,20227600
+2003-07-02,16.860001,17.205000,16.799999,17.174999,17.174999,19565800
+2003-07-03,16.799999,17.500000,16.799999,17.350000,17.350000,15900600
+2003-07-07,17.750000,17.860001,17.500000,17.635000,17.635000,25475200
+2003-07-08,17.620001,17.719999,17.055000,17.549999,17.549999,32377200
+2003-07-09,17.535000,17.895000,17.004999,17.645000,17.645000,45663200
+2003-07-10,16.235001,16.500000,16.075001,16.280001,16.280001,68416800
+2003-07-11,16.420000,16.459999,15.800000,16.094999,16.094999,37147000
+2003-07-14,16.450001,16.525000,15.755000,16.100000,16.100000,59770600
+2003-07-15,16.160000,16.385000,16.059999,16.180000,16.180000,26509200
+2003-07-16,16.375000,16.400000,15.775000,15.925000,15.925000,19096000
+2003-07-17,15.825000,15.825000,15.165000,15.305000,15.305000,26308600
+2003-07-18,15.495000,15.525000,14.780000,14.950000,14.950000,26502200
+2003-07-21,15.350000,15.770000,15.150000,15.525000,15.525000,32138800
+2003-07-22,15.640000,15.700000,15.110000,15.625000,15.625000,25113400
+2003-07-23,15.930000,16.075001,15.610000,16.059999,16.059999,20317400
+2003-07-24,16.325001,16.934999,16.205000,16.600000,16.600000,35844000
+2003-07-25,16.275000,16.469999,15.930000,16.400000,16.400000,24687800
+2003-07-28,16.459999,16.490000,16.075001,16.280001,16.280001,13811800
+2003-07-29,16.285000,16.344999,15.750000,15.780000,15.780000,16949200
+2003-07-30,15.855000,15.975000,15.305000,15.395000,15.395000,17340800
+2003-07-31,15.595000,15.940000,15.425000,15.565000,15.565000,17567000
+2003-08-01,15.815000,15.900000,15.505000,15.730000,15.730000,15927200
+2003-08-04,15.545000,15.610000,15.040000,15.390000,15.390000,18394200
+2003-08-05,15.330000,15.570000,14.855000,14.910000,14.910000,16673200
+2003-08-06,14.820000,15.025000,14.325000,14.730000,14.730000,32332000
+2003-08-07,14.650000,14.700000,14.380000,14.435000,14.435000,20955600
+2003-08-08,14.560000,14.665000,14.335000,14.500000,14.500000,17129000
+2003-08-11,14.450000,14.600000,14.050000,14.450000,14.450000,17036400
+2003-08-12,14.575000,14.975000,14.440000,14.925000,14.925000,21168200
+2003-08-13,14.965000,15.000000,14.660000,14.765000,14.765000,18916400
+2003-08-14,14.875000,14.925000,14.650000,14.885000,14.885000,12646400
+2003-08-15,14.945000,15.060000,14.790000,14.940000,14.940000,9426000
+2003-08-18,14.985000,15.685000,14.970000,15.645000,15.645000,20156800
+2003-08-19,15.775000,16.145000,15.675000,16.014999,16.014999,27413600
+2003-08-20,15.745000,16.170000,15.740000,15.995000,15.995000,15894200
+2003-08-21,16.150000,16.495001,15.990000,16.410000,16.410000,25279000
+2003-08-22,16.510000,16.674999,15.875000,15.910000,15.910000,20877000
+2003-08-25,15.945000,16.040001,15.635000,16.030001,16.030001,10210800
+2003-08-26,15.920000,16.075001,15.670000,16.030001,16.030001,10715400
+2003-08-27,15.945000,16.215000,15.915000,16.200001,16.200001,11914800
+2003-08-28,16.200001,16.299999,15.915000,16.174999,16.174999,10648400
+2003-08-29,16.200001,16.700001,16.170000,16.695000,16.695000,16074400
+2003-09-02,16.670000,17.120001,16.559999,17.094999,17.094999,27526000
+2003-09-03,17.000000,17.200001,16.715000,16.785000,16.785000,22407600
+2003-09-04,16.805000,17.605000,16.764999,17.415001,17.415001,30600200
+2003-09-05,17.174999,17.975000,17.150000,17.445000,17.445000,33720800
+2003-09-08,17.325001,17.834999,17.290001,17.770000,17.770000,22017600
+2003-09-09,17.629999,18.400000,17.385000,17.495001,17.495001,47070200
+2003-09-10,17.245001,17.600000,17.065001,17.215000,17.215000,28382200
+2003-09-11,17.375000,17.485001,17.030001,17.295000,17.295000,26116000
+2003-09-12,17.195000,17.625000,16.950001,17.410000,17.410000,22852400
+2003-09-15,17.450001,17.535000,17.290001,17.315001,17.315001,12989400
+2003-09-16,17.375000,17.934999,17.350000,17.910000,17.910000,24541600
+2003-09-17,17.855000,18.240000,17.680000,18.000000,18.000000,25265000
+2003-09-18,17.900000,18.915001,17.860001,18.790001,18.790001,35570800
+2003-09-19,18.575001,18.900000,18.400000,18.620001,18.620001,23608800
+2003-09-22,18.344999,18.455000,18.010000,18.290001,18.290001,23126000
+2003-09-23,18.350000,19.030001,18.325001,18.910000,18.910000,31720600
+2003-09-24,18.920000,19.125000,18.305000,18.305000,18.305000,31594000
+2003-09-25,18.059999,18.725000,17.860001,18.264999,18.264999,27535000
+2003-09-26,18.290001,18.420000,17.455000,17.540001,17.540001,24548000
+2003-09-29,17.709999,18.125000,17.480000,18.094999,18.094999,23433600
+2003-09-30,18.014999,18.125000,17.655001,17.695000,17.695000,21203000
+2003-10-01,18.049999,18.360001,17.500000,18.200001,18.200001,35383400
+2003-10-02,18.254999,19.000000,18.165001,18.955000,18.955000,30040000
+2003-10-03,19.480000,19.775000,19.245001,19.620001,19.620001,33854800
+2003-10-06,19.674999,19.940001,19.450001,19.889999,19.889999,20135400
+2003-10-07,19.690001,19.950001,19.190001,19.465000,19.465000,43982000
+2003-10-08,19.530001,19.719999,19.205000,19.395000,19.395000,46509600
+2003-10-09,20.700001,21.860001,20.600000,21.375000,21.375000,110624800
+2003-10-10,21.299999,21.655001,21.145000,21.580000,21.580000,36079200
+2003-10-13,21.450001,21.500000,21.045000,21.450001,21.450001,25207800
+2003-10-14,21.150000,21.424999,21.125000,21.150000,21.150000,21432800
+2003-10-15,21.405001,21.405001,20.665001,20.715000,20.715000,23228600
+2003-10-16,20.815001,21.250000,20.775000,21.105000,21.105000,19299800
+2003-10-17,21.264999,21.450001,20.805000,21.120001,21.120001,26315000
+2003-10-20,21.250000,21.370001,20.905001,21.184999,21.184999,17092600
+2003-10-21,21.049999,21.645000,21.000000,21.410000,21.410000,22456400
+2003-10-22,21.075001,21.295000,20.780001,20.885000,20.885000,23981000
+2003-10-23,20.504999,20.625000,19.930000,20.200001,20.200001,34960400
+2003-10-24,19.980000,20.389999,19.680000,20.264999,20.264999,28786600
+2003-10-27,20.400000,20.730000,20.305000,20.584999,20.584999,17490000
+2003-10-28,20.745001,21.535000,20.700001,21.510000,21.510000,25868600
+2003-10-29,21.469999,21.990000,21.360001,21.540001,21.540001,27784800
+2003-10-30,21.900000,22.275000,21.629999,21.860001,21.860001,33259800
+2003-10-31,21.730000,22.000000,21.594999,21.855000,21.855000,19394000
+2003-11-03,21.870001,22.385000,21.799999,21.965000,21.965000,21367400
+2003-11-04,21.950001,22.014999,21.650000,21.715000,21.715000,17291800
+2003-11-05,21.500000,22.129999,21.450001,22.020000,22.020000,15054200
+2003-11-06,21.500000,21.860001,21.275000,21.485001,21.485001,23257200
+2003-11-07,21.594999,21.674999,21.115000,21.174999,21.174999,18215600
+2003-11-10,21.150000,21.250000,20.600000,20.620001,20.620001,17051200
+2003-11-11,20.625000,20.815001,20.110001,20.309999,20.309999,19698600
+2003-11-12,20.285000,21.290001,20.264999,21.264999,21.264999,21975800
+2003-11-13,21.180000,21.795000,21.030001,21.650000,21.650000,19295200
+2003-11-14,21.440001,21.684999,20.760000,20.815001,20.815001,18739600
+2003-11-17,20.459999,20.540001,19.340000,20.180000,20.180000,42204400
+2003-11-18,20.375000,20.495001,18.975000,19.004999,19.004999,35245800
+2003-11-19,19.240000,19.805000,19.100000,19.635000,19.635000,37942000
+2003-11-20,19.455000,19.980000,19.315001,19.344999,19.344999,21760400
+2003-11-21,19.645000,19.860001,19.350000,19.740000,19.740000,20227200
+2003-11-24,20.100000,20.934999,20.100000,20.889999,20.889999,24679000
+2003-11-25,20.930000,21.350000,20.885000,21.025000,21.025000,22863800
+2003-11-26,21.385000,21.725000,20.969999,21.540001,21.540001,25370600
+2003-11-28,21.424999,21.625000,21.344999,21.495001,21.495001,6470200
+2003-12-01,21.709999,22.145000,21.660000,22.105000,22.105000,20852000
+2003-12-02,21.930000,22.090000,21.735001,21.754999,21.754999,17536400
+2003-12-03,21.834999,21.990000,21.174999,21.250000,21.250000,18848400
+2003-12-04,21.475000,21.805000,21.049999,21.565001,21.565001,20857800
+2003-12-05,21.395000,21.844999,21.325001,21.424999,21.424999,16190000
+2003-12-08,21.389999,21.535000,20.805000,21.389999,21.389999,19364600
+2003-12-09,21.520000,21.549999,20.715000,20.785000,20.785000,17286000
+2003-12-10,20.780001,21.045000,20.264999,20.580000,20.580000,20578400
+2003-12-11,20.535000,21.520000,20.535000,21.389999,21.389999,18270000
+2003-12-12,21.500000,21.500000,21.004999,21.490000,21.490000,15672800
+2003-12-15,21.920000,22.000000,21.049999,21.125000,21.125000,19726000
+2003-12-16,20.969999,21.094999,20.105000,20.350000,20.350000,29586600
+2003-12-17,20.290001,20.415001,19.980000,20.365000,20.365000,21553600
+2003-12-18,20.530001,21.025000,20.379999,20.945000,20.945000,16245800
+2003-12-19,20.965000,21.150000,20.575001,21.055000,21.055000,19387800
+2003-12-22,20.915001,21.305000,20.885000,21.299999,21.299999,14952400
+2003-12-23,21.174999,21.870001,21.125000,21.840000,21.840000,16710800
+2003-12-24,21.730000,22.670000,21.719999,22.385000,22.385000,18166400
+2003-12-26,22.400000,22.625000,22.125000,22.145000,22.145000,8493400
+2003-12-29,22.225000,22.549999,21.905001,22.485001,22.485001,13772400
+2003-12-30,22.465000,22.580000,22.250000,22.465000,22.465000,10980200
+2003-12-31,22.525000,22.740000,22.309999,22.514999,22.514999,18878600
+2004-01-02,22.750000,22.915001,22.559999,22.700001,22.700001,16480000
+2004-01-05,22.879999,23.555000,22.674999,23.450001,23.450001,23107800
+2004-01-06,23.219999,23.725000,23.174999,23.620001,23.620001,20527800
+2004-01-07,23.450001,23.879999,23.424999,23.834999,23.834999,19229000
+2004-01-08,24.000000,24.485001,23.934999,24.290001,24.290001,25469200
+2004-01-09,24.020000,24.379999,24.000000,24.059999,24.059999,19043400
+2004-01-12,24.125000,24.930000,24.100000,24.870001,24.870001,29919400
+2004-01-13,24.865000,25.205000,24.105000,24.400000,24.400000,28687400
+2004-01-14,24.690001,24.809999,23.844999,24.195000,24.195000,34347200
+2004-01-15,23.280001,24.400000,22.930000,24.045000,24.045000,54017800
+2004-01-16,24.230000,24.250000,23.549999,24.055000,24.055000,24108600
+2004-01-20,23.950001,24.000000,23.379999,23.830000,23.830000,21289000
+2004-01-21,23.620001,23.985001,23.455000,23.690001,23.690001,15065800
+2004-01-22,23.885000,24.105000,23.455000,23.590000,23.590000,14775000
+2004-01-23,23.620001,23.674999,23.375000,23.545000,23.545000,11179400
+2004-01-26,23.410000,24.115000,23.295000,24.080000,24.080000,15649000
+2004-01-27,24.035000,24.225000,23.500000,23.520000,23.520000,14656800
+2004-01-28,23.520000,23.650000,22.795000,23.094999,23.094999,16625200
+2004-01-29,23.270000,23.285000,22.125000,23.045000,23.045000,31658200
+2004-01-30,23.379999,23.570000,23.070000,23.490000,23.490000,16523400
+2004-02-02,23.549999,23.725000,22.985001,23.350000,23.350000,20970400
+2004-02-03,23.334999,23.340000,22.540001,22.745001,22.745001,20293400
+2004-02-04,22.410000,23.020000,22.400000,22.475000,22.475000,17276400
+2004-02-05,22.639999,23.350000,22.565001,23.049999,23.049999,18855400
+2004-02-06,23.110001,23.285000,22.940001,23.245001,23.245001,14507600
+2004-02-09,23.139999,23.625000,23.115000,23.459999,23.459999,11495600
+2004-02-10,23.379999,23.700001,23.280001,23.445000,23.445000,7743800
+2004-02-11,23.514999,23.969999,23.260000,23.934999,23.934999,15619200
+2004-02-12,23.785000,24.035000,23.615000,23.760000,23.760000,9577000
+2004-02-13,23.805000,23.934999,23.174999,23.200001,23.200001,14322400
+2004-02-17,23.389999,23.590000,23.025000,23.285000,23.285000,11648800
+2004-02-18,23.299999,23.370001,23.000000,23.045000,23.045000,10064000
+2004-02-19,23.209999,23.365000,23.000000,23.000000,23.000000,12007800
+2004-02-20,22.969999,23.500000,22.775000,23.254999,23.254999,16215000
+2004-02-23,23.219999,23.254999,22.240000,22.455000,22.455000,18639400
+2004-02-24,22.430000,22.430000,21.760000,21.879999,21.879999,22020200
+2004-02-25,22.195000,22.250000,21.415001,21.670000,21.670000,33120000
+2004-02-26,21.590000,21.910000,21.530001,21.775000,21.775000,27284200
+2004-02-27,21.725000,22.200001,21.705000,22.170000,22.170000,30877600
+2004-03-01,22.275000,22.440001,21.955000,22.040001,22.040001,26580200
+2004-03-02,22.059999,22.299999,21.490000,21.500000,21.500000,21491200
+2004-03-03,21.415001,21.785000,21.094999,21.680000,21.680000,20006400
+2004-03-04,21.730000,22.105000,21.674999,22.065001,22.065001,18474400
+2004-03-05,21.795000,22.389999,21.735001,22.200001,22.200001,20294600
+2004-03-08,22.165001,22.715000,21.850000,21.920000,21.920000,20297600
+2004-03-09,21.934999,22.139999,21.455000,21.674999,21.674999,20994200
+2004-03-10,21.665001,21.875000,20.754999,20.850000,20.850000,26451600
+2004-03-11,20.645000,21.280001,20.570000,20.825001,20.825001,28028800
+2004-03-12,20.940001,21.629999,20.860001,21.510000,21.510000,17305800
+2004-03-15,21.575001,21.684999,20.809999,20.875000,20.875000,14253200
+2004-03-16,21.045000,21.485001,21.000000,21.285000,21.285000,20002800
+2004-03-17,22.080000,22.525000,22.025000,22.424999,22.424999,32029200
+2004-03-18,22.395000,22.645000,22.180000,22.525000,22.525000,20207200
+2004-03-19,22.430000,23.344999,22.420000,22.875000,22.875000,28441000
+2004-03-22,22.500000,22.575001,21.879999,22.235001,22.235001,24057600
+2004-03-23,22.375000,22.420000,21.920000,22.040001,22.040001,18597400
+2004-03-24,22.135000,22.285000,21.745001,22.250000,22.250000,17418400
+2004-03-25,22.490000,23.495001,22.480000,23.469999,23.469999,23709000
+2004-03-26,23.375000,23.764999,23.365000,23.565001,23.565001,16950800
+2004-03-29,23.600000,23.950001,23.555000,23.844999,23.844999,17705600
+2004-03-30,23.799999,24.430000,23.775000,24.395000,24.395000,17370400
+2004-03-31,24.370001,24.650000,24.165001,24.235001,24.235001,21079800
+2004-04-01,24.410000,24.855000,24.209999,24.725000,24.725000,22423000
+2004-04-02,25.260000,25.315001,24.629999,25.075001,25.075001,22649600
+2004-04-05,25.030001,25.495001,24.650000,24.995001,24.995001,22794400
+2004-04-06,24.555000,24.650000,24.110001,24.385000,24.385000,23672800
+2004-04-07,24.225000,24.625000,23.945000,24.174999,24.174999,33223600
+2004-04-08,27.860001,28.120001,27.250000,28.105000,28.105000,90565800
+2004-04-12,27.889999,27.985001,27.434999,27.570000,27.570000,34690800
+2004-04-13,27.495001,27.540001,26.924999,27.070000,27.070000,26006600
+2004-04-14,26.834999,27.475000,26.715000,27.344999,27.344999,20407400
+2004-04-15,27.405001,27.434999,26.875000,26.950001,26.950001,17628400
+2004-04-16,26.965000,27.389999,26.674999,27.070000,27.070000,19200600
+2004-04-19,26.934999,27.920000,26.875000,27.844999,27.844999,19227800
+2004-04-20,27.934999,27.975000,26.750000,26.775000,26.775000,20080800
+2004-04-21,26.950001,27.379999,26.545000,27.290001,27.290001,20465200
+2004-04-22,27.389999,28.985001,27.254999,28.795000,28.795000,32878000
+2004-04-23,28.674999,28.750000,27.955000,28.375000,28.375000,19840200
+2004-04-26,28.225000,29.174999,27.975000,28.500000,28.500000,21909400
+2004-04-27,28.490000,29.125000,28.285000,28.770000,28.770000,20146600
+2004-04-28,28.885000,29.160000,27.875000,27.915001,27.915001,20569400
+2004-04-29,27.889999,28.200001,26.775000,27.355000,27.355000,29266400
+2004-04-30,27.205000,27.295000,25.010000,25.264999,25.264999,53096600
+2004-05-03,25.264999,26.200001,25.254999,26.150000,26.150000,29483200
+2004-05-04,26.170000,26.930000,26.125000,26.424999,26.424999,24891800
+2004-05-05,26.485001,26.959999,26.455000,26.580000,26.580000,15579000
+2004-05-06,26.600000,26.600000,25.815001,26.180000,26.180000,20360600
+2004-05-07,26.209999,26.870001,26.139999,26.400000,26.400000,22879000
+2004-05-10,26.195000,26.200001,25.334999,25.665001,25.665001,31360600
+2004-05-11,26.174999,27.000000,26.090000,26.764999,26.764999,34553400
+2004-05-12,26.809999,27.180000,25.760000,27.080000,27.080000,26108100
+2004-05-13,27.180000,28.100000,26.780001,27.100000,27.100000,19947800
+2004-05-14,27.540001,27.670000,26.750000,26.969999,26.969999,19204900
+2004-05-17,26.350000,27.660000,26.209999,27.020000,27.020000,13986900
+2004-05-18,27.490000,27.980000,27.309999,27.770000,27.770000,19084700
+2004-05-19,28.610001,28.900000,27.820000,27.950001,27.950001,25635100
+2004-05-20,28.120001,28.299999,27.510000,28.030001,28.030001,16537200
+2004-05-21,28.299999,28.850000,28.150000,28.549999,28.549999,15443000
+2004-05-24,28.840000,29.760000,28.840000,29.430000,29.430000,23701900
+2004-05-25,28.940001,30.500000,28.879999,30.280001,30.280001,25008100
+2004-05-26,29.780001,30.400000,29.770000,30.110001,30.110001,20933100
+2004-05-27,30.410000,30.799999,30.000000,30.559999,30.559999,18645100
+2004-05-28,30.410000,31.160000,30.299999,30.660000,30.660000,16671800
+2004-06-01,30.490000,32.820000,30.430000,32.480000,32.480000,28801700
+2004-06-02,32.450001,32.840000,31.490000,31.549999,31.549999,30055600
+2004-06-03,31.660000,31.809999,31.059999,31.190001,31.190001,18500900
+2004-06-04,31.879999,32.200001,31.450001,31.870001,31.870001,16267800
+2004-06-07,32.360001,32.520000,32.029999,32.509998,32.509998,17988200
+2004-06-08,32.320000,33.000000,32.279999,32.990002,32.990002,18337200
+2004-06-09,32.950001,33.009998,32.080002,32.320000,32.320000,16989900
+2004-06-10,32.730000,32.740002,31.860001,32.400002,32.400002,17537700
+2004-06-14,32.180000,32.240002,31.440001,31.650000,31.650000,11766900
+2004-06-15,31.990000,32.580002,31.969999,32.099998,32.099998,14796000
+2004-06-16,32.410000,32.770000,32.070000,32.470001,32.470001,11281800
+2004-06-17,32.389999,32.529999,31.959999,32.380001,32.380001,11658700
+2004-06-18,32.110001,32.869999,31.950001,32.070000,32.070000,15809400
+2004-06-21,32.200001,32.380001,31.559999,31.670000,31.670000,12367400
+2004-06-22,31.959999,32.549999,31.770000,32.540001,32.540001,15136600
+2004-06-23,32.540001,34.189999,32.520000,33.970001,33.970001,27370700
+2004-06-24,33.639999,34.380001,33.639999,34.110001,34.110001,15620000
+2004-06-25,34.369999,35.360001,33.500000,34.910000,34.910000,20260800
+2004-06-28,35.080002,36.270000,34.980000,35.480000,35.480000,24739200
+2004-06-29,35.380001,35.770000,35.080002,35.349998,35.349998,15009200
+2004-06-30,35.990002,36.509998,35.700001,36.400002,36.400002,21374100
+2004-07-01,35.139999,35.340000,34.110001,34.299999,34.299999,28525400
+2004-07-02,34.459999,34.540001,33.570000,33.939999,33.939999,16242300
+2004-07-06,34.000000,34.000000,32.299999,33.220001,33.220001,27496900
+2004-07-07,33.070000,33.139999,32.299999,32.599998,32.599998,35597600
+2004-07-08,29.420000,31.240000,28.990000,30.080000,30.080000,87532700
+2004-07-09,30.879999,30.980000,29.629999,30.110001,30.110001,26462600
+2004-07-12,29.660000,30.360001,29.530001,30.260000,30.260000,19661900
+2004-07-13,30.590000,30.799999,30.010000,30.340000,30.340000,19083300
+2004-07-14,29.740000,31.150000,29.299999,30.660000,30.660000,18758700
+2004-07-15,31.000000,31.010000,30.090000,30.250000,30.250000,13566000
+2004-07-16,30.719999,30.750000,29.150000,29.190001,29.190001,18654300
+2004-07-19,28.900000,29.000000,27.540001,28.110001,28.110001,32020300
+2004-07-20,28.200001,29.629999,28.160000,29.389999,29.389999,19513500
+2004-07-21,30.110001,30.150000,28.100000,28.129999,28.129999,19493300
+2004-07-22,27.820000,29.320000,27.510000,29.260000,29.260000,26079400
+2004-07-23,28.200001,28.969999,28.030001,28.190001,28.190001,15762300
+2004-07-26,28.450001,28.750000,27.580000,28.209999,28.209999,21484500
+2004-07-27,28.600000,30.219999,28.450001,30.000000,30.000000,25597200
+2004-07-28,29.790001,30.379999,28.860001,29.700001,29.700001,24592700
+2004-07-29,30.559999,30.799999,30.000000,30.490000,30.490000,18747300
+2004-07-30,30.250000,31.120001,30.190001,30.799999,30.799999,16265700
+2004-08-02,30.570000,30.610001,30.129999,30.420000,30.420000,12250800
+2004-08-03,30.410000,30.590000,28.980000,29.150000,29.150000,17729200
+2004-08-04,27.980000,28.230000,27.580000,27.910000,27.910000,30154500
+2004-08-05,28.459999,28.459999,26.700001,26.799999,26.799999,27642000
+2004-08-06,26.469999,26.700001,25.770000,26.020000,26.020000,30177200
+2004-08-09,26.290001,26.389999,25.520000,25.700001,25.700001,18997700
+2004-08-10,26.160000,27.240000,26.000000,27.150000,27.150000,24449700
+2004-08-11,26.400000,27.809999,26.240000,27.420000,27.420000,24805300
+2004-08-12,27.430000,27.930000,27.190001,27.549999,27.549999,18779300
+2004-08-13,27.830000,27.879999,26.900000,27.490000,27.490000,16278400
+2004-08-16,27.389999,28.770000,27.299999,28.250000,28.250000,15923600
+2004-08-17,28.629999,29.160000,28.170000,28.340000,28.340000,19609800
+2004-08-18,27.459999,28.540001,27.420000,28.480000,28.480000,22358300
+2004-08-19,28.340000,28.969999,27.900000,28.110001,28.110001,27657500
+2004-08-20,27.879999,28.830000,27.830000,28.610001,28.610001,17228700
+2004-08-23,29.100000,29.190001,28.559999,28.629999,28.629999,13024400
+2004-08-24,28.990000,29.080000,28.049999,28.410000,28.410000,16537400
+2004-08-25,28.360001,29.500000,28.209999,29.370001,29.370001,15518100
+2004-08-26,29.000000,29.490000,28.959999,29.170000,29.170000,9756000
+2004-08-27,29.430000,29.570000,29.190001,29.299999,29.299999,8327500
+2004-08-30,29.070000,29.070000,28.350000,28.459999,28.459999,12762700
+2004-08-31,28.480000,28.700001,28.080000,28.510000,28.510000,11381700
+2004-09-01,28.389999,29.040001,28.129999,29.010000,29.010000,16668100
+2004-09-02,28.700001,30.160000,28.660000,29.840000,29.840000,17247700
+2004-09-03,29.750000,30.309999,29.270000,29.459999,29.459999,12782700
+2004-09-07,29.870001,30.100000,29.270000,29.639999,29.639999,16331200
+2004-09-08,29.610001,30.469999,29.570000,30.379999,30.379999,18660200
+2004-09-09,30.200001,30.700001,29.830000,30.490000,30.490000,16353800
+2004-09-10,30.240000,31.120001,30.209999,31.080000,31.080000,11312500
+2004-09-13,31.010000,31.990000,31.010000,31.870001,31.870001,17476400
+2004-09-14,31.620001,33.549999,31.440001,33.200001,33.200001,28245600
+2004-09-15,32.700001,33.400002,32.410000,32.900002,32.900002,16915900
+2004-09-16,32.889999,33.939999,32.520000,32.790001,32.790001,23336100
+2004-09-17,33.000000,33.500000,32.660000,33.459999,33.459999,15049000
+2004-09-20,32.849998,34.040001,32.849998,33.259998,33.259998,18702200
+2004-09-21,33.349998,33.480000,32.799999,33.259998,33.259998,17063500
+2004-09-22,32.810001,33.750000,32.380001,32.470001,32.470001,22239800
+2004-09-23,32.709999,33.330002,32.330002,33.040001,33.040001,15695100
+2004-09-24,33.189999,33.250000,32.560001,32.580002,32.580002,11285600
+2004-09-27,32.540001,32.720001,31.650000,31.820000,31.820000,15218800
+2004-09-28,32.270000,33.000000,31.670000,32.799999,32.799999,18218200
+2004-09-29,32.779999,34.150002,32.770000,34.000000,34.000000,30183700
+2004-09-30,33.590000,34.490002,33.560001,33.910000,33.910000,25706900
+2004-10-01,34.349998,35.139999,34.119999,35.029999,35.029999,22100300
+2004-10-04,35.049999,35.450001,34.730000,34.910000,34.910000,21264100
+2004-10-05,34.520000,35.000000,34.430000,34.959999,34.959999,14934400
+2004-10-06,34.720001,35.150002,34.509998,34.959999,34.959999,17118000
+2004-10-07,34.880001,35.490002,34.720001,34.779999,34.779999,16233700
+2004-10-08,34.480000,35.000000,34.099998,34.169998,34.169998,16152700
+2004-10-11,34.400002,34.549999,33.650002,34.020000,34.020000,12664400
+2004-10-12,33.709999,34.480000,33.599998,34.230000,34.230000,31284000
+2004-10-13,35.950001,36.279999,34.840000,34.959999,34.959999,49492300
+2004-10-14,34.980000,35.150002,34.220001,34.959999,34.959999,22861600
+2004-10-15,34.889999,35.029999,34.410000,34.520000,34.520000,19657500
+2004-10-18,34.320000,35.400002,34.110001,35.299999,35.299999,19801400
+2004-10-19,35.439999,35.689999,34.529999,34.639999,34.639999,22291600
+2004-10-20,34.380001,34.570000,34.000000,34.490002,34.490002,15943900
+2004-10-21,35.400002,35.930000,34.900002,35.700001,35.700001,27937000
+2004-10-22,36.570000,36.750000,34.930000,34.959999,34.959999,35643200
+2004-10-25,34.830002,35.240002,34.500000,35.200001,35.200001,17718300
+2004-10-26,35.119999,35.389999,34.750000,35.090000,35.090000,15698700
+2004-10-27,34.900002,36.520000,34.849998,36.180000,36.180000,20968100
+2004-10-28,35.820000,36.500000,35.820000,36.450001,36.450001,13245200
+2004-10-29,36.080002,36.720001,35.860001,36.189999,36.189999,13432500
+2004-11-01,35.910000,37.000000,35.860001,36.919998,36.919998,16436900
+2004-11-02,37.029999,38.150002,36.889999,37.740002,37.740002,22925400
+2004-11-03,39.200001,39.250000,37.540001,37.970001,37.970001,25377500
+2004-11-04,37.570000,37.950001,36.750000,37.660000,37.660000,19812300
+2004-11-05,37.680000,37.849998,35.759998,36.349998,36.349998,25428100
+2004-11-08,36.790001,37.320000,36.709999,37.139999,37.139999,15368500
+2004-11-09,37.240002,37.630001,36.860001,37.029999,37.029999,14937800
+2004-11-10,36.849998,37.189999,36.369999,36.660000,36.660000,14160400
+2004-11-11,36.900002,37.820000,36.459999,37.790001,37.790001,16640100
+2004-11-12,37.869999,38.299999,37.529999,37.799999,37.799999,16545200
+2004-11-15,37.770000,38.000000,37.310001,37.630001,37.630001,13108100
+2004-11-16,37.290001,37.410000,36.560001,36.740002,36.740002,15160100
+2004-11-17,36.950001,37.369999,36.480000,36.950001,36.950001,15189100
+2004-11-18,37.430000,37.779999,37.099998,37.189999,37.189999,15401000
+2004-11-19,37.240002,37.410000,35.900002,36.150002,36.150002,15936600
+2004-11-22,35.990002,36.500000,35.349998,36.450001,36.450001,17256100
+2004-11-23,36.700001,37.049999,36.099998,36.400002,36.400002,14691000
+2004-11-24,37.150002,37.639999,36.660000,37.610001,37.610001,16495200
+2004-11-26,37.830002,38.150002,37.570000,37.810001,37.810001,6230900
+2004-11-29,38.090000,38.240002,37.500000,38.119999,38.119999,13895100
+2004-11-30,37.919998,38.189999,37.520000,37.619999,37.619999,10965100
+2004-12-01,37.900002,38.029999,37.349998,38.000000,38.000000,13204800
+2004-12-02,37.959999,39.400002,37.889999,39.139999,39.139999,22437500
+2004-12-03,39.139999,39.790001,38.709999,39.020000,39.020000,15890900
+2004-12-06,38.709999,39.000000,38.509998,38.840000,38.840000,12007500
+2004-12-07,38.750000,38.930000,37.000000,37.080002,37.080002,17718900
+2004-12-08,37.349998,37.439999,36.779999,37.049999,37.049999,14006800
+2004-12-09,36.830002,38.639999,36.820000,38.310001,38.310001,18900700
+2004-12-10,38.020000,38.580002,37.930000,38.020000,38.020000,10019700
+2004-12-13,38.259998,38.320000,37.549999,38.090000,38.090000,10266600
+2004-12-14,37.980000,38.470001,37.820000,38.259998,38.259998,10088500
+2004-12-15,38.130001,38.590000,37.950001,38.290001,38.290001,9710500
+2004-12-16,38.330002,38.360001,36.900002,37.080002,37.080002,18292300
+2004-12-17,36.770000,37.540001,36.610001,36.770000,36.770000,13640900
+2004-12-20,36.889999,37.529999,36.209999,36.660000,36.660000,18330400
+2004-12-21,36.980000,37.160000,36.240002,36.660000,36.660000,12393500
+2004-12-22,36.470001,37.349998,36.410000,37.290001,37.290001,11297700
+2004-12-23,37.430000,37.500000,37.209999,37.250000,37.250000,6045500
+2004-12-27,37.450001,38.000000,37.400002,37.740002,37.740002,11095800
+2004-12-28,37.849998,37.990002,37.650002,37.900002,37.900002,11291000
+2004-12-29,37.830002,38.400002,37.750000,37.849998,37.849998,10160200
+2004-12-30,38.029999,38.209999,37.820000,37.869999,37.869999,6955700
+2004-12-31,38.040001,38.200001,37.500000,37.680000,37.680000,7556600
+2005-01-03,38.360001,38.900002,37.650002,38.180000,38.180000,25482800
+2005-01-04,38.450001,38.540001,36.459999,36.580002,36.580002,26625300
+2005-01-05,36.689999,36.980000,36.060001,36.130001,36.130001,18469100
+2005-01-06,36.320000,36.500000,35.209999,35.430000,35.430000,20835300
+2005-01-07,35.990002,36.459999,35.410000,35.959999,35.959999,18596300
+2005-01-10,36.000000,36.759998,35.509998,36.320000,36.320000,17482800
+2005-01-11,36.310001,36.580002,35.389999,35.660000,35.660000,19711900
+2005-01-12,35.880001,36.180000,34.799999,36.139999,36.139999,23274700
+2005-01-13,36.119999,36.320000,35.259998,35.330002,35.330002,18526500
+2005-01-14,35.860001,36.700001,35.830002,36.700001,36.700001,27697700
+2005-01-18,37.099998,37.459999,36.599998,37.180000,37.180000,42709600
+2005-01-19,38.080002,38.200001,36.419998,36.450001,36.450001,44303200
+2005-01-20,35.389999,36.419998,35.049999,35.779999,35.779999,30239100
+2005-01-21,36.070000,36.110001,35.290001,35.299999,35.299999,26608000
+2005-01-24,35.480000,35.520000,33.750000,33.930000,33.930000,31477400
+2005-01-25,34.549999,34.759998,33.939999,34.040001,34.040001,26521400
+2005-01-26,34.709999,35.740002,34.389999,35.470001,35.470001,25767500
+2005-01-27,35.380001,35.490002,34.349998,34.730000,34.730000,21450800
+2005-01-28,34.900002,35.240002,34.119999,34.619999,34.619999,17853700
+2005-01-31,35.040001,35.439999,34.529999,35.209999,35.209999,20712200
+2005-02-01,35.130001,35.279999,34.459999,34.750000,34.750000,18633600
+2005-02-02,36.020000,36.340000,35.290001,35.540001,35.540001,33495200
+2005-02-03,35.270000,35.669998,35.000000,35.090000,35.090000,16742400
+2005-02-04,34.709999,35.299999,34.709999,35.020000,35.020000,16850200
+2005-02-07,35.070000,35.189999,34.360001,34.470001,34.470001,14588900
+2005-02-08,34.639999,34.910000,34.320000,34.360001,34.360001,17321500
+2005-02-09,34.599998,34.660000,33.450001,33.590000,33.590000,18285100
+2005-02-10,33.720001,33.720001,32.470001,33.439999,33.439999,32637400
+2005-02-11,33.450001,34.700001,33.310001,34.150002,34.150002,20005800
+2005-02-14,34.009998,34.410000,33.779999,34.330002,34.330002,20065300
+2005-02-15,34.340000,34.919998,33.810001,33.980000,33.980000,20391900
+2005-02-16,33.810001,34.820000,33.750000,34.419998,34.419998,22176200
+2005-02-17,34.419998,34.790001,33.759998,33.820000,33.820000,16203500
+2005-02-18,33.840000,33.980000,33.380001,33.599998,33.599998,12436100
+2005-02-22,33.250000,33.820000,32.660000,32.790001,32.790001,18142600
+2005-02-23,32.820000,32.919998,31.400000,32.119999,32.119999,34757100
+2005-02-24,30.430000,31.490000,30.299999,31.480000,31.480000,55457300
+2005-02-25,31.530001,31.959999,31.430000,31.730000,31.730000,20114900
+2005-02-28,31.740000,33.770000,31.620001,32.270000,32.270000,25266400
+2005-03-01,32.369999,32.669998,32.049999,32.299999,32.299999,20222500
+2005-03-02,32.070000,32.599998,31.750000,32.230000,32.230000,15357200
+2005-03-03,32.250000,32.480000,31.799999,32.310001,32.310001,17896100
+2005-03-04,32.360001,32.570000,31.760000,32.360001,32.360001,17499800
+2005-03-07,32.400002,33.310001,32.360001,33.090000,33.090000,17679200
+2005-03-08,33.549999,33.730000,33.139999,33.160000,33.160000,17839300
+2005-03-09,33.009998,33.150002,32.009998,32.320000,32.320000,21824400
+2005-03-10,32.430000,32.560001,31.600000,31.910000,31.910000,19381200
+2005-03-11,31.860001,32.209999,31.650000,31.650000,31.650000,13364800
+2005-03-14,31.740000,31.830000,30.650000,31.320000,31.320000,19762000
+2005-03-15,31.610001,32.279999,31.530001,31.940001,31.940001,20880800
+2005-03-16,31.870001,32.349998,31.400000,31.580000,31.580000,17952000
+2005-03-17,31.799999,31.980000,31.540001,31.610001,31.610001,13760200
+2005-03-18,31.530001,31.730000,30.910000,31.110001,31.110001,20796400
+2005-03-21,31.290001,31.770000,30.980000,31.620001,31.620001,18449400
+2005-03-22,31.700001,31.980000,30.860001,30.990000,30.990000,19570600
+2005-03-23,30.910000,31.330000,30.850000,30.870001,30.870001,13917100
+2005-03-24,31.940001,32.090000,31.410000,31.410000,31.410000,23162000
+2005-03-28,32.209999,32.500000,32.099998,32.250000,32.250000,20624400
+2005-03-29,32.180000,32.840000,31.790001,32.160000,32.160000,23544700
+2005-03-30,32.310001,33.599998,32.270000,33.480000,33.480000,28267900
+2005-03-31,33.549999,34.200001,33.200001,33.900002,33.900002,25390000
+2005-04-01,34.180000,34.770000,34.150002,34.279999,34.279999,27955400
+2005-04-04,34.340000,35.270000,33.750000,35.070000,35.070000,27853300
+2005-04-05,35.150002,35.400002,34.840000,35.150002,35.150002,20275900
+2005-04-06,35.139999,35.419998,34.119999,34.490002,34.490002,23574000
+2005-04-07,34.450001,35.250000,34.450001,35.070000,35.070000,20575000
+2005-04-08,35.040001,35.139999,34.650002,34.759998,34.759998,11106300
+2005-04-11,34.970001,35.090000,34.540001,34.599998,34.599998,11758500
+2005-04-12,34.349998,34.500000,33.740002,34.279999,34.279999,22681900
+2005-04-13,34.160000,34.459999,33.400002,33.599998,33.599998,16886100
+2005-04-14,33.630001,34.200001,33.400002,33.459999,33.459999,19855300
+2005-04-15,32.959999,33.410000,32.290001,32.459999,32.459999,27008500
+2005-04-18,32.430000,33.090000,32.400002,32.549999,32.549999,19201200
+2005-04-19,32.959999,33.330002,32.419998,33.220001,33.220001,34158500
+2005-04-20,34.959999,35.250000,34.360001,34.650002,34.650002,50104400
+2005-04-21,35.119999,35.910000,34.709999,35.869999,35.869999,27731600
+2005-04-22,35.209999,35.880001,34.500000,34.869999,34.869999,31869800
+2005-04-25,34.580002,35.590000,34.580002,35.490002,35.490002,23883600
+2005-04-26,35.119999,35.419998,34.799999,35.000000,35.000000,17921200
+2005-04-27,34.700001,35.139999,34.590000,34.950001,34.950001,14861300
+2005-04-28,34.700001,34.930000,34.020000,34.330002,34.330002,16159300
+2005-04-29,34.599998,34.750000,33.919998,34.500000,34.500000,15666100
+2005-05-02,34.439999,34.849998,34.029999,34.380001,34.380001,13231500
+2005-05-03,34.049999,34.599998,33.900002,34.279999,34.279999,22042800
+2005-05-04,34.430000,35.500000,34.380001,35.180000,35.180000,23410900
+2005-05-05,35.099998,35.290001,34.430000,34.709999,34.709999,16926300
+2005-05-06,35.000000,35.080002,34.450001,34.520000,34.520000,14202200
+2005-05-09,34.480000,34.650002,34.250000,34.590000,34.590000,9991700
+2005-05-10,34.299999,34.369999,33.860001,34.060001,34.060001,13227000
+2005-05-11,34.090000,34.880001,33.689999,34.880001,34.880001,19537100
+2005-05-12,34.950001,35.369999,34.540001,34.709999,34.709999,18906700
+2005-05-13,34.709999,35.349998,34.349998,34.820000,34.820000,15855900
+2005-05-16,34.779999,35.500000,34.740002,35.450001,35.450001,15473900
+2005-05-17,35.200001,35.799999,35.139999,35.680000,35.680000,13178400
+2005-05-18,35.790001,36.580002,35.689999,35.950001,35.950001,23769000
+2005-05-19,36.130001,36.990002,36.110001,36.750000,36.750000,21267100
+2005-05-20,36.599998,36.639999,36.130001,36.330002,36.330002,13771900
+2005-05-23,36.099998,37.099998,36.040001,36.799999,36.799999,21616200
+2005-05-24,36.869999,37.099998,36.450001,36.630001,36.630001,17421300
+2005-05-25,36.250000,36.419998,36.060001,36.270000,36.270000,14995100
+2005-05-26,36.450001,37.189999,36.349998,37.139999,37.139999,15547700
+2005-05-27,36.980000,37.470001,36.950001,37.270000,37.270000,10256600
+2005-05-31,37.029999,37.349998,36.849998,37.200001,37.200001,12498300
+2005-06-01,37.310001,38.900002,37.169998,38.419998,38.419998,28153800
+2005-06-02,38.200001,38.709999,38.130001,38.500000,38.500000,13150700
+2005-06-03,38.240002,38.790001,37.599998,37.919998,37.919998,12813300
+2005-06-06,37.790001,38.740002,37.750000,38.520000,38.520000,12416000
+2005-06-07,38.720001,38.950001,37.320000,37.439999,37.439999,22848300
+2005-06-08,37.419998,37.450001,36.320000,36.630001,36.630001,20121100
+2005-06-09,36.810001,37.480000,36.380001,37.450001,37.450001,18455100
+2005-06-10,37.480000,37.500000,36.320000,36.810001,36.810001,14216900
+2005-06-13,36.660000,37.509998,36.529999,36.900002,36.900002,11586300
+2005-06-14,36.560001,37.049999,36.430000,36.799999,36.799999,12781200
+2005-06-15,36.970001,37.110001,35.910000,36.320000,36.320000,22753900
+2005-06-16,36.459999,36.740002,36.220001,36.400002,36.400002,12228700
+2005-06-17,36.759998,36.980000,36.119999,36.299999,36.299999,15952800
+2005-06-20,35.959999,36.840000,35.790001,36.450001,36.450001,12753200
+2005-06-21,36.369999,37.310001,36.360001,36.950001,36.950001,16219200
+2005-06-22,36.910000,37.320000,36.840000,36.900002,36.900002,12148100
+2005-06-23,36.849998,37.310001,36.200001,36.200001,36.200001,15547700
+2005-06-24,36.259998,36.400002,35.599998,36.090000,36.090000,13468200
+2005-06-27,35.880001,36.110001,35.200001,35.680000,35.680000,12044700
+2005-06-28,35.950001,36.240002,35.509998,35.799999,35.799999,13346200
+2005-06-29,35.799999,35.939999,34.880001,34.939999,34.939999,16481900
+2005-06-30,34.840000,35.169998,34.439999,34.650002,34.650002,16699500
+2005-07-01,34.759998,34.849998,34.220001,34.439999,34.439999,9861600
+2005-07-05,34.250000,35.080002,34.200001,34.599998,34.599998,16086700
+2005-07-06,34.639999,34.970001,34.029999,34.119999,34.119999,13585700
+2005-07-07,33.869999,34.770000,33.720001,34.630001,34.630001,16354300
+2005-07-08,34.770000,34.869999,34.250000,34.619999,34.619999,15515400
+2005-07-11,34.900002,35.810001,34.779999,35.759998,35.759998,20233000
+2005-07-12,36.200001,36.490002,35.939999,36.230000,36.230000,19665800
+2005-07-13,36.419998,36.980000,36.410000,36.730000,36.730000,16897500
+2005-07-14,37.400002,37.500000,36.770000,36.860001,36.860001,14722200
+2005-07-15,37.049999,37.160000,36.500000,36.580002,36.580002,12372200
+2005-07-18,36.450001,36.779999,36.369999,36.580002,36.580002,11019300
+2005-07-19,37.020000,38.020000,36.560001,37.730000,37.730000,32685500
+2005-07-20,34.209999,34.349998,33.310001,33.400002,33.400002,82623300
+2005-07-21,33.750000,33.759998,32.750000,32.939999,32.939999,37778500
+2005-07-22,33.349998,33.770000,33.169998,33.529999,33.529999,27561500
+2005-07-25,33.880001,34.080002,33.590000,33.849998,33.849998,23252600
+2005-07-26,34.049999,34.299999,33.910000,34.150002,34.150002,16819200
+2005-07-27,34.220001,34.369999,33.950001,34.290001,34.290001,20497500
+2005-07-28,34.230000,34.310001,33.980000,34.009998,34.009998,11871600
+2005-07-29,34.009998,34.060001,33.340000,33.340000,33.340000,16236100
+2005-08-01,33.630001,33.689999,33.310001,33.330002,33.330002,12637100
+2005-08-02,33.459999,34.200001,33.389999,33.880001,33.880001,17581900
+2005-08-03,33.750000,34.680000,33.730000,34.509998,34.509998,18240600
+2005-08-04,34.259998,34.599998,34.000000,34.060001,34.060001,11143400
+2005-08-05,34.090000,34.279999,33.490002,33.520000,33.520000,11873800
+2005-08-08,33.860001,34.180000,33.660000,33.939999,33.939999,13066200
+2005-08-09,34.150002,34.320000,33.910000,34.060001,34.060001,9987400
+2005-08-10,34.279999,34.770000,34.000000,34.189999,34.189999,18047900
+2005-08-11,34.540001,35.000000,34.320000,34.939999,34.939999,22391900
+2005-08-12,34.860001,34.880001,34.450001,34.599998,34.599998,13306100
+2005-08-15,34.799999,34.869999,34.490002,34.599998,34.599998,11244500
+2005-08-16,34.570000,34.660000,34.209999,34.230000,34.230000,11867100
+2005-08-17,34.299999,34.730000,34.230000,34.389999,34.389999,10443700
+2005-08-18,34.130001,34.730000,34.119999,34.360001,34.360001,12154200
+2005-08-19,34.389999,34.470001,33.980000,34.000000,34.000000,12810400
+2005-08-22,34.070000,34.099998,33.070000,33.200001,33.200001,21054400
+2005-08-23,33.290001,33.330002,32.650002,33.110001,33.110001,16912700
+2005-08-24,32.919998,33.680000,32.880001,33.470001,33.470001,23249500
+2005-08-25,33.540001,33.619999,33.200001,33.480000,33.480000,12564900
+2005-08-26,33.509998,33.810001,33.380001,33.570000,33.570000,9833400
+2005-08-29,33.400002,33.779999,33.310001,33.680000,33.680000,11427600
+2005-08-30,33.500000,33.669998,33.000000,33.180000,33.180000,13496000
+2005-08-31,33.230000,33.389999,32.990002,33.320000,33.320000,13035500
+2005-09-01,33.279999,33.509998,33.040001,33.240002,33.240002,11848500
+2005-09-02,33.200001,33.369999,33.099998,33.169998,33.169998,6849000
+2005-09-06,33.180000,33.779999,33.180000,33.680000,33.680000,12513300
+2005-09-07,33.500000,34.259998,33.299999,34.060001,34.060001,12545300
+2005-09-08,33.740002,33.930000,33.200001,33.340000,33.340000,17464400
+2005-09-09,33.349998,33.599998,33.020000,33.459999,33.459999,15247900
+2005-09-12,33.419998,34.340000,33.410000,33.910000,33.910000,18580300
+2005-09-13,33.930000,34.709999,33.730000,34.299999,34.299999,19346600
+2005-09-14,34.299999,34.500000,33.639999,33.799999,33.799999,15017400
+2005-09-15,33.950001,33.990002,33.500000,33.570000,33.570000,10404800
+2005-09-16,33.740002,33.770000,33.049999,33.169998,33.169998,20858300
+2005-09-19,33.270000,33.470001,32.250000,32.750000,32.750000,15429900
+2005-09-20,32.880001,33.110001,32.360001,32.639999,32.639999,14578900
+2005-09-21,32.529999,33.099998,31.600000,31.969999,31.969999,21896000
+2005-09-22,32.090000,32.410000,31.760000,32.040001,32.040001,18259400
+2005-09-23,32.119999,32.250000,31.750000,32.130001,32.130001,14903700
+2005-09-26,32.480000,32.549999,31.990000,32.180000,32.180000,13548200
+2005-09-27,32.169998,32.610001,32.169998,32.480000,32.480000,12246900
+2005-09-28,32.669998,32.799999,32.270000,32.349998,32.349998,11622800
+2005-09-29,32.400002,33.700001,32.119999,33.459999,33.459999,22209100
+2005-09-30,33.590000,34.099998,33.560001,33.840000,33.840000,15697000
+2005-10-03,33.799999,34.119999,33.709999,33.770000,33.770000,13184500
+2005-10-04,33.750000,34.369999,33.509998,33.570000,33.570000,14331000
+2005-10-05,33.790001,33.930000,33.360001,33.490002,33.490002,14642000
+2005-10-06,33.950001,34.299999,33.540001,33.799999,33.799999,21836100
+2005-10-07,34.029999,34.290001,33.970001,34.160000,34.160000,12253200
+2005-10-10,34.200001,34.900002,34.119999,34.529999,34.529999,15227800
+2005-10-11,34.549999,34.840000,33.660000,34.099998,34.099998,16504700
+2005-10-12,33.990002,34.709999,33.910000,33.930000,33.930000,16089600
+2005-10-13,33.799999,33.849998,32.970001,33.369999,33.369999,16254600
+2005-10-14,33.619999,33.619999,32.770000,33.520000,33.520000,17425200
+2005-10-17,33.849998,34.299999,33.799999,34.160000,34.160000,21994600
+2005-10-18,34.400002,34.759998,33.639999,33.700001,33.700001,35010300
+2005-10-19,34.619999,35.939999,34.590000,35.910000,35.910000,63254000
+2005-10-20,35.900002,36.939999,35.049999,35.259998,35.259998,29267000
+2005-10-21,35.990002,36.330002,35.189999,35.290001,35.290001,28423400
+2005-10-24,35.299999,35.490002,34.939999,35.279999,35.279999,19591900
+2005-10-25,35.189999,35.380001,34.889999,35.119999,35.119999,14441100
+2005-10-26,35.060001,35.750000,34.970001,35.459999,35.459999,17125600
+2005-10-27,35.340000,35.660000,35.299999,35.450001,35.450001,11605000
+2005-10-28,35.619999,35.919998,35.250000,35.580002,35.580002,14123800
+2005-10-31,35.599998,37.270000,35.599998,36.970001,36.970001,24867100
+2005-11-01,36.619999,38.709999,36.590000,37.720001,37.720001,41932100
+2005-11-02,37.490002,38.040001,37.430000,37.990002,37.990002,17886200
+2005-11-03,38.259998,38.279999,37.330002,37.450001,37.450001,16880800
+2005-11-04,37.590000,37.990002,37.369999,37.869999,37.869999,11656100
+2005-11-07,37.689999,38.180000,37.410000,37.900002,37.900002,11652700
+2005-11-08,37.750000,38.500000,37.599998,37.970001,37.970001,14434400
+2005-11-09,37.759998,38.040001,37.430000,37.750000,37.750000,12217600
+2005-11-10,37.520000,38.750000,37.520000,38.689999,38.689999,13722400
+2005-11-11,38.689999,39.049999,38.340000,38.490002,38.490002,12234400
+2005-11-14,38.430000,38.720001,37.959999,38.450001,38.450001,10112500
+2005-11-15,38.259998,38.610001,37.540001,37.650002,37.650002,11981600
+2005-11-16,37.900002,40.070000,37.860001,40.040001,40.040001,39464600
+2005-11-17,40.320000,42.500000,40.029999,42.230000,42.230000,44796000
+2005-11-18,42.040001,42.410000,41.290001,41.540001,41.540001,30747600
+2005-11-21,41.259998,42.980000,41.209999,42.270000,42.270000,27915500
+2005-11-22,41.730000,42.650002,41.650002,42.360001,42.360001,26389500
+2005-11-23,42.209999,43.450001,42.169998,42.500000,42.500000,21471000
+2005-11-25,42.709999,42.840000,41.939999,42.130001,42.130001,8253000
+2005-11-28,41.630001,41.770000,40.660000,41.110001,41.110001,23190900
+2005-11-29,41.009998,41.590000,39.820000,40.189999,40.189999,28698200
+2005-11-30,39.380001,40.840000,39.090000,40.230000,40.230000,31608700
+2005-12-01,40.740002,41.250000,40.540001,41.070000,41.070000,20069600
+2005-12-02,41.220001,41.849998,40.889999,41.209999,41.209999,14411400
+2005-12-05,40.880001,41.029999,40.369999,40.470001,40.470001,15389400
+2005-12-06,40.779999,41.180000,40.119999,40.189999,40.189999,16356800
+2005-12-07,40.310001,40.630001,39.570000,40.110001,40.110001,15644900
+2005-12-08,40.250000,40.540001,39.950001,40.349998,40.349998,12851600
+2005-12-09,40.500000,40.869999,40.200001,40.310001,40.310001,11116900
+2005-12-12,40.410000,40.540001,39.810001,40.080002,40.080002,9776300
+2005-12-13,40.009998,41.400002,40.000000,41.200001,41.200001,17264700
+2005-12-14,41.119999,41.680000,40.840000,41.299999,41.299999,23034200
+2005-12-15,41.230000,41.840000,41.139999,41.750000,41.750000,20900800
+2005-12-16,41.860001,42.669998,41.750000,42.320000,42.320000,21805000
+2005-12-19,42.160000,42.889999,40.880001,41.049999,41.049999,18563700
+2005-12-20,41.259998,41.360001,40.480000,40.680000,40.680000,15269500
+2005-12-21,40.520000,41.049999,40.349998,40.470001,40.470001,11626900
+2005-12-22,40.689999,41.680000,40.549999,40.830002,40.830002,9548300
+2005-12-23,41.090000,41.099998,40.450001,40.630001,40.630001,5070200
+2005-12-27,40.650002,40.939999,39.849998,39.939999,39.939999,11672900
+2005-12-28,40.099998,40.480000,39.770000,40.250000,40.250000,11567900
+2005-12-29,40.250000,40.349998,39.410000,39.560001,39.560001,10116600
+2005-12-30,39.400002,39.560001,39.049999,39.180000,39.180000,12233000
+2006-01-03,39.689999,41.220001,38.790001,40.910000,40.910000,24227700
+2006-01-04,41.220001,41.900002,40.770000,40.970001,40.970001,20549000
+2006-01-05,40.930000,41.730000,40.849998,41.529999,41.529999,12829100
+2006-01-06,42.880001,43.570000,42.799999,43.209999,43.209999,29418400
+2006-01-09,43.099998,43.660000,42.820000,43.419998,43.419998,16266900
+2006-01-10,42.959999,43.340000,42.340000,42.980000,42.980000,16287200
+2006-01-11,42.189999,42.310001,41.720001,41.869999,41.869999,26191400
+2006-01-12,41.919998,41.990002,40.759998,40.889999,40.889999,18921700
+2006-01-13,41.000000,41.080002,39.619999,39.900002,39.900002,30960800
+2006-01-17,39.090000,40.389999,38.959999,40.110001,40.110001,41797000
+2006-01-18,35.009998,36.160000,34.740002,35.180000,35.180000,118556100
+2006-01-19,35.820000,35.840000,34.240002,34.330002,34.330002,60913000
+2006-01-20,34.439999,34.660000,33.209999,33.740002,33.740002,57644600
+2006-01-23,34.220001,34.400002,33.980000,34.169998,34.169998,30887600
+2006-01-24,34.549999,35.200001,34.509998,34.869999,34.869999,31667800
+2006-01-25,35.430000,35.480000,34.380001,34.490002,34.490002,23779200
+2006-01-26,34.939999,35.250000,34.490002,35.169998,35.169998,28471400
+2006-01-27,35.259998,35.270000,34.660000,35.090000,35.090000,24317400
+2006-01-30,35.090000,35.230000,34.880001,35.049999,35.049999,29030600
+2006-01-31,35.200001,35.200001,34.310001,34.380001,34.380001,36538000
+2006-02-01,34.450001,35.000000,34.349998,35.000000,35.000000,43600400
+2006-02-02,35.009998,35.099998,34.099998,34.250000,34.250000,18323500
+2006-02-03,34.000000,34.049999,33.259998,33.540001,33.540001,32639600
+2006-02-06,33.900002,33.950001,32.779999,32.919998,32.919998,23523100
+2006-02-07,33.009998,33.099998,32.320000,33.020000,33.020000,37236800
+2006-02-08,33.240002,33.400002,32.509998,33.000000,33.000000,28112900
+2006-02-09,33.009998,33.360001,32.400002,32.500000,32.500000,25335200
+2006-02-10,32.580002,32.599998,32.099998,32.509998,32.509998,19628600
+2006-02-13,32.209999,32.439999,31.700001,32.040001,32.040001,26139300
+2006-02-14,32.139999,32.830002,32.049999,32.720001,32.720001,26198600
+2006-02-15,32.619999,33.330002,32.549999,33.020000,33.020000,19542100
+2006-02-16,33.299999,33.400002,32.599998,32.750000,32.750000,19500100
+2006-02-17,32.880001,33.139999,32.709999,32.759998,32.759998,12620200
+2006-02-21,32.900002,33.070000,32.380001,32.389999,32.389999,14328100
+2006-02-22,32.490002,33.340000,32.400002,33.160000,33.160000,18433500
+2006-02-23,33.009998,33.660000,32.880001,33.150002,33.150002,14947600
+2006-02-24,33.200001,33.340000,32.919998,33.009998,33.009998,10136400
+2006-02-27,33.110001,33.209999,32.570000,32.740002,32.740002,11821900
+2006-02-28,32.630001,32.980000,31.340000,32.060001,32.060001,39926200
+2006-03-01,32.209999,32.419998,31.719999,32.180000,32.180000,18466100
+2006-03-02,32.009998,32.110001,31.580000,31.700001,31.700001,23487300
+2006-03-03,31.700001,32.070000,31.379999,31.450001,31.450001,23196000
+2006-03-06,31.530001,31.940001,31.450001,31.570000,31.570000,17211200
+2006-03-07,31.420000,32.200001,31.309999,31.430000,31.430000,23365100
+2006-03-08,31.309999,31.549999,30.820000,30.990000,30.990000,20910200
+2006-03-09,31.049999,31.320000,30.250000,30.280001,30.280001,18277000
+2006-03-10,30.400000,31.100000,29.750000,30.580000,30.580000,28991400
+2006-03-13,30.719999,30.969999,30.120001,30.150000,30.150000,18437700
+2006-03-14,30.100000,31.000000,30.100000,30.990000,30.990000,19294700
+2006-03-15,31.250000,31.280001,30.469999,30.530001,30.530001,20758000
+2006-03-16,30.770000,30.879999,30.100000,30.129999,30.129999,17108000
+2006-03-17,30.350000,30.360001,29.830000,30.070000,30.070000,23629700
+2006-03-20,30.379999,30.930000,30.200001,30.440001,30.440001,21455200
+2006-03-21,30.110001,30.780001,30.020000,30.110001,30.110001,18876400
+2006-03-22,30.330000,30.910000,30.309999,30.750000,30.750000,23147400
+2006-03-23,31.520000,31.950001,31.480000,31.830000,31.830000,33834000
+2006-03-24,32.279999,32.310001,31.530001,31.770000,31.770000,17816500
+2006-03-27,31.840000,32.080002,31.299999,31.450001,31.450001,14858500
+2006-03-28,31.450001,32.500000,31.410000,32.389999,32.389999,25981500
+2006-03-29,32.439999,32.910000,32.139999,32.560001,32.560001,25508200
+2006-03-30,32.750000,32.830002,32.090000,32.419998,32.419998,14314000
+2006-03-31,32.450001,32.630001,32.009998,32.259998,32.259998,12677300
+2006-04-03,32.410000,32.529999,31.790001,31.889999,31.889999,14887900
+2006-04-04,31.690001,32.250000,31.660000,32.099998,32.099998,16232700
+2006-04-05,32.299999,32.500000,31.959999,32.110001,32.110001,11982500
+2006-04-06,32.119999,33.139999,32.110001,32.790001,32.790001,21572600
+2006-04-07,32.849998,32.970001,32.209999,32.270000,32.270000,12980200
+2006-04-10,32.279999,32.630001,32.119999,32.549999,32.549999,9618000
+2006-04-11,32.450001,32.599998,31.150000,31.389999,31.389999,22105600
+2006-04-12,31.440001,31.500000,30.889999,31.100000,31.100000,14926900
+2006-04-13,31.139999,31.400000,30.850000,31.129999,31.129999,15609800
+2006-04-17,31.160000,31.790001,30.660000,30.969999,30.969999,18239900
+2006-04-18,31.170000,31.379999,30.530001,31.299999,31.299999,38604500
+2006-04-19,33.470001,33.980000,32.759998,33.540001,33.540001,77253600
+2006-04-20,33.480000,33.700001,32.930000,33.369999,33.369999,23403900
+2006-04-21,33.360001,34.090000,32.700001,32.889999,32.889999,25215000
+2006-04-24,33.009998,33.450001,32.900002,33.009998,33.009998,15441600
+2006-04-25,32.990002,33.060001,31.879999,31.990000,31.990000,22363200
+2006-04-26,32.299999,33.090000,32.099998,33.000000,33.000000,24426400
+2006-04-27,32.790001,33.500000,32.400002,33.200001,33.200001,19635700
+2006-04-28,32.880001,33.450001,32.779999,32.779999,32.779999,13283500
+2006-05-01,32.990002,33.099998,31.860001,32.080002,32.080002,19752200
+2006-05-02,32.200001,32.910000,31.719999,31.850000,31.850000,16276000
+2006-05-03,32.400002,33.000000,31.750000,32.169998,32.169998,23292600
+2006-05-04,32.400002,32.560001,32.080002,32.189999,32.189999,10402300
+2006-05-05,32.630001,32.750000,32.220001,32.660000,32.660000,14689200
+2006-05-08,33.090000,33.430000,32.630001,32.869999,32.869999,18188200
+2006-05-09,32.680000,34.000000,32.349998,32.490002,32.490002,13396400
+2006-05-10,32.480000,32.560001,32.000000,32.090000,32.090000,13797500
+2006-05-11,31.959999,32.169998,30.870001,30.990000,30.990000,24277000
+2006-05-12,30.709999,31.180000,30.379999,30.809999,30.809999,16745600
+2006-05-15,30.850000,31.250000,30.600000,31.030001,31.030001,13350700
+2006-05-16,31.100000,31.219999,30.629999,30.969999,30.969999,15333700
+2006-05-17,30.610001,31.260000,30.040001,30.110001,30.110001,39847500
+2006-05-18,30.100000,30.360001,28.930000,29.000000,29.000000,38254000
+2006-05-19,29.049999,29.750000,28.600000,29.530001,29.530001,33121900
+2006-05-22,30.420000,30.980000,29.889999,30.459999,30.459999,35089300
+2006-05-23,31.040001,31.629999,30.760000,30.760000,30.760000,28583400
+2006-05-24,30.950001,32.020000,30.709999,31.790001,31.790001,27286300
+2006-05-25,32.939999,33.500000,32.500000,32.919998,32.919998,34732700
+2006-05-26,32.860001,33.020000,32.349998,33.020000,33.020000,13842600
+2006-05-30,32.730000,32.889999,31.790001,32.000000,32.000000,16247600
+2006-05-31,32.189999,32.320000,31.110001,31.590000,31.590000,21306700
+2006-06-01,31.830000,32.000000,31.490000,31.990000,31.990000,16652400
+2006-06-02,32.110001,32.189999,31.299999,31.520000,31.520000,16470900
+2006-06-05,31.190001,31.430000,30.790001,30.820000,30.820000,17188500
+2006-06-06,30.830000,30.969999,30.350000,30.700001,30.700001,15615600
+2006-06-07,30.799999,31.250000,30.360001,30.540001,30.540001,17470100
+2006-06-08,30.430000,30.990000,29.830000,30.450001,30.450001,20538600
+2006-06-09,30.700001,30.799999,30.230000,30.370001,30.370001,10044700
+2006-06-12,30.370001,30.650000,29.660000,29.780001,29.780001,14344600
+2006-06-13,29.770000,30.200001,29.510000,29.650000,29.650000,16435700
+2006-06-14,29.809999,30.000000,29.250000,29.620001,29.620001,19257500
+2006-06-15,29.980000,30.959999,29.719999,30.790001,30.790001,22375000
+2006-06-16,30.700001,30.860001,30.150000,30.360001,30.360001,12951700
+2006-06-19,30.510000,30.750000,30.059999,30.350000,30.350000,12236700
+2006-06-20,30.420000,30.650000,30.100000,30.600000,30.600000,12613200
+2006-06-21,30.770000,31.540001,30.650000,31.059999,31.059999,18252900
+2006-06-22,30.850000,31.160000,30.440001,30.680000,30.680000,11500300
+2006-06-23,31.080000,31.760000,30.820000,31.370001,31.370001,17378500
+2006-06-26,31.450001,31.700001,31.160000,31.549999,31.549999,11457000
+2006-06-27,31.850000,32.220001,31.320000,31.510000,31.510000,16589400
+2006-06-28,31.750000,32.169998,31.700001,31.920000,31.920000,14032800
+2006-06-29,32.259998,33.000000,32.200001,32.970001,32.970001,15745900
+2006-06-30,33.009998,33.119999,32.540001,33.000000,33.000000,22566600
+2006-07-03,32.900002,33.439999,32.900002,33.299999,33.299999,8067100
+2006-07-05,32.849998,32.990002,32.330002,32.470001,32.470001,13453900
+2006-07-06,32.770000,33.220001,32.700001,33.110001,33.110001,13801500
+2006-07-07,32.939999,33.049999,32.369999,32.500000,32.500000,12372500
+2006-07-10,32.910000,33.139999,32.730000,32.849998,32.849998,15317600
+2006-07-11,32.790001,33.349998,32.320000,33.169998,33.169998,11285900
+2006-07-12,33.029999,33.740002,32.990002,33.380001,33.380001,18708400
+2006-07-13,32.849998,33.160000,32.070000,32.230000,32.230000,19463500
+2006-07-14,32.340000,32.480000,31.850000,32.080002,32.080002,12484700
+2006-07-17,31.980000,32.400002,31.690001,31.840000,31.840000,16369600
+2006-07-18,32.080002,32.259998,31.250000,32.240002,32.240002,39767700
+2006-07-19,26.410000,26.700001,25.040001,25.200001,25.200001,204339000
+2006-07-20,25.549999,26.209999,24.910000,25.270000,25.270000,54659700
+2006-07-21,24.990000,26.059999,24.910000,25.889999,25.889999,36187100
+2006-07-24,26.240000,27.230000,25.889999,26.940001,26.940001,42631300
+2006-07-25,26.750000,27.190001,26.570000,26.950001,26.950001,21388800
+2006-07-26,26.780001,27.510000,26.570000,27.080000,27.080000,20073800
+2006-07-27,27.350000,27.500000,26.639999,26.700001,26.700001,25153000
+2006-07-28,26.900000,27.500000,26.330000,27.469999,27.469999,21584800
+2006-07-31,27.459999,27.549999,26.990000,27.139999,27.139999,16492600
+2006-08-01,27.059999,27.120001,26.740000,26.940001,26.940001,18613100
+2006-08-02,27.010000,27.100000,26.450001,26.629999,26.629999,18116200
+2006-08-03,26.500000,27.049999,26.400000,26.900000,26.900000,15468500
+2006-08-04,27.200001,27.580000,26.830000,26.990000,26.990000,11607900
+2006-08-07,26.920000,27.110001,26.580000,27.080000,27.080000,12847200
+2006-08-08,26.950001,27.700001,26.629999,27.440001,27.440001,19332800
+2006-08-09,27.750000,27.850000,27.000000,27.219999,27.219999,14736100
+2006-08-10,26.950001,27.799999,26.850000,27.490000,27.490000,12597900
+2006-08-11,27.520000,27.719999,27.400000,27.500000,27.500000,9252200
+2006-08-14,27.709999,27.799999,27.000000,27.260000,27.260000,10640100
+2006-08-15,27.580000,28.200001,27.480000,28.170000,28.170000,15298500
+2006-08-16,28.350000,28.459999,27.969999,28.389999,28.389999,12589400
+2006-08-17,28.379999,29.320000,28.340000,28.910000,28.910000,17251600
+2006-08-18,28.900000,29.969999,28.770000,29.780001,29.780001,19611300
+2006-08-21,29.219999,29.520000,28.830000,28.900000,28.900000,11575200
+2006-08-22,28.840000,29.650000,28.799999,29.260000,29.260000,10891800
+2006-08-23,29.340000,29.469999,28.680000,28.700001,28.700001,8837400
+2006-08-24,28.750000,29.129999,28.700001,28.990000,28.990000,8983600
+2006-08-25,28.950001,29.280001,28.740000,28.770000,28.770000,6203800
+2006-08-28,28.750000,29.250000,28.700001,28.910000,28.910000,10404700
+2006-08-29,28.860001,29.010000,28.510000,28.959999,28.959999,9888800
+2006-08-30,29.000000,29.139999,28.709999,29.020000,29.020000,13119300
+2006-08-31,28.990000,29.020000,28.590000,28.830000,28.830000,8879300
+2006-09-01,28.910000,29.530001,28.910000,29.490000,29.490000,11573600
+2006-09-05,29.450001,29.480000,28.950001,29.070000,29.070000,11425600
+2006-09-06,28.940001,29.010000,28.490000,28.500000,28.500000,12800600
+2006-09-07,28.400000,28.510000,27.820000,27.860001,27.860001,18434400
+2006-09-08,28.040001,28.320000,27.969999,28.139999,28.139999,9781800
+2006-09-11,28.049999,28.730000,27.670000,28.610001,28.610001,12936000
+2006-09-12,28.549999,29.219999,28.459999,29.090000,29.090000,10005000
+2006-09-13,29.059999,29.370001,28.799999,29.170000,29.170000,15248400
+2006-09-14,29.100000,29.240000,28.889999,29.030001,29.030001,9565500
+2006-09-15,29.299999,29.570000,29.219999,29.320000,29.320000,19550300
+2006-09-18,29.370001,29.389999,28.580000,29.000000,29.000000,15685000
+2006-09-19,29.090000,29.129999,25.100000,25.750000,25.750000,127718600
+2006-09-20,26.040001,26.090000,25.379999,25.639999,25.639999,55636600
+2006-09-21,25.530001,25.950001,25.209999,25.340000,25.340000,28584500
+2006-09-22,25.340000,25.690001,25.180000,25.520000,25.520000,20667400
+2006-09-25,25.639999,25.870001,25.200001,25.290001,25.290001,19992400
+2006-09-26,25.440001,25.480000,24.809999,25.049999,25.049999,34950100
+2006-09-27,25.000000,25.010000,24.600000,24.650000,24.650000,29835900
+2006-09-28,24.870001,25.500000,24.840000,25.330000,25.330000,35331200
+2006-09-29,25.500000,25.590000,25.240000,25.280001,25.280001,18982600
+2006-10-02,25.450001,25.459999,24.750000,24.879999,24.879999,19641300
+2006-10-03,24.809999,25.000000,24.700001,24.840000,24.840000,21148300
+2006-10-04,24.889999,25.260000,24.740000,25.209999,25.209999,21717900
+2006-10-05,25.160000,25.250000,24.879999,25.180000,25.180000,17634000
+2006-10-06,25.090000,25.500000,25.010000,25.469999,25.469999,20847000
+2006-10-09,25.450001,25.719999,25.000000,25.030001,25.030001,15729500
+2006-10-10,24.940001,25.030001,24.320000,24.469999,24.469999,30371900
+2006-10-11,24.290001,24.639999,23.799999,24.240000,24.240000,39356300
+2006-10-12,24.320000,24.379999,24.100000,24.120001,24.120001,25824500
+2006-10-13,23.900000,24.500000,23.570000,24.420000,24.420000,51338900
+2006-10-16,24.340000,24.520000,23.750000,24.180000,24.180000,36496400
+2006-10-17,23.740000,24.350000,23.680000,24.150000,24.150000,67417200
+2006-10-18,24.570000,24.750000,22.879999,22.990000,22.990000,111660900
+2006-10-19,23.020000,23.590000,23.000000,23.139999,23.139999,42280400
+2006-10-20,23.219999,23.270000,22.650000,23.209999,23.209999,49795600
+2006-10-23,23.139999,23.500000,23.100000,23.370001,23.370001,26301200
+2006-10-24,23.350000,23.639999,23.150000,23.530001,23.530001,31704000
+2006-10-25,23.730000,24.639999,23.690001,24.490000,24.490000,40110600
+2006-10-26,24.700001,25.330000,24.360001,25.280001,25.280001,38435800
+2006-10-27,25.230000,25.600000,24.900000,25.340000,25.340000,29647200
+2006-10-30,25.870001,26.400000,25.660000,25.950001,25.950001,35295800
+2006-10-31,26.440001,26.700001,26.100000,26.340000,26.340000,33492800
+2006-11-01,26.500000,26.620001,25.820000,25.990000,25.990000,26300200
+2006-11-02,25.940001,26.600000,25.770000,26.530001,26.530001,34824500
+2006-11-03,26.629999,26.700001,26.040001,26.180000,26.180000,15313800
+2006-11-06,26.340000,26.700001,26.100000,26.590000,26.590000,22563600
+2006-11-07,26.690001,27.150000,26.580000,26.610001,26.610001,28442700
+2006-11-08,26.360001,27.250000,26.309999,26.900000,26.900000,23384800
+2006-11-09,27.180000,27.650000,26.959999,27.450001,27.450001,27428600
+2006-11-10,27.400000,27.500000,27.030001,27.389999,27.389999,21366600
+2006-11-13,27.170000,27.620001,27.150000,27.400000,27.400000,16876500
+2006-11-14,27.400000,27.500000,27.110001,27.240000,27.240000,20145700
+2006-11-15,27.180000,27.500000,27.030001,27.150000,27.150000,22112700
+2006-11-16,27.309999,27.330000,26.200001,26.639999,26.639999,38508500
+2006-11-17,26.680000,27.049999,26.629999,26.910000,26.910000,17955200
+2006-11-20,26.959999,27.040001,26.629999,26.719999,26.719999,20272000
+2006-11-21,26.500000,27.340000,26.500000,27.139999,27.139999,21138300
+2006-11-22,27.510000,28.559999,27.290001,28.490000,28.490000,32055800
+2006-11-24,28.219999,28.490000,27.700001,28.030001,28.030001,9384400
+2006-11-27,27.500000,28.500000,27.170000,27.270000,27.270000,19922300
+2006-11-28,27.030001,27.240000,26.850000,27.000000,27.000000,14940800
+2006-11-29,27.400000,27.400000,26.709999,27.040001,27.040001,19375100
+2006-11-30,27.000000,27.150000,26.730000,27.010000,27.010000,14916300
+2006-12-01,27.000000,27.250000,26.000000,26.490000,26.490000,20055800
+2006-12-04,26.490000,27.299999,26.490000,26.889999,26.889999,28012700
+2006-12-05,26.870001,27.610001,26.860001,27.430000,27.430000,27118200
+2006-12-06,27.250000,27.450001,26.600000,26.860001,26.860001,35202800
+2006-12-07,26.950001,27.160000,26.600000,26.629999,26.629999,22407000
+2006-12-08,26.650000,26.780001,26.270000,26.340000,26.340000,19262200
+2006-12-11,26.370001,26.700001,26.120001,26.490000,26.490000,12916900
+2006-12-12,26.629999,27.379999,26.600000,26.750000,26.750000,31971600
+2006-12-13,27.049999,27.230000,26.510000,26.600000,26.600000,20428600
+2006-12-14,26.629999,26.969999,26.500000,26.870001,26.870001,14400300
+2006-12-15,27.000000,27.219999,26.760000,26.900000,26.900000,27227300
+2006-12-18,26.889999,26.969999,26.070000,26.299999,26.299999,19431200
+2006-12-19,26.049999,26.500000,25.910000,26.410000,26.410000,18973800
+2006-12-20,26.240000,26.309999,25.540001,25.590000,25.590000,24905600
+2006-12-21,25.709999,25.750000,25.129999,25.480000,25.480000,27050600
+2006-12-22,25.670000,25.879999,25.450001,25.549999,25.549999,14666100
+2006-12-26,25.490000,25.610001,25.340000,25.450001,25.450001,8400500
+2006-12-27,25.469999,25.879999,25.450001,25.750000,25.750000,12421800
+2006-12-28,25.620001,25.719999,25.299999,25.360001,25.360001,11908400
+2006-12-29,25.420000,25.820000,25.330000,25.540001,25.540001,16297800
+2007-01-03,25.850000,26.260000,25.260000,25.610001,25.610001,26352700
+2007-01-04,25.639999,26.920000,25.520000,26.850000,26.850000,32512200
+2007-01-05,26.700001,27.870001,26.660000,27.740000,27.740000,64264600
+2007-01-08,27.700001,28.040001,27.430000,27.920000,27.920000,25713700
+2007-01-09,28.000000,28.049999,27.410000,27.580000,27.580000,25621500
+2007-01-10,27.480000,28.920000,27.440001,28.700001,28.700001,40240000
+2007-01-11,28.760000,29.370001,28.700001,29.200001,29.200001,28457500
+2007-01-12,28.980000,29.500000,28.490000,29.450001,29.450001,20971100
+2007-01-16,29.879999,29.879999,28.790001,29.290001,29.290001,24448400
+2007-01-17,29.400000,29.400000,28.809999,29.049999,29.049999,17796100
+2007-01-18,28.920000,28.990000,27.820000,28.120001,28.120001,23869400
+2007-01-19,27.930000,28.340000,27.549999,27.639999,27.639999,24757700
+2007-01-22,27.850000,27.900000,27.180000,27.420000,27.420000,23199800
+2007-01-23,27.420000,27.540001,26.879999,26.959999,26.959999,43728100
+2007-01-24,28.340000,29.200001,28.219999,28.940001,28.940001,81017500
+2007-01-25,28.680000,29.049999,28.129999,28.209999,28.209999,28356200
+2007-01-26,28.330000,28.520000,27.959999,28.040001,28.040001,21334800
+2007-01-29,28.049999,28.209999,27.730000,27.870001,27.870001,16859000
+2007-01-30,27.870001,28.389999,27.610001,28.040001,28.040001,13576600
+2007-01-31,28.040001,28.480000,27.820000,28.309999,28.309999,14100300
+2007-02-01,28.680000,28.709999,28.150000,28.350000,28.350000,17905200
+2007-02-02,28.570000,28.920000,28.450001,28.770000,28.770000,16483100
+2007-02-05,28.670000,28.799999,28.360001,28.559999,28.559999,11163300
+2007-02-06,28.610001,29.559999,28.600000,29.350000,29.350000,24506800
+2007-02-07,29.350000,30.150000,29.120001,29.889999,29.889999,29162600
+2007-02-08,29.750000,30.240000,29.730000,30.080000,30.080000,15561700
+2007-02-09,30.070000,30.160000,29.510000,29.740000,29.740000,18172200
+2007-02-12,29.290001,29.770000,29.049999,29.170000,29.170000,18316200
+2007-02-13,29.370001,29.680000,29.260000,29.559999,29.559999,12802300
+2007-02-14,29.690001,30.860001,29.639999,30.660000,30.660000,30821100
+2007-02-15,30.820000,31.650000,30.690001,31.250000,31.250000,28160300
+2007-02-16,31.000000,32.000000,31.000000,31.910000,31.910000,36774800
+2007-02-20,31.799999,32.209999,31.389999,32.009998,32.009998,20026500
+2007-02-21,31.740000,31.770000,31.219999,31.650000,31.650000,27999200
+2007-02-22,31.600000,32.080002,31.320000,31.600000,31.600000,15485100
+2007-02-23,31.600000,32.180000,31.410000,32.099998,32.099998,21533500
+2007-02-26,32.799999,32.840000,30.850000,32.110001,32.110001,28295200
+2007-02-27,31.379999,31.639999,30.240000,30.950001,30.950001,31505200
+2007-02-28,30.860001,31.469999,30.090000,30.860001,30.860001,30487800
+2007-03-01,30.129999,31.230000,30.000000,30.860001,30.860001,24012900
+2007-03-02,30.540001,30.889999,30.280001,30.420000,30.420000,18136600
+2007-03-05,30.180000,31.900000,30.139999,30.309999,30.309999,21469000
+2007-03-06,30.889999,31.059999,30.520000,30.799999,30.799999,33472600
+2007-03-07,30.950001,31.030001,30.330000,30.389999,30.389999,16014300
+2007-03-08,30.820000,31.040001,30.580000,30.709999,30.709999,13715100
+2007-03-09,29.850000,30.150000,28.790001,29.120001,29.120001,72749900
+2007-03-12,29.299999,30.110001,29.290001,29.990000,29.990000,35991600
+2007-03-13,29.770000,30.240000,29.420000,29.559999,29.559999,18263800
+2007-03-14,29.629999,30.040001,29.260000,29.860001,29.860001,23604900
+2007-03-15,29.809999,30.070000,29.780001,30.059999,30.059999,15440900
+2007-03-16,30.020000,30.110001,29.719999,29.879999,29.879999,19799300
+2007-03-19,30.000000,30.190001,29.920000,30.030001,30.030001,9983800
+2007-03-20,30.000000,30.350000,29.940001,30.330000,30.330000,12203800
+2007-03-21,30.330000,31.389999,30.209999,31.290001,31.290001,26667300
+2007-03-22,31.360001,31.440001,30.850000,31.260000,31.260000,12989800
+2007-03-23,31.330000,31.700001,31.160000,31.360001,31.360001,12727900
+2007-03-26,31.250000,31.740000,31.240000,31.660000,31.660000,12907000
+2007-03-27,31.559999,31.660000,31.240000,31.549999,31.549999,9403100
+2007-03-28,31.450001,31.700001,31.250000,31.410000,31.410000,13162500
+2007-03-29,31.709999,31.730000,30.830000,31.340000,31.340000,13815000
+2007-03-30,31.209999,31.600000,31.020000,31.290001,31.290001,9425000
+2007-04-02,31.219999,31.400000,30.930000,31.280001,31.280001,8668800
+2007-04-03,31.410000,32.000000,31.410000,31.719999,31.719999,12324600
+2007-04-04,31.610001,31.870001,31.480000,31.620001,31.620001,7836200
+2007-04-05,32.000000,32.090000,31.719999,31.959999,31.959999,13878100
+2007-04-09,32.009998,32.240002,31.600000,31.639999,31.639999,12408000
+2007-04-10,31.639999,32.020000,31.600000,31.690001,31.690001,12797600
+2007-04-11,31.650000,31.730000,30.900000,31.170000,31.170000,16141100
+2007-04-12,31.260000,31.420000,31.100000,31.209999,31.209999,13904800
+2007-04-13,31.150000,31.500000,30.959999,31.410000,31.410000,12006300
+2007-04-16,31.680000,31.790001,31.240000,31.610001,31.610001,14359100
+2007-04-17,31.980000,32.139999,31.709999,32.090000,32.090000,43223800
+2007-04-18,28.420000,28.900000,27.889999,28.309999,28.309999,127875300
+2007-04-19,28.100000,28.230000,27.459999,27.510000,27.510000,45664700
+2007-04-20,27.860001,27.860001,27.370001,27.459999,27.459999,39123300
+2007-04-23,27.530001,28.139999,27.370001,27.879999,27.879999,27262400
+2007-04-24,28.030001,28.260000,27.690001,28.020000,28.020000,25964000
+2007-04-25,28.219999,28.270000,27.680000,28.059999,28.059999,35568600
+2007-04-26,27.980000,28.650000,27.730000,28.490000,28.490000,32331000
+2007-04-27,28.350000,28.860001,28.170000,28.340000,28.340000,21097000
+2007-04-30,28.320000,28.500000,28.000000,28.040001,28.040001,17596300
+2007-05-01,28.250000,28.350000,27.530001,27.730000,27.730000,18310900
+2007-05-02,27.719999,28.260000,27.719999,28.120001,28.120001,16911800
+2007-05-03,28.250000,28.500000,28.010000,28.180000,28.180000,20119500
+2007-05-04,33.270000,33.610001,29.580000,30.980000,30.980000,245611400
+2007-05-07,30.129999,30.980000,29.860001,30.379999,30.379999,41243900
+2007-05-08,30.240000,31.100000,30.209999,30.410000,30.410000,28018200
+2007-05-09,30.170000,30.440001,29.950001,30.219999,30.219999,23533100
+2007-05-10,30.520000,30.690001,29.610001,29.700001,29.700001,26570200
+2007-05-11,29.620001,30.080000,29.530001,30.049999,30.049999,13838800
+2007-05-14,29.790001,30.000000,29.080000,29.309999,29.309999,20895900
+2007-05-15,29.160000,29.420000,28.750000,28.809999,28.809999,22226800
+2007-05-16,28.889999,29.370001,28.250000,29.209999,29.209999,32944800
+2007-05-17,28.990000,29.129999,28.490000,28.570000,28.570000,23535000
+2007-05-18,28.900000,29.799999,28.780001,29.750000,29.750000,35487200
+2007-05-21,29.620001,29.860001,29.320000,29.350000,29.350000,18955900
+2007-05-22,29.330000,29.350000,28.780001,28.920000,28.920000,19131300
+2007-05-23,29.100000,29.370001,28.530001,28.610001,28.610001,27964400
+2007-05-24,28.650000,28.879999,28.250000,28.410000,28.410000,19122900
+2007-05-25,28.440001,28.730000,28.340000,28.580000,28.580000,10334600
+2007-05-29,28.360001,28.730000,28.200001,28.400000,28.400000,13981500
+2007-05-30,28.190001,28.379999,28.000000,28.379999,28.379999,16046800
+2007-05-31,28.760000,28.850000,28.490000,28.700001,28.700001,15859100
+2007-06-01,28.900000,29.129999,28.610001,28.780001,28.780001,12398800
+2007-06-04,28.600000,28.780001,28.400000,28.590000,28.590000,13428800
+2007-06-05,28.400000,28.590000,28.100000,28.230000,28.230000,20494800
+2007-06-06,28.049999,28.110001,27.299999,27.440001,27.440001,33508200
+2007-06-07,27.340000,27.730000,26.980000,26.980000,26.980000,34232300
+2007-06-08,27.020000,27.450001,26.959999,27.389999,27.389999,18618500
+2007-06-11,27.270000,27.520000,27.150000,27.350000,27.350000,14856500
+2007-06-12,27.299999,27.660000,26.980000,27.049999,27.049999,22203600
+2007-06-13,27.120001,27.410000,26.610001,27.379999,27.379999,31210700
+2007-06-14,27.379999,27.639999,27.150000,27.299999,27.299999,18919400
+2007-06-15,27.490000,27.520000,27.190001,27.309999,27.309999,23816900
+2007-06-18,27.719999,28.340000,27.500000,28.120001,28.120001,70919400
+2007-06-19,29.400000,29.400000,27.540001,27.629999,27.629999,65967500
+2007-06-20,27.889999,28.170000,27.660000,27.660000,27.660000,33496400
+2007-06-21,27.690001,27.940001,27.549999,27.670000,27.670000,17885800
+2007-06-22,27.680000,27.790001,27.309999,27.379999,27.379999,33796900
+2007-06-25,27.600000,27.770000,27.340000,27.639999,27.639999,21232200
+2007-06-26,27.730000,28.180000,27.360001,27.709999,27.709999,25324000
+2007-06-27,27.510000,27.660000,27.400000,27.580000,27.580000,13997000
+2007-06-28,27.440001,27.490000,27.120001,27.250000,27.250000,17124500
+2007-06-29,27.209999,27.379999,26.930000,27.129999,27.129999,13842500
+2007-07-02,27.190001,27.270000,26.760000,26.860001,26.860001,21011000
+2007-07-03,26.950001,27.250000,26.900000,27.000000,27.000000,11643400
+2007-07-05,26.920000,27.139999,26.900000,26.990000,26.990000,16071900
+2007-07-06,27.010000,27.139999,26.930000,27.100000,27.100000,12284500
+2007-07-09,26.920000,27.330000,26.820000,27.200001,27.200001,17515800
+2007-07-10,27.090000,27.570000,26.959999,26.969999,26.969999,24635500
+2007-07-11,27.030001,27.049999,26.549999,26.690001,26.690001,21970700
+2007-07-12,26.700001,26.969999,26.340000,26.959999,26.959999,20082300
+2007-07-13,26.870001,26.969999,26.500000,26.580000,26.580000,18522700
+2007-07-16,26.480000,26.740000,26.129999,26.700001,26.700001,30804500
+2007-07-17,26.740000,27.799999,26.700001,27.530001,27.530001,53656100
+2007-07-18,26.070000,26.719999,26.020000,26.200001,26.200001,65125900
+2007-07-19,26.320000,26.340000,25.920000,26.030001,26.030001,29537900
+2007-07-20,25.700001,25.889999,25.200001,25.350000,25.350000,38056100
+2007-07-23,25.430000,25.459999,24.980000,24.990000,24.990000,26631500
+2007-07-24,24.799999,25.340000,24.730000,24.840000,24.840000,28981000
+2007-07-25,25.010000,25.320000,24.590000,24.680000,24.680000,21882400
+2007-07-26,24.400000,24.490000,23.620001,24.030001,24.030001,33373300
+2007-07-27,23.980000,24.490000,23.469999,23.490000,23.490000,35783800
+2007-07-30,23.549999,23.879999,23.379999,23.620001,23.620001,20976600
+2007-07-31,23.879999,23.930000,23.240000,23.250000,23.250000,21575800
+2007-08-01,23.170000,23.400000,22.850000,23.250000,23.250000,22030400
+2007-08-02,22.650000,23.700001,22.650000,23.360001,23.360001,21098900
+2007-08-03,23.200001,23.389999,22.870001,22.920000,22.920000,19702100
+2007-08-06,23.030001,23.150000,22.440001,22.969999,22.969999,28948000
+2007-08-07,22.750000,23.700001,22.690001,23.440001,23.440001,20075300
+2007-08-08,23.459999,23.870001,23.430000,23.870001,23.870001,17198000
+2007-08-09,23.670000,24.450001,23.510000,23.799999,23.799999,24052500
+2007-08-10,23.930000,24.219999,23.520000,23.940001,23.940001,22939800
+2007-08-13,24.209999,24.740000,24.010000,24.570000,24.570000,21317600
+2007-08-14,24.690001,24.700001,23.690001,23.719999,23.719999,18707100
+2007-08-15,23.559999,24.000000,23.250000,23.320000,23.320000,18767700
+2007-08-16,23.000000,23.150000,22.500000,22.760000,22.760000,29652200
+2007-08-17,23.260000,23.629999,22.760000,23.540001,23.540001,19528200
+2007-08-20,23.639999,23.740000,23.180000,23.340000,23.340000,13338900
+2007-08-21,23.250000,23.480000,22.910000,23.040001,23.040001,25962900
+2007-08-22,23.219999,23.520000,23.180000,23.230000,23.230000,18763700
+2007-08-23,23.350000,23.360001,22.950001,23.129999,23.129999,15603000
+2007-08-24,23.030001,23.730000,23.030001,23.590000,23.590000,11191100
+2007-08-27,23.590000,23.760000,23.010000,23.030001,23.030001,16523800
+2007-08-28,22.950001,23.100000,22.500000,22.520000,22.520000,18030600
+2007-08-29,22.600000,22.690001,22.270000,22.549999,22.549999,24599900
+2007-08-30,22.490000,22.910000,22.379999,22.610001,22.610001,18172500
+2007-08-31,22.809999,22.830000,22.510000,22.730000,22.730000,13052500
+2007-09-04,23.299999,24.500000,23.200001,23.969999,23.969999,43598600
+2007-09-05,24.100000,24.400000,23.910000,24.100000,24.100000,23071000
+2007-09-06,24.219999,24.320000,23.620001,24.150000,24.150000,13922100
+2007-09-07,23.760000,24.049999,23.600000,23.760000,23.760000,12591900
+2007-09-10,23.850000,23.850000,23.100000,23.299999,23.299999,15246000
+2007-09-11,23.309999,23.840000,23.309999,23.709999,23.709999,17207500
+2007-09-12,23.639999,23.940001,23.530001,23.559999,23.559999,16553700
+2007-09-13,23.600000,23.959999,23.600000,23.719999,23.719999,10309000
+2007-09-14,23.690001,25.000000,23.650000,24.730000,24.730000,28868600
+2007-09-17,24.500000,25.100000,24.379999,24.950001,24.950001,20594000
+2007-09-18,25.059999,25.209999,24.530001,25.059999,25.059999,28121000
+2007-09-19,25.090000,25.370001,24.809999,25.290001,25.290001,25867900
+2007-09-20,25.280001,25.610001,25.160000,25.290001,25.290001,17312000
+2007-09-21,25.540001,26.209999,25.290001,26.049999,26.049999,53074900
+2007-09-24,26.129999,26.400000,25.510000,25.730000,25.730000,27597800
+2007-09-25,25.700001,26.650000,25.629999,26.510000,26.510000,33721300
+2007-09-26,26.700001,27.070000,26.500000,26.700001,26.700001,18692400
+2007-09-27,26.950001,26.950001,26.170000,26.270000,26.270000,21365200
+2007-09-28,26.490000,26.889999,26.200001,26.840000,26.840000,22155600
+2007-10-01,26.760000,27.100000,26.730000,27.040001,27.040001,16938700
+2007-10-02,27.200001,27.240000,26.620001,26.950001,26.950001,15133400
+2007-10-03,27.160000,27.379999,26.820000,27.170000,27.170000,18052500
+2007-10-04,27.190001,27.290001,26.900000,27.150000,27.150000,19203600
+2007-10-05,27.780001,28.160000,27.750000,27.879999,27.879999,28389600
+2007-10-08,28.010000,28.170000,27.750000,28.049999,28.049999,15060700
+2007-10-09,28.350000,28.760000,27.940001,28.370001,28.370001,19539500
+2007-10-10,28.430000,28.700001,27.900000,28.360001,28.360001,14847100
+2007-10-11,28.440001,28.680000,27.500000,27.650000,27.650000,25298300
+2007-10-12,27.760000,28.510000,27.650000,28.480000,28.480000,22130500
+2007-10-15,28.320000,28.400000,27.459999,27.860001,27.860001,22994100
+2007-10-16,27.370001,27.480000,26.549999,26.690001,26.690001,56275300
+2007-10-17,29.100000,29.200001,28.000000,28.820000,28.820000,75067700
+2007-10-18,28.590000,29.600000,28.469999,29.350000,29.350000,28152200
+2007-10-19,29.360001,29.959999,28.850000,29.030001,29.030001,41933000
+2007-10-22,28.930000,30.000000,28.799999,29.850000,29.850000,27750100
+2007-10-23,30.120001,30.879999,30.030001,30.639999,30.639999,45406200
+2007-10-24,30.680000,30.980000,30.000000,30.680000,30.680000,33603100
+2007-10-25,30.750000,31.620001,30.500000,31.340000,31.340000,38706600
+2007-10-26,32.430000,33.990002,31.610001,33.630001,33.630001,66018100
+2007-10-29,34.070000,34.080002,31.180000,31.790001,31.790001,83685800
+2007-10-30,31.549999,31.639999,30.120001,30.830000,30.830000,52417300
+2007-10-31,31.500000,31.750000,30.500000,31.100000,31.100000,34762000
+2007-11-01,30.860001,31.100000,30.040001,30.219999,30.219999,26913300
+2007-11-02,30.540001,31.209999,29.639999,31.110001,31.110001,34090300
+2007-11-05,30.709999,32.369999,30.350000,31.360001,31.360001,43520300
+2007-11-06,31.760000,31.790001,29.000000,29.930000,29.930000,63664400
+2007-11-07,29.270000,29.299999,27.559999,27.629999,27.629999,57069800
+2007-11-08,28.110001,28.240000,25.820000,26.700001,26.700001,58160600
+2007-11-09,26.129999,26.379999,25.400000,25.790001,25.790001,45199700
+2007-11-12,25.799999,26.200001,24.690001,24.780001,24.780001,31264200
+2007-11-13,25.530001,26.240000,25.299999,26.100000,26.100000,34123300
+2007-11-14,26.420000,26.440001,25.000000,25.070000,25.070000,38183700
+2007-11-15,24.940001,25.750000,24.900000,25.420000,25.420000,27920800
+2007-11-16,25.660000,27.129999,25.100000,26.820000,26.820000,53044400
+2007-11-19,27.110001,27.350000,26.350000,26.760000,26.760000,33066200
+2007-11-20,26.930000,27.250000,25.980000,26.719999,26.719999,25672500
+2007-11-21,26.110001,26.580000,25.520000,25.709999,25.709999,23320100
+2007-11-23,25.980000,26.400000,25.760000,26.129999,26.129999,9249400
+2007-11-26,26.080000,26.250000,25.200001,25.219999,25.219999,24174600
+2007-11-27,25.180000,26.000000,25.170000,25.590000,25.590000,19484500
+2007-11-28,26.030001,26.700001,25.930000,26.200001,26.200001,23239300
+2007-11-29,26.010000,26.709999,25.910000,26.629999,26.629999,17929700
+2007-11-30,26.959999,27.330000,26.510000,26.809999,26.809999,23994000
+2007-12-03,26.639999,27.200001,26.559999,26.610001,26.610001,15250100
+2007-12-04,26.139999,26.730000,26.110001,26.420000,26.420000,14668800
+2007-12-05,26.629999,26.730000,25.730000,25.980000,25.980000,21170900
+2007-12-06,25.879999,26.020000,25.389999,25.959999,25.959999,19236500
+2007-12-07,25.860001,26.110001,25.500000,25.629999,25.629999,11443200
+2007-12-10,25.510000,25.570000,24.920000,25.200001,25.200001,26074900
+2007-12-11,25.150000,25.650000,24.360001,24.469999,24.469999,28579100
+2007-12-12,24.820000,25.000000,24.110001,24.540001,24.540001,20241200
+2007-12-13,24.389999,24.750000,24.190001,24.379999,24.379999,23787400
+2007-12-14,24.129999,24.469999,24.000000,24.059999,24.059999,15125500
+2007-12-17,23.799999,24.030001,22.940001,23.040001,23.040001,37877100
+2007-12-18,23.219999,23.350000,22.799999,23.020000,23.020000,27735600
+2007-12-19,22.920000,23.690001,22.920000,23.309999,23.309999,26547300
+2007-12-20,23.500000,23.799999,23.240000,23.639999,23.639999,21030700
+2007-12-21,23.879999,24.100000,23.740000,24.010000,24.010000,24094600
+2007-12-24,24.010000,24.190001,23.940001,24.049999,24.049999,24861800
+2007-12-26,23.850000,24.250000,23.850000,23.959999,23.959999,9821600
+2007-12-27,23.600000,24.150000,23.570000,23.709999,23.709999,16041500
+2007-12-28,23.660000,23.709999,23.209999,23.450001,23.450001,13773000
+2007-12-31,23.219999,23.430000,23.110001,23.260000,23.260000,14782600
+2008-01-02,23.799999,24.150000,23.600000,23.719999,23.719999,25671700
+2008-01-03,23.860001,24.190001,23.700001,23.840000,23.840000,20179700
+2008-01-04,23.809999,23.809999,23.100000,23.160000,23.160000,20745800
+2008-01-07,23.120001,23.559999,22.730000,23.180000,23.180000,24769400
+2008-01-08,23.280001,23.650000,22.500000,22.610001,22.610001,22974000
+2008-01-09,22.469999,22.799999,21.370001,22.559999,22.559999,46662700
+2008-01-10,23.190001,24.570000,22.830000,24.090000,24.090000,52342100
+2008-01-11,23.809999,24.129999,22.980000,23.360001,23.360001,27297400
+2008-01-14,23.510000,23.760000,23.180000,23.700001,23.700001,18552900
+2008-01-15,23.000000,23.490000,22.570000,22.910000,22.910000,31911000
+2008-01-16,22.200001,22.750000,21.730000,21.950001,21.950001,38155300
+2008-01-17,22.000000,22.170000,21.139999,21.219999,21.219999,28812600
+2008-01-18,21.270000,21.610001,20.070000,20.780001,20.780001,41239300
+2008-01-22,19.290001,21.030001,19.260000,19.860001,19.860001,38126200
+2008-01-23,19.250000,20.340000,18.719999,20.010000,20.010000,42064200
+2008-01-24,20.440001,21.750000,20.420000,21.690001,21.690001,39823300
+2008-01-25,22.240000,22.370001,21.320000,21.940001,21.940001,28386800
+2008-01-28,21.559999,21.900000,20.420000,20.780001,20.780001,32473100
+2008-01-29,20.870001,20.900000,20.049999,20.809999,20.809999,79230000
+2008-01-30,18.620001,20.809999,18.580000,19.049999,19.049999,115993300
+2008-01-31,18.870001,19.350000,18.719999,19.180000,19.180000,41449800
+2008-02-01,28.680000,29.830000,27.340000,28.379999,28.379999,438248800
+2008-02-04,28.330000,29.500000,28.330000,29.330000,29.330000,144814000
+2008-02-05,28.780001,29.570000,28.750000,28.980000,28.980000,68583700
+2008-02-06,29.110001,29.330000,28.530001,28.570000,28.570000,55648800
+2008-02-07,28.629999,29.190001,28.600000,29.040001,29.040001,44248800
+2008-02-08,28.980000,29.219999,28.709999,29.200001,29.200001,55618900
+2008-02-11,29.889999,30.049999,29.320000,29.870001,29.870001,67253700
+2008-02-12,29.809999,29.840000,29.400000,29.570000,29.570000,42445600
+2008-02-13,29.780001,30.070000,29.600000,29.879999,29.879999,57047700
+2008-02-14,29.980000,30.250000,29.750000,29.980000,29.980000,38045600
+2008-02-15,29.950001,30.150000,29.430000,29.660000,29.660000,40125200
+2008-02-19,29.340000,29.420000,28.750000,29.010000,29.010000,38679600
+2008-02-20,28.709999,29.040001,28.389999,28.830000,28.830000,29338800
+2008-02-21,28.760000,29.170000,28.250000,28.420000,28.420000,34681900
+2008-02-22,28.360001,28.639999,27.980000,28.420000,28.420000,26157800
+2008-02-25,28.420000,28.570000,27.750000,28.129999,28.129999,32470600
+2008-02-26,27.930000,28.549999,27.809999,28.219999,28.219999,26013000
+2008-02-27,28.330000,28.490000,27.750000,28.370001,28.370001,27664100
+2008-02-28,27.980000,28.820000,27.959999,28.150000,28.150000,30113200
+2008-02-29,27.940001,28.410000,27.500000,27.780001,27.780001,23860500
+2008-03-03,27.730000,28.080000,27.660000,27.770000,27.770000,22765100
+2008-03-04,27.799999,28.070000,27.430000,28.059999,28.059999,28305000
+2008-03-05,28.000000,28.780001,28.000000,28.670000,28.670000,30280100
+2008-03-06,28.639999,28.980000,28.440001,28.700001,28.700001,34591000
+2008-03-07,28.580000,29.180000,28.500000,29.030001,29.030001,28266000
+2008-03-10,28.870001,28.980000,28.510000,28.510000,28.510000,29698500
+2008-03-11,28.910000,29.160000,28.430000,29.000000,29.000000,22077400
+2008-03-12,28.889999,29.020000,28.389999,28.450001,28.450001,18338300
+2008-03-13,28.070000,28.270000,27.379999,27.500000,27.500000,75429000
+2008-03-14,27.850000,27.959999,26.500000,26.709999,26.709999,44386000
+2008-03-17,26.500000,26.639999,25.719999,25.850000,25.850000,33771900
+2008-03-18,26.940001,27.719999,26.250000,27.660000,27.660000,38074400
+2008-03-19,27.559999,27.790001,26.910000,27.070000,27.070000,23317500
+2008-03-20,27.360001,27.910000,26.980000,27.660000,27.660000,29864500
+2008-03-24,27.559999,28.070000,27.450001,27.520000,27.520000,17360800
+2008-03-25,28.139999,28.750000,27.700001,28.730000,28.730000,33759600
+2008-03-26,28.629999,28.780001,28.190001,28.490000,28.490000,15271500
+2008-03-27,28.490000,28.500000,27.900000,28.090000,28.090000,15558400
+2008-03-28,28.320000,29.090000,28.150000,28.990000,28.990000,34274200
+2008-03-31,28.559999,29.120001,28.270000,28.930000,28.930000,17224600
+2008-04-01,28.070000,28.620001,28.020000,28.500000,28.500000,20483600
+2008-04-02,28.570000,28.600000,27.490000,27.820000,27.820000,30180400
+2008-04-03,27.650000,28.219999,27.580000,28.129999,28.129999,14535400
+2008-04-04,28.000000,28.450001,27.590000,28.360001,28.360001,28290700
+2008-04-07,27.799999,28.150000,27.570000,27.700001,27.700001,29455100
+2008-04-08,27.719999,27.820000,27.490000,27.700001,27.700001,17935600
+2008-04-09,27.799999,27.950001,27.129999,27.770000,27.770000,31768300
+2008-04-10,28.389999,28.690001,28.280001,28.590000,28.590000,32671200
+2008-04-11,28.410000,28.610001,28.090000,28.340000,28.340000,18433700
+2008-04-14,28.180000,28.340000,27.790001,27.799999,27.799999,14159500
+2008-04-15,28.049999,28.250000,27.770000,28.170000,28.170000,12096600
+2008-04-16,28.110001,28.400000,28.110001,28.309999,28.309999,9204900
+2008-04-17,28.400000,28.400000,27.959999,28.030001,28.030001,10848800
+2008-04-18,28.440001,28.670000,28.170000,28.430000,28.430000,25292200
+2008-04-21,28.520000,28.680000,28.219999,28.549999,28.549999,18368700
+2008-04-22,28.730000,28.879999,28.440001,28.540001,28.540001,28564000
+2008-04-23,28.240000,28.350000,27.709999,28.080000,28.080000,31134400
+2008-04-24,28.010000,28.080000,27.240000,27.299999,27.299999,25944000
+2008-04-25,26.850000,26.930000,26.080000,26.799999,26.799999,50523100
+2008-04-28,27.000000,27.090000,26.250000,26.430000,26.430000,20869300
+2008-04-29,26.350000,27.480000,25.809999,27.360001,27.360001,36678000
+2008-04-30,27.170000,27.780001,26.760000,27.410000,27.410000,31034100
+2008-05-01,27.690001,28.340000,26.500000,26.809999,26.809999,52071000
+2008-05-02,27.650000,29.730000,27.209999,28.670000,28.670000,80447300
+2008-05-05,23.049999,24.930000,22.969999,24.370001,24.370001,279318400
+2008-05-06,25.540001,26.250000,24.200001,25.719999,25.719999,180100000
+2008-05-07,25.570000,25.709999,25.030001,25.639999,25.639999,84698300
+2008-05-08,25.660000,26.440001,25.510000,26.219999,26.219999,61308600
+2008-05-09,26.010000,26.190001,25.750000,25.930000,25.930000,30686900
+2008-05-12,25.799999,25.879999,25.020000,25.260000,25.260000,41319400
+2008-05-13,25.150000,26.840000,24.389999,26.559999,26.559999,81351200
+2008-05-14,26.950001,27.360001,26.200001,27.139999,27.139999,64571100
+2008-05-15,27.540001,27.980000,26.850000,27.750000,27.750000,79748700
+2008-05-16,27.730000,27.950001,27.410000,27.660000,27.660000,61318300
+2008-05-19,27.900000,28.330000,27.420000,27.680000,27.680000,55348600
+2008-05-20,27.680000,28.200001,27.320000,27.480000,27.480000,29450900
+2008-05-21,27.340000,27.950001,26.799999,27.330000,27.330000,38317200
+2008-05-22,27.299999,27.610001,26.950001,27.530001,27.530001,24737400
+2008-05-23,27.480000,27.740000,27.260000,27.719999,27.719999,24035700
+2008-05-27,27.500000,27.629999,26.980000,27.000000,27.000000,20703900
+2008-05-28,27.420000,27.480000,26.950001,27.160000,27.160000,21785600
+2008-05-29,27.340000,27.360001,27.000000,27.070000,27.070000,17905300
+2008-05-30,27.070000,27.100000,26.629999,26.760000,26.760000,17771800
+2008-06-02,26.799999,26.809999,26.030001,26.400000,26.400000,26379400
+2008-06-03,26.360001,26.600000,25.780001,26.150000,26.150000,25586000
+2008-06-04,26.250000,27.049999,26.160000,26.850000,26.850000,29973600
+2008-06-05,26.459999,26.639999,25.969999,26.360001,26.360001,30167300
+2008-06-06,26.500000,27.080000,26.030001,26.440001,26.440001,37758400
+2008-06-09,26.500000,26.860001,26.100000,26.580000,26.580000,17278300
+2008-06-10,26.320000,26.580000,26.250000,26.400000,26.400000,11854000
+2008-06-11,26.420000,26.459999,26.000000,26.150000,26.150000,13315400
+2008-06-12,26.330000,26.330000,22.500000,23.520000,23.520000,122412100
+2008-06-13,22.820000,23.480000,21.750000,23.469999,23.469999,118467700
+2008-06-16,22.950001,23.580000,22.709999,23.540001,23.540001,44711900
+2008-06-17,23.580000,23.580000,22.900000,23.250000,23.250000,22808800
+2008-06-18,23.219999,23.219999,22.629999,22.910000,22.910000,14255900
+2008-06-19,22.780001,22.870001,22.370001,22.730000,22.730000,19001300
+2008-06-20,22.490000,22.530001,21.900000,21.990000,21.990000,34606900
+2008-06-23,22.070000,22.120001,21.299999,21.450001,21.450001,29819200
+2008-06-24,21.170000,23.709999,20.600000,22.040001,22.040001,85211700
+2008-06-25,22.000000,22.240000,21.860001,22.010000,22.010000,19530900
+2008-06-26,21.590000,21.889999,21.280001,21.370001,21.370001,23993900
+2008-06-27,21.290001,21.459999,20.700001,21.330000,21.330000,30236800
+2008-06-30,21.120001,21.200001,20.600000,20.660000,20.660000,17173500
+2008-07-01,20.480000,20.490000,19.590000,20.200001,20.200001,36634700
+2008-07-02,21.889999,21.900000,20.670000,20.879999,20.879999,58418100
+2008-07-03,21.350000,21.750000,21.030001,21.350000,21.350000,21923800
+2008-07-07,23.400000,24.250000,22.920000,23.910000,23.910000,84245900
+2008-07-08,23.830000,24.660000,23.809999,24.639999,24.639999,34234600
+2008-07-09,24.740000,24.799999,23.820000,23.820000,23.820000,21980400
+2008-07-10,23.760000,24.100000,23.040001,23.500000,23.500000,18501800
+2008-07-11,23.000000,23.889999,22.639999,23.570000,23.570000,23141900
+2008-07-14,23.120001,23.240000,22.219999,22.570000,22.570000,22785000
+2008-07-15,21.790001,22.080000,21.180000,21.540001,21.540001,25740900
+2008-07-16,21.700001,22.600000,21.590000,22.480000,22.480000,20738700
+2008-07-17,23.490000,23.490000,22.410000,22.440001,22.440001,31947900
+2008-07-18,22.549999,22.549999,21.860001,22.450001,22.450001,23375400
+2008-07-21,21.660000,22.190001,21.650000,21.670000,21.670000,24645600
+2008-07-22,21.389999,21.700001,20.850000,21.400000,21.400000,29786500
+2008-07-23,21.910000,22.480000,20.000000,20.389999,20.389999,48279700
+2008-07-24,20.610001,21.059999,20.049999,20.530001,20.530001,24422500
+2008-07-25,20.549999,21.190001,20.280001,21.129999,21.129999,20406200
+2008-07-28,20.990000,21.170000,20.059999,20.120001,20.120001,13733800
+2008-07-29,20.010000,20.340000,19.680000,20.150000,20.150000,17023800
+2008-07-30,20.180000,20.180000,19.959999,20.030001,20.030001,25016800
+2008-07-31,19.889999,20.150000,19.850000,19.889999,19.889999,16621100
+2008-08-01,20.090000,20.120001,19.530001,19.799999,19.799999,19777000
+2008-08-04,19.770000,19.770000,19.209999,19.379999,19.379999,14064400
+2008-08-05,19.700001,19.910000,19.530001,19.820000,19.820000,14415200
+2008-08-06,19.770000,20.180000,19.530001,20.000000,20.000000,14699000
+2008-08-07,19.799999,20.250000,19.639999,20.190001,20.190001,14017500
+2008-08-08,20.190001,20.190001,19.870001,19.900000,19.900000,13640000
+2008-08-11,19.889999,20.280001,19.650000,20.260000,20.260000,12903700
+2008-08-12,20.209999,20.600000,20.040001,20.430000,20.430000,13883700
+2008-08-13,20.330000,20.480000,20.059999,20.360001,20.360001,11954500
+2008-08-14,20.200001,20.570000,20.139999,20.280001,20.280001,11103300
+2008-08-15,20.270000,20.820000,20.270000,20.440001,20.440001,14945100
+2008-08-18,20.469999,20.520000,19.660000,19.730000,19.730000,14867400
+2008-08-19,19.780001,19.910000,19.410000,19.420000,19.420000,12851000
+2008-08-20,19.570000,19.650000,19.100000,19.170000,19.170000,16426500
+2008-08-21,19.059999,19.180000,18.870001,19.110001,19.110001,16995100
+2008-08-22,19.110001,19.680000,19.100000,19.530001,19.530001,11087500
+2008-08-25,19.340000,19.400000,19.049999,19.090000,19.090000,13779300
+2008-08-26,19.120001,19.200001,19.000000,19.090000,19.090000,8770500
+2008-08-27,19.080000,19.450001,18.930000,19.370001,19.370001,9300100
+2008-08-28,19.480000,19.760000,19.379999,19.650000,19.650000,11729500
+2008-08-29,19.540001,19.600000,19.280001,19.379999,19.379999,11204900
+2008-09-02,19.629999,19.770000,18.740000,18.750000,18.750000,16943700
+2008-09-03,18.850000,19.000000,18.700001,18.760000,18.760000,11557100
+2008-09-04,18.709999,18.809999,17.750000,17.750000,17.750000,23892500
+2008-09-05,17.920000,18.340000,17.799999,18.080000,18.080000,17089100
+2008-09-08,18.330000,18.370001,17.870001,18.260000,18.260000,16447400
+2008-09-09,18.139999,18.190001,17.530001,17.580000,17.580000,25271700
+2008-09-10,17.629999,17.790001,17.250000,17.700001,17.700001,19619600
+2008-09-11,17.400000,18.570000,17.330000,18.549999,18.549999,28408000
+2008-09-12,18.430000,19.170000,18.340000,19.080000,19.080000,21301100
+2008-09-15,18.270000,19.139999,18.250000,18.850000,18.850000,32567200
+2008-09-16,18.250000,19.350000,18.240000,19.260000,19.260000,33897000
+2008-09-17,18.969999,19.080000,18.200001,18.820000,18.820000,28819300
+2008-09-18,18.790001,20.820000,18.490000,20.820000,20.820000,37286300
+2008-09-19,20.580000,20.790001,19.270000,19.889999,19.889999,31649100
+2008-09-22,19.600000,19.600000,18.639999,18.680000,18.680000,16911900
+2008-09-23,18.709999,19.129999,18.670000,18.930000,18.930000,20230100
+2008-09-24,18.900000,19.190001,18.820000,19.150000,19.150000,12766200
+2008-09-25,19.090000,19.559999,18.969999,19.200001,19.200001,14512100
+2008-09-26,18.750000,19.250000,18.650000,18.920000,18.920000,14922800
+2008-09-29,18.770000,18.920000,16.879999,16.879999,16.879999,39570300
+2008-09-30,17.150000,17.620001,17.000000,17.299999,17.299999,23672300
+2008-10-01,17.170000,17.309999,16.799999,16.959999,16.959999,13725000
+2008-10-02,16.770000,16.850000,15.540000,15.580000,15.580000,23416200
+2008-10-03,15.810000,16.440001,15.750000,16.000000,16.000000,25824900
+2008-10-06,15.270000,16.070000,14.550000,15.310000,15.310000,42862100
+2008-10-07,15.190000,15.490000,14.530000,14.580000,14.580000,27696400
+2008-10-08,13.800000,14.580000,13.200000,13.760000,13.760000,31651100
+2008-10-09,13.900000,13.900000,12.470000,12.650000,12.650000,40808900
+2008-10-10,12.220000,12.920000,11.960000,12.290000,12.290000,38683200
+2008-10-13,13.140000,13.510000,12.560000,13.490000,13.490000,26049700
+2008-10-14,13.780000,13.930000,12.370000,12.650000,12.650000,26909700
+2008-10-15,12.490000,12.550000,11.750000,11.750000,11.750000,27529900
+2008-10-16,11.900000,13.730000,11.370000,12.990000,12.990000,107674200
+2008-10-17,12.880000,13.500000,12.680000,12.900000,12.900000,38974800
+2008-10-20,13.030000,13.030000,12.330000,12.860000,12.860000,25010600
+2008-10-21,12.620000,12.740000,12.040000,12.070000,12.070000,28385500
+2008-10-22,12.360000,12.840000,12.350000,12.390000,12.390000,35671000
+2008-10-23,12.150000,12.700000,11.550000,12.650000,12.650000,27751300
+2008-10-24,11.310000,12.330000,11.310000,12.100000,12.100000,29718100
+2008-10-27,11.820000,12.190000,11.500000,11.580000,11.580000,16372300
+2008-10-28,11.890000,12.400000,11.250000,12.360000,12.360000,22795700
+2008-10-29,12.200000,12.610000,11.920000,12.140000,12.140000,21443000
+2008-10-30,12.530000,13.180000,12.250000,12.930000,12.930000,26757100
+2008-10-31,13.090000,13.360000,12.710000,12.820000,12.820000,24017600
+2008-11-03,12.740000,12.890000,12.550000,12.750000,12.750000,10385600
+2008-11-04,13.050000,13.490000,12.840000,13.350000,13.350000,24980000
+2008-11-05,13.210000,14.840000,13.150000,13.920000,13.920000,71264100
+2008-11-06,14.840000,14.890000,13.750000,13.960000,13.960000,44431700
+2008-11-07,12.450000,12.500000,11.650000,12.200000,12.200000,47280400
+2008-11-10,12.370000,12.400000,11.570000,11.870000,11.870000,16708100
+2008-11-11,11.560000,11.670000,11.060000,11.350000,11.350000,33294600
+2008-11-12,11.010000,11.340000,10.020000,10.340000,10.340000,29046700
+2008-11-13,10.320000,11.170000,9.760000,11.150000,11.150000,25212700
+2008-11-14,10.840000,11.500000,10.630000,10.820000,10.820000,19072400
+2008-11-17,10.500000,10.940000,10.320000,10.630000,10.630000,14601400
+2008-11-18,11.930000,12.400000,11.000000,11.550000,11.550000,51671000
+2008-11-19,11.540000,11.580000,9.070000,9.140000,9.140000,57680800
+2008-11-20,9.100000,10.010000,8.940000,8.950000,8.950000,37311800
+2008-11-21,9.280000,9.480000,8.950000,9.390000,9.390000,29895300
+2008-11-24,9.560000,10.270000,9.420000,10.210000,10.210000,22452600
+2008-11-25,10.120000,10.200000,9.830000,10.070000,10.070000,16889200
+2008-11-26,9.930000,10.580000,9.920000,10.580000,10.580000,13640000
+2008-11-28,10.760000,11.590000,10.650000,11.510000,11.510000,12397600
+2008-12-01,11.820000,11.980000,10.730000,10.740000,10.740000,26242500
+2008-12-02,10.810000,12.500000,10.500000,11.500000,11.500000,46254900
+2008-12-03,11.120000,11.500000,10.740000,11.500000,11.500000,24094600
+2008-12-04,11.380000,11.480000,10.700000,11.050000,11.050000,18447800
+2008-12-05,10.960000,11.700000,10.620000,11.660000,11.660000,19973900
+2008-12-08,12.170000,12.490000,11.790000,12.200000,12.200000,33782200
+2008-12-09,11.900000,12.540000,11.770000,12.190000,12.190000,28943400
+2008-12-10,12.670000,13.570000,12.350000,13.400000,13.400000,46696000
+2008-12-11,13.160000,13.360000,12.570000,12.730000,12.730000,26528700
+2008-12-12,12.310000,13.230000,12.150000,13.150000,13.150000,24636700
+2008-12-15,13.100000,13.290000,12.550000,12.730000,12.730000,20131100
+2008-12-16,12.880000,13.480000,12.880000,13.360000,13.360000,18544100
+2008-12-17,13.000000,13.430000,12.830000,13.110000,13.110000,12783000
+2008-12-18,13.130000,13.270000,12.700000,12.720000,12.720000,14997900
+2008-12-19,12.920000,13.320000,12.720000,13.030000,13.030000,17551900
+2008-12-22,13.030000,13.080000,12.000000,12.350000,12.350000,12946400
+2008-12-23,12.470000,12.650000,12.250000,12.420000,12.420000,7474700
+2008-12-24,12.410000,12.480000,12.290000,12.320000,12.320000,2500100
+2008-12-26,12.300000,12.380000,12.180000,12.340000,12.340000,3873900
+2008-12-29,12.460000,12.460000,11.450000,11.880000,11.880000,9913500
+2008-12-30,11.910000,12.000000,11.720000,11.970000,11.970000,7480600
+2008-12-31,11.950000,12.300000,11.920000,12.200000,12.200000,9085500
+2009-01-02,12.170000,12.850000,12.120000,12.850000,12.850000,9514600
+2009-01-05,12.720000,13.010000,12.390000,12.860000,12.860000,11989900
+2009-01-06,12.960000,13.240000,12.880000,13.000000,13.000000,10056000
+2009-01-07,12.710000,13.160000,12.450000,12.710000,12.710000,24995900
+2009-01-08,12.370000,13.070000,12.310000,13.070000,13.070000,14355000
+2009-01-09,13.420000,13.560000,12.900000,13.130000,13.130000,19281000
+2009-01-12,13.090000,13.100000,12.080000,12.220000,12.220000,19976900
+2009-01-13,12.090000,12.790000,11.780000,12.100000,12.100000,25720400
+2009-01-14,12.260000,12.530000,11.810000,12.410000,12.410000,23595200
+2009-01-15,12.320000,12.350000,11.220000,11.610000,11.610000,25247500
+2009-01-16,11.870000,11.970000,11.440000,11.590000,11.590000,24783700
+2009-01-20,11.720000,11.800000,11.010000,11.010000,11.010000,18692000
+2009-01-21,11.170000,11.590000,11.080000,11.590000,11.590000,15892200
+2009-01-22,11.350000,11.510000,10.900000,11.280000,11.280000,17201700
+2009-01-23,10.900000,11.550000,10.860000,11.320000,11.320000,15864000
+2009-01-26,11.260000,11.280000,10.810000,11.170000,11.170000,16469800
+2009-01-27,11.200000,11.370000,10.850000,11.340000,11.340000,33708200
+2009-01-28,12.230000,12.380000,11.920000,12.240000,12.240000,35686800
+2009-01-29,12.020000,12.240000,11.730000,11.740000,11.740000,22124100
+2009-01-30,11.860000,12.150000,11.510000,11.730000,11.730000,21508900
+2009-02-02,11.500000,12.320000,11.490000,12.150000,12.150000,21223000
+2009-02-03,12.300000,12.710000,12.010000,12.680000,12.680000,18669700
+2009-02-04,12.670000,13.230000,12.550000,13.000000,13.000000,22933800
+2009-02-05,12.930000,13.520000,12.850000,13.510000,13.510000,17566800
+2009-02-06,13.410000,13.840000,13.200000,13.630000,13.630000,17594600
+2009-02-09,13.590000,14.000000,13.470000,13.900000,13.900000,15686200
+2009-02-10,13.540000,13.900000,12.720000,12.750000,12.750000,24148400
+2009-02-11,12.870000,12.910000,12.380000,12.630000,12.630000,13726600
+2009-02-12,12.500000,12.660000,12.140000,12.660000,12.660000,15452500
+2009-02-13,12.670000,12.990000,12.590000,12.840000,12.840000,11139300
+2009-02-17,12.310000,12.580000,12.010000,12.020000,12.020000,15708400
+2009-02-18,12.120000,12.530000,12.070000,12.220000,12.220000,12434300
+2009-02-19,12.350000,12.590000,11.930000,11.980000,11.980000,12537600
+2009-02-20,11.900000,12.270000,11.750000,12.140000,12.140000,16485500
+2009-02-23,12.200000,12.350000,11.830000,11.970000,11.970000,16517300
+2009-02-24,12.570000,12.860000,12.270000,12.750000,12.750000,22529300
+2009-02-25,12.450000,12.790000,12.300000,12.480000,12.480000,16195700
+2009-02-26,12.880000,13.390000,12.740000,12.980000,12.980000,26571900
+2009-02-27,12.660000,13.330000,12.610000,13.230000,13.230000,20392600
+2009-03-02,12.850000,12.970000,12.470000,12.580000,12.580000,20934900
+2009-03-03,12.790000,12.870000,12.310000,12.500000,12.500000,16509700
+2009-03-04,12.720000,13.490000,12.510000,13.160000,13.160000,24076200
+2009-03-05,12.770000,13.070000,12.480000,12.530000,12.530000,18477000
+2009-03-06,12.600000,13.180000,12.520000,13.050000,13.050000,30994200
+2009-03-09,12.850000,13.450000,12.550000,12.660000,12.660000,23119700
+2009-03-10,12.810000,13.400000,12.750000,13.230000,13.230000,22730900
+2009-03-11,13.310000,13.500000,13.030000,13.390000,13.390000,17505000
+2009-03-12,13.350000,13.600000,13.100000,13.600000,13.600000,16682500
+2009-03-13,13.580000,13.640000,13.270000,13.510000,13.510000,12522600
+2009-03-16,13.660000,13.660000,13.200000,13.220000,13.220000,19448800
+2009-03-17,13.350000,14.040000,13.220000,13.990000,13.990000,16719400
+2009-03-18,13.810000,13.950000,13.230000,13.420000,13.420000,26324300
+2009-03-19,13.680000,14.140000,13.610000,13.740000,13.740000,25954300
+2009-03-20,13.630000,13.870000,13.510000,13.600000,13.600000,22079300
+2009-03-23,13.790000,14.120000,13.620000,14.090000,14.090000,18200000
+2009-03-24,13.980000,14.020000,13.560000,13.630000,13.630000,17293600
+2009-03-25,13.690000,13.880000,13.350000,13.550000,13.550000,16746400
+2009-03-26,13.550000,13.610000,13.000000,13.350000,13.350000,24223400
+2009-03-27,13.170000,13.610000,13.120000,13.180000,13.180000,22426200
+2009-03-30,12.930000,13.140000,12.510000,12.700000,12.700000,16558800
+2009-03-31,12.760000,13.100000,12.670000,12.810000,12.810000,12066000
+2009-04-01,12.700000,13.120000,12.600000,12.750000,12.750000,14540400
+2009-04-02,13.040000,13.140000,12.800000,12.950000,12.950000,28823100
+2009-04-03,12.950000,13.390000,12.780000,13.340000,13.340000,18534900
+2009-04-06,13.080000,13.240000,12.990000,13.230000,13.230000,11935700
+2009-04-07,13.000000,13.100000,12.680000,12.810000,12.810000,12306400
+2009-04-08,12.900000,13.010000,12.750000,12.920000,12.920000,11241000
+2009-04-09,13.140000,13.590000,13.070000,13.470000,13.470000,17285800
+2009-04-13,14.020000,14.540000,13.860000,14.420000,14.420000,35067600
+2009-04-14,14.400000,14.420000,14.000000,14.070000,14.070000,15151700
+2009-04-15,13.930000,14.090000,13.770000,14.020000,14.020000,12383200
+2009-04-16,14.150000,14.530000,14.050000,14.430000,14.430000,19156500
+2009-04-17,14.430000,14.520000,14.030000,14.390000,14.390000,19800400
+2009-04-20,14.160000,14.250000,13.600000,13.660000,13.660000,13470500
+2009-04-21,13.940000,14.590000,13.710000,14.380000,14.380000,54237700
+2009-04-22,14.620000,15.390000,14.410000,14.480000,14.480000,65407800
+2009-04-23,14.560000,14.740000,14.110000,14.550000,14.550000,32943200
+2009-04-24,14.790000,14.940000,14.360000,14.730000,14.730000,25803000
+2009-04-27,14.480000,14.550000,13.880000,13.890000,13.890000,22640600
+2009-04-28,13.740000,14.050000,13.600000,13.640000,13.640000,18856500
+2009-04-29,13.700000,14.350000,13.700000,14.020000,14.020000,16570900
+2009-04-30,14.120000,14.600000,14.120000,14.290000,14.290000,25883300
+2009-05-01,14.500000,14.500000,13.910000,14.140000,14.140000,23721700
+2009-05-04,14.200000,14.250000,13.960000,14.180000,14.180000,25094600
+2009-05-05,14.550000,14.990000,14.180000,14.740000,14.740000,35233200
+2009-05-06,14.800000,15.000000,14.520000,14.850000,14.850000,19105800
+2009-05-07,15.030000,15.100000,14.380000,14.800000,14.800000,24328500
+2009-05-08,14.880000,15.300000,14.700000,15.150000,15.150000,22461200
+2009-05-11,14.900000,15.830000,14.810000,15.540000,15.540000,39492400
+2009-05-12,15.500000,15.500000,14.900000,15.100000,15.100000,31403300
+2009-05-13,14.920000,14.950000,14.500000,14.520000,14.520000,23585400
+2009-05-14,14.500000,14.860000,14.400000,14.760000,14.760000,20841800
+2009-05-15,15.000000,15.100000,14.860000,14.910000,14.910000,22525900
+2009-05-18,15.100000,15.180000,14.740000,15.170000,15.170000,18629500
+2009-05-19,15.060000,15.340000,15.020000,15.180000,15.180000,13676000
+2009-05-20,15.080000,15.310000,14.800000,14.960000,14.960000,15781600
+2009-05-21,14.920000,15.120000,14.620000,14.870000,14.870000,15186800
+2009-05-22,14.890000,15.170000,14.750000,14.980000,14.980000,19150500
+2009-05-26,14.680000,15.440000,14.670000,15.280000,15.280000,19953000
+2009-05-27,15.270000,15.530000,14.880000,14.940000,14.940000,18977400
+2009-05-28,15.090000,15.240000,14.690000,15.090000,15.090000,19131600
+2009-05-29,15.190000,15.840000,15.110000,15.840000,15.840000,29557500
+2009-06-01,16.170000,16.650000,16.129999,16.580000,16.580000,27926100
+2009-06-02,16.600000,16.750000,16.250000,16.620001,16.620001,15286700
+2009-06-03,16.500000,16.500000,15.670000,16.299999,16.299999,26358100
+2009-06-04,16.400000,16.709999,16.040001,16.650000,16.650000,19001400
+2009-06-05,16.770000,16.990000,16.299999,16.639999,16.639999,17311400
+2009-06-08,16.469999,16.490000,16.040001,16.190001,16.190001,13692600
+2009-06-09,16.230000,16.500000,16.180000,16.400000,16.400000,13083200
+2009-06-10,16.700001,16.719999,16.100000,16.320000,16.320000,15771200
+2009-06-11,16.260000,16.459999,16.150000,16.190001,16.190001,15042300
+2009-06-12,16.170000,16.469999,16.100000,16.400000,16.400000,16962900
+2009-06-15,16.559999,16.680000,16.129999,16.400000,16.400000,23251700
+2009-06-16,16.330000,16.379999,15.900000,15.960000,15.960000,15116000
+2009-06-17,15.910000,16.030001,15.460000,15.600000,15.600000,16521300
+2009-06-18,15.620000,15.640000,15.230000,15.340000,15.340000,16185400
+2009-06-19,15.500000,15.840000,15.400000,15.800000,15.800000,20323100
+2009-06-22,15.550000,15.610000,14.710000,14.710000,14.710000,26488700
+2009-06-23,14.750000,14.900000,14.550000,14.680000,14.680000,15866300
+2009-06-24,14.760000,15.600000,14.760000,15.450000,15.450000,30979700
+2009-06-25,15.440000,15.670000,15.250000,15.530000,15.530000,19827800
+2009-06-26,15.600000,15.800000,15.480000,15.740000,15.740000,26449100
+2009-06-29,15.860000,16.010000,15.600000,15.900000,15.900000,12324000
+2009-06-30,15.850000,15.900000,15.350000,15.660000,15.660000,16033900
+2009-07-01,15.490000,15.690000,15.350000,15.410000,15.410000,12716100
+2009-07-02,15.240000,15.280000,14.880000,14.990000,14.990000,16919900
+2009-07-06,14.830000,14.930000,14.550000,14.910000,14.910000,13690700
+2009-07-07,14.920000,14.930000,14.360000,14.440000,14.440000,22021700
+2009-07-08,14.440000,14.690000,14.220000,14.380000,14.380000,15352700
+2009-07-09,14.480000,14.680000,14.250000,14.550000,14.550000,15598200
+2009-07-10,14.780000,15.180000,14.750000,14.930000,14.930000,23061200
+2009-07-13,14.950000,15.060000,14.640000,15.010000,15.010000,13174400
+2009-07-14,15.070000,15.220000,14.980000,15.180000,15.180000,13039500
+2009-07-15,15.230000,15.740000,15.150000,15.710000,15.710000,18813600
+2009-07-16,15.800000,16.250000,15.780000,16.190001,16.190001,21919500
+2009-07-17,16.750000,16.910000,16.450001,16.840000,16.840000,32514700
+2009-07-20,17.180000,17.430000,16.650000,17.010000,17.010000,27760800
+2009-07-21,17.049999,17.110001,16.440001,16.750000,16.750000,33601800
+2009-07-22,16.190001,17.480000,16.120001,17.370001,17.370001,53615500
+2009-07-23,17.410000,17.680000,17.160000,17.360001,17.360001,37524900
+2009-07-24,17.430000,17.590000,17.020000,17.480000,17.480000,19944700
+2009-07-27,17.370001,17.480000,16.850000,17.000000,17.000000,19951800
+2009-07-28,16.969999,17.490000,16.520000,17.219999,17.219999,36152600
+2009-07-29,16.000000,16.200001,15.050000,15.140000,15.140000,126807700
+2009-07-30,15.130000,15.140000,14.240000,14.600000,14.600000,100889000
+2009-07-31,14.720000,14.890000,14.290000,14.320000,14.320000,62659900
+2009-08-03,14.560000,14.620000,14.300000,14.340000,14.340000,43976900
+2009-08-04,14.440000,14.680000,14.370000,14.510000,14.510000,43084800
+2009-08-05,14.760000,14.910000,14.610000,14.670000,14.670000,50910100
+2009-08-06,14.760000,14.860000,14.630000,14.740000,14.740000,35659500
+2009-08-07,14.860000,14.900000,14.560000,14.620000,14.620000,28261000
+2009-08-10,14.660000,14.680000,14.490000,14.630000,14.630000,18350900
+2009-08-11,14.540000,14.650000,14.330000,14.460000,14.460000,17823200
+2009-08-12,14.470000,14.760000,14.410000,14.680000,14.680000,24256200
+2009-08-13,14.740000,15.070000,14.610000,15.040000,15.040000,40193000
+2009-08-14,14.980000,15.140000,14.850000,15.040000,15.040000,28817100
+2009-08-17,14.690000,14.780000,14.510000,14.560000,14.560000,29268300
+2009-08-18,14.640000,14.780000,14.560000,14.750000,14.750000,14797300
+2009-08-19,14.580000,14.910000,14.550000,14.790000,14.790000,15501500
+2009-08-20,14.750000,14.900000,14.700000,14.770000,14.770000,15579900
+2009-08-21,14.880000,14.960000,14.730000,14.790000,14.790000,23537700
+2009-08-24,14.890000,15.190000,14.830000,14.990000,14.990000,26171000
+2009-08-25,15.120000,15.210000,14.940000,15.070000,15.070000,22850600
+2009-08-26,15.090000,15.140000,14.860000,14.930000,14.930000,15845300
+2009-08-27,14.920000,15.000000,14.710000,14.930000,14.930000,30411000
+2009-08-28,14.980000,15.080000,14.800000,14.850000,14.850000,33918200
+2009-08-31,14.740000,14.800000,14.560000,14.610000,14.610000,15420500
+2009-09-01,14.500000,14.680000,14.150000,14.180000,14.180000,30615300
+2009-09-02,14.080000,14.330000,13.970000,14.230000,14.230000,23591500
+2009-09-03,14.360000,14.430000,14.160000,14.280000,14.280000,14661900
+2009-09-04,14.260000,14.640000,14.230000,14.500000,14.500000,17003900
+2009-09-08,14.650000,14.660000,14.370000,14.490000,14.490000,17712200
+2009-09-09,14.450000,14.860000,14.420000,14.780000,14.780000,19096300
+2009-09-10,15.280000,15.630000,15.150000,15.450000,15.450000,49083300
+2009-09-11,15.530000,15.680000,15.410000,15.590000,15.590000,26860700
+2009-09-14,15.450000,15.580000,15.280000,15.570000,15.570000,19451200
+2009-09-15,16.010000,16.490000,15.870000,16.410000,16.410000,64668200
+2009-09-16,16.570000,17.110001,16.520000,16.990000,16.990000,53594700
+2009-09-17,17.000000,17.790001,16.959999,17.500000,17.500000,62010000
+2009-09-18,17.700001,17.700001,16.850000,17.389999,17.389999,86402600
+2009-09-21,17.230000,17.230000,16.959999,17.040001,17.040001,26826900
+2009-09-22,17.170000,17.219999,16.750000,16.860001,16.860001,30588800
+2009-09-23,17.100000,17.600000,16.969999,17.209999,17.209999,36814300
+2009-09-24,17.309999,17.320000,16.650000,16.889999,16.889999,26493700
+2009-09-25,16.799999,17.150000,16.750000,17.080000,17.080000,20701400
+2009-09-28,16.980000,17.469999,16.950001,17.469999,17.469999,26412200
+2009-09-29,17.500000,17.660000,17.209999,17.450001,17.450001,31600100
+2009-09-30,17.480000,17.940001,17.240000,17.809999,17.809999,39878200
+2009-10-01,17.650000,17.719999,17.200001,17.389999,17.389999,24871600
+2009-10-02,17.230000,17.350000,16.780001,16.840000,16.840000,32685300
+2009-10-05,16.850000,17.129999,16.660000,16.799999,16.799999,22224900
+2009-10-06,16.959999,17.350000,16.950001,17.299999,17.299999,21427600
+2009-10-07,17.219999,17.490000,17.150000,17.490000,17.490000,12456700
+2009-10-08,17.629999,17.860001,17.540001,17.580000,17.580000,27966900
+2009-10-09,17.430000,17.480000,16.840000,16.870001,16.870001,29015700
+2009-10-12,16.959999,17.110001,16.660000,16.750000,16.750000,16904700
+2009-10-13,16.950001,17.000000,16.809999,16.879999,16.879999,19492500
+2009-10-14,16.930000,17.030001,16.820000,16.950001,16.950001,17508000
+2009-10-15,16.840000,16.889999,16.459999,16.520000,16.520000,24337300
+2009-10-16,16.610001,16.850000,16.400000,16.809999,16.809999,20479000
+2009-10-19,16.799999,17.290001,16.700001,17.219999,17.219999,17878000
+2009-10-20,17.370001,17.410000,16.870001,17.170000,17.170000,38320400
+2009-10-21,17.980000,18.020000,17.570000,17.660000,17.660000,46204500
+2009-10-22,17.540001,17.750000,17.299999,17.670000,17.670000,16018100
+2009-10-23,17.709999,17.750000,17.090000,17.219999,17.219999,17760400
+2009-10-26,17.049999,17.200001,16.670000,16.870001,16.870001,21213100
+2009-10-27,16.690001,16.870001,16.350000,16.690001,16.690001,19917800
+2009-10-28,16.690001,16.770000,16.020000,16.040001,16.040001,25044800
+2009-10-29,16.190001,16.379999,15.740000,16.129999,16.129999,39146700
+2009-10-30,16.059999,16.370001,15.800000,15.900000,15.900000,22321700
+2009-11-02,15.750000,15.900000,15.590000,15.850000,15.850000,15258200
+2009-11-03,15.710000,15.790000,15.630000,15.700000,15.700000,17240200
+2009-11-04,15.900000,15.900000,15.660000,15.690000,15.690000,18697100
+2009-11-05,15.800000,16.000000,15.740000,15.900000,15.900000,27732500
+2009-11-06,15.890000,16.030001,15.760000,15.940000,15.940000,13562500
+2009-11-09,16.129999,16.190001,15.970000,16.020000,16.020000,14831900
+2009-11-10,16.080000,16.360001,16.010000,16.040001,16.040001,24097400
+2009-11-11,16.000000,16.160000,15.920000,16.090000,16.090000,16346100
+2009-11-12,16.100000,16.280001,15.970000,16.000000,16.000000,10210100
+2009-11-13,16.040001,16.100000,15.920000,15.930000,15.930000,26453800
+2009-11-16,16.080000,16.190001,15.920000,16.070000,16.070000,26125200
+2009-11-17,15.890000,16.110001,15.730000,16.049999,16.049999,22249500
+2009-11-18,16.020000,16.129999,15.840000,15.980000,15.980000,12775400
+2009-11-19,15.830000,15.850000,15.520000,15.610000,15.610000,26891000
+2009-11-20,15.600000,15.740000,15.360000,15.380000,15.380000,16127300
+2009-11-23,15.580000,15.650000,15.340000,15.450000,15.450000,24501400
+2009-11-24,15.380000,15.490000,15.200000,15.240000,15.240000,19774000
+2009-11-25,15.290000,15.350000,15.170000,15.300000,15.300000,21370600
+2009-11-27,15.040000,15.090000,14.880000,15.000000,15.000000,11452900
+2009-11-30,14.900000,15.100000,14.800000,14.970000,14.970000,17587000
+2009-12-01,15.030000,15.190000,14.850000,15.130000,15.130000,17096500
+2009-12-02,15.170000,15.500000,15.160000,15.310000,15.310000,17807800
+2009-12-03,15.330000,15.380000,15.100000,15.110000,15.110000,17196200
+2009-12-04,15.320000,15.380000,15.000000,15.190000,15.190000,17576000
+2009-12-07,15.360000,15.650000,15.320000,15.450000,15.450000,18035200
+2009-12-08,15.450000,15.900000,15.230000,15.450000,15.450000,31160600
+2009-12-09,15.520000,15.540000,15.120000,15.180000,15.180000,25396900
+2009-12-10,15.340000,15.570000,15.240000,15.490000,15.490000,18743000
+2009-12-11,15.850000,15.900000,15.620000,15.740000,15.740000,22607500
+2009-12-14,15.900000,15.970000,15.640000,15.810000,15.810000,18086300
+2009-12-15,15.770000,15.880000,15.650000,15.740000,15.740000,13272900
+2009-12-16,15.570000,15.820000,15.470000,15.790000,15.790000,20637500
+2009-12-17,15.720000,15.960000,15.640000,15.820000,15.820000,26156700
+2009-12-18,15.940000,16.139999,15.780000,16.139999,16.139999,30021100
+2009-12-21,16.110001,16.170000,15.850000,15.880000,15.880000,17806100
+2009-12-22,15.880000,16.080000,15.820000,15.980000,15.980000,10631600
+2009-12-23,16.350000,16.700001,16.000000,16.670000,16.670000,23584100
+2009-12-24,16.690001,16.750000,16.650000,16.719999,16.719999,4736600
+2009-12-28,16.740000,16.940001,16.680000,16.879999,16.879999,11504300
+2009-12-29,16.840000,16.969999,16.680000,16.920000,16.920000,13450200
+2009-12-30,16.830000,16.990000,16.809999,16.980000,16.980000,8188000
+2009-12-31,16.920000,16.959999,16.770000,16.780001,16.780001,9515600
+2010-01-04,16.940001,17.200001,16.879999,17.100000,17.100000,16587400
+2010-01-05,17.219999,17.230000,17.000000,17.230000,17.230000,11718100
+2010-01-06,17.170000,17.299999,17.070000,17.170000,17.170000,16422000
+2010-01-07,16.809999,16.900000,16.570000,16.700001,16.700001,31816300
+2010-01-08,16.680000,16.760000,16.620001,16.700001,16.700001,15470000
+2010-01-11,16.770000,16.830000,16.480000,16.740000,16.740000,16181900
+2010-01-12,16.650000,16.860001,16.600000,16.680000,16.680000,15672400
+2010-01-13,16.879999,16.980000,16.650000,16.900000,16.900000,16955600
+2010-01-14,16.809999,17.230000,16.799999,17.120001,17.120001,16715600
+2010-01-15,17.250000,17.250000,16.750000,16.820000,16.820000,18415000
+2010-01-19,16.780001,16.959999,16.639999,16.750000,16.750000,15182600
+2010-01-20,16.650000,16.680000,16.250000,16.379999,16.379999,14419500
+2010-01-21,16.389999,16.580000,16.100000,16.200001,16.200001,21858400
+2010-01-22,16.080000,16.209999,15.810000,15.880000,15.880000,25132800
+2010-01-25,16.070000,16.110001,15.740000,15.860000,15.860000,19683700
+2010-01-26,15.820000,16.170000,15.700000,15.990000,15.990000,43979400
+2010-01-27,16.459999,16.490000,15.770000,15.980000,15.980000,41701000
+2010-01-28,15.930000,15.960000,15.440000,15.440000,15.440000,30159500
+2010-01-29,15.510000,15.670000,14.900000,15.010000,15.010000,39664600
+2010-02-01,15.140000,15.300000,14.870000,15.050000,15.050000,29865700
+2010-02-02,15.100000,15.320000,15.030000,15.170000,15.170000,27555200
+2010-02-03,15.120000,15.600000,15.120000,15.460000,15.460000,24730600
+2010-02-04,15.340000,15.520000,14.990000,15.010000,15.010000,27668100
+2010-02-05,15.010000,15.250000,14.920000,15.190000,15.190000,20713800
+2010-02-08,15.180000,15.470000,14.950000,14.990000,14.990000,19856400
+2010-02-09,15.200000,15.240000,14.940000,15.070000,15.070000,16716900
+2010-02-10,15.020000,15.020000,14.480000,14.800000,14.800000,36518100
+2010-02-11,14.870000,15.250000,14.770000,15.220000,15.220000,24509500
+2010-02-12,15.070000,15.190000,14.850000,15.170000,15.170000,18926400
+2010-02-16,15.230000,15.480000,15.180000,15.410000,15.410000,21447200
+2010-02-17,15.500000,15.520000,15.320000,15.440000,15.440000,12731900
+2010-02-18,15.400000,15.600000,15.320000,15.540000,15.540000,13700100
+2010-02-19,15.490000,15.710000,15.330000,15.580000,15.580000,15407900
+2010-02-22,15.610000,15.680000,15.440000,15.490000,15.490000,10463500
+2010-02-23,15.450000,15.510000,15.140000,15.380000,15.380000,18346700
+2010-02-24,15.480000,15.710000,15.330000,15.590000,15.590000,19284200
+2010-02-25,15.320000,15.350000,15.130000,15.240000,15.240000,20126900
+2010-02-26,15.270000,15.410000,15.160000,15.310000,15.310000,14975600
+2010-03-01,15.430000,15.830000,15.400000,15.790000,15.790000,17238000
+2010-03-02,15.870000,15.960000,15.670000,15.730000,15.730000,20101800
+2010-03-03,15.850000,15.850000,15.550000,15.570000,15.570000,20613800
+2010-03-04,15.550000,15.850000,15.520000,15.810000,15.810000,22906000
+2010-03-05,15.890000,16.379999,15.890000,16.059999,16.059999,21415000
+2010-03-08,16.320000,16.610001,16.299999,16.520000,16.520000,30554000
+2010-03-09,16.410000,16.719999,16.400000,16.530001,16.530001,20755200
+2010-03-10,16.510000,16.940001,16.510000,16.790001,16.790001,33088600
+2010-03-11,16.570000,16.650000,16.100000,16.530001,16.530001,21732900
+2010-03-12,16.510000,16.590000,16.260000,16.320000,16.320000,23106400
+2010-03-15,16.350000,16.639999,16.280001,16.459999,16.459999,18967700
+2010-03-16,16.469999,16.590000,16.230000,16.360001,16.360001,18309900
+2010-03-17,16.280001,16.629999,16.280001,16.500000,16.500000,13754600
+2010-03-18,16.459999,16.570000,16.320000,16.559999,16.559999,12626200
+2010-03-19,16.620001,16.809999,16.340000,16.440001,16.440001,17871000
+2010-03-22,16.370001,16.540001,16.320000,16.340000,16.340000,18743500
+2010-03-23,16.340000,16.340000,15.970000,16.030001,16.030001,31875700
+2010-03-24,16.100000,16.200001,15.920000,16.090000,16.090000,32654500
+2010-03-25,16.170000,16.590000,16.139999,16.320000,16.320000,27487400
+2010-03-26,16.340000,16.570000,16.309999,16.540001,16.540001,23224900
+2010-03-29,16.480000,16.680000,16.469999,16.559999,16.559999,14902800
+2010-03-30,16.549999,16.690001,16.389999,16.610001,16.610001,16204100
+2010-03-31,16.450001,16.580000,16.420000,16.530001,16.530001,11996900
+2010-04-01,16.580000,16.600000,16.219999,16.290001,16.290001,20103800
+2010-04-05,16.389999,16.559999,16.299999,16.510000,16.510000,9220200
+2010-04-06,16.549999,16.980000,16.420000,16.920000,16.920000,25696700
+2010-04-07,16.780001,16.920000,16.760000,16.870001,16.870001,19921000
+2010-04-08,16.910000,17.410000,16.900000,17.350000,17.350000,45369200
+2010-04-09,17.420000,18.070000,17.250000,17.520000,17.520000,47732000
+2010-04-12,17.520000,17.879999,17.410000,17.639999,17.639999,22828900
+2010-04-13,17.510000,18.299999,17.400000,18.180000,18.180000,47514500
+2010-04-14,18.150000,18.469999,18.059999,18.379999,18.379999,41024800
+2010-04-15,18.299999,19.120001,18.129999,18.969999,18.969999,60024700
+2010-04-16,18.670000,18.680000,17.959999,18.170000,18.170000,51424700
+2010-04-19,18.010000,18.400000,17.990000,18.389999,18.389999,26971800
+2010-04-20,18.500000,18.530001,18.230000,18.379999,18.379999,39171900
+2010-04-21,17.580000,17.780001,17.299999,17.450001,17.450001,71686200
+2010-04-22,17.370001,17.780001,17.150000,17.719999,17.719999,36231400
+2010-04-23,17.709999,17.830000,17.500000,17.639999,17.639999,18901000
+2010-04-26,17.690001,17.719999,17.340000,17.389999,17.389999,17363800
+2010-04-27,17.280001,17.360001,16.879999,16.920000,16.920000,22851000
+2010-04-28,16.980000,17.000000,16.629999,16.750000,16.750000,26452500
+2010-04-29,16.820000,17.049999,16.780001,16.969999,16.969999,16788100
+2010-04-30,17.110001,17.129999,16.530001,16.530001,16.530001,19688200
+2010-05-03,16.680000,16.990000,16.559999,16.950001,16.950001,18162400
+2010-05-04,16.629999,16.900000,16.250000,16.320000,16.320000,31375300
+2010-05-05,16.170000,16.700001,16.110001,16.490000,16.490000,23004200
+2010-05-06,16.340000,16.510000,15.430000,15.920000,15.920000,32125800
+2010-05-07,15.770000,15.950000,15.250000,15.290000,15.290000,43941000
+2010-05-10,16.040001,16.830000,16.000000,16.330000,16.330000,28103500
+2010-05-11,15.950000,16.639999,15.910000,16.410000,16.410000,27786500
+2010-05-12,16.450001,16.500000,16.330000,16.469999,16.469999,16405900
+2010-05-13,16.490000,16.500000,16.080000,16.139999,16.139999,15363800
+2010-05-14,16.510000,16.660000,16.139999,16.389999,16.389999,28111400
+2010-05-17,16.410000,16.469999,15.960000,16.270000,16.270000,21935000
+2010-05-18,16.270000,16.440001,15.950000,16.030001,16.030001,16182200
+2010-05-19,15.830000,16.000000,15.510000,15.790000,15.790000,20485400
+2010-05-20,15.450000,15.490000,15.060000,15.100000,15.100000,33789000
+2010-05-21,14.810000,15.900000,14.630000,15.480000,15.480000,31215300
+2010-05-24,15.420000,15.790000,15.360000,15.540000,15.540000,20116800
+2010-05-25,15.040000,15.310000,14.890000,15.310000,15.310000,27856300
+2010-05-26,15.600000,15.830000,15.430000,15.450000,15.450000,33656000
+2010-05-27,15.830000,15.840000,15.360000,15.690000,15.690000,31091700
+2010-05-28,15.610000,15.690000,15.000000,15.340000,15.340000,17619700
+2010-06-01,15.310000,15.550000,14.980000,15.020000,15.020000,30475500
+2010-06-02,15.040000,15.200000,14.960000,15.180000,15.180000,24993000
+2010-06-03,15.320000,15.500000,15.160000,15.430000,15.430000,28395100
+2010-06-04,15.120000,15.380000,14.960000,15.000000,15.000000,23606400
+2010-06-07,15.190000,15.360000,14.940000,14.940000,14.940000,19153200
+2010-06-08,15.050000,15.120000,14.620000,14.790000,14.790000,35500700
+2010-06-09,14.930000,15.060000,14.650000,14.690000,14.690000,18108600
+2010-06-10,14.940000,15.140000,14.870000,15.100000,15.100000,21249100
+2010-06-11,15.020000,15.350000,14.980000,15.290000,15.290000,14056600
+2010-06-14,15.460000,15.490000,15.150000,15.170000,15.170000,12493100
+2010-06-15,15.290000,15.690000,15.230000,15.650000,15.650000,13888300
+2010-06-16,15.580000,15.650000,15.340000,15.490000,15.490000,15920300
+2010-06-17,15.720000,15.720000,15.440000,15.600000,15.600000,10769300
+2010-06-18,15.660000,15.670000,15.470000,15.540000,15.540000,12767100
+2010-06-21,15.710000,15.840000,15.090000,15.210000,15.210000,20412800
+2010-06-22,15.240000,15.510000,15.070000,15.090000,15.090000,22418100
+2010-06-23,15.140000,15.390000,14.950000,15.230000,15.230000,13374000
+2010-06-24,15.110000,15.190000,14.700000,14.830000,14.830000,18287700
+2010-06-25,14.860000,14.920000,14.570000,14.810000,14.810000,29817600
+2010-06-28,14.830000,14.860000,14.580000,14.730000,14.730000,8175400
+2010-06-29,14.530000,14.540000,13.880000,14.040000,14.040000,31825900
+2010-06-30,13.950000,14.220000,13.790000,13.840000,13.840000,23912900
+2010-07-01,13.990000,14.150000,13.750000,14.090000,14.090000,33222500
+2010-07-02,14.080000,14.240000,14.030000,14.070000,14.070000,18564400
+2010-07-06,14.230000,14.460000,14.000000,14.130000,14.130000,17334100
+2010-07-07,14.180000,14.420000,14.120000,14.400000,14.400000,17417900
+2010-07-08,14.430000,14.770000,14.400000,14.600000,14.600000,17088700
+2010-07-09,14.600000,14.930000,14.590000,14.890000,14.890000,12682000
+2010-07-12,14.930000,15.210000,14.780000,14.940000,14.940000,15585900
+2010-07-13,15.060000,15.600000,14.990000,15.520000,15.520000,22328800
+2010-07-14,15.320000,15.420000,15.200000,15.370000,15.370000,12255700
+2010-07-15,15.310000,15.390000,15.040000,15.370000,15.370000,12626600
+2010-07-16,15.330000,15.370000,13.860000,14.900000,14.900000,16829800
+2010-07-19,15.230000,15.380000,15.020000,15.100000,15.100000,16168200
+2010-07-20,14.990000,15.280000,14.800000,15.200000,15.200000,29578300
+2010-07-21,14.270000,14.280000,13.750000,13.910000,13.910000,78035800
+2010-07-22,13.890000,14.170000,13.810000,13.880000,13.880000,42677600
+2010-07-23,13.780000,14.040000,13.520000,13.990000,13.990000,34318400
+2010-07-26,13.960000,14.220000,13.950000,14.150000,14.150000,23247800
+2010-07-27,14.070000,14.100000,13.890000,13.950000,13.950000,20971000
+2010-07-28,13.910000,13.990000,13.850000,13.870000,13.870000,13522600
+2010-07-29,13.900000,13.960000,13.750000,13.760000,13.760000,16703000
+2010-07-30,13.690000,13.980000,13.680000,13.880000,13.880000,18380400
+2010-08-02,14.010000,14.080000,13.960000,14.000000,14.000000,14167200
+2010-08-03,13.950000,14.070000,13.910000,13.940000,13.940000,14098600
+2010-08-04,14.000000,14.200000,13.920000,14.180000,14.180000,14297200
+2010-08-05,14.160000,14.250000,14.020000,14.160000,14.160000,13072700
+2010-08-06,14.060000,14.380000,14.000000,14.340000,14.340000,13394800
+2010-08-09,14.340000,14.520000,14.340000,14.400000,14.400000,12202600
+2010-08-10,14.260000,14.460000,14.200000,14.350000,14.350000,9658000
+2010-08-11,14.140000,14.200000,13.840000,13.870000,13.870000,13235500
+2010-08-12,13.770000,13.990000,13.750000,13.850000,13.850000,11659900
+2010-08-13,13.810000,13.960000,13.760000,13.830000,13.830000,7845600
+2010-08-16,13.750000,13.900000,13.680000,13.790000,13.790000,11416400
+2010-08-17,13.840000,14.000000,13.750000,13.940000,13.940000,13298600
+2010-08-18,13.980000,14.050000,13.840000,13.990000,13.990000,15533300
+2010-08-19,13.850000,14.000000,13.800000,13.850000,13.850000,14100700
+2010-08-20,13.850000,13.950000,13.740000,13.790000,13.790000,17192200
+2010-08-23,13.810000,13.870000,13.540000,13.650000,13.650000,12297600
+2010-08-24,13.530000,13.640000,13.390000,13.400000,13.400000,13425800
+2010-08-25,13.290000,13.370000,13.140000,13.260000,13.260000,15556800
+2010-08-26,13.360000,13.400000,13.210000,13.210000,13.210000,14602700
+2010-08-27,13.240000,13.470000,13.030000,13.430000,13.430000,12705600
+2010-08-30,13.270000,13.420000,13.180000,13.180000,13.180000,7120900
+2010-08-31,13.110000,13.140000,12.940000,13.110000,13.110000,16489500
+2010-09-01,13.200000,13.410000,13.130000,13.370000,13.370000,24616700
+2010-09-02,13.330000,13.550000,13.260000,13.510000,13.510000,18190200
+2010-09-03,13.690000,13.750000,13.560000,13.620000,13.620000,12478500
+2010-09-07,13.560000,13.620000,13.500000,13.530000,13.530000,10240600
+2010-09-08,13.660000,13.820000,13.620000,13.750000,13.750000,12102700
+2010-09-09,13.880000,13.920000,13.570000,13.650000,13.650000,17735500
+2010-09-10,13.680000,13.770000,13.540000,13.680000,13.680000,18590100
+2010-09-13,13.830000,13.880000,13.610000,13.730000,13.730000,24261400
+2010-09-14,13.760000,13.760000,13.600000,13.630000,13.630000,23064500
+2010-09-15,14.030000,14.350000,13.770000,14.270000,14.270000,90035400
+2010-09-16,14.200000,14.230000,13.980000,14.190000,14.190000,27281500
+2010-09-17,14.330000,14.330000,13.880000,13.890000,13.890000,79565400
+2010-09-20,13.950000,14.060000,13.840000,13.860000,13.860000,26234600
+2010-09-21,13.940000,14.260000,13.920000,14.180000,14.180000,32048400
+2010-09-22,14.190000,14.250000,13.970000,14.040000,14.040000,18567400
+2010-09-23,13.930000,14.240000,13.930000,14.170000,14.170000,16931600
+2010-09-24,14.300000,14.510000,14.240000,14.500000,14.500000,24154800
+2010-09-27,14.460000,14.530000,14.250000,14.280000,14.280000,20674000
+2010-09-28,14.330000,14.450000,14.140000,14.390000,14.390000,16074100
+2010-09-29,14.360000,14.390000,14.060000,14.340000,14.340000,24475700
+2010-09-30,14.260000,14.350000,13.990000,14.170000,14.170000,20376200
+2010-10-01,14.190000,14.350000,14.130000,14.270000,14.270000,16096500
+2010-10-04,14.200000,14.320000,14.130000,14.280000,14.280000,20557500
+2010-10-05,14.450000,14.770000,14.400000,14.610000,14.610000,23988400
+2010-10-06,14.600000,14.700000,14.340000,14.520000,14.520000,20297000
+2010-10-07,14.600000,14.610000,14.140000,14.230000,14.230000,18068600
+2010-10-08,14.210000,14.560000,14.180000,14.490000,14.490000,16102900
+2010-10-11,14.450000,14.580000,14.380000,14.410000,14.410000,8348200
+2010-10-12,14.360000,14.470000,14.270000,14.430000,14.430000,12465700
+2010-10-13,14.570000,15.480000,14.500000,15.250000,15.250000,50773400
+2010-10-14,16.750000,16.760000,15.750000,15.930000,15.930000,123449900
+2010-10-15,16.170000,16.730000,15.900000,16.250000,16.250000,58481800
+2010-10-18,16.200001,16.280001,15.750000,15.930000,15.930000,35876500
+2010-10-19,15.730000,15.800000,15.370000,15.490000,15.490000,32678600
+2010-10-20,15.790000,16.250000,15.790000,15.800000,15.800000,37790200
+2010-10-21,15.900000,16.000000,15.730000,15.970000,15.970000,26935500
+2010-10-22,15.900000,16.410000,15.860000,16.309999,16.309999,24264100
+2010-10-25,16.299999,16.440001,16.150000,16.400000,16.400000,17251500
+2010-10-26,16.219999,16.480000,16.200001,16.459999,16.459999,22349000
+2010-10-27,16.400000,16.430000,16.200001,16.420000,16.420000,13764400
+2010-10-28,16.450001,16.450001,16.309999,16.400000,16.400000,12689500
+2010-10-29,16.370001,16.520000,16.330000,16.490000,16.490000,16013700
+2010-11-01,16.500000,16.520000,16.080000,16.150000,16.150000,14360600
+2010-11-02,16.290001,16.400000,16.180000,16.190001,16.190001,9964700
+2010-11-03,16.209999,16.230000,16.010000,16.170000,16.170000,17325500
+2010-11-04,16.309999,16.350000,16.020000,16.200001,16.200001,26484700
+2010-11-05,16.180000,16.400000,16.180000,16.270000,16.270000,13414000
+2010-11-08,16.290001,16.500000,16.250000,16.440001,16.440001,15561500
+2010-11-09,17.219999,17.600000,16.860001,16.969999,16.969999,56218900
+2010-11-10,17.000000,17.010000,16.750000,16.940001,16.940001,17012600
+2010-11-11,16.629999,16.860001,16.520000,16.799999,16.799999,15310600
+2010-11-12,16.650000,16.750000,16.400000,16.549999,16.549999,17703400
+2010-11-15,16.559999,16.889999,16.330000,16.600000,16.600000,18934600
+2010-11-16,16.450001,16.490000,16.100000,16.240000,16.240000,23484100
+2010-11-17,16.209999,16.330000,16.110001,16.150000,16.150000,10305800
+2010-11-18,16.400000,17.170000,16.290001,16.990000,16.990000,46500100
+2010-11-19,16.969999,16.969999,16.520000,16.570000,16.570000,24036200
+2010-11-22,16.430000,16.650000,16.250000,16.559999,16.559999,14316900
+2010-11-23,16.340000,16.430000,16.040001,16.190001,16.190001,22437900
+2010-11-24,16.309999,16.480000,16.150000,16.410000,16.410000,11561700
+2010-11-26,16.250000,16.400000,16.219999,16.219999,16.219999,4953900
+2010-11-29,16.100000,16.450001,15.950000,16.379999,16.379999,14653000
+2010-11-30,16.200001,16.340000,15.770000,15.820000,15.820000,24981100
+2010-12-01,16.000000,16.400000,16.000000,16.150000,16.150000,17435900
+2010-12-02,16.200001,16.410000,16.120001,16.330000,16.330000,13167300
+2010-12-03,16.270000,16.370001,16.200001,16.350000,16.350000,9228000
+2010-12-06,16.469999,16.600000,16.299999,16.330000,16.330000,12063800
+2010-12-07,16.500000,17.070000,16.500000,16.940001,16.940001,29056400
+2010-12-08,17.010000,17.219999,16.959999,17.020000,17.020000,21773300
+2010-12-09,17.120001,17.190001,16.799999,16.950001,16.950001,8673300
+2010-12-10,16.969999,17.049999,16.910000,17.010000,17.010000,8985300
+2010-12-13,16.900000,16.990000,16.690001,16.700001,16.700001,12755400
+2010-12-14,16.770000,16.840000,16.570000,16.629999,16.629999,11429500
+2010-12-15,16.549999,16.730000,16.420000,16.450001,16.450001,10944200
+2010-12-16,16.450001,16.700001,16.440001,16.510000,16.510000,12940500
+2010-12-17,16.510000,16.660000,16.320000,16.379999,16.379999,24896100
+2010-12-20,16.379999,16.420000,16.150000,16.280001,16.280001,17566400
+2010-12-21,16.309999,16.680000,16.200001,16.600000,16.600000,11394700
+2010-12-22,16.670000,16.780001,16.559999,16.629999,16.629999,6767500
+2010-12-23,16.559999,16.730000,16.450001,16.719999,16.719999,8889200
+2010-12-27,16.620001,16.629999,16.400000,16.480000,16.480000,7492300
+2010-12-28,16.469999,16.540001,16.330000,16.430000,16.430000,8389100
+2010-12-29,16.500000,16.770000,16.430000,16.610001,16.610001,7668600
+2010-12-30,16.600000,16.770000,16.520000,16.760000,16.760000,8318900
+2010-12-31,16.740000,16.760000,16.469999,16.629999,16.629999,7754500
+2011-01-03,16.809999,16.940001,16.670000,16.750000,16.750000,17684000
+2011-01-04,16.709999,16.830000,16.570000,16.590000,16.590000,11092800
+2011-01-05,16.549999,16.910000,16.340000,16.910000,16.910000,23447700
+2011-01-06,16.900000,17.340000,16.770000,17.059999,17.059999,30656800
+2011-01-07,17.030001,17.170000,16.650000,16.900000,16.900000,19869500
+2011-01-10,16.780001,16.799999,16.500000,16.600000,16.600000,16176700
+2011-01-11,16.700001,16.730000,16.530001,16.580000,16.580000,14615700
+2011-01-12,16.709999,16.809999,16.590000,16.650000,16.650000,15066200
+2011-01-13,16.639999,16.920000,16.570000,16.750000,16.750000,15961000
+2011-01-14,16.670000,16.830000,16.600000,16.809999,16.809999,13593500
+2011-01-18,16.620001,16.680000,16.420000,16.500000,16.500000,21392500
+2011-01-19,16.490000,16.549999,16.230000,16.309999,16.309999,17130000
+2011-01-20,16.290001,16.330000,16.090000,16.230000,16.230000,14622700
+2011-01-21,16.270000,16.309999,15.930000,15.970000,15.970000,23366200
+2011-01-24,16.000000,16.240000,15.760000,16.090000,16.090000,23375300
+2011-01-25,16.170000,16.190001,15.850000,16.020000,16.020000,26673100
+2011-01-26,15.930000,16.049999,15.410000,15.570000,15.570000,49690800
+2011-01-27,15.580000,16.360001,15.580000,16.200001,16.200001,39067000
+2011-01-28,16.150000,16.209999,15.680000,15.830000,15.830000,24734000
+2011-01-31,15.820000,16.200001,15.790000,16.120001,16.120001,22911400
+2011-02-01,16.330000,16.459999,16.230000,16.379999,16.379999,26938900
+2011-02-02,16.250000,16.660000,16.250000,16.570000,16.570000,21106800
+2011-02-03,16.480000,16.910000,16.400000,16.690001,16.690001,33314600
+2011-02-04,16.740000,16.910000,16.450001,16.790001,16.790001,19127900
+2011-02-07,16.809999,17.000000,16.770000,16.799999,16.799999,16046500
+2011-02-08,16.830000,16.850000,16.480000,16.600000,16.600000,17932000
+2011-02-09,16.540001,16.700001,16.350000,16.430000,16.430000,17778700
+2011-02-10,16.389999,16.719999,16.350000,16.620001,16.620001,15430500
+2011-02-11,16.580000,16.870001,16.540001,16.850000,16.850000,15386300
+2011-02-14,16.840000,16.930000,16.719999,16.889999,16.889999,14503000
+2011-02-15,16.799999,17.389999,16.780001,17.200001,17.200001,31395200
+2011-02-16,17.230000,17.820000,17.209999,17.760000,17.760000,41824100
+2011-02-17,17.750000,17.820000,17.500000,17.770000,17.770000,23566600
+2011-02-18,17.690001,17.840000,17.570000,17.660000,17.660000,13729900
+2011-02-22,17.080000,17.389999,16.870001,16.910000,16.910000,34759500
+2011-02-23,17.030001,17.100000,16.350000,16.580000,16.580000,35225100
+2011-02-24,16.660000,16.730000,16.040001,16.370001,16.370001,31570400
+2011-02-25,16.389999,16.770000,16.379999,16.500000,16.500000,16939600
+2011-02-28,16.370001,16.600000,16.280001,16.400000,16.400000,20210300
+2011-03-01,16.459999,16.490000,16.080000,16.100000,16.100000,16702800
+2011-03-02,16.650000,16.850000,16.600000,16.629999,16.629999,24521100
+2011-03-03,16.850000,17.049999,16.760000,16.860001,16.860001,35202100
+2011-03-04,16.750000,17.200001,16.719999,17.080000,17.080000,20274200
+2011-03-07,17.070000,17.150000,16.490000,16.700001,16.700001,18770800
+2011-03-08,16.740000,17.020000,16.719999,16.940001,16.940001,12717200
+2011-03-09,16.889999,17.700001,16.850000,17.650000,17.650000,33798000
+2011-03-10,17.299999,17.389999,16.930000,17.059999,17.059999,25659700
+2011-03-11,17.000000,17.540001,17.000000,17.420000,17.420000,19454900
+2011-03-14,17.240000,17.440001,17.090000,17.309999,17.309999,21615500
+2011-03-15,16.660000,16.680000,16.040001,16.330000,16.330000,51489300
+2011-03-16,16.330000,16.480000,15.850000,15.910000,15.910000,38378500
+2011-03-17,16.160000,16.420000,15.810000,15.860000,15.860000,37548800
+2011-03-18,16.100000,16.190001,16.010000,16.030001,16.030001,26660400
+2011-03-21,16.180000,16.500000,16.160000,16.290001,16.290001,20613700
+2011-03-22,16.290001,16.480000,16.160000,16.360001,16.360001,30692400
+2011-03-23,16.299999,16.340000,15.980000,16.129999,16.129999,30842500
+2011-03-24,16.190001,16.910000,16.170000,16.830000,16.830000,20120300
+2011-03-25,16.940001,17.049999,16.700001,16.959999,16.959999,21047200
+2011-03-28,17.010000,17.059999,16.580000,16.580000,16.580000,16066700
+2011-03-29,16.600000,16.780001,16.530001,16.750000,16.750000,10037900
+2011-03-30,16.830000,16.920000,16.680000,16.740000,16.740000,12944600
+2011-03-31,16.709999,16.879999,16.650000,16.680000,16.680000,15131500
+2011-04-01,16.830000,16.980000,16.719999,16.840000,16.840000,12487400
+2011-04-04,16.900000,17.049999,16.809999,16.870001,16.870001,9560800
+2011-04-05,16.809999,17.290001,16.790001,17.110001,17.110001,18464500
+2011-04-06,17.170000,17.200001,16.940001,17.049999,17.049999,13298700
+2011-04-07,16.910000,17.100000,16.790001,17.000000,17.000000,12778700
+2011-04-08,17.080000,17.110001,16.770000,16.770000,16.770000,13114200
+2011-04-11,16.910000,16.959999,16.370001,16.590000,16.590000,34841900
+2011-04-12,16.549999,16.639999,16.290001,16.360001,16.360001,19783600
+2011-04-13,16.430000,16.690001,16.430000,16.639999,16.639999,16700400
+2011-04-14,16.549999,16.820000,16.430000,16.690001,16.690001,16595500
+2011-04-15,16.639999,16.780001,16.540001,16.620001,16.620001,14756500
+2011-04-18,16.350000,16.440001,16.059999,16.350000,16.350000,21935700
+2011-04-19,16.209999,16.360001,16.080000,16.120001,16.120001,31547400
+2011-04-20,16.700001,17.230000,16.590000,16.870001,16.870001,34310400
+2011-04-21,16.930000,16.940001,16.740000,16.850000,16.850000,13985200
+2011-04-25,17.010000,17.309999,16.900000,17.110001,17.110001,17771500
+2011-04-26,17.110001,17.370001,17.020000,17.280001,17.280001,20000000
+2011-04-27,17.299999,17.430000,17.180000,17.260000,17.260000,16642400
+2011-04-28,17.219999,17.530001,17.170000,17.510000,17.510000,14400000
+2011-04-29,17.459999,17.770000,17.360001,17.700001,17.700001,30800000
+2011-05-02,17.790001,18.350000,17.570000,18.139999,18.139999,44030600
+2011-05-03,18.230000,18.639999,17.879999,17.920000,17.920000,32600000
+2011-05-04,17.990000,18.379999,17.959999,18.200001,18.200001,23584900
+2011-05-05,18.120001,18.559999,18.049999,18.430000,18.430000,30800000
+2011-05-06,18.590000,18.799999,18.379999,18.650000,18.650000,29690800
+2011-05-09,18.600000,18.840000,18.540001,18.559999,18.559999,15595600
+2011-05-10,18.670000,18.700001,18.420000,18.549999,18.549999,18475100
+2011-05-11,18.450001,18.610001,16.740000,17.200001,17.200001,131200000
+2011-05-12,17.120001,17.809999,16.930000,17.170000,17.170000,53000000
+2011-05-13,16.139999,16.840000,15.960000,16.549999,16.549999,120057600
+2011-05-16,16.680000,16.690001,15.630000,15.810000,15.810000,62082200
+2011-05-17,15.880000,16.070000,15.730000,16.000000,16.000000,31205200
+2011-05-18,16.070000,16.160000,15.750000,15.960000,15.960000,25880200
+2011-05-19,16.049999,16.490000,16.040001,16.350000,16.350000,40356400
+2011-05-20,16.320000,16.440001,16.150000,16.299999,16.299999,23582700
+2011-05-23,16.049999,16.170000,16.000000,16.059999,16.059999,19300000
+2011-05-24,16.110001,16.410000,16.049999,16.139999,16.139999,23150600
+2011-05-25,16.190001,16.990000,16.100000,16.150000,16.150000,34172600
+2011-05-26,16.180000,16.219999,15.880000,15.980000,15.980000,23999500
+2011-05-27,16.030001,16.190001,15.950000,16.020000,16.020000,20091200
+2011-05-31,16.170000,16.590000,16.120001,16.549999,16.549999,30266600
+2011-06-01,16.340000,16.430000,15.790000,15.850000,15.850000,40295600
+2011-06-02,16.000000,16.110001,15.870000,16.020000,16.020000,21005000
+2011-06-03,15.820000,16.000000,15.630000,15.680000,15.680000,22245200
+2011-06-06,15.650000,15.850000,15.410000,15.450000,15.450000,18200400
+2011-06-07,15.540000,15.650000,15.320000,15.450000,15.450000,16516100
+2011-06-08,15.370000,15.380000,15.080000,15.100000,15.100000,21986600
+2011-06-09,15.180000,15.330000,14.940000,15.220000,15.220000,18681900
+2011-06-10,15.270000,15.730000,15.110000,15.200000,15.200000,19452400
+2011-06-13,15.200000,15.340000,15.100000,15.160000,15.160000,14581200
+2011-06-14,15.260000,15.560000,15.190000,15.200000,15.200000,21994400
+2011-06-15,15.010000,15.050000,14.500000,14.810000,14.810000,41286100
+2011-06-16,15.010000,15.090000,14.650000,14.780000,14.780000,24446700
+2011-06-17,14.980000,14.980000,14.560000,14.700000,14.700000,22963400
+2011-06-20,14.660000,15.420000,14.660000,14.990000,14.990000,32646500
+2011-06-21,15.030000,15.380000,14.910000,15.350000,15.350000,17507800
+2011-06-22,15.290000,15.530000,15.190000,15.230000,15.230000,30154700
+2011-06-23,15.080000,15.090000,14.720000,15.080000,15.080000,32524700
+2011-06-24,15.080000,15.160000,14.850000,14.890000,14.890000,25340600
+2011-06-27,14.870000,14.980000,14.770000,14.880000,14.880000,13836300
+2011-06-28,14.950000,15.180000,14.880000,14.950000,14.950000,16056600
+2011-06-29,14.960000,15.050000,14.680000,14.890000,14.890000,25465200
+2011-06-30,14.980000,15.100000,14.640000,15.040000,15.040000,34905700
+2011-07-01,15.080000,15.500000,15.020000,15.450000,15.450000,16272500
+2011-07-05,15.400000,15.670000,15.250000,15.490000,15.490000,20481700
+2011-07-06,15.530000,15.810000,15.520000,15.720000,15.720000,18287200
+2011-07-07,15.780000,15.950000,15.700000,15.810000,15.810000,20991400
+2011-07-08,15.620000,15.690000,15.440000,15.610000,15.610000,14364900
+2011-07-11,15.430000,15.440000,14.990000,15.050000,15.050000,21486700
+2011-07-12,15.010000,15.180000,14.850000,14.860000,14.860000,22791100
+2011-07-13,15.010000,15.100000,14.870000,14.910000,14.910000,16646100
+2011-07-14,14.880000,14.990000,14.600000,14.630000,14.630000,27078600
+2011-07-15,14.750000,14.940000,14.610000,14.690000,14.690000,19745100
+2011-07-18,14.680000,14.690000,14.370000,14.420000,14.420000,24504800
+2011-07-19,14.570000,14.690000,14.450000,14.590000,14.590000,30168200
+2011-07-20,14.150000,14.150000,13.450000,13.480000,13.480000,63098400
+2011-07-21,13.500000,13.630000,13.360000,13.590000,13.590000,30487100
+2011-07-22,13.650000,14.050000,13.570000,13.980000,13.980000,30144800
+2011-07-25,13.840000,13.880000,13.680000,13.690000,13.690000,16725400
+2011-07-26,13.700000,13.990000,13.650000,13.940000,13.940000,20934200
+2011-07-27,13.870000,13.900000,13.570000,13.590000,13.590000,20559500
+2011-07-28,13.600000,13.710000,13.430000,13.500000,13.500000,20636500
+2011-07-29,13.890000,14.070000,13.040000,13.100000,13.100000,67798500
+2011-08-01,13.240000,13.340000,12.950000,13.100000,13.100000,26880000
+2011-08-02,12.960000,13.180000,12.750000,12.760000,12.760000,25800300
+2011-08-03,12.770000,13.070000,12.530000,13.020000,13.020000,26161900
+2011-08-04,12.800000,12.860000,11.990000,12.000000,12.000000,39442300
+2011-08-05,12.080000,12.120000,11.410000,11.740000,11.740000,47066200
+2011-08-08,11.430000,11.800000,11.090000,11.090000,11.090000,59577600
+2011-08-09,11.300000,12.090000,11.250000,12.090000,12.090000,47484100
+2011-08-10,11.770000,12.140000,11.620000,11.770000,11.770000,48027400
+2011-08-11,11.890000,12.920000,11.880000,12.860000,12.860000,51098800
+2011-08-12,12.810000,13.620000,12.760000,13.590000,13.590000,48472500
+2011-08-15,13.630000,13.690000,13.270000,13.470000,13.470000,25682800
+2011-08-16,13.340000,13.570000,13.180000,13.480000,13.480000,25581900
+2011-08-17,13.490000,13.620000,13.320000,13.470000,13.470000,17006500
+2011-08-18,13.020000,13.090000,12.800000,12.960000,12.960000,30447700
+2011-08-19,12.750000,13.080000,12.720000,12.920000,12.920000,26183900
+2011-08-22,13.160000,13.230000,12.770000,12.840000,12.840000,14199400
+2011-08-23,12.910000,13.350000,12.750000,13.350000,13.350000,17186500
+2011-08-24,13.280000,13.300000,12.790000,13.150000,13.150000,24967200
+2011-08-25,13.120000,13.210000,12.810000,12.870000,12.870000,21811800
+2011-08-26,12.800000,12.890000,12.520000,12.740000,12.740000,35882600
+2011-08-29,12.900000,13.680000,12.690000,13.680000,13.680000,30990800
+2011-08-30,13.300000,13.980000,13.230000,13.840000,13.840000,29162300
+2011-08-31,13.910000,13.940000,13.540000,13.610000,13.610000,25390700
+2011-09-01,13.670000,13.780000,13.320000,13.350000,13.350000,17962700
+2011-09-02,13.120000,13.130000,12.860000,12.870000,12.870000,20508600
+2011-09-06,12.520000,12.950000,12.450000,12.910000,12.910000,54455300
+2011-09-07,13.750000,14.000000,13.240000,13.610000,13.610000,77324200
+2011-09-08,13.570000,14.490000,13.370000,14.440000,14.440000,93972000
+2011-09-09,14.360000,14.570000,14.070000,14.480000,14.480000,60031900
+2011-09-12,14.120000,14.280000,13.920000,14.260000,14.260000,32692700
+2011-09-13,14.300000,14.340000,14.120000,14.260000,14.260000,19928800
+2011-09-14,14.470000,14.940000,14.340000,14.550000,14.550000,37385000
+2011-09-15,14.730000,15.400000,14.510000,14.890000,14.890000,58585100
+2011-09-16,15.090000,15.340000,14.940000,14.970000,14.970000,56827900
+2011-09-19,14.760000,14.790000,14.400000,14.610000,14.610000,27290100
+2011-09-20,14.530000,14.660000,14.280000,14.360000,14.360000,21767200
+2011-09-21,14.380000,14.600000,13.960000,13.960000,13.960000,32012800
+2011-09-22,14.200000,14.250000,13.690000,13.990000,13.990000,60456300
+2011-09-23,14.230000,14.830000,14.120000,14.710000,14.710000,49333200
+2011-09-26,14.790000,14.800000,14.230000,14.750000,14.750000,24466200
+2011-09-27,14.920000,15.000000,14.440000,14.540000,14.540000,25084400
+2011-09-28,14.610000,14.620000,14.150000,14.190000,14.190000,21284700
+2011-09-29,14.340000,14.390000,13.150000,13.420000,13.420000,45776600
+2011-09-30,13.210000,13.440000,13.110000,13.170000,13.170000,30232800
+2011-10-03,13.700000,14.040000,13.370000,13.530000,13.530000,43196300
+2011-10-04,14.000000,14.480000,13.870000,14.460000,14.460000,44487200
+2011-10-05,14.660000,16.150000,14.390000,15.920000,15.920000,97330200
+2011-10-06,15.160000,15.800000,14.920000,15.650000,15.650000,49961100
+2011-10-07,15.640000,15.750000,15.380000,15.470000,15.470000,27954000
+2011-10-10,15.860000,16.040001,15.620000,15.840000,15.840000,33085000
+2011-10-11,15.790000,15.950000,15.590000,15.860000,15.860000,18050300
+2011-10-12,15.930000,15.950000,15.670000,15.770000,15.770000,20585400
+2011-10-13,15.760000,16.370001,15.540000,15.930000,15.930000,32487300
+2011-10-14,16.129999,16.150000,15.660000,15.910000,15.910000,23520100
+2011-10-17,15.950000,16.040001,15.650000,15.700000,15.700000,21204000
+2011-10-18,15.720000,15.740000,15.110000,15.470000,15.470000,31377900
+2011-10-19,16.040001,16.790001,15.730000,15.940000,15.940000,54264500
+2011-10-20,16.200001,16.490000,15.970000,16.180000,16.180000,40816900
+2011-10-21,16.379999,16.389999,16.059999,16.120001,16.120001,29739400
+2011-10-24,16.570000,16.750000,16.309999,16.709999,16.709999,29864000
+2011-10-25,16.660000,16.700001,16.180000,16.240000,16.240000,24059700
+2011-10-26,16.330000,16.440001,15.860000,16.299999,16.299999,23630100
+2011-10-27,16.559999,16.700001,16.450001,16.629999,16.629999,19772200
+2011-10-28,16.410000,16.700001,16.250000,16.559999,16.559999,20286900
+2011-10-31,16.059999,16.070000,15.450000,15.640000,15.640000,39763700
+2011-11-01,14.950000,15.080000,14.750000,14.930000,14.930000,41834700
+2011-11-02,15.100000,15.300000,15.000000,15.100000,15.100000,20758800
+2011-11-03,15.200000,15.500000,15.030000,15.480000,15.480000,16809500
+2011-11-04,15.390000,15.540000,14.950000,15.240000,15.240000,41853000
+2011-11-07,15.260000,15.700000,15.250000,15.690000,15.690000,22390700
+2011-11-08,15.870000,16.180000,15.810000,15.970000,15.970000,25079700
+2011-11-09,16.170000,16.500000,15.870000,15.920000,15.920000,45328300
+2011-11-10,16.180000,16.219999,15.840000,15.950000,15.950000,15366400
+2011-11-11,15.960000,16.309999,15.910000,16.270000,16.270000,14541600
+2011-11-14,16.170000,16.309999,15.930000,16.000000,16.000000,14277600
+2011-11-15,15.930000,16.049999,15.700000,15.930000,15.930000,17650700
+2011-11-16,15.800000,16.100000,15.700000,15.720000,15.720000,14367600
+2011-11-17,15.690000,15.770000,15.200000,15.340000,15.340000,17443700
+2011-11-18,15.570000,15.690000,15.370000,15.380000,15.380000,17160300
+2011-11-21,15.190000,15.190000,14.770000,14.990000,14.990000,23676900
+2011-11-22,14.880000,15.080000,14.750000,14.970000,14.970000,14836000
+2011-11-23,15.200000,15.240000,14.830000,14.940000,14.940000,20125200
+2011-11-25,15.000000,15.250000,14.900000,15.100000,15.100000,10781800
+2011-11-28,15.240000,15.470000,15.210000,15.350000,15.350000,19029000
+2011-11-29,15.600000,15.940000,15.450000,15.700000,15.700000,29294000
+2011-11-30,15.900000,16.040001,15.650000,15.710000,15.710000,34718200
+2011-12-01,16.420000,16.459999,16.090000,16.230000,16.230000,47059800
+2011-12-02,16.309999,16.410000,16.030001,16.049999,16.049999,22714500
+2011-12-05,16.110001,16.139999,15.830000,15.890000,15.890000,19896500
+2011-12-06,15.900000,16.049999,15.840000,15.840000,15.840000,17333200
+2011-12-07,15.820000,15.860000,15.560000,15.620000,15.620000,19750500
+2011-12-08,15.600000,15.760000,15.530000,15.610000,15.610000,18126100
+2011-12-09,15.610000,15.960000,15.600000,15.940000,15.940000,13446300
+2011-12-12,15.710000,15.720000,15.410000,15.470000,15.470000,14689400
+2011-12-13,15.540000,15.740000,15.350000,15.420000,15.420000,15584400
+2011-12-14,15.190000,15.280000,14.800000,15.020000,15.020000,27251100
+2011-12-15,15.210000,15.290000,15.010000,15.160000,15.160000,14829800
+2011-12-16,15.050000,15.260000,14.920000,14.960000,14.960000,32617200
+2011-12-19,14.950000,15.000000,14.570000,14.620000,14.620000,21447300
+2011-12-20,14.680000,15.190000,14.680000,15.110000,15.110000,15885700
+2011-12-21,15.150000,16.240000,14.740000,15.990000,15.990000,47127600
+2011-12-22,16.360001,16.400000,15.950000,16.000000,16.000000,33812800
+2011-12-23,16.049999,16.260000,15.870000,16.190001,16.190001,17865900
+2011-12-27,16.160000,16.170000,16.010000,16.090000,16.090000,9739500
+2011-12-28,16.030001,16.049999,15.670000,15.780000,15.780000,14679900
+2011-12-29,15.950000,16.230000,15.800000,16.129999,16.129999,15280900
+2011-12-30,16.180000,16.209999,16.030001,16.129999,16.129999,10832800
+2012-01-03,16.270000,16.389999,16.200001,16.290001,16.290001,19708600
+2012-01-04,16.120001,16.160000,15.740000,15.780000,15.780000,35655300
+2012-01-05,15.600000,15.690000,15.440000,15.640000,15.640000,19422800
+2012-01-06,15.640000,15.660000,15.400000,15.520000,15.520000,13308400
+2012-01-09,15.590000,15.610000,15.350000,15.460000,15.460000,13191900
+2012-01-10,15.570000,15.710000,15.500000,15.510000,15.510000,14048800
+2012-01-11,15.560000,15.620000,15.350000,15.530000,15.530000,10800800
+2012-01-12,15.580000,15.730000,15.450000,15.660000,15.660000,12664600
+2012-01-13,15.650000,15.670000,15.430000,15.480000,15.480000,11704700
+2012-01-17,15.630000,15.660000,15.390000,15.430000,15.430000,15334200
+2012-01-18,15.870000,16.000000,15.690000,15.920000,15.920000,35695800
+2012-01-19,15.900000,16.150000,15.890000,16.120001,16.120001,22645000
+2012-01-20,16.110001,16.110001,15.850000,15.960000,15.960000,22003800
+2012-01-23,15.850000,15.930000,15.640000,15.680000,15.680000,17864500
+2012-01-24,15.570000,15.810000,15.550000,15.690000,15.690000,17152200
+2012-01-25,15.600000,15.710000,15.460000,15.560000,15.560000,23349500
+2012-01-26,15.630000,15.690000,15.420000,15.530000,15.530000,15408400
+2012-01-27,15.500000,15.800000,15.460000,15.740000,15.740000,10859000
+2012-01-30,15.610000,15.650000,15.500000,15.550000,15.550000,11076900
+2012-01-31,15.540000,15.620000,15.410000,15.470000,15.470000,10725500
+2012-02-01,15.570000,15.800000,15.530000,15.730000,15.730000,13221000
+2012-02-02,15.760000,15.820000,15.690000,15.720000,15.720000,9948800
+2012-02-03,15.940000,15.980000,15.830000,15.920000,15.920000,13652100
+2012-02-06,15.940000,15.950000,15.760000,15.820000,15.820000,11291100
+2012-02-07,15.840000,15.890000,15.740000,15.830000,15.830000,13504500
+2012-02-08,15.960000,15.970000,15.720000,15.780000,15.780000,13439400
+2012-02-09,16.100000,16.100000,15.900000,16.000000,16.000000,22553000
+2012-02-10,16.020000,16.309999,16.000000,16.139999,16.139999,27790100
+2012-02-13,16.129999,16.240000,16.049999,16.120001,16.120001,10067300
+2012-02-14,16.070000,16.100000,14.920000,15.370000,15.370000,88638700
+2012-02-15,15.230000,15.300000,15.080000,15.120000,15.120000,25318400
+2012-02-16,15.250000,15.380000,15.100000,15.360000,15.360000,15377400
+2012-02-17,15.410000,15.440000,15.000000,15.010000,15.010000,22889500
+2012-02-21,15.040000,15.070000,14.750000,14.750000,14.750000,29696600
+2012-02-22,14.680000,14.750000,14.430000,14.500000,14.500000,27187200
+2012-02-23,14.550000,14.810000,14.370000,14.780000,14.780000,15689700
+2012-02-24,14.860000,14.970000,14.830000,14.890000,14.890000,12105400
+2012-02-27,14.740000,14.910000,14.720000,14.860000,14.860000,13431000
+2012-02-28,14.930000,14.990000,14.760000,14.900000,14.900000,15395600
+2012-02-29,14.890000,14.930000,14.780000,14.830000,14.830000,19611100
+2012-03-01,14.890000,14.960000,14.790000,14.930000,14.930000,12283300
+2012-03-02,14.890000,14.920000,14.660000,14.720000,14.720000,9164900
+2012-03-05,14.660000,14.950000,14.520000,14.620000,14.620000,11749700
+2012-03-06,14.610000,14.690000,14.350000,14.420000,14.420000,12696600
+2012-03-07,14.480000,14.710000,14.440000,14.620000,14.620000,10622500
+2012-03-08,14.700000,14.770000,14.520000,14.620000,14.620000,11271400
+2012-03-09,14.630000,14.700000,14.610000,14.630000,14.630000,9769900
+2012-03-12,14.660000,14.760000,14.480000,14.490000,14.490000,11309200
+2012-03-13,14.540000,14.620000,14.390000,14.550000,14.550000,17134400
+2012-03-14,14.540000,14.640000,14.420000,14.630000,14.630000,14765500
+2012-03-15,14.640000,14.980000,14.570000,14.890000,14.890000,19809800
+2012-03-16,14.950000,15.180000,14.920000,15.180000,15.180000,28337600
+2012-03-19,15.080000,15.220000,14.920000,15.150000,15.150000,16649600
+2012-03-20,15.000000,15.610000,14.920000,15.410000,15.410000,22095600
+2012-03-21,15.420000,15.610000,15.170000,15.510000,15.510000,25024100
+2012-03-22,15.510000,15.560000,15.380000,15.490000,15.490000,14618600
+2012-03-23,15.520000,15.590000,15.310000,15.390000,15.390000,8493700
+2012-03-26,15.460000,15.560000,15.360000,15.540000,15.540000,11500800
+2012-03-27,15.530000,15.550000,15.410000,15.430000,15.430000,11891000
+2012-03-28,15.450000,15.480000,15.140000,15.320000,15.320000,18831800
+2012-03-29,15.190000,15.340000,15.110000,15.300000,15.300000,9933800
+2012-03-30,15.370000,15.420000,15.180000,15.220000,15.220000,15514100
+2012-04-02,15.190000,15.510000,15.110000,15.460000,15.460000,14423800
+2012-04-03,15.360000,15.430000,15.060000,15.180000,15.180000,18215000
+2012-04-04,15.150000,15.340000,15.000000,15.270000,15.270000,20954600
+2012-04-05,15.140000,15.260000,15.000000,15.070000,15.070000,11717000
+2012-04-09,15.000000,15.250000,14.960000,15.100000,15.100000,11335400
+2012-04-10,15.080000,15.180000,14.910000,14.990000,14.990000,15284200
+2012-04-11,15.080000,15.080000,14.840000,14.880000,14.880000,11200900
+2012-04-12,14.900000,15.100000,14.840000,15.060000,15.060000,9487500
+2012-04-13,14.990000,15.180000,14.860000,14.870000,14.870000,15335800
+2012-04-16,15.000000,15.040000,14.730000,14.790000,14.790000,13639200
+2012-04-17,14.820000,15.180000,14.820000,15.010000,15.010000,20559000
+2012-04-18,15.400000,15.570000,15.300000,15.490000,15.490000,36559000
+2012-04-19,15.440000,15.570000,15.360000,15.400000,15.400000,18431200
+2012-04-20,15.410000,15.700000,15.390000,15.600000,15.600000,24558400
+2012-04-23,15.410000,15.470000,15.290000,15.330000,15.330000,21683700
+2012-04-24,15.330000,15.520000,15.330000,15.430000,15.430000,12140200
+2012-04-25,15.430000,15.510000,15.380000,15.500000,15.500000,13236900
+2012-04-26,15.440000,15.550000,15.380000,15.530000,15.530000,12542800
+2012-04-27,15.510000,15.620000,15.490000,15.570000,15.570000,9711600
+2012-04-30,15.550000,15.570000,15.450000,15.540000,15.540000,10894600
+2012-05-01,15.510000,15.730000,15.500000,15.630000,15.630000,9799300
+2012-05-02,15.580000,15.770000,15.540000,15.670000,15.670000,10841000
+2012-05-03,15.650000,15.650000,15.330000,15.400000,15.400000,10932700
+2012-05-04,15.250000,15.290000,15.090000,15.150000,15.150000,13771300
+2012-05-07,15.340000,15.490000,15.160000,15.350000,15.350000,13466000
+2012-05-08,15.310000,15.440000,15.090000,15.360000,15.360000,18603600
+2012-05-09,15.170000,15.450000,15.030000,15.300000,15.300000,19008500
+2012-05-10,15.400000,15.540000,15.300000,15.440000,15.440000,11175700
+2012-05-11,14.880000,15.440000,14.800000,15.190000,15.190000,21134300
+2012-05-14,15.480000,15.770000,15.400000,15.500000,15.500000,30818600
+2012-05-15,15.470000,15.550000,15.340000,15.400000,15.400000,13742500
+2012-05-16,15.400000,15.570000,15.260000,15.280000,15.280000,17247400
+2012-05-17,15.260000,15.370000,14.850000,14.870000,14.870000,17345100
+2012-05-18,15.780000,15.870000,15.360000,15.420000,15.420000,32679400
+2012-05-21,16.000000,16.000000,15.100000,15.580000,15.580000,51145800
+2012-05-22,15.580000,15.610000,15.190000,15.290000,15.290000,33542000
+2012-05-23,15.190000,15.430000,15.140000,15.380000,15.380000,18115300
+2012-05-24,15.340000,15.510000,15.220000,15.350000,15.350000,13875600
+2012-05-25,15.400000,15.480000,15.280000,15.360000,15.360000,13629000
+2012-05-29,15.400000,15.550000,15.280000,15.470000,15.470000,18464900
+2012-05-30,15.300000,15.340000,15.160000,15.250000,15.250000,14924600
+2012-05-31,15.230000,15.370000,15.120000,15.240000,15.240000,17160000
+2012-06-01,15.040000,15.120000,14.850000,14.920000,14.920000,16196700
+2012-06-04,14.900000,15.030000,14.810000,15.010000,15.010000,15478000
+2012-06-05,15.000000,15.140000,14.910000,15.100000,15.100000,9725400
+2012-06-06,15.140000,15.410000,15.140000,15.360000,15.360000,18295500
+2012-06-07,15.470000,15.500000,15.330000,15.360000,15.360000,12635700
+2012-06-08,15.520000,15.680000,15.400000,15.650000,15.650000,16420600
+2012-06-11,15.730000,15.730000,15.270000,15.300000,15.300000,17145100
+2012-06-12,15.350000,15.520000,15.260000,15.470000,15.470000,17012500
+2012-06-13,15.470000,15.490000,15.270000,15.340000,15.340000,16454100
+2012-06-14,15.300000,15.460000,15.250000,15.360000,15.360000,11612700
+2012-06-15,15.440000,15.440000,15.330000,15.360000,15.360000,11716500
+2012-06-18,15.330000,15.540000,15.270000,15.490000,15.490000,9654000
+2012-06-19,15.520000,15.690000,15.510000,15.650000,15.650000,10635800
+2012-06-20,15.690000,15.750000,15.580000,15.740000,15.740000,11260700
+2012-06-21,15.740000,15.800000,15.470000,15.520000,15.520000,13102700
+2012-06-22,15.530000,15.700000,15.520000,15.610000,15.610000,11042700
+2012-06-25,15.510000,15.550000,15.310000,15.440000,15.440000,13383100
+2012-06-26,15.400000,15.470000,15.190000,15.350000,15.350000,13640400
+2012-06-27,15.410000,15.630000,15.380000,15.520000,15.520000,11261800
+2012-06-28,15.410000,15.480000,15.290000,15.450000,15.450000,12479200
+2012-06-29,15.610000,15.830000,15.530000,15.830000,15.830000,13501800
+2012-07-02,15.800000,15.940000,15.760000,15.840000,15.840000,7226600
+2012-07-03,15.830000,15.990000,15.820000,15.980000,15.980000,8148400
+2012-07-05,15.900000,15.990000,15.810000,15.850000,15.850000,11440800
+2012-07-06,15.800000,15.910000,15.680000,15.780000,15.780000,12151600
+2012-07-09,15.780000,15.840000,15.700000,15.750000,15.750000,10375900
+2012-07-10,15.830000,15.980000,15.710000,15.820000,15.820000,15933900
+2012-07-11,15.820000,15.940000,15.680000,15.800000,15.800000,16482300
+2012-07-12,15.630000,15.810000,15.540000,15.690000,15.690000,18390200
+2012-07-13,15.700000,15.840000,15.690000,15.740000,15.740000,11811600
+2012-07-16,15.690000,15.800000,15.600000,15.650000,15.650000,14982900
+2012-07-17,15.850000,15.890000,15.420000,15.600000,15.600000,30596300
+2012-07-18,15.640000,15.750000,15.510000,15.700000,15.700000,19270600
+2012-07-19,15.710000,15.860000,15.640000,15.730000,15.730000,15985300
+2012-07-20,15.750000,15.940000,15.680000,15.920000,15.920000,16919700
+2012-07-23,15.700000,15.810000,15.590000,15.760000,15.760000,14825800
+2012-07-24,15.740000,15.760000,15.230000,15.430000,15.430000,19733400
+2012-07-25,15.520000,15.640000,15.400000,15.500000,15.500000,15092000
+2012-07-26,15.690000,15.880000,15.620000,15.800000,15.800000,11033200
+2012-07-27,15.880000,16.170000,15.840000,16.110001,16.110001,14220800
+2012-07-30,16.150000,16.150000,15.900000,15.980000,15.980000,10187600
+2012-07-31,16.000000,16.059999,15.810000,15.840000,15.840000,13753800
+2012-08-01,15.860000,16.070000,15.830000,15.990000,15.990000,14008000
+2012-08-02,15.860000,16.000000,15.640000,15.750000,15.750000,12900500
+2012-08-03,15.890000,16.030001,15.820000,15.970000,15.970000,9140800
+2012-08-06,16.000000,16.070000,15.950000,16.040001,16.040001,8803900
+2012-08-07,16.090000,16.370001,16.070000,16.219999,16.219999,17281700
+2012-08-08,16.150000,16.320000,16.090000,16.170000,16.170000,7379000
+2012-08-09,16.160000,16.160000,15.980000,16.010000,16.010000,8613100
+2012-08-10,15.250000,15.350000,15.010000,15.150000,15.150000,61987300
+2012-08-13,15.030000,15.210000,15.000000,15.020000,15.020000,20849400
+2012-08-14,15.040000,15.050000,14.690000,14.730000,14.730000,29655200
+2012-08-15,14.770000,14.860000,14.650000,14.760000,14.760000,20682900
+2012-08-16,14.810000,15.010000,14.750000,14.990000,14.990000,24971900
+2012-08-17,15.020000,15.070000,14.850000,15.030000,15.030000,19640700
+2012-08-20,14.990000,15.050000,14.880000,14.960000,14.960000,11193900
+2012-08-21,14.950000,15.010000,14.880000,14.970000,14.970000,27934700
+2012-08-22,14.950000,14.990000,14.860000,14.920000,14.920000,9168400
+2012-08-23,14.900000,14.970000,14.820000,14.870000,14.870000,12463000
+2012-08-24,14.820000,14.940000,14.770000,14.920000,14.920000,8650400
+2012-08-27,14.920000,14.930000,14.770000,14.850000,14.850000,10054000
+2012-08-28,14.840000,14.870000,14.690000,14.720000,14.720000,12706400
+2012-08-29,14.730000,14.940000,14.700000,14.840000,14.840000,21113600
+2012-08-30,14.810000,14.840000,14.640000,14.670000,14.670000,10698800
+2012-08-31,14.790000,14.820000,14.590000,14.650000,14.650000,11619700
+2012-09-04,14.640000,14.980000,14.590000,14.890000,14.890000,18809200
+2012-09-05,14.860000,15.140000,14.850000,15.090000,15.090000,21118800
+2012-09-06,15.130000,15.150000,14.960000,15.110000,15.110000,18011600
+2012-09-07,15.120000,15.290000,15.100000,15.220000,15.220000,12988700
+2012-09-10,15.190000,15.280000,15.110000,15.110000,15.110000,10520100
+2012-09-11,15.090000,15.250000,15.060000,15.160000,15.160000,8036400
+2012-09-12,15.300000,15.550000,15.280000,15.400000,15.400000,22006000
+2012-09-13,15.380000,15.690000,15.370000,15.600000,15.600000,12136300
+2012-09-14,15.700000,15.840000,15.620000,15.770000,15.770000,17642600
+2012-09-17,15.810000,15.840000,15.630000,15.680000,15.680000,11697700
+2012-09-18,15.650000,16.170000,15.600000,15.910000,15.910000,42449600
+2012-09-19,15.960000,16.129999,15.840000,15.860000,15.860000,30681100
+2012-09-20,15.760000,15.860000,15.650000,15.790000,15.790000,18169800
+2012-09-21,15.720000,15.820000,15.660000,15.740000,15.740000,49167000
+2012-09-24,15.690000,16.040001,15.600000,16.000000,16.000000,23019900
+2012-09-25,16.090000,16.090000,15.670000,15.680000,15.680000,22966300
+2012-09-26,15.710000,15.810000,15.550000,15.610000,15.610000,12784100
+2012-09-27,15.900000,16.200001,15.790000,16.040001,16.040001,24416200
+2012-09-28,16.010000,16.090000,15.930000,15.980000,15.980000,19744300
+2012-10-01,16.000000,16.090000,15.770000,15.830000,15.830000,20601900
+2012-10-02,16.030001,16.040001,15.880000,15.940000,15.940000,13696700
+2012-10-03,16.000000,16.240000,15.990000,16.209999,16.209999,20399000
+2012-10-04,16.219999,16.350000,16.150000,16.270000,16.270000,17283900
+2012-10-05,16.270000,16.379999,16.090000,16.090000,16.090000,9240400
+2012-10-08,16.020000,16.160000,16.000000,16.030001,16.030001,11736700
+2012-10-09,16.030001,16.049999,15.810000,15.850000,15.850000,14110000
+2012-10-10,15.830000,15.990000,15.800000,15.830000,15.830000,14546300
+2012-10-11,15.940000,16.020000,15.840000,15.920000,15.920000,12973000
+2012-10-12,15.900000,16.020000,15.860000,15.880000,15.880000,12239100
+2012-10-15,15.850000,15.870000,15.650000,15.680000,15.680000,20786500
+2012-10-16,15.820000,15.980000,15.760000,15.920000,15.920000,20574100
+2012-10-17,15.850000,16.120001,15.830000,16.090000,16.090000,19570500
+2012-10-18,16.230000,16.240000,15.830000,16.000000,16.000000,26361000
+2012-10-19,16.000000,16.030001,15.830000,15.840000,15.840000,32893100
+2012-10-22,15.810000,15.950000,15.740000,15.770000,15.770000,32288000
+2012-10-23,16.530001,16.790001,16.260000,16.670000,16.670000,71575400
+2012-10-24,16.780001,16.799999,16.480000,16.549999,16.549999,25119700
+2012-10-25,16.719999,16.770000,16.490000,16.610001,16.610001,23080800
+2012-10-26,16.540001,16.820000,16.520000,16.790001,16.790001,23374200
+2012-10-31,16.809999,16.889999,16.600000,16.840000,16.840000,21058800
+2012-11-01,16.900000,17.049999,16.860001,16.950001,16.950001,19764900
+2012-11-02,17.000000,17.139999,16.950001,17.110001,17.110001,27568700
+2012-11-05,17.100000,17.430000,17.010000,17.370001,17.370001,31854300
+2012-11-06,17.440001,17.530001,17.320000,17.459999,17.459999,26321200
+2012-11-07,17.240000,17.559999,17.180000,17.389999,17.389999,24344200
+2012-11-08,17.299999,17.500000,17.230000,17.240000,17.240000,20322000
+2012-11-09,17.219999,17.520000,17.180000,17.260000,17.260000,23832100
+2012-11-12,17.180000,17.559999,17.170000,17.510000,17.510000,22361500
+2012-11-13,17.420000,17.850000,17.379999,17.850000,17.850000,29016900
+2012-11-14,17.900000,18.080000,17.750000,17.830000,17.830000,36398900
+2012-11-15,17.820000,18.160000,17.740000,17.889999,17.889999,35659000
+2012-11-16,17.910000,18.020000,17.760000,17.860001,17.860001,31014300
+2012-11-19,18.020000,18.370001,17.870001,18.360001,18.360001,32995900
+2012-11-20,18.440001,18.500000,18.190001,18.240000,18.240000,26228200
+2012-11-21,18.240000,18.500000,18.200001,18.400000,18.400000,19584800
+2012-11-23,18.500000,18.590000,18.400000,18.570000,18.570000,7714800
+2012-11-26,18.879999,19.000000,18.700001,18.760000,18.760000,34042700
+2012-11-27,18.870001,19.160000,18.799999,18.930000,18.930000,29330500
+2012-11-28,18.780001,18.950001,18.530001,18.910000,18.910000,30313200
+2012-11-29,18.950001,19.030001,18.850000,18.870001,18.870001,27259800
+2012-11-30,18.900000,18.950001,18.690001,18.770000,18.770000,24075300
+2012-12-03,18.549999,18.840000,18.340000,18.549999,18.549999,29603000
+2012-12-04,18.639999,18.959999,18.600000,18.930000,18.930000,30725600
+2012-12-05,18.980000,19.030001,18.770000,18.889999,18.889999,24739100
+2012-12-06,18.780001,19.280001,18.770000,19.200001,19.200001,25312800
+2012-12-07,19.160000,19.299999,19.059999,19.200001,19.200001,19159700
+2012-12-10,19.180000,19.469999,19.150000,19.430000,19.430000,24127800
+2012-12-11,19.530001,19.629999,19.430000,19.520000,19.520000,19049500
+2012-12-12,19.559999,19.600000,19.340000,19.379999,19.379999,22899200
+2012-12-13,19.440001,19.540001,19.260000,19.350000,19.350000,20454600
+2012-12-14,19.400000,19.719999,19.400000,19.639999,19.639999,19580400
+2012-12-17,19.719999,19.740000,19.530001,19.690001,19.690001,14760300
+2012-12-18,19.719999,19.760000,19.580000,19.620001,19.620001,17094600
+2012-12-19,19.590000,19.690001,19.580000,19.600000,19.600000,12351400
+2012-12-20,19.580000,19.709999,19.410000,19.690001,19.690001,24572800
+2012-12-21,19.490000,19.490000,19.230000,19.350000,19.350000,32727700
+2012-12-24,19.450001,19.660000,19.379999,19.650000,19.650000,11431500
+2012-12-26,19.700001,19.750000,19.520000,19.570000,19.570000,9376200
+2012-12-27,19.540001,19.670000,19.440001,19.600000,19.600000,13999400
+2012-12-28,19.440001,19.570000,19.280001,19.500000,19.500000,16667800
+2012-12-31,19.430000,19.969999,19.400000,19.900000,19.900000,20645100
+2013-01-02,20.200001,20.320000,20.010000,20.080000,20.080000,20463100
+2013-01-03,20.049999,20.100000,19.719999,19.780001,19.780001,19504400
+2013-01-04,19.760000,19.950001,19.719999,19.860001,19.860001,12489600
+2013-01-07,19.559999,19.580000,19.280001,19.400000,19.400000,23864500
+2013-01-08,19.320000,19.680000,19.299999,19.660000,19.660000,16931700
+2013-01-09,19.730000,19.750000,19.219999,19.320000,19.320000,21646700
+2013-01-10,19.190001,19.379999,18.930000,18.990000,18.990000,30647000
+2013-01-11,19.049999,19.379999,18.889999,19.290001,19.290001,21552200
+2013-01-14,19.330000,19.540001,19.250000,19.430000,19.430000,13828400
+2013-01-15,19.280001,19.540001,19.280001,19.520000,19.520000,16087600
+2013-01-16,19.910000,20.139999,19.620001,20.070000,20.070000,33291700
+2013-01-17,20.139999,20.209999,20.000000,20.129999,20.129999,14500600
+2013-01-18,20.070000,20.170000,19.969999,20.020000,20.020000,13535100
+2013-01-22,19.910000,19.950001,19.719999,19.900000,19.900000,13866900
+2013-01-23,19.980000,20.190001,19.910000,20.110001,20.110001,13857900
+2013-01-24,20.080000,20.520000,20.070000,20.440001,20.440001,13711400
+2013-01-25,20.430000,20.480000,20.230000,20.370001,20.370001,14954300
+2013-01-28,20.500000,20.500000,20.200001,20.309999,20.309999,39510100
+2013-01-29,20.870001,20.879999,19.680000,19.700001,19.700001,57652300
+2013-01-30,19.920000,20.120001,19.690001,20.120001,20.120001,36572300
+2013-01-31,19.920000,19.990000,19.570000,19.629999,19.629999,34973700
+2013-02-01,19.770000,19.830000,19.580000,19.760000,19.760000,27610600
+2013-02-04,19.760000,19.809999,19.309999,19.340000,19.340000,23906500
+2013-02-05,19.490000,19.780001,19.420000,19.660000,19.660000,13559800
+2013-02-06,19.629999,19.900000,19.590000,19.850000,19.850000,15392300
+2013-02-07,20.100000,20.430000,19.930000,20.320000,20.320000,24705600
+2013-02-08,20.379999,20.610001,20.299999,20.500000,20.500000,22249700
+2013-02-11,20.440001,20.980000,20.389999,20.900000,20.900000,22089900
+2013-02-12,20.940001,21.400000,20.889999,21.209999,21.209999,27750200
+2013-02-13,21.150000,21.430000,21.070000,21.150000,21.150000,18797900
+2013-02-14,21.100000,21.260000,21.059999,21.180000,21.180000,12817900
+2013-02-15,21.150000,21.250000,20.900000,21.020000,21.020000,12584000
+2013-02-19,21.030001,21.410000,20.969999,21.290001,21.290001,16665800
+2013-02-20,21.309999,21.450001,20.900000,20.920000,20.920000,14438900
+2013-02-21,20.920000,21.000000,20.740000,20.830000,20.830000,13296100
+2013-02-22,20.870001,21.309999,20.850000,21.219999,21.219999,13673300
+2013-02-25,21.260000,21.320000,20.719999,20.730000,20.730000,13334900
+2013-02-26,20.680000,20.850000,20.580000,20.760000,20.760000,14038200
+2013-02-27,20.809999,21.309999,20.690001,21.160000,21.160000,15697300
+2013-02-28,21.059999,21.570000,21.049999,21.309999,21.309999,18873700
+2013-03-01,21.360001,22.280001,21.260000,21.940001,21.940001,33776700
+2013-03-04,22.370001,22.740000,22.200001,22.700001,22.700001,30075300
+2013-03-05,22.910000,23.080000,22.610001,22.950001,22.950001,30497400
+2013-03-06,23.080000,23.090000,22.709999,22.799999,22.799999,15193900
+2013-03-07,22.920000,23.000000,22.650000,22.700001,22.700001,12881800
+2013-03-08,22.920000,22.959999,22.709999,22.900000,22.900000,10583500
+2013-03-11,22.799999,23.000000,22.570000,22.600000,22.600000,16489200
+2013-03-12,22.510000,22.580000,22.190001,22.400000,22.400000,12012300
+2013-03-13,22.480000,22.480000,22.160000,22.340000,22.340000,13956200
+2013-03-14,22.469999,22.750000,22.410000,22.430000,22.430000,12798500
+2013-03-15,22.340000,22.389999,21.969999,22.070000,22.070000,33557400
+2013-03-18,21.900000,22.170000,21.870001,22.010000,22.010000,15071700
+2013-03-19,22.059999,22.330000,21.889999,22.170000,22.170000,12846900
+2013-03-20,22.030001,22.330000,21.950001,22.100000,22.100000,18094100
+2013-03-21,22.389999,22.950001,22.360001,22.860001,22.860001,24719100
+2013-03-22,22.879999,23.260000,22.719999,23.260000,23.260000,18062100
+2013-03-25,23.410000,23.879999,23.309999,23.379999,23.379999,23138900
+2013-03-26,23.459999,23.620001,23.350000,23.590000,23.590000,16893200
+2013-03-27,23.540001,23.830000,23.410000,23.590000,23.590000,13943600
+2013-03-28,23.629999,23.770000,23.450001,23.530001,23.530001,17611900
+2013-04-01,23.309999,23.620001,23.190001,23.500000,23.500000,12344300
+2013-04-02,23.770000,23.900000,23.600000,23.780001,23.780001,14724800
+2013-04-03,23.780001,23.879999,23.240000,23.379999,23.379999,14934300
+2013-04-04,23.490000,23.719999,23.360001,23.520000,23.520000,12521200
+2013-04-05,23.180000,23.410000,23.010000,23.299999,23.299999,14243700
+2013-04-08,23.240000,23.480000,23.129999,23.480000,23.480000,9998100
+2013-04-09,23.559999,24.000000,23.440001,23.830000,23.830000,14773900
+2013-04-10,24.000000,24.320000,23.950001,24.200001,24.200001,17281900
+2013-04-11,24.410000,24.570000,24.309999,24.490000,24.490000,12362500
+2013-04-12,24.580000,24.799999,24.340000,24.690001,24.690001,13342800
+2013-04-15,24.719999,24.990000,23.830000,23.980000,23.980000,28129600
+2013-04-16,24.059999,24.260000,23.760000,23.790001,23.790001,30877500
+2013-04-17,23.450001,24.100000,23.129999,23.700001,23.700001,45148600
+2013-04-18,23.660000,23.700001,22.700001,23.260000,23.260000,25822300
+2013-04-19,23.120001,23.629999,22.830000,23.469999,23.469999,17860200
+2013-04-22,23.709999,23.959999,23.469999,23.950001,23.950001,15539700
+2013-04-23,23.959999,24.450001,23.959999,24.379999,24.379999,16718000
+2013-04-24,24.450001,24.969999,24.440001,24.750000,24.750000,15138800
+2013-04-25,24.930000,25.290001,24.879999,25.200001,25.200001,17289100
+2013-04-26,25.139999,25.370001,24.580000,24.680000,24.680000,19573300
+2013-04-29,24.850000,24.910000,24.350000,24.430000,24.430000,12533100
+2013-04-30,24.379999,24.790001,24.360001,24.730000,24.730000,10091200
+2013-05-01,24.670000,24.719999,24.260000,24.299999,24.299999,11075000
+2013-05-02,24.340000,24.969999,24.180000,24.969999,24.969999,10651000
+2013-05-03,25.129999,25.250000,24.990000,25.070000,25.070000,11513900
+2013-05-06,25.049999,25.340000,24.920000,25.170000,25.170000,11990500
+2013-05-07,26.010000,26.790001,25.549999,26.070000,26.070000,25883100
+2013-05-08,26.170000,26.660000,25.959999,26.410000,26.410000,24960800
+2013-05-09,26.410000,26.490000,26.139999,26.240000,26.240000,11186000
+2013-05-10,26.320000,26.860001,26.309999,26.830000,26.830000,16236400
+2013-05-13,26.760000,26.830000,26.360001,26.389999,26.389999,15808000
+2013-05-14,26.750000,26.870001,26.520000,26.639999,26.639999,14828200
+2013-05-15,26.629999,27.680000,26.549999,27.340000,27.340000,21956500
+2013-05-16,27.430000,27.430000,26.570000,26.580000,26.580000,18192300
+2013-05-17,26.780001,26.980000,26.459999,26.520000,26.520000,14889300
+2013-05-20,26.680000,27.049999,26.209999,26.580000,26.580000,25099100
+2013-05-21,26.900000,27.129999,26.719999,27.000000,27.000000,14889000
+2013-05-22,27.070000,27.190001,26.440001,26.540001,26.540001,16046200
+2013-05-23,25.950001,26.270000,25.700001,26.020000,26.020000,23307000
+2013-05-24,25.900000,26.480000,25.650000,26.330000,26.330000,14967100
+2013-05-28,26.650000,26.770000,25.980000,26.070000,26.070000,19015300
+2013-05-29,25.900000,26.040001,25.320000,25.809999,25.809999,18738900
+2013-05-30,25.830000,26.500000,25.799999,26.330000,26.330000,12916200
+2013-05-31,26.200001,26.600000,26.090000,26.299999,26.299999,23994200
+2013-06-03,26.370001,26.620001,26.129999,26.389999,26.389999,16454100
+2013-06-04,26.459999,26.570000,25.969999,26.260000,26.260000,13218300
+2013-06-05,26.110001,26.250000,25.690001,25.750000,25.750000,14270500
+2013-06-06,25.879999,26.209999,25.660000,26.209999,26.209999,13559000
+2013-06-07,26.389999,27.090000,26.280001,27.040001,27.040001,16948700
+2013-06-10,27.040001,27.120001,26.700001,26.740000,26.740000,15850700
+2013-06-11,26.430000,26.879999,26.320000,26.400000,26.400000,10097100
+2013-06-12,26.500000,26.530001,25.889999,25.889999,25.889999,11920800
+2013-06-13,25.790001,26.459999,25.709999,26.370001,26.370001,9763800
+2013-06-14,26.320000,26.549999,26.160000,26.280001,26.280001,7398800
+2013-06-17,26.290001,26.850000,26.240000,26.540001,26.540001,10289700
+2013-06-18,26.570000,26.889999,26.510000,26.660000,26.660000,9710700
+2013-06-19,26.600000,26.780001,26.230000,26.240000,26.240000,11398300
+2013-06-20,26.030001,26.049999,25.230000,25.350000,25.350000,19115500
+2013-06-21,25.290001,25.430000,24.940001,25.190001,25.190001,24574100
+2013-06-24,24.980000,25.090000,23.820000,24.070000,24.070000,37006200
+2013-06-25,24.290001,25.010000,24.230000,24.959999,24.959999,18883900
+2013-06-26,25.219999,25.680000,25.010000,25.290001,25.290001,12583100
+2013-06-27,25.469999,25.980000,25.440001,25.469999,25.469999,14489800
+2013-06-28,25.430000,25.540001,24.889999,25.129999,25.129999,26774300
+2013-07-01,25.260000,25.540001,25.180000,25.240000,25.240000,10679300
+2013-07-02,25.270000,25.500000,24.900000,24.990000,24.990000,10129600
+2013-07-03,24.840000,25.639999,24.820000,25.590000,25.590000,6059100
+2013-07-05,25.850000,26.260000,25.520000,25.680000,25.680000,11097500
+2013-07-08,25.719999,25.990000,25.490000,25.530001,25.530001,10478400
+2013-07-09,25.740000,26.700001,25.740000,26.680000,26.680000,17567800
+2013-07-10,26.879999,27.070000,26.190001,26.559999,26.559999,15103300
+2013-07-11,26.950001,27.190001,26.940001,27.040001,27.040001,17589800
+2013-07-12,27.080000,27.440001,27.010000,27.230000,27.230000,17315300
+2013-07-15,27.469999,27.469999,27.059999,27.340000,27.340000,16674800
+2013-07-16,27.299999,27.450001,26.730000,26.879999,26.879999,31375200
+2013-07-17,27.660000,29.730000,27.520000,29.660000,29.660000,83791400
+2013-07-18,29.570000,29.830000,28.730000,29.660000,29.660000,35025600
+2013-07-19,29.410000,29.719999,29.040001,29.110001,29.110001,20756900
+2013-07-22,28.080000,28.420000,27.629999,27.860001,27.860001,46046400
+2013-07-23,28.030001,28.040001,27.209999,27.360001,27.360001,25923400
+2013-07-24,27.540001,27.920000,27.230000,27.840000,27.840000,22739800
+2013-07-25,27.730000,28.459999,27.650000,28.270000,28.270000,20000600
+2013-07-26,28.000000,28.340000,27.740000,28.110001,28.110001,11918700
+2013-07-29,27.950001,28.330000,27.799999,27.930000,27.930000,11095100
+2013-07-30,28.090000,28.230000,27.860001,28.049999,28.049999,10337800
+2013-07-31,27.920000,28.209999,27.570000,28.090000,28.090000,20920100
+2013-08-01,28.350000,28.450001,27.910000,27.959999,27.959999,13157600
+2013-08-02,28.070000,28.090000,27.549999,27.650000,27.650000,11863400
+2013-08-05,27.709999,27.799999,27.450001,27.670000,27.670000,7839200
+2013-08-06,27.670000,27.750000,27.150000,27.320000,27.320000,10951100
+2013-08-07,27.309999,27.510000,27.059999,27.389999,27.389999,9450700
+2013-08-08,27.549999,27.620001,27.230000,27.480000,27.480000,8934400
+2013-08-09,27.410000,27.700001,27.200001,27.680000,27.680000,13051100
+2013-08-12,27.549999,28.370001,27.500000,28.350000,28.350000,16561900
+2013-08-13,28.379999,28.600000,28.230000,28.340000,28.340000,14891300
+2013-08-14,28.190001,28.209999,28.000000,28.049999,28.049999,8471400
+2013-08-15,27.830000,27.830000,27.120001,27.139999,27.139999,14217100
+2013-08-16,27.000000,27.600000,27.000000,27.320000,27.320000,14823400
+2013-08-19,27.270000,27.440001,26.910000,26.910000,26.910000,11876000
+2013-08-20,26.920000,27.309999,26.900000,27.120001,27.120001,10707200
+2013-08-21,27.090000,27.490000,27.000000,27.059999,27.059999,8791300
+2013-08-22,27.600000,28.010000,27.370001,27.900000,27.900000,15728600
+2013-08-23,28.299999,28.320000,27.809999,27.990000,27.990000,13192900
+2013-08-26,27.990000,28.040001,27.700001,27.700001,27.700001,9754400
+2013-08-27,27.240000,27.459999,26.750000,27.000000,27.000000,14549500
+2013-08-28,26.900000,27.240000,26.830000,27.110001,27.110001,9603100
+2013-08-29,27.030001,27.450001,27.030001,27.299999,27.299999,13911900
+2013-08-30,27.389999,27.440001,26.820000,27.120001,27.120001,16344400
+2013-09-03,27.379999,27.870001,27.370001,27.780001,27.780001,14591100
+2013-09-04,27.700001,28.120001,27.600000,28.070000,28.070000,8880500
+2013-09-05,28.100000,28.350000,27.910000,28.230000,28.230000,8989600
+2013-09-06,28.350000,28.500000,27.820000,28.170000,28.170000,10807500
+2013-09-09,28.320000,29.320000,28.320000,29.240000,29.240000,21178000
+2013-09-10,29.430000,29.629999,29.080000,29.480000,29.480000,13007600
+2013-09-11,29.379999,29.410000,28.969999,29.190001,29.190001,10374600
+2013-09-12,29.719999,30.270000,29.500000,29.650000,29.650000,22060700
+2013-09-13,29.469999,29.469999,28.799999,29.260000,29.260000,13836600
+2013-09-16,29.639999,30.040001,29.510000,29.620001,29.620001,15748700
+2013-09-17,29.639999,30.000000,29.309999,30.000000,30.000000,10499700
+2013-09-18,30.010000,30.459999,29.850000,30.440001,30.440001,15570600
+2013-09-19,30.530001,31.049999,30.340000,31.030001,31.030001,12795100
+2013-09-20,31.049999,31.100000,30.760000,30.930000,30.930000,14925400
+2013-09-23,31.030001,31.030001,30.020000,30.260000,30.260000,15728900
+2013-09-24,30.549999,31.660000,30.540001,31.270000,31.270000,27820600
+2013-09-25,31.400000,32.029999,31.120001,31.340000,31.340000,19146600
+2013-09-26,31.650000,33.000000,31.580000,32.750000,32.750000,39233700
+2013-09-27,33.330002,33.849998,32.759998,33.549999,33.549999,31791600
+2013-09-30,33.040001,33.750000,32.680000,33.169998,33.169998,30065800
+2013-10-01,33.360001,34.439999,33.299999,34.310001,34.310001,28180900
+2013-10-02,34.150002,34.700001,33.900002,34.139999,34.139999,21637400
+2013-10-03,34.320000,34.360001,33.200001,33.880001,33.880001,23263900
+2013-10-04,33.959999,35.060001,33.959999,34.889999,34.889999,23950200
+2013-10-07,34.459999,34.689999,34.080002,34.139999,34.139999,15448700
+2013-10-08,34.459999,34.500000,32.099998,32.930000,32.930000,42914600
+2013-10-09,33.070000,33.330002,31.790001,33.009998,33.009998,33509700
+2013-10-10,33.490002,33.910000,33.330002,33.869999,33.869999,23448100
+2013-10-11,33.669998,34.369999,33.610001,34.150002,34.150002,17012300
+2013-10-14,33.799999,34.099998,33.680000,34.000000,34.000000,17614000
+2013-10-15,34.200001,34.320000,33.060001,33.380001,33.380001,42773900
+2013-10-16,33.900002,34.110001,32.830002,33.090000,33.090000,44820000
+2013-10-17,32.880001,33.009998,32.310001,32.740002,32.740002,25229700
+2013-10-18,33.169998,33.750000,33.110001,33.430000,33.430000,24622900
+2013-10-21,33.650002,34.349998,33.650002,34.060001,34.060001,17776700
+2013-10-22,34.240002,34.599998,33.580002,33.939999,33.939999,17549100
+2013-10-23,33.759998,33.840000,33.020000,33.099998,33.099998,15931700
+2013-10-24,33.160000,33.310001,32.810001,33.080002,33.080002,15086700
+2013-10-25,32.310001,32.950001,32.000000,32.250000,32.250000,22290000
+2013-10-28,32.090000,32.700001,31.700001,32.349998,32.349998,18325700
+2013-10-29,33.070000,34.000000,32.820000,33.169998,33.169998,29349200
+2013-10-30,33.330002,33.480000,32.380001,32.570000,32.570000,14292300
+2013-10-31,32.430000,33.119999,32.279999,32.939999,32.939999,15301900
+2013-11-01,33.150002,33.349998,33.000000,33.180000,33.180000,15201400
+2013-11-04,33.200001,33.660000,33.009998,33.189999,33.189999,15778500
+2013-11-05,33.029999,33.080002,32.549999,32.970001,32.970001,13471100
+2013-11-06,33.070000,33.299999,32.709999,32.880001,32.880001,10826400
+2013-11-07,32.990002,33.049999,32.060001,32.110001,32.110001,16861300
+2013-11-08,32.230000,33.119999,32.200001,33.119999,33.119999,15082800
+2013-11-11,33.570000,33.990002,33.250000,33.820000,33.820000,15846800
+2013-11-12,34.000000,34.520000,33.880001,34.070000,34.070000,18227600
+2013-11-13,33.820000,35.119999,33.630001,35.099998,35.099998,21359400
+2013-11-14,35.070000,35.889999,34.759998,35.689999,35.689999,21411400
+2013-11-15,35.799999,35.939999,35.299999,35.470001,35.470001,15615700
+2013-11-18,35.650002,36.189999,34.509998,34.980000,34.980000,19070000
+2013-11-19,35.029999,35.169998,34.509998,34.630001,34.630001,14955300
+2013-11-20,35.430000,36.220001,35.220001,35.619999,35.619999,32439800
+2013-11-21,36.230000,36.660000,36.220001,36.299999,36.299999,26425000
+2013-11-22,36.189999,36.630001,35.959999,36.490002,36.490002,13247500
+2013-11-25,36.779999,36.849998,35.959999,36.290001,36.290001,15159800
+2013-11-26,36.320000,36.750000,36.110001,36.639999,36.639999,10458300
+2013-11-27,36.700001,37.119999,36.509998,36.959999,36.959999,10427500
+2013-11-29,36.910000,37.349998,36.900002,36.980000,36.980000,6455400
+2013-12-02,37.040001,37.150002,36.680000,37.009998,37.009998,11573000
+2013-12-03,36.770000,37.070000,36.340000,36.560001,36.560001,14098300
+2013-12-04,36.470001,38.150002,36.250000,38.130001,38.130001,26139700
+2013-12-05,38.240002,39.310001,38.049999,38.869999,38.869999,27662000
+2013-12-06,39.240002,39.279999,38.529999,38.860001,38.860001,22215000
+2013-12-09,39.130001,39.200001,38.570000,38.869999,38.869999,14386300
+2013-12-10,38.919998,40.250000,38.919998,40.220001,40.220001,25479700
+2013-12-11,39.900002,40.160000,38.919998,39.160000,39.160000,20915200
+2013-12-12,39.020000,40.000000,39.000000,39.349998,39.349998,16184600
+2013-12-13,39.610001,40.200001,39.560001,39.730000,39.730000,13773700
+2013-12-16,39.970001,40.270000,39.599998,39.730000,39.730000,11439100
+2013-12-17,39.990002,40.000000,39.400002,39.509998,39.509998,9842000
+2013-12-18,39.529999,40.040001,38.820000,40.040001,40.040001,16844000
+2013-12-19,40.040001,40.380001,39.910000,40.200001,40.200001,10710200
+2013-12-20,40.389999,40.599998,40.110001,40.119999,40.119999,24637200
+2013-12-23,40.250000,40.799999,40.130001,40.770000,40.770000,7447900
+2013-12-24,40.910000,40.950001,40.660000,40.849998,40.849998,5113900
+2013-12-26,41.000000,41.049999,40.220001,40.650002,40.650002,7364600
+2013-12-27,40.720001,40.750000,40.320000,40.490002,40.490002,6138700
+2013-12-30,40.459999,40.580002,39.849998,40.200001,40.200001,8676800
+2013-12-31,40.169998,40.500000,40.000000,40.439999,40.439999,8291400
+2014-01-02,40.369999,40.490002,39.310001,39.590000,39.590000,21504200
+2014-01-03,40.160000,40.439999,39.820000,40.119999,40.119999,15755200
+2014-01-06,40.049999,40.320000,39.750000,39.930000,39.930000,12467500
+2014-01-07,40.080002,41.200001,40.080002,40.919998,40.919998,14100000
+2014-01-08,41.290001,41.720001,41.020000,41.020000,41.020000,18638200
+2014-01-09,41.330002,41.349998,40.610001,40.919998,40.919998,12897300
+2014-01-10,40.950001,41.349998,40.820000,41.230000,41.230000,8721700
+2014-01-13,41.160000,41.220001,39.799999,39.990002,39.990002,16047200
+2014-01-14,40.209999,41.139999,40.040001,41.139999,41.139999,14473900
+2014-01-15,41.060001,41.310001,40.759998,41.070000,41.070000,9475500
+2014-01-16,40.430000,40.750000,40.110001,40.340000,40.340000,16348200
+2014-01-17,40.119999,40.439999,39.470001,40.009998,40.009998,19262500
+2014-01-21,39.980000,40.049999,38.860001,39.520000,39.520000,21436400
+2014-01-22,39.660000,40.400002,39.320000,40.180000,40.180000,12994600
+2014-01-23,39.310001,39.770000,39.139999,39.389999,39.389999,15384300
+2014-01-24,38.669998,38.980000,37.619999,37.910000,37.910000,26309000
+2014-01-27,37.599998,37.939999,36.619999,36.650002,36.650002,26728000
+2014-01-28,36.830002,38.320000,36.520000,38.220001,38.220001,39765300
+2014-01-29,35.770000,36.310001,34.820000,34.889999,34.889999,67190500
+2014-01-30,34.889999,35.810001,34.450001,35.310001,35.310001,32244700
+2014-01-31,34.689999,36.330002,34.549999,36.009998,36.009998,30072400
+2014-02-03,35.939999,36.009998,34.660000,34.900002,34.900002,22195200
+2014-02-04,35.110001,35.860001,34.860001,35.660000,35.660000,21082500
+2014-02-05,35.599998,35.939999,34.990002,35.490002,35.490002,14022900
+2014-02-06,35.650002,36.750000,35.610001,36.240002,36.240002,14250000
+2014-02-07,36.650002,37.270000,36.240002,37.230000,37.230000,16178500
+2014-02-10,38.000000,38.130001,37.250000,37.759998,37.759998,17642900
+2014-02-11,38.150002,38.860001,38.090000,38.500000,38.500000,18348000
+2014-02-12,38.599998,38.910000,38.029999,38.110001,38.110001,14088500
+2014-02-13,37.919998,38.689999,37.790001,38.520000,38.520000,12088100
+2014-02-14,38.430000,38.450001,38.110001,38.230000,38.230000,9975800
+2014-02-18,38.310001,38.590000,38.090000,38.310001,38.310001,12096400
+2014-02-19,38.060001,38.330002,37.680000,37.810001,37.810001,15851900
+2014-02-20,37.830002,38.040001,37.299999,37.790001,37.790001,11155900
+2014-02-21,37.900002,37.959999,37.220001,37.290001,37.290001,12351900
+2014-02-24,37.230000,37.709999,36.820000,37.419998,37.419998,15738900
+2014-02-25,37.480000,37.580002,37.020000,37.259998,37.259998,9756900
+2014-02-26,37.349998,38.099998,37.340000,37.619999,37.619999,15778900
+2014-02-27,37.799999,38.480000,37.740002,38.470001,38.470001,15489400
+2014-02-28,38.549999,39.380001,38.220001,38.669998,38.669998,16957100
+2014-03-03,37.650002,38.660000,37.430000,38.250000,38.250000,14714700
+2014-03-04,38.759998,39.790001,38.680000,39.630001,39.630001,16139400
+2014-03-05,39.830002,40.150002,39.189999,39.500000,39.500000,12536800
+2014-03-06,39.599998,39.980000,39.500000,39.660000,39.660000,10626700
+2014-03-07,39.709999,39.910000,38.450001,38.700001,38.700001,14455500
+2014-03-10,38.630001,38.779999,37.910000,38.049999,38.049999,11819200
+2014-03-11,38.250000,38.299999,37.430000,37.560001,37.560001,12592300
+2014-03-12,37.209999,37.610001,36.480000,37.500000,37.500000,14794700
+2014-03-13,38.049999,38.419998,36.810001,37.230000,37.230000,21179700
+2014-03-14,36.689999,38.189999,36.450001,37.599998,37.599998,30862300
+2014-03-17,39.000000,39.360001,38.610001,39.110001,39.110001,29698300
+2014-03-18,39.000000,39.509998,38.799999,39.450001,39.450001,16934700
+2014-03-19,39.660000,39.939999,38.509998,38.610001,38.610001,19324600
+2014-03-20,38.369999,38.470001,37.419998,37.770000,37.770000,19517000
+2014-03-21,38.099998,38.270000,37.730000,37.939999,37.939999,16044200
+2014-03-24,38.000000,38.040001,36.279999,36.680000,36.680000,29589000
+2014-03-25,37.000000,37.070000,35.860001,35.930000,35.930000,31715100
+2014-03-26,36.240002,36.740002,35.450001,35.450001,35.450001,20938800
+2014-03-27,35.500000,36.150002,35.049999,35.590000,35.590000,21929600
+2014-03-28,35.770000,36.730000,35.529999,35.900002,35.900002,18292900
+2014-03-31,36.459999,36.580002,35.730000,35.900002,35.900002,15153200
+2014-04-01,36.160000,36.860001,36.150002,36.490002,36.490002,15734000
+2014-04-02,36.680000,36.860001,36.560001,36.639999,36.639999,14522800
+2014-04-03,36.660000,36.790001,35.509998,35.759998,35.759998,16827800
+2014-04-04,36.009998,36.049999,33.830002,34.259998,34.259998,41049900
+2014-04-07,34.110001,34.369999,32.529999,33.070000,33.070000,47770200
+2014-04-08,33.099998,34.430000,33.020000,33.830002,33.830002,35486100
+2014-04-09,34.189999,35.000000,33.950001,34.869999,34.869999,21651200
+2014-04-10,34.880001,34.980000,33.090000,33.400002,33.400002,34024900
+2014-04-11,32.639999,33.480000,32.150002,32.869999,32.869999,28040700
+2014-04-14,33.549999,34.040001,33.040001,33.450001,33.450001,26322600
+2014-04-15,33.930000,34.279999,32.639999,34.209999,34.209999,50600400
+2014-04-16,36.980000,37.299999,35.810001,36.349998,36.349998,61599100
+2014-04-17,36.290001,36.599998,35.549999,36.380001,36.380001,28932700
+2014-04-21,36.599998,36.650002,35.889999,36.400002,36.400002,16685400
+2014-04-22,36.709999,36.849998,36.110001,36.139999,36.139999,17915200
+2014-04-23,36.080002,36.189999,35.400002,35.439999,35.439999,19051700
+2014-04-24,35.820000,35.820000,34.770000,35.240002,35.240002,17242300
+2014-04-25,35.029999,35.099998,34.290001,34.480000,34.480000,19401600
+2014-04-28,34.669998,35.000000,33.650002,33.990002,33.990002,31019200
+2014-04-29,34.369999,35.889999,34.119999,35.830002,35.830002,28736000
+2014-04-30,35.889999,36.439999,35.250000,35.950001,35.950001,23341500
+2014-05-01,36.259998,36.689999,36.000000,36.509998,36.509998,19474700
+2014-05-02,36.590000,37.119999,36.209999,36.869999,36.869999,22454100
+2014-05-05,36.680000,37.049999,36.299999,36.910000,36.910000,13129100
+2014-05-06,36.939999,37.169998,36.480000,36.490002,36.490002,19156000
+2014-05-07,35.990002,35.990002,33.669998,34.070000,34.070000,66062700
+2014-05-08,33.880001,34.570000,33.610001,33.919998,33.919998,30407700
+2014-05-09,34.009998,34.099998,33.410000,33.759998,33.759998,20303400
+2014-05-12,33.990002,34.599998,33.869999,34.450001,34.450001,22520600
+2014-05-13,34.430000,34.689999,34.169998,34.400002,34.400002,12477100
+2014-05-14,34.480000,34.650002,33.980000,34.169998,34.169998,17039000
+2014-05-15,34.180000,34.189999,33.400002,33.799999,33.799999,18879800
+2014-05-16,33.660000,33.660000,33.099998,33.410000,33.410000,18847100
+2014-05-19,33.410000,33.990002,33.279999,33.889999,33.889999,14845700
+2014-05-20,33.990002,34.470001,33.669998,33.869999,33.869999,18596700
+2014-05-21,34.000000,34.389999,33.889999,34.360001,34.360001,13804500
+2014-05-22,34.599998,34.860001,34.259998,34.700001,34.700001,17522800
+2014-05-23,34.849998,35.080002,34.509998,35.020000,35.020000,16294400
+2014-05-27,35.000000,35.130001,34.730000,35.119999,35.119999,13057000
+2014-05-28,35.150002,35.169998,34.419998,34.779999,34.779999,16960500
+2014-05-29,34.900002,35.099998,34.669998,34.900002,34.900002,9780800
+2014-05-30,34.919998,34.930000,34.130001,34.650002,34.650002,13153000
+2014-06-02,34.689999,34.950001,34.279999,34.869999,34.869999,9178900
+2014-06-03,34.799999,34.970001,34.580002,34.650002,34.650002,6557500
+2014-06-04,34.480000,34.830002,34.259998,34.730000,34.730000,9434100
+2014-06-05,34.790001,34.990002,34.360001,34.939999,34.939999,11192800
+2014-06-06,35.060001,36.080002,35.049999,35.919998,35.919998,18707200
+2014-06-09,35.860001,36.320000,35.540001,36.040001,36.040001,14390000
+2014-06-10,35.869999,36.520000,35.860001,36.310001,36.310001,9179300
+2014-06-11,36.250000,36.840000,36.110001,36.630001,36.630001,13321500
+2014-06-12,36.500000,36.790001,36.340000,36.779999,36.779999,12466100
+2014-06-13,36.880001,37.060001,36.639999,36.939999,36.939999,12926300
+2014-06-16,35.000000,35.490002,34.770000,34.810001,34.810001,32432300
+2014-06-17,34.799999,34.939999,34.299999,34.430000,34.430000,24402900
+2014-06-18,34.669998,35.009998,34.259998,34.939999,34.939999,17836000
+2014-06-19,35.139999,35.200001,34.520000,34.680000,34.680000,16200000
+2014-06-20,34.810001,34.810001,33.970001,34.049999,34.049999,21605800
+2014-06-23,34.130001,34.220001,33.369999,33.639999,33.639999,26206400
+2014-06-24,33.790001,33.990002,33.349998,33.480000,33.480000,14589800
+2014-06-25,33.380001,33.650002,33.099998,33.250000,33.250000,18074400
+2014-06-26,33.250000,33.750000,33.020000,33.660000,33.660000,16010000
+2014-06-27,33.849998,34.549999,33.700001,34.250000,34.250000,25500600
+2014-06-30,34.930000,35.259998,34.849998,35.130001,35.130001,20450100
+2014-07-01,35.500000,35.700001,35.209999,35.349998,35.349998,18609600
+2014-07-02,35.619999,35.910000,35.400002,35.880001,35.880001,16533600
+2014-07-03,36.070000,36.150002,35.900002,36.139999,36.139999,8604900
+2014-07-07,36.150002,36.230000,35.480000,35.520000,35.520000,15716800
+2014-07-08,35.639999,35.660000,34.279999,34.529999,34.529999,23096900
+2014-07-09,34.680000,35.070000,34.680000,34.849998,34.849998,12626900
+2014-07-10,34.330002,34.970001,34.099998,34.930000,34.930000,18064800
+2014-07-11,34.950001,35.560001,34.779999,35.430000,35.430000,18379500
+2014-07-14,35.799999,35.950001,35.450001,35.700001,35.700001,18680500
+2014-07-15,35.720001,35.939999,35.200001,35.610001,35.610001,36316600
+2014-07-16,34.419998,34.450001,33.720001,33.790001,33.790001,56260600
+2014-07-17,33.820000,33.900002,32.980000,33.209999,33.209999,37535900
+2014-07-18,33.180000,33.349998,32.930000,33.330002,33.330002,21540900
+2014-07-21,33.349998,33.639999,33.160000,33.279999,33.279999,18431000
+2014-07-22,33.480000,33.840000,33.400002,33.599998,33.599998,18153600
+2014-07-23,33.779999,34.919998,33.680000,34.709999,34.709999,38622500
+2014-07-24,35.090000,36.549999,35.040001,36.169998,36.169998,47391000
+2014-07-25,36.000000,36.330002,35.750000,36.119999,36.119999,20143800
+2014-07-28,36.230000,36.230000,35.509998,35.900002,35.900002,14607200
+2014-07-29,35.910000,36.160000,35.669998,35.680000,35.680000,11570900
+2014-07-30,35.939999,36.990002,35.799999,36.599998,36.599998,29876700
+2014-07-31,36.259998,36.490002,35.680000,35.810001,35.810001,17937400
+2014-08-01,35.689999,36.080002,35.310001,35.619999,35.619999,14573000
+2014-08-04,35.709999,36.660000,35.650002,36.529999,36.529999,13097200
+2014-08-05,36.320000,36.419998,35.619999,35.700001,35.700001,17636400
+2014-08-06,35.580002,35.939999,35.439999,35.790001,35.790001,11770500
+2014-08-07,36.000000,36.000000,35.529999,35.660000,35.660000,11306600
+2014-08-08,35.730000,35.959999,35.400002,35.910000,35.910000,10593700
+2014-08-11,36.099998,36.150002,35.750000,35.790001,35.790001,8660100
+2014-08-12,35.799999,35.990002,35.150002,35.520000,35.520000,12902700
+2014-08-13,35.959999,36.450001,35.770000,36.189999,36.189999,16532300
+2014-08-14,36.320000,36.419998,36.169998,36.360001,36.360001,8927300
+2014-08-15,36.200001,36.570000,36.119999,36.470001,36.470001,13338900
+2014-08-18,36.770000,37.770000,36.750000,37.380001,37.380001,20153200
+2014-08-19,37.560001,37.939999,37.500000,37.830002,37.830002,17084900
+2014-08-20,37.610001,37.750000,37.310001,37.500000,37.500000,12670300
+2014-08-21,37.650002,37.750000,37.310001,37.639999,37.639999,12254900
+2014-08-22,37.700001,38.200001,37.639999,38.009998,38.009998,14879100
+2014-08-25,38.139999,38.220001,37.540001,37.709999,37.709999,14356400
+2014-08-26,37.759998,37.919998,37.560001,37.790001,37.790001,9516800
+2014-08-27,38.299999,38.720001,37.830002,38.180000,38.180000,24843000
+2014-08-28,38.090000,38.570000,37.900002,38.310001,38.310001,16490600
+2014-08-29,38.570000,38.669998,38.200001,38.509998,38.509998,11634100
+2014-09-02,38.900002,39.299999,38.790001,39.270000,39.270000,19803300
+2014-09-03,39.490002,39.599998,38.689999,38.869999,38.869999,16092900
+2014-09-04,39.139999,39.340000,38.959999,39.189999,39.189999,14763300
+2014-09-05,39.049999,39.799999,39.049999,39.590000,39.590000,26200400
+2014-09-08,40.340000,41.820000,40.259998,41.810001,41.810001,75520200
+2014-09-09,42.009998,42.060001,40.599998,40.779999,40.779999,52683000
+2014-09-10,41.049999,41.230000,40.330002,41.139999,41.139999,30741800
+2014-09-11,41.020000,41.560001,40.930000,41.259998,41.259998,25203000
+2014-09-12,41.730000,43.200001,41.500000,42.880001,42.880001,69556500
+2014-09-15,43.980000,44.009998,42.139999,42.549999,42.549999,72409900
+2014-09-16,42.610001,42.959999,41.689999,42.709999,42.709999,61490700
+2014-09-17,42.369999,42.959999,42.299999,42.590000,42.590000,39495500
+2014-09-18,43.049999,43.320000,41.419998,42.090000,42.090000,93702100
+2014-09-19,42.439999,43.189999,39.549999,40.930000,40.930000,233872100
+2014-09-22,39.770000,40.040001,38.220001,38.650002,38.650002,109217100
+2014-09-23,38.150002,39.270000,37.900002,39.049999,39.049999,66105300
+2014-09-24,39.259998,40.099998,38.910000,39.880001,39.880001,49014100
+2014-09-25,39.560001,39.799999,38.820000,38.950001,38.950001,35916500
+2014-09-26,39.009998,40.799999,39.000000,40.660000,40.660000,62189200
+2014-09-29,40.410000,41.090000,40.160000,40.520000,40.520000,35883300
+2014-09-30,40.580002,41.230000,40.439999,40.750000,40.750000,30386500
+2014-10-01,40.660000,41.240002,40.110001,40.320000,40.320000,35172900
+2014-10-02,40.240002,40.639999,39.689999,40.500000,40.500000,24584400
+2014-10-03,40.790001,41.689999,40.650002,41.029999,41.029999,38191700
+2014-10-06,41.200001,41.730000,41.040001,41.520000,41.520000,23576100
+2014-10-07,41.060001,41.290001,40.779999,40.930000,40.930000,22538300
+2014-10-08,41.000000,41.290001,40.099998,41.080002,41.080002,26593500
+2014-10-09,40.900002,41.250000,40.419998,41.099998,41.099998,33519600
+2014-10-10,40.730000,41.070000,39.590000,39.599998,39.599998,36771500
+2014-10-13,39.520000,40.070000,38.290001,38.380001,38.380001,38841900
+2014-10-14,38.660000,39.000000,37.709999,37.970001,37.970001,38509000
+2014-10-15,37.270000,38.080002,36.200001,37.820000,37.820000,41973500
+2014-10-16,36.950001,38.500000,36.919998,38.119999,38.119999,26998500
+2014-10-17,38.740002,38.980000,38.310001,38.450001,38.450001,24107000
+2014-10-20,38.470001,39.400002,38.250000,39.279999,39.279999,17802400
+2014-10-21,39.650002,40.480000,39.459999,40.180000,40.180000,41955200
+2014-10-22,42.419998,42.880001,41.770000,42.000000,42.000000,69348900
+2014-10-23,42.400002,42.830002,42.259998,42.599998,42.599998,30653400
+2014-10-24,42.529999,43.650002,42.400002,43.500000,43.500000,33805800
+2014-10-27,43.310001,44.820000,43.290001,44.700001,44.700001,36596500
+2014-10-28,45.009998,46.150002,44.880001,45.869999,45.869999,36889300
+2014-10-29,45.939999,45.980000,45.130001,45.430000,45.430000,25389100
+2014-10-30,45.209999,45.840000,45.130001,45.630001,45.630001,16209600
+2014-10-31,46.160000,46.520000,45.669998,46.049999,46.049999,18446800
+2014-11-03,46.049999,46.720001,45.939999,46.340000,46.340000,17181500
+2014-11-04,45.990002,47.130001,45.740002,47.080002,47.080002,25051500
+2014-11-05,47.619999,48.279999,47.320000,47.459999,47.459999,33021500
+2014-11-06,47.369999,47.980000,46.599998,47.930000,47.930000,22636000
+2014-11-07,47.900002,48.669998,47.860001,48.549999,48.549999,24166700
+2014-11-10,48.799999,49.630001,48.790001,49.410000,49.410000,24730300
+2014-11-11,48.570000,49.180000,48.099998,49.049999,49.049999,31586300
+2014-11-12,49.330002,50.630001,49.220001,50.599998,50.599998,30564700
+2014-11-13,50.959999,51.169998,49.950001,50.500000,50.500000,35519200
+2014-11-14,50.520000,51.950001,50.470001,51.750000,51.750000,28824700
+2014-11-17,51.830002,52.419998,50.939999,52.369999,52.369999,38392800
+2014-11-18,52.279999,52.619999,51.340000,51.750000,51.750000,26847300
+2014-11-19,51.240002,51.369999,50.000000,50.580002,50.580002,29260000
+2014-11-20,50.599998,52.230000,50.270000,51.250000,51.250000,28916000
+2014-11-21,51.990002,52.250000,50.990002,51.040001,51.040001,22227000
+2014-11-24,51.250000,51.830002,51.070000,51.830002,51.830002,14643500
+2014-11-25,51.980000,52.189999,51.599998,51.720001,51.720001,14219600
+2014-11-26,51.560001,52.259998,51.520000,51.930000,51.930000,13428500
+2014-11-28,51.869999,52.000000,51.639999,51.740002,51.740002,8913700
+2014-12-01,51.430000,51.430000,49.660000,50.099998,50.099998,23146900
+2014-12-02,50.270000,51.119999,50.009998,50.669998,50.669998,16300600
+2014-12-03,50.709999,50.970001,50.200001,50.279999,50.279999,14236000
+2014-12-04,50.189999,50.669998,49.900002,50.410000,50.410000,12136700
+2014-12-05,51.029999,51.250000,50.509998,50.990002,50.990002,15418100
+2014-12-08,50.520000,50.900002,49.220001,49.619999,49.619999,18190100
+2014-12-09,48.750000,50.529999,48.290001,50.509998,50.509998,19655600
+2014-12-10,50.330002,50.689999,49.189999,49.209999,49.209999,16184100
+2014-12-11,49.540001,50.580002,49.430000,49.939999,49.939999,21100200
+2014-12-12,49.540001,51.169998,49.480000,50.240002,50.240002,20370500
+2014-12-15,50.419998,50.919998,49.500000,49.820000,49.820000,18132500
+2014-12-16,49.500000,50.080002,48.810001,48.849998,48.849998,21399300
+2014-12-17,49.020000,50.250000,48.900002,50.119999,50.119999,17112300
+2014-12-18,50.930000,51.150002,50.439999,50.910000,50.910000,15338900
+2014-12-19,51.060001,51.470001,50.830002,50.880001,50.880001,24110200
+2014-12-22,50.990002,51.599998,50.950001,51.150002,51.150002,24021100
+2014-12-23,51.459999,51.459999,49.930000,50.020000,50.020000,15514000
+2014-12-24,50.189999,50.919998,50.189999,50.650002,50.650002,5961900
+2014-12-26,50.650002,51.060001,50.610001,50.860001,50.860001,5169700
+2014-12-29,50.669998,51.009998,50.509998,50.529999,50.529999,6624500
+2014-12-30,50.349998,51.270000,50.349998,51.220001,51.220001,10703500
+2014-12-31,51.540001,51.680000,50.459999,50.509998,50.509998,9305000
diff --git a/backtrader/source/datas/yhoo-1996-2015.txt b/backtrader/source/datas/yhoo-1996-2015.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e21cf71a74c87350068033ddcabbddc890753a3a
--- /dev/null
+++ b/backtrader/source/datas/yhoo-1996-2015.txt
@@ -0,0 +1,4966 @@
+Date,Open,High,Low,Close,Adj Close,Volume
+1996-04-12,1.052083,1.791667,1.020833,1.375000,1.375000,408720000
+1996-04-15,1.489583,1.500000,1.250000,1.343750,1.343750,79219200
+1996-04-16,1.343750,1.343750,1.166667,1.197917,1.197917,48016000
+1996-04-17,1.177083,1.177083,1.031250,1.125000,1.125000,42816000
+1996-04-18,1.255208,1.255208,1.166667,1.218750,1.218750,27268800
+1996-04-19,1.255208,1.281250,1.197917,1.203125,1.203125,12913600
+1996-04-22,1.208333,1.208333,1.145833,1.177083,1.177083,8041600
+1996-04-23,1.197917,1.208333,1.166667,1.166667,1.166667,4297600
+1996-04-24,1.187500,1.213542,1.156250,1.208333,1.208333,7795200
+1996-04-25,1.250000,1.343750,1.208333,1.302083,1.302083,19478400
+1996-04-26,1.333333,1.343750,1.302083,1.322917,1.322917,7561600
+1996-04-29,1.312500,1.333333,1.270833,1.291667,1.291667,5928000
+1996-04-30,1.302083,1.312500,1.229167,1.239583,1.239583,5003200
+1996-05-01,1.260417,1.322917,1.250000,1.317708,1.317708,4881600
+1996-05-02,1.312500,1.385417,1.312500,1.369792,1.369792,9731200
+1996-05-03,1.343750,1.354167,1.302083,1.333333,1.333333,6116800
+1996-05-06,1.354167,1.354167,1.223958,1.255208,1.255208,8214400
+1996-05-07,1.250000,1.281250,1.239583,1.265625,1.265625,5569600
+1996-05-08,1.270833,1.281250,1.213542,1.260417,1.260417,6288000
+1996-05-09,1.250000,1.281250,1.239583,1.281250,1.281250,4032000
+1996-05-10,1.281250,1.322917,1.270833,1.302083,1.302083,5875200
+1996-05-13,1.307292,1.312500,1.250000,1.260417,1.260417,2747200
+1996-05-14,1.281250,1.291667,1.229167,1.229167,1.229167,4003200
+1996-05-15,1.250000,1.281250,1.239583,1.260417,1.260417,2200000
+1996-05-16,1.239583,1.270833,1.239583,1.260417,1.260417,3390400
+1996-05-17,1.260417,1.270833,1.239583,1.250000,1.250000,2448000
+1996-05-20,1.250000,1.265625,1.208333,1.208333,1.208333,4257600
+1996-05-21,1.208333,1.213542,1.156250,1.166667,1.166667,4048000
+1996-05-22,1.166667,1.166667,1.125000,1.145833,1.145833,2563200
+1996-05-23,1.145833,1.229167,1.145833,1.229167,1.229167,2918400
+1996-05-24,1.229167,1.250000,1.197917,1.229167,1.229167,2491200
+1996-05-28,1.218750,1.234375,1.187500,1.208333,1.208333,2224000
+1996-05-29,1.197917,1.197917,1.125000,1.145833,1.145833,3726400
+1996-05-30,1.145833,1.208333,1.145833,1.177083,1.177083,3038400
+1996-05-31,1.197917,1.197917,1.135417,1.166667,1.166667,1734400
+1996-06-03,1.156250,1.166667,1.135417,1.135417,1.135417,1142400
+1996-06-04,1.135417,1.166667,1.130208,1.130208,1.130208,2468800
+1996-06-05,1.145833,1.145833,1.125000,1.130208,1.130208,1166400
+1996-06-06,1.187500,1.197917,1.145833,1.156250,1.156250,3873600
+1996-06-07,1.135417,1.135417,1.104167,1.119792,1.119792,3457600
+1996-06-10,1.119792,1.119792,1.088542,1.104167,1.104167,1849600
+1996-06-11,1.088542,1.104167,1.062500,1.062500,1.062500,4243200
+1996-06-12,1.072917,1.114583,1.072917,1.083333,1.083333,2608000
+1996-06-13,1.072917,1.093750,1.020833,1.062500,1.062500,5668800
+1996-06-14,1.031250,1.062500,1.031250,1.031250,1.031250,2046400
+1996-06-17,1.031250,1.041667,0.937500,0.958333,0.958333,3249600
+1996-06-18,0.906250,0.927083,0.854167,0.854167,0.854167,5564800
+1996-06-19,0.875000,0.895833,0.854167,0.864583,0.864583,4033600
+1996-06-20,0.875000,0.906250,0.854167,0.906250,0.906250,2958400
+1996-06-21,0.927083,0.947917,0.906250,0.927083,0.927083,2544000
+1996-06-24,0.927083,0.927083,0.906250,0.906250,0.906250,633600
+1996-06-25,0.906250,0.927083,0.895833,0.906250,0.906250,993600
+1996-06-26,0.895833,0.916667,0.864583,0.875000,0.875000,1488000
+1996-06-27,0.885417,0.916667,0.760417,0.760417,0.760417,7392000
+1996-06-28,0.812500,0.875000,0.791667,0.875000,0.875000,4067200
+1996-07-01,0.854167,0.927083,0.854167,0.906250,0.906250,2286400
+1996-07-02,0.927083,0.927083,0.885417,0.885417,0.885417,984000
+1996-07-03,0.906250,0.906250,0.854167,0.875000,0.875000,1384000
+1996-07-05,0.833333,0.859375,0.822917,0.833333,0.833333,748800
+1996-07-08,0.833333,0.833333,0.802083,0.833333,0.833333,1211200
+1996-07-09,0.812500,0.833333,0.770833,0.770833,0.770833,2112000
+1996-07-10,0.781250,0.781250,0.666667,0.682292,0.682292,5899200
+1996-07-11,0.666667,0.718750,0.645833,0.718750,0.718750,3510400
+1996-07-12,0.708333,0.750000,0.708333,0.729167,0.729167,1696000
+1996-07-15,0.750000,0.770833,0.729167,0.744792,0.744792,1900800
+1996-07-16,0.739583,0.770833,0.723958,0.750000,0.750000,3726400
+1996-07-17,0.755208,0.802083,0.739583,0.802083,0.802083,1849600
+1996-07-18,0.812500,0.828125,0.781250,0.802083,0.802083,1608000
+1996-07-19,0.828125,0.828125,0.781250,0.786458,0.786458,1235200
+1996-07-22,0.791667,0.791667,0.729167,0.750000,0.750000,1132800
+1996-07-23,0.729167,0.750000,0.677083,0.677083,0.677083,1881600
+1996-07-24,0.677083,0.682292,0.645833,0.656250,0.656250,888000
+1996-07-25,0.656250,0.697917,0.656250,0.677083,0.677083,1283200
+1996-07-26,0.677083,0.692708,0.656250,0.692708,0.692708,600000
+1996-07-29,0.677083,0.692708,0.671875,0.671875,0.671875,371200
+1996-07-30,0.677083,0.729167,0.677083,0.708333,0.708333,686400
+1996-07-31,0.708333,0.750000,0.708333,0.750000,0.750000,931200
+1996-08-01,0.750000,0.791667,0.729167,0.791667,0.791667,1388800
+1996-08-02,0.770833,0.802083,0.770833,0.786458,0.786458,1168000
+1996-08-05,0.791667,0.807292,0.786458,0.786458,0.786458,510400
+1996-08-06,0.802083,0.802083,0.755208,0.755208,0.755208,817600
+1996-08-07,0.744792,0.760417,0.739583,0.750000,0.750000,971200
+1996-08-08,0.750000,0.770833,0.739583,0.770833,0.770833,1748800
+1996-08-09,0.723958,0.739583,0.687500,0.739583,0.739583,1833600
+1996-08-12,0.729167,0.729167,0.708333,0.718750,0.718750,864000
+1996-08-13,0.708333,0.854167,0.708333,0.828125,0.828125,10464000
+1996-08-14,0.838542,0.859375,0.833333,0.848958,0.848958,4852800
+1996-08-15,0.848958,0.848958,0.817708,0.828125,0.828125,1177600
+1996-08-16,0.812500,0.828125,0.796875,0.807292,0.807292,864000
+1996-08-19,0.807292,0.817708,0.807292,0.817708,0.817708,428800
+1996-08-20,0.817708,0.817708,0.796875,0.796875,0.796875,494400
+1996-08-21,0.796875,0.802083,0.760417,0.776042,0.776042,688000
+1996-08-22,0.776042,0.833333,0.760417,0.828125,0.828125,1921600
+1996-08-23,0.822917,0.843750,0.822917,0.822917,0.822917,1024000
+1996-08-26,0.838542,0.838542,0.822917,0.822917,0.822917,388800
+1996-08-27,0.822917,0.848958,0.822917,0.838542,0.838542,1897600
+1996-08-28,0.838542,0.921875,0.838542,0.880208,0.880208,5193600
+1996-08-29,0.869792,0.880208,0.822917,0.822917,0.822917,1987200
+1996-08-30,0.828125,0.838542,0.807292,0.817708,0.817708,913600
+1996-09-03,0.791667,0.807292,0.781250,0.791667,0.791667,1012800
+1996-09-04,0.791667,0.802083,0.776042,0.786458,0.786458,528000
+1996-09-05,0.765625,0.776042,0.765625,0.765625,0.765625,148800
+1996-09-06,0.760417,0.776042,0.755208,0.765625,0.765625,753600
+1996-09-09,0.755208,0.786458,0.755208,0.781250,0.781250,835200
+1996-09-10,0.781250,0.796875,0.770833,0.770833,0.770833,907200
+1996-09-11,0.781250,0.791667,0.770833,0.786458,0.786458,1267200
+1996-09-12,0.781250,0.812500,0.781250,0.812500,0.812500,1374400
+1996-09-13,0.828125,0.869792,0.822917,0.859375,0.859375,3193600
+1996-09-16,0.859375,0.875000,0.854167,0.859375,0.859375,1382400
+1996-09-17,0.880208,0.901042,0.864583,0.901042,0.901042,2665600
+1996-09-18,0.895833,0.901042,0.848958,0.864583,0.864583,1977600
+1996-09-19,0.864583,0.895833,0.854167,0.895833,0.895833,1761600
+1996-09-20,0.895833,1.000000,0.890625,1.000000,1.000000,7460800
+1996-09-23,0.994792,1.026042,0.989583,0.992188,0.992188,5332800
+1996-09-24,0.989583,0.994792,0.937500,0.947917,0.947917,3774400
+1996-09-25,0.937500,0.942708,0.901042,0.911458,0.911458,2040000
+1996-09-26,0.901042,0.921875,0.901042,0.911458,0.911458,1067200
+1996-09-27,0.911458,0.921875,0.895833,0.906250,0.906250,688000
+1996-09-30,0.906250,0.906250,0.885417,0.885417,0.885417,849600
+1996-10-01,0.875000,0.885417,0.796875,0.817708,0.817708,4105600
+1996-10-02,0.848958,0.942708,0.848958,0.906250,0.906250,5827200
+1996-10-03,0.921875,0.979167,0.916667,0.942708,0.942708,4324800
+1996-10-04,0.963542,0.968750,0.916667,0.916667,0.916667,2046400
+1996-10-07,0.916667,0.942708,0.916667,0.927083,0.927083,715200
+1996-10-08,0.932292,0.942708,0.869792,0.869792,0.869792,2299200
+1996-10-09,0.869792,0.937500,0.869792,0.937500,0.937500,2366400
+1996-10-10,0.947917,0.953125,0.848958,0.854167,0.854167,8673600
+1996-10-11,0.848958,0.869792,0.848958,0.859375,0.859375,2382400
+1996-10-14,0.869792,0.901042,0.859375,0.901042,0.901042,6452800
+1996-10-15,0.895833,0.906250,0.875000,0.895833,0.895833,3884800
+1996-10-16,0.890625,0.901042,0.875000,0.880208,0.880208,2702400
+1996-10-17,0.880208,0.921875,0.880208,0.916667,0.916667,3504000
+1996-10-18,0.927083,0.927083,0.906250,0.916667,0.916667,2582400
+1996-10-21,0.906250,0.927083,0.906250,0.911458,0.911458,2232000
+1996-10-22,0.911458,0.921875,0.885417,0.885417,0.885417,1868800
+1996-10-23,0.885417,0.895833,0.875000,0.880208,0.880208,1492800
+1996-10-24,0.875000,0.880208,0.869792,0.869792,0.869792,1244800
+1996-10-25,0.869792,0.875000,0.854167,0.854167,0.854167,1984000
+1996-10-28,0.854167,0.864583,0.854167,0.859375,0.859375,558400
+1996-10-29,0.859375,0.864583,0.854167,0.854167,0.854167,625600
+1996-10-30,0.854167,0.859375,0.838542,0.838542,0.838542,969600
+1996-10-31,0.833333,0.843750,0.812500,0.822917,0.822917,1646400
+1996-11-01,0.812500,0.822917,0.812500,0.812500,0.812500,340800
+1996-11-04,0.812500,0.822917,0.791667,0.791667,0.791667,995200
+1996-11-05,0.791667,0.802083,0.734375,0.760417,0.760417,2982400
+1996-11-06,0.750000,0.770833,0.744792,0.750000,0.750000,1656000
+1996-11-07,0.744792,0.765625,0.744792,0.755208,0.755208,932800
+1996-11-08,0.755208,0.812500,0.755208,0.812500,0.812500,2179200
+1996-11-11,0.812500,0.843750,0.812500,0.838542,0.838542,2348800
+1996-11-12,0.828125,0.838542,0.817708,0.822917,0.822917,712000
+1996-11-13,0.822917,0.822917,0.776042,0.791667,0.791667,1340800
+1996-11-14,0.791667,0.791667,0.755208,0.757813,0.757813,1681600
+1996-11-15,0.765625,0.776042,0.760417,0.770833,0.770833,1192000
+1996-11-18,0.760417,0.770833,0.744792,0.755208,0.755208,1729600
+1996-11-19,0.755208,0.755208,0.739583,0.744792,0.744792,2137600
+1996-11-20,0.744792,0.755208,0.734375,0.739583,0.739583,1022400
+1996-11-21,0.734375,0.739583,0.718750,0.723958,0.723958,1588800
+1996-11-22,0.729167,0.734375,0.718750,0.734375,0.734375,1124800
+1996-11-25,0.734375,0.802083,0.723958,0.796875,0.796875,6734400
+1996-11-26,0.802083,0.822917,0.786458,0.786458,0.786458,3419200
+1996-11-27,0.791667,0.791667,0.770833,0.773438,0.773438,1057600
+1996-11-29,0.770833,0.796875,0.770833,0.796875,0.796875,803200
+1996-12-02,0.781250,0.796875,0.781250,0.791667,0.791667,1081600
+1996-12-03,0.781250,0.859375,0.781250,0.833333,0.833333,9120000
+1996-12-04,0.828125,0.848958,0.822917,0.822917,0.822917,1633600
+1996-12-05,0.822917,0.921875,0.822917,0.888021,0.888021,8190400
+1996-12-06,0.843750,0.906250,0.828125,0.854167,0.854167,5596800
+1996-12-09,0.848958,0.890625,0.843750,0.885417,0.885417,3827200
+1996-12-10,0.885417,0.890625,0.843750,0.843750,0.843750,2521600
+1996-12-11,0.828125,0.828125,0.796875,0.807292,0.807292,2592000
+1996-12-12,0.812500,0.838542,0.791667,0.833333,0.833333,2851200
+1996-12-13,0.812500,0.843750,0.812500,0.828125,0.828125,1353600
+1996-12-16,0.833333,0.843750,0.776042,0.781250,0.781250,1886400
+1996-12-17,0.776042,0.781250,0.744792,0.755208,0.755208,1732800
+1996-12-18,0.750000,0.807292,0.744792,0.765625,0.765625,5496000
+1996-12-19,0.770833,0.776042,0.744792,0.750000,0.750000,2049600
+1996-12-20,0.755208,0.755208,0.708333,0.708333,0.708333,4926400
+1996-12-23,0.729167,0.770833,0.723958,0.747396,0.747396,3619200
+1996-12-24,0.755208,0.755208,0.739583,0.755208,0.755208,715200
+1996-12-26,0.750000,0.760417,0.744792,0.744792,0.744792,1513600
+1996-12-27,0.760417,0.781250,0.744792,0.760417,0.760417,1806400
+1996-12-30,0.760417,0.760417,0.739583,0.750000,0.750000,1396800
+1996-12-31,0.729167,0.734375,0.697917,0.708333,0.708333,3923200
+1997-01-02,0.708333,0.729167,0.697917,0.729167,0.729167,2579200
+1997-01-03,0.734375,0.781250,0.729817,0.765625,0.765625,2180800
+1997-01-06,0.796875,0.828125,0.791667,0.828125,0.828125,6640000
+1997-01-07,0.828125,0.854167,0.809896,0.838542,0.838542,5008000
+1997-01-08,0.841146,0.848958,0.781250,0.786458,0.786458,2924800
+1997-01-09,0.786458,0.822917,0.786458,0.807292,0.807292,4907200
+1997-01-10,0.791667,0.802083,0.791667,0.802083,0.802083,2577600
+1997-01-13,0.828125,0.921875,0.822917,0.906250,0.906250,18164800
+1997-01-14,0.911458,0.911458,0.869792,0.869792,0.869792,5376000
+1997-01-15,0.958333,1.083333,0.953125,1.057292,1.057292,50636800
+1997-01-16,1.057292,1.125000,1.031250,1.088542,1.088542,20267200
+1997-01-17,1.083333,1.119792,1.036458,1.109375,1.109375,24388800
+1997-01-20,1.104167,1.302083,1.104167,1.229167,1.229167,36244800
+1997-01-21,1.203125,1.343750,1.192708,1.328125,1.328125,30428800
+1997-01-22,1.317708,1.385417,1.291667,1.328125,1.328125,29809600
+1997-01-23,1.338542,1.468750,1.338542,1.468750,1.468750,28028800
+1997-01-24,1.442708,1.458333,1.333333,1.380208,1.380208,28099200
+1997-01-27,1.380208,1.557292,1.380208,1.518229,1.518229,41558400
+1997-01-28,1.526042,1.526042,1.317708,1.359375,1.359375,27313600
+1997-01-29,1.359375,1.406250,1.328125,1.401042,1.401042,17718400
+1997-01-30,1.375000,1.473958,1.354167,1.421875,1.421875,21408000
+1997-01-31,1.437500,1.463542,1.406250,1.411458,1.411458,6904000
+1997-02-03,1.411458,1.458333,1.395833,1.453125,1.453125,16043200
+1997-02-04,1.442708,1.510417,1.416667,1.442708,1.442708,13686400
+1997-02-05,1.432292,1.458333,1.380208,1.411458,1.411458,7427200
+1997-02-06,1.395833,1.421875,1.328125,1.343750,1.343750,11481600
+1997-02-07,1.322917,1.322917,1.239583,1.255208,1.255208,18787200
+1997-02-10,1.255208,1.265625,1.197917,1.213542,1.213542,9270400
+1997-02-11,1.218750,1.307292,1.218750,1.307292,1.307292,12691200
+1997-02-12,1.338542,1.510417,1.312500,1.484375,1.484375,28483200
+1997-02-13,1.479167,1.505208,1.437500,1.494792,1.494792,17510400
+1997-02-14,1.479167,1.489583,1.390625,1.432292,1.432292,10555200
+1997-02-18,1.427083,1.437500,1.317708,1.421875,1.421875,10705600
+1997-02-19,1.416667,1.416667,1.343750,1.375000,1.375000,9553600
+1997-02-20,1.364583,1.375000,1.302083,1.328125,1.328125,7259200
+1997-02-21,1.333333,1.338542,1.281250,1.296875,1.296875,6304000
+1997-02-24,1.302083,1.375000,1.265625,1.265625,1.265625,9985600
+1997-02-25,1.302083,1.416667,1.291667,1.348958,1.348958,13734400
+1997-02-26,1.333333,1.348958,1.281250,1.302083,1.302083,12100800
+1997-02-27,1.302083,1.317708,1.270833,1.270833,1.270833,4944000
+1997-02-28,1.276042,1.286458,1.234375,1.260417,1.260417,8812800
+1997-03-03,1.244792,1.328125,1.239583,1.250000,1.250000,10776000
+1997-03-04,1.255208,1.255208,1.192708,1.195313,1.195313,7508800
+1997-03-05,1.192708,1.197917,1.109375,1.125000,1.125000,12091200
+1997-03-06,1.114583,1.135417,1.062500,1.093750,1.093750,12792000
+1997-03-07,1.093750,1.140625,1.088542,1.135417,1.135417,6217600
+1997-03-10,1.135417,1.135417,1.104167,1.109375,1.109375,3513600
+1997-03-11,1.114583,1.140625,1.083333,1.083333,1.083333,7019200
+1997-03-12,1.083333,1.114583,1.041667,1.067708,1.067708,7958400
+1997-03-13,1.067708,1.067708,0.947917,0.950521,0.950521,13540800
+1997-03-14,0.963542,1.057292,0.932292,1.052083,1.052083,11526400
+1997-03-17,1.062500,1.098958,0.937500,0.963542,0.963542,24931200
+1997-03-18,0.968750,1.005208,0.916667,0.942708,0.942708,11500800
+1997-03-19,0.947917,1.057292,0.942708,1.031250,1.031250,21164800
+1997-03-20,1.130208,1.229167,1.125000,1.208333,1.208333,29731200
+1997-03-21,1.223958,1.276042,1.104167,1.197917,1.197917,27048000
+1997-03-24,1.197917,1.250000,1.135417,1.197917,1.197917,14780800
+1997-03-25,1.223958,1.255208,1.125000,1.169271,1.169271,10316800
+1997-03-26,1.171875,1.250000,1.151042,1.234375,1.234375,10580800
+1997-03-27,1.250000,1.250000,1.177083,1.190104,1.190104,7811200
+1997-03-31,1.203125,1.203125,1.125000,1.171875,1.171875,5640000
+1997-04-01,1.161458,1.229167,1.156250,1.229167,1.229167,6278400
+1997-04-02,1.223958,1.250000,1.187500,1.247396,1.247396,7403200
+1997-04-03,1.250000,1.281250,1.169271,1.218750,1.218750,9009600
+1997-04-04,1.213542,1.348958,1.213542,1.317708,1.317708,17539200
+1997-04-07,1.364583,1.427083,1.322917,1.401042,1.401042,23224000
+1997-04-08,1.401042,1.406250,1.333333,1.385417,1.385417,10574400
+1997-04-09,1.442708,1.500000,1.432292,1.434896,1.434896,25516800
+1997-04-10,1.453125,1.458333,1.307292,1.361979,1.361979,34768000
+1997-04-11,1.312500,1.437500,1.286458,1.429688,1.429688,21049600
+1997-04-14,1.411458,1.432292,1.348958,1.369792,1.369792,10651200
+1997-04-15,1.375000,1.421875,1.291667,1.304688,1.304688,14208000
+1997-04-16,1.291667,1.348958,1.270833,1.304688,1.304688,16086400
+1997-04-17,1.312500,1.401042,1.302083,1.351563,1.351563,10315200
+1997-04-18,1.380208,1.390625,1.281250,1.291667,1.291667,10238400
+1997-04-21,1.270833,1.291667,1.114583,1.177083,1.177083,12880000
+1997-04-22,1.170571,1.171875,1.031250,1.143229,1.143229,27371200
+1997-04-23,1.156250,1.307292,1.151042,1.302083,1.302083,13531200
+1997-04-24,1.302083,1.307292,1.239583,1.270833,1.270833,17889600
+1997-04-25,1.276042,1.276042,1.260417,1.260417,1.260417,6452800
+1997-04-28,1.260417,1.369792,1.250000,1.307292,1.307292,12057600
+1997-04-29,1.317708,1.333333,1.281250,1.322917,1.322917,20836800
+1997-04-30,1.328125,1.442708,1.307292,1.421875,1.421875,23041600
+1997-05-01,1.437500,1.437500,1.359375,1.416667,1.416667,9956800
+1997-05-02,1.406250,1.479167,1.406250,1.458333,1.458333,13300800
+1997-05-05,1.479167,1.541667,1.458333,1.500000,1.500000,16374400
+1997-05-06,1.473958,1.479167,1.333333,1.372396,1.372396,19278400
+1997-05-07,1.359375,1.447917,1.354167,1.395833,1.395833,16603200
+1997-05-08,1.411458,1.479167,1.406250,1.421875,1.421875,7969600
+1997-05-09,1.432292,1.453125,1.403646,1.406250,1.406250,9508800
+1997-05-12,1.416667,1.416667,1.333333,1.364583,1.364583,9524800
+1997-05-13,1.364583,1.364583,1.244792,1.265625,1.265625,25048000
+1997-05-14,1.270833,1.322917,1.250000,1.260417,1.260417,14406400
+1997-05-15,1.260417,1.296875,1.255208,1.296875,1.296875,11044800
+1997-05-16,1.276042,1.348958,1.265625,1.328125,1.328125,12323200
+1997-05-19,1.322917,1.346354,1.307292,1.343750,1.343750,6510400
+1997-05-20,1.338542,1.354167,1.322917,1.351563,1.351563,6846400
+1997-05-21,1.348958,1.421875,1.338542,1.380208,1.380208,14593600
+1997-05-22,1.385417,1.385417,1.286458,1.304688,1.304688,5865600
+1997-05-23,1.302083,1.333333,1.296875,1.309896,1.309896,2622400
+1997-05-27,1.307292,1.348958,1.291667,1.320313,1.320313,2836800
+1997-05-28,1.317708,1.390625,1.302083,1.333333,1.333333,5318400
+1997-05-29,1.328125,1.354167,1.302083,1.328125,1.328125,5289600
+1997-05-30,1.312500,1.395833,1.286458,1.343750,1.343750,9692800
+1997-06-02,1.364583,1.395833,1.354167,1.380208,1.380208,3259200
+1997-06-03,1.380208,1.385417,1.330729,1.354167,1.354167,2300800
+1997-06-04,1.364583,1.375000,1.296875,1.312500,1.312500,2668800
+1997-06-05,1.338542,1.359375,1.333333,1.351563,1.351563,2003200
+1997-06-06,1.333333,1.375000,1.312500,1.333333,1.333333,6145600
+1997-06-09,1.333333,1.416667,1.333333,1.356771,1.356771,6096000
+1997-06-10,1.354167,1.380208,1.333333,1.348958,1.348958,5601600
+1997-06-11,1.348958,1.354167,1.286458,1.291667,1.291667,17387200
+1997-06-12,1.302083,1.338542,1.294271,1.333333,1.333333,5771200
+1997-06-13,1.333333,1.375000,1.333333,1.343750,1.343750,3307200
+1997-06-16,1.354167,1.468750,1.348958,1.445313,1.445313,15921600
+1997-06-17,1.447917,1.463542,1.411458,1.458333,1.458333,5377600
+1997-06-18,1.447917,1.473958,1.406250,1.421875,1.421875,8027200
+1997-06-19,1.437500,1.468750,1.406250,1.447917,1.447917,5457600
+1997-06-20,1.458333,1.640625,1.447917,1.635417,1.635417,22753600
+1997-06-23,1.588542,1.609375,1.494792,1.541667,1.541667,17841600
+1997-06-24,1.552083,1.578125,1.510417,1.549479,1.549479,6438400
+1997-06-25,1.565104,1.604167,1.541667,1.552083,1.552083,6720000
+1997-06-26,1.526042,1.531250,1.489583,1.510417,1.510417,5118400
+1997-06-27,1.505208,1.536458,1.427083,1.437500,1.437500,8419200
+1997-06-30,1.432292,1.479167,1.351563,1.468750,1.468750,14171200
+1997-07-01,1.458333,1.468750,1.406250,1.419271,1.419271,4000000
+1997-07-02,1.421875,1.437500,1.395833,1.406250,1.406250,5891200
+1997-07-03,1.432292,1.437500,1.395833,1.395833,1.395833,4416000
+1997-07-07,1.416667,1.572917,1.411458,1.572917,1.572917,14356800
+1997-07-08,1.572917,1.666667,1.567708,1.656250,1.656250,17337600
+1997-07-09,1.697917,1.880208,1.697917,1.833333,1.833333,37545600
+1997-07-10,1.890625,1.921875,1.739583,1.791667,1.791667,44035200
+1997-07-11,1.791667,1.880208,1.760417,1.833333,1.833333,15331200
+1997-07-14,1.833333,2.020833,1.828125,2.020833,2.020833,24980800
+1997-07-15,2.010417,2.114583,1.989583,2.104167,2.104167,33832000
+1997-07-16,2.135417,2.135417,2.041667,2.046875,2.046875,11449600
+1997-07-17,2.046875,2.046875,1.937500,1.953125,1.953125,12688000
+1997-07-18,1.932292,2.015625,1.869792,1.953125,1.953125,12059200
+1997-07-21,1.979167,2.083333,1.958333,2.067708,2.067708,11200000
+1997-07-22,2.072917,2.130208,2.010417,2.101563,2.101563,11822400
+1997-07-23,2.114583,2.114583,2.046875,2.046875,2.046875,7364800
+1997-07-24,2.041667,2.062500,1.947917,1.979167,1.979167,15115200
+1997-07-25,1.989583,2.005208,1.924479,1.994792,1.994792,9232000
+1997-07-28,2.010417,2.041667,1.979167,1.981771,1.981771,3806400
+1997-07-29,1.984375,2.010417,1.958333,2.010417,2.010417,4523200
+1997-07-30,2.072917,2.291667,2.067708,2.276042,2.276042,47521600
+1997-07-31,2.291667,2.354167,2.182292,2.354167,2.354167,33768000
+1997-08-01,2.333333,2.333333,2.223958,2.302083,2.302083,19910400
+1997-08-04,2.281250,2.281250,2.213542,2.223958,2.223958,12841600
+1997-08-05,2.239583,2.312500,2.218750,2.265625,2.265625,11304000
+1997-08-06,2.276042,2.333333,2.250000,2.291667,2.291667,7033600
+1997-08-07,2.312500,2.338542,2.239583,2.242188,2.242188,8430400
+1997-08-08,2.229167,2.276042,2.135417,2.250000,2.250000,13401600
+1997-08-11,2.250000,2.250000,2.156250,2.218750,2.218750,18528000
+1997-08-12,2.229167,2.260417,2.109375,2.122396,2.122396,10715200
+1997-08-13,2.125000,2.187500,2.067708,2.098958,2.098958,18326400
+1997-08-14,2.098958,2.125000,2.057292,2.065104,2.065104,5505600
+1997-08-15,2.062500,2.072917,2.020833,2.020833,2.020833,9004800
+1997-08-18,2.026042,2.187500,2.010417,2.182292,2.182292,18100800
+1997-08-19,2.192708,2.333333,2.187500,2.302083,2.302083,20222400
+1997-08-20,2.312500,2.406250,2.260417,2.390625,2.390625,21724800
+1997-08-21,2.395833,2.406250,2.302083,2.322917,2.322917,10432000
+1997-08-22,2.229167,2.338542,2.213542,2.320313,2.320313,12489600
+1997-08-25,2.333333,2.385417,2.328125,2.364583,2.364583,10302400
+1997-08-26,2.354167,2.364583,2.312500,2.328125,2.328125,6016000
+1997-08-27,2.328125,2.348958,2.281250,2.325521,2.325521,11371200
+1997-08-28,2.307292,2.403646,2.229167,2.338542,2.338542,24696000
+1997-08-29,2.354167,2.494792,2.343750,2.479167,2.479167,13696000
+1997-09-02,2.515625,2.546875,2.445313,2.492188,2.492188,10619200
+1997-09-03,2.523438,2.617188,2.492188,2.539063,2.539063,11555200
+1997-09-04,2.578125,2.648438,2.539063,2.609375,2.609375,9294400
+1997-09-05,2.640625,2.859375,2.625000,2.835938,2.835938,16643200
+1997-09-08,2.921875,3.070313,2.921875,2.949219,2.949219,21164800
+1997-09-09,3.007813,3.148438,3.000000,3.148438,3.148438,17556800
+1997-09-10,3.230469,3.375000,3.148438,3.332031,3.332031,23131200
+1997-09-11,3.312500,3.546875,3.281250,3.460938,3.460938,33902400
+1997-09-12,3.539063,3.625000,3.296875,3.371094,3.371094,22862400
+1997-09-15,3.312500,3.359375,3.000000,3.011719,3.011719,31624000
+1997-09-16,3.015625,3.195313,2.828125,3.195313,3.195313,37563200
+1997-09-17,3.218750,3.242188,2.960938,3.054688,3.054688,20712000
+1997-09-18,3.070313,3.140625,3.023438,3.109375,3.109375,12360000
+1997-09-19,3.093750,3.289063,3.078125,3.210938,3.210938,24308800
+1997-09-22,3.257813,3.460938,3.250000,3.351563,3.351563,17758400
+1997-09-23,3.382813,3.437500,3.132813,3.167969,3.167969,14896000
+1997-09-24,3.195313,3.320313,3.179688,3.218750,3.218750,12670400
+1997-09-25,3.234375,3.250000,3.046875,3.128906,3.128906,14795200
+1997-09-26,3.156250,3.234375,3.125000,3.140625,3.140625,10222400
+1997-09-29,3.156250,3.187500,3.085938,3.167969,3.167969,6649600
+1997-09-30,3.164063,3.164063,3.109375,3.132813,3.132813,3744000
+1997-10-01,3.140625,3.226563,3.132813,3.195313,3.195313,14475200
+1997-10-02,3.195313,3.437500,3.132813,3.437500,3.437500,22676800
+1997-10-03,3.437500,3.515625,3.359375,3.453125,3.453125,19518400
+1997-10-06,3.453125,3.664063,3.453125,3.640625,3.640625,15339200
+1997-10-07,3.609375,3.632813,3.445313,3.484375,3.484375,15825600
+1997-10-08,3.578125,3.625000,3.500000,3.546875,3.546875,32020800
+1997-10-09,3.468750,3.523438,3.421875,3.468750,3.468750,33960000
+1997-10-10,3.375000,3.468750,3.296875,3.300781,3.300781,18844800
+1997-10-13,3.320313,3.328125,3.140625,3.195313,3.195313,18051200
+1997-10-14,3.226563,3.289063,3.093750,3.187500,3.187500,14172800
+1997-10-15,3.171875,3.234375,3.140625,3.218750,3.218750,11564800
+1997-10-16,3.234375,3.320313,3.015625,3.039063,3.039063,21169600
+1997-10-17,3.015625,3.062500,2.843750,3.031250,3.031250,24849600
+1997-10-20,3.046875,3.078125,2.929688,3.054688,3.054688,20217600
+1997-10-21,3.109375,3.210938,3.101563,3.195313,3.195313,13385600
+1997-10-22,3.273438,3.335938,3.164063,3.308594,3.308594,14001600
+1997-10-23,3.171875,3.234375,3.078125,3.160156,3.160156,15209600
+1997-10-24,3.234375,3.234375,2.906250,2.972656,2.972656,15764800
+1997-10-27,2.937500,2.937500,2.375000,2.375000,2.375000,35051200
+1997-10-28,2.132813,2.921875,2.132813,2.695313,2.695313,51822400
+1997-10-29,2.781250,2.890625,2.523438,2.578125,2.578125,30163200
+1997-10-30,2.460938,2.703125,2.453125,2.605469,2.605469,17641600
+1997-10-31,2.695313,2.765625,2.656250,2.740231,2.740231,14144000
+1997-11-03,2.812500,2.906250,2.796875,2.880856,2.880856,13121600
+1997-11-04,2.851563,3.210938,2.781250,3.187500,3.187500,25473600
+1997-11-05,3.179688,3.406250,3.179688,3.351563,3.351563,39339200
+1997-11-06,3.312500,3.484375,3.265625,3.296875,3.296875,29057600
+1997-11-07,3.062500,3.234375,3.046875,3.093750,3.093750,23028800
+1997-11-10,3.101563,3.187500,3.000000,3.039063,3.039063,13699200
+1997-11-11,3.070313,3.093750,2.843750,2.875000,2.875000,20819200
+1997-11-12,2.796875,2.960938,2.679688,2.718750,2.718750,25264000
+1997-11-13,2.820313,2.906250,2.625000,2.855469,2.855469,29244800
+1997-11-14,2.875000,3.070313,2.875000,2.992188,2.992188,24700800
+1997-11-17,3.117188,3.296875,3.101563,3.250000,3.250000,25088000
+1997-11-18,3.226563,3.390625,3.210938,3.234375,3.234375,22524800
+1997-11-19,3.179688,3.226563,3.097656,3.164063,3.164063,13123200
+1997-11-20,3.203125,3.382813,3.179688,3.351563,3.351563,24377600
+1997-11-21,3.382813,3.406250,3.226563,3.304688,3.304688,12600000
+1997-11-24,3.281250,3.281250,3.007813,3.031250,3.031250,20104000
+1997-11-25,3.140625,3.234375,3.000000,3.175781,3.175781,29675200
+1997-11-26,3.234375,3.265625,3.140625,3.179688,3.179688,8777600
+1997-11-28,3.195313,3.218750,3.171875,3.195313,3.195313,2153600
+1997-12-01,3.218750,3.398438,3.203125,3.375000,3.375000,16558400
+1997-12-02,3.359375,3.429688,3.250000,3.312500,3.312500,15512000
+1997-12-03,3.281250,3.390625,3.242188,3.367188,3.367188,9440000
+1997-12-04,3.398438,3.437500,3.335938,3.363281,3.363281,10012800
+1997-12-05,3.347656,3.523438,3.289063,3.515625,3.515625,25928000
+1997-12-08,3.531250,3.734375,3.476563,3.726563,3.726563,30825600
+1997-12-09,3.679688,3.812500,3.625000,3.707031,3.707031,27473600
+1997-12-10,3.656250,3.710938,3.562500,3.679688,3.679688,14763200
+1997-12-11,3.562500,3.679688,3.523438,3.664063,3.664063,17451200
+1997-12-12,3.671875,3.750000,3.562500,3.718750,3.718750,14584000
+1997-12-15,3.750000,3.765625,3.531250,3.625000,3.625000,14430400
+1997-12-16,3.617188,3.781250,3.570313,3.769531,3.769531,13553600
+1997-12-17,3.781250,3.843750,3.718750,3.722656,3.722656,10875200
+1997-12-18,3.718750,3.718750,3.578125,3.632813,3.632813,12747200
+1997-12-19,3.593750,3.937500,3.515625,3.867188,3.867188,29721600
+1997-12-22,3.867188,4.085938,3.867188,4.027344,4.027344,23824000
+1997-12-23,4.000000,4.242188,3.976563,4.070313,4.070313,22833600
+1997-12-24,4.074219,4.125000,4.031250,4.031250,4.031250,6185600
+1997-12-26,4.019531,4.148438,4.015625,4.132813,4.132813,9587200
+1997-12-29,4.187500,4.312500,4.148438,4.308594,4.308594,15100800
+1997-12-30,4.304688,4.437500,4.250000,4.437500,4.437500,16508800
+1997-12-31,4.414063,4.429688,4.320313,4.328125,4.328125,15467200
+1998-01-02,4.328125,4.343750,4.062500,4.140625,4.140625,17828800
+1998-01-05,4.023438,4.085938,3.914063,3.933594,3.933594,26601600
+1998-01-06,3.859375,4.070313,3.828125,4.000000,4.000000,28688000
+1998-01-07,3.921875,4.054688,3.921875,3.988281,3.988281,15758400
+1998-01-08,4.000000,4.123044,3.921875,4.015625,4.015625,21748800
+1998-01-09,4.031250,4.078125,3.796875,3.867188,3.867188,30296000
+1998-01-12,3.750000,4.007813,3.687500,3.906250,3.906250,38262400
+1998-01-13,4.046875,4.265625,4.035156,4.111325,4.111325,52755200
+1998-01-14,4.171875,4.242188,4.125000,4.187500,4.187500,26678400
+1998-01-15,4.078125,4.171875,4.000000,4.083981,4.083981,27916800
+1998-01-16,4.125000,4.218750,4.062500,4.078125,4.078125,18288000
+1998-01-20,4.078125,4.078125,3.937500,4.031250,4.031250,35096000
+1998-01-21,4.007813,4.031250,3.929688,3.992188,3.992188,18336000
+1998-01-22,3.960938,4.000000,3.890625,3.894531,3.894531,11137600
+1998-01-23,3.921875,3.933594,3.820313,3.859375,3.859375,10700800
+1998-01-26,3.898438,3.906250,3.718750,3.742188,3.742188,10534400
+1998-01-27,3.765625,3.828125,3.750000,3.753906,3.753906,15113600
+1998-01-28,3.789063,3.789063,3.613281,3.628906,3.628906,29641600
+1998-01-29,3.625000,3.890625,3.601563,3.867188,3.867188,33180800
+1998-01-30,3.937500,4.031250,3.828125,3.960938,3.960938,32681600
+1998-02-02,4.015625,4.132813,3.992188,4.125000,4.125000,24558400
+1998-02-03,4.109375,4.132813,3.992188,4.052731,4.052731,33953600
+1998-02-04,4.039063,4.039063,3.949219,3.980469,3.980469,13721600
+1998-02-05,4.023438,4.054688,3.851563,3.890625,3.890625,18446400
+1998-02-06,3.882813,4.039063,3.851563,4.015625,4.015625,14387200
+1998-02-09,4.046875,4.078125,3.937500,3.993162,3.993162,16547200
+1998-02-10,4.000000,4.093750,3.937500,4.039063,4.039063,20785600
+1998-02-11,4.039063,4.109375,4.000000,4.068356,4.068356,11950400
+1998-02-12,4.015625,4.078125,3.984375,4.070313,4.070313,9059200
+1998-02-13,4.046875,4.171875,4.023438,4.046875,4.046875,13256000
+1998-02-17,4.031250,4.062500,3.968750,4.015625,4.015625,11427200
+1998-02-18,4.015625,4.046875,3.914063,3.968750,3.968750,11323200
+1998-02-19,3.968750,4.101563,3.953125,4.001950,4.001950,13486400
+1998-02-20,4.031250,4.046875,3.851563,4.007813,4.007813,12539200
+1998-02-23,4.023438,4.039063,3.933594,3.955075,3.955075,11187200
+1998-02-24,3.992188,3.992188,3.820313,3.845700,3.845700,14260800
+1998-02-25,3.867188,3.890625,3.804688,3.857419,3.857419,20102400
+1998-02-26,3.875000,4.281250,3.859375,4.257813,4.257813,39760000
+1998-02-27,4.265625,4.640625,4.234375,4.574219,4.574219,99968000
+1998-03-02,4.671875,4.683594,4.484375,4.574219,4.574219,32520000
+1998-03-03,4.500000,4.625000,4.421875,4.558594,4.558594,22182400
+1998-03-04,4.484375,4.531250,4.421875,4.476563,4.476563,22900800
+1998-03-05,4.343750,4.726563,4.296875,4.707031,4.707031,53112000
+1998-03-06,4.796875,5.109375,4.734375,5.035156,5.035156,52110400
+1998-03-09,5.109375,5.531250,5.101563,5.488281,5.488281,66227200
+1998-03-10,5.656250,5.773438,5.269531,5.468750,5.468750,105219200
+1998-03-11,5.335938,5.421875,5.187500,5.265625,5.265625,66195200
+1998-03-12,5.242188,5.312500,5.078125,5.125000,5.125000,69780800
+1998-03-13,5.140625,5.312500,5.093750,5.210938,5.210938,31441600
+1998-03-16,5.343750,5.406250,5.281250,5.312500,5.312500,24947200
+1998-03-17,5.320313,5.328125,5.164063,5.240231,5.240231,14350400
+1998-03-18,5.156250,5.429688,5.101563,5.392575,5.392575,41563200
+1998-03-19,5.359375,5.464844,5.242188,5.242188,5.242188,33745600
+1998-03-20,5.273438,5.308594,5.171875,5.197262,5.197262,18041600
+1998-03-23,5.156250,5.238281,5.148438,5.187500,5.187500,10816000
+1998-03-24,5.171875,5.437500,5.171875,5.425781,5.425781,28342400
+1998-03-25,5.507813,5.621094,5.460938,5.515625,5.515625,38163200
+1998-03-26,5.507813,5.656250,5.458981,5.558594,5.558594,27820800
+1998-03-27,5.636719,5.761719,5.546875,5.664063,5.664063,28928000
+1998-03-30,5.726563,5.890625,5.695313,5.816406,5.816406,30766400
+1998-03-31,5.875000,5.882813,5.734375,5.777344,5.777344,19136000
+1998-04-01,5.777344,6.113281,5.679688,6.113281,6.113281,39004800
+1998-04-02,6.187500,6.535156,6.156250,6.492188,6.492188,64988800
+1998-04-03,6.566406,6.609375,6.312500,6.402344,6.402344,58545600
+1998-04-06,6.484375,6.484375,6.156250,6.191406,6.191406,47131200
+1998-04-07,6.156250,6.156250,5.734375,5.828125,5.828125,81860800
+1998-04-08,5.875000,6.171875,5.867188,6.078125,6.078125,93374400
+1998-04-09,6.734375,7.171875,6.625000,7.156250,7.156250,176787200
+1998-04-13,7.031250,7.289063,6.800781,7.062500,7.062500,114054400
+1998-04-14,7.046875,7.390625,6.976563,7.179688,7.179688,77942400
+1998-04-15,7.296875,7.414063,7.238281,7.386719,7.386719,40574400
+1998-04-16,7.437500,8.101563,7.312500,8.024412,8.024412,146963200
+1998-04-17,7.726563,7.843750,7.507813,7.593750,7.593750,93952000
+1998-04-20,7.640625,8.054688,7.539063,7.859375,7.859375,67028800
+1998-04-21,7.921875,8.062500,7.625000,7.705075,7.705075,51115200
+1998-04-22,7.765625,7.789063,7.320313,7.398438,7.398438,57531200
+1998-04-23,7.226563,7.250000,6.941406,7.011719,7.011719,82996800
+1998-04-24,7.117188,7.359375,6.945313,7.171875,7.171875,78507200
+1998-04-27,6.976563,7.046875,6.832031,7.007813,7.007813,67828800
+1998-04-28,7.324219,7.460938,7.203125,7.406250,7.406250,75300800
+1998-04-29,7.375000,7.468750,7.285156,7.390625,7.390625,38995200
+1998-04-30,7.515625,7.601563,7.375000,7.433594,7.433594,35766400
+1998-05-01,7.460938,7.460938,7.296875,7.414063,7.414063,20518400
+1998-05-04,7.503906,7.625000,7.453125,7.554688,7.554688,15729600
+1998-05-05,7.398438,7.523438,7.281250,7.296875,7.296875,23513600
+1998-05-06,7.320313,7.328125,7.140625,7.191406,7.191406,22596800
+1998-05-07,7.187500,7.398438,7.156250,7.199219,7.199219,26564800
+1998-05-08,7.171875,7.359375,7.105469,7.359375,7.359375,26433600
+1998-05-11,7.414063,7.429688,7.125000,7.136719,7.136719,27179200
+1998-05-12,7.093750,7.281250,7.035156,7.230469,7.230469,33731200
+1998-05-13,7.250000,7.753906,7.203125,7.750000,7.750000,60171200
+1998-05-14,7.691406,7.898438,7.515625,7.515625,7.515625,57985600
+1998-05-15,7.625000,7.687500,7.359375,7.378906,7.378906,25552000
+1998-05-18,7.429688,7.464844,7.136719,7.285156,7.285156,33620800
+1998-05-19,7.359375,7.484375,7.296875,7.384762,7.384762,23678400
+1998-05-20,7.460938,7.460938,7.234375,7.304688,7.304688,15969600
+1998-05-21,7.406250,7.406250,7.234375,7.312500,7.312500,18348800
+1998-05-22,7.273438,7.296875,7.062500,7.148438,7.148438,15713600
+1998-05-26,7.195313,7.218750,6.757813,6.765625,6.765625,46486400
+1998-05-27,6.656250,7.203125,6.648438,7.195313,7.195313,103491200
+1998-05-28,7.132813,7.187500,6.867188,6.875000,6.875000,47590400
+1998-05-29,6.906250,7.000000,6.792969,6.843750,6.843750,36216000
+1998-06-01,6.765625,6.828125,6.343750,6.523438,6.523438,72801600
+1998-06-02,6.562500,6.609375,6.195313,6.550781,6.550781,114208000
+1998-06-03,6.609375,6.609375,6.351563,6.375000,6.375000,71544000
+1998-06-04,6.375000,6.507813,6.281250,6.414063,6.414063,49841600
+1998-06-05,6.406250,6.625000,6.343750,6.562500,6.562500,37105600
+1998-06-08,6.562500,6.843750,6.554688,6.835938,6.835938,33300800
+1998-06-09,6.941406,7.406250,6.859375,7.367188,7.367188,95710400
+1998-06-10,7.312500,7.453125,7.148438,7.152344,7.152344,69064000
+1998-06-11,7.195313,7.296875,7.089844,7.203125,7.203125,51329600
+1998-06-12,7.250000,7.250000,6.937500,7.113281,7.113281,48417600
+1998-06-15,6.992188,7.273438,6.968750,7.203125,7.203125,53963200
+1998-06-16,7.273438,7.648438,7.156250,7.621094,7.621094,63780800
+1998-06-17,7.789063,8.226563,7.765625,8.164063,8.164063,130657600
+1998-06-18,8.296875,8.523438,7.976563,7.984375,7.984375,81768000
+1998-06-19,7.945313,8.156250,7.796875,8.078125,8.078125,59110400
+1998-06-22,8.062500,8.773438,8.031250,8.722656,8.722656,81326400
+1998-06-23,8.703125,9.398438,8.625000,9.253906,9.253906,122494400
+1998-06-24,9.308594,9.500000,8.937500,9.296875,9.296875,96169600
+1998-06-25,9.281250,9.765625,9.187500,9.515625,9.515625,99208000
+1998-06-26,9.421875,9.601563,9.156250,9.292969,9.292969,67873600
+1998-06-29,9.343750,9.671875,9.335938,9.652344,9.652344,51121600
+1998-06-30,9.671875,9.984375,9.601563,9.843750,9.843750,63260800
+1998-07-01,10.007813,10.625000,10.000000,10.617188,10.617188,73984000
+1998-07-02,10.843750,11.218750,10.375000,10.804688,10.804688,119217600
+1998-07-06,11.179688,12.500000,11.058594,12.453125,12.453125,216720000
+1998-07-07,12.921875,12.968750,11.875000,11.937500,11.937500,198368000
+1998-07-08,11.562500,12.406250,10.937500,11.636719,11.636719,224849600
+1998-07-09,12.484375,12.750000,11.500000,11.500000,11.500000,207491200
+1998-07-10,11.335938,11.632813,11.101563,11.406250,11.406250,112896000
+1998-07-13,11.101563,11.789063,11.062500,11.773438,11.773438,85763200
+1998-07-14,11.796875,11.960938,11.500000,11.656250,11.656250,59248000
+1998-07-15,11.710938,11.710938,11.320313,11.359375,11.359375,36636800
+1998-07-16,11.398438,11.718750,11.226563,11.667969,11.667969,51748800
+1998-07-17,11.609375,11.835938,11.414063,11.609375,11.609375,46369600
+1998-07-20,11.656250,12.328125,11.546875,12.269531,12.269531,63902400
+1998-07-21,12.289063,12.964844,11.714844,11.812500,11.812500,115219200
+1998-07-22,11.875000,12.289063,11.781250,12.109375,12.109375,68036800
+1998-07-23,12.132813,12.421875,11.796875,11.835938,11.835938,43572800
+1998-07-24,11.968750,12.062500,11.101563,11.382813,11.382813,87747200
+1998-07-27,11.171875,11.843750,10.875000,11.824219,11.824219,83516800
+1998-07-28,11.781250,11.906250,11.390625,11.453125,11.453125,61753600
+1998-07-29,11.609375,11.664063,10.828125,10.847656,10.847656,66641600
+1998-07-30,11.085938,11.585938,10.656250,11.417969,11.417969,96512000
+1998-07-31,11.484375,11.562500,11.156250,11.371094,11.371094,63755200
+1998-08-03,11.250000,11.312500,10.765625,10.804688,10.804688,34780000
+1998-08-04,11.078125,11.218750,10.625000,10.640625,10.640625,42092800
+1998-08-05,10.734375,10.968750,9.875000,10.484375,10.484375,54120000
+1998-08-06,10.250000,11.046875,10.148438,10.921875,10.921875,36946400
+1998-08-07,11.078125,11.656250,10.914063,11.453125,11.453125,51663200
+1998-08-10,11.500000,11.750000,11.093750,11.750000,11.750000,34913600
+1998-08-11,11.210938,11.781250,11.046875,11.421875,11.421875,50840800
+1998-08-12,11.687500,12.039063,11.625000,11.921875,11.921875,42176000
+1998-08-13,11.890625,12.093750,11.578125,11.593750,11.593750,26801600
+1998-08-14,11.750000,11.796875,11.250000,11.468750,11.468750,25372000
+1998-08-17,11.359375,11.562500,11.250000,11.500000,11.500000,20256800
+1998-08-18,11.609375,12.250000,11.578125,12.156250,12.156250,42212800
+1998-08-19,12.359375,12.500000,11.859375,11.906250,11.906250,33248000
+1998-08-20,11.921875,12.234375,11.843750,12.187500,12.187500,23878400
+1998-08-21,12.015625,12.171875,11.656250,11.921875,11.921875,30939200
+1998-08-24,12.000000,12.250000,11.953125,12.210938,12.210938,21888000
+1998-08-25,12.367188,12.406250,11.968750,12.187500,12.187500,19356800
+1998-08-26,11.968750,12.117188,11.765625,12.109375,12.109375,22042400
+1998-08-27,11.812500,11.875000,11.343750,11.382813,11.382813,39107200
+1998-08-28,11.359375,11.546875,10.218750,10.382813,10.382813,62074400
+1998-08-31,10.375000,10.515625,8.312500,8.625000,8.625000,77024800
+1998-09-01,8.265625,9.562500,7.375000,9.031250,9.031250,96534400
+1998-09-02,9.625000,10.492188,9.328125,9.718750,9.718750,78278400
+1998-09-03,9.250000,9.734375,8.937500,9.398438,9.398438,63705600
+1998-09-04,9.617188,9.765625,9.062500,9.421875,9.421875,33694400
+1998-09-08,10.359375,10.625000,9.890625,10.578125,10.578125,54988000
+1998-09-09,10.453125,10.726563,9.968750,10.000000,10.000000,38174400
+1998-09-10,9.593750,10.062500,9.125000,9.984375,9.984375,61207200
+1998-09-11,10.062500,10.234375,9.593750,9.984375,9.984375,45369600
+1998-09-14,10.281250,10.609375,10.203125,10.484375,10.484375,35400800
+1998-09-15,10.328125,10.562500,10.250000,10.546875,10.546875,33928800
+1998-09-16,10.726563,11.718750,10.625000,11.671875,11.671875,97708000
+1998-09-17,11.171875,11.718750,11.164063,11.257813,11.257813,103429600
+1998-09-18,11.250000,11.546875,11.234375,11.304688,11.304688,40134400
+1998-09-21,10.906250,12.125000,10.851563,12.039063,12.039063,61918400
+1998-09-22,12.281250,13.125000,12.250000,12.867188,12.867188,88165600
+1998-09-23,13.093750,14.750000,13.062500,14.734375,14.734375,121677600
+1998-09-24,14.843750,15.671875,14.093750,14.406250,14.406250,119551200
+1998-09-25,14.000000,15.156250,13.906250,15.125000,15.125000,80061600
+1998-09-28,15.750000,16.187500,15.226563,15.992188,15.992188,85004800
+1998-09-29,16.093750,16.828125,15.593750,16.437500,16.437500,87640800
+1998-09-30,16.121088,16.523438,15.593750,16.187500,16.187500,83716800
+1998-10-01,15.421875,15.796875,14.085938,14.117188,14.117188,122895200
+1998-10-02,14.445313,15.937500,14.218750,15.875000,15.875000,135588000
+1998-10-05,15.765625,16.195313,14.632813,15.726563,15.726563,130274400
+1998-10-06,16.390625,16.515625,15.218750,15.601563,15.601563,123448000
+1998-10-07,15.335938,15.375000,13.812500,14.296875,14.296875,137588800
+1998-10-08,13.015625,13.562500,12.187500,13.101563,13.101563,172985600
+1998-10-09,13.484375,13.750000,12.750000,13.203125,13.203125,74280000
+1998-10-12,13.812500,14.750000,13.585938,14.304688,14.304688,103243200
+1998-10-13,14.179688,14.296875,13.703125,13.742188,13.742188,51824000
+1998-10-14,13.562500,14.562500,13.562500,13.984375,13.984375,59580000
+1998-10-15,14.109375,15.015625,13.781250,14.921875,14.921875,71287200
+1998-10-16,15.015625,15.250000,14.390625,14.453125,14.453125,54677600
+1998-10-19,14.328125,14.906250,14.187500,14.687500,14.687500,42296000
+1998-10-20,15.031250,15.140625,14.421875,14.437500,14.437500,48166400
+1998-10-21,14.703125,14.984375,14.457025,14.968750,14.968750,35041600
+1998-10-22,14.867188,15.531250,14.656250,15.265625,15.265625,60401600
+1998-10-23,15.210938,15.500000,15.062500,15.265625,15.265625,28093600
+1998-10-26,15.406250,16.000000,15.406250,15.992188,15.992188,40869600
+1998-10-27,16.312500,16.515625,15.437500,15.468750,15.468750,47267200
+1998-10-28,15.453125,16.000000,15.125000,15.843750,15.843750,42363200
+1998-10-29,16.031250,16.406250,15.750000,16.398438,16.398438,41452000
+1998-10-30,16.234375,16.640625,16.156250,16.355463,16.355463,39603200
+1998-11-02,16.632813,18.218750,16.468750,18.179688,18.179688,82252800
+1998-11-03,18.093750,18.625000,17.632813,17.765625,17.765625,88573600
+1998-11-04,18.453125,18.937500,18.187500,18.921875,18.921875,75329600
+1998-11-05,18.726563,19.257813,18.726563,18.960938,18.960938,82464800
+1998-11-06,18.992188,19.289063,18.875000,19.195313,19.195313,39160800
+1998-11-09,19.250000,20.671875,19.234375,20.593750,20.593750,73947200
+1998-11-10,21.062500,23.203125,21.046875,22.070313,22.070313,104089600
+1998-11-11,22.187500,22.734375,20.500000,20.625000,20.625000,96396800
+1998-11-12,20.437500,21.921875,20.406250,21.656250,21.656250,76820000
+1998-11-13,22.109375,22.210938,20.562500,21.000000,21.000000,59292800
+1998-11-16,21.718750,21.875000,20.968750,21.656250,21.656250,47338400
+1998-11-17,21.460938,22.687500,21.031250,22.093750,22.093750,65894400
+1998-11-18,22.421875,23.781250,22.304688,23.765625,23.765625,80068000
+1998-11-19,24.242188,24.796875,23.062500,23.234375,23.234375,83217600
+1998-11-20,24.125000,24.140625,22.687500,23.875000,23.875000,74551200
+1998-11-23,24.609375,27.750000,23.875000,27.679688,27.679688,92021600
+1998-11-24,27.000000,28.468750,25.375000,26.281250,26.281250,132245600
+1998-11-25,26.343750,27.000000,25.406250,26.234375,26.234375,56652000
+1998-11-27,26.601563,27.156250,26.468750,27.117188,27.117188,16614400
+1998-11-30,27.203125,27.203125,23.937500,24.000000,24.000000,56202400
+1998-12-01,22.984375,25.921875,22.750000,25.781250,25.781250,98687200
+1998-12-02,25.601563,25.796875,24.375000,24.632813,24.632813,63236800
+1998-12-03,24.718750,25.343750,22.828125,22.968750,22.968750,67581600
+1998-12-04,23.914063,24.109375,22.500000,23.718750,23.718750,73370400
+1998-12-07,24.062500,24.250000,23.328125,23.820313,23.820313,30444000
+1998-12-08,23.687500,25.000000,23.421875,24.812500,24.812500,50747200
+1998-12-09,25.000000,25.812500,24.257813,24.734375,24.734375,63276000
+1998-12-10,24.804688,25.250000,23.578125,24.093750,24.093750,47940800
+1998-12-11,23.890625,24.718750,23.843750,24.460938,24.460938,42621600
+1998-12-14,24.046875,24.609375,23.695313,23.906250,23.906250,40104000
+1998-12-15,24.312500,24.796875,24.187500,24.750000,24.750000,32498400
+1998-12-16,25.515625,26.312500,25.156250,25.640625,25.640625,55996800
+1998-12-17,25.015625,26.687500,24.937500,25.687500,25.687500,54028800
+1998-12-18,26.453125,26.890625,25.906250,26.539063,26.539063,37685600
+1998-12-21,27.625000,31.359375,27.250000,30.937500,30.937500,68780000
+1998-12-22,31.562500,31.734375,29.125000,30.625000,30.625000,63622400
+1998-12-23,31.406250,31.671875,30.687500,31.250000,31.250000,29891200
+1998-12-24,30.765625,31.375000,30.500000,30.890625,30.890625,9348800
+1998-12-28,31.687500,35.750000,31.250000,34.437500,34.437500,60430400
+1998-12-29,34.421875,34.421875,32.921875,33.750000,33.750000,41398400
+1998-12-30,33.250000,33.921875,30.125000,30.578125,30.578125,59023200
+1998-12-31,30.234375,31.875000,29.000000,29.617188,29.617188,37516800
+1999-01-04,30.250000,31.500000,30.000000,31.000000,31.000000,33860000
+1999-01-05,30.320313,32.625000,29.960938,32.234375,32.234375,43924800
+1999-01-06,33.500000,37.375000,33.375000,36.375000,36.375000,71474400
+1999-01-07,35.500000,40.718750,35.375000,40.000000,40.000000,77141600
+1999-01-08,43.250000,44.671875,41.250000,42.953125,42.953125,61498400
+1999-01-11,45.992188,55.625000,45.437500,51.921875,51.921875,80186400
+1999-01-12,54.828125,55.375000,46.250000,50.250000,50.250000,104092000
+1999-01-13,49.890625,50.750000,41.500000,46.000000,46.000000,97093600
+1999-01-14,46.484375,48.250000,42.875000,42.992188,42.992188,56675200
+1999-01-15,43.117188,44.312500,38.000000,39.625000,39.625000,83922400
+1999-01-19,42.484375,43.125000,39.742188,40.375000,40.375000,34664800
+1999-01-20,40.804688,41.343750,35.625000,35.898438,35.898438,43305600
+1999-01-21,34.257813,35.000000,31.171875,33.125000,33.125000,89164000
+1999-01-22,31.625000,36.375000,31.625000,35.750000,35.750000,73045600
+1999-01-25,37.093750,39.125000,35.625000,39.000000,39.000000,49068800
+1999-01-26,39.937500,44.015625,39.875000,43.906250,43.906250,66213600
+1999-01-27,46.546875,47.648438,41.250000,41.984375,41.984375,54030400
+1999-01-28,43.609375,46.125000,41.875000,45.968750,45.968750,52440000
+1999-01-29,45.000000,45.625000,43.125000,44.281250,44.281250,33787200
+1999-02-01,44.625000,44.875000,41.625000,41.945313,41.945313,39826400
+1999-02-02,41.968750,42.250000,38.578125,40.367188,40.367188,49295200
+1999-02-03,40.390625,45.000000,40.390625,44.757813,44.757813,45029600
+1999-02-04,44.562500,44.875000,41.875000,42.125000,42.125000,48534400
+1999-02-05,43.015625,44.125000,41.875000,43.187500,43.187500,49096000
+1999-02-08,43.187500,43.375000,38.656250,39.656250,39.656250,38321600
+1999-02-09,39.343750,39.468750,34.750000,35.187500,35.187500,41688400
+1999-02-10,34.875000,37.156250,32.234375,35.593750,35.593750,47980400
+1999-02-11,37.250000,39.750000,36.375000,39.625000,39.625000,32700800
+1999-02-12,38.640625,38.750000,37.000000,37.750000,37.750000,24872000
+1999-02-16,38.125000,39.000000,32.984375,33.343750,33.343750,58302000
+1999-02-17,33.625000,34.812500,31.375000,32.406250,32.406250,38656400
+1999-02-18,33.500000,33.625000,31.000000,32.218750,32.218750,35252000
+1999-02-19,33.390625,34.359375,32.500000,33.828125,33.828125,33774000
+1999-02-22,34.250000,37.500000,32.968750,36.437500,36.437500,33567600
+1999-02-23,37.125000,39.312500,37.000000,38.218750,38.218750,45360800
+1999-02-24,39.125000,40.125000,37.375000,37.546875,37.546875,35772800
+1999-02-25,37.390625,38.875000,36.125000,38.843750,38.843750,32932400
+1999-02-26,38.875000,39.593750,37.500000,38.375000,38.375000,29360000
+1999-03-01,38.390625,41.250000,37.281250,40.031250,40.031250,39223200
+1999-03-02,40.343750,41.250000,38.218750,38.296875,38.296875,29651200
+1999-03-03,38.718750,39.343750,37.156250,38.359375,38.359375,25215200
+1999-03-04,39.187500,39.500000,36.531250,37.875000,37.875000,23268000
+1999-03-05,39.593750,40.500000,39.000000,39.953125,39.953125,32062800
+1999-03-08,40.589825,43.296875,40.000000,42.609375,42.609375,36341600
+1999-03-09,42.703125,43.250000,40.937500,41.828125,41.828125,25655600
+1999-03-10,43.250000,43.625000,42.250000,43.406250,43.406250,22300000
+1999-03-11,44.468750,45.843750,44.015625,44.750000,44.750000,34746000
+1999-03-12,44.687500,44.781250,42.750000,44.000000,44.000000,18828400
+1999-03-15,44.250000,44.921875,43.187500,44.859375,44.859375,13907200
+1999-03-16,45.078125,45.125000,43.687500,43.718750,43.718750,12136000
+1999-03-17,43.531250,43.562500,42.500000,43.031250,43.031250,11562800
+1999-03-18,42.515625,44.000000,42.468750,43.828125,43.828125,13022800
+1999-03-19,44.187500,44.562500,42.437500,42.500000,42.500000,13999600
+1999-03-22,42.718750,44.500000,41.156250,41.250000,41.250000,16258800
+1999-03-23,40.500000,41.000000,38.796875,38.875000,38.875000,20626000
+1999-03-24,38.093750,40.125000,36.781250,40.125000,40.125000,22805600
+1999-03-25,41.984375,44.812500,41.250000,44.750000,44.750000,32558000
+1999-03-26,43.593750,44.312500,42.500000,42.843750,42.843750,23164800
+1999-03-29,44.250000,44.687500,42.937500,44.000000,44.000000,15764000
+1999-03-30,43.843750,46.468750,43.031250,43.078125,43.078125,38020000
+1999-03-31,44.000000,45.375000,42.000000,42.093750,42.093750,32183600
+1999-04-01,44.750000,45.250000,42.000000,44.937500,44.937500,40504800
+1999-04-05,46.562500,55.250000,46.250000,54.781250,54.781250,82058000
+1999-04-06,55.000000,61.000000,52.500000,53.718750,53.718750,100101200
+1999-04-07,57.250000,57.750000,50.750000,52.109375,52.109375,69661600
+1999-04-08,54.250000,54.250000,49.234375,51.671875,51.671875,56466800
+1999-04-09,51.171875,52.750000,50.500000,51.750000,51.750000,24151600
+1999-04-12,48.281250,51.515625,48.218750,50.734375,50.734375,39976800
+1999-04-13,51.187500,54.093750,50.500000,50.750000,50.750000,29236400
+1999-04-14,51.062500,52.000000,47.375000,47.750000,47.750000,25956800
+1999-04-15,47.437500,50.015625,43.000000,48.656250,48.656250,45416800
+1999-04-16,48.875000,49.250000,46.265625,47.296875,47.296875,23426400
+1999-04-19,47.218750,47.750000,40.312500,40.921875,40.921875,42021200
+1999-04-20,40.312500,43.500000,38.750000,42.750000,42.750000,42084400
+1999-04-21,43.656250,45.000000,42.500000,43.718750,43.718750,24596400
+1999-04-22,45.671875,46.250000,43.859375,46.000000,46.000000,25307200
+1999-04-23,45.843750,48.031250,45.125000,46.921875,46.921875,19913600
+1999-04-26,47.281250,48.625000,46.812500,48.062500,48.062500,13915600
+1999-04-27,48.734375,49.390625,45.375000,46.125000,46.125000,20129200
+1999-04-28,45.687500,46.234375,42.750000,43.375000,43.375000,18786800
+1999-04-29,42.031250,43.875000,41.156250,43.750000,43.750000,25935200
+1999-04-30,45.015625,45.500000,42.000000,43.671875,43.671875,14938800
+1999-05-03,42.781250,43.312500,40.250000,40.640625,40.640625,20424000
+1999-05-04,40.562500,42.562500,39.500000,39.812500,39.812500,25120000
+1999-05-05,40.093750,40.531250,37.218750,40.328125,40.328125,39324000
+1999-05-06,40.500000,40.625000,37.500000,37.968750,37.968750,23365200
+1999-05-07,37.906250,39.375000,36.250000,36.859375,36.859375,27588800
+1999-05-10,37.062500,39.203125,36.875000,38.921875,38.921875,25932800
+1999-05-11,41.093750,43.828125,40.218750,43.500000,43.500000,42985600
+1999-05-12,42.718750,43.375000,41.218750,42.484375,42.484375,22728400
+1999-05-13,42.875000,43.375000,39.968750,40.093750,40.093750,18511600
+1999-05-14,38.609375,40.437500,38.250000,39.343750,39.343750,23758400
+1999-05-17,38.765625,40.687500,37.515625,40.453125,40.453125,26168000
+1999-05-18,39.843750,40.375000,38.828125,39.203125,39.203125,18851600
+1999-05-19,39.734375,40.281250,38.812500,39.562500,39.562500,16702000
+1999-05-20,39.593750,39.781250,37.750000,37.875000,37.875000,10570000
+1999-05-21,38.312500,38.328125,37.187500,37.828125,37.828125,14906400
+1999-05-24,37.343750,37.562500,33.968750,34.468750,34.468750,30008400
+1999-05-25,34.609375,35.281250,31.656250,31.734375,31.734375,37816800
+1999-05-26,32.500000,35.312500,30.125000,35.218750,35.218750,52978400
+1999-05-27,34.750000,35.406250,33.218750,33.343750,33.343750,30726800
+1999-05-28,33.625000,37.062500,32.875000,37.000000,37.000000,28661200
+1999-06-01,36.328125,37.500000,33.765625,34.546875,34.546875,31400400
+1999-06-02,34.062500,37.250000,32.531250,35.625000,35.625000,45042400
+1999-06-03,35.625000,36.125000,33.375000,33.843750,33.843750,30196000
+1999-06-04,34.031250,36.937500,33.500000,36.859375,36.859375,36142000
+1999-06-07,36.656250,39.437500,36.062500,37.968750,37.968750,36826000
+1999-06-08,38.093750,38.375000,35.632801,35.828125,35.828125,27203600
+1999-06-09,36.218750,37.296875,35.765625,36.593750,36.593750,23841200
+1999-06-10,35.921875,36.968750,35.187500,36.187500,36.187500,20716000
+1999-06-11,36.093750,36.625000,33.562500,33.812500,33.812500,25944000
+1999-06-14,33.671875,33.718750,29.500000,29.812500,29.812500,50811600
+1999-06-15,29.406250,32.406250,29.406250,31.312500,31.312500,49996000
+1999-06-16,33.312500,35.875000,31.296875,35.406250,35.406250,59128800
+1999-06-17,34.906250,37.484375,34.312500,35.562500,35.562500,48852400
+1999-06-18,35.343750,36.375000,35.125000,36.109375,36.109375,17448800
+1999-06-21,37.125000,40.125000,37.000000,39.718750,39.718750,50007600
+1999-06-22,39.343750,41.531250,37.625000,38.125000,38.125000,50848000
+1999-06-23,37.437500,39.125000,36.562500,38.875000,38.875000,42335200
+1999-06-24,38.750000,38.921875,36.750000,37.750000,37.750000,28072800
+1999-06-25,38.187500,38.468750,36.250000,36.718750,36.718750,21633200
+1999-06-28,36.890625,39.125000,36.890625,39.125000,39.125000,38500400
+1999-06-29,38.953125,41.078125,38.250000,40.000000,40.000000,45476000
+1999-06-30,39.968750,44.593750,39.453125,43.062500,43.062500,59339600
+1999-07-01,43.593750,44.968750,42.953125,44.312500,44.312500,46766800
+1999-07-02,44.250000,44.718750,43.125000,44.531250,44.531250,29583200
+1999-07-06,45.625000,47.312500,43.125000,43.781250,43.781250,62996800
+1999-07-07,43.062500,43.500000,41.250000,41.765625,41.765625,67031200
+1999-07-08,43.453125,43.812500,40.500000,41.109375,41.109375,67836800
+1999-07-09,41.359375,41.750000,39.750000,40.000000,40.000000,28462000
+1999-07-12,39.875000,39.937500,37.500000,37.562500,37.562500,47432400
+1999-07-13,36.968750,39.500000,36.250000,39.234375,39.234375,47375200
+1999-07-14,39.937500,40.375000,39.218750,39.859375,39.859375,36978400
+1999-07-15,40.125000,40.437500,38.250000,38.609375,38.609375,24413600
+1999-07-16,38.437500,38.875000,37.468750,37.562500,37.562500,20528000
+1999-07-19,37.718750,38.125000,36.875000,37.375000,37.375000,25438400
+1999-07-20,37.031250,37.625000,35.437500,35.531250,35.531250,24332400
+1999-07-21,35.718750,38.125000,35.562500,37.968750,37.968750,32751200
+1999-07-22,37.078125,37.875000,35.765625,36.281250,36.281250,39331200
+1999-07-23,36.640625,37.031250,35.890625,36.437500,36.437500,19178800
+1999-07-26,35.375000,35.968750,33.000000,33.578125,33.578125,41694400
+1999-07-27,34.531250,35.125000,32.765625,32.828125,32.828125,39426000
+1999-07-28,33.359375,35.804676,32.875000,35.750000,35.750000,46910800
+1999-07-29,34.781250,35.000000,33.500000,34.250000,34.250000,42611200
+1999-07-30,34.437500,35.125000,33.375000,34.109375,34.109375,25167200
+1999-08-02,33.765625,34.937500,33.000000,33.078125,33.078125,24568000
+1999-08-03,33.609375,33.609375,30.718750,31.343750,31.343750,60916800
+1999-08-04,31.250000,31.937500,29.937500,30.250000,30.250000,45760800
+1999-08-05,30.031250,32.406250,27.500000,32.093750,32.093750,93246000
+1999-08-06,32.781250,34.000000,31.437500,31.734375,31.734375,58423200
+1999-08-09,32.031250,32.218750,30.003901,30.296875,30.296875,30964400
+1999-08-10,30.187500,32.187500,29.000000,31.875000,31.875000,59756000
+1999-08-11,32.562500,32.906250,30.640625,32.015625,32.015625,47123600
+1999-08-12,32.000000,33.312500,31.640625,32.093750,32.093750,31806800
+1999-08-13,33.093750,33.500000,32.437500,33.203125,33.203125,24487600
+1999-08-16,33.000000,33.843750,32.687500,33.625000,33.625000,20766000
+1999-08-17,34.093750,34.875000,33.812500,34.718750,34.718750,29511600
+1999-08-18,35.812500,37.375000,35.750000,36.265625,36.265625,41488000
+1999-08-19,35.375000,35.875000,34.500000,34.796875,34.796875,31132400
+1999-08-20,34.906250,36.328125,34.625000,36.250000,36.250000,20089600
+1999-08-23,36.750000,38.375000,36.718750,38.031250,38.031250,42162000
+1999-08-24,37.484375,39.875000,37.468750,38.234375,38.234375,46909600
+1999-08-25,38.687500,39.765625,38.375000,39.640625,39.640625,25081200
+1999-08-26,39.375000,40.125000,38.093750,38.171875,38.171875,23626800
+1999-08-27,38.343750,38.375000,36.812500,37.250000,37.250000,20174400
+1999-08-30,37.125000,37.437500,35.640625,35.953125,35.953125,17183600
+1999-08-31,35.609375,37.062500,34.812500,36.875000,36.875000,42270800
+1999-09-01,37.187500,37.343750,35.578125,35.828125,35.828125,17971600
+1999-09-02,35.062500,36.128899,34.843750,35.390625,35.390625,21898800
+1999-09-03,36.906250,38.765625,36.718750,38.750000,38.750000,33040800
+1999-09-07,38.390625,39.250000,38.015625,38.750000,38.750000,24489600
+1999-09-08,38.203125,38.875000,37.953125,38.359375,38.359375,17771200
+1999-09-09,39.453125,40.843750,39.453125,40.671875,40.671875,41091200
+1999-09-10,41.406250,43.015625,41.250000,42.625000,42.625000,41157200
+1999-09-13,41.687500,41.937500,40.125000,40.187500,40.187500,28529600
+1999-09-14,39.937500,41.984375,39.921875,41.296875,41.296875,25134000
+1999-09-15,42.062500,42.437500,40.562500,40.593750,40.593750,26740800
+1999-09-16,40.531250,40.968750,39.328125,40.859375,40.859375,25113200
+1999-09-17,40.703125,41.656250,40.265625,40.781250,40.781250,19720000
+1999-09-20,41.125000,42.187500,41.000000,42.093750,42.093750,20120000
+1999-09-21,41.453125,43.750000,41.078125,42.390625,42.390625,43461600
+1999-09-22,42.375000,45.000000,42.156250,44.875000,44.875000,47312800
+1999-09-23,45.078125,46.609375,42.812500,43.437500,43.437500,66187200
+1999-09-24,43.328125,46.250000,43.328125,45.828125,45.828125,56219600
+1999-09-27,46.500000,46.843750,44.578125,45.343750,45.343750,38259200
+1999-09-28,45.312500,46.468750,43.812500,46.171875,46.171875,32783600
+1999-09-29,45.500000,46.750000,44.671875,44.828125,44.828125,26710400
+1999-09-30,44.906250,45.359375,43.687500,44.875000,44.875000,23179600
+1999-10-01,44.625000,45.000000,43.156250,43.859375,43.859375,24662400
+1999-10-04,44.296875,44.625000,41.656250,42.796875,42.796875,34314400
+1999-10-05,43.054676,44.453125,41.937500,43.328125,43.328125,52034800
+1999-10-06,44.000000,44.234375,42.890625,43.937500,43.937500,35948400
+1999-10-07,46.171875,48.265625,45.500000,47.562500,47.562500,99988000
+1999-10-08,47.000000,48.093750,46.265625,48.031250,48.031250,37374800
+1999-10-11,46.750000,47.000000,45.000000,45.343750,45.343750,70550400
+1999-10-12,45.468750,45.484375,43.000000,43.468750,43.468750,45610000
+1999-10-13,43.296875,44.250000,41.812500,41.890625,41.890625,45434800
+1999-10-14,42.484375,43.484375,41.843750,43.343750,43.343750,42182000
+1999-10-15,41.750000,43.187500,41.328125,42.390625,42.390625,44574800
+1999-10-18,42.421875,43.187500,41.125000,42.593750,42.593750,33723200
+1999-10-19,43.625000,44.187500,43.406250,43.718750,43.718750,35864000
+1999-10-20,44.187500,45.125000,43.343750,45.035149,45.035149,29566000
+1999-10-21,44.218750,45.718750,44.062500,45.484375,45.484375,38491600
+1999-10-22,45.562500,45.953125,44.312500,44.531250,44.531250,20509200
+1999-10-25,44.148426,45.062500,44.062500,44.687500,44.687500,15003200
+1999-10-26,44.812500,45.031250,43.500000,44.796875,44.796875,12201600
+1999-10-27,44.375000,44.406250,43.000000,43.546875,43.546875,14534800
+1999-10-28,43.515625,44.875000,43.187500,43.750000,43.750000,29123600
+1999-10-29,44.625000,45.000000,44.250000,44.765625,44.765625,29416400
+1999-11-01,44.875000,45.750000,44.500000,45.171875,45.171875,22136000
+1999-11-02,45.250000,45.375000,44.218750,44.500000,44.500000,16212000
+1999-11-03,44.859375,45.593750,44.656250,45.156250,45.156250,18202400
+1999-11-04,45.765625,46.375000,45.328125,45.531250,45.531250,22840400
+1999-11-05,46.531250,46.625000,45.750000,45.859375,45.859375,19503200
+1999-11-08,45.656250,49.906250,45.468750,49.296875,49.296875,39462400
+1999-11-09,49.812500,49.875000,48.062500,48.640625,48.640625,29762000
+1999-11-10,48.343750,50.593750,48.312500,49.421875,49.421875,26834000
+1999-11-11,49.625000,50.750000,48.062500,48.281250,48.281250,15894400
+1999-11-12,49.000000,49.718750,47.562500,49.234375,49.234375,17907200
+1999-11-15,49.000000,51.875000,48.843750,51.250000,51.250000,23674800
+1999-11-16,51.421875,53.234375,50.921875,53.140625,53.140625,23657200
+1999-11-17,52.765625,53.000000,51.218750,51.546875,51.546875,16416800
+1999-11-18,51.656250,53.875000,50.750000,53.468750,53.468750,16049600
+1999-11-19,53.484375,54.796875,52.500000,54.687500,54.687500,17340400
+1999-11-22,54.875000,57.546875,54.500000,56.703125,56.703125,22806400
+1999-11-23,56.500000,57.312500,54.500000,55.296875,55.296875,25955600
+1999-11-24,56.562500,58.250000,56.312500,57.750000,57.750000,22665200
+1999-11-26,58.250000,58.812500,56.343750,56.718750,56.718750,8035600
+1999-11-29,57.312500,58.625000,56.218750,56.531250,56.531250,18530400
+1999-11-30,55.859375,55.906250,52.625000,53.187500,53.187500,24242400
+1999-12-01,57.500000,58.500000,56.234375,57.218750,57.218750,52774000
+1999-12-02,57.593750,62.437500,56.937500,61.453125,61.453125,39232400
+1999-12-03,62.496075,64.687500,62.234375,63.250000,63.250000,40032400
+1999-12-06,63.250000,70.500000,62.671875,70.203125,70.203125,64394800
+1999-12-07,74.000000,88.250000,71.531250,87.000000,87.000000,265342000
+1999-12-08,81.000000,82.328125,77.750000,79.906250,79.906250,99627600
+1999-12-09,79.968750,85.312500,78.015625,85.000000,85.000000,45672000
+1999-12-10,86.687500,89.375000,83.562500,88.375000,88.375000,38182800
+1999-12-13,87.003899,89.062500,86.125000,87.765625,87.765625,22786400
+1999-12-14,87.062500,87.625000,83.250000,83.281250,83.281250,28800000
+1999-12-15,81.843750,83.687500,78.875000,81.875000,81.875000,33132400
+1999-12-16,83.125000,85.468750,83.093750,85.250000,85.250000,19881200
+1999-12-17,86.187500,88.031250,84.250000,87.500000,87.500000,20652000
+1999-12-20,87.000000,92.468750,86.500000,92.375000,92.375000,27528400
+1999-12-21,91.906250,102.078125,91.203125,101.390625,101.390625,40430400
+1999-12-22,101.437500,105.296875,98.687500,104.828125,104.828125,34557200
+1999-12-23,104.375000,106.562500,100.000000,100.656250,100.656250,18468400
+1999-12-27,98.437500,107.015625,94.468750,103.750000,103.750000,38158000
+1999-12-28,102.500000,105.000000,97.500000,97.562500,97.562500,20896400
+1999-12-29,99.109375,102.500000,98.500000,100.921875,100.921875,11763200
+1999-12-30,105.437500,112.000000,101.687500,104.015625,104.015625,24972400
+1999-12-31,105.109375,110.375000,102.515625,108.171875,108.171875,10116400
+2000-01-03,110.730453,119.250000,107.375000,118.750000,118.750000,38469600
+2000-01-04,116.125000,125.031250,110.500000,110.750000,110.750000,69868800
+2000-01-05,107.625000,107.781250,100.500000,102.625000,102.625000,83194800
+2000-01-06,101.562500,103.250000,90.250000,92.046875,92.046875,71301200
+2000-01-07,91.687500,102.000000,90.750000,101.812500,101.812500,48999600
+2000-01-10,108.125000,112.812500,105.000000,109.015625,109.015625,61022400
+2000-01-11,105.968750,106.562500,98.000000,99.343750,99.343750,75761600
+2000-01-12,97.468750,98.500000,88.750000,89.390625,89.390625,74100000
+2000-01-13,91.625000,94.343750,84.500000,86.718750,86.718750,67762800
+2000-01-14,88.750000,90.750000,85.500000,88.250000,88.250000,49232800
+2000-01-18,85.437500,87.500000,83.750000,85.296875,85.296875,30706000
+2000-01-19,84.000000,91.843750,84.000000,91.000000,91.000000,31800000
+2000-01-20,92.265625,92.984375,87.250000,87.984375,87.984375,31349600
+2000-01-21,88.750000,90.000000,87.000000,87.984375,87.984375,17615200
+2000-01-24,88.484375,90.125000,81.000000,81.078125,81.078125,25329200
+2000-01-25,81.750000,86.750000,79.062500,86.390625,86.390625,34588000
+2000-01-26,85.125000,85.871078,81.937500,82.140625,82.140625,19404000
+2000-01-27,83.109375,84.890625,81.281250,84.343750,84.343750,19222000
+2000-01-28,83.390625,85.750000,77.406250,78.375000,78.375000,36656000
+2000-01-31,77.500000,80.515625,75.750000,80.515625,80.515625,35825200
+2000-02-01,79.859375,82.437500,77.703125,79.343750,79.343750,24690800
+2000-02-02,80.371078,84.250000,79.250000,82.000000,82.000000,26813200
+2000-02-03,83.714828,90.250000,83.500000,90.062500,90.062500,39057600
+2000-02-04,91.125000,93.125000,86.750000,88.375000,88.375000,33816000
+2000-02-07,88.511703,90.750000,86.750000,88.500000,88.500000,20864400
+2000-02-08,89.750000,94.953125,89.625000,93.281250,93.281250,29828800
+2000-02-09,92.500000,94.312500,90.031250,90.578125,90.578125,23918800
+2000-02-10,90.625000,91.500000,88.484375,91.250000,91.250000,17980400
+2000-02-11,90.968750,91.250000,85.437500,85.671875,85.671875,19158400
+2000-02-14,86.750000,86.875000,81.875000,82.875000,82.875000,15165600
+2000-02-15,83.187500,86.625000,78.000000,85.000000,85.000000,21323200
+2000-02-16,84.125000,85.000000,80.000000,80.781250,80.781250,12820400
+2000-02-17,82.937500,84.000000,80.531250,81.593750,81.593750,12434600
+2000-02-18,80.625000,81.593750,77.687500,78.062500,78.062500,14643800
+2000-02-22,78.437500,78.500000,74.468750,76.906250,76.906250,17691600
+2000-02-23,76.812500,85.000000,76.500000,83.101547,83.101547,21189800
+2000-02-24,83.242149,85.812500,79.625000,84.031250,84.031250,16506000
+2000-02-25,82.812500,85.156250,80.156250,82.593750,82.593750,11418000
+2000-02-28,80.742149,82.375000,76.062500,80.968750,80.968750,18420200
+2000-02-29,82.218750,84.937500,77.750000,79.843750,79.843750,13684600
+2000-03-01,78.750000,81.500000,77.500000,79.250000,79.250000,11652200
+2000-03-02,77.507797,79.500000,76.000000,77.468750,77.468750,12227400
+2000-03-03,78.000000,81.500000,75.500000,79.000000,79.000000,14972000
+2000-03-06,81.750000,88.500000,81.367149,85.781250,85.781250,25566400
+2000-03-07,87.437500,90.187500,84.000000,85.687500,85.687500,17345600
+2000-03-08,87.312500,90.500000,82.500000,88.500000,88.500000,17234400
+2000-03-09,87.625000,92.500000,86.000000,91.625000,91.625000,17405000
+2000-03-10,90.585899,91.500000,87.812500,89.031250,89.031250,10406600
+2000-03-13,84.062500,90.250000,84.000000,87.906250,87.906250,12033000
+2000-03-14,89.250000,91.765602,83.968750,84.375000,84.375000,15768600
+2000-03-15,84.375000,84.500000,77.562500,79.250000,79.250000,17643400
+2000-03-16,79.593750,86.500000,78.031250,85.093750,85.093750,17049200
+2000-03-17,84.562500,88.468750,84.500000,85.562500,85.562500,11223000
+2000-03-20,86.093750,87.687500,82.625000,86.007797,86.007797,10404600
+2000-03-21,86.500000,96.625000,84.281250,95.875000,95.875000,25232800
+2000-03-22,94.718750,102.812500,94.250000,98.593750,98.593750,31384600
+2000-03-23,96.687500,101.500000,95.250000,95.500000,95.500000,14708600
+2000-03-24,96.750000,100.500000,94.000000,97.000000,97.000000,14707800
+2000-03-27,97.812500,102.593750,97.500000,100.375000,100.375000,17279800
+2000-03-28,98.500000,100.375000,96.000000,97.500000,97.500000,12830200
+2000-03-29,96.718750,98.250000,87.000000,88.531250,88.531250,21540000
+2000-03-30,86.250000,93.531250,80.125000,84.750000,84.750000,31733800
+2000-03-31,87.625000,88.625000,80.250000,85.687500,85.687500,21684000
+2000-04-03,84.375000,86.500000,79.687500,80.062500,80.062500,19322800
+2000-04-04,82.500000,85.500000,66.375000,83.687500,83.687500,42528400
+2000-04-05,81.000000,84.937500,79.250000,82.781250,82.781250,27371800
+2000-04-06,80.968750,85.625000,75.343750,77.000000,77.000000,55990400
+2000-04-07,78.375000,80.000000,75.375000,75.562500,75.562500,24960400
+2000-04-10,76.437500,76.500000,70.500000,70.968750,70.968750,24860000
+2000-04-11,69.781250,71.250000,66.250000,66.750000,66.750000,28853600
+2000-04-12,68.312500,71.468750,65.250000,68.093750,68.093750,29695800
+2000-04-13,68.484352,74.062500,67.156250,68.062500,68.062500,28022800
+2000-04-14,65.125000,67.625000,55.500000,58.000000,58.000000,38466800
+2000-04-17,55.625000,61.468750,54.000000,57.187500,57.187500,44468600
+2000-04-18,58.468750,63.750000,57.750000,63.343750,63.343750,24866000
+2000-04-19,64.687500,67.250000,61.000000,62.937500,62.937500,18326000
+2000-04-20,63.250000,64.562500,59.750000,61.562500,61.562500,13100600
+2000-04-24,57.500000,59.562500,53.500000,56.937500,56.937500,21974800
+2000-04-25,59.375000,63.500000,59.375000,62.250000,62.250000,25156400
+2000-04-26,62.250000,63.437500,59.125000,59.562500,59.562500,16669600
+2000-04-27,57.250000,63.375000,56.500000,62.156250,62.156250,19964200
+2000-04-28,63.375000,65.937500,62.750000,65.125000,65.125000,14908800
+2000-05-01,67.375000,68.000000,63.468750,65.437500,65.437500,14252400
+2000-05-02,64.562500,65.750000,60.812500,61.281250,61.281250,13658200
+2000-05-03,60.156250,62.375000,58.031250,61.031250,61.031250,14383000
+2000-05-04,62.250000,63.500000,60.531250,62.093750,62.093750,13000000
+2000-05-05,61.000000,64.000000,61.000000,62.843750,62.843750,8375000
+2000-05-08,61.468750,62.750000,60.250000,60.375000,60.375000,7958800
+2000-05-09,60.750000,61.125000,57.500000,58.718750,58.718750,13656200
+2000-05-10,57.656250,61.250000,56.250000,59.445301,59.445301,18772600
+2000-05-11,60.906250,63.000000,59.750000,62.656250,62.656250,14962800
+2000-05-12,63.250000,65.718750,62.531250,62.843750,62.843750,14853400
+2000-05-15,62.562500,65.000000,60.320301,65.000000,65.000000,11592000
+2000-05-16,66.687500,69.125000,65.000000,67.812500,67.812500,20359400
+2000-05-17,66.250000,69.875000,65.937500,68.906250,68.906250,20842400
+2000-05-18,68.750000,68.781250,65.000000,66.000000,66.000000,15213200
+2000-05-19,65.687500,67.343750,60.000000,60.156250,60.156250,28261600
+2000-05-22,60.062500,64.000000,56.625000,63.125000,63.125000,31994400
+2000-05-23,62.625000,63.687500,59.000000,59.156250,59.156250,17904400
+2000-05-24,58.750000,62.000000,56.000000,61.375000,61.375000,22729200
+2000-05-25,60.750000,61.812500,56.500000,57.500000,57.500000,18788800
+2000-05-26,57.250000,58.062500,55.500000,56.031250,56.031250,12662200
+2000-05-30,57.843750,60.000000,57.250000,58.500000,58.500000,17734000
+2000-05-31,56.875000,58.656250,56.406250,56.531250,56.531250,28353800
+2000-06-01,58.093750,61.000000,57.812500,60.031250,60.031250,16573800
+2000-06-02,64.929649,67.437500,63.656250,67.250000,67.250000,22187400
+2000-06-05,65.437500,70.968750,65.250000,68.656250,68.656250,17966800
+2000-06-06,67.875000,71.093750,67.500000,67.531250,67.531250,13933800
+2000-06-07,69.250000,73.000000,67.750000,72.250000,72.250000,20657200
+2000-06-08,73.437500,73.875000,70.250000,72.000000,72.000000,17499800
+2000-06-09,73.281250,73.382797,71.125000,71.593750,71.593750,8727400
+2000-06-12,72.500000,72.750000,68.375000,68.718750,68.718750,11717000
+2000-06-13,68.343750,69.781250,65.625000,69.750000,69.750000,14961200
+2000-06-14,70.031250,70.750000,68.562500,69.750000,69.750000,8810400
+2000-06-15,69.125000,70.875000,67.406250,69.843750,69.843750,10597600
+2000-06-16,69.937500,70.625000,67.750000,70.468750,70.468750,13738800
+2000-06-19,70.000000,70.312500,67.968750,69.531250,69.531250,14533600
+2000-06-20,70.187500,75.000000,70.156250,74.000000,74.000000,20704400
+2000-06-21,71.156250,72.781250,70.250000,71.406250,71.406250,15826200
+2000-06-22,70.937500,71.062500,65.812500,65.843750,65.843750,16783000
+2000-06-23,64.625000,65.000000,61.125000,62.656250,62.656250,18099800
+2000-06-26,62.250000,62.437500,58.562500,59.656250,59.656250,23421800
+2000-06-27,59.437500,64.437500,59.375000,62.968750,62.968750,20571400
+2000-06-28,62.656250,63.812500,61.562500,61.781250,61.781250,13065200
+2000-06-29,61.281250,63.000000,59.375000,59.656250,59.656250,12176400
+2000-06-30,59.406250,62.250000,59.406250,61.937500,61.937500,9068000
+2000-07-03,61.250000,64.125000,61.062500,63.937500,63.937500,4773200
+2000-07-05,63.000000,63.937500,60.125000,60.406250,60.406250,8643000
+2000-07-06,60.687500,62.093750,59.250000,61.187500,61.187500,11706400
+2000-07-07,58.531250,59.250000,57.500000,58.250000,58.250000,25520400
+2000-07-10,56.906250,57.000000,54.859348,55.000000,55.000000,23104200
+2000-07-11,52.468750,53.281250,49.937500,52.750000,52.750000,61754000
+2000-07-12,60.250000,63.687500,58.437500,62.468750,62.468750,74122200
+2000-07-13,62.781250,63.562500,60.757801,61.281250,61.281250,20465600
+2000-07-14,62.312500,64.125000,61.250000,64.000000,64.000000,18338800
+2000-07-17,63.375000,66.750000,62.531250,65.812500,65.812500,15484200
+2000-07-18,64.687500,66.687500,63.562500,64.968750,64.968750,15129400
+2000-07-19,65.031250,69.000000,65.000000,67.000000,67.000000,20859200
+2000-07-20,67.000000,71.343750,66.843750,69.906250,69.906250,19580200
+2000-07-21,69.062500,70.375000,68.781250,69.156250,69.156250,10598400
+2000-07-24,68.437500,69.375000,66.125000,66.281250,66.281250,12922000
+2000-07-25,67.031250,69.687500,65.187500,69.000000,69.000000,12744800
+2000-07-26,68.156250,69.625000,66.843750,67.968750,67.968750,11078600
+2000-07-27,67.093750,68.312500,65.656250,67.031250,67.031250,11889800
+2000-07-28,67.343750,68.375000,63.031250,63.375000,63.375000,14022600
+2000-07-31,63.093750,64.875000,61.375000,64.343750,64.343750,11073200
+2000-08-01,64.250000,65.000000,63.000000,63.718750,63.718750,8777800
+2000-08-02,63.343750,66.531250,63.125000,63.562500,63.562500,9287400
+2000-08-03,62.437500,65.781250,61.750000,65.593750,65.593750,12216200
+2000-08-04,66.375000,68.437500,65.625000,66.968750,66.968750,10833600
+2000-08-07,66.734352,68.875000,65.375000,68.250000,68.250000,9502600
+2000-08-08,67.593750,69.000000,66.531250,67.062500,67.062500,8953400
+2000-08-09,68.187500,68.750000,66.250000,66.343750,66.343750,8145800
+2000-08-10,66.281250,66.906250,64.156250,64.656250,64.656250,6857000
+2000-08-11,64.125000,64.875000,62.687500,64.312500,64.312500,7436000
+2000-08-14,64.625000,66.875000,64.093750,66.187500,66.187500,8142800
+2000-08-15,65.593750,67.625000,65.562500,66.156250,66.156250,6694400
+2000-08-16,67.250000,69.000000,66.750000,67.000000,67.000000,11161800
+2000-08-17,66.656250,67.062500,65.437500,65.562500,65.562500,11038200
+2000-08-18,65.187500,65.687500,62.500000,62.593750,62.593750,14911600
+2000-08-21,62.343750,65.281250,61.625000,65.218750,65.218750,15705600
+2000-08-22,64.500000,65.000000,63.156250,63.750000,63.750000,18488000
+2000-08-23,62.875000,67.187500,62.468750,66.906250,66.906250,14610600
+2000-08-24,66.687500,70.000000,66.062500,69.906250,69.906250,19643800
+2000-08-25,69.406250,69.843750,66.437500,67.125000,67.125000,13895600
+2000-08-28,64.250000,65.750000,60.312500,61.031250,61.031250,39080600
+2000-08-29,60.367149,63.375000,60.000000,60.500000,60.500000,27184600
+2000-08-30,60.843750,62.250000,60.257801,61.625000,61.625000,15051800
+2000-08-31,61.812500,62.000000,60.375000,60.750000,60.750000,11091400
+2000-09-01,58.937500,58.968750,55.062500,56.968750,56.968750,35473000
+2000-09-05,55.937500,59.625000,55.187500,58.562500,58.562500,27535600
+2000-09-06,58.687500,58.875000,56.000000,56.031250,56.031250,19088600
+2000-09-07,55.281250,57.375000,53.000000,53.468750,53.468750,35515800
+2000-09-08,53.593750,54.687500,49.875000,52.062500,52.062500,36988200
+2000-09-11,51.625000,54.687500,51.437500,53.156250,53.156250,17564200
+2000-09-12,54.406250,55.117149,52.500000,53.500000,53.500000,12909600
+2000-09-13,52.781250,54.093750,52.250000,53.187500,53.187500,11120400
+2000-09-14,53.906250,54.687500,53.000000,53.468750,53.468750,11057000
+2000-09-15,53.500000,53.750000,52.187500,52.937500,52.937500,13341000
+2000-09-18,52.093750,53.750000,51.187500,52.531250,52.531250,11642800
+2000-09-19,52.750000,54.125000,52.562500,54.031250,54.031250,9642600
+2000-09-20,54.625000,56.218750,53.812500,54.843750,54.843750,16960800
+2000-09-21,54.429649,56.062500,54.000000,54.062500,54.062500,8599200
+2000-09-22,51.937500,56.000000,51.937500,55.718750,55.718750,12025600
+2000-09-25,55.171848,56.187500,52.531250,52.750000,52.750000,10145800
+2000-09-26,53.000000,53.031250,50.250000,51.218750,51.218750,14132200
+2000-09-27,51.375000,51.375000,44.000000,45.187500,45.187500,59994600
+2000-09-28,45.687500,48.500000,44.968750,47.843750,47.843750,27555400
+2000-09-29,48.562500,48.625000,45.250000,45.500000,45.500000,13879800
+2000-10-02,45.781250,45.937500,42.062500,43.031250,43.031250,25121600
+2000-10-03,43.750000,45.375000,41.312500,42.000000,42.000000,25678000
+2000-10-04,42.218750,44.375000,41.250000,43.968750,43.968750,18776000
+2000-10-05,44.250000,45.312500,41.750000,42.343750,42.343750,19689600
+2000-10-06,42.750000,43.000000,39.718750,40.625000,40.625000,23314400
+2000-10-09,40.781250,43.750000,37.750000,42.875000,42.875000,25993800
+2000-10-10,43.687500,44.375000,40.937500,41.343750,41.343750,38555200
+2000-10-11,36.343750,36.781250,32.500000,32.687500,32.687500,92244000
+2000-10-12,33.343750,33.375000,27.718750,28.312500,28.312500,63441200
+2000-10-13,27.593750,30.187500,27.375000,30.000000,30.000000,56348600
+2000-10-16,30.375000,30.812500,27.531250,27.625000,27.625000,31040200
+2000-10-17,27.968750,28.062500,23.718750,24.468750,24.468750,58899000
+2000-10-18,23.218750,27.125000,22.531250,26.375000,26.375000,59887600
+2000-10-19,28.687500,30.062500,26.843750,29.781250,29.781250,34329800
+2000-10-20,29.687500,31.875000,28.343750,29.500000,29.500000,25588200
+2000-10-23,30.125000,31.046850,29.531250,29.812500,29.812500,15772600
+2000-10-24,30.718750,32.125000,29.000000,29.312500,29.312500,23606200
+2000-10-25,30.437500,30.898399,27.046850,27.781250,27.781250,20160200
+2000-10-26,28.375000,28.500000,25.437500,28.000000,28.000000,19796600
+2000-10-27,28.562500,29.218750,26.593750,27.625000,27.625000,14792400
+2000-10-30,26.906250,27.812500,25.500000,26.312500,26.312500,16900200
+2000-10-31,26.843750,30.000000,26.250000,29.312500,29.312500,23011600
+2000-11-01,28.890600,33.500000,28.500000,32.179649,32.179649,34524000
+2000-11-02,33.250000,34.625000,32.125000,33.718750,33.718750,29210800
+2000-11-03,34.687500,35.281250,33.312500,34.375000,34.375000,20381800
+2000-11-06,35.125000,35.218750,32.687500,32.812500,32.812500,14251200
+2000-11-07,32.968750,34.562500,31.812500,34.250000,34.250000,13889800
+2000-11-08,34.625000,35.312500,32.468750,32.500000,32.500000,16011400
+2000-11-09,30.429649,31.437500,28.250000,29.406250,29.406250,26721000
+2000-11-10,28.906250,30.875000,28.062500,28.218750,28.218750,19196200
+2000-11-13,27.406250,29.562500,26.000000,27.656250,27.656250,19343200
+2000-11-14,28.843750,29.750000,27.750000,29.718750,29.718750,13959400
+2000-11-15,29.125000,30.000000,27.375000,28.562500,28.562500,16191200
+2000-11-16,27.500000,28.250000,26.312500,26.468750,26.468750,13573000
+2000-11-17,26.101549,27.750000,25.000000,25.625000,25.625000,21516400
+2000-11-20,25.187500,25.687500,23.937500,24.437500,24.437500,18448400
+2000-11-21,23.500000,24.000000,20.281250,20.843750,20.843750,49950200
+2000-11-22,20.187500,21.500000,19.031250,19.093750,19.093750,43183200
+2000-11-24,20.125000,21.125000,19.687500,20.437500,20.437500,19702400
+2000-11-27,21.867149,22.500000,20.000000,20.062500,20.062500,24838400
+2000-11-28,19.968750,20.250000,17.875000,18.484350,18.484350,29390800
+2000-11-29,18.570299,19.625000,17.843750,19.531250,19.531250,35039400
+2000-11-30,18.796850,19.812500,17.593750,19.812500,19.812500,33938200
+2000-12-01,19.406250,20.562500,18.187500,19.468750,19.468750,40172600
+2000-12-04,19.218750,19.656250,18.093750,18.968750,18.968750,29997600
+2000-12-05,19.843750,22.000000,19.656250,21.937500,21.937500,30714800
+2000-12-06,20.812500,21.468750,18.562500,18.750000,18.750000,32559800
+2000-12-07,18.031250,18.109350,15.750000,17.468750,17.468750,55136200
+2000-12-08,18.562500,18.562500,16.062500,17.468750,17.468750,49184000
+2000-12-11,16.812500,18.531250,15.312500,16.937500,16.937500,71038800
+2000-12-12,16.625000,19.750000,16.468750,17.906250,17.906250,79275800
+2000-12-13,19.156250,19.312500,17.125000,17.437500,17.437500,33640400
+2000-12-14,17.656250,17.953100,15.968750,16.000000,16.000000,20899800
+2000-12-15,16.000000,17.000000,15.531250,16.500000,16.500000,40448000
+2000-12-18,16.937500,17.000000,15.125000,16.000000,16.000000,31697600
+2000-12-19,15.281250,15.984350,14.000000,14.000000,14.000000,36131600
+2000-12-20,12.906250,14.187500,12.750000,13.968750,13.968750,44862800
+2000-12-21,13.375000,14.125000,12.531250,12.812500,12.812500,27794400
+2000-12-22,13.218750,14.937500,13.031250,14.781250,14.781250,28347400
+2000-12-26,16.000000,17.000000,15.062500,15.593750,15.593750,37536200
+2000-12-27,15.500000,15.750000,14.562500,14.875000,14.875000,22045400
+2000-12-28,14.718750,15.875000,14.562500,15.500000,15.500000,24374600
+2000-12-29,15.156250,15.593750,14.781250,15.031250,15.031250,20893400
+2001-01-02,15.156250,15.187500,13.750000,14.093750,14.093750,21939200
+2001-01-03,13.875000,16.281250,12.992150,15.468750,15.468750,49936600
+2001-01-04,14.929650,16.093750,14.718750,14.781250,14.781250,35051800
+2001-01-05,14.687500,15.687500,13.937500,14.250000,14.250000,26867400
+2001-01-08,13.687500,13.750000,12.687500,13.593750,13.593750,26165200
+2001-01-09,13.281250,15.281250,13.000000,15.062500,15.062500,43097200
+2001-01-10,14.656250,15.625000,13.937500,15.250000,15.250000,54304200
+2001-01-11,12.210900,13.312500,12.062500,12.937500,12.937500,132926800
+2001-01-12,13.031250,13.437500,12.531250,13.281250,13.281250,50575600
+2001-01-16,13.500000,14.218750,13.312500,13.687500,13.687500,32059000
+2001-01-17,14.312500,15.875000,13.968750,15.125000,15.125000,66939000
+2001-01-18,15.500000,17.375000,14.843750,17.218750,17.218750,57925400
+2001-01-19,18.000000,18.031250,16.281250,16.906250,16.906250,40979800
+2001-01-22,16.656250,17.875000,16.281250,17.343750,17.343750,25512600
+2001-01-23,17.218750,19.500000,17.093750,19.476549,19.476549,34783200
+2001-01-24,19.156250,21.687500,19.000000,21.437500,21.437500,57294800
+2001-01-25,20.937500,21.406250,19.281250,19.593750,19.593750,44249200
+2001-01-26,18.812500,19.312500,18.062500,18.843750,18.843750,24462600
+2001-01-29,18.875000,20.187500,18.875000,19.937500,19.937500,18819000
+2001-01-30,20.562500,20.875000,18.875000,19.843750,19.843750,18776000
+2001-01-31,19.906250,20.531250,18.500000,18.656250,18.656250,22458600
+2001-02-01,18.750000,19.093750,17.531250,18.031250,18.031250,20113200
+2001-02-02,18.250000,18.312500,16.437500,16.500000,16.500000,21816200
+2001-02-05,16.343750,17.992149,16.031250,17.531250,17.531250,19448400
+2001-02-06,17.593750,18.250000,17.062500,18.187500,18.187500,20752000
+2001-02-07,17.562500,17.843750,16.312500,16.718750,16.718750,19541600
+2001-02-08,16.843750,16.937500,14.937500,15.093750,15.093750,28289800
+2001-02-09,15.093750,15.250000,13.875000,13.968750,13.968750,23027200
+2001-02-12,14.156250,15.000000,13.843750,14.250000,14.250000,18094400
+2001-02-13,14.468750,14.875000,13.500000,13.562500,13.562500,21768800
+2001-02-14,13.718750,14.468750,12.875000,14.250000,14.250000,22815200
+2001-02-15,14.500000,16.250000,14.500000,15.656250,15.656250,40358600
+2001-02-16,14.656250,15.000000,13.875000,14.093750,14.093750,19290600
+2001-02-20,14.468750,14.937500,13.250000,13.281250,13.281250,26573400
+2001-02-21,13.093750,14.125000,12.937500,13.062500,13.062500,23493200
+2001-02-22,13.250000,13.875000,11.812500,12.000000,12.000000,46159600
+2001-02-23,12.093750,12.750000,11.437500,12.718750,12.718750,28155400
+2001-02-26,12.937500,12.968750,11.718750,12.875000,12.875000,24700600
+2001-02-27,12.625000,12.812500,11.687500,11.718750,11.718750,19961600
+2001-02-28,11.843750,12.562500,11.531250,11.906250,11.906250,20347000
+2001-03-01,11.781250,12.218750,11.093750,12.218750,12.218750,21860200
+2001-03-02,11.460900,11.875000,10.812500,10.843750,10.843750,21483200
+2001-03-05,11.250000,11.437500,10.843750,11.093750,11.093750,17513000
+2001-03-06,11.750000,12.218750,11.156250,11.187500,11.187500,20773600
+2001-03-07,10.984350,11.000000,10.406250,10.468750,10.468750,10498800
+2001-03-08,8.531250,8.875000,8.125000,8.843750,8.843750,118728200
+2001-03-09,8.593750,8.656250,8.218750,8.500000,8.500000,28098800
+2001-03-12,8.125000,8.750000,8.054650,8.187500,8.187500,32844000
+2001-03-13,8.375000,8.601550,7.812500,8.031250,8.031250,29766600
+2001-03-14,7.687500,8.000000,7.468750,7.656250,7.656250,21191000
+2001-03-15,7.937500,8.062500,7.500000,7.500000,7.500000,16375400
+2001-03-16,7.312500,7.531250,6.750000,6.781250,6.781250,24668000
+2001-03-19,7.031250,7.562500,6.843750,7.468750,7.468750,17516200
+2001-03-20,7.625000,7.812500,6.875000,6.968750,6.968750,23528400
+2001-03-21,6.968750,7.250000,6.750000,6.843750,6.843750,15176000
+2001-03-22,7.031250,7.468750,6.765600,7.437500,7.437500,20599000
+2001-03-23,7.687500,7.789050,6.968750,7.218750,7.218750,18004600
+2001-03-26,7.562500,7.562500,7.078100,7.093750,7.093750,12504000
+2001-03-27,7.250000,7.875000,7.125000,7.781250,7.781250,21399000
+2001-03-28,7.687500,7.781250,7.250000,7.468750,7.468750,18186800
+2001-03-29,7.437500,7.500000,7.125000,7.500000,7.500000,17917800
+2001-03-30,7.500000,8.218750,7.187500,7.875000,7.875000,20178000
+2001-04-02,7.687500,7.875000,6.718750,7.000000,7.000000,19148200
+2001-04-03,6.781250,6.843750,5.687500,5.687500,5.687500,29801200
+2001-04-04,5.937500,6.656250,5.875000,6.218750,6.218750,30154800
+2001-04-05,7.531250,7.937500,7.312500,7.625000,7.625000,51246000
+2001-04-06,7.625000,7.906250,7.125000,7.406250,7.406250,30974000
+2001-04-09,7.910000,8.045000,7.475000,7.820000,7.820000,18480400
+2001-04-10,8.020000,8.460000,7.575000,8.010000,8.010000,39976000
+2001-04-11,8.500000,8.625000,7.600000,7.930000,7.930000,37044200
+2001-04-12,7.940000,8.500000,7.575000,8.480000,8.480000,34184400
+2001-04-16,8.260000,9.275000,8.100000,8.810000,8.810000,34724200
+2001-04-17,8.660000,8.900000,8.300000,8.655000,8.655000,35402800
+2001-04-18,9.205000,10.045000,8.995000,9.310000,9.310000,37386800
+2001-04-19,9.495000,10.075000,9.425000,9.980000,9.980000,26405400
+2001-04-20,10.100000,10.490000,9.610000,9.925000,9.925000,25914000
+2001-04-23,9.555000,9.585000,8.935000,8.980000,8.980000,20566200
+2001-04-24,9.125000,9.550000,8.875000,9.005000,9.005000,20524000
+2001-04-25,8.925000,9.370000,8.770000,9.340000,9.340000,14547200
+2001-04-26,9.475000,9.875000,9.060000,9.130000,9.130000,14672000
+2001-04-27,9.555000,9.925000,9.380000,9.750000,9.750000,15259400
+2001-04-30,10.130000,10.525000,9.925000,10.090000,10.090000,21019200
+2001-05-01,10.055000,11.200000,10.000000,11.155000,11.155000,20895600
+2001-05-02,11.385000,11.850000,10.560000,11.460000,11.460000,35659200
+2001-05-03,10.905000,10.985000,10.165000,10.415000,10.415000,19632800
+2001-05-04,9.935000,10.240000,9.675000,10.065000,10.065000,24910200
+2001-05-07,10.010000,10.135000,9.780000,9.990000,9.990000,13814200
+2001-05-08,10.180000,10.190000,9.575000,9.870000,9.870000,15375200
+2001-05-09,9.620000,9.620000,9.200000,9.430000,9.430000,17152000
+2001-05-10,9.660000,9.680000,9.005000,9.115000,9.115000,12491400
+2001-05-11,9.120000,9.215000,8.750000,8.895000,8.895000,9188200
+2001-05-14,8.900000,8.915000,8.475000,8.550000,8.550000,9832800
+2001-05-15,8.650000,9.525000,8.500000,9.030000,9.030000,16877400
+2001-05-16,8.910000,9.935000,8.750000,9.690000,9.690000,19513600
+2001-05-17,9.745000,10.160000,9.690000,9.925000,9.925000,18521800
+2001-05-18,9.780000,10.020000,9.450000,9.680000,9.680000,10363200
+2001-05-21,9.700000,10.750000,9.600000,10.750000,10.750000,23925600
+2001-05-22,11.075000,11.535000,10.750000,11.065000,11.065000,30289800
+2001-05-23,10.935000,10.940000,10.200000,10.220000,10.220000,15063000
+2001-05-24,10.200000,10.775000,9.940000,10.765000,10.765000,17315000
+2001-05-25,10.660000,10.680000,10.260000,10.460000,10.460000,7707000
+2001-05-29,10.425000,10.425000,9.310000,9.395000,9.395000,15425400
+2001-05-30,9.185000,9.520000,8.675000,8.835000,8.835000,16173200
+2001-05-31,8.965000,9.800000,8.925000,9.055000,9.055000,18587600
+2001-06-01,9.295000,10.075000,8.950000,9.730000,9.730000,17945200
+2001-06-04,10.230000,10.250000,9.765000,9.890000,9.890000,24160400
+2001-06-05,9.850000,10.050000,9.680000,10.000000,10.000000,14149800
+2001-06-06,9.945000,10.410000,9.800000,9.840000,9.840000,16235000
+2001-06-07,9.650000,9.715000,9.250000,9.710000,9.710000,15290400
+2001-06-08,9.695000,9.720000,9.225000,9.275000,9.275000,11039600
+2001-06-11,9.120000,9.270000,8.740000,8.930000,8.930000,13595800
+2001-06-12,8.750000,9.260000,8.500000,9.055000,9.055000,15636800
+2001-06-13,9.165000,9.195000,8.540000,8.575000,8.575000,12258000
+2001-06-14,8.530000,8.740000,8.025000,8.235000,8.235000,16570400
+2001-06-15,8.075000,8.375000,7.860000,8.005000,8.005000,17234800
+2001-06-18,8.255000,8.320000,7.640000,7.655000,7.655000,11646000
+2001-06-19,8.190000,8.255000,7.620000,7.780000,7.780000,19567800
+2001-06-20,7.655000,9.255000,7.650000,9.245000,9.245000,21971600
+2001-06-21,9.090000,9.250000,8.610000,8.900000,8.900000,21789600
+2001-06-22,9.020000,9.105000,8.600000,8.655000,8.655000,12910400
+2001-06-25,9.045000,9.985000,9.000000,9.885000,9.885000,33834000
+2001-06-26,9.525000,9.810000,9.155000,9.570000,9.570000,27588400
+2001-06-27,9.750000,9.820000,9.170000,9.365000,9.365000,21202000
+2001-06-28,9.605000,9.840000,9.560000,9.690000,9.690000,16157600
+2001-06-29,9.730000,10.000000,9.550000,9.995000,9.995000,11881000
+2001-07-02,9.830000,10.275000,9.730000,10.020000,10.020000,14062400
+2001-07-03,9.880000,10.075000,9.850000,9.905000,9.905000,7351400
+2001-07-05,10.000000,10.435000,9.480000,9.595000,9.595000,19023800
+2001-07-06,9.470000,9.500000,8.825000,8.940000,8.940000,19318200
+2001-07-09,9.075000,9.435000,9.010000,9.285000,9.285000,14335000
+2001-07-10,9.460000,9.510000,8.890000,8.915000,8.915000,12927200
+2001-07-11,8.470000,8.775000,7.655000,8.515000,8.515000,50231200
+2001-07-12,9.285000,9.310000,8.820000,9.310000,9.310000,31990000
+2001-07-13,9.085000,9.530000,8.875000,9.125000,9.125000,19426200
+2001-07-16,9.015000,9.595000,8.975000,9.005000,9.005000,23582200
+2001-07-17,8.920000,9.350000,8.770000,9.240000,9.240000,15734200
+2001-07-18,8.975000,9.125000,8.400000,8.515000,8.515000,20664000
+2001-07-19,8.785000,8.945000,8.375000,8.715000,8.715000,16326400
+2001-07-20,8.640000,9.025000,8.635000,8.970000,8.970000,17394400
+2001-07-23,9.115000,9.145000,8.710000,8.780000,8.780000,11828200
+2001-07-24,8.540000,8.885000,8.215000,8.485000,8.485000,11831600
+2001-07-25,8.495000,8.625000,8.235000,8.435000,8.435000,10177800
+2001-07-26,8.440000,8.850000,8.300000,8.740000,8.740000,11784000
+2001-07-27,8.710000,9.250000,8.600000,9.010000,9.010000,12615800
+2001-07-30,9.090000,9.195000,8.740000,8.900000,8.900000,8501600
+2001-07-31,8.975000,9.125000,8.750000,8.810000,8.810000,9468400
+2001-08-01,9.030000,9.295000,8.935000,9.145000,9.145000,14035200
+2001-08-02,9.345000,9.350000,9.000000,9.225000,9.225000,7531600
+2001-08-03,9.245000,9.255000,8.855000,8.935000,8.935000,7477600
+2001-08-06,8.875000,8.920000,8.630000,8.695000,8.695000,7260600
+2001-08-07,8.675000,8.910000,8.515000,8.650000,8.650000,7591400
+2001-08-08,8.615000,8.750000,8.220000,8.275000,8.275000,10008800
+2001-08-09,8.280000,8.285000,7.800000,8.140000,8.140000,16024400
+2001-08-10,8.045000,8.130000,7.625000,7.710000,7.710000,18642400
+2001-08-13,7.760000,7.900000,7.650000,7.820000,7.820000,10381800
+2001-08-14,7.945000,8.005000,7.370000,7.490000,7.490000,17311400
+2001-08-15,7.525000,7.540000,6.920000,7.130000,7.130000,21956200
+2001-08-16,6.980000,7.470000,6.975000,7.395000,7.395000,14791200
+2001-08-17,7.250000,7.310000,7.000000,7.025000,7.025000,9049600
+2001-08-20,7.020000,7.390000,6.875000,7.230000,7.230000,9762600
+2001-08-21,7.340000,7.345000,6.500000,6.505000,6.505000,12589800
+2001-08-22,6.720000,6.735000,6.375000,6.700000,6.700000,18209000
+2001-08-23,6.645000,6.925000,6.565000,6.630000,6.630000,15656400
+2001-08-24,6.690000,7.135000,6.600000,7.055000,7.055000,13311000
+2001-08-27,7.035000,7.035000,6.505000,6.710000,6.710000,15045400
+2001-08-28,6.760000,6.860000,6.500000,6.500000,6.500000,14270400
+2001-08-29,6.570000,6.670000,6.000000,6.070000,6.070000,21579600
+2001-08-30,6.000000,6.000000,5.510000,5.660000,5.660000,23788000
+2001-08-31,5.660000,5.950000,5.585000,5.930000,5.930000,15667000
+2001-09-04,5.980000,6.205000,5.740000,5.850000,5.850000,18605800
+2001-09-05,5.845000,5.845000,5.225000,5.320000,5.320000,24114600
+2001-09-06,5.515000,5.775000,5.285000,5.550000,5.550000,29971200
+2001-09-07,5.370000,5.580000,5.270000,5.375000,5.375000,17791800
+2001-09-10,5.365000,6.175000,5.355000,5.870000,5.870000,29562800
+2001-09-17,5.275000,5.660000,5.125000,5.440000,5.440000,34958200
+2001-09-18,5.400000,5.565000,5.015000,5.050000,5.050000,20893400
+2001-09-19,5.095000,5.200000,4.900000,5.035000,5.035000,24542000
+2001-09-20,4.975000,5.170000,4.905000,4.985000,4.985000,16103200
+2001-09-21,4.665000,4.700000,4.250000,4.340000,4.340000,25924800
+2001-09-24,4.545000,4.730000,4.410000,4.625000,4.625000,15538800
+2001-09-25,4.580000,5.020000,4.500000,4.640000,4.640000,23675000
+2001-09-26,4.675000,4.750000,4.050000,4.055000,4.055000,15748000
+2001-09-27,4.020000,4.625000,4.010000,4.555000,4.555000,29073200
+2001-09-28,4.580000,4.625000,4.300000,4.405000,4.405000,13111800
+2001-10-01,4.350000,4.600000,4.225000,4.545000,4.545000,14021600
+2001-10-02,4.510000,4.625000,4.445000,4.620000,4.620000,10246400
+2001-10-03,4.455000,5.000000,4.420000,4.955000,4.955000,23861000
+2001-10-04,5.085000,5.795000,4.840000,5.340000,5.340000,35863200
+2001-10-05,5.150000,5.300000,5.025000,5.175000,5.175000,12420400
+2001-10-08,5.025000,5.445000,4.955000,5.245000,5.245000,14124400
+2001-10-09,5.205000,5.300000,5.005000,5.080000,5.080000,12246400
+2001-10-10,5.040000,5.625000,5.005000,5.465000,5.465000,26617400
+2001-10-11,5.980000,6.340000,5.850000,6.250000,6.250000,58265400
+2001-10-12,6.105000,6.130000,5.730000,6.040000,6.040000,29939200
+2001-10-15,5.930000,6.195000,5.775000,6.035000,6.035000,11493000
+2001-10-16,6.095000,6.335000,6.005000,6.250000,6.250000,13847800
+2001-10-17,6.515000,6.590000,5.655000,5.680000,5.680000,23678200
+2001-10-18,5.745000,5.920000,5.540000,5.635000,5.635000,14633600
+2001-10-19,5.560000,5.730000,5.405000,5.685000,5.685000,13111600
+2001-10-22,5.700000,5.940000,5.535000,5.890000,5.890000,11827000
+2001-10-23,5.965000,6.145000,5.700000,5.790000,5.790000,20593400
+2001-10-24,5.890000,6.020000,5.625000,5.975000,5.975000,12465200
+2001-10-25,5.735000,6.160000,5.585000,6.125000,6.125000,20753600
+2001-10-26,6.070000,6.290000,5.865000,6.030000,6.030000,11832200
+2001-10-29,5.975000,6.075000,5.645000,5.650000,5.650000,14799000
+2001-10-30,5.520000,5.710000,5.310000,5.545000,5.545000,14171600
+2001-10-31,5.765000,5.845000,5.435000,5.440000,5.440000,11277200
+2001-11-01,5.535000,5.670000,5.335000,5.600000,5.600000,14626000
+2001-11-02,5.565000,5.625000,5.415000,5.480000,5.480000,10678000
+2001-11-05,5.630000,6.000000,5.590000,5.995000,5.995000,15136800
+2001-11-06,5.950000,6.575000,5.915000,6.495000,6.495000,23447200
+2001-11-07,6.400000,7.005000,6.400000,6.715000,6.715000,29029000
+2001-11-08,6.890000,7.140000,6.485000,6.560000,6.560000,22932000
+2001-11-09,6.610000,6.885000,6.485000,6.860000,6.860000,18362800
+2001-11-12,6.775000,6.885000,6.420000,6.850000,6.850000,15510000
+2001-11-13,7.130000,7.145000,6.900000,6.985000,6.985000,15337600
+2001-11-14,7.285000,7.690000,7.210000,7.605000,7.605000,29540000
+2001-11-15,7.445000,7.730000,7.275000,7.415000,7.415000,30830600
+2001-11-16,7.635000,8.000000,7.525000,7.735000,7.735000,31970800
+2001-11-19,8.020000,8.175000,7.810000,8.140000,8.140000,17486200
+2001-11-20,7.940000,8.000000,7.440000,7.445000,7.445000,26776200
+2001-11-21,7.490000,7.630000,7.110000,7.465000,7.465000,16417400
+2001-11-23,7.590000,7.890000,7.505000,7.865000,7.865000,9200200
+2001-11-26,8.175000,9.045000,8.100000,9.035000,9.035000,45330600
+2001-11-27,8.700000,8.970000,8.450000,8.700000,8.700000,43562200
+2001-11-28,8.520000,8.725000,8.050000,8.105000,8.105000,25570400
+2001-11-29,8.300000,8.350000,7.750000,8.350000,8.350000,33130200
+2001-11-30,8.350000,8.390000,7.680000,7.785000,7.785000,25159000
+2001-12-03,8.150000,8.175000,7.875000,7.915000,7.915000,22941800
+2001-12-04,8.145000,8.515000,8.005000,8.480000,8.480000,22457600
+2001-12-05,8.565000,8.800000,8.265000,8.530000,8.530000,40721000
+2001-12-06,8.770000,9.750000,8.635000,9.510000,9.510000,61513000
+2001-12-07,8.955000,9.115000,8.735000,8.835000,8.835000,32549200
+2001-12-10,8.815000,9.350000,8.800000,8.910000,8.910000,23105800
+2001-12-11,9.250000,9.500000,9.005000,9.210000,9.210000,29282400
+2001-12-12,9.515000,9.665000,9.325000,9.570000,9.570000,31213200
+2001-12-13,9.105000,9.155000,8.790000,8.790000,8.790000,22921200
+2001-12-14,9.020000,9.020000,8.270000,8.605000,8.605000,20105600
+2001-12-17,8.600000,9.035000,8.565000,8.930000,8.930000,15448400
+2001-12-18,9.170000,9.225000,8.980000,9.190000,9.190000,15585200
+2001-12-19,8.975000,9.150000,8.715000,8.855000,8.855000,13653200
+2001-12-20,8.800000,9.095000,8.075000,8.110000,8.110000,20588400
+2001-12-21,8.485000,8.640000,8.250000,8.460000,8.460000,23752600
+2001-12-24,8.445000,8.510000,8.275000,8.335000,8.335000,4194400
+2001-12-26,9.025000,9.135000,8.655000,8.755000,8.755000,25327400
+2001-12-27,8.975000,9.045000,8.770000,8.885000,8.885000,15643400
+2001-12-28,9.325000,9.440000,9.145000,9.150000,9.150000,25317400
+2001-12-31,9.255000,9.275000,8.800000,8.870000,8.870000,18827800
+2002-01-02,9.070000,9.345000,8.840000,9.315000,9.315000,21903600
+2002-01-03,9.350000,9.645000,9.270000,9.565000,9.565000,23668000
+2002-01-04,9.500000,9.905000,9.265000,9.450000,9.450000,24050200
+2002-01-07,9.350000,9.970000,9.325000,9.865000,9.865000,29516400
+2002-01-08,9.700000,9.865000,9.625000,9.765000,9.765000,19021200
+2002-01-09,9.900000,10.675000,9.885000,10.125000,10.125000,38134400
+2002-01-10,10.030000,10.355000,9.975000,10.245000,10.245000,21084800
+2002-01-11,10.260000,10.450000,10.010000,10.080000,10.080000,14488200
+2002-01-14,9.855000,9.960000,9.435000,9.505000,9.505000,21948400
+2002-01-15,9.610000,9.740000,9.410000,9.735000,9.735000,16099200
+2002-01-16,9.460000,9.540000,8.900000,8.935000,8.935000,39965800
+2002-01-17,9.685000,10.190000,9.625000,10.060000,10.060000,59843400
+2002-01-18,9.830000,9.990000,9.475000,9.600000,9.600000,35842800
+2002-01-22,9.950000,10.025000,9.200000,9.210000,9.210000,28990600
+2002-01-23,9.400000,9.425000,8.985000,9.220000,9.220000,21565200
+2002-01-24,9.465000,9.700000,9.010000,9.095000,9.095000,29277400
+2002-01-25,9.160000,9.425000,9.030000,9.340000,9.340000,20250600
+2002-01-28,9.415000,9.455000,9.200000,9.350000,9.350000,12314400
+2002-01-29,9.405000,9.405000,8.855000,9.090000,9.090000,20109600
+2002-01-30,9.095000,9.100000,8.090000,8.595000,8.595000,37318600
+2002-01-31,8.850000,8.900000,8.395000,8.620000,8.620000,15431600
+2002-02-01,8.630000,8.650000,8.175000,8.340000,8.340000,13860200
+2002-02-04,8.275000,8.300000,7.800000,7.875000,7.875000,17827400
+2002-02-05,7.780000,8.080000,7.615000,7.885000,7.885000,21340200
+2002-02-06,8.045000,8.050000,7.750000,7.945000,7.945000,25175200
+2002-02-07,7.830000,7.875000,7.475000,7.675000,7.675000,21492200
+2002-02-08,7.705000,8.360000,7.665000,8.325000,8.325000,18556800
+2002-02-11,8.200000,8.410000,8.060000,8.275000,8.275000,12847800
+2002-02-12,8.190000,8.265000,8.060000,8.165000,8.165000,9701200
+2002-02-13,8.340000,8.590000,8.205000,8.395000,8.395000,24922800
+2002-02-14,8.460000,8.675000,8.250000,8.285000,8.285000,13740600
+2002-02-15,8.350000,8.355000,7.745000,7.835000,7.835000,15085000
+2002-02-19,7.560000,7.575000,7.125000,7.220000,7.220000,24867000
+2002-02-20,7.370000,7.715000,7.005000,7.645000,7.645000,25165200
+2002-02-21,7.575000,7.675000,7.175000,7.220000,7.220000,20302000
+2002-02-22,7.150000,7.330000,6.705000,7.230000,7.230000,18192000
+2002-02-25,7.210000,7.625000,7.045000,7.500000,7.500000,19819800
+2002-02-26,7.555000,7.565000,7.080000,7.465000,7.465000,16967000
+2002-02-27,7.545000,7.690000,7.225000,7.275000,7.275000,16609200
+2002-02-28,7.315000,7.505000,7.125000,7.230000,7.230000,16732200
+2002-03-01,7.465000,8.345000,7.465000,8.305000,8.305000,33485400
+2002-03-04,8.565000,9.035000,8.475000,8.905000,8.905000,32436200
+2002-03-05,8.645000,9.130000,8.585000,9.095000,9.095000,28806400
+2002-03-06,8.925000,9.250000,8.815000,9.130000,9.130000,23403200
+2002-03-07,9.155000,9.250000,8.810000,8.970000,8.970000,16618600
+2002-03-08,9.220000,9.490000,9.025000,9.465000,9.465000,19056800
+2002-03-11,9.255000,10.270000,9.255000,10.250000,10.250000,34095200
+2002-03-12,9.675000,9.905000,9.450000,9.680000,9.680000,29150400
+2002-03-13,9.375000,9.800000,9.375000,9.610000,9.610000,16346600
+2002-03-14,9.520000,9.695000,9.450000,9.615000,9.615000,11820400
+2002-03-15,9.750000,9.800000,9.065000,9.360000,9.360000,26581200
+2002-03-18,9.370000,9.630000,9.330000,9.605000,9.605000,15079000
+2002-03-19,9.585000,9.725000,9.495000,9.545000,9.545000,10785200
+2002-03-20,9.335000,9.545000,9.080000,9.100000,9.100000,10253600
+2002-03-21,9.175000,9.375000,8.800000,9.295000,9.295000,20458800
+2002-03-22,9.210000,9.380000,9.090000,9.215000,9.215000,13243400
+2002-03-25,9.200000,9.440000,8.860000,8.915000,8.915000,10465600
+2002-03-26,8.810000,9.225000,8.785000,8.845000,8.845000,16236600
+2002-03-27,8.855000,8.975000,8.645000,8.925000,8.925000,11252400
+2002-03-28,9.015000,9.245000,8.935000,9.235000,9.235000,10132400
+2002-04-01,9.375000,9.425000,9.000000,9.340000,9.340000,12873600
+2002-04-02,9.220000,9.250000,8.925000,9.025000,9.025000,14504000
+2002-04-03,9.115000,9.140000,8.755000,8.910000,8.910000,14094000
+2002-04-04,8.905000,8.910000,8.550000,8.830000,8.830000,15151200
+2002-04-05,8.870000,9.240000,8.855000,9.085000,9.085000,18153400
+2002-04-08,8.800000,9.425000,8.675000,9.420000,9.420000,26425800
+2002-04-09,9.475000,9.575000,9.195000,9.230000,9.230000,21637800
+2002-04-10,9.350000,9.405000,8.750000,9.220000,9.220000,33023200
+2002-04-11,8.430000,8.435000,7.630000,7.725000,7.725000,68269000
+2002-04-12,7.910000,7.995000,7.750000,7.860000,7.860000,23181000
+2002-04-15,7.950000,8.035000,7.660000,7.705000,7.705000,18348600
+2002-04-16,7.765000,7.775000,7.525000,7.695000,7.695000,29637400
+2002-04-17,7.790000,7.950000,7.740000,7.945000,7.945000,22728800
+2002-04-18,7.885000,7.920000,7.500000,7.530000,7.530000,16957400
+2002-04-19,7.600000,7.625000,7.375000,7.380000,7.380000,18159800
+2002-04-22,7.365000,7.365000,6.940000,7.070000,7.070000,19980800
+2002-04-23,7.055000,7.140000,6.935000,7.085000,7.085000,14515400
+2002-04-24,7.340000,7.545000,7.250000,7.305000,7.305000,26954000
+2002-04-25,7.120000,7.385000,7.085000,7.175000,7.175000,16614200
+2002-04-26,7.455000,7.475000,7.175000,7.250000,7.250000,19087600
+2002-04-29,7.235000,7.350000,6.985000,7.105000,7.105000,15803200
+2002-04-30,7.110000,7.525000,7.080000,7.380000,7.380000,21189800
+2002-05-01,7.395000,7.925000,7.060000,7.820000,7.820000,26775600
+2002-05-02,7.595000,7.885000,7.400000,7.500000,7.500000,21428600
+2002-05-03,7.510000,7.550000,7.235000,7.385000,7.385000,12639200
+2002-05-06,7.320000,7.630000,7.195000,7.300000,7.300000,15049000
+2002-05-07,7.390000,7.525000,7.280000,7.370000,7.370000,12768800
+2002-05-08,7.615000,8.185000,7.550000,8.160000,8.160000,21358200
+2002-05-09,7.825000,8.325000,7.795000,8.185000,8.185000,22037600
+2002-05-10,8.100000,8.225000,7.700000,7.730000,7.730000,17620000
+2002-05-13,7.830000,8.115000,7.825000,7.990000,7.990000,14218400
+2002-05-14,8.345000,8.910000,8.325000,8.775000,8.775000,24921600
+2002-05-15,8.585000,8.990000,8.525000,8.890000,8.890000,21283600
+2002-05-16,8.830000,9.100000,8.775000,9.015000,9.015000,14107400
+2002-05-17,9.095000,9.225000,8.835000,9.000000,9.000000,12264200
+2002-05-20,8.855000,8.860000,8.445000,8.585000,8.585000,14262800
+2002-05-21,8.610000,8.635000,8.250000,8.365000,8.365000,9908600
+2002-05-22,8.295000,8.570000,7.965000,8.135000,8.135000,16974200
+2002-05-23,8.265000,8.565000,8.125000,8.545000,8.545000,14567800
+2002-05-24,8.435000,8.550000,8.250000,8.505000,8.505000,8892600
+2002-05-28,8.575000,8.580000,8.080000,8.275000,8.275000,9969600
+2002-05-29,8.245000,8.440000,8.115000,8.290000,8.290000,10859600
+2002-05-30,8.180000,8.330000,8.025000,8.210000,8.210000,9002800
+2002-05-31,8.315000,8.350000,7.975000,8.010000,8.010000,11485200
+2002-06-03,8.060000,8.200000,7.825000,7.840000,7.840000,12299800
+2002-06-04,7.755000,8.150000,7.575000,8.000000,8.000000,15346800
+2002-06-05,8.030000,8.045000,7.745000,8.005000,8.005000,11977400
+2002-06-06,7.985000,8.210000,7.855000,7.995000,7.995000,13621000
+2002-06-07,7.750000,8.115000,7.725000,7.930000,7.930000,15696600
+2002-06-10,7.935000,8.105000,7.775000,7.920000,7.920000,9751200
+2002-06-11,7.985000,8.195000,7.880000,7.930000,7.930000,10988400
+2002-06-12,7.815000,8.025000,7.540000,7.915000,7.915000,17325200
+2002-06-13,7.815000,8.100000,7.750000,7.985000,7.985000,10379800
+2002-06-14,7.750000,8.035000,7.510000,7.980000,7.980000,13859800
+2002-06-17,7.955000,8.535000,7.885000,8.390000,8.390000,14372200
+2002-06-18,8.260000,8.525000,8.225000,8.325000,8.325000,11408600
+2002-06-19,8.230000,8.435000,8.005000,8.010000,8.010000,13765800
+2002-06-20,8.015000,8.110000,7.735000,7.825000,7.825000,14256800
+2002-06-21,7.530000,7.800000,7.450000,7.745000,7.745000,17888200
+2002-06-24,7.695000,7.700000,7.265000,7.540000,7.540000,19801800
+2002-06-25,7.600000,7.685000,6.735000,6.860000,6.860000,29930600
+2002-06-26,6.515000,7.350000,6.410000,7.090000,7.090000,27075400
+2002-06-27,7.215000,7.350000,6.620000,7.090000,7.090000,23792600
+2002-06-28,7.050000,7.435000,6.960000,7.380000,7.380000,13724200
+2002-07-01,7.380000,7.430000,6.775000,6.815000,6.815000,15985000
+2002-07-02,6.790000,6.795000,5.830000,5.940000,5.940000,34056000
+2002-07-03,5.975000,6.490000,5.935000,6.390000,6.390000,25270400
+2002-07-05,6.590000,6.825000,6.500000,6.810000,6.810000,9540600
+2002-07-08,6.650000,6.900000,6.425000,6.445000,6.445000,21260400
+2002-07-09,6.490000,6.560000,6.275000,6.350000,6.350000,18565400
+2002-07-10,6.460000,6.535000,6.030000,6.095000,6.095000,43756600
+2002-07-11,5.575000,6.580000,5.555000,6.460000,6.460000,80174600
+2002-07-12,6.395000,6.665000,6.310000,6.470000,6.470000,35516000
+2002-07-15,6.405000,6.835000,6.180000,6.530000,6.530000,39270800
+2002-07-16,6.430000,7.165000,6.410000,6.880000,6.880000,34376200
+2002-07-17,7.120000,7.400000,6.960000,7.130000,7.130000,31584000
+2002-07-18,7.035000,7.125000,6.765000,6.790000,6.790000,21366600
+2002-07-19,6.670000,6.740000,6.490000,6.685000,6.685000,19755600
+2002-07-22,6.580000,6.985000,6.420000,6.660000,6.660000,26279400
+2002-07-23,6.770000,6.845000,6.325000,6.330000,6.330000,24089400
+2002-07-24,6.150000,6.795000,5.950000,6.790000,6.790000,30755600
+2002-07-25,6.530000,6.570000,5.955000,6.080000,6.080000,39191600
+2002-07-26,6.235000,6.425000,6.095000,6.350000,6.350000,24620400
+2002-07-29,6.475000,6.635000,6.420000,6.595000,6.595000,17167200
+2002-07-30,6.460000,6.945000,6.435000,6.695000,6.695000,19163200
+2002-07-31,6.580000,6.740000,6.465000,6.585000,6.585000,14406800
+2002-08-01,6.530000,6.535000,6.055000,6.080000,6.080000,16597800
+2002-08-02,6.085000,6.090000,5.660000,5.790000,5.790000,17923400
+2002-08-05,5.795000,5.815000,5.375000,5.445000,5.445000,16354600
+2002-08-06,5.620000,5.970000,5.555000,5.750000,5.750000,15271000
+2002-08-07,6.005000,6.095000,5.375000,5.715000,5.715000,16859000
+2002-08-08,5.695000,6.050000,5.650000,5.980000,5.980000,13103000
+2002-08-09,5.875000,6.095000,5.815000,5.980000,5.980000,9686400
+2002-08-12,5.840000,5.990000,5.745000,5.985000,5.985000,9145000
+2002-08-13,5.945000,6.225000,5.580000,5.595000,5.595000,20229400
+2002-08-14,5.565000,5.985000,5.465000,5.855000,5.855000,19843800
+2002-08-15,5.950000,6.145000,5.880000,6.110000,6.110000,13778400
+2002-08-16,6.060000,6.135000,5.830000,6.050000,6.050000,14823000
+2002-08-19,6.025000,6.775000,6.020000,6.735000,6.735000,25111800
+2002-08-20,6.585000,6.730000,6.450000,6.545000,6.545000,16508200
+2002-08-21,6.675000,6.740000,6.350000,6.450000,6.450000,20940400
+2002-08-22,6.510000,6.550000,6.265000,6.400000,6.400000,21010800
+2002-08-23,6.375000,6.385000,5.900000,6.010000,6.010000,17538200
+2002-08-26,6.080000,6.085000,5.570000,5.655000,5.655000,22961600
+2002-08-27,5.765000,5.765000,5.280000,5.350000,5.350000,25004800
+2002-08-28,5.320000,5.325000,4.565000,4.565000,4.565000,55790200
+2002-08-29,4.870000,5.205000,4.860000,5.125000,5.125000,70994200
+2002-08-30,5.085000,5.225000,5.005000,5.145000,5.145000,23827400
+2002-09-03,5.020000,5.040000,4.805000,4.855000,4.855000,26393200
+2002-09-04,4.890000,4.975000,4.715000,4.885000,4.885000,26636600
+2002-09-05,4.815000,4.815000,4.570000,4.595000,4.595000,19218400
+2002-09-06,4.780000,5.010000,4.755000,4.970000,4.970000,17477400
+2002-09-09,4.815000,5.180000,4.760000,5.075000,5.075000,18977400
+2002-09-10,5.075000,5.340000,5.065000,5.230000,5.230000,19370400
+2002-09-11,5.215000,5.550000,5.215000,5.360000,5.360000,15065800
+2002-09-12,5.240000,5.310000,5.125000,5.175000,5.175000,20129400
+2002-09-13,5.100000,5.325000,5.015000,5.230000,5.230000,13731400
+2002-09-16,5.230000,5.295000,5.090000,5.090000,5.090000,9599200
+2002-09-17,5.325000,5.340000,5.000000,5.005000,5.005000,10153200
+2002-09-18,5.000000,5.060000,4.835000,5.000000,5.000000,9826200
+2002-09-19,4.780000,4.950000,4.750000,4.750000,4.750000,9647400
+2002-09-20,4.850000,4.885000,4.700000,4.875000,4.875000,12771200
+2002-09-23,4.790000,4.825000,4.500000,4.540000,4.540000,16616400
+2002-09-24,4.475000,4.730000,4.470000,4.500000,4.500000,18029000
+2002-09-25,4.625000,5.030000,4.525000,4.955000,4.955000,24466200
+2002-09-26,5.115000,5.355000,5.060000,5.295000,5.295000,36120400
+2002-09-27,5.100000,5.410000,5.075000,5.290000,5.290000,14591000
+2002-09-30,5.190000,5.190000,4.770000,4.785000,4.785000,21264200
+2002-10-01,4.950000,4.970000,4.660000,4.850000,4.850000,18278800
+2002-10-02,4.835000,5.140000,4.700000,4.740000,4.740000,17789000
+2002-10-03,4.780000,5.000000,4.650000,4.695000,4.695000,12065600
+2002-10-04,4.770000,4.785000,4.625000,4.670000,4.670000,11016800
+2002-10-07,4.625000,4.745000,4.505000,4.540000,4.540000,10617800
+2002-10-08,4.690000,4.790000,4.530000,4.750000,4.750000,16115000
+2002-10-09,4.720000,5.045000,4.640000,4.990000,4.990000,38622600
+2002-10-10,5.680000,6.150000,5.650000,6.135000,6.135000,125565800
+2002-10-11,6.125000,6.750000,6.125000,6.680000,6.680000,65590000
+2002-10-14,6.445000,7.350000,6.440000,7.130000,7.130000,65224200
+2002-10-15,7.490000,7.615000,7.070000,7.210000,7.210000,75204200
+2002-10-16,6.900000,7.415000,6.860000,7.340000,7.340000,45494600
+2002-10-17,7.370000,7.490000,6.955000,7.335000,7.335000,45500400
+2002-10-18,7.205000,7.525000,7.145000,7.515000,7.515000,30130400
+2002-10-21,7.305000,7.550000,7.125000,7.480000,7.480000,35637800
+2002-10-22,7.255000,7.455000,7.155000,7.425000,7.425000,29231800
+2002-10-23,7.280000,7.535000,7.175000,7.535000,7.535000,29811600
+2002-10-24,7.700000,7.795000,7.425000,7.530000,7.530000,35035000
+2002-10-25,7.425000,7.520000,7.350000,7.460000,7.460000,24087400
+2002-10-28,7.675000,7.675000,7.265000,7.330000,7.330000,20800000
+2002-10-29,7.255000,7.400000,7.110000,7.150000,7.150000,19701000
+2002-10-30,7.145000,7.530000,7.050000,7.490000,7.490000,18673200
+2002-10-31,7.510000,7.660000,7.355000,7.460000,7.460000,20530800
+2002-11-01,7.350000,7.615000,7.250000,7.575000,7.575000,19034000
+2002-11-04,7.755000,8.745000,7.750000,8.385000,8.385000,45498600
+2002-11-05,8.150000,8.545000,8.130000,8.515000,8.515000,24968000
+2002-11-06,8.545000,8.720000,8.310000,8.690000,8.690000,50040000
+2002-11-07,8.075000,8.090000,7.665000,7.800000,7.800000,45190000
+2002-11-08,7.740000,7.970000,7.680000,7.840000,7.840000,18175400
+2002-11-11,7.765000,7.850000,7.425000,7.460000,7.460000,15788200
+2002-11-12,7.545000,7.865000,7.420000,7.740000,7.740000,16587000
+2002-11-13,7.695000,7.950000,7.540000,7.720000,7.720000,21902200
+2002-11-14,7.980000,8.375000,7.925000,8.350000,8.350000,21356200
+2002-11-15,8.190000,8.755000,8.000000,8.725000,8.725000,29216000
+2002-11-18,8.700000,9.000000,8.695000,8.880000,8.880000,19682600
+2002-11-19,8.630000,8.795000,8.285000,8.375000,8.375000,21809200
+2002-11-20,8.585000,9.005000,8.425000,9.000000,9.000000,21584600
+2002-11-21,8.995000,9.400000,8.965000,9.155000,9.155000,27018400
+2002-11-22,9.350000,9.380000,9.055000,9.200000,9.200000,16801400
+2002-11-25,9.250000,9.300000,8.925000,9.195000,9.195000,15369200
+2002-11-26,9.210000,9.250000,8.950000,9.065000,9.065000,18048200
+2002-11-27,9.165000,9.295000,9.085000,9.195000,9.195000,12832400
+2002-11-29,9.245000,9.300000,9.045000,9.135000,9.135000,8669600
+2002-12-02,9.350000,9.485000,8.960000,9.020000,9.020000,15975200
+2002-12-03,8.680000,8.810000,8.610000,8.680000,8.680000,14968400
+2002-12-04,8.580000,8.625000,8.285000,8.370000,8.370000,21054800
+2002-12-05,8.530000,8.560000,8.250000,8.275000,8.275000,10059200
+2002-12-06,8.160000,8.470000,8.085000,8.370000,8.370000,9903400
+2002-12-09,8.300000,8.330000,7.855000,7.870000,7.870000,12543800
+2002-12-10,7.935000,8.345000,7.935000,8.135000,8.135000,16256400
+2002-12-11,8.150000,8.390000,8.045000,8.230000,8.230000,10198600
+2002-12-12,8.400000,8.925000,8.180000,8.840000,8.840000,25788000
+2002-12-13,8.700000,9.095000,8.640000,8.700000,8.700000,31478800
+2002-12-16,8.690000,8.800000,8.520000,8.650000,8.650000,18587400
+2002-12-17,8.550000,8.875000,8.545000,8.760000,8.760000,15719400
+2002-12-18,8.610000,8.675000,8.295000,8.400000,8.400000,13168600
+2002-12-19,8.285000,8.560000,8.050000,8.355000,8.355000,21200200
+2002-12-20,8.505000,8.575000,8.350000,8.540000,8.540000,18247400
+2002-12-23,8.400000,8.890000,8.285000,8.860000,8.860000,14434400
+2002-12-24,8.665000,8.900000,8.660000,8.685000,8.685000,6323400
+2002-12-26,8.660000,8.770000,8.425000,8.475000,8.475000,9446200
+2002-12-27,8.430000,8.690000,8.215000,8.290000,8.290000,9223400
+2002-12-30,8.225000,8.405000,8.090000,8.240000,8.240000,11204800
+2002-12-31,8.175000,8.310000,8.090000,8.175000,8.175000,8761000
+2003-01-02,8.295000,8.830000,8.250000,8.800000,8.800000,19640400
+2003-01-03,8.750000,9.175000,8.675000,9.050000,9.050000,15090600
+2003-01-06,8.925000,9.595000,8.890000,9.470000,9.470000,21209400
+2003-01-07,8.935000,9.650000,8.930000,9.575000,9.575000,28092600
+2003-01-08,9.435000,9.650000,9.280000,9.375000,9.375000,19244600
+2003-01-09,9.460000,9.745000,9.400000,9.720000,9.720000,15946400
+2003-01-10,9.400000,10.000000,9.400000,10.000000,10.000000,26122600
+2003-01-13,10.165000,10.195000,9.675000,9.835000,9.835000,27927600
+2003-01-14,9.780000,9.920000,9.650000,9.850000,9.850000,16060600
+2003-01-15,9.985000,10.090000,9.745000,9.790000,9.790000,44611000
+2003-01-16,9.150000,9.745000,9.055000,9.375000,9.375000,58419400
+2003-01-17,9.300000,9.490000,9.180000,9.185000,9.185000,22038600
+2003-01-21,9.105000,9.220000,8.875000,8.960000,8.960000,20121600
+2003-01-22,8.945000,9.375000,8.855000,9.240000,9.240000,23056600
+2003-01-23,9.425000,9.565000,9.280000,9.540000,9.540000,18093400
+2003-01-24,9.530000,9.585000,9.325000,9.390000,9.390000,23468400
+2003-01-27,9.090000,9.385000,9.020000,9.055000,9.055000,18864600
+2003-01-28,9.175000,9.360000,9.015000,9.310000,9.310000,17630800
+2003-01-29,9.205000,9.485000,9.080000,9.415000,9.415000,16126800
+2003-01-30,9.335000,9.425000,9.040000,9.045000,9.045000,10401000
+2003-01-31,8.910000,9.190000,8.900000,9.100000,9.100000,13286000
+2003-02-03,9.025000,9.200000,8.965000,8.985000,8.985000,9586600
+2003-02-04,8.915000,8.930000,8.750000,8.875000,8.875000,11921400
+2003-02-05,8.915000,9.075000,8.825000,8.895000,8.895000,12986800
+2003-02-06,8.860000,9.090000,8.775000,8.965000,8.965000,10670000
+2003-02-07,8.885000,8.925000,8.650000,8.770000,8.770000,14120200
+2003-02-10,8.785000,8.985000,8.730000,8.960000,8.960000,10486400
+2003-02-11,9.000000,9.245000,8.990000,9.145000,9.145000,14895800
+2003-02-12,9.100000,9.300000,9.000000,9.085000,9.085000,12368000
+2003-02-13,9.345000,9.365000,8.780000,9.025000,9.025000,26697800
+2003-02-14,9.155000,9.455000,9.045000,9.450000,9.450000,15901600
+2003-02-18,9.425000,9.800000,9.415000,9.745000,9.745000,17076400
+2003-02-19,9.550000,9.795000,9.515000,9.690000,9.690000,12852400
+2003-02-20,9.705000,9.875000,9.655000,9.860000,9.860000,13858000
+2003-02-21,9.750000,9.950000,9.605000,9.915000,9.915000,12717200
+2003-02-24,9.760000,9.980000,9.760000,9.835000,9.835000,9690400
+2003-02-25,9.725000,10.000000,9.655000,10.000000,10.000000,11824200
+2003-02-26,9.790000,9.980000,9.790000,9.855000,9.855000,15627400
+2003-02-27,9.905000,10.085000,9.805000,10.040000,10.040000,14893600
+2003-02-28,10.015000,10.475000,9.990000,10.425000,10.425000,23457000
+2003-03-03,10.395000,10.500000,9.950000,9.960000,9.960000,26211600
+2003-03-04,9.960000,10.080000,9.875000,9.935000,9.935000,20929000
+2003-03-05,9.990000,10.060000,9.865000,9.950000,9.950000,12279000
+2003-03-06,9.915000,9.915000,9.600000,9.720000,9.720000,21565200
+2003-03-07,9.625000,9.835000,9.400000,9.810000,9.810000,20720200
+2003-03-10,9.695000,9.825000,9.545000,9.595000,9.595000,11862800
+2003-03-11,9.630000,9.670000,9.410000,9.480000,9.480000,12019800
+2003-03-12,9.470000,9.610000,9.235000,9.595000,9.595000,13683400
+2003-03-13,9.845000,10.240000,9.725000,10.125000,10.125000,23618400
+2003-03-14,10.250000,10.415000,10.025000,10.345000,10.345000,18290000
+2003-03-17,10.060000,11.200000,10.045000,11.190000,11.190000,42114000
+2003-03-18,10.925000,11.050000,10.750000,10.985000,10.985000,25790000
+2003-03-19,11.025000,11.185000,10.700000,11.105000,11.105000,24803000
+2003-03-20,11.015000,11.630000,10.900000,11.425000,11.425000,29435600
+2003-03-21,11.790000,12.095000,11.465000,11.985000,11.985000,36211200
+2003-03-24,11.415000,11.860000,11.265000,11.675000,11.675000,33779000
+2003-03-25,11.680000,12.270000,11.645000,11.810000,11.810000,35374400
+2003-03-26,12.245000,12.495000,11.775000,12.380000,12.380000,37575800
+2003-03-27,12.350000,12.495000,12.125000,12.205000,12.205000,36248400
+2003-03-28,12.140000,12.375000,12.115000,12.190000,12.190000,21920600
+2003-03-31,11.910000,12.195000,11.825000,12.010000,12.010000,27397200
+2003-04-01,11.650000,11.800000,11.260000,11.395000,11.395000,47505200
+2003-04-02,11.520000,11.955000,11.335000,11.870000,11.870000,37083400
+2003-04-03,12.025000,12.390000,11.660000,12.170000,12.170000,27701400
+2003-04-04,12.025000,12.095000,11.555000,12.025000,12.025000,49753200
+2003-04-07,12.510000,12.625000,11.970000,12.000000,12.000000,35569400
+2003-04-08,12.090000,12.115000,11.820000,11.905000,11.905000,25371000
+2003-04-09,11.905000,11.955000,11.320000,11.435000,11.435000,48223400
+2003-04-10,11.860000,12.185000,11.565000,12.135000,12.135000,72957000
+2003-04-11,12.175000,12.465000,11.775000,12.215000,12.215000,44018000
+2003-04-14,11.895000,12.225000,11.830000,12.175000,12.175000,30561000
+2003-04-15,12.060000,12.500000,12.040000,12.405000,12.405000,27799400
+2003-04-16,12.505000,12.625000,12.235000,12.335000,12.335000,27588600
+2003-04-17,12.355000,12.550000,12.275000,12.545000,12.545000,22127000
+2003-04-21,12.500000,12.835000,12.425000,12.705000,12.705000,22762800
+2003-04-22,12.560000,12.870000,12.475000,12.830000,12.830000,22454200
+2003-04-23,12.880000,13.125000,12.710000,12.800000,12.800000,24810000
+2003-04-24,12.595000,12.850000,12.535000,12.725000,12.725000,18209600
+2003-04-25,12.900000,12.915000,12.420000,12.480000,12.480000,23921800
+2003-04-28,12.600000,12.715000,12.275000,12.645000,12.645000,19463400
+2003-04-29,12.610000,12.785000,12.380000,12.505000,12.505000,15976400
+2003-04-30,12.460000,12.625000,12.315000,12.385000,12.385000,16177800
+2003-05-01,12.395000,12.395000,12.020000,12.275000,12.275000,17440600
+2003-05-02,12.375000,12.635000,12.290000,12.575000,12.575000,17471000
+2003-05-05,12.670000,12.760000,12.445000,12.515000,12.515000,17909600
+2003-05-06,12.540000,12.750000,12.440000,12.575000,12.575000,19928600
+2003-05-07,12.505000,12.535000,12.305000,12.380000,12.380000,14273200
+2003-05-08,12.325000,12.670000,12.235000,12.540000,12.540000,16335200
+2003-05-09,12.565000,12.680000,12.365000,12.520000,12.520000,14930000
+2003-05-12,12.490000,13.115000,12.450000,13.085000,13.085000,22603200
+2003-05-13,12.980000,13.840000,12.935000,13.610000,13.610000,40806200
+2003-05-14,13.605000,13.775000,13.490000,13.545000,13.545000,24530400
+2003-05-15,13.540000,13.815000,13.390000,13.755000,13.755000,19305400
+2003-05-16,13.710000,14.000000,13.655000,13.875000,13.875000,20265200
+2003-05-19,13.735000,13.805000,12.875000,12.975000,12.975000,31976400
+2003-05-20,13.170000,13.455000,13.050000,13.290000,13.290000,34828400
+2003-05-21,13.290000,13.325000,12.995000,13.090000,13.090000,19526400
+2003-05-22,13.150000,13.505000,13.015000,13.450000,13.450000,16879600
+2003-05-23,13.500000,14.255000,13.450000,14.245000,14.245000,30364200
+2003-05-27,13.940000,15.095000,13.760000,14.985000,14.985000,44754600
+2003-05-28,15.005000,15.145000,14.790000,14.950000,14.950000,26365200
+2003-05-29,14.975000,15.360000,14.875000,15.075000,15.075000,22298800
+2003-05-30,15.150000,15.180000,14.755000,14.920000,14.920000,32082800
+2003-06-02,15.155000,15.200000,14.275000,14.330000,14.330000,34546600
+2003-06-03,14.465000,14.490000,14.115000,14.275000,14.275000,42024400
+2003-06-04,14.225000,14.830000,14.195000,14.795000,14.795000,42710000
+2003-06-05,14.750000,14.765000,14.490000,14.695000,14.695000,19126800
+2003-06-06,15.005000,15.100000,13.750000,13.975000,13.975000,42757200
+2003-06-09,14.275000,14.330000,13.675000,13.750000,13.750000,36217400
+2003-06-10,13.800000,13.995000,13.525000,13.950000,13.950000,20410600
+2003-06-11,14.160000,14.975000,14.100000,14.800000,14.800000,39347800
+2003-06-12,14.865000,14.945000,14.580000,14.850000,14.850000,26566000
+2003-06-13,14.815000,14.875000,14.280000,14.360000,14.360000,21168000
+2003-06-16,14.925000,15.395000,14.800000,15.330000,15.330000,38891000
+2003-06-17,15.475000,15.810000,15.335000,15.710000,15.710000,27192600
+2003-06-18,15.495000,16.410000,15.470000,16.150000,16.150000,32913800
+2003-06-19,16.055000,16.594999,15.750000,15.815000,15.815000,27878200
+2003-06-20,16.150000,16.245001,15.815000,16.070000,16.070000,25535800
+2003-06-23,15.950000,16.075001,15.560000,15.760000,15.760000,17155200
+2003-06-24,15.720000,15.970000,15.285000,15.680000,15.680000,21847600
+2003-06-25,15.600000,16.049999,15.585000,15.675000,15.675000,20055600
+2003-06-26,15.850000,16.500000,15.705000,16.450001,16.450001,28344600
+2003-06-27,16.549999,16.745001,16.090000,16.110001,16.110001,25943200
+2003-06-30,16.330000,16.680000,15.875000,16.350000,16.350000,21051200
+2003-07-01,16.430000,16.825001,16.100000,16.820000,16.820000,20227600
+2003-07-02,16.860001,17.205000,16.799999,17.174999,17.174999,19565800
+2003-07-03,16.799999,17.500000,16.799999,17.350000,17.350000,15900600
+2003-07-07,17.750000,17.860001,17.500000,17.635000,17.635000,25475200
+2003-07-08,17.620001,17.719999,17.055000,17.549999,17.549999,32377200
+2003-07-09,17.535000,17.895000,17.004999,17.645000,17.645000,45663200
+2003-07-10,16.235001,16.500000,16.075001,16.280001,16.280001,68416800
+2003-07-11,16.420000,16.459999,15.800000,16.094999,16.094999,37147000
+2003-07-14,16.450001,16.525000,15.755000,16.100000,16.100000,59770600
+2003-07-15,16.160000,16.385000,16.059999,16.180000,16.180000,26509200
+2003-07-16,16.375000,16.400000,15.775000,15.925000,15.925000,19096000
+2003-07-17,15.825000,15.825000,15.165000,15.305000,15.305000,26308600
+2003-07-18,15.495000,15.525000,14.780000,14.950000,14.950000,26502200
+2003-07-21,15.350000,15.770000,15.150000,15.525000,15.525000,32138800
+2003-07-22,15.640000,15.700000,15.110000,15.625000,15.625000,25113400
+2003-07-23,15.930000,16.075001,15.610000,16.059999,16.059999,20317400
+2003-07-24,16.325001,16.934999,16.205000,16.600000,16.600000,35844000
+2003-07-25,16.275000,16.469999,15.930000,16.400000,16.400000,24687800
+2003-07-28,16.459999,16.490000,16.075001,16.280001,16.280001,13811800
+2003-07-29,16.285000,16.344999,15.750000,15.780000,15.780000,16949200
+2003-07-30,15.855000,15.975000,15.305000,15.395000,15.395000,17340800
+2003-07-31,15.595000,15.940000,15.425000,15.565000,15.565000,17567000
+2003-08-01,15.815000,15.900000,15.505000,15.730000,15.730000,15927200
+2003-08-04,15.545000,15.610000,15.040000,15.390000,15.390000,18394200
+2003-08-05,15.330000,15.570000,14.855000,14.910000,14.910000,16673200
+2003-08-06,14.820000,15.025000,14.325000,14.730000,14.730000,32332000
+2003-08-07,14.650000,14.700000,14.380000,14.435000,14.435000,20955600
+2003-08-08,14.560000,14.665000,14.335000,14.500000,14.500000,17129000
+2003-08-11,14.450000,14.600000,14.050000,14.450000,14.450000,17036400
+2003-08-12,14.575000,14.975000,14.440000,14.925000,14.925000,21168200
+2003-08-13,14.965000,15.000000,14.660000,14.765000,14.765000,18916400
+2003-08-14,14.875000,14.925000,14.650000,14.885000,14.885000,12646400
+2003-08-15,14.945000,15.060000,14.790000,14.940000,14.940000,9426000
+2003-08-18,14.985000,15.685000,14.970000,15.645000,15.645000,20156800
+2003-08-19,15.775000,16.145000,15.675000,16.014999,16.014999,27413600
+2003-08-20,15.745000,16.170000,15.740000,15.995000,15.995000,15894200
+2003-08-21,16.150000,16.495001,15.990000,16.410000,16.410000,25279000
+2003-08-22,16.510000,16.674999,15.875000,15.910000,15.910000,20877000
+2003-08-25,15.945000,16.040001,15.635000,16.030001,16.030001,10210800
+2003-08-26,15.920000,16.075001,15.670000,16.030001,16.030001,10715400
+2003-08-27,15.945000,16.215000,15.915000,16.200001,16.200001,11914800
+2003-08-28,16.200001,16.299999,15.915000,16.174999,16.174999,10648400
+2003-08-29,16.200001,16.700001,16.170000,16.695000,16.695000,16074400
+2003-09-02,16.670000,17.120001,16.559999,17.094999,17.094999,27526000
+2003-09-03,17.000000,17.200001,16.715000,16.785000,16.785000,22407600
+2003-09-04,16.805000,17.605000,16.764999,17.415001,17.415001,30600200
+2003-09-05,17.174999,17.975000,17.150000,17.445000,17.445000,33720800
+2003-09-08,17.325001,17.834999,17.290001,17.770000,17.770000,22017600
+2003-09-09,17.629999,18.400000,17.385000,17.495001,17.495001,47070200
+2003-09-10,17.245001,17.600000,17.065001,17.215000,17.215000,28382200
+2003-09-11,17.375000,17.485001,17.030001,17.295000,17.295000,26116000
+2003-09-12,17.195000,17.625000,16.950001,17.410000,17.410000,22852400
+2003-09-15,17.450001,17.535000,17.290001,17.315001,17.315001,12989400
+2003-09-16,17.375000,17.934999,17.350000,17.910000,17.910000,24541600
+2003-09-17,17.855000,18.240000,17.680000,18.000000,18.000000,25265000
+2003-09-18,17.900000,18.915001,17.860001,18.790001,18.790001,35570800
+2003-09-19,18.575001,18.900000,18.400000,18.620001,18.620001,23608800
+2003-09-22,18.344999,18.455000,18.010000,18.290001,18.290001,23126000
+2003-09-23,18.350000,19.030001,18.325001,18.910000,18.910000,31720600
+2003-09-24,18.920000,19.125000,18.305000,18.305000,18.305000,31594000
+2003-09-25,18.059999,18.725000,17.860001,18.264999,18.264999,27535000
+2003-09-26,18.290001,18.420000,17.455000,17.540001,17.540001,24548000
+2003-09-29,17.709999,18.125000,17.480000,18.094999,18.094999,23433600
+2003-09-30,18.014999,18.125000,17.655001,17.695000,17.695000,21203000
+2003-10-01,18.049999,18.360001,17.500000,18.200001,18.200001,35383400
+2003-10-02,18.254999,19.000000,18.165001,18.955000,18.955000,30040000
+2003-10-03,19.480000,19.775000,19.245001,19.620001,19.620001,33854800
+2003-10-06,19.674999,19.940001,19.450001,19.889999,19.889999,20135400
+2003-10-07,19.690001,19.950001,19.190001,19.465000,19.465000,43982000
+2003-10-08,19.530001,19.719999,19.205000,19.395000,19.395000,46509600
+2003-10-09,20.700001,21.860001,20.600000,21.375000,21.375000,110624800
+2003-10-10,21.299999,21.655001,21.145000,21.580000,21.580000,36079200
+2003-10-13,21.450001,21.500000,21.045000,21.450001,21.450001,25207800
+2003-10-14,21.150000,21.424999,21.125000,21.150000,21.150000,21432800
+2003-10-15,21.405001,21.405001,20.665001,20.715000,20.715000,23228600
+2003-10-16,20.815001,21.250000,20.775000,21.105000,21.105000,19299800
+2003-10-17,21.264999,21.450001,20.805000,21.120001,21.120001,26315000
+2003-10-20,21.250000,21.370001,20.905001,21.184999,21.184999,17092600
+2003-10-21,21.049999,21.645000,21.000000,21.410000,21.410000,22456400
+2003-10-22,21.075001,21.295000,20.780001,20.885000,20.885000,23981000
+2003-10-23,20.504999,20.625000,19.930000,20.200001,20.200001,34960400
+2003-10-24,19.980000,20.389999,19.680000,20.264999,20.264999,28786600
+2003-10-27,20.400000,20.730000,20.305000,20.584999,20.584999,17490000
+2003-10-28,20.745001,21.535000,20.700001,21.510000,21.510000,25868600
+2003-10-29,21.469999,21.990000,21.360001,21.540001,21.540001,27784800
+2003-10-30,21.900000,22.275000,21.629999,21.860001,21.860001,33259800
+2003-10-31,21.730000,22.000000,21.594999,21.855000,21.855000,19394000
+2003-11-03,21.870001,22.385000,21.799999,21.965000,21.965000,21367400
+2003-11-04,21.950001,22.014999,21.650000,21.715000,21.715000,17291800
+2003-11-05,21.500000,22.129999,21.450001,22.020000,22.020000,15054200
+2003-11-06,21.500000,21.860001,21.275000,21.485001,21.485001,23257200
+2003-11-07,21.594999,21.674999,21.115000,21.174999,21.174999,18215600
+2003-11-10,21.150000,21.250000,20.600000,20.620001,20.620001,17051200
+2003-11-11,20.625000,20.815001,20.110001,20.309999,20.309999,19698600
+2003-11-12,20.285000,21.290001,20.264999,21.264999,21.264999,21975800
+2003-11-13,21.180000,21.795000,21.030001,21.650000,21.650000,19295200
+2003-11-14,21.440001,21.684999,20.760000,20.815001,20.815001,18739600
+2003-11-17,20.459999,20.540001,19.340000,20.180000,20.180000,42204400
+2003-11-18,20.375000,20.495001,18.975000,19.004999,19.004999,35245800
+2003-11-19,19.240000,19.805000,19.100000,19.635000,19.635000,37942000
+2003-11-20,19.455000,19.980000,19.315001,19.344999,19.344999,21760400
+2003-11-21,19.645000,19.860001,19.350000,19.740000,19.740000,20227200
+2003-11-24,20.100000,20.934999,20.100000,20.889999,20.889999,24679000
+2003-11-25,20.930000,21.350000,20.885000,21.025000,21.025000,22863800
+2003-11-26,21.385000,21.725000,20.969999,21.540001,21.540001,25370600
+2003-11-28,21.424999,21.625000,21.344999,21.495001,21.495001,6470200
+2003-12-01,21.709999,22.145000,21.660000,22.105000,22.105000,20852000
+2003-12-02,21.930000,22.090000,21.735001,21.754999,21.754999,17536400
+2003-12-03,21.834999,21.990000,21.174999,21.250000,21.250000,18848400
+2003-12-04,21.475000,21.805000,21.049999,21.565001,21.565001,20857800
+2003-12-05,21.395000,21.844999,21.325001,21.424999,21.424999,16190000
+2003-12-08,21.389999,21.535000,20.805000,21.389999,21.389999,19364600
+2003-12-09,21.520000,21.549999,20.715000,20.785000,20.785000,17286000
+2003-12-10,20.780001,21.045000,20.264999,20.580000,20.580000,20578400
+2003-12-11,20.535000,21.520000,20.535000,21.389999,21.389999,18270000
+2003-12-12,21.500000,21.500000,21.004999,21.490000,21.490000,15672800
+2003-12-15,21.920000,22.000000,21.049999,21.125000,21.125000,19726000
+2003-12-16,20.969999,21.094999,20.105000,20.350000,20.350000,29586600
+2003-12-17,20.290001,20.415001,19.980000,20.365000,20.365000,21553600
+2003-12-18,20.530001,21.025000,20.379999,20.945000,20.945000,16245800
+2003-12-19,20.965000,21.150000,20.575001,21.055000,21.055000,19387800
+2003-12-22,20.915001,21.305000,20.885000,21.299999,21.299999,14952400
+2003-12-23,21.174999,21.870001,21.125000,21.840000,21.840000,16710800
+2003-12-24,21.730000,22.670000,21.719999,22.385000,22.385000,18166400
+2003-12-26,22.400000,22.625000,22.125000,22.145000,22.145000,8493400
+2003-12-29,22.225000,22.549999,21.905001,22.485001,22.485001,13772400
+2003-12-30,22.465000,22.580000,22.250000,22.465000,22.465000,10980200
+2003-12-31,22.525000,22.740000,22.309999,22.514999,22.514999,18878600
+2004-01-02,22.750000,22.915001,22.559999,22.700001,22.700001,16480000
+2004-01-05,22.879999,23.555000,22.674999,23.450001,23.450001,23107800
+2004-01-06,23.219999,23.725000,23.174999,23.620001,23.620001,20527800
+2004-01-07,23.450001,23.879999,23.424999,23.834999,23.834999,19229000
+2004-01-08,24.000000,24.485001,23.934999,24.290001,24.290001,25469200
+2004-01-09,24.020000,24.379999,24.000000,24.059999,24.059999,19043400
+2004-01-12,24.125000,24.930000,24.100000,24.870001,24.870001,29919400
+2004-01-13,24.865000,25.205000,24.105000,24.400000,24.400000,28687400
+2004-01-14,24.690001,24.809999,23.844999,24.195000,24.195000,34347200
+2004-01-15,23.280001,24.400000,22.930000,24.045000,24.045000,54017800
+2004-01-16,24.230000,24.250000,23.549999,24.055000,24.055000,24108600
+2004-01-20,23.950001,24.000000,23.379999,23.830000,23.830000,21289000
+2004-01-21,23.620001,23.985001,23.455000,23.690001,23.690001,15065800
+2004-01-22,23.885000,24.105000,23.455000,23.590000,23.590000,14775000
+2004-01-23,23.620001,23.674999,23.375000,23.545000,23.545000,11179400
+2004-01-26,23.410000,24.115000,23.295000,24.080000,24.080000,15649000
+2004-01-27,24.035000,24.225000,23.500000,23.520000,23.520000,14656800
+2004-01-28,23.520000,23.650000,22.795000,23.094999,23.094999,16625200
+2004-01-29,23.270000,23.285000,22.125000,23.045000,23.045000,31658200
+2004-01-30,23.379999,23.570000,23.070000,23.490000,23.490000,16523400
+2004-02-02,23.549999,23.725000,22.985001,23.350000,23.350000,20970400
+2004-02-03,23.334999,23.340000,22.540001,22.745001,22.745001,20293400
+2004-02-04,22.410000,23.020000,22.400000,22.475000,22.475000,17276400
+2004-02-05,22.639999,23.350000,22.565001,23.049999,23.049999,18855400
+2004-02-06,23.110001,23.285000,22.940001,23.245001,23.245001,14507600
+2004-02-09,23.139999,23.625000,23.115000,23.459999,23.459999,11495600
+2004-02-10,23.379999,23.700001,23.280001,23.445000,23.445000,7743800
+2004-02-11,23.514999,23.969999,23.260000,23.934999,23.934999,15619200
+2004-02-12,23.785000,24.035000,23.615000,23.760000,23.760000,9577000
+2004-02-13,23.805000,23.934999,23.174999,23.200001,23.200001,14322400
+2004-02-17,23.389999,23.590000,23.025000,23.285000,23.285000,11648800
+2004-02-18,23.299999,23.370001,23.000000,23.045000,23.045000,10064000
+2004-02-19,23.209999,23.365000,23.000000,23.000000,23.000000,12007800
+2004-02-20,22.969999,23.500000,22.775000,23.254999,23.254999,16215000
+2004-02-23,23.219999,23.254999,22.240000,22.455000,22.455000,18639400
+2004-02-24,22.430000,22.430000,21.760000,21.879999,21.879999,22020200
+2004-02-25,22.195000,22.250000,21.415001,21.670000,21.670000,33120000
+2004-02-26,21.590000,21.910000,21.530001,21.775000,21.775000,27284200
+2004-02-27,21.725000,22.200001,21.705000,22.170000,22.170000,30877600
+2004-03-01,22.275000,22.440001,21.955000,22.040001,22.040001,26580200
+2004-03-02,22.059999,22.299999,21.490000,21.500000,21.500000,21491200
+2004-03-03,21.415001,21.785000,21.094999,21.680000,21.680000,20006400
+2004-03-04,21.730000,22.105000,21.674999,22.065001,22.065001,18474400
+2004-03-05,21.795000,22.389999,21.735001,22.200001,22.200001,20294600
+2004-03-08,22.165001,22.715000,21.850000,21.920000,21.920000,20297600
+2004-03-09,21.934999,22.139999,21.455000,21.674999,21.674999,20994200
+2004-03-10,21.665001,21.875000,20.754999,20.850000,20.850000,26451600
+2004-03-11,20.645000,21.280001,20.570000,20.825001,20.825001,28028800
+2004-03-12,20.940001,21.629999,20.860001,21.510000,21.510000,17305800
+2004-03-15,21.575001,21.684999,20.809999,20.875000,20.875000,14253200
+2004-03-16,21.045000,21.485001,21.000000,21.285000,21.285000,20002800
+2004-03-17,22.080000,22.525000,22.025000,22.424999,22.424999,32029200
+2004-03-18,22.395000,22.645000,22.180000,22.525000,22.525000,20207200
+2004-03-19,22.430000,23.344999,22.420000,22.875000,22.875000,28441000
+2004-03-22,22.500000,22.575001,21.879999,22.235001,22.235001,24057600
+2004-03-23,22.375000,22.420000,21.920000,22.040001,22.040001,18597400
+2004-03-24,22.135000,22.285000,21.745001,22.250000,22.250000,17418400
+2004-03-25,22.490000,23.495001,22.480000,23.469999,23.469999,23709000
+2004-03-26,23.375000,23.764999,23.365000,23.565001,23.565001,16950800
+2004-03-29,23.600000,23.950001,23.555000,23.844999,23.844999,17705600
+2004-03-30,23.799999,24.430000,23.775000,24.395000,24.395000,17370400
+2004-03-31,24.370001,24.650000,24.165001,24.235001,24.235001,21079800
+2004-04-01,24.410000,24.855000,24.209999,24.725000,24.725000,22423000
+2004-04-02,25.260000,25.315001,24.629999,25.075001,25.075001,22649600
+2004-04-05,25.030001,25.495001,24.650000,24.995001,24.995001,22794400
+2004-04-06,24.555000,24.650000,24.110001,24.385000,24.385000,23672800
+2004-04-07,24.225000,24.625000,23.945000,24.174999,24.174999,33223600
+2004-04-08,27.860001,28.120001,27.250000,28.105000,28.105000,90565800
+2004-04-12,27.889999,27.985001,27.434999,27.570000,27.570000,34690800
+2004-04-13,27.495001,27.540001,26.924999,27.070000,27.070000,26006600
+2004-04-14,26.834999,27.475000,26.715000,27.344999,27.344999,20407400
+2004-04-15,27.405001,27.434999,26.875000,26.950001,26.950001,17628400
+2004-04-16,26.965000,27.389999,26.674999,27.070000,27.070000,19200600
+2004-04-19,26.934999,27.920000,26.875000,27.844999,27.844999,19227800
+2004-04-20,27.934999,27.975000,26.750000,26.775000,26.775000,20080800
+2004-04-21,26.950001,27.379999,26.545000,27.290001,27.290001,20465200
+2004-04-22,27.389999,28.985001,27.254999,28.795000,28.795000,32878000
+2004-04-23,28.674999,28.750000,27.955000,28.375000,28.375000,19840200
+2004-04-26,28.225000,29.174999,27.975000,28.500000,28.500000,21909400
+2004-04-27,28.490000,29.125000,28.285000,28.770000,28.770000,20146600
+2004-04-28,28.885000,29.160000,27.875000,27.915001,27.915001,20569400
+2004-04-29,27.889999,28.200001,26.775000,27.355000,27.355000,29266400
+2004-04-30,27.205000,27.295000,25.010000,25.264999,25.264999,53096600
+2004-05-03,25.264999,26.200001,25.254999,26.150000,26.150000,29483200
+2004-05-04,26.170000,26.930000,26.125000,26.424999,26.424999,24891800
+2004-05-05,26.485001,26.959999,26.455000,26.580000,26.580000,15579000
+2004-05-06,26.600000,26.600000,25.815001,26.180000,26.180000,20360600
+2004-05-07,26.209999,26.870001,26.139999,26.400000,26.400000,22879000
+2004-05-10,26.195000,26.200001,25.334999,25.665001,25.665001,31360600
+2004-05-11,26.174999,27.000000,26.090000,26.764999,26.764999,34553400
+2004-05-12,26.809999,27.180000,25.760000,27.080000,27.080000,26108100
+2004-05-13,27.180000,28.100000,26.780001,27.100000,27.100000,19947800
+2004-05-14,27.540001,27.670000,26.750000,26.969999,26.969999,19204900
+2004-05-17,26.350000,27.660000,26.209999,27.020000,27.020000,13986900
+2004-05-18,27.490000,27.980000,27.309999,27.770000,27.770000,19084700
+2004-05-19,28.610001,28.900000,27.820000,27.950001,27.950001,25635100
+2004-05-20,28.120001,28.299999,27.510000,28.030001,28.030001,16537200
+2004-05-21,28.299999,28.850000,28.150000,28.549999,28.549999,15443000
+2004-05-24,28.840000,29.760000,28.840000,29.430000,29.430000,23701900
+2004-05-25,28.940001,30.500000,28.879999,30.280001,30.280001,25008100
+2004-05-26,29.780001,30.400000,29.770000,30.110001,30.110001,20933100
+2004-05-27,30.410000,30.799999,30.000000,30.559999,30.559999,18645100
+2004-05-28,30.410000,31.160000,30.299999,30.660000,30.660000,16671800
+2004-06-01,30.490000,32.820000,30.430000,32.480000,32.480000,28801700
+2004-06-02,32.450001,32.840000,31.490000,31.549999,31.549999,30055600
+2004-06-03,31.660000,31.809999,31.059999,31.190001,31.190001,18500900
+2004-06-04,31.879999,32.200001,31.450001,31.870001,31.870001,16267800
+2004-06-07,32.360001,32.520000,32.029999,32.509998,32.509998,17988200
+2004-06-08,32.320000,33.000000,32.279999,32.990002,32.990002,18337200
+2004-06-09,32.950001,33.009998,32.080002,32.320000,32.320000,16989900
+2004-06-10,32.730000,32.740002,31.860001,32.400002,32.400002,17537700
+2004-06-14,32.180000,32.240002,31.440001,31.650000,31.650000,11766900
+2004-06-15,31.990000,32.580002,31.969999,32.099998,32.099998,14796000
+2004-06-16,32.410000,32.770000,32.070000,32.470001,32.470001,11281800
+2004-06-17,32.389999,32.529999,31.959999,32.380001,32.380001,11658700
+2004-06-18,32.110001,32.869999,31.950001,32.070000,32.070000,15809400
+2004-06-21,32.200001,32.380001,31.559999,31.670000,31.670000,12367400
+2004-06-22,31.959999,32.549999,31.770000,32.540001,32.540001,15136600
+2004-06-23,32.540001,34.189999,32.520000,33.970001,33.970001,27370700
+2004-06-24,33.639999,34.380001,33.639999,34.110001,34.110001,15620000
+2004-06-25,34.369999,35.360001,33.500000,34.910000,34.910000,20260800
+2004-06-28,35.080002,36.270000,34.980000,35.480000,35.480000,24739200
+2004-06-29,35.380001,35.770000,35.080002,35.349998,35.349998,15009200
+2004-06-30,35.990002,36.509998,35.700001,36.400002,36.400002,21374100
+2004-07-01,35.139999,35.340000,34.110001,34.299999,34.299999,28525400
+2004-07-02,34.459999,34.540001,33.570000,33.939999,33.939999,16242300
+2004-07-06,34.000000,34.000000,32.299999,33.220001,33.220001,27496900
+2004-07-07,33.070000,33.139999,32.299999,32.599998,32.599998,35597600
+2004-07-08,29.420000,31.240000,28.990000,30.080000,30.080000,87532700
+2004-07-09,30.879999,30.980000,29.629999,30.110001,30.110001,26462600
+2004-07-12,29.660000,30.360001,29.530001,30.260000,30.260000,19661900
+2004-07-13,30.590000,30.799999,30.010000,30.340000,30.340000,19083300
+2004-07-14,29.740000,31.150000,29.299999,30.660000,30.660000,18758700
+2004-07-15,31.000000,31.010000,30.090000,30.250000,30.250000,13566000
+2004-07-16,30.719999,30.750000,29.150000,29.190001,29.190001,18654300
+2004-07-19,28.900000,29.000000,27.540001,28.110001,28.110001,32020300
+2004-07-20,28.200001,29.629999,28.160000,29.389999,29.389999,19513500
+2004-07-21,30.110001,30.150000,28.100000,28.129999,28.129999,19493300
+2004-07-22,27.820000,29.320000,27.510000,29.260000,29.260000,26079400
+2004-07-23,28.200001,28.969999,28.030001,28.190001,28.190001,15762300
+2004-07-26,28.450001,28.750000,27.580000,28.209999,28.209999,21484500
+2004-07-27,28.600000,30.219999,28.450001,30.000000,30.000000,25597200
+2004-07-28,29.790001,30.379999,28.860001,29.700001,29.700001,24592700
+2004-07-29,30.559999,30.799999,30.000000,30.490000,30.490000,18747300
+2004-07-30,30.250000,31.120001,30.190001,30.799999,30.799999,16265700
+2004-08-02,30.570000,30.610001,30.129999,30.420000,30.420000,12250800
+2004-08-03,30.410000,30.590000,28.980000,29.150000,29.150000,17729200
+2004-08-04,27.980000,28.230000,27.580000,27.910000,27.910000,30154500
+2004-08-05,28.459999,28.459999,26.700001,26.799999,26.799999,27642000
+2004-08-06,26.469999,26.700001,25.770000,26.020000,26.020000,30177200
+2004-08-09,26.290001,26.389999,25.520000,25.700001,25.700001,18997700
+2004-08-10,26.160000,27.240000,26.000000,27.150000,27.150000,24449700
+2004-08-11,26.400000,27.809999,26.240000,27.420000,27.420000,24805300
+2004-08-12,27.430000,27.930000,27.190001,27.549999,27.549999,18779300
+2004-08-13,27.830000,27.879999,26.900000,27.490000,27.490000,16278400
+2004-08-16,27.389999,28.770000,27.299999,28.250000,28.250000,15923600
+2004-08-17,28.629999,29.160000,28.170000,28.340000,28.340000,19609800
+2004-08-18,27.459999,28.540001,27.420000,28.480000,28.480000,22358300
+2004-08-19,28.340000,28.969999,27.900000,28.110001,28.110001,27657500
+2004-08-20,27.879999,28.830000,27.830000,28.610001,28.610001,17228700
+2004-08-23,29.100000,29.190001,28.559999,28.629999,28.629999,13024400
+2004-08-24,28.990000,29.080000,28.049999,28.410000,28.410000,16537400
+2004-08-25,28.360001,29.500000,28.209999,29.370001,29.370001,15518100
+2004-08-26,29.000000,29.490000,28.959999,29.170000,29.170000,9756000
+2004-08-27,29.430000,29.570000,29.190001,29.299999,29.299999,8327500
+2004-08-30,29.070000,29.070000,28.350000,28.459999,28.459999,12762700
+2004-08-31,28.480000,28.700001,28.080000,28.510000,28.510000,11381700
+2004-09-01,28.389999,29.040001,28.129999,29.010000,29.010000,16668100
+2004-09-02,28.700001,30.160000,28.660000,29.840000,29.840000,17247700
+2004-09-03,29.750000,30.309999,29.270000,29.459999,29.459999,12782700
+2004-09-07,29.870001,30.100000,29.270000,29.639999,29.639999,16331200
+2004-09-08,29.610001,30.469999,29.570000,30.379999,30.379999,18660200
+2004-09-09,30.200001,30.700001,29.830000,30.490000,30.490000,16353800
+2004-09-10,30.240000,31.120001,30.209999,31.080000,31.080000,11312500
+2004-09-13,31.010000,31.990000,31.010000,31.870001,31.870001,17476400
+2004-09-14,31.620001,33.549999,31.440001,33.200001,33.200001,28245600
+2004-09-15,32.700001,33.400002,32.410000,32.900002,32.900002,16915900
+2004-09-16,32.889999,33.939999,32.520000,32.790001,32.790001,23336100
+2004-09-17,33.000000,33.500000,32.660000,33.459999,33.459999,15049000
+2004-09-20,32.849998,34.040001,32.849998,33.259998,33.259998,18702200
+2004-09-21,33.349998,33.480000,32.799999,33.259998,33.259998,17063500
+2004-09-22,32.810001,33.750000,32.380001,32.470001,32.470001,22239800
+2004-09-23,32.709999,33.330002,32.330002,33.040001,33.040001,15695100
+2004-09-24,33.189999,33.250000,32.560001,32.580002,32.580002,11285600
+2004-09-27,32.540001,32.720001,31.650000,31.820000,31.820000,15218800
+2004-09-28,32.270000,33.000000,31.670000,32.799999,32.799999,18218200
+2004-09-29,32.779999,34.150002,32.770000,34.000000,34.000000,30183700
+2004-09-30,33.590000,34.490002,33.560001,33.910000,33.910000,25706900
+2004-10-01,34.349998,35.139999,34.119999,35.029999,35.029999,22100300
+2004-10-04,35.049999,35.450001,34.730000,34.910000,34.910000,21264100
+2004-10-05,34.520000,35.000000,34.430000,34.959999,34.959999,14934400
+2004-10-06,34.720001,35.150002,34.509998,34.959999,34.959999,17118000
+2004-10-07,34.880001,35.490002,34.720001,34.779999,34.779999,16233700
+2004-10-08,34.480000,35.000000,34.099998,34.169998,34.169998,16152700
+2004-10-11,34.400002,34.549999,33.650002,34.020000,34.020000,12664400
+2004-10-12,33.709999,34.480000,33.599998,34.230000,34.230000,31284000
+2004-10-13,35.950001,36.279999,34.840000,34.959999,34.959999,49492300
+2004-10-14,34.980000,35.150002,34.220001,34.959999,34.959999,22861600
+2004-10-15,34.889999,35.029999,34.410000,34.520000,34.520000,19657500
+2004-10-18,34.320000,35.400002,34.110001,35.299999,35.299999,19801400
+2004-10-19,35.439999,35.689999,34.529999,34.639999,34.639999,22291600
+2004-10-20,34.380001,34.570000,34.000000,34.490002,34.490002,15943900
+2004-10-21,35.400002,35.930000,34.900002,35.700001,35.700001,27937000
+2004-10-22,36.570000,36.750000,34.930000,34.959999,34.959999,35643200
+2004-10-25,34.830002,35.240002,34.500000,35.200001,35.200001,17718300
+2004-10-26,35.119999,35.389999,34.750000,35.090000,35.090000,15698700
+2004-10-27,34.900002,36.520000,34.849998,36.180000,36.180000,20968100
+2004-10-28,35.820000,36.500000,35.820000,36.450001,36.450001,13245200
+2004-10-29,36.080002,36.720001,35.860001,36.189999,36.189999,13432500
+2004-11-01,35.910000,37.000000,35.860001,36.919998,36.919998,16436900
+2004-11-02,37.029999,38.150002,36.889999,37.740002,37.740002,22925400
+2004-11-03,39.200001,39.250000,37.540001,37.970001,37.970001,25377500
+2004-11-04,37.570000,37.950001,36.750000,37.660000,37.660000,19812300
+2004-11-05,37.680000,37.849998,35.759998,36.349998,36.349998,25428100
+2004-11-08,36.790001,37.320000,36.709999,37.139999,37.139999,15368500
+2004-11-09,37.240002,37.630001,36.860001,37.029999,37.029999,14937800
+2004-11-10,36.849998,37.189999,36.369999,36.660000,36.660000,14160400
+2004-11-11,36.900002,37.820000,36.459999,37.790001,37.790001,16640100
+2004-11-12,37.869999,38.299999,37.529999,37.799999,37.799999,16545200
+2004-11-15,37.770000,38.000000,37.310001,37.630001,37.630001,13108100
+2004-11-16,37.290001,37.410000,36.560001,36.740002,36.740002,15160100
+2004-11-17,36.950001,37.369999,36.480000,36.950001,36.950001,15189100
+2004-11-18,37.430000,37.779999,37.099998,37.189999,37.189999,15401000
+2004-11-19,37.240002,37.410000,35.900002,36.150002,36.150002,15936600
+2004-11-22,35.990002,36.500000,35.349998,36.450001,36.450001,17256100
+2004-11-23,36.700001,37.049999,36.099998,36.400002,36.400002,14691000
+2004-11-24,37.150002,37.639999,36.660000,37.610001,37.610001,16495200
+2004-11-26,37.830002,38.150002,37.570000,37.810001,37.810001,6230900
+2004-11-29,38.090000,38.240002,37.500000,38.119999,38.119999,13895100
+2004-11-30,37.919998,38.189999,37.520000,37.619999,37.619999,10965100
+2004-12-01,37.900002,38.029999,37.349998,38.000000,38.000000,13204800
+2004-12-02,37.959999,39.400002,37.889999,39.139999,39.139999,22437500
+2004-12-03,39.139999,39.790001,38.709999,39.020000,39.020000,15890900
+2004-12-06,38.709999,39.000000,38.509998,38.840000,38.840000,12007500
+2004-12-07,38.750000,38.930000,37.000000,37.080002,37.080002,17718900
+2004-12-08,37.349998,37.439999,36.779999,37.049999,37.049999,14006800
+2004-12-09,36.830002,38.639999,36.820000,38.310001,38.310001,18900700
+2004-12-10,38.020000,38.580002,37.930000,38.020000,38.020000,10019700
+2004-12-13,38.259998,38.320000,37.549999,38.090000,38.090000,10266600
+2004-12-14,37.980000,38.470001,37.820000,38.259998,38.259998,10088500
+2004-12-15,38.130001,38.590000,37.950001,38.290001,38.290001,9710500
+2004-12-16,38.330002,38.360001,36.900002,37.080002,37.080002,18292300
+2004-12-17,36.770000,37.540001,36.610001,36.770000,36.770000,13640900
+2004-12-20,36.889999,37.529999,36.209999,36.660000,36.660000,18330400
+2004-12-21,36.980000,37.160000,36.240002,36.660000,36.660000,12393500
+2004-12-22,36.470001,37.349998,36.410000,37.290001,37.290001,11297700
+2004-12-23,37.430000,37.500000,37.209999,37.250000,37.250000,6045500
+2004-12-27,37.450001,38.000000,37.400002,37.740002,37.740002,11095800
+2004-12-28,37.849998,37.990002,37.650002,37.900002,37.900002,11291000
+2004-12-29,37.830002,38.400002,37.750000,37.849998,37.849998,10160200
+2004-12-30,38.029999,38.209999,37.820000,37.869999,37.869999,6955700
+2004-12-31,38.040001,38.200001,37.500000,37.680000,37.680000,7556600
+2005-01-03,38.360001,38.900002,37.650002,38.180000,38.180000,25482800
+2005-01-04,38.450001,38.540001,36.459999,36.580002,36.580002,26625300
+2005-01-05,36.689999,36.980000,36.060001,36.130001,36.130001,18469100
+2005-01-06,36.320000,36.500000,35.209999,35.430000,35.430000,20835300
+2005-01-07,35.990002,36.459999,35.410000,35.959999,35.959999,18596300
+2005-01-10,36.000000,36.759998,35.509998,36.320000,36.320000,17482800
+2005-01-11,36.310001,36.580002,35.389999,35.660000,35.660000,19711900
+2005-01-12,35.880001,36.180000,34.799999,36.139999,36.139999,23274700
+2005-01-13,36.119999,36.320000,35.259998,35.330002,35.330002,18526500
+2005-01-14,35.860001,36.700001,35.830002,36.700001,36.700001,27697700
+2005-01-18,37.099998,37.459999,36.599998,37.180000,37.180000,42709600
+2005-01-19,38.080002,38.200001,36.419998,36.450001,36.450001,44303200
+2005-01-20,35.389999,36.419998,35.049999,35.779999,35.779999,30239100
+2005-01-21,36.070000,36.110001,35.290001,35.299999,35.299999,26608000
+2005-01-24,35.480000,35.520000,33.750000,33.930000,33.930000,31477400
+2005-01-25,34.549999,34.759998,33.939999,34.040001,34.040001,26521400
+2005-01-26,34.709999,35.740002,34.389999,35.470001,35.470001,25767500
+2005-01-27,35.380001,35.490002,34.349998,34.730000,34.730000,21450800
+2005-01-28,34.900002,35.240002,34.119999,34.619999,34.619999,17853700
+2005-01-31,35.040001,35.439999,34.529999,35.209999,35.209999,20712200
+2005-02-01,35.130001,35.279999,34.459999,34.750000,34.750000,18633600
+2005-02-02,36.020000,36.340000,35.290001,35.540001,35.540001,33495200
+2005-02-03,35.270000,35.669998,35.000000,35.090000,35.090000,16742400
+2005-02-04,34.709999,35.299999,34.709999,35.020000,35.020000,16850200
+2005-02-07,35.070000,35.189999,34.360001,34.470001,34.470001,14588900
+2005-02-08,34.639999,34.910000,34.320000,34.360001,34.360001,17321500
+2005-02-09,34.599998,34.660000,33.450001,33.590000,33.590000,18285100
+2005-02-10,33.720001,33.720001,32.470001,33.439999,33.439999,32637400
+2005-02-11,33.450001,34.700001,33.310001,34.150002,34.150002,20005800
+2005-02-14,34.009998,34.410000,33.779999,34.330002,34.330002,20065300
+2005-02-15,34.340000,34.919998,33.810001,33.980000,33.980000,20391900
+2005-02-16,33.810001,34.820000,33.750000,34.419998,34.419998,22176200
+2005-02-17,34.419998,34.790001,33.759998,33.820000,33.820000,16203500
+2005-02-18,33.840000,33.980000,33.380001,33.599998,33.599998,12436100
+2005-02-22,33.250000,33.820000,32.660000,32.790001,32.790001,18142600
+2005-02-23,32.820000,32.919998,31.400000,32.119999,32.119999,34757100
+2005-02-24,30.430000,31.490000,30.299999,31.480000,31.480000,55457300
+2005-02-25,31.530001,31.959999,31.430000,31.730000,31.730000,20114900
+2005-02-28,31.740000,33.770000,31.620001,32.270000,32.270000,25266400
+2005-03-01,32.369999,32.669998,32.049999,32.299999,32.299999,20222500
+2005-03-02,32.070000,32.599998,31.750000,32.230000,32.230000,15357200
+2005-03-03,32.250000,32.480000,31.799999,32.310001,32.310001,17896100
+2005-03-04,32.360001,32.570000,31.760000,32.360001,32.360001,17499800
+2005-03-07,32.400002,33.310001,32.360001,33.090000,33.090000,17679200
+2005-03-08,33.549999,33.730000,33.139999,33.160000,33.160000,17839300
+2005-03-09,33.009998,33.150002,32.009998,32.320000,32.320000,21824400
+2005-03-10,32.430000,32.560001,31.600000,31.910000,31.910000,19381200
+2005-03-11,31.860001,32.209999,31.650000,31.650000,31.650000,13364800
+2005-03-14,31.740000,31.830000,30.650000,31.320000,31.320000,19762000
+2005-03-15,31.610001,32.279999,31.530001,31.940001,31.940001,20880800
+2005-03-16,31.870001,32.349998,31.400000,31.580000,31.580000,17952000
+2005-03-17,31.799999,31.980000,31.540001,31.610001,31.610001,13760200
+2005-03-18,31.530001,31.730000,30.910000,31.110001,31.110001,20796400
+2005-03-21,31.290001,31.770000,30.980000,31.620001,31.620001,18449400
+2005-03-22,31.700001,31.980000,30.860001,30.990000,30.990000,19570600
+2005-03-23,30.910000,31.330000,30.850000,30.870001,30.870001,13917100
+2005-03-24,31.940001,32.090000,31.410000,31.410000,31.410000,23162000
+2005-03-28,32.209999,32.500000,32.099998,32.250000,32.250000,20624400
+2005-03-29,32.180000,32.840000,31.790001,32.160000,32.160000,23544700
+2005-03-30,32.310001,33.599998,32.270000,33.480000,33.480000,28267900
+2005-03-31,33.549999,34.200001,33.200001,33.900002,33.900002,25390000
+2005-04-01,34.180000,34.770000,34.150002,34.279999,34.279999,27955400
+2005-04-04,34.340000,35.270000,33.750000,35.070000,35.070000,27853300
+2005-04-05,35.150002,35.400002,34.840000,35.150002,35.150002,20275900
+2005-04-06,35.139999,35.419998,34.119999,34.490002,34.490002,23574000
+2005-04-07,34.450001,35.250000,34.450001,35.070000,35.070000,20575000
+2005-04-08,35.040001,35.139999,34.650002,34.759998,34.759998,11106300
+2005-04-11,34.970001,35.090000,34.540001,34.599998,34.599998,11758500
+2005-04-12,34.349998,34.500000,33.740002,34.279999,34.279999,22681900
+2005-04-13,34.160000,34.459999,33.400002,33.599998,33.599998,16886100
+2005-04-14,33.630001,34.200001,33.400002,33.459999,33.459999,19855300
+2005-04-15,32.959999,33.410000,32.290001,32.459999,32.459999,27008500
+2005-04-18,32.430000,33.090000,32.400002,32.549999,32.549999,19201200
+2005-04-19,32.959999,33.330002,32.419998,33.220001,33.220001,34158500
+2005-04-20,34.959999,35.250000,34.360001,34.650002,34.650002,50104400
+2005-04-21,35.119999,35.910000,34.709999,35.869999,35.869999,27731600
+2005-04-22,35.209999,35.880001,34.500000,34.869999,34.869999,31869800
+2005-04-25,34.580002,35.590000,34.580002,35.490002,35.490002,23883600
+2005-04-26,35.119999,35.419998,34.799999,35.000000,35.000000,17921200
+2005-04-27,34.700001,35.139999,34.590000,34.950001,34.950001,14861300
+2005-04-28,34.700001,34.930000,34.020000,34.330002,34.330002,16159300
+2005-04-29,34.599998,34.750000,33.919998,34.500000,34.500000,15666100
+2005-05-02,34.439999,34.849998,34.029999,34.380001,34.380001,13231500
+2005-05-03,34.049999,34.599998,33.900002,34.279999,34.279999,22042800
+2005-05-04,34.430000,35.500000,34.380001,35.180000,35.180000,23410900
+2005-05-05,35.099998,35.290001,34.430000,34.709999,34.709999,16926300
+2005-05-06,35.000000,35.080002,34.450001,34.520000,34.520000,14202200
+2005-05-09,34.480000,34.650002,34.250000,34.590000,34.590000,9991700
+2005-05-10,34.299999,34.369999,33.860001,34.060001,34.060001,13227000
+2005-05-11,34.090000,34.880001,33.689999,34.880001,34.880001,19537100
+2005-05-12,34.950001,35.369999,34.540001,34.709999,34.709999,18906700
+2005-05-13,34.709999,35.349998,34.349998,34.820000,34.820000,15855900
+2005-05-16,34.779999,35.500000,34.740002,35.450001,35.450001,15473900
+2005-05-17,35.200001,35.799999,35.139999,35.680000,35.680000,13178400
+2005-05-18,35.790001,36.580002,35.689999,35.950001,35.950001,23769000
+2005-05-19,36.130001,36.990002,36.110001,36.750000,36.750000,21267100
+2005-05-20,36.599998,36.639999,36.130001,36.330002,36.330002,13771900
+2005-05-23,36.099998,37.099998,36.040001,36.799999,36.799999,21616200
+2005-05-24,36.869999,37.099998,36.450001,36.630001,36.630001,17421300
+2005-05-25,36.250000,36.419998,36.060001,36.270000,36.270000,14995100
+2005-05-26,36.450001,37.189999,36.349998,37.139999,37.139999,15547700
+2005-05-27,36.980000,37.470001,36.950001,37.270000,37.270000,10256600
+2005-05-31,37.029999,37.349998,36.849998,37.200001,37.200001,12498300
+2005-06-01,37.310001,38.900002,37.169998,38.419998,38.419998,28153800
+2005-06-02,38.200001,38.709999,38.130001,38.500000,38.500000,13150700
+2005-06-03,38.240002,38.790001,37.599998,37.919998,37.919998,12813300
+2005-06-06,37.790001,38.740002,37.750000,38.520000,38.520000,12416000
+2005-06-07,38.720001,38.950001,37.320000,37.439999,37.439999,22848300
+2005-06-08,37.419998,37.450001,36.320000,36.630001,36.630001,20121100
+2005-06-09,36.810001,37.480000,36.380001,37.450001,37.450001,18455100
+2005-06-10,37.480000,37.500000,36.320000,36.810001,36.810001,14216900
+2005-06-13,36.660000,37.509998,36.529999,36.900002,36.900002,11586300
+2005-06-14,36.560001,37.049999,36.430000,36.799999,36.799999,12781200
+2005-06-15,36.970001,37.110001,35.910000,36.320000,36.320000,22753900
+2005-06-16,36.459999,36.740002,36.220001,36.400002,36.400002,12228700
+2005-06-17,36.759998,36.980000,36.119999,36.299999,36.299999,15952800
+2005-06-20,35.959999,36.840000,35.790001,36.450001,36.450001,12753200
+2005-06-21,36.369999,37.310001,36.360001,36.950001,36.950001,16219200
+2005-06-22,36.910000,37.320000,36.840000,36.900002,36.900002,12148100
+2005-06-23,36.849998,37.310001,36.200001,36.200001,36.200001,15547700
+2005-06-24,36.259998,36.400002,35.599998,36.090000,36.090000,13468200
+2005-06-27,35.880001,36.110001,35.200001,35.680000,35.680000,12044700
+2005-06-28,35.950001,36.240002,35.509998,35.799999,35.799999,13346200
+2005-06-29,35.799999,35.939999,34.880001,34.939999,34.939999,16481900
+2005-06-30,34.840000,35.169998,34.439999,34.650002,34.650002,16699500
+2005-07-01,34.759998,34.849998,34.220001,34.439999,34.439999,9861600
+2005-07-05,34.250000,35.080002,34.200001,34.599998,34.599998,16086700
+2005-07-06,34.639999,34.970001,34.029999,34.119999,34.119999,13585700
+2005-07-07,33.869999,34.770000,33.720001,34.630001,34.630001,16354300
+2005-07-08,34.770000,34.869999,34.250000,34.619999,34.619999,15515400
+2005-07-11,34.900002,35.810001,34.779999,35.759998,35.759998,20233000
+2005-07-12,36.200001,36.490002,35.939999,36.230000,36.230000,19665800
+2005-07-13,36.419998,36.980000,36.410000,36.730000,36.730000,16897500
+2005-07-14,37.400002,37.500000,36.770000,36.860001,36.860001,14722200
+2005-07-15,37.049999,37.160000,36.500000,36.580002,36.580002,12372200
+2005-07-18,36.450001,36.779999,36.369999,36.580002,36.580002,11019300
+2005-07-19,37.020000,38.020000,36.560001,37.730000,37.730000,32685500
+2005-07-20,34.209999,34.349998,33.310001,33.400002,33.400002,82623300
+2005-07-21,33.750000,33.759998,32.750000,32.939999,32.939999,37778500
+2005-07-22,33.349998,33.770000,33.169998,33.529999,33.529999,27561500
+2005-07-25,33.880001,34.080002,33.590000,33.849998,33.849998,23252600
+2005-07-26,34.049999,34.299999,33.910000,34.150002,34.150002,16819200
+2005-07-27,34.220001,34.369999,33.950001,34.290001,34.290001,20497500
+2005-07-28,34.230000,34.310001,33.980000,34.009998,34.009998,11871600
+2005-07-29,34.009998,34.060001,33.340000,33.340000,33.340000,16236100
+2005-08-01,33.630001,33.689999,33.310001,33.330002,33.330002,12637100
+2005-08-02,33.459999,34.200001,33.389999,33.880001,33.880001,17581900
+2005-08-03,33.750000,34.680000,33.730000,34.509998,34.509998,18240600
+2005-08-04,34.259998,34.599998,34.000000,34.060001,34.060001,11143400
+2005-08-05,34.090000,34.279999,33.490002,33.520000,33.520000,11873800
+2005-08-08,33.860001,34.180000,33.660000,33.939999,33.939999,13066200
+2005-08-09,34.150002,34.320000,33.910000,34.060001,34.060001,9987400
+2005-08-10,34.279999,34.770000,34.000000,34.189999,34.189999,18047900
+2005-08-11,34.540001,35.000000,34.320000,34.939999,34.939999,22391900
+2005-08-12,34.860001,34.880001,34.450001,34.599998,34.599998,13306100
+2005-08-15,34.799999,34.869999,34.490002,34.599998,34.599998,11244500
+2005-08-16,34.570000,34.660000,34.209999,34.230000,34.230000,11867100
+2005-08-17,34.299999,34.730000,34.230000,34.389999,34.389999,10443700
+2005-08-18,34.130001,34.730000,34.119999,34.360001,34.360001,12154200
+2005-08-19,34.389999,34.470001,33.980000,34.000000,34.000000,12810400
+2005-08-22,34.070000,34.099998,33.070000,33.200001,33.200001,21054400
+2005-08-23,33.290001,33.330002,32.650002,33.110001,33.110001,16912700
+2005-08-24,32.919998,33.680000,32.880001,33.470001,33.470001,23249500
+2005-08-25,33.540001,33.619999,33.200001,33.480000,33.480000,12564900
+2005-08-26,33.509998,33.810001,33.380001,33.570000,33.570000,9833400
+2005-08-29,33.400002,33.779999,33.310001,33.680000,33.680000,11427600
+2005-08-30,33.500000,33.669998,33.000000,33.180000,33.180000,13496000
+2005-08-31,33.230000,33.389999,32.990002,33.320000,33.320000,13035500
+2005-09-01,33.279999,33.509998,33.040001,33.240002,33.240002,11848500
+2005-09-02,33.200001,33.369999,33.099998,33.169998,33.169998,6849000
+2005-09-06,33.180000,33.779999,33.180000,33.680000,33.680000,12513300
+2005-09-07,33.500000,34.259998,33.299999,34.060001,34.060001,12545300
+2005-09-08,33.740002,33.930000,33.200001,33.340000,33.340000,17464400
+2005-09-09,33.349998,33.599998,33.020000,33.459999,33.459999,15247900
+2005-09-12,33.419998,34.340000,33.410000,33.910000,33.910000,18580300
+2005-09-13,33.930000,34.709999,33.730000,34.299999,34.299999,19346600
+2005-09-14,34.299999,34.500000,33.639999,33.799999,33.799999,15017400
+2005-09-15,33.950001,33.990002,33.500000,33.570000,33.570000,10404800
+2005-09-16,33.740002,33.770000,33.049999,33.169998,33.169998,20858300
+2005-09-19,33.270000,33.470001,32.250000,32.750000,32.750000,15429900
+2005-09-20,32.880001,33.110001,32.360001,32.639999,32.639999,14578900
+2005-09-21,32.529999,33.099998,31.600000,31.969999,31.969999,21896000
+2005-09-22,32.090000,32.410000,31.760000,32.040001,32.040001,18259400
+2005-09-23,32.119999,32.250000,31.750000,32.130001,32.130001,14903700
+2005-09-26,32.480000,32.549999,31.990000,32.180000,32.180000,13548200
+2005-09-27,32.169998,32.610001,32.169998,32.480000,32.480000,12246900
+2005-09-28,32.669998,32.799999,32.270000,32.349998,32.349998,11622800
+2005-09-29,32.400002,33.700001,32.119999,33.459999,33.459999,22209100
+2005-09-30,33.590000,34.099998,33.560001,33.840000,33.840000,15697000
+2005-10-03,33.799999,34.119999,33.709999,33.770000,33.770000,13184500
+2005-10-04,33.750000,34.369999,33.509998,33.570000,33.570000,14331000
+2005-10-05,33.790001,33.930000,33.360001,33.490002,33.490002,14642000
+2005-10-06,33.950001,34.299999,33.540001,33.799999,33.799999,21836100
+2005-10-07,34.029999,34.290001,33.970001,34.160000,34.160000,12253200
+2005-10-10,34.200001,34.900002,34.119999,34.529999,34.529999,15227800
+2005-10-11,34.549999,34.840000,33.660000,34.099998,34.099998,16504700
+2005-10-12,33.990002,34.709999,33.910000,33.930000,33.930000,16089600
+2005-10-13,33.799999,33.849998,32.970001,33.369999,33.369999,16254600
+2005-10-14,33.619999,33.619999,32.770000,33.520000,33.520000,17425200
+2005-10-17,33.849998,34.299999,33.799999,34.160000,34.160000,21994600
+2005-10-18,34.400002,34.759998,33.639999,33.700001,33.700001,35010300
+2005-10-19,34.619999,35.939999,34.590000,35.910000,35.910000,63254000
+2005-10-20,35.900002,36.939999,35.049999,35.259998,35.259998,29267000
+2005-10-21,35.990002,36.330002,35.189999,35.290001,35.290001,28423400
+2005-10-24,35.299999,35.490002,34.939999,35.279999,35.279999,19591900
+2005-10-25,35.189999,35.380001,34.889999,35.119999,35.119999,14441100
+2005-10-26,35.060001,35.750000,34.970001,35.459999,35.459999,17125600
+2005-10-27,35.340000,35.660000,35.299999,35.450001,35.450001,11605000
+2005-10-28,35.619999,35.919998,35.250000,35.580002,35.580002,14123800
+2005-10-31,35.599998,37.270000,35.599998,36.970001,36.970001,24867100
+2005-11-01,36.619999,38.709999,36.590000,37.720001,37.720001,41932100
+2005-11-02,37.490002,38.040001,37.430000,37.990002,37.990002,17886200
+2005-11-03,38.259998,38.279999,37.330002,37.450001,37.450001,16880800
+2005-11-04,37.590000,37.990002,37.369999,37.869999,37.869999,11656100
+2005-11-07,37.689999,38.180000,37.410000,37.900002,37.900002,11652700
+2005-11-08,37.750000,38.500000,37.599998,37.970001,37.970001,14434400
+2005-11-09,37.759998,38.040001,37.430000,37.750000,37.750000,12217600
+2005-11-10,37.520000,38.750000,37.520000,38.689999,38.689999,13722400
+2005-11-11,38.689999,39.049999,38.340000,38.490002,38.490002,12234400
+2005-11-14,38.430000,38.720001,37.959999,38.450001,38.450001,10112500
+2005-11-15,38.259998,38.610001,37.540001,37.650002,37.650002,11981600
+2005-11-16,37.900002,40.070000,37.860001,40.040001,40.040001,39464600
+2005-11-17,40.320000,42.500000,40.029999,42.230000,42.230000,44796000
+2005-11-18,42.040001,42.410000,41.290001,41.540001,41.540001,30747600
+2005-11-21,41.259998,42.980000,41.209999,42.270000,42.270000,27915500
+2005-11-22,41.730000,42.650002,41.650002,42.360001,42.360001,26389500
+2005-11-23,42.209999,43.450001,42.169998,42.500000,42.500000,21471000
+2005-11-25,42.709999,42.840000,41.939999,42.130001,42.130001,8253000
+2005-11-28,41.630001,41.770000,40.660000,41.110001,41.110001,23190900
+2005-11-29,41.009998,41.590000,39.820000,40.189999,40.189999,28698200
+2005-11-30,39.380001,40.840000,39.090000,40.230000,40.230000,31608700
+2005-12-01,40.740002,41.250000,40.540001,41.070000,41.070000,20069600
+2005-12-02,41.220001,41.849998,40.889999,41.209999,41.209999,14411400
+2005-12-05,40.880001,41.029999,40.369999,40.470001,40.470001,15389400
+2005-12-06,40.779999,41.180000,40.119999,40.189999,40.189999,16356800
+2005-12-07,40.310001,40.630001,39.570000,40.110001,40.110001,15644900
+2005-12-08,40.250000,40.540001,39.950001,40.349998,40.349998,12851600
+2005-12-09,40.500000,40.869999,40.200001,40.310001,40.310001,11116900
+2005-12-12,40.410000,40.540001,39.810001,40.080002,40.080002,9776300
+2005-12-13,40.009998,41.400002,40.000000,41.200001,41.200001,17264700
+2005-12-14,41.119999,41.680000,40.840000,41.299999,41.299999,23034200
+2005-12-15,41.230000,41.840000,41.139999,41.750000,41.750000,20900800
+2005-12-16,41.860001,42.669998,41.750000,42.320000,42.320000,21805000
+2005-12-19,42.160000,42.889999,40.880001,41.049999,41.049999,18563700
+2005-12-20,41.259998,41.360001,40.480000,40.680000,40.680000,15269500
+2005-12-21,40.520000,41.049999,40.349998,40.470001,40.470001,11626900
+2005-12-22,40.689999,41.680000,40.549999,40.830002,40.830002,9548300
+2005-12-23,41.090000,41.099998,40.450001,40.630001,40.630001,5070200
+2005-12-27,40.650002,40.939999,39.849998,39.939999,39.939999,11672900
+2005-12-28,40.099998,40.480000,39.770000,40.250000,40.250000,11567900
+2005-12-29,40.250000,40.349998,39.410000,39.560001,39.560001,10116600
+2005-12-30,39.400002,39.560001,39.049999,39.180000,39.180000,12233000
+2006-01-03,39.689999,41.220001,38.790001,40.910000,40.910000,24227700
+2006-01-04,41.220001,41.900002,40.770000,40.970001,40.970001,20549000
+2006-01-05,40.930000,41.730000,40.849998,41.529999,41.529999,12829100
+2006-01-06,42.880001,43.570000,42.799999,43.209999,43.209999,29418400
+2006-01-09,43.099998,43.660000,42.820000,43.419998,43.419998,16266900
+2006-01-10,42.959999,43.340000,42.340000,42.980000,42.980000,16287200
+2006-01-11,42.189999,42.310001,41.720001,41.869999,41.869999,26191400
+2006-01-12,41.919998,41.990002,40.759998,40.889999,40.889999,18921700
+2006-01-13,41.000000,41.080002,39.619999,39.900002,39.900002,30960800
+2006-01-17,39.090000,40.389999,38.959999,40.110001,40.110001,41797000
+2006-01-18,35.009998,36.160000,34.740002,35.180000,35.180000,118556100
+2006-01-19,35.820000,35.840000,34.240002,34.330002,34.330002,60913000
+2006-01-20,34.439999,34.660000,33.209999,33.740002,33.740002,57644600
+2006-01-23,34.220001,34.400002,33.980000,34.169998,34.169998,30887600
+2006-01-24,34.549999,35.200001,34.509998,34.869999,34.869999,31667800
+2006-01-25,35.430000,35.480000,34.380001,34.490002,34.490002,23779200
+2006-01-26,34.939999,35.250000,34.490002,35.169998,35.169998,28471400
+2006-01-27,35.259998,35.270000,34.660000,35.090000,35.090000,24317400
+2006-01-30,35.090000,35.230000,34.880001,35.049999,35.049999,29030600
+2006-01-31,35.200001,35.200001,34.310001,34.380001,34.380001,36538000
+2006-02-01,34.450001,35.000000,34.349998,35.000000,35.000000,43600400
+2006-02-02,35.009998,35.099998,34.099998,34.250000,34.250000,18323500
+2006-02-03,34.000000,34.049999,33.259998,33.540001,33.540001,32639600
+2006-02-06,33.900002,33.950001,32.779999,32.919998,32.919998,23523100
+2006-02-07,33.009998,33.099998,32.320000,33.020000,33.020000,37236800
+2006-02-08,33.240002,33.400002,32.509998,33.000000,33.000000,28112900
+2006-02-09,33.009998,33.360001,32.400002,32.500000,32.500000,25335200
+2006-02-10,32.580002,32.599998,32.099998,32.509998,32.509998,19628600
+2006-02-13,32.209999,32.439999,31.700001,32.040001,32.040001,26139300
+2006-02-14,32.139999,32.830002,32.049999,32.720001,32.720001,26198600
+2006-02-15,32.619999,33.330002,32.549999,33.020000,33.020000,19542100
+2006-02-16,33.299999,33.400002,32.599998,32.750000,32.750000,19500100
+2006-02-17,32.880001,33.139999,32.709999,32.759998,32.759998,12620200
+2006-02-21,32.900002,33.070000,32.380001,32.389999,32.389999,14328100
+2006-02-22,32.490002,33.340000,32.400002,33.160000,33.160000,18433500
+2006-02-23,33.009998,33.660000,32.880001,33.150002,33.150002,14947600
+2006-02-24,33.200001,33.340000,32.919998,33.009998,33.009998,10136400
+2006-02-27,33.110001,33.209999,32.570000,32.740002,32.740002,11821900
+2006-02-28,32.630001,32.980000,31.340000,32.060001,32.060001,39926200
+2006-03-01,32.209999,32.419998,31.719999,32.180000,32.180000,18466100
+2006-03-02,32.009998,32.110001,31.580000,31.700001,31.700001,23487300
+2006-03-03,31.700001,32.070000,31.379999,31.450001,31.450001,23196000
+2006-03-06,31.530001,31.940001,31.450001,31.570000,31.570000,17211200
+2006-03-07,31.420000,32.200001,31.309999,31.430000,31.430000,23365100
+2006-03-08,31.309999,31.549999,30.820000,30.990000,30.990000,20910200
+2006-03-09,31.049999,31.320000,30.250000,30.280001,30.280001,18277000
+2006-03-10,30.400000,31.100000,29.750000,30.580000,30.580000,28991400
+2006-03-13,30.719999,30.969999,30.120001,30.150000,30.150000,18437700
+2006-03-14,30.100000,31.000000,30.100000,30.990000,30.990000,19294700
+2006-03-15,31.250000,31.280001,30.469999,30.530001,30.530001,20758000
+2006-03-16,30.770000,30.879999,30.100000,30.129999,30.129999,17108000
+2006-03-17,30.350000,30.360001,29.830000,30.070000,30.070000,23629700
+2006-03-20,30.379999,30.930000,30.200001,30.440001,30.440001,21455200
+2006-03-21,30.110001,30.780001,30.020000,30.110001,30.110001,18876400
+2006-03-22,30.330000,30.910000,30.309999,30.750000,30.750000,23147400
+2006-03-23,31.520000,31.950001,31.480000,31.830000,31.830000,33834000
+2006-03-24,32.279999,32.310001,31.530001,31.770000,31.770000,17816500
+2006-03-27,31.840000,32.080002,31.299999,31.450001,31.450001,14858500
+2006-03-28,31.450001,32.500000,31.410000,32.389999,32.389999,25981500
+2006-03-29,32.439999,32.910000,32.139999,32.560001,32.560001,25508200
+2006-03-30,32.750000,32.830002,32.090000,32.419998,32.419998,14314000
+2006-03-31,32.450001,32.630001,32.009998,32.259998,32.259998,12677300
+2006-04-03,32.410000,32.529999,31.790001,31.889999,31.889999,14887900
+2006-04-04,31.690001,32.250000,31.660000,32.099998,32.099998,16232700
+2006-04-05,32.299999,32.500000,31.959999,32.110001,32.110001,11982500
+2006-04-06,32.119999,33.139999,32.110001,32.790001,32.790001,21572600
+2006-04-07,32.849998,32.970001,32.209999,32.270000,32.270000,12980200
+2006-04-10,32.279999,32.630001,32.119999,32.549999,32.549999,9618000
+2006-04-11,32.450001,32.599998,31.150000,31.389999,31.389999,22105600
+2006-04-12,31.440001,31.500000,30.889999,31.100000,31.100000,14926900
+2006-04-13,31.139999,31.400000,30.850000,31.129999,31.129999,15609800
+2006-04-17,31.160000,31.790001,30.660000,30.969999,30.969999,18239900
+2006-04-18,31.170000,31.379999,30.530001,31.299999,31.299999,38604500
+2006-04-19,33.470001,33.980000,32.759998,33.540001,33.540001,77253600
+2006-04-20,33.480000,33.700001,32.930000,33.369999,33.369999,23403900
+2006-04-21,33.360001,34.090000,32.700001,32.889999,32.889999,25215000
+2006-04-24,33.009998,33.450001,32.900002,33.009998,33.009998,15441600
+2006-04-25,32.990002,33.060001,31.879999,31.990000,31.990000,22363200
+2006-04-26,32.299999,33.090000,32.099998,33.000000,33.000000,24426400
+2006-04-27,32.790001,33.500000,32.400002,33.200001,33.200001,19635700
+2006-04-28,32.880001,33.450001,32.779999,32.779999,32.779999,13283500
+2006-05-01,32.990002,33.099998,31.860001,32.080002,32.080002,19752200
+2006-05-02,32.200001,32.910000,31.719999,31.850000,31.850000,16276000
+2006-05-03,32.400002,33.000000,31.750000,32.169998,32.169998,23292600
+2006-05-04,32.400002,32.560001,32.080002,32.189999,32.189999,10402300
+2006-05-05,32.630001,32.750000,32.220001,32.660000,32.660000,14689200
+2006-05-08,33.090000,33.430000,32.630001,32.869999,32.869999,18188200
+2006-05-09,32.680000,34.000000,32.349998,32.490002,32.490002,13396400
+2006-05-10,32.480000,32.560001,32.000000,32.090000,32.090000,13797500
+2006-05-11,31.959999,32.169998,30.870001,30.990000,30.990000,24277000
+2006-05-12,30.709999,31.180000,30.379999,30.809999,30.809999,16745600
+2006-05-15,30.850000,31.250000,30.600000,31.030001,31.030001,13350700
+2006-05-16,31.100000,31.219999,30.629999,30.969999,30.969999,15333700
+2006-05-17,30.610001,31.260000,30.040001,30.110001,30.110001,39847500
+2006-05-18,30.100000,30.360001,28.930000,29.000000,29.000000,38254000
+2006-05-19,29.049999,29.750000,28.600000,29.530001,29.530001,33121900
+2006-05-22,30.420000,30.980000,29.889999,30.459999,30.459999,35089300
+2006-05-23,31.040001,31.629999,30.760000,30.760000,30.760000,28583400
+2006-05-24,30.950001,32.020000,30.709999,31.790001,31.790001,27286300
+2006-05-25,32.939999,33.500000,32.500000,32.919998,32.919998,34732700
+2006-05-26,32.860001,33.020000,32.349998,33.020000,33.020000,13842600
+2006-05-30,32.730000,32.889999,31.790001,32.000000,32.000000,16247600
+2006-05-31,32.189999,32.320000,31.110001,31.590000,31.590000,21306700
+2006-06-01,31.830000,32.000000,31.490000,31.990000,31.990000,16652400
+2006-06-02,32.110001,32.189999,31.299999,31.520000,31.520000,16470900
+2006-06-05,31.190001,31.430000,30.790001,30.820000,30.820000,17188500
+2006-06-06,30.830000,30.969999,30.350000,30.700001,30.700001,15615600
+2006-06-07,30.799999,31.250000,30.360001,30.540001,30.540001,17470100
+2006-06-08,30.430000,30.990000,29.830000,30.450001,30.450001,20538600
+2006-06-09,30.700001,30.799999,30.230000,30.370001,30.370001,10044700
+2006-06-12,30.370001,30.650000,29.660000,29.780001,29.780001,14344600
+2006-06-13,29.770000,30.200001,29.510000,29.650000,29.650000,16435700
+2006-06-14,29.809999,30.000000,29.250000,29.620001,29.620001,19257500
+2006-06-15,29.980000,30.959999,29.719999,30.790001,30.790001,22375000
+2006-06-16,30.700001,30.860001,30.150000,30.360001,30.360001,12951700
+2006-06-19,30.510000,30.750000,30.059999,30.350000,30.350000,12236700
+2006-06-20,30.420000,30.650000,30.100000,30.600000,30.600000,12613200
+2006-06-21,30.770000,31.540001,30.650000,31.059999,31.059999,18252900
+2006-06-22,30.850000,31.160000,30.440001,30.680000,30.680000,11500300
+2006-06-23,31.080000,31.760000,30.820000,31.370001,31.370001,17378500
+2006-06-26,31.450001,31.700001,31.160000,31.549999,31.549999,11457000
+2006-06-27,31.850000,32.220001,31.320000,31.510000,31.510000,16589400
+2006-06-28,31.750000,32.169998,31.700001,31.920000,31.920000,14032800
+2006-06-29,32.259998,33.000000,32.200001,32.970001,32.970001,15745900
+2006-06-30,33.009998,33.119999,32.540001,33.000000,33.000000,22566600
+2006-07-03,32.900002,33.439999,32.900002,33.299999,33.299999,8067100
+2006-07-05,32.849998,32.990002,32.330002,32.470001,32.470001,13453900
+2006-07-06,32.770000,33.220001,32.700001,33.110001,33.110001,13801500
+2006-07-07,32.939999,33.049999,32.369999,32.500000,32.500000,12372500
+2006-07-10,32.910000,33.139999,32.730000,32.849998,32.849998,15317600
+2006-07-11,32.790001,33.349998,32.320000,33.169998,33.169998,11285900
+2006-07-12,33.029999,33.740002,32.990002,33.380001,33.380001,18708400
+2006-07-13,32.849998,33.160000,32.070000,32.230000,32.230000,19463500
+2006-07-14,32.340000,32.480000,31.850000,32.080002,32.080002,12484700
+2006-07-17,31.980000,32.400002,31.690001,31.840000,31.840000,16369600
+2006-07-18,32.080002,32.259998,31.250000,32.240002,32.240002,39767700
+2006-07-19,26.410000,26.700001,25.040001,25.200001,25.200001,204339000
+2006-07-20,25.549999,26.209999,24.910000,25.270000,25.270000,54659700
+2006-07-21,24.990000,26.059999,24.910000,25.889999,25.889999,36187100
+2006-07-24,26.240000,27.230000,25.889999,26.940001,26.940001,42631300
+2006-07-25,26.750000,27.190001,26.570000,26.950001,26.950001,21388800
+2006-07-26,26.780001,27.510000,26.570000,27.080000,27.080000,20073800
+2006-07-27,27.350000,27.500000,26.639999,26.700001,26.700001,25153000
+2006-07-28,26.900000,27.500000,26.330000,27.469999,27.469999,21584800
+2006-07-31,27.459999,27.549999,26.990000,27.139999,27.139999,16492600
+2006-08-01,27.059999,27.120001,26.740000,26.940001,26.940001,18613100
+2006-08-02,27.010000,27.100000,26.450001,26.629999,26.629999,18116200
+2006-08-03,26.500000,27.049999,26.400000,26.900000,26.900000,15468500
+2006-08-04,27.200001,27.580000,26.830000,26.990000,26.990000,11607900
+2006-08-07,26.920000,27.110001,26.580000,27.080000,27.080000,12847200
+2006-08-08,26.950001,27.700001,26.629999,27.440001,27.440001,19332800
+2006-08-09,27.750000,27.850000,27.000000,27.219999,27.219999,14736100
+2006-08-10,26.950001,27.799999,26.850000,27.490000,27.490000,12597900
+2006-08-11,27.520000,27.719999,27.400000,27.500000,27.500000,9252200
+2006-08-14,27.709999,27.799999,27.000000,27.260000,27.260000,10640100
+2006-08-15,27.580000,28.200001,27.480000,28.170000,28.170000,15298500
+2006-08-16,28.350000,28.459999,27.969999,28.389999,28.389999,12589400
+2006-08-17,28.379999,29.320000,28.340000,28.910000,28.910000,17251600
+2006-08-18,28.900000,29.969999,28.770000,29.780001,29.780001,19611300
+2006-08-21,29.219999,29.520000,28.830000,28.900000,28.900000,11575200
+2006-08-22,28.840000,29.650000,28.799999,29.260000,29.260000,10891800
+2006-08-23,29.340000,29.469999,28.680000,28.700001,28.700001,8837400
+2006-08-24,28.750000,29.129999,28.700001,28.990000,28.990000,8983600
+2006-08-25,28.950001,29.280001,28.740000,28.770000,28.770000,6203800
+2006-08-28,28.750000,29.250000,28.700001,28.910000,28.910000,10404700
+2006-08-29,28.860001,29.010000,28.510000,28.959999,28.959999,9888800
+2006-08-30,29.000000,29.139999,28.709999,29.020000,29.020000,13119300
+2006-08-31,28.990000,29.020000,28.590000,28.830000,28.830000,8879300
+2006-09-01,28.910000,29.530001,28.910000,29.490000,29.490000,11573600
+2006-09-05,29.450001,29.480000,28.950001,29.070000,29.070000,11425600
+2006-09-06,28.940001,29.010000,28.490000,28.500000,28.500000,12800600
+2006-09-07,28.400000,28.510000,27.820000,27.860001,27.860001,18434400
+2006-09-08,28.040001,28.320000,27.969999,28.139999,28.139999,9781800
+2006-09-11,28.049999,28.730000,27.670000,28.610001,28.610001,12936000
+2006-09-12,28.549999,29.219999,28.459999,29.090000,29.090000,10005000
+2006-09-13,29.059999,29.370001,28.799999,29.170000,29.170000,15248400
+2006-09-14,29.100000,29.240000,28.889999,29.030001,29.030001,9565500
+2006-09-15,29.299999,29.570000,29.219999,29.320000,29.320000,19550300
+2006-09-18,29.370001,29.389999,28.580000,29.000000,29.000000,15685000
+2006-09-19,29.090000,29.129999,25.100000,25.750000,25.750000,127718600
+2006-09-20,26.040001,26.090000,25.379999,25.639999,25.639999,55636600
+2006-09-21,25.530001,25.950001,25.209999,25.340000,25.340000,28584500
+2006-09-22,25.340000,25.690001,25.180000,25.520000,25.520000,20667400
+2006-09-25,25.639999,25.870001,25.200001,25.290001,25.290001,19992400
+2006-09-26,25.440001,25.480000,24.809999,25.049999,25.049999,34950100
+2006-09-27,25.000000,25.010000,24.600000,24.650000,24.650000,29835900
+2006-09-28,24.870001,25.500000,24.840000,25.330000,25.330000,35331200
+2006-09-29,25.500000,25.590000,25.240000,25.280001,25.280001,18982600
+2006-10-02,25.450001,25.459999,24.750000,24.879999,24.879999,19641300
+2006-10-03,24.809999,25.000000,24.700001,24.840000,24.840000,21148300
+2006-10-04,24.889999,25.260000,24.740000,25.209999,25.209999,21717900
+2006-10-05,25.160000,25.250000,24.879999,25.180000,25.180000,17634000
+2006-10-06,25.090000,25.500000,25.010000,25.469999,25.469999,20847000
+2006-10-09,25.450001,25.719999,25.000000,25.030001,25.030001,15729500
+2006-10-10,24.940001,25.030001,24.320000,24.469999,24.469999,30371900
+2006-10-11,24.290001,24.639999,23.799999,24.240000,24.240000,39356300
+2006-10-12,24.320000,24.379999,24.100000,24.120001,24.120001,25824500
+2006-10-13,23.900000,24.500000,23.570000,24.420000,24.420000,51338900
+2006-10-16,24.340000,24.520000,23.750000,24.180000,24.180000,36496400
+2006-10-17,23.740000,24.350000,23.680000,24.150000,24.150000,67417200
+2006-10-18,24.570000,24.750000,22.879999,22.990000,22.990000,111660900
+2006-10-19,23.020000,23.590000,23.000000,23.139999,23.139999,42280400
+2006-10-20,23.219999,23.270000,22.650000,23.209999,23.209999,49795600
+2006-10-23,23.139999,23.500000,23.100000,23.370001,23.370001,26301200
+2006-10-24,23.350000,23.639999,23.150000,23.530001,23.530001,31704000
+2006-10-25,23.730000,24.639999,23.690001,24.490000,24.490000,40110600
+2006-10-26,24.700001,25.330000,24.360001,25.280001,25.280001,38435800
+2006-10-27,25.230000,25.600000,24.900000,25.340000,25.340000,29647200
+2006-10-30,25.870001,26.400000,25.660000,25.950001,25.950001,35295800
+2006-10-31,26.440001,26.700001,26.100000,26.340000,26.340000,33492800
+2006-11-01,26.500000,26.620001,25.820000,25.990000,25.990000,26300200
+2006-11-02,25.940001,26.600000,25.770000,26.530001,26.530001,34824500
+2006-11-03,26.629999,26.700001,26.040001,26.180000,26.180000,15313800
+2006-11-06,26.340000,26.700001,26.100000,26.590000,26.590000,22563600
+2006-11-07,26.690001,27.150000,26.580000,26.610001,26.610001,28442700
+2006-11-08,26.360001,27.250000,26.309999,26.900000,26.900000,23384800
+2006-11-09,27.180000,27.650000,26.959999,27.450001,27.450001,27428600
+2006-11-10,27.400000,27.500000,27.030001,27.389999,27.389999,21366600
+2006-11-13,27.170000,27.620001,27.150000,27.400000,27.400000,16876500
+2006-11-14,27.400000,27.500000,27.110001,27.240000,27.240000,20145700
+2006-11-15,27.180000,27.500000,27.030001,27.150000,27.150000,22112700
+2006-11-16,27.309999,27.330000,26.200001,26.639999,26.639999,38508500
+2006-11-17,26.680000,27.049999,26.629999,26.910000,26.910000,17955200
+2006-11-20,26.959999,27.040001,26.629999,26.719999,26.719999,20272000
+2006-11-21,26.500000,27.340000,26.500000,27.139999,27.139999,21138300
+2006-11-22,27.510000,28.559999,27.290001,28.490000,28.490000,32055800
+2006-11-24,28.219999,28.490000,27.700001,28.030001,28.030001,9384400
+2006-11-27,27.500000,28.500000,27.170000,27.270000,27.270000,19922300
+2006-11-28,27.030001,27.240000,26.850000,27.000000,27.000000,14940800
+2006-11-29,27.400000,27.400000,26.709999,27.040001,27.040001,19375100
+2006-11-30,27.000000,27.150000,26.730000,27.010000,27.010000,14916300
+2006-12-01,27.000000,27.250000,26.000000,26.490000,26.490000,20055800
+2006-12-04,26.490000,27.299999,26.490000,26.889999,26.889999,28012700
+2006-12-05,26.870001,27.610001,26.860001,27.430000,27.430000,27118200
+2006-12-06,27.250000,27.450001,26.600000,26.860001,26.860001,35202800
+2006-12-07,26.950001,27.160000,26.600000,26.629999,26.629999,22407000
+2006-12-08,26.650000,26.780001,26.270000,26.340000,26.340000,19262200
+2006-12-11,26.370001,26.700001,26.120001,26.490000,26.490000,12916900
+2006-12-12,26.629999,27.379999,26.600000,26.750000,26.750000,31971600
+2006-12-13,27.049999,27.230000,26.510000,26.600000,26.600000,20428600
+2006-12-14,26.629999,26.969999,26.500000,26.870001,26.870001,14400300
+2006-12-15,27.000000,27.219999,26.760000,26.900000,26.900000,27227300
+2006-12-18,26.889999,26.969999,26.070000,26.299999,26.299999,19431200
+2006-12-19,26.049999,26.500000,25.910000,26.410000,26.410000,18973800
+2006-12-20,26.240000,26.309999,25.540001,25.590000,25.590000,24905600
+2006-12-21,25.709999,25.750000,25.129999,25.480000,25.480000,27050600
+2006-12-22,25.670000,25.879999,25.450001,25.549999,25.549999,14666100
+2006-12-26,25.490000,25.610001,25.340000,25.450001,25.450001,8400500
+2006-12-27,25.469999,25.879999,25.450001,25.750000,25.750000,12421800
+2006-12-28,25.620001,25.719999,25.299999,25.360001,25.360001,11908400
+2006-12-29,25.420000,25.820000,25.330000,25.540001,25.540001,16297800
+2007-01-03,25.850000,26.260000,25.260000,25.610001,25.610001,26352700
+2007-01-04,25.639999,26.920000,25.520000,26.850000,26.850000,32512200
+2007-01-05,26.700001,27.870001,26.660000,27.740000,27.740000,64264600
+2007-01-08,27.700001,28.040001,27.430000,27.920000,27.920000,25713700
+2007-01-09,28.000000,28.049999,27.410000,27.580000,27.580000,25621500
+2007-01-10,27.480000,28.920000,27.440001,28.700001,28.700001,40240000
+2007-01-11,28.760000,29.370001,28.700001,29.200001,29.200001,28457500
+2007-01-12,28.980000,29.500000,28.490000,29.450001,29.450001,20971100
+2007-01-16,29.879999,29.879999,28.790001,29.290001,29.290001,24448400
+2007-01-17,29.400000,29.400000,28.809999,29.049999,29.049999,17796100
+2007-01-18,28.920000,28.990000,27.820000,28.120001,28.120001,23869400
+2007-01-19,27.930000,28.340000,27.549999,27.639999,27.639999,24757700
+2007-01-22,27.850000,27.900000,27.180000,27.420000,27.420000,23199800
+2007-01-23,27.420000,27.540001,26.879999,26.959999,26.959999,43728100
+2007-01-24,28.340000,29.200001,28.219999,28.940001,28.940001,81017500
+2007-01-25,28.680000,29.049999,28.129999,28.209999,28.209999,28356200
+2007-01-26,28.330000,28.520000,27.959999,28.040001,28.040001,21334800
+2007-01-29,28.049999,28.209999,27.730000,27.870001,27.870001,16859000
+2007-01-30,27.870001,28.389999,27.610001,28.040001,28.040001,13576600
+2007-01-31,28.040001,28.480000,27.820000,28.309999,28.309999,14100300
+2007-02-01,28.680000,28.709999,28.150000,28.350000,28.350000,17905200
+2007-02-02,28.570000,28.920000,28.450001,28.770000,28.770000,16483100
+2007-02-05,28.670000,28.799999,28.360001,28.559999,28.559999,11163300
+2007-02-06,28.610001,29.559999,28.600000,29.350000,29.350000,24506800
+2007-02-07,29.350000,30.150000,29.120001,29.889999,29.889999,29162600
+2007-02-08,29.750000,30.240000,29.730000,30.080000,30.080000,15561700
+2007-02-09,30.070000,30.160000,29.510000,29.740000,29.740000,18172200
+2007-02-12,29.290001,29.770000,29.049999,29.170000,29.170000,18316200
+2007-02-13,29.370001,29.680000,29.260000,29.559999,29.559999,12802300
+2007-02-14,29.690001,30.860001,29.639999,30.660000,30.660000,30821100
+2007-02-15,30.820000,31.650000,30.690001,31.250000,31.250000,28160300
+2007-02-16,31.000000,32.000000,31.000000,31.910000,31.910000,36774800
+2007-02-20,31.799999,32.209999,31.389999,32.009998,32.009998,20026500
+2007-02-21,31.740000,31.770000,31.219999,31.650000,31.650000,27999200
+2007-02-22,31.600000,32.080002,31.320000,31.600000,31.600000,15485100
+2007-02-23,31.600000,32.180000,31.410000,32.099998,32.099998,21533500
+2007-02-26,32.799999,32.840000,30.850000,32.110001,32.110001,28295200
+2007-02-27,31.379999,31.639999,30.240000,30.950001,30.950001,31505200
+2007-02-28,30.860001,31.469999,30.090000,30.860001,30.860001,30487800
+2007-03-01,30.129999,31.230000,30.000000,30.860001,30.860001,24012900
+2007-03-02,30.540001,30.889999,30.280001,30.420000,30.420000,18136600
+2007-03-05,30.180000,31.900000,30.139999,30.309999,30.309999,21469000
+2007-03-06,30.889999,31.059999,30.520000,30.799999,30.799999,33472600
+2007-03-07,30.950001,31.030001,30.330000,30.389999,30.389999,16014300
+2007-03-08,30.820000,31.040001,30.580000,30.709999,30.709999,13715100
+2007-03-09,29.850000,30.150000,28.790001,29.120001,29.120001,72749900
+2007-03-12,29.299999,30.110001,29.290001,29.990000,29.990000,35991600
+2007-03-13,29.770000,30.240000,29.420000,29.559999,29.559999,18263800
+2007-03-14,29.629999,30.040001,29.260000,29.860001,29.860001,23604900
+2007-03-15,29.809999,30.070000,29.780001,30.059999,30.059999,15440900
+2007-03-16,30.020000,30.110001,29.719999,29.879999,29.879999,19799300
+2007-03-19,30.000000,30.190001,29.920000,30.030001,30.030001,9983800
+2007-03-20,30.000000,30.350000,29.940001,30.330000,30.330000,12203800
+2007-03-21,30.330000,31.389999,30.209999,31.290001,31.290001,26667300
+2007-03-22,31.360001,31.440001,30.850000,31.260000,31.260000,12989800
+2007-03-23,31.330000,31.700001,31.160000,31.360001,31.360001,12727900
+2007-03-26,31.250000,31.740000,31.240000,31.660000,31.660000,12907000
+2007-03-27,31.559999,31.660000,31.240000,31.549999,31.549999,9403100
+2007-03-28,31.450001,31.700001,31.250000,31.410000,31.410000,13162500
+2007-03-29,31.709999,31.730000,30.830000,31.340000,31.340000,13815000
+2007-03-30,31.209999,31.600000,31.020000,31.290001,31.290001,9425000
+2007-04-02,31.219999,31.400000,30.930000,31.280001,31.280001,8668800
+2007-04-03,31.410000,32.000000,31.410000,31.719999,31.719999,12324600
+2007-04-04,31.610001,31.870001,31.480000,31.620001,31.620001,7836200
+2007-04-05,32.000000,32.090000,31.719999,31.959999,31.959999,13878100
+2007-04-09,32.009998,32.240002,31.600000,31.639999,31.639999,12408000
+2007-04-10,31.639999,32.020000,31.600000,31.690001,31.690001,12797600
+2007-04-11,31.650000,31.730000,30.900000,31.170000,31.170000,16141100
+2007-04-12,31.260000,31.420000,31.100000,31.209999,31.209999,13904800
+2007-04-13,31.150000,31.500000,30.959999,31.410000,31.410000,12006300
+2007-04-16,31.680000,31.790001,31.240000,31.610001,31.610001,14359100
+2007-04-17,31.980000,32.139999,31.709999,32.090000,32.090000,43223800
+2007-04-18,28.420000,28.900000,27.889999,28.309999,28.309999,127875300
+2007-04-19,28.100000,28.230000,27.459999,27.510000,27.510000,45664700
+2007-04-20,27.860001,27.860001,27.370001,27.459999,27.459999,39123300
+2007-04-23,27.530001,28.139999,27.370001,27.879999,27.879999,27262400
+2007-04-24,28.030001,28.260000,27.690001,28.020000,28.020000,25964000
+2007-04-25,28.219999,28.270000,27.680000,28.059999,28.059999,35568600
+2007-04-26,27.980000,28.650000,27.730000,28.490000,28.490000,32331000
+2007-04-27,28.350000,28.860001,28.170000,28.340000,28.340000,21097000
+2007-04-30,28.320000,28.500000,28.000000,28.040001,28.040001,17596300
+2007-05-01,28.250000,28.350000,27.530001,27.730000,27.730000,18310900
+2007-05-02,27.719999,28.260000,27.719999,28.120001,28.120001,16911800
+2007-05-03,28.250000,28.500000,28.010000,28.180000,28.180000,20119500
+2007-05-04,33.270000,33.610001,29.580000,30.980000,30.980000,245611400
+2007-05-07,30.129999,30.980000,29.860001,30.379999,30.379999,41243900
+2007-05-08,30.240000,31.100000,30.209999,30.410000,30.410000,28018200
+2007-05-09,30.170000,30.440001,29.950001,30.219999,30.219999,23533100
+2007-05-10,30.520000,30.690001,29.610001,29.700001,29.700001,26570200
+2007-05-11,29.620001,30.080000,29.530001,30.049999,30.049999,13838800
+2007-05-14,29.790001,30.000000,29.080000,29.309999,29.309999,20895900
+2007-05-15,29.160000,29.420000,28.750000,28.809999,28.809999,22226800
+2007-05-16,28.889999,29.370001,28.250000,29.209999,29.209999,32944800
+2007-05-17,28.990000,29.129999,28.490000,28.570000,28.570000,23535000
+2007-05-18,28.900000,29.799999,28.780001,29.750000,29.750000,35487200
+2007-05-21,29.620001,29.860001,29.320000,29.350000,29.350000,18955900
+2007-05-22,29.330000,29.350000,28.780001,28.920000,28.920000,19131300
+2007-05-23,29.100000,29.370001,28.530001,28.610001,28.610001,27964400
+2007-05-24,28.650000,28.879999,28.250000,28.410000,28.410000,19122900
+2007-05-25,28.440001,28.730000,28.340000,28.580000,28.580000,10334600
+2007-05-29,28.360001,28.730000,28.200001,28.400000,28.400000,13981500
+2007-05-30,28.190001,28.379999,28.000000,28.379999,28.379999,16046800
+2007-05-31,28.760000,28.850000,28.490000,28.700001,28.700001,15859100
+2007-06-01,28.900000,29.129999,28.610001,28.780001,28.780001,12398800
+2007-06-04,28.600000,28.780001,28.400000,28.590000,28.590000,13428800
+2007-06-05,28.400000,28.590000,28.100000,28.230000,28.230000,20494800
+2007-06-06,28.049999,28.110001,27.299999,27.440001,27.440001,33508200
+2007-06-07,27.340000,27.730000,26.980000,26.980000,26.980000,34232300
+2007-06-08,27.020000,27.450001,26.959999,27.389999,27.389999,18618500
+2007-06-11,27.270000,27.520000,27.150000,27.350000,27.350000,14856500
+2007-06-12,27.299999,27.660000,26.980000,27.049999,27.049999,22203600
+2007-06-13,27.120001,27.410000,26.610001,27.379999,27.379999,31210700
+2007-06-14,27.379999,27.639999,27.150000,27.299999,27.299999,18919400
+2007-06-15,27.490000,27.520000,27.190001,27.309999,27.309999,23816900
+2007-06-18,27.719999,28.340000,27.500000,28.120001,28.120001,70919400
+2007-06-19,29.400000,29.400000,27.540001,27.629999,27.629999,65967500
+2007-06-20,27.889999,28.170000,27.660000,27.660000,27.660000,33496400
+2007-06-21,27.690001,27.940001,27.549999,27.670000,27.670000,17885800
+2007-06-22,27.680000,27.790001,27.309999,27.379999,27.379999,33796900
+2007-06-25,27.600000,27.770000,27.340000,27.639999,27.639999,21232200
+2007-06-26,27.730000,28.180000,27.360001,27.709999,27.709999,25324000
+2007-06-27,27.510000,27.660000,27.400000,27.580000,27.580000,13997000
+2007-06-28,27.440001,27.490000,27.120001,27.250000,27.250000,17124500
+2007-06-29,27.209999,27.379999,26.930000,27.129999,27.129999,13842500
+2007-07-02,27.190001,27.270000,26.760000,26.860001,26.860001,21011000
+2007-07-03,26.950001,27.250000,26.900000,27.000000,27.000000,11643400
+2007-07-05,26.920000,27.139999,26.900000,26.990000,26.990000,16071900
+2007-07-06,27.010000,27.139999,26.930000,27.100000,27.100000,12284500
+2007-07-09,26.920000,27.330000,26.820000,27.200001,27.200001,17515800
+2007-07-10,27.090000,27.570000,26.959999,26.969999,26.969999,24635500
+2007-07-11,27.030001,27.049999,26.549999,26.690001,26.690001,21970700
+2007-07-12,26.700001,26.969999,26.340000,26.959999,26.959999,20082300
+2007-07-13,26.870001,26.969999,26.500000,26.580000,26.580000,18522700
+2007-07-16,26.480000,26.740000,26.129999,26.700001,26.700001,30804500
+2007-07-17,26.740000,27.799999,26.700001,27.530001,27.530001,53656100
+2007-07-18,26.070000,26.719999,26.020000,26.200001,26.200001,65125900
+2007-07-19,26.320000,26.340000,25.920000,26.030001,26.030001,29537900
+2007-07-20,25.700001,25.889999,25.200001,25.350000,25.350000,38056100
+2007-07-23,25.430000,25.459999,24.980000,24.990000,24.990000,26631500
+2007-07-24,24.799999,25.340000,24.730000,24.840000,24.840000,28981000
+2007-07-25,25.010000,25.320000,24.590000,24.680000,24.680000,21882400
+2007-07-26,24.400000,24.490000,23.620001,24.030001,24.030001,33373300
+2007-07-27,23.980000,24.490000,23.469999,23.490000,23.490000,35783800
+2007-07-30,23.549999,23.879999,23.379999,23.620001,23.620001,20976600
+2007-07-31,23.879999,23.930000,23.240000,23.250000,23.250000,21575800
+2007-08-01,23.170000,23.400000,22.850000,23.250000,23.250000,22030400
+2007-08-02,22.650000,23.700001,22.650000,23.360001,23.360001,21098900
+2007-08-03,23.200001,23.389999,22.870001,22.920000,22.920000,19702100
+2007-08-06,23.030001,23.150000,22.440001,22.969999,22.969999,28948000
+2007-08-07,22.750000,23.700001,22.690001,23.440001,23.440001,20075300
+2007-08-08,23.459999,23.870001,23.430000,23.870001,23.870001,17198000
+2007-08-09,23.670000,24.450001,23.510000,23.799999,23.799999,24052500
+2007-08-10,23.930000,24.219999,23.520000,23.940001,23.940001,22939800
+2007-08-13,24.209999,24.740000,24.010000,24.570000,24.570000,21317600
+2007-08-14,24.690001,24.700001,23.690001,23.719999,23.719999,18707100
+2007-08-15,23.559999,24.000000,23.250000,23.320000,23.320000,18767700
+2007-08-16,23.000000,23.150000,22.500000,22.760000,22.760000,29652200
+2007-08-17,23.260000,23.629999,22.760000,23.540001,23.540001,19528200
+2007-08-20,23.639999,23.740000,23.180000,23.340000,23.340000,13338900
+2007-08-21,23.250000,23.480000,22.910000,23.040001,23.040001,25962900
+2007-08-22,23.219999,23.520000,23.180000,23.230000,23.230000,18763700
+2007-08-23,23.350000,23.360001,22.950001,23.129999,23.129999,15603000
+2007-08-24,23.030001,23.730000,23.030001,23.590000,23.590000,11191100
+2007-08-27,23.590000,23.760000,23.010000,23.030001,23.030001,16523800
+2007-08-28,22.950001,23.100000,22.500000,22.520000,22.520000,18030600
+2007-08-29,22.600000,22.690001,22.270000,22.549999,22.549999,24599900
+2007-08-30,22.490000,22.910000,22.379999,22.610001,22.610001,18172500
+2007-08-31,22.809999,22.830000,22.510000,22.730000,22.730000,13052500
+2007-09-04,23.299999,24.500000,23.200001,23.969999,23.969999,43598600
+2007-09-05,24.100000,24.400000,23.910000,24.100000,24.100000,23071000
+2007-09-06,24.219999,24.320000,23.620001,24.150000,24.150000,13922100
+2007-09-07,23.760000,24.049999,23.600000,23.760000,23.760000,12591900
+2007-09-10,23.850000,23.850000,23.100000,23.299999,23.299999,15246000
+2007-09-11,23.309999,23.840000,23.309999,23.709999,23.709999,17207500
+2007-09-12,23.639999,23.940001,23.530001,23.559999,23.559999,16553700
+2007-09-13,23.600000,23.959999,23.600000,23.719999,23.719999,10309000
+2007-09-14,23.690001,25.000000,23.650000,24.730000,24.730000,28868600
+2007-09-17,24.500000,25.100000,24.379999,24.950001,24.950001,20594000
+2007-09-18,25.059999,25.209999,24.530001,25.059999,25.059999,28121000
+2007-09-19,25.090000,25.370001,24.809999,25.290001,25.290001,25867900
+2007-09-20,25.280001,25.610001,25.160000,25.290001,25.290001,17312000
+2007-09-21,25.540001,26.209999,25.290001,26.049999,26.049999,53074900
+2007-09-24,26.129999,26.400000,25.510000,25.730000,25.730000,27597800
+2007-09-25,25.700001,26.650000,25.629999,26.510000,26.510000,33721300
+2007-09-26,26.700001,27.070000,26.500000,26.700001,26.700001,18692400
+2007-09-27,26.950001,26.950001,26.170000,26.270000,26.270000,21365200
+2007-09-28,26.490000,26.889999,26.200001,26.840000,26.840000,22155600
+2007-10-01,26.760000,27.100000,26.730000,27.040001,27.040001,16938700
+2007-10-02,27.200001,27.240000,26.620001,26.950001,26.950001,15133400
+2007-10-03,27.160000,27.379999,26.820000,27.170000,27.170000,18052500
+2007-10-04,27.190001,27.290001,26.900000,27.150000,27.150000,19203600
+2007-10-05,27.780001,28.160000,27.750000,27.879999,27.879999,28389600
+2007-10-08,28.010000,28.170000,27.750000,28.049999,28.049999,15060700
+2007-10-09,28.350000,28.760000,27.940001,28.370001,28.370001,19539500
+2007-10-10,28.430000,28.700001,27.900000,28.360001,28.360001,14847100
+2007-10-11,28.440001,28.680000,27.500000,27.650000,27.650000,25298300
+2007-10-12,27.760000,28.510000,27.650000,28.480000,28.480000,22130500
+2007-10-15,28.320000,28.400000,27.459999,27.860001,27.860001,22994100
+2007-10-16,27.370001,27.480000,26.549999,26.690001,26.690001,56275300
+2007-10-17,29.100000,29.200001,28.000000,28.820000,28.820000,75067700
+2007-10-18,28.590000,29.600000,28.469999,29.350000,29.350000,28152200
+2007-10-19,29.360001,29.959999,28.850000,29.030001,29.030001,41933000
+2007-10-22,28.930000,30.000000,28.799999,29.850000,29.850000,27750100
+2007-10-23,30.120001,30.879999,30.030001,30.639999,30.639999,45406200
+2007-10-24,30.680000,30.980000,30.000000,30.680000,30.680000,33603100
+2007-10-25,30.750000,31.620001,30.500000,31.340000,31.340000,38706600
+2007-10-26,32.430000,33.990002,31.610001,33.630001,33.630001,66018100
+2007-10-29,34.070000,34.080002,31.180000,31.790001,31.790001,83685800
+2007-10-30,31.549999,31.639999,30.120001,30.830000,30.830000,52417300
+2007-10-31,31.500000,31.750000,30.500000,31.100000,31.100000,34762000
+2007-11-01,30.860001,31.100000,30.040001,30.219999,30.219999,26913300
+2007-11-02,30.540001,31.209999,29.639999,31.110001,31.110001,34090300
+2007-11-05,30.709999,32.369999,30.350000,31.360001,31.360001,43520300
+2007-11-06,31.760000,31.790001,29.000000,29.930000,29.930000,63664400
+2007-11-07,29.270000,29.299999,27.559999,27.629999,27.629999,57069800
+2007-11-08,28.110001,28.240000,25.820000,26.700001,26.700001,58160600
+2007-11-09,26.129999,26.379999,25.400000,25.790001,25.790001,45199700
+2007-11-12,25.799999,26.200001,24.690001,24.780001,24.780001,31264200
+2007-11-13,25.530001,26.240000,25.299999,26.100000,26.100000,34123300
+2007-11-14,26.420000,26.440001,25.000000,25.070000,25.070000,38183700
+2007-11-15,24.940001,25.750000,24.900000,25.420000,25.420000,27920800
+2007-11-16,25.660000,27.129999,25.100000,26.820000,26.820000,53044400
+2007-11-19,27.110001,27.350000,26.350000,26.760000,26.760000,33066200
+2007-11-20,26.930000,27.250000,25.980000,26.719999,26.719999,25672500
+2007-11-21,26.110001,26.580000,25.520000,25.709999,25.709999,23320100
+2007-11-23,25.980000,26.400000,25.760000,26.129999,26.129999,9249400
+2007-11-26,26.080000,26.250000,25.200001,25.219999,25.219999,24174600
+2007-11-27,25.180000,26.000000,25.170000,25.590000,25.590000,19484500
+2007-11-28,26.030001,26.700001,25.930000,26.200001,26.200001,23239300
+2007-11-29,26.010000,26.709999,25.910000,26.629999,26.629999,17929700
+2007-11-30,26.959999,27.330000,26.510000,26.809999,26.809999,23994000
+2007-12-03,26.639999,27.200001,26.559999,26.610001,26.610001,15250100
+2007-12-04,26.139999,26.730000,26.110001,26.420000,26.420000,14668800
+2007-12-05,26.629999,26.730000,25.730000,25.980000,25.980000,21170900
+2007-12-06,25.879999,26.020000,25.389999,25.959999,25.959999,19236500
+2007-12-07,25.860001,26.110001,25.500000,25.629999,25.629999,11443200
+2007-12-10,25.510000,25.570000,24.920000,25.200001,25.200001,26074900
+2007-12-11,25.150000,25.650000,24.360001,24.469999,24.469999,28579100
+2007-12-12,24.820000,25.000000,24.110001,24.540001,24.540001,20241200
+2007-12-13,24.389999,24.750000,24.190001,24.379999,24.379999,23787400
+2007-12-14,24.129999,24.469999,24.000000,24.059999,24.059999,15125500
+2007-12-17,23.799999,24.030001,22.940001,23.040001,23.040001,37877100
+2007-12-18,23.219999,23.350000,22.799999,23.020000,23.020000,27735600
+2007-12-19,22.920000,23.690001,22.920000,23.309999,23.309999,26547300
+2007-12-20,23.500000,23.799999,23.240000,23.639999,23.639999,21030700
+2007-12-21,23.879999,24.100000,23.740000,24.010000,24.010000,24094600
+2007-12-24,24.010000,24.190001,23.940001,24.049999,24.049999,24861800
+2007-12-26,23.850000,24.250000,23.850000,23.959999,23.959999,9821600
+2007-12-27,23.600000,24.150000,23.570000,23.709999,23.709999,16041500
+2007-12-28,23.660000,23.709999,23.209999,23.450001,23.450001,13773000
+2007-12-31,23.219999,23.430000,23.110001,23.260000,23.260000,14782600
+2008-01-02,23.799999,24.150000,23.600000,23.719999,23.719999,25671700
+2008-01-03,23.860001,24.190001,23.700001,23.840000,23.840000,20179700
+2008-01-04,23.809999,23.809999,23.100000,23.160000,23.160000,20745800
+2008-01-07,23.120001,23.559999,22.730000,23.180000,23.180000,24769400
+2008-01-08,23.280001,23.650000,22.500000,22.610001,22.610001,22974000
+2008-01-09,22.469999,22.799999,21.370001,22.559999,22.559999,46662700
+2008-01-10,23.190001,24.570000,22.830000,24.090000,24.090000,52342100
+2008-01-11,23.809999,24.129999,22.980000,23.360001,23.360001,27297400
+2008-01-14,23.510000,23.760000,23.180000,23.700001,23.700001,18552900
+2008-01-15,23.000000,23.490000,22.570000,22.910000,22.910000,31911000
+2008-01-16,22.200001,22.750000,21.730000,21.950001,21.950001,38155300
+2008-01-17,22.000000,22.170000,21.139999,21.219999,21.219999,28812600
+2008-01-18,21.270000,21.610001,20.070000,20.780001,20.780001,41239300
+2008-01-22,19.290001,21.030001,19.260000,19.860001,19.860001,38126200
+2008-01-23,19.250000,20.340000,18.719999,20.010000,20.010000,42064200
+2008-01-24,20.440001,21.750000,20.420000,21.690001,21.690001,39823300
+2008-01-25,22.240000,22.370001,21.320000,21.940001,21.940001,28386800
+2008-01-28,21.559999,21.900000,20.420000,20.780001,20.780001,32473100
+2008-01-29,20.870001,20.900000,20.049999,20.809999,20.809999,79230000
+2008-01-30,18.620001,20.809999,18.580000,19.049999,19.049999,115993300
+2008-01-31,18.870001,19.350000,18.719999,19.180000,19.180000,41449800
+2008-02-01,28.680000,29.830000,27.340000,28.379999,28.379999,438248800
+2008-02-04,28.330000,29.500000,28.330000,29.330000,29.330000,144814000
+2008-02-05,28.780001,29.570000,28.750000,28.980000,28.980000,68583700
+2008-02-06,29.110001,29.330000,28.530001,28.570000,28.570000,55648800
+2008-02-07,28.629999,29.190001,28.600000,29.040001,29.040001,44248800
+2008-02-08,28.980000,29.219999,28.709999,29.200001,29.200001,55618900
+2008-02-11,29.889999,30.049999,29.320000,29.870001,29.870001,67253700
+2008-02-12,29.809999,29.840000,29.400000,29.570000,29.570000,42445600
+2008-02-13,29.780001,30.070000,29.600000,29.879999,29.879999,57047700
+2008-02-14,29.980000,30.250000,29.750000,29.980000,29.980000,38045600
+2008-02-15,29.950001,30.150000,29.430000,29.660000,29.660000,40125200
+2008-02-19,29.340000,29.420000,28.750000,29.010000,29.010000,38679600
+2008-02-20,28.709999,29.040001,28.389999,28.830000,28.830000,29338800
+2008-02-21,28.760000,29.170000,28.250000,28.420000,28.420000,34681900
+2008-02-22,28.360001,28.639999,27.980000,28.420000,28.420000,26157800
+2008-02-25,28.420000,28.570000,27.750000,28.129999,28.129999,32470600
+2008-02-26,27.930000,28.549999,27.809999,28.219999,28.219999,26013000
+2008-02-27,28.330000,28.490000,27.750000,28.370001,28.370001,27664100
+2008-02-28,27.980000,28.820000,27.959999,28.150000,28.150000,30113200
+2008-02-29,27.940001,28.410000,27.500000,27.780001,27.780001,23860500
+2008-03-03,27.730000,28.080000,27.660000,27.770000,27.770000,22765100
+2008-03-04,27.799999,28.070000,27.430000,28.059999,28.059999,28305000
+2008-03-05,28.000000,28.780001,28.000000,28.670000,28.670000,30280100
+2008-03-06,28.639999,28.980000,28.440001,28.700001,28.700001,34591000
+2008-03-07,28.580000,29.180000,28.500000,29.030001,29.030001,28266000
+2008-03-10,28.870001,28.980000,28.510000,28.510000,28.510000,29698500
+2008-03-11,28.910000,29.160000,28.430000,29.000000,29.000000,22077400
+2008-03-12,28.889999,29.020000,28.389999,28.450001,28.450001,18338300
+2008-03-13,28.070000,28.270000,27.379999,27.500000,27.500000,75429000
+2008-03-14,27.850000,27.959999,26.500000,26.709999,26.709999,44386000
+2008-03-17,26.500000,26.639999,25.719999,25.850000,25.850000,33771900
+2008-03-18,26.940001,27.719999,26.250000,27.660000,27.660000,38074400
+2008-03-19,27.559999,27.790001,26.910000,27.070000,27.070000,23317500
+2008-03-20,27.360001,27.910000,26.980000,27.660000,27.660000,29864500
+2008-03-24,27.559999,28.070000,27.450001,27.520000,27.520000,17360800
+2008-03-25,28.139999,28.750000,27.700001,28.730000,28.730000,33759600
+2008-03-26,28.629999,28.780001,28.190001,28.490000,28.490000,15271500
+2008-03-27,28.490000,28.500000,27.900000,28.090000,28.090000,15558400
+2008-03-28,28.320000,29.090000,28.150000,28.990000,28.990000,34274200
+2008-03-31,28.559999,29.120001,28.270000,28.930000,28.930000,17224600
+2008-04-01,28.070000,28.620001,28.020000,28.500000,28.500000,20483600
+2008-04-02,28.570000,28.600000,27.490000,27.820000,27.820000,30180400
+2008-04-03,27.650000,28.219999,27.580000,28.129999,28.129999,14535400
+2008-04-04,28.000000,28.450001,27.590000,28.360001,28.360001,28290700
+2008-04-07,27.799999,28.150000,27.570000,27.700001,27.700001,29455100
+2008-04-08,27.719999,27.820000,27.490000,27.700001,27.700001,17935600
+2008-04-09,27.799999,27.950001,27.129999,27.770000,27.770000,31768300
+2008-04-10,28.389999,28.690001,28.280001,28.590000,28.590000,32671200
+2008-04-11,28.410000,28.610001,28.090000,28.340000,28.340000,18433700
+2008-04-14,28.180000,28.340000,27.790001,27.799999,27.799999,14159500
+2008-04-15,28.049999,28.250000,27.770000,28.170000,28.170000,12096600
+2008-04-16,28.110001,28.400000,28.110001,28.309999,28.309999,9204900
+2008-04-17,28.400000,28.400000,27.959999,28.030001,28.030001,10848800
+2008-04-18,28.440001,28.670000,28.170000,28.430000,28.430000,25292200
+2008-04-21,28.520000,28.680000,28.219999,28.549999,28.549999,18368700
+2008-04-22,28.730000,28.879999,28.440001,28.540001,28.540001,28564000
+2008-04-23,28.240000,28.350000,27.709999,28.080000,28.080000,31134400
+2008-04-24,28.010000,28.080000,27.240000,27.299999,27.299999,25944000
+2008-04-25,26.850000,26.930000,26.080000,26.799999,26.799999,50523100
+2008-04-28,27.000000,27.090000,26.250000,26.430000,26.430000,20869300
+2008-04-29,26.350000,27.480000,25.809999,27.360001,27.360001,36678000
+2008-04-30,27.170000,27.780001,26.760000,27.410000,27.410000,31034100
+2008-05-01,27.690001,28.340000,26.500000,26.809999,26.809999,52071000
+2008-05-02,27.650000,29.730000,27.209999,28.670000,28.670000,80447300
+2008-05-05,23.049999,24.930000,22.969999,24.370001,24.370001,279318400
+2008-05-06,25.540001,26.250000,24.200001,25.719999,25.719999,180100000
+2008-05-07,25.570000,25.709999,25.030001,25.639999,25.639999,84698300
+2008-05-08,25.660000,26.440001,25.510000,26.219999,26.219999,61308600
+2008-05-09,26.010000,26.190001,25.750000,25.930000,25.930000,30686900
+2008-05-12,25.799999,25.879999,25.020000,25.260000,25.260000,41319400
+2008-05-13,25.150000,26.840000,24.389999,26.559999,26.559999,81351200
+2008-05-14,26.950001,27.360001,26.200001,27.139999,27.139999,64571100
+2008-05-15,27.540001,27.980000,26.850000,27.750000,27.750000,79748700
+2008-05-16,27.730000,27.950001,27.410000,27.660000,27.660000,61318300
+2008-05-19,27.900000,28.330000,27.420000,27.680000,27.680000,55348600
+2008-05-20,27.680000,28.200001,27.320000,27.480000,27.480000,29450900
+2008-05-21,27.340000,27.950001,26.799999,27.330000,27.330000,38317200
+2008-05-22,27.299999,27.610001,26.950001,27.530001,27.530001,24737400
+2008-05-23,27.480000,27.740000,27.260000,27.719999,27.719999,24035700
+2008-05-27,27.500000,27.629999,26.980000,27.000000,27.000000,20703900
+2008-05-28,27.420000,27.480000,26.950001,27.160000,27.160000,21785600
+2008-05-29,27.340000,27.360001,27.000000,27.070000,27.070000,17905300
+2008-05-30,27.070000,27.100000,26.629999,26.760000,26.760000,17771800
+2008-06-02,26.799999,26.809999,26.030001,26.400000,26.400000,26379400
+2008-06-03,26.360001,26.600000,25.780001,26.150000,26.150000,25586000
+2008-06-04,26.250000,27.049999,26.160000,26.850000,26.850000,29973600
+2008-06-05,26.459999,26.639999,25.969999,26.360001,26.360001,30167300
+2008-06-06,26.500000,27.080000,26.030001,26.440001,26.440001,37758400
+2008-06-09,26.500000,26.860001,26.100000,26.580000,26.580000,17278300
+2008-06-10,26.320000,26.580000,26.250000,26.400000,26.400000,11854000
+2008-06-11,26.420000,26.459999,26.000000,26.150000,26.150000,13315400
+2008-06-12,26.330000,26.330000,22.500000,23.520000,23.520000,122412100
+2008-06-13,22.820000,23.480000,21.750000,23.469999,23.469999,118467700
+2008-06-16,22.950001,23.580000,22.709999,23.540001,23.540001,44711900
+2008-06-17,23.580000,23.580000,22.900000,23.250000,23.250000,22808800
+2008-06-18,23.219999,23.219999,22.629999,22.910000,22.910000,14255900
+2008-06-19,22.780001,22.870001,22.370001,22.730000,22.730000,19001300
+2008-06-20,22.490000,22.530001,21.900000,21.990000,21.990000,34606900
+2008-06-23,22.070000,22.120001,21.299999,21.450001,21.450001,29819200
+2008-06-24,21.170000,23.709999,20.600000,22.040001,22.040001,85211700
+2008-06-25,22.000000,22.240000,21.860001,22.010000,22.010000,19530900
+2008-06-26,21.590000,21.889999,21.280001,21.370001,21.370001,23993900
+2008-06-27,21.290001,21.459999,20.700001,21.330000,21.330000,30236800
+2008-06-30,21.120001,21.200001,20.600000,20.660000,20.660000,17173500
+2008-07-01,20.480000,20.490000,19.590000,20.200001,20.200001,36634700
+2008-07-02,21.889999,21.900000,20.670000,20.879999,20.879999,58418100
+2008-07-03,21.350000,21.750000,21.030001,21.350000,21.350000,21923800
+2008-07-07,23.400000,24.250000,22.920000,23.910000,23.910000,84245900
+2008-07-08,23.830000,24.660000,23.809999,24.639999,24.639999,34234600
+2008-07-09,24.740000,24.799999,23.820000,23.820000,23.820000,21980400
+2008-07-10,23.760000,24.100000,23.040001,23.500000,23.500000,18501800
+2008-07-11,23.000000,23.889999,22.639999,23.570000,23.570000,23141900
+2008-07-14,23.120001,23.240000,22.219999,22.570000,22.570000,22785000
+2008-07-15,21.790001,22.080000,21.180000,21.540001,21.540001,25740900
+2008-07-16,21.700001,22.600000,21.590000,22.480000,22.480000,20738700
+2008-07-17,23.490000,23.490000,22.410000,22.440001,22.440001,31947900
+2008-07-18,22.549999,22.549999,21.860001,22.450001,22.450001,23375400
+2008-07-21,21.660000,22.190001,21.650000,21.670000,21.670000,24645600
+2008-07-22,21.389999,21.700001,20.850000,21.400000,21.400000,29786500
+2008-07-23,21.910000,22.480000,20.000000,20.389999,20.389999,48279700
+2008-07-24,20.610001,21.059999,20.049999,20.530001,20.530001,24422500
+2008-07-25,20.549999,21.190001,20.280001,21.129999,21.129999,20406200
+2008-07-28,20.990000,21.170000,20.059999,20.120001,20.120001,13733800
+2008-07-29,20.010000,20.340000,19.680000,20.150000,20.150000,17023800
+2008-07-30,20.180000,20.180000,19.959999,20.030001,20.030001,25016800
+2008-07-31,19.889999,20.150000,19.850000,19.889999,19.889999,16621100
+2008-08-01,20.090000,20.120001,19.530001,19.799999,19.799999,19777000
+2008-08-04,19.770000,19.770000,19.209999,19.379999,19.379999,14064400
+2008-08-05,19.700001,19.910000,19.530001,19.820000,19.820000,14415200
+2008-08-06,19.770000,20.180000,19.530001,20.000000,20.000000,14699000
+2008-08-07,19.799999,20.250000,19.639999,20.190001,20.190001,14017500
+2008-08-08,20.190001,20.190001,19.870001,19.900000,19.900000,13640000
+2008-08-11,19.889999,20.280001,19.650000,20.260000,20.260000,12903700
+2008-08-12,20.209999,20.600000,20.040001,20.430000,20.430000,13883700
+2008-08-13,20.330000,20.480000,20.059999,20.360001,20.360001,11954500
+2008-08-14,20.200001,20.570000,20.139999,20.280001,20.280001,11103300
+2008-08-15,20.270000,20.820000,20.270000,20.440001,20.440001,14945100
+2008-08-18,20.469999,20.520000,19.660000,19.730000,19.730000,14867400
+2008-08-19,19.780001,19.910000,19.410000,19.420000,19.420000,12851000
+2008-08-20,19.570000,19.650000,19.100000,19.170000,19.170000,16426500
+2008-08-21,19.059999,19.180000,18.870001,19.110001,19.110001,16995100
+2008-08-22,19.110001,19.680000,19.100000,19.530001,19.530001,11087500
+2008-08-25,19.340000,19.400000,19.049999,19.090000,19.090000,13779300
+2008-08-26,19.120001,19.200001,19.000000,19.090000,19.090000,8770500
+2008-08-27,19.080000,19.450001,18.930000,19.370001,19.370001,9300100
+2008-08-28,19.480000,19.760000,19.379999,19.650000,19.650000,11729500
+2008-08-29,19.540001,19.600000,19.280001,19.379999,19.379999,11204900
+2008-09-02,19.629999,19.770000,18.740000,18.750000,18.750000,16943700
+2008-09-03,18.850000,19.000000,18.700001,18.760000,18.760000,11557100
+2008-09-04,18.709999,18.809999,17.750000,17.750000,17.750000,23892500
+2008-09-05,17.920000,18.340000,17.799999,18.080000,18.080000,17089100
+2008-09-08,18.330000,18.370001,17.870001,18.260000,18.260000,16447400
+2008-09-09,18.139999,18.190001,17.530001,17.580000,17.580000,25271700
+2008-09-10,17.629999,17.790001,17.250000,17.700001,17.700001,19619600
+2008-09-11,17.400000,18.570000,17.330000,18.549999,18.549999,28408000
+2008-09-12,18.430000,19.170000,18.340000,19.080000,19.080000,21301100
+2008-09-15,18.270000,19.139999,18.250000,18.850000,18.850000,32567200
+2008-09-16,18.250000,19.350000,18.240000,19.260000,19.260000,33897000
+2008-09-17,18.969999,19.080000,18.200001,18.820000,18.820000,28819300
+2008-09-18,18.790001,20.820000,18.490000,20.820000,20.820000,37286300
+2008-09-19,20.580000,20.790001,19.270000,19.889999,19.889999,31649100
+2008-09-22,19.600000,19.600000,18.639999,18.680000,18.680000,16911900
+2008-09-23,18.709999,19.129999,18.670000,18.930000,18.930000,20230100
+2008-09-24,18.900000,19.190001,18.820000,19.150000,19.150000,12766200
+2008-09-25,19.090000,19.559999,18.969999,19.200001,19.200001,14512100
+2008-09-26,18.750000,19.250000,18.650000,18.920000,18.920000,14922800
+2008-09-29,18.770000,18.920000,16.879999,16.879999,16.879999,39570300
+2008-09-30,17.150000,17.620001,17.000000,17.299999,17.299999,23672300
+2008-10-01,17.170000,17.309999,16.799999,16.959999,16.959999,13725000
+2008-10-02,16.770000,16.850000,15.540000,15.580000,15.580000,23416200
+2008-10-03,15.810000,16.440001,15.750000,16.000000,16.000000,25824900
+2008-10-06,15.270000,16.070000,14.550000,15.310000,15.310000,42862100
+2008-10-07,15.190000,15.490000,14.530000,14.580000,14.580000,27696400
+2008-10-08,13.800000,14.580000,13.200000,13.760000,13.760000,31651100
+2008-10-09,13.900000,13.900000,12.470000,12.650000,12.650000,40808900
+2008-10-10,12.220000,12.920000,11.960000,12.290000,12.290000,38683200
+2008-10-13,13.140000,13.510000,12.560000,13.490000,13.490000,26049700
+2008-10-14,13.780000,13.930000,12.370000,12.650000,12.650000,26909700
+2008-10-15,12.490000,12.550000,11.750000,11.750000,11.750000,27529900
+2008-10-16,11.900000,13.730000,11.370000,12.990000,12.990000,107674200
+2008-10-17,12.880000,13.500000,12.680000,12.900000,12.900000,38974800
+2008-10-20,13.030000,13.030000,12.330000,12.860000,12.860000,25010600
+2008-10-21,12.620000,12.740000,12.040000,12.070000,12.070000,28385500
+2008-10-22,12.360000,12.840000,12.350000,12.390000,12.390000,35671000
+2008-10-23,12.150000,12.700000,11.550000,12.650000,12.650000,27751300
+2008-10-24,11.310000,12.330000,11.310000,12.100000,12.100000,29718100
+2008-10-27,11.820000,12.190000,11.500000,11.580000,11.580000,16372300
+2008-10-28,11.890000,12.400000,11.250000,12.360000,12.360000,22795700
+2008-10-29,12.200000,12.610000,11.920000,12.140000,12.140000,21443000
+2008-10-30,12.530000,13.180000,12.250000,12.930000,12.930000,26757100
+2008-10-31,13.090000,13.360000,12.710000,12.820000,12.820000,24017600
+2008-11-03,12.740000,12.890000,12.550000,12.750000,12.750000,10385600
+2008-11-04,13.050000,13.490000,12.840000,13.350000,13.350000,24980000
+2008-11-05,13.210000,14.840000,13.150000,13.920000,13.920000,71264100
+2008-11-06,14.840000,14.890000,13.750000,13.960000,13.960000,44431700
+2008-11-07,12.450000,12.500000,11.650000,12.200000,12.200000,47280400
+2008-11-10,12.370000,12.400000,11.570000,11.870000,11.870000,16708100
+2008-11-11,11.560000,11.670000,11.060000,11.350000,11.350000,33294600
+2008-11-12,11.010000,11.340000,10.020000,10.340000,10.340000,29046700
+2008-11-13,10.320000,11.170000,9.760000,11.150000,11.150000,25212700
+2008-11-14,10.840000,11.500000,10.630000,10.820000,10.820000,19072400
+2008-11-17,10.500000,10.940000,10.320000,10.630000,10.630000,14601400
+2008-11-18,11.930000,12.400000,11.000000,11.550000,11.550000,51671000
+2008-11-19,11.540000,11.580000,9.070000,9.140000,9.140000,57680800
+2008-11-20,9.100000,10.010000,8.940000,8.950000,8.950000,37311800
+2008-11-21,9.280000,9.480000,8.950000,9.390000,9.390000,29895300
+2008-11-24,9.560000,10.270000,9.420000,10.210000,10.210000,22452600
+2008-11-25,10.120000,10.200000,9.830000,10.070000,10.070000,16889200
+2008-11-26,9.930000,10.580000,9.920000,10.580000,10.580000,13640000
+2008-11-28,10.760000,11.590000,10.650000,11.510000,11.510000,12397600
+2008-12-01,11.820000,11.980000,10.730000,10.740000,10.740000,26242500
+2008-12-02,10.810000,12.500000,10.500000,11.500000,11.500000,46254900
+2008-12-03,11.120000,11.500000,10.740000,11.500000,11.500000,24094600
+2008-12-04,11.380000,11.480000,10.700000,11.050000,11.050000,18447800
+2008-12-05,10.960000,11.700000,10.620000,11.660000,11.660000,19973900
+2008-12-08,12.170000,12.490000,11.790000,12.200000,12.200000,33782200
+2008-12-09,11.900000,12.540000,11.770000,12.190000,12.190000,28943400
+2008-12-10,12.670000,13.570000,12.350000,13.400000,13.400000,46696000
+2008-12-11,13.160000,13.360000,12.570000,12.730000,12.730000,26528700
+2008-12-12,12.310000,13.230000,12.150000,13.150000,13.150000,24636700
+2008-12-15,13.100000,13.290000,12.550000,12.730000,12.730000,20131100
+2008-12-16,12.880000,13.480000,12.880000,13.360000,13.360000,18544100
+2008-12-17,13.000000,13.430000,12.830000,13.110000,13.110000,12783000
+2008-12-18,13.130000,13.270000,12.700000,12.720000,12.720000,14997900
+2008-12-19,12.920000,13.320000,12.720000,13.030000,13.030000,17551900
+2008-12-22,13.030000,13.080000,12.000000,12.350000,12.350000,12946400
+2008-12-23,12.470000,12.650000,12.250000,12.420000,12.420000,7474700
+2008-12-24,12.410000,12.480000,12.290000,12.320000,12.320000,2500100
+2008-12-26,12.300000,12.380000,12.180000,12.340000,12.340000,3873900
+2008-12-29,12.460000,12.460000,11.450000,11.880000,11.880000,9913500
+2008-12-30,11.910000,12.000000,11.720000,11.970000,11.970000,7480600
+2008-12-31,11.950000,12.300000,11.920000,12.200000,12.200000,9085500
+2009-01-02,12.170000,12.850000,12.120000,12.850000,12.850000,9514600
+2009-01-05,12.720000,13.010000,12.390000,12.860000,12.860000,11989900
+2009-01-06,12.960000,13.240000,12.880000,13.000000,13.000000,10056000
+2009-01-07,12.710000,13.160000,12.450000,12.710000,12.710000,24995900
+2009-01-08,12.370000,13.070000,12.310000,13.070000,13.070000,14355000
+2009-01-09,13.420000,13.560000,12.900000,13.130000,13.130000,19281000
+2009-01-12,13.090000,13.100000,12.080000,12.220000,12.220000,19976900
+2009-01-13,12.090000,12.790000,11.780000,12.100000,12.100000,25720400
+2009-01-14,12.260000,12.530000,11.810000,12.410000,12.410000,23595200
+2009-01-15,12.320000,12.350000,11.220000,11.610000,11.610000,25247500
+2009-01-16,11.870000,11.970000,11.440000,11.590000,11.590000,24783700
+2009-01-20,11.720000,11.800000,11.010000,11.010000,11.010000,18692000
+2009-01-21,11.170000,11.590000,11.080000,11.590000,11.590000,15892200
+2009-01-22,11.350000,11.510000,10.900000,11.280000,11.280000,17201700
+2009-01-23,10.900000,11.550000,10.860000,11.320000,11.320000,15864000
+2009-01-26,11.260000,11.280000,10.810000,11.170000,11.170000,16469800
+2009-01-27,11.200000,11.370000,10.850000,11.340000,11.340000,33708200
+2009-01-28,12.230000,12.380000,11.920000,12.240000,12.240000,35686800
+2009-01-29,12.020000,12.240000,11.730000,11.740000,11.740000,22124100
+2009-01-30,11.860000,12.150000,11.510000,11.730000,11.730000,21508900
+2009-02-02,11.500000,12.320000,11.490000,12.150000,12.150000,21223000
+2009-02-03,12.300000,12.710000,12.010000,12.680000,12.680000,18669700
+2009-02-04,12.670000,13.230000,12.550000,13.000000,13.000000,22933800
+2009-02-05,12.930000,13.520000,12.850000,13.510000,13.510000,17566800
+2009-02-06,13.410000,13.840000,13.200000,13.630000,13.630000,17594600
+2009-02-09,13.590000,14.000000,13.470000,13.900000,13.900000,15686200
+2009-02-10,13.540000,13.900000,12.720000,12.750000,12.750000,24148400
+2009-02-11,12.870000,12.910000,12.380000,12.630000,12.630000,13726600
+2009-02-12,12.500000,12.660000,12.140000,12.660000,12.660000,15452500
+2009-02-13,12.670000,12.990000,12.590000,12.840000,12.840000,11139300
+2009-02-17,12.310000,12.580000,12.010000,12.020000,12.020000,15708400
+2009-02-18,12.120000,12.530000,12.070000,12.220000,12.220000,12434300
+2009-02-19,12.350000,12.590000,11.930000,11.980000,11.980000,12537600
+2009-02-20,11.900000,12.270000,11.750000,12.140000,12.140000,16485500
+2009-02-23,12.200000,12.350000,11.830000,11.970000,11.970000,16517300
+2009-02-24,12.570000,12.860000,12.270000,12.750000,12.750000,22529300
+2009-02-25,12.450000,12.790000,12.300000,12.480000,12.480000,16195700
+2009-02-26,12.880000,13.390000,12.740000,12.980000,12.980000,26571900
+2009-02-27,12.660000,13.330000,12.610000,13.230000,13.230000,20392600
+2009-03-02,12.850000,12.970000,12.470000,12.580000,12.580000,20934900
+2009-03-03,12.790000,12.870000,12.310000,12.500000,12.500000,16509700
+2009-03-04,12.720000,13.490000,12.510000,13.160000,13.160000,24076200
+2009-03-05,12.770000,13.070000,12.480000,12.530000,12.530000,18477000
+2009-03-06,12.600000,13.180000,12.520000,13.050000,13.050000,30994200
+2009-03-09,12.850000,13.450000,12.550000,12.660000,12.660000,23119700
+2009-03-10,12.810000,13.400000,12.750000,13.230000,13.230000,22730900
+2009-03-11,13.310000,13.500000,13.030000,13.390000,13.390000,17505000
+2009-03-12,13.350000,13.600000,13.100000,13.600000,13.600000,16682500
+2009-03-13,13.580000,13.640000,13.270000,13.510000,13.510000,12522600
+2009-03-16,13.660000,13.660000,13.200000,13.220000,13.220000,19448800
+2009-03-17,13.350000,14.040000,13.220000,13.990000,13.990000,16719400
+2009-03-18,13.810000,13.950000,13.230000,13.420000,13.420000,26324300
+2009-03-19,13.680000,14.140000,13.610000,13.740000,13.740000,25954300
+2009-03-20,13.630000,13.870000,13.510000,13.600000,13.600000,22079300
+2009-03-23,13.790000,14.120000,13.620000,14.090000,14.090000,18200000
+2009-03-24,13.980000,14.020000,13.560000,13.630000,13.630000,17293600
+2009-03-25,13.690000,13.880000,13.350000,13.550000,13.550000,16746400
+2009-03-26,13.550000,13.610000,13.000000,13.350000,13.350000,24223400
+2009-03-27,13.170000,13.610000,13.120000,13.180000,13.180000,22426200
+2009-03-30,12.930000,13.140000,12.510000,12.700000,12.700000,16558800
+2009-03-31,12.760000,13.100000,12.670000,12.810000,12.810000,12066000
+2009-04-01,12.700000,13.120000,12.600000,12.750000,12.750000,14540400
+2009-04-02,13.040000,13.140000,12.800000,12.950000,12.950000,28823100
+2009-04-03,12.950000,13.390000,12.780000,13.340000,13.340000,18534900
+2009-04-06,13.080000,13.240000,12.990000,13.230000,13.230000,11935700
+2009-04-07,13.000000,13.100000,12.680000,12.810000,12.810000,12306400
+2009-04-08,12.900000,13.010000,12.750000,12.920000,12.920000,11241000
+2009-04-09,13.140000,13.590000,13.070000,13.470000,13.470000,17285800
+2009-04-13,14.020000,14.540000,13.860000,14.420000,14.420000,35067600
+2009-04-14,14.400000,14.420000,14.000000,14.070000,14.070000,15151700
+2009-04-15,13.930000,14.090000,13.770000,14.020000,14.020000,12383200
+2009-04-16,14.150000,14.530000,14.050000,14.430000,14.430000,19156500
+2009-04-17,14.430000,14.520000,14.030000,14.390000,14.390000,19800400
+2009-04-20,14.160000,14.250000,13.600000,13.660000,13.660000,13470500
+2009-04-21,13.940000,14.590000,13.710000,14.380000,14.380000,54237700
+2009-04-22,14.620000,15.390000,14.410000,14.480000,14.480000,65407800
+2009-04-23,14.560000,14.740000,14.110000,14.550000,14.550000,32943200
+2009-04-24,14.790000,14.940000,14.360000,14.730000,14.730000,25803000
+2009-04-27,14.480000,14.550000,13.880000,13.890000,13.890000,22640600
+2009-04-28,13.740000,14.050000,13.600000,13.640000,13.640000,18856500
+2009-04-29,13.700000,14.350000,13.700000,14.020000,14.020000,16570900
+2009-04-30,14.120000,14.600000,14.120000,14.290000,14.290000,25883300
+2009-05-01,14.500000,14.500000,13.910000,14.140000,14.140000,23721700
+2009-05-04,14.200000,14.250000,13.960000,14.180000,14.180000,25094600
+2009-05-05,14.550000,14.990000,14.180000,14.740000,14.740000,35233200
+2009-05-06,14.800000,15.000000,14.520000,14.850000,14.850000,19105800
+2009-05-07,15.030000,15.100000,14.380000,14.800000,14.800000,24328500
+2009-05-08,14.880000,15.300000,14.700000,15.150000,15.150000,22461200
+2009-05-11,14.900000,15.830000,14.810000,15.540000,15.540000,39492400
+2009-05-12,15.500000,15.500000,14.900000,15.100000,15.100000,31403300
+2009-05-13,14.920000,14.950000,14.500000,14.520000,14.520000,23585400
+2009-05-14,14.500000,14.860000,14.400000,14.760000,14.760000,20841800
+2009-05-15,15.000000,15.100000,14.860000,14.910000,14.910000,22525900
+2009-05-18,15.100000,15.180000,14.740000,15.170000,15.170000,18629500
+2009-05-19,15.060000,15.340000,15.020000,15.180000,15.180000,13676000
+2009-05-20,15.080000,15.310000,14.800000,14.960000,14.960000,15781600
+2009-05-21,14.920000,15.120000,14.620000,14.870000,14.870000,15186800
+2009-05-22,14.890000,15.170000,14.750000,14.980000,14.980000,19150500
+2009-05-26,14.680000,15.440000,14.670000,15.280000,15.280000,19953000
+2009-05-27,15.270000,15.530000,14.880000,14.940000,14.940000,18977400
+2009-05-28,15.090000,15.240000,14.690000,15.090000,15.090000,19131600
+2009-05-29,15.190000,15.840000,15.110000,15.840000,15.840000,29557500
+2009-06-01,16.170000,16.650000,16.129999,16.580000,16.580000,27926100
+2009-06-02,16.600000,16.750000,16.250000,16.620001,16.620001,15286700
+2009-06-03,16.500000,16.500000,15.670000,16.299999,16.299999,26358100
+2009-06-04,16.400000,16.709999,16.040001,16.650000,16.650000,19001400
+2009-06-05,16.770000,16.990000,16.299999,16.639999,16.639999,17311400
+2009-06-08,16.469999,16.490000,16.040001,16.190001,16.190001,13692600
+2009-06-09,16.230000,16.500000,16.180000,16.400000,16.400000,13083200
+2009-06-10,16.700001,16.719999,16.100000,16.320000,16.320000,15771200
+2009-06-11,16.260000,16.459999,16.150000,16.190001,16.190001,15042300
+2009-06-12,16.170000,16.469999,16.100000,16.400000,16.400000,16962900
+2009-06-15,16.559999,16.680000,16.129999,16.400000,16.400000,23251700
+2009-06-16,16.330000,16.379999,15.900000,15.960000,15.960000,15116000
+2009-06-17,15.910000,16.030001,15.460000,15.600000,15.600000,16521300
+2009-06-18,15.620000,15.640000,15.230000,15.340000,15.340000,16185400
+2009-06-19,15.500000,15.840000,15.400000,15.800000,15.800000,20323100
+2009-06-22,15.550000,15.610000,14.710000,14.710000,14.710000,26488700
+2009-06-23,14.750000,14.900000,14.550000,14.680000,14.680000,15866300
+2009-06-24,14.760000,15.600000,14.760000,15.450000,15.450000,30979700
+2009-06-25,15.440000,15.670000,15.250000,15.530000,15.530000,19827800
+2009-06-26,15.600000,15.800000,15.480000,15.740000,15.740000,26449100
+2009-06-29,15.860000,16.010000,15.600000,15.900000,15.900000,12324000
+2009-06-30,15.850000,15.900000,15.350000,15.660000,15.660000,16033900
+2009-07-01,15.490000,15.690000,15.350000,15.410000,15.410000,12716100
+2009-07-02,15.240000,15.280000,14.880000,14.990000,14.990000,16919900
+2009-07-06,14.830000,14.930000,14.550000,14.910000,14.910000,13690700
+2009-07-07,14.920000,14.930000,14.360000,14.440000,14.440000,22021700
+2009-07-08,14.440000,14.690000,14.220000,14.380000,14.380000,15352700
+2009-07-09,14.480000,14.680000,14.250000,14.550000,14.550000,15598200
+2009-07-10,14.780000,15.180000,14.750000,14.930000,14.930000,23061200
+2009-07-13,14.950000,15.060000,14.640000,15.010000,15.010000,13174400
+2009-07-14,15.070000,15.220000,14.980000,15.180000,15.180000,13039500
+2009-07-15,15.230000,15.740000,15.150000,15.710000,15.710000,18813600
+2009-07-16,15.800000,16.250000,15.780000,16.190001,16.190001,21919500
+2009-07-17,16.750000,16.910000,16.450001,16.840000,16.840000,32514700
+2009-07-20,17.180000,17.430000,16.650000,17.010000,17.010000,27760800
+2009-07-21,17.049999,17.110001,16.440001,16.750000,16.750000,33601800
+2009-07-22,16.190001,17.480000,16.120001,17.370001,17.370001,53615500
+2009-07-23,17.410000,17.680000,17.160000,17.360001,17.360001,37524900
+2009-07-24,17.430000,17.590000,17.020000,17.480000,17.480000,19944700
+2009-07-27,17.370001,17.480000,16.850000,17.000000,17.000000,19951800
+2009-07-28,16.969999,17.490000,16.520000,17.219999,17.219999,36152600
+2009-07-29,16.000000,16.200001,15.050000,15.140000,15.140000,126807700
+2009-07-30,15.130000,15.140000,14.240000,14.600000,14.600000,100889000
+2009-07-31,14.720000,14.890000,14.290000,14.320000,14.320000,62659900
+2009-08-03,14.560000,14.620000,14.300000,14.340000,14.340000,43976900
+2009-08-04,14.440000,14.680000,14.370000,14.510000,14.510000,43084800
+2009-08-05,14.760000,14.910000,14.610000,14.670000,14.670000,50910100
+2009-08-06,14.760000,14.860000,14.630000,14.740000,14.740000,35659500
+2009-08-07,14.860000,14.900000,14.560000,14.620000,14.620000,28261000
+2009-08-10,14.660000,14.680000,14.490000,14.630000,14.630000,18350900
+2009-08-11,14.540000,14.650000,14.330000,14.460000,14.460000,17823200
+2009-08-12,14.470000,14.760000,14.410000,14.680000,14.680000,24256200
+2009-08-13,14.740000,15.070000,14.610000,15.040000,15.040000,40193000
+2009-08-14,14.980000,15.140000,14.850000,15.040000,15.040000,28817100
+2009-08-17,14.690000,14.780000,14.510000,14.560000,14.560000,29268300
+2009-08-18,14.640000,14.780000,14.560000,14.750000,14.750000,14797300
+2009-08-19,14.580000,14.910000,14.550000,14.790000,14.790000,15501500
+2009-08-20,14.750000,14.900000,14.700000,14.770000,14.770000,15579900
+2009-08-21,14.880000,14.960000,14.730000,14.790000,14.790000,23537700
+2009-08-24,14.890000,15.190000,14.830000,14.990000,14.990000,26171000
+2009-08-25,15.120000,15.210000,14.940000,15.070000,15.070000,22850600
+2009-08-26,15.090000,15.140000,14.860000,14.930000,14.930000,15845300
+2009-08-27,14.920000,15.000000,14.710000,14.930000,14.930000,30411000
+2009-08-28,14.980000,15.080000,14.800000,14.850000,14.850000,33918200
+2009-08-31,14.740000,14.800000,14.560000,14.610000,14.610000,15420500
+2009-09-01,14.500000,14.680000,14.150000,14.180000,14.180000,30615300
+2009-09-02,14.080000,14.330000,13.970000,14.230000,14.230000,23591500
+2009-09-03,14.360000,14.430000,14.160000,14.280000,14.280000,14661900
+2009-09-04,14.260000,14.640000,14.230000,14.500000,14.500000,17003900
+2009-09-08,14.650000,14.660000,14.370000,14.490000,14.490000,17712200
+2009-09-09,14.450000,14.860000,14.420000,14.780000,14.780000,19096300
+2009-09-10,15.280000,15.630000,15.150000,15.450000,15.450000,49083300
+2009-09-11,15.530000,15.680000,15.410000,15.590000,15.590000,26860700
+2009-09-14,15.450000,15.580000,15.280000,15.570000,15.570000,19451200
+2009-09-15,16.010000,16.490000,15.870000,16.410000,16.410000,64668200
+2009-09-16,16.570000,17.110001,16.520000,16.990000,16.990000,53594700
+2009-09-17,17.000000,17.790001,16.959999,17.500000,17.500000,62010000
+2009-09-18,17.700001,17.700001,16.850000,17.389999,17.389999,86402600
+2009-09-21,17.230000,17.230000,16.959999,17.040001,17.040001,26826900
+2009-09-22,17.170000,17.219999,16.750000,16.860001,16.860001,30588800
+2009-09-23,17.100000,17.600000,16.969999,17.209999,17.209999,36814300
+2009-09-24,17.309999,17.320000,16.650000,16.889999,16.889999,26493700
+2009-09-25,16.799999,17.150000,16.750000,17.080000,17.080000,20701400
+2009-09-28,16.980000,17.469999,16.950001,17.469999,17.469999,26412200
+2009-09-29,17.500000,17.660000,17.209999,17.450001,17.450001,31600100
+2009-09-30,17.480000,17.940001,17.240000,17.809999,17.809999,39878200
+2009-10-01,17.650000,17.719999,17.200001,17.389999,17.389999,24871600
+2009-10-02,17.230000,17.350000,16.780001,16.840000,16.840000,32685300
+2009-10-05,16.850000,17.129999,16.660000,16.799999,16.799999,22224900
+2009-10-06,16.959999,17.350000,16.950001,17.299999,17.299999,21427600
+2009-10-07,17.219999,17.490000,17.150000,17.490000,17.490000,12456700
+2009-10-08,17.629999,17.860001,17.540001,17.580000,17.580000,27966900
+2009-10-09,17.430000,17.480000,16.840000,16.870001,16.870001,29015700
+2009-10-12,16.959999,17.110001,16.660000,16.750000,16.750000,16904700
+2009-10-13,16.950001,17.000000,16.809999,16.879999,16.879999,19492500
+2009-10-14,16.930000,17.030001,16.820000,16.950001,16.950001,17508000
+2009-10-15,16.840000,16.889999,16.459999,16.520000,16.520000,24337300
+2009-10-16,16.610001,16.850000,16.400000,16.809999,16.809999,20479000
+2009-10-19,16.799999,17.290001,16.700001,17.219999,17.219999,17878000
+2009-10-20,17.370001,17.410000,16.870001,17.170000,17.170000,38320400
+2009-10-21,17.980000,18.020000,17.570000,17.660000,17.660000,46204500
+2009-10-22,17.540001,17.750000,17.299999,17.670000,17.670000,16018100
+2009-10-23,17.709999,17.750000,17.090000,17.219999,17.219999,17760400
+2009-10-26,17.049999,17.200001,16.670000,16.870001,16.870001,21213100
+2009-10-27,16.690001,16.870001,16.350000,16.690001,16.690001,19917800
+2009-10-28,16.690001,16.770000,16.020000,16.040001,16.040001,25044800
+2009-10-29,16.190001,16.379999,15.740000,16.129999,16.129999,39146700
+2009-10-30,16.059999,16.370001,15.800000,15.900000,15.900000,22321700
+2009-11-02,15.750000,15.900000,15.590000,15.850000,15.850000,15258200
+2009-11-03,15.710000,15.790000,15.630000,15.700000,15.700000,17240200
+2009-11-04,15.900000,15.900000,15.660000,15.690000,15.690000,18697100
+2009-11-05,15.800000,16.000000,15.740000,15.900000,15.900000,27732500
+2009-11-06,15.890000,16.030001,15.760000,15.940000,15.940000,13562500
+2009-11-09,16.129999,16.190001,15.970000,16.020000,16.020000,14831900
+2009-11-10,16.080000,16.360001,16.010000,16.040001,16.040001,24097400
+2009-11-11,16.000000,16.160000,15.920000,16.090000,16.090000,16346100
+2009-11-12,16.100000,16.280001,15.970000,16.000000,16.000000,10210100
+2009-11-13,16.040001,16.100000,15.920000,15.930000,15.930000,26453800
+2009-11-16,16.080000,16.190001,15.920000,16.070000,16.070000,26125200
+2009-11-17,15.890000,16.110001,15.730000,16.049999,16.049999,22249500
+2009-11-18,16.020000,16.129999,15.840000,15.980000,15.980000,12775400
+2009-11-19,15.830000,15.850000,15.520000,15.610000,15.610000,26891000
+2009-11-20,15.600000,15.740000,15.360000,15.380000,15.380000,16127300
+2009-11-23,15.580000,15.650000,15.340000,15.450000,15.450000,24501400
+2009-11-24,15.380000,15.490000,15.200000,15.240000,15.240000,19774000
+2009-11-25,15.290000,15.350000,15.170000,15.300000,15.300000,21370600
+2009-11-27,15.040000,15.090000,14.880000,15.000000,15.000000,11452900
+2009-11-30,14.900000,15.100000,14.800000,14.970000,14.970000,17587000
+2009-12-01,15.030000,15.190000,14.850000,15.130000,15.130000,17096500
+2009-12-02,15.170000,15.500000,15.160000,15.310000,15.310000,17807800
+2009-12-03,15.330000,15.380000,15.100000,15.110000,15.110000,17196200
+2009-12-04,15.320000,15.380000,15.000000,15.190000,15.190000,17576000
+2009-12-07,15.360000,15.650000,15.320000,15.450000,15.450000,18035200
+2009-12-08,15.450000,15.900000,15.230000,15.450000,15.450000,31160600
+2009-12-09,15.520000,15.540000,15.120000,15.180000,15.180000,25396900
+2009-12-10,15.340000,15.570000,15.240000,15.490000,15.490000,18743000
+2009-12-11,15.850000,15.900000,15.620000,15.740000,15.740000,22607500
+2009-12-14,15.900000,15.970000,15.640000,15.810000,15.810000,18086300
+2009-12-15,15.770000,15.880000,15.650000,15.740000,15.740000,13272900
+2009-12-16,15.570000,15.820000,15.470000,15.790000,15.790000,20637500
+2009-12-17,15.720000,15.960000,15.640000,15.820000,15.820000,26156700
+2009-12-18,15.940000,16.139999,15.780000,16.139999,16.139999,30021100
+2009-12-21,16.110001,16.170000,15.850000,15.880000,15.880000,17806100
+2009-12-22,15.880000,16.080000,15.820000,15.980000,15.980000,10631600
+2009-12-23,16.350000,16.700001,16.000000,16.670000,16.670000,23584100
+2009-12-24,16.690001,16.750000,16.650000,16.719999,16.719999,4736600
+2009-12-28,16.740000,16.940001,16.680000,16.879999,16.879999,11504300
+2009-12-29,16.840000,16.969999,16.680000,16.920000,16.920000,13450200
+2009-12-30,16.830000,16.990000,16.809999,16.980000,16.980000,8188000
+2009-12-31,16.920000,16.959999,16.770000,16.780001,16.780001,9515600
+2010-01-04,16.940001,17.200001,16.879999,17.100000,17.100000,16587400
+2010-01-05,17.219999,17.230000,17.000000,17.230000,17.230000,11718100
+2010-01-06,17.170000,17.299999,17.070000,17.170000,17.170000,16422000
+2010-01-07,16.809999,16.900000,16.570000,16.700001,16.700001,31816300
+2010-01-08,16.680000,16.760000,16.620001,16.700001,16.700001,15470000
+2010-01-11,16.770000,16.830000,16.480000,16.740000,16.740000,16181900
+2010-01-12,16.650000,16.860001,16.600000,16.680000,16.680000,15672400
+2010-01-13,16.879999,16.980000,16.650000,16.900000,16.900000,16955600
+2010-01-14,16.809999,17.230000,16.799999,17.120001,17.120001,16715600
+2010-01-15,17.250000,17.250000,16.750000,16.820000,16.820000,18415000
+2010-01-19,16.780001,16.959999,16.639999,16.750000,16.750000,15182600
+2010-01-20,16.650000,16.680000,16.250000,16.379999,16.379999,14419500
+2010-01-21,16.389999,16.580000,16.100000,16.200001,16.200001,21858400
+2010-01-22,16.080000,16.209999,15.810000,15.880000,15.880000,25132800
+2010-01-25,16.070000,16.110001,15.740000,15.860000,15.860000,19683700
+2010-01-26,15.820000,16.170000,15.700000,15.990000,15.990000,43979400
+2010-01-27,16.459999,16.490000,15.770000,15.980000,15.980000,41701000
+2010-01-28,15.930000,15.960000,15.440000,15.440000,15.440000,30159500
+2010-01-29,15.510000,15.670000,14.900000,15.010000,15.010000,39664600
+2010-02-01,15.140000,15.300000,14.870000,15.050000,15.050000,29865700
+2010-02-02,15.100000,15.320000,15.030000,15.170000,15.170000,27555200
+2010-02-03,15.120000,15.600000,15.120000,15.460000,15.460000,24730600
+2010-02-04,15.340000,15.520000,14.990000,15.010000,15.010000,27668100
+2010-02-05,15.010000,15.250000,14.920000,15.190000,15.190000,20713800
+2010-02-08,15.180000,15.470000,14.950000,14.990000,14.990000,19856400
+2010-02-09,15.200000,15.240000,14.940000,15.070000,15.070000,16716900
+2010-02-10,15.020000,15.020000,14.480000,14.800000,14.800000,36518100
+2010-02-11,14.870000,15.250000,14.770000,15.220000,15.220000,24509500
+2010-02-12,15.070000,15.190000,14.850000,15.170000,15.170000,18926400
+2010-02-16,15.230000,15.480000,15.180000,15.410000,15.410000,21447200
+2010-02-17,15.500000,15.520000,15.320000,15.440000,15.440000,12731900
+2010-02-18,15.400000,15.600000,15.320000,15.540000,15.540000,13700100
+2010-02-19,15.490000,15.710000,15.330000,15.580000,15.580000,15407900
+2010-02-22,15.610000,15.680000,15.440000,15.490000,15.490000,10463500
+2010-02-23,15.450000,15.510000,15.140000,15.380000,15.380000,18346700
+2010-02-24,15.480000,15.710000,15.330000,15.590000,15.590000,19284200
+2010-02-25,15.320000,15.350000,15.130000,15.240000,15.240000,20126900
+2010-02-26,15.270000,15.410000,15.160000,15.310000,15.310000,14975600
+2010-03-01,15.430000,15.830000,15.400000,15.790000,15.790000,17238000
+2010-03-02,15.870000,15.960000,15.670000,15.730000,15.730000,20101800
+2010-03-03,15.850000,15.850000,15.550000,15.570000,15.570000,20613800
+2010-03-04,15.550000,15.850000,15.520000,15.810000,15.810000,22906000
+2010-03-05,15.890000,16.379999,15.890000,16.059999,16.059999,21415000
+2010-03-08,16.320000,16.610001,16.299999,16.520000,16.520000,30554000
+2010-03-09,16.410000,16.719999,16.400000,16.530001,16.530001,20755200
+2010-03-10,16.510000,16.940001,16.510000,16.790001,16.790001,33088600
+2010-03-11,16.570000,16.650000,16.100000,16.530001,16.530001,21732900
+2010-03-12,16.510000,16.590000,16.260000,16.320000,16.320000,23106400
+2010-03-15,16.350000,16.639999,16.280001,16.459999,16.459999,18967700
+2010-03-16,16.469999,16.590000,16.230000,16.360001,16.360001,18309900
+2010-03-17,16.280001,16.629999,16.280001,16.500000,16.500000,13754600
+2010-03-18,16.459999,16.570000,16.320000,16.559999,16.559999,12626200
+2010-03-19,16.620001,16.809999,16.340000,16.440001,16.440001,17871000
+2010-03-22,16.370001,16.540001,16.320000,16.340000,16.340000,18743500
+2010-03-23,16.340000,16.340000,15.970000,16.030001,16.030001,31875700
+2010-03-24,16.100000,16.200001,15.920000,16.090000,16.090000,32654500
+2010-03-25,16.170000,16.590000,16.139999,16.320000,16.320000,27487400
+2010-03-26,16.340000,16.570000,16.309999,16.540001,16.540001,23224900
+2010-03-29,16.480000,16.680000,16.469999,16.559999,16.559999,14902800
+2010-03-30,16.549999,16.690001,16.389999,16.610001,16.610001,16204100
+2010-03-31,16.450001,16.580000,16.420000,16.530001,16.530001,11996900
+2010-04-01,16.580000,16.600000,16.219999,16.290001,16.290001,20103800
+2010-04-05,16.389999,16.559999,16.299999,16.510000,16.510000,9220200
+2010-04-06,16.549999,16.980000,16.420000,16.920000,16.920000,25696700
+2010-04-07,16.780001,16.920000,16.760000,16.870001,16.870001,19921000
+2010-04-08,16.910000,17.410000,16.900000,17.350000,17.350000,45369200
+2010-04-09,17.420000,18.070000,17.250000,17.520000,17.520000,47732000
+2010-04-12,17.520000,17.879999,17.410000,17.639999,17.639999,22828900
+2010-04-13,17.510000,18.299999,17.400000,18.180000,18.180000,47514500
+2010-04-14,18.150000,18.469999,18.059999,18.379999,18.379999,41024800
+2010-04-15,18.299999,19.120001,18.129999,18.969999,18.969999,60024700
+2010-04-16,18.670000,18.680000,17.959999,18.170000,18.170000,51424700
+2010-04-19,18.010000,18.400000,17.990000,18.389999,18.389999,26971800
+2010-04-20,18.500000,18.530001,18.230000,18.379999,18.379999,39171900
+2010-04-21,17.580000,17.780001,17.299999,17.450001,17.450001,71686200
+2010-04-22,17.370001,17.780001,17.150000,17.719999,17.719999,36231400
+2010-04-23,17.709999,17.830000,17.500000,17.639999,17.639999,18901000
+2010-04-26,17.690001,17.719999,17.340000,17.389999,17.389999,17363800
+2010-04-27,17.280001,17.360001,16.879999,16.920000,16.920000,22851000
+2010-04-28,16.980000,17.000000,16.629999,16.750000,16.750000,26452500
+2010-04-29,16.820000,17.049999,16.780001,16.969999,16.969999,16788100
+2010-04-30,17.110001,17.129999,16.530001,16.530001,16.530001,19688200
+2010-05-03,16.680000,16.990000,16.559999,16.950001,16.950001,18162400
+2010-05-04,16.629999,16.900000,16.250000,16.320000,16.320000,31375300
+2010-05-05,16.170000,16.700001,16.110001,16.490000,16.490000,23004200
+2010-05-06,16.340000,16.510000,15.430000,15.920000,15.920000,32125800
+2010-05-07,15.770000,15.950000,15.250000,15.290000,15.290000,43941000
+2010-05-10,16.040001,16.830000,16.000000,16.330000,16.330000,28103500
+2010-05-11,15.950000,16.639999,15.910000,16.410000,16.410000,27786500
+2010-05-12,16.450001,16.500000,16.330000,16.469999,16.469999,16405900
+2010-05-13,16.490000,16.500000,16.080000,16.139999,16.139999,15363800
+2010-05-14,16.510000,16.660000,16.139999,16.389999,16.389999,28111400
+2010-05-17,16.410000,16.469999,15.960000,16.270000,16.270000,21935000
+2010-05-18,16.270000,16.440001,15.950000,16.030001,16.030001,16182200
+2010-05-19,15.830000,16.000000,15.510000,15.790000,15.790000,20485400
+2010-05-20,15.450000,15.490000,15.060000,15.100000,15.100000,33789000
+2010-05-21,14.810000,15.900000,14.630000,15.480000,15.480000,31215300
+2010-05-24,15.420000,15.790000,15.360000,15.540000,15.540000,20116800
+2010-05-25,15.040000,15.310000,14.890000,15.310000,15.310000,27856300
+2010-05-26,15.600000,15.830000,15.430000,15.450000,15.450000,33656000
+2010-05-27,15.830000,15.840000,15.360000,15.690000,15.690000,31091700
+2010-05-28,15.610000,15.690000,15.000000,15.340000,15.340000,17619700
+2010-06-01,15.310000,15.550000,14.980000,15.020000,15.020000,30475500
+2010-06-02,15.040000,15.200000,14.960000,15.180000,15.180000,24993000
+2010-06-03,15.320000,15.500000,15.160000,15.430000,15.430000,28395100
+2010-06-04,15.120000,15.380000,14.960000,15.000000,15.000000,23606400
+2010-06-07,15.190000,15.360000,14.940000,14.940000,14.940000,19153200
+2010-06-08,15.050000,15.120000,14.620000,14.790000,14.790000,35500700
+2010-06-09,14.930000,15.060000,14.650000,14.690000,14.690000,18108600
+2010-06-10,14.940000,15.140000,14.870000,15.100000,15.100000,21249100
+2010-06-11,15.020000,15.350000,14.980000,15.290000,15.290000,14056600
+2010-06-14,15.460000,15.490000,15.150000,15.170000,15.170000,12493100
+2010-06-15,15.290000,15.690000,15.230000,15.650000,15.650000,13888300
+2010-06-16,15.580000,15.650000,15.340000,15.490000,15.490000,15920300
+2010-06-17,15.720000,15.720000,15.440000,15.600000,15.600000,10769300
+2010-06-18,15.660000,15.670000,15.470000,15.540000,15.540000,12767100
+2010-06-21,15.710000,15.840000,15.090000,15.210000,15.210000,20412800
+2010-06-22,15.240000,15.510000,15.070000,15.090000,15.090000,22418100
+2010-06-23,15.140000,15.390000,14.950000,15.230000,15.230000,13374000
+2010-06-24,15.110000,15.190000,14.700000,14.830000,14.830000,18287700
+2010-06-25,14.860000,14.920000,14.570000,14.810000,14.810000,29817600
+2010-06-28,14.830000,14.860000,14.580000,14.730000,14.730000,8175400
+2010-06-29,14.530000,14.540000,13.880000,14.040000,14.040000,31825900
+2010-06-30,13.950000,14.220000,13.790000,13.840000,13.840000,23912900
+2010-07-01,13.990000,14.150000,13.750000,14.090000,14.090000,33222500
+2010-07-02,14.080000,14.240000,14.030000,14.070000,14.070000,18564400
+2010-07-06,14.230000,14.460000,14.000000,14.130000,14.130000,17334100
+2010-07-07,14.180000,14.420000,14.120000,14.400000,14.400000,17417900
+2010-07-08,14.430000,14.770000,14.400000,14.600000,14.600000,17088700
+2010-07-09,14.600000,14.930000,14.590000,14.890000,14.890000,12682000
+2010-07-12,14.930000,15.210000,14.780000,14.940000,14.940000,15585900
+2010-07-13,15.060000,15.600000,14.990000,15.520000,15.520000,22328800
+2010-07-14,15.320000,15.420000,15.200000,15.370000,15.370000,12255700
+2010-07-15,15.310000,15.390000,15.040000,15.370000,15.370000,12626600
+2010-07-16,15.330000,15.370000,13.860000,14.900000,14.900000,16829800
+2010-07-19,15.230000,15.380000,15.020000,15.100000,15.100000,16168200
+2010-07-20,14.990000,15.280000,14.800000,15.200000,15.200000,29578300
+2010-07-21,14.270000,14.280000,13.750000,13.910000,13.910000,78035800
+2010-07-22,13.890000,14.170000,13.810000,13.880000,13.880000,42677600
+2010-07-23,13.780000,14.040000,13.520000,13.990000,13.990000,34318400
+2010-07-26,13.960000,14.220000,13.950000,14.150000,14.150000,23247800
+2010-07-27,14.070000,14.100000,13.890000,13.950000,13.950000,20971000
+2010-07-28,13.910000,13.990000,13.850000,13.870000,13.870000,13522600
+2010-07-29,13.900000,13.960000,13.750000,13.760000,13.760000,16703000
+2010-07-30,13.690000,13.980000,13.680000,13.880000,13.880000,18380400
+2010-08-02,14.010000,14.080000,13.960000,14.000000,14.000000,14167200
+2010-08-03,13.950000,14.070000,13.910000,13.940000,13.940000,14098600
+2010-08-04,14.000000,14.200000,13.920000,14.180000,14.180000,14297200
+2010-08-05,14.160000,14.250000,14.020000,14.160000,14.160000,13072700
+2010-08-06,14.060000,14.380000,14.000000,14.340000,14.340000,13394800
+2010-08-09,14.340000,14.520000,14.340000,14.400000,14.400000,12202600
+2010-08-10,14.260000,14.460000,14.200000,14.350000,14.350000,9658000
+2010-08-11,14.140000,14.200000,13.840000,13.870000,13.870000,13235500
+2010-08-12,13.770000,13.990000,13.750000,13.850000,13.850000,11659900
+2010-08-13,13.810000,13.960000,13.760000,13.830000,13.830000,7845600
+2010-08-16,13.750000,13.900000,13.680000,13.790000,13.790000,11416400
+2010-08-17,13.840000,14.000000,13.750000,13.940000,13.940000,13298600
+2010-08-18,13.980000,14.050000,13.840000,13.990000,13.990000,15533300
+2010-08-19,13.850000,14.000000,13.800000,13.850000,13.850000,14100700
+2010-08-20,13.850000,13.950000,13.740000,13.790000,13.790000,17192200
+2010-08-23,13.810000,13.870000,13.540000,13.650000,13.650000,12297600
+2010-08-24,13.530000,13.640000,13.390000,13.400000,13.400000,13425800
+2010-08-25,13.290000,13.370000,13.140000,13.260000,13.260000,15556800
+2010-08-26,13.360000,13.400000,13.210000,13.210000,13.210000,14602700
+2010-08-27,13.240000,13.470000,13.030000,13.430000,13.430000,12705600
+2010-08-30,13.270000,13.420000,13.180000,13.180000,13.180000,7120900
+2010-08-31,13.110000,13.140000,12.940000,13.110000,13.110000,16489500
+2010-09-01,13.200000,13.410000,13.130000,13.370000,13.370000,24616700
+2010-09-02,13.330000,13.550000,13.260000,13.510000,13.510000,18190200
+2010-09-03,13.690000,13.750000,13.560000,13.620000,13.620000,12478500
+2010-09-07,13.560000,13.620000,13.500000,13.530000,13.530000,10240600
+2010-09-08,13.660000,13.820000,13.620000,13.750000,13.750000,12102700
+2010-09-09,13.880000,13.920000,13.570000,13.650000,13.650000,17735500
+2010-09-10,13.680000,13.770000,13.540000,13.680000,13.680000,18590100
+2010-09-13,13.830000,13.880000,13.610000,13.730000,13.730000,24261400
+2010-09-14,13.760000,13.760000,13.600000,13.630000,13.630000,23064500
+2010-09-15,14.030000,14.350000,13.770000,14.270000,14.270000,90035400
+2010-09-16,14.200000,14.230000,13.980000,14.190000,14.190000,27281500
+2010-09-17,14.330000,14.330000,13.880000,13.890000,13.890000,79565400
+2010-09-20,13.950000,14.060000,13.840000,13.860000,13.860000,26234600
+2010-09-21,13.940000,14.260000,13.920000,14.180000,14.180000,32048400
+2010-09-22,14.190000,14.250000,13.970000,14.040000,14.040000,18567400
+2010-09-23,13.930000,14.240000,13.930000,14.170000,14.170000,16931600
+2010-09-24,14.300000,14.510000,14.240000,14.500000,14.500000,24154800
+2010-09-27,14.460000,14.530000,14.250000,14.280000,14.280000,20674000
+2010-09-28,14.330000,14.450000,14.140000,14.390000,14.390000,16074100
+2010-09-29,14.360000,14.390000,14.060000,14.340000,14.340000,24475700
+2010-09-30,14.260000,14.350000,13.990000,14.170000,14.170000,20376200
+2010-10-01,14.190000,14.350000,14.130000,14.270000,14.270000,16096500
+2010-10-04,14.200000,14.320000,14.130000,14.280000,14.280000,20557500
+2010-10-05,14.450000,14.770000,14.400000,14.610000,14.610000,23988400
+2010-10-06,14.600000,14.700000,14.340000,14.520000,14.520000,20297000
+2010-10-07,14.600000,14.610000,14.140000,14.230000,14.230000,18068600
+2010-10-08,14.210000,14.560000,14.180000,14.490000,14.490000,16102900
+2010-10-11,14.450000,14.580000,14.380000,14.410000,14.410000,8348200
+2010-10-12,14.360000,14.470000,14.270000,14.430000,14.430000,12465700
+2010-10-13,14.570000,15.480000,14.500000,15.250000,15.250000,50773400
+2010-10-14,16.750000,16.760000,15.750000,15.930000,15.930000,123449900
+2010-10-15,16.170000,16.730000,15.900000,16.250000,16.250000,58481800
+2010-10-18,16.200001,16.280001,15.750000,15.930000,15.930000,35876500
+2010-10-19,15.730000,15.800000,15.370000,15.490000,15.490000,32678600
+2010-10-20,15.790000,16.250000,15.790000,15.800000,15.800000,37790200
+2010-10-21,15.900000,16.000000,15.730000,15.970000,15.970000,26935500
+2010-10-22,15.900000,16.410000,15.860000,16.309999,16.309999,24264100
+2010-10-25,16.299999,16.440001,16.150000,16.400000,16.400000,17251500
+2010-10-26,16.219999,16.480000,16.200001,16.459999,16.459999,22349000
+2010-10-27,16.400000,16.430000,16.200001,16.420000,16.420000,13764400
+2010-10-28,16.450001,16.450001,16.309999,16.400000,16.400000,12689500
+2010-10-29,16.370001,16.520000,16.330000,16.490000,16.490000,16013700
+2010-11-01,16.500000,16.520000,16.080000,16.150000,16.150000,14360600
+2010-11-02,16.290001,16.400000,16.180000,16.190001,16.190001,9964700
+2010-11-03,16.209999,16.230000,16.010000,16.170000,16.170000,17325500
+2010-11-04,16.309999,16.350000,16.020000,16.200001,16.200001,26484700
+2010-11-05,16.180000,16.400000,16.180000,16.270000,16.270000,13414000
+2010-11-08,16.290001,16.500000,16.250000,16.440001,16.440001,15561500
+2010-11-09,17.219999,17.600000,16.860001,16.969999,16.969999,56218900
+2010-11-10,17.000000,17.010000,16.750000,16.940001,16.940001,17012600
+2010-11-11,16.629999,16.860001,16.520000,16.799999,16.799999,15310600
+2010-11-12,16.650000,16.750000,16.400000,16.549999,16.549999,17703400
+2010-11-15,16.559999,16.889999,16.330000,16.600000,16.600000,18934600
+2010-11-16,16.450001,16.490000,16.100000,16.240000,16.240000,23484100
+2010-11-17,16.209999,16.330000,16.110001,16.150000,16.150000,10305800
+2010-11-18,16.400000,17.170000,16.290001,16.990000,16.990000,46500100
+2010-11-19,16.969999,16.969999,16.520000,16.570000,16.570000,24036200
+2010-11-22,16.430000,16.650000,16.250000,16.559999,16.559999,14316900
+2010-11-23,16.340000,16.430000,16.040001,16.190001,16.190001,22437900
+2010-11-24,16.309999,16.480000,16.150000,16.410000,16.410000,11561700
+2010-11-26,16.250000,16.400000,16.219999,16.219999,16.219999,4953900
+2010-11-29,16.100000,16.450001,15.950000,16.379999,16.379999,14653000
+2010-11-30,16.200001,16.340000,15.770000,15.820000,15.820000,24981100
+2010-12-01,16.000000,16.400000,16.000000,16.150000,16.150000,17435900
+2010-12-02,16.200001,16.410000,16.120001,16.330000,16.330000,13167300
+2010-12-03,16.270000,16.370001,16.200001,16.350000,16.350000,9228000
+2010-12-06,16.469999,16.600000,16.299999,16.330000,16.330000,12063800
+2010-12-07,16.500000,17.070000,16.500000,16.940001,16.940001,29056400
+2010-12-08,17.010000,17.219999,16.959999,17.020000,17.020000,21773300
+2010-12-09,17.120001,17.190001,16.799999,16.950001,16.950001,8673300
+2010-12-10,16.969999,17.049999,16.910000,17.010000,17.010000,8985300
+2010-12-13,16.900000,16.990000,16.690001,16.700001,16.700001,12755400
+2010-12-14,16.770000,16.840000,16.570000,16.629999,16.629999,11429500
+2010-12-15,16.549999,16.730000,16.420000,16.450001,16.450001,10944200
+2010-12-16,16.450001,16.700001,16.440001,16.510000,16.510000,12940500
+2010-12-17,16.510000,16.660000,16.320000,16.379999,16.379999,24896100
+2010-12-20,16.379999,16.420000,16.150000,16.280001,16.280001,17566400
+2010-12-21,16.309999,16.680000,16.200001,16.600000,16.600000,11394700
+2010-12-22,16.670000,16.780001,16.559999,16.629999,16.629999,6767500
+2010-12-23,16.559999,16.730000,16.450001,16.719999,16.719999,8889200
+2010-12-27,16.620001,16.629999,16.400000,16.480000,16.480000,7492300
+2010-12-28,16.469999,16.540001,16.330000,16.430000,16.430000,8389100
+2010-12-29,16.500000,16.770000,16.430000,16.610001,16.610001,7668600
+2010-12-30,16.600000,16.770000,16.520000,16.760000,16.760000,8318900
+2010-12-31,16.740000,16.760000,16.469999,16.629999,16.629999,7754500
+2011-01-03,16.809999,16.940001,16.670000,16.750000,16.750000,17684000
+2011-01-04,16.709999,16.830000,16.570000,16.590000,16.590000,11092800
+2011-01-05,16.549999,16.910000,16.340000,16.910000,16.910000,23447700
+2011-01-06,16.900000,17.340000,16.770000,17.059999,17.059999,30656800
+2011-01-07,17.030001,17.170000,16.650000,16.900000,16.900000,19869500
+2011-01-10,16.780001,16.799999,16.500000,16.600000,16.600000,16176700
+2011-01-11,16.700001,16.730000,16.530001,16.580000,16.580000,14615700
+2011-01-12,16.709999,16.809999,16.590000,16.650000,16.650000,15066200
+2011-01-13,16.639999,16.920000,16.570000,16.750000,16.750000,15961000
+2011-01-14,16.670000,16.830000,16.600000,16.809999,16.809999,13593500
+2011-01-18,16.620001,16.680000,16.420000,16.500000,16.500000,21392500
+2011-01-19,16.490000,16.549999,16.230000,16.309999,16.309999,17130000
+2011-01-20,16.290001,16.330000,16.090000,16.230000,16.230000,14622700
+2011-01-21,16.270000,16.309999,15.930000,15.970000,15.970000,23366200
+2011-01-24,16.000000,16.240000,15.760000,16.090000,16.090000,23375300
+2011-01-25,16.170000,16.190001,15.850000,16.020000,16.020000,26673100
+2011-01-26,15.930000,16.049999,15.410000,15.570000,15.570000,49690800
+2011-01-27,15.580000,16.360001,15.580000,16.200001,16.200001,39067000
+2011-01-28,16.150000,16.209999,15.680000,15.830000,15.830000,24734000
+2011-01-31,15.820000,16.200001,15.790000,16.120001,16.120001,22911400
+2011-02-01,16.330000,16.459999,16.230000,16.379999,16.379999,26938900
+2011-02-02,16.250000,16.660000,16.250000,16.570000,16.570000,21106800
+2011-02-03,16.480000,16.910000,16.400000,16.690001,16.690001,33314600
+2011-02-04,16.740000,16.910000,16.450001,16.790001,16.790001,19127900
+2011-02-07,16.809999,17.000000,16.770000,16.799999,16.799999,16046500
+2011-02-08,16.830000,16.850000,16.480000,16.600000,16.600000,17932000
+2011-02-09,16.540001,16.700001,16.350000,16.430000,16.430000,17778700
+2011-02-10,16.389999,16.719999,16.350000,16.620001,16.620001,15430500
+2011-02-11,16.580000,16.870001,16.540001,16.850000,16.850000,15386300
+2011-02-14,16.840000,16.930000,16.719999,16.889999,16.889999,14503000
+2011-02-15,16.799999,17.389999,16.780001,17.200001,17.200001,31395200
+2011-02-16,17.230000,17.820000,17.209999,17.760000,17.760000,41824100
+2011-02-17,17.750000,17.820000,17.500000,17.770000,17.770000,23566600
+2011-02-18,17.690001,17.840000,17.570000,17.660000,17.660000,13729900
+2011-02-22,17.080000,17.389999,16.870001,16.910000,16.910000,34759500
+2011-02-23,17.030001,17.100000,16.350000,16.580000,16.580000,35225100
+2011-02-24,16.660000,16.730000,16.040001,16.370001,16.370001,31570400
+2011-02-25,16.389999,16.770000,16.379999,16.500000,16.500000,16939600
+2011-02-28,16.370001,16.600000,16.280001,16.400000,16.400000,20210300
+2011-03-01,16.459999,16.490000,16.080000,16.100000,16.100000,16702800
+2011-03-02,16.650000,16.850000,16.600000,16.629999,16.629999,24521100
+2011-03-03,16.850000,17.049999,16.760000,16.860001,16.860001,35202100
+2011-03-04,16.750000,17.200001,16.719999,17.080000,17.080000,20274200
+2011-03-07,17.070000,17.150000,16.490000,16.700001,16.700001,18770800
+2011-03-08,16.740000,17.020000,16.719999,16.940001,16.940001,12717200
+2011-03-09,16.889999,17.700001,16.850000,17.650000,17.650000,33798000
+2011-03-10,17.299999,17.389999,16.930000,17.059999,17.059999,25659700
+2011-03-11,17.000000,17.540001,17.000000,17.420000,17.420000,19454900
+2011-03-14,17.240000,17.440001,17.090000,17.309999,17.309999,21615500
+2011-03-15,16.660000,16.680000,16.040001,16.330000,16.330000,51489300
+2011-03-16,16.330000,16.480000,15.850000,15.910000,15.910000,38378500
+2011-03-17,16.160000,16.420000,15.810000,15.860000,15.860000,37548800
+2011-03-18,16.100000,16.190001,16.010000,16.030001,16.030001,26660400
+2011-03-21,16.180000,16.500000,16.160000,16.290001,16.290001,20613700
+2011-03-22,16.290001,16.480000,16.160000,16.360001,16.360001,30692400
+2011-03-23,16.299999,16.340000,15.980000,16.129999,16.129999,30842500
+2011-03-24,16.190001,16.910000,16.170000,16.830000,16.830000,20120300
+2011-03-25,16.940001,17.049999,16.700001,16.959999,16.959999,21047200
+2011-03-28,17.010000,17.059999,16.580000,16.580000,16.580000,16066700
+2011-03-29,16.600000,16.780001,16.530001,16.750000,16.750000,10037900
+2011-03-30,16.830000,16.920000,16.680000,16.740000,16.740000,12944600
+2011-03-31,16.709999,16.879999,16.650000,16.680000,16.680000,15131500
+2011-04-01,16.830000,16.980000,16.719999,16.840000,16.840000,12487400
+2011-04-04,16.900000,17.049999,16.809999,16.870001,16.870001,9560800
+2011-04-05,16.809999,17.290001,16.790001,17.110001,17.110001,18464500
+2011-04-06,17.170000,17.200001,16.940001,17.049999,17.049999,13298700
+2011-04-07,16.910000,17.100000,16.790001,17.000000,17.000000,12778700
+2011-04-08,17.080000,17.110001,16.770000,16.770000,16.770000,13114200
+2011-04-11,16.910000,16.959999,16.370001,16.590000,16.590000,34841900
+2011-04-12,16.549999,16.639999,16.290001,16.360001,16.360001,19783600
+2011-04-13,16.430000,16.690001,16.430000,16.639999,16.639999,16700400
+2011-04-14,16.549999,16.820000,16.430000,16.690001,16.690001,16595500
+2011-04-15,16.639999,16.780001,16.540001,16.620001,16.620001,14756500
+2011-04-18,16.350000,16.440001,16.059999,16.350000,16.350000,21935700
+2011-04-19,16.209999,16.360001,16.080000,16.120001,16.120001,31547400
+2011-04-20,16.700001,17.230000,16.590000,16.870001,16.870001,34310400
+2011-04-21,16.930000,16.940001,16.740000,16.850000,16.850000,13985200
+2011-04-25,17.010000,17.309999,16.900000,17.110001,17.110001,17771500
+2011-04-26,17.110001,17.370001,17.020000,17.280001,17.280001,20000000
+2011-04-27,17.299999,17.430000,17.180000,17.260000,17.260000,16642400
+2011-04-28,17.219999,17.530001,17.170000,17.510000,17.510000,14400000
+2011-04-29,17.459999,17.770000,17.360001,17.700001,17.700001,30800000
+2011-05-02,17.790001,18.350000,17.570000,18.139999,18.139999,44030600
+2011-05-03,18.230000,18.639999,17.879999,17.920000,17.920000,32600000
+2011-05-04,17.990000,18.379999,17.959999,18.200001,18.200001,23584900
+2011-05-05,18.120001,18.559999,18.049999,18.430000,18.430000,30800000
+2011-05-06,18.590000,18.799999,18.379999,18.650000,18.650000,29690800
+2011-05-09,18.600000,18.840000,18.540001,18.559999,18.559999,15595600
+2011-05-10,18.670000,18.700001,18.420000,18.549999,18.549999,18475100
+2011-05-11,18.450001,18.610001,16.740000,17.200001,17.200001,131200000
+2011-05-12,17.120001,17.809999,16.930000,17.170000,17.170000,53000000
+2011-05-13,16.139999,16.840000,15.960000,16.549999,16.549999,120057600
+2011-05-16,16.680000,16.690001,15.630000,15.810000,15.810000,62082200
+2011-05-17,15.880000,16.070000,15.730000,16.000000,16.000000,31205200
+2011-05-18,16.070000,16.160000,15.750000,15.960000,15.960000,25880200
+2011-05-19,16.049999,16.490000,16.040001,16.350000,16.350000,40356400
+2011-05-20,16.320000,16.440001,16.150000,16.299999,16.299999,23582700
+2011-05-23,16.049999,16.170000,16.000000,16.059999,16.059999,19300000
+2011-05-24,16.110001,16.410000,16.049999,16.139999,16.139999,23150600
+2011-05-25,16.190001,16.990000,16.100000,16.150000,16.150000,34172600
+2011-05-26,16.180000,16.219999,15.880000,15.980000,15.980000,23999500
+2011-05-27,16.030001,16.190001,15.950000,16.020000,16.020000,20091200
+2011-05-31,16.170000,16.590000,16.120001,16.549999,16.549999,30266600
+2011-06-01,16.340000,16.430000,15.790000,15.850000,15.850000,40295600
+2011-06-02,16.000000,16.110001,15.870000,16.020000,16.020000,21005000
+2011-06-03,15.820000,16.000000,15.630000,15.680000,15.680000,22245200
+2011-06-06,15.650000,15.850000,15.410000,15.450000,15.450000,18200400
+2011-06-07,15.540000,15.650000,15.320000,15.450000,15.450000,16516100
+2011-06-08,15.370000,15.380000,15.080000,15.100000,15.100000,21986600
+2011-06-09,15.180000,15.330000,14.940000,15.220000,15.220000,18681900
+2011-06-10,15.270000,15.730000,15.110000,15.200000,15.200000,19452400
+2011-06-13,15.200000,15.340000,15.100000,15.160000,15.160000,14581200
+2011-06-14,15.260000,15.560000,15.190000,15.200000,15.200000,21994400
+2011-06-15,15.010000,15.050000,14.500000,14.810000,14.810000,41286100
+2011-06-16,15.010000,15.090000,14.650000,14.780000,14.780000,24446700
+2011-06-17,14.980000,14.980000,14.560000,14.700000,14.700000,22963400
+2011-06-20,14.660000,15.420000,14.660000,14.990000,14.990000,32646500
+2011-06-21,15.030000,15.380000,14.910000,15.350000,15.350000,17507800
+2011-06-22,15.290000,15.530000,15.190000,15.230000,15.230000,30154700
+2011-06-23,15.080000,15.090000,14.720000,15.080000,15.080000,32524700
+2011-06-24,15.080000,15.160000,14.850000,14.890000,14.890000,25340600
+2011-06-27,14.870000,14.980000,14.770000,14.880000,14.880000,13836300
+2011-06-28,14.950000,15.180000,14.880000,14.950000,14.950000,16056600
+2011-06-29,14.960000,15.050000,14.680000,14.890000,14.890000,25465200
+2011-06-30,14.980000,15.100000,14.640000,15.040000,15.040000,34905700
+2011-07-01,15.080000,15.500000,15.020000,15.450000,15.450000,16272500
+2011-07-05,15.400000,15.670000,15.250000,15.490000,15.490000,20481700
+2011-07-06,15.530000,15.810000,15.520000,15.720000,15.720000,18287200
+2011-07-07,15.780000,15.950000,15.700000,15.810000,15.810000,20991400
+2011-07-08,15.620000,15.690000,15.440000,15.610000,15.610000,14364900
+2011-07-11,15.430000,15.440000,14.990000,15.050000,15.050000,21486700
+2011-07-12,15.010000,15.180000,14.850000,14.860000,14.860000,22791100
+2011-07-13,15.010000,15.100000,14.870000,14.910000,14.910000,16646100
+2011-07-14,14.880000,14.990000,14.600000,14.630000,14.630000,27078600
+2011-07-15,14.750000,14.940000,14.610000,14.690000,14.690000,19745100
+2011-07-18,14.680000,14.690000,14.370000,14.420000,14.420000,24504800
+2011-07-19,14.570000,14.690000,14.450000,14.590000,14.590000,30168200
+2011-07-20,14.150000,14.150000,13.450000,13.480000,13.480000,63098400
+2011-07-21,13.500000,13.630000,13.360000,13.590000,13.590000,30487100
+2011-07-22,13.650000,14.050000,13.570000,13.980000,13.980000,30144800
+2011-07-25,13.840000,13.880000,13.680000,13.690000,13.690000,16725400
+2011-07-26,13.700000,13.990000,13.650000,13.940000,13.940000,20934200
+2011-07-27,13.870000,13.900000,13.570000,13.590000,13.590000,20559500
+2011-07-28,13.600000,13.710000,13.430000,13.500000,13.500000,20636500
+2011-07-29,13.890000,14.070000,13.040000,13.100000,13.100000,67798500
+2011-08-01,13.240000,13.340000,12.950000,13.100000,13.100000,26880000
+2011-08-02,12.960000,13.180000,12.750000,12.760000,12.760000,25800300
+2011-08-03,12.770000,13.070000,12.530000,13.020000,13.020000,26161900
+2011-08-04,12.800000,12.860000,11.990000,12.000000,12.000000,39442300
+2011-08-05,12.080000,12.120000,11.410000,11.740000,11.740000,47066200
+2011-08-08,11.430000,11.800000,11.090000,11.090000,11.090000,59577600
+2011-08-09,11.300000,12.090000,11.250000,12.090000,12.090000,47484100
+2011-08-10,11.770000,12.140000,11.620000,11.770000,11.770000,48027400
+2011-08-11,11.890000,12.920000,11.880000,12.860000,12.860000,51098800
+2011-08-12,12.810000,13.620000,12.760000,13.590000,13.590000,48472500
+2011-08-15,13.630000,13.690000,13.270000,13.470000,13.470000,25682800
+2011-08-16,13.340000,13.570000,13.180000,13.480000,13.480000,25581900
+2011-08-17,13.490000,13.620000,13.320000,13.470000,13.470000,17006500
+2011-08-18,13.020000,13.090000,12.800000,12.960000,12.960000,30447700
+2011-08-19,12.750000,13.080000,12.720000,12.920000,12.920000,26183900
+2011-08-22,13.160000,13.230000,12.770000,12.840000,12.840000,14199400
+2011-08-23,12.910000,13.350000,12.750000,13.350000,13.350000,17186500
+2011-08-24,13.280000,13.300000,12.790000,13.150000,13.150000,24967200
+2011-08-25,13.120000,13.210000,12.810000,12.870000,12.870000,21811800
+2011-08-26,12.800000,12.890000,12.520000,12.740000,12.740000,35882600
+2011-08-29,12.900000,13.680000,12.690000,13.680000,13.680000,30990800
+2011-08-30,13.300000,13.980000,13.230000,13.840000,13.840000,29162300
+2011-08-31,13.910000,13.940000,13.540000,13.610000,13.610000,25390700
+2011-09-01,13.670000,13.780000,13.320000,13.350000,13.350000,17962700
+2011-09-02,13.120000,13.130000,12.860000,12.870000,12.870000,20508600
+2011-09-06,12.520000,12.950000,12.450000,12.910000,12.910000,54455300
+2011-09-07,13.750000,14.000000,13.240000,13.610000,13.610000,77324200
+2011-09-08,13.570000,14.490000,13.370000,14.440000,14.440000,93972000
+2011-09-09,14.360000,14.570000,14.070000,14.480000,14.480000,60031900
+2011-09-12,14.120000,14.280000,13.920000,14.260000,14.260000,32692700
+2011-09-13,14.300000,14.340000,14.120000,14.260000,14.260000,19928800
+2011-09-14,14.470000,14.940000,14.340000,14.550000,14.550000,37385000
+2011-09-15,14.730000,15.400000,14.510000,14.890000,14.890000,58585100
+2011-09-16,15.090000,15.340000,14.940000,14.970000,14.970000,56827900
+2011-09-19,14.760000,14.790000,14.400000,14.610000,14.610000,27290100
+2011-09-20,14.530000,14.660000,14.280000,14.360000,14.360000,21767200
+2011-09-21,14.380000,14.600000,13.960000,13.960000,13.960000,32012800
+2011-09-22,14.200000,14.250000,13.690000,13.990000,13.990000,60456300
+2011-09-23,14.230000,14.830000,14.120000,14.710000,14.710000,49333200
+2011-09-26,14.790000,14.800000,14.230000,14.750000,14.750000,24466200
+2011-09-27,14.920000,15.000000,14.440000,14.540000,14.540000,25084400
+2011-09-28,14.610000,14.620000,14.150000,14.190000,14.190000,21284700
+2011-09-29,14.340000,14.390000,13.150000,13.420000,13.420000,45776600
+2011-09-30,13.210000,13.440000,13.110000,13.170000,13.170000,30232800
+2011-10-03,13.700000,14.040000,13.370000,13.530000,13.530000,43196300
+2011-10-04,14.000000,14.480000,13.870000,14.460000,14.460000,44487200
+2011-10-05,14.660000,16.150000,14.390000,15.920000,15.920000,97330200
+2011-10-06,15.160000,15.800000,14.920000,15.650000,15.650000,49961100
+2011-10-07,15.640000,15.750000,15.380000,15.470000,15.470000,27954000
+2011-10-10,15.860000,16.040001,15.620000,15.840000,15.840000,33085000
+2011-10-11,15.790000,15.950000,15.590000,15.860000,15.860000,18050300
+2011-10-12,15.930000,15.950000,15.670000,15.770000,15.770000,20585400
+2011-10-13,15.760000,16.370001,15.540000,15.930000,15.930000,32487300
+2011-10-14,16.129999,16.150000,15.660000,15.910000,15.910000,23520100
+2011-10-17,15.950000,16.040001,15.650000,15.700000,15.700000,21204000
+2011-10-18,15.720000,15.740000,15.110000,15.470000,15.470000,31377900
+2011-10-19,16.040001,16.790001,15.730000,15.940000,15.940000,54264500
+2011-10-20,16.200001,16.490000,15.970000,16.180000,16.180000,40816900
+2011-10-21,16.379999,16.389999,16.059999,16.120001,16.120001,29739400
+2011-10-24,16.570000,16.750000,16.309999,16.709999,16.709999,29864000
+2011-10-25,16.660000,16.700001,16.180000,16.240000,16.240000,24059700
+2011-10-26,16.330000,16.440001,15.860000,16.299999,16.299999,23630100
+2011-10-27,16.559999,16.700001,16.450001,16.629999,16.629999,19772200
+2011-10-28,16.410000,16.700001,16.250000,16.559999,16.559999,20286900
+2011-10-31,16.059999,16.070000,15.450000,15.640000,15.640000,39763700
+2011-11-01,14.950000,15.080000,14.750000,14.930000,14.930000,41834700
+2011-11-02,15.100000,15.300000,15.000000,15.100000,15.100000,20758800
+2011-11-03,15.200000,15.500000,15.030000,15.480000,15.480000,16809500
+2011-11-04,15.390000,15.540000,14.950000,15.240000,15.240000,41853000
+2011-11-07,15.260000,15.700000,15.250000,15.690000,15.690000,22390700
+2011-11-08,15.870000,16.180000,15.810000,15.970000,15.970000,25079700
+2011-11-09,16.170000,16.500000,15.870000,15.920000,15.920000,45328300
+2011-11-10,16.180000,16.219999,15.840000,15.950000,15.950000,15366400
+2011-11-11,15.960000,16.309999,15.910000,16.270000,16.270000,14541600
+2011-11-14,16.170000,16.309999,15.930000,16.000000,16.000000,14277600
+2011-11-15,15.930000,16.049999,15.700000,15.930000,15.930000,17650700
+2011-11-16,15.800000,16.100000,15.700000,15.720000,15.720000,14367600
+2011-11-17,15.690000,15.770000,15.200000,15.340000,15.340000,17443700
+2011-11-18,15.570000,15.690000,15.370000,15.380000,15.380000,17160300
+2011-11-21,15.190000,15.190000,14.770000,14.990000,14.990000,23676900
+2011-11-22,14.880000,15.080000,14.750000,14.970000,14.970000,14836000
+2011-11-23,15.200000,15.240000,14.830000,14.940000,14.940000,20125200
+2011-11-25,15.000000,15.250000,14.900000,15.100000,15.100000,10781800
+2011-11-28,15.240000,15.470000,15.210000,15.350000,15.350000,19029000
+2011-11-29,15.600000,15.940000,15.450000,15.700000,15.700000,29294000
+2011-11-30,15.900000,16.040001,15.650000,15.710000,15.710000,34718200
+2011-12-01,16.420000,16.459999,16.090000,16.230000,16.230000,47059800
+2011-12-02,16.309999,16.410000,16.030001,16.049999,16.049999,22714500
+2011-12-05,16.110001,16.139999,15.830000,15.890000,15.890000,19896500
+2011-12-06,15.900000,16.049999,15.840000,15.840000,15.840000,17333200
+2011-12-07,15.820000,15.860000,15.560000,15.620000,15.620000,19750500
+2011-12-08,15.600000,15.760000,15.530000,15.610000,15.610000,18126100
+2011-12-09,15.610000,15.960000,15.600000,15.940000,15.940000,13446300
+2011-12-12,15.710000,15.720000,15.410000,15.470000,15.470000,14689400
+2011-12-13,15.540000,15.740000,15.350000,15.420000,15.420000,15584400
+2011-12-14,15.190000,15.280000,14.800000,15.020000,15.020000,27251100
+2011-12-15,15.210000,15.290000,15.010000,15.160000,15.160000,14829800
+2011-12-16,15.050000,15.260000,14.920000,14.960000,14.960000,32617200
+2011-12-19,14.950000,15.000000,14.570000,14.620000,14.620000,21447300
+2011-12-20,14.680000,15.190000,14.680000,15.110000,15.110000,15885700
+2011-12-21,15.150000,16.240000,14.740000,15.990000,15.990000,47127600
+2011-12-22,16.360001,16.400000,15.950000,16.000000,16.000000,33812800
+2011-12-23,16.049999,16.260000,15.870000,16.190001,16.190001,17865900
+2011-12-27,16.160000,16.170000,16.010000,16.090000,16.090000,9739500
+2011-12-28,16.030001,16.049999,15.670000,15.780000,15.780000,14679900
+2011-12-29,15.950000,16.230000,15.800000,16.129999,16.129999,15280900
+2011-12-30,16.180000,16.209999,16.030001,16.129999,16.129999,10832800
+2012-01-03,16.270000,16.389999,16.200001,16.290001,16.290001,19708600
+2012-01-04,16.120001,16.160000,15.740000,15.780000,15.780000,35655300
+2012-01-05,15.600000,15.690000,15.440000,15.640000,15.640000,19422800
+2012-01-06,15.640000,15.660000,15.400000,15.520000,15.520000,13308400
+2012-01-09,15.590000,15.610000,15.350000,15.460000,15.460000,13191900
+2012-01-10,15.570000,15.710000,15.500000,15.510000,15.510000,14048800
+2012-01-11,15.560000,15.620000,15.350000,15.530000,15.530000,10800800
+2012-01-12,15.580000,15.730000,15.450000,15.660000,15.660000,12664600
+2012-01-13,15.650000,15.670000,15.430000,15.480000,15.480000,11704700
+2012-01-17,15.630000,15.660000,15.390000,15.430000,15.430000,15334200
+2012-01-18,15.870000,16.000000,15.690000,15.920000,15.920000,35695800
+2012-01-19,15.900000,16.150000,15.890000,16.120001,16.120001,22645000
+2012-01-20,16.110001,16.110001,15.850000,15.960000,15.960000,22003800
+2012-01-23,15.850000,15.930000,15.640000,15.680000,15.680000,17864500
+2012-01-24,15.570000,15.810000,15.550000,15.690000,15.690000,17152200
+2012-01-25,15.600000,15.710000,15.460000,15.560000,15.560000,23349500
+2012-01-26,15.630000,15.690000,15.420000,15.530000,15.530000,15408400
+2012-01-27,15.500000,15.800000,15.460000,15.740000,15.740000,10859000
+2012-01-30,15.610000,15.650000,15.500000,15.550000,15.550000,11076900
+2012-01-31,15.540000,15.620000,15.410000,15.470000,15.470000,10725500
+2012-02-01,15.570000,15.800000,15.530000,15.730000,15.730000,13221000
+2012-02-02,15.760000,15.820000,15.690000,15.720000,15.720000,9948800
+2012-02-03,15.940000,15.980000,15.830000,15.920000,15.920000,13652100
+2012-02-06,15.940000,15.950000,15.760000,15.820000,15.820000,11291100
+2012-02-07,15.840000,15.890000,15.740000,15.830000,15.830000,13504500
+2012-02-08,15.960000,15.970000,15.720000,15.780000,15.780000,13439400
+2012-02-09,16.100000,16.100000,15.900000,16.000000,16.000000,22553000
+2012-02-10,16.020000,16.309999,16.000000,16.139999,16.139999,27790100
+2012-02-13,16.129999,16.240000,16.049999,16.120001,16.120001,10067300
+2012-02-14,16.070000,16.100000,14.920000,15.370000,15.370000,88638700
+2012-02-15,15.230000,15.300000,15.080000,15.120000,15.120000,25318400
+2012-02-16,15.250000,15.380000,15.100000,15.360000,15.360000,15377400
+2012-02-17,15.410000,15.440000,15.000000,15.010000,15.010000,22889500
+2012-02-21,15.040000,15.070000,14.750000,14.750000,14.750000,29696600
+2012-02-22,14.680000,14.750000,14.430000,14.500000,14.500000,27187200
+2012-02-23,14.550000,14.810000,14.370000,14.780000,14.780000,15689700
+2012-02-24,14.860000,14.970000,14.830000,14.890000,14.890000,12105400
+2012-02-27,14.740000,14.910000,14.720000,14.860000,14.860000,13431000
+2012-02-28,14.930000,14.990000,14.760000,14.900000,14.900000,15395600
+2012-02-29,14.890000,14.930000,14.780000,14.830000,14.830000,19611100
+2012-03-01,14.890000,14.960000,14.790000,14.930000,14.930000,12283300
+2012-03-02,14.890000,14.920000,14.660000,14.720000,14.720000,9164900
+2012-03-05,14.660000,14.950000,14.520000,14.620000,14.620000,11749700
+2012-03-06,14.610000,14.690000,14.350000,14.420000,14.420000,12696600
+2012-03-07,14.480000,14.710000,14.440000,14.620000,14.620000,10622500
+2012-03-08,14.700000,14.770000,14.520000,14.620000,14.620000,11271400
+2012-03-09,14.630000,14.700000,14.610000,14.630000,14.630000,9769900
+2012-03-12,14.660000,14.760000,14.480000,14.490000,14.490000,11309200
+2012-03-13,14.540000,14.620000,14.390000,14.550000,14.550000,17134400
+2012-03-14,14.540000,14.640000,14.420000,14.630000,14.630000,14765500
+2012-03-15,14.640000,14.980000,14.570000,14.890000,14.890000,19809800
+2012-03-16,14.950000,15.180000,14.920000,15.180000,15.180000,28337600
+2012-03-19,15.080000,15.220000,14.920000,15.150000,15.150000,16649600
+2012-03-20,15.000000,15.610000,14.920000,15.410000,15.410000,22095600
+2012-03-21,15.420000,15.610000,15.170000,15.510000,15.510000,25024100
+2012-03-22,15.510000,15.560000,15.380000,15.490000,15.490000,14618600
+2012-03-23,15.520000,15.590000,15.310000,15.390000,15.390000,8493700
+2012-03-26,15.460000,15.560000,15.360000,15.540000,15.540000,11500800
+2012-03-27,15.530000,15.550000,15.410000,15.430000,15.430000,11891000
+2012-03-28,15.450000,15.480000,15.140000,15.320000,15.320000,18831800
+2012-03-29,15.190000,15.340000,15.110000,15.300000,15.300000,9933800
+2012-03-30,15.370000,15.420000,15.180000,15.220000,15.220000,15514100
+2012-04-02,15.190000,15.510000,15.110000,15.460000,15.460000,14423800
+2012-04-03,15.360000,15.430000,15.060000,15.180000,15.180000,18215000
+2012-04-04,15.150000,15.340000,15.000000,15.270000,15.270000,20954600
+2012-04-05,15.140000,15.260000,15.000000,15.070000,15.070000,11717000
+2012-04-09,15.000000,15.250000,14.960000,15.100000,15.100000,11335400
+2012-04-10,15.080000,15.180000,14.910000,14.990000,14.990000,15284200
+2012-04-11,15.080000,15.080000,14.840000,14.880000,14.880000,11200900
+2012-04-12,14.900000,15.100000,14.840000,15.060000,15.060000,9487500
+2012-04-13,14.990000,15.180000,14.860000,14.870000,14.870000,15335800
+2012-04-16,15.000000,15.040000,14.730000,14.790000,14.790000,13639200
+2012-04-17,14.820000,15.180000,14.820000,15.010000,15.010000,20559000
+2012-04-18,15.400000,15.570000,15.300000,15.490000,15.490000,36559000
+2012-04-19,15.440000,15.570000,15.360000,15.400000,15.400000,18431200
+2012-04-20,15.410000,15.700000,15.390000,15.600000,15.600000,24558400
+2012-04-23,15.410000,15.470000,15.290000,15.330000,15.330000,21683700
+2012-04-24,15.330000,15.520000,15.330000,15.430000,15.430000,12140200
+2012-04-25,15.430000,15.510000,15.380000,15.500000,15.500000,13236900
+2012-04-26,15.440000,15.550000,15.380000,15.530000,15.530000,12542800
+2012-04-27,15.510000,15.620000,15.490000,15.570000,15.570000,9711600
+2012-04-30,15.550000,15.570000,15.450000,15.540000,15.540000,10894600
+2012-05-01,15.510000,15.730000,15.500000,15.630000,15.630000,9799300
+2012-05-02,15.580000,15.770000,15.540000,15.670000,15.670000,10841000
+2012-05-03,15.650000,15.650000,15.330000,15.400000,15.400000,10932700
+2012-05-04,15.250000,15.290000,15.090000,15.150000,15.150000,13771300
+2012-05-07,15.340000,15.490000,15.160000,15.350000,15.350000,13466000
+2012-05-08,15.310000,15.440000,15.090000,15.360000,15.360000,18603600
+2012-05-09,15.170000,15.450000,15.030000,15.300000,15.300000,19008500
+2012-05-10,15.400000,15.540000,15.300000,15.440000,15.440000,11175700
+2012-05-11,14.880000,15.440000,14.800000,15.190000,15.190000,21134300
+2012-05-14,15.480000,15.770000,15.400000,15.500000,15.500000,30818600
+2012-05-15,15.470000,15.550000,15.340000,15.400000,15.400000,13742500
+2012-05-16,15.400000,15.570000,15.260000,15.280000,15.280000,17247400
+2012-05-17,15.260000,15.370000,14.850000,14.870000,14.870000,17345100
+2012-05-18,15.780000,15.870000,15.360000,15.420000,15.420000,32679400
+2012-05-21,16.000000,16.000000,15.100000,15.580000,15.580000,51145800
+2012-05-22,15.580000,15.610000,15.190000,15.290000,15.290000,33542000
+2012-05-23,15.190000,15.430000,15.140000,15.380000,15.380000,18115300
+2012-05-24,15.340000,15.510000,15.220000,15.350000,15.350000,13875600
+2012-05-25,15.400000,15.480000,15.280000,15.360000,15.360000,13629000
+2012-05-29,15.400000,15.550000,15.280000,15.470000,15.470000,18464900
+2012-05-30,15.300000,15.340000,15.160000,15.250000,15.250000,14924600
+2012-05-31,15.230000,15.370000,15.120000,15.240000,15.240000,17160000
+2012-06-01,15.040000,15.120000,14.850000,14.920000,14.920000,16196700
+2012-06-04,14.900000,15.030000,14.810000,15.010000,15.010000,15478000
+2012-06-05,15.000000,15.140000,14.910000,15.100000,15.100000,9725400
+2012-06-06,15.140000,15.410000,15.140000,15.360000,15.360000,18295500
+2012-06-07,15.470000,15.500000,15.330000,15.360000,15.360000,12635700
+2012-06-08,15.520000,15.680000,15.400000,15.650000,15.650000,16420600
+2012-06-11,15.730000,15.730000,15.270000,15.300000,15.300000,17145100
+2012-06-12,15.350000,15.520000,15.260000,15.470000,15.470000,17012500
+2012-06-13,15.470000,15.490000,15.270000,15.340000,15.340000,16454100
+2012-06-14,15.300000,15.460000,15.250000,15.360000,15.360000,11612700
+2012-06-15,15.440000,15.440000,15.330000,15.360000,15.360000,11716500
+2012-06-18,15.330000,15.540000,15.270000,15.490000,15.490000,9654000
+2012-06-19,15.520000,15.690000,15.510000,15.650000,15.650000,10635800
+2012-06-20,15.690000,15.750000,15.580000,15.740000,15.740000,11260700
+2012-06-21,15.740000,15.800000,15.470000,15.520000,15.520000,13102700
+2012-06-22,15.530000,15.700000,15.520000,15.610000,15.610000,11042700
+2012-06-25,15.510000,15.550000,15.310000,15.440000,15.440000,13383100
+2012-06-26,15.400000,15.470000,15.190000,15.350000,15.350000,13640400
+2012-06-27,15.410000,15.630000,15.380000,15.520000,15.520000,11261800
+2012-06-28,15.410000,15.480000,15.290000,15.450000,15.450000,12479200
+2012-06-29,15.610000,15.830000,15.530000,15.830000,15.830000,13501800
+2012-07-02,15.800000,15.940000,15.760000,15.840000,15.840000,7226600
+2012-07-03,15.830000,15.990000,15.820000,15.980000,15.980000,8148400
+2012-07-05,15.900000,15.990000,15.810000,15.850000,15.850000,11440800
+2012-07-06,15.800000,15.910000,15.680000,15.780000,15.780000,12151600
+2012-07-09,15.780000,15.840000,15.700000,15.750000,15.750000,10375900
+2012-07-10,15.830000,15.980000,15.710000,15.820000,15.820000,15933900
+2012-07-11,15.820000,15.940000,15.680000,15.800000,15.800000,16482300
+2012-07-12,15.630000,15.810000,15.540000,15.690000,15.690000,18390200
+2012-07-13,15.700000,15.840000,15.690000,15.740000,15.740000,11811600
+2012-07-16,15.690000,15.800000,15.600000,15.650000,15.650000,14982900
+2012-07-17,15.850000,15.890000,15.420000,15.600000,15.600000,30596300
+2012-07-18,15.640000,15.750000,15.510000,15.700000,15.700000,19270600
+2012-07-19,15.710000,15.860000,15.640000,15.730000,15.730000,15985300
+2012-07-20,15.750000,15.940000,15.680000,15.920000,15.920000,16919700
+2012-07-23,15.700000,15.810000,15.590000,15.760000,15.760000,14825800
+2012-07-24,15.740000,15.760000,15.230000,15.430000,15.430000,19733400
+2012-07-25,15.520000,15.640000,15.400000,15.500000,15.500000,15092000
+2012-07-26,15.690000,15.880000,15.620000,15.800000,15.800000,11033200
+2012-07-27,15.880000,16.170000,15.840000,16.110001,16.110001,14220800
+2012-07-30,16.150000,16.150000,15.900000,15.980000,15.980000,10187600
+2012-07-31,16.000000,16.059999,15.810000,15.840000,15.840000,13753800
+2012-08-01,15.860000,16.070000,15.830000,15.990000,15.990000,14008000
+2012-08-02,15.860000,16.000000,15.640000,15.750000,15.750000,12900500
+2012-08-03,15.890000,16.030001,15.820000,15.970000,15.970000,9140800
+2012-08-06,16.000000,16.070000,15.950000,16.040001,16.040001,8803900
+2012-08-07,16.090000,16.370001,16.070000,16.219999,16.219999,17281700
+2012-08-08,16.150000,16.320000,16.090000,16.170000,16.170000,7379000
+2012-08-09,16.160000,16.160000,15.980000,16.010000,16.010000,8613100
+2012-08-10,15.250000,15.350000,15.010000,15.150000,15.150000,61987300
+2012-08-13,15.030000,15.210000,15.000000,15.020000,15.020000,20849400
+2012-08-14,15.040000,15.050000,14.690000,14.730000,14.730000,29655200
+2012-08-15,14.770000,14.860000,14.650000,14.760000,14.760000,20682900
+2012-08-16,14.810000,15.010000,14.750000,14.990000,14.990000,24971900
+2012-08-17,15.020000,15.070000,14.850000,15.030000,15.030000,19640700
+2012-08-20,14.990000,15.050000,14.880000,14.960000,14.960000,11193900
+2012-08-21,14.950000,15.010000,14.880000,14.970000,14.970000,27934700
+2012-08-22,14.950000,14.990000,14.860000,14.920000,14.920000,9168400
+2012-08-23,14.900000,14.970000,14.820000,14.870000,14.870000,12463000
+2012-08-24,14.820000,14.940000,14.770000,14.920000,14.920000,8650400
+2012-08-27,14.920000,14.930000,14.770000,14.850000,14.850000,10054000
+2012-08-28,14.840000,14.870000,14.690000,14.720000,14.720000,12706400
+2012-08-29,14.730000,14.940000,14.700000,14.840000,14.840000,21113600
+2012-08-30,14.810000,14.840000,14.640000,14.670000,14.670000,10698800
+2012-08-31,14.790000,14.820000,14.590000,14.650000,14.650000,11619700
+2012-09-04,14.640000,14.980000,14.590000,14.890000,14.890000,18809200
+2012-09-05,14.860000,15.140000,14.850000,15.090000,15.090000,21118800
+2012-09-06,15.130000,15.150000,14.960000,15.110000,15.110000,18011600
+2012-09-07,15.120000,15.290000,15.100000,15.220000,15.220000,12988700
+2012-09-10,15.190000,15.280000,15.110000,15.110000,15.110000,10520100
+2012-09-11,15.090000,15.250000,15.060000,15.160000,15.160000,8036400
+2012-09-12,15.300000,15.550000,15.280000,15.400000,15.400000,22006000
+2012-09-13,15.380000,15.690000,15.370000,15.600000,15.600000,12136300
+2012-09-14,15.700000,15.840000,15.620000,15.770000,15.770000,17642600
+2012-09-17,15.810000,15.840000,15.630000,15.680000,15.680000,11697700
+2012-09-18,15.650000,16.170000,15.600000,15.910000,15.910000,42449600
+2012-09-19,15.960000,16.129999,15.840000,15.860000,15.860000,30681100
+2012-09-20,15.760000,15.860000,15.650000,15.790000,15.790000,18169800
+2012-09-21,15.720000,15.820000,15.660000,15.740000,15.740000,49167000
+2012-09-24,15.690000,16.040001,15.600000,16.000000,16.000000,23019900
+2012-09-25,16.090000,16.090000,15.670000,15.680000,15.680000,22966300
+2012-09-26,15.710000,15.810000,15.550000,15.610000,15.610000,12784100
+2012-09-27,15.900000,16.200001,15.790000,16.040001,16.040001,24416200
+2012-09-28,16.010000,16.090000,15.930000,15.980000,15.980000,19744300
+2012-10-01,16.000000,16.090000,15.770000,15.830000,15.830000,20601900
+2012-10-02,16.030001,16.040001,15.880000,15.940000,15.940000,13696700
+2012-10-03,16.000000,16.240000,15.990000,16.209999,16.209999,20399000
+2012-10-04,16.219999,16.350000,16.150000,16.270000,16.270000,17283900
+2012-10-05,16.270000,16.379999,16.090000,16.090000,16.090000,9240400
+2012-10-08,16.020000,16.160000,16.000000,16.030001,16.030001,11736700
+2012-10-09,16.030001,16.049999,15.810000,15.850000,15.850000,14110000
+2012-10-10,15.830000,15.990000,15.800000,15.830000,15.830000,14546300
+2012-10-11,15.940000,16.020000,15.840000,15.920000,15.920000,12973000
+2012-10-12,15.900000,16.020000,15.860000,15.880000,15.880000,12239100
+2012-10-15,15.850000,15.870000,15.650000,15.680000,15.680000,20786500
+2012-10-16,15.820000,15.980000,15.760000,15.920000,15.920000,20574100
+2012-10-17,15.850000,16.120001,15.830000,16.090000,16.090000,19570500
+2012-10-18,16.230000,16.240000,15.830000,16.000000,16.000000,26361000
+2012-10-19,16.000000,16.030001,15.830000,15.840000,15.840000,32893100
+2012-10-22,15.810000,15.950000,15.740000,15.770000,15.770000,32288000
+2012-10-23,16.530001,16.790001,16.260000,16.670000,16.670000,71575400
+2012-10-24,16.780001,16.799999,16.480000,16.549999,16.549999,25119700
+2012-10-25,16.719999,16.770000,16.490000,16.610001,16.610001,23080800
+2012-10-26,16.540001,16.820000,16.520000,16.790001,16.790001,23374200
+2012-10-31,16.809999,16.889999,16.600000,16.840000,16.840000,21058800
+2012-11-01,16.900000,17.049999,16.860001,16.950001,16.950001,19764900
+2012-11-02,17.000000,17.139999,16.950001,17.110001,17.110001,27568700
+2012-11-05,17.100000,17.430000,17.010000,17.370001,17.370001,31854300
+2012-11-06,17.440001,17.530001,17.320000,17.459999,17.459999,26321200
+2012-11-07,17.240000,17.559999,17.180000,17.389999,17.389999,24344200
+2012-11-08,17.299999,17.500000,17.230000,17.240000,17.240000,20322000
+2012-11-09,17.219999,17.520000,17.180000,17.260000,17.260000,23832100
+2012-11-12,17.180000,17.559999,17.170000,17.510000,17.510000,22361500
+2012-11-13,17.420000,17.850000,17.379999,17.850000,17.850000,29016900
+2012-11-14,17.900000,18.080000,17.750000,17.830000,17.830000,36398900
+2012-11-15,17.820000,18.160000,17.740000,17.889999,17.889999,35659000
+2012-11-16,17.910000,18.020000,17.760000,17.860001,17.860001,31014300
+2012-11-19,18.020000,18.370001,17.870001,18.360001,18.360001,32995900
+2012-11-20,18.440001,18.500000,18.190001,18.240000,18.240000,26228200
+2012-11-21,18.240000,18.500000,18.200001,18.400000,18.400000,19584800
+2012-11-23,18.500000,18.590000,18.400000,18.570000,18.570000,7714800
+2012-11-26,18.879999,19.000000,18.700001,18.760000,18.760000,34042700
+2012-11-27,18.870001,19.160000,18.799999,18.930000,18.930000,29330500
+2012-11-28,18.780001,18.950001,18.530001,18.910000,18.910000,30313200
+2012-11-29,18.950001,19.030001,18.850000,18.870001,18.870001,27259800
+2012-11-30,18.900000,18.950001,18.690001,18.770000,18.770000,24075300
+2012-12-03,18.549999,18.840000,18.340000,18.549999,18.549999,29603000
+2012-12-04,18.639999,18.959999,18.600000,18.930000,18.930000,30725600
+2012-12-05,18.980000,19.030001,18.770000,18.889999,18.889999,24739100
+2012-12-06,18.780001,19.280001,18.770000,19.200001,19.200001,25312800
+2012-12-07,19.160000,19.299999,19.059999,19.200001,19.200001,19159700
+2012-12-10,19.180000,19.469999,19.150000,19.430000,19.430000,24127800
+2012-12-11,19.530001,19.629999,19.430000,19.520000,19.520000,19049500
+2012-12-12,19.559999,19.600000,19.340000,19.379999,19.379999,22899200
+2012-12-13,19.440001,19.540001,19.260000,19.350000,19.350000,20454600
+2012-12-14,19.400000,19.719999,19.400000,19.639999,19.639999,19580400
+2012-12-17,19.719999,19.740000,19.530001,19.690001,19.690001,14760300
+2012-12-18,19.719999,19.760000,19.580000,19.620001,19.620001,17094600
+2012-12-19,19.590000,19.690001,19.580000,19.600000,19.600000,12351400
+2012-12-20,19.580000,19.709999,19.410000,19.690001,19.690001,24572800
+2012-12-21,19.490000,19.490000,19.230000,19.350000,19.350000,32727700
+2012-12-24,19.450001,19.660000,19.379999,19.650000,19.650000,11431500
+2012-12-26,19.700001,19.750000,19.520000,19.570000,19.570000,9376200
+2012-12-27,19.540001,19.670000,19.440001,19.600000,19.600000,13999400
+2012-12-28,19.440001,19.570000,19.280001,19.500000,19.500000,16667800
+2012-12-31,19.430000,19.969999,19.400000,19.900000,19.900000,20645100
+2013-01-02,20.200001,20.320000,20.010000,20.080000,20.080000,20463100
+2013-01-03,20.049999,20.100000,19.719999,19.780001,19.780001,19504400
+2013-01-04,19.760000,19.950001,19.719999,19.860001,19.860001,12489600
+2013-01-07,19.559999,19.580000,19.280001,19.400000,19.400000,23864500
+2013-01-08,19.320000,19.680000,19.299999,19.660000,19.660000,16931700
+2013-01-09,19.730000,19.750000,19.219999,19.320000,19.320000,21646700
+2013-01-10,19.190001,19.379999,18.930000,18.990000,18.990000,30647000
+2013-01-11,19.049999,19.379999,18.889999,19.290001,19.290001,21552200
+2013-01-14,19.330000,19.540001,19.250000,19.430000,19.430000,13828400
+2013-01-15,19.280001,19.540001,19.280001,19.520000,19.520000,16087600
+2013-01-16,19.910000,20.139999,19.620001,20.070000,20.070000,33291700
+2013-01-17,20.139999,20.209999,20.000000,20.129999,20.129999,14500600
+2013-01-18,20.070000,20.170000,19.969999,20.020000,20.020000,13535100
+2013-01-22,19.910000,19.950001,19.719999,19.900000,19.900000,13866900
+2013-01-23,19.980000,20.190001,19.910000,20.110001,20.110001,13857900
+2013-01-24,20.080000,20.520000,20.070000,20.440001,20.440001,13711400
+2013-01-25,20.430000,20.480000,20.230000,20.370001,20.370001,14954300
+2013-01-28,20.500000,20.500000,20.200001,20.309999,20.309999,39510100
+2013-01-29,20.870001,20.879999,19.680000,19.700001,19.700001,57652300
+2013-01-30,19.920000,20.120001,19.690001,20.120001,20.120001,36572300
+2013-01-31,19.920000,19.990000,19.570000,19.629999,19.629999,34973700
+2013-02-01,19.770000,19.830000,19.580000,19.760000,19.760000,27610600
+2013-02-04,19.760000,19.809999,19.309999,19.340000,19.340000,23906500
+2013-02-05,19.490000,19.780001,19.420000,19.660000,19.660000,13559800
+2013-02-06,19.629999,19.900000,19.590000,19.850000,19.850000,15392300
+2013-02-07,20.100000,20.430000,19.930000,20.320000,20.320000,24705600
+2013-02-08,20.379999,20.610001,20.299999,20.500000,20.500000,22249700
+2013-02-11,20.440001,20.980000,20.389999,20.900000,20.900000,22089900
+2013-02-12,20.940001,21.400000,20.889999,21.209999,21.209999,27750200
+2013-02-13,21.150000,21.430000,21.070000,21.150000,21.150000,18797900
+2013-02-14,21.100000,21.260000,21.059999,21.180000,21.180000,12817900
+2013-02-15,21.150000,21.250000,20.900000,21.020000,21.020000,12584000
+2013-02-19,21.030001,21.410000,20.969999,21.290001,21.290001,16665800
+2013-02-20,21.309999,21.450001,20.900000,20.920000,20.920000,14438900
+2013-02-21,20.920000,21.000000,20.740000,20.830000,20.830000,13296100
+2013-02-22,20.870001,21.309999,20.850000,21.219999,21.219999,13673300
+2013-02-25,21.260000,21.320000,20.719999,20.730000,20.730000,13334900
+2013-02-26,20.680000,20.850000,20.580000,20.760000,20.760000,14038200
+2013-02-27,20.809999,21.309999,20.690001,21.160000,21.160000,15697300
+2013-02-28,21.059999,21.570000,21.049999,21.309999,21.309999,18873700
+2013-03-01,21.360001,22.280001,21.260000,21.940001,21.940001,33776700
+2013-03-04,22.370001,22.740000,22.200001,22.700001,22.700001,30075300
+2013-03-05,22.910000,23.080000,22.610001,22.950001,22.950001,30497400
+2013-03-06,23.080000,23.090000,22.709999,22.799999,22.799999,15193900
+2013-03-07,22.920000,23.000000,22.650000,22.700001,22.700001,12881800
+2013-03-08,22.920000,22.959999,22.709999,22.900000,22.900000,10583500
+2013-03-11,22.799999,23.000000,22.570000,22.600000,22.600000,16489200
+2013-03-12,22.510000,22.580000,22.190001,22.400000,22.400000,12012300
+2013-03-13,22.480000,22.480000,22.160000,22.340000,22.340000,13956200
+2013-03-14,22.469999,22.750000,22.410000,22.430000,22.430000,12798500
+2013-03-15,22.340000,22.389999,21.969999,22.070000,22.070000,33557400
+2013-03-18,21.900000,22.170000,21.870001,22.010000,22.010000,15071700
+2013-03-19,22.059999,22.330000,21.889999,22.170000,22.170000,12846900
+2013-03-20,22.030001,22.330000,21.950001,22.100000,22.100000,18094100
+2013-03-21,22.389999,22.950001,22.360001,22.860001,22.860001,24719100
+2013-03-22,22.879999,23.260000,22.719999,23.260000,23.260000,18062100
+2013-03-25,23.410000,23.879999,23.309999,23.379999,23.379999,23138900
+2013-03-26,23.459999,23.620001,23.350000,23.590000,23.590000,16893200
+2013-03-27,23.540001,23.830000,23.410000,23.590000,23.590000,13943600
+2013-03-28,23.629999,23.770000,23.450001,23.530001,23.530001,17611900
+2013-04-01,23.309999,23.620001,23.190001,23.500000,23.500000,12344300
+2013-04-02,23.770000,23.900000,23.600000,23.780001,23.780001,14724800
+2013-04-03,23.780001,23.879999,23.240000,23.379999,23.379999,14934300
+2013-04-04,23.490000,23.719999,23.360001,23.520000,23.520000,12521200
+2013-04-05,23.180000,23.410000,23.010000,23.299999,23.299999,14243700
+2013-04-08,23.240000,23.480000,23.129999,23.480000,23.480000,9998100
+2013-04-09,23.559999,24.000000,23.440001,23.830000,23.830000,14773900
+2013-04-10,24.000000,24.320000,23.950001,24.200001,24.200001,17281900
+2013-04-11,24.410000,24.570000,24.309999,24.490000,24.490000,12362500
+2013-04-12,24.580000,24.799999,24.340000,24.690001,24.690001,13342800
+2013-04-15,24.719999,24.990000,23.830000,23.980000,23.980000,28129600
+2013-04-16,24.059999,24.260000,23.760000,23.790001,23.790001,30877500
+2013-04-17,23.450001,24.100000,23.129999,23.700001,23.700001,45148600
+2013-04-18,23.660000,23.700001,22.700001,23.260000,23.260000,25822300
+2013-04-19,23.120001,23.629999,22.830000,23.469999,23.469999,17860200
+2013-04-22,23.709999,23.959999,23.469999,23.950001,23.950001,15539700
+2013-04-23,23.959999,24.450001,23.959999,24.379999,24.379999,16718000
+2013-04-24,24.450001,24.969999,24.440001,24.750000,24.750000,15138800
+2013-04-25,24.930000,25.290001,24.879999,25.200001,25.200001,17289100
+2013-04-26,25.139999,25.370001,24.580000,24.680000,24.680000,19573300
+2013-04-29,24.850000,24.910000,24.350000,24.430000,24.430000,12533100
+2013-04-30,24.379999,24.790001,24.360001,24.730000,24.730000,10091200
+2013-05-01,24.670000,24.719999,24.260000,24.299999,24.299999,11075000
+2013-05-02,24.340000,24.969999,24.180000,24.969999,24.969999,10651000
+2013-05-03,25.129999,25.250000,24.990000,25.070000,25.070000,11513900
+2013-05-06,25.049999,25.340000,24.920000,25.170000,25.170000,11990500
+2013-05-07,26.010000,26.790001,25.549999,26.070000,26.070000,25883100
+2013-05-08,26.170000,26.660000,25.959999,26.410000,26.410000,24960800
+2013-05-09,26.410000,26.490000,26.139999,26.240000,26.240000,11186000
+2013-05-10,26.320000,26.860001,26.309999,26.830000,26.830000,16236400
+2013-05-13,26.760000,26.830000,26.360001,26.389999,26.389999,15808000
+2013-05-14,26.750000,26.870001,26.520000,26.639999,26.639999,14828200
+2013-05-15,26.629999,27.680000,26.549999,27.340000,27.340000,21956500
+2013-05-16,27.430000,27.430000,26.570000,26.580000,26.580000,18192300
+2013-05-17,26.780001,26.980000,26.459999,26.520000,26.520000,14889300
+2013-05-20,26.680000,27.049999,26.209999,26.580000,26.580000,25099100
+2013-05-21,26.900000,27.129999,26.719999,27.000000,27.000000,14889000
+2013-05-22,27.070000,27.190001,26.440001,26.540001,26.540001,16046200
+2013-05-23,25.950001,26.270000,25.700001,26.020000,26.020000,23307000
+2013-05-24,25.900000,26.480000,25.650000,26.330000,26.330000,14967100
+2013-05-28,26.650000,26.770000,25.980000,26.070000,26.070000,19015300
+2013-05-29,25.900000,26.040001,25.320000,25.809999,25.809999,18738900
+2013-05-30,25.830000,26.500000,25.799999,26.330000,26.330000,12916200
+2013-05-31,26.200001,26.600000,26.090000,26.299999,26.299999,23994200
+2013-06-03,26.370001,26.620001,26.129999,26.389999,26.389999,16454100
+2013-06-04,26.459999,26.570000,25.969999,26.260000,26.260000,13218300
+2013-06-05,26.110001,26.250000,25.690001,25.750000,25.750000,14270500
+2013-06-06,25.879999,26.209999,25.660000,26.209999,26.209999,13559000
+2013-06-07,26.389999,27.090000,26.280001,27.040001,27.040001,16948700
+2013-06-10,27.040001,27.120001,26.700001,26.740000,26.740000,15850700
+2013-06-11,26.430000,26.879999,26.320000,26.400000,26.400000,10097100
+2013-06-12,26.500000,26.530001,25.889999,25.889999,25.889999,11920800
+2013-06-13,25.790001,26.459999,25.709999,26.370001,26.370001,9763800
+2013-06-14,26.320000,26.549999,26.160000,26.280001,26.280001,7398800
+2013-06-17,26.290001,26.850000,26.240000,26.540001,26.540001,10289700
+2013-06-18,26.570000,26.889999,26.510000,26.660000,26.660000,9710700
+2013-06-19,26.600000,26.780001,26.230000,26.240000,26.240000,11398300
+2013-06-20,26.030001,26.049999,25.230000,25.350000,25.350000,19115500
+2013-06-21,25.290001,25.430000,24.940001,25.190001,25.190001,24574100
+2013-06-24,24.980000,25.090000,23.820000,24.070000,24.070000,37006200
+2013-06-25,24.290001,25.010000,24.230000,24.959999,24.959999,18883900
+2013-06-26,25.219999,25.680000,25.010000,25.290001,25.290001,12583100
+2013-06-27,25.469999,25.980000,25.440001,25.469999,25.469999,14489800
+2013-06-28,25.430000,25.540001,24.889999,25.129999,25.129999,26774300
+2013-07-01,25.260000,25.540001,25.180000,25.240000,25.240000,10679300
+2013-07-02,25.270000,25.500000,24.900000,24.990000,24.990000,10129600
+2013-07-03,24.840000,25.639999,24.820000,25.590000,25.590000,6059100
+2013-07-05,25.850000,26.260000,25.520000,25.680000,25.680000,11097500
+2013-07-08,25.719999,25.990000,25.490000,25.530001,25.530001,10478400
+2013-07-09,25.740000,26.700001,25.740000,26.680000,26.680000,17567800
+2013-07-10,26.879999,27.070000,26.190001,26.559999,26.559999,15103300
+2013-07-11,26.950001,27.190001,26.940001,27.040001,27.040001,17589800
+2013-07-12,27.080000,27.440001,27.010000,27.230000,27.230000,17315300
+2013-07-15,27.469999,27.469999,27.059999,27.340000,27.340000,16674800
+2013-07-16,27.299999,27.450001,26.730000,26.879999,26.879999,31375200
+2013-07-17,27.660000,29.730000,27.520000,29.660000,29.660000,83791400
+2013-07-18,29.570000,29.830000,28.730000,29.660000,29.660000,35025600
+2013-07-19,29.410000,29.719999,29.040001,29.110001,29.110001,20756900
+2013-07-22,28.080000,28.420000,27.629999,27.860001,27.860001,46046400
+2013-07-23,28.030001,28.040001,27.209999,27.360001,27.360001,25923400
+2013-07-24,27.540001,27.920000,27.230000,27.840000,27.840000,22739800
+2013-07-25,27.730000,28.459999,27.650000,28.270000,28.270000,20000600
+2013-07-26,28.000000,28.340000,27.740000,28.110001,28.110001,11918700
+2013-07-29,27.950001,28.330000,27.799999,27.930000,27.930000,11095100
+2013-07-30,28.090000,28.230000,27.860001,28.049999,28.049999,10337800
+2013-07-31,27.920000,28.209999,27.570000,28.090000,28.090000,20920100
+2013-08-01,28.350000,28.450001,27.910000,27.959999,27.959999,13157600
+2013-08-02,28.070000,28.090000,27.549999,27.650000,27.650000,11863400
+2013-08-05,27.709999,27.799999,27.450001,27.670000,27.670000,7839200
+2013-08-06,27.670000,27.750000,27.150000,27.320000,27.320000,10951100
+2013-08-07,27.309999,27.510000,27.059999,27.389999,27.389999,9450700
+2013-08-08,27.549999,27.620001,27.230000,27.480000,27.480000,8934400
+2013-08-09,27.410000,27.700001,27.200001,27.680000,27.680000,13051100
+2013-08-12,27.549999,28.370001,27.500000,28.350000,28.350000,16561900
+2013-08-13,28.379999,28.600000,28.230000,28.340000,28.340000,14891300
+2013-08-14,28.190001,28.209999,28.000000,28.049999,28.049999,8471400
+2013-08-15,27.830000,27.830000,27.120001,27.139999,27.139999,14217100
+2013-08-16,27.000000,27.600000,27.000000,27.320000,27.320000,14823400
+2013-08-19,27.270000,27.440001,26.910000,26.910000,26.910000,11876000
+2013-08-20,26.920000,27.309999,26.900000,27.120001,27.120001,10707200
+2013-08-21,27.090000,27.490000,27.000000,27.059999,27.059999,8791300
+2013-08-22,27.600000,28.010000,27.370001,27.900000,27.900000,15728600
+2013-08-23,28.299999,28.320000,27.809999,27.990000,27.990000,13192900
+2013-08-26,27.990000,28.040001,27.700001,27.700001,27.700001,9754400
+2013-08-27,27.240000,27.459999,26.750000,27.000000,27.000000,14549500
+2013-08-28,26.900000,27.240000,26.830000,27.110001,27.110001,9603100
+2013-08-29,27.030001,27.450001,27.030001,27.299999,27.299999,13911900
+2013-08-30,27.389999,27.440001,26.820000,27.120001,27.120001,16344400
+2013-09-03,27.379999,27.870001,27.370001,27.780001,27.780001,14591100
+2013-09-04,27.700001,28.120001,27.600000,28.070000,28.070000,8880500
+2013-09-05,28.100000,28.350000,27.910000,28.230000,28.230000,8989600
+2013-09-06,28.350000,28.500000,27.820000,28.170000,28.170000,10807500
+2013-09-09,28.320000,29.320000,28.320000,29.240000,29.240000,21178000
+2013-09-10,29.430000,29.629999,29.080000,29.480000,29.480000,13007600
+2013-09-11,29.379999,29.410000,28.969999,29.190001,29.190001,10374600
+2013-09-12,29.719999,30.270000,29.500000,29.650000,29.650000,22060700
+2013-09-13,29.469999,29.469999,28.799999,29.260000,29.260000,13836600
+2013-09-16,29.639999,30.040001,29.510000,29.620001,29.620001,15748700
+2013-09-17,29.639999,30.000000,29.309999,30.000000,30.000000,10499700
+2013-09-18,30.010000,30.459999,29.850000,30.440001,30.440001,15570600
+2013-09-19,30.530001,31.049999,30.340000,31.030001,31.030001,12795100
+2013-09-20,31.049999,31.100000,30.760000,30.930000,30.930000,14925400
+2013-09-23,31.030001,31.030001,30.020000,30.260000,30.260000,15728900
+2013-09-24,30.549999,31.660000,30.540001,31.270000,31.270000,27820600
+2013-09-25,31.400000,32.029999,31.120001,31.340000,31.340000,19146600
+2013-09-26,31.650000,33.000000,31.580000,32.750000,32.750000,39233700
+2013-09-27,33.330002,33.849998,32.759998,33.549999,33.549999,31791600
+2013-09-30,33.040001,33.750000,32.680000,33.169998,33.169998,30065800
+2013-10-01,33.360001,34.439999,33.299999,34.310001,34.310001,28180900
+2013-10-02,34.150002,34.700001,33.900002,34.139999,34.139999,21637400
+2013-10-03,34.320000,34.360001,33.200001,33.880001,33.880001,23263900
+2013-10-04,33.959999,35.060001,33.959999,34.889999,34.889999,23950200
+2013-10-07,34.459999,34.689999,34.080002,34.139999,34.139999,15448700
+2013-10-08,34.459999,34.500000,32.099998,32.930000,32.930000,42914600
+2013-10-09,33.070000,33.330002,31.790001,33.009998,33.009998,33509700
+2013-10-10,33.490002,33.910000,33.330002,33.869999,33.869999,23448100
+2013-10-11,33.669998,34.369999,33.610001,34.150002,34.150002,17012300
+2013-10-14,33.799999,34.099998,33.680000,34.000000,34.000000,17614000
+2013-10-15,34.200001,34.320000,33.060001,33.380001,33.380001,42773900
+2013-10-16,33.900002,34.110001,32.830002,33.090000,33.090000,44820000
+2013-10-17,32.880001,33.009998,32.310001,32.740002,32.740002,25229700
+2013-10-18,33.169998,33.750000,33.110001,33.430000,33.430000,24622900
+2013-10-21,33.650002,34.349998,33.650002,34.060001,34.060001,17776700
+2013-10-22,34.240002,34.599998,33.580002,33.939999,33.939999,17549100
+2013-10-23,33.759998,33.840000,33.020000,33.099998,33.099998,15931700
+2013-10-24,33.160000,33.310001,32.810001,33.080002,33.080002,15086700
+2013-10-25,32.310001,32.950001,32.000000,32.250000,32.250000,22290000
+2013-10-28,32.090000,32.700001,31.700001,32.349998,32.349998,18325700
+2013-10-29,33.070000,34.000000,32.820000,33.169998,33.169998,29349200
+2013-10-30,33.330002,33.480000,32.380001,32.570000,32.570000,14292300
+2013-10-31,32.430000,33.119999,32.279999,32.939999,32.939999,15301900
+2013-11-01,33.150002,33.349998,33.000000,33.180000,33.180000,15201400
+2013-11-04,33.200001,33.660000,33.009998,33.189999,33.189999,15778500
+2013-11-05,33.029999,33.080002,32.549999,32.970001,32.970001,13471100
+2013-11-06,33.070000,33.299999,32.709999,32.880001,32.880001,10826400
+2013-11-07,32.990002,33.049999,32.060001,32.110001,32.110001,16861300
+2013-11-08,32.230000,33.119999,32.200001,33.119999,33.119999,15082800
+2013-11-11,33.570000,33.990002,33.250000,33.820000,33.820000,15846800
+2013-11-12,34.000000,34.520000,33.880001,34.070000,34.070000,18227600
+2013-11-13,33.820000,35.119999,33.630001,35.099998,35.099998,21359400
+2013-11-14,35.070000,35.889999,34.759998,35.689999,35.689999,21411400
+2013-11-15,35.799999,35.939999,35.299999,35.470001,35.470001,15615700
+2013-11-18,35.650002,36.189999,34.509998,34.980000,34.980000,19070000
+2013-11-19,35.029999,35.169998,34.509998,34.630001,34.630001,14955300
+2013-11-20,35.430000,36.220001,35.220001,35.619999,35.619999,32439800
+2013-11-21,36.230000,36.660000,36.220001,36.299999,36.299999,26425000
+2013-11-22,36.189999,36.630001,35.959999,36.490002,36.490002,13247500
+2013-11-25,36.779999,36.849998,35.959999,36.290001,36.290001,15159800
+2013-11-26,36.320000,36.750000,36.110001,36.639999,36.639999,10458300
+2013-11-27,36.700001,37.119999,36.509998,36.959999,36.959999,10427500
+2013-11-29,36.910000,37.349998,36.900002,36.980000,36.980000,6455400
+2013-12-02,37.040001,37.150002,36.680000,37.009998,37.009998,11573000
+2013-12-03,36.770000,37.070000,36.340000,36.560001,36.560001,14098300
+2013-12-04,36.470001,38.150002,36.250000,38.130001,38.130001,26139700
+2013-12-05,38.240002,39.310001,38.049999,38.869999,38.869999,27662000
+2013-12-06,39.240002,39.279999,38.529999,38.860001,38.860001,22215000
+2013-12-09,39.130001,39.200001,38.570000,38.869999,38.869999,14386300
+2013-12-10,38.919998,40.250000,38.919998,40.220001,40.220001,25479700
+2013-12-11,39.900002,40.160000,38.919998,39.160000,39.160000,20915200
+2013-12-12,39.020000,40.000000,39.000000,39.349998,39.349998,16184600
+2013-12-13,39.610001,40.200001,39.560001,39.730000,39.730000,13773700
+2013-12-16,39.970001,40.270000,39.599998,39.730000,39.730000,11439100
+2013-12-17,39.990002,40.000000,39.400002,39.509998,39.509998,9842000
+2013-12-18,39.529999,40.040001,38.820000,40.040001,40.040001,16844000
+2013-12-19,40.040001,40.380001,39.910000,40.200001,40.200001,10710200
+2013-12-20,40.389999,40.599998,40.110001,40.119999,40.119999,24637200
+2013-12-23,40.250000,40.799999,40.130001,40.770000,40.770000,7447900
+2013-12-24,40.910000,40.950001,40.660000,40.849998,40.849998,5113900
+2013-12-26,41.000000,41.049999,40.220001,40.650002,40.650002,7364600
+2013-12-27,40.720001,40.750000,40.320000,40.490002,40.490002,6138700
+2013-12-30,40.459999,40.580002,39.849998,40.200001,40.200001,8676800
+2013-12-31,40.169998,40.500000,40.000000,40.439999,40.439999,8291400
+2014-01-02,40.369999,40.490002,39.310001,39.590000,39.590000,21504200
+2014-01-03,40.160000,40.439999,39.820000,40.119999,40.119999,15755200
+2014-01-06,40.049999,40.320000,39.750000,39.930000,39.930000,12467500
+2014-01-07,40.080002,41.200001,40.080002,40.919998,40.919998,14100000
+2014-01-08,41.290001,41.720001,41.020000,41.020000,41.020000,18638200
+2014-01-09,41.330002,41.349998,40.610001,40.919998,40.919998,12897300
+2014-01-10,40.950001,41.349998,40.820000,41.230000,41.230000,8721700
+2014-01-13,41.160000,41.220001,39.799999,39.990002,39.990002,16047200
+2014-01-14,40.209999,41.139999,40.040001,41.139999,41.139999,14473900
+2014-01-15,41.060001,41.310001,40.759998,41.070000,41.070000,9475500
+2014-01-16,40.430000,40.750000,40.110001,40.340000,40.340000,16348200
+2014-01-17,40.119999,40.439999,39.470001,40.009998,40.009998,19262500
+2014-01-21,39.980000,40.049999,38.860001,39.520000,39.520000,21436400
+2014-01-22,39.660000,40.400002,39.320000,40.180000,40.180000,12994600
+2014-01-23,39.310001,39.770000,39.139999,39.389999,39.389999,15384300
+2014-01-24,38.669998,38.980000,37.619999,37.910000,37.910000,26309000
+2014-01-27,37.599998,37.939999,36.619999,36.650002,36.650002,26728000
+2014-01-28,36.830002,38.320000,36.520000,38.220001,38.220001,39765300
+2014-01-29,35.770000,36.310001,34.820000,34.889999,34.889999,67190500
+2014-01-30,34.889999,35.810001,34.450001,35.310001,35.310001,32244700
+2014-01-31,34.689999,36.330002,34.549999,36.009998,36.009998,30072400
+2014-02-03,35.939999,36.009998,34.660000,34.900002,34.900002,22195200
+2014-02-04,35.110001,35.860001,34.860001,35.660000,35.660000,21082500
+2014-02-05,35.599998,35.939999,34.990002,35.490002,35.490002,14022900
+2014-02-06,35.650002,36.750000,35.610001,36.240002,36.240002,14250000
+2014-02-07,36.650002,37.270000,36.240002,37.230000,37.230000,16178500
+2014-02-10,38.000000,38.130001,37.250000,37.759998,37.759998,17642900
+2014-02-11,38.150002,38.860001,38.090000,38.500000,38.500000,18348000
+2014-02-12,38.599998,38.910000,38.029999,38.110001,38.110001,14088500
+2014-02-13,37.919998,38.689999,37.790001,38.520000,38.520000,12088100
+2014-02-14,38.430000,38.450001,38.110001,38.230000,38.230000,9975800
+2014-02-18,38.310001,38.590000,38.090000,38.310001,38.310001,12096400
+2014-02-19,38.060001,38.330002,37.680000,37.810001,37.810001,15851900
+2014-02-20,37.830002,38.040001,37.299999,37.790001,37.790001,11155900
+2014-02-21,37.900002,37.959999,37.220001,37.290001,37.290001,12351900
+2014-02-24,37.230000,37.709999,36.820000,37.419998,37.419998,15738900
+2014-02-25,37.480000,37.580002,37.020000,37.259998,37.259998,9756900
+2014-02-26,37.349998,38.099998,37.340000,37.619999,37.619999,15778900
+2014-02-27,37.799999,38.480000,37.740002,38.470001,38.470001,15489400
+2014-02-28,38.549999,39.380001,38.220001,38.669998,38.669998,16957100
+2014-03-03,37.650002,38.660000,37.430000,38.250000,38.250000,14714700
+2014-03-04,38.759998,39.790001,38.680000,39.630001,39.630001,16139400
+2014-03-05,39.830002,40.150002,39.189999,39.500000,39.500000,12536800
+2014-03-06,39.599998,39.980000,39.500000,39.660000,39.660000,10626700
+2014-03-07,39.709999,39.910000,38.450001,38.700001,38.700001,14455500
+2014-03-10,38.630001,38.779999,37.910000,38.049999,38.049999,11819200
+2014-03-11,38.250000,38.299999,37.430000,37.560001,37.560001,12592300
+2014-03-12,37.209999,37.610001,36.480000,37.500000,37.500000,14794700
+2014-03-13,38.049999,38.419998,36.810001,37.230000,37.230000,21179700
+2014-03-14,36.689999,38.189999,36.450001,37.599998,37.599998,30862300
+2014-03-17,39.000000,39.360001,38.610001,39.110001,39.110001,29698300
+2014-03-18,39.000000,39.509998,38.799999,39.450001,39.450001,16934700
+2014-03-19,39.660000,39.939999,38.509998,38.610001,38.610001,19324600
+2014-03-20,38.369999,38.470001,37.419998,37.770000,37.770000,19517000
+2014-03-21,38.099998,38.270000,37.730000,37.939999,37.939999,16044200
+2014-03-24,38.000000,38.040001,36.279999,36.680000,36.680000,29589000
+2014-03-25,37.000000,37.070000,35.860001,35.930000,35.930000,31715100
+2014-03-26,36.240002,36.740002,35.450001,35.450001,35.450001,20938800
+2014-03-27,35.500000,36.150002,35.049999,35.590000,35.590000,21929600
+2014-03-28,35.770000,36.730000,35.529999,35.900002,35.900002,18292900
+2014-03-31,36.459999,36.580002,35.730000,35.900002,35.900002,15153200
+2014-04-01,36.160000,36.860001,36.150002,36.490002,36.490002,15734000
+2014-04-02,36.680000,36.860001,36.560001,36.639999,36.639999,14522800
+2014-04-03,36.660000,36.790001,35.509998,35.759998,35.759998,16827800
+2014-04-04,36.009998,36.049999,33.830002,34.259998,34.259998,41049900
+2014-04-07,34.110001,34.369999,32.529999,33.070000,33.070000,47770200
+2014-04-08,33.099998,34.430000,33.020000,33.830002,33.830002,35486100
+2014-04-09,34.189999,35.000000,33.950001,34.869999,34.869999,21651200
+2014-04-10,34.880001,34.980000,33.090000,33.400002,33.400002,34024900
+2014-04-11,32.639999,33.480000,32.150002,32.869999,32.869999,28040700
+2014-04-14,33.549999,34.040001,33.040001,33.450001,33.450001,26322600
+2014-04-15,33.930000,34.279999,32.639999,34.209999,34.209999,50600400
+2014-04-16,36.980000,37.299999,35.810001,36.349998,36.349998,61599100
+2014-04-17,36.290001,36.599998,35.549999,36.380001,36.380001,28932700
+2014-04-21,36.599998,36.650002,35.889999,36.400002,36.400002,16685400
+2014-04-22,36.709999,36.849998,36.110001,36.139999,36.139999,17915200
+2014-04-23,36.080002,36.189999,35.400002,35.439999,35.439999,19051700
+2014-04-24,35.820000,35.820000,34.770000,35.240002,35.240002,17242300
+2014-04-25,35.029999,35.099998,34.290001,34.480000,34.480000,19401600
+2014-04-28,34.669998,35.000000,33.650002,33.990002,33.990002,31019200
+2014-04-29,34.369999,35.889999,34.119999,35.830002,35.830002,28736000
+2014-04-30,35.889999,36.439999,35.250000,35.950001,35.950001,23341500
+2014-05-01,36.259998,36.689999,36.000000,36.509998,36.509998,19474700
+2014-05-02,36.590000,37.119999,36.209999,36.869999,36.869999,22454100
+2014-05-05,36.680000,37.049999,36.299999,36.910000,36.910000,13129100
+2014-05-06,36.939999,37.169998,36.480000,36.490002,36.490002,19156000
+2014-05-07,35.990002,35.990002,33.669998,34.070000,34.070000,66062700
+2014-05-08,33.880001,34.570000,33.610001,33.919998,33.919998,30407700
+2014-05-09,34.009998,34.099998,33.410000,33.759998,33.759998,20303400
+2014-05-12,33.990002,34.599998,33.869999,34.450001,34.450001,22520600
+2014-05-13,34.430000,34.689999,34.169998,34.400002,34.400002,12477100
+2014-05-14,34.480000,34.650002,33.980000,34.169998,34.169998,17039000
+2014-05-15,34.180000,34.189999,33.400002,33.799999,33.799999,18879800
+2014-05-16,33.660000,33.660000,33.099998,33.410000,33.410000,18847100
+2014-05-19,33.410000,33.990002,33.279999,33.889999,33.889999,14845700
+2014-05-20,33.990002,34.470001,33.669998,33.869999,33.869999,18596700
+2014-05-21,34.000000,34.389999,33.889999,34.360001,34.360001,13804500
+2014-05-22,34.599998,34.860001,34.259998,34.700001,34.700001,17522800
+2014-05-23,34.849998,35.080002,34.509998,35.020000,35.020000,16294400
+2014-05-27,35.000000,35.130001,34.730000,35.119999,35.119999,13057000
+2014-05-28,35.150002,35.169998,34.419998,34.779999,34.779999,16960500
+2014-05-29,34.900002,35.099998,34.669998,34.900002,34.900002,9780800
+2014-05-30,34.919998,34.930000,34.130001,34.650002,34.650002,13153000
+2014-06-02,34.689999,34.950001,34.279999,34.869999,34.869999,9178900
+2014-06-03,34.799999,34.970001,34.580002,34.650002,34.650002,6557500
+2014-06-04,34.480000,34.830002,34.259998,34.730000,34.730000,9434100
+2014-06-05,34.790001,34.990002,34.360001,34.939999,34.939999,11192800
+2014-06-06,35.060001,36.080002,35.049999,35.919998,35.919998,18707200
+2014-06-09,35.860001,36.320000,35.540001,36.040001,36.040001,14390000
+2014-06-10,35.869999,36.520000,35.860001,36.310001,36.310001,9179300
+2014-06-11,36.250000,36.840000,36.110001,36.630001,36.630001,13321500
+2014-06-12,36.500000,36.790001,36.340000,36.779999,36.779999,12466100
+2014-06-13,36.880001,37.060001,36.639999,36.939999,36.939999,12926300
+2014-06-16,35.000000,35.490002,34.770000,34.810001,34.810001,32432300
+2014-06-17,34.799999,34.939999,34.299999,34.430000,34.430000,24402900
+2014-06-18,34.669998,35.009998,34.259998,34.939999,34.939999,17836000
+2014-06-19,35.139999,35.200001,34.520000,34.680000,34.680000,16200000
+2014-06-20,34.810001,34.810001,33.970001,34.049999,34.049999,21605800
+2014-06-23,34.130001,34.220001,33.369999,33.639999,33.639999,26206400
+2014-06-24,33.790001,33.990002,33.349998,33.480000,33.480000,14589800
+2014-06-25,33.380001,33.650002,33.099998,33.250000,33.250000,18074400
+2014-06-26,33.250000,33.750000,33.020000,33.660000,33.660000,16010000
+2014-06-27,33.849998,34.549999,33.700001,34.250000,34.250000,25500600
+2014-06-30,34.930000,35.259998,34.849998,35.130001,35.130001,20450100
+2014-07-01,35.500000,35.700001,35.209999,35.349998,35.349998,18609600
+2014-07-02,35.619999,35.910000,35.400002,35.880001,35.880001,16533600
+2014-07-03,36.070000,36.150002,35.900002,36.139999,36.139999,8604900
+2014-07-07,36.150002,36.230000,35.480000,35.520000,35.520000,15716800
+2014-07-08,35.639999,35.660000,34.279999,34.529999,34.529999,23096900
+2014-07-09,34.680000,35.070000,34.680000,34.849998,34.849998,12626900
+2014-07-10,34.330002,34.970001,34.099998,34.930000,34.930000,18064800
+2014-07-11,34.950001,35.560001,34.779999,35.430000,35.430000,18379500
+2014-07-14,35.799999,35.950001,35.450001,35.700001,35.700001,18680500
+2014-07-15,35.720001,35.939999,35.200001,35.610001,35.610001,36316600
+2014-07-16,34.419998,34.450001,33.720001,33.790001,33.790001,56260600
+2014-07-17,33.820000,33.900002,32.980000,33.209999,33.209999,37535900
+2014-07-18,33.180000,33.349998,32.930000,33.330002,33.330002,21540900
+2014-07-21,33.349998,33.639999,33.160000,33.279999,33.279999,18431000
+2014-07-22,33.480000,33.840000,33.400002,33.599998,33.599998,18153600
+2014-07-23,33.779999,34.919998,33.680000,34.709999,34.709999,38622500
+2014-07-24,35.090000,36.549999,35.040001,36.169998,36.169998,47391000
+2014-07-25,36.000000,36.330002,35.750000,36.119999,36.119999,20143800
+2014-07-28,36.230000,36.230000,35.509998,35.900002,35.900002,14607200
+2014-07-29,35.910000,36.160000,35.669998,35.680000,35.680000,11570900
+2014-07-30,35.939999,36.990002,35.799999,36.599998,36.599998,29876700
+2014-07-31,36.259998,36.490002,35.680000,35.810001,35.810001,17937400
+2014-08-01,35.689999,36.080002,35.310001,35.619999,35.619999,14573000
+2014-08-04,35.709999,36.660000,35.650002,36.529999,36.529999,13097200
+2014-08-05,36.320000,36.419998,35.619999,35.700001,35.700001,17636400
+2014-08-06,35.580002,35.939999,35.439999,35.790001,35.790001,11770500
+2014-08-07,36.000000,36.000000,35.529999,35.660000,35.660000,11306600
+2014-08-08,35.730000,35.959999,35.400002,35.910000,35.910000,10593700
+2014-08-11,36.099998,36.150002,35.750000,35.790001,35.790001,8660100
+2014-08-12,35.799999,35.990002,35.150002,35.520000,35.520000,12902700
+2014-08-13,35.959999,36.450001,35.770000,36.189999,36.189999,16532300
+2014-08-14,36.320000,36.419998,36.169998,36.360001,36.360001,8927300
+2014-08-15,36.200001,36.570000,36.119999,36.470001,36.470001,13338900
+2014-08-18,36.770000,37.770000,36.750000,37.380001,37.380001,20153200
+2014-08-19,37.560001,37.939999,37.500000,37.830002,37.830002,17084900
+2014-08-20,37.610001,37.750000,37.310001,37.500000,37.500000,12670300
+2014-08-21,37.650002,37.750000,37.310001,37.639999,37.639999,12254900
+2014-08-22,37.700001,38.200001,37.639999,38.009998,38.009998,14879100
+2014-08-25,38.139999,38.220001,37.540001,37.709999,37.709999,14356400
+2014-08-26,37.759998,37.919998,37.560001,37.790001,37.790001,9516800
+2014-08-27,38.299999,38.720001,37.830002,38.180000,38.180000,24843000
+2014-08-28,38.090000,38.570000,37.900002,38.310001,38.310001,16490600
+2014-08-29,38.570000,38.669998,38.200001,38.509998,38.509998,11634100
+2014-09-02,38.900002,39.299999,38.790001,39.270000,39.270000,19803300
+2014-09-03,39.490002,39.599998,38.689999,38.869999,38.869999,16092900
+2014-09-04,39.139999,39.340000,38.959999,39.189999,39.189999,14763300
+2014-09-05,39.049999,39.799999,39.049999,39.590000,39.590000,26200400
+2014-09-08,40.340000,41.820000,40.259998,41.810001,41.810001,75520200
+2014-09-09,42.009998,42.060001,40.599998,40.779999,40.779999,52683000
+2014-09-10,41.049999,41.230000,40.330002,41.139999,41.139999,30741800
+2014-09-11,41.020000,41.560001,40.930000,41.259998,41.259998,25203000
+2014-09-12,41.730000,43.200001,41.500000,42.880001,42.880001,69556500
+2014-09-15,43.980000,44.009998,42.139999,42.549999,42.549999,72409900
+2014-09-16,42.610001,42.959999,41.689999,42.709999,42.709999,61490700
+2014-09-17,42.369999,42.959999,42.299999,42.590000,42.590000,39495500
+2014-09-18,43.049999,43.320000,41.419998,42.090000,42.090000,93702100
+2014-09-19,42.439999,43.189999,39.549999,40.930000,40.930000,233872100
+2014-09-22,39.770000,40.040001,38.220001,38.650002,38.650002,109217100
+2014-09-23,38.150002,39.270000,37.900002,39.049999,39.049999,66105300
+2014-09-24,39.259998,40.099998,38.910000,39.880001,39.880001,49014100
+2014-09-25,39.560001,39.799999,38.820000,38.950001,38.950001,35916500
+2014-09-26,39.009998,40.799999,39.000000,40.660000,40.660000,62189200
+2014-09-29,40.410000,41.090000,40.160000,40.520000,40.520000,35883300
+2014-09-30,40.580002,41.230000,40.439999,40.750000,40.750000,30386500
+2014-10-01,40.660000,41.240002,40.110001,40.320000,40.320000,35172900
+2014-10-02,40.240002,40.639999,39.689999,40.500000,40.500000,24584400
+2014-10-03,40.790001,41.689999,40.650002,41.029999,41.029999,38191700
+2014-10-06,41.200001,41.730000,41.040001,41.520000,41.520000,23576100
+2014-10-07,41.060001,41.290001,40.779999,40.930000,40.930000,22538300
+2014-10-08,41.000000,41.290001,40.099998,41.080002,41.080002,26593500
+2014-10-09,40.900002,41.250000,40.419998,41.099998,41.099998,33519600
+2014-10-10,40.730000,41.070000,39.590000,39.599998,39.599998,36771500
+2014-10-13,39.520000,40.070000,38.290001,38.380001,38.380001,38841900
+2014-10-14,38.660000,39.000000,37.709999,37.970001,37.970001,38509000
+2014-10-15,37.270000,38.080002,36.200001,37.820000,37.820000,41973500
+2014-10-16,36.950001,38.500000,36.919998,38.119999,38.119999,26998500
+2014-10-17,38.740002,38.980000,38.310001,38.450001,38.450001,24107000
+2014-10-20,38.470001,39.400002,38.250000,39.279999,39.279999,17802400
+2014-10-21,39.650002,40.480000,39.459999,40.180000,40.180000,41955200
+2014-10-22,42.419998,42.880001,41.770000,42.000000,42.000000,69348900
+2014-10-23,42.400002,42.830002,42.259998,42.599998,42.599998,30653400
+2014-10-24,42.529999,43.650002,42.400002,43.500000,43.500000,33805800
+2014-10-27,43.310001,44.820000,43.290001,44.700001,44.700001,36596500
+2014-10-28,45.009998,46.150002,44.880001,45.869999,45.869999,36889300
+2014-10-29,45.939999,45.980000,45.130001,45.430000,45.430000,25389100
+2014-10-30,45.209999,45.840000,45.130001,45.630001,45.630001,16209600
+2014-10-31,46.160000,46.520000,45.669998,46.049999,46.049999,18446800
+2014-11-03,46.049999,46.720001,45.939999,46.340000,46.340000,17181500
+2014-11-04,45.990002,47.130001,45.740002,47.080002,47.080002,25051500
+2014-11-05,47.619999,48.279999,47.320000,47.459999,47.459999,33021500
+2014-11-06,47.369999,47.980000,46.599998,47.930000,47.930000,22636000
+2014-11-07,47.900002,48.669998,47.860001,48.549999,48.549999,24166700
+2014-11-10,48.799999,49.630001,48.790001,49.410000,49.410000,24730300
+2014-11-11,48.570000,49.180000,48.099998,49.049999,49.049999,31586300
+2014-11-12,49.330002,50.630001,49.220001,50.599998,50.599998,30564700
+2014-11-13,50.959999,51.169998,49.950001,50.500000,50.500000,35519200
+2014-11-14,50.520000,51.950001,50.470001,51.750000,51.750000,28824700
+2014-11-17,51.830002,52.419998,50.939999,52.369999,52.369999,38392800
+2014-11-18,52.279999,52.619999,51.340000,51.750000,51.750000,26847300
+2014-11-19,51.240002,51.369999,50.000000,50.580002,50.580002,29260000
+2014-11-20,50.599998,52.230000,50.270000,51.250000,51.250000,28916000
+2014-11-21,51.990002,52.250000,50.990002,51.040001,51.040001,22227000
+2014-11-24,51.250000,51.830002,51.070000,51.830002,51.830002,14643500
+2014-11-25,51.980000,52.189999,51.599998,51.720001,51.720001,14219600
+2014-11-26,51.560001,52.259998,51.520000,51.930000,51.930000,13428500
+2014-11-28,51.869999,52.000000,51.639999,51.740002,51.740002,8913700
+2014-12-01,51.430000,51.430000,49.660000,50.099998,50.099998,23146900
+2014-12-02,50.270000,51.119999,50.009998,50.669998,50.669998,16300600
+2014-12-03,50.709999,50.970001,50.200001,50.279999,50.279999,14236000
+2014-12-04,50.189999,50.669998,49.900002,50.410000,50.410000,12136700
+2014-12-05,51.029999,51.250000,50.509998,50.990002,50.990002,15418100
+2014-12-08,50.520000,50.900002,49.220001,49.619999,49.619999,18190100
+2014-12-09,48.750000,50.529999,48.290001,50.509998,50.509998,19655600
+2014-12-10,50.330002,50.689999,49.189999,49.209999,49.209999,16184100
+2014-12-11,49.540001,50.580002,49.430000,49.939999,49.939999,21100200
+2014-12-12,49.540001,51.169998,49.480000,50.240002,50.240002,20370500
+2014-12-15,50.419998,50.919998,49.500000,49.820000,49.820000,18132500
+2014-12-16,49.500000,50.080002,48.810001,48.849998,48.849998,21399300
+2014-12-17,49.020000,50.250000,48.900002,50.119999,50.119999,17112300
+2014-12-18,50.930000,51.150002,50.439999,50.910000,50.910000,15338900
+2014-12-19,51.060001,51.470001,50.830002,50.880001,50.880001,24110200
+2014-12-22,50.990002,51.599998,50.950001,51.150002,51.150002,24021100
+2014-12-23,51.459999,51.459999,49.930000,50.020000,50.020000,15514000
+2014-12-24,50.189999,50.919998,50.189999,50.650002,50.650002,5961900
+2014-12-26,50.650002,51.060001,50.610001,50.860001,50.860001,5169700
+2014-12-29,50.669998,51.009998,50.509998,50.529999,50.529999,6624500
+2014-12-30,50.349998,51.270000,50.349998,51.220001,51.220001,10703500
+2014-12-31,51.540001,51.680000,50.459999,50.509998,50.509998,9305000
+2015-01-02,50.660000,50.779999,49.470001,50.169998,50.169998,11924500
+2015-01-05,49.709999,49.880001,48.910000,49.130001,49.130001,14389300
+2015-01-06,49.200001,49.880001,48.330002,49.209999,49.209999,16204300
+2015-01-07,49.619999,49.639999,48.509998,48.590000,48.590000,11788000
+2015-01-08,48.990002,50.230000,48.720001,50.230000,50.230000,14704800
+2015-01-09,50.279999,50.410000,49.619999,49.720001,49.720001,7462800
+2015-01-12,49.919998,49.930000,48.560001,48.799999,48.799999,10170700
+2015-01-13,49.150002,49.480000,47.400002,48.299999,48.299999,21605200
+2015-01-14,47.700001,48.090000,47.070000,47.509998,47.509998,15911600
+2015-01-15,47.540001,47.750000,46.200001,46.230000,46.230000,17126000
+2015-01-16,46.060001,46.590000,45.849998,46.470001,46.470001,14681800
+2015-01-20,46.790001,47.889999,46.770000,47.630001,47.630001,15780000
+2015-01-21,47.599998,48.380001,47.320000,48.180000,48.180000,16305100
+2015-01-22,48.430000,49.080002,48.009998,48.889999,48.889999,12647400
+2015-01-23,48.740002,49.230000,48.630001,48.950001,48.950001,14206100
+2015-01-26,49.570000,49.790001,49.070000,49.439999,49.439999,18976400
+2015-01-27,49.139999,49.279999,47.660000,47.990002,47.990002,45777200
+2015-01-28,49.799999,50.320000,46.299999,46.459999,46.459999,84839700
+2015-01-29,43.560001,43.799999,41.799999,43.730000,43.730000,74370100
+2015-01-30,43.750000,44.849998,43.509998,43.990002,43.990002,36033600
+2015-02-02,44.430000,44.759998,43.880001,44.689999,44.689999,20305700
+2015-02-03,45.099998,45.250000,44.380001,44.700001,44.700001,16944100
+2015-02-04,44.799999,44.980000,43.880001,44.049999,44.049999,16281400
+2015-02-05,44.080002,44.259998,43.029999,43.549999,43.549999,18414500
+2015-02-06,43.570000,43.660000,42.669998,42.939999,42.939999,16005100
+2015-02-09,42.610001,43.150002,42.540001,42.570000,42.570000,15507600
+2015-02-10,42.900002,43.180000,42.660000,43.070000,43.070000,12160800
+2015-02-11,43.180000,43.259998,42.759998,42.959999,42.959999,9791100
+2015-02-12,43.070000,44.160000,42.860001,43.930000,43.930000,18158200
+2015-02-13,44.119999,44.590000,44.000000,44.419998,44.419998,13785800
+2015-02-17,44.369999,44.540001,43.349998,43.529999,43.529999,12798400
+2015-02-18,43.560001,43.820000,43.299999,43.650002,43.650002,10355900
+2015-02-19,43.650002,44.419998,43.500000,44.369999,44.369999,13301000
+2015-02-20,44.299999,44.360001,43.759998,44.110001,44.110001,12036200
+2015-02-23,43.990002,43.990002,43.419998,43.529999,43.529999,12129100
+2015-02-24,43.450001,43.520000,42.910000,43.380001,43.380001,9778000
+2015-02-25,43.209999,44.720001,43.209999,44.430000,44.430000,17922900
+2015-02-26,44.599998,44.759998,44.259998,44.450001,44.450001,9223800
+2015-02-27,44.380001,44.570000,44.049999,44.279999,44.279999,10044200
+2015-03-02,44.060001,44.430000,43.700001,44.110001,44.110001,11027300
+2015-03-03,43.700001,43.950001,42.419998,42.619999,42.619999,22392400
+2015-03-04,42.080002,44.380001,41.970001,43.990002,43.990002,30024800
+2015-03-05,44.180000,44.310001,43.500000,44.160000,44.160000,11867700
+2015-03-06,43.980000,44.240002,43.400002,43.439999,43.439999,11888000
+2015-03-09,43.599998,43.930000,42.669998,42.980000,42.980000,11801900
+2015-03-10,42.570000,42.919998,42.180000,42.680000,42.680000,10526300
+2015-03-11,42.770000,42.990002,42.360001,42.500000,42.500000,10007300
+2015-03-12,42.700001,43.360001,42.580002,42.950001,42.950001,8384800
+2015-03-13,42.840000,42.980000,42.439999,42.869999,42.869999,9087000
+2015-03-16,42.930000,43.880001,42.750000,43.509998,43.509998,11376400
+2015-03-17,43.540001,44.160000,43.459999,43.790001,43.790001,9636300
+2015-03-18,43.580002,44.709999,43.430000,44.669998,44.669998,18825000
+2015-03-19,44.900002,45.450001,44.810001,44.980000,44.980000,14758000
+2015-03-20,45.369999,45.580002,44.910000,45.040001,45.040001,14194200
+2015-03-23,45.250000,45.540001,44.709999,44.720001,44.720001,8244400
+2015-03-24,44.639999,44.779999,44.279999,44.419998,44.419998,7559100
+2015-03-25,44.590000,44.930000,44.130001,44.200001,44.200001,14036900
+2015-03-26,43.779999,44.669998,43.680000,44.470001,44.470001,16162900
+2015-03-27,45.200001,45.669998,45.009998,45.099998,45.099998,20520400
+2015-03-30,45.360001,45.419998,44.820000,44.950001,44.950001,8884300
+2015-03-31,44.820000,45.200001,44.419998,44.439999,44.439999,10415500
+2015-04-01,44.450001,44.599998,43.950001,44.130001,44.130001,14683300
+2015-04-02,44.240002,44.360001,43.680000,44.150002,44.150002,12229400
+2015-04-06,43.820000,44.029999,43.610001,43.669998,43.669998,10717000
+2015-04-07,43.790001,44.220001,43.560001,43.610001,43.610001,11382000
+2015-04-08,43.860001,45.189999,43.799999,45.169998,45.169998,16071000
+2015-04-09,45.700001,46.169998,45.160000,45.630001,45.630001,13678000
+2015-04-10,45.790001,45.790001,45.000000,45.180000,45.180000,8436400
+2015-04-13,45.250000,45.590000,44.720001,44.770000,44.770000,8837300
+2015-04-14,44.820000,45.639999,44.790001,45.529999,45.529999,12342900
+2015-04-15,45.459999,45.830002,45.230000,45.730000,45.730000,15039600
+2015-04-16,45.820000,46.130001,45.529999,45.779999,45.779999,13833100
+2015-04-17,45.299999,45.439999,44.250000,44.450001,44.450001,13591600
+2015-04-20,44.730000,44.910000,44.410000,44.660000,44.660000,10052900
+2015-04-21,45.150002,45.180000,44.450001,44.490002,44.490002,18617900
+2015-04-22,44.580002,44.849998,43.669998,43.980000,43.980000,32284300
+2015-04-23,43.919998,44.060001,43.580002,43.700001,43.700001,14298900
+2015-04-24,43.730000,44.709999,43.689999,44.520000,44.520000,11281100
+2015-04-27,44.650002,45.099998,44.250000,44.360001,44.360001,10855400
+2015-04-28,44.340000,44.570000,43.939999,44.340000,44.340000,7197100
+2015-04-29,43.880001,44.049999,43.090000,43.279999,43.279999,12712600
+2015-04-30,43.119999,43.310001,42.259998,42.570000,42.570000,14257900
+2015-05-01,42.549999,42.680000,42.090000,42.509998,42.509998,10467600
+2015-05-04,42.500000,42.549999,41.830002,42.040001,42.040001,14483800
+2015-05-05,41.860001,42.000000,40.810001,41.299999,41.299999,19377100
+2015-05-06,41.310001,41.730000,41.209999,41.660000,41.660000,13976300
+2015-05-07,44.930000,44.980000,43.549999,43.869999,43.869999,28213800
+2015-05-08,44.340000,44.549999,44.000000,44.090000,44.090000,15750200
+2015-05-11,43.820000,44.139999,43.590000,43.599998,43.599998,11509600
+2015-05-12,44.299999,44.310001,43.689999,43.840000,43.840000,14264800
+2015-05-13,44.029999,44.669998,43.980000,44.400002,44.400002,10987200
+2015-05-14,44.529999,44.990002,44.450001,44.950001,44.950001,10301800
+2015-05-15,45.000000,45.070000,44.689999,44.750000,44.750000,7768600
+2015-05-18,44.520000,44.570000,44.040001,44.360001,44.360001,8278800
+2015-05-19,44.380001,44.660000,39.119999,40.980000,40.980000,45363900
+2015-05-20,42.279999,43.040001,42.160000,42.790001,42.790001,54530800
+2015-05-21,43.060001,43.869999,43.049999,43.680000,43.680000,30404300
+2015-05-22,43.580002,44.000000,43.470001,43.490002,43.490002,10279400
+2015-05-26,43.410000,43.500000,42.580002,42.849998,42.849998,12796000
+2015-05-27,42.599998,43.439999,42.279999,43.380001,43.380001,13686500
+2015-05-28,43.060001,43.419998,42.930000,43.070000,43.070000,9414000
+2015-05-29,43.450001,43.590000,42.810001,42.939999,42.939999,10901500
+2015-06-01,43.049999,43.630001,42.910000,43.349998,43.349998,11152900
+2015-06-02,43.180000,43.619999,42.919998,43.150002,43.150002,8863900
+2015-06-03,43.299999,43.779999,42.980000,43.209999,43.209999,11893400
+2015-06-04,43.090000,43.439999,42.759998,42.880001,42.880001,10033400
+2015-06-05,42.830002,43.259998,42.700001,42.810001,42.810001,9831100
+2015-06-08,42.720001,42.889999,42.000000,42.009998,42.009998,7596300
+2015-06-09,41.919998,41.950001,41.020000,41.630001,41.630001,11995200
+2015-06-10,41.700001,42.310001,41.689999,42.060001,42.060001,7943800
+2015-06-11,42.090000,42.209999,40.549999,40.939999,40.939999,23695000
+2015-06-12,40.770000,41.110001,40.459999,40.529999,40.529999,9232700
+2015-06-15,40.240002,40.669998,40.209999,40.470001,40.470001,10876300
+2015-06-16,40.349998,41.400002,40.020000,40.639999,40.639999,20454500
+2015-06-17,40.799999,41.520000,40.779999,40.959999,40.959999,11943100
+2015-06-18,41.040001,41.270000,40.790001,40.910000,40.910000,10017600
+2015-06-19,40.900002,40.930000,40.369999,40.509998,40.509998,11661500
+2015-06-22,40.660000,40.889999,40.540001,40.730000,40.730000,6141500
+2015-06-23,40.740002,40.799999,40.509998,40.650002,40.650002,6860600
+2015-06-24,40.680000,41.230000,40.580002,40.939999,40.939999,11462200
+2015-06-25,41.099998,41.389999,40.900002,41.070000,41.070000,10776200
+2015-06-26,40.830002,40.869999,39.930000,40.060001,40.060001,16430900
+2015-06-29,39.490002,39.779999,38.849998,38.910000,38.910000,12481300
+2015-06-30,39.389999,39.650002,39.189999,39.290001,39.290001,11258300
+2015-07-01,39.459999,39.779999,39.150002,39.330002,39.330002,6398400
+2015-07-02,39.259998,39.639999,39.189999,39.380001,39.380001,7713000
+2015-07-06,38.759998,39.119999,38.459999,38.610001,38.610001,11803400
+2015-07-07,38.240002,38.380001,36.580002,38.230000,38.230000,19432500
+2015-07-08,37.200001,37.490002,36.939999,37.230000,37.230000,20529200
+2015-07-09,38.230000,38.680000,37.520000,37.610001,37.610001,16909400
+2015-07-10,38.349998,38.419998,37.779999,37.919998,37.919998,10057600
+2015-07-13,38.250000,38.799999,38.099998,38.759998,38.759998,8713200
+2015-07-14,38.650002,39.029999,38.439999,38.630001,38.630001,9506500
+2015-07-15,38.509998,38.799999,38.150002,38.380001,38.380001,9147300
+2015-07-16,38.700001,38.959999,38.599998,38.910000,38.910000,8462400
+2015-07-17,39.189999,39.790001,38.930000,39.680000,39.680000,14864300
+2015-07-20,39.980000,39.980000,39.259998,39.540001,39.540001,14752100
+2015-07-21,39.610001,39.849998,39.349998,39.730000,39.730000,14861600
+2015-07-22,38.570000,39.630001,38.259998,39.240002,39.240002,17714800
+2015-07-23,39.299999,39.779999,39.060001,39.209999,39.209999,9267400
+2015-07-24,39.580002,39.580002,38.669998,38.849998,38.849998,8590700
+2015-07-27,38.310001,38.310001,37.650002,37.840000,37.840000,12942700
+2015-07-28,37.639999,37.919998,37.270000,37.720001,37.720001,10333100
+2015-07-29,37.919998,37.919998,37.380001,37.669998,37.669998,10290600
+2015-07-30,37.500000,37.689999,37.299999,37.419998,37.419998,9542700
+2015-07-31,37.560001,37.570000,36.619999,36.669998,36.669998,15446100
+2015-08-03,36.669998,36.980000,36.369999,36.689999,36.689999,9887300
+2015-08-04,36.610001,37.209999,36.599998,37.119999,37.119999,9051900
+2015-08-05,37.320000,37.709999,37.230000,37.250000,37.250000,6844000
+2015-08-06,37.340000,37.520000,36.299999,36.459999,36.459999,12299700
+2015-08-07,36.520000,36.759998,36.150002,36.669998,36.669998,11845500
+2015-08-10,36.869999,37.689999,36.869999,37.150002,37.150002,11351400
+2015-08-11,36.740002,36.770000,35.730000,36.029999,36.029999,13677300
+2015-08-12,34.290001,34.770000,33.849998,34.490002,34.490002,31405700
+2015-08-13,35.080002,36.610001,34.820000,35.930000,35.930000,28987700
+2015-08-14,35.820000,36.349998,35.720001,36.240002,36.240002,12238300
+2015-08-17,36.240002,36.240002,35.770000,36.099998,36.099998,7933600
+2015-08-18,35.779999,36.189999,35.599998,35.689999,35.689999,11445300
+2015-08-19,35.669998,35.669998,35.029999,35.189999,35.189999,8976700
+2015-08-20,34.770000,34.950001,33.869999,34.099998,34.099998,15604400
+2015-08-21,33.580002,34.020000,32.910000,32.930000,32.930000,18373600
+2015-08-24,29.020000,32.279999,29.000000,31.309999,31.309999,23163400
+2015-08-25,32.980000,33.029999,31.540001,31.740000,31.740000,15752300
+2015-08-26,32.459999,32.619999,31.110001,32.520000,32.520000,25414500
+2015-08-27,33.360001,33.770000,32.950001,33.689999,33.689999,19105100
+2015-08-28,33.320000,33.570000,32.930000,33.139999,33.139999,9366100
+2015-08-31,32.910000,32.990002,32.230000,32.240002,32.240002,13575100
+2015-09-01,31.490000,32.099998,31.230000,31.600000,31.600000,19903500
+2015-09-02,32.009998,32.029999,31.379999,31.770000,31.770000,15688100
+2015-09-03,31.860001,32.740002,31.799999,32.540001,32.540001,13748900
+2015-09-04,32.000000,32.290001,31.440001,31.580000,31.580000,13854100
+2015-09-08,32.200001,32.830002,30.860001,30.900000,30.900000,26873900
+2015-09-09,30.400000,31.799999,30.350000,31.520000,31.520000,46957000
+2015-09-10,31.350000,31.590000,31.030001,31.150000,31.150000,14330900
+2015-09-11,31.090000,31.430000,30.629999,31.430000,31.430000,14365400
+2015-09-14,30.680000,30.920000,30.000000,30.320000,30.320000,22186900
+2015-09-15,29.719999,31.230000,29.410000,31.040001,31.040001,25637600
+2015-09-16,31.139999,31.770000,30.990000,31.400000,31.400000,22179700
+2015-09-17,31.309999,31.330000,30.809999,30.930000,30.930000,17094200
+2015-09-18,30.510000,30.799999,30.410000,30.740000,30.740000,20144700
+2015-09-21,31.200001,31.740000,30.879999,31.170000,31.170000,18745000
+2015-09-22,30.780001,30.920000,30.170000,30.400000,30.400000,15614900
+2015-09-23,30.559999,30.570000,29.629999,29.740000,29.740000,12755400
+2015-09-24,29.469999,29.570000,28.850000,29.340000,29.340000,19109900
+2015-09-25,29.660000,29.709999,28.910000,29.129999,29.129999,12817500
+2015-09-28,29.030001,29.219999,27.200001,27.600000,27.600000,49541300
+2015-09-29,28.580000,29.230000,27.850000,28.260000,28.260000,41895400
+2015-09-30,28.650000,29.110001,28.490000,28.910000,28.910000,17861800
+2015-10-01,28.950001,29.000000,28.440001,28.910000,28.910000,14467600
+2015-10-02,28.620001,30.709999,28.430000,30.709999,30.709999,29250500
+2015-10-05,30.799999,31.200001,30.350000,30.850000,30.850000,12883300
+2015-10-06,30.790001,31.190001,30.660000,30.959999,30.959999,10572800
+2015-10-07,31.309999,31.990000,31.209999,31.870001,31.870001,12224800
+2015-10-08,31.790001,32.500000,31.730000,32.369999,32.369999,14245400
+2015-10-09,32.349998,32.689999,31.990000,32.520000,32.520000,11830400
+2015-10-12,32.709999,33.020000,32.549999,32.860001,32.860001,12580300
+2015-10-13,32.560001,32.830002,32.320000,32.340000,32.340000,15873800
+2015-10-14,32.279999,32.490002,31.770000,32.090000,32.090000,11282800
+2015-10-15,32.419998,33.490002,32.400002,33.480000,33.480000,19403800
+2015-10-16,33.639999,33.860001,33.160000,33.369999,33.369999,12498900
+2015-10-19,33.259998,33.630001,33.180000,33.500000,33.500000,10856500
+2015-10-20,33.490002,33.590000,32.770000,32.830002,32.830002,18644700
+2015-10-21,32.060001,32.430000,31.010000,31.120001,31.120001,30390400
+2015-10-22,31.260000,31.900000,31.209999,31.670000,31.670000,18501200
+2015-10-23,32.650002,33.360001,32.240002,33.169998,33.169998,24308600
+2015-10-26,33.130001,33.490002,33.000000,33.400002,33.400002,15810300
+2015-10-27,34.970001,35.470001,33.880001,34.299999,34.299999,26380900
+2015-10-28,34.299999,35.270000,34.299999,35.189999,35.189999,15174300
+2015-10-29,34.869999,35.150002,34.700001,35.049999,35.049999,10788300
+2015-10-30,35.139999,35.700001,35.049999,35.619999,35.619999,17418900
+2015-11-02,35.459999,35.480000,35.070000,35.270000,35.270000,15206700
+2015-11-03,35.150002,35.340000,34.650002,34.720001,34.720001,12394300
+2015-11-04,34.889999,35.240002,34.750000,35.070000,35.070000,17495900
+2015-11-05,35.020000,35.299999,34.160000,35.119999,35.119999,15679100
+2015-11-06,34.939999,35.200001,33.459999,34.200001,34.200001,16608600
+2015-11-09,34.070000,34.080002,33.080002,33.680000,33.680000,13645500
+2015-11-10,33.450001,34.130001,33.259998,33.990002,33.990002,11511000
+2015-11-11,34.209999,34.230000,33.029999,33.380001,33.380001,11804100
+2015-11-12,33.200001,33.849998,33.130001,33.230000,33.230000,14273100
+2015-11-13,32.779999,33.040001,32.169998,32.189999,32.189999,11063300
+2015-11-16,32.230000,32.990002,32.119999,32.950001,32.950001,11087800
+2015-11-17,33.009998,33.119999,32.619999,32.860001,32.860001,10270400
+2015-11-18,32.889999,33.020000,32.320000,32.980000,32.980000,11105600
+2015-11-19,33.209999,33.500000,32.580002,32.630001,32.630001,14222100
+2015-11-20,32.860001,33.299999,32.689999,33.110001,33.110001,12498500
+2015-11-23,33.000000,33.869999,32.869999,33.360001,33.360001,11899700
+2015-11-24,33.090000,33.189999,32.610001,32.959999,32.959999,13364700
+2015-11-25,32.770000,33.520000,32.750000,33.160000,33.160000,13257200
+2015-11-27,32.790001,33.090000,32.439999,32.939999,32.939999,5316100
+2015-11-30,33.029999,33.830002,32.849998,33.810001,33.810001,17534700
+2015-12-01,33.869999,33.889999,33.470001,33.709999,33.709999,11020400
+2015-12-02,35.000000,36.389999,34.770000,35.650002,35.650002,56708100
+2015-12-03,35.590000,35.720001,34.099998,34.340000,34.340000,17080500
+2015-12-04,34.340000,35.200001,34.180000,34.910000,34.910000,16109600
+2015-12-07,34.759998,34.919998,34.470001,34.680000,34.680000,12047900
+2015-12-08,34.240002,34.980000,34.029999,34.849998,34.849998,19852600
+2015-12-09,35.799999,35.840000,33.150002,34.400002,34.400002,45101900
+2015-12-10,34.490002,34.730000,33.910000,34.630001,34.630001,16128800
+2015-12-11,34.009998,34.150002,32.820000,32.910000,32.910000,14936200
+2015-12-14,32.939999,33.270000,32.209999,32.590000,32.590000,15949600
+2015-12-15,32.529999,33.389999,32.500000,33.029999,33.029999,16187300
+2015-12-16,33.150002,33.880001,32.910000,33.779999,33.779999,12689400
+2015-12-17,33.810001,34.080002,33.110001,33.230000,33.230000,13243500
+2015-12-18,33.099998,33.630001,32.869999,32.950001,32.950001,16921800
+2015-12-21,33.119999,33.299999,32.689999,32.970001,32.970001,9106700
+2015-12-22,32.990002,34.209999,32.970001,34.189999,34.189999,15521100
+2015-12-23,34.240002,34.580002,33.990002,34.450001,34.450001,13469200
+2015-12-24,34.189999,34.740002,34.099998,34.110001,34.110001,3470700
+2015-12-28,33.900002,33.910000,33.349998,33.599998,33.599998,10869100
+2015-12-29,33.630001,34.169998,33.599998,34.040001,34.040001,12621900
+2015-12-30,33.849998,34.040001,33.349998,33.369999,33.369999,5933500
+2015-12-31,33.220001,33.689999,33.180000,33.259998,33.259998,7423300
diff --git a/backtrader/source/datas/yhoo-2003-2005.txt b/backtrader/source/datas/yhoo-2003-2005.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f62558573925756111a259e24e9b0df07d2cd349
--- /dev/null
+++ b/backtrader/source/datas/yhoo-2003-2005.txt
@@ -0,0 +1,757 @@
+Date,Open,High,Low,Close,Adj Close,Volume
+2003-01-02,8.295000,8.830000,8.250000,8.800000,8.800000,19640400
+2003-01-03,8.750000,9.175000,8.675000,9.050000,9.050000,15090600
+2003-01-06,8.925000,9.595000,8.890000,9.470000,9.470000,21209400
+2003-01-07,8.935000,9.650000,8.930000,9.575000,9.575000,28092600
+2003-01-08,9.435000,9.650000,9.280000,9.375000,9.375000,19244600
+2003-01-09,9.460000,9.745000,9.400000,9.720000,9.720000,15946400
+2003-01-10,9.400000,10.000000,9.400000,10.000000,10.000000,26122600
+2003-01-13,10.165000,10.195000,9.675000,9.835000,9.835000,27927600
+2003-01-14,9.780000,9.920000,9.650000,9.850000,9.850000,16060600
+2003-01-15,9.985000,10.090000,9.745000,9.790000,9.790000,44611000
+2003-01-16,9.150000,9.745000,9.055000,9.375000,9.375000,58419400
+2003-01-17,9.300000,9.490000,9.180000,9.185000,9.185000,22038600
+2003-01-21,9.105000,9.220000,8.875000,8.960000,8.960000,20121600
+2003-01-22,8.945000,9.375000,8.855000,9.240000,9.240000,23056600
+2003-01-23,9.425000,9.565000,9.280000,9.540000,9.540000,18093400
+2003-01-24,9.530000,9.585000,9.325000,9.390000,9.390000,23468400
+2003-01-27,9.090000,9.385000,9.020000,9.055000,9.055000,18864600
+2003-01-28,9.175000,9.360000,9.015000,9.310000,9.310000,17630800
+2003-01-29,9.205000,9.485000,9.080000,9.415000,9.415000,16126800
+2003-01-30,9.335000,9.425000,9.040000,9.045000,9.045000,10401000
+2003-01-31,8.910000,9.190000,8.900000,9.100000,9.100000,13286000
+2003-02-03,9.025000,9.200000,8.965000,8.985000,8.985000,9586600
+2003-02-04,8.915000,8.930000,8.750000,8.875000,8.875000,11921400
+2003-02-05,8.915000,9.075000,8.825000,8.895000,8.895000,12986800
+2003-02-06,8.860000,9.090000,8.775000,8.965000,8.965000,10670000
+2003-02-07,8.885000,8.925000,8.650000,8.770000,8.770000,14120200
+2003-02-10,8.785000,8.985000,8.730000,8.960000,8.960000,10486400
+2003-02-11,9.000000,9.245000,8.990000,9.145000,9.145000,14895800
+2003-02-12,9.100000,9.300000,9.000000,9.085000,9.085000,12368000
+2003-02-13,9.345000,9.365000,8.780000,9.025000,9.025000,26697800
+2003-02-14,9.155000,9.455000,9.045000,9.450000,9.450000,15901600
+2003-02-18,9.425000,9.800000,9.415000,9.745000,9.745000,17076400
+2003-02-19,9.550000,9.795000,9.515000,9.690000,9.690000,12852400
+2003-02-20,9.705000,9.875000,9.655000,9.860000,9.860000,13858000
+2003-02-21,9.750000,9.950000,9.605000,9.915000,9.915000,12717200
+2003-02-24,9.760000,9.980000,9.760000,9.835000,9.835000,9690400
+2003-02-25,9.725000,10.000000,9.655000,10.000000,10.000000,11824200
+2003-02-26,9.790000,9.980000,9.790000,9.855000,9.855000,15627400
+2003-02-27,9.905000,10.085000,9.805000,10.040000,10.040000,14893600
+2003-02-28,10.015000,10.475000,9.990000,10.425000,10.425000,23457000
+2003-03-03,10.395000,10.500000,9.950000,9.960000,9.960000,26211600
+2003-03-04,9.960000,10.080000,9.875000,9.935000,9.935000,20929000
+2003-03-05,9.990000,10.060000,9.865000,9.950000,9.950000,12279000
+2003-03-06,9.915000,9.915000,9.600000,9.720000,9.720000,21565200
+2003-03-07,9.625000,9.835000,9.400000,9.810000,9.810000,20720200
+2003-03-10,9.695000,9.825000,9.545000,9.595000,9.595000,11862800
+2003-03-11,9.630000,9.670000,9.410000,9.480000,9.480000,12019800
+2003-03-12,9.470000,9.610000,9.235000,9.595000,9.595000,13683400
+2003-03-13,9.845000,10.240000,9.725000,10.125000,10.125000,23618400
+2003-03-14,10.250000,10.415000,10.025000,10.345000,10.345000,18290000
+2003-03-17,10.060000,11.200000,10.045000,11.190000,11.190000,42114000
+2003-03-18,10.925000,11.050000,10.750000,10.985000,10.985000,25790000
+2003-03-19,11.025000,11.185000,10.700000,11.105000,11.105000,24803000
+2003-03-20,11.015000,11.630000,10.900000,11.425000,11.425000,29435600
+2003-03-21,11.790000,12.095000,11.465000,11.985000,11.985000,36211200
+2003-03-24,11.415000,11.860000,11.265000,11.675000,11.675000,33779000
+2003-03-25,11.680000,12.270000,11.645000,11.810000,11.810000,35374400
+2003-03-26,12.245000,12.495000,11.775000,12.380000,12.380000,37575800
+2003-03-27,12.350000,12.495000,12.125000,12.205000,12.205000,36248400
+2003-03-28,12.140000,12.375000,12.115000,12.190000,12.190000,21920600
+2003-03-31,11.910000,12.195000,11.825000,12.010000,12.010000,27397200
+2003-04-01,11.650000,11.800000,11.260000,11.395000,11.395000,47505200
+2003-04-02,11.520000,11.955000,11.335000,11.870000,11.870000,37083400
+2003-04-03,12.025000,12.390000,11.660000,12.170000,12.170000,27701400
+2003-04-04,12.025000,12.095000,11.555000,12.025000,12.025000,49753200
+2003-04-07,12.510000,12.625000,11.970000,12.000000,12.000000,35569400
+2003-04-08,12.090000,12.115000,11.820000,11.905000,11.905000,25371000
+2003-04-09,11.905000,11.955000,11.320000,11.435000,11.435000,48223400
+2003-04-10,11.860000,12.185000,11.565000,12.135000,12.135000,72957000
+2003-04-11,12.175000,12.465000,11.775000,12.215000,12.215000,44018000
+2003-04-14,11.895000,12.225000,11.830000,12.175000,12.175000,30561000
+2003-04-15,12.060000,12.500000,12.040000,12.405000,12.405000,27799400
+2003-04-16,12.505000,12.625000,12.235000,12.335000,12.335000,27588600
+2003-04-17,12.355000,12.550000,12.275000,12.545000,12.545000,22127000
+2003-04-21,12.500000,12.835000,12.425000,12.705000,12.705000,22762800
+2003-04-22,12.560000,12.870000,12.475000,12.830000,12.830000,22454200
+2003-04-23,12.880000,13.125000,12.710000,12.800000,12.800000,24810000
+2003-04-24,12.595000,12.850000,12.535000,12.725000,12.725000,18209600
+2003-04-25,12.900000,12.915000,12.420000,12.480000,12.480000,23921800
+2003-04-28,12.600000,12.715000,12.275000,12.645000,12.645000,19463400
+2003-04-29,12.610000,12.785000,12.380000,12.505000,12.505000,15976400
+2003-04-30,12.460000,12.625000,12.315000,12.385000,12.385000,16177800
+2003-05-01,12.395000,12.395000,12.020000,12.275000,12.275000,17440600
+2003-05-02,12.375000,12.635000,12.290000,12.575000,12.575000,17471000
+2003-05-05,12.670000,12.760000,12.445000,12.515000,12.515000,17909600
+2003-05-06,12.540000,12.750000,12.440000,12.575000,12.575000,19928600
+2003-05-07,12.505000,12.535000,12.305000,12.380000,12.380000,14273200
+2003-05-08,12.325000,12.670000,12.235000,12.540000,12.540000,16335200
+2003-05-09,12.565000,12.680000,12.365000,12.520000,12.520000,14930000
+2003-05-12,12.490000,13.115000,12.450000,13.085000,13.085000,22603200
+2003-05-13,12.980000,13.840000,12.935000,13.610000,13.610000,40806200
+2003-05-14,13.605000,13.775000,13.490000,13.545000,13.545000,24530400
+2003-05-15,13.540000,13.815000,13.390000,13.755000,13.755000,19305400
+2003-05-16,13.710000,14.000000,13.655000,13.875000,13.875000,20265200
+2003-05-19,13.735000,13.805000,12.875000,12.975000,12.975000,31976400
+2003-05-20,13.170000,13.455000,13.050000,13.290000,13.290000,34828400
+2003-05-21,13.290000,13.325000,12.995000,13.090000,13.090000,19526400
+2003-05-22,13.150000,13.505000,13.015000,13.450000,13.450000,16879600
+2003-05-23,13.500000,14.255000,13.450000,14.245000,14.245000,30364200
+2003-05-27,13.940000,15.095000,13.760000,14.985000,14.985000,44754600
+2003-05-28,15.005000,15.145000,14.790000,14.950000,14.950000,26365200
+2003-05-29,14.975000,15.360000,14.875000,15.075000,15.075000,22298800
+2003-05-30,15.150000,15.180000,14.755000,14.920000,14.920000,32082800
+2003-06-02,15.155000,15.200000,14.275000,14.330000,14.330000,34546600
+2003-06-03,14.465000,14.490000,14.115000,14.275000,14.275000,42024400
+2003-06-04,14.225000,14.830000,14.195000,14.795000,14.795000,42710000
+2003-06-05,14.750000,14.765000,14.490000,14.695000,14.695000,19126800
+2003-06-06,15.005000,15.100000,13.750000,13.975000,13.975000,42757200
+2003-06-09,14.275000,14.330000,13.675000,13.750000,13.750000,36217400
+2003-06-10,13.800000,13.995000,13.525000,13.950000,13.950000,20410600
+2003-06-11,14.160000,14.975000,14.100000,14.800000,14.800000,39347800
+2003-06-12,14.865000,14.945000,14.580000,14.850000,14.850000,26566000
+2003-06-13,14.815000,14.875000,14.280000,14.360000,14.360000,21168000
+2003-06-16,14.925000,15.395000,14.800000,15.330000,15.330000,38891000
+2003-06-17,15.475000,15.810000,15.335000,15.710000,15.710000,27192600
+2003-06-18,15.495000,16.410000,15.470000,16.150000,16.150000,32913800
+2003-06-19,16.055000,16.594999,15.750000,15.815000,15.815000,27878200
+2003-06-20,16.150000,16.245001,15.815000,16.070000,16.070000,25535800
+2003-06-23,15.950000,16.075001,15.560000,15.760000,15.760000,17155200
+2003-06-24,15.720000,15.970000,15.285000,15.680000,15.680000,21847600
+2003-06-25,15.600000,16.049999,15.585000,15.675000,15.675000,20055600
+2003-06-26,15.850000,16.500000,15.705000,16.450001,16.450001,28344600
+2003-06-27,16.549999,16.745001,16.090000,16.110001,16.110001,25943200
+2003-06-30,16.330000,16.680000,15.875000,16.350000,16.350000,21051200
+2003-07-01,16.430000,16.825001,16.100000,16.820000,16.820000,20227600
+2003-07-02,16.860001,17.205000,16.799999,17.174999,17.174999,19565800
+2003-07-03,16.799999,17.500000,16.799999,17.350000,17.350000,15900600
+2003-07-07,17.750000,17.860001,17.500000,17.635000,17.635000,25475200
+2003-07-08,17.620001,17.719999,17.055000,17.549999,17.549999,32377200
+2003-07-09,17.535000,17.895000,17.004999,17.645000,17.645000,45663200
+2003-07-10,16.235001,16.500000,16.075001,16.280001,16.280001,68416800
+2003-07-11,16.420000,16.459999,15.800000,16.094999,16.094999,37147000
+2003-07-14,16.450001,16.525000,15.755000,16.100000,16.100000,59770600
+2003-07-15,16.160000,16.385000,16.059999,16.180000,16.180000,26509200
+2003-07-16,16.375000,16.400000,15.775000,15.925000,15.925000,19096000
+2003-07-17,15.825000,15.825000,15.165000,15.305000,15.305000,26308600
+2003-07-18,15.495000,15.525000,14.780000,14.950000,14.950000,26502200
+2003-07-21,15.350000,15.770000,15.150000,15.525000,15.525000,32138800
+2003-07-22,15.640000,15.700000,15.110000,15.625000,15.625000,25113400
+2003-07-23,15.930000,16.075001,15.610000,16.059999,16.059999,20317400
+2003-07-24,16.325001,16.934999,16.205000,16.600000,16.600000,35844000
+2003-07-25,16.275000,16.469999,15.930000,16.400000,16.400000,24687800
+2003-07-28,16.459999,16.490000,16.075001,16.280001,16.280001,13811800
+2003-07-29,16.285000,16.344999,15.750000,15.780000,15.780000,16949200
+2003-07-30,15.855000,15.975000,15.305000,15.395000,15.395000,17340800
+2003-07-31,15.595000,15.940000,15.425000,15.565000,15.565000,17567000
+2003-08-01,15.815000,15.900000,15.505000,15.730000,15.730000,15927200
+2003-08-04,15.545000,15.610000,15.040000,15.390000,15.390000,18394200
+2003-08-05,15.330000,15.570000,14.855000,14.910000,14.910000,16673200
+2003-08-06,14.820000,15.025000,14.325000,14.730000,14.730000,32332000
+2003-08-07,14.650000,14.700000,14.380000,14.435000,14.435000,20955600
+2003-08-08,14.560000,14.665000,14.335000,14.500000,14.500000,17129000
+2003-08-11,14.450000,14.600000,14.050000,14.450000,14.450000,17036400
+2003-08-12,14.575000,14.975000,14.440000,14.925000,14.925000,21168200
+2003-08-13,14.965000,15.000000,14.660000,14.765000,14.765000,18916400
+2003-08-14,14.875000,14.925000,14.650000,14.885000,14.885000,12646400
+2003-08-15,14.945000,15.060000,14.790000,14.940000,14.940000,9426000
+2003-08-18,14.985000,15.685000,14.970000,15.645000,15.645000,20156800
+2003-08-19,15.775000,16.145000,15.675000,16.014999,16.014999,27413600
+2003-08-20,15.745000,16.170000,15.740000,15.995000,15.995000,15894200
+2003-08-21,16.150000,16.495001,15.990000,16.410000,16.410000,25279000
+2003-08-22,16.510000,16.674999,15.875000,15.910000,15.910000,20877000
+2003-08-25,15.945000,16.040001,15.635000,16.030001,16.030001,10210800
+2003-08-26,15.920000,16.075001,15.670000,16.030001,16.030001,10715400
+2003-08-27,15.945000,16.215000,15.915000,16.200001,16.200001,11914800
+2003-08-28,16.200001,16.299999,15.915000,16.174999,16.174999,10648400
+2003-08-29,16.200001,16.700001,16.170000,16.695000,16.695000,16074400
+2003-09-02,16.670000,17.120001,16.559999,17.094999,17.094999,27526000
+2003-09-03,17.000000,17.200001,16.715000,16.785000,16.785000,22407600
+2003-09-04,16.805000,17.605000,16.764999,17.415001,17.415001,30600200
+2003-09-05,17.174999,17.975000,17.150000,17.445000,17.445000,33720800
+2003-09-08,17.325001,17.834999,17.290001,17.770000,17.770000,22017600
+2003-09-09,17.629999,18.400000,17.385000,17.495001,17.495001,47070200
+2003-09-10,17.245001,17.600000,17.065001,17.215000,17.215000,28382200
+2003-09-11,17.375000,17.485001,17.030001,17.295000,17.295000,26116000
+2003-09-12,17.195000,17.625000,16.950001,17.410000,17.410000,22852400
+2003-09-15,17.450001,17.535000,17.290001,17.315001,17.315001,12989400
+2003-09-16,17.375000,17.934999,17.350000,17.910000,17.910000,24541600
+2003-09-17,17.855000,18.240000,17.680000,18.000000,18.000000,25265000
+2003-09-18,17.900000,18.915001,17.860001,18.790001,18.790001,35570800
+2003-09-19,18.575001,18.900000,18.400000,18.620001,18.620001,23608800
+2003-09-22,18.344999,18.455000,18.010000,18.290001,18.290001,23126000
+2003-09-23,18.350000,19.030001,18.325001,18.910000,18.910000,31720600
+2003-09-24,18.920000,19.125000,18.305000,18.305000,18.305000,31594000
+2003-09-25,18.059999,18.725000,17.860001,18.264999,18.264999,27535000
+2003-09-26,18.290001,18.420000,17.455000,17.540001,17.540001,24548000
+2003-09-29,17.709999,18.125000,17.480000,18.094999,18.094999,23433600
+2003-09-30,18.014999,18.125000,17.655001,17.695000,17.695000,21203000
+2003-10-01,18.049999,18.360001,17.500000,18.200001,18.200001,35383400
+2003-10-02,18.254999,19.000000,18.165001,18.955000,18.955000,30040000
+2003-10-03,19.480000,19.775000,19.245001,19.620001,19.620001,33854800
+2003-10-06,19.674999,19.940001,19.450001,19.889999,19.889999,20135400
+2003-10-07,19.690001,19.950001,19.190001,19.465000,19.465000,43982000
+2003-10-08,19.530001,19.719999,19.205000,19.395000,19.395000,46509600
+2003-10-09,20.700001,21.860001,20.600000,21.375000,21.375000,110624800
+2003-10-10,21.299999,21.655001,21.145000,21.580000,21.580000,36079200
+2003-10-13,21.450001,21.500000,21.045000,21.450001,21.450001,25207800
+2003-10-14,21.150000,21.424999,21.125000,21.150000,21.150000,21432800
+2003-10-15,21.405001,21.405001,20.665001,20.715000,20.715000,23228600
+2003-10-16,20.815001,21.250000,20.775000,21.105000,21.105000,19299800
+2003-10-17,21.264999,21.450001,20.805000,21.120001,21.120001,26315000
+2003-10-20,21.250000,21.370001,20.905001,21.184999,21.184999,17092600
+2003-10-21,21.049999,21.645000,21.000000,21.410000,21.410000,22456400
+2003-10-22,21.075001,21.295000,20.780001,20.885000,20.885000,23981000
+2003-10-23,20.504999,20.625000,19.930000,20.200001,20.200001,34960400
+2003-10-24,19.980000,20.389999,19.680000,20.264999,20.264999,28786600
+2003-10-27,20.400000,20.730000,20.305000,20.584999,20.584999,17490000
+2003-10-28,20.745001,21.535000,20.700001,21.510000,21.510000,25868600
+2003-10-29,21.469999,21.990000,21.360001,21.540001,21.540001,27784800
+2003-10-30,21.900000,22.275000,21.629999,21.860001,21.860001,33259800
+2003-10-31,21.730000,22.000000,21.594999,21.855000,21.855000,19394000
+2003-11-03,21.870001,22.385000,21.799999,21.965000,21.965000,21367400
+2003-11-04,21.950001,22.014999,21.650000,21.715000,21.715000,17291800
+2003-11-05,21.500000,22.129999,21.450001,22.020000,22.020000,15054200
+2003-11-06,21.500000,21.860001,21.275000,21.485001,21.485001,23257200
+2003-11-07,21.594999,21.674999,21.115000,21.174999,21.174999,18215600
+2003-11-10,21.150000,21.250000,20.600000,20.620001,20.620001,17051200
+2003-11-11,20.625000,20.815001,20.110001,20.309999,20.309999,19698600
+2003-11-12,20.285000,21.290001,20.264999,21.264999,21.264999,21975800
+2003-11-13,21.180000,21.795000,21.030001,21.650000,21.650000,19295200
+2003-11-14,21.440001,21.684999,20.760000,20.815001,20.815001,18739600
+2003-11-17,20.459999,20.540001,19.340000,20.180000,20.180000,42204400
+2003-11-18,20.375000,20.495001,18.975000,19.004999,19.004999,35245800
+2003-11-19,19.240000,19.805000,19.100000,19.635000,19.635000,37942000
+2003-11-20,19.455000,19.980000,19.315001,19.344999,19.344999,21760400
+2003-11-21,19.645000,19.860001,19.350000,19.740000,19.740000,20227200
+2003-11-24,20.100000,20.934999,20.100000,20.889999,20.889999,24679000
+2003-11-25,20.930000,21.350000,20.885000,21.025000,21.025000,22863800
+2003-11-26,21.385000,21.725000,20.969999,21.540001,21.540001,25370600
+2003-11-28,21.424999,21.625000,21.344999,21.495001,21.495001,6470200
+2003-12-01,21.709999,22.145000,21.660000,22.105000,22.105000,20852000
+2003-12-02,21.930000,22.090000,21.735001,21.754999,21.754999,17536400
+2003-12-03,21.834999,21.990000,21.174999,21.250000,21.250000,18848400
+2003-12-04,21.475000,21.805000,21.049999,21.565001,21.565001,20857800
+2003-12-05,21.395000,21.844999,21.325001,21.424999,21.424999,16190000
+2003-12-08,21.389999,21.535000,20.805000,21.389999,21.389999,19364600
+2003-12-09,21.520000,21.549999,20.715000,20.785000,20.785000,17286000
+2003-12-10,20.780001,21.045000,20.264999,20.580000,20.580000,20578400
+2003-12-11,20.535000,21.520000,20.535000,21.389999,21.389999,18270000
+2003-12-12,21.500000,21.500000,21.004999,21.490000,21.490000,15672800
+2003-12-15,21.920000,22.000000,21.049999,21.125000,21.125000,19726000
+2003-12-16,20.969999,21.094999,20.105000,20.350000,20.350000,29586600
+2003-12-17,20.290001,20.415001,19.980000,20.365000,20.365000,21553600
+2003-12-18,20.530001,21.025000,20.379999,20.945000,20.945000,16245800
+2003-12-19,20.965000,21.150000,20.575001,21.055000,21.055000,19387800
+2003-12-22,20.915001,21.305000,20.885000,21.299999,21.299999,14952400
+2003-12-23,21.174999,21.870001,21.125000,21.840000,21.840000,16710800
+2003-12-24,21.730000,22.670000,21.719999,22.385000,22.385000,18166400
+2003-12-26,22.400000,22.625000,22.125000,22.145000,22.145000,8493400
+2003-12-29,22.225000,22.549999,21.905001,22.485001,22.485001,13772400
+2003-12-30,22.465000,22.580000,22.250000,22.465000,22.465000,10980200
+2003-12-31,22.525000,22.740000,22.309999,22.514999,22.514999,18878600
+2004-01-02,22.750000,22.915001,22.559999,22.700001,22.700001,16480000
+2004-01-05,22.879999,23.555000,22.674999,23.450001,23.450001,23107800
+2004-01-06,23.219999,23.725000,23.174999,23.620001,23.620001,20527800
+2004-01-07,23.450001,23.879999,23.424999,23.834999,23.834999,19229000
+2004-01-08,24.000000,24.485001,23.934999,24.290001,24.290001,25469200
+2004-01-09,24.020000,24.379999,24.000000,24.059999,24.059999,19043400
+2004-01-12,24.125000,24.930000,24.100000,24.870001,24.870001,29919400
+2004-01-13,24.865000,25.205000,24.105000,24.400000,24.400000,28687400
+2004-01-14,24.690001,24.809999,23.844999,24.195000,24.195000,34347200
+2004-01-15,23.280001,24.400000,22.930000,24.045000,24.045000,54017800
+2004-01-16,24.230000,24.250000,23.549999,24.055000,24.055000,24108600
+2004-01-20,23.950001,24.000000,23.379999,23.830000,23.830000,21289000
+2004-01-21,23.620001,23.985001,23.455000,23.690001,23.690001,15065800
+2004-01-22,23.885000,24.105000,23.455000,23.590000,23.590000,14775000
+2004-01-23,23.620001,23.674999,23.375000,23.545000,23.545000,11179400
+2004-01-26,23.410000,24.115000,23.295000,24.080000,24.080000,15649000
+2004-01-27,24.035000,24.225000,23.500000,23.520000,23.520000,14656800
+2004-01-28,23.520000,23.650000,22.795000,23.094999,23.094999,16625200
+2004-01-29,23.270000,23.285000,22.125000,23.045000,23.045000,31658200
+2004-01-30,23.379999,23.570000,23.070000,23.490000,23.490000,16523400
+2004-02-02,23.549999,23.725000,22.985001,23.350000,23.350000,20970400
+2004-02-03,23.334999,23.340000,22.540001,22.745001,22.745001,20293400
+2004-02-04,22.410000,23.020000,22.400000,22.475000,22.475000,17276400
+2004-02-05,22.639999,23.350000,22.565001,23.049999,23.049999,18855400
+2004-02-06,23.110001,23.285000,22.940001,23.245001,23.245001,14507600
+2004-02-09,23.139999,23.625000,23.115000,23.459999,23.459999,11495600
+2004-02-10,23.379999,23.700001,23.280001,23.445000,23.445000,7743800
+2004-02-11,23.514999,23.969999,23.260000,23.934999,23.934999,15619200
+2004-02-12,23.785000,24.035000,23.615000,23.760000,23.760000,9577000
+2004-02-13,23.805000,23.934999,23.174999,23.200001,23.200001,14322400
+2004-02-17,23.389999,23.590000,23.025000,23.285000,23.285000,11648800
+2004-02-18,23.299999,23.370001,23.000000,23.045000,23.045000,10064000
+2004-02-19,23.209999,23.365000,23.000000,23.000000,23.000000,12007800
+2004-02-20,22.969999,23.500000,22.775000,23.254999,23.254999,16215000
+2004-02-23,23.219999,23.254999,22.240000,22.455000,22.455000,18639400
+2004-02-24,22.430000,22.430000,21.760000,21.879999,21.879999,22020200
+2004-02-25,22.195000,22.250000,21.415001,21.670000,21.670000,33120000
+2004-02-26,21.590000,21.910000,21.530001,21.775000,21.775000,27284200
+2004-02-27,21.725000,22.200001,21.705000,22.170000,22.170000,30877600
+2004-03-01,22.275000,22.440001,21.955000,22.040001,22.040001,26580200
+2004-03-02,22.059999,22.299999,21.490000,21.500000,21.500000,21491200
+2004-03-03,21.415001,21.785000,21.094999,21.680000,21.680000,20006400
+2004-03-04,21.730000,22.105000,21.674999,22.065001,22.065001,18474400
+2004-03-05,21.795000,22.389999,21.735001,22.200001,22.200001,20294600
+2004-03-08,22.165001,22.715000,21.850000,21.920000,21.920000,20297600
+2004-03-09,21.934999,22.139999,21.455000,21.674999,21.674999,20994200
+2004-03-10,21.665001,21.875000,20.754999,20.850000,20.850000,26451600
+2004-03-11,20.645000,21.280001,20.570000,20.825001,20.825001,28028800
+2004-03-12,20.940001,21.629999,20.860001,21.510000,21.510000,17305800
+2004-03-15,21.575001,21.684999,20.809999,20.875000,20.875000,14253200
+2004-03-16,21.045000,21.485001,21.000000,21.285000,21.285000,20002800
+2004-03-17,22.080000,22.525000,22.025000,22.424999,22.424999,32029200
+2004-03-18,22.395000,22.645000,22.180000,22.525000,22.525000,20207200
+2004-03-19,22.430000,23.344999,22.420000,22.875000,22.875000,28441000
+2004-03-22,22.500000,22.575001,21.879999,22.235001,22.235001,24057600
+2004-03-23,22.375000,22.420000,21.920000,22.040001,22.040001,18597400
+2004-03-24,22.135000,22.285000,21.745001,22.250000,22.250000,17418400
+2004-03-25,22.490000,23.495001,22.480000,23.469999,23.469999,23709000
+2004-03-26,23.375000,23.764999,23.365000,23.565001,23.565001,16950800
+2004-03-29,23.600000,23.950001,23.555000,23.844999,23.844999,17705600
+2004-03-30,23.799999,24.430000,23.775000,24.395000,24.395000,17370400
+2004-03-31,24.370001,24.650000,24.165001,24.235001,24.235001,21079800
+2004-04-01,24.410000,24.855000,24.209999,24.725000,24.725000,22423000
+2004-04-02,25.260000,25.315001,24.629999,25.075001,25.075001,22649600
+2004-04-05,25.030001,25.495001,24.650000,24.995001,24.995001,22794400
+2004-04-06,24.555000,24.650000,24.110001,24.385000,24.385000,23672800
+2004-04-07,24.225000,24.625000,23.945000,24.174999,24.174999,33223600
+2004-04-08,27.860001,28.120001,27.250000,28.105000,28.105000,90565800
+2004-04-12,27.889999,27.985001,27.434999,27.570000,27.570000,34690800
+2004-04-13,27.495001,27.540001,26.924999,27.070000,27.070000,26006600
+2004-04-14,26.834999,27.475000,26.715000,27.344999,27.344999,20407400
+2004-04-15,27.405001,27.434999,26.875000,26.950001,26.950001,17628400
+2004-04-16,26.965000,27.389999,26.674999,27.070000,27.070000,19200600
+2004-04-19,26.934999,27.920000,26.875000,27.844999,27.844999,19227800
+2004-04-20,27.934999,27.975000,26.750000,26.775000,26.775000,20080800
+2004-04-21,26.950001,27.379999,26.545000,27.290001,27.290001,20465200
+2004-04-22,27.389999,28.985001,27.254999,28.795000,28.795000,32878000
+2004-04-23,28.674999,28.750000,27.955000,28.375000,28.375000,19840200
+2004-04-26,28.225000,29.174999,27.975000,28.500000,28.500000,21909400
+2004-04-27,28.490000,29.125000,28.285000,28.770000,28.770000,20146600
+2004-04-28,28.885000,29.160000,27.875000,27.915001,27.915001,20569400
+2004-04-29,27.889999,28.200001,26.775000,27.355000,27.355000,29266400
+2004-04-30,27.205000,27.295000,25.010000,25.264999,25.264999,53096600
+2004-05-03,25.264999,26.200001,25.254999,26.150000,26.150000,29483200
+2004-05-04,26.170000,26.930000,26.125000,26.424999,26.424999,24891800
+2004-05-05,26.485001,26.959999,26.455000,26.580000,26.580000,15579000
+2004-05-06,26.600000,26.600000,25.815001,26.180000,26.180000,20360600
+2004-05-07,26.209999,26.870001,26.139999,26.400000,26.400000,22879000
+2004-05-10,26.195000,26.200001,25.334999,25.665001,25.665001,31360600
+2004-05-11,26.174999,27.000000,26.090000,26.764999,26.764999,34553400
+2004-05-12,26.809999,27.180000,25.760000,27.080000,27.080000,26108100
+2004-05-13,27.180000,28.100000,26.780001,27.100000,27.100000,19947800
+2004-05-14,27.540001,27.670000,26.750000,26.969999,26.969999,19204900
+2004-05-17,26.350000,27.660000,26.209999,27.020000,27.020000,13986900
+2004-05-18,27.490000,27.980000,27.309999,27.770000,27.770000,19084700
+2004-05-19,28.610001,28.900000,27.820000,27.950001,27.950001,25635100
+2004-05-20,28.120001,28.299999,27.510000,28.030001,28.030001,16537200
+2004-05-21,28.299999,28.850000,28.150000,28.549999,28.549999,15443000
+2004-05-24,28.840000,29.760000,28.840000,29.430000,29.430000,23701900
+2004-05-25,28.940001,30.500000,28.879999,30.280001,30.280001,25008100
+2004-05-26,29.780001,30.400000,29.770000,30.110001,30.110001,20933100
+2004-05-27,30.410000,30.799999,30.000000,30.559999,30.559999,18645100
+2004-05-28,30.410000,31.160000,30.299999,30.660000,30.660000,16671800
+2004-06-01,30.490000,32.820000,30.430000,32.480000,32.480000,28801700
+2004-06-02,32.450001,32.840000,31.490000,31.549999,31.549999,30055600
+2004-06-03,31.660000,31.809999,31.059999,31.190001,31.190001,18500900
+2004-06-04,31.879999,32.200001,31.450001,31.870001,31.870001,16267800
+2004-06-07,32.360001,32.520000,32.029999,32.509998,32.509998,17988200
+2004-06-08,32.320000,33.000000,32.279999,32.990002,32.990002,18337200
+2004-06-09,32.950001,33.009998,32.080002,32.320000,32.320000,16989900
+2004-06-10,32.730000,32.740002,31.860001,32.400002,32.400002,17537700
+2004-06-14,32.180000,32.240002,31.440001,31.650000,31.650000,11766900
+2004-06-15,31.990000,32.580002,31.969999,32.099998,32.099998,14796000
+2004-06-16,32.410000,32.770000,32.070000,32.470001,32.470001,11281800
+2004-06-17,32.389999,32.529999,31.959999,32.380001,32.380001,11658700
+2004-06-18,32.110001,32.869999,31.950001,32.070000,32.070000,15809400
+2004-06-21,32.200001,32.380001,31.559999,31.670000,31.670000,12367400
+2004-06-22,31.959999,32.549999,31.770000,32.540001,32.540001,15136600
+2004-06-23,32.540001,34.189999,32.520000,33.970001,33.970001,27370700
+2004-06-24,33.639999,34.380001,33.639999,34.110001,34.110001,15620000
+2004-06-25,34.369999,35.360001,33.500000,34.910000,34.910000,20260800
+2004-06-28,35.080002,36.270000,34.980000,35.480000,35.480000,24739200
+2004-06-29,35.380001,35.770000,35.080002,35.349998,35.349998,15009200
+2004-06-30,35.990002,36.509998,35.700001,36.400002,36.400002,21374100
+2004-07-01,35.139999,35.340000,34.110001,34.299999,34.299999,28525400
+2004-07-02,34.459999,34.540001,33.570000,33.939999,33.939999,16242300
+2004-07-06,34.000000,34.000000,32.299999,33.220001,33.220001,27496900
+2004-07-07,33.070000,33.139999,32.299999,32.599998,32.599998,35597600
+2004-07-08,29.420000,31.240000,28.990000,30.080000,30.080000,87532700
+2004-07-09,30.879999,30.980000,29.629999,30.110001,30.110001,26462600
+2004-07-12,29.660000,30.360001,29.530001,30.260000,30.260000,19661900
+2004-07-13,30.590000,30.799999,30.010000,30.340000,30.340000,19083300
+2004-07-14,29.740000,31.150000,29.299999,30.660000,30.660000,18758700
+2004-07-15,31.000000,31.010000,30.090000,30.250000,30.250000,13566000
+2004-07-16,30.719999,30.750000,29.150000,29.190001,29.190001,18654300
+2004-07-19,28.900000,29.000000,27.540001,28.110001,28.110001,32020300
+2004-07-20,28.200001,29.629999,28.160000,29.389999,29.389999,19513500
+2004-07-21,30.110001,30.150000,28.100000,28.129999,28.129999,19493300
+2004-07-22,27.820000,29.320000,27.510000,29.260000,29.260000,26079400
+2004-07-23,28.200001,28.969999,28.030001,28.190001,28.190001,15762300
+2004-07-26,28.450001,28.750000,27.580000,28.209999,28.209999,21484500
+2004-07-27,28.600000,30.219999,28.450001,30.000000,30.000000,25597200
+2004-07-28,29.790001,30.379999,28.860001,29.700001,29.700001,24592700
+2004-07-29,30.559999,30.799999,30.000000,30.490000,30.490000,18747300
+2004-07-30,30.250000,31.120001,30.190001,30.799999,30.799999,16265700
+2004-08-02,30.570000,30.610001,30.129999,30.420000,30.420000,12250800
+2004-08-03,30.410000,30.590000,28.980000,29.150000,29.150000,17729200
+2004-08-04,27.980000,28.230000,27.580000,27.910000,27.910000,30154500
+2004-08-05,28.459999,28.459999,26.700001,26.799999,26.799999,27642000
+2004-08-06,26.469999,26.700001,25.770000,26.020000,26.020000,30177200
+2004-08-09,26.290001,26.389999,25.520000,25.700001,25.700001,18997700
+2004-08-10,26.160000,27.240000,26.000000,27.150000,27.150000,24449700
+2004-08-11,26.400000,27.809999,26.240000,27.420000,27.420000,24805300
+2004-08-12,27.430000,27.930000,27.190001,27.549999,27.549999,18779300
+2004-08-13,27.830000,27.879999,26.900000,27.490000,27.490000,16278400
+2004-08-16,27.389999,28.770000,27.299999,28.250000,28.250000,15923600
+2004-08-17,28.629999,29.160000,28.170000,28.340000,28.340000,19609800
+2004-08-18,27.459999,28.540001,27.420000,28.480000,28.480000,22358300
+2004-08-19,28.340000,28.969999,27.900000,28.110001,28.110001,27657500
+2004-08-20,27.879999,28.830000,27.830000,28.610001,28.610001,17228700
+2004-08-23,29.100000,29.190001,28.559999,28.629999,28.629999,13024400
+2004-08-24,28.990000,29.080000,28.049999,28.410000,28.410000,16537400
+2004-08-25,28.360001,29.500000,28.209999,29.370001,29.370001,15518100
+2004-08-26,29.000000,29.490000,28.959999,29.170000,29.170000,9756000
+2004-08-27,29.430000,29.570000,29.190001,29.299999,29.299999,8327500
+2004-08-30,29.070000,29.070000,28.350000,28.459999,28.459999,12762700
+2004-08-31,28.480000,28.700001,28.080000,28.510000,28.510000,11381700
+2004-09-01,28.389999,29.040001,28.129999,29.010000,29.010000,16668100
+2004-09-02,28.700001,30.160000,28.660000,29.840000,29.840000,17247700
+2004-09-03,29.750000,30.309999,29.270000,29.459999,29.459999,12782700
+2004-09-07,29.870001,30.100000,29.270000,29.639999,29.639999,16331200
+2004-09-08,29.610001,30.469999,29.570000,30.379999,30.379999,18660200
+2004-09-09,30.200001,30.700001,29.830000,30.490000,30.490000,16353800
+2004-09-10,30.240000,31.120001,30.209999,31.080000,31.080000,11312500
+2004-09-13,31.010000,31.990000,31.010000,31.870001,31.870001,17476400
+2004-09-14,31.620001,33.549999,31.440001,33.200001,33.200001,28245600
+2004-09-15,32.700001,33.400002,32.410000,32.900002,32.900002,16915900
+2004-09-16,32.889999,33.939999,32.520000,32.790001,32.790001,23336100
+2004-09-17,33.000000,33.500000,32.660000,33.459999,33.459999,15049000
+2004-09-20,32.849998,34.040001,32.849998,33.259998,33.259998,18702200
+2004-09-21,33.349998,33.480000,32.799999,33.259998,33.259998,17063500
+2004-09-22,32.810001,33.750000,32.380001,32.470001,32.470001,22239800
+2004-09-23,32.709999,33.330002,32.330002,33.040001,33.040001,15695100
+2004-09-24,33.189999,33.250000,32.560001,32.580002,32.580002,11285600
+2004-09-27,32.540001,32.720001,31.650000,31.820000,31.820000,15218800
+2004-09-28,32.270000,33.000000,31.670000,32.799999,32.799999,18218200
+2004-09-29,32.779999,34.150002,32.770000,34.000000,34.000000,30183700
+2004-09-30,33.590000,34.490002,33.560001,33.910000,33.910000,25706900
+2004-10-01,34.349998,35.139999,34.119999,35.029999,35.029999,22100300
+2004-10-04,35.049999,35.450001,34.730000,34.910000,34.910000,21264100
+2004-10-05,34.520000,35.000000,34.430000,34.959999,34.959999,14934400
+2004-10-06,34.720001,35.150002,34.509998,34.959999,34.959999,17118000
+2004-10-07,34.880001,35.490002,34.720001,34.779999,34.779999,16233700
+2004-10-08,34.480000,35.000000,34.099998,34.169998,34.169998,16152700
+2004-10-11,34.400002,34.549999,33.650002,34.020000,34.020000,12664400
+2004-10-12,33.709999,34.480000,33.599998,34.230000,34.230000,31284000
+2004-10-13,35.950001,36.279999,34.840000,34.959999,34.959999,49492300
+2004-10-14,34.980000,35.150002,34.220001,34.959999,34.959999,22861600
+2004-10-15,34.889999,35.029999,34.410000,34.520000,34.520000,19657500
+2004-10-18,34.320000,35.400002,34.110001,35.299999,35.299999,19801400
+2004-10-19,35.439999,35.689999,34.529999,34.639999,34.639999,22291600
+2004-10-20,34.380001,34.570000,34.000000,34.490002,34.490002,15943900
+2004-10-21,35.400002,35.930000,34.900002,35.700001,35.700001,27937000
+2004-10-22,36.570000,36.750000,34.930000,34.959999,34.959999,35643200
+2004-10-25,34.830002,35.240002,34.500000,35.200001,35.200001,17718300
+2004-10-26,35.119999,35.389999,34.750000,35.090000,35.090000,15698700
+2004-10-27,34.900002,36.520000,34.849998,36.180000,36.180000,20968100
+2004-10-28,35.820000,36.500000,35.820000,36.450001,36.450001,13245200
+2004-10-29,36.080002,36.720001,35.860001,36.189999,36.189999,13432500
+2004-11-01,35.910000,37.000000,35.860001,36.919998,36.919998,16436900
+2004-11-02,37.029999,38.150002,36.889999,37.740002,37.740002,22925400
+2004-11-03,39.200001,39.250000,37.540001,37.970001,37.970001,25377500
+2004-11-04,37.570000,37.950001,36.750000,37.660000,37.660000,19812300
+2004-11-05,37.680000,37.849998,35.759998,36.349998,36.349998,25428100
+2004-11-08,36.790001,37.320000,36.709999,37.139999,37.139999,15368500
+2004-11-09,37.240002,37.630001,36.860001,37.029999,37.029999,14937800
+2004-11-10,36.849998,37.189999,36.369999,36.660000,36.660000,14160400
+2004-11-11,36.900002,37.820000,36.459999,37.790001,37.790001,16640100
+2004-11-12,37.869999,38.299999,37.529999,37.799999,37.799999,16545200
+2004-11-15,37.770000,38.000000,37.310001,37.630001,37.630001,13108100
+2004-11-16,37.290001,37.410000,36.560001,36.740002,36.740002,15160100
+2004-11-17,36.950001,37.369999,36.480000,36.950001,36.950001,15189100
+2004-11-18,37.430000,37.779999,37.099998,37.189999,37.189999,15401000
+2004-11-19,37.240002,37.410000,35.900002,36.150002,36.150002,15936600
+2004-11-22,35.990002,36.500000,35.349998,36.450001,36.450001,17256100
+2004-11-23,36.700001,37.049999,36.099998,36.400002,36.400002,14691000
+2004-11-24,37.150002,37.639999,36.660000,37.610001,37.610001,16495200
+2004-11-26,37.830002,38.150002,37.570000,37.810001,37.810001,6230900
+2004-11-29,38.090000,38.240002,37.500000,38.119999,38.119999,13895100
+2004-11-30,37.919998,38.189999,37.520000,37.619999,37.619999,10965100
+2004-12-01,37.900002,38.029999,37.349998,38.000000,38.000000,13204800
+2004-12-02,37.959999,39.400002,37.889999,39.139999,39.139999,22437500
+2004-12-03,39.139999,39.790001,38.709999,39.020000,39.020000,15890900
+2004-12-06,38.709999,39.000000,38.509998,38.840000,38.840000,12007500
+2004-12-07,38.750000,38.930000,37.000000,37.080002,37.080002,17718900
+2004-12-08,37.349998,37.439999,36.779999,37.049999,37.049999,14006800
+2004-12-09,36.830002,38.639999,36.820000,38.310001,38.310001,18900700
+2004-12-10,38.020000,38.580002,37.930000,38.020000,38.020000,10019700
+2004-12-13,38.259998,38.320000,37.549999,38.090000,38.090000,10266600
+2004-12-14,37.980000,38.470001,37.820000,38.259998,38.259998,10088500
+2004-12-15,38.130001,38.590000,37.950001,38.290001,38.290001,9710500
+2004-12-16,38.330002,38.360001,36.900002,37.080002,37.080002,18292300
+2004-12-17,36.770000,37.540001,36.610001,36.770000,36.770000,13640900
+2004-12-20,36.889999,37.529999,36.209999,36.660000,36.660000,18330400
+2004-12-21,36.980000,37.160000,36.240002,36.660000,36.660000,12393500
+2004-12-22,36.470001,37.349998,36.410000,37.290001,37.290001,11297700
+2004-12-23,37.430000,37.500000,37.209999,37.250000,37.250000,6045500
+2004-12-27,37.450001,38.000000,37.400002,37.740002,37.740002,11095800
+2004-12-28,37.849998,37.990002,37.650002,37.900002,37.900002,11291000
+2004-12-29,37.830002,38.400002,37.750000,37.849998,37.849998,10160200
+2004-12-30,38.029999,38.209999,37.820000,37.869999,37.869999,6955700
+2004-12-31,38.040001,38.200001,37.500000,37.680000,37.680000,7556600
+2005-01-03,38.360001,38.900002,37.650002,38.180000,38.180000,25482800
+2005-01-04,38.450001,38.540001,36.459999,36.580002,36.580002,26625300
+2005-01-05,36.689999,36.980000,36.060001,36.130001,36.130001,18469100
+2005-01-06,36.320000,36.500000,35.209999,35.430000,35.430000,20835300
+2005-01-07,35.990002,36.459999,35.410000,35.959999,35.959999,18596300
+2005-01-10,36.000000,36.759998,35.509998,36.320000,36.320000,17482800
+2005-01-11,36.310001,36.580002,35.389999,35.660000,35.660000,19711900
+2005-01-12,35.880001,36.180000,34.799999,36.139999,36.139999,23274700
+2005-01-13,36.119999,36.320000,35.259998,35.330002,35.330002,18526500
+2005-01-14,35.860001,36.700001,35.830002,36.700001,36.700001,27697700
+2005-01-18,37.099998,37.459999,36.599998,37.180000,37.180000,42709600
+2005-01-19,38.080002,38.200001,36.419998,36.450001,36.450001,44303200
+2005-01-20,35.389999,36.419998,35.049999,35.779999,35.779999,30239100
+2005-01-21,36.070000,36.110001,35.290001,35.299999,35.299999,26608000
+2005-01-24,35.480000,35.520000,33.750000,33.930000,33.930000,31477400
+2005-01-25,34.549999,34.759998,33.939999,34.040001,34.040001,26521400
+2005-01-26,34.709999,35.740002,34.389999,35.470001,35.470001,25767500
+2005-01-27,35.380001,35.490002,34.349998,34.730000,34.730000,21450800
+2005-01-28,34.900002,35.240002,34.119999,34.619999,34.619999,17853700
+2005-01-31,35.040001,35.439999,34.529999,35.209999,35.209999,20712200
+2005-02-01,35.130001,35.279999,34.459999,34.750000,34.750000,18633600
+2005-02-02,36.020000,36.340000,35.290001,35.540001,35.540001,33495200
+2005-02-03,35.270000,35.669998,35.000000,35.090000,35.090000,16742400
+2005-02-04,34.709999,35.299999,34.709999,35.020000,35.020000,16850200
+2005-02-07,35.070000,35.189999,34.360001,34.470001,34.470001,14588900
+2005-02-08,34.639999,34.910000,34.320000,34.360001,34.360001,17321500
+2005-02-09,34.599998,34.660000,33.450001,33.590000,33.590000,18285100
+2005-02-10,33.720001,33.720001,32.470001,33.439999,33.439999,32637400
+2005-02-11,33.450001,34.700001,33.310001,34.150002,34.150002,20005800
+2005-02-14,34.009998,34.410000,33.779999,34.330002,34.330002,20065300
+2005-02-15,34.340000,34.919998,33.810001,33.980000,33.980000,20391900
+2005-02-16,33.810001,34.820000,33.750000,34.419998,34.419998,22176200
+2005-02-17,34.419998,34.790001,33.759998,33.820000,33.820000,16203500
+2005-02-18,33.840000,33.980000,33.380001,33.599998,33.599998,12436100
+2005-02-22,33.250000,33.820000,32.660000,32.790001,32.790001,18142600
+2005-02-23,32.820000,32.919998,31.400000,32.119999,32.119999,34757100
+2005-02-24,30.430000,31.490000,30.299999,31.480000,31.480000,55457300
+2005-02-25,31.530001,31.959999,31.430000,31.730000,31.730000,20114900
+2005-02-28,31.740000,33.770000,31.620001,32.270000,32.270000,25266400
+2005-03-01,32.369999,32.669998,32.049999,32.299999,32.299999,20222500
+2005-03-02,32.070000,32.599998,31.750000,32.230000,32.230000,15357200
+2005-03-03,32.250000,32.480000,31.799999,32.310001,32.310001,17896100
+2005-03-04,32.360001,32.570000,31.760000,32.360001,32.360001,17499800
+2005-03-07,32.400002,33.310001,32.360001,33.090000,33.090000,17679200
+2005-03-08,33.549999,33.730000,33.139999,33.160000,33.160000,17839300
+2005-03-09,33.009998,33.150002,32.009998,32.320000,32.320000,21824400
+2005-03-10,32.430000,32.560001,31.600000,31.910000,31.910000,19381200
+2005-03-11,31.860001,32.209999,31.650000,31.650000,31.650000,13364800
+2005-03-14,31.740000,31.830000,30.650000,31.320000,31.320000,19762000
+2005-03-15,31.610001,32.279999,31.530001,31.940001,31.940001,20880800
+2005-03-16,31.870001,32.349998,31.400000,31.580000,31.580000,17952000
+2005-03-17,31.799999,31.980000,31.540001,31.610001,31.610001,13760200
+2005-03-18,31.530001,31.730000,30.910000,31.110001,31.110001,20796400
+2005-03-21,31.290001,31.770000,30.980000,31.620001,31.620001,18449400
+2005-03-22,31.700001,31.980000,30.860001,30.990000,30.990000,19570600
+2005-03-23,30.910000,31.330000,30.850000,30.870001,30.870001,13917100
+2005-03-24,31.940001,32.090000,31.410000,31.410000,31.410000,23162000
+2005-03-28,32.209999,32.500000,32.099998,32.250000,32.250000,20624400
+2005-03-29,32.180000,32.840000,31.790001,32.160000,32.160000,23544700
+2005-03-30,32.310001,33.599998,32.270000,33.480000,33.480000,28267900
+2005-03-31,33.549999,34.200001,33.200001,33.900002,33.900002,25390000
+2005-04-01,34.180000,34.770000,34.150002,34.279999,34.279999,27955400
+2005-04-04,34.340000,35.270000,33.750000,35.070000,35.070000,27853300
+2005-04-05,35.150002,35.400002,34.840000,35.150002,35.150002,20275900
+2005-04-06,35.139999,35.419998,34.119999,34.490002,34.490002,23574000
+2005-04-07,34.450001,35.250000,34.450001,35.070000,35.070000,20575000
+2005-04-08,35.040001,35.139999,34.650002,34.759998,34.759998,11106300
+2005-04-11,34.970001,35.090000,34.540001,34.599998,34.599998,11758500
+2005-04-12,34.349998,34.500000,33.740002,34.279999,34.279999,22681900
+2005-04-13,34.160000,34.459999,33.400002,33.599998,33.599998,16886100
+2005-04-14,33.630001,34.200001,33.400002,33.459999,33.459999,19855300
+2005-04-15,32.959999,33.410000,32.290001,32.459999,32.459999,27008500
+2005-04-18,32.430000,33.090000,32.400002,32.549999,32.549999,19201200
+2005-04-19,32.959999,33.330002,32.419998,33.220001,33.220001,34158500
+2005-04-20,34.959999,35.250000,34.360001,34.650002,34.650002,50104400
+2005-04-21,35.119999,35.910000,34.709999,35.869999,35.869999,27731600
+2005-04-22,35.209999,35.880001,34.500000,34.869999,34.869999,31869800
+2005-04-25,34.580002,35.590000,34.580002,35.490002,35.490002,23883600
+2005-04-26,35.119999,35.419998,34.799999,35.000000,35.000000,17921200
+2005-04-27,34.700001,35.139999,34.590000,34.950001,34.950001,14861300
+2005-04-28,34.700001,34.930000,34.020000,34.330002,34.330002,16159300
+2005-04-29,34.599998,34.750000,33.919998,34.500000,34.500000,15666100
+2005-05-02,34.439999,34.849998,34.029999,34.380001,34.380001,13231500
+2005-05-03,34.049999,34.599998,33.900002,34.279999,34.279999,22042800
+2005-05-04,34.430000,35.500000,34.380001,35.180000,35.180000,23410900
+2005-05-05,35.099998,35.290001,34.430000,34.709999,34.709999,16926300
+2005-05-06,35.000000,35.080002,34.450001,34.520000,34.520000,14202200
+2005-05-09,34.480000,34.650002,34.250000,34.590000,34.590000,9991700
+2005-05-10,34.299999,34.369999,33.860001,34.060001,34.060001,13227000
+2005-05-11,34.090000,34.880001,33.689999,34.880001,34.880001,19537100
+2005-05-12,34.950001,35.369999,34.540001,34.709999,34.709999,18906700
+2005-05-13,34.709999,35.349998,34.349998,34.820000,34.820000,15855900
+2005-05-16,34.779999,35.500000,34.740002,35.450001,35.450001,15473900
+2005-05-17,35.200001,35.799999,35.139999,35.680000,35.680000,13178400
+2005-05-18,35.790001,36.580002,35.689999,35.950001,35.950001,23769000
+2005-05-19,36.130001,36.990002,36.110001,36.750000,36.750000,21267100
+2005-05-20,36.599998,36.639999,36.130001,36.330002,36.330002,13771900
+2005-05-23,36.099998,37.099998,36.040001,36.799999,36.799999,21616200
+2005-05-24,36.869999,37.099998,36.450001,36.630001,36.630001,17421300
+2005-05-25,36.250000,36.419998,36.060001,36.270000,36.270000,14995100
+2005-05-26,36.450001,37.189999,36.349998,37.139999,37.139999,15547700
+2005-05-27,36.980000,37.470001,36.950001,37.270000,37.270000,10256600
+2005-05-31,37.029999,37.349998,36.849998,37.200001,37.200001,12498300
+2005-06-01,37.310001,38.900002,37.169998,38.419998,38.419998,28153800
+2005-06-02,38.200001,38.709999,38.130001,38.500000,38.500000,13150700
+2005-06-03,38.240002,38.790001,37.599998,37.919998,37.919998,12813300
+2005-06-06,37.790001,38.740002,37.750000,38.520000,38.520000,12416000
+2005-06-07,38.720001,38.950001,37.320000,37.439999,37.439999,22848300
+2005-06-08,37.419998,37.450001,36.320000,36.630001,36.630001,20121100
+2005-06-09,36.810001,37.480000,36.380001,37.450001,37.450001,18455100
+2005-06-10,37.480000,37.500000,36.320000,36.810001,36.810001,14216900
+2005-06-13,36.660000,37.509998,36.529999,36.900002,36.900002,11586300
+2005-06-14,36.560001,37.049999,36.430000,36.799999,36.799999,12781200
+2005-06-15,36.970001,37.110001,35.910000,36.320000,36.320000,22753900
+2005-06-16,36.459999,36.740002,36.220001,36.400002,36.400002,12228700
+2005-06-17,36.759998,36.980000,36.119999,36.299999,36.299999,15952800
+2005-06-20,35.959999,36.840000,35.790001,36.450001,36.450001,12753200
+2005-06-21,36.369999,37.310001,36.360001,36.950001,36.950001,16219200
+2005-06-22,36.910000,37.320000,36.840000,36.900002,36.900002,12148100
+2005-06-23,36.849998,37.310001,36.200001,36.200001,36.200001,15547700
+2005-06-24,36.259998,36.400002,35.599998,36.090000,36.090000,13468200
+2005-06-27,35.880001,36.110001,35.200001,35.680000,35.680000,12044700
+2005-06-28,35.950001,36.240002,35.509998,35.799999,35.799999,13346200
+2005-06-29,35.799999,35.939999,34.880001,34.939999,34.939999,16481900
+2005-06-30,34.840000,35.169998,34.439999,34.650002,34.650002,16699500
+2005-07-01,34.759998,34.849998,34.220001,34.439999,34.439999,9861600
+2005-07-05,34.250000,35.080002,34.200001,34.599998,34.599998,16086700
+2005-07-06,34.639999,34.970001,34.029999,34.119999,34.119999,13585700
+2005-07-07,33.869999,34.770000,33.720001,34.630001,34.630001,16354300
+2005-07-08,34.770000,34.869999,34.250000,34.619999,34.619999,15515400
+2005-07-11,34.900002,35.810001,34.779999,35.759998,35.759998,20233000
+2005-07-12,36.200001,36.490002,35.939999,36.230000,36.230000,19665800
+2005-07-13,36.419998,36.980000,36.410000,36.730000,36.730000,16897500
+2005-07-14,37.400002,37.500000,36.770000,36.860001,36.860001,14722200
+2005-07-15,37.049999,37.160000,36.500000,36.580002,36.580002,12372200
+2005-07-18,36.450001,36.779999,36.369999,36.580002,36.580002,11019300
+2005-07-19,37.020000,38.020000,36.560001,37.730000,37.730000,32685500
+2005-07-20,34.209999,34.349998,33.310001,33.400002,33.400002,82623300
+2005-07-21,33.750000,33.759998,32.750000,32.939999,32.939999,37778500
+2005-07-22,33.349998,33.770000,33.169998,33.529999,33.529999,27561500
+2005-07-25,33.880001,34.080002,33.590000,33.849998,33.849998,23252600
+2005-07-26,34.049999,34.299999,33.910000,34.150002,34.150002,16819200
+2005-07-27,34.220001,34.369999,33.950001,34.290001,34.290001,20497500
+2005-07-28,34.230000,34.310001,33.980000,34.009998,34.009998,11871600
+2005-07-29,34.009998,34.060001,33.340000,33.340000,33.340000,16236100
+2005-08-01,33.630001,33.689999,33.310001,33.330002,33.330002,12637100
+2005-08-02,33.459999,34.200001,33.389999,33.880001,33.880001,17581900
+2005-08-03,33.750000,34.680000,33.730000,34.509998,34.509998,18240600
+2005-08-04,34.259998,34.599998,34.000000,34.060001,34.060001,11143400
+2005-08-05,34.090000,34.279999,33.490002,33.520000,33.520000,11873800
+2005-08-08,33.860001,34.180000,33.660000,33.939999,33.939999,13066200
+2005-08-09,34.150002,34.320000,33.910000,34.060001,34.060001,9987400
+2005-08-10,34.279999,34.770000,34.000000,34.189999,34.189999,18047900
+2005-08-11,34.540001,35.000000,34.320000,34.939999,34.939999,22391900
+2005-08-12,34.860001,34.880001,34.450001,34.599998,34.599998,13306100
+2005-08-15,34.799999,34.869999,34.490002,34.599998,34.599998,11244500
+2005-08-16,34.570000,34.660000,34.209999,34.230000,34.230000,11867100
+2005-08-17,34.299999,34.730000,34.230000,34.389999,34.389999,10443700
+2005-08-18,34.130001,34.730000,34.119999,34.360001,34.360001,12154200
+2005-08-19,34.389999,34.470001,33.980000,34.000000,34.000000,12810400
+2005-08-22,34.070000,34.099998,33.070000,33.200001,33.200001,21054400
+2005-08-23,33.290001,33.330002,32.650002,33.110001,33.110001,16912700
+2005-08-24,32.919998,33.680000,32.880001,33.470001,33.470001,23249500
+2005-08-25,33.540001,33.619999,33.200001,33.480000,33.480000,12564900
+2005-08-26,33.509998,33.810001,33.380001,33.570000,33.570000,9833400
+2005-08-29,33.400002,33.779999,33.310001,33.680000,33.680000,11427600
+2005-08-30,33.500000,33.669998,33.000000,33.180000,33.180000,13496000
+2005-08-31,33.230000,33.389999,32.990002,33.320000,33.320000,13035500
+2005-09-01,33.279999,33.509998,33.040001,33.240002,33.240002,11848500
+2005-09-02,33.200001,33.369999,33.099998,33.169998,33.169998,6849000
+2005-09-06,33.180000,33.779999,33.180000,33.680000,33.680000,12513300
+2005-09-07,33.500000,34.259998,33.299999,34.060001,34.060001,12545300
+2005-09-08,33.740002,33.930000,33.200001,33.340000,33.340000,17464400
+2005-09-09,33.349998,33.599998,33.020000,33.459999,33.459999,15247900
+2005-09-12,33.419998,34.340000,33.410000,33.910000,33.910000,18580300
+2005-09-13,33.930000,34.709999,33.730000,34.299999,34.299999,19346600
+2005-09-14,34.299999,34.500000,33.639999,33.799999,33.799999,15017400
+2005-09-15,33.950001,33.990002,33.500000,33.570000,33.570000,10404800
+2005-09-16,33.740002,33.770000,33.049999,33.169998,33.169998,20858300
+2005-09-19,33.270000,33.470001,32.250000,32.750000,32.750000,15429900
+2005-09-20,32.880001,33.110001,32.360001,32.639999,32.639999,14578900
+2005-09-21,32.529999,33.099998,31.600000,31.969999,31.969999,21896000
+2005-09-22,32.090000,32.410000,31.760000,32.040001,32.040001,18259400
+2005-09-23,32.119999,32.250000,31.750000,32.130001,32.130001,14903700
+2005-09-26,32.480000,32.549999,31.990000,32.180000,32.180000,13548200
+2005-09-27,32.169998,32.610001,32.169998,32.480000,32.480000,12246900
+2005-09-28,32.669998,32.799999,32.270000,32.349998,32.349998,11622800
+2005-09-29,32.400002,33.700001,32.119999,33.459999,33.459999,22209100
+2005-09-30,33.590000,34.099998,33.560001,33.840000,33.840000,15697000
+2005-10-03,33.799999,34.119999,33.709999,33.770000,33.770000,13184500
+2005-10-04,33.750000,34.369999,33.509998,33.570000,33.570000,14331000
+2005-10-05,33.790001,33.930000,33.360001,33.490002,33.490002,14642000
+2005-10-06,33.950001,34.299999,33.540001,33.799999,33.799999,21836100
+2005-10-07,34.029999,34.290001,33.970001,34.160000,34.160000,12253200
+2005-10-10,34.200001,34.900002,34.119999,34.529999,34.529999,15227800
+2005-10-11,34.549999,34.840000,33.660000,34.099998,34.099998,16504700
+2005-10-12,33.990002,34.709999,33.910000,33.930000,33.930000,16089600
+2005-10-13,33.799999,33.849998,32.970001,33.369999,33.369999,16254600
+2005-10-14,33.619999,33.619999,32.770000,33.520000,33.520000,17425200
+2005-10-17,33.849998,34.299999,33.799999,34.160000,34.160000,21994600
+2005-10-18,34.400002,34.759998,33.639999,33.700001,33.700001,35010300
+2005-10-19,34.619999,35.939999,34.590000,35.910000,35.910000,63254000
+2005-10-20,35.900002,36.939999,35.049999,35.259998,35.259998,29267000
+2005-10-21,35.990002,36.330002,35.189999,35.290001,35.290001,28423400
+2005-10-24,35.299999,35.490002,34.939999,35.279999,35.279999,19591900
+2005-10-25,35.189999,35.380001,34.889999,35.119999,35.119999,14441100
+2005-10-26,35.060001,35.750000,34.970001,35.459999,35.459999,17125600
+2005-10-27,35.340000,35.660000,35.299999,35.450001,35.450001,11605000
+2005-10-28,35.619999,35.919998,35.250000,35.580002,35.580002,14123800
+2005-10-31,35.599998,37.270000,35.599998,36.970001,36.970001,24867100
+2005-11-01,36.619999,38.709999,36.590000,37.720001,37.720001,41932100
+2005-11-02,37.490002,38.040001,37.430000,37.990002,37.990002,17886200
+2005-11-03,38.259998,38.279999,37.330002,37.450001,37.450001,16880800
+2005-11-04,37.590000,37.990002,37.369999,37.869999,37.869999,11656100
+2005-11-07,37.689999,38.180000,37.410000,37.900002,37.900002,11652700
+2005-11-08,37.750000,38.500000,37.599998,37.970001,37.970001,14434400
+2005-11-09,37.759998,38.040001,37.430000,37.750000,37.750000,12217600
+2005-11-10,37.520000,38.750000,37.520000,38.689999,38.689999,13722400
+2005-11-11,38.689999,39.049999,38.340000,38.490002,38.490002,12234400
+2005-11-14,38.430000,38.720001,37.959999,38.450001,38.450001,10112500
+2005-11-15,38.259998,38.610001,37.540001,37.650002,37.650002,11981600
+2005-11-16,37.900002,40.070000,37.860001,40.040001,40.040001,39464600
+2005-11-17,40.320000,42.500000,40.029999,42.230000,42.230000,44796000
+2005-11-18,42.040001,42.410000,41.290001,41.540001,41.540001,30747600
+2005-11-21,41.259998,42.980000,41.209999,42.270000,42.270000,27915500
+2005-11-22,41.730000,42.650002,41.650002,42.360001,42.360001,26389500
+2005-11-23,42.209999,43.450001,42.169998,42.500000,42.500000,21471000
+2005-11-25,42.709999,42.840000,41.939999,42.130001,42.130001,8253000
+2005-11-28,41.630001,41.770000,40.660000,41.110001,41.110001,23190900
+2005-11-29,41.009998,41.590000,39.820000,40.189999,40.189999,28698200
+2005-11-30,39.380001,40.840000,39.090000,40.230000,40.230000,31608700
+2005-12-01,40.740002,41.250000,40.540001,41.070000,41.070000,20069600
+2005-12-02,41.220001,41.849998,40.889999,41.209999,41.209999,14411400
+2005-12-05,40.880001,41.029999,40.369999,40.470001,40.470001,15389400
+2005-12-06,40.779999,41.180000,40.119999,40.189999,40.189999,16356800
+2005-12-07,40.310001,40.630001,39.570000,40.110001,40.110001,15644900
+2005-12-08,40.250000,40.540001,39.950001,40.349998,40.349998,12851600
+2005-12-09,40.500000,40.869999,40.200001,40.310001,40.310001,11116900
+2005-12-12,40.410000,40.540001,39.810001,40.080002,40.080002,9776300
+2005-12-13,40.009998,41.400002,40.000000,41.200001,41.200001,17264700
+2005-12-14,41.119999,41.680000,40.840000,41.299999,41.299999,23034200
+2005-12-15,41.230000,41.840000,41.139999,41.750000,41.750000,20900800
+2005-12-16,41.860001,42.669998,41.750000,42.320000,42.320000,21805000
+2005-12-19,42.160000,42.889999,40.880001,41.049999,41.049999,18563700
+2005-12-20,41.259998,41.360001,40.480000,40.680000,40.680000,15269500
+2005-12-21,40.520000,41.049999,40.349998,40.470001,40.470001,11626900
+2005-12-22,40.689999,41.680000,40.549999,40.830002,40.830002,9548300
+2005-12-23,41.090000,41.099998,40.450001,40.630001,40.630001,5070200
+2005-12-27,40.650002,40.939999,39.849998,39.939999,39.939999,11672900
+2005-12-28,40.099998,40.480000,39.770000,40.250000,40.250000,11567900
+2005-12-29,40.250000,40.349998,39.410000,39.560001,39.560001,10116600
+2005-12-30,39.400002,39.560001,39.049999,39.180000,39.180000,12233000
diff --git a/backtrader/source/datas/yhoo-2014.txt b/backtrader/source/datas/yhoo-2014.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fe6c297aa56828a8df47d2a3a90088cb46379c66
--- /dev/null
+++ b/backtrader/source/datas/yhoo-2014.txt
@@ -0,0 +1,253 @@
+Date,Open,High,Low,Close,Adj Close,Volume
+2014-01-02,40.369999,40.490002,39.310001,39.590000,39.590000,21504200
+2014-01-03,40.160000,40.439999,39.820000,40.119999,40.119999,15755200
+2014-01-06,40.049999,40.320000,39.750000,39.930000,39.930000,12467500
+2014-01-07,40.080002,41.200001,40.080002,40.919998,40.919998,14100000
+2014-01-08,41.290001,41.720001,41.020000,41.020000,41.020000,18638200
+2014-01-09,41.330002,41.349998,40.610001,40.919998,40.919998,12897300
+2014-01-10,40.950001,41.349998,40.820000,41.230000,41.230000,8721700
+2014-01-13,41.160000,41.220001,39.799999,39.990002,39.990002,16047200
+2014-01-14,40.209999,41.139999,40.040001,41.139999,41.139999,14473900
+2014-01-15,41.060001,41.310001,40.759998,41.070000,41.070000,9475500
+2014-01-16,40.430000,40.750000,40.110001,40.340000,40.340000,16348200
+2014-01-17,40.119999,40.439999,39.470001,40.009998,40.009998,19262500
+2014-01-21,39.980000,40.049999,38.860001,39.520000,39.520000,21436400
+2014-01-22,39.660000,40.400002,39.320000,40.180000,40.180000,12994600
+2014-01-23,39.310001,39.770000,39.139999,39.389999,39.389999,15384300
+2014-01-24,38.669998,38.980000,37.619999,37.910000,37.910000,26309000
+2014-01-27,37.599998,37.939999,36.619999,36.650002,36.650002,26728000
+2014-01-28,36.830002,38.320000,36.520000,38.220001,38.220001,39765300
+2014-01-29,35.770000,36.310001,34.820000,34.889999,34.889999,67190500
+2014-01-30,34.889999,35.810001,34.450001,35.310001,35.310001,32244700
+2014-01-31,34.689999,36.330002,34.549999,36.009998,36.009998,30072400
+2014-02-03,35.939999,36.009998,34.660000,34.900002,34.900002,22195200
+2014-02-04,35.110001,35.860001,34.860001,35.660000,35.660000,21082500
+2014-02-05,35.599998,35.939999,34.990002,35.490002,35.490002,14022900
+2014-02-06,35.650002,36.750000,35.610001,36.240002,36.240002,14250000
+2014-02-07,36.650002,37.270000,36.240002,37.230000,37.230000,16178500
+2014-02-10,38.000000,38.130001,37.250000,37.759998,37.759998,17642900
+2014-02-11,38.150002,38.860001,38.090000,38.500000,38.500000,18348000
+2014-02-12,38.599998,38.910000,38.029999,38.110001,38.110001,14088500
+2014-02-13,37.919998,38.689999,37.790001,38.520000,38.520000,12088100
+2014-02-14,38.430000,38.450001,38.110001,38.230000,38.230000,9975800
+2014-02-18,38.310001,38.590000,38.090000,38.310001,38.310001,12096400
+2014-02-19,38.060001,38.330002,37.680000,37.810001,37.810001,15851900
+2014-02-20,37.830002,38.040001,37.299999,37.790001,37.790001,11155900
+2014-02-21,37.900002,37.959999,37.220001,37.290001,37.290001,12351900
+2014-02-24,37.230000,37.709999,36.820000,37.419998,37.419998,15738900
+2014-02-25,37.480000,37.580002,37.020000,37.259998,37.259998,9756900
+2014-02-26,37.349998,38.099998,37.340000,37.619999,37.619999,15778900
+2014-02-27,37.799999,38.480000,37.740002,38.470001,38.470001,15489400
+2014-02-28,38.549999,39.380001,38.220001,38.669998,38.669998,16957100
+2014-03-03,37.650002,38.660000,37.430000,38.250000,38.250000,14714700
+2014-03-04,38.759998,39.790001,38.680000,39.630001,39.630001,16139400
+2014-03-05,39.830002,40.150002,39.189999,39.500000,39.500000,12536800
+2014-03-06,39.599998,39.980000,39.500000,39.660000,39.660000,10626700
+2014-03-07,39.709999,39.910000,38.450001,38.700001,38.700001,14455500
+2014-03-10,38.630001,38.779999,37.910000,38.049999,38.049999,11819200
+2014-03-11,38.250000,38.299999,37.430000,37.560001,37.560001,12592300
+2014-03-12,37.209999,37.610001,36.480000,37.500000,37.500000,14794700
+2014-03-13,38.049999,38.419998,36.810001,37.230000,37.230000,21179700
+2014-03-14,36.689999,38.189999,36.450001,37.599998,37.599998,30862300
+2014-03-17,39.000000,39.360001,38.610001,39.110001,39.110001,29698300
+2014-03-18,39.000000,39.509998,38.799999,39.450001,39.450001,16934700
+2014-03-19,39.660000,39.939999,38.509998,38.610001,38.610001,19324600
+2014-03-20,38.369999,38.470001,37.419998,37.770000,37.770000,19517000
+2014-03-21,38.099998,38.270000,37.730000,37.939999,37.939999,16044200
+2014-03-24,38.000000,38.040001,36.279999,36.680000,36.680000,29589000
+2014-03-25,37.000000,37.070000,35.860001,35.930000,35.930000,31715100
+2014-03-26,36.240002,36.740002,35.450001,35.450001,35.450001,20938800
+2014-03-27,35.500000,36.150002,35.049999,35.590000,35.590000,21929600
+2014-03-28,35.770000,36.730000,35.529999,35.900002,35.900002,18292900
+2014-03-31,36.459999,36.580002,35.730000,35.900002,35.900002,15153200
+2014-04-01,36.160000,36.860001,36.150002,36.490002,36.490002,15734000
+2014-04-02,36.680000,36.860001,36.560001,36.639999,36.639999,14522800
+2014-04-03,36.660000,36.790001,35.509998,35.759998,35.759998,16827800
+2014-04-04,36.009998,36.049999,33.830002,34.259998,34.259998,41049900
+2014-04-07,34.110001,34.369999,32.529999,33.070000,33.070000,47770200
+2014-04-08,33.099998,34.430000,33.020000,33.830002,33.830002,35486100
+2014-04-09,34.189999,35.000000,33.950001,34.869999,34.869999,21651200
+2014-04-10,34.880001,34.980000,33.090000,33.400002,33.400002,34024900
+2014-04-11,32.639999,33.480000,32.150002,32.869999,32.869999,28040700
+2014-04-14,33.549999,34.040001,33.040001,33.450001,33.450001,26322600
+2014-04-15,33.930000,34.279999,32.639999,34.209999,34.209999,50600400
+2014-04-16,36.980000,37.299999,35.810001,36.349998,36.349998,61599100
+2014-04-17,36.290001,36.599998,35.549999,36.380001,36.380001,28932700
+2014-04-21,36.599998,36.650002,35.889999,36.400002,36.400002,16685400
+2014-04-22,36.709999,36.849998,36.110001,36.139999,36.139999,17915200
+2014-04-23,36.080002,36.189999,35.400002,35.439999,35.439999,19051700
+2014-04-24,35.820000,35.820000,34.770000,35.240002,35.240002,17242300
+2014-04-25,35.029999,35.099998,34.290001,34.480000,34.480000,19401600
+2014-04-28,34.669998,35.000000,33.650002,33.990002,33.990002,31019200
+2014-04-29,34.369999,35.889999,34.119999,35.830002,35.830002,28736000
+2014-04-30,35.889999,36.439999,35.250000,35.950001,35.950001,23341500
+2014-05-01,36.259998,36.689999,36.000000,36.509998,36.509998,19474700
+2014-05-02,36.590000,37.119999,36.209999,36.869999,36.869999,22454100
+2014-05-05,36.680000,37.049999,36.299999,36.910000,36.910000,13129100
+2014-05-06,36.939999,37.169998,36.480000,36.490002,36.490002,19156000
+2014-05-07,35.990002,35.990002,33.669998,34.070000,34.070000,66062700
+2014-05-08,33.880001,34.570000,33.610001,33.919998,33.919998,30407700
+2014-05-09,34.009998,34.099998,33.410000,33.759998,33.759998,20303400
+2014-05-12,33.990002,34.599998,33.869999,34.450001,34.450001,22520600
+2014-05-13,34.430000,34.689999,34.169998,34.400002,34.400002,12477100
+2014-05-14,34.480000,34.650002,33.980000,34.169998,34.169998,17039000
+2014-05-15,34.180000,34.189999,33.400002,33.799999,33.799999,18879800
+2014-05-16,33.660000,33.660000,33.099998,33.410000,33.410000,18847100
+2014-05-19,33.410000,33.990002,33.279999,33.889999,33.889999,14845700
+2014-05-20,33.990002,34.470001,33.669998,33.869999,33.869999,18596700
+2014-05-21,34.000000,34.389999,33.889999,34.360001,34.360001,13804500
+2014-05-22,34.599998,34.860001,34.259998,34.700001,34.700001,17522800
+2014-05-23,34.849998,35.080002,34.509998,35.020000,35.020000,16294400
+2014-05-27,35.000000,35.130001,34.730000,35.119999,35.119999,13057000
+2014-05-28,35.150002,35.169998,34.419998,34.779999,34.779999,16960500
+2014-05-29,34.900002,35.099998,34.669998,34.900002,34.900002,9780800
+2014-05-30,34.919998,34.930000,34.130001,34.650002,34.650002,13153000
+2014-06-02,34.689999,34.950001,34.279999,34.869999,34.869999,9178900
+2014-06-03,34.799999,34.970001,34.580002,34.650002,34.650002,6557500
+2014-06-04,34.480000,34.830002,34.259998,34.730000,34.730000,9434100
+2014-06-05,34.790001,34.990002,34.360001,34.939999,34.939999,11192800
+2014-06-06,35.060001,36.080002,35.049999,35.919998,35.919998,18707200
+2014-06-09,35.860001,36.320000,35.540001,36.040001,36.040001,14390000
+2014-06-10,35.869999,36.520000,35.860001,36.310001,36.310001,9179300
+2014-06-11,36.250000,36.840000,36.110001,36.630001,36.630001,13321500
+2014-06-12,36.500000,36.790001,36.340000,36.779999,36.779999,12466100
+2014-06-13,36.880001,37.060001,36.639999,36.939999,36.939999,12926300
+2014-06-16,35.000000,35.490002,34.770000,34.810001,34.810001,32432300
+2014-06-17,34.799999,34.939999,34.299999,34.430000,34.430000,24402900
+2014-06-18,34.669998,35.009998,34.259998,34.939999,34.939999,17836000
+2014-06-19,35.139999,35.200001,34.520000,34.680000,34.680000,16200000
+2014-06-20,34.810001,34.810001,33.970001,34.049999,34.049999,21605800
+2014-06-23,34.130001,34.220001,33.369999,33.639999,33.639999,26206400
+2014-06-24,33.790001,33.990002,33.349998,33.480000,33.480000,14589800
+2014-06-25,33.380001,33.650002,33.099998,33.250000,33.250000,18074400
+2014-06-26,33.250000,33.750000,33.020000,33.660000,33.660000,16010000
+2014-06-27,33.849998,34.549999,33.700001,34.250000,34.250000,25500600
+2014-06-30,34.930000,35.259998,34.849998,35.130001,35.130001,20450100
+2014-07-01,35.500000,35.700001,35.209999,35.349998,35.349998,18609600
+2014-07-02,35.619999,35.910000,35.400002,35.880001,35.880001,16533600
+2014-07-03,36.070000,36.150002,35.900002,36.139999,36.139999,8604900
+2014-07-07,36.150002,36.230000,35.480000,35.520000,35.520000,15716800
+2014-07-08,35.639999,35.660000,34.279999,34.529999,34.529999,23096900
+2014-07-09,34.680000,35.070000,34.680000,34.849998,34.849998,12626900
+2014-07-10,34.330002,34.970001,34.099998,34.930000,34.930000,18064800
+2014-07-11,34.950001,35.560001,34.779999,35.430000,35.430000,18379500
+2014-07-14,35.799999,35.950001,35.450001,35.700001,35.700001,18680500
+2014-07-15,35.720001,35.939999,35.200001,35.610001,35.610001,36316600
+2014-07-16,34.419998,34.450001,33.720001,33.790001,33.790001,56260600
+2014-07-17,33.820000,33.900002,32.980000,33.209999,33.209999,37535900
+2014-07-18,33.180000,33.349998,32.930000,33.330002,33.330002,21540900
+2014-07-21,33.349998,33.639999,33.160000,33.279999,33.279999,18431000
+2014-07-22,33.480000,33.840000,33.400002,33.599998,33.599998,18153600
+2014-07-23,33.779999,34.919998,33.680000,34.709999,34.709999,38622500
+2014-07-24,35.090000,36.549999,35.040001,36.169998,36.169998,47391000
+2014-07-25,36.000000,36.330002,35.750000,36.119999,36.119999,20143800
+2014-07-28,36.230000,36.230000,35.509998,35.900002,35.900002,14607200
+2014-07-29,35.910000,36.160000,35.669998,35.680000,35.680000,11570900
+2014-07-30,35.939999,36.990002,35.799999,36.599998,36.599998,29876700
+2014-07-31,36.259998,36.490002,35.680000,35.810001,35.810001,17937400
+2014-08-01,35.689999,36.080002,35.310001,35.619999,35.619999,14573000
+2014-08-04,35.709999,36.660000,35.650002,36.529999,36.529999,13097200
+2014-08-05,36.320000,36.419998,35.619999,35.700001,35.700001,17636400
+2014-08-06,35.580002,35.939999,35.439999,35.790001,35.790001,11770500
+2014-08-07,36.000000,36.000000,35.529999,35.660000,35.660000,11306600
+2014-08-08,35.730000,35.959999,35.400002,35.910000,35.910000,10593700
+2014-08-11,36.099998,36.150002,35.750000,35.790001,35.790001,8660100
+2014-08-12,35.799999,35.990002,35.150002,35.520000,35.520000,12902700
+2014-08-13,35.959999,36.450001,35.770000,36.189999,36.189999,16532300
+2014-08-14,36.320000,36.419998,36.169998,36.360001,36.360001,8927300
+2014-08-15,36.200001,36.570000,36.119999,36.470001,36.470001,13338900
+2014-08-18,36.770000,37.770000,36.750000,37.380001,37.380001,20153200
+2014-08-19,37.560001,37.939999,37.500000,37.830002,37.830002,17084900
+2014-08-20,37.610001,37.750000,37.310001,37.500000,37.500000,12670300
+2014-08-21,37.650002,37.750000,37.310001,37.639999,37.639999,12254900
+2014-08-22,37.700001,38.200001,37.639999,38.009998,38.009998,14879100
+2014-08-25,38.139999,38.220001,37.540001,37.709999,37.709999,14356400
+2014-08-26,37.759998,37.919998,37.560001,37.790001,37.790001,9516800
+2014-08-27,38.299999,38.720001,37.830002,38.180000,38.180000,24843000
+2014-08-28,38.090000,38.570000,37.900002,38.310001,38.310001,16490600
+2014-08-29,38.570000,38.669998,38.200001,38.509998,38.509998,11634100
+2014-09-02,38.900002,39.299999,38.790001,39.270000,39.270000,19803300
+2014-09-03,39.490002,39.599998,38.689999,38.869999,38.869999,16092900
+2014-09-04,39.139999,39.340000,38.959999,39.189999,39.189999,14763300
+2014-09-05,39.049999,39.799999,39.049999,39.590000,39.590000,26200400
+2014-09-08,40.340000,41.820000,40.259998,41.810001,41.810001,75520200
+2014-09-09,42.009998,42.060001,40.599998,40.779999,40.779999,52683000
+2014-09-10,41.049999,41.230000,40.330002,41.139999,41.139999,30741800
+2014-09-11,41.020000,41.560001,40.930000,41.259998,41.259998,25203000
+2014-09-12,41.730000,43.200001,41.500000,42.880001,42.880001,69556500
+2014-09-15,43.980000,44.009998,42.139999,42.549999,42.549999,72409900
+2014-09-16,42.610001,42.959999,41.689999,42.709999,42.709999,61490700
+2014-09-17,42.369999,42.959999,42.299999,42.590000,42.590000,39495500
+2014-09-18,43.049999,43.320000,41.419998,42.090000,42.090000,93702100
+2014-09-19,42.439999,43.189999,39.549999,40.930000,40.930000,233872100
+2014-09-22,39.770000,40.040001,38.220001,38.650002,38.650002,109217100
+2014-09-23,38.150002,39.270000,37.900002,39.049999,39.049999,66105300
+2014-09-24,39.259998,40.099998,38.910000,39.880001,39.880001,49014100
+2014-09-25,39.560001,39.799999,38.820000,38.950001,38.950001,35916500
+2014-09-26,39.009998,40.799999,39.000000,40.660000,40.660000,62189200
+2014-09-29,40.410000,41.090000,40.160000,40.520000,40.520000,35883300
+2014-09-30,40.580002,41.230000,40.439999,40.750000,40.750000,30386500
+2014-10-01,40.660000,41.240002,40.110001,40.320000,40.320000,35172900
+2014-10-02,40.240002,40.639999,39.689999,40.500000,40.500000,24584400
+2014-10-03,40.790001,41.689999,40.650002,41.029999,41.029999,38191700
+2014-10-06,41.200001,41.730000,41.040001,41.520000,41.520000,23576100
+2014-10-07,41.060001,41.290001,40.779999,40.930000,40.930000,22538300
+2014-10-08,41.000000,41.290001,40.099998,41.080002,41.080002,26593500
+2014-10-09,40.900002,41.250000,40.419998,41.099998,41.099998,33519600
+2014-10-10,40.730000,41.070000,39.590000,39.599998,39.599998,36771500
+2014-10-13,39.520000,40.070000,38.290001,38.380001,38.380001,38841900
+2014-10-14,38.660000,39.000000,37.709999,37.970001,37.970001,38509000
+2014-10-15,37.270000,38.080002,36.200001,37.820000,37.820000,41973500
+2014-10-16,36.950001,38.500000,36.919998,38.119999,38.119999,26998500
+2014-10-17,38.740002,38.980000,38.310001,38.450001,38.450001,24107000
+2014-10-20,38.470001,39.400002,38.250000,39.279999,39.279999,17802400
+2014-10-21,39.650002,40.480000,39.459999,40.180000,40.180000,41955200
+2014-10-22,42.419998,42.880001,41.770000,42.000000,42.000000,69348900
+2014-10-23,42.400002,42.830002,42.259998,42.599998,42.599998,30653400
+2014-10-24,42.529999,43.650002,42.400002,43.500000,43.500000,33805800
+2014-10-27,43.310001,44.820000,43.290001,44.700001,44.700001,36596500
+2014-10-28,45.009998,46.150002,44.880001,45.869999,45.869999,36889300
+2014-10-29,45.939999,45.980000,45.130001,45.430000,45.430000,25389100
+2014-10-30,45.209999,45.840000,45.130001,45.630001,45.630001,16209600
+2014-10-31,46.160000,46.520000,45.669998,46.049999,46.049999,18446800
+2014-11-03,46.049999,46.720001,45.939999,46.340000,46.340000,17181500
+2014-11-04,45.990002,47.130001,45.740002,47.080002,47.080002,25051500
+2014-11-05,47.619999,48.279999,47.320000,47.459999,47.459999,33021500
+2014-11-06,47.369999,47.980000,46.599998,47.930000,47.930000,22636000
+2014-11-07,47.900002,48.669998,47.860001,48.549999,48.549999,24166700
+2014-11-10,48.799999,49.630001,48.790001,49.410000,49.410000,24730300
+2014-11-11,48.570000,49.180000,48.099998,49.049999,49.049999,31586300
+2014-11-12,49.330002,50.630001,49.220001,50.599998,50.599998,30564700
+2014-11-13,50.959999,51.169998,49.950001,50.500000,50.500000,35519200
+2014-11-14,50.520000,51.950001,50.470001,51.750000,51.750000,28824700
+2014-11-17,51.830002,52.419998,50.939999,52.369999,52.369999,38392800
+2014-11-18,52.279999,52.619999,51.340000,51.750000,51.750000,26847300
+2014-11-19,51.240002,51.369999,50.000000,50.580002,50.580002,29260000
+2014-11-20,50.599998,52.230000,50.270000,51.250000,51.250000,28916000
+2014-11-21,51.990002,52.250000,50.990002,51.040001,51.040001,22227000
+2014-11-24,51.250000,51.830002,51.070000,51.830002,51.830002,14643500
+2014-11-25,51.980000,52.189999,51.599998,51.720001,51.720001,14219600
+2014-11-26,51.560001,52.259998,51.520000,51.930000,51.930000,13428500
+2014-11-28,51.869999,52.000000,51.639999,51.740002,51.740002,8913700
+2014-12-01,51.430000,51.430000,49.660000,50.099998,50.099998,23146900
+2014-12-02,50.270000,51.119999,50.009998,50.669998,50.669998,16300600
+2014-12-03,50.709999,50.970001,50.200001,50.279999,50.279999,14236000
+2014-12-04,50.189999,50.669998,49.900002,50.410000,50.410000,12136700
+2014-12-05,51.029999,51.250000,50.509998,50.990002,50.990002,15418100
+2014-12-08,50.520000,50.900002,49.220001,49.619999,49.619999,18190100
+2014-12-09,48.750000,50.529999,48.290001,50.509998,50.509998,19655600
+2014-12-10,50.330002,50.689999,49.189999,49.209999,49.209999,16184100
+2014-12-11,49.540001,50.580002,49.430000,49.939999,49.939999,21100200
+2014-12-12,49.540001,51.169998,49.480000,50.240002,50.240002,20370500
+2014-12-15,50.419998,50.919998,49.500000,49.820000,49.820000,18132500
+2014-12-16,49.500000,50.080002,48.810001,48.849998,48.849998,21399300
+2014-12-17,49.020000,50.250000,48.900002,50.119999,50.119999,17112300
+2014-12-18,50.930000,51.150002,50.439999,50.910000,50.910000,15338900
+2014-12-19,51.060001,51.470001,50.830002,50.880001,50.880001,24110200
+2014-12-22,50.990002,51.599998,50.950001,51.150002,51.150002,24021100
+2014-12-23,51.459999,51.459999,49.930000,50.020000,50.020000,15514000
+2014-12-24,50.189999,50.919998,50.189999,50.650002,50.650002,5961900
+2014-12-26,50.650002,51.060001,50.610001,50.860001,50.860001,5169700
+2014-12-29,50.669998,51.009998,50.509998,50.529999,50.529999,6624500
+2014-12-30,50.349998,51.270000,50.349998,51.220001,51.220001,10703500
+2014-12-31,51.540001,51.680000,50.459999,50.509998,50.509998,9305000
diff --git a/backtrader/source/pypi.sh b/backtrader/source/pypi.sh
new file mode 100644
index 0000000000000000000000000000000000000000..54c258321a55837880cac5e621f04cf0d502ca5c
--- /dev/null
+++ b/backtrader/source/pypi.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+#
+# Generate pypi wheels universal package and upload
+#
+rm dist/*
+python setup.py bdist_wheel --universal
+twine upload dist/*
diff --git a/backtrader/source/samples/__init__.py b/backtrader/source/samples/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/analyzer-annualreturn/__init__.py b/backtrader/source/samples/analyzer-annualreturn/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/analyzer-annualreturn/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/analyzer-annualreturn/analyzer-annualreturn.py b/backtrader/source/samples/analyzer-annualreturn/analyzer-annualreturn.py
new file mode 100644
index 0000000000000000000000000000000000000000..9bcb5224e615b9f10b1ea07e446b916e0422e491
--- /dev/null
+++ b/backtrader/source/samples/analyzer-annualreturn/analyzer-annualreturn.py
@@ -0,0 +1,241 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+# The above could be sent to an independent module
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+from backtrader.analyzers import (SQN, AnnualReturn, TimeReturn, SharpeRatio,
+ TradeAnalyzer)
+
+
+class LongShortStrategy(bt.Strategy):
+ '''This strategy buys/sells upong the close price crossing
+ upwards/downwards a Simple Moving Average.
+
+ It can be a long-only strategy by setting the param "onlylong" to True
+ '''
+ params = dict(
+ period=15,
+ stake=1,
+ printout=False,
+ onlylong=False,
+ csvcross=False,
+ )
+
+ def start(self):
+ pass
+
+ def stop(self):
+ pass
+
+ def log(self, txt, dt=None):
+ if self.p.printout:
+ dt = dt or self.data.datetime[0]
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+
+ def __init__(self):
+ # To control operation entries
+ self.orderid = None
+
+ # Create SMA on 2nd data
+ sma = btind.MovAv.SMA(self.data, period=self.p.period)
+ # Create a CrossOver Signal from close an moving average
+ self.signal = btind.CrossOver(self.data.close, sma)
+ self.signal.csv = self.p.csvcross
+
+ def next(self):
+ if self.orderid:
+ return # if an order is active, no new orders are allowed
+
+ if self.signal > 0.0: # cross upwards
+ if self.position:
+ self.log('CLOSE SHORT , %.2f' % self.data.close[0])
+ self.close()
+
+ self.log('BUY CREATE , %.2f' % self.data.close[0])
+ self.buy(size=self.p.stake)
+
+ elif self.signal < 0.0:
+ if self.position:
+ self.log('CLOSE LONG , %.2f' % self.data.close[0])
+ self.close()
+
+ if not self.p.onlylong:
+ self.log('SELL CREATE , %.2f' % self.data.close[0])
+ self.sell(size=self.p.stake)
+
+ def notify_order(self, order):
+ if order.status in [bt.Order.Submitted, bt.Order.Accepted]:
+ return # Await further notifications
+
+ if order.status == order.Completed:
+ if order.isbuy():
+ buytxt = 'BUY COMPLETE, %.2f' % order.executed.price
+ self.log(buytxt, order.executed.dt)
+ else:
+ selltxt = 'SELL COMPLETE, %.2f' % order.executed.price
+ self.log(selltxt, order.executed.dt)
+
+ elif order.status in [order.Expired, order.Canceled, order.Margin]:
+ self.log('%s ,' % order.Status[order.status])
+ pass # Simply log
+
+ # Allow new orders
+ self.orderid = None
+
+ def notify_trade(self, trade):
+ if trade.isclosed:
+ self.log('TRADE PROFIT, GROSS %.2f, NET %.2f' %
+ (trade.pnl, trade.pnlcomm))
+
+ elif trade.justopened:
+ self.log('TRADE OPENED, SIZE %2d' % trade.size)
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Create the 1st data
+ data = btfeeds.BacktraderCSVData(
+ dataname=args.data,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the 1st data to cerebro
+ cerebro.adddata(data)
+
+ # Add the strategy
+ cerebro.addstrategy(LongShortStrategy,
+ period=args.period,
+ onlylong=args.onlylong,
+ csvcross=args.csvcross,
+ stake=args.stake)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcash(args.cash)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcommission(commission=args.comm,
+ mult=args.mult,
+ margin=args.margin)
+
+ tframes = dict(
+ days=bt.TimeFrame.Days,
+ weeks=bt.TimeFrame.Weeks,
+ months=bt.TimeFrame.Months,
+ years=bt.TimeFrame.Years)
+
+ # Add the Analyzers
+ cerebro.addanalyzer(SQN)
+ if args.legacyannual:
+ cerebro.addanalyzer(AnnualReturn)
+ cerebro.addanalyzer(SharpeRatio, legacyannual=True)
+ else:
+ cerebro.addanalyzer(TimeReturn, timeframe=tframes[args.tframe])
+ cerebro.addanalyzer(SharpeRatio, timeframe=tframes[args.tframe])
+
+ cerebro.addanalyzer(TradeAnalyzer)
+
+ cerebro.addwriter(bt.WriterFile, csv=args.writercsv, rounding=4)
+
+ # And run it
+ cerebro.run()
+
+ # Plot if requested
+ if args.plot:
+ cerebro.plot(numfigs=args.numfigs, volume=False, zdown=False)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='TimeReturn')
+
+ parser.add_argument('--data', '-d',
+ default='../../datas/2005-2006-day-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2005-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2006-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--period', default=15, type=int,
+ help='Period to apply to the Simple Moving Average')
+
+ parser.add_argument('--onlylong', '-ol', action='store_true',
+ help='Do only long operations')
+
+ parser.add_argument('--writercsv', '-wcsv', action='store_true',
+ help='Tell the writer to produce a csv stream')
+
+ parser.add_argument('--csvcross', action='store_true',
+ help='Output the CrossOver signals to CSV')
+
+ group = parser.add_mutually_exclusive_group()
+ group.add_argument('--tframe', default='years', required=False,
+ choices=['days', 'weeks', 'months', 'years'],
+ help='TimeFrame for the returns/Sharpe calculations')
+
+ group.add_argument('--legacyannual', action='store_true',
+ help='Use legacy annual return analyzer')
+
+ parser.add_argument('--cash', default=100000, type=int,
+ help='Starting Cash')
+
+ parser.add_argument('--comm', default=2, type=float,
+ help='Commission for operation')
+
+ parser.add_argument('--mult', default=10, type=int,
+ help='Multiplier for futures')
+
+ parser.add_argument('--margin', default=2000.0, type=float,
+ help='Margin for each future')
+
+ parser.add_argument('--stake', default=1, type=int,
+ help='Stake to apply in each operation')
+
+ parser.add_argument('--plot', '-p', action='store_true',
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', default=1,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/bidask-to-ohlc/__init__.py b/backtrader/source/samples/bidask-to-ohlc/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/bidask-to-ohlc/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/bidask-to-ohlc/bidask-to-ohlc.py b/backtrader/source/samples/bidask-to-ohlc/bidask-to-ohlc.py
new file mode 100644
index 0000000000000000000000000000000000000000..92dc8b0ec91b9719d413134039775b882d4b82b6
--- /dev/null
+++ b/backtrader/source/samples/bidask-to-ohlc/bidask-to-ohlc.py
@@ -0,0 +1,89 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,)
+# unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+
+
+class St(bt.Strategy):
+ def next(self):
+ print(','.join(str(x) for x in [
+ self.data.datetime.datetime(),
+ self.data.open[0], self.data.high[0],
+ self.data.high[0], self.data.close[0],
+ self.data.volume[0]]))
+
+
+def runstrat():
+ args = parse_args()
+
+ cerebro = bt.Cerebro()
+
+ data = btfeeds.GenericCSVData(
+ dataname=args.data,
+ dtformat='%d/%m/%y',
+ # tmformat='%H%M%S', # already the default value
+ # datetime=0, # position at default
+ time=1, # position of time
+ open=5, # position of open
+ high=5,
+ low=5,
+ close=5,
+ volume=7,
+ openinterest=-1, # -1 for not present
+ timeframe=bt.TimeFrame.Ticks)
+
+ cerebro.resampledata(data,
+ timeframe=bt.TimeFrame.Ticks,
+ compression=args.compression)
+
+ cerebro.addstrategy(St)
+
+ cerebro.run()
+ if args.plot:
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='BidAsk to OHLC')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/bidask2.csv',
+ help='Data file to be read in')
+
+ parser.add_argument('--compression', required=False, default=2, type=int,
+ help='How much to compress the bars')
+
+ parser.add_argument('--plot', required=False, action='store_true',
+ help='Plot the vars')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/bracket/__init__.py b/backtrader/source/samples/bracket/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/bracket/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/bracket/bracket.py b/backtrader/source/samples/bracket/bracket.py
new file mode 100644
index 0000000000000000000000000000000000000000..3df8326caee30723f911a5666747504c7621a8c0
--- /dev/null
+++ b/backtrader/source/samples/bracket/bracket.py
@@ -0,0 +1,199 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = dict(
+ ma=bt.ind.SMA,
+ p1=5,
+ p2=15,
+ limit=0.005,
+ limdays=3,
+ limdays2=1000,
+ hold=10,
+ usebracket=False, # use order_target_size
+ switchp1p2=False, # switch prices of order1 and order2
+ )
+
+ def notify_order(self, order):
+ print('{}: Order ref: {} / Type {} / Status {}'.format(
+ self.data.datetime.date(0),
+ order.ref, 'Buy' * order.isbuy() or 'Sell',
+ order.getstatusname()))
+
+ if order.status == order.Completed:
+ self.holdstart = len(self)
+
+ if not order.alive() and order.ref in self.orefs:
+ self.orefs.remove(order.ref)
+
+ def __init__(self):
+ ma1, ma2 = self.p.ma(period=self.p.p1), self.p.ma(period=self.p.p2)
+ self.cross = bt.ind.CrossOver(ma1, ma2)
+
+ self.orefs = list()
+
+ if self.p.usebracket:
+ print('-' * 5, 'Using buy_bracket')
+
+ def next(self):
+ if self.orefs:
+ return # pending orders do nothing
+
+ if not self.position:
+ if self.cross > 0.0: # crossing up
+
+ close = self.data.close[0]
+ p1 = close * (1.0 - self.p.limit)
+ p2 = p1 - 0.02 * close
+ p3 = p1 + 0.02 * close
+
+ valid1 = datetime.timedelta(self.p.limdays)
+ valid2 = valid3 = datetime.timedelta(self.p.limdays2)
+
+ if self.p.switchp1p2:
+ p1, p2 = p2, p1
+ valid1, valid2 = valid2, valid1
+
+ if not self.p.usebracket:
+ o1 = self.buy(exectype=bt.Order.Limit,
+ price=p1,
+ valid=valid1,
+ transmit=False)
+
+ print('{}: Oref {} / Buy at {}'.format(
+ self.datetime.date(), o1.ref, p1))
+
+ o2 = self.sell(exectype=bt.Order.Stop,
+ price=p2,
+ valid=valid2,
+ parent=o1,
+ transmit=False)
+
+ print('{}: Oref {} / Sell Stop at {}'.format(
+ self.datetime.date(), o2.ref, p2))
+
+ o3 = self.sell(exectype=bt.Order.Limit,
+ price=p3,
+ valid=valid3,
+ parent=o1,
+ transmit=True)
+
+ print('{}: Oref {} / Sell Limit at {}'.format(
+ self.datetime.date(), o3.ref, p3))
+
+ self.orefs = [o1.ref, o2.ref, o3.ref]
+
+ else:
+ os = self.buy_bracket(
+ price=p1, valid=valid1,
+ stopprice=p2, stopargs=dict(valid=valid2),
+ limitprice=p3, limitargs=dict(valid=valid3),)
+
+ self.orefs = [o.ref for o in os]
+
+ else: # in the market
+ if (len(self) - self.holdstart) >= self.p.hold:
+ pass # do nothing in this case
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Sample Skeleton'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2005-2006-day-001.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/btfd/__init__.py b/backtrader/source/samples/btfd/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/btfd/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/btfd/btfd.py b/backtrader/source/samples/btfd/btfd.py
new file mode 100644
index 0000000000000000000000000000000000000000..6cf233d487a7da3eb0ffc2108260c2ed186a0d50
--- /dev/null
+++ b/backtrader/source/samples/btfd/btfd.py
@@ -0,0 +1,233 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+# References:
+# - https://www.reddit.com/r/algotrading/comments/5jez2b/can_anyone_replicate_this_strategy/
+# - http://dark-bid.com/BTFD-only-strategy-that-matters.html
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class ValueUnlever(bt.observers.Value):
+ '''Extension of regular Value observer to add leveraged view'''
+ lines = ('value_lever', 'asset')
+ params = (('assetstart', 100000.0), ('lever', True),)
+
+ def next(self):
+ super(ValueUnlever, self).next()
+ if self.p.lever:
+ self.lines.value_lever[0] = self._owner.broker._valuelever
+
+ if len(self) == 1:
+ self.lines.asset[0] = self.p.assetstart
+ else:
+ change = self.data[0] / self.data[-1]
+ self.lines.asset[0] = change * self.lines.asset[-1]
+
+
+class St(bt.Strategy):
+ params = (
+ ('fall', -0.01),
+ ('hold', 2),
+ ('approach', 'highlow'),
+ ('target', 1.0),
+ ('prorder', False),
+ ('prtrade', False),
+ ('prdata', False),
+ )
+
+ def __init__(self):
+ if self.p.approach == 'closeclose':
+ self.pctdown = self.data.close / self.data.close(-1) - 1.0
+ elif self.p.approach == 'openclose':
+ self.pctdown = self.data.close / self.data.open - 1.0
+ elif self.p.approach == 'highclose':
+ self.pctdown = self.data.close / self.data.high - 1.0
+ elif self.p.approach == 'highlow':
+ self.pctdown = self.data.low / self.data.high - 1.0
+
+ def next(self):
+ if self.position:
+ if len(self) == self.barexit:
+ self.close()
+ if self.p.prdata:
+ print(','.join(str(x) for x in
+ ['DATA', 'CLOSE',
+ self.data.datetime.date().isoformat(),
+ self.data.close[0],
+ float('NaN')]))
+ else:
+ if self.pctdown <= self.p.fall:
+ self.order_target_percent(target=self.p.target)
+ self.barexit = len(self) + self.p.hold
+
+ if self.p.prdata:
+ print(','.join(str(x) for x in
+ ['DATA', 'OPEN',
+ self.data.datetime.date().isoformat(),
+ self.data.close[0],
+ self.pctdown[0]]))
+
+ def start(self):
+ if self.p.prtrade:
+ print(','.join(
+ ['TRADE', 'Status', 'Date', 'Value', 'PnL', 'Commission']))
+ if self.p.prorder:
+ print(','.join(
+ ['ORDER', 'Type', 'Date', 'Price', 'Size', 'Commission']))
+ if self.p.prdata:
+ print(','.join(['DATA', 'Action', 'Date', 'Price', 'PctDown']))
+
+ def notify_order(self, order):
+ if order.status in [order.Margin, order.Rejected, order.Canceled]:
+ print('ORDER FAILED with status:', order.getstatusname())
+ elif order.status == order.Completed:
+ if self.p.prorder:
+ print(','.join(map(str, [
+ 'ORDER', 'BUY' * order.isbuy() or 'SELL',
+ self.data.num2date(order.executed.dt).date().isoformat(),
+ order.executed.price,
+ order.executed.size,
+ order.executed.comm,
+ ]
+ )))
+
+ def notify_trade(self, trade):
+ if not self.p.prtrade:
+ return
+
+ if trade.isclosed:
+ print(','.join(map(str, [
+ 'TRADE', 'CLOSE',
+ self.data.num2date(trade.dtclose).date().isoformat(),
+ trade.value,
+ trade.pnl,
+ trade.commission,
+ ]
+ )))
+ elif trade.justopened:
+ print(','.join(map(str, [
+ 'TRADE', 'OPEN',
+ self.data.num2date(trade.dtopen).date().isoformat(),
+ trade.value,
+ trade.pnl,
+ trade.commission,
+ ]
+ )))
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ kwargs[d] = datetime.datetime.strptime(a, dtfmt + tmfmt * ('T' in a))
+
+ if not args.offline:
+ YahooData = bt.feeds.YahooFinanceData
+ else:
+ YahooData = bt.feeds.YahooFinanceCSVData
+
+ # Data feed - no plot - observer will do the job
+ data = YahooData(dataname=args.data, plot=False, **kwargs)
+ cerebro.adddata(data)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Add a commission
+ cerebro.broker.setcommission(**eval('dict(' + args.comminfo + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Add specific observer
+ cerebro.addobserver(ValueUnlever, **eval('dict(' + args.valobserver + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(' - '.join([
+ 'BTFD',
+ 'http://dark-bid.com/BTFD-only-strategy-that-matters.html',
+ ('https://www.reddit.com/r/algotrading/comments/5jez2b/'
+ 'can_anyone_replicate_this_strategy/')]))
+ )
+
+ parser.add_argument('--offline', required=False, action='store_true',
+ help='Use offline file with ticker name')
+
+ parser.add_argument('--data', required=False, default='^GSPC',
+ metavar='TICKER', help='Yahoo ticker to download')
+
+ parser.add_argument('--fromdate', required=False, default='1990-01-01',
+ metavar='YYYY-MM-DD[THH:MM:SS]',
+ help='Starting date[time]')
+
+ parser.add_argument('--todate', required=False, default='2016-10-01',
+ metavar='YYYY-MM-DD[THH:MM:SS]',
+ help='Ending date[time]')
+
+ parser.add_argument('--cerebro', required=False, default='stdstats=False',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False,
+ default='cash=100000.0, coc=True',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--valobserver', required=False,
+ default='assetstart=100000.0',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False,
+ default='approach="highlow"',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--comminfo', required=False, default='leverage=2.0',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='volume=False',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/calendar-days/__init__.py b/backtrader/source/samples/calendar-days/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/calendar-days/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/calendar-days/calendar-days.py b/backtrader/source/samples/calendar-days/calendar-days.py
new file mode 100644
index 0000000000000000000000000000000000000000..ab0df70a0e9eb83b31d326e5eade8d11c1020175
--- /dev/null
+++ b/backtrader/source/samples/calendar-days/calendar-days.py
@@ -0,0 +1,130 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+import backtrader.indicators as btind
+import backtrader.feeds as btfeeds
+import backtrader.filters as btfilters
+
+
+def runstrat():
+ args = parse_args()
+
+ # Create a cerebro entity
+ cerebro = bt.Cerebro(stdstats=False)
+
+ # Add a strategy
+ cerebro.addstrategy(bt.Strategy)
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ data = btfeeds.BacktraderCSVData(
+ dataname=args.data,
+ fromdate=fromdate,
+ todate=todate)
+
+ if args.calendar:
+ if args.fprice is not None:
+ args.fprice = float(args.fprice)
+
+ data.addfilter(
+ btfilters.CalendarDays,
+ fill_price=args.fprice,
+ fill_vol=args.fvol)
+
+ # Add the resample data instead of the original
+ cerebro.adddata(data)
+
+ # Add a simple moving average if requirested
+ if args.sma:
+ cerebro.addindicator(btind.SMA, period=args.period)
+
+ # Add a writer with CSV
+ if args.writer:
+ cerebro.addwriter(bt.WriterFile, csv=args.wrcsv)
+
+ # Run over everything
+ cerebro.run()
+
+ # Plot if requested
+ if args.plot:
+ cerebro.plot(style='bar', numfigs=args.numfigs, volume=False)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Calendar Days Filter Sample')
+
+ parser.add_argument('--data', '-d',
+ default='../../datas/2006-day-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2006-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2006-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--calendar', '-cal', required=False,
+ action='store_true',
+ help='Add a CalendarDays filter')
+
+ parser.add_argument('--fprice', required=False, default=None,
+ help='Use as fill for price (None for previous close)')
+
+ parser.add_argument('--fvol', required=False, default=0.0,
+ type=float,
+ help='Use as fill volume for missing bar (def: 0.0)')
+
+ parser.add_argument('--sma', required=False,
+ action='store_true',
+ help='Add a Simple Moving Average')
+
+ parser.add_argument('--period', default=15, type=int,
+ help='Period to apply to the Simple Moving Average')
+
+ parser.add_argument('--writer', '-w', action='store_true',
+ help='Add a writer to cerebro')
+
+ parser.add_argument('--wrcsv', '-wc', action='store_true',
+ help='Enable CSV Output in the writer')
+
+ parser.add_argument('--plot', '-p', action='store_true',
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', default=1,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/calmar/__init__.py b/backtrader/source/samples/calmar/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/calmar/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/calmar/calmar-test.py b/backtrader/source/samples/calmar/calmar-test.py
new file mode 100644
index 0000000000000000000000000000000000000000..02ceb7257742ee73dddf7a73c2384f6c69fd1a0d
--- /dev/null
+++ b/backtrader/source/samples/calmar/calmar-test.py
@@ -0,0 +1,121 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.SignalStrategy):
+ params = (
+ )
+
+ def __init__(self):
+ ma1, ma2, = bt.ind.SMA(period=15), bt.ind.SMA(period=50)
+ self.signal_add(bt.signal.SIGNAL_LONG, bt.ind.CrossOver(ma1, ma2))
+
+ def next2(self):
+ pass
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.YahooFinanceCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ cerebro.addanalyzer(bt.analyzers.Calmar)
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ st0 = cerebro.run(**eval('dict(' + args.cerebro + ')'))[0]
+ i = 1
+ for k, v in st0.analyzers.calmar.get_analysis().items():
+ print(i, ': '.join((str(k), str(v))))
+ i += 1
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Sample Skeleton'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/orcl-1995-2014.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/cheat-on-open/__init__.py b/backtrader/source/samples/cheat-on-open/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/cheat-on-open/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/cheat-on-open/cheat-on-open.py b/backtrader/source/samples/cheat-on-open/cheat-on-open.py
new file mode 100644
index 0000000000000000000000000000000000000000..d0b6583708e7434f2c30d9e076e5f8f7f4344f92
--- /dev/null
+++ b/backtrader/source/samples/cheat-on-open/cheat-on-open.py
@@ -0,0 +1,154 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = dict(
+ periods=[10, 30],
+ matype=bt.ind.SMA,
+ )
+
+ def __init__(self):
+ self.cheating = self.cerebro.p.cheat_on_open
+ mas = [self.p.matype(period=x) for x in self.p.periods]
+ self.signal = bt.ind.CrossOver(*mas)
+ self.order = None
+
+ def notify_order(self, order):
+ if order.status != order.Completed:
+ return
+
+ self.order = None
+ print('{} {} Executed at price {}'.format(
+ bt.num2date(order.executed.dt).date(),
+ 'Buy' * order.isbuy() or 'Sell', order.executed.price)
+ )
+
+ def operate(self, fromopen):
+ if self.order is not None:
+ return
+ if self.position:
+ if self.signal < 0:
+ self.order = self.close()
+ elif self.signal > 0:
+ print('{} Send Buy, fromopen {}, close {}'.format(
+ self.data.datetime.date(),
+ fromopen, self.data.close[0])
+ )
+ self.order = self.buy()
+
+ def next(self):
+ print('{} next, open {} close {}'.format(
+ self.data.datetime.date(),
+ self.data.open[0], self.data.close[0])
+ )
+
+ if self.cheating:
+ return
+ self.operate(fromopen=False)
+
+ def next_open(self):
+ if not self.cheating:
+ return
+ self.operate(fromopen=True)
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Cheat-On-Open Sample'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2005-2006-day-001.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/commission-schemes/__init__.py b/backtrader/source/samples/commission-schemes/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/commission-schemes/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/commission-schemes/commission-schemes.py b/backtrader/source/samples/commission-schemes/commission-schemes.py
new file mode 100644
index 0000000000000000000000000000000000000000..36a420006fb360e8128cd937c6792259b155955f
--- /dev/null
+++ b/backtrader/source/samples/commission-schemes/commission-schemes.py
@@ -0,0 +1,188 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+
+
+class SMACrossOver(bt.Strategy):
+ params = (
+ ('stake', 1),
+ ('period', 30),
+ )
+
+ def log(self, txt, dt=None):
+ ''' Logging function fot this strategy'''
+ dt = dt or self.datas[0].datetime.date(0)
+ print('%s, %s' % (dt.isoformat(), txt))
+
+ def notify_order(self, order):
+ if order.status in [order.Submitted, order.Accepted]:
+ # Buy/Sell order submitted/accepted to/by broker - Nothing to do
+ return
+
+ # Check if an order has been completed
+ # Attention: broker could reject order if not enougth cash
+ if order.status in [order.Completed, order.Canceled, order.Margin]:
+ if order.isbuy():
+ self.log(
+ 'BUY EXECUTED, Price: %.2f, Cost: %.2f, Comm %.2f' %
+ (order.executed.price,
+ order.executed.value,
+ order.executed.comm))
+ else: # Sell
+ self.log('SELL EXECUTED, Price: %.2f, Cost: %.2f, Comm %.2f' %
+ (order.executed.price,
+ order.executed.value,
+ order.executed.comm))
+
+ def notify_trade(self, trade):
+ if trade.isclosed:
+ self.log('TRADE PROFIT, GROSS %.2f, NET %.2f' %
+ (trade.pnl, trade.pnlcomm))
+
+ def __init__(self):
+ sma = btind.SMA(self.data, period=self.p.period)
+ # > 0 crossing up / < 0 crossing down
+ self.buysell_sig = btind.CrossOver(self.data, sma)
+
+ def next(self):
+ if self.buysell_sig > 0:
+ self.log('BUY CREATE, %.2f' % self.data.close[0])
+ self.buy(size=self.p.stake) # keep order ref to avoid 2nd orders
+
+ elif self.position and self.buysell_sig < 0:
+ self.log('SELL CREATE, %.2f' % self.data.close[0])
+ self.sell(size=self.p.stake)
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Create the 1st data
+ data = btfeeds.BacktraderCSVData(
+ dataname=args.data,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the 1st data to cerebro
+ cerebro.adddata(data)
+
+ # Add a strategy
+ cerebro.addstrategy(SMACrossOver, period=args.period, stake=args.stake)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcash(args.cash)
+
+ commtypes = dict(
+ none=None,
+ perc=bt.CommInfoBase.COMM_PERC,
+ fixed=bt.CommInfoBase.COMM_FIXED)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcommission(commission=args.comm,
+ mult=args.mult,
+ margin=args.margin,
+ percabs=not args.percrel,
+ commtype=commtypes[args.commtype],
+ stocklike=args.stocklike)
+
+ # And run it
+ cerebro.run()
+
+ # Plot if requested
+ if args.plot:
+ cerebro.plot(numfigs=args.numfigs, volume=False)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='Commission schemes',
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,)
+
+ parser.add_argument('--data', '-d',
+ default='../../datas/2006-day-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2006-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2006-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--stake', default=1, type=int,
+ help='Stake to apply in each operation')
+
+ parser.add_argument('--period', default=30, type=int,
+ help='Period to apply to the Simple Moving Average')
+
+ parser.add_argument('--cash', default=10000.0, type=float,
+ help='Starting Cash')
+
+ parser.add_argument('--comm', default=2.0, type=float,
+ help=('Commission factor for operation, either a'
+ 'percentage or a per stake unit absolute value'))
+
+ parser.add_argument('--mult', default=10, type=int,
+ help='Multiplier for operations calculation')
+
+ parser.add_argument('--margin', default=2000.0, type=float,
+ help='Margin for futures-like operations')
+
+ parser.add_argument('--commtype', required=False, default='none',
+ choices=['none', 'perc', 'fixed'],
+ help=('Commission - choose none for the old'
+ ' CommissionInfo behavior'))
+
+ parser.add_argument('--stocklike', required=False, action='store_true',
+ help=('If the operation is for stock-like assets or'
+ 'future-like assets'))
+
+ parser.add_argument('--percrel', required=False, action='store_true',
+ help=('If perc is expressed in relative xx% rather'
+ 'than absolute value 0.xx'))
+
+ parser.add_argument('--plot', '-p', action='store_true',
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', default=1,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/credit-interest/__init__.py b/backtrader/source/samples/credit-interest/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/credit-interest/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/credit-interest/credit-interest.py b/backtrader/source/samples/credit-interest/credit-interest.py
new file mode 100644
index 0000000000000000000000000000000000000000..b4e005c073126406cbbc808ba900305e8ce59cfb
--- /dev/null
+++ b/backtrader/source/samples/credit-interest/credit-interest.py
@@ -0,0 +1,200 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import collections
+import datetime
+import itertools
+
+import backtrader as bt
+
+
+class SMACrossOver(bt.Signal):
+ params = (('p1', 10), ('p2', 30),)
+
+ def __init__(self):
+ sma1 = bt.indicators.SMA(period=self.p.p1)
+ sma2 = bt.indicators.SMA(period=self.p.p2)
+ self.lines.signal = bt.indicators.CrossOver(sma1, sma2)
+
+
+class NoExit(bt.Signal):
+ def next(self):
+ self.lines.signal[0] = 0.0
+
+
+class St(bt.SignalStrategy):
+ opcounter = itertools.count(1)
+
+ def notify_order(self, order):
+ if order.status == bt.Order.Completed:
+ t = ''
+ t += '{:02d}'.format(next(self.opcounter))
+ t += ' {}'.format(order.data.datetime.datetime())
+ t += ' BUY ' * order.isbuy() or ' SELL'
+ t += ' Size: {:+d} / Price: {:.2f}'
+ print(t.format(order.executed.size, order.executed.price))
+
+ def notify_trade(self, trade):
+ if trade.isclosed:
+ print('Trade closed with P&L: Gross {} Net {}'.format(
+ trade.pnl, trade.pnlcomm))
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+ cerebro.broker.set_int2pnl(args.no_int2pnl)
+
+ dkwargs = dict()
+ if args.fromdate is not None:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate is not None:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ # if dataset is None, args.data has been given
+ data = bt.feeds.BacktraderCSVData(dataname=args.data, **dkwargs)
+ cerebro.adddata(data)
+
+ cerebro.signal_strategy(St)
+ cerebro.addsizer(bt.sizers.FixedSize, stake=args.stake)
+
+ sigtype = bt.signal.SIGNAL_LONGSHORT
+ if args.long:
+ sigtype = bt.signal.SIGNAL_LONG
+ elif args.short:
+ sigtype = bt.signal.SIGNAL_SHORT
+
+ cerebro.add_signal(sigtype,
+ SMACrossOver, p1=args.period1, p2=args.period2)
+
+ if args.no_exit:
+ if args.long:
+ cerebro.add_signal(bt.signal.SIGNAL_LONGEXIT, NoExit)
+ elif args.short:
+ cerebro.add_signal(bt.signal.SIGNAL_SHORTEXIT, NoExit)
+
+ comminfo = bt.CommissionInfo(
+ mult=args.mult,
+ margin=args.margin,
+ stocklike=args.stocklike,
+ interest=args.interest,
+ interest_long=args.interest_long)
+
+ cerebro.broker.addcommissioninfo(comminfo)
+
+ cerebro.run()
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for Slippage')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/2005-2006-day-001.txt',
+ help='Specific data to be read in')
+
+ parser.add_argument('--fromdate', required=False, default=None,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False, default=None,
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--cash', required=False, action='store',
+ type=float, default=50000,
+ help=('Cash to start with'))
+
+ parser.add_argument('--period1', required=False, action='store',
+ type=int, default=10,
+ help=('Fast moving average period'))
+
+ parser.add_argument('--period2', required=False, action='store',
+ type=int, default=30,
+ help=('Slow moving average period'))
+
+ parser.add_argument('--interest', required=False, action='store',
+ default=0.0, type=float,
+ help=('Activate credit interest rate'))
+
+ parser.add_argument('--no-int2pnl', required=False, action='store_false',
+ help=('Do not assign interest to pnl'))
+
+ parser.add_argument('--interest_long', required=False, action='store_true',
+ help=('Credit interest rate for long positions'))
+
+ pgroup = parser.add_mutually_exclusive_group()
+ pgroup.add_argument('--long', required=False, action='store_true',
+ help=('Do a long only strategy'))
+
+ pgroup.add_argument('--short', required=False, action='store_true',
+ help=('Do a long only strategy'))
+
+ parser.add_argument('--no-exit', required=False, action='store_true',
+ help=('The 1st taken position will not be exited'))
+
+ parser.add_argument('--stocklike', required=False, action='store_true',
+ help=('Consider the asset to be stocklike'))
+
+ parser.add_argument('--margin', required=False, action='store',
+ default=0.0, type=float,
+ help=('Margin for future like instruments'))
+
+ parser.add_argument('--mult', required=False, action='store',
+ default=1.0, type=float,
+ help=('Multiplier for future like instruments'))
+
+ parser.add_argument('--stake', required=False, action='store',
+ default=10, type=int,
+ help=('Stake to apply'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/data-bid-ask/__init__.py b/backtrader/source/samples/data-bid-ask/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/data-bid-ask/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/data-bid-ask/bidask.py b/backtrader/source/samples/data-bid-ask/bidask.py
new file mode 100644
index 0000000000000000000000000000000000000000..04d790bde6c7863ec7d2c12cead418e80dfffa9d
--- /dev/null
+++ b/backtrader/source/samples/data-bid-ask/bidask.py
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+
+
+class BidAskCSV(btfeeds.GenericCSVData):
+ linesoverride = True # discard usual OHLC structure
+ # datetime must be present and last
+ lines = ('bid', 'ask', 'datetime')
+ # datetime (always 1st) and then the desired order for
+ params = (
+ # (datetime, 0), # inherited from parent class
+ ('bid', 1), # default field pos 1
+ ('ask', 2), # default field pos 2
+ )
+
+
+class St(bt.Strategy):
+ params = (('sma', False), ('period', 3))
+
+ def __init__(self):
+ if self.p.sma:
+ self.sma = btind.SMA(self.data, period=self.p.period)
+
+ def next(self):
+ dtstr = self.data.datetime.datetime().isoformat()
+ txt = '%4d: %s - Bid %.4f - %.4f Ask' % (
+ (len(self), dtstr, self.data.bid[0], self.data.ask[0]))
+
+ if self.p.sma:
+ txt += ' - SMA: %.4f' % self.sma[0]
+ print(txt)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='Bid/Ask Line Hierarchy',
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ )
+
+ parser.add_argument('--data', '-d', action='store',
+ required=False, default='../../datas/bidask.csv',
+ help='data to add to the system')
+
+ parser.add_argument('--dtformat', '-dt',
+ required=False, default='%m/%d/%Y %H:%M:%S',
+ help='Format of datetime in input')
+
+ parser.add_argument('--sma', '-s', action='store_true',
+ required=False,
+ help='Add an SMA to the mix')
+
+ parser.add_argument('--period', '-p', action='store',
+ required=False, default=5, type=int,
+ help='Period for the sma')
+
+ return parser.parse_args()
+
+
+def runstrategy():
+ args = parse_args()
+
+ cerebro = bt.Cerebro() # Create a cerebro
+
+ data = BidAskCSV(dataname=args.data, dtformat=args.dtformat)
+ cerebro.adddata(data) # Add the 1st data to cerebro
+ # Add the strategy to cerebro
+ cerebro.addstrategy(St, sma=args.sma, period=args.period)
+ cerebro.run()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/data-filler/__init__.py b/backtrader/source/samples/data-filler/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/data-filler/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/data-filler/data-filler.py b/backtrader/source/samples/data-filler/data-filler.py
new file mode 100644
index 0000000000000000000000000000000000000000..eaafb76489d057ade75e12f636e97ff90a20a411
--- /dev/null
+++ b/backtrader/source/samples/data-filler/data-filler.py
@@ -0,0 +1,152 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+import math
+
+# The above could be sent to an independent module
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.utils.flushfile
+import backtrader.filters as btfilters
+
+from relativevolume import RelativeVolume
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Get the session times to pass them to the indicator
+ # datetime.time has no strptime ...
+ dtstart = datetime.datetime.strptime(args.tstart, '%H:%M')
+ dtend = datetime.datetime.strptime(args.tend, '%H:%M')
+
+ # Create the 1st data
+ data = btfeeds.BacktraderCSVData(
+ dataname=args.data,
+ fromdate=fromdate,
+ todate=todate,
+ timeframe=bt.TimeFrame.Minutes,
+ compression=1,
+ sessionstart=dtstart, # internally just the "time" part will be used
+ sessionend=dtend, # internally just the "time" part will be used
+ )
+
+ if args.filter:
+ data.addfilter(btfilters.SessionFilter)
+
+ if args.filler:
+ data.addfilter(btfilters.SessionFiller, fill_vol=args.fvol)
+
+ # Add the data to cerebro
+ cerebro.adddata(data)
+
+ if args.relvol:
+ # Calculate backward period - tend tstart are in same day
+ # + 1 to include last moment of the interval dstart <-> dtend
+ td = ((dtend - dtstart).seconds // 60) + 1
+ cerebro.addindicator(RelativeVolume,
+ period=td,
+ volisnan=math.isnan(args.fvol))
+
+ # Add an empty strategy
+ cerebro.addstrategy(bt.Strategy)
+
+ # Add a writer with CSV
+ if args.writer:
+ cerebro.addwriter(bt.WriterFile, csv=args.wrcsv)
+
+ # And run it - no trading - disable stdstats
+ cerebro.run(stdstats=False)
+
+ # Plot if requested
+ if args.plot:
+ cerebro.plot(numfigs=args.numfigs, volume=True)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='DataFilter/DataFiller Sample')
+
+ parser.add_argument('--data', '-d',
+ default='../../datas/2006-01-02-volume-min-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument('--filter', '-ft', action='store_true',
+ help='Filter using session start/end times')
+
+ parser.add_argument('--filler', '-fl', action='store_true',
+ help='Fill missing bars inside start/end times')
+
+ parser.add_argument('--fvol', required=False, default=0.0,
+ type=float,
+ help='Use as fill volume for missing bar (def: 0.0)')
+
+ parser.add_argument('--tstart', '-ts',
+ # default='09:14:59',
+ # help='Start time for the Session Filter (%H:%M:%S)')
+ default='09:15',
+ help='Start time for the Session Filter (HH:MM)')
+
+ parser.add_argument('--tend', '-te',
+ # default='17:15:59',
+ # help='End time for the Session Filter (%H:%M:%S)')
+ default='17:15',
+ help='End time for the Session Filter (HH:MM)')
+
+ parser.add_argument('--relvol', '-rv', action='store_true',
+ help='Add relative volume indicator')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2006-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2006-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--writer', '-w', action='store_true',
+ help='Add a writer to cerebro')
+
+ parser.add_argument('--wrcsv', '-wc', action='store_true',
+ help='Enable CSV Output in the writer')
+
+ parser.add_argument('--plot', '-p', action='store_true',
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', default=1,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/data-filler/relativevolume.py b/backtrader/source/samples/data-filler/relativevolume.py
new file mode 100644
index 0000000000000000000000000000000000000000..52fba897cf490f23f567f9952f6fcbc19fc6dec1
--- /dev/null
+++ b/backtrader/source/samples/data-filler/relativevolume.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+
+class RelativeVolume(bt.Indicator):
+ csv = True # show up in csv output (default for indicators is False)
+
+ lines = ('relvol',)
+ params = (
+ ('period', 20),
+ ('volisnan', True),
+ )
+
+ def __init__(self):
+ if self.p.volisnan:
+ # if missing volume will be NaN, do a simple division
+ # the end result for missing volumes will also be NaN
+ relvol = self.data.volume(-self.p.period) / self.data.volume
+ else:
+ # Else do a controlled Div with a built-in function
+ relvol = bt.DivByZero(
+ self.data.volume(-self.p.period),
+ self.data.volume,
+ zero=0.0)
+
+ self.lines.relvol = relvol
diff --git a/backtrader/source/samples/data-multitimeframe/__init__.py b/backtrader/source/samples/data-multitimeframe/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/data-multitimeframe/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/data-multitimeframe/data-multitimeframe.py b/backtrader/source/samples/data-multitimeframe/data-multitimeframe.py
new file mode 100644
index 0000000000000000000000000000000000000000..22feb6511a9172f26a4a01cf49d2936a16493ddd
--- /dev/null
+++ b/backtrader/source/samples/data-multitimeframe/data-multitimeframe.py
@@ -0,0 +1,225 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+from backtrader import ResamplerDaily, ResamplerWeekly, ResamplerMonthly
+from backtrader import ReplayerDaily, ReplayerWeekly, ReplayerMonthly
+from backtrader.utils import flushfile
+
+
+class SMAStrategy(bt.Strategy):
+ params = (
+ ('period', 10),
+ ('onlydaily', False),
+ )
+
+ def __init__(self):
+ self.sma_small_tf = btind.SMA(self.data, period=self.p.period)
+ bt.indicators.MACD(self.data0)
+
+ if not self.p.onlydaily:
+ self.sma_large_tf = btind.SMA(self.data1, period=self.p.period)
+ bt.indicators.MACD(self.data1)
+
+ def prenext(self):
+ self.next()
+
+ def nextstart(self):
+ print('--------------------------------------------------')
+ print('nextstart called with len', len(self))
+ print('--------------------------------------------------')
+
+ super(SMAStrategy, self).nextstart()
+
+ def next(self):
+ print('Strategy:', len(self))
+
+ txt = list()
+ txt.append('Data0')
+ txt.append('%04d' % len(self.data0))
+ dtfmt = '%Y-%m-%dT%H:%M:%S.%f'
+ txt.append('{:f}'.format(self.data.datetime[0]))
+ txt.append('%s' % self.data.datetime.datetime(0).strftime(dtfmt))
+ # txt.append('{:f}'.format(self.data.open[0]))
+ # txt.append('{:f}'.format(self.data.high[0]))
+ # txt.append('{:f}'.format(self.data.low[0]))
+ txt.append('{:f}'.format(self.data.close[0]))
+ # txt.append('{:6d}'.format(int(self.data.volume[0])))
+ # txt.append('{:d}'.format(int(self.data.openinterest[0])))
+ # txt.append('{:f}'.format(self.sma_small[0]))
+ print(', '.join(txt))
+
+ if len(self.datas) > 1 and len(self.data1):
+ txt = list()
+ txt.append('Data1')
+ txt.append('%04d' % len(self.data1))
+ dtfmt = '%Y-%m-%dT%H:%M:%S.%f'
+ txt.append('{:f}'.format(self.data1.datetime[0]))
+ txt.append('%s' % self.data1.datetime.datetime(0).strftime(dtfmt))
+ # txt.append('{}'.format(self.data1.open[0]))
+ # txt.append('{}'.format(self.data1.high[0]))
+ # txt.append('{}'.format(self.data1.low[0]))
+ txt.append('{}'.format(self.data1.close[0]))
+ # txt.append('{}'.format(self.data1.volume[0]))
+ # txt.append('{}'.format(self.data1.openinterest[0]))
+ # txt.append('{}'.format(float('NaN')))
+ print(', '.join(txt))
+
+
+def runstrat():
+ args = parse_args()
+
+ # Create a cerebro entity
+ cerebro = bt.Cerebro()
+
+ # Add a strategy
+ if not args.indicators:
+ cerebro.addstrategy(bt.Strategy)
+ else:
+ cerebro.addstrategy(
+ SMAStrategy,
+
+ # args for the strategy
+ period=args.period,
+ onlydaily=args.onlydaily,
+ )
+
+ # Load the Data
+ datapath = args.dataname or '../../datas/2006-day-001.txt'
+ data = btfeeds.BacktraderCSVData(
+ dataname=datapath)
+
+ tframes = dict(
+ daily=bt.TimeFrame.Days,
+ weekly=bt.TimeFrame.Weeks,
+ monthly=bt.TimeFrame.Months)
+
+ # Handy dictionary for the argument timeframe conversion
+ # Resample the data
+ if args.noresample:
+ datapath = args.dataname2 or '../../datas/2006-week-001.txt'
+ data2 = btfeeds.BacktraderCSVData(
+ dataname=datapath)
+ else:
+ if args.oldrs:
+ if args.replay:
+ data2 = bt.DataReplayer(
+ dataname=data,
+ timeframe=tframes[args.timeframe],
+ compression=args.compression)
+ else:
+ data2 = bt.DataResampler(
+ dataname=data,
+ timeframe=tframes[args.timeframe],
+ compression=args.compression)
+
+ else:
+ data2 = bt.DataClone(dataname=data)
+ if args.replay:
+ if args.timeframe == 'daily':
+ data2.addfilter(ReplayerDaily)
+ elif args.timeframe == 'weekly':
+ data2.addfilter(ReplayerWeekly)
+ elif args.timeframe == 'monthly':
+ data2.addfilter(ReplayerMonthly)
+ else:
+ if args.timeframe == 'daily':
+ data2.addfilter(ResamplerDaily)
+ elif args.timeframe == 'weekly':
+ data2.addfilter(ResamplerWeekly)
+ elif args.timeframe == 'monthly':
+ data2.addfilter(ResamplerMonthly)
+
+ # First add the original data - smaller timeframe
+ cerebro.adddata(data)
+
+ # And then the large timeframe
+ cerebro.adddata(data2)
+
+ # Run over everything
+ cerebro.run(runonce=not args.runnext,
+ preload=not args.nopreload,
+ oldsync=args.oldsync,
+ stdstats=False)
+
+ # Plot the result
+ if args.plot:
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='Pandas test script')
+
+ parser.add_argument('--dataname', default='', required=False,
+ help='File Data to Load')
+
+ parser.add_argument('--dataname2', default='', required=False,
+ help='Larger timeframe file to load')
+
+ parser.add_argument('--runnext', action='store_true',
+ help='Use next by next instead of runonce')
+
+ parser.add_argument('--nopreload', action='store_true',
+ help='Do not preload the data')
+
+ parser.add_argument('--oldsync', action='store_true',
+ help='Use old data synchronization method')
+
+ parser.add_argument('--oldrs', action='store_true',
+ help='Use old resampler')
+
+ parser.add_argument('--replay', action='store_true',
+ help='Replay instead of resample')
+
+ parser.add_argument('--noresample', action='store_true',
+ help='Do not resample, rather load larger timeframe')
+
+ parser.add_argument('--timeframe', default='weekly', required=False,
+ choices=['daily', 'weekly', 'monthly'],
+ help='Timeframe to resample to')
+
+ parser.add_argument('--compression', default=1, required=False, type=int,
+ help='Compress n bars into 1')
+
+ parser.add_argument('--indicators', action='store_true',
+ help='Wether to apply Strategy with indicators')
+
+ parser.add_argument('--onlydaily', action='store_true',
+ help='Indicator only to be applied to daily timeframe')
+
+ parser.add_argument('--period', default=10, required=False, type=int,
+ help='Period to apply to indicator')
+
+ parser.add_argument('--plot', required=False, action='store_true',
+ help='Plot the chart')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/data-pandas/__init__.py b/backtrader/source/samples/data-pandas/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/data-pandas/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/data-pandas/data-pandas-optix.py b/backtrader/source/samples/data-pandas/data-pandas-optix.py
new file mode 100644
index 0000000000000000000000000000000000000000..264187ec9a5c532d56a09f5fc2ccd11691da95c0
--- /dev/null
+++ b/backtrader/source/samples/data-pandas/data-pandas-optix.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+
+import pandas
+
+
+class PandasDataOptix(btfeeds.PandasData):
+
+ lines = ('optix_close', 'optix_pess', 'optix_opt',)
+ params = (('optix_close', -1),
+ ('optix_pess', -1),
+ ('optix_opt', -1))
+
+ if False:
+ # No longer needed with version 1.9.62.122
+ datafields = btfeeds.PandasData.datafields + (
+ ['optix_close', 'optix_pess', 'optix_opt'])
+
+
+class StrategyOptix(bt.Strategy):
+
+ def next(self):
+ print('%03d %f %f, %f' % (
+ len(self),
+ self.data.optix_close[0],
+ self.data.lines.optix_pess[0],
+ self.data.optix_opt[0],))
+
+
+def runstrat():
+ args = parse_args()
+
+ # Create a cerebro entity
+ cerebro = bt.Cerebro(stdstats=False)
+
+ # Add a strategy
+ cerebro.addstrategy(StrategyOptix)
+
+ # Get a pandas dataframe
+ datapath = ('../../datas/2006-day-001-optix.txt')
+
+ # Simulate the header row isn't there if noheaders requested
+ skiprows = 1 if args.noheaders else 0
+ header = None if args.noheaders else 0
+
+ dataframe = pandas.read_csv(datapath,
+ skiprows=skiprows,
+ header=header,
+ parse_dates=True,
+ index_col=0)
+
+ if not args.noprint:
+ print('--------------------------------------------------')
+ print(dataframe)
+ print('--------------------------------------------------')
+
+ # Pass it to the backtrader datafeed and add it to the cerebro
+ data = PandasDataOptix(dataname=dataframe)
+
+ cerebro.adddata(data)
+
+ # Run over everything
+ cerebro.run()
+
+ # Plot the result
+ if not args.noplot:
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='Pandas test script')
+
+ parser.add_argument('--noheaders', action='store_true', default=False,
+ required=False,
+ help='Do not use header rows')
+
+ parser.add_argument('--noprint', action='store_true', default=False,
+ help='Print the dataframe')
+
+ parser.add_argument('--noplot', action='store_true', default=False,
+ help='Do not plot the chart')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/data-pandas/data-pandas.py b/backtrader/source/samples/data-pandas/data-pandas.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc112a1a894605b4f1d70c70b98cf391f75693b7
--- /dev/null
+++ b/backtrader/source/samples/data-pandas/data-pandas.py
@@ -0,0 +1,92 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+
+import pandas
+
+
+def runstrat():
+ args = parse_args()
+
+ # Create a cerebro entity
+ cerebro = bt.Cerebro(stdstats=False)
+
+ # Add a strategy
+ cerebro.addstrategy(bt.Strategy)
+
+ # Get a pandas dataframe
+ datapath = ('../../datas/2006-day-001.txt')
+
+ # Simulate the header row isn't there if noheaders requested
+ skiprows = 1 if args.noheaders else 0
+ header = None if args.noheaders else 0
+
+ dataframe = pandas.read_csv(
+ datapath,
+ skiprows=skiprows,
+ header=header,
+ # parse_dates=[0],
+ parse_dates=True,
+ index_col=0,
+ )
+
+ if not args.noprint:
+ print('--------------------------------------------------')
+ print(dataframe)
+ print('--------------------------------------------------')
+
+ # Pass it to the backtrader datafeed and add it to the cerebro
+ data = bt.feeds.PandasData(dataname=dataframe,
+ # datetime='Date',
+ nocase=True,
+ )
+
+ cerebro.adddata(data)
+
+ # Run over everything
+ cerebro.run()
+
+ # Plot the result
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='Pandas test script')
+
+ parser.add_argument('--noheaders', action='store_true', default=False,
+ required=False,
+ help='Do not use header rows')
+
+ parser.add_argument('--noprint', action='store_true', default=False,
+ help='Print the dataframe')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/data-replay/__init__.py b/backtrader/source/samples/data-replay/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/data-replay/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/data-replay/data-replay.py b/backtrader/source/samples/data-replay/data-replay.py
new file mode 100644
index 0000000000000000000000000000000000000000..685ba64eab3d678ef6aa678cb3de389f0be8b937
--- /dev/null
+++ b/backtrader/source/samples/data-replay/data-replay.py
@@ -0,0 +1,120 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+
+
+class SMAStrategy(bt.Strategy):
+ params = (
+ ('period', 10),
+ ('onlydaily', False),
+ )
+
+ def __init__(self):
+ self.sma = btind.SMA(self.data, period=self.p.period)
+
+ def start(self):
+ self.counter = 0
+
+ def prenext(self):
+ self.counter += 1
+ print('prenext len %d - counter %d' % (len(self), self.counter))
+
+ def next(self):
+ self.counter += 1
+ print('---next len %d - counter %d' % (len(self), self.counter))
+
+
+def runstrat():
+ args = parse_args()
+
+ # Create a cerebro entity
+ cerebro = bt.Cerebro(stdstats=False)
+
+ cerebro.addstrategy(
+ SMAStrategy,
+ # args for the strategy
+ period=args.period,
+ )
+
+ # Load the Data
+ datapath = args.dataname or '../../datas//2006-day-001.txt'
+ data = btfeeds.BacktraderCSVData(
+ dataname=datapath)
+
+ tframes = dict(
+ daily=bt.TimeFrame.Days,
+ weekly=bt.TimeFrame.Weeks,
+ monthly=bt.TimeFrame.Months)
+
+ # Handy dictionary for the argument timeframe conversion
+ # Resample the data
+ if args.oldrp:
+ data = bt.DataReplayer(
+ dataname=data,
+ timeframe=tframes[args.timeframe],
+ compression=args.compression)
+ else:
+ data.replay(
+ timeframe=tframes[args.timeframe],
+ compression=args.compression)
+
+ # First add the original data - smaller timeframe
+ cerebro.adddata(data)
+
+ # Run over everything
+ cerebro.run(preload=False)
+
+ # Plot the result
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='Pandas test script')
+
+ parser.add_argument('--dataname', default='', required=False,
+ help='File Data to Load')
+
+ parser.add_argument('--oldrp', required=False, action='store_true',
+ help='Use deprecated DataReplayer')
+
+ parser.add_argument('--timeframe', default='weekly', required=False,
+ choices=['daily', 'weekly', 'monthly'],
+ help='Timeframe to resample to')
+
+ parser.add_argument('--compression', default=1, required=False, type=int,
+ help='Compress n bars into 1')
+
+ parser.add_argument('--period', default=10, required=False, type=int,
+ help='Period to apply to indicator')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/data-resample/__init__.py b/backtrader/source/samples/data-resample/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/data-resample/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/data-resample/data-resample.py b/backtrader/source/samples/data-resample/data-resample.py
new file mode 100644
index 0000000000000000000000000000000000000000..228a8b69f82b6ee8515c2fc49d633ff5bd75d5d1
--- /dev/null
+++ b/backtrader/source/samples/data-resample/data-resample.py
@@ -0,0 +1,95 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+
+
+def runstrat():
+ args = parse_args()
+
+ # Create a cerebro entity
+ cerebro = bt.Cerebro(stdstats=False)
+
+ # Add a strategy
+ cerebro.addstrategy(bt.Strategy)
+
+ # Load the Data
+ datapath = args.dataname or '../../datas/2006-day-001.txt'
+ data = btfeeds.BacktraderCSVData(
+ dataname=datapath)
+
+ # Handy dictionary for the argument timeframe conversion
+ tframes = dict(
+ daily=bt.TimeFrame.Days,
+ weekly=bt.TimeFrame.Weeks,
+ monthly=bt.TimeFrame.Months)
+
+ # Resample the data
+ if args.oldrs:
+ # Old resampler, fully deprecated
+ data = bt.DataResampler(
+ dataname=data,
+ timeframe=tframes[args.timeframe],
+ compression=args.compression)
+
+ # Add the resample data instead of the original
+ cerebro.adddata(data)
+ else:
+ # New resampler
+ cerebro.resampledata(
+ data,
+ timeframe=tframes[args.timeframe],
+ compression=args.compression)
+
+ # Run over everything
+ cerebro.run()
+
+ # Plot the result
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='Resample down to minutes')
+
+ parser.add_argument('--dataname', default='', required=False,
+ help='File Data to Load')
+
+ parser.add_argument('--oldrs', required=False, action='store_true',
+ help='Use deprecated DataResampler')
+
+ parser.add_argument('--timeframe', default='weekly', required=False,
+ choices=['daily', 'weekly', 'monthly'],
+ help='Timeframe to resample to')
+
+ parser.add_argument('--compression', default=1, required=False, type=int,
+ help='Compress n bars into 1')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/daysteps/__init__.py b/backtrader/source/samples/daysteps/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/daysteps/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/daysteps/daysteps.py b/backtrader/source/samples/daysteps/daysteps.py
new file mode 100644
index 0000000000000000000000000000000000000000..6335c6c376367bb6268a48c782d70a818157375d
--- /dev/null
+++ b/backtrader/source/samples/daysteps/daysteps.py
@@ -0,0 +1,111 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = ()
+
+ def __init__(self):
+ pass
+
+ def start(self):
+ self.callcounter = 0
+ txtfields = list()
+ txtfields.append('Calls')
+ txtfields.append('Len Strat')
+ txtfields.append('Len Data')
+ txtfields.append('Datetime')
+ txtfields.append('Open')
+ txtfields.append('High')
+ txtfields.append('Low')
+ txtfields.append('Close')
+ txtfields.append('Volume')
+ txtfields.append('OpenInterest')
+ print(','.join(txtfields))
+
+ self.lcontrol = 0
+
+ def next(self):
+ self.callcounter += 1
+
+ txtfields = list()
+ txtfields.append('%04d' % self.callcounter)
+ txtfields.append('%04d' % len(self))
+ txtfields.append('%04d' % len(self.data0))
+ txtfields.append(self.data.datetime.datetime(0).isoformat())
+ txtfields.append('%.2f' % self.data0.open[0])
+ txtfields.append('%.2f' % self.data0.high[0])
+ txtfields.append('%.2f' % self.data0.low[0])
+ txtfields.append('%.2f' % self.data0.close[0])
+ txtfields.append('%.2f' % self.data0.volume[0])
+ txtfields.append('%.2f' % self.data0.openinterest[0])
+ print(','.join(txtfields))
+
+ if len(self.data) > self.lcontrol:
+ print('- I could issue a buy order during the Opening')
+
+ self.lcontrol = len(self.data)
+
+
+def runstrat():
+ args = parse_args()
+
+ cerebro = bt.Cerebro()
+ data = bt.feeds.BacktraderCSVData(dataname=args.data)
+
+ data.addfilter(bt.filters.DayStepsFilter)
+ cerebro.adddata(data)
+
+ cerebro.addstrategy(St)
+
+ cerebro._doreplay = True
+ cerebro.run(**(eval('dict(' + args.cerebro + ')')))
+ if args.plot:
+ cerebro.plot(**(eval('dict(' + args.plot + ')')))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for pivot point and cross plotting')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/2005-2006-day-001.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--cerebro', required=False, action='store',
+ default='', help=('Arguments for cerebro'))
+
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const='{}',
+ help=('Plot (with additional args if passed'))
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/future-spot/__init__.py b/backtrader/source/samples/future-spot/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/future-spot/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/future-spot/future-spot.py b/backtrader/source/samples/future-spot/future-spot.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1181c4976d216d8d7a6d6e5d19bccf712655968
--- /dev/null
+++ b/backtrader/source/samples/future-spot/future-spot.py
@@ -0,0 +1,96 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import random
+import backtrader as bt
+
+
+# The filter which changes the close price
+def close_changer(data, *args, **kwargs):
+ data.close[0] += 50.0 * random.randint(-1, 1)
+ return False # length of stream is unchanged
+
+
+# override the standard markers
+class BuySellArrows(bt.observers.BuySell):
+ plotlines = dict(buy=dict(marker='$\u21E7$', markersize=12.0),
+ sell=dict(marker='$\u21E9$', markersize=12.0))
+
+
+class St(bt.Strategy):
+ def __init__(self):
+ bt.obs.BuySell(self.data0, barplot=True) # done here for
+ BuySellArrows(self.data1, barplot=True) # different markers per data
+
+ def next(self):
+ if not self.position:
+ if random.randint(0, 1):
+ self.buy(data=self.data0)
+ self.entered = len(self)
+
+ else: # in the market
+ if (len(self) - self.entered) >= 10:
+ self.sell(data=self.data1)
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+ cerebro = bt.Cerebro()
+
+ dataname = '../../datas/2006-day-001.txt' # data feed
+
+ data0 = bt.feeds.BacktraderCSVData(dataname=dataname, name='data0')
+ cerebro.adddata(data0)
+
+ data1 = bt.feeds.BacktraderCSVData(dataname=dataname, name='data1')
+ data1.addfilter(close_changer)
+ if not args.no_comp:
+ data1.compensate(data0)
+ data1.plotinfo.plotmaster = data0
+ if args.sameaxis:
+ data1.plotinfo.sameaxis = True
+ cerebro.adddata(data1)
+
+ cerebro.addstrategy(St) # sample strategy
+
+ cerebro.addobserver(bt.obs.Broker) # removed below with stdstats=False
+ cerebro.addobserver(bt.obs.Trades) # removed below with stdstats=False
+
+ cerebro.broker.set_coc(True)
+ cerebro.run(stdstats=False) # execute
+ cerebro.plot(volume=False) # and plot
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=('Compensation example'))
+
+ parser.add_argument('--no-comp', required=False, action='store_true')
+ parser.add_argument('--sameaxis', required=False, action='store_true')
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/gold-vs-sp500/__init__.py b/backtrader/source/samples/gold-vs-sp500/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/gold-vs-sp500/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/gold-vs-sp500/gold-vs-sp500.py b/backtrader/source/samples/gold-vs-sp500/gold-vs-sp500.py
new file mode 100644
index 0000000000000000000000000000000000000000..7b18675da6638a57c9e8f9285040f08d9dc6d299
--- /dev/null
+++ b/backtrader/source/samples/gold-vs-sp500/gold-vs-sp500.py
@@ -0,0 +1,160 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+# Reference
+# https://estrategiastrading.com/oro-bolsa-estadistica-con-python/
+
+import argparse
+import datetime
+
+import scipy.stats
+
+import backtrader as bt
+
+
+class PearsonR(bt.ind.PeriodN):
+ _mindatas = 2 # hint to the platform
+
+ lines = ('correlation',)
+ params = (('period', 20),)
+
+ def next(self):
+ c, p = scipy.stats.pearsonr(self.data0.get(size=self.p.period),
+ self.data1.get(size=self.p.period))
+
+ self.lines.correlation[0] = c
+
+
+class MACrossOver(bt.Strategy):
+ params = (
+ ('ma', bt.ind.MovAv.SMA),
+ ('pd1', 20),
+ ('pd2', 20),
+ )
+
+ def __init__(self):
+ ma1 = self.p.ma(self.data0, period=self.p.pd1, subplot=True)
+ self.p.ma(self.data1, period=self.p.pd2, plotmaster=ma1)
+ PearsonR(self.data0, self.data1)
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ if not args.offline:
+ YahooData = bt.feeds.YahooFinanceData
+ else:
+ YahooData = bt.feeds.YahooFinanceCSVData
+
+ # Data feeds
+ data0 = YahooData(dataname=args.data0, **kwargs)
+ # cerebro.adddata(data0)
+ cerebro.resampledata(data0, timeframe=bt.TimeFrame.Weeks)
+
+ data1 = YahooData(dataname=args.data1, **kwargs)
+ # cerebro.adddata(data1)
+ cerebro.resampledata(data1, timeframe=bt.TimeFrame.Weeks)
+ data1.plotinfo.plotmaster = data0
+
+ # Broker
+ kwargs = eval('dict(' + args.broker + ')')
+ cerebro.broker = bt.brokers.BackBroker(**kwargs)
+
+ # Sizer
+ kwargs = eval('dict(' + args.sizer + ')')
+ cerebro.addsizer(bt.sizers.FixedSize, **kwargs)
+
+ # Strategy
+ if True:
+ kwargs = eval('dict(' + args.strat + ')')
+ cerebro.addstrategy(MACrossOver, **kwargs)
+
+ cerebro.addobserver(bt.observers.LogReturns2,
+ timeframe=bt.TimeFrame.Weeks,
+ compression=20)
+
+ # Execute
+ cerebro.run(**(eval('dict(' + args.cerebro + ')')))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**(eval('dict(' + args.plot + ')')))
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Gold vs SP500 from '
+ 'https://estrategiastrading.com/oro-bolsa-estadistica-con-python/')
+ )
+
+ parser.add_argument('--data0', required=False, default='SPY',
+ metavar='TICKER', help='Yahoo ticker to download')
+
+ parser.add_argument('--data1', required=False, default='GLD',
+ metavar='TICKER', help='Yahoo ticker to download')
+
+ parser.add_argument('--offline', required=False, action='store_true',
+ help='Use the offline files')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='2005-01-01',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='2016-01-01',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/ib-cash-bid-ask/__init__.py b/backtrader/source/samples/ib-cash-bid-ask/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/ib-cash-bid-ask/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/ib-cash-bid-ask/ib-cash-bid-ask.py b/backtrader/source/samples/ib-cash-bid-ask/ib-cash-bid-ask.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d8df7a86fc1d27b31bfc09628fc5a72692b633b
--- /dev/null
+++ b/backtrader/source/samples/ib-cash-bid-ask/ib-cash-bid-ask.py
@@ -0,0 +1,112 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+
+# When setting the parameter "what='ASK'" the quoted price for Ask will be used from the incoming messages (field 2) instead of the default Bid price (field 1).
+
+# BID:
+# ASK:
+
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+import datetime
+
+
+class St(bt.Strategy):
+ def logdata(self):
+ txt = []
+ txt.append('{}'.format(len(self)))
+ txt.append('{}'.format(self.data.datetime.datetime(0).isoformat()))
+ txt.append(' open BID: ' + '{}'.format(self.datas[0].open[0]))
+ txt.append(' open ASK: ' + '{}'.format(self.datas[1].open[0]))
+ txt.append(' high BID: ' + '{}'.format(self.datas[0].high[0]))
+ txt.append(' high ASK: ' + '{}'.format(self.datas[1].high[0]))
+ txt.append(' low BID: ' + '{}'.format(self.datas[0].low[0]))
+ txt.append(' low ASK: ' + '{}'.format(self.datas[1].low[0]))
+ txt.append(' close BID: ' + '{}'.format(self.datas[0].close[0]))
+ txt.append(' close ASK: ' + '{}'.format(self.datas[1].close[0]))
+ txt.append(' volume: ' + '{:.2f}'.format(self.data.volume[0]))
+ print(','.join(txt))
+
+ data_live = False
+
+ def notify_data(self, data, status, *args, **kwargs):
+ print('*' * 5, 'DATA NOTIF:', data._getstatusname(status), *args)
+ if self.datas[0]._laststatus == self.datas[0].LIVE and self.datas[1]._laststatus == self.datas[1].LIVE:
+ self.data_live = True
+
+ # def notify_order(self, order):
+ # if order.status == order.Completed:
+ # buysell = 'BUY ' if order.isbuy() else 'SELL'
+ # txt = '{} {}@{}'.format(buysell, order.executed.size,
+ # order.executed.price)
+ # print(txt)
+
+ # bought = 0
+ # sold = 0
+
+ def next(self):
+ self.logdata()
+ if not self.data_live:
+ return
+
+ # if not self.bought:
+ # self.bought = len(self) # keep entry bar
+ # self.buy()
+ # elif not self.sold:
+ # if len(self) == (self.bought + 3):
+ # self.sell()
+
+
+ib_symbol = 'EUR.USD-CASH-IDEALPRO'
+compression = 5
+
+def run(args=None):
+ cerebro = bt.Cerebro(stdstats=False)
+ store = bt.stores.IBStore(port=7497,
+ # _debug=True
+ )
+
+ data0 = store.getdata(dataname=ib_symbol,
+ timeframe=bt.TimeFrame.Ticks,
+ )
+ cerebro.resampledata(data0,
+ timeframe=bt.TimeFrame.Seconds,
+ compression=compression
+ )
+
+ data1 = store.getdata(dataname=ib_symbol,
+ timeframe=bt.TimeFrame.Ticks,
+ what='ASK'
+ )
+ cerebro.resampledata(data1,
+ timeframe=bt.TimeFrame.Seconds,
+ compression=compression
+ )
+
+ cerebro.broker = store.getbroker()
+ cerebro.addstrategy(St)
+ cerebro.run()
+
+
+if __name__ == '__main__':
+ run()
diff --git a/backtrader/source/samples/ibtest/__init__.py b/backtrader/source/samples/ibtest/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/ibtest/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/ibtest/ibtest.py b/backtrader/source/samples/ibtest/ibtest.py
new file mode 100644
index 0000000000000000000000000000000000000000..9951474fb803897178d47e3ddba6be303905abee
--- /dev/null
+++ b/backtrader/source/samples/ibtest/ibtest.py
@@ -0,0 +1,558 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+# The above could be sent to an independent module
+import backtrader as bt
+from backtrader.utils import flushfile # win32 quick stdout flushing
+
+
+class TestStrategy(bt.Strategy):
+ params = dict(
+ smaperiod=5,
+ trade=False,
+ stake=10,
+ exectype=bt.Order.Market,
+ stopafter=0,
+ valid=None,
+ cancel=0,
+ donotsell=False,
+ stoptrail=False,
+ stoptraillimit=False,
+ trailamount=None,
+ trailpercent=None,
+ limitoffset=None,
+ oca=False,
+ bracket=False,
+ )
+
+ def __init__(self):
+ # To control operation entries
+ self.orderid = list()
+ self.order = None
+
+ self.counttostop = 0
+ self.datastatus = 0
+
+ # Create SMA on 2nd data
+ self.sma = bt.indicators.MovAv.SMA(self.data, period=self.p.smaperiod)
+
+ print('--------------------------------------------------')
+ print('Strategy Created')
+ print('--------------------------------------------------')
+
+ def notify_data(self, data, status, *args, **kwargs):
+ print('*' * 5, 'DATA NOTIF:', data._getstatusname(status), *args)
+ if status == data.LIVE:
+ self.counttostop = self.p.stopafter
+ self.datastatus = 1
+
+ def notify_store(self, msg, *args, **kwargs):
+ print('*' * 5, 'STORE NOTIF:', msg)
+
+ def notify_order(self, order):
+ if order.status in [order.Completed, order.Cancelled, order.Rejected]:
+ self.order = None
+
+ print('-' * 50, 'ORDER BEGIN', datetime.datetime.now())
+ print(order)
+ print('-' * 50, 'ORDER END')
+
+ def notify_trade(self, trade):
+ print('-' * 50, 'TRADE BEGIN', datetime.datetime.now())
+ print(trade)
+ print('-' * 50, 'TRADE END')
+
+ def prenext(self):
+ self.next(frompre=True)
+
+ def next(self, frompre=False):
+ txt = list()
+ txt.append('Data0')
+ txt.append('%04d' % len(self.data0))
+ dtfmt = '%Y-%m-%dT%H:%M:%S.%f'
+ txt.append('{}'.format(self.data.datetime[0]))
+ txt.append('%s' % self.data.datetime.datetime(0).strftime(dtfmt))
+ txt.append('{}'.format(self.data.open[0]))
+ txt.append('{}'.format(self.data.high[0]))
+ txt.append('{}'.format(self.data.low[0]))
+ txt.append('{}'.format(self.data.close[0]))
+ txt.append('{}'.format(self.data.volume[0]))
+ txt.append('{}'.format(self.data.openinterest[0]))
+ txt.append('{}'.format(self.sma[0]))
+ print(', '.join(txt))
+
+ if len(self.datas) > 1 and len(self.data1):
+ txt = list()
+ txt.append('Data1')
+ txt.append('%04d' % len(self.data1))
+ dtfmt = '%Y-%m-%dT%H:%M:%S.%f'
+ txt.append('{}'.format(self.data1.datetime[0]))
+ txt.append('%s' % self.data1.datetime.datetime(0).strftime(dtfmt))
+ txt.append('{}'.format(self.data1.open[0]))
+ txt.append('{}'.format(self.data1.high[0]))
+ txt.append('{}'.format(self.data1.low[0]))
+ txt.append('{}'.format(self.data1.close[0]))
+ txt.append('{}'.format(self.data1.volume[0]))
+ txt.append('{}'.format(self.data1.openinterest[0]))
+ txt.append('{}'.format(float('NaN')))
+ print(', '.join(txt))
+
+ if self.counttostop: # stop after x live lines
+ self.counttostop -= 1
+ if not self.counttostop:
+ self.env.runstop()
+ return
+
+ if not self.p.trade:
+ return
+
+ if self.datastatus and not self.position and len(self.orderid) < 1:
+ exectype = self.p.exectype if not self.p.oca else bt.Order.Limit
+ close = self.data0.close[0]
+ price = round(close * 0.90, 2)
+ self.order = self.buy(size=self.p.stake,
+ exectype=exectype,
+ price=price,
+ valid=self.p.valid,
+ transmit=not self.p.bracket)
+
+ self.orderid.append(self.order)
+
+ if self.p.bracket:
+ # low side
+ self.sell(size=self.p.stake,
+ exectype=bt.Order.Stop,
+ price=round(price * 0.90, 2),
+ valid=self.p.valid,
+ transmit=False,
+ parent=self.order)
+
+ # high side
+ self.sell(size=self.p.stake,
+ exectype=bt.Order.Limit,
+ price=round(close * 1.10, 2),
+ valid=self.p.valid,
+ transmit=True,
+ parent=self.order)
+
+ elif self.p.oca:
+ self.buy(size=self.p.stake,
+ exectype=bt.Order.Limit,
+ price=round(self.data0.close[0] * 0.80, 2),
+ oco=self.order)
+
+ elif self.p.stoptrail:
+ self.sell(size=self.p.stake,
+ exectype=bt.Order.StopTrail,
+ # price=round(self.data0.close[0] * 0.90, 2),
+ valid=self.p.valid,
+ trailamount=self.p.trailamount,
+ trailpercent=self.p.trailpercent)
+
+ elif self.p.stoptraillimit:
+ p = round(self.data0.close[0] - self.p.trailamount, 2)
+ # p = self.data0.close[0]
+ self.sell(size=self.p.stake,
+ exectype=bt.Order.StopTrailLimit,
+ price=p,
+ plimit=p + self.p.limitoffset,
+ valid=self.p.valid,
+ trailamount=self.p.trailamount,
+ trailpercent=self.p.trailpercent)
+
+ elif self.position.size > 0 and not self.p.donotsell:
+ if self.order is None:
+ self.order = self.sell(size=self.p.stake // 2,
+ exectype=bt.Order.Market,
+ price=self.data0.close[0])
+
+ elif self.order is not None and self.p.cancel:
+ if self.datastatus > self.p.cancel:
+ self.cancel(self.order)
+
+ if self.datastatus:
+ self.datastatus += 1
+
+ def start(self):
+ if self.data0.contractdetails is not None:
+ print('Timezone from ContractDetails: {}'.format(
+ self.data0.contractdetails.m_timeZoneId))
+
+ header = ['Datetime', 'Open', 'High', 'Low', 'Close', 'Volume',
+ 'OpenInterest', 'SMA']
+ print(', '.join(header))
+
+ self.done = False
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ storekwargs = dict(
+ host=args.host, port=args.port,
+ clientId=args.clientId, timeoffset=not args.no_timeoffset,
+ reconnect=args.reconnect, timeout=args.timeout,
+ notifyall=args.notifyall, _debug=args.debug
+ )
+
+ if args.usestore:
+ ibstore = bt.stores.IBStore(**storekwargs)
+
+ if args.broker:
+ if args.usestore:
+ broker = ibstore.getbroker()
+ else:
+ broker = bt.brokers.IBBroker(**storekwargs)
+
+ cerebro.setbroker(broker)
+
+ timeframe = bt.TimeFrame.TFrame(args.timeframe)
+ # Manage data1 parameters
+ tf1 = args.timeframe1
+ tf1 = bt.TimeFrame.TFrame(tf1) if tf1 is not None else timeframe
+ cp1 = args.compression1
+ cp1 = cp1 if cp1 is not None else args.compression
+
+ if args.resample or args.replay:
+ datatf = datatf1 = bt.TimeFrame.Ticks
+ datacomp = datacomp1 = 1
+ else:
+ datatf = timeframe
+ datacomp = args.compression
+ datatf1 = tf1
+ datacomp1 = cp1
+
+ fromdate = None
+ if args.fromdate:
+ dtformat = '%Y-%m-%d' + ('T%H:%M:%S' * ('T' in args.fromdate))
+ fromdate = datetime.datetime.strptime(args.fromdate, dtformat)
+
+ IBDataFactory = ibstore.getdata if args.usestore else bt.feeds.IBData
+
+ datakwargs = dict(
+ timeframe=datatf, compression=datacomp,
+ historical=args.historical, fromdate=fromdate,
+ rtbar=args.rtbar,
+ qcheck=args.qcheck,
+ what=args.what,
+ backfill_start=not args.no_backfill_start,
+ backfill=not args.no_backfill,
+ latethrough=args.latethrough,
+ tz=args.timezone
+ )
+
+ if not args.usestore and not args.broker: # neither store nor broker
+ datakwargs.update(storekwargs) # pass the store args over the data
+
+ data0 = IBDataFactory(dataname=args.data0, **datakwargs)
+
+ data1 = None
+ if args.data1 is not None:
+ if args.data1 != args.data0:
+ datakwargs['timeframe'] = datatf1
+ datakwargs['compression'] = datacomp1
+ data1 = IBDataFactory(dataname=args.data1, **datakwargs)
+ else:
+ data1 = data0
+
+ rekwargs = dict(
+ timeframe=timeframe, compression=args.compression,
+ bar2edge=not args.no_bar2edge,
+ adjbartime=not args.no_adjbartime,
+ rightedge=not args.no_rightedge,
+ takelate=not args.no_takelate,
+ )
+
+ if args.replay:
+ cerebro.replaydata(data0, **rekwargs)
+
+ if data1 is not None:
+ rekwargs['timeframe'] = tf1
+ rekwargs['compression'] = cp1
+ cerebro.replaydata(data1, **rekwargs)
+
+ elif args.resample:
+ cerebro.resampledata(data0, **rekwargs)
+
+ if data1 is not None:
+ rekwargs['timeframe'] = tf1
+ rekwargs['compression'] = cp1
+ cerebro.resampledata(data1, **rekwargs)
+
+ else:
+ cerebro.adddata(data0)
+ if data1 is not None:
+ cerebro.adddata(data1)
+
+ if args.valid is None:
+ valid = None
+ else:
+ valid = datetime.timedelta(seconds=args.valid)
+ # Add the strategy
+ cerebro.addstrategy(TestStrategy,
+ smaperiod=args.smaperiod,
+ trade=args.trade,
+ exectype=bt.Order.ExecType(args.exectype),
+ stake=args.stake,
+ stopafter=args.stopafter,
+ valid=valid,
+ cancel=args.cancel,
+ donotsell=args.donotsell,
+ stoptrail=args.stoptrail,
+ stoptraillimit=args.traillimit,
+ trailamount=args.trailamount,
+ trailpercent=args.trailpercent,
+ limitoffset=args.limitoffset,
+ oca=args.oca,
+ bracket=args.bracket)
+
+ # Live data ... avoid long data accumulation by switching to "exactbars"
+ cerebro.run(exactbars=args.exactbars)
+
+ if args.plot and args.exactbars < 1: # plot if possible
+ cerebro.plot()
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Test Interactive Brokers integration')
+
+ parser.add_argument('--exactbars', default=1, type=int,
+ required=False, action='store',
+ help='exactbars level, use 0/-1/-2 to enable plotting')
+
+ parser.add_argument('--plot',
+ required=False, action='store_true',
+ help='Plot if possible')
+
+ parser.add_argument('--stopafter', default=0, type=int,
+ required=False, action='store',
+ help='Stop after x lines of LIVE data')
+
+ parser.add_argument('--usestore',
+ required=False, action='store_true',
+ help='Use the store pattern')
+
+ parser.add_argument('--notifyall',
+ required=False, action='store_true',
+ help='Notify all messages to strategy as store notifs')
+
+ parser.add_argument('--debug',
+ required=False, action='store_true',
+ help='Display all info received form IB')
+
+ parser.add_argument('--host', default='127.0.0.1',
+ required=False, action='store',
+ help='Host for the Interactive Brokers TWS Connection')
+
+ parser.add_argument('--qcheck', default=0.5, type=float,
+ required=False, action='store',
+ help=('Timeout for periodic '
+ 'notification/resampling/replaying check'))
+
+ parser.add_argument('--port', default=7496, type=int,
+ required=False, action='store',
+ help='Port for the Interactive Brokers TWS Connection')
+
+ parser.add_argument('--clientId', default=None, type=int,
+ required=False, action='store',
+ help='Client Id to connect to TWS (default: random)')
+
+ parser.add_argument('--no-timeoffset',
+ required=False, action='store_true',
+ help=('Do not Use TWS/System time offset for non '
+ 'timestamped prices and to align resampling'))
+
+ parser.add_argument('--reconnect', default=3, type=int,
+ required=False, action='store',
+ help='Number of recconnection attempts to TWS')
+
+ parser.add_argument('--timeout', default=3.0, type=float,
+ required=False, action='store',
+ help='Timeout between reconnection attempts to TWS')
+
+ parser.add_argument('--data0', default=None,
+ required=True, action='store',
+ help='data 0 into the system')
+
+ parser.add_argument('--data1', default=None,
+ required=False, action='store',
+ help='data 1 into the system')
+
+ parser.add_argument('--timezone', default=None,
+ required=False, action='store',
+ help='timezone to get time output into (pytz names)')
+
+ parser.add_argument('--what', default=None,
+ required=False, action='store',
+ help='specific price type for historical requests')
+
+ parser.add_argument('--no-backfill_start',
+ required=False, action='store_true',
+ help='Disable backfilling at the start')
+
+ parser.add_argument('--latethrough',
+ required=False, action='store_true',
+ help=('if resampling replaying, adjusting time '
+ 'and disabling time offset, let late samples '
+ 'through'))
+
+ parser.add_argument('--no-backfill',
+ required=False, action='store_true',
+ help='Disable backfilling after a disconnection')
+
+ parser.add_argument('--rtbar', default=False,
+ required=False, action='store_true',
+ help='Use 5 seconds real time bar updates if possible')
+
+ parser.add_argument('--historical',
+ required=False, action='store_true',
+ help='do only historical download')
+
+ parser.add_argument('--fromdate',
+ required=False, action='store',
+ help=('Starting date for historical download '
+ 'with format: YYYY-MM-DD[THH:MM:SS]'))
+
+ parser.add_argument('--smaperiod', default=5, type=int,
+ required=False, action='store',
+ help='Period to apply to the Simple Moving Average')
+
+ pgroup = parser.add_mutually_exclusive_group(required=False)
+
+ pgroup.add_argument('--replay',
+ required=False, action='store_true',
+ help='replay to chosen timeframe')
+
+ pgroup.add_argument('--resample',
+ required=False, action='store_true',
+ help='resample to chosen timeframe')
+
+ parser.add_argument('--timeframe', default=bt.TimeFrame.Names[0],
+ choices=bt.TimeFrame.Names,
+ required=False, action='store',
+ help='TimeFrame for Resample/Replay')
+
+ parser.add_argument('--compression', default=1, type=int,
+ required=False, action='store',
+ help='Compression for Resample/Replay')
+
+ parser.add_argument('--timeframe1', default=None,
+ choices=bt.TimeFrame.Names,
+ required=False, action='store',
+ help='TimeFrame for Resample/Replay - Data1')
+
+ parser.add_argument('--compression1', default=None, type=int,
+ required=False, action='store',
+ help='Compression for Resample/Replay - Data1')
+
+ parser.add_argument('--no-takelate',
+ required=False, action='store_true',
+ help=('resample/replay, do not accept late samples '
+ 'in new bar if the data source let them through '
+ '(latethrough)'))
+
+ parser.add_argument('--no-bar2edge',
+ required=False, action='store_true',
+ help='no bar2edge for resample/replay')
+
+ parser.add_argument('--no-adjbartime',
+ required=False, action='store_true',
+ help='no adjbartime for resample/replay')
+
+ parser.add_argument('--no-rightedge',
+ required=False, action='store_true',
+ help='no rightedge for resample/replay')
+
+ parser.add_argument('--broker',
+ required=False, action='store_true',
+ help='Use IB as broker')
+
+ parser.add_argument('--trade',
+ required=False, action='store_true',
+ help='Do Sample Buy/Sell operations')
+
+ parser.add_argument('--donotsell',
+ required=False, action='store_true',
+ help='Do not sell after a buy')
+
+ parser.add_argument('--exectype', default=bt.Order.ExecTypes[0],
+ choices=bt.Order.ExecTypes,
+ required=False, action='store',
+ help='Execution to Use when opening position')
+
+ parser.add_argument('--stake', default=10, type=int,
+ required=False, action='store',
+ help='Stake to use in buy operations')
+
+ parser.add_argument('--valid', default=None, type=int,
+ required=False, action='store',
+ help='Seconds to keep the order alive (0 means DAY)')
+
+ pgroup = parser.add_mutually_exclusive_group(required=False)
+ pgroup.add_argument('--stoptrail',
+ required=False, action='store_true',
+ help='Issue a stoptraillimit after buy( do not sell')
+
+ pgroup.add_argument('--traillimit',
+ required=False, action='store_true',
+ help='Issue a stoptrail after buying (do not sell')
+
+ pgroup.add_argument('--oca',
+ required=False, action='store_true',
+ help='Test oca by putting 2 orders in a group')
+
+ pgroup.add_argument('--bracket',
+ required=False, action='store_true',
+ help='Test bracket orders by issuing high/low sides')
+
+ pgroup = parser.add_mutually_exclusive_group(required=False)
+ pgroup.add_argument('--trailamount', default=None, type=float,
+ required=False, action='store',
+ help='trailamount for StopTrail order')
+
+ pgroup.add_argument('--trailpercent', default=None, type=float,
+ required=False, action='store',
+ help='trailpercent for StopTrail order')
+
+ parser.add_argument('--limitoffset', default=None, type=float,
+ required=False, action='store',
+ help='limitoffset for StopTrailLimit orders')
+
+ parser.add_argument('--cancel', default=0, type=int,
+ required=False, action='store',
+ help=('Cancel a buy order after n bars in operation,'
+ ' to be combined with orders like Limit'))
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/kselrsi/__init__.py b/backtrader/source/samples/kselrsi/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/kselrsi/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/kselrsi/ksignal.py b/backtrader/source/samples/kselrsi/ksignal.py
new file mode 100644
index 0000000000000000000000000000000000000000..3b312401473ee6d6043471db3e135f70e542adec
--- /dev/null
+++ b/backtrader/source/samples/kselrsi/ksignal.py
@@ -0,0 +1,126 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class TheStrategy(bt.SignalStrategy):
+ params = dict(rsi_per=14, rsi_upper=65.0, rsi_lower=35.0, rsi_out=50.0,
+ warmup=35)
+
+ def notify_order(self, order):
+ super(TheStrategy, self).notify_order(order)
+ if order.status == order.Completed:
+ print('%s: Size: %d @ Price %f' %
+ ('buy' if order.isbuy() else 'sell',
+ order.executed.size, order.executed.price))
+
+ d = order.data
+ print('Close[-1]: %f - Open[0]: %f' % (d.close[-1], d.open[0]))
+
+ def __init__(self):
+ # Original code needs artificial warmup phase - hidden sma to replic
+ if self.p.warmup:
+ bt.indicators.SMA(period=self.p.warmup, plot=False)
+
+ rsi = bt.indicators.RSI(period=self.p.rsi_per,
+ upperband=self.p.rsi_upper,
+ lowerband=self.p.rsi_lower)
+
+ crossup = bt.ind.CrossUp(rsi, self.p.rsi_lower)
+ self.signal_add(bt.SIGNAL_LONG, crossup)
+ self.signal_add(bt.SIGNAL_LONGEXIT, -(rsi > self.p.rsi_out))
+
+ crossdown = bt.ind.CrossDown(rsi, self.p.rsi_upper)
+ self.signal_add(bt.SIGNAL_SHORT, -crossdown)
+ self.signal_add(bt.SIGNAL_SHORTEXIT, rsi < self.p.rsi_out)
+
+
+def runstrat(pargs=None):
+ args = parse_args(pargs)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+ cerebro.broker.set_coc(args.coc)
+ data0 = bt.feeds.YahooFinanceData(
+ dataname=args.data,
+ fromdate=datetime.datetime.strptime(args.fromdate, '%Y-%m-%d'),
+ todate=datetime.datetime.strptime(args.todate, '%Y-%m-%d'),
+ round=False)
+
+ cerebro.adddata(data0)
+
+ cerebro.addsizer(bt.sizers.FixedSize, stake=args.stake)
+ cerebro.addstrategy(TheStrategy, **(eval('dict(' + args.strat + ')')))
+ cerebro.addobserver(bt.observers.Value)
+ cerebro.addobserver(bt.observers.Trades)
+ cerebro.addobserver(bt.observers.BuySell, barplot=True)
+
+ cerebro.run(stdstats=False)
+ if args.plot:
+ cerebro.plot(**(eval('dict(' + args.plot + ')')))
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample after post at keithselover.wordpress.com')
+
+ parser.add_argument('--data', required=False, default='XOM',
+ help='Yahoo Ticker')
+
+ parser.add_argument('--fromdate', required=False, default='2012-09-01',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False, default='2016-01-01',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--cash', required=False, action='store', type=float,
+ default=100000, help=('Cash to start with'))
+
+ parser.add_argument('--stake', required=False, action='store', type=int,
+ default=100, help=('Cash to start with'))
+
+ parser.add_argument('--coc', required=False, action='store_true',
+ help=('Buy on close of same bar as order is issued'))
+
+ parser.add_argument('--strat', required=False, action='store', default='',
+ help=('Arguments for the strategy'))
+
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const='{}',
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/lineplotter/__init__.py b/backtrader/source/samples/lineplotter/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/lineplotter/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/lineplotter/lineplotter.py b/backtrader/source/samples/lineplotter/lineplotter.py
new file mode 100644
index 0000000000000000000000000000000000000000..a641824f6aedb64b1227d5525b70694c32b52717
--- /dev/null
+++ b/backtrader/source/samples/lineplotter/lineplotter.py
@@ -0,0 +1,110 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = (
+ ('ondata', False),
+ )
+
+ def __init__(self):
+ if not self.p.ondata:
+ a = self.data.high - self.data.low
+ else:
+ a = 1.05 * (self.data.high + self.data.low) / 2.0
+
+ b = bt.LinePlotterIndicator(a, name='hilo')
+ b.plotinfo.subplot = not self.p.ondata
+
+
+def runstrat(pargs=None):
+ args = parse_args(pargs)
+
+ cerebro = bt.Cerebro()
+
+ dkwargs = dict()
+ # Get the dates from the args
+ if args.fromdate is not None:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+ if args.todate is not None:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ data = bt.feeds.BacktraderCSVData(dataname=args.data, **dkwargs)
+ cerebro.adddata(data)
+
+ cerebro.addstrategy(St, ondata=args.ondata)
+ cerebro.run(stdstats=False)
+
+ # Plot if requested
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Fake Indicator')
+
+ parser.add_argument('--data', '-d',
+ default='../../datas/2005-2006-day-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument('--fromdate', '-f',
+ default=None,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default=None,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--ondata', '-o', action='store_true',
+ help='Plot fake indicator on the data')
+
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/lrsi/__init__.py b/backtrader/source/samples/lrsi/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/lrsi/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/lrsi/lrsi-test.py b/backtrader/source/samples/lrsi/lrsi-test.py
new file mode 100644
index 0000000000000000000000000000000000000000..66971431200fc7da9c367ffa6ef9f76f7653e267
--- /dev/null
+++ b/backtrader/source/samples/lrsi/lrsi-test.py
@@ -0,0 +1,119 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = (
+ )
+
+ def __init__(self):
+ mid = (self.data.high + self.data.low) / 2.0
+ bt.ind.LaguerreRSI(mid)
+ bt.ind.LaguerreRSI3(mid)
+ bt.ind.LaguerreRSI2(mid)
+ pass
+
+ def next(self):
+ pass
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'lrsi sampl'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2005-2006-day-001.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/macd-settings/__init__.py b/backtrader/source/samples/macd-settings/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/macd-settings/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/macd-settings/macd-settings.py b/backtrader/source/samples/macd-settings/macd-settings.py
new file mode 100644
index 0000000000000000000000000000000000000000..799f0397a78df6ee03bf9a44923f4177b3bb29a3
--- /dev/null
+++ b/backtrader/source/samples/macd-settings/macd-settings.py
@@ -0,0 +1,289 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+import random
+
+import backtrader as bt
+
+BTVERSION = tuple(int(x) for x in bt.__version__.split('.'))
+
+
+class FixedPerc(bt.Sizer):
+ '''This sizer simply returns a fixed size for any operation
+
+ Params:
+ - ``perc`` (default: ``0.20``) Perc of cash to allocate for operation
+ '''
+
+ params = (
+ ('perc', 0.20), # perc of cash to use for operation
+ )
+
+ def _getsizing(self, comminfo, cash, data, isbuy):
+ cashtouse = self.p.perc * cash
+ if BTVERSION > (1, 7, 1, 93):
+ size = comminfo.getsize(data.close[0], cashtouse)
+ else:
+ size = cashtouse // data.close[0]
+ return size
+
+
+class TheStrategy(bt.Strategy):
+ '''
+ This strategy is loosely based on some of the examples from the Van
+ K. Tharp book: *Trade Your Way To Financial Freedom*. The logic:
+
+ - Enter the market if:
+ - The MACD.macd line crosses the MACD.signal line to the upside
+ - The Simple Moving Average has a negative direction in the last x
+ periods (actual value below value x periods ago)
+
+ - Set a stop price x times the ATR value away from the close
+
+ - If in the market:
+
+ - Check if the current close has gone below the stop price. If yes,
+ exit.
+ - If not, update the stop price if the new stop price would be higher
+ than the current
+ '''
+
+ params = (
+ # Standard MACD Parameters
+ ('macd1', 12),
+ ('macd2', 26),
+ ('macdsig', 9),
+ ('atrperiod', 14), # ATR Period (standard)
+ ('atrdist', 3.0), # ATR distance for stop price
+ ('smaperiod', 30), # SMA Period (pretty standard)
+ ('dirperiod', 10), # Lookback period to consider SMA trend direction
+ )
+
+ def notify_order(self, order):
+ if order.status == order.Completed:
+ pass
+
+ if not order.alive():
+ self.order = None # indicate no order is pending
+
+ def __init__(self):
+ self.macd = bt.indicators.MACD(self.data,
+ period_me1=self.p.macd1,
+ period_me2=self.p.macd2,
+ period_signal=self.p.macdsig)
+
+ # Cross of macd.macd and macd.signal
+ self.mcross = bt.indicators.CrossOver(self.macd.macd, self.macd.signal)
+
+ # To set the stop price
+ self.atr = bt.indicators.ATR(self.data, period=self.p.atrperiod)
+
+ # Control market trend
+ self.sma = bt.indicators.SMA(self.data, period=self.p.smaperiod)
+ self.smadir = self.sma - self.sma(-self.p.dirperiod)
+
+ def start(self):
+ self.order = None # sentinel to avoid operrations on pending order
+
+ def next(self):
+ if self.order:
+ return # pending order execution
+
+ if not self.position: # not in the market
+ if self.mcross[0] > 0.0 and self.smadir < 0.0:
+ self.order = self.buy()
+ pdist = self.atr[0] * self.p.atrdist
+ self.pstop = self.data.close[0] - pdist
+
+ else: # in the market
+ pclose = self.data.close[0]
+ pstop = self.pstop
+
+ if pclose < pstop:
+ self.close() # stop met - get out
+ else:
+ pdist = self.atr[0] * self.p.atrdist
+ # Update only if greater than
+ self.pstop = max(pstop, pclose - pdist)
+
+
+DATASETS = {
+ 'yhoo': '../../datas/yhoo-1996-2014.txt',
+ 'orcl': '../../datas/orcl-1995-2014.txt',
+ 'nvda': '../../datas/nvda-1999-2014.txt',
+}
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+ comminfo = bt.commissions.CommInfo_Stocks_Perc(commission=args.commperc,
+ percabs=True)
+
+ cerebro.broker.addcommissioninfo(comminfo)
+
+ dkwargs = dict()
+ if args.fromdate is not None:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate is not None:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ # if dataset is None, args.data has been given
+ dataname = DATASETS.get(args.dataset, args.data)
+ data0 = bt.feeds.YahooFinanceCSVData(dataname=dataname, **dkwargs)
+ cerebro.adddata(data0)
+
+ cerebro.addstrategy(TheStrategy,
+ macd1=args.macd1, macd2=args.macd2,
+ macdsig=args.macdsig,
+ atrperiod=args.atrperiod,
+ atrdist=args.atrdist,
+ smaperiod=args.smaperiod,
+ dirperiod=args.dirperiod)
+
+ cerebro.addsizer(FixedPerc, perc=args.cashalloc)
+
+ # Add TimeReturn Analyzers for self and the benchmark data
+ cerebro.addanalyzer(bt.analyzers.TimeReturn, _name='alltime_roi',
+ timeframe=bt.TimeFrame.NoTimeFrame)
+
+ cerebro.addanalyzer(bt.analyzers.TimeReturn, data=data0, _name='benchmark',
+ timeframe=bt.TimeFrame.NoTimeFrame)
+
+ # Add TimeReturn Analyzers fot the annuyl returns
+ cerebro.addanalyzer(bt.analyzers.TimeReturn, timeframe=bt.TimeFrame.Years)
+ # Add a SharpeRatio
+ cerebro.addanalyzer(bt.analyzers.SharpeRatio, timeframe=bt.TimeFrame.Years,
+ riskfreerate=args.riskfreerate)
+
+ # Add SQN to qualify the trades
+ cerebro.addanalyzer(bt.analyzers.SQN)
+ cerebro.addobserver(bt.observers.DrawDown) # visualize the drawdown evol
+
+ results = cerebro.run()
+ st0 = results[0]
+
+ for alyzer in st0.analyzers:
+ alyzer.print()
+
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for Tharp example with MACD')
+
+ group1 = parser.add_mutually_exclusive_group(required=True)
+ group1.add_argument('--data', required=False, default=None,
+ help='Specific data to be read in')
+
+ group1.add_argument('--dataset', required=False, action='store',
+ default=None, choices=DATASETS.keys(),
+ help='Choose one of the predefined data sets')
+
+ parser.add_argument('--fromdate', required=False,
+ default='2005-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False,
+ default=None,
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--cash', required=False, action='store',
+ type=float, default=50000,
+ help=('Cash to start with'))
+
+ parser.add_argument('--cashalloc', required=False, action='store',
+ type=float, default=0.20,
+ help=('Perc (abs) of cash to allocate for ops'))
+
+ parser.add_argument('--commperc', required=False, action='store',
+ type=float, default=0.0033,
+ help=('Perc (abs) commision in each operation. '
+ '0.001 -> 0.1%%, 0.01 -> 1%%'))
+
+ parser.add_argument('--macd1', required=False, action='store',
+ type=int, default=12,
+ help=('MACD Period 1 value'))
+
+ parser.add_argument('--macd2', required=False, action='store',
+ type=int, default=26,
+ help=('MACD Period 2 value'))
+
+ parser.add_argument('--macdsig', required=False, action='store',
+ type=int, default=9,
+ help=('MACD Signal Period value'))
+
+ parser.add_argument('--atrperiod', required=False, action='store',
+ type=int, default=14,
+ help=('ATR Period To Consider'))
+
+ parser.add_argument('--atrdist', required=False, action='store',
+ type=float, default=3.0,
+ help=('ATR Factor for stop price calculation'))
+
+ parser.add_argument('--smaperiod', required=False, action='store',
+ type=int, default=30,
+ help=('Period for the moving average'))
+
+ parser.add_argument('--dirperiod', required=False, action='store',
+ type=int, default=10,
+ help=('Period for SMA direction calculation'))
+
+ parser.add_argument('--riskfreerate', required=False, action='store',
+ type=float, default=0.01,
+ help=('Risk free rate in Perc (abs) of the asset for '
+ 'the Sharpe Ratio'))
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/memory-savings/__init__.py b/backtrader/source/samples/memory-savings/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/memory-savings/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/memory-savings/memory-savings.py b/backtrader/source/samples/memory-savings/memory-savings.py
new file mode 100644
index 0000000000000000000000000000000000000000..e5a456a62a8213c86c05820cd6c7d6d69537e4d6
--- /dev/null
+++ b/backtrader/source/samples/memory-savings/memory-savings.py
@@ -0,0 +1,162 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import sys
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+import backtrader.utils.flushfile
+
+
+class TestInd(bt.Indicator):
+ lines = ('a', 'b')
+
+ def __init__(self):
+ self.lines.a = b = self.data.close - self.data.high
+ self.lines.b = btind.SMA(b, period=20)
+
+
+class St(bt.Strategy):
+ params = (
+ ('datalines', False),
+ ('lendetails', False),
+ )
+
+ def __init__(self):
+ btind.SMA()
+ btind.Stochastic()
+ btind.RSI()
+ btind.MACD()
+ btind.CCI()
+ TestInd().plotinfo.plot = False
+
+ def next(self):
+ if self.p.datalines:
+ txt = ','.join(
+ ['%04d' % len(self),
+ '%04d' % len(self.data0),
+ self.data.datetime.date(0).isoformat()]
+ )
+
+ print(txt)
+
+ def loglendetails(self, msg):
+ if self.p.lendetails:
+ print(msg)
+
+ def stop(self):
+ super(St, self).stop()
+
+ tlen = 0
+ self.loglendetails('-- Evaluating Datas')
+ for i, data in enumerate(self.datas):
+ tdata = 0
+ for line in data.lines:
+ tdata += len(line.array)
+ tline = len(line.array)
+
+ tlen += tdata
+ logtxt = '---- Data {} Total Cells {} - Cells per Line {}'
+ self.loglendetails(logtxt.format(i, tdata, tline))
+
+ self.loglendetails('-- Evaluating Indicators')
+ for i, ind in enumerate(self.getindicators()):
+ tlen += self.rindicator(ind, i, 0)
+
+ self.loglendetails('-- Evaluating Observers')
+ for i, obs in enumerate(self.getobservers()):
+ tobs = 0
+ for line in obs.lines:
+ tobs += len(line.array)
+ tline = len(line.array)
+
+ tlen += tdata
+ logtxt = '---- Observer {} Total Cells {} - Cells per Line {}'
+ self.loglendetails(logtxt.format(i, tobs, tline))
+
+ print('Total memory cells used: {}'.format(tlen))
+
+ def rindicator(self, ind, i, deep):
+ tind = 0
+ for line in ind.lines:
+ tind += len(line.array)
+ tline = len(line.array)
+
+ thisind = tind
+
+ tsub = 0
+ for j, sind in enumerate(ind.getindicators()):
+ tsub += self.rindicator(sind, j, deep + 1)
+
+ iname = ind.__class__.__name__.split('.')[-1]
+
+ logtxt = '---- Indicator {}.{} {} Total Cells {} - Cells per line {}'
+ self.loglendetails(logtxt.format(deep, i, iname, tind, tline))
+ logtxt = '---- SubIndicators Total Cells {}'
+ self.loglendetails(logtxt.format(deep, i, iname, tsub))
+
+ return tind + tsub
+
+
+def runstrat():
+ args = parse_args()
+
+ cerebro = bt.Cerebro()
+ data = btfeeds.YahooFinanceCSVData(dataname=args.data)
+ cerebro.adddata(data)
+ cerebro.addstrategy(
+ St, datalines=args.datalines, lendetails=args.lendetails)
+
+ cerebro.run(runonce=False, exactbars=args.save)
+ if args.plot:
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Check Memory Savings')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/yhoo-1996-2015.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--save', required=False, type=int, default=0,
+ help=('Memory saving level [1, 0, -1, -2]'))
+
+ parser.add_argument('--datalines', required=False, action='store_true',
+ help=('Print data lines'))
+
+ parser.add_argument('--lendetails', required=False, action='store_true',
+ help=('Print individual items memory usage'))
+
+ parser.add_argument('--plot', required=False, action='store_true',
+ help=('Plot the result'))
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/mixing-timeframes/__init__.py b/backtrader/source/samples/mixing-timeframes/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/mixing-timeframes/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/mixing-timeframes/mixing-timeframes.py b/backtrader/source/samples/mixing-timeframes/mixing-timeframes.py
new file mode 100644
index 0000000000000000000000000000000000000000..0385a685f7df65c79c2ebdec96cf71938010fe63
--- /dev/null
+++ b/backtrader/source/samples/mixing-timeframes/mixing-timeframes.py
@@ -0,0 +1,92 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+import backtrader.utils.flushfile
+
+
+class St(bt.Strategy):
+ params = dict(multi=True)
+
+ def __init__(self):
+ self.pp = pp = btind.PivotPoint(self.data1)
+ pp.plotinfo.plot = False # deactivate plotting
+
+ if self.p.multi:
+ pp1 = pp() # couple the entire indicators
+ self.sellsignal = self.data0.close < pp1.s1
+ else:
+ self.sellsignal = self.data0.close < pp.s1()
+
+ def next(self):
+ txt = ','.join(
+ ['%04d' % len(self),
+ '%04d' % len(self.data0),
+ '%04d' % len(self.data1),
+ self.data.datetime.date(0).isoformat(),
+ '%.2f' % self.data0.close[0],
+ '%.2f' % self.pp.s1[0],
+ '%.2f' % self.sellsignal[0]])
+
+ print(txt)
+
+
+def runstrat():
+ args = parse_args()
+
+ cerebro = bt.Cerebro()
+ data = btfeeds.BacktraderCSVData(dataname=args.data)
+ cerebro.adddata(data)
+ cerebro.resampledata(data, timeframe=bt.TimeFrame.Months)
+
+ cerebro.addstrategy(St, multi=args.multi)
+
+ cerebro.run(stdstats=False, runonce=False)
+ if args.plot:
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for pivot point and cross plotting')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/2005-2006-day-001.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--multi', required=False, action='store_true',
+ help='Couple all lines of the indicator')
+
+ parser.add_argument('--plot', required=False, action='store_true',
+ help=('Plot the result'))
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/multi-copy/__init__.py b/backtrader/source/samples/multi-copy/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/multi-copy/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/multi-copy/multi-copy.py b/backtrader/source/samples/multi-copy/multi-copy.py
new file mode 100644
index 0000000000000000000000000000000000000000..a7dee85b5956f50d92aa61436de031a0112c313c
--- /dev/null
+++ b/backtrader/source/samples/multi-copy/multi-copy.py
@@ -0,0 +1,249 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+import random
+
+import backtrader as bt
+
+
+class TheStrategy(bt.Strategy):
+ '''
+ This strategy is capable of:
+
+ - Going Long with a Moving Average upwards CrossOver
+
+ - Going Long again with a MACD upwards CrossOver
+
+ - Closing the aforementioned longs with the corresponding downwards
+ crossovers
+ '''
+
+ params = (
+ ('myname', None),
+ ('dtarget', None),
+ ('stake', 100),
+ ('macd1', 12),
+ ('macd2', 26),
+ ('macdsig', 9),
+ ('sma1', 10),
+ ('sma2', 30),
+ )
+
+ def notify_order(self, order):
+ if not order.alive():
+ if not order.isbuy(): # going flat
+ self.order = 0
+
+ if order.status == order.Completed:
+ tfields = [self.p.myname,
+ len(self),
+ order.data.datetime.date(),
+ order.data._name,
+ 'BUY' * order.isbuy() or 'SELL',
+ order.executed.size, order.executed.price]
+
+ print(','.join(str(x) for x in tfields))
+
+ def __init__(self):
+ # Choose data to buy from
+ self.dtarget = self.getdatabyname(self.p.dtarget)
+
+ # Create indicators
+ sma1 = bt.ind.SMA(self.dtarget, period=self.p.sma1)
+ sma2 = bt.ind.SMA(self.dtarget, period=self.p.sma2)
+ self.smasig = bt.ind.CrossOver(sma1, sma2)
+
+ macd = bt.ind.MACD(self.dtarget,
+ period_me1=self.p.macd1,
+ period_me2=self.p.macd2,
+ period_signal=self.p.macdsig)
+
+ # Cross of macd.macd and macd.signal
+ self.macdsig = bt.ind.CrossOver(macd.macd, macd.signal)
+
+ def start(self):
+ self.order = 0 # sentinel to avoid operrations on pending order
+
+ tfields = ['Name', 'Length', 'Datetime', 'Operation/Names',
+ 'Position1.Size', 'Position2.Size']
+ print(','.join(str(x) for x in tfields))
+
+ def next(self):
+ tfields = [self.p.myname,
+ len(self),
+ self.data.datetime.date(),
+ self.getposition(self.data0).size]
+ if len(self.datas) > 1:
+ tfields.append(self.getposition(self.data1).size)
+
+ print(','.join(str(x) for x in tfields))
+
+ buysize = self.p.stake // 2 # let each signal buy half
+ if self.macdsig[0] > 0.0:
+ self.buy(data=self.dtarget, size=buysize)
+
+ if self.smasig[0] > 0.0:
+ self.buy(data=self.dtarget, size=buysize)
+
+ size = self.getposition(self.dtarget).size
+
+ # if 2x in the market, let each potential close ... close 1/2
+ if size == self.p.stake:
+ size //= 2
+
+ if self.macdsig[0] < 0.0:
+ self.close(data=self.dtarget, size=size)
+
+ if self.smasig[0] < 0.0:
+ self.close(data=self.dtarget, size=size)
+
+
+class TheStrategy2(TheStrategy):
+ '''
+ Subclass of TheStrategy to simply change the parameters
+
+ '''
+ params = (
+ ('stake', 200),
+ ('macd1', 15),
+ ('macd2', 22),
+ ('macdsig', 7),
+ ('sma1', 15),
+ ('sma2', 50),
+ )
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+
+ dkwargs = dict()
+ if args.fromdate is not None:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate is not None:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ # if dataset is None, args.data has been given
+ data0 = bt.feeds.YahooFinanceCSVData(dataname=args.data0, **dkwargs)
+ cerebro.adddata(data0, name='MyData0')
+
+ st0kwargs = dict()
+ if args.st0 is not None:
+ tmpdict = eval('dict(' + args.st0 + ')') # args were passed
+ st0kwargs.update(tmpdict)
+
+ cerebro.addstrategy(TheStrategy,
+ myname='St1', dtarget='MyData0', **st0kwargs)
+
+ if args.copydata:
+ data1 = data0.copyas('MyData1')
+ cerebro.adddata(data1)
+ dtarget = 'MyData1'
+
+ else: # use same target
+ dtarget = 'MyData0'
+
+ st1kwargs = dict()
+ if args.st1 is not None:
+ tmpdict = eval('dict(' + args.st1 + ')') # args were passed
+ st1kwargs.update(tmpdict)
+
+ cerebro.addstrategy(TheStrategy2,
+ myname='St2', dtarget=dtarget, **st1kwargs)
+
+ results = cerebro.run()
+
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for Tharp example with MACD')
+
+ # pgroup = parser.add_mutually_exclusive_group(required=True)
+ parser.add_argument('--data0', required=False,
+ default='../../datas/yhoo-1996-2014.txt',
+ help='Specific data0 to be read in')
+
+ parser.add_argument('--fromdate', required=False,
+ default='2005-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False,
+ default='2006-12-31',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--cash', required=False, action='store',
+ type=float, default=50000,
+ help=('Cash to start with'))
+
+ parser.add_argument('--copydata', required=False, action='store_true',
+ help=('Copy Data for 2nd strategy'))
+
+ parser.add_argument('--st0', required=False, action='store',
+ default=None,
+ help=('Params for 1st strategy: as a list of comma '
+ 'separated name=value pairs like: '
+ 'stake=100,macd1=12,macd2=26,macdsig=9,'
+ 'sma1=10,sma2=30'))
+
+ parser.add_argument('--st1', required=False, action='store',
+ default=None,
+ help=('Params for 1st strategy: as a list of comma '
+ 'separated name=value pairs like: '
+ 'stake=200,macd1=15,macd2=22,macdsig=7,'
+ 'sma1=15,sma2=50'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/multi-example/__init__.py b/backtrader/source/samples/multi-example/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/multi-example/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/multi-example/mult-values.py b/backtrader/source/samples/multi-example/mult-values.py
new file mode 100644
index 0000000000000000000000000000000000000000..a0e82f293cee3c957ed1797cc2e70a804cf2cd03
--- /dev/null
+++ b/backtrader/source/samples/multi-example/mult-values.py
@@ -0,0 +1,219 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class TestSizer(bt.Sizer):
+ params = dict(stake=1)
+
+ def _getsizing(self, comminfo, cash, data, isbuy):
+ dt, i = self.strategy.datetime.date(), data._id
+ s = self.p.stake * (1 + (not isbuy))
+ print('{} Data {} OType {} Sizing to {}'.format(
+ dt, data._name, ('buy' * isbuy) or 'sell', s))
+
+ return s
+
+
+class St(bt.Strategy):
+ params = dict(
+ enter=[1, 3, 4], # data ids are 1 based
+ hold=[7, 10, 15], # data ids are 1 based
+ usebracket=True,
+ rawbracket=True,
+ pentry=0.015,
+ plimits=0.03,
+ valid=10,
+ )
+
+ def notify_order(self, order):
+ if order.status == order.Submitted:
+ return
+
+ dt, dn = self.datetime.date(), order.data._name
+ print('{} {} Order {} Status {}'.format(
+ dt, dn, order.ref, order.getstatusname())
+ )
+
+ whichord = ['main', 'stop', 'limit', 'close']
+ if not order.alive(): # not alive - nullify
+ dorders = self.o[order.data]
+ idx = dorders.index(order)
+ dorders[idx] = None
+ print('-- No longer alive {} Ref'.format(whichord[idx]))
+
+ if all(x is None for x in dorders):
+ dorders[:] = [] # empty list - New orders allowed
+
+ def __init__(self):
+ self.o = dict() # orders per data (main, stop, limit, manual-close)
+ self.holding = dict() # holding periods per data
+
+ def next(self):
+ for i, d in enumerate(self.datas):
+ dt, dn = self.datetime.date(), d._name
+ pos = self.getposition(d).size
+ print('{} {} Position {}'.format(dt, dn, pos))
+
+ if not pos and not self.o.get(d, None): # no market / no orders
+ if dt.weekday() == self.p.enter[i]:
+ if not self.p.usebracket:
+ self.o[d] = [self.buy(data=d)]
+ print('{} {} Buy {}'.format(dt, dn, self.o[d][0].ref))
+
+ else:
+ p = d.close[0] * (1.0 - self.p.pentry)
+ pstp = p * (1.0 - self.p.plimits)
+ plmt = p * (1.0 + self.p.plimits)
+ valid = datetime.timedelta(self.p.valid)
+
+ if self.p.rawbracket:
+ o1 = self.buy(data=d, exectype=bt.Order.Limit,
+ price=p, valid=valid, transmit=False)
+
+ o2 = self.sell(data=d, exectype=bt.Order.Stop,
+ price=pstp, size=o1.size,
+ transmit=False, parent=o1)
+
+ o3 = self.sell(data=d, exectype=bt.Order.Limit,
+ price=plmt, size=o1.size,
+ transmit=True, parent=o1)
+
+ self.o[d] = [o1, o2, o3]
+
+ else:
+ self.o[d] = self.buy_bracket(
+ data=d, price=p, stopprice=pstp,
+ limitprice=plmt, oargs=dict(valid=valid))
+
+ print('{} {} Main {} Stp {} Lmt {}'.format(
+ dt, dn, *(x.ref for x in self.o[d])))
+
+ self.holding[d] = 0
+
+ elif pos: # exiting can also happen after a number of days
+ self.holding[d] += 1
+ if self.holding[d] >= self.p.hold[i]:
+ o = self.close(data=d)
+ self.o[d].append(o) # manual order to list of orders
+ print('{} {} Manual Close {}'.format(dt, dn, o.ref))
+ if self.p.usebracket:
+ self.cancel(self.o[d][1]) # cancel stop side
+ print('{} {} Cancel {}'.format(dt, dn, self.o[d][1]))
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.YahooFinanceCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0, name='d0')
+
+ data1 = bt.feeds.YahooFinanceCSVData(dataname=args.data1, **kwargs)
+ data1.plotinfo.plotmaster = data0
+ cerebro.adddata(data1, name='d1')
+
+ data2 = bt.feeds.YahooFinanceCSVData(dataname=args.data2, **kwargs)
+ data2.plotinfo.plotmaster = data0
+ cerebro.adddata(data2, name='d2')
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+ cerebro.broker.setcommission(commission=0.001)
+
+ # Sizer
+ # cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+ cerebro.addsizer(TestSizer, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Multiple Values and Brackets'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/nvda-1999-2014.txt',
+ required=False, help='Data0 to read in')
+
+ parser.add_argument('--data1', default='../../datas/yhoo-1996-2014.txt',
+ required=False, help='Data1 to read in')
+
+ parser.add_argument('--data2', default='../../datas/orcl-1995-2014.txt',
+ required=False, help='Data1 to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='2001-01-01',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='2007-01-01',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/multidata-strategy/__init__.py b/backtrader/source/samples/multidata-strategy/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/multidata-strategy/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/multidata-strategy/multidata-strategy-unaligned.py b/backtrader/source/samples/multidata-strategy/multidata-strategy-unaligned.py
new file mode 100644
index 0000000000000000000000000000000000000000..8097eaf9bb51a16277791a8bd3e76f9389dbc26c
--- /dev/null
+++ b/backtrader/source/samples/multidata-strategy/multidata-strategy-unaligned.py
@@ -0,0 +1,214 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+# The above could be sent to an independent module
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+
+
+class MultiDataStrategy(bt.Strategy):
+ '''
+ This strategy operates on 2 datas. The expectation is that the 2 datas are
+ correlated and the 2nd data is used to generate signals on the 1st
+
+ - Buy/Sell Operationss will be executed on the 1st data
+ - The signals are generated using a Simple Moving Average on the 2nd data
+ when the close price crosses upwwards/downwards
+
+ The strategy is a long-only strategy
+ '''
+ params = dict(
+ period=15,
+ stake=10,
+ printout=True,
+ )
+
+ def log(self, txt, dt=None):
+ if self.p.printout:
+ dt = dt or self.data.datetime[0]
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+
+ def notify_order(self, order):
+ if order.status in [bt.Order.Submitted, bt.Order.Accepted]:
+ return # Await further notifications
+
+ if order.status == order.Completed:
+ if order.isbuy():
+ buytxt = 'BUY COMPLETE, %.2f' % order.executed.price
+ self.log(buytxt, order.executed.dt)
+ else:
+ selltxt = 'SELL COMPLETE, %.2f' % order.executed.price
+ self.log(selltxt, order.executed.dt)
+
+ elif order.status in [order.Expired, order.Canceled, order.Margin]:
+ self.log('%s ,' % order.Status[order.status])
+ pass # Simply log
+
+ # Allow new orders
+ self.orderid = None
+
+ def __init__(self):
+ # To control operation entries
+ self.orderid = None
+
+ # Create SMA on 2nd data
+ sma = btind.MovAv.SMA(self.data1, period=self.p.period)
+ # Create a CrossOver Signal from close an moving average
+ self.signal = btind.CrossOver(self.data1.close, sma)
+
+ def next(self):
+ if self.orderid:
+ return # if an order is active, no new orders are allowed
+
+ if self.p.printout:
+ print('Self len:', len(self))
+ print('Data0 len:', len(self.data0))
+ print('Data1 len:', len(self.data1))
+ print('Data0 len == Data1 len:',
+ len(self.data0) == len(self.data1))
+
+ print('Data0 dt:', self.data0.datetime.datetime())
+ print('Data1 dt:', self.data1.datetime.datetime())
+
+ if not self.position: # not yet in market
+ if self.signal > 0.0: # cross upwards
+ self.log('BUY CREATE , %.2f' % self.data1.close[0])
+ self.buy(size=self.p.stake)
+
+ else: # in the market
+ if self.signal < 0.0: # crosss downwards
+ self.log('SELL CREATE , %.2f' % self.data1.close[0])
+ self.sell(size=self.p.stake)
+
+ def stop(self):
+ print('==================================================')
+ print('Starting Value - %.2f' % self.broker.startingcash)
+ print('Ending Value - %.2f' % self.broker.getvalue())
+ print('==================================================')
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Create the 1st data
+ data0 = btfeeds.YahooFinanceCSVData(
+ dataname=args.data0,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the 1st data to cerebro
+ cerebro.adddata(data0)
+
+ # Create the 2nd data
+ data1 = btfeeds.YahooFinanceCSVData(
+ dataname=args.data1,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the 2nd data to cerebro
+ cerebro.adddata(data1)
+
+ # Add the strategy
+ cerebro.addstrategy(MultiDataStrategy,
+ period=args.period,
+ stake=args.stake)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcash(args.cash)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcommission(commission=args.commperc)
+
+ # And run it
+ cerebro.run(runonce=not args.runnext,
+ preload=not args.nopreload,
+ oldsync=args.oldsync)
+
+ # Plot if requested
+ if args.plot:
+ cerebro.plot(numfigs=args.numfigs, volume=False, zdown=False)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='MultiData Strategy')
+
+ parser.add_argument('--data0', '-d0',
+ default='../../datas/orcl-2003-2005.txt',
+ help='1st data into the system')
+
+ parser.add_argument('--data1', '-d1',
+ default='../../datas/yhoo-2003-2005.txt',
+ help='2nd data into the system')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2003-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2005-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--period', default=15, type=int,
+ help='Period to apply to the Simple Moving Average')
+
+ parser.add_argument('--cash', default=100000, type=int,
+ help='Starting Cash')
+
+ parser.add_argument('--runnext', action='store_true',
+ help='Use next by next instead of runonce')
+
+ parser.add_argument('--nopreload', action='store_true',
+ help='Do not preload the data')
+
+ parser.add_argument('--oldsync', action='store_true',
+ help='Use old data synchronization method')
+
+ parser.add_argument('--commperc', default=0.005, type=float,
+ help='Percentage commission (0.005 is 0.5%%')
+
+ parser.add_argument('--stake', default=10, type=int,
+ help='Stake to apply in each operation')
+
+ parser.add_argument('--plot', '-p', action='store_true',
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', default=1,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/multidata-strategy/multidata-strategy.py b/backtrader/source/samples/multidata-strategy/multidata-strategy.py
new file mode 100644
index 0000000000000000000000000000000000000000..0ccb02c3d42261ce4c2fba88da3f203fe6853642
--- /dev/null
+++ b/backtrader/source/samples/multidata-strategy/multidata-strategy.py
@@ -0,0 +1,216 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+# The above could be sent to an independent module
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+
+
+class MultiDataStrategy(bt.Strategy):
+ '''
+ This strategy operates on 2 datas. The expectation is that the 2 datas are
+ correlated and the 2nd data is used to generate signals on the 1st
+
+ - Buy/Sell Operationss will be executed on the 1st data
+ - The signals are generated using a Simple Moving Average on the 2nd data
+ when the close price crosses upwwards/downwards
+
+ The strategy is a long-only strategy
+ '''
+ params = dict(
+ period=15,
+ stake=10,
+ printout=True,
+ )
+
+ def log(self, txt, dt=None):
+ if self.p.printout:
+ dt = dt or self.data.datetime[0]
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+
+ def notify_order(self, order):
+ if order.status in [bt.Order.Submitted, bt.Order.Accepted]:
+ return # Await further notifications
+
+ if order.status == order.Completed:
+ if order.isbuy():
+ buytxt = 'BUY COMPLETE, %.2f' % order.executed.price
+ self.log(buytxt, order.executed.dt)
+ else:
+ selltxt = 'SELL COMPLETE, %.2f' % order.executed.price
+ self.log(selltxt, order.executed.dt)
+
+ elif order.status in [order.Expired, order.Canceled, order.Margin]:
+ self.log('%s ,' % order.Status[order.status])
+ pass # Simply log
+
+ # Allow new orders
+ self.orderid = None
+
+ def __init__(self):
+ # To control operation entries
+ self.orderid = None
+
+ # Create SMA on 2nd data
+ sma = btind.MovAv.SMA(self.data1, period=self.p.period)
+ # Create a CrossOver Signal from close an moving average
+ self.signal = btind.CrossOver(self.data1.close, sma)
+
+ def next(self):
+ if self.orderid:
+ return # if an order is active, no new orders are allowed
+
+ if self.p.printout:
+ print('Self len:', len(self))
+ print('Data0 len:', len(self.data0))
+ print('Data1 len:', len(self.data1))
+ print('Data0 len == Data1 len:',
+ len(self.data0) == len(self.data1))
+
+ print('Data0 dt:', self.data0.datetime.datetime())
+ print('Data1 dt:', self.data1.datetime.datetime())
+
+ if not self.position: # not yet in market
+ if self.signal > 0.0: # cross upwards
+ self.log('BUY CREATE , %.2f' % self.data1.close[0])
+ self.buy(size=self.p.stake)
+ self.buy(data=self.data1, size=self.p.stake)
+
+ else: # in the market
+ if self.signal < 0.0: # crosss downwards
+ self.log('SELL CREATE , %.2f' % self.data1.close[0])
+ self.sell(size=self.p.stake)
+ self.sell(data=self.data1, size=self.p.stake)
+
+ def stop(self):
+ print('==================================================')
+ print('Starting Value - %.2f' % self.broker.startingcash)
+ print('Ending Value - %.2f' % self.broker.getvalue())
+ print('==================================================')
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Create the 1st data
+ data0 = btfeeds.YahooFinanceCSVData(
+ dataname=args.data0,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the 1st data to cerebro
+ cerebro.adddata(data0)
+
+ # Create the 2nd data
+ data1 = btfeeds.YahooFinanceCSVData(
+ dataname=args.data1,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the 2nd data to cerebro
+ cerebro.adddata(data1)
+
+ # Add the strategy
+ cerebro.addstrategy(MultiDataStrategy,
+ period=args.period,
+ stake=args.stake)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcash(args.cash)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcommission(commission=args.commperc)
+
+ # And run it
+ cerebro.run(runonce=not args.runnext,
+ preload=not args.nopreload,
+ oldsync=args.oldsync)
+
+ # Plot if requested
+ if args.plot:
+ cerebro.plot(numfigs=args.numfigs, volume=False, zdown=False)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='MultiData Strategy')
+
+ parser.add_argument('--data0', '-d0',
+ default='../../datas/orcl-1995-2014.txt',
+ help='1st data into the system')
+
+ parser.add_argument('--data1', '-d1',
+ default='../../datas/yhoo-1996-2014.txt',
+ help='2nd data into the system')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2003-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2005-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--period', default=15, type=int,
+ help='Period to apply to the Simple Moving Average')
+
+ parser.add_argument('--cash', default=100000, type=int,
+ help='Starting Cash')
+
+ parser.add_argument('--runnext', action='store_true',
+ help='Use next by next instead of runonce')
+
+ parser.add_argument('--nopreload', action='store_true',
+ help='Do not preload the data')
+
+ parser.add_argument('--oldsync', action='store_true',
+ help='Use old data synchronization method')
+
+ parser.add_argument('--commperc', default=0.005, type=float,
+ help='Percentage commission (0.005 is 0.5%%')
+
+ parser.add_argument('--stake', default=10, type=int,
+ help='Stake to apply in each operation')
+
+ parser.add_argument('--plot', '-p', action='store_true',
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', default=1,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/multitrades/__init__.py b/backtrader/source/samples/multitrades/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/multitrades/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/multitrades/mtradeobserver.py b/backtrader/source/samples/multitrades/mtradeobserver.py
new file mode 100644
index 0000000000000000000000000000000000000000..9413e91153b4a51fde4c440b2f71937c26beb1d4
--- /dev/null
+++ b/backtrader/source/samples/multitrades/mtradeobserver.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import math
+
+import backtrader as bt
+
+
+class MTradeObserver(bt.observer.Observer):
+ lines = ('Id_0', 'Id_1', 'Id_2')
+
+ plotinfo = dict(plot=True, subplot=True, plotlinelabels=True)
+
+ plotlines = dict(
+ Id_0=dict(marker='*', markersize=8.0, color='lime', fillstyle='full'),
+ Id_1=dict(marker='o', markersize=8.0, color='red', fillstyle='full'),
+ Id_2=dict(marker='s', markersize=8.0, color='blue', fillstyle='full')
+ )
+
+ def next(self):
+ for trade in self._owner._tradespending:
+
+ if trade.data is not self.data:
+ continue
+
+ if not trade.isclosed:
+ continue
+
+ self.lines[trade.tradeid][0] = trade.pnlcomm
diff --git a/backtrader/source/samples/multitrades/multitrades.py b/backtrader/source/samples/multitrades/multitrades.py
new file mode 100644
index 0000000000000000000000000000000000000000..29eea959984d0f5823c66863b62d99f9e00e689c
--- /dev/null
+++ b/backtrader/source/samples/multitrades/multitrades.py
@@ -0,0 +1,220 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+import itertools
+
+# The above could be sent to an independent module
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+
+import mtradeobserver
+
+
+class MultiTradeStrategy(bt.Strategy):
+ '''This strategy buys/sells upong the close price crossing
+ upwards/downwards a Simple Moving Average.
+
+ It can be a long-only strategy by setting the param "onlylong" to True
+ '''
+ params = dict(
+ period=15,
+ stake=1,
+ printout=False,
+ onlylong=False,
+ mtrade=False,
+ )
+
+ def log(self, txt, dt=None):
+ if self.p.printout:
+ dt = dt or self.data.datetime[0]
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+
+ def __init__(self):
+ # To control operation entries
+ self.order = None
+
+ # Create SMA on 2nd data
+ sma = btind.MovAv.SMA(self.data, period=self.p.period)
+ # Create a CrossOver Signal from close an moving average
+ self.signal = btind.CrossOver(self.data.close, sma)
+
+ # To alternate amongst different tradeids
+ if self.p.mtrade:
+ self.tradeid = itertools.cycle([0, 1, 2])
+ else:
+ self.tradeid = itertools.cycle([0])
+
+ def next(self):
+ if self.order:
+ return # if an order is active, no new orders are allowed
+
+ if self.signal > 0.0: # cross upwards
+ if self.position:
+ self.log('CLOSE SHORT , %.2f' % self.data.close[0])
+ self.close(tradeid=self.curtradeid)
+
+ self.log('BUY CREATE , %.2f' % self.data.close[0])
+ self.curtradeid = next(self.tradeid)
+ self.buy(size=self.p.stake, tradeid=self.curtradeid)
+
+ elif self.signal < 0.0:
+ if self.position:
+ self.log('CLOSE LONG , %.2f' % self.data.close[0])
+ self.close(tradeid=self.curtradeid)
+
+ if not self.p.onlylong:
+ self.log('SELL CREATE , %.2f' % self.data.close[0])
+ self.curtradeid = next(self.tradeid)
+ self.sell(size=self.p.stake, tradeid=self.curtradeid)
+
+ def notify_order(self, order):
+ if order.status in [bt.Order.Submitted, bt.Order.Accepted]:
+ return # Await further notifications
+
+ if order.status == order.Completed:
+ if order.isbuy():
+ buytxt = 'BUY COMPLETE, %.2f' % order.executed.price
+ self.log(buytxt, order.executed.dt)
+ else:
+ selltxt = 'SELL COMPLETE, %.2f' % order.executed.price
+ self.log(selltxt, order.executed.dt)
+
+ elif order.status in [order.Expired, order.Canceled, order.Margin]:
+ self.log('%s ,' % order.Status[order.status])
+ pass # Simply log
+
+ # Allow new orders
+ self.order = None
+
+ def notify_trade(self, trade):
+ if trade.isclosed:
+ self.log('TRADE PROFIT, GROSS %.2f, NET %.2f' %
+ (trade.pnl, trade.pnlcomm))
+
+ elif trade.justopened:
+ self.log('TRADE OPENED, SIZE %2d' % trade.size)
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Create the 1st data
+ data = btfeeds.BacktraderCSVData(
+ dataname=args.data,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the 1st data to cerebro
+ cerebro.adddata(data)
+
+ # Add the strategy
+ cerebro.addstrategy(MultiTradeStrategy,
+ period=args.period,
+ onlylong=args.onlylong,
+ stake=args.stake,
+ printout=args.printout,
+ mtrade=args.mtrade)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcash(args.cash)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcommission(commission=args.comm,
+ mult=args.mult,
+ margin=args.margin)
+
+ # Add the MultiTradeObserver
+ cerebro.addobserver(mtradeobserver.MTradeObserver)
+
+ # And run it
+ cerebro.run()
+
+ # Plot if requested
+ if args.plot:
+ cerebro.plot(numfigs=args.numfigs, volume=False, zdown=False)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='MultiTrades')
+
+ parser.add_argument('--data', '-d',
+ default='../../datas/2006-day-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2006-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2006-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--mtrade', action='store_true',
+ help='Activate MultiTrade Ids')
+
+ parser.add_argument('--period', default=15, type=int,
+ help='Period to apply to the Simple Moving Average')
+
+ parser.add_argument('--onlylong', '-ol', action='store_true',
+ help='Do only long operations')
+
+ parser.add_argument('--printout', action='store_true',
+ help='Print operation log from strategy')
+
+ parser.add_argument('--cash', default=100000, type=int,
+ help='Starting Cash')
+
+ parser.add_argument('--comm', default=2, type=float,
+ help='Commission for operation')
+
+ parser.add_argument('--mult', default=10, type=int,
+ help='Multiplier for futures')
+
+ parser.add_argument('--margin', default=2000.0, type=float,
+ help='Margin for each future')
+
+ parser.add_argument('--stake', default=1, type=int,
+ help='Stake to apply in each operation')
+
+ parser.add_argument('--plot', '-p', action='store_true',
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', default=1,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/oandatest/__init__.py b/backtrader/source/samples/oandatest/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/oandatest/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/oandatest/oandatest.py b/backtrader/source/samples/oandatest/oandatest.py
new file mode 100644
index 0000000000000000000000000000000000000000..4dbe5cf98326f3c2344c89ce4e1e0cac4ea363d9
--- /dev/null
+++ b/backtrader/source/samples/oandatest/oandatest.py
@@ -0,0 +1,498 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+# The above could be sent to an independent module
+import backtrader as bt
+from backtrader.utils import flushfile # win32 quick stdout flushing
+
+StoreCls = bt.stores.OandaStore
+DataCls = bt.feeds.OandaData
+# BrokerCls = bt.brokers.OandaBroker
+
+
+class TestStrategy(bt.Strategy):
+ params = dict(
+ smaperiod=5,
+ trade=False,
+ stake=10,
+ exectype=bt.Order.Market,
+ stopafter=0,
+ valid=None,
+ cancel=0,
+ donotcounter=False,
+ sell=False,
+ usebracket=False,
+ )
+
+ def __init__(self):
+ # To control operation entries
+ self.orderid = list()
+ self.order = None
+
+ self.counttostop = 0
+ self.datastatus = 0
+
+ # Create SMA on 2nd data
+ self.sma = bt.indicators.MovAv.SMA(self.data, period=self.p.smaperiod)
+
+ print('--------------------------------------------------')
+ print('Strategy Created')
+ print('--------------------------------------------------')
+
+ def notify_data(self, data, status, *args, **kwargs):
+ print('*' * 5, 'DATA NOTIF:', data._getstatusname(status), *args)
+ if status == data.LIVE:
+ self.counttostop = self.p.stopafter
+ self.datastatus = 1
+
+ def notify_store(self, msg, *args, **kwargs):
+ print('*' * 5, 'STORE NOTIF:', msg)
+
+ def notify_order(self, order):
+ if order.status in [order.Completed, order.Cancelled, order.Rejected]:
+ self.order = None
+
+ print('-' * 50, 'ORDER BEGIN', datetime.datetime.now())
+ print(order)
+ print('-' * 50, 'ORDER END')
+
+ def notify_trade(self, trade):
+ print('-' * 50, 'TRADE BEGIN', datetime.datetime.now())
+ print(trade)
+ print('-' * 50, 'TRADE END')
+
+ def prenext(self):
+ self.next(frompre=True)
+
+ def next(self, frompre=False):
+ txt = list()
+ txt.append('Data0')
+ txt.append('%04d' % len(self.data0))
+ dtfmt = '%Y-%m-%dT%H:%M:%S.%f'
+ txt.append('{:f}'.format(self.data.datetime[0]))
+ txt.append('%s' % self.data.datetime.datetime(0).strftime(dtfmt))
+ txt.append('{:f}'.format(self.data.open[0]))
+ txt.append('{:f}'.format(self.data.high[0]))
+ txt.append('{:f}'.format(self.data.low[0]))
+ txt.append('{:f}'.format(self.data.close[0]))
+ txt.append('{:6d}'.format(int(self.data.volume[0])))
+ txt.append('{:d}'.format(int(self.data.openinterest[0])))
+ txt.append('{:f}'.format(self.sma[0]))
+ print(', '.join(txt))
+
+ if len(self.datas) > 1 and len(self.data1):
+ txt = list()
+ txt.append('Data1')
+ txt.append('%04d' % len(self.data1))
+ dtfmt = '%Y-%m-%dT%H:%M:%S.%f'
+ txt.append('{}'.format(self.data1.datetime[0]))
+ txt.append('%s' % self.data1.datetime.datetime(0).strftime(dtfmt))
+ txt.append('{}'.format(self.data1.open[0]))
+ txt.append('{}'.format(self.data1.high[0]))
+ txt.append('{}'.format(self.data1.low[0]))
+ txt.append('{}'.format(self.data1.close[0]))
+ txt.append('{}'.format(self.data1.volume[0]))
+ txt.append('{}'.format(self.data1.openinterest[0]))
+ txt.append('{}'.format(float('NaN')))
+ print(', '.join(txt))
+
+ if self.counttostop: # stop after x live lines
+ self.counttostop -= 1
+ if not self.counttostop:
+ self.env.runstop()
+ return
+
+ if not self.p.trade:
+ return
+
+ if self.datastatus and not self.position and len(self.orderid) < 1:
+ if not self.p.usebracket:
+ if not self.p.sell:
+ # price = round(self.data0.close[0] * 0.90, 2)
+ price = self.data0.close[0] - 0.005
+ self.order = self.buy(size=self.p.stake,
+ exectype=self.p.exectype,
+ price=price,
+ valid=self.p.valid)
+ else:
+ # price = round(self.data0.close[0] * 1.10, 4)
+ price = self.data0.close[0] - 0.05
+ self.order = self.sell(size=self.p.stake,
+ exectype=self.p.exectype,
+ price=price,
+ valid=self.p.valid)
+
+ else:
+ print('USING BRACKET')
+ price = self.data0.close[0] - 0.05
+ self.order, _, _ = self.buy_bracket(size=self.p.stake,
+ exectype=bt.Order.Market,
+ price=price,
+ stopprice=price - 0.10,
+ limitprice=price + 0.10,
+ valid=self.p.valid)
+
+ self.orderid.append(self.order)
+ elif self.position and not self.p.donotcounter:
+ if self.order is None:
+ if not self.p.sell:
+ self.order = self.sell(size=self.p.stake // 2,
+ exectype=bt.Order.Market,
+ price=self.data0.close[0])
+ else:
+ self.order = self.buy(size=self.p.stake // 2,
+ exectype=bt.Order.Market,
+ price=self.data0.close[0])
+
+ self.orderid.append(self.order)
+
+ elif self.order is not None and self.p.cancel:
+ if self.datastatus > self.p.cancel:
+ self.cancel(self.order)
+
+ if self.datastatus:
+ self.datastatus += 1
+
+ def start(self):
+ if self.data0.contractdetails is not None:
+ print('-- Contract Details:')
+ print(self.data0.contractdetails)
+
+ header = ['Datetime', 'Open', 'High', 'Low', 'Close', 'Volume',
+ 'OpenInterest', 'SMA']
+ print(', '.join(header))
+
+ self.done = False
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ storekwargs = dict(
+ token=args.token,
+ account=args.account,
+ practice=not args.live
+ )
+
+ if not args.no_store:
+ store = StoreCls(**storekwargs)
+
+ if args.broker:
+ if args.no_store:
+ broker = BrokerCls(**storekwargs)
+ else:
+ broker = store.getbroker()
+
+ cerebro.setbroker(broker)
+
+ timeframe = bt.TimeFrame.TFrame(args.timeframe)
+ # Manage data1 parameters
+ tf1 = args.timeframe1
+ tf1 = bt.TimeFrame.TFrame(tf1) if tf1 is not None else timeframe
+ cp1 = args.compression1
+ cp1 = cp1 if cp1 is not None else args.compression
+
+ if args.resample or args.replay:
+ datatf = datatf1 = bt.TimeFrame.Ticks
+ datacomp = datacomp1 = 1
+ else:
+ datatf = timeframe
+ datacomp = args.compression
+ datatf1 = tf1
+ datacomp1 = cp1
+
+ fromdate = None
+ if args.fromdate:
+ dtformat = '%Y-%m-%d' + ('T%H:%M:%S' * ('T' in args.fromdate))
+ fromdate = datetime.datetime.strptime(args.fromdate, dtformat)
+
+ DataFactory = DataCls if args.no_store else store.getdata
+
+ datakwargs = dict(
+ timeframe=datatf, compression=datacomp,
+ qcheck=args.qcheck,
+ historical=args.historical,
+ fromdate=fromdate,
+ bidask=args.bidask,
+ useask=args.useask,
+ backfill_start=not args.no_backfill_start,
+ backfill=not args.no_backfill,
+ tz=args.timezone
+ )
+
+ if args.no_store and not args.broker: # neither store nor broker
+ datakwargs.update(storekwargs) # pass the store args over the data
+
+ data0 = DataFactory(dataname=args.data0, **datakwargs)
+
+ data1 = None
+ if args.data1 is not None:
+ if args.data1 != args.data0:
+ datakwargs['timeframe'] = datatf1
+ datakwargs['compression'] = datacomp1
+ data1 = DataFactory(dataname=args.data1, **datakwargs)
+ else:
+ data1 = data0
+
+ rekwargs = dict(
+ timeframe=timeframe, compression=args.compression,
+ bar2edge=not args.no_bar2edge,
+ adjbartime=not args.no_adjbartime,
+ rightedge=not args.no_rightedge,
+ takelate=not args.no_takelate,
+ )
+
+ if args.replay:
+ cerebro.replaydata(data0, **rekwargs)
+
+ if data1 is not None:
+ rekwargs['timeframe'] = tf1
+ rekwargs['compression'] = cp1
+ cerebro.replaydata(data1, **rekwargs)
+
+ elif args.resample:
+ cerebro.resampledata(data0, **rekwargs)
+
+ if data1 is not None:
+ rekwargs['timeframe'] = tf1
+ rekwargs['compression'] = cp1
+ cerebro.resampledata(data1, **rekwargs)
+
+ else:
+ cerebro.adddata(data0)
+ if data1 is not None:
+ cerebro.adddata(data1)
+
+ if args.valid is None:
+ valid = None
+ else:
+ valid = datetime.timedelta(seconds=args.valid)
+ # Add the strategy
+ cerebro.addstrategy(TestStrategy,
+ smaperiod=args.smaperiod,
+ trade=args.trade,
+ exectype=bt.Order.ExecType(args.exectype),
+ stake=args.stake,
+ stopafter=args.stopafter,
+ valid=valid,
+ cancel=args.cancel,
+ donotcounter=args.donotcounter,
+ sell=args.sell,
+ usebracket=args.usebracket)
+
+ # Live data ... avoid long data accumulation by switching to "exactbars"
+ cerebro.run(exactbars=args.exactbars)
+ if args.exactbars < 1: # plotting is possible
+ if args.plot:
+ pkwargs = dict(style='line')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Test Oanda integration')
+
+ parser.add_argument('--exactbars', default=1, type=int,
+ required=False, action='store',
+ help='exactbars level, use 0/-1/-2 to enable plotting')
+
+ parser.add_argument('--stopafter', default=0, type=int,
+ required=False, action='store',
+ help='Stop after x lines of LIVE data')
+
+ parser.add_argument('--no-store',
+ required=False, action='store_true',
+ help='Do not use the store pattern')
+
+ parser.add_argument('--debug',
+ required=False, action='store_true',
+ help='Display all info received from source')
+
+ parser.add_argument('--token', default=None,
+ required=True, action='store',
+ help='Access token to use')
+
+ parser.add_argument('--account', default=None,
+ required=True, action='store',
+ help='Account identifier to use')
+
+ parser.add_argument('--live', default=None,
+ required=False, action='store',
+ help='Go to live server rather than practice')
+
+ parser.add_argument('--qcheck', default=0.5, type=float,
+ required=False, action='store',
+ help=('Timeout for periodic '
+ 'notification/resampling/replaying check'))
+
+ parser.add_argument('--data0', default=None,
+ required=True, action='store',
+ help='data 0 into the system')
+
+ parser.add_argument('--data1', default=None,
+ required=False, action='store',
+ help='data 1 into the system')
+
+ parser.add_argument('--timezone', default=None,
+ required=False, action='store',
+ help='timezone to get time output into (pytz names)')
+
+ parser.add_argument('--bidask', default=None,
+ required=False, action='store_true',
+ help='Use bidask ... if False use midpoint')
+
+ parser.add_argument('--useask', default=None,
+ required=False, action='store_true',
+ help='Use the "ask" of bidask prices/streaming')
+
+ parser.add_argument('--no-backfill_start',
+ required=False, action='store_true',
+ help='Disable backfilling at the start')
+
+ parser.add_argument('--no-backfill',
+ required=False, action='store_true',
+ help='Disable backfilling after a disconnection')
+
+ parser.add_argument('--historical',
+ required=False, action='store_true',
+ help='do only historical download')
+
+ parser.add_argument('--fromdate',
+ required=False, action='store',
+ help=('Starting date for historical download '
+ 'with format: YYYY-MM-DD[THH:MM:SS]'))
+
+ parser.add_argument('--smaperiod', default=5, type=int,
+ required=False, action='store',
+ help='Period to apply to the Simple Moving Average')
+
+ pgroup = parser.add_mutually_exclusive_group(required=False)
+
+ pgroup.add_argument('--replay',
+ required=False, action='store_true',
+ help='replay to chosen timeframe')
+
+ pgroup.add_argument('--resample',
+ required=False, action='store_true',
+ help='resample to chosen timeframe')
+
+ parser.add_argument('--timeframe', default=bt.TimeFrame.Names[1],
+ choices=bt.TimeFrame.Names,
+ required=False, action='store',
+ help='TimeFrame for Resample/Replay')
+
+ parser.add_argument('--compression', default=1, type=int,
+ required=False, action='store',
+ help='Compression for Resample/Replay')
+
+ parser.add_argument('--timeframe1', default=None,
+ choices=bt.TimeFrame.Names,
+ required=False, action='store',
+ help='TimeFrame for Resample/Replay - Data1')
+
+ parser.add_argument('--compression1', default=None, type=int,
+ required=False, action='store',
+ help='Compression for Resample/Replay - Data1')
+
+ parser.add_argument('--no-takelate',
+ required=False, action='store_true',
+ help=('resample/replay, do not accept late samples'))
+
+ parser.add_argument('--no-bar2edge',
+ required=False, action='store_true',
+ help='no bar2edge for resample/replay')
+
+ parser.add_argument('--no-adjbartime',
+ required=False, action='store_true',
+ help='no adjbartime for resample/replay')
+
+ parser.add_argument('--no-rightedge',
+ required=False, action='store_true',
+ help='no rightedge for resample/replay')
+
+ parser.add_argument('--broker',
+ required=False, action='store_true',
+ help='Use Oanda as broker')
+
+ parser.add_argument('--trade',
+ required=False, action='store_true',
+ help='Do Sample Buy/Sell operations')
+
+ parser.add_argument('--sell',
+ required=False, action='store_true',
+ help='Start by selling')
+
+ parser.add_argument('--usebracket',
+ required=False, action='store_true',
+ help='Test buy_bracket')
+
+ parser.add_argument('--donotcounter',
+ required=False, action='store_true',
+ help='Do not counter the 1st operation')
+
+ parser.add_argument('--exectype', default=bt.Order.ExecTypes[0],
+ choices=bt.Order.ExecTypes,
+ required=False, action='store',
+ help='Execution to Use when opening position')
+
+ parser.add_argument('--stake', default=10, type=int,
+ required=False, action='store',
+ help='Stake to use in buy operations')
+
+ parser.add_argument('--valid', default=None, type=float,
+ required=False, action='store',
+ help='Seconds to keep the order alive (0 means DAY)')
+
+ parser.add_argument('--cancel', default=0, type=int,
+ required=False, action='store',
+ help=('Cancel a buy order after n bars in operation,'
+ ' to be combined with orders like Limit'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example (escape the quotes if needed):\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/observer-benchmark/__init__.py b/backtrader/source/samples/observer-benchmark/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/observer-benchmark/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/observer-benchmark/observer-benchmark.py b/backtrader/source/samples/observer-benchmark/observer-benchmark.py
new file mode 100644
index 0000000000000000000000000000000000000000..1df01e9ef1d5d61fc2e8d08852cbf69e147100ae
--- /dev/null
+++ b/backtrader/source/samples/observer-benchmark/observer-benchmark.py
@@ -0,0 +1,206 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+import random
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = (
+ ('period', 10),
+ ('printout', False),
+ ('stake', 1000),
+ )
+
+ def __init__(self):
+ sma = bt.indicators.SMA(self.data, period=self.p.period)
+ self.crossover = bt.indicators.CrossOver(self.data, sma)
+
+ def start(self):
+ if self.p.printout:
+ txtfields = list()
+ txtfields.append('Len')
+ txtfields.append('Datetime')
+ txtfields.append('Open')
+ txtfields.append('High')
+ txtfields.append('Low')
+ txtfields.append('Close')
+ txtfields.append('Volume')
+ txtfields.append('OpenInterest')
+ print(','.join(txtfields))
+
+ def next(self):
+ if self.p.printout:
+ # Print only 1st data ... is just a check that things are running
+ txtfields = list()
+ txtfields.append('%04d' % len(self))
+ txtfields.append(self.data.datetime.datetime(0).isoformat())
+ txtfields.append('%.2f' % self.data0.open[0])
+ txtfields.append('%.2f' % self.data0.high[0])
+ txtfields.append('%.2f' % self.data0.low[0])
+ txtfields.append('%.2f' % self.data0.close[0])
+ txtfields.append('%.2f' % self.data0.volume[0])
+ txtfields.append('%.2f' % self.data0.openinterest[0])
+ print(','.join(txtfields))
+
+ if self.position:
+ if self.crossover < 0.0:
+ if self.p.printout:
+ print('CLOSE {} @%{}'.format(size,
+ self.data.close[0]))
+ self.close()
+
+ else:
+ if self.crossover > 0.0:
+ self.buy(size=self.p.stake)
+ if self.p.printout:
+ print('BUY {} @%{}'.format(self.p.stake,
+ self.data.close[0]))
+
+
+TIMEFRAMES = {
+ None: None,
+ 'days': bt.TimeFrame.Days,
+ 'weeks': bt.TimeFrame.Weeks,
+ 'months': bt.TimeFrame.Months,
+ 'years': bt.TimeFrame.Years,
+ 'notimeframe': bt.TimeFrame.NoTimeFrame,
+}
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+
+ dkwargs = dict()
+ if args.fromdate:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ data0 = bt.feeds.YahooFinanceCSVData(dataname=args.data0, **dkwargs)
+ cerebro.adddata(data0, name='Data0')
+
+ cerebro.addstrategy(St,
+ period=args.period,
+ stake=args.stake,
+ printout=args.printout)
+
+ if args.timereturn:
+ cerebro.addobserver(bt.observers.TimeReturn,
+ timeframe=TIMEFRAMES[args.timeframe])
+ else:
+ benchdata = data0
+ if args.benchdata1:
+ data1 = bt.feeds.YahooFinanceCSVData(dataname=args.data1, **dkwargs)
+ cerebro.adddata(data1, name='Data1')
+ benchdata = data1
+
+ cerebro.addobserver(bt.observers.Benchmark,
+ data=benchdata,
+ timeframe=TIMEFRAMES[args.timeframe])
+
+ cerebro.run()
+
+ if args.plot:
+ pkwargs = dict()
+ if args.plot is not True: # evals to True but is not True
+ pkwargs = eval('dict(' + args.plot + ')') # args were passed
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Benchmark/TimeReturn Observers Sample')
+
+ parser.add_argument('--data0', required=False,
+ default='../../datas/yhoo-1996-2015.txt',
+ help='Data0 to be read in')
+
+ parser.add_argument('--data1', required=False,
+ default='../../datas/orcl-1995-2014.txt',
+ help='Data1 to be read in')
+
+ parser.add_argument('--benchdata1', required=False, action='store_true',
+ help=('Benchmark against data1'))
+
+ parser.add_argument('--fromdate', required=False,
+ default='2005-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False,
+ default='2006-12-31',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--printout', required=False, action='store_true',
+ help=('Print data lines'))
+
+ parser.add_argument('--cash', required=False, action='store',
+ type=float, default=50000,
+ help=('Cash to start with'))
+
+ parser.add_argument('--period', required=False, action='store',
+ type=int, default=30,
+ help=('Period for the crossover moving average'))
+
+ parser.add_argument('--stake', required=False, action='store',
+ type=int, default=1000,
+ help=('Stake to apply for the buy operations'))
+
+ parser.add_argument('--timereturn', required=False, action='store_true',
+ default=None,
+ help=('Use TimeReturn observer instead of Benchmark'))
+
+ parser.add_argument('--timeframe', required=False, action='store',
+ default=None, choices=TIMEFRAMES.keys(),
+ help=('TimeFrame to apply to the Observer'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/observers/__init__.py b/backtrader/source/samples/observers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/observers/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/observers/observers-default-drawdown.py b/backtrader/source/samples/observers/observers-default-drawdown.py
new file mode 100644
index 0000000000000000000000000000000000000000..d053c70148e36eb20c588e4e61d14e02a4b5f440
--- /dev/null
+++ b/backtrader/source/samples/observers/observers-default-drawdown.py
@@ -0,0 +1,89 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+import os.path
+import time
+import sys
+
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+
+
+class MyStrategy(bt.Strategy):
+ params = (('smaperiod', 15),)
+
+ def log(self, txt, dt=None):
+ ''' Logging function fot this strategy'''
+ dt = dt or self.data.datetime[0]
+ if isinstance(dt, float):
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+
+ def __init__(self):
+ # SimpleMovingAverage on main data
+ # Equivalent to -> sma = btind.SMA(self.data, period=self.p.smaperiod)
+ sma = btind.SMA(period=self.p.smaperiod)
+
+ # CrossOver (1: up, -1: down) close / sma
+ self.buysell = btind.CrossOver(self.data.close, sma, plot=True)
+
+ # Sentinel to None: new ordersa allowed
+ self.order = None
+
+ def next(self):
+ # Access -1, because drawdown[0] will be calculated after "next"
+ self.log('DrawDown: %.2f' % self.stats.drawdown.drawdown[-1])
+ self.log('MaxDrawDown: %.2f' % self.stats.drawdown.maxdrawdown[-1])
+
+ # Check if we are in the market
+ if self.position:
+ if self.buysell < 0:
+ self.log('SELL CREATE, %.2f' % self.data.close[0])
+ self.sell()
+
+ elif self.buysell > 0:
+ self.log('BUY CREATE, %.2f' % self.data.close[0])
+ self.buy()
+
+
+def runstrat():
+ cerebro = bt.Cerebro()
+
+ data = bt.feeds.BacktraderCSVData(dataname='../../datas/2006-day-001.txt')
+ cerebro.adddata(data)
+
+ cerebro.addobserver(bt.observers.DrawDown)
+ cerebro.addobserver(bt.observers.DrawDown_Old)
+
+ cerebro.addstrategy(MyStrategy)
+ cerebro.run()
+
+ cerebro.plot()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/observers/observers-default.py b/backtrader/source/samples/observers/observers-default.py
new file mode 100644
index 0000000000000000000000000000000000000000..290756b5d9095a2a4d9b411ab42ffa680a1cf5d9
--- /dev/null
+++ b/backtrader/source/samples/observers/observers-default.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+
+if __name__ == '__main__':
+ cerebro = bt.Cerebro(stdstats=True)
+ cerebro.addstrategy(bt.Strategy)
+
+ data = bt.feeds.BacktraderCSVData(dataname='../../datas/2006-day-001.txt')
+ cerebro.adddata(data)
+
+ cerebro.run()
+ cerebro.plot()
diff --git a/backtrader/source/samples/observers/observers-orderobserver.py b/backtrader/source/samples/observers/observers-orderobserver.py
new file mode 100644
index 0000000000000000000000000000000000000000..5f3d2d8645609742df93c5b84959e2e28383883b
--- /dev/null
+++ b/backtrader/source/samples/observers/observers-orderobserver.py
@@ -0,0 +1,119 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import datetime
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+
+from orderobserver import OrderObserver
+
+
+class MyStrategy(bt.Strategy):
+ params = (
+ ('smaperiod', 15),
+ ('limitperc', 1.0),
+ ('valid', 7),
+ )
+
+ def log(self, txt, dt=None):
+ ''' Logging function fot this strategy'''
+ dt = dt or self.data.datetime[0]
+ if isinstance(dt, float):
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+
+ def notify_order(self, order):
+ if order.status in [order.Submitted, order.Accepted]:
+ # Buy/Sell order submitted/accepted to/by broker - Nothing to do
+ self.log('ORDER ACCEPTED/SUBMITTED', dt=order.created.dt)
+ self.order = order
+ return
+
+ if order.status in [order.Expired]:
+ self.log('BUY EXPIRED')
+
+ elif order.status in [order.Completed]:
+ if order.isbuy():
+ self.log(
+ 'BUY EXECUTED, Price: %.2f, Cost: %.2f, Comm %.2f' %
+ (order.executed.price,
+ order.executed.value,
+ order.executed.comm))
+
+ else: # Sell
+ self.log('SELL EXECUTED, Price: %.2f, Cost: %.2f, Comm %.2f' %
+ (order.executed.price,
+ order.executed.value,
+ order.executed.comm))
+
+ # Sentinel to None: new orders allowed
+ self.order = None
+
+ def __init__(self):
+ # SimpleMovingAverage on main data
+ # Equivalent to -> sma = btind.SMA(self.data, period=self.p.smaperiod)
+ sma = btind.SMA(period=self.p.smaperiod)
+
+ # CrossOver (1: up, -1: down) close / sma
+ self.buysell = btind.CrossOver(self.data.close, sma, plot=True)
+
+ # Sentinel to None: new ordersa allowed
+ self.order = None
+
+ def next(self):
+ if self.order:
+ # pending order ... do nothing
+ return
+
+ # Check if we are in the market
+ if self.position:
+ if self.buysell < 0:
+ self.log('SELL CREATE, %.2f' % self.data.close[0])
+ self.sell()
+
+ elif self.buysell > 0:
+ plimit = self.data.close[0] * (1.0 - self.p.limitperc / 100.0)
+ valid = self.data.datetime.date(0) + \
+ datetime.timedelta(days=self.p.valid)
+ self.log('BUY CREATE, %.2f' % plimit)
+ self.buy(exectype=bt.Order.Limit, price=plimit, valid=valid)
+
+
+def runstrat():
+ cerebro = bt.Cerebro()
+
+ data = bt.feeds.BacktraderCSVData(dataname='../../datas/2006-day-001.txt')
+ cerebro.adddata(data)
+
+ cerebro.addobserver(OrderObserver)
+
+ cerebro.addstrategy(MyStrategy)
+ cerebro.run()
+
+ cerebro.plot()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/observers/orderobserver.py b/backtrader/source/samples/observers/orderobserver.py
new file mode 100644
index 0000000000000000000000000000000000000000..379b25dfdfe71b082751a652db9a10947f088c2a
--- /dev/null
+++ b/backtrader/source/samples/observers/orderobserver.py
@@ -0,0 +1,55 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import math
+
+import backtrader as bt
+
+
+class OrderObserver(bt.observer.Observer):
+ lines = ('created', 'expired',)
+
+ plotinfo = dict(plot=True, subplot=True, plotlinelabels=True)
+
+ plotlines = dict(
+ created=dict(marker='*', markersize=8.0, color='lime', fillstyle='full'),
+ expired=dict(marker='s', markersize=8.0, color='red', fillstyle='full')
+ )
+
+ def next(self):
+ for order in self._owner._orderspending:
+ if order.data is not self.data:
+ continue
+
+ if not order.isbuy():
+ continue
+
+ # Only interested in "buy" orders, because the sell orders
+ # in the strategy are Market orders and will be immediately
+ # executed
+
+ if order.status in [bt.Order.Accepted, bt.Order.Submitted]:
+ self.lines.created[0] = order.created.price
+
+ elif order.status in [bt.Order.Expired]:
+ self.lines.expired[0] = order.created.price
diff --git a/backtrader/source/samples/oco/__init__.py b/backtrader/source/samples/oco/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/oco/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/oco/oco.py b/backtrader/source/samples/oco/oco.py
new file mode 100644
index 0000000000000000000000000000000000000000..3e49e9f9393e302f9bdbe214672cc537c6f01266
--- /dev/null
+++ b/backtrader/source/samples/oco/oco.py
@@ -0,0 +1,195 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = dict(
+ ma=bt.ind.SMA,
+ p1=5,
+ p2=15,
+ limit=0.005,
+ limdays=3,
+ limdays2=1000,
+ hold=10,
+ usetarget=False, # use order_target_size
+ switchp1p2=False, # switch prices of order1 and order2
+ oco1oco2=False, # False - use order1 as oco for order3, else order2
+ do_oco=True, # use oco or not
+ )
+
+ def notify_order(self, order):
+ print('{}: Order ref: {} / Type {} / Status {}'.format(
+ self.data.datetime.date(0),
+ order.ref, 'Buy' * order.isbuy() or 'Sell',
+ order.getstatusname()))
+
+ if order.status == order.Completed:
+ self.holdstart = len(self)
+
+ if not order.alive() and order.ref in self.orefs:
+ self.orefs.remove(order.ref)
+
+ def __init__(self):
+ ma1, ma2 = self.p.ma(period=self.p.p1), self.p.ma(period=self.p.p2)
+ self.cross = bt.ind.CrossOver(ma1, ma2)
+
+ self.orefs = list()
+
+ if self.p.usetarget:
+ print('-' * 5, 'Using order_target_size')
+ self._dobuy = self.order_target_size
+ self._doclose = self.order_target_size
+ else:
+ self._dobuy = self.buy
+ self._doclose = self.close
+
+ def next(self):
+ if self.orefs:
+ return # pending orders do nothing
+
+ if not self.position:
+ if self.cross > 0.0: # crossing up
+
+ p1 = self.data.close[0] * (1.0 - self.p.limit)
+ p2 = self.data.close[0] * (1.0 - 2 * 2 * self.p.limit)
+ p3 = self.data.close[0] * (1.0 - 3 * 3 * self.p.limit)
+
+ valid1 = datetime.timedelta(self.p.limdays)
+ valid2 = valid3 = datetime.timedelta(self.p.limdays2)
+
+ if self.p.switchp1p2:
+ p1, p2 = p2, p1
+ valid1, valid2 = valid2, valid1
+
+ print('valid1 is:', valid1)
+
+ kargs = dict(exectype=bt.Order.Limit)
+ kargs[('target' * self.p.usetarget) or 'size'] = 1
+
+ o1 = self._dobuy(price=p1, valid=valid1, **kargs)
+ print('{}: Oref {} / Buy at {}'.format(
+ self.datetime.date(), o1.ref, p1))
+
+ oco2 = o1 if self.p.do_oco else None
+ o2 = self._dobuy(price=p2, valid=valid2, oco=oco2, **kargs)
+
+ print('{}: Oref {} / Buy at {}'.format(
+ self.datetime.date(), o2.ref, p2))
+
+ if self.p.do_oco:
+ oco3 = o1 if not self.p.oco1oco2 else oco2
+ else:
+ oco3 = None
+
+ o3 = self._dobuy(price=p3, valid=valid3, oco=oco3, **kargs)
+
+ print('{}: Oref {} / Buy at {}'.format(
+ self.datetime.date(), o3.ref, p3))
+
+ self.orefs = [o1.ref, o2.ref, o3.ref]
+
+ else: # in the market
+ if (len(self) - self.holdstart) >= self.p.hold:
+ self._doclose()
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Sample Skeleton'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2005-2006-day-001.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/optimization/__init__.py b/backtrader/source/samples/optimization/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/optimization/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/optimization/optimization.py b/backtrader/source/samples/optimization/optimization.py
new file mode 100644
index 0000000000000000000000000000000000000000..43c80458cd7fd8fe8f534d85e97b759290f00525
--- /dev/null
+++ b/backtrader/source/samples/optimization/optimization.py
@@ -0,0 +1,196 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+import time
+
+from backtrader.utils.py3 import range
+
+import backtrader as bt
+import backtrader.indicators as btind
+import backtrader.feeds as btfeeds
+
+
+class OptimizeStrategy(bt.Strategy):
+ params = (('smaperiod', 15),
+ ('macdperiod1', 12),
+ ('macdperiod2', 26),
+ ('macdperiod3', 9),
+ )
+
+ def __init__(self):
+ # Add indicators to add load
+
+ btind.SMA(period=self.p.smaperiod)
+ btind.MACD(period_me1=self.p.macdperiod1,
+ period_me2=self.p.macdperiod2,
+ period_signal=self.p.macdperiod3)
+
+
+def runstrat():
+ args = parse_args()
+
+ # Create a cerebro entity
+ cerebro = bt.Cerebro(maxcpus=args.maxcpus,
+ runonce=not args.no_runonce,
+ exactbars=args.exactbars,
+ optdatas=not args.no_optdatas,
+ optreturn=not args.no_optreturn)
+
+ # Add a strategy
+ cerebro.optstrategy(
+ OptimizeStrategy,
+ smaperiod=range(args.ma_low, args.ma_high),
+ macdperiod1=range(args.m1_low, args.m1_high),
+ macdperiod2=range(args.m2_low, args.m2_high),
+ macdperiod3=range(args.m3_low, args.m3_high),
+ )
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Create the 1st data
+ data = btfeeds.BacktraderCSVData(
+ dataname=args.data,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the Data Feed to Cerebro
+ cerebro.adddata(data)
+
+ # clock the start of the process
+ tstart = time.clock()
+
+ # Run over everything
+ stratruns = cerebro.run()
+
+ # clock the end of the process
+ tend = time.clock()
+
+ print('==================================================')
+ for stratrun in stratruns:
+ print('**************************************************')
+ for strat in stratrun:
+ print('--------------------------------------------------')
+ print(strat.p._getkwargs())
+ print('==================================================')
+
+ # print out the result
+ print('Time used:', str(tend - tstart))
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='Optimization',
+ formatter_class=argparse.RawTextHelpFormatter,
+ )
+
+ parser.add_argument(
+ '--data', '-d',
+ default='../../datas/2006-day-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument(
+ '--fromdate', '-f',
+ default='2006-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument(
+ '--todate', '-t',
+ default='2006-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument(
+ '--maxcpus', '-m',
+ type=int, required=False, default=0,
+ help=('Number of CPUs to use in the optimization'
+ '\n'
+ ' - 0 (default): use all available CPUs\n'
+ ' - 1 -> n: use as many as specified\n'))
+
+ parser.add_argument(
+ '--no-runonce', action='store_true', required=False,
+ help='Run in next mode')
+
+ parser.add_argument(
+ '--exactbars', required=False, type=int, default=0,
+ help=('Use the specified exactbars still compatible with preload\n'
+ ' 0 No memory savings\n'
+ ' -1 Moderate memory savings\n'
+ ' -2 Less moderate memory savings\n'))
+
+ parser.add_argument(
+ '--no-optdatas', action='store_true', required=False,
+ help='Do not optimize data preloading in optimization')
+
+ parser.add_argument(
+ '--no-optreturn', action='store_true', required=False,
+ help='Do not optimize the returned values to save time')
+
+ parser.add_argument(
+ '--ma_low', type=int,
+ default=10, required=False,
+ help='SMA range low to optimize')
+
+ parser.add_argument(
+ '--ma_high', type=int,
+ default=30, required=False,
+ help='SMA range high to optimize')
+
+ parser.add_argument(
+ '--m1_low', type=int,
+ default=12, required=False,
+ help='MACD Fast MA range low to optimize')
+
+ parser.add_argument(
+ '--m1_high', type=int,
+ default=20, required=False,
+ help='MACD Fast MA range high to optimize')
+
+ parser.add_argument(
+ '--m2_low', type=int,
+ default=26, required=False,
+ help='MACD Slow MA range low to optimize')
+
+ parser.add_argument(
+ '--m2_high', type=int,
+ default=30, required=False,
+ help='MACD Slow MA range high to optimize')
+
+ parser.add_argument(
+ '--m3_low', type=int,
+ default=9, required=False,
+ help='MACD Signal range low to optimize')
+
+ parser.add_argument(
+ '--m3_high', type=int,
+ default=15, required=False,
+ help='MACD Signal range high to optimize')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/order-close/__init__.py b/backtrader/source/samples/order-close/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/order-close/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/order-close/close-daily.py b/backtrader/source/samples/order-close/close-daily.py
new file mode 100644
index 0000000000000000000000000000000000000000..9322824bdf040ca33e9322509578aca3abbfa3a4
--- /dev/null
+++ b/backtrader/source/samples/order-close/close-daily.py
@@ -0,0 +1,177 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,)
+# unicode_literals)
+
+import argparse
+import datetime
+import random
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+
+from backtrader.utils.py3 import with_metaclass
+
+
+class St(bt.Strategy):
+ def __init__(self):
+ self.order = None
+
+ def notify_order(self, order):
+ curdtstr = self.data.datetime.datetime().strftime('%a %Y-%m-%d')
+ if order.status in [order.Completed]:
+ dtstr = bt.num2date(order.executed.dt).strftime('%a %Y-%m-%d')
+ if order.isbuy():
+ print('%s: BUY EXECUTED, on:' % curdtstr, dtstr)
+ else: # Sell
+ print('%s: SELL EXECUTED, on:' % curdtstr, dtstr)
+
+ self.order = None
+
+ def next(self):
+ dtstr = self.data.datetime.datetime().strftime('%a %Y-%m-%d %H:%M:%S')
+ # print('%s: data' % dtstr)
+ if self.order:
+ return
+
+ if not random.randint(0, 5): # roll a dice to decide entering/exit
+ if self.position:
+ print('%s: SELL CREATED' % dtstr)
+ self.order = self.close(exectype=bt.Order.Close)
+ else: # no pending order
+ print('%s: BUY CREATED' % dtstr)
+ self.order = self.buy(exectype=bt.Order.Close)
+
+
+class SessionEndFiller(with_metaclass(bt.metabase.MetaParams, object)):
+ '''This data filter simply adds the time given in param ``endtime`` to the
+ current data datetime
+
+ It is intended for daily bars which come from sources with no time
+ indication and can be used to signal the bar is passed the end of the
+ session
+
+ The default value for ``endtime`` is 1 second before midnight 23:59:59
+ '''
+ params = (('endtime', datetime.time(23, 59, 59)),)
+
+ def __call__(self, data):
+ '''
+ Params:
+ - data: the data source to filter/process
+
+ Returns:
+ - False (always) because this filter does not remove bars from the
+ stream
+ '''
+ # Get time of current (from data source) bar
+ dtime = datetime.combine(data.datetime.date(), self.p.endtime)
+ data.datetime[0] = data.date2num(dtime)
+ return False
+
+
+def runstrat():
+ args = parse_args()
+
+ cerebro = bt.Cerebro()
+ cerebro.adddata(getdata(args))
+ cerebro.addstrategy(St)
+ if args.eosbar:
+ cerebro.broker.seteosbar(True)
+
+ cerebro.run()
+
+
+def getdata(args):
+
+ dataformat = dict(
+ bt=btfeeds.BacktraderCSVData,
+ visualchart=btfeeds.VChartCSVData,
+ sierrachart=btfeeds.SierraChartCSVData,
+ yahoo=btfeeds.YahooFinanceCSVData,
+ yahoo_unreversed=btfeeds.YahooFinanceCSVData
+ )
+
+ dfkwargs = dict()
+ if args.csvformat == 'yahoo_unreversed':
+ dfkwargs['reverse'] = True
+
+ if args.fromdate:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dfkwargs['fromdate'] = fromdate
+
+ if args.todate:
+ fromdate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dfkwargs['todate'] = todate
+
+ if args.tend is not None:
+ # internally only the "time" part is used
+ dfkwargs['sessionend'] = datetime.datetime.strptime(args.tend, '%H:%M')
+
+ dfkwargs['dataname'] = args.infile
+ dfcls = dataformat[args.csvformat]
+
+ data = dfcls(**dfkwargs)
+
+ if args.filltime is not None:
+ filltime = datetime.datetime.strptime(args.filltime, '%H:%M:%S').time()
+ data.addfilter(SessionEndFiller, endtime=filltime)
+
+ return data
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for Close Orders with daily data')
+
+ parser.add_argument('--infile', '-i', required=False,
+ default='../../datas/2005-2006-day-001.txt',
+ help='File to be read in')
+
+ parser.add_argument('--csvformat', '-c', required=False, default='bt',
+ choices=['bt', 'visualchart', 'sierrachart',
+ 'yahoo', 'yahoo_unreversed'],
+ help='CSV Format')
+
+ parser.add_argument('--fromdate', '-f', required=False, default=None,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t', required=False, default=None,
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--eosbar', required=False, action='store_true',
+ help=('Consider a bar with the end of session time to'
+ 'be the end of the session'))
+
+ parser.add_argument('--tend', '-te',
+ default=None, required=False,
+ help='End time for the Session Filter (HH:MM)')
+
+ parser.add_argument('--filltime', '-ftime',
+ default=None, required=False,
+ help='Add Time to daily bars (HH:MM:SS)')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/order-close/close-minute.py b/backtrader/source/samples/order-close/close-minute.py
new file mode 100644
index 0000000000000000000000000000000000000000..7367a4344874fc624cd9b459a8ad46554de52a7d
--- /dev/null
+++ b/backtrader/source/samples/order-close/close-minute.py
@@ -0,0 +1,142 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,)
+# unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+
+
+class St(bt.Strategy):
+ def __init__(self):
+ self.curdate = datetime.date.min
+ self.elapsed = 0
+ self.order = None
+
+ def notify_order(self, order):
+ curdtstr = self.data.datetime.datetime().strftime('%a %Y-%m-%d %H:%M:%S')
+ if order.status in [order.Completed]:
+ dtstr = bt.num2date(order.executed.dt).strftime('%a %Y-%m-%d %H:%M:%S')
+ if order.isbuy():
+ print('%s: BUY EXECUTED, on:' % curdtstr, dtstr)
+ self.order = None
+ else: # Sell
+ print('%s: SELL EXECUTED, on:' % curdtstr, dtstr)
+
+ def next(self):
+ curdate = self.data.datetime.date()
+ if curdate > self.curdate:
+ self.elapsed += 1
+ self.curdate = curdate
+
+ dtstr = self.data.datetime.datetime().strftime('%a %Y-%m-%d %H:%M:%S')
+ if self.position and self.elapsed == 2:
+ print('%s: SELL CREATED' % dtstr)
+ self.close(exectype=bt.Order.Close)
+ self.elapsed = 0
+ elif self.order is None and self.elapsed == 2: # no pending order
+ print('%s: BUY CREATED' % dtstr)
+ self.order = self.buy(exectype=bt.Order.Close)
+ self.elapsed = 0
+
+
+def runstrat():
+ args = parse_args()
+
+ cerebro = bt.Cerebro()
+ cerebro.adddata(getdata(args))
+ cerebro.addstrategy(St)
+ if args.eosbar:
+ cerebro.broker.seteosbar(True)
+
+ cerebro.run()
+
+
+def getdata(args):
+
+ dataformat = dict(
+ bt=btfeeds.BacktraderCSVData,
+ visualchart=btfeeds.VChartCSVData,
+ sierrachart=btfeeds.SierraChartCSVData,
+ yahoo=btfeeds.YahooFinanceCSVData,
+ yahoo_unreversed=btfeeds.YahooFinanceCSVData
+ )
+
+ dfkwargs = dict()
+ if args.csvformat == 'yahoo_unreversed':
+ dfkwargs['reverse'] = True
+
+ if args.fromdate:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dfkwargs['fromdate'] = fromdate
+
+ if args.todate:
+ fromdate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dfkwargs['todate'] = todate
+
+ if args.tend is not None:
+ # internally only the "time" part is used
+ dfkwargs['sessionend'] = datetime.datetime.strptime(args.tend, '%H:%M')
+
+ dfkwargs['dataname'] = args.infile
+ dfcls = dataformat[args.csvformat]
+
+ data = dfcls(**dfkwargs)
+
+ return data
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for Close Orders with daily data')
+
+ parser.add_argument('--infile', '-i', required=False,
+ default='../../datas/2006-min-005.txt',
+ help='File to be read in')
+
+ parser.add_argument('--csvformat', '-c', required=False, default='bt',
+ choices=['bt', 'visualchart', 'sierrachart',
+ 'yahoo', 'yahoo_unreversed'],
+ help='CSV Format')
+
+ parser.add_argument('--fromdate', '-f', required=False, default=None,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t', required=False, default=None,
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--eosbar', required=False, action='store_true',
+ help=('Consider a bar with the end of session time to'
+ 'be the end of the session'))
+
+ parser.add_argument('--tend', '-te',
+ default=None, required=False,
+ help='End time for the Session Filter (HH:MM)')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/order-execution/__init__.py b/backtrader/source/samples/order-execution/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/order-execution/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/order-execution/order-execution.py b/backtrader/source/samples/order-execution/order-execution.py
new file mode 100644
index 0000000000000000000000000000000000000000..c398dad64f4c84b906428861444cebb94b4492a4
--- /dev/null
+++ b/backtrader/source/samples/order-execution/order-execution.py
@@ -0,0 +1,269 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+import os.path
+import time
+import sys
+
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+
+
+class OrderExecutionStrategy(bt.Strategy):
+ params = (
+ ('smaperiod', 15),
+ ('exectype', 'Market'),
+ ('perc1', 3),
+ ('perc2', 1),
+ ('valid', 4),
+ )
+
+ def log(self, txt, dt=None):
+ ''' Logging function fot this strategy'''
+ dt = dt or self.data.datetime[0]
+ if isinstance(dt, float):
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+
+ def notify_order(self, order):
+ if order.status in [order.Submitted, order.Accepted]:
+ # Buy/Sell order submitted/accepted to/by broker - Nothing to do
+ self.log('ORDER ACCEPTED/SUBMITTED', dt=order.created.dt)
+ self.order = order
+ return
+
+ if order.status in [order.Expired]:
+ self.log('BUY EXPIRED')
+
+ elif order.status in [order.Completed]:
+ if order.isbuy():
+ self.log(
+ 'BUY EXECUTED, Price: %.2f, Cost: %.2f, Comm %.2f' %
+ (order.executed.price,
+ order.executed.value,
+ order.executed.comm))
+
+ else: # Sell
+ self.log('SELL EXECUTED, Price: %.2f, Cost: %.2f, Comm %.2f' %
+ (order.executed.price,
+ order.executed.value,
+ order.executed.comm))
+
+ # Sentinel to None: new orders allowed
+ self.order = None
+
+ def __init__(self):
+ # SimpleMovingAverage on main data
+ # Equivalent to -> sma = btind.SMA(self.data, period=self.p.smaperiod)
+ sma = btind.SMA(period=self.p.smaperiod)
+
+ # CrossOver (1: up, -1: down) close / sma
+ self.buysell = btind.CrossOver(self.data.close, sma, plot=True)
+
+ # Sentinel to None: new ordersa allowed
+ self.order = None
+
+ def next(self):
+ if self.order:
+ # An order is pending ... nothing can be done
+ return
+
+ # Check if we are in the market
+ if self.position:
+ # In the maerket - check if it's the time to sell
+ if self.buysell < 0:
+ self.log('SELL CREATE, %.2f' % self.data.close[0])
+ self.sell()
+
+ elif self.buysell > 0:
+ if self.p.valid:
+ valid = self.data.datetime.date(0) + \
+ datetime.timedelta(days=self.p.valid)
+ else:
+ valid = None
+
+ # Not in the market and signal to buy
+ if self.p.exectype == 'Market':
+ self.buy(exectype=bt.Order.Market) # default if not given
+
+ self.log('BUY CREATE, exectype Market, price %.2f' %
+ self.data.close[0])
+
+ elif self.p.exectype == 'Close':
+ self.buy(exectype=bt.Order.Close)
+
+ self.log('BUY CREATE, exectype Close, price %.2f' %
+ self.data.close[0])
+
+ elif self.p.exectype == 'Limit':
+ price = self.data.close * (1.0 - self.p.perc1 / 100.0)
+
+ self.buy(exectype=bt.Order.Limit, price=price, valid=valid)
+
+ if self.p.valid:
+ txt = 'BUY CREATE, exectype Limit, price %.2f, valid: %s'
+ self.log(txt % (price, valid.strftime('%Y-%m-%d')))
+ else:
+ txt = 'BUY CREATE, exectype Limit, price %.2f'
+ self.log(txt % price)
+
+ elif self.p.exectype == 'Stop':
+ price = self.data.close * (1.0 + self.p.perc1 / 100.0)
+
+ self.buy(exectype=bt.Order.Stop, price=price, valid=valid)
+
+ if self.p.valid:
+ txt = 'BUY CREATE, exectype Stop, price %.2f, valid: %s'
+ self.log(txt % (price, valid.strftime('%Y-%m-%d')))
+ else:
+ txt = 'BUY CREATE, exectype Stop, price %.2f'
+ self.log(txt % price)
+
+ elif self.p.exectype == 'StopLimit':
+ price = self.data.close * (1.0 + self.p.perc1 / 100.0)
+
+ plimit = self.data.close * (1.0 + self.p.perc2 / 100.0)
+
+ self.buy(exectype=bt.Order.StopLimit, price=price, valid=valid,
+ plimit=plimit)
+
+ if self.p.valid:
+ txt = ('BUY CREATE, exectype StopLimit, price %.2f,'
+ ' valid: %s, pricelimit: %.2f')
+ self.log(txt % (price, valid.strftime('%Y-%m-%d'), plimit))
+ else:
+ txt = ('BUY CREATE, exectype StopLimit, price %.2f,'
+ ' pricelimit: %.2f')
+ self.log(txt % (price, plimit))
+
+
+def runstrat():
+ args = parse_args()
+
+ cerebro = bt.Cerebro()
+
+ data = getdata(args)
+ cerebro.adddata(data)
+
+ cerebro.addstrategy(
+ OrderExecutionStrategy,
+ exectype=args.exectype,
+ perc1=args.perc1,
+ perc2=args.perc2,
+ valid=args.valid,
+ smaperiod=args.smaperiod
+ )
+ cerebro.run()
+
+ if args.plot:
+ cerebro.plot(numfigs=args.numfigs, style=args.plotstyle)
+
+
+def getdata(args):
+
+ dataformat = dict(
+ bt=btfeeds.BacktraderCSVData,
+ visualchart=btfeeds.VChartCSVData,
+ sierrachart=btfeeds.SierraChartCSVData,
+ yahoo=btfeeds.YahooFinanceCSVData,
+ yahoo_unreversed=btfeeds.YahooFinanceCSVData
+ )
+
+ dfkwargs = dict()
+ if args.csvformat == 'yahoo_unreversed':
+ dfkwargs['reverse'] = True
+
+ if args.fromdate:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dfkwargs['fromdate'] = fromdate
+
+ if args.todate:
+ fromdate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dfkwargs['todate'] = todate
+
+ dfkwargs['dataname'] = args.infile
+
+ dfcls = dataformat[args.csvformat]
+
+ return dfcls(**dfkwargs)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='Showcase for Order Execution Types')
+
+ parser.add_argument('--infile', '-i', required=False,
+ default='../../datas/2006-day-001.txt',
+ help='File to be read in')
+
+ parser.add_argument('--csvformat', '-c', required=False, default='bt',
+ choices=['bt', 'visualchart', 'sierrachart',
+ 'yahoo', 'yahoo_unreversed'],
+ help='CSV Format')
+
+ parser.add_argument('--fromdate', '-f', required=False, default=None,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t', required=False, default=None,
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--plot', '-p', action='store_true', required=False,
+ help='Plot the read data')
+
+ parser.add_argument('--plotstyle', '-ps', required=False, default='bar',
+ choices=['bar', 'line', 'candle'],
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', required=False, default=1,
+ help='Plot using n figures')
+
+ parser.add_argument('--smaperiod', '-s', required=False, default=15,
+ help='Simple Moving Average Period')
+
+ parser.add_argument('--exectype', '-e', required=False, default='Market',
+ help=('Execution Type: Market (default), Close, Limit,'
+ ' Stop, StopLimit'))
+
+ parser.add_argument('--valid', '-v', required=False, default=0, type=int,
+ help='Validity for Limit sample: default 0 days')
+
+ parser.add_argument('--perc1', '-p1', required=False, default=0.0,
+ type=float,
+ help=('%% distance from close price at order creation'
+ ' time for the limit/trigger price in Limit/Stop'
+ ' orders'))
+
+ parser.add_argument('--perc2', '-p2', required=False, default=0.0,
+ type=float,
+ help=('%% distance from close price at order creation'
+ ' time for the limit price in StopLimit orders'))
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/order-history/__init__.py b/backtrader/source/samples/order-history/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/order-history/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/order-history/order-history.py b/backtrader/source/samples/order-history/order-history.py
new file mode 100644
index 0000000000000000000000000000000000000000..e604a14307a44f898378837dee33e4413ce0f9bd
--- /dev/null
+++ b/backtrader/source/samples/order-history/order-history.py
@@ -0,0 +1,189 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+ORDER_HISTORY = (
+ ('2005-02-01', 1, 2984.63),
+ ('2005-03-04', -1, 3079.93),
+ ('2005-03-08', 1, 3113.82),
+ ('2005-03-22', -1, 3040.55),
+ ('2005-04-08', 1, 3092.07),
+ ('2005-04-20', -1, 2957.92),
+ ('2005-05-13', 1, 2991.71),
+ ('2005-08-19', -1, 3284.35),
+ ('2005-08-22', 1, 3328.84),
+ ('2005-08-25', -1, 3293.69),
+ ('2005-09-12', 1, 3361.1),
+ ('2005-10-18', -1, 3356.73),
+ ('2005-11-09', 1, 3361.92),
+ ('2006-01-24', -1, 3544.78),
+ ('2006-02-06', 1, 3678.87),
+ ('2006-03-13', -1, 3801.03),
+ ('2006-03-20', 1, 3833.25),
+ ('2006-04-13', -1, 3777.24),
+ ('2006-05-02', 1, 3839.24),
+ ('2006-05-16', -1, 3711.46),
+ ('2006-06-30', 1, 3592.01),
+ ('2006-07-21', -1, 3580.53),
+ ('2006-08-01', 1, 3687.82),
+ ('2006-09-14', -1, 3809.08),
+ ('2006-09-25', 1, 3815.13),
+ ('2006-12-01', -1, 3993.03),
+ ('2006-12-18', 1, 4140.99),
+)
+
+
+class SmaCross(bt.SignalStrategy):
+ params = dict(sma1=10, sma2=20)
+
+ def notify_order(self, order):
+ if not order.alive():
+ print(','.join(str(x) for x in
+ (self.data.num2date(order.executed.dt).date(),
+ order.executed.size * 1 if order.isbuy() else -1,
+ order.executed.price)))
+
+ def notify_trade(self, trade):
+ if trade.isclosed:
+ print('profit {}'.format(trade.pnlcomm))
+
+ def __init__(self):
+ print('Creating Signal Strategy')
+ sma1 = bt.ind.SMA(period=self.params.sma1)
+ sma2 = bt.ind.SMA(period=self.params.sma2)
+ crossover = bt.ind.CrossOver(sma1, sma2)
+ self.signal_add(bt.SIGNAL_LONG, crossover)
+
+
+class St(bt.Strategy):
+ params = dict(
+ )
+
+ def notify_order(self, order):
+ if not order.alive():
+ print(','.join(str(x) for x in
+ (self.data.num2date(order.executed.dt).date(),
+ order.executed.size * 1 if order.isbuy() else -1,
+ order.executed.price)))
+
+ def notify_trade(self, trade):
+ if trade.isclosed:
+ print('profit {}'.format(trade.pnlcomm))
+
+ def __init__(self):
+ print('Creating Empty Strategy')
+ pass
+
+ def next(self):
+ pass
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ if not args.order_history:
+ cerebro.addstrategy(SmaCross, **eval('dict(' + args.strat + ')'))
+ else:
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+ cerebro.add_order_history(ORDER_HISTORY, notify=True)
+
+ cerebro.addanalyzer(bt.analyzers.TimeReturn, timeframe=bt.TimeFrame.Months)
+ cerebro.addanalyzer(bt.analyzers.TimeReturn, timeframe=bt.TimeFrame.Years)
+ cerebro.addanalyzer(bt.analyzers.TradeAnalyzer)
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Order History Sample'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2005-2006-day-001.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--order-history', required=False, action='store_true',
+ help='use order history')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/order_target/__init__.py b/backtrader/source/samples/order_target/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/order_target/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/order_target/order_target.py b/backtrader/source/samples/order_target/order_target.py
new file mode 100644
index 0000000000000000000000000000000000000000..3666390a087092b48f5cf1adb87692f57e4870fa
--- /dev/null
+++ b/backtrader/source/samples/order_target/order_target.py
@@ -0,0 +1,198 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+from datetime import datetime
+
+import backtrader as bt
+
+
+class TheStrategy(bt.Strategy):
+ '''
+ This strategy is loosely based on some of the examples from the Van
+ K. Tharp book: *Trade Your Way To Financial Freedom*. The logic:
+
+ - Enter the market if:
+ - The MACD.macd line crosses the MACD.signal line to the upside
+ - The Simple Moving Average has a negative direction in the last x
+ periods (actual value below value x periods ago)
+
+ - Set a stop price x times the ATR value away from the close
+
+ - If in the market:
+
+ - Check if the current close has gone below the stop price. If yes,
+ exit.
+ - If not, update the stop price if the new stop price would be higher
+ than the current
+ '''
+
+ params = (
+ ('use_target_size', False),
+ ('use_target_value', False),
+ ('use_target_percent', False),
+ )
+
+ def notify_order(self, order):
+ if order.status == order.Completed:
+ pass
+
+ if not order.alive():
+ self.order = None # indicate no order is pending
+
+ def start(self):
+ self.order = None # sentinel to avoid operrations on pending order
+
+ def next(self):
+ dt = self.data.datetime.date()
+
+ portfolio_value = self.broker.get_value()
+ print('%04d - %s - Position Size: %02d - Value %.2f' %
+ (len(self), dt.isoformat(), self.position.size, portfolio_value))
+
+ data_value = self.broker.get_value([self.data])
+
+ if self.p.use_target_value:
+ print('%04d - %s - data value %.2f' %
+ (len(self), dt.isoformat(), data_value))
+
+ elif self.p.use_target_percent:
+ port_perc = data_value / portfolio_value
+ print('%04d - %s - data percent %.2f' %
+ (len(self), dt.isoformat(), port_perc))
+
+ if self.order:
+ return # pending order execution
+
+ size = dt.day
+ if (dt.month % 2) == 0:
+ size = 31 - size
+
+ if self.p.use_target_size:
+ target = size
+ print('%04d - %s - Order Target Size: %02d' %
+ (len(self), dt.isoformat(), size))
+
+ self.order = self.order_target_size(target=size)
+
+ elif self.p.use_target_value:
+ value = size * 1000
+
+ print('%04d - %s - Order Target Value: %.2f' %
+ (len(self), dt.isoformat(), value))
+
+ self.order = self.order_target_value(target=value)
+
+ elif self.p.use_target_percent:
+ percent = size / 100.0
+
+ print('%04d - %s - Order Target Percent: %.2f' %
+ (len(self), dt.isoformat(), percent))
+
+ self.order = self.order_target_percent(target=percent)
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.setcash(args.cash)
+
+ dkwargs = dict()
+ if args.fromdate is not None:
+ dkwargs['fromdate'] = datetime.strptime(args.fromdate, '%Y-%m-%d')
+ if args.todate is not None:
+ dkwargs['todate'] = datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # data
+ data = bt.feeds.YahooFinanceCSVData(dataname=args.data, **dkwargs)
+ cerebro.adddata(data)
+
+ # strategy
+ cerebro.addstrategy(TheStrategy,
+ use_target_size=args.target_size,
+ use_target_value=args.target_value,
+ use_target_percent=args.target_percent)
+
+ cerebro.run()
+
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for Order Target')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/yhoo-1996-2015.txt',
+ help='Specific data to be read in')
+
+ parser.add_argument('--fromdate', required=False,
+ default='2005-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False,
+ default='2006-12-31',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--cash', required=False, action='store',
+ type=float, default=1000000,
+ help='Ending date in YYYY-MM-DD format')
+
+ pgroup = parser.add_mutually_exclusive_group(required=True)
+
+ pgroup.add_argument('--target-size', required=False, action='store_true',
+ help=('Use order_target_size'))
+
+ pgroup.add_argument('--target-value', required=False, action='store_true',
+ help=('Use order_target_value'))
+
+ pgroup.add_argument('--target-percent', required=False,
+ action='store_true',
+ help=('Use order_target_percent'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/partial-plot/__init__.py b/backtrader/source/samples/partial-plot/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/partial-plot/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/partial-plot/partial-plot.py b/backtrader/source/samples/partial-plot/partial-plot.py
new file mode 100644
index 0000000000000000000000000000000000000000..0c67f109755eca597168761567dcf35dd8c1df85
--- /dev/null
+++ b/backtrader/source/samples/partial-plot/partial-plot.py
@@ -0,0 +1,124 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = (
+ )
+
+ def __init__(self):
+ # self.schedule_once(self.pepe, when=datetime.datetime())
+ # This one won't have the expected fidelity in backtesting
+ # self.schedule_once(self.pepe, when=datetime.timedelta())
+ # self.schedule_reps(self.pepe, when=datetime.time(), days=bt.sched.)
+
+ bt.ind.SMA()
+ stoc = bt.ind.Stochastic()
+ bt.ind.CrossOver(stoc.lines.percK, stoc.lines.percD)
+
+ def next(self):
+ pass
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ cerebro.resampledata(data0, timeframe=bt.TimeFrame.Weeks)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Sample for partial plotting'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2005-2006-day-001.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/pinkfish-challenge/__init__.py b/backtrader/source/samples/pinkfish-challenge/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/pinkfish-challenge/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/pinkfish-challenge/pinkfish-challenge.py b/backtrader/source/samples/pinkfish-challenge/pinkfish-challenge.py
new file mode 100644
index 0000000000000000000000000000000000000000..bf43aee8c8599c864342f2e6a61737616bd095a1
--- /dev/null
+++ b/backtrader/source/samples/pinkfish-challenge/pinkfish-challenge.py
@@ -0,0 +1,345 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+
+class DayStepsCloseFilter(bt.with_metaclass(bt.MetaParams, object)):
+ '''
+ Replays a bar in 2 steps:
+
+ - In the 1st step the "Open-High-Low" could be evaluated to decide if to
+ act on the close (the close is still there ... should not be evaluated)
+
+ - If a "Close" order has been executed
+
+ In this 1st fragment the "Close" is replaced through the "open" althoug
+ other alternatives would be possible like high - low average, or an
+ algorithm based on where the "close" ac
+
+ and
+
+ - Open-High-Low-Close
+ '''
+ params = (
+ ('cvol', 0.5), # 0 -> 1 amount of volume to keep for close
+ )
+
+ def __init__(self, data):
+ self.pendingbar = None
+
+ def __call__(self, data):
+ # Make a copy of the new bar and remove it from stream
+ closebar = [data.lines[i][0] for i in range(data.size())]
+ datadt = data.datetime.date() # keep the date
+
+ ohlbar = closebar[:] # Make an open-high-low bar
+
+ # Adjust volume
+ ohlbar[data.Volume] = int(closebar[data.Volume] * (1.0 - self.p.cvol))
+
+ dt = datetime.datetime.combine(datadt, data.p.sessionstart)
+ ohlbar[data.DateTime] = data.date2num(dt)
+
+ dt = datetime.datetime.combine(datadt, data.p.sessionend)
+ closebar[data.DateTime] = data.date2num(dt)
+
+ # Update stream
+ data.backwards() # remove the copied bar from stream
+ # Overwrite the new data bar with our pending data - except start point
+ if self.pendingbar is not None:
+ data._updatebar(self.pendingbar)
+
+ self.pendingbar = closebar # update the pending bar to the new bar
+ data._add2stack(ohlbar) # Add the openbar to the stack for processing
+
+ return False # the length of the stream was not changed
+
+ def last(self, data):
+ '''Called when the data is no longer producing bars
+ Can be called multiple times. It has the chance to (for example)
+ produce extra bars'''
+ if self.pendingbar is not None:
+ data.backwards() # remove delivered open bar
+ data._add2stack(self.pendingbar) # add remaining
+ self.pendingbar = None # No further action
+ return True # something delivered
+
+ return False # nothing delivered here
+
+
+class DayStepsReplayFilter(bt.with_metaclass(bt.MetaParams, object)):
+ '''
+ Replays a bar in 2 steps:
+
+ - In the 1st step the "Open-High-Low" could be evaluated to decide if to
+ act on the close (the close is still there ... should not be evaluated)
+
+ - If a "Close" order has been executed
+
+ In this 1st fragment the "Close" is replaced through the "open" althoug
+ other alternatives would be possible like high - low average, or an
+ algorithm based on where the "close" ac
+
+ and
+
+ - Open-High-Low-Close
+ '''
+ params = (
+ ('closevol', 0.5), # 0 -> 1 amount of volume to keep for close
+ )
+
+ # replaying = True
+
+ def __init__(self, data):
+ self.lastdt = None
+ pass
+
+ def __call__(self, data):
+ # Make a copy of the new bar and remove it from stream
+ datadt = data.datetime.date() # keep the date
+
+ if self.lastdt == datadt:
+ return False # skip bars that come again in the filter
+
+ self.lastdt = datadt # keep ref to last seen bar
+
+ # Make a copy of current data for ohlbar
+ ohlbar = [data.lines[i][0] for i in range(data.size())]
+ closebar = ohlbar[:] # Make a copy for the close
+
+ # replace close price with o-h-l average
+ ohlprice = ohlbar[data.Open] + ohlbar[data.High] + ohlbar[data.Low]
+ ohlbar[data.Close] = ohlprice / 3.0
+
+ vol = ohlbar[data.Volume] # adjust volume
+ ohlbar[data.Volume] = vohl = int(vol * (1.0 - self.p.closevol))
+
+ oi = ohlbar[data.OpenInterest] # adjust open interst
+ ohlbar[data.OpenInterest] = 0
+
+ # Adjust times
+ dt = datetime.datetime.combine(datadt, data.p.sessionstart)
+ ohlbar[data.DateTime] = data.date2num(dt)
+
+ # Ajust closebar to generate a single tick -> close price
+ closebar[data.Open] = cprice = closebar[data.Close]
+ closebar[data.High] = cprice
+ closebar[data.Low] = cprice
+ closebar[data.Volume] = vol - vohl
+ ohlbar[data.OpenInterest] = oi
+
+ # Adjust times
+ dt = datetime.datetime.combine(datadt, data.p.sessionend)
+ closebar[data.DateTime] = data.date2num(dt)
+
+ # Update stream
+ data.backwards(force=True) # remove the copied bar from stream
+ data._add2stack(ohlbar) # add ohlbar to stack
+ # Add 2nd part to stash to delay processing to next round
+ data._add2stack(closebar, stash=True)
+
+ return False # the length of the stream was not changed
+
+
+class St(bt.Strategy):
+ params = (
+ ('highperiod', 20),
+ ('sellafter', 2),
+ ('market', False),
+ )
+
+ def __init__(self):
+ pass
+
+ def start(self):
+ self.callcounter = 0
+ txtfields = list()
+ txtfields.append('Calls')
+ txtfields.append('Len Strat')
+ txtfields.append('Len Data')
+ txtfields.append('Datetime')
+ txtfields.append('Open')
+ txtfields.append('High')
+ txtfields.append('Low')
+ txtfields.append('Close')
+ txtfields.append('Volume')
+ txtfields.append('OpenInterest')
+ print(','.join(txtfields))
+
+ self.lcontrol = 0 # control if 1st or 2nd call
+ self.inmarket = 0
+
+ # Get the highest but delayed 1 ... to avoid "today"
+ self.highest = btind.Highest(self.data.high,
+ period=self.p.highperiod,
+ subplot=False)
+
+ def notify_order(self, order):
+ if order.isbuy() and order.status == order.Completed:
+ print('-- BUY Completed on:',
+ self.data.num2date(order.executed.dt).strftime('%Y-%m-%d'))
+ print('-- BUY Price:', order.executed.price)
+
+ def next(self):
+ self.callcounter += 1
+
+ txtfields = list()
+ txtfields.append('%04d' % self.callcounter)
+ txtfields.append('%04d' % len(self))
+ txtfields.append('%04d' % len(self.data0))
+ txtfields.append(self.data.datetime.datetime(0).isoformat())
+ txtfields.append('%.2f' % self.data0.open[0])
+ txtfields.append('%.2f' % self.data0.high[0])
+ txtfields.append('%.2f' % self.data0.low[0])
+ txtfields.append('%.2f' % self.data0.close[0])
+ txtfields.append('%.2f' % self.data0.volume[0])
+ txtfields.append('%.2f' % self.data0.openinterest[0])
+ print(','.join(txtfields))
+
+ if not self.position:
+ if len(self.data) > self.lcontrol:
+ if self.data.high == self.highest: # today is highest!!!
+ print('High %.2f > Highest %.2f' %
+ (self.data.high[0], self.highest[0]))
+ print('LAST 19 highs:',
+ self.data.high.get(size=19, ago=-1))
+ print('-- BUY on date:',
+ self.data.datetime.date().strftime('%Y-%m-%d'))
+ ex = bt.Order.Market if self.p.market else bt.Order.Close
+ self.buy(exectype=ex)
+ self.inmarket = len(self) # reset period in market
+
+ else: # in the market
+ if (len(self) - self.inmarket) >= self.p.sellafter:
+ self.sell()
+
+ self.lcontrol = len(self.data)
+
+
+def runstrat():
+ args = parse_args()
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+ cerebro.broker.set_eosbar(True)
+
+ dkwargs = dict()
+ if args.fromdate:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ if args.no_replay:
+ data = bt.feeds.YahooFinanceCSVData(dataname=args.data,
+ timeframe=bt.TimeFrame.Days,
+ compression=1,
+ **dkwargs)
+ data.addfilter(DayStepsCloseFilter)
+ cerebro.adddata(data)
+ else:
+ data = bt.feeds.YahooFinanceCSVData(dataname=args.data,
+ timeframe=bt.TimeFrame.Minutes,
+ compression=1,
+ **dkwargs)
+ data.addfilter(DayStepsReplayFilter)
+ cerebro.replaydata(data, timeframe=bt.TimeFrame.Days, compression=1)
+
+ cerebro.addstrategy(St,
+ sellafter=args.sellafter,
+ highperiod=args.highperiod,
+ market=args.market)
+
+ cerebro.run(runonce=False, preload=False, oldbuysell=args.oldbuysell)
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for pinkfish challenge')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/yhoo-1996-2015.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--fromdate', required=False,
+ default='2005-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False,
+ default='2006-12-31',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--cash', required=False, action='store',
+ type=float, default=50000,
+ help=('Cash to start with'))
+
+ parser.add_argument('--sellafter', required=False, action='store',
+ type=int, default=2,
+ help=('Sell after so many bars in market'))
+
+ parser.add_argument('--highperiod', required=False, action='store',
+ type=int, default=20,
+ help=('Period to look for the highest'))
+
+ parser.add_argument('--no-replay', required=False, action='store_true',
+ help=('Use Replay + replay filter'))
+
+ parser.add_argument('--market', required=False, action='store_true',
+ help=('Use Market exec instead of Close'))
+
+ parser.add_argument('--oldbuysell', required=False, action='store_true',
+ help=('Old buysell plot behavior - ON THE PRICE'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example (escape the quotes if needed):\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/pivot-point/__init__.py b/backtrader/source/samples/pivot-point/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/pivot-point/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/pivot-point/pivotpoint.py b/backtrader/source/samples/pivot-point/pivotpoint.py
new file mode 100644
index 0000000000000000000000000000000000000000..09a091f4daf5b507134a90d11d314297870365b6
--- /dev/null
+++ b/backtrader/source/samples/pivot-point/pivotpoint.py
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,)
+# unicode_literals)
+
+import backtrader as bt
+
+
+class PivotPoint1(bt.Indicator):
+ lines = ('p', 's1', 's2', 'r1', 'r2',)
+
+ def __init__(self):
+ h = self.data.high(-1) # previous high
+ l = self.data.low(-1) # previous low
+ c = self.data.close(-1) # previous close
+
+ self.lines.p = p = (h + l + c) / 3.0
+
+ p2 = p * 2.0
+ self.lines.s1 = p2 - h # (p x 2) - high
+ self.lines.r1 = p2 - l # (p x 2) - low
+
+ hilo = h - l
+ self.lines.s2 = p - hilo # p - (high - low)
+ self.lines.r2 = p + hilo # p + (high - low)
+
+
+class PivotPoint(bt.Indicator):
+ lines = ('p', 's1', 's2', 'r1', 'r2',)
+ plotinfo = dict(subplot=False)
+
+ def __init__(self):
+ h = self.data.high # current high
+ l = self.data.low # current high
+ c = self.data.close # current high
+
+ self.lines.p = p = (h + l + c) / 3.0
+
+ p2 = p * 2.0
+ self.lines.s1 = p2 - h # (p x 2) - high
+ self.lines.r1 = p2 - l # (p x 2) - low
+
+ hilo = h - l
+ self.lines.s2 = p - hilo # p - (high - low)
+ self.lines.r2 = p + hilo # p + (high - low)
diff --git a/backtrader/source/samples/pivot-point/ppsample.py b/backtrader/source/samples/pivot-point/ppsample.py
new file mode 100644
index 0000000000000000000000000000000000000000..aad3aaf7cef80362c46d8cd64dff16c79bd7516e
--- /dev/null
+++ b/backtrader/source/samples/pivot-point/ppsample.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.utils.flushfile
+
+
+class St(bt.Strategy):
+ params = (('usepp1', False),
+ ('plot_on_daily', False))
+
+ def __init__(self):
+ autoplot = self.p.plot_on_daily
+ self.pp = pp = bt.ind.PivotPoint(self.data1, _autoplot=autoplot)
+
+ def next(self):
+ txt = ','.join(
+ ['%04d' % len(self),
+ '%04d' % len(self.data0),
+ '%04d' % len(self.data1),
+ self.data.datetime.date(0).isoformat(),
+ '%04d' % len(self.pp),
+ '%.2f' % self.pp[0]])
+
+ print(txt)
+
+
+def runstrat():
+ args = parse_args()
+
+ cerebro = bt.Cerebro()
+ data = btfeeds.BacktraderCSVData(dataname=args.data)
+ cerebro.adddata(data)
+ cerebro.resampledata(data, timeframe=bt.TimeFrame.Months)
+
+ cerebro.addstrategy(St,
+ usepp1=args.usepp1,
+ plot_on_daily=args.plot_on_daily)
+ cerebro.run(runonce=False)
+ if args.plot:
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for pivot point and cross plotting')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/2005-2006-day-001.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--plot', required=False, action='store_true',
+ help=('Plot the result'))
+
+ parser.add_argument('--plot-on-daily', required=False, action='store_true',
+ help=('Plot the indicator on the daily data'))
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/plot-same-axis/__init__.py b/backtrader/source/samples/plot-same-axis/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/plot-same-axis/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/plot-same-axis/plot-same-axis.py b/backtrader/source/samples/plot-same-axis/plot-same-axis.py
new file mode 100644
index 0000000000000000000000000000000000000000..c67c88963a805c8f14bd80056df4836082c87319
--- /dev/null
+++ b/backtrader/source/samples/plot-same-axis/plot-same-axis.py
@@ -0,0 +1,146 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+# The above could be sent to an independent module
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+
+
+class PlotStrategy(bt.Strategy):
+ '''
+ The strategy does nothing but create indicators for plotting purposes
+ '''
+ params = dict(
+ smasubplot=False, # default for Moving averages
+ nomacdplot=False,
+ rsioverstoc=False,
+ rsioversma=False,
+ stocrsi=False,
+ stocrsilabels=False,
+ )
+
+ def __init__(self):
+ sma = btind.SMA(subplot=self.params.smasubplot)
+
+ macd = btind.MACD()
+ # In SMA we passed plot directly as kwarg, here the plotinfo.plot
+ # attribute is changed - same effect
+ macd.plotinfo.plot = not self.params.nomacdplot
+
+ # Let's put rsi on stochastic/sma or the other way round
+ stoc = btind.Stochastic()
+ rsi = btind.RSI()
+ if self.params.stocrsi:
+ stoc.plotinfo.plotmaster = rsi
+ stoc.plotinfo.plotlinelabels = self.p.stocrsilabels
+ elif self.params.rsioverstoc:
+ rsi.plotinfo.plotmaster = stoc
+ elif self.params.rsioversma:
+ rsi.plotinfo.plotmaster = sma
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Create the 1st data
+ data = btfeeds.BacktraderCSVData(
+ dataname=args.data,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the 1st data to cerebro
+ cerebro.adddata(data)
+
+ # Add the strategy
+ cerebro.addstrategy(PlotStrategy,
+ smasubplot=args.smasubplot,
+ nomacdplot=args.nomacdplot,
+ rsioverstoc=args.rsioverstoc,
+ rsioversma=args.rsioversma,
+ stocrsi=args.stocrsi,
+ stocrsilabels=args.stocrsilabels)
+
+ # And run it
+ cerebro.run(stdstats=args.stdstats)
+
+ # Plot
+ cerebro.plot(numfigs=args.numfigs, volume=False)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='Plotting Example')
+
+ parser.add_argument('--data', '-d',
+ default='../../datas/2006-day-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2006-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2006-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--stdstats', '-st', action='store_true',
+ help='Show standard observers')
+
+ parser.add_argument('--smasubplot', '-ss', action='store_true',
+ help='Put SMA on own subplot/axis')
+
+ parser.add_argument('--nomacdplot', '-nm', action='store_true',
+ help='Hide the indicator from the plot')
+
+ group = parser.add_mutually_exclusive_group(required=False)
+
+ group.add_argument('--rsioverstoc', '-ros', action='store_true',
+ help='Plot the RSI indicator on the Stochastic axis')
+
+ group.add_argument('--rsioversma', '-rom', action='store_true',
+ help='Plot the RSI indicator on the SMA axis')
+
+ group.add_argument('--stocrsi', '-strsi', action='store_true',
+ help='Plot the Stochastic indicator on the RSI axis')
+
+ parser.add_argument('--stocrsilabels', action='store_true',
+ help='Plot line names instead of indicator name')
+
+ parser.add_argument('--numfigs', '-n', default=1,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/psar/__init__.py b/backtrader/source/samples/psar/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/psar/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/psar/psar-intraday.py b/backtrader/source/samples/psar/psar-intraday.py
new file mode 100644
index 0000000000000000000000000000000000000000..f16af16b0a2c2e48efb2398e0c6e0af3351d8ccb
--- /dev/null
+++ b/backtrader/source/samples/psar/psar-intraday.py
@@ -0,0 +1,136 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = (
+ )
+
+ def __init__(self):
+ self.psar0 = bt.ind.ParabolicSAR(self.data0)
+ self.psar1 = bt.ind.ParabolicSAR(self.data1)
+ pass
+
+ def next(self):
+ txt = []
+ txt.append('{:04d}'.format(len(self)))
+ txt.append('{:04d}'.format(len(self.data0)))
+ txt.append(self.data0.datetime.datetime())
+ txt.append('{:.2f}'.format(self.data0.close[0]))
+ txt.append('PSAR')
+ txt.append('{:04.2f}'.format(self.psar0[0]))
+ if len(self.data1):
+ txt.append('{:04d}'.format(len(self.data1)))
+ txt.append(self.data1.datetime.datetime())
+ txt.append('{:.2f}'.format(self.data1.close[0]))
+ txt.append('PSAR')
+ txt.append('{:04.2f}'.format(self.psar1[0]))
+
+ print(','.join(str(x) for x in txt))
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict(
+ timeframe=bt.TimeFrame.Minutes,
+ compression=5,
+ )
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ cerebro.resampledata(data0, timeframe=bt.TimeFrame.Minutes, compression=15)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Sample Skeleton'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas//2006-min-005.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/psar/psar.py b/backtrader/source/samples/psar/psar.py
new file mode 100644
index 0000000000000000000000000000000000000000..7140d7e9f26e8b863b621f9fae2b4fa8b9d3f383
--- /dev/null
+++ b/backtrader/source/samples/psar/psar.py
@@ -0,0 +1,119 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = (
+ )
+
+ def __init__(self):
+ self.psar = bt.ind.ParabolicSAR(period=20)
+ pass
+
+ def next(self):
+ txt = ['{:4d}'.format(len(self))]
+ txt.append('{}'.format(self.datetime.date()))
+ txt.append('{:.2f}'.format(self.psar[0]))
+ print(','.join(txt))
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Sample Skeleton'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2005-2006-day-001.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/pyfolio2/backtrader-pyfolio.ipynb b/backtrader/source/samples/pyfolio2/backtrader-pyfolio.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..0016ffdf58c11ecb4c62299822a6fde9e94cd99d
--- /dev/null
+++ b/backtrader/source/samples/pyfolio2/backtrader-pyfolio.ipynb
@@ -0,0 +1,310 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [],
+ "source": [
+ "from __future__ import (absolute_import, division, print_function,\n",
+ " unicode_literals)\n",
+ "\n",
+ "\n",
+ "import argparse\n",
+ "import collections\n",
+ "import datetime\n",
+ "\n",
+ "\n",
+ "import backtrader as bt\n",
+ "\n",
+ "\n",
+ "class St(bt.SignalStrategy):\n",
+ " params = (\n",
+ " ('pfast', 13),\n",
+ " ('pslow', 50),\n",
+ " ('printdata', False),\n",
+ " ('stake', 1000),\n",
+ " ('short', False),\n",
+ " )\n",
+ "\n",
+ " def __init__(self):\n",
+ " self.sfast = bt.indicators.SMA(period=self.p.pfast)\n",
+ " self.sslow = bt.indicators.SMA(period=self.p.pslow)\n",
+ " self.cover = bt.indicators.CrossOver(self.sfast, self.sslow)\n",
+ " if self.p.short:\n",
+ " self.signal_add(bt.SIGNAL_LONGSHORT, self.cover)\n",
+ " else:\n",
+ " self.signal_add(bt.SIGNAL_LONG, self.cover)\n",
+ "\n",
+ " def start(self):\n",
+ " super(self.__class__, self).start()\n",
+ " if self.p.printdata:\n",
+ " txtfields = list()\n",
+ " txtfields.append('Len')\n",
+ " txtfields.append('Datetime')\n",
+ " txtfields.append('Open')\n",
+ " txtfields.append('High')\n",
+ " txtfields.append('Low')\n",
+ " txtfields.append('Close')\n",
+ " txtfields.append('Volume')\n",
+ " txtfields.append('OpenInterest')\n",
+ " print(','.join(txtfields))\n",
+ "\n",
+ " def next(self):\n",
+ " super(self.__class__, self).next()\n",
+ " if self.p.printdata:\n",
+ " # Print only 1st data ... is just a check that things are running\n",
+ " txtfields = list()\n",
+ " txtfields.append('%04d' % len(self))\n",
+ " txtfields.append(self.data.datetime.datetime(0).isoformat())\n",
+ " txtfields.append('%.2f' % self.data0.open[0])\n",
+ " txtfields.append('%.2f' % self.data0.high[0])\n",
+ " txtfields.append('%.2f' % self.data0.low[0])\n",
+ " txtfields.append('%.2f' % self.data0.close[0])\n",
+ " txtfields.append('%.2f' % self.data0.volume[0])\n",
+ " txtfields.append('%.2f' % self.data0.openinterest[0])\n",
+ " print(','.join(txtfields))\n",
+ "\n",
+ "\n",
+ "_TFRAMES = collections.OrderedDict(\n",
+ " (\n",
+ " ('minutes', bt.TimeFrame.Minutes),\n",
+ " ('days', bt.TimeFrame.Days),\n",
+ " ('weeks', bt.TimeFrame.Weeks),\n",
+ " ('months', bt.TimeFrame.Months),\n",
+ " ('years', bt.TimeFrame.Years),\n",
+ " )\n",
+ ")\n",
+ "\n",
+ "_TFS = _TFRAMES.keys()\n",
+ "\n",
+ "\n",
+ "def runstrat(args=None):\n",
+ " args = parse_args(args)\n",
+ "\n",
+ " cerebro = bt.Cerebro()\n",
+ " cerebro.broker.set_cash(args.cash)\n",
+ "\n",
+ " dkwargs = dict()\n",
+ " if args.fromdate:\n",
+ " fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')\n",
+ " dkwargs['fromdate'] = fromdate\n",
+ "\n",
+ " if args.todate:\n",
+ " todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')\n",
+ " dkwargs['todate'] = todate\n",
+ "\n",
+ " if args.timeframe:\n",
+ " dkwargs['timeframe'] = _TFRAMES[args.timeframe]\n",
+ "\n",
+ " if args.compression:\n",
+ " dkwargs['compression'] = args.compression\n",
+ "\n",
+ " # data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **dkwargs)\n",
+ " data0 = bt.feeds.VCData(dataname=args.data0, historical=True, **dkwargs)\n",
+ " cerebro.adddata(data0, name='Data0')\n",
+ "\n",
+ " cerebro.addstrategy(St, short=args.short, printdata=args.printdata)\n",
+ " cerebro.addsizer(bt.sizers.FixedSize, stake=args.stake)\n",
+ "\n",
+ " # Own analyzerset\n",
+ " cerebro.addanalyzer(bt.analyzers.TimeReturn, timeframe=bt.TimeFrame.Years)\n",
+ " cerebro.addanalyzer(bt.analyzers.SharpeRatio, timeframe=bt.TimeFrame.Years)\n",
+ " cerebro.addanalyzer(bt.analyzers.SQN,)\n",
+ "\n",
+ " if args.pyfolio:\n",
+ " cerebro.addanalyzer(bt.analyzers.PyFolio, _name='pyfolio',\n",
+ " timeframe=_TFRAMES[args.pftimeframe])\n",
+ "\n",
+ " if args.printout:\n",
+ " print('Start run')\n",
+ " results = cerebro.run()\n",
+ " if args.printout:\n",
+ " print('End Run')\n",
+ " strat = results[0]\n",
+ "\n",
+ " # Results of own analyzers\n",
+ " al = strat.analyzers.timereturn\n",
+ " print('-- Time Return:')\n",
+ " for k, v in al.get_analysis().items():\n",
+ " print('{}: {}'.format(k, v))\n",
+ "\n",
+ " al = strat.analyzers.sharperatio\n",
+ " print('-- Sharpe Ratio:')\n",
+ " for k, v in al.get_analysis().items():\n",
+ " print('{}: {}'.format(k, v))\n",
+ "\n",
+ " al = strat.analyzers.sqn\n",
+ " print('-- SQN:')\n",
+ " for k, v in al.get_analysis().items():\n",
+ " print('{}: {}'.format(k, v))\n",
+ "\n",
+ " if args.pyfolio:\n",
+ " pyfoliozer = strat.analyzers.getbyname('pyfolio',)\n",
+ "\n",
+ " returns, positions, transactions, gross_lev = pyfoliozer.get_pf_items()\n",
+ " if args.printout:\n",
+ " print('-- RETURNS')\n",
+ " print(returns)\n",
+ " print('-- POSITIONS')\n",
+ " print(positions)\n",
+ " print('-- TRANSACTIONS')\n",
+ " print(transactions)\n",
+ " print('-- GROSS LEVERAGE')\n",
+ " print(gross_lev)\n",
+ "\n",
+ " if True:\n",
+ " import pyfolio as pf\n",
+ " pf.create_full_tear_sheet(\n",
+ " returns,\n",
+ " positions=positions,\n",
+ " transactions=transactions,\n",
+ " gross_lev=gross_lev,\n",
+ " round_trips=True)\n",
+ "\n",
+ " if args.plot:\n",
+ " pkwargs = dict(style='bar')\n",
+ " if args.plot is not True: # evals to True but is not True\n",
+ " pkwargs = eval('dict(' + args.plot + ')') # args were passed\n",
+ "\n",
+ " cerebro.plot(**pkwargs)\n",
+ "\n",
+ "\n",
+ "def parse_args(pargs=None):\n",
+ "\n",
+ " parser = argparse.ArgumentParser(\n",
+ " formatter_class=argparse.ArgumentDefaultsHelpFormatter,\n",
+ " description='Sample for pivot point and cross plotting')\n",
+ "\n",
+ " parser.add_argument('--data0', required=True,\n",
+ " # default='../../datas/yhoo-1996-2015.txt',\n",
+ " help='Data to be read in')\n",
+ "\n",
+ " parser.add_argument('--timeframe', required=False,\n",
+ " default=next(iter(_TFS)), choices=_TFS,\n",
+ " help='Starting date in YYYY-MM-DD format')\n",
+ "\n",
+ " parser.add_argument('--compression', required=False,\n",
+ " default=1, type=int,\n",
+ " help='Starting date in YYYY-MM-DD format')\n",
+ "\n",
+ " if False:\n",
+ " parser.add_argument('--data1', required=False,\n",
+ " default='../../datas/orcl-1995-2014.txt',\n",
+ " help='Data to be read in')\n",
+ "\n",
+ " parser.add_argument('--fromdate', required=False,\n",
+ " default='2013-01-01',\n",
+ " help='Starting date in YYYY-MM-DD format')\n",
+ "\n",
+ " parser.add_argument('--todate', required=False,\n",
+ " default='2015-12-31',\n",
+ " help='Ending date in YYYY-MM-DD format')\n",
+ "\n",
+ " parser.add_argument('--stake', required=False, action='store',\n",
+ " default=10, type=int,\n",
+ " help=('Stake size'))\n",
+ "\n",
+ " parser.add_argument('--short', required=False, action='store_true',\n",
+ " help=('Go short too'))\n",
+ "\n",
+ " parser.add_argument('--cash', required=False, action='store',\n",
+ " type=float, default=50000,\n",
+ " help=('Cash to start with'))\n",
+ "\n",
+ " parser.add_argument('--pyfolio', required=False, action='store_true',\n",
+ " help=('Do pyfolio things'))\n",
+ "\n",
+ " parser.add_argument('--pftimeframe', required=False,\n",
+ " default='days', choices=_TFS,\n",
+ " help='Starting date in YYYY-MM-DD format')\n",
+ "\n",
+ " parser.add_argument('--printout', required=False, action='store_true',\n",
+ " help=('Print infos'))\n",
+ "\n",
+ " parser.add_argument('--printdata', required=False, action='store_true',\n",
+ " help=('Print data lines'))\n",
+ "\n",
+ " # Plot options\n",
+ " parser.add_argument('--plot', '-p', nargs='?', required=False,\n",
+ " metavar='kwargs', const=True,\n",
+ " help=('Plot the read data applying any kwargs passed\\n'\n",
+ " '\\n'\n",
+ " 'For example:\\n'\n",
+ " '\\n'\n",
+ " ' --plot style=\"candle\" (to plot candles)\\n'))\n",
+ "\n",
+ " if pargs is not None:\n",
+ " return parser.parse_args(pargs)\n",
+ "\n",
+ " return parser.parse_args()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "ename": "UnboundLocalError",
+ "evalue": "local variable 'txt' referenced before assignment",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mUnboundLocalError\u001b[0m Traceback (most recent call last)",
+ "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mrunstrat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'--data0 015ES --timeframe days --compression 1 --pyfolio --printout --cash 200000 --short'\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
+ "\u001b[0;32m\u001b[0m in \u001b[0;36mrunstrat\u001b[0;34m(args)\u001b[0m\n\u001b[1;32m 94\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 95\u001b[0m \u001b[0;31m# data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **dkwargs)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 96\u001b[0;31m \u001b[0mdata0\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfeeds\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mVCData\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdataname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhistorical\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mdkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 97\u001b[0m \u001b[0mcerebro\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madddata\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'Data0'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 98\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32md:\\dro\\01-docs\\01-home\\src\\backtrader\\backtrader\\metabase.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 85\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdonew\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 86\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdopreinit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 87\u001b[0;31m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdoinit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 88\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdopostinit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 89\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32md:\\dro\\01-docs\\01-home\\src\\backtrader\\backtrader\\metabase.py\u001b[0m in \u001b[0;36mdoinit\u001b[0;34m(cls, _obj, *args, **kwargs)\u001b[0m\n\u001b[1;32m 75\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 76\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mdoinit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 77\u001b[0;31m \u001b[0m_obj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 78\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32md:\\dro\\01-docs\\01-home\\src\\backtrader\\backtrader\\feeds\\vcdata.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 245\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 246\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 247\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstore\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mvcstore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mVCStore\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 248\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 249\u001b[0m \u001b[0;31m# Correct a copy past directly from VisualChart\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32md:\\dro\\01-docs\\01-home\\src\\backtrader\\backtrader\\stores\\vcstore.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 180\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_singleton\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 181\u001b[0m cls._singleton = (\n\u001b[0;32m--> 182\u001b[0;31m super(MetaSingleton, cls).__call__(*args, **kwargs))\n\u001b[0m\u001b[1;32m 183\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 184\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_singleton\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32md:\\dro\\01-docs\\01-home\\src\\backtrader\\backtrader\\metabase.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(cls, *args, **kwargs)\u001b[0m\n\u001b[1;32m 85\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdonew\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 86\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdopreinit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 87\u001b[0;31m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdoinit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 88\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdopostinit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 89\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32md:\\dro\\01-docs\\01-home\\src\\backtrader\\backtrader\\metabase.py\u001b[0m in \u001b[0;36mdoinit\u001b[0;34m(cls, _obj, *args, **kwargs)\u001b[0m\n\u001b[1;32m 75\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 76\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mdoinit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 77\u001b[0;31m \u001b[0m_obj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 78\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_obj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;32md:\\dro\\01-docs\\01-home\\src\\backtrader\\backtrader\\stores\\vcstore.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 305\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 306\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_load_comtypes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 307\u001b[0;31m \u001b[0mmsg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_RT_TYPELIB\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtxt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 308\u001b[0m \u001b[0mtxt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'Failed to import comtypes'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 309\u001b[0m \u001b[0mmsg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_RT_COMTYPES\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtxt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;31mUnboundLocalError\u001b[0m: local variable 'txt' referenced before assignment"
+ ]
+ }
+ ],
+ "source": [
+ "runstrat('--data0 015ES --timeframe days --compression 1 --pyfolio --printout --cash 200000 --short'.split())"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.2"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/backtrader/source/samples/pyfolio2/pyfoliotest.py b/backtrader/source/samples/pyfolio2/pyfoliotest.py
new file mode 100644
index 0000000000000000000000000000000000000000..681f9460270cf335a65466c77af95ce8d3f3227d
--- /dev/null
+++ b/backtrader/source/samples/pyfolio2/pyfoliotest.py
@@ -0,0 +1,250 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import collections
+import datetime
+
+
+import backtrader as bt
+
+
+class St(bt.SignalStrategy):
+ params = (
+ ('pfast', 13),
+ ('pslow', 50),
+ ('printdata', False),
+ ('stake', 1000),
+ ('short', False),
+ )
+
+ def __init__(self):
+ self.sfast = bt.indicators.SMA(period=self.p.pfast)
+ self.sslow = bt.indicators.SMA(period=self.p.pslow)
+ self.cover = bt.indicators.CrossOver(self.sfast, self.sslow)
+ if self.p.short:
+ self.signal_add(bt.SIGNAL_LONGSHORT, self.cover)
+ else:
+ self.signal_add(bt.SIGNAL_LONG, self.cover)
+
+ def start(self):
+ super(self.__class__, self).start()
+ if self.p.printdata:
+ txtfields = list()
+ txtfields.append('Len')
+ txtfields.append('Datetime')
+ txtfields.append('Open')
+ txtfields.append('High')
+ txtfields.append('Low')
+ txtfields.append('Close')
+ txtfields.append('Volume')
+ txtfields.append('OpenInterest')
+ print(','.join(txtfields))
+
+ def next(self):
+ super(self.__class__, self).next()
+ if self.p.printdata:
+ # Print only 1st data ... is just a check that things are running
+ txtfields = list()
+ txtfields.append('%04d' % len(self))
+ txtfields.append(self.data.datetime.datetime(0).isoformat())
+ txtfields.append('%.2f' % self.data0.open[0])
+ txtfields.append('%.2f' % self.data0.high[0])
+ txtfields.append('%.2f' % self.data0.low[0])
+ txtfields.append('%.2f' % self.data0.close[0])
+ txtfields.append('%.2f' % self.data0.volume[0])
+ txtfields.append('%.2f' % self.data0.openinterest[0])
+ print(','.join(txtfields))
+
+
+_TFRAMES = collections.OrderedDict(
+ (
+ ('minutes', bt.TimeFrame.Minutes),
+ ('days', bt.TimeFrame.Days),
+ ('weeks', bt.TimeFrame.Weeks),
+ ('months', bt.TimeFrame.Months),
+ ('years', bt.TimeFrame.Years),
+ )
+)
+
+_TFS = _TFRAMES.keys()
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+
+ dkwargs = dict()
+ if args.fromdate:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ if args.timeframe:
+ dkwargs['timeframe'] = _TFRAMES[args.timeframe]
+
+ if args.compression:
+ dkwargs['compression'] = args.compression
+
+ # data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **dkwargs)
+ data0 = bt.feeds.VCData(dataname=args.data0, historical=True, **dkwargs)
+ cerebro.adddata(data0, name='Data0')
+
+ cerebro.addstrategy(St, short=args.short, printdata=args.printdata)
+ cerebro.addsizer(bt.sizers.FixedSize, stake=args.stake)
+
+ # Own analyzerset
+ cerebro.addanalyzer(bt.analyzers.TimeReturn, timeframe=bt.TimeFrame.Years)
+ cerebro.addanalyzer(bt.analyzers.SharpeRatio, timeframe=bt.TimeFrame.Years)
+ cerebro.addanalyzer(bt.analyzers.SQN,)
+
+ if args.pyfolio:
+ cerebro.addanalyzer(bt.analyzers.PyFolio, _name='pyfolio',
+ timeframe=_TFRAMES[args.pftimeframe])
+
+ if args.printout:
+ print('Start run')
+ results = cerebro.run()
+ if args.printout:
+ print('End Run')
+ strat = results[0]
+
+ # Results of own analyzers
+ al = strat.analyzers.timereturn
+ print('-- Time Return:')
+ for k, v in al.get_analysis().items():
+ print('{}: {}'.format(k, v))
+
+ al = strat.analyzers.sharperatio
+ print('-- Sharpe Ratio:')
+ for k, v in al.get_analysis().items():
+ print('{}: {}'.format(k, v))
+
+ al = strat.analyzers.sqn
+ print('-- SQN:')
+ for k, v in al.get_analysis().items():
+ print('{}: {}'.format(k, v))
+
+ if args.pyfolio:
+ pyfoliozer = strat.analyzers.getbyname('pyfolio',)
+
+ returns, positions, transactions, gross_lev = pyfoliozer.get_pf_items()
+ if args.printout:
+ print('-- RETURNS')
+ print(returns)
+ print('-- POSITIONS')
+ print(positions)
+ print('-- TRANSACTIONS')
+ print(transactions)
+ print('-- GROSS LEVERAGE')
+ print(gross_lev)
+
+ if True:
+ import pyfolio as pf
+ pf.create_full_tear_sheet(
+ returns,
+ positions=positions,
+ transactions=transactions,
+ gross_lev=gross_lev,
+ round_trips=True)
+
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ pkwargs = eval('dict(' + args.plot + ')') # args were passed
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for pivot point and cross plotting')
+
+ parser.add_argument('--data0', required=True,
+ help='Data to be read in')
+
+ parser.add_argument('--timeframe', required=False,
+ default=_TFS[0], choices=_TFS,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--compression', required=False,
+ default=1, type=int,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--fromdate', required=False,
+ default='2013-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False,
+ default='2015-12-31',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--stake', required=False, action='store',
+ default=10, type=int,
+ help=('Stake size'))
+
+ parser.add_argument('--short', required=False, action='store_true',
+ help=('Go short too'))
+
+ parser.add_argument('--cash', required=False, action='store',
+ type=float, default=50000,
+ help=('Cash to start with'))
+
+ parser.add_argument('--pyfolio', required=False, action='store_true',
+ help=('Do pyfolio things'))
+
+ parser.add_argument('--pftimeframe', required=False,
+ default='days', choices=_TFS,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--printout', required=False, action='store_true',
+ help=('Print infos'))
+
+ parser.add_argument('--printdata', required=False, action='store_true',
+ help=('Print data lines'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/pyfoliotest/backtrader-pyfolio.ipynb b/backtrader/source/samples/pyfoliotest/backtrader-pyfolio.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..ee0372830a5bfacb8a00ae16b77cfd8fd0e55e89
--- /dev/null
+++ b/backtrader/source/samples/pyfoliotest/backtrader-pyfolio.ipynb
@@ -0,0 +1,1068 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "%matplotlib inline"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": [
+ "from __future__ import (absolute_import, division, print_function,\n",
+ " unicode_literals)\n",
+ "\n",
+ "\n",
+ "import argparse\n",
+ "import datetime\n",
+ "import random\n",
+ "\n",
+ "import backtrader as bt\n",
+ "\n",
+ "\n",
+ "class St(bt.Strategy):\n",
+ " params = (\n",
+ " ('printout', False),\n",
+ " ('stake', 1000),\n",
+ " )\n",
+ "\n",
+ " def __init__(self):\n",
+ " pass\n",
+ "\n",
+ " def start(self):\n",
+ " if self.p.printout:\n",
+ " txtfields = list()\n",
+ " txtfields.append('Len')\n",
+ " txtfields.append('Datetime')\n",
+ " txtfields.append('Open')\n",
+ " txtfields.append('High')\n",
+ " txtfields.append('Low')\n",
+ " txtfields.append('Close')\n",
+ " txtfields.append('Volume')\n",
+ " txtfields.append('OpenInterest')\n",
+ " print(','.join(txtfields))\n",
+ "\n",
+ " def next(self):\n",
+ " if self.p.printout:\n",
+ " # Print only 1st data ... is just a check that things are running\n",
+ " txtfields = list()\n",
+ " txtfields.append('%04d' % len(self))\n",
+ " txtfields.append(self.data.datetime.datetime(0).isoformat())\n",
+ " txtfields.append('%.2f' % self.data0.open[0])\n",
+ " txtfields.append('%.2f' % self.data0.high[0])\n",
+ " txtfields.append('%.2f' % self.data0.low[0])\n",
+ " txtfields.append('%.2f' % self.data0.close[0])\n",
+ " txtfields.append('%.2f' % self.data0.volume[0])\n",
+ " txtfields.append('%.2f' % self.data0.openinterest[0])\n",
+ " print(','.join(txtfields))\n",
+ "\n",
+ " # Data 0\n",
+ " for data in self.datas:\n",
+ " toss = random.randint(1, 10)\n",
+ " curpos = self.getposition(data)\n",
+ " if curpos.size:\n",
+ " if toss > 5:\n",
+ " size = curpos.size // 2\n",
+ " self.sell(data=data, size=size)\n",
+ " if self.p.printout:\n",
+ " print('SELL {} @%{}'.format(size, data.close[0]))\n",
+ "\n",
+ " elif toss < 5:\n",
+ " self.buy(data=data, size=self.p.stake)\n",
+ " if self.p.printout:\n",
+ " print('BUY {} @%{}'.format(self.p.stake, data.close[0]))\n",
+ "\n",
+ "\n",
+ "def runstrat(args=None):\n",
+ " args = parse_args(args)\n",
+ "\n",
+ " cerebro = bt.Cerebro()\n",
+ " cerebro.broker.set_cash(args.cash)\n",
+ "\n",
+ " dkwargs = dict()\n",
+ " if args.fromdate:\n",
+ " fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')\n",
+ " dkwargs['fromdate'] = fromdate\n",
+ "\n",
+ " if args.todate:\n",
+ " todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')\n",
+ " dkwargs['todate'] = todate\n",
+ "\n",
+ " data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **dkwargs)\n",
+ " cerebro.adddata(data0, name='Data0')\n",
+ "\n",
+ " data1 = bt.feeds.BacktraderCSVData(dataname=args.data1, **dkwargs)\n",
+ " cerebro.adddata(data1, name='Data1')\n",
+ "\n",
+ " data2 = bt.feeds.BacktraderCSVData(dataname=args.data2, **dkwargs)\n",
+ " cerebro.adddata(data2, name='Data2')\n",
+ "\n",
+ " cerebro.addstrategy(St, printout=args.printout)\n",
+ " if not args.no_pyfolio:\n",
+ " cerebro.addanalyzer(bt.analyzers.PyFolio, _name='pyfolio')\n",
+ "\n",
+ " results = cerebro.run()\n",
+ " if not args.no_pyfolio:\n",
+ " strat = results[0]\n",
+ " pyfoliozer = strat.analyzers.getbyname('pyfolio')\n",
+ "\n",
+ " returns, positions, transactions, gross_lev = pyfoliozer.get_pf_items()\n",
+ " if args.printout:\n",
+ " print('-- RETURNS')\n",
+ " print(returns)\n",
+ " print('-- POSITIONS')\n",
+ " print(positions)\n",
+ " print('-- TRANSACTIONS')\n",
+ " print(transactions)\n",
+ " print('-- GROSS LEVERAGE')\n",
+ " print(gross_lev)\n",
+ "\n",
+ " import pyfolio as pf\n",
+ " pf.create_full_tear_sheet(\n",
+ " returns,\n",
+ " positions=positions,\n",
+ " transactions=transactions,\n",
+ " gross_lev=gross_lev,\n",
+ " live_start_date='2005-05-01',\n",
+ " round_trips=True)\n",
+ "\n",
+ " if args.plot:\n",
+ " cerebro.plot(style=args.plot_style)\n",
+ "\n",
+ "\n",
+ "def parse_args(args=None):\n",
+ "\n",
+ " parser = argparse.ArgumentParser(\n",
+ " formatter_class=argparse.ArgumentDefaultsHelpFormatter,\n",
+ " description='Sample for pivot point and cross plotting')\n",
+ "\n",
+ " parser.add_argument('--data0', required=False,\n",
+ " default='../../datas/yhoo-1996-2015.txt',\n",
+ " help='Data to be read in')\n",
+ "\n",
+ " parser.add_argument('--data1', required=False,\n",
+ " default='../../datas/orcl-1995-2014.txt',\n",
+ " help='Data to be read in')\n",
+ "\n",
+ " parser.add_argument('--data2', required=False,\n",
+ " default='../../datas/nvda-1999-2014.txt',\n",
+ " help='Data to be read in')\n",
+ "\n",
+ " parser.add_argument('--fromdate', required=False,\n",
+ " default='2005-01-01',\n",
+ " help='Starting date in YYYY-MM-DD format')\n",
+ "\n",
+ " parser.add_argument('--todate', required=False,\n",
+ " default='2006-12-31',\n",
+ " help='Ending date in YYYY-MM-DD format')\n",
+ "\n",
+ " parser.add_argument('--printout', required=False, action='store_true',\n",
+ " help=('Print data lines'))\n",
+ "\n",
+ " parser.add_argument('--cash', required=False, action='store',\n",
+ " type=float, default=50000,\n",
+ " help=('Cash to start with'))\n",
+ "\n",
+ " parser.add_argument('--plot', required=False, action='store_true',\n",
+ " help=('Plot the result'))\n",
+ "\n",
+ " parser.add_argument('--plot-style', required=False, action='store',\n",
+ " default='bar', choices=['bar', 'candle', 'line'],\n",
+ " help=('Plot style'))\n",
+ "\n",
+ " parser.add_argument('--no-pyfolio', required=False, action='store_true',\n",
+ " help=('Do not do pyfolio things'))\n",
+ "\n",
+ " import sys\n",
+ " aargs = args if args is not None else sys.argv[1:]\n",
+ " return parser.parse_args(aargs)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false,
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Entire data start date: 2005-01-03\n",
+ "Entire data end date: 2006-12-29\n",
+ "\n",
+ "\n",
+ "Out-of-Sample Months: 20\n",
+ "Backtest Months: 3\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | Performance statistics | \n",
+ " All history | \n",
+ " Backtest | \n",
+ " Out of sample | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | annual_return | \n",
+ " 0.13 | \n",
+ " 0.01 | \n",
+ " 0.15 | \n",
+ "
\n",
+ " \n",
+ " | annual_volatility | \n",
+ " 0.13 | \n",
+ " 0.13 | \n",
+ " 0.13 | \n",
+ "
\n",
+ " \n",
+ " | sharpe_ratio | \n",
+ " 1.02 | \n",
+ " 0.17 | \n",
+ " 1.19 | \n",
+ "
\n",
+ " \n",
+ " | calmar_ratio | \n",
+ " 1.19 | \n",
+ " 0.29 | \n",
+ " 1.42 | \n",
+ "
\n",
+ " \n",
+ " | stability_of_timeseries | \n",
+ " 0.94 | \n",
+ " 0.18 | \n",
+ " 0.95 | \n",
+ "
\n",
+ " \n",
+ " | max_drawdown | \n",
+ " -0.11 | \n",
+ " -0.05 | \n",
+ " -0.11 | \n",
+ "
\n",
+ " \n",
+ " | omega_ratio | \n",
+ " 1.29 | \n",
+ " 1.04 | \n",
+ " 1.35 | \n",
+ "
\n",
+ " \n",
+ " | sortino_ratio | \n",
+ " 1.63 | \n",
+ " 0.26 | \n",
+ " 1.91 | \n",
+ "
\n",
+ " \n",
+ " | skew | \n",
+ " 0.53 | \n",
+ " 0.57 | \n",
+ " 0.53 | \n",
+ "
\n",
+ " \n",
+ " | kurtosis | \n",
+ " 13.97 | \n",
+ " 5.91 | \n",
+ " 15.41 | \n",
+ "
\n",
+ " \n",
+ " | tail_ratio | \n",
+ " 1.28 | \n",
+ " 1.23 | \n",
+ " 1.43 | \n",
+ "
\n",
+ " \n",
+ " | common_sense_ratio | \n",
+ " 1.45 | \n",
+ " 1.25 | \n",
+ " 1.65 | \n",
+ "
\n",
+ " \n",
+ " | information_ratio | \n",
+ " 0.01 | \n",
+ " 0.05 | \n",
+ " 0.00 | \n",
+ "
\n",
+ " \n",
+ " | alpha | \n",
+ " 0.09 | \n",
+ " 0.04 | \n",
+ " 0.09 | \n",
+ "
\n",
+ " \n",
+ " | beta | \n",
+ " 0.39 | \n",
+ " 0.18 | \n",
+ " 0.45 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Performance statistics All history Backtest Out of sample\n",
+ "annual_return 0.13 0.01 0.15\n",
+ "annual_volatility 0.13 0.13 0.13\n",
+ "sharpe_ratio 1.02 0.17 1.19\n",
+ "calmar_ratio 1.19 0.29 1.42\n",
+ "stability_of_timeseries 0.94 0.18 0.95\n",
+ "max_drawdown -0.11 -0.05 -0.11\n",
+ "omega_ratio 1.29 1.04 1.35\n",
+ "sortino_ratio 1.63 0.26 1.91\n",
+ "skew 0.53 0.57 0.53\n",
+ "kurtosis 13.97 5.91 15.41\n",
+ "tail_ratio 1.28 1.23 1.43\n",
+ "common_sense_ratio 1.45 1.25 1.65\n",
+ "information_ratio 0.01 0.05 0.00\n",
+ "alpha 0.09 0.04 0.09\n",
+ "beta 0.39 0.18 0.45"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | Worst Drawdown Periods | \n",
+ " net drawdown in % | \n",
+ " peak date | \n",
+ " valley date | \n",
+ " recovery date | \n",
+ " duration | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 10.90 | \n",
+ " 2006-04-06 | \n",
+ " 2006-06-13 | \n",
+ " 2006-10-26 | \n",
+ " 146 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 7.28 | \n",
+ " 2005-04-21 | \n",
+ " 2005-06-27 | \n",
+ " 2005-10-31 | \n",
+ " 138 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 6.75 | \n",
+ " 2005-11-25 | \n",
+ " 2005-12-30 | \n",
+ " 2006-01-11 | \n",
+ " 34 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 4.62 | \n",
+ " 2005-01-18 | \n",
+ " 2005-02-09 | \n",
+ " 2005-02-18 | \n",
+ " 24 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 3.12 | \n",
+ " 2006-11-30 | \n",
+ " 2006-12-26 | \n",
+ " NaT | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Worst Drawdown Periods net drawdown in % peak date valley date recovery date \\\n",
+ "0 10.90 2006-04-06 2006-06-13 2006-10-26 \n",
+ "1 7.28 2005-04-21 2005-06-27 2005-10-31 \n",
+ "2 6.75 2005-11-25 2005-12-30 2006-01-11 \n",
+ "3 4.62 2005-01-18 2005-02-09 2005-02-18 \n",
+ "4 3.12 2006-11-30 2006-12-26 NaT \n",
+ "\n",
+ "Worst Drawdown Periods duration \n",
+ "0 146 \n",
+ "1 138 \n",
+ "2 34 \n",
+ "3 24 \n",
+ "4 NaN "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "\n",
+ "[-0.016 -0.036]\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\nt/57/G2LveBdVK2B3QvALGJuuusAzGxVYFXgoXZetx1wSlfeaOrUhm4VUBbduHEjmTRpZqWLMeBp\nP/Qd2hd9h/ZF5Wkf9A3aD32L9kfPWGZYPcusuXTbKxTgnp98vuLDvKoysHP3JjO7FDjHzD4GJgGX\nAA+4+1NpOoSxwBR3bwYws2WBZYD/VKrcIiIiIiIiPaGm41X6rJOJsXJ/BO4D3gL2Ss9tTWTI3Cqz\n/nJAgZjMXEREREREpN+oyhY7gJQR8/j0r/S5B4kkKdll/y5dJiIiIiIi0h9Uc4udiIiIiIiIoMBO\nRERERESk6imwExERERERqXIK7ERERERERKqcAjsREREREZEqp8BORERERESkyimwExERERERqXIK\n7ERERERERKqcAjsREREREZEqp8BORERERESkyimwExERERERqXIK7ERERERERKqcAjsREREREZEq\np8BORERERESkyimwExERERERqXIK7ERERERERKqcAjsREREREZEqp8BORERERESkyimwExERERER\nqXIK7ERERERERKqcAjsREREREZEqp8BORERERESkyimwExERERERqXIK7ERERERERKqcAjsRERER\nEZEqp8BORERERESkyimwExERERERqXIK7ERERERERKqcAjsREREREZEqp8BORERERESkyimwExER\nERERqXIK7ERERERERKqcAjsREREREZEqp8BORERERESkyimwExERERERqXIK7ERERERERKqcAjsR\nEREREZEqp8BORERERESkyimwExERERERqXIK7ERERERERKqcAjsREREREZEqp8BORERERESkyimw\nExERERERqXIK7ERERERERKqcAjsREREREZEqp8BORERERESkyimwExERERERqXIK7ERERERERKqc\nAjsREREREZEqp8BORERERESkyimwExERERERqXIK7ERERERERKpcXaUL0F1mVgOcCXwNGAncDRzp\n7hPbWH8F4EJgV2AOcDPwfXef2zslFhERERER6RnV3GL3U+Ag4EBgO2BFIlhbiJkNAv4JjAa2AvYG\nvgD8sldKKiIiIiIi0oOqMrAzs3rgaOAkd7/f3Z8H9gW2NbMty7zkAGAZ4Mvu/rK7PwicAmzRa4UW\nERERERHpIVUZ2AGbACOAB4sL3P0d4G2i9a7UrsC97j4js/7V7l4uCBQREREREakq1TrGbsX09/2S\n5ROAlcqsvzZwn5mdTnTdLAC3ACe7e2OPlVJERERERKQXVGtgNwzIu3tryfJGYEiZ9ZcAvgncCXwV\nWAG4BBgHHNJzxRQREREREel51doVcw5QkzJjZg0GZpdZvxn4GDjI3Z9z99uA7wEHmdmYni2qiIiI\niIhIz6rWFrvx6e9yLNgdc3kW7p5JWjbH3QuZZa8AOWBVYGpbbzRu3MjcIpVUFsm4cSMrXQRB+6Ev\n0b7oO7QvKk/7oG/QfuhbtD8GrmptsXsBmAXsUFxgZqsSQdpDZdZ/GNjEzGozyzYEWoiEKyIiIiIi\nIlUrVygUOl6rDzKznxOTkx8KTCLGzDW4+6fSdAhjgSnu3mxmSwMvAfcCpxMJVn5LZMr8VkU+gIiI\niIiIyGJSrS12ACcD1wJ/BO4D3gL2Ss9tTWTI3ArA3ScC2xPB3rPAn4A/A0f0bpFFREREREQWv6pt\nsRMREREREZFQzS12IiIiIiIiggI7ERERERGRqqfATirCzHLZv1IZZrZ8+qv9UGFmtkKlyyAiUo7q\nCJHqoDF20uvM7CxgaXf/ZqXLMlCZ2ReAc4HrgZ+WzPEovcjMhhJZercHvuDuL1S4SAOamdW7e3Ol\nyzGQmdlK7j6+4zWlJ5nZZsAYIuncNNUTlWFmQ4AvA/8F3nb3SWZW4+75ChdN+iAFdtJrzGxv4GJi\nQvgj3P3+ChdpwEnzPV4NbAb8wt1/VtkSDWxmdgJwKnHhdLi7v1zhIg1Y6eLpF8ASwGvAn939zcqW\namAxsz2BnxFzzI4HLnH3u80sp6Ci95jZOOAaop6YTswbfKm7X1nRgg1AZvY14CLgTWCZ9PeL7j61\nogWTPktdMaXHmdloM7uVmJ7iZGBdd79fXTt6l5ntStzxmwysVAzqzEzngV5mZkPM7CpiXs2D3X37\nYlCn46L3mdkGwCvARsS8qCcBp5rZ2IoWbAAxs92BC4BLgfOAAnCYgrqKOBIYBmwAHAjcBjSAzk+9\nycyWAY4BTgC2IKbo+icwXPW2tKWu0gWQAWEtYBXgh9k7ftnKWpV3z8l02ZgAtALnldztqwOaKlK4\nAcrd55pZIzEH57yWazMb5u4Nmcc6LnrH54HXgS+7e4OZXQk0uPuUCper38ucnz4PPA9clh5fU7Ke\njoUeVPx+zWw0cChwQZoDeCLwZHE97YNe9QVgOeDvqXv438zsjmxXcR0XUkqBnfQ4d3/azN4i7v4B\nYGb7AssC/wPuz17MyuJhZku5++RiP3x3f8nMHgG+CzxqZtsBhwN5M3sNuMXdX1Hf/Z6RWn+mZb7b\nXxMXsssDU83sbGAjM5sBPO3u56rC7jU7EvumeB6aBSxrZrXABxpz13Myx8NWwPXFx2Z2IHFR+wZw\nj7vPrlAR+7VMPVE81zQCs4ljADPbFjg2Pfcfoouy6okeUKaOaABq3P3D9Pw5wKZmNg143N1/pTpC\nSmmMnSxWqbvfgcCrRMD2ZFr+VeB3xADgk4igbhZgwHPAQe4+oSKF7mfS+IjLgTWBt4iLokvTc18B\n/kCMJfoy8DgwEtic6Hpj7t5YgWL3W2b2beCHxJ3vmcBRwJvu3mxm/yJaUV8CNgH+DuwA7AKc7+4n\nV6TQ/VTqRnYA8A7wlru/Z2bDiGNiBnA0cFz6+x4RdP/R3Y+vTIn7n3bqiGuIemEv4DpgVaLb+AbE\nDRDVEYtRmXriH+5+SQoubiZa6Z4Cfkr0LBgGbA2MIIZTzK1IwfuhcnWEu7uZfRY4O/37BNEd80Zg\nZ+BzRKuq6ghZgProymJhZjVmdjpwEzE2YnfgNjM7wczq3P1m4F1iEPCjwDZEN4OtiJPVkZUpef9i\nZssCfyb2wVlEAoJfm9nxZjYSeJpI1HEk8BN3P9LdDwb2BmqJMV8ad7eYmNk+xPiIs4ixQ0OJY2SP\ntMplwE5Ey8Te7n6eu+9OBBc/SGMsZDEws88TF04nEtlg7zWzbVMr3evApkRQ/X/AwcC+RLKnvc3s\n55Updf/RRh1xezo35YhzUz3wIyKg2wb4EvPriGNSC6osojbqiYvN7Iep+/GTwK7AnsAN7v49d/8O\nsB9RT5yZtqN6YhG1UUfcbGafAx4DmoEvEsfAse5+mbvvDXyfqCNWrkzJpa/SQSmLyzLEGImD3f1r\n7r4lcBWwD9H1D+BuooXuYXefnrp/vEa0Hh1QiUL3F5kB7asRYxpPcvcb3P27RMKabwL7ufu7REvE\nc2TGTRCJI64HNkvp3tXFphvKJBb4EvCsu//O3f9I3GkdDxxuZusCLxCV953u/lHmdX8mgpBP90Kx\n+710AXoMkWVxA+Ju95PALWa2BZGsYx2i5e5Vd7/b3V8HzifGeu2vRCqLrFwd8Tvi3P814BYiI+m3\ngBfdfRowO+2HM9J66mK0CDpTT5jZwURm0rWIltXHMpt4BfgjsIOZDVE90XWdrCPeIYK9EcR11H5A\nfclUODcQdcQXe77UUk0U2MkiyZyklgBWBKZlnr4QeAI4Mk2EfQ6wvrv/M722+PubDsxMXUOkC8xs\nMCwwoH1D4OP0j/TcWURXv/3NbG3gEHf/vLtPzqyTBzYmjSdS5rNum3dOTS2kSwCeHufSWK0LgSHA\nMe7+qrtv6+5/KNnOmsSd27d7o9ADwEbA2qSLVHd/0d0PAT4Efkx81ycB41jw2Gkguqk1AqN6t8j9\nQyfqiMeIoKKBCKJHp3WzPiKOrRV7tLD9VBfqiReBbxC/9WPSU5tm1skDawAfAE2qJ7qls3XEYOKc\ndBlxHbV8mlewaHkiT8Z7vVRuqRIK7KTLzGzL1H1mJ+LkAjGJ6XRgqeJ67v4B0R98KnCKu3+U+o2v\nZ2ajMnf7tgMecPdJvfgxqpqZjTSzy4Hfm9mPzWzj9NSTxJiUVdJ6g9Lyi4gLpv2IZCmDzOywNDAe\nM9uc2Ie3gjKfdZWZHWhm9wPXmtm3zWy4u88kAoLtihdWAO5+LzFmZTMz+0x6/afN7EdmtpSZDSe6\nar5AjEOSLjKzzc0sGwRMBVYgXchaTAoPcVd8c+L7/j2RzGkXM7PMa0en133Y0+XuL7pYR9xABHsn\nE13RbgUOMrP13L0lrbotcG/qcSCd1M16YgxwqLv/nkitf4CZHWxmY8xsPaK17y53z6ue6Lxu1BH/\nJH73GxLdx2cA55jZRma2NPBVIqh7trc/i/RtCuykU8wsZ2aDzezXxAnnC0SXjDvNbFl3f4LIpPXl\nzEUTRHKOO4AtzGxDM1uDqMjfNLMzzewhYMu0TDohdeF7FliZGLd4IHCTmX0yddV4kpj0GiIxB+7+\nIPBvYHtgLDHx7AnAPWZ2O1B8/m+9+FH6BTM7lRjcfjdxTv0B0ZUS4FfEuK2tUirx4hihm4kKfev0\neGdibNEDxH7YF/ipu8+7oy4dM7M9zOx9Ikh73sxOMbNV3f0dovvxiWnVRgB3v5s4R+1HTIr9bSJp\nx01m9n0zO4W4a36du89RC0XbFrGOuI1IGLQCsY9eA542s9vN7LG0rQWmP5D2LUI98SzwWYukQscA\njxDH091EMpWXgd/24kepeotQRzQAe7r7Q8DxREvqbcQx8w3gRHdXi50sQFkxpdPMbENi4PtBxEXS\n6sTJqQH4CpG16VZgJ3d/JPO6nYiJZ88gTlYbA18HliTmVjspc2dWOmBm3yKSO+zm7rPMbFXi+zUi\nbfuniYugbdz9cTMb7O6NZrYJUWlvmNJVr0nsi5WIu+EvV+DjVB2bP99TDZHs4W7gdnc/Ny3bFHiY\nGDt6ETFGYtk0pii7nT8BY939c+kianVinFeNu9/Uix+pX0gJIe4gzlHXAfsTAcFcd/+0mR1JtArt\n6e5PZI6L9Yk07tu7+yNpzN03gaWJLI1nuvttlfhM1WYR64gLie/6xrTsEKLrZQ74ueqIrlkM9cQG\n7v5q2tb6RND9dhrzKO1YzHXEGHf/fHo8kuguvqq7349IGQrspNPM7GjigmenYktCaoF7jKggfkYM\ngK8hEnV8lHnte8Dp7n5FZll96k+OReZMVdxlWMkEpGb2R2AZd981s2wVojK+HLiCmCNtdXdfP7PO\nUsTd1u+4u1rmFoPU3e9VYGeP+Rpr3b3VzI4j0oTvQVzU3ke0RFxc3Jdm9iMiacQ66tK06CzmPfsl\nMWXHzLRsN+Jm0vHAncCVQN7di11gi/vrGaJ72U8y2xviSuneJYuhjjjN3cu2BqmOaF8P1BPfdve/\n91b5+yvVEdLb1BVTyjKzdc1sHzPbxMyWTItnAitnKux6d3+DGBexO3EX6ggiTfVhZrZEWm8lon/4\nB9n3KCbpSBWSKuwSFuPgfgacbjEerphc5t/AaqmFAouJYt8BfkLMvzWM6GKzrJmdl75/iLu0HwIP\n9ebn6C/M7Itmdo2ZnW9mu5nZiNQN5l2iK9887n4e8D6R4e8FogI/HfiqmY0ys3pi/MT1qrC7x8xW\nN7MRmUVTiKyJ9Zll9xHB3lnAXCKw28zMvguQLrCWJhIYvJm2W5OeU1DXjh6qI8qOY1Qd0bYerCce\n7s3P0R+ojpC+QIGdLMDMhpjZVcQd1qOIsRKXp37fdwOF1KUJoosMxEVTgbgD+zoxJuVLwP1m9h0i\nhfgcFkyvD0SSDp20FmaRVONtopJdATiXmI9uRaLCnkFM5FvMVAaROnwCcIS7PwccQlxMPWJmfyH2\nw+3AdNNYoU4zs+FmdjXx/X5EjAk9h+jWB9H9b2eLsVytNn8Q/HHEJPCru/sviJaKXwD3ExX5mmhM\nY5eli6dXiC5+L5rZoakr6yxgEvPnCMTdm4jxQB8DJ6QurhcDF1ok9/gkMSVLHngmvUYp3NvRw3XE\nU+XeU3VEeaon+gbVEdKXKLCTUt8h0hnvCOxGVNybEokcPiAupo40s6Hu3mRmg1J3yl8D+6VuBucR\nE2C/Spy03iXGr0zs/Y9TfVKLwXeAq9x9O3f/OpFMlUd7HwAAIABJREFUY30iE9ajRDasT1uMkyt2\nKWsCLgH2THcKbyMuck8D3gB2cfcfu3urLpS65JNEBrmd3P144ti4GdjLYnLYu4Am4HCANE6lxt3v\nBP5LjDeCuEv+VeLC6WJ3X9vdn+/ND1LtzGx/Ys65y4jv8y7gFOBQ4riYDuxkZitkXvYhMY7lYDNb\n2t1/CvycCOiuJ5IIneju/+m1D1LdVEf0Aaon+hTVEdJnKLCTecysjrh796y7v5DGqdwKPE2k460h\n7h4ViG4DMH/C2BuBZmLqAtz9CXc/iEhUcKi7z7b52Z6kfWsSKdhfyyy7g5izZvVUMd9IJBY4BKJL\nWVpvCtE6MTYt/4+7/97dT/DISiedlLlbvRmR8n48RKVMzPc0DhhJXEA9BnzGzHZIrymkrjRvAfXp\n2Glw9+fc/WJ3/00vfpSql9kXnwGecPeL3P1Rdz+S2C+fSsfANUT3pc8UX5uWP01M+rtBWnYysBXw\nVXdfSWNOO0d1RJ+ieqLCVEdIX6TATrJGExXvJJg3rmE2MAhoSV05HiHuch9hZpulO7EQXQ9mEBdP\n87h7QxpHV5OpVKR9jURlMB7iLivRpamZmLQUd78O+BfwOTPbO/Pa5YlWiwnFBepO0z2Zu9XjiIQD\nQzLf5VRgBFBIF1DXEF2iLsi8tp6YJ+o5jzmf1MWvmzwyzA0HdiWyLRaDDNJjS+v9DngF2DtzAQVx\nTG1E7Ldiy0Wz7oZ3meqIvkP1RIWpjpC+SIGdzOPuk4lMWXelC5/iSWtN4KW0zgyiH/ntwN/M7GSL\nSa6/DTxPSYKU9JqCTlgLM7MtyywrDnD/HJGZrHiXdTSxH+7JrH4h0Rf/WjO7zmL+qJOAG9y9pVjB\nqDtNx1ICglzJsuL58SxiUPuUzHe5E/Cmu78CkMaq/JSo2P9rZn8gLqhaiDmHZBGk42I2MS/a5JJk\nGhsSXciKTiUumM4ys03NbAzRgnc/cWGFAojuUR3R+1RP9A2qI6RaaLqDASpVDPnSx6mybi0uIyqJ\n14B9PTO3VjrBXUh0BVmWGOh7qLtP683PUa3M7FPAvUQXsgc6sf6hwG+AtYgLo3njH8zsMGA9Ys6o\nC9z9nz1W8H7KzD4H1Lr7bdZBWvX02/8P0SXwm2kMUVN6bjlgb2AT4D3PpM+XRWdmQ2B+xkqLbIwv\nAJe7+89s/vxRWxHZ/zYnWolGAd9Sl8vOUx1Reaon+g7VEVItFNgNQNkK28xGufv0ttYxsyOIRAOr\nufuUknXqiFbfce7+fum2pW1mNgr4E7Cku2/dzno5onvNX4Gl3X2rzHPLeGYeKOkei5Tr1xIBwIHE\n3E8fZi9gS9b/BNHtZh93/3NaliMmkp2SHus46CYrmY+rg3V3JsYVbe7uL2dfm8avGLCGaz6uLlEd\n0TeonugbVEdINVFXzAEoVcbjzOxW4ARbcC6oeeuk/+4HPJg5GW1pZvdbZDxrcfcmd38/M0ZCJ6p2\nFJMDpAulXxBzan29rfXTRepSxPiUYgUx2syuBP5hC2b/ky5KgcAM4DaiZWEm8Bdot7vedtn1zOwr\nxHxEJxRX0HHQdWZWk84hHQZ1mS5RBxEZFV9Jj3Nmtr+ZrZPG0L2koK7rVEdUluqJvkN1hFQbBXYD\nkJl9iUh33EKMl5jdxnorE2l8rzWzpc3seuBB4H13n5Ptb64xEp2T6cI0xt0fAX4PnJHuCLZlHWIQ\n9j3p7vh4YGNg7+JdcOma1JKQHVeyNNFF6SPgu2mdts6PuxATX69gZo8Sd9TPc/cTe7TQ/VS64M8V\nkweY2WZm9m0z2yS7TvY1qbvlGOBTwE3p8b7Mv3hqRrpNdURlqZ6oPNURUq3qOl5FqlU66SwwAbiZ\nbQT8iDjhf9Hd3ymuV2YTo4iKfV9iMPyTwFru/i5osHV3WExM+jMi4cNuwNnAnsCPgR+28bINgaHE\nBVMBOMTd/9Lzpe2/iuMjzGxHosvMo8D+xH7YA/h3uYtQMxtKVO7rERMsX0fMXdTUOyXvf0q6Tl5J\nzC83CRhkZme6+8XETcjSu+PLA7VE2vDbgZ2Bn7j7ub1W+CqnOqJvUj1ReaojpFqpxa6fytwBL5jZ\nymY2NnWDeZGogAvEndb2LAcMI+bB+Yq7f8rd3zWz2nbuVA1oZjbMzLYpbWEo8pjfpgFY3swOdPe3\ngV8Bx5rZ2iXbKn7H7xF3zM9w93GqrLum3L4wsz3M7H2iVeJVYMc0FuJpYBcz2ymtV5PdjrvPIVqF\nHgTM3Q9Whb3ozOxrwPeAPJGM4zNEN6azU6tFa5lzTjNxjjoZmAiMVlDXeaojKkf1RN+iOkL6EyVP\n6Sdsfja4bPKAUUQFvQ0xIelLRDelycScKisAe7n7+LbGPpjZ7sUxKunkp7mG2mFm5xDdNNZz9zfT\nsr2A8Z4mfjWzlYCLgCWI7FhziclL33L3Pcpsc0lgVqrspRPMbFkimUAjMM0XzO63HnAz0b3pt8Rd\n1UZ3v8HMtiAq8meA41IlXbrtMe4+tRc+Rr9TvAgq2R8rAecCXyWy9R2Xlq9P7Kfn3P2A0nNU2o/7\nAFcXjzVpm+qIvkP1ROWpjpD+SoFdlTOzDdz9JSvJJGcxb9BOwFbEHCtrE10I3gQOAdYHfgnc4e4/\nLrPd0u21m95XQqpcXwKuJuYKWh+4CXjZ3ffKrHcQcBxws7ufaWZ7pvU+5+739n7J+weLJA8XAlsQ\nXcSWAh4GznT3l9M6ZxBdaTYrdxFkZicSCSF+CdwJzNCF6qKzBdPkr0Gckx5y99kW2S2vB37j7qel\ndeqBbwCXAlu4+zM6D3Wd6oi+R/VE5aiOkP5OXSWqlJmNMrPxwItmtjswMvPcTsBDwOHARe7+iLtf\nBRyT1jvW3f9B9Bn/tJl9Mr2utriN0rERqrA7x90/Bs4EjgY2dfeXiEmV1zSz/TKr/p2Y5+YrZmbu\n/ldivqI/ttU9R8orfl9m9hkiO+LyxMXQT4jJqrcD/py6+0Hcpc0XK2xLg+TN7LNmdjZR6U8AzgE+\nBnbstQ/TT5Trapa6Uw43sz8RY1auAW43s63d/X7gBuAHZjY8rd9MXDT9g0jgofNQF6iO6LtUT/Qu\n1REykCiwq16ziBPUNOJu6y+LT3hMZHoTMSns5Mxr7gReBLZKd62uI34DP0qv0x2nxeMS4L/AKenx\n9cT4h0MsMvnhkT75n8AGwJFpvZOBXyrhQNdkvq/DiN/95939Xne/PV2s7kJ8/79K3/8bQK2ZFbsz\nFbvg7AJslbrWHEFU/Ju6+3299Vn6kdOJrHCrFReY2WrAPcBY4NNEMoglgMPMbBhwGXGRdEHxNR5J\nOK4CNkldoKTzVEf0baoneonqCBlIFNhVryWIvuEXEHf19jOzmzIXP8WuM5+w+Wl788TF1gZAi7s/\nSkxoemOvlryfS5XI8cAXzWzPNPD9r8AyQHYuolHAa8C2ZvYJd3/O3c/r9QL3A6mL0qeA60vGStS4\nuwPnE5XzaURSjo+JC6hhmfVXJsZN4O5vufv17v58L36M/uTnwFTgO2Y2KC37JNHtaS93fxqYDqxE\n3C3fy91fJfbTIWmMS9FdwIru/lSvlb5/UB3Rh6me6F2qI2SgUGBXhdLYhqnEHdltiDt+3wS+CPzJ\nzHZ09zeI7gI/AtbKvHw14o7skPT4LHe/odcKP0Ckbky3AqemO99/AZ4HjjGzw83sUGJA/LnE3cN/\nV660/cJywEx3fxYWyHJWvFP7EPA34HNp2SXAqsC/zewkM/sbMdbo1t4sdH+V6Wr2XSJtPsAqRJA2\nzGKerfOA3wAO7G9myxEtRP8hEhcUtzXT3Sf0YvGrnuqI6qB6olepjpABQYFddbsH2BZY3iMN71eI\nu+Q3mNlh7v49YDjRd/xEMzsK+D7wN3efBvMm+lVf/Z7xQ2Bd4AB3nw78GvgX8APgDOAad7/a3T+o\nXBH7jWWBOWa2LszveuPzswDOJsZ1jSHugN8M7A48QrQkzSQGyj9YicL3U5cA/yO6jkFkmPs58X3v\nSEwsfioxZmhH4NvuPpGYv+v3vV3Yfkp1RN+neqJ3qI6QAUETlFehTH/xuUATsA7wLpHNbElgNHCp\nxUSZZxBdcbYiJi89xt2va2N7shikrh15d3czu4roi3+5uz8DHJwGwXuFi9nf3EMEEBuY2Wslv+ni\n5NYvEue8oWms0DvAN8xsiLvP7fUS93Ppgul44O40VuXvwAiiJe9hIiMgRGvReOBIM/tnShAhi0B1\nRN+neqLXqY6QAUEtdlUoc/f0AaK7zOpmdjnRhekh4PPA5UTGpmKGrTnAQe5+nZnlTJPH9ggzGwfs\nnFk0DZiYsgQW5/BSZb34PQ08DhxFdLnJHifF8RHfIC5uPyzJ1qgKu4dkupr9hBjzNRxYnUjqMThl\nAFyf6Cq4aRrTJYtIdUTfpnqiIlRHyICgeeyqmJktRXRj2piYuPTUbHYmMzuBSF39JHFx9TWi+5Mm\nMO0hZnYY8CsiA92rxNiIi939nIoWbAAws08TWf3OJ77z8ZnnNiL2y29TlzTpJWZmxJ3wo9z9CjO7\nhhjrNQMYBnzP3f9UyTL2V6oj+ibVE5WhOkIGAgV2VSxlm/sn0X1m92KCASuZODYt+weR6ez/sicz\nWbzMbBSR6WwXIq37Zcpg1nvSheoxwEdEi8QUYvzK0cSF69HuPqtyJRw4il3N0v8vA7Z2943SnfAt\ngZXdXdkWe5DqiL5J9UTlqI6Q/k6BXZUqXjSZ2fnAl919lTLr5IBad28xs6WBnZXdrHeY2bLAZNek\nvb3OzLYDvkW0UkwguqKd7e73VLRgA0jqaraxu/8zPf45sDmwR0pSID1MdUTfp3qiMlRHSH+mwK7K\nmdnhxMD3zdz9pTbWWejurMhAYGZLufvkjteUxUldzfoO1REibVMdIf2NBkdXv1nE3E9vt7WCKmwZ\naMysFkAVdsVcT8yR9nngLOBCBXUVozpCpITqCOmv1GInIiI9Ql3NREREeo8Cu34im6hAREQkS3WE\niEj/p8BORERERESkymmMnYiIiIiISJVTYCciIiIiIlLlFNiJiIiIiIhUOQV2IiIiIiIiVU6BnYiI\niIiISJVTYCciIiIiIlLlFNiJiIiIiIhUOQV2IiIiIiIiVU6BnYiIiIiISJVTYCciIiIiIlLlFNiJ\niIiIiIhUOQV2IiIiIiIiVU6BnYiIiIiISJVTYCciIiIiIlLlFNiJiIiIiIhUOQV2IiIiIiIiVU6B\nnYiIiIiISJVTYCciIiIiIlLlFNiJiIiIiIhUOQV2IiIiIiIiVU6BnYiIiIiISJVTYCciIiIiIlLl\nFNiJiIiIiIhUOQV2IiIiIiIiVU6BnYiIiIiISJVTYCciIiIiIlLlFNiJiIiIiIhUOQV2IiIiIiIi\nVU6BnYiIiIiISJVTYCciIiIiIlLlFNiJiIiIiIhUOQV2IiIiIiIiVU6BnYiIiIiISJVTYCciIiIi\nIlLlFNiJiIiIiIhUOQV2IgKAmY0ws++b2dNmNs3MZpnZk2b2LTPLVbp8bTGzvJld1c3Xrlby+AEz\ne3PxlKx3pP22VKXLUQlmdlra/yt347U5M1sl83iHtK2D23i8Snp8Ssl2VqOKdKe8i3KM9cT7LM7v\n3MzeNrP7F9f2Fqe+XLaiaiijyECiwE5EMDMDngXOBF4ETgJOBuYAlwNXV650PcPMDgVeLll8BnBs\nBYrTLWa2KfAasF6ly1IhhfSvS8xsJPAE8LXM4leBA4GHSrZfNCk9f0tmOycD/+jq+1dKtZW3nDaO\n20XR5d9PL+rLZSuqhjKKDBh1lS6AiFSWmQ0G/g6MBTZz9+xF0wVm9mvgCDN7yt1/XZFC9oztgcHZ\nBe5+X4XK0l0bAstVuhBVaCzwSeCO4gJ3nwhcV7JeLvN8Q5nnPwXU9lAZe0K1lbechY5bEREJarET\nkSOBtYBjS4K6oh8AU4Hv9Gqpel6f7V7aBf3hM1SCvrfqpX0nItIGtdiJyL7ALOCGck+6+1wz2wJ4\np7jMzN4G3nT3nbPrli43s7eA24HngROAlYCXiGDyXeBi4LPADOBqd/9xZlt54A/u/vWS9yi7PPN8\nHXA8sA8RsOaA14EL3f33aZ0HgB1Kt2dm/wJWdvfVzewE4GxgU3d/vuQ93gLecPdd0uN1gbOAHYFB\nwL+B09293W5vqRxzgWeILqCzgU+5+8tmth7RNbbsNs3sVOBUoivUv8zs7VTuPwAHu3tNyXstsNzM\nfg9sCVyU3qcA7Jf+bQkcBJwLbA7MBG4ETnD3xsw2TwH2B1YBphPd/H7k7u+18Xm3ILpAHufuF5Qp\n357AMuk3N5boGvslYCngbeD3wK/cPd/Od/oJohvxNkTL3FTgn6ns75vZDsAD6fOelr7H1dK/B4BD\n3P2aMttdBXgLOM3dT0+/gVXSc63AT4F1gC8DS7v7jMxrlwA+Ai5y9x+2Ue488EPihusR6TM/CXyL\naGW7CNgWmAic7+4XZ147AvgxsAewKtBCHGdnufttaZ1sefPFz5Ee7wacCHyC+A3+CzjR3ecd82m9\nY4CjgBWIY+qn7n5LyTpfILpybwI0AvcDJ7n7f0vWOzJta2Wi+/f3yn0vJa8pe9ymx9sRx8P/pdWf\nSp/x4Y62m17/deI7XB54ATil9Pg1s62A0zPv8Thwsrs/nVnnLeBu4JH0PawBjAcucPdLS7b3f6nM\nWwGtxLFxoru/VLLe/sCPgDWJ8/B57n55yXt29zzb4fkyrZcnjseNgc8A/yX2cen3uAzwGDAM2L50\nv4tIz1KLnYhsAjzr7q1treDub7h7S2ZRW+Mqyi3fg7jovRI4jbj4/Qtxsd0CHAf8BzjJzA7qcukX\n9of0Pg8QF46nAcOB35rZZ9M6ZwAPp/IeQIwjLC3/9enx3tmNp4uxVYA/pccbEhd46xAB0o+Im2Z3\nmtlenSjvtuk9fpDK/kra5mMdbPMvwBXp/2cCx2Q+Q7n9UG75ysTF7KlpW0+k5UsD9wCvAEcTF6lH\nEfux+D38GDgFuJMIRK4g9vU9bSXbcfengDdY+DutB3YH/pqCutHEd3oocBMR9L4C/By4tty203Y2\nBB4FVicC7SNS+fYlvi+IsXTHEhewtxDj5iZlvqPOOoYY35gde3cdUE98D1lfIYLzNsueHA0cAvwK\nOI/4bfwFuA94kwh+JhFdpLfLvK64D25Jf39FBHi3mNn6Zcp7QFoXM9uXCApGEb+DC4BdgPtSQFq0\nN3GsXk4EgaOBG81s3sW9mR1CdOueSQQL5xI3CZ40szUz651GBBv/A75P7JN76Pj7L3vcmtmXiON9\nRSLwOp0Ibu5LgWZHPkkEztcTwdgo4A4zm3fjysw+TQS8I4kbBz9L7/GQmW1Tsr3dgAuZ/9udBVyc\nOf8UA9EHiWP87FTm9YmbNNlkQFtktvU94kbQpekzZ3X3PPsHOj5fFh1L/I6PAn5bWmek4/ZeYAni\nBpWCOpFephY7kQEsZVOsAz7owbdZDtjI3V9J77kkcdH3sLsfkJZdB0wBdgX+2N03SneL9wXOdveT\nM8v/RlzUfha4293vM7MDgW3d/fpy23L38Wb2MLAXEVgV7UNcXBVbKi4mWlE+4e5z0/tdTFwoXWhm\nfy0JiksNAw5w92cy5e3MNl8ys8eJFp173f2hMtvuyBCiC+7NmfeGuGg/KtPC8Dsze5m4mD4xLdsf\nuNPdj8u8djxwOBFUvNXGe14LnGxmK2Za9nYjLgaLgc+JROvEHsUWJ+CyNN7zcDO72t3vLrPtw4mL\n2B3dfXpa9ts0jnQfMxvt7hPN7O9EAPNicf+nz93pbn7ufquZfQ8YktnGa8TveG8g2+q3D/Cau7/Y\nwWZHE/t8ctre2sBXid/zj9Oy+4nWkl2Bh1Mr6DbAd9z9t8UNmdkTRMvRp4GX2yhvjgi+XgC2KrbG\nmtkzROvr/sBlaZN5YEt3/yCt8xwRmOwBPJ8S0lwAXO/uB2bKcSURuP0C+Eo6/n8I3OLuX02r/Sa1\n9p/a3pdT7rg1s1rgEqJVbDN3n52WX0G0Wl1qZne1d+OKOAY/5+73pNdenb7jXwCfTN/TZcAT7r5D\n5rP9On13FwGbZba3IrBxsWt7Ov9MII6f4u/2HGAy0SNgWlrvLuIGxhHMP86GANu4+wtpnTuIY+vL\nwK2Z9+zyebaz58vMezQDu7t7U+kXaGZDiBsEKwI7F8shIr1LLXYiA1vxYqcnEyq8UVLJv07ccf9b\ncUFKTDGRRUwE4u4fEQHCGSVPDUp/R3Rxk9cCq6fufUV7Abe7+4zUXXB7osVkuJktmS6oxhCfbxmi\nNaA9c0qCusWxza5oq6van0sevwAsm3n8HrCzmR1tZksDuPuV7r6pu7cV1EF8pzXE91i0L7H/i8lr\nvgi8mgnqin5GBF+7l9uwux8BrJYJ6ordIIvdR7u6/7skBfA3A7uY2aj0/ksBO7Nw4pVyHisGdcnr\n6e/fMsuK3+1y6T2fIn4bfyiuYGY1zL9x295n3ixt58psF9uURGgLUqt08kgxqEuK3Q+Lv4ldidas\nvxd/s+l3mye6Y34mlWtn4ni8sqQsF7VTzvZsSnQN/XUxqEufYTrw6/Tc5h1s46ViUJdeO5X47Jum\n3/YniK66pZ9tOHAbsImZZc9dnh2vnM5LH5G+KzMbRxzD1xaDurTef1NZf5HZ1uvFoC6t8y7R6po9\nFqEb59lunC+fKhfUEa3UfyG6lH6ptOu6iPQetdiJDGDuPtXMmoiudz3lo5LHxdariSXLW1k8N5ua\ngIPMbFdgbaLlZyRxkdPV7f+ZaJHbC/h36j61AvMv0tdIf48iutGVKhDdHR9v5z0+Lnm8OLbZFaX7\nAQB3n1SyqJEFv78fEC0G5wPnm9mz6fGV6YKxLHf/b2oR2iu9bgjwBeCqzNi51YC7yrz2IzObRhor\n1oZxqZvohsR3uQoRDHZn/3fHtUSioT2IaUL2Im6clG0ZLtHhseLu+dS6WFOy3hEW4wfXTP+G0vFn\nXjWt87/SJ9z92ZJFE0uen5vKUQwCVie+5xvLvE+xG/A45u+7N0q2N9XMyv4WO7Ba2vbrZZ57NZVp\nFWK8Ylu8zLJi+VZlfpl/RbS0ZRW7j67M/J4PpccOxPFTvIFW3F657/2FkkXlvpM5zP/ei7p7nu3K\n+bKt/bMN828Sbkt03RaRClBgJyKPA5uZWU1bSSnM7Aziwu1Yj7TwbSnX8tdWN8TuzD/W7oV56nL3\nCDHA/wFivMc5xNxk47v6fu4+zczuZn53zH2AacxPk1/8vJewYKtKVkdzbpV2EVsc2yynbKusu3dr\nHip3/4+ZrUV01/pi+ns68H0z+z93L3ehXXQdcK6ZrUQkohjOgi1a7XWJrCEuRhdiZnsTgdX7RCvR\nnURims8yv2tbj3L3R8zsXaI75tXEb+YZd+/MxPddPlZSi+BTRAvOvcQYt+eJpBlPdfB+xd9EZ34D\nbSasyWyrQHQNfruNdaZm3mtomee7E3h39Fsp0MbvJaPc5y9ut5X539PJtB0gvpb5f2e+q7bet1RH\n2yrqzm+nq+fLtrqzNhJdho8nulnf4O5vd67YIrI4KbATkVuIrn/7Uqa7WGpR+QZxkVRsXWqlZC6p\nNNZlKcrche6mfOl7sHD3o1L7EN3LDnX3eZOql3ST6qprgRvMbGNiXMvN7t6cnns7/W1x9/uzL7LI\nlLka0NDF91vUbbamdesz5YSOv7tOSwH2xsAMd7+dGFuDmX2VSPLwLeIiry03EK0fuwPbEd3IskHI\n24CVed9liK5j77ax3bOJlpvNimMT0+sWR1KerrgBOCYFrtsQCUJ6yhFEC9DO7v5gcaGZbd2J175L\nBDBrEEk25jGz3wGPuvtVnSzH22lbk8v8bncAat29yczeTOutRSTzKK4zkjh/dFXxfdchukVmrZP+\ndnRTZ9Uyy4q/vzeJroYAs8t8ts2J7KtzOldcYP7vd43SJ8zsbGCKu/+yC9vrrsV1vnzc3e9I4yT/\nDfyGGDcrIr1MY+xE5AriQuMcm59BD5h3AX8Z0VXz7EwCgg/jacsGXrsTA/0Xlw+J4CFr3w5eM5a4\nQ/1qyfJj09/szaz2kilk3UZktfsZMb5tXvDr7h8SLUKHZC+GLFKI/57oytmlG2hd3GbxM2TP5R+m\nv9lshSsCnbnQ76xa4g7/+SXLi+Ou2ksWU/yMDxDZIndj4WyRtwHr2sKZ/04i9u/tbWx6LPBOSVC3\nEhGQQ/vfW3e01X34WuKmRPHi/KZFfJ/2jE1/S3/zRxHfVelvPlveZ4hug4daZCYFwCLL46FEUpHO\nupdIKnR8+q0Wt7UC0UX355n1ZgHHpptBRd/t5PuUHrfPEl0gj0jBYfF9lyCC3gllupWW2swWzO65\nDJHo5KE03u6Z9B5Hm9nwkvf4M3AVHfzms9JYxReA/Symqihub3Uie2lPdo3P6sr5skNpXOHFwK5m\nts+iF09EuqpftNiZ2WVAjbt/u5119iG64qxFZKf6HR3MhyQyELh7o5ntSaQbf9rMriUu0Jciutds\nDNzk7tmL+OuJZAf3mNmfiOOqvS5YpTqTffB64Dgzu4Xo+rgp0b2tva6g9xIXfn9KGeuaiW6CuxLd\nhUZm1p0EYGanAw+4+wPlNpjGEt0CfA14393/VbLK0UTSj2fN7FKiVXN/IjnCienCsKs6u81JxHd5\nhJktlzIF3kgEQDea2flEl7cjiVaLtbtRloW4e7OZXUh0u7qFyJw3nPgNzCYC0I5cm9YrsHBL8c+J\noO/GdH5/nUjBvyfRYtrW/IB3AXub2W+I3/AawDeZ3+2vuP8/JlqEd7fI5PmX0g110iRgezM7jkgu\n8hTM66b6MtEicn8KZHvKXcTv5Y7UyjYove+mxGcs/c0vUN70/6uBR9OxvETa3stEPdkp7v6xmf2I\nyLL5eNrWICK4GkRqtXT3WRZzRF4C3G9mNwEbEFNGzC678QUtdNya2dFEK+kzZvZb4pj4BtFK/ZVO\nbHMKcHc6XlpTmetIc+u5e0vmPZ5L7zEX+DbHvQKoAAAgAElEQVQx5cH+3biW+B5x3BTLXCCC2yks\nmDxlUXR0nu3K+bKzTiVuwJ1vkY10hpmtRtxYeqyDxEoisoiqvsUundzbDOjSOrsRGa6uIAbUn0ik\nWz6pxwsoUgVSFrNNiLutWxLd5E4iuhcd6u77lbzkUqICX5UI8LYnkkW8xMLamlOtnOzynxDzN22V\n/q5NZNQrDezmzc+W7hh/mZiI9yxinrU6IuX7HcC2mVaC4sX/8SzYbbBc2a5NyxdKgOHuTxDd7Z4m\n5or6JRFIfM3df9XG52zrM3d1m/cRgdzniHmyBrn7f4gxgTPS675JfBe/ZWFdmY9wgeXufmoq2xrE\nuJyfEN1wt+9gfF3RLcTv61kvme8qBa5bElMG7EMEC0YEB+21BBxGBCNfIn6XXyayRX4qPb9z2v4c\nYszkisRva6PSz9fO4+yyXxJB51lEC1dW8TfTmWyY5bbdqXVTNsdvEK1r5xK/5UnEcfM86TO3VV53\nv5ZobW8hAurDiHF6O6fvqb2yLbDcY9L5vYkA4UxisuzXgJ3c/ZHMepcRLWKjiHPNlsQ+y47Ba8tC\nx627/4UIRt4njvkTieQnO5bJrFruM9yVynskMRfcW8TveF52x8x7jCfG2p1OjLf9oruXtsh25vj5\nF7BT2t4pxHf1NDGVw6Ryr+ngPbp8nu3i+bK932f2c80ijtNliK7REPXDNUS3axHpQblCoVvj5isu\n3QH6HTGhZwMxj1PZAM9iTpYGd98/s+xk4BB3X7Pca0RERLortUqdBiyXnX5BRESkp1RzV8ytiXFB\n+1I+vXLWz1i4i0eBmPtHRERksUljTw8F/qqgTkREekvVBnap+8i1AGkunfbWXWDgdBrwfBhl5kkS\nERHpDjNbnkgosx4xH9gBlS2RiIgMJFUb2HWXmQ0l5oYagsbYiYjI4jOFmKC5Djjc3Z+rcHlERGQA\nGVCBnZktSaTRXgfYxd27PGGxiIhIOWmahRUqXQ4RERmYBkxgZ2arAv8gUnJvl7JBdailpbVQV1fb\n8YoiIiIiIrJ4TZsGZ5wBM2dCfT0ceCBsueWC6/zmN/B8SmQ7dCjsvTdcffX85486CjbYoKdL2pmp\nnHrUgAjszGwcMRluE7CVu7/b2ddOndrQY+WS9o0bN5JJk2ZWuhgDnvZD36F90XdoX1Se9kHfoP3Q\nt/TH/VH/wL8YPHFKPJjTDJdeQfMLr9D4+S/B4MHQ3MyIx5+e/4I5zXDFVZCfP71k6w03M+eYVXq0\nnOPGdWfqx8WrXwZ2ZlYPjAWmuHszMefWWGI+n0YzWyatWnD39iY7FhERERGRCqmZ+NFCy+offYS6\nF1+gcbcvUBg7duEXZYI6gNp334U5c6I1rx+r+gnKk9LJ+LYGJgBbmdkQYE9gBPBUWj4B+AB4rzcL\nKSIiIiIinVfz8cdll+dmzmTITdcz9LJLOrWdESefSK6NbfUX/aLFzt13Lnn84P+zd99hdt3loe+/\na+3epnfNqI2kNZIs2bJsbAsXMC0ESCA4GEgIEAgkJwkJBMJJbk4KuZzcc3gOKaRwQ8glCdWBYINx\nwxiMjWxwk9WXykij6b3uutr9Y83smV2mSTN7ZqT38zx+PKv/tvbI3u9+f7/3BeYujLsqXqcQQggh\nhBDXEnV4aMXuFfyv+0i94114LnWg9vTghMMYt9wGfv+KPWMtScAjhBBCCCGEWH8MA2V8PGdX5lWv\nxv+Tp8Awl307z+nTRD71Z7n79FMYt9+FOjaKse96iESuaMhrSQI7IYQQQgghxGXzPvdTAo8+jF1W\nRureX8Gpr1/8oiVQR4bBmV1x5VRWknnLWzFuv5PAw9/D+8LzV/wM76lTeE+dAsD/g++T+MhHcWJl\nV3zftXC1rLETQgghhBBClFoiQfBb96GMjuLp6CDwve+s2K2VodxpmHZ1DQBOZRWpd7+HxO99DPPg\nTaAU7zTghIIkfuf35j1e8LyREYL/3xfBXH42cD2QwE4IIYQQQghxWTzt53OmRXpPHL+yGzpONrDK\nX19nV1fnbm/eQurd7yH5W79d9FbWtlbsbdtJvetXsOvqpgfowd60ad7Hezou4v/+o1fwAtaOTMUU\nQgghhBBCXBYlky7cGY/Pv1YtnXb7zzkOyuAg3vNnUbs6weMB28Z7/BhKOoVx6yGU0dGcS+2a2qK3\ndKLFe8hZO3YCYB68GfPgze6zvV5QVUL/+Dk3KC3C/4PvY+7eg7112zyven2SwE4IIYQQQghxWZSJ\niYJ96tAg9pzAThkcxHvyOL7nf4ba0wNeD47fj5JIzntf34+fLNhnzRNoOfMEkdb21twdgUD2x9R7\n3ov/4e+hZDKY+/YTeODbs6/FcQh+/cskPvqHOdesdxLYCSGEEEIIIS6LMjFesE8dHMDevAX1Qjv+\nZw/jffGFnCIomBaKOX9QV4wTDs2bQXPCEXcd3dxCK8EA9qbm+e9XVk763nfPOT9E6Aufn/Mahgh8\n937S99y7rHGuJQnshBBCCCGEEJdFHS8M7IL3fQ378UdRB1euB521qw3UecqDqCpOJIIyNTV7/vYd\n859f7P5tuzEOvRLf4Z9k9/meOYy5dx/W7j2XPe5SkuIpQgghhBBCiMuS32cOAMteUlDnBPxYmoZx\n2yGMm27GPHgT6Te9GXPf/oJzzT17F75X3nRMq3XHos/Pl37zL2LX1uTsC37jqzAnYFzPJGMnhBBC\nCCGEWJxhEPj2N/G0n8PcdwOZn39z0amYxdj19Ri33Ia1eQtKJoMTCGC3bHaLpuQ/BvAePULg299C\nmZjA2rUL88DBhe9fV4/a35/dtnZpy3ppAAQCpN71HsJ//7dg2wAok5P4f/wjMj//5uXfr8QksBNC\nCCGEEEIsyvf8z/D99FkA/E88jrW9FXV8bP4LPCrm3n0Yr7gVS1tgKmUR5v4bMPddjzI+hlNRuej5\nmde8Ds/FCyhTUxh33IndNH9Lg4XYW7aSec3rcloeeI8fLRrYDQz0MzQ0wM6dbZf1rJUmgZ0QQggh\nhBBiUf6HHszZDn7zG2BaBec5AT/G7XeRufNVEI1e/gMVZUlBHYDdspn4n37KbWkQCi3rMT09XVy6\ndBFVVWhp2UbDHXfh+8FjGKkUXq8Xtb8fZWQYp2q2j54yPkb6bz5Dzfg43bfcStMf/P6ynrkaJLAT\nQgghhBBCLEpJJHK3xwqzdYmPfQK7rh58vlINa5aqLjuoA+jq6iCVcqt06voJ+sor2RmJYHd3oqBQ\nXl5B5NOfwgn4ccrKIBiCjouU9/cCEHzkIVgHgZ0UTxFCCCGEEEJcMXP3brfFwFoEdZfJsiySSTeo\n27VrNz6fn/HxUTorygFwcJiYHMdxbJR0BnVwCLWzk0wms5bDLkoCOyGEEEIIIcTiFGXBw8atryzR\nQFZOMpnAcRzC4TBNTc284hWH2LSphYnWVsoqKvH5fNi2TSqVyrluJrALh8JrMeyiZCqmEEIIIYQQ\nYmGpVG6T8TzGK27Bum5fCQe0MuJxt5VBOOyuBfT5fOzc2YazQ8O7eTvBr/4HRmcHiUSc0HQQZzs2\nqbSb5QuGwlhW4TrDtSCBnRBCCCE2LsdB7biI99RJlMkJ7JbNGLceWjSzIIRYnoWqX9r19aTfdk8J\nR7Ny4vE4ANG8Ii+KomBefwBT282JR76L6lG56VWvh/Exzj73LJnBAXyhENG3vh2zyFrDtXBVBHaa\npn0eUHVd/9AC59wL/HdgJ9ADfBH4jK7rdmlGKYQQQogVZRgE/+2LeE+dmt3302fBNDHuuGvtxiXE\nVahYoRQAfF5Sv/Z+8PtLO6AlSKdTXLzYTnV1DdXVtShzvvCZmprEcRympiaB2YxdPl8wiHdTM/H4\nFKPpJBf7epiqrCDY2MgNNxxEDYaIxMpL8noWs+EDO03TPgV8CPiXBc55I/Bl4CPAI8CB6fO9wKdL\nMEwhhBBCrDDvyy/lBnXTPGd0CeyEWGHzBXapt96D3dBY4tEsTUfHBXp7u+nt7Wb79p1s3rwV0zS5\ncOEc3d2dc85UiMVi896noqKSeHyKEyeO4Tg2oVCY668/SDAYXP0XsQwbNrDTNG0bbtZtL9CxyOkf\nBv5T1/V/mt6+oGnaHuD9SGAnhBBCbEieixeK7leM9VetToil8Jw4jlc/hdm2B2vP3rUbSCbjVrac\nk+FSR0cKTku979cx911fypEtmW3bDA72Z7e7uzsJhyOcPXuKdDqNoiioqorjOOzYoWXXzxVTXl5J\nd3cnjmMTDke4/vobCQTWV1AHGziwAw4Bl4B3At9Y5Ny/BOJ5+xxgaR0PhRBCCLHuqL29xQ8YZmkH\nIsQK8Bw7SuhLXwTA95OnAbC2bCH1vg/glJVuqp/vJ08RePABHK+P1Ps/gLV9B6TT+H76TM556be9\nfd0GdQAjI8MYhkE4HMGyLNLpFMePHwEgFitH03YTDAaxbQf/ItNIKyur8Hp9BINB9u8/gN8fKMVL\nWLYNG9jpuv4V4CsAmqYtdu4Lc7c1TSsDfhN4eLXGJ4QQQohV5DiofT1FDymmUeLBCHGF0mmC93+r\nYLeno4PgN75K8oO/WZqCQMkkgQcfgIyBkjEIfu0rxP/4T/H/8AcoExM5p1rNLas/nsvkOA6XLrkZ\n/fr6RgzDoKvLneC3dWsrW7Zsy1lvtxifz8dtt92OqnqWdV2pXXN97DRNCwH3A0Hgj9Z4OEIIIYS4\nHCMjKKl08WOGBHZimUwT37OH8f34RzA1VfLH+x9/bN41bJ7Tp/GcOgmmiefsGbwvvYDS31/03Cul\n9vVCZvbvjzIygufcWbwvv5RznrlnL/aWrasyhmLi8SlOnjzG5OTE4icDfX09TEyM4/cH2LSphaam\nTfh8fpqbtyw7qJvh8XjXdVAHGzhjdzk0TasGvgu0Aa/Vdb1zkUuEEEIIsV7Ythu0+f1w5Mj855ky\nFVMsT+C79+N7+ikAvMeOkvxvv1uylhnKwAD+J59Y8JzQF/8Zp6IiJ/iztmzFuONOrM1bcaqqcsc7\n02/Ott396tJyOergYMG+wIMPoA4M5OxLv+OdJfvzMQyDY8eOkEolGRsb5aabbl1w6qRhGLS3nwOg\ntXUnXq8Xr9fLoUN3rvvA7EpdM4GdpmlbgceACHCHrusnlnJdZWUYr9ezmkMTC6itnb9CkSgdeR/W\nD3kv1g95L0rs7Fn4p3+C+OyS+VDIV/xcv0pE3p+SuSr+Lpw6CjO/T72XiE4OQmvr6j/XceCr/wp+\nD7DI5810fHaMAAPd8K2vuT8Hg1BVBVVV1KbTcOkSpOdktBUFPB7wet1/z/wTCMC2bXDDDbBnD6Qn\ncp8BMNyfu2/7dkLbN13Ry56P4zgkEgmmpqZIJBIkEgl6e3sBk1DIj+PYdHae5ZZbbskJ0oaGhujo\n6MgWRPF4HOrqGti7d+dVH8zNdU0Edpqm1QI/BDLAbbquX1rqtaOjiVUbl1hYbW2MwcHJtR7GNU/e\nh/VD3ov1Q96LEjNNIn//eZTR2WxFKOQjmSw+5dJR4sTl/SmJq+LvQjpNdHg8Z5fxw6dJl9Wt+qM9\nx44SeuHl3GffcSeO14f/qR+BaS3tRkkDRicJ9fTM+/diXhc64Ykfg8+7pMJDmYbNZFbhPXcch6NH\nX2J0dLjgWCxWxo4dGsePv0xnZw8+33E2b96ave7w4Wcx5lTDVRSFpqZtDA2VblrteviC46oM7DRN\n8wFVwIiu6wbwj9PbdwNpTdPqp091dF0fmOc2QgghhFgHfIefRhkdnfe41daG5/Tp7LYUTxHLoYyP\nF+zzvnyE9C+8bdWnG/oPP5Wzbe3YSfoXfwkUBfO6fYQ/9zer+vwcS6wma+3YuSqP7+vryQZ1VVXV\nBIMhgsEQ4XA421xc0/Zw/PgRenq6aGnZgqIoGIaRE9QBbNq0mUikeMPxq9nVEtg5eduHgCeAV2ua\n9jPgbYAC/GzOOQpgAgvXNxVCCCHEmsovsw6AqmLeeJDMna/C3tRM9BMfnT1mmO4Ut2toCpa4fOp4\nYdESZXwc9eIF7G3bV+/BhoHnQnvOrvQvvDX7e2tv3Ubmta/H/8PHcQJBjEO3Y9xxJ/5HH8Z3+CdL\ne4aqun8XnPyPykuTese78D/5BOp0sRa7qWlVAruZpuEAu3fvo76+oeh51dU1+P1+UqkkU1OTxGJl\nJJPu7LpYrJxNm5oZHR1h69ZVfN/WsasisNN1/e687SfJnah8VbxOIYQQ4lqkjOVm6zKv/zlCb3od\nKXPO/95V1S0UAe6HWNt21xAJsYj8368ZvqNHSC8S2Cljo2DbOJVVy/4iwXPpYk6WzKmowG7KXbuW\neeObyLz29e7auOn7p992D3Z9A8rYGMZtr8SpqkKJT6GMjhIiTbprALu+Hmtbq3vNTGBnWe4/poli\nu/9Wh4fxnjiG9/mfoSRTOc92olHMW27FvPkVePTTKBMTmPuvX3IhluXo7LxIJpOhrKycurr6ec9T\nFIXa2nq6uzsZGOgnFisjkXADu3A4TENDEw0NTSs+vo1CAh4hhBBCrF+Og5LJnVqZee3robIC5qzz\ncXxelPSc6ViGIYGdWJJiGTtYfDqm74nvE3joe+A42PX1mLv3oMTjqGOjKGNjKKkUTiQCloliWu6X\nDZYFthtgKXlTH80dO4s/y5dXzERVMW6/M2eXE43hRGNQG8NoyVv/piizlTGn7zWTv7OqqrF27sKu\nrCLwnftzLrNm2hmoKtbuPUX/DFaCaZp0dro95lpbdy1a7GQmsBsc7Gf79h0kk25BpVAovGpj3ChK\nHthpmhbRdT0+/fPbgBbgQV3X2xe+UgghhBDXHMuazcQBeNTiAZvHi1sjzaWYBg7B1R+f2PDm6x+n\njI8T+M63Sb/2DRCJuDtNE9/PnsX/8PdQErMF9tT+fvxFesspk0svMmK1rs7ataUwbj2E79nD2bYG\ndmMj6be8tSTPnpycwLZtYrFyyssrFj2/vLwiZzrmTMZOArsSBnaapmnAg8DXgf+hadpfAn+Mu9bt\nrzRNe52u64dLNR4hhBBCbACZ3KIIznz9q/KzGtLLTixRseIpM3w/fhLf4adJvf1e1OEhvC+9gDpc\nWLXxink9WJq28vddqkCAxO9+FO/J4zgVlVitO0q2RnWm6XhZWdmSzs+fjjmzxi4clsBu5SfJzu//\nwS1W8oCmaX7gt4H7gArgUeDTJRyLEEIIITYAJa/aHb7igZ3jy/uueokV/oRQ51ljl2VaBL/xVfyP\nP7YqQZ1TXk7q7ffiLCFbtarCYcybXuEWR1mFoC6RSHD+/JmCCpYzgV00urTADtzpmACDg7OBnWTs\nSjsV8y7gA7quP69p2uuBcuD/1XV9QtO0zwPfKuFYhBBCCLERpPMydoF5Mnbe3IydOxVTiIUp42Oo\nPT25O+cW4lmEE/CTeYtbyVIZG8MpK8Mur8CprHTvPzqKU1bmrrVT3WnEjurJbRK+CsVIVtPgYD/n\nzp1h7979lJWVL+kay7J47rnDONPVOVtbd2WPLTdjB7nTMQGi0Rher5QOKeWfgA8Ymf75jUAceHp6\n24ObzRNCCCGEyFpqxq5gKqYhvezE4gLf/EbOthMMYO3ei/elF+e/SFUxbr0N49ZD2PUNbsXK+eRV\nudzobNvm3LkzpNMp+vp6lhzYXbzYng3qhoYGaW3dhW3b9PX1kEol8Xg8hMORJY9j7nRMgLq64u0R\nrjWlDOyOA7+kaZoO/DLwmK7r5nQz8d8BjpVwLEIIIYTYCPLX2M03FdOT+5FGmpSLRSWTeE+dytll\n3H4Xxm2HUHu6s73bco6/8nYyd92NU11dqlGuK/39faTTbluEscWmsE6zLIve3u7sdjKZ4NKli/T2\ndmenUdbXNy5aDTPfbGCnSGA3rZSB3Z8C9+MGcWncNXcAZ4B64M0lHIsQQgghNgAlP/Pm9xU/MX+N\nnWmtzoDEVUNJJAoad2fe8EZQVRKf+COU+BShf/4n1O5urC1bSH7gw7PVMa9BjuPQ2Xkhu51IxMlk\nMvjnK2g0bWCgD9M0KCsrx+8PMDQ0QHv7WcBdF7dtW2t2zdxylJdX0Ni4iUAgQDAoFXChhIGdruvf\n1zTtOuAVwLO6rndMH/o/wBO6rp8s1ViEEEIIsUGk0zmb82bsZCqmWCZlen3WDLuhYXa9m6LgRGMk\nPvoJlPgUTiRasiqR69XQ0ACJRIJgMEQgEGR8fJSLF89TWVlFKBQmFArhycucO45Dd3cXAE1Nzfj9\nfkZGhgiHIzQ1NdPQ0IR6mWsMFUVB01avv95GVNJVhrquXwAu5O37+1KOQQghhBAbR8Eau0Cg+IlF\niqcIsZD8wM4Jhoqc5AZ41zrHcejocD/Ct7RswbJMxsdH6enpoqenK3vepk0t7NzZlt2enJxgamoC\nn89HbW09Ho+HO+64e9nTLsXSlLKPnQK8D3fKZYTCVguOrutvKNV4hBBCCLEBZHIDtILM3AzJ2Inl\nSqZyNp2QTOebz+BgP1NTkwQCARoamgDwen0kEgmSSfefRCJOX18PO3Zo2cBtJuhraGjC4/EASFC3\nikqZsfufwCdxM3ZdwNLqyAohhBDimqVkcqdiMs96Hmf6Q2P2OmlQLhaRn7GjWMZOMDU1ydmzOgBb\ntmzPBmhNTc055/30pz8hmUwwNTVJLFaGYRgMDPQVPVesjlIGdu8DPqvr+sdL+EwhhBBCbGD5UzHn\nW2NXkLGTwE4sQknlZeykAEeByclJjh59AcMwqKqqyWbriikrKyeZTDAxMUYsVkZfXw+2bVNVVS3N\nw0uklB0Ry4DvlvB5QgghhNjoMkuriinFU8RyKen8wO7azdg5jkMqlcz2mnMch7GxUV5+2Q3qqqtr\nue666xcsdFJeXgHA+PgYjuNkp2E2NbWs/gsQQGkzdoeBVwJPlvCZQgghhNjI8jN2/nVWPMU0F25Q\nLdavvDV2XINr7CYmxhkc7GdwcIBUKklj4yZaWrZw9OhLpKanqtbU1LJnz/5Fq1fOBHYDA/0MDQ1i\n2zaBQJDq6ppVfx3CVcr/En0a+KqmaV7cIC+Rf4Ku64dLOB4hhBBCrHNKemlr7Ar62BmrPxXT98T3\n8T/+GE5ZGcn3fwinfvm9uMTaWVJVzKtYR0c7Fy6cz9nX29udbSbu9/upra2ntXXXkloShMMRmpu3\n0NvbhWW5fSSbmpqlWEoJlTKwe2L6338+/e+5HSGV6e3clc9CCCGEuKblNyh35iue4s1fY7e6GTtl\neJjAww+BbaMMDhH53/+TzF2vwqmpxa6tw25slDL569y1vMYuHp/i4kW3fcGmTZupq6unt7ebvr4e\nACoqKtm370C2UMpSKIrCjh27aGho5KWXngccGhvnX5MnVl4pA7tXl/BZQgghhLgaZPL62M2bscuf\nirm6GTvvWR3s3ALf/id/NLuhqmRe+3oyb3jjqo5DXIFrOGPX2dmB49g0Nm5i504NgEAgkK1ouXNn\n22U3Do9GY9x8863YtoN/vqnTYlWUMrC7B/g3XdefX+kba5r2eUDVdf1DC5xzL/DfgZ1AD/BF4DO6\nrkvbBSGEEGKdWmpVzIKM3RKLp6j9fXh/9lPs+gbMm26G+T7MOg7MmVKm9nQvfGPbxv/9RzEO3oxT\nI2uM1iMlf41d8NoJQiYnJwBobNyU3RcMhrjppltX5P7BayhIXk9KGdh9APjOSt9U07RPAR8C/mWB\nc94IfBn4CPAIcGD6fC/u2j8hhBBCrEdLrIqJ9zL62CWThP7usygpdx2f9cJzGLfcijI1hTIxAYqC\nEp/Ce0ZHmRjH1HZj7b0Ou6YWz4X2xe/vOHjPncGQwG5dulbX2Nm2TSIRBxQikehaD0esoFIGds8C\ndwDfX4mbaZq2DTfrthfoWOT0DwP/qev6P01vX9A0bQ/wfiSwE0IIIdat/AblS+5jt4SMnefc2WxQ\nN7PtOXd23vO9J0/gPXliwXs6kQhKPD57z/bzGLceWnQsovQK19hdG4FdPB7HcRzC4fCy1tCJ9a+U\ngd2LwCc1TbsHOAJM5R13dF3/8DLudwi4BLwT+MYi5/4lEM/b5wCVy3ieEEIIIUotf41doPh0ucsp\nnqJOjF/uqIoyDr0S88CNhP7hc9l9nvbzC1wh1lRBxu7qL55iGAYDA70ARCJS3OdqU8rA7u24a9tC\nwG1FjjtF9s1L1/WvAF8B0DRtsXNfmLutaVoZ8JvAw8t5phBCCCFKS8nkr7GbZypm3n7vqVNE/vgT\n2C1bSL/5F7BbNhfee2JixcaZ/uV7MV5xK1iWOy3UdMu9K6OjKENDss5uvXEclHTelwahqydjZxgG\nun6SSCRCc/Nm0uk0iUScc+fOkJnOgkejMg3zalOywE7X9W2letZCNE0LAfcDQeCP1ng4QgghhFjI\nEqtiOkWahCvpDJ5zZwne9zUSH/vDnOInAMr4WME15t7rcGIxvEdezE7TtOvrybzmdagDA6jDQyjD\nQ6jDwyjxOHZDA8n3fRCntta9gapibd6ak6nzPXuYzJt/YTmvWqy2dNotiDPD75u/cM4G4zgOJ04c\nZWxshKEh6Oi4UPS8WKysxCMTq62UGbs1p2laNfBdoA14ra7rnWs8JCGEEEIsYKlVMe36hpxM2Vxq\nTw8kkxAO5+6fzM3YJd//Qazr9gGQ/uV34jl/FmViAvO6/YVr+MDNzhVZo2TeeDA3sPvpYTKve8O8\n00hF6V3NhVNGR0cYGxsBQFVVFEUhEAgSDIYoLy+nsrKayckJKiur13ikYqWVLLDTNO0si0y31HV9\n1yo+fyvwGBAB7tB1feHVz9MqK8N4vbKwdK3U1sr87/VA3of1Q96L9UPeixIwTfAqMLN+TlEIbarO\nZt5y34MYfPyj8MgjMDgIo6M5GZmQz4L898xKQ2g2YAtt35R7Tu2Nlzfun7sbfvQYzBRRcUzC547D\nq151efdb5zbk3wVzKue9p6qM8EZ8HUX4/Q7BoI/Nmzezf/9+wG0eLq5+pczY/YTCwC4KvAJ3WuTf\nrNaDNU2rBX4IZIDbdF2/tNRrR0cTq9gHiIYAACAASURBVDUssYja2hiDg5NrPYxrnrwP64e8F+uH\nvBeloYwME0nOFkFxysqID7m114q+B7Ut8J7fACD0j5/Dc/5c9lDyfBeWL/eDe6RnAGXO/eOGirNC\n76v/+pvx/2C2ELj93YdJ7LmxYDroRrdR/y6oPcOE57z3tqWQ2ICvI19tbYy+vmFSKQPTVBgayq9V\nKFbLeviCo5Rr7N5XbL+maT7gASBc7PjlmL5nFTCi67oB/OP09t1AWtO0+ulTHV3XB1bquUIIIYRY\nOcpY7ho4u6Jiydc6eecq43kVME0zpy0BioKzgmuOjFfejv+HPwDbBkAdHMSjn8Zq271izxCXT0nn\ntdHwXz3TZJNJd5ppMLhiH63FBrHmq0SnA6+/xW1gfrnyM4GHcCtw3qZpWhB4G2528GfT+3uAXqDr\nCp4phBBCiFWk5hU3ccqXHtjZZeV59xrN2Vby1tc50eiKFs9wyiswD+RO5fQeeXHF7i+uUH611cA8\n/RE3oGTSnW0WuoqqfIqlWS/FU6qAy/6aTNf1u/O2nwTmLoxbL69TCCGEEEuUn7FzysvnObPQYhm7\n/G2nbOUrBBo334L3heez296jR9yCLak0TiSC3dyMqe3GCYVR5vbdm5muOXfa5pyfHUXFqa4uWrhF\nLE1+43s2WMZuZGSYiYlxysrKqaysyq6hcxyH1HRhGAnsrj2lLJ7y7iK7PUAL8PvAj0s1FiGEEEKs\nf/kNxO1lZOzyg8D81gaF91560LhUVusOnGgUZcpd56SkM3hOn5494cRx/I8+cln3diIRUu95H9bO\nVas7d1UrnIq5cTJ2ly5dpL39bHY7Go3R1raXaDRGOp3Gtm18Pj9e7zw9H8VVq5SZrC8vcOww8JFS\nDUQIIYQQ619Bxm4Za+zyg0A1L0PnudCee+/KqmWObglUFXPffnzPHF7xWyvxOIHvfJvEH3xyxe99\nTcgL7DZKKwrHcejocH93GxqaGB0dZmpqkhdf/BmatgdVdVsYSLbu2lTKwK5Yg3IHmNB1vbBDqBBC\nCCGuaflZtuUEdvkZO7WnBxKJ7JRGz6mTOcdXK/OVefVr3WbnydSK31vt6cH/nW+Tuft1EI2u+P2v\nZvlTMTdK8ZRkMoFlWQQCQdra9mJZFmfPnqavr4dTp47T1+dOKQ6H5ffhWlTKwO69wL/out6Tf0DT\ntC3AH+i6Llk7IYQQ4lqVSOB79jDe06fANPH0dOcctssrl3wrJ1bmFkOZrkoJEP0ff1T8ZFXF3LE6\ngZ1TXU3iE3+E55w7dc4JhiAYQBkcwqufQu3tccc4dyrgTP+9OX34Zn5WR0fAMLO7/U/+CM+FdpK/\n+9EVLf6yJPE4jPbiO3EWZWwMa+cuLK2ttGO4XOnc4ilskOIpk5NuS4ZYzC2t7/F40LQ9lJWVc+6c\nTjKZxOfzsXXr9rUcplgjpQzs/gx4GLciZb7bgA8h0zGFEEKIa1M8TuSvP4MyOjrvKcsqcKKq2NXV\nqIODi55qbd0Gqzh1zSmvwDx4c+7O1p2Yt9627HsFvvZlfM8/l7PPc+kS3pdfwjxw8EqGuTSJBIFH\nH8J77KhbgCbkIzDTD+6HP8BuacFs3YlTU4O5Z++yKpmWUkHGLhBco5Esz9SUW801Gp39u6AoCk1N\nzUSjMcbG+ikvryMY3BivR6ysVQ3sNE17GjdoA1CAZzVNm+/05+Y7IIQQQoirm/+pJxcO6srLwbe8\nYhCZN76J4Jf/PSdrV4x5/Q3Luu9asjc1w/OFH5kCD3wbp7wca/uOVX2+//FH8T391LzH1c5O/J2d\n7pi8HpLveT/WdftWdUyXJb/dgW99Zewcx2FsbJRYrAyvd/bj+tSUm7GLRgubYZeVldPa2rwhG8aL\nlbHaGbsPAm/HDeo+Bfwzhb3jLGAMuH+VxyKEEEKI9cZxUKYm8f1k/mABIHPXq5d9a/P6AyRq6/A/\n9gieSx2Qzlvn5vVh7tuPcej2Zd97rdjNzUX3K5OThP7x78m87g1kXnW3O7VzbruEFeI9fWrpJ5sW\nwQf+i/ievaWfJrqI/KqY620q5tDQACdOHKW+vpHdu68DwDAMJiZmMnaFgZ0QqxrY6bp+Gvg0gKZp\nHuALxdbYCSGEEOIaYll4zp3Fe/SIO6UvHi84Jfn+D7rBiWHgVFdjNzRe1qPspk2k3veBKx3xumFt\nagGPClaRLKTj4H/sEfyPPQI+L044grlvP+lf/KUVC6zyC9rQ1IRZXoPa3YXa3194/sgIHv001u49\nK/L8lbIep2JalsX4+Bjx+BQjI8OAG+BZloXH4+H8+bNYlklFRSWBDVLFU5RWydbY6br+FwCapjUD\ndwNNwJeARuCEruuZ+a8WQgghxIbmOHjaz+H74Q/wtJ9HyS9eMUfm7teuz+l760EgQObVr8X/+GPu\ndl6BmCzDRBkfx/f0U9hV1RiXkfEskEqhpOYERF4P/OmfkhqagkwG/6MP4XvpxYLm775nfrLuArv1\nVDxlfHyMjo4LjI2NYOe9l5ZlMTIyhM/np6+vG1VV2bVrd7YhuRBzlbJ4CpqmfQb4vennOsBjwF8B\nmzRNu1vX9YFSjkcIIYQQK8Aw8L7wPJ7ebqzmFsz9N+T0BVMvXiD4rfvclgOLcMrLybz6Nas52g0v\n88Y3Yd5wAMfrw6mpwaOfJvi1L2cboefzvfDcigR2al62zi6vmJ3u6feTectbybzlragXLxD+3N9k\nz/OePIEyOoJTUbkq00MvR0HGbo3W2KVSKY4dO4JpugVootFYdh3djN7eblKpJACbN28jHI6UfJxi\nYyhZYKdp2idxq15+HHgQODd96M+Bb+JO2fyNUo1HCCGEuOY5jvvPMqbpKZMTKENDqIODeLo7UTs7\n8fR0ZUvw+wD7+4+S+P2PQzgMtk3oP75U0Gy8KFUl9c5fca/b4Jzp9gSrlVmxG5uyP1ttu0l8/JP4\nH3oQr366IGOmdnejDA/jVFdf0TMLG8YXbz9hb9mK3dQ0G8g7DpH/+y9wIhEyP/9mjFsPXdE4VsQ6\nmIp58uQxBgb6AKisrKatbS+BQIDe3h50/SQtLVvo7r6UnZYZDkfYvHlryccpNo5SZuw+DPy5rut/\nN73eDgBd15/RNO1PgL8s4ViEEEKIa5r3pRcI3vc1HI+H9NvuKSzHX4T/8UfxP/Jwbn+1ItThYXwv\nPo9x+50ow8NFgzonGsXcs9fN7lkWns5LmG27sbdtzP5bg4P9JJNJyssriMXKOH36BIOD/VRV1dDW\nthffMit6LpcTKyN977tJAzgO4b/+DGr3bB9A7/GjV5y1Kwzs5mlloCgYh24n8M37cnfH4wS+eR/W\ntu3Y9Q1zbuS4ged8lU8dB++RF1H7+7Hr6lAmJnCiUeymTdh19eBd/sfZgqnAJZ6KOTU1mQ3qYrEy\n2tr2ZNfNNTY2UVNTm62G2dl5EQBN24O6zorQiPWllIFdE/O3NLgIXNnXSEIIIYRYGsch8MC3IWOg\nYBD82ldIBoILrmtTJifwP/rIokHdDLXXzdaooyMFxxK//RE3gJuTzdrIa+oMI8OJE8dwV5mAqqrZ\ntVLDw4MMDQ3SOCfDtuoUBePgzQTmBHa+F5+/4sBOHc9tR2GXlc97rnHgIP7v3l8YQDkO/u8/SupX\n3+tumyahf/1nPLoOPi/mzl3YzZuxK6tQEnHUsVE8p06gDg3PMygVa9t2zLbd7vRfVXV/rywr+49i\nz/xsg0fF3NVWmLHzr2wxEsuySKfThEKholnb3l73vdm0qYWdOwubus98EbB581ampiapqKikfJ32\nBBTrRykDu/PAG4DHixy7A2gv4ViEEEKIa1cyiTI5Zx2P4xD68pdI/ObvYG/dVvQSz7mzi/aDm2um\nMbg6kvuB3Dx4E/b21uWPeR2bnJwEHHw+Pz6fl0QigaIohEIhEolEdn1UKZnX30Dguw9kA3G1qwu1\nu8vtg2cYeF98ASU+hXngRpzKqiXdc8kZO4BgEPPGm/A9c7jgkPelF/Fqbdgtm/F/7ztuUAdgmHhP\nnoSTJ5f2IgFsG8/5c3jOn1v83Gn+xx4t/IJiBapMplJJRkaGGR4eYmxsBMuyaGvbS0NDblDvOA79\n/W62rrFx04L39Pl8XH/9jVc8NnFtKGVg9zfA5zVN8wHfxf1aa7umabcDfwh8soRjEUIIIa5ZSrFA\nwzAJffGfSfzuR3Hq6nIO+X/wGP6HvldwSeZ1b8BqbnF7q2UMIv/r09ljnvPnCP7rF3Dy1svZVVff\nBJ2ZYhd1dfXs3NlGJpPGtm1GR0fQ9ZNrEtg5FZVYmobn9OnsPt9PnyH9S7+M/5GH8P/oCQACDz2I\ntWsXdlU1TmUldiQGPi+e8+dQ4nEU08COleFEY/h++mzOM+x51tjNMA7dXjSwAwh+/atX9gKvRH5Q\n5/VccTuIs2dP093dWbB/dHSkILBLpVKYpoHf75d+dGJFlbLdwRc0TasB/gT4Xdym5fcBGeD/6Lr+\nD6UaixBCCHEtU5LFAw0lkSDyvz5N6ld/DXPPdRAI4D32ctGgLvnh/4a1S5vdYVkFpfe9J44XXGcv\nMTu0kcTjbjXKSCQKgH96Wl8wGAJYk8AOwLjltpzAzvvi86Tf9Av4fjon2HIcPLqOp8j1M+Y75pTP\nPxUT3B6CVltbzhhWklNRsbSiPIvd5wqnYVqWlZ1aWVNTR3V1DT6fj+PHXy6ocAmFvy9CrJRSVsUM\n67r+V5qm/QNwG+6aunHgWV3X55k4LYQQQoiVVjRjN0fwy/+O3dBA8kO/ReBb/1l4gteDlT9l0+PB\nrq7OTsGcz5VWZlwrtm0zOTlBWVl5wZqpmQ/v+dmXUMgN7JLzBNKrzdxzHU40mm2DoCRT+J94HCWZ\nuvKbKwp2dc2ipyXf9R78P/wBSiaNMjaG9+SJec+1du3CbNuD51IHZDJuBrGi0v13dQ3e0ydRL3Vg\nHrwZ88BBwG2l4T16xP2ywuOZrfTq8YDHg+PxgOr+7H3p+eJr9fxXVjhlfHwM27aJRmNcd9317mux\nTEAhkYhj23ZO0ZNEIg5AOCyBnVhZpZyKeVrTtI/quv4t4NESPlcIIYQQcyXyAg1FKZiepvb1EfnU\nnxW93NxzXfEPw0uo/LhRM3Znz56mt7eb7dt3snnzVgzD4MSJo9TV1U9/UFcKMjCBQBBFUchk0liW\nhcezUF5sFXi9GAdvwv/kj7K7so3Nr5DV0rK0thTRKJm3/KL7s23j/+HjeI4fQx0ZwQmFcKIxnFgM\nc/dezJtf4RZ+medWmc1bCvbZW7eRmWddaMH1b3gjgW98Fd9zP8s74BZ4SadTmKa5rEyaaZrZbF1l\n5eyXFh6Pl3DYXWMZj8eJxWaD/tmMnfSjEyurlIFdFLjyfHkRmqZ9HlB1Xf/QEs5tBY4Amq7ri3dK\nFUIIIa4y+VMxzRsOoCTis0UsFmDuv570W3+p6DFre+vCTchVFady4XVZa8GyTDo6LpJITBEMhqmv\nb8z5IJ5MJunrc19XR0c7dXX1DA0NMjY2wtiYW/UzGo0VBG6KohAIBEmlkqTTqTVpLG3ecltOYJfP\namvDuOU2lNFRtwjJpQ73ffL7sesbsHZpeDou4n3h+dzrdhVWclyUqpJ5zevhNa9f/rUrQVFIv/0d\neM/oOb3+7Lp6HMfhpZeeJ5VKsXOnxqZNLQveyjAMzp8/w8BAX7YCalXe+tFoNEYikWBqajIvsHMz\ndjIVU6y0UgZ2fwd8StO0CeBlXdczi12wFJqmfQr4EPAvSzh3F/AwsPE7nwohhBCXKX8qphOJkPrl\ndxL8+lfwHn256DV2XR2JP/jkgj3DjOsP4Hv6qXmPOxUVV1ykopiJiXGOHz9CRUUVO3e2LatnXCaT\n4ejRF3PWQnV1dRCNxmhp2UJ9fSNdXR04joOqqliWxblzZ/B6c58xXyAQCoVIpZIkk8k1Cezs+gas\nLVvxdFwsejxzx6uw2nYDzNsOwdqxszCw07Si5657Ph+J3/k9wn/72ewUVXPffiYmxrNrIc+ePU0q\nlWT79p1FWxXE41McPfoi6XQaUAgEAoRCkYJ2BJFIDOhnYmKMWCzG2Ngok5MT2YzdWvw+iKtbKQO7\ne4FW4FkATdOsvOOOrutLXr2qado24IvAXqBjCef/HvAp4AywdanPEUIIIa42+Rk7JxSGQIDUe3/d\nbWzd1ZV3gULqHe9atBG0vb2V1DvehffYESxtN+buvYQ/99fZD9DG/htmn+k4RT80X44LF86RyWQY\nGOhDVVXa2vYu6TrLsjh+/AhTU5OEQmG2bm1lYmKMgYE+pqYmOXXqOOFwJNtIeu/e6zl58ihDQwN4\nPLN/Fn6/n/r6xqLPWOsCKjBdRKVYYKcoWEWmN+az6+qxNm/Gc+kSAE5VFdaWpU1/XI+cqmoSH/8k\nvp89i11ZhXngIIPnzwIQi5UzNTVBZ2cHiUSC6uoaGhqasmvkJicnOXr0RQwjQ1lZObt3X0coVDxf\nUF1dw4UL5+jt7c5O15xRVla+6k3rxbWnlIHd11f4foeAS8A7gW8s4fy3AB8EBoAnVngsQgghxIZR\nkLGbLvIBuI2t8wI749Ar3YbiS2DecivmLbdmtxN/8If4njmME41i3HqIoaFB2tvPkEqlqKqqnq4i\nWHvZH3InJsYZndMEfXx86as+hoYGmZgYJxAIcsMNNxEIBKivb6C1dRdnzpyir6+HEyeOYhgG4XCE\n6uoatmzZTnv7WSzLRFFUtm/fQVlZeU5xjLnWQ2Bn3nAA58EHUBKJ3P0HblzaOjlFIfWu9xB48AEU\nI0P6597kFifZwJxYmTstFLcwzuBgPwA7duzCtm2OH3+Z4eFBhocHSSaTtLbuZGJinKNHX8I0Daqq\nati7d/+C6yaj0RjhcJjE9J97TU0tVVU1xGJlMg1TrIpStjv4ixW+31eArwBoS5gOoOv6a6fPvWsl\nxyGEEEJsOPkZu+CcwO72O1EH+t0pmaaBtec60m/+xct+lFNWTuYNbwTcnl4nTryMM12oZWhokKGh\nQVRVZccOjd7eHrZu3UZ1de2S7z+TTdu0qYXu7i6SyWRBFcL5pFLuB+66ugYCcxpUq6pKc/Nm+vp6\nsgFZXV0DQHZ/IuEWxGhpWTjjNRPYrVVlTMDNxr7nfQS/9C8oaXcljFNVRept9yz5Fk5dHalf/43V\nGuGa6ui4ML0GMpytenrw4C1cunSRvr5uuro68Pl8dHS0Y1kWNTV17Nmzb0m/Y/X1jVy4cB5VVdmz\nZ/+SrhHicpUyYyeEEEKIdSA/c0N4NrBDVUnfcy/pe+5d0Wfats2pU8dwHIfm5s00N29heHiQ3t5u\npqYmOXPmFADHjh1xhzSdIauurs2uXbJtuyBDMpOtq62tZ2RkmGQyQTKZWFJGxF0jRU5QNyMajVFZ\nWc3o6DA+n4+GBneqpaqqaNoeTpx4uaDxdDEzLQ/WMmMHYO3SSH7kY/gffwzH4yHzcz+/tGzdVc40\nDS5dugjArl17stODw+EwbW17UBTo7e2mvd2dqllX10Bb294lB2jNzVtwHIe6ugYJ6sSqk8BuEZWV\nYbzejT3dYCOrrY0tfpJYdfI+rB/yXqwfG/q98DoQmp36GGqqgVV+Pb29vaiqQ11dNbfeehBFUWhp\nqaWlpZ7Dhw8XnG/bGQYHexgc7KG6uhrHcYjH49x8882Ew2Ecx6GszI9lpYlEgrS2NjM62kd/v4Hf\n7yzp/bl4USEY9NHQUFX0/LvvvoNUKkUwGMz5UF5bG2PHjoWrJs4oK/Nz8qQPRbHW/nemNgb7dq38\nbdf6dV2BoaEhAgEPFRXV7Ny5ueB4dfXNnDtXSXd3N1u2bGHbtm3LXhva0HDD4ietoI38fogrI4Hd\nIkZHE4ufJFZFbW2MwcHJxU8Uq0reh/VD3ov1Y6O/F+HBUdTkbLewRNLGXuXXc+rUOVIpg+bmGoaG\nprL7bdtLJmNls3E7dmhEo2WYpsHIyBDd3Z10d/dlz3/88R8CEI2GsCyFVMqgsrKM4eE4tu0llTLo\n6upnaspgeHiIcDhMU1Nz0TEND4+TShnE4+aC7+dMefrL4TgOhmGTSiXo6Rm56gpmbPS/C5cu9ZJK\nGahqYN7XUVnZSGWlm7Gd+7u7Hm3092MjWw8BtQR2QgghxDVGSaVytp15qvqtlJkgTVGU7Fq1Gaqq\nUl5eyejoMNXVtTQ2bsoeq6ysIplMMDQ0mHO+qnowTZNUyg1Oq6trgNmGzx0dF+jouJC9pra2vmhA\nlU67fw6BQHCFXmkhRVEIBkPE41OkUkkcx2ZoaJCKikopd78OTE1NABCLla3xSIS4cldlYKdpmg+o\nAkZ0XTeKnLIy9ZWFEEKIjSiZOxvFCa5eYANuxstxHKLRGH6/v+B4Y+MmxsdHi65Zq6yszgZ2O3e2\n0dTUjKIolJcHuHSpH8Mwso2hy8rKcf8X7xAORzBNk0wmzdTUJJWVVTn3tW2bTMYAlKJjWkmhkBvY\n6fpJ4vEpHMfB4/Gwb98BKirWX8P2a8nkpJvdksBOXA1KGthpmtYC/AnwOqAReCXwLuCoruv/cQW3\ndvK2D+G2NHg18OMlnC+EEEJcGxwHJZXO3Ten3cFqSCTcqYzzZajq6uqpq6svemxuQFZZWZVd3+T3\n+wsaQofDEW666RZU1UM4HObs2dN0d3cyOTlRENhlMhnAwe/3r3pRi5nKmG4TdIVwOEIiEae9/Sw3\n3viKVX22mJ9hGCSTCVRVleypuCqULLDTNG038DSQBL4P/Nr0oXLgS5qmpXRd/8/Lubeu63fnbT8J\nFK14stAxIYQQ4qqXTIIz+/2mEwxAkcDGsqxsuX/DMDBNk8bGTUQiEVKpFJFIdMnrxWYCu5mpkssR\nCoVpaGjCcZx5G0HPFY3GCn4eHh6krKw8JztWimmYMxobN5FIxCkrq8hmJZ999ilSeVNil8txHE6e\nPEYqleSGG25asKfa1c6yLE6ePIbX62XXrt1L+rOY/cIhKhUrxVWhlBm7zwKngNcAFvBeAF3XP6Rp\nWhD4Q+CyAjshhBBivXEcB10/SSIR5/rrb8TjWR+rH2ZaHdi2BYqCkhcsjY6O0N3dSTKZIB7PLRQx\nNTWJYRhYlkkgEOCWW25f0gfiuR+glz1eRaGtbe+yrwOIRt3pdePjYxw58jx1dfVEo2V4vd5s0+hi\nrQ5WWiQSZf/+G7Pbtm0DYBgZHMdZdpXFGe3t57KNtYeHBwvWL15LOjouMDzsTtlNpVJs376jIKOb\nLzk9JTkcXt2MtRClUsr/y9wBvFvX9bSmaflfo/wbcH8JxyKEEEKsqtHREfr6egDo7++btzJjqSlT\nk9iOzcBAP6pHpao5t2z/xYvnGR8fA9xCJVu3bsfr9XHmzKmcXmzpdJqRkSFqauoWfeZMVclwifum\n5WcIBwb6GRjoz9lXioxdPlVV8Xq9mKaJaZqXVSnTtm26uy9ltwcG+q6JwC6RiNPRcYFAIEgsFiMW\nK0NRFDo7L2bPGR8f5aWXnqO8vJItW7Zl12Dmm/l9XkomWIiNoJSBXQaY72uxiunjQgghxIY3NjZK\n+8svsvmpJ/Fk0oyNjND4tndcdmZmJSlTU2QyGWzHxjZtBlNJwpaJx+PFssxsUAewY4eWDUgvXbpY\n0GS7v79v0cDOrQaZQlGUkn+AVlWVbdt2kEjEaW7ezMjIUDaYsiwTx2HNAm6/358t7rJQYBePT3H6\n9Em2bWvNCVASiXi2RYRl2YyMDGMYxpq0U3DbUnSxdev2VS9C0tV1if7+3px9wWAIx3GoqqqhrW0v\nXV2X6OnpYnx8lKNHxzhw4Kai2buZrG0wKIGduDqUMrD7PvAXmqY9DQxM73M0TQsBHwN+UMKxCCGE\nWM8cB9ZBELRck5MTXLhwjpGRYXY88hBVPT3Ytk1lezs9Z88QuvkWqmrr8QSCOD4fdtMmlIkJnHAY\niq0/m5pC7e/DHhnC4/WheDw4iuquiVNV8HhAVbEaGiG6tGmO6tQkmcxs8ZShTJquwz+mtrY+W+Sj\nrKycffsO5AQJkUg0G9ht2bKdjo4LDA0NMjQ0SE1Nbc4zHMeht7eb3t4eJifHp6+Prck6pi1btmV/\nXk+VD30+P5DAMIoV757V1XWJyclxLlw4lxPYzUyTraysxrJMRkdHGBoapLGxsLLoanEch3PnznH0\n6DHAIZmMc9NNt63q+zyT/a2ra8AwDEZHh7O/lxUVlfj9frZv38HmzVs5d+4MfX3ddHZ2FA3skkn3\nOpmKKa4WpQzsPgEcBs4CL+BWpvzfgIabyfu1+S8VQghxLVAmxgl+/St4zp7F3rSJzKE7MA/cCOu8\nqbPjOJw+fSKbSYhMTNA8Nkaktg7DMBgbGyX28hF4+QhTikIwGCYSiUx/uJ++R9V01cZMBkwDxTDA\nspmcmmBycgJFUfB6vHh9XmLRMmzbxuv1oqpucJd6969iHji46FiV+BQZw50kEw6FmaiqzhZKmVFV\nVVOQ+YlEotk1TNXVNViWSVfXJU6ceJldu/bkBBQDA32cOXMKAI/HS21tPS0tmy/jT/bq5fe7k5jm\nBtn5bNtmaMj9LnxycoJ4fIpIxA3gZwK7aDSK3x9gdHSEwcG+kgR2juNkp0ROTAwDDj6fj0Qiwfnz\nZxgZGaa+voGtW1uz11y6dJGpqUl2777usjPXjuNkX3dr6078/gDPPfdMdg3n3MqnXq+X7dtbGRjo\nZWhokJGRYYaHB9m8eWt2+m0q5WbsZCqmuFqULLDTdf2SpmnX42bn7gbO407BvA/4rK7rPQtdL4QQ\n4iqVTBL43nfwXGhH7evL7lY7Owl+46s4Dz6AcderyLz6tUWrN64HQ0OD9Pf3oioKu7t62PL8z1Cn\nC3f4/QFq6+pJpZIk4nHSmTSJZJxEMk40EiOVThIOR5gv35aerpzoOA6GaWCYBpl0Gsu28fv87lRI\n2ybw7W9h7r/BzeItZHISI+MGdmVl5YT2H6DqFbfQ399LX18vhpEp2npgJqAAhUgkSmvrLjweDx0d\nF9D1ExhGhpqaWnp6urPBSlNTxBr02QAAIABJREFUc/Y8kWsmcDaM+VeijI2N5mT0ent72LFjFzAb\n2EUiUSoqqjh79jSjoyNkMplV78s390uMaDTEddftQVVVjh59ie7uTgAuXmxny5btKIpCJpOhvf0s\nAJs2tSxa1GQ+mUwG0zTwen34/QEURaGysiob2M2tiAru3726ugb6+no4evQlwCGRSLBv3w3E41MY\nhoHH48n5gkWIjayU7Q626rp+Efi/SvVMIYQQ61/gke/he+bwvMeVeBz/Q9/DUT0Yr35NCUe2dBMT\n4yimwY3HT9DQ2QVqbiCjoBAKhgkFw5imQTwRJx6fYio+mb0+GokVubODabof7OvqGjANg5HRYazp\nqoqZOUGBEo/jOXUS67p9C4412d+H7Th4PW62z4lGCYcjbNu2g61bW3Ecp+hUurKychRFIRotywZq\n27btwOfzc+6cTnv72eyH9xnV1bUS1M1jNmO3UGA3AriZqNHREfr7e9m+fQeqqjI1NRvY+Xw+Kiur\nGRkZYmhoYNXXDc5Mrw0GQ9x+++3MdG2orq7NZnXBDT6j0VjOmrhkMnHZgd1sMBvJZv1aWrbQ399H\nXV190Uzg5s3b6OvrZaaF8ejoMD/+8RPZ7VAovC7WvgqxEko5FbNd07SfAP8O3Kfr+ngJny2EEGKd\n8pzRl3Se9+SJdRvYpXq70b7zHSosG4J563W8HjKv/znU7m4wTbAtyk+dJJ1OYZrmgvc1gXhlFVZ1\nNXU7NDyWyeRZHdsyUWyHwMQEjmOjKG4g5nvhuUUDu/GuTrzMVqh05mQ5FEWZ90NuKBTihhtuKmgP\n0Ny8GZ/Px+nTJ3Dm9McDd5qgKG4mY7dQYDezBqyhoYl0Ok0iEWdkZJiKikrS6RSqqmanEdbV1TMy\nMsTAwOpXYM1k3C8bDh68hVgsRirlfkGxc6eGZZmMjY0BDn19vahqP729XdlrZ7Jry2HbNu3tZ+nq\ncquAzm0mHgyGeOUr75r32nA4TENDI319PVRWVjM6Opy9LhyO0NwsU4TF1aOUgd2vAe8E/h74O03T\nHgL+A/ierusLrxwWQghxdZkpjmJZqENDBYfNPXtxqqrwPf1Udp/a31dw3nrgZDLUf/2r+EeG8dXn\nlpt3KitJvf0dWLv35F6UTuP93GcxX3weIxKh6447KX/9m8DnB58Xx+sDv5+B4SFOnTpGVVUNTfsP\nADB89EVGRtwPp5H+PloOP4PX6wZ23pPHIR4vXoiF6T50o8P4FTXbU85ZRvA1X6alvr4Rvz9AX19P\nNjujqmo2KyUKzUyXNIwM4+NjWJZVUJZ/ps/aTJP29vaz9PX1ZK+dm22qqalDVU8xNjZGOp1atTYO\ntm1jmoa75tOb+zEyGHSD/76+Hk6fPkFXV0fB9TOVKJdD10/mZP3yvzBYLOO2a9dumpqaicXKyGTS\neL0+ySSLq1Ip19h9GfiypmmVwD24Qd43gXFN0+4Dvqzr+k9KNR4hhBCl53vmJ/gf+i5OJELqV96L\n4w/A9LTCGcZth0i/7R5QFHw/fQYMN6ulxOME7v8WpFI40RjGnXfhlJWvxcvIYb3wHP6RYTyqimd6\nCqZdX0/y/b+BU1tb/KJAAN/HPsnE+bOcvHge2+cjU11YsCSemCmQMZtVKyuryAZ28bp6UmXlRGc+\nLJsWvpdfwjhw0K22WVeXU110cnKCQDJJIBjMTrdcTmC3kMrKKiorq7IfwG3bliluC5gJzlKpNEeP\nvohl2dxww0EqKioBd03lTMYuFAoRCAS5cOEcw8OD2QB7bubK6/VSXV3L4GA/7e3n2L37ulUZ98ya\nQJ/PN+/7W1VVjdfrw3EcamvraWhoxOPx8sILz5JITBW9Zj7x+JS7flVVaW3dSSKRoK6ucVn3UFWV\nsun/VqxF30IhSqWUGTsAdF0fBb4AfEHTtHrcNXe/BXwIkK9PhBDiapVKuYGZaaEkkgTu/y8yr7o7\n5xRrx07S99yb3bbr6t0pjNN8T/149ucXniP5/g9ib96y6KMtywJY8W/pJycnGHvkQcqZKV+vYO3a\nRfK9H4Dgwh8glf+fvfeOjiM97zWfCl2dG2igkTNAsJnzDIeTFSx7lDySJVuyLFvX63Cvk3xky3ft\nu9fr9fGuvcd71zmsk5JlS7YleawrS5YtzWhGkzhDDtOQbBJEJnLnHKpq/yiggQYaiQRBcOZ7zuEh\n+quvqr6Op9563/f3k2UC/UHskTmy2QzFYmFFYJdMJoDKDEVjYxM3b45ZohoSxPbuw3Pm1fJ2+5f+\nEe1r/4KUy2M0NlI6cgy9vx+9u5dMOoU7m0VdIvtveqr19t06dXX18+WCdetPfhNjs1nZzFQqUR4L\nhS5z4sQDKIpCsVhEn/cXVFUriKqrqyccniubcS83fO/p6SMctoR8mpqaqasLbPm6F8ow1xIc0TQ7\np049DEjl75z1HZTIZrMYhrFhS4TR0WEAWlraaGsTZZMCwVpse2AHEAwGD2Jl7D4I7AIuYZVlCgQC\ngeANijw7AyW9/FgZHkIZHqqYYzRVqjEazS0Vgd1SpEQC15/+Ifl3vgejsQl0HbO+HimdQp6dRZqd\nQZ6bw8jnGR0dRrLZ6Ny1G7OxieKpB7ck2zcyOEDbyAiaTSt7pOXf8cS6Qd1SNE0jm81QKBQqMjBW\nr1IUkMpZHLCyNA899Bg3b45x/fpV5vp20b4ksAOQcpYqpTwzg/bNb8A3vwGajY6pSXKAbb6EznTY\nQd3aS4G9ew8yOjosepfWwel0YrNpFaqY2WyGoaEBdu0KVpRhLmTGmptbCYfnyn15y2X6XS43HR3d\njIwMEg7P3ZHAbmG96ylvKoq67LGCw+Egl8uSzWaWqKyujq7rZbuH9vb1b+AIBG92tlMVsx8rmPsh\nYC8wDfwd8LlQKHR+u9YhEAgEgruDVMWvy3b6pYrHxjKZfaOxce2DFkvYn/rKmlPS6RSuRAyA/PQU\nHrcX9crrZH7hExX2CYZhkEol8Xg2ZqRdKOTJX76EWshT19RiKUy63Rhd3evuu5TV/MwikQiGYeDz\n1VTtVVu4qE9qKnrfLpQbA+ssuFgWa1FVKzNoerc2WwdWiV5fX/+WH/eNhiRJNDQ0MjFhCYt0dHQx\nPj7K+PgYgUAj+bwlNel0Lorx1Nc3YLPZyhYIS28ELOD31zEyMkg8Hrsj614sxdy8RYDT6SKXy5LP\n56oGdoVCAUVRylm+hd5Dj8db8ToIBILqbKchUAj4r8BrwBNAeygU+mUR1AkEAsGbhGxuxZC0TEjB\nWCY+svzx5lk0NAZIJZNWGdjYGPLI8OJ4KsmLLz7H2bOnuXz5wgp1x2pMTU3iuTk+369mXYiW9u7b\ntNfeQuZjqTpioVBgYsLyAwsEqvfpWX13EolEguyRY4BJvpAjn89RLBVIpRIUCnlisQiZbBrD0Cnp\nJSRAmc/S6d29m1qrYGtpaFi8kdHe3klnZzdgEgpdLtsZLM3KybJc0V+2vBQTwOv1IUkSqVQKXV9d\ndTUWi1aY0m+Uhc/prQR2C5/1fH7lTZ5cLstLLz1XNrYHyr2ky0VlBAJBdbazFPPHgC+HQqHN69wK\nBAKB4J5HymXX3G6oCpOqQuzaFbLZLL29/fi6e0BVyiWcZm0tmZ/9BZSBARz/9AXQjTWPWSgWKekl\nFEVBVW3k8zlSqQQ+Xy3qpYsUeqzAZmxspJyJWDAbb25uXfW4pmkyNXWT9okJXM4l5ZP9uzf0Wixl\n4QK5UChgmiYzM1Ncvx6iVCoiy3LFxf9SNE3D7/cTjUYY8HlojUcpzQfKqqKS8vmY3RPEPT1Nzego\naiwKzAd1tX6K+w+Qf+Ldm16vYOuorfVTXx9AVW3Y7Q66unqZnZ0hk0mXM3nLg7eWllZu3hzF4XCW\nM69LURQFj8dLMpkgkUjg91fvdTx3zirfdTpdm/KVWyzFXHnu9VgQLqkW2CUSCQzDYG5uptyDF4lY\nirl3oqRUIHgjckcDu2Aw2ArMhEKhEvAtoCYYDK7a1BAKhTZ/60ggEAgE9wRSdvXAznTYuX7kKNdH\nBstjly9nOX78JLkf/DDat/4do66O/Ps+SFxV0fv7qf+pn8HxT19Ampsj39SMpqpIkQhmTQ1GcwtG\nQyMTeonRuRkaGhrpmJgg/61vkk6n0DQ72qXzFN79XgzTLJsqd3b2MDo6xMBACL+/blUFvWg0SjYR\nxxcO41iSUdP7dm36dVnIYqTTKV5//UK5p8jvr6e3t39FH9VSGhubiUYjjM/NYOwO0nzuNQCSNT5C\n730SQ9MoPvQo0VIJI3QZ98wMzr5+XO95X4VapuDuIEkSBw8eLT+2MnJNDA8PlrNt3iVCN2Blag8c\nOLLCT3ApPl8tyWSCq1dfZ9++gysCt6UZ6Xg8tqnAbiPiKauxsOaFMtOl5OZv/Oi6bqm32u1kMmkU\nRS0rWgoEgrW50xm7MeAUcBoYB9arbRGqmAKBQPAGpVrGrnjf/ZQOHqa4q5/B0y+AXqKnp4/Z2RlS\nqSTXr19l7/H7KB2/D4CRkUGGhm4AVqah5cM/Qjg8SzwR58iRExUiIwATF86ScDlo23sQ3lKL58wr\npGJRotEwfixvvDlVpVQq4XZ76OnpI51OEQ7PEgpd4eDBI1Ul3UdHR/FMT+Oy2wFru1Ffj7lKdmQt\nFvrnFoJLRVHZtWs3zc2t69oFBAKNDA3dwDQNHD/4w6T3HSQ8NkxkVz+GzcbevQdoaGhClmVyBw4R\ni0Xx++tFULeDWRrEqKpatY9utfLcBTo6uojFIqTTKUKhy9x336mKz9KCSixYZchLyeVyXL9+hc7O\nnnLAZxgGo6NDqKptScZu8x6FC4FdNVP2pcFePB4r99nV1dVvWEFTIHizc6cDux8Hbiz5e/2mhVsg\nGAz+OSCHQqGf2sDcPuAcEBQZQoFAINhGlmXs8u9+L8W3vA2AWCSMrlvBVVdXLw0NTZw58zLT05P4\n/XU0N7dSKOTngzoJu91SkhwcWhQMmZmZKgd2uq6TyaTLAhK1tX6w23EdPQGnXyKVThKNhsl8/Wtc\n77eybI2NzUiSxO7de3jllRiRyBxTU5PU1wcAs3whWyqVmJiYwDszU1mG2dt3Sy/L0syL319PMLgP\nxwZVNW02GydPPogkyciyzKzbw5zHyvDV1dXT1LTYj+VwOGluFgIUOx2vt6bi71vxAnQ4HBw/fpLT\np18gk0kzNTVBS0tbefuC+AqwQmRlePgG4fAc4fAcjz/+PRSLRS5fvkA0GgGkcmnocmuOjbDwHaqW\nscsu+X2IxaLl5y366wSCjXNHA7tQKPSZJQ+/DUyGQqHi8nnBYNABHLmVcwSDwd/E8sD7qw3M3Q18\nHVi9rkUgEAgEd4QVpZhLVO4Wemnq661MhMvlZteuIKHQZa5fv4rPV1su1aqpqeHIkROEw3NMTIyX\n9w2H50ilkvPCE8lyuZnL5S4HT/rBQ/iuXgYglU5ivvYqpZ4uAoGGsjy/3e6gvz/IlSuXGBgIMTh4\nHYCTJx9CVVVmZqbQdZ26fAF1iVWA0XFr8v4ej5eurh6cThdNTS2bvpBfKivvXaJy6fH4qk0X7HBs\nNhtut4d0OoXPd+vvoSzL9PTs4sqVi4yMDFVkgJdaLOTzOTKZdDkzmMksSiHMzc0wODiwZMws/307\nGbvVxFMWsIJN6/vr94vATiDYKNuZ2x5i9eDtfqzAb8MEg8GeYDD4beCngZENzP848AoQ2cx5BAKB\nQLA1SLnKu/TmfFbKMAxmZqYB5rNjFs3NrTQ2NqHrOq+9dprxceun3u32IEkSgUADhw4d5bHH3o6m\naeTzOV599SWSyQSmaQV0jY3NBIN7y8cs7T8AkozP58Pr9eGLRtnd0MT+/YcrzMsbG5sJBBrQ9RLF\nYoFiscDsrLXGyUmr2COwrJzMaL41BU9Jkujp2bWh0sv1sNsd5UzKUlNzwb1FQ0PT/Gd8HbuPdWhs\nbMLlsiwGZmamyuPLSyGvXw9hmiaGYVSoyF66dJ5MJo3b7an4btps2oazykuxgkGJYrGAYSwKH5mm\nWc7iaZqGrpfQdR2323NL5xEI3qzcafGU/wdYaDiQgF8PBoOzVaYeBeKbPPyDwCiWN94XNzD/PcBP\nADNsMogUCAQCwe2zvMfOdFgZO8twOY/L5a7oL7LKIvdSLJaIRsNl6XO3u7LnaOECeKmK4LFjJyuy\naeVzen3onV0oI8N4PT68Hh81sTjFZQHVwrlTqVQ5kzA5eROv10cyGcfrduBJV4o83741w+0jSRKN\njc3MzExTW7v5fj/BzqCrq4eOjs4VJt+bRZIkOjp6CIVeZ2RkqFxuvFCKWVdXTzKZIBoNMzU1gdvt\nKfff2e128vk8gUADe/YcYGZminDYyo77/f5bugkhSVYZdT6fp1DI45j/DSgWi+i6jqraqKtrYGrq\n5vz6hBqmQLAZ7nSP3SXgv83/bQKHgeX5dx2IAR/fzIFDodDngc8DBIPBjcx/+/zcxzZzHoFAIBBs\nDctLMU2nE13XGR0dBqClpW3FxaKq2jh06CgvvvhsOcvgdq801e7r60dVbSSTcXp7+6sGdQuUDhxE\nWeJhp166QPGhR1bM0zQ79913CtM0efHF50gk4gzN9/R1ulzIpUUBCtPjwfRsvdn3rdDfv4f+/j13\nexmC20CSpNsO6hZoampmePgGmUyacHiWQKCxXIrpdntoamqZLzu+RnOz1ZPZ3NzKnj37y7YDsOCb\naHE7Nw00zUE+nyefXwzsFm6eOBwOamtry4Hd0iyhQCBYnzvdY/dp4NMAwWBwCHhSGJILBALBm5Rl\nGbuSzcaFC6+RTMbRNG1V37iVGbmVKoGKotLbuzGrgdKBQ9i/9tXFfa9dw/lHv4+UzWA0NFI6fASj\nrR2jobFcnhkINDA9PVnOWHQolSLOOyFbJxBUQ5ZlOjq6GBgIMTIyTH19Qzmws9m0coY3HJ7l5s0x\nYNE4fakapdu9WNq7XH12M7hcLpLJONFouKy6uaDM6XS65oNGCVUVNgcCwWbZNoPyUCjUs9b2YDDo\nCYVCqbXmCAQCgeDeRcou9tgZhsHFG9eI6yXsdjuHDx9fU2XP768vB3YLvm+3itnYiNHUhDw9XR5T\nhocAkKenUS9dtAZVBaOmFimdYn+hQH7fXmI9vXg8XrzxOEvD1FvtrxMItoOWljZGRobmA6pIuRTT\nZrMtUYKNUiqV8PlqqipRKopCMLiPYrFY9ebKZtYyPT3JzZvjtLV1YrPZKnpsHQ4HBw8eQVVVYXMg\nEGySbQvsgsGgBvwC8BigsWD8Ywm4uIFD8//vKPx+F6oq7PXuFg0NO6O06c2OeB92Dvfse2GaIOng\ntGGaJlNTU+Qknbq6Gk6dOlWWUF+NQMCDJBXw+Xxb8xq88x3whS+sPy+TAAkcNpm+l1/k9WA/e/f2\nw5e+hNO5GIg69++Ge/W9uYe5Z78Pd4H9+4NcvXqVaHQKTZNwOGw0NfnnX0MvinIfV69e5ejRo9TW\nVlfjbGioXuK7mfchEPAwOTlMPB7n7NkXqK2tJZ9P4XLZ2bOnF5vNJt7X20S8fm9eti2wA/5vrD66\ni0AjkAVmgYNYgd5vbONaNkw0mrnbS3jT0tDgZXY2uf5EwR1FvA87h53wXshDg9heeRmjtc3qS9uo\ngEKxiCdp5biyuQzpfBFD1ti9+yDptE46vf7zCgTaAbbmNdh/HPuJEWzPPbvhXTymhEeXsMsuGBwk\nm11070kH2jHF92Rb2Qnfh3sJt7ueXK7IzZtTuN0ecrkiyWQBWbZeQ1X1cODACYrFzX3HbuV96Ozs\n5/r1q8TjMSYnZwCr3DkWywErPe4EG0d8L+4eOyGg3s7A7gPA/wiFQp8MBoO/BhwJhUI/GAwG24Dv\nsIXWC8Fg0Ialxhmp5pvHYrZQIBAIBBtEmpnB9Rd/CgXrZ1UZHaHwyGOgqpiKCi4nptsDmQxSJoOk\nl0DXQdeRY9H5o5ikUyl0TaOru7csnrD9T0Yi/+QPoHd24fjC50G3pNf13j7QbMgTE0iJRMUuXo+P\nw20dMDYKpVJ53Kyrw6wXXluCnY3NZkPTNAqFAsmkdeF/u2XNt4rb7eHIkROUSiVisSipVIKmpuo9\ntgKBYONsZ2DXhGUODlbW7qcAQqHQzWAw+DvAJ4DfvMVjm8seP4hlafAWoNrt2OXzBQKBQLAO2re+\nWQ7qANQzr6KeebVykiRZZZerUCqVKBQLmG4/TU0td2qpG6Z07ATprh6UGwPofbsqAjQplcT1u7+D\nlFps/5YiEeSZmcpj7OrftvUKBLeDy+WeV5e1vqM2290J7BZQVZVAoIFAoOGurkMgeKOwnYFdDKvk\nEmAA6AgGg95QKJQErgGdt3rgUCj01mWPvwNUbYxba5tAINjZZLNZ7Ha7aKi/C0hzc9iWB3HVWCOo\nA8qiDVpNTYUh+N3ErK+nVCXjZnq8FE/cj/bMovWpHAmjXA9VzNP7d9/pJQoEW4LT6SI2nz13uVxr\n2oIIBIJ7j+28Ovou8PPBYNAJXAfSwJPz206yeYNygUDwBiSdTjE3N7tifHJygpdf/i7DwzfuwqrW\np1DIMzBwjZmZKQzDuNvL2XJsp19aN2jbCAsy6+YGrQnuNmZdpV+XPDGBMjZWMSYCO8G9gtO5KFLk\n89XexZUIBII7wXbeqvlNrF66r4VCobcGg8E/Bf4iGAz+HHAM+LNtXItAINiBmKbJpUvnyWYzHD/+\nAF6v1Yicy+UIhV4HYHR0mN7enVf6NjY2wvj4CGD1sjQ2NtPV1YOm2e/yyrYA08T22pmV45KE0dAA\nsgx6CTkahZKOadcwPV4MWUay2ZAUBVO2snOJqQnmenrwv+s92/wkbg1jmey7evFC5famJkxvdQVB\ngWCnsdSmQHjECQRvPLbTx+5cMBjci6WCCfCrQAJ4CPgt4Le3ay0CgWBnks1myGYtJdpoNFwO7Bb8\nyywkSqXSjishSiYtoQ273UE+n+PmzTEymQyHDx+7yyu7fZShG0iRyOKATSXzc79oBT1LbQoMwxIV\n0TSGhwcZHr6BJElomh2Hw0F3dx+XL1+kWCzQXsUnayeyPGO3HJGtE9xLLLUVWTAHFwgEbxy29coo\nFApNABPzf5vA/7Wd5xcIBDubSCRc/jsajdDZ2T0/PrdklkkymcDvX/uCe7swTZN8PldWmTt+/H7y\n+Txnz75CNBqhUCigaRojI0Nksxm676YS5C1ie+nFisel/Qcx2jtWTpRl0DTy+Tyjo5bh98Lrk8/n\nuHjxNQzDQFVt2O2O7Vj6bWOs8zkr7RKBneDeweFwoqqW/+LtmIwLBIKdyR0N7OZtDTaKGQqFRNZO\nIHgTszSwi8ejxGJRZFkmlUqiKAqNjc1MTt4kkYhXDeymp6cIh2cIBvehKCqpVJKhoRt0dfXckbKj\nUqnIxYvniMdjANjtdjTN+uf3+4lEwoTDswQCjQwNDQAwOztNV1cvHR1dSBv1gLubpFKo51+rGCre\nd3LNXcbGRjAMg0Cgkb17D1Ao5Dl//iy5nOVjV1tbe288dwBNw/R4KpQxy0gSet+90SsoEADIsszJ\nkw8C0r3zHRQIBBvmTmfsfmsTc01EOaZA8KYhEgnjcDjLpUG5XJZoNAxIOBwOcrks584tqjD6/fXU\n1vrLgd1ydL3ElSsXAaip8VNfH+DChbMUCgVsNm3LAzvTNLl8+WI5qAPLm2mBQKCRSCTM7Ox0+Q65\noijous7g4HVmZ6c5cuQ4irL+z3A8HiOTyVBff+d7C6VUEkyz3Ddme+VlKOnl7UZ9PXpwz5rHWMiw\ndnR0oSgKTqeLzs5url27gqbZ2bVr7f13GkZDI0qVwM5ob68sRRUI7gHutsWBQCC4c9zRwC4UCglN\ncsGO4UZ0gJcnXuRAw0EONR6528t5UxKPx7h27Qp+fz3j4yNIkkRLSxtdXT2Mjg5jmiaNjc20tXUw\nMTE+33OXRddLtLS04XZbpUOxWBTTNMt3nKenp7h69VL5POHwLBMT4/N+TZDLZbb8uczOThOJhFEU\nFV23zKqXKs41NDQyMBAiEgljGJaaZEdHN16vj2vXLpNMJpibm13Xyy2fz3Phwll0XScWm6azs78i\ngNwq5NERHF/6B+TxcZAkCk+8k8JbvwfbS89XzCs+8KDlVbcKxWKRTCaNLMt4l4iKtLS0IUkytbV+\nHI57owxzAaOxEWVocMW4KMMUCAQCwU5iZ6kPCAR3CNM0+dcbXyVdTDGaGGaXfze6WeL58efw2Lw8\n1P6IKEu5w5imyWuvvQqYpNOp8tjExDhTUxNli4Curh7cbk9FY//SIM7pdJHNZkgmE/h8Nei6Tij0\nOuYSKf6Fkk673U4+nyebzW7pcymVSgwMXAOgr68fj8fL6OgwHR3d5Tk2m0ZLSxs3b44Ri1nCI7W1\nfmpr/bS0tDM8fINkMrluYDc0NICu64BEPB7nzJmX6e7upaOje+s+s4aB83OfXhRIMU20r/8rhrcG\neW6xPBZVoXT/2mWYCxlMr7emwm/QCuJbt2a924zR0Fh1XN8d3OaVCAQCgUCwOtsW2AWDwetY5Zar\nEgqFxO1PwR0hWUiSLi6WUg1Er/HyxIuEs1bJWL2znr2B/XdreW848vkchUIBj8dbDj4sb7rKn4Bg\ncD/h8CxzczPIskxf3+6q2ailAUxtrZ9sNkM0GsHnqyEWi5SDwt7efqambpLJZLDZNA4fPsErr7xA\nPp/HMIwtMzYfHr5BoZDH56uZz0RJHDhweMW8jo5upqenKJWKKIpSzmAtqH0uKGmuhq7rTE9PARLH\nj58klZojFBpgcHAAl8tDINCwJc9HuTFQqXoJYJo4vvh3FUOlQ0cwPd41j5VIWIFdTc0bR0rdaGxa\nOaiq6N09278YgUAgEAhWYTszds+zMrDzAPcDDuD3t3EtgjcZ0+mpisdfv/E1TBZNpK9Hr4nAbovQ\ndZ2zZ18hn8/hcDjZu/cANTW1TE1NVMxTFJWmpmZaWlpJp1MoirIhtUi/v47JyZuMjloqk4VCHoDu\n7j46O7tRVZXx8VH27NnVlUa/AAAgAElEQVSPy+XCbrf69XK57JaowCWTScbHxwCJ/v69q2bNpHAY\n3wvP8bDTycSevbg8XhTF8nJbCPBSqWRFNnI51nYDt9uD1+ult7eVdLrI+PgIyWRiywI79dzZDc0r\nnHoIsN7joaEB3G4PgUAjqVSSdDpFPp9nauom8MYyP64a2PX2giZ6lQQCgUCwc9hOH7uPVRsPBoM2\n4ClAdKAL7hgzmcrAbmlQBzAUG1zzAluwcWZmpsjncwBlAZSurp6yMEp7eyfj4yPU1vrLGbTN9IzV\n1weoqaklHo9VBIv19QEAWlvbaW1tL487nS5yuSzZbAaXy42u6+Tz+fJ2u91eDriqYZomIyODSJJM\nS0sb169fAUza2zvLmbflyNNTOP/o95CyOTSgd2KC3Ec/Vt6uafYlZaKZVQPOBZGYpcIvC+fMZNKr\nrnlT6DrqhfPrTjOamzF6egGYmppgfHwUgFDo8oq5dXUB6u4Rn7qNYNZXeS6dndu/EIFAIBAI1uCu\n99iFQqFiMBj8A+BTwH+/2+sRvDGZTk9XHZclGcM0yJYyTKUnafFsbw+QFI3g+OynkGdnKD70KIXv\ne2eFMIVyLYT27X/H9HjJv+s9mDvEu201crksIyOWf9mePftJp9OMjQ0zPGwJT9TU+Onp6UNR5HV7\ny1ZDUVSOHr2PTCbNzMw0s7PTOBwOPKuUCDqdTqJRa23pdIpz585QLBbK2202GwcPHl1VNTORiJfX\nv2BZoGl2urv7qs6Xp6dw/sWfIWVz5TH1/DkcfJrcB36orKLo9frI52dJJhObCuwW5m46sNN1bC98\nF+X6NUqHj1A6fh8AyvVrSJn1xWWKDz4MkoRpmty8Obb4fGUZj8eL2+3B4XDgcLhobGx6Y90kkWWM\n1lbkiSVZ58MrS28FAoFAILib3PXAbp46wLfuLIHgFlleignwQOtDpAoJLs1ZEvmjiZFtD+y0f/83\nlFEr86H9xzcx3W6Kjz4OgJRM4PjMXyPlrOyS+tpZSkeOYtTUYPrrKB47Ae6dYzCbz+c5c+Y0xWIB\nl8tNY2MzsmypIF69eolisUhjYxOKotDTc/veXy6Xm+7uXrq7e9ect1DeOTw8BAxRLFqG4ZaapU6h\nkOfixde4//6HsNlsK/bPVAl6du3ajaqu/PlUBgdwfOqvkDIrxVrU8+dwTYyT/8EPo/f04fH4mJub\nXSGgUioVSaVSmKZJPB4FKgO7BeXNbDaz8SxzJoPzc59CuWYJvqivXyJTH8Do7llRhqn37bIUII3F\nrLbp91M8cT9gBZuZTBpNs/PAAw8jSW8OP6zCo4/j+ILVc6jv3g39/TBXxdtOIBAIBIK7xHaKp/xw\nlWEF6AB+EXh2u9YieHNRMkrE84teY+3eDnb5d3Oy9RSvTp0uB3bRXGS1Q2w9uRza889ie/mlimH7\nU19BnrhJ4Yl3oZ55tRzULaCeWzSKtp15hczHf2lN6fntwjRNrl27TLFYoKamlgMHjpTLLOvrA5w4\ncYpEIr5lPWGbwVLXlMpZOo/Hy9GjJ1AUFcMwOHv2FVKpBPF4rOr6slkrsOvo6KJYLGKz2WhoWNlz\npV44h+Pzn63wfFuOPDuH80/+CLOmhg6/HzM8i9reQTaZZAyIFfPzgeRiO7LD4cRld0AuBzkbaqmE\nU5LJ53JkY7GyD+BqSLEYzk//FfLMTMW47bUz5Ns7UC9dqBgvvP0dqJcvYXvO+kk27RrZ//QTYLcD\ni1nEQKBhy8Ro7gVK950k09aOFIuh9+/GswO+dwKBQCAQLGU7M3Z/u8a2F4Cf366FCDaGaZqMjg6R\nSCQoFAoUCnlcLhcHDx69py7o8qXFkjin6uJHDnys/LjW7i//HctFt21N9v/5FLYXX6i6zfbKaWxn\nXq3ImFRDHhtDikSq9/9sI6ZpcvXq64TDc6iqjX37Dq7IfNntdhpWkYy/09TU1PLgg49SKOTRdR23\n21M2BZdlGb+/jlQqQSq1UowkmUyivvwiB57+Fo0OJ46ubnIf/JDVoZnNIiUSKOOj2F56EWXwxopz\nG62tkM8jh8MV41I8jjcaoX56Eq6FKH77P2iWJGr8daCqaJoGJmg2G/WShPqP/2jt6LThyRY5Epkj\nn8/he+qpDQnOVEMZvIESulpRMmp6POi7+tF39WP465CjEQoPPYrZsPi6pNNWCeid8NLb6RitbdDa\ndreXIRAIBAJBVbYzsKumC20CiVAoFKuyTXCXyWTSDA1VXqzm8zmmpiYqxCl2OtnSYlmcU628CK51\nLCr3xXLb9DE0jFWDuqVzNoKUiG86sNP1EtPTU6TTKXp6dlUtKdwohmFw+fJF5uZmUBSF/fsPYbfv\nPPNpTdOsYKkKC2Ik4e8+h/rM0zS/4wnU1jZu3hxl8jvfZvf//CoAqsOJPDGB6w/+3w2ds/DEOym8\n7R1QLOL47N+gXrlSsV2WFWRZLls1uF1uArKCTVGR9PmMXb6w/LDWWlSVfN7y07tV5MlJtBeeqxgr\nHToM8zdtio+9pep+Cx6Eb8bATiAQCASCncx2qmKObNe5BFvDgjhDTU0tvb39pFJJrl+/yujocNm7\n615gaWDnWB7YLcnYxfNxDNNAlu5sNlKenFh/0jKM+noKT7wL7elvId+8WR6XUuv3+IyNjRCNRtD1\nEqVSiWw2sxhMuD23HKQbhsGlS+eIRMKoqsrBg0crTMXvFbxeHw2XLtLxwvPWwLnXyPzSrzB47Qp7\nn3mmPE9VNvhzKcvkPvihRSNvTSP3v/w06mtnUC+cR7l2FWk+YFv6Harx1QAb+04trEXXNxnYyfLi\nTQPTRLl6tWJz6cjRNXc3TZNMRgR2AoFAIBDsRLazx84P/AZwCqh29WeGQqHgdq1HsD4LohFebw01\nNbX4fDWMjg6Ty2VJpZJlL66dTm5JYOeyVQZ2NsWG2+YhXUxhYpDIx6l1+JcfYktRhoeqjheeeCem\n24P29a8hpRcVD42GBrI/+wuYXh/KtVBFYCenU6ze0WX1Q924cW3V7Qv9Y7fCzMwUkUgYm03j0KFj\nq0r/73Rc0SjtLy32OuqxKIlP/SUNHg9aKlke32j5cf59P7AY1C0gSZSOnaB07ASUSiiDN5CnJrFd\nvUz2yiVadZM1gzpJwtRsYNcwDQnZcGJk0hRkGdNemYmUzOV2oWDaHRQefRw5HsP23edWbAcwa2rQ\ne6orfS6Qy+XQdR1Ns1cVmhEIBAKBQHD32M5SzL8Evh/4OvD6Vh44GAz+OSCHQqGfWmPOCSwT9KPA\nOPBboVDoc1u5jnsFwzQwTANVXvvtX7joXxBnkCQJn6+G2dkc6XTqngnsKjJ2ysoyQb/DT7poZSGi\nueiKwE5KJVFCV5FnZlBGhpByOdB10HVMnw+9vRMkCWV0BHl2ZsXxV5BbqZgIoHf1oPfvpnjkGNrT\n30K9ehm9rZ3Cu96DOS/lby6T9JeWBB7VWLAeaG5uo7m5BVVV0TQ70WiYK1cukcvl1tx/LVLz2cK1\n/Ny2FcPA9vKLSHNzGC0tmB4vUiyGlEljNjRg1NRa2SpFAU3DVG1gU3H+/d+S12zkclaInC/kcV29\ngk9RsTldqwe/NhXDV4NZU4vpcoEsUzp0mNLR42uvU1XRdwfRdwfRHn2cAFAwDEqTE1AsWnMkqSyK\nYzpdVrmtLONq8JKetczAz73yIg6HkwceeHjDL5F64dyqgV3x2IlyGeZqpOY/byJbJxAIBALBzmM7\nA7u3Az8fCoX+fCsPGgwGfxP4KeCv1pgTAL6BJeDy48A7gL8OBoOToVDoP7ZyPTuVol7kRmyAq+HL\nDESvI0sSP7T3I7R5Vy/DW7igXZBXB3C73czObqE58jaQLS5emDtsK4Umau21jCctX64KARXTRIpG\ncP3h7yElVwmgpqdRrl+/7TUaDQH0efNnnE4K73w3hXe+e8U801N5Qb3quoBweI5weBZZlunt3VXR\nY7YguJFbJcjcCIsleRuzXLB991mU0BVKBw5TOvnALZ931eM/823sX/vqLe1bW+On5C4Rj8colopI\nQK2/DlVRMQ0Dh9tD+tf/DwCkXA7D6wOnc+sUSWUZo23jJbHW+yeRz+cwDGPD2US9d5WMnE2l+Njj\na+5rGbVbNwpqa++9kluBQCAQCN7obGdglwKq16DdAsFgsAf4a2A/sF7/3k8CsVAo9Ivzj68Fg8Fj\nwC8Db+jALllI8PTIt7gWCVEyihXbzk69SrOrhVwuW/UO/EIp5tLA7pbNke8iOX0xK+VSV0rD+52L\npt/Xo9do9bbRhBfnp/+6qtLhVlN469spPvgQbEDEZEVgt0qPXTab5epVKzHe3d23QjjE6by1wK5U\nsoKfurr68udjNXPtpahnX8X+lS9Zf1++TKaxEaNnbf+5TWGaaC8+f8u7y7KCpik4HA6KqSJerw/N\nZr1mdXUBSsdPkJvvHzSr+5hvK4qiYLfbyedz5PO5iu/oWpgeL0ZDAHl2rmK8ePIUptdXzuA6HJWZ\n7Xg8xvDwDVKpBHa7g/b2zq15IgKBQCAQCLaM7Qzs/hj4ZDAYfD4UCm2Fq+uDwCjwIeCL68x9mJU+\nec8Af7IF61iVXClLPB+n0dW07UIjpmmSz+d5evRbXA5fqjpnPDnKwECIiYlx+vp309rahm4Y5NJZ\nVFWlWCwgyzL2ef8qWLyITyTixGJRamvvbD/aVpApLgYvdnVlKWZPbR/PjX0HgMHYAIOxAT481cj+\nOxzUmS4n+Sd/gNLx+9acl0ol0TQ7mqZVKcVc+VUqFAqcP3+GYrGA319HR0fXijk2m4YsyxSLRUql\n0oaUMUulIufOnSGVShIM7iOXyyJJ0kq5fdNEnplGSiUx6gOgKDg+X1n1rF66SGGjgV2hgOOfvoh6\n/jX0Xf1kP/JjsMy7TZ6eQorcpg+hJGH7yI/hGR/HkYhjzs4gpZLoXT3kvv/9t3fsO4DT6SSfz5HN\nZjcc2AHo3b3Is7Pkcjk0ux1Zkim85W3oeokzZ17CMAyOHDmB1+sjk0kzMBAiErHsGhRFJRjcV7aL\nEAgEAoFAsHPY7sDux4DxYDAYApanfMxQKPS2jR4sFAp9Hvg8QDC4ruZKO3B22dgE4AoGg3WhUGjV\nK8KSUUSWlE0pJUZzEV6ZeJkLM+comSX21u/nvf3v27bgLp1OcenSebLZDDfk6zCvcVDnqGdP/T5O\nT75EySgSz8f5x6kvMpudxnwZ6uvqMQyDeCxGl72LQ+4juJ2einUvXEAWCgXOnXuVQ4eOUVdXTzKZ\n5ELoNXLeLH3Nu+nyde8Y1cwK8ZQqGbtWTxstnlYmU4tqlXG5usx87od+GKOpycquFYsoI8NWOaTD\njunxonf3YDo35itmuj3rZulmZqa4fPkiXq+PY8fur5KxqyzF1HWdy5cvkstl8Xp97N9/uOr7sBCQ\nZTJpcrksnoUePtNkaGgAt9tDU1NLxXEvXTpf7rGamLAEXJxOV0UZoDw1if2Lf4cyOrrm81JGV0my\nmybyyDByMkEpuBcplcTxt59FGRm29rt6FftTXyb/4R9Z3McwcHzmb1YcSu/bhVlbiynLyDMzSIaO\nKUlIug7FIlKpBIUClIrgcpN/x/dRuu8kMlDO8ZrmjjCAr4bD4QKiZDJp0ukU9fWBDWVPSwcOUXr2\nGaKxCB63B+c7nsCs9TM3PUlxvsfvwoXXuP/+UwwOXicSCaMoCu3tnbS3dwnRFIFAIBAIdijbLZ4S\nBC4BiW08L4CLJddq8+Tn/1/TdKu1ubpH2MzMyqcwlZrkUG/1ILP1fBv3tZxcMd7YWF2A5Pmrr5It\nZciWsvT7g9TNlwuuNn96Ol6+gB8YCJX74377A79Vdf4nnvokhmEwk50qj0VjEf7upz9fdf7vPf3H\nGKaOTbYxk57CLtuRkPjBPT9Qdf4ff+f/4327P4BNqbwIXG391V7PrZz/iac+Cay0O1ht/s8Pj1Is\nfAPbyy+BaWK6XGR/7uMEDu6+K+v/h3/4kiVYsyyw8/zub8Pv/vaK+f/8z1/lwIEjKzJx660nkYgz\nOjoMWEHbrl0dq64HlpVhmiaBQ9U//5mP/qfKgfnP6mrrWTF/HtfnPgWf+xR8/GfWnJ9//wcoPvTI\nXfu8bcf8hd7GoaEBdF1nYmKc97zniXWPr+8/QOLQIYwXnqf5qa/AU1+Bn63UnfqHf/gSN25cL5fb\nHj58HJ+v5p56fcR8MV/MF/PFfDF/O+ebVVSpt5vtDOzeDXwiFAr9/jaec4EsYF82tvD4lprFFHeR\ncCZMk6cJn8PHcHSYLw58dtX5z089zdnwS7R6W2mvaafZ00yysLrwxddGvlz++8Xp71DjqGF3oHpQ\nAXD69LM4HA6cTifZbBKnUyt7lVXD4bCRz+dRFBlN0yzD42x+1fmzhSXZLHecWGxtM++J3AinI8/y\n5L4n15y3QEPD5lQVNzvf4bACzPamBhp86+/b3dUBP/OT8OEPwNgY9PTgWkP58XbXPz4+zs0lNgbL\ncThsJBKztPX3ozltGIaBvsb7+/jjj1BTs/FmsIX1JJOz5ddqfHz1UtSFOW1tjYvPZXh41flO57Is\nTyGNZ43XbMX8daiYL8s4HzsF/jv3fu2E+TU1u5meHqNUKmGzyZhmcc35CxiGwc33vJOxwwfgG/9a\ndb7LZScWmwWs97qrq3nNct2d+Ppsx/yN7rdT1/9GmL+RfXfy+t8o89c6xr2wfjFfzL9T87cbabui\ny2AwOAl89E6oUAaDwaeB66vZHQSDwa8BE6FQ6CeXjP0o8EehUGjNq99f+pdfKb9A39//fs5Ovcp0\nZoqCbpXqORQHHz3447x083kuzp4v79dT28fx5vt4buwZptNTKw98i7x715McaDhYfmyaJi+88CzF\nYmXpYFdXD1Ozk/z92N9SVxfA5XDxyQd+DUmSmE5P8akLf0k6nSKdSPG2znfwvUfexWuvvUI6nWLG\nPsOINIJuru6QZpomU1MT5bsTNtWGbhgYhk5DQ1O5XOtHD/44rZ62W3quDQ1eZmfXlvPfCH9y5g9I\nFqw7LP/l6M9T49hZin4TE+Ncu3YFsEQx9u07RH19gFDoMpOTN2loaGJ2dro8/9jnPoOcy2HMv/YX\nPvpjlJxObDaNnp6+DZvHT07eJBS6TCDQyIEDhwF4/fULFecKBBpJpaIUCjqHDh2jttbPc889XTbG\nPnXqEex2K+mtffUptGe+XXEO0+u11EXzOSguMdNWZFK/8z8W5fWLRTz/7VdAXz1YXU7x/pPYzr4K\npcrPaf7J91N85LENH+deYvl3YmhogJGRITweb9l+4vjx+6takRSLRa5fv8rs7Aymab3Omqbx4IOP\ncfPmKNevh6ivD3Dw4FHOnz9LNGr11dlsNh566PE7/+TuMbbq90lw64j3YGcg3oedhXg/7h4NDd67\n3ruxnRm7Pwd+ORgMvhAKhW7dFfnW+C7wsWVjbwXWldFTsypFRwlJgqeuf3nF9pye46lrXyaWX2zT\n++CeD9Pn3wVAh6+Tr9/4KqHwVUxWD6Kb3S3YFTuSJCFJMhISg7EBwGrzyedzSJLEs6NPs6d+L6VC\nEUmSMAyTYrGAzaZx7Nj9ZLMZSqUSgUADkYx1YRaJzIE7UL7Yb3I388P7f5RL185jk1X2NO1HVVUO\nHjzKzZujnGx9GEVTmEpNktfzKJKMIqsokkK6mCaai5ApZRgpDpJOp6i113Ly0MPEJiKkIgkG7UPM\nGpaf22Ry4pYDu61iPbuDu0EsFkXXS9TVBcoS8j5fDYlEnEuXztHfv4dEIg5YPnEul4tIJEImkyKv\nadizi32DnbV12Ht3UVdXv6n+pwXhm3g8immaSJJUPmdNjZ94PMrc3AxOp8a+fYfK8+vr65mZmaam\nxl8O6jBN1IvnK46f+5EfrfB0c//3X0WaL+1DN5CSCcx5pUl5bLR6UCdJ6N09lPbtRxm6gXr5cnmT\n7fTLFVNNu0b2Zz++KduAe52url4cDieBQAOjo8OMjY0QCl3m2LH7K3of5+ZmuXbtMoVC5Q2gQqGI\nYRhMTVk3nxobrb5Kt9tTDuxWiOMIBAKBQCDYkWxnYNcInAImg8HgZWD57QQzFAp971acKBgM2oA6\nIBIKhYpYtgifDAaDfwb8AfA9WGqa655Py9pIy+kKZUiwerXypTwmBjOZxYycR/PSW7voFWVX7Dy5\n+wPkSlkyxSzT6UkmUjeZSU/jUJ101nTRW9uH31HHcsLZMH957k8p5HNWcIYVpP1j6u9pMVuw2zV6\neqwA0uerwel0lmXsAWyuxTUbeZ14PEbN/IV0p6+LGaZIyYmycIbD4aCvb7Hcs7NmpZriUqK+CGNj\nI/T19eN2exjLjXAjmsRrepnFCuziBStQWMjsSZLEUGyQUOQKMjKqYsMmW/96antpcjevec7NUjKK\nlEwrUyQho8naOnvceaxM2RXApL29k3w+h93u4OjR+xgevsHIyFA5gydJMh6Pl5qaWnp6rNdRe+0c\n6uANcrkcuVyWnpER9CPHYZOiFg6HE7vdQT6fY3p6klzOks5XFJXu7l7Onz8DQF9fH4FAQ3m/vr4g\nLpeHtrbF/jtpbg45HF48uKpQ2ru/4nym378Y2AFSNFoO7JThSicUo6OD/Pe9C72jE+Z7yUrxE6i/\n+b+v+nzyH/zQmyqoA5BlmZYW68ZJd3cfs7MzpFJJRkeH6O62fodGR4cZHLS8Fhfe70VM4vEYyWQc\nRVHK7/NS+xMR2AkEAoFAcG+wnYHdPiqVKbdSWm15KuxB4NvAW4BnQ6HQTDAY/D7gD+fXMIJVFvqd\n9Q5cbwswW5qrCOyON9/H27u/lxdvPs+zY09XzO/3765aBudQnThUJ3XOOvYG9q/YXvXcznp2+Xfz\n2uirgHURZxgGr0VepaH2+yBvMjExDlC19Mrhc+D1+sjn89hNOyMjQxw6dBSwyrJSqSSyLOPz3Zox\nl99fh9+/GJAuHEcuSOV3N5GPky6k+OKVvyOSi3Cs6TivTJ7GZGV25pnRb/Fox+Psqd9fFou5XYZi\niwGDR/PcNaXOhYzY5OREOagDGB+31CMbGy1LjJ6eXdjtDq5fv4ppmng8HhRFKR9HkiTk5haUkRHc\nbo91Af7KaYzhQTIf/2XLNHuDSJJEba2f6enJsucdWO9rba2/HPD39/cTjS6xjLDb6e6utCpY7ven\n9/bBMi80o9aPvKSP0PVHv4/R0gLFAnKishm5eN9J9D17K8bMmlqM9nbk8fEVz6V4/8mK7OCbEUVR\nCAb3cf78GYaHBzEMk97eXeXfiN7efgKBRk6frixUGBuzFEoDgcbyZ22p6fxyTzuBQCAQCAQ7k20L\n7EKh0Fvu4LHfuuzxdwBl2dhp4IHNHjugBjBLlUHI7ro9SJLE/a0nOT9zlnjeykqpksrx5rU9yTbL\ne/vfhyfpRldKXFIvoas6hUKBSXmKDrO9XDpXLTjL6Tm8Xh9ut4E9phGJzJFIxPH5aohGI4CJz+ev\nCBxuB4/HawVOeTAUA1mWSeTjPD3yH8xkrL6t05MvrXmMZ8ee4dmxZ3DbPHjdTlKZHIZhIEkSTtVJ\nIhtnOjxFQ10jTrsLWZJRJGv9NsWGJmvIkowsW2PhzKIR80YD6q0mk0lz9uwrOByO+T4ok97efgqF\nPOPjY0gSFdYCra3t5eBuIRuzFGNJ9mwBeXYO2+mXKD62ua9ZU1MLMzPTOJ0OamutQL2uzirbPX7c\nUnHdiMedMjhQ8Vjv27Vijulf6XkoT05WPZ7e3VN1vBTci7YssDOamsg/WV2d9c2G319HMLiPa9eu\nMDo6TGtrG7lcFlmWq/oZAuVqgKWfwaWBXbncViAQCAQCwY5GuMyug122c9RznOtcA6zMW7vXKkFT\nZRvv6HknXwp9EYfi5MngDxBwLV50JxJxpqYm6O3t39DFcTU0RaPO9JNRMjzS+TjPTj2Nw+FgIHON\nwdR1Tnkf4mr+KiNjozzII/TXLZZSZuZ7y2RZpiXQBlkYGRni4MEj5f6ZpRm320VRFEvEIZaiUChg\ntzuYSU8zkVqp9qhICidbH0RTNIpGkTNTr1T4zaWLKfRcnlyhWDFm+aeZTIUnK8oD10NC3vKge6OM\njo5QKhVJpazn0tvbT2dnNwDt7V3oeqmi9A2gvj5Aff3DVY9nNlR/3vZ/+WeUwRvIkTB6axv5976v\nXMa4HCkSRr55k7pd/Tz66FtX9brbKGq1jN0yjPrAho5l+nwYLa1Vt+l79sC3/n3JiRVyH/0Y2JeL\n3r55aWlpY2pqgng8VvYbdLnca76fmqZV/BYsNSDfqhs/AoFAIBAI7izbFtgFg8EiK0smKwiFQne/\nAaoKHWo7vZ27uBx+nZOtp1DkxQudPv8ufvG+TyIhVXi2FQp5Ll48R7FYwOPx0tq6+d6fTCbD0NDA\nvJeUxH0dJ7kYO080F0HT7EyXJjmTfpWUPUUmk+FLoS9yf+spHmp/hJuJMYbjg4vPoakLc7REODxL\nMpmYz9hBXV11n75bxeerIZ6IEY2EsWka9fUNVf2dv3/3+9ldt6f8uKeml/8Y/jcS+QSZUnUHCsu+\nwVzyd+U2CQlJrn7xerjpCDX2Wys5vR0KhQIzM1ZWyu+vo6GhqeKzcCtlbmsFSOqliwDIExMoY6Nk\n/8vPYS4t0zUMtK/9C9p3npn353OS+6GPoB84WP2AG0CankaKLIoHoSroVbJDxeP3of37N5Ay2RXb\nFjD9fnLv/+CiWuYy9J4+9D17UK5eBVkm98EPrRoEvpmpqamdD+ys7ObyGwfLaW5eqaS6a1eQubkZ\nGhub7tg6BQKBQCAQbB3bmbH7P1kZ2HmAh4E+4L9u41o2gUQ2m+VE4ymONi/28JimSTQaxu32rhBW\nMU2TK1deL1sQpFKbl501TZOrVy+VSy3tdg2bauMdPU/wxSufR1EV7JqdOWOWevdiBuf0xIucnnhx\nxfF8Lh/uVjfj4yNcu3aFXC6LzWYr91FtFT5fDbIk45CdZAsZ0ukUnmWm2vXOAP3+SiPrdl8HHzv0\nEwAkCwmyxSytTdEOf6EAACAASURBVPVEIxlkSaFklBidGGY0N2SVW6oyJ46ewkAnm8tx7txp7C4X\n/cEguqljmIuBn12x0+q9O8qc4fAchmFQVxco9zfeLhvNfMnT09i//E/kPvKjMJ8x1r75DbRnFvtC\npUwW52f+hszHP4HRXt2MfD1spys/b3pPb3UhF7eb9K/+OrYL55BSSYxAA0ZDI6ZmB82GadOsHsG1\nMoWSRPYn/jPy8BCmrwazfmtvTLxR8PksUZpSycoSLw3surv7GB6+Ue7ZBUt5dTnt7Z1VxwUCgUAg\nEOxMtrPH7jdW2xYMBj8LnAA+tV3r2Sh2u518Pkcul8PlcgGg6zqh0GVmZqbw++s5fPhYxT7j46Pz\npY4SYJJOpzZ93unpyXJQB4vKdD21vXxvzzv5t6F/pa7eCug2UjHnUl10dHQxMTFGMmkJVdTW1m25\nmIjfX4/d7sCjesgWMiQSMXS9xOP9b8VhczKZmuDt3d+75nm9mg+v5sPv9FLSrI+oaZpkZ9O4lfnS\nQh0ckgO73U5iehAXbshY9hJ3SyClGum0FdQvqJFuCZsoO1QvnMdz4ZcwGgJIhSJSPL5ykmGgXnmd\nwq0EdqUStldOVwwV7zu5+nyXi+IDD27+PEuRJIye3vXnvYlZ/nlbenOlq6uHurp6VFXl7NlX6Ojo\nQtN2ZLGEQCAQCASCTVC93mn7+TSW/cCOY0FEIB6PMjU1QSaT5vz5M8zMWBYHsViUdDpV9odKJpMM\nDVlCErt3W6WG6XSKzRrBT09bx+/o6Ka+vqFsawCUSwolqTKo66npRaJ6UOOyubHb7bS0LJYBbmV/\n3QKapvHAAw9zKHh0XtBFopAp4Jh2cNh3lA/t+5GKPsSlmKbJyMhQ+bkvZWpqkkwmjcPhxOu1nn86\nnULXS8zOzpTnZbOrl/ndDRZMo5dnLW8Xc/4mw1KKDz9C/v0fqDpfnp2rHtTNIy21KtgE6usXkdKL\npbOmy0np0JFbOpZg67DZbDQ3W1lqRVErVHMlScLnq8HlcvPQQ4/R1VVdqEYgEAgEAsG9xU4RT9nF\nzllLBTU1fiKRMKHQ5Ypxu92BLMtksxleeeVFPB4vR4/ex5UrFzEMg9bWdlpa2hgaukGxWCCfz23Y\nD6pUKhGLRQGJzs4ubLbKu+lO28qLeoBHOh/nUd7CUOwGwfq9PD/+HJfnLuG2eWhyW30ynZ1dTE6O\nYxgGfv+dKWOTJIkWTysejxe75qDX7MUsGFy4cJaTJx9aVWUvm82Ug+JSqUBDg6ViaZom4+OWJHt3\ndy+JRJxkMs7rr59H1/UVx3BVCXruBqZpljN2bvfWlrwW3vY92L/6lHUeu0bm134dc76s1nS7cXzu\nM5s6njw7e0vrsL1cWYZZOnZi0356gjvDnj376J0XsVn+G7LATspuCwQCgUAguD22Uzzl16oMK0AH\n8BHgq9u1ls3g99cxVOmdjNdbw8GDhxkfH2N01NqYSiW5cuUimUwal8tNX5/lZ+d2e4jFIqTTqQ0H\ndtFoBNM0qKmprXpB5lKrBy5+ex1Om5MWjyUm8Z5dT3K06Tj1zgCqbF1s2+0ODhw4QqlUrDAz32qO\nNR/HNA00xc6hhiNcuHCWeDxGIhGnoaF6YJdZYl5948Z19u61spTJZIJ0OoXNptHY2IyiKExMjKPr\nOrIs43A4yWazmKZBNpupeuytRtdLXL16GU3T6O/fU3VOoZCnWCyiqrYVfZi3S/HRx0FVkacmKd7/\nQDmoAygdOoLe8xzK0OCq+5t1dRWCJ3J4btW5qyFFwijXrlWu6+SpTR9HcOfQNKEWKhAIBALBm4Xt\nzJL91irjCeArwCe2cS0bZmkJk6ra2L//ED5fDYqiUFdXXw7sAObmZpEkib17D5Ylwj0eL7FYhEQi\nTn39+vL8uq6Xs1N1ddVFMqpl7OyKHYdaGTBJkkSHb6X4wVYrYVZDlW2cbFvspfL5LJW+VCpFQ0N1\nlb1cbrGM0jAMBgYGyOUMpqYmAGhubkGWZQKBRu6//0FkWcFutyNJEuPjowwMhMhkqitq3g6maZJI\nxLDZNFwuN4Zh8PrrF8v+Xz09fajqyizV0jLMLc+MyDLFhx9ddVv2J/8zaugKptuN3tKGnExANouU\nzWLa7Rht7Xj+t/8V5sUzpGQS8vlN9e/ZXn4JlpQY652dGK13R6RGIBAIBAKB4M3Odoqn7JR+vk0h\nSRJ1dQEikTm6unoq+tJqamrp69tNODw7XzppBWNe72L2pK6ujvHxEcLhuYo+uWpYapqXiMdj8/1w\n1WXcNUVDlVRKZmlxLXb/ji6rWlDfXChNXMA0TTKZNJlMpiwW4/fXEY1GGBwcJJezVP00TaOtzRL3\nkCQJl6vSn83ptILdO5Gxm5mZ4sqVS4DV81go5MtBnfWc0lXFURKJGAAej2/FtjuO3V7R62ZUKU/9\n/9m77zi5qvKP459N731DCAmEQHgoIYQEkFAUEJAqRbqAgIWOqIA0RQERAflRFRWkF2nSizSl994e\nkRpCEkIK6dkku78/njObu5Pdze5md2dm832/Xnlt5s4tZ+bOzLnPPec8p7JvX9plxta1mzY1pg6o\nqKDjqy/HOn36woROdJg4lbIFCyibM5v2//sf7SZPomx2zaRAi9RaJyIiIlIwrdkVs527V+YtG+7u\ndfcXKxJrr70eM2ZMp7x8YI3lZWVlDB26WmqVewWAlVYaVGOdPn360b59B2bPnsX8+fPq7I5ZVVXF\nf//7Hl999SUdOnRk1Kgx9Xaj6tqxG7MqZlY/7tulb1NfXqvIJQ+ZPXs2s2fPYuLECcyaNZPZs2ct\nNSfdyisPobKyClhInz7l9O8/gL59+9c7yXsu0Mt252wuUzPdFMeP/wSISZu7d+/BzJlf89prL9G9\new/GjNmkxmTO01JXx5ZIUtMcqvr3h2xg99UUqrp3p+sVl9Nu8uQlK3btSJd5C2vZQ2ZfnTuxcPSY\netcRERERkZbT4oGdma0B/Bl4DPhDZnlPwM3sOeAgd/+0pcvSVJ06dap3kt5evXpRVlZGVVXVUt0t\n27VrR79+/ZkyZTJTp05hlVVqdo2sqqpi/PhPqzNutmvXjvXX32CZEwp3ywvsyrsNrGftwuvWrTtl\nZWXMnz+Pl19+vsZzXbp0rdENs2vXbmy44UaUl/dkypSGzQHYpUsXysrasWDBfBYvXkT79s3z0a6q\nquLrr3Otsf2ZNm0qZWVlrLfeKObMmVPdyjhnzmxmz55J794RYFdUVDBr1kzatWtHnz7FGXRXDiiv\nMUau8803ULagokn7WjR6DDRhsnURERERaR4t2j3SzAYDTwKjgQm1rHIWYMCzZlZ35FTk2rfvwMYb\nj+Mb39i8RotNzoABEex99VXNBBVVVVW4v8tHH32QxoaVse66o6qDg/rkJ1AZ1GPlpr+AVlBWVlaj\nS+LgwUPYYIOxbL75Vmy66RY1nuvatfEBQllZWXUymLlzm2/Kg3nz5rFgwQI6duzEuuuOYujQ1Rg5\ncjT9+g1YKviek0n7H101q+jdu2+tn4liUDmo5memqUFd5eDBVOy0S3MUSURERESaqKVb7E4BFgAb\nu/sX2SfcfRZwppldAzwPnAz8rIXL02Lyx3xl9es3gLKyMmbMmMbChQvpmNLBT548kUmTvqB9+/as\nueba9OnTt8GZKrt0qLneoO6D6lizeIwYYUydOoWBAwctFRT16NGD2bOjBbK2RCQN0a1bN+bOncO8\neXNqjHNcHlOnxjQAvXv3oUOHDqyxxlrVz/XoUfMYucBu8eLFfPJJ9DDO775bTBaOHkPHZ56q2e0y\nT+XgwTB0ZRYthKrOnanq0pWqbt2oXHU1qjp0oKp7D6oGDKg5oaKIiIiItLqWDux2AP6QH9Rluftn\nZnYB8BNKOLCrT8eOHenduw8zZkxn4sQJDB26GgsXVvDhh9ENbsSItRk0qPZEKXWZv3h+jcc9OjXv\nPGktoVev3mnS8qUNHDiISZO+WK5pAbp27Q5MafA4u6qqKiZOnEC3bt1r7S45efJEPvzwA6D2AK1T\np0707h3ZPgHmzo1kIuPHf8L8+fPo3r1Ho89rq+renbnHn0Cnfz9Gpyceg4ol4+gqB/Rn7s9Ogi5d\n6F7ek/kN7BIrIiIiIoXR0oHdKsB7DVjvNWI+uzarvHwgM2ZM56OPPmD8+E/p1KkTCxcupG/f/qy0\nUuO7UVZWLl72SiWkX7/+jBq1YQrOmiY3MXlDM2N++ulHfPLJR3Tq1Ilx475ZI6voxIkTcH8PqGLY\nsOEMHFh7i+jo0Rsxf/48XnjhGebMmc3cuXP57LNPAFhrrbVp167Ik8F26kTF9juycJNN6fTg/XR8\n4zUq+/Rl/iE/1Jg5ERERkRLS0oHdV0BDopb+wPQWLktBDR48lMWLFzNp0kTmzp3DwoUVtG/fHrN1\nmjRNwaarbM6nMz8BYLvVd2jm0hZGXfP2NVRuyoO6WuxmzZrJ22+/zvDha1FZWVndXbKiooKKigV0\n7hyBzIQJ4/ngg/cBGD58TVZddfU6j1lWVkaXLl1p3749FRUVvPvum1RWVjJo0OAGjZUsFlV9+rJg\n/wNZsO8BUOzBqIiIiIgspaUDu6eAg4F/LGO9g4E3W7gsBVVWVsaqq67O0KHDmD17NlOnTqFXr951\nTn+wLMN6r85uI/ZkweIKRg3coJlLW5py4xznzZtDVVXVUgHzF198zoIFC3jvvbeqn+vQoSOLFi1k\n+vRp9O9fzpQpk6uDujXXNIYMWXqC93xlZWX06tWb6dOnMXv2LDp06Mjw4SOa+dW1EgV1IiIiIiWp\npQO7S4CnzewPwK/cvUbaPTPrBJwJ7Ax8t6kHMbMrgHbu/pN61tkIuAjYEPgcONvdr2/qMZuqrKyM\nnj17Lndyj7KyMtYZsF4zlapt6NixI+3bd2DRokUsXLiQTp061Xg+G+hVVVUxdOhqAIwf/ynvv/8O\nnTt3pqwsApuGBnU5I0asw+uvv0xFxQKGD19zqWOLiIiIiLSkFg3s3P0FMzsB+CPwAzN7DPgUaA+s\nBmwNDADOdPf7m3IMMzuTSLxyZT3rDAAeAm4ADgO2B64ys4nu/mhTjivFJzflQW4y+FxwNXnyRD74\n4P0ac9uVl6/E8OEj+PLLSdXLFixYUP3/lVdepVHH7tatG2PHfoM5c2bRt2//5XwlIiIiIiKN0+IT\nlLv7xWb2MnAisAeQy8gwC3gYuNDdn69r+7qY2erAVcB6RLBYnx8DM9z9+PT4v2Y2BjgBUGDXhnTt\n2o3Zs2cxb97c6gyc7733NgCLFi0CYOTIDejfvzy1nvZaah+dO3dp0txznTt3Xq6sniIiIiIiTdXi\ngR2Auz8DPAPVrWeL3H3Gcu52M+AzYD+WPYZvC2Ki9Kx/A5cvZxmkyOTGLM6bF5OUV1ZWLrVO9+49\nq7tldu3ajX79+jNt2tTq5xs6l6CIiIiISLFolcAuy92/aqb93AjcCGBmy1p9CPBq3rIvgG5m1s/d\npzVHmaTwckHZ/PkR2M2aNXOpdbLj38rKyhg1akyNTJi57JoiIiIiIqViRUmB1w2Yn7csN6BKk3W1\nIbmgbN68eVRVVTF1as37CB06dKy1m2Uuo2Z2HyIiIiIipaLVW+wKZB6QP/gp93hOK5dFWlCuxW7u\n3Nm88carzJhRszG2rrFz2WBOgZ2IiIiIlJoVJbAbz9ITpQ8GZrv71/Vt2LdvNzp0aHwiDWke5eWN\nmxaiqqoHXbt2oqqqivnzZ9GzZzdGjBjBu+++C0Dnzh1q3WdVVQ+6d+/C4sWLGTKknF69lm86iram\nsedBWo7ORfHQuSg8nYPioPNQXHQ+VlwrSmD3NHBI3rJtSAld6jN9+tyWKI80QHl5T6ZMmdXo7bp0\n6cHXX89gyJBVGTp0GB07dmT+/DcAWLiwqs59lpevwty5c5g/HxYsaPxx26qmngdpfjoXxUPnovB0\nDoqDzkNx0fkonGIIqNtkYGdmHYF+wDR3X0hMi3Cimf0ZuBjYjsim+Z3ClVJayvrrb0hVVVWNbpcd\nO3Zi4cIKOneue+LwYcOGt0bxRERERESaXVtJnlKV93gzIuvlOAB3/xLYAdiQyI55FHCQu/+nNQsp\nraNdu3ZLjaUbNWpDevfuwzrrrF+gUomIiIiItJw20WLn7tvkPf4P0D5v2YvApq1ZLikePXv2YsMN\nNy50MUREREREWkRbabETERERERFZYSmwExERERERKXEK7EREREREREqcAjsREREREZESp8BORERE\nRESkxCmwExERERERKXEK7EREREREREqcAjsREREREZESp8BORERERESkxCmwExERERERKXEK7ERE\nREREREqcAjsREREREZESp8BORERERESkxCmwExERERERKXEK7EREREREREqcAjsREREREZESp8BO\nRERERESkxCmwExERERERKXEdCl2ApjKzdsDvgB8APYGHgKPd/cs61t8BOAtYG/gI+L2739JKxRUR\nEREREWkxpdxi91vgIOBAYEtgCHB7bSua2ebA/cCTwFjgXOAvZvb91imqiIiIiIhIyynJFjsz6wgc\nBxzj7o+nZfsBH5vZpu7+fN4mJwDPuPsv0uP/mtnqwJnAja1VbhERERERkZZQqi12o4EewH9yC9z9\nU+ATovUu3wjgqbxlrwHDzGxIC5VRRERERESkVZRqYJcLxibkLf8CGFrL+rUtXz39HdiM5RIRERER\nEWl1JdkVE+gGVLr74rzlC4Autax/PXClmd0L3AmMAnLdMju1WClFRERERERaQam22M0D2qXMmFmd\ngTn5K7v79cR4uquJ4O924IL09NctWE4REREREZEWV6otduPT35Wp2R1zMEt3zwTA3X9nZr8HBrr7\nJDPbFVgMfFrfgcrLe5Y1Q3mlicrLexa6CILOQzHRuSgeOheFp3NQHHQeiovOx4qrVAO7N4DZwLeA\nmwDMbBgwjJjSoAYzOxpY091/BkxKi/cAnnX3ua1QXhERERERkRZTkoGdu1eY2Z+AC8xsKjAFuBx4\nwt1fTNMh9AOmuftC4H3gQjN7GXgaOCD927Ywr0BERERERKT5lOoYO4DTiTnorgceAz4G9k7PbUZk\nwhwH4O6PAUcCvwHeAXYDdnH3p1u3yCIiIiIiIs2vrKqqqtBlEBERERERkeVQyi12IiIiIiIiggI7\nKRAzK8v+FRERERGRplNgJ63OzM4B/gbg7uoLXEBmNjj9VYBdYGa2SqHLIJCSb0kBmdnQQpdBalId\nIVIaNMZOWo2Z7QNcCkwHjnL3xwtcpBWWme0C/BG4GfitAuzCMbOuwJXAN4mkTm8UuEgrJDPrAvwB\n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\nD+Lv8OnKAN4xD+N3Dz6Jz73lmb3358Pf77m87/7vx/b3jgHHH7jy93X7pt09SMFC7s9i3T7bfHPW\n7ZUiUKU0KzXT9o3ODKTRfPH1vf/+vuCy61DoNJMeDd9e4IuvP7fn9i+87DuZG2UtczlerRx2FtdQ\nMA0+94Zn9d3eMkEcDLaC58Xwesn2sv1M2z/lXdf2XHcw5dnH7hrgGtd1R4HnEQV5XwX2uK77ZeAa\nz/N+mld9+6hG91QMyeP96tV7z5Y/YIyh4BRAgWM7PbNY6Q74E5RLZZSlSO9RzXD3Z8/ELhrNBmEQ\nsoWNBD3ubGV97a7ZWqO22717O74/93i7Uo3+8Git8X2fqR4djLM2bLmH+7au56d3/xilFJZl4Tj9\n32633v9TbNtmenoaHWpsx8a2+98N/epvvhCVFzcN9H2fQqH/aEflcrSu5JQYrYxStIoMlfrfxW3u\nuIdKpcCeepN604+zJv3ZJkyzJ0nGpV//FoCynu67rpeCae5TE7Kj71/f9ni2u42XfPOjTA4OEdgF\nin6Dam0aOwy4ss/2F3/t36L+J7qVIemcOygruRBJ+kwpNIT9z2jDGSbTQDTWf3vfrrTuqqIyWZb+\n+5PNjEV3tfu/Xlo58Sh4ScbNapuLqFMzzRiYNLM10/kxKtvfZPbbwoFVxtGNqKnTHKbW3ff3m9/1\nfpsY7P95ufacFwCkIwlqLAKrAn0Cu8+e//qugSpmOurou8BGE71us+VJZvru6OVrT39p7xV9Artm\nscqf1hzHPUedwJaxNW39EXvuzyzrZfv9334uz13M+3/wtu9fRvL5MhTSb5OZPkHKLnatn2kfe63T\n9M8SR9sX55wgOzTOv2x/uG5/sKkDOUSt67orifrc/S3RdATzG36nfz03AHf1m+7Add1vA5s8z3tZ\nZtlFwL96njcyU9kv+uSLTajn1qQooVDYysaJ72jVdb21RhEPkx31lZnr+bdtpysw8v0mWhsKjkOx\nVG67QZ1c2DQbTQyGYWuYQlhARVde7Ax20qBBtVJluDqC0Saa1FhHQVVTN+KBM4rYnfU2mzT9JsZE\nAVWS7VNK4Td86o0a/cfFmzvbtgjD/hfbvSkqlQqDg0Np0BcEAUEQcOTQkZxaPo2CXUTrkGazSbPZ\npFAusN5fz5bmZnzTpBSUeLR5EI/48jdgcpJmoFtD8MdNLYG2po9J85Dksr+zX0BbQ7W087RCW4p6\n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\nKafATkREREREJOUU2ImIiIiIiKScAjsREREREZGUU2AnIiIiIiKScgrsREREREREUk6BnYiIiIiI\nSMopsBMREREREUk5BXYiIiIiIiIpp8BOREREREQk5RTYiYiIiIiIpJwCOxERERERkZRTYCciIiIi\nIpJyCuxERERERERSToGdiIiIiIhIyimwExERERERSTkFdiIiIiIiIimnwE5ERERERCTlFNiJiIiI\niIiknAI7ERERERGRlFNgJyIiIiIiknIK7ERERERERFJOgZ2IiIiIiEjKKbATERERERFJOQV2IiIi\nIiIiKafATkREREREJOUU2ImIiIiIiKScAjsREREREZGUU2AnIiIiIiKScgrsREREREREUk6BnYiI\niIiISMopsBMREREREUm5+ko3QEREZKjM7FfAUUUeagcWALcD33b3hUN47S3dfdYwmygiIlIWCuxE\nRCTt8sBXgSWJbZOAfYHPALuY2dvdvWugL2hmxwAXA00j2VAREZFSUWAnIiK14A/uPqdg22VmdjFw\nLPAx4KZBvN67gbEj1TgREZFS0xw7ERGpZb8BMsBug3xepgRtERERKRmN2ImISC1rib72BGpm9iHg\nFGAnwly8O4FT3P3F6PG7gL2i/+eAX7v7Z8xsNvCyu++T/AGF281sFvB3ws3TTwOLgbcBjwC3AvdF\nP39rYC5wvrtfkni9KcD5wN7ARsCrwA3Aae7ePvw/iYiI1CKN2ImISC3bnzAH7zEAMzsa+AOwCjgJ\nOJcwmvegmW0TPecM4N7oeYcBl0fb8/38jGLbDwXeDJwI/Nzd4/l/+wMXEAK1rwKrgYvM7AOJ594I\nfDD6uccDdwHfip4nIiJSlEbsRESkFkwzs5bE95OBDwCnAs8C15vZRMJI2HXufni8o5n9AngO+BHw\nCXe/w8wOB/Zw9+uG2J5G4CPuvqBg+2bAW939mehn3wzMJwSQt5pZM/Be4Bvufl70nCvNLANsNcS2\niIjIKKDATkRE0i5DNCJXoAW4GfiKu3eb2X7AROAPZrZBYr8cIR1zfzPLuntuBNr0UpGgDsDjoC76\nZoGZLQA2jjatIIzinRCleN7q7q3u/rkRaJOIiNQwBXYiIpJ2ccrkQqCBkO54AiHd8Th374j225oQ\nBP6un9fIA82E9e+Gq7918xYV2dYO1AG4e4eZfQH4BaGKZ7uZ3Q38HrhKc+xERKQ/CuxERKQW/DOx\n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\nERlDI3YiIjKVBLAtnhZZZow5DjgG+P2EZ4mIiMiC0oidiIhMyRjzP7hELV/GTb9czb41fo+Jk56I\niIjIIlLyFBER2Z9X4ZKCnItLuNGHy9b5HgV1IiIitUEjdiIiIiIiInVOI3b70dU1oMh3kbS1NdLT\nM7zYzTjkqR9qh/qidqgvFp/6oDaoH2qL+mPxdHa2eIvdBiVPkZqVTCYWuwmC+qGWqC9qh/pi8akP\naoP6obaoPw5tCuxERERERETqnAI7ERERERGROqfATkREREREpM4psBMREREREalzCuxERERERETq\nnAI7ERERERGROqfATkREREREpM4psBMREREREalzCuxERERERETqnAI7ERERERGROqfATkRERERE\npM4psBMRERERkQVz/fXf58UvfgGnnfZEXvGKc7n99j8udpMOCsnFbsBsGWOWA5cApwMNwO+Bt1hr\n757k+JOBTwMnAFuBD1trr1mg5oqIiIiIHPJ++tMf8alP/Tdvfes7Of74x3Dddd/hoovezDXXfJuV\nK1cudvPqWl2O2BljPOD7wOHAc4BTgD7gF8aYtgmO7wBuAP6IC+wuBa40xjx9wRotIiIiInKIu+qq\nL/Kyl53HM5/5bNasWcv557+RdevWcddddyx20+pevY7YPRp4HHC0tfY+AGPMuUA38Czg2qrjXwn0\nWmvfGD+/zxhzInAhcNPCNFlERERE5NC1Zcsmdu7cwamnnl4u8zyPq6762qTnXHzxBwDIZrPceOMN\nJBI+L3rRi3nKU07lv//7I9x3372sX38Yb3/7ezHmKAD6+/u44orP8dvf3srAQD/HHHM8559/AUcc\nYeb3BhdZXY7YAVuAZ5eCulgYP44bsQOeBPy6quxXwBPnvmkiIiIiIlJty5YteJ7HwEA/F1zwWp7z\nnDM4//xXcdddd0553s9/fgPZbANXXXUtZ5/9Uq688gu8850X8q//+u986UtXk0ym+OQnPwZAGIa8\n8Y2vw9p7+dCHPsYXv/hVli5dwvnnv4qdO3cuxG0umrocsbPWdgM/rSq+AMgCN05wylrg9qqy7UCj\nMaY9vp6IiIiISN3468M9/HnzXgqBG99oaEgzMpJfkLpTCZ8TDlvGcesmGlOZ2PDwEFEU8ZGPfIBX\nvvI1rF9/GD/84fd5wxtey1e+8jXWr98w4Xltbe287nVvAOBf/uUlfOlLl3PGGc/klFPcGM2znvUc\nLrvsswD8/ve/4YEH7ucb37iONWvWAvCe93yIs89+Htdd9+3ydQ5GdRnYVTPGnAVcDHzCWmsnOKQR\nGK0qy8WP2flsm4iIiIjIfLhra085qFtohSDkrq09MwrsEgkXerz85f/OaaedAcBb3nIRd975Z772\ntav55S/3rZBatWoVV1/9LYBygAZuSibA6tVrymWZTJZCwQW0Dz30IK2tS8ack0wmedSjjuWhh/4+\n09usK3Uf2BljzgO+CHzdWnvRJIeNAJmqstLzoamu39bWSDKZOKA2yux1drYsdhME9UMtUV/UDvXF\n4lMf1Ab1w+J54rGr+f19u8cEdw0N6QWpO5XwedyRy2fU/0cccRie53HSScePOe/II49gcLCP66//\nYbksmUzS2dlCNpuisTE7rp4lSxrLZS0tWTzPo7OzhWXLluD73rjjUykf3x9/nYNJXQd2xph3AR8C\nPluRGGUiDwOrqspWA4PW2r6p6ujpGT6wRsqsdXa20NU1sNjNOOSpH2qH+qJ2qC8Wn/qgNqgfFtf6\nlizrT1pffr4Y/TGT+lasWE8mk+U3v/kDy5fva7e19/HYxz6ObHbpuGuPjhbI54vj6unvHy2XDQyM\nEkURXV0DdHSspre3l9tvv5t161wdxWKRv/zlDs4885/m7f2phYCxbgM7Y8zbgA8C77bWXryfw28B\nzqsqOxW4dR6aJiIiIiIiVTKZLGef/RK+9KXP09bWziMfeTjXXfdttm/fxvOe989zUsdJJz2WY445\nlg984N1ccMFbaGpq4uqr/4ehoUHOOuv5c1JHrarLwM4YczzwEeAq3H50KypeHgAKQDvQba0tAFcC\nbzXGXA58Brep+TnAmQvacBERERGRQ9h//MdryGazXHrpJ+np6eaIIwyf+tRl5dG16fA8b8rXL774\nE3zuc5/kbW97E0EQcNxxj+bzn7+SVatWH2jza5oXRdFit2HGjDEfAd4+ycvvwY3E/RJ4mrX21/E5\n/wB8Fjge2Ay811r7nf3V1dU1UH9v0EFC0ztqg/qhdqgvaof6YvGpD2qD+qG2qD8WT2dny9TR5gKo\nyxE7a+27gHft57AxGU+stbcBj5+3RomIiIiIiCySet2gXERERERERGIK7EREREREROqcAjsRERER\nEZE6p8BORERERESkzimwExERERERqXMK7EREREREROqcAjsREREREZE6p8BORERERESkzimwExER\nERERqXPJxW6AiIiIiIgcei655GLCMOKii95VLvvud7/Fddd9h927d7Fy5SrOPvslPPvZz1vEVtYP\njdiJiIiIiMiC+vKXr+CHP/zemLLvfe9/ueKKyzjvvP/gq1/9Jmef/RI+8YmPceONP12kVtYXjdiJ\niIiIiMiC2L59Gx/96Id46KEHWbly1ZjXfvCD6/jnfz6b009/BgCrV6/hrrv+yo9/fD1nnPHMxWhu\nXdGInYiIiIiILIi77rqTFStWcvXV3xwX2L3pTW/luc99wZgyz/MZGOif9Hp//vOfOPXUJ3Lzzb/k\nxS9+Aaed9kTe9KbX09W1m09+8mM84xlP5ayzzuTaa78y5rwf/egH/Ou/ns1ppz2Rc855Pt/97rfn\n7B4Xi0bsRERERETq0J49XXR17SIMQwBaWrIMDIwuSN2+79PZuYKOjs4ZnXfGGc+cdPTt0Y8+Yczz\nnTt3ctNNP+NFLzpnymsWiwWuvfarfOADF1MoFHnrWy/g5S9/Mc997gv48pev4Wc/+wlf+MJlPPnJ\nT+WwwzbwzW9ey5e/fAVvetPbeMxjTuRPf/oDn/nMxykWC5x99ktndD+1RCN2IiIiIiJ1aO/ernJQ\nt9DCMGTv3q55u35PTw9ve9sFdHR08LKXvXzKY6Mo4jWvOZ8jjzyKY445lpNOeizNzc28+tWvZ+3a\ndbzsZecB8NBDfwfgG9+4hrPPfinPetZZrFmzlrPOej7//M/n8PWvXz1v97MQFNiJiIiIiNShZcs6\n8f3F+Tjv+z7Lls1stG66tm3byute9wqGh4f51Kcuo7GxCYALL3wDp5/+j5x++j9yxhlP4c47/wKA\n53msWbO2fH5DQwOrVq0pP89kMgDk8wV6enro7u7m2GOPG1PnYx5zAj09PfT09MzLPS0ETcUUERER\nEalDHR2dY6ZCdna20NU1sIgtOnDW3suFF76BpUuXcumlXxhzf29/+3vJ5fZNNe3sXM7dd/8VgGRy\nbFjj+96E1y8FedWCIJzwOvWkflsuIiIiIiIHjc2bN/HmN7+edesO45JLPkNLS8uY1zs6Og64jsbG\nRjo7l3PnnXdwyilPKpffeeefaW9fNq7OeqLATkREREREFt2HP/xeMpks7373BygU8nR37wUgkUiw\nZMnSSc+LomhG9bz85a/gc5/7FGvWrOGEE07mT3/6A9/97rd55Stfe0DtX2wK7EREREREZMF53r7p\nkg8/vAVr7wXgJS954ZjjVq9eyze/ed20rjOdY5773BeQz+e59tqv8slPXsLq1Wt4wxveMm6rhXrj\nzTTCPdR0dQ3oDVokB8M88YOB+qF2qC9qh/pi8akPaoP6obaoPxZPZ2fL/qPLeaasmCIiIiIiInVO\ngZ2IiIiIiEidU2AnIiIiIiJS5xTYiYiIiIiI1DkFdiIiIiIiInVOgZ2IiIiIiEidU2AnIiIiIiJS\n5xTYiYiIiIiI1LnkYjdgLhhjrgB8a+2rpjjmZODTwAnAVuDD1tprFqiJIiIiIiIi86buR+yMMR8E\nJg3o4mM6gBuAP+ICu0uBK40xT5//FoqIiIiIiMyvuh2xM8ZsBK4EjgE27+fwVwK91to3xs/vM8ac\nCFwI3DR/rRQREREREZl/9Txi9wRgC3AcsGk/xz4J+HVV2a+AJ855q0RERERERBZY3QZ21tqvWWvP\ns9bunsbha4FtVWXbgUZjTPvct05ERERERGTh1G1gN0ONwGhVWS5+zC5wW0RERERERObUoRLYjQCZ\nqrLS86EFbouIiIiIiMicqtvkKTP0MLCqqmw1MGit7ZvqxLa2RpLJxLw1TKbW2dmy2E0Q1A+1RH1R\nO9QXi099UBvUD7VF/XHoOlQCu1uA86rKTgVu3d+JPT3D89EemYbOzha6ugYWuxmHPPVD7VBf1A71\nxeJTH9QG9UNtUX8snloIqA/KwM4YkwLagW5rbQG3LcJbjTGXA58BTgfOAc5cvFaKiIiIiIjMjYNl\njV1U9fwJuKyXpwDEmTOfgduc/HbgdcC51tqbF7KRIiIiIiIi8+GgGLGz1p5a9fxmIFFVdhvw+IVs\nl4iIiNSvrv5RdvWP0JxNsX5ZE77nLXaTREQmdVAEdiIiIiJzae9gjh/95WHCyE0Kam/K8NhHdNDR\nkiWbct8dh2HEtt5hmjNJ2pqqk29DIQiJooi0krCJyAJQYCciIiJS5f6dfeWgDqB7KMfP/roNgOZs\nivamDN1DOQZHCwCsX9bM0qY0w7kiAyMF+kcLjOSLAKxrb+LkjR20N7vgrxCE7OoboSWbYkljeoHv\nTEQOVgrsRERERCqEUcRDXYOTvj44WigHdCVb9g6yZe/Exz/cPcTWnmGSvpvKWQwjoigilfB5zgnr\nJhztExGZqYMleYqIiIjInHhgVz/D8WhbQzrJqY9axYaOZjpasiT86a+z8z0PL16XF0URhSAsT88E\nN3L314d75v4GROSQpBE7ERERkdi9O/r4zf27y883dDSzsbOFjfEeVWEY0TOcp2coRxBGrFzaQBhG\nbN4zRCEMacmmaM2maGlI0ZRJ0jOU508P7WFrz3A5oKt0/65+uodyrG5rpDGdpDGdpLUhxbLmTDko\nFBGZDgV2IiIickgIo4hcIWC0EDBSCAiCiMZMgq3dwxSCkO09w3QNjJaPX9qY5oTD2sdcw/c9ljVn\nWNY8dvrkZNMplzVnOOO4NRSDkDCC0g5NN/51O7v6RwCXqGXvYG7MeScctowTNyw7wDsWkUOJAjsR\nERE5KIVRxD3be7lvRz99I3nCiAlHzSbS0ZLlzOPWlDNgHqhkYuzql8c9spOf3729nGCl2l1bezhu\nXRuphFbNiMj0KLATERGRg0IQRmzZO8hQrkgYRfx99wDdVSNh07FqaSNPP2Y16eT8BVWdrVle/PiN\nDOeL7OobpX+kwEihyENdg4zkixSCkB//5WFOP3YNTRl9XBOR/dP/KUREROSg8OfNe7ljS/eUx2RS\nCbLxn8HRIkO5Ag3pJBs6mhnKFWltSHHShmXjRtjmg+d5NGVSPGJ5qlzWlEnyhwf3AG6K5vf+tJkn\nHL6cjZ3NWnMnIlNSYCciIiIHhS17hyYsf0RnC6ccsZx00sevCI6iKKJ/pEBzNjWjbJfz6YgVrdyx\npYd8MQAgVwj4v3t28Lu/J1nX3sS6ZU2saWvUFE2RBTJaCMgVAxrTyZr/e6fATkREROpeMQjpG84D\nbiTs2DVL8TyP1oYUR6xsHRPQlXieV3MbhDekkzz7MWt5YPcA9+3oY7TgAryRfJH7dvZx384+Er7H\nI5a3cMrhy2v+g2a9KgYhQ7kivu8xlCviAQnfw/0aud+loVyBKGLclN3SKk4fjyWNKbKpRN2PtkZR\nRBgGeJ6P70/8OxcEAfl8jjDct6WHO9bD993WH57nx49efM2QKAoBj0QiUS5PJBKT1jMTYRThAcP5\nIrlCSGMmOem62SiKGMwVXTKjgVF6h/MMjBbKiY18zyt/CZTw3D1lkj7LmjMsb22gM86cu5gU2ImI\niEjd6x3OE8YfJluyKf7hkZ2L3KLZa2vK8NiNGY5b28Zft/aMCfDArSW8f2c/Xf2jPPGIFSxtSpNO\n+Pi+5wKSfJHmjPsAOloI2No9xOa9g+zoHSGV8Fm9tJGljSmWtzbgeZDwfZK+RzLhkfB9Mkl/0kAk\niiI27x1iy95BfM9jff8ofjGgrSlNYzpZdwFMGEb8bXsvvcP58hTdXf0jbO0ephiEc1KH73msWNLA\n8tYsHi7wa0wnWdPeyJKGqb9YCKMobodHwvcoDSw/1DVI/0iBY9YunbfgPgiKDA4OMDg4wMDAIEFQ\nxPM8GhubSCaT5PN5ICKKkxLlcqP7veZ0eR40NTWzZEkbzc0thGFIsVgoB5aVf6p/5wrFIvdv28Pf\ntuymZ2AI308QevF7FEW0NqRYvbSR1W0NDI0U6B7O0T+cp3c4R64QANG+6BwgmcZLpAk8n75iDhfY\ne8RRPlu6IogCTjxq5Zzd/2wpsBMREZG6V5kkpb25tkbhZiubSvDYjR2ctGEZewZG2bJ3iIe7h8r3\n2juc58d3PFw+PuF7RJELBnzPI5XwyRWDMdfMFQLu29k3Zb3pZIINHc1s6Gwm5fv4vgtORgsB9+/s\n58GugfKxW3pHGBnJl89ra0xz5KpWjly5ZK7ehnn1h4f2cNfW+d0kPowidvQOs6N3eEy553msaWuk\nKZOkUAzJByH5Yki+GFAIovhx6uCya2CU049dPSftjKKIfD6P58HIyAjbt28lDMNxxwwNDc5JfVO3\nBQYHBxkc3H9dvu+TTCZJpTJs7upj067uOEBzgqrj+0agrxvumWZbvMIwyaRPvlB9pdqjwE5ERETq\nVhBG9A7nuHt7b7msfZI95eqV73ksb21geWsDJ21Yxi/v2cGmrvEfeINw3zBDGEXjgrrpyheD8rTP\nmZ63q3+EXf0jdDRnaW+u7X7oGcrxt229k76eSbopey0NKXzPIwwj3H8u8MimEiR9rxx8RVE0ZvSo\nEIT0jRQoFIvuhCoR8PCe/vEVRyGE7pwoDNzP5SGkeKTIc23btH2AL23bQUM6iUdINpskN1pkxdIm\nVrakCPI50glIJry4jRCGAWEYkkgkxgRupamRk/G8CW9jzOvpdJZkMkFpuuq+a0bu/YvcNM3Se1Ua\ndYuiiCAIytcPgom3AZnI4Giee7Z3MTrJ1iHgvvRIJxPkigFhOPlNJBI+zZkkzZkkTZkUqYRHUzZF\nKuFTCMLyfpRRFBFGkCsG7OobKU8DX2wK7ERERKSmRZGbLrd3MIfvuVGp5Ka9dHUP0TdSKCcaKZlt\nYFco5AmCgEQiSTI5P9MKwzAkCKIbztEAACAASURBVIqEYUQqlZrxOiLP83jykSvIJhMM5ooM54oM\njBYohlF5XVMmlSiPWPieR0dLlvXLmljb3sRoIaB3OMe27mEGRgskEz5BGBGEIUEYkS+G+x0lArd5\n+5Erl0AqweadffQO5ccEkvft7Ofxh9f2dNi/bO4uT98FWNvWQC6XY0VrhtVLs7RkknGw4daXjY6O\nxoFJaT/EQhyQuGmC44KiFPiNPsM5t06rsq7eoTz9I9MLBkqJfabah3E4HgzMp5MU8kUGe/fw94rz\nj1nbRks2NeacqYK48i2kUrS1tdPc3Eo2m2V4eIjh4SGSyRTpdLri99cjnU6TSMzNvo+FQp6+vj76\n+nrJ5UZJJBIkkymiKGI4VyCKQhIeDOfy3LW1d9y02VQmy8aV7Ry+qoMoCkjG8XAQwa6+Ubb1DLO7\nfxTf81jX0UR7c5b2pgytDfvuyfOgWAwYGhokCILy2sHK4DSKIpa1NHD7lpl9CTJfvOlu1Hmo6uoa\n0Bu0SDo7W+iqmO4hi0P9UDvUF7VDfTE7URQxlCuSL4ak4gyVnuemB/YMuSlgA6MF+kcKY74Z39E3\nMmZqFUBDQ7o8BbBSKuHzL4/bOOONxfv6eti69eExZe7DZJJ0OoPneRQKhXLiB/ehr4jvJ0ilUhUf\naN2HcDe6EVEsFst/gqBIEARjrp/NNhCGQTyCUVo35OH7CRIJd+1UKk0mkyWTyUy59i0I3WhSKg7W\n8sWATCoxYeKYyURRxJa9Q9y3s59CEBJGkfsTRqSTCVobUixvyfLIFa0kfK/8d6F03k13by9f64TD\nltGQTpBJJuJtJnwa00ka0os/rjBaCPjm7x6kWCwSjfRy8rpm0v5CfuSL6BnKM5wvxsk4/PIax4Tv\nldc8+r6HR0UmVyKGcwHFIOSB3QPjRqlScWBXLZVMcPy6tv3+vSglLSkWi2QyWdatO4x0enGnNru9\nHkfY3jPMw93DDOUK5deiKNo3whkWyaSSHLdxJceu3f+WJaVgcC62NhnJF1m/pm3RF5gu/t8sERGR\ng8hoIaBvOE9jOklLQ2r/JxyESkGG73v4nsfu/hF++0AX3VWjFnPFBQsJOluyHLt2/x9eJ2rvrl07\nx5UHQUAQBORyM9/kfDqCIJjReiXP88hkMmSzWZqaWliyZGk50PM8rzzdDtwozWwCKM/zOKyjmcM6\nmic9JpfLMdDfGwejOXp6hoiiiEYCsuEQw6N5iEL+9Le9pasSxdMJvUSaZUuX0JJNgxdPMIwiPA/W\ndizFrGmfUSBaKYoi9g7mGMoViXCJUUYKRfYO5Ng7mKMv/iKgFCgVC3nCgV00p33SftOs6qxW2fTS\nr3ppymG1jtbK/vHK53qeV/4yofTFgjvfJSopfUGwfvUKRvIBvgee54Pn0dbWxIPbetiyu49C5DEc\n+BSjBIEHD46keeaRa8mkkvi+TxAE+H5iTJsTiQMLDaIoYjjvvrxJ+j6ZlE8qMXkynpIgjLA7+tjV\nP8JIPmC0EJAvBuSK4ZRJbLx4WmomneYZx6+hoyU77bbO5V6VtfBlBWjEbr80Yrd49I14bVA/1A71\nRe0o9UUYRezqG2FH7wg7+0boHc4zUvFt+fLWBpoySTwgiP+9rf5443kebU3pMdMHc4WAfBCSTPg0\npBKsaWtckA2zD1QURfx5czd3be2Z1nS+mWrKJHnM+nYAVi1vZXQoR2M6SXN26mmTURRRKBTKqdhL\nAVuhkGd4eIjR0X3Z/DzPpV0PguKU64lmq3T90pqiA1Ea0atMI+/SyrufwzCgWAwIw6B8z26EMUnl\nyOLYUcbS1aP456iiPhcQDA72l49rackyMLDv/evqH+X+Xf2TThnc7z0l02STHomERyKZIpFM7Qs+\nIjdihZckhHjNVlT+ebQQUBy3fsrD8xNjnhPfczjSA8U8j1zRwsoljeXA2Y1aJUgk/LhuL34tSzKZ\njN8rL/6dc0Hb2FHb+B2MIoKgSCKxcNlCq/+d2Nk3wg13bi2vv2xIJznl8E7WL2s+4L0bSxk7i0FE\nIQzZ0TPMX7b0jBlRAzcdOOF7BGEUr3VzwV7pTzLhs7NvZNyU6smkkwmXGKgQUAxDmrMpnn7MKpY1\nTz+omw+dnS0asat13/3DJr73py3jyp9/0npe+NgNOl7H63gdr+MPweNf80/Hsa1nmN8+sLu8aP6h\nrgE27Rm/QfaGjiY2TrC/0UyOT/gem/cMcv+u8YH9U45awRnHrqE5m6IlmyrvqTVV+5930mHcs72X\ndNLniBWteJ436fFnnbCOpx29iv7RAknfI4wi9gzk+MXd27lrgsQTM73fw1e0cNSqJbQ1ZeJ9opIs\naUhz6/27uPneXeOOTyV8XvjYDeM+wE7W/qdsbOIJa8ePnP6/zSPcsmX8SNyZRy/j3Kc8qhx4lQLC\n6+/YwQ1/6xp3/LOPX8mZR3eU1145ET+5q4uf3bNn3PGl37coihgeHoqTWCS5/o7tXH/H9nHHn27a\neOojmsnlRikU9n1gnqz9T1qf4cmHNUz7fufn+H1T9x7VDqYdioELAobzbtrppsEEW4bGfwxd31Rk\nQ3PpA/6+gHF6xzPj41sa0ixf0sgdPWl+ctfucccfyP9P3IhbatrHz/T60z3+SUeu4OZ73Yj0SL7I\nL/+2g119I/xt+/h1YacevZKzTlxPoiIpTML3+dlft/KTO7aNO34u/v+2v+MPX9FKR0uWlUsaWNvW\nxPIlWb73x8386C/7/r5c/+eHy/e7WP9evOafjhtXvtAU2ImIiMzQPVt7uPGv2+ZlWuFEgjCadARs\n857BMeuaWrIpjl69hP6RwoTHh1HErffv4v6dLhvfbX/fQ0tDir9tnzg74J0PdzMwOv5ag7mJr1+p\ntNkwuOmSEzlubduEH5TumaQ9M+Wy601/SmxDQyNAeRpcMpmkoaGBhoaJ25NKpWlrax9X3tg4/kNq\nJc/zaGraN92xNBJUrbm5hcMO2wC4e8nlcgwM9ONteXjC4xdKJpOloaGBpUsbSSZHyO7qBsYHgutX\ndvK0YzvLo249fQPs6R9k5KFBtgzN3b5nJalkguZskt15YIIuWNfexOPX7xvZSfgeK1eu4r7hqfur\nnh2+opWB0QK3b9pbLhueJIPkg10D/OD28QHNQzOYLZLwvRlPh57M8evaedE/bKi7/REXiwI7ERGR\nGdjdP8qNd2wtB3WphM8jl7cQRUzyjXMLTz1qJYmKqZRRFPHLv018/JKGNIevaCWddOm1t/eMjJva\nNJWB0QK3Pbhn0g9id2zpHvONea4YkBsIxiUnORBHrGzlSUeucCni48QbP7h9y4QjBHNlf1P/Eolk\neZpdIpGgYbfHRIFILX+ATCSSNDYmaWxsYtmyUdg8PrhbsmQpa9euAKJyAhbfT/C3we2wZeu449va\n2tm4cQ1jd2T2uKt/G2zZMe745uYWNmxYXw5KSyOnLduKwPjgt6Ghgfb2jor2tbEB2DyyiT9sGx9A\nHLNxLac+apVL/lLIU8jnKQYB4QM9bHlwghHiFe087ci28r59pRHr4Xv2cm/P+P3pMpkMrS0t8e9L\nRGNjs2vfgwdvYAfwmPXtNGWSPNQ1yNbuubtX33NrOV2yF5+VS9yWHD/6y8Pcu2P8Vg7HrWvnnx69\nlmLgsq+W9u/7+V3RhP8/TPheTf+drDVaY7cfWmO3eLSeqDaoH2qH+mJxRVHE7Zv28pct3eWMjO3N\nGc48dg3ZlF9ec1NKiV39GEXhuLJSUoVMJjtp5rlSJknPo5xUYjhfpHcoz7beYYIgIlcM42ySc7+X\nUsL3aG1I09qQIowiPDxaG1KsWNJAW1OapO+T9L3yB7AgjMofrie7n9Jnj8rPIPtLk57LjTIwMECx\n6ILctramctKOXC5HEBTLa+WSySTNzS34vk86nWbp0vY5S8MuY+n/S7VlOv3R1T/Kpj2DbtQ9gtAt\nXgTcWuCBeLQ/lfDBgyCIKIYuO2oq4ZNJ+qxa2sgjV7SwpGFxM2bWEq2xExGRQ87ewVGiCJqzLlDI\nFQL+vnuAnqE8rQ0pOpoztDdn9o32xCnvU0mfhlSSVGLfN7il7Isw8wxnYRQxki+6YCSI6B/J09na\nMGFQEoQRv31gN3bHvhGnjgafY9sDtm6+P06DP/Xmvfvj+345GYPn7Rs5mqzMw2N9xqXHd6MyaSIv\nw9+7hukdjVxZMgH4FAP3PuWDkMHRAmEUsXJJA084Yjkj+SBOYODF2eugEESk4/czm55Zunzfg+Hh\noTGZJIOgSF9fX3mfuIm4hCVBvLdbIr5P91plcpOSfH5wTNKOSp2dy8eMEonIPp2tWTpbFzfRiMyP\nRQvsjDEZ4MnW2psWqw0iIrKw7t3ey633j09QMBNJ3yeR8OJvkd26M8/zWN6aZUNHMx3N2XLa9+pA\nKyKidyjP1p5htvcMj9lQGVzGuBM3LKMlm8KDOMgJ+cODe+gd3jcatqGzmfZ8F6PDlfspHdBtTWuz\n4Olo96G9cd/zlpZWli5tK+9PlUpnSPg+hUI+zsjZOO4aURQxNDTI6OgIg2EpKYgbacvn84Rh5fvm\ngs4wDCkUCuWNfGeqFPC5BCHTn3paLZ3OsGRJ26zPFxGpV/Ma2Blj1gOfB56CS5FU+srPr/hZcyNE\nRA4BYRjxly3dB3ydYhhSrIobonjbgV19Iwd07ZF8kVvvG5+JsdIjl7fw7JM38Ofb+xkcdAFI5Whd\naUpmaQRu7KM/Jh19KfPi8PDQrNPD78/AQD8DA/vWupRS5JdGwVKpfYlFStNDZxucTde+VPGMmb66\nP+l0hra2NsCjvb2J7u4hPM+VJxIJPM8nm81qTY6IHJLme8Tuk8CTgauAJwLDwG+BM4DjgBfMc/0i\nskAKQciegVG3Warvtn/NFQJyxYDRglsknU76bOxsnnSvmdK0urDiMQzdnP8gdAkYCmFI71Ae3/do\nTCdoTCdpzCTJJBPxJq36QLc/hSBkW88wnS1ZmjIz+2cgitx6rnTSx48DkzCCYhC6fgoi8kFAoVh6\njBfIByEPdg0ylNuXiS3p+6SSPgnfoymdZOXSBjyo2EjYw4/XlXke5Ioho/mgPEpXkvC98nTNmcqk\n3DTD0UKw3/NTCZ+TN3Zw9OolJHyPtWsPY3R0pJyUo2Q2v4OldXelvcNKiR0qR8r2/byvLAzDMfuy\nBUFAPp8jn89TLBYoFsdnvisdV1KZQn+upNNpGhoa8X2/fC+ZTANLliwlmRy/p1dptC+ZTFIsFomi\nfX0cBIHLAul5dHQsL6+V6+xswfe1tktEpGS+A7unAe+y1n7OGHM+cJa19iJjzDuBnwPPBX44z20Q\nkTly744+HohTpOeKAUsa02SSCfYMjtIzlJ/WB+s7tnTTlEnREK/b2ZdEwWXzq54aNxOZZIKnHL2S\nde1Ns77GwS6KIn5x9w629QzRnE3x/JMOI530CcKIB3cPEIQuQ9nASIFUwicfhIzkA4bzRUbyRUby\nAWEU4XsevueNC7Km6zGHLeOkDctm1f5CEBGEbvPuZJywYyRfZMveIbb3DjMwUtg3LbIqxvJwwdzq\npY2sbW9kaWO6HGTsGRjl7m29jOTdxtRRRZ0tDSlOWL+MloZ9o1uJRGJMuvoDUdq0eq719/fR399H\nEAREUUgul5sw2JtIKpWipaU13lx531q/ZDI5bpQvisD3vXizbH/M69PhEsi44Hii92Gu3mcRkYPZ\nfAd2zcCd8c/3Au8DsNYGxpjLgI/Pc/0iMkeKQcjvHthdTlQBjFlzNBNDucKM0rdPV64Y8Iu7t/P4\nw5fziM5m0knN9K62u3+UbT0upfTgaIEHdvWTTvr8adNeBifYq2wyLqnJ7KYOZlIJjl61ZFbnep5H\nOunhZvTv05BOYlYtwczyugAdLVmectTKWZ9fi1pbl9Dauu89Ka2dC4KAbDZLMpmK93nz4kQlXjl7\nZyajKY0iIvVkvgO7HcCK+Of7gXZjzEpr7U5gb8VrIlLjkgmfNW1NbNk7OOHrnufR1pimtTFFGLok\nFZlkgmwqQSaZIJnw2N4zzNae4SlH9nzPpU1PVKRPT/geCc/Djx+bs0l833MjSbkiQ/lieQ+uIIy4\n9b5d/Pb+3axa2sD6Zc0sbUyTSSXKm6Zmkn75A2v3YI6dfSMM5YoMjhYYyhfLbfDjugBXT65IEEX4\n8YdgP26Ty64Y7wNWKvc8MkmfkYIrTyV9WrMpWhpStGZTBFHEaCFgeWsDLdlUfH+MqXsoX6RQDEn6\nrp5CwqdvYNRtnOx7NGaSeFCehhjGIyelx+F8keF8kUIQUgzcBtd3bR27r9NvH5h5IpNUwh+zWXap\nvcmEm1aZTvpuP6mEm2pZ2lsqlXDvweq2Rhom2axa5pfneTQ3t4wp0zYAIiIHh/n+l/WnwAeNMVus\ntb83xmwF3myMeT/wcmDbbC9sjPGBj8TXaQFuAF5vrZ3wU4ox5mTg08AJwFbgw9baa2Zbv8ih6OnH\nrKJ7KMdIPmC0ELB3MEcmmWB5a5aOluyUe1cBHLu2jXwxZLRQZLRiM2Qvni+XTSVozo5ffzMdXf2j\n/OSOreWpgWEUsa1nmG09w+OOdcGHW5NXueZrrg1V7H2cKwR0FQK6qtKz379z/AaukyntnTafSpvN\nbuhopjGTIJXwaUgnaUwnaEgnaUglSCZ8inFg58dBnYiIiCyu+Q7s3oMLuC4GTgPeCXwVeEv8+usP\n4NofAM4FXgZ0A5cD/wv8Y/WBxpiOuB3XAv+OS95ypTFmh7ZbEJk+z/PGJD45fBZj7umkTzqZprVh\nDhuG25fneSet5/5d/WzrGWbPJPtbgRvVG8nPX0BXD7KpBPliSBhFJH2fY9cu5bh17fsNzktmumec\niIiIzK95DeystXuAk40xa+LnXzPGbAZOAW6z1t48m+saY1LAG4DzrbW/jMvOAR4yxjzeWvu7qlNe\nCfRaa98YP7/PGHMicCGgwE7kILGkMc3JGzs4eaNbx7d5zxA7+0YYybsRwjBy6ewrpxECrGtvorM1\nS3MmRVM2CfF0xkIQ0jdcIJnwaEwnacokSSb88rTHykyM2ZSbdupSt0cE8ebXmWSC5myK0UKR/pEC\nAyMF+kcLFAN33sBooZxRMqzKCJpJJsimE+56YURDY4aBhE8YRXFSExeclqZ+lhJcuOcuiG7Opkgl\n/PKfTMpnXXsTbU0ZRgsBg6MFWrIpMilNxxMREaln872P3XuBL1try1MurbW3ALcYYw4zxnzWWvuG\nWVz6MbjELOXA0Fq72RizCbe9QnVg9yTg11VlvwIum0XdIlIHmjIpHrVmKY9as3RMeWlLhVwxJFcI\nyKQSM075P10t2X2ZAZsyKZoyKVYtneKE/ejsbKGra+7Su5eCUREREal/8z2X5n3AmkleOwV41Syv\nuzZ+rF6jtx1YN8nxEx3baIxpn2UbRKQOeXGSj6ZMkvbmzLwFdSIiIiILac4/0RhjbsEFbeC2DPqd\nMWayw/8wy2oagdBaW73hVQ6YaOfjRqB6wU0prcHEOyWLiIiIiIjUifn4qvo/gBfigroPAl/EZaGs\nFAC9wPdnWccI4BtjfGtt5WKZDDA0yfGZqrLS84mOL1u+vHWWTRQRERERkUPBVFs5LZQ5D+ystffi\ntiHAGJMAvmSt3T7H1TwcP65i7BTL1Uy8hcLD8bFUHTtore2b47aJiIiIiIgsqPnOivkBAGPMWuBU\nXDD1FVyQdbe1drYbMt0BDAJPAb4e17EB2MD4JCkAtwDnVZWdCty6v4p2757+HlMyt+Y6UYTMjvqh\ndqgvaof6YvGpD2qD+qG2qD8ObfOeNcAYcwlwQVxXBNwI/Bewxhhz6mQbik/FWps3xnwe+LgxZi/Q\nhctw+X/W2tvi7RDagW5rbQG4EnirMeZy4DPA6cA5wJkHfociIiIiIiKLa16zYhpjLsLtN3chcDhu\n3R3A+4E24imbs/Ru4GvANcAvgIeAF8WvPQGX9fIUgDh4fAZwAnA78Drg3NnuoyciIiIiIlJL5nvE\n7tXA+621n43X2wFgrf2tMebdwIdme+E4I+Zb4z/Vr90MJKrKbgMeP9v6REREREREatV872O3msm3\nNNgELJvn+kVERERERA568x3Y/Z3J17E9GXhwnusXERERERE56M33VMxPA1fEyUyuxyVPeYQx5knA\n24CL5rl+ERERERGRg958b3fwJWNMBy7RyX/ikqd8G8gDn7DWXjaf9YuIiIiIiBwK5n27A2vtfxlj\nLsNlqCytqfu5tbZrvusWERERERE5FMxLYGeMORq3IXgEXGmtvd8YcwQuC2Yr0GOMucRa+7H5qF9E\nRERERORQMueBnTHmH4GfAUVgGHi9Meb9wCXATcCfgccBFxtj+q21l891G0RERERERA4l85EV833A\nL4FOa+0K4FLgv4GrrLVnWGsvstY+Ffgf4BXzUL+IiIiIiMghZT4CuxOBL1hrR+Pnn8YlTflO1XHX\nAmYe6hcRERERETmkzEdgtwSoTIzSHT/urTpuBGich/pFREREREQOKfO1QXlQ8XMUP4bzVJeIiIiI\niMghbb4Cu2iaZSIiIiIiInKA5msfu0uNMf3xz178+HljzEDFMa3zVLeIiIiIiMghZT4Cu1/jRudS\nFWU3x4+VZSPxsSIiIiIiInIA5jywi7cyEBERERERkQUyX2vsREREREREZIEosBMREREREalzCuxE\nRERERETqnAI7ERERERGROqfATkREREREpM4psBMREREREalzCuxERERERETqnAI7ERERERGROqfA\nTkREREREpM4psBMREREREalzCuxERERERETqnAI7ERERERGROqfATkREREREpM4psBMREREREalz\nCuxERERERETqXHKxG3CgjDFXAL619lX7Oe5k4NPACcBW4MPW2msWoIkiIiIiIiLzqq5H7IwxHwSm\nDOji4zqAG4A/4gK7S4ErjTFPn98WioiIiIiIzL+6HLEzxmwErgSOATZP45RXAr3W2jfGz+8zxpwI\nXAjcND+tFBERERERWRj1OmL3BGALcBywaRrHPwn4dVXZr4AnzmmrREREREREFkFdBnbW2q9Za8+z\n1u6e5ilrgW1VZduBRmNM+9y2TkREREREZGHVZWA3C43AaFVZLn7MLnBbRERERERE5lTNr7EzxrwD\neGf8NAIuttZ+dIaXGQEyVWWl50MH0DwREREREZFFV/OBHXA58K2K592zuMbDwKqqstXAoLW2b6oT\n29oaSSYTs6hS5kJnZ8tiN0FQP9QS9UXtUF8sPvVBbVA/1Bb1x6Gr5gM7a20v0HuAl7kFOK+q7FTg\n1v2d2NMzfIBVy2x1drbQ1TWw2M045Kkfaof6onaoLxaf+qA2qB9qi/pj8dRCQF3zgd1sGGNSQDvQ\nba0t4LZGeKsx5nLgM8DpwDnAmYvXShERERERkblxMCRPiSYoewIu6+UpAHH2zGfgNie/HXgdcK61\n9uaFaqSIiIiIiMh8qfsRO2vtqROU3QwkqspuAx6/UO0SERERERFZKAfDiJ2IiIiIiMghTYGdiIiI\niIhInVNgJyIiIiIiUucU2ImIiIiIiNQ5BXYiIiIiIiJ1ToGdiIiIiIhInVNgJyIiIiIiUucU2ImI\niIiIiNQ5BXYiIiIiIiJ1ToGdiIiIiIhInVNgJyIiIiIiUucU2ImIiIiIiNQ5BXYiIiIiIiJ1ToGd\niIiIiIhInVNgJyIiIiIiUucU2ImIiIiIiNQ5BXYiIiIiIiJ1ToGdiIiIiIhInVNgJyIiIiIiUucU\n2ImIiIiIiNQ5BXYiIiIiIiJ1ToGdiIiIiIhInVNgJyIiIiIiUucU2ImIiIiIiNQ5BXYiIiIiIiJ1\nToGdiIiIiIhInVNgJyIiIiIiUucU2ImIiIiIiNQ5BXYiIiIiIiJ1LrnYDZgNY8xy4BLgdKAB+D3w\nFmvt3VOcczLwaeAEYCvwYWvtNQvQXBERERERkXlVdyN2xhgP+D5wOPAc4BSgD/iFMaZtknM6gBuA\nP+ICu0uBK40xT1+QRouIiIiIiMyjehyxezTwOOBoa+19AMaYc4Fu4FnAtROc80qg11r7xvj5fcaY\nE4ELgZvmv8kiIiIiIiLzp+5G7IAtwLNLQV0sjB8nHLEDngT8uqrsV8AT57ZpIiIiIiIiC6/uAjtr\nbbe19qdVxRcAWeDGSU5bC2yrKtsONBpj2ue4iSIiIiIiIguq7gK7asaYs4CLgU9Ya+0khzUCo1Vl\nufgxO19tExERERERWQg1v8bOGPMO4J3x0wi42Fr70fi184AvAl+31l40xWVGgExVWen50Ny1VkRE\nREREZOHVfGAHXA58q+J5N4Ax5l3Ah4DPViRFmczDwKqqstXAoLW2b6oT29oaSSYTM2uxzJnOzpbF\nboKgfqgl6ovaob5YfOqD2qB+qC3qj0NXzQd21tpeoLeyzBjzNuCDwLuttRdP4zK3AOdVlZ0K3Lq/\nE3t6hqfXUJlznZ0tdHUNLHYzDnnqh9qhvqgd6ovFpz6oDeqH2qL+WDy1EFDXfGBXzRhzPPAR4Crc\nXnQrKl4esNYOG2NSQDvQba0tAFcCbzXGXA58Brex+TnAmQvbehERERERkblXj8lTzsa1+99xmS0r\n/5SmZD4hfn4KgLV2N/AM3ObktwOvA8611t68oC0XERERERGZB3U3YmetfRfwrv0cczOQqCq7jf/P\n3n2HSVFlfRz/DmFBlCCKkoyvelwFAxgwoIgiKMZVMSsG1qyYw6qYcwAU05oQs7goJjCgYlrjmlCO\nAVTABIKS87x/nOqhaSbCTPf0zO/zPDxDV9+uut0107dO3XvPhU5VWDUREREREZGcyMceOxERERER\nEUmjwE5ERERERCTPKbATERERERHJcwrsRERERERE8pwCOxERERERkTynwE5ERERERCTPKbATERER\nERHJcwrsRERERERE8pwCOxERERERkTynwE5ERERERCTPKbATERERERHJcwrsRERERERE8pwCOxER\nERERkTynwE5ERERERCTPnsrJIgAAIABJREFUKbATERERERHJcwrsRERERERE8lxBYWFhrusgIiIi\n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\ncCHXXXcl/fpdxM03D6SwsJBzzjmdJk2acOutg2jQoCFDhz7BKaf04ZFHhtKkSZOKf0Z5IN8Du6/L\nWXZHYHTGtjeAQZVZIRERERGR5dHg4+dXLKhbEQvm0uDj5ysc2O2yy260aLEmTz31KB988D7vvvs2\nhYWFbLihcemlV7LuuusBcOCBB9Oly64AHHfcCTz99BN8843TsmUrNt10M7p160G7dpsB0LJlS/7z\nnycZN+67ouMUFBRwzDF9aNWqNQBjxnzBokWLuPTSq1hvvfUBOPvsC+jb92QmTPiJX3/9BfevefHF\nUTRq1Ch5/nw++uh9hg//D0cc0XuFPq7qKt8Du4Zm9h6wLvAlcJG7f1hM2bbAJxnbfgYamVlzd59a\npTUVERERESnFvI57rXiP3fKq35B5Hfdarpe2a9eedu2upbCwEPeveeedtxg69AnOOed0Hn98GABt\n265VVL5x48YAzJsX73P33Xvw4Yf/5Y47BjJhwk+MHz+OX36ZROvWbYpeU1BQQMuWrZY6buPGjYuC\nOoihloWFhYwb9x2TJk1i0aJF7Ltvj6Ves2DBfH788Yflep/5IC8DOzNrCKwP/EYMp5wHnAa8aWZb\nurtnvKQRkPlXMi/52bAq6yoiIiIiUpb5W+9d4R6zTC1aNGb65BmVVKPS/f77bwwZ8iDHHtuHVVdt\nTkFBARtvvAkbb7wJm222OWeffTrfffctAHXq1F3m9YWF8fO6667knXfeYo89etKlS1dOOOEUbrnl\n+qXKFhQUUK/e0mFL5uNFixYnZetQv359mjZtyj33DKYwdaBEqgevJsrLdezcfS7QDOjq7u+4+0dA\nb2AccHIxL5kDNMjYlno8q6rqKSIiIiJSEzVo0IDnn3+GV15Zdo26lVdehYKCApo3b17qPqZP/4sX\nXhjOeeddxMknn0H37nuy1lprM2nSxDKP/+eff/L7778VPR4z5nMKCgrYaCNjvfXWZ/r06RQWFtKm\nTVvatGlLq1atueeeO/j008xBfDVHXvbYAbj7zIzHhWY2BlirmOITgFYZ21oDM939r9KOs+qqjahX\nb9m7DJIdLVo0znUVBJ2H6kTnovrQucg9nYPqQeehesnW+WjRojHHH388d989iMLCBey+++40bNgQ\nd2fAgAHsv//+bLrpBgA0adJwmXo1adKQddZpySqrrMKHH77L1ltvwYwZM7j77ruZPPl36tQppEWL\nxjRu3JCCgoKlXt+4cUMWL17M9ddfwUUXXcSMGTMYMOAmunfvTvv2G9G+/UYMHrw5V1zxLy666CJW\nW2017rnnHt57723OPrtvjf2dzcvALslo+TrQxd3/l2yrA2wBPFHMS94mevTSdQXeKetY06bNXqG6\nyvJr0aIxk7M0nEBKpvNQfehcVB86F7mnc1A96DxUL9k+H4cffhzNm6/Jc889wwMPPMj8+fNp06YN\ne+65D716HcrkyTMoKChg+vS5S9WroKCAGTPmMm3aHK644lpuv70/e+21F82arUqnTjtwyCGHM3r0\nm0yePIMZM+ZSWFi41OtnzJhL3bp16dSpM0cffTQAu+3WnZNOOr2o3BVX3MCgQf05+eSTmT9/ARtt\nZNx88200abJGlXxG1SFYLMgcd5oPzKwu8DEwHziVGE55PrAnsDHwF9AcmOruC8xsDWAsEfQNALoB\nNwLd3f3N0o41efKM/PuAagg1FtWDzkP1oXNRfehc5J7OQfWg81C91Jbz8dJLz3P99Vfxxhv/zXVV\nirRo0big7FJVK1/n2C0C9gAcGA78F1gD6OzuU4DtiayX2yXlfwd6AFsS2TFPBo4sK6gTERERERHJ\nB3k5FBPA3X8BjizhuTeBuhnbPgA6ZaFqIiIiIiIiWZWXPXYiIiIiIlI77bHHXtVqGGZ1ocBORERE\nREQkzymwExERERERyXMK7ERERERERPKcAjsREREREZE8p8BOREREREQkzymwExERERERyXMK7ERE\nREREZLlNnfoHO++8LUce2SvXVanVFNiJiIiIiMhyGznyJVq3bsOPP/7A559/muvq1FoK7ERERERE\nZLmNGPE8u+3WnQ03NIYPH5br6tRaCuxERERERGS5jB37FePHj2OrrbZl55134Y03XmPmzJkAXHPN\n5Zx22glLlf/66zF07rw1kyZNBGD06Dfo3fswunbdgSOOOIjHHnuYwsJCAH799Rc6d96aIUMeYO+9\nd+eII3qxcOFCPvnkI0499Z9067YTXbtuzzHHHMb7779XdIw5c+Zw3XVXsueeu9Kz567ccccATj/9\nRB544N9FZUo7br6qEYGdmXUyswVmtlMpZbYys7fNbJaZuZkdmc06ioiIiIjUNC+++ByrrtqczTff\ngq5duzFv3jxGjHgegB49evL5558yZcqUovIvvzyCdu02o02btrz33ttceeUlHHzwYTz88JOcdNLp\n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\nrX4OIiIiIlK7FNgJDz30ANdddyXHHXcS3buvxezZs3nxxbGcc87pzJo1kwEDtq2x9y4oKKjU+u++\n+zannHIC66/fi7POGka7du35+uuvuPrq4bz11htcffX1NG3atIZKW76LLx7GgQceWhRYXXDBOXz1\n1Rccf/wQOnfuwh9/TOWuu27n6KMP4cYbby8WxDVu3Jjnn3+O/fY7qNg2X3/9VWbMmFFsWUFBAWut\ntQ7nnXcxUMisWbMYP/4rLrzwXAoLCznyyGMBGDToAPbZZzc23XRzOnbsVKP7LiIiIiJ1R10xhYcf\nfpDttx/IgAHb0rFjJ5ZfvguDBh3IVlttw7333l2j711YWFjhdWfOnMl5553JhhtuzLBhF7PmmmvT\nocMy9O69MVdccTVff/0VDzwwugZLW7bXX3+VyZN/ZLPN+gIwY8Z0xo59hiOPPJaePXvRoUMHVlll\nVc488zxat16ahx8eU+z1667bkxdeeG6+7T7//DOsueba8y1v3LgxrVq1olWr1rRr155evTZkl132\n4KmnHitap3nzxdlyy625+eb/q+a9FREREZH6RIGd0KhRIz788H9Mn/5nseVHH30c559/adHjTTbp\nyaOPjuGIIw6ib9+N2Gef3fj444948MH72Hnnbdlqq804++zTmT17dtFrxoy5j0GDdqdv343YcsvN\nOP74o/nuu2+rVM5x417il19+Zv/9D57vufbtOzBixEi22Sa6NBYWFnLLLTewxx4706dPbwYM6MPQ\noUP4/fepALz33jtsttkGvPDCc+y66w70778pQ4b8m59+mly0zVdfHceBB+7NFltsxI47DmD48EuZ\nOXNmqeUbPXoUm2++RdaSAgoKCnjjjdeYO3du0dJGjRoxYsRI9tln/3lrFhTQp08/vvrqy2Kfz6xZ\nsxg37iW22GLLCn1G0VpZvBW0T59+PPfc0/zyy88V2oaIiIiI5B8FdsJee+3LJ598xE47bc0ppxzP\nqFF38MUXn9OiRUs6dOhQbN3rr7+OQYMO4NZbR7H44otz0kmDeeWVl7j88qs47bSzeeml53n00YcA\neOGF57j66uEccMAhjBp1P5deOpwff/yBa64ZUaVyfv75ZzRr1owuXbqW+Hy3bt1p2bIlAHfffSf3\n3z+aE04Ywt13P8g551zABx/8j9tuu6lo/blz5zJy5DWceuqZXHvtDUyb9jsnnHAMc+fO5fffpzJ0\n6BAGDtyVUaMe4KyzhjF27LPcdddtJb73X3/9xXvvvU3v3hsVLWvevDkDB+7K/fePZuDArRk27Cwe\nfXQMkyf/SIcOHYrKmtG583KssMJKxVrtXn/9FTp0WKbUfc42adJEHnroAXbYYWCx5WarstRSLXjj\njdfK3YaIiIiI5CeNsasBn074lY8n/FYn771Gl1as1qV1pV7Tp08/2rZtz7333sWbb77Bq6+Oo7Cw\nkJVXNs4441y6dl2haN0ddhhI794bA7DVVtswfPilnHjiaXTo0IGuXVdgpZVW4euvvwKgZctWnHrq\nmfTp0w+IVrUtttiSZ555skr7Nm3aHxVOjrL88l04/fSz6dmzV9F7b7BBb7766sti6w0efDw9eqwH\nwNCh57LHHgN55503admyFbNnz6ZNm7a0a9eedu3ac/nlV9KsWfMS3+/zzz9jzpw5dO26YrHlxx13\nImus0Y1HH32YsWOf4emnnwBgs836csopQ+fbnz59tuCFF55j7733A+C5556hb9+SE9i8++7b9O+/\nKQBz5sxh1qyZdOzYmYEDd5lv3a5dV+Djjz9km222L/NzExEREZH81CACOzMbCTRy90PLWGc0sAtQ\nyLy+as+6e8X6uDVw3bp1p1u3CyksLMT9U1555WXuu+8eTjppMHff/WBRMpDsBBzNmjWjoKCgWKte\nkyZNmDlzFgBrr92D8eO/4uab/49vvpnAxInfMH78l7Rt277c8uy7725MnvwjhYXRTfGOO0bTokVL\npk2bVqH92XDDjfnoow+5/vprmTjxGyZOnMA330xgrbXWKVonEpD0KHrcsWMnWrZsxVdffckee+xD\nnz79GDLkONq2bcf66/dik002Z6ONNinx/X799ReA+VrhAPr3H0D//gP455+/+eCD9xk79lkef/wR\nGjVqxDnnXADMG2vYp08/brhhJD/++COtWrXi1VfHcfDBhzNlyk/zbXeNNbozdOg5FBYWMnfuXH76\naTK33HIDBx88iFtuGcVSSy1VtG7Llq349ddfK/TZiYiIiEj+yfvAzszOBQ4Fbihn1W7AECC7L90/\nNVGm1bq0rnSrWV356afJ3H77LRx44CG0atWagoICVl11dVZddXXWXHMtTjjhWL76mYlnwQAAIABJ\nREFU6sui1PyLLFL8J1NWVssnn3yMiy8exoAB27L22j3YZZc9eP31V3jqqSfKLddll11JixZN+eWX\nGPfXpk1bunVbkzvuuIXx479khRVWmu8111wzgubNm3PAAYdwyy03cOedt7HttjvQu/dG7LffgYwe\nPYrJk38s9ppMwJoxd+4cGjWKHsrnnHMBBx54KK+9No4333yd0047kQEDtuXUU8+c770zn8OcOXOK\ntvnee+/w2mvjOPLIwQA0adKUnj170bNnL1q2bMX998+f6GW55ZZP3TGfZZllOtKpU2c6depcYmDX\npEkTll22Y9Hjzp2XY/nluzBw4DY899zTxVru5s6dS6NGlctAKiIiIiL5I2/H2JlZVzMbCxwGfFPO\nuosBKwFvuftPWf9+r42y1mdNmjTh0UfHlNg9cvHFl6CgoIDWrasWpI4adTs77bQLJ588lJ12+hfd\nunVn0qSJRKNp2dq370Dnzp3p2LETHTt2olGjRvTsuQHt2rXn1ltvnG/9b7+dxJgx9xUFVXfddTuH\nHHI4xx13IttuuwMrr2x8++3E+bJwfvbZJ0X/nzjxG/744w9WXtn47LNPueqq/7D88l3YY499uOKK\nqznssKMYO/aZEsu79NJtAJg6dWrRsunTp6fxij7f+ksssUSpn2t0xxzLiy+OrfQ8gpkkLdnJWqJc\nv9GmTdtKbUtERERE8kc+t9htCEwE9gDuKWfdVYFFgE9rulD5pkWLluy11yBGjryGP//8k80370uT\nJk358ssvuOGG69h66+1o27Zdlbbdrl17Pvjgfb788guaNm3K008/wfPPP0urVlULFBs3bszJJw/l\n1FNP4IwzTmG33fZk6aXb8OmnHzNy5DWsuOLK7LbbXkXv/cYbr9Or14bMnj2HMWPu46OPPmSNNboX\nba+wsJDLL7+Yk046lUUXXZQrrriE1VfvxjrrrMu3307iwQfvZbHFFmO77XZkxozpvPLKy6y+evcS\ny7bSSquw6KKN+eKLz2jTJsYgbrTRJqy9dg+GDPk3Bx10GOuss27qjvk/7rjjVo477sQSt9W3bz9u\nuul6vv76Kw455Ihi5c02a9asoi6gAFOmTOH666+lWbPmRVMuZHz55Rdsu+0Olfi0RURERCSf5G1g\n5+53AncCmFl5q3cDZgHnmtnWwF/AvcAwd6+R7pj55JBDjqBTp8488sgYRo8excyZM+nYsSPbbLMD\nu+22Z9F6FZlMPHud4447iUsuuYAjjjiIZs2asdpqqzNkyGlceumFRdMKFBQUVGqS8p49N+C6627k\n9ttv4ayzTuOPP36nffsODBiwDXvuuS9NmjQB4IwzzuWKKy7mwAP3Yckll2LttXtwxBHHcNttN/HP\nP/O+8q233pYzzzyVGTOms9FGmzB4cARbnTp15sILL+eGG0Zy33330LhxY3r12pBjjvl3ieVq1qwZ\nPXqsy7vvvlOUXKagoIDLLhvBnXfexujRdzFixGVAASuvvAqnnXYmm2yyeYmf23LLdaFr1xVp0qQJ\nyyyzbInrAHzwwfvstNPWRc8tvvgSrLrq6gwffg1t2rQpWu/zzz/jr79mFJVLRERERBqegspMEF1f\nmdnzwBelJU8xs/OBE4gxds8B3YH/AE+6+wFlbXvKlGn5/wHlqbZtl2TKlIolS6ms9957h8GDj+CB\nBx6rti6Kr732ChdfPIwHHnisaJxefXDllZfz559/ctpp/8/efYfHUZ2LH/9O2b4radWbbVku64rB\nBeOGKxgTIIQSemgJ5JKQ8su93OSmcMml3ARSSYAQAoR6QyDUBELAYAy4UIwrXlxlq7eVVtt3yu+P\nkdeWJdlylWTO53n0yDtzZubMHK923zln3nPrYW1/LNtBODSiLQYO0Rb9T7TBwCDaYWAR7dF/Cgp8\n/Z7M4HMR2HWWyQkGg237vP4y8DSQHwwGe52bQNN0U1WVo1pfof+tXr2ar3zlKyxbtoyiooNn6eyr\nyy+/nMsuu4xzzx0Y0wqEw2HOPvtsnnrqKYYOHdrf1REEQRAEQThR9XtgN2iHYh6qfYO6Tus7fw8B\neg3sQqHYMauTcGDH8q5TW1sMSZJobY0iy0fvGN/73g/44Q9vYerU2d0ybvaH++67l4svvhyXy3/Y\n11Lc/Rs4RFsMHKIt+p9og4FBtMPAItqj/xQU+Pq7Cp+PwC4QCPwFsAWDwQv2WTwNa7qDrT1vJZzI\nTjllCu+8s/qo73fo0Aoef7z7NAb95aabvtXfVRAEQRAEQRCOgxMysAsEAjYgF2gNBoNp4Fng6UAg\n8F3gRWAycDdwdzAYFF1ygiAIgiAIgiAMagMnw8OR2f9BwZlALTADIBgM/hW4pvNnPVZQ96tgMHh4\n2SQEQRAEQRAEQRAGkBOixy4YDC7Y7/UyrHnr9l32BPDE8ayXIAiCIAiCIAjC8XCi9NgJgiAIgiAI\ngiB8bonAThAEQRAEQRAEYZATgZ0gCIIgCIIgCMIgJwI7QRAEQRAEQRCEQU4EdgI333wjP/vZHT2u\n+853buLOO28DoL6+jjlzprF+/do+7fcf/3iZuXOnH1adTNPk6aef5utfv44lSxawcOEsrr76Uh5/\n/BFSqdRh7fNwrVjxLlVVO4FDvwb7evTRh/jTn/4AHPja/POf/2DOnGmZ13fc8d/MmTONW2/9rx7L\nP/HEo8yZMy3Thn2p4003fZXNmzcd8jkIgiAIgiAIA5MI7IQ+Kyws4qWX/sm4cRP6VF6SJCRJOuTj\n6LrO9773LX73u9+xePHZ/OEPj/Dkk89x1VXX8vLLL3DLLd855H0erubmJm655buEQq2ZZYdzTjt3\n7uCVV17kyiuvyeyjt/3sv06SJFRVZeXK90in093KL136BrLc9a18sDr+27/dzB13/Deaph3imQiC\nIAiCIAgDkQjshD6TZRm/PxdFUQ5e+Ag89dTjfPLJxzz22GN86UsXMXToMIqLi1m0aDG/+tXvWbt2\nDStWvHdM67CHYRjdlpnm/tMmHtwjj/yRJUvOweFwHFY9xo4dD8DKlV3Pu6amml27djJ6dOCQ6jhx\n4iTcbg+vv/7qYdVHEARBEARBGFhEYCf02f5D/HRd5777fst55y1m8eK53HXXT7ntth9lhm7u8fLL\nL3DxxeexcOEsvvnNG6iu3n3A4zz//F9ZsuQLjBgxotu6srJynnjir8yYMQuAV199hcsvv5Bf/OJn\nnHXWPO64478BWLv2E775zRs488y5nHfeYn7963tIJpOYpsk555zBCy88m9nnQw89wJw502hubs4s\nu+qqL/PMM09x4YXnIEkS3/rW17uc17p1n3D99VexYMFMrrzyYt5//91ez6exsYG3336T+fMXHfC8\nD8ThcDBr1um8/fabXZYvXfovZs6cg9PpOuR9zp+/kL/85cnDrpMgCIIgCIIwcJwQE5QPNMHWrWwO\nbemXY4/xjyKQO/KY7X/fIX733fdb3njjn/zgBz+hpKSUP//5T7z55uucddYXMmV0Xef111/lzjvv\nAUxuu+1H3H33XfzmN/f1uP/a2hqamhqZPHlqr3UoKyvv8nr37l2MHTueRx55inQ6zaZNG/jOd/6N\niy++jFtu+SF1dbXcffed1NfX8r//+0tOO20mH364mvPPvwiAjz76AFmWWbPmQ8444yzq6+upqtrJ\nnDnzOOWUKVx33ZXceefdTJkyjXA4DMBzzz3DD37wE0pLy7j//nu57bYf8tJLr/fYI7dixXsUFBRS\n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\nFieR6ojypHpiaqiOkF1BYqoLIOMT3TSlnXP3AG8uzhpXqLCjG6i4mWWBdwFHqcKedFcBu+G7Or0b\n+K4ymJWGmd3onPsM8FHgmKjr2Sb8+JUz8F0Cr5/CIu4yohaJ5+ODCvAJO9Y555qisSx3RP9kkqiO\nKGuqJ6aA6gjZFajFrsI55z6In6foIPOTnA61znOezsrkcs7NATqjGyYpIefcy4D/wgcWq/FjjL5u\nZjdMacF2IWqRKB+qI8qX6ompoTpCqpkCuwrnnHs3vq/+R8ysd6rLI1JOnHMdZtY51eXY1TjnpuEz\nYh4DzAAuVIvE1FAdITI81RFSbRTYiUjVcc7FzSw31eXY1alFQkTKkeoIqVYK7KpEcaICERGRYqoj\nRESqnwI7ERERERGRCqd57ERERERERCqcAjsREREREZEKp8BORERERESkwimwExERERERqXAK7ERE\nRERERCqcAjsREREREZEKp8BORERERESkwimwExERERERqXAK7ERERERERCqcAjsREREREZEKp8BO\nRERERESkwimwExERERERqXAK7ERERERERCqcAjsREREREZEKp8BORERERESkwimwExERERERqXAK\n7ERERERERCqcAjsREREREZEKp8BORERERESkwimwExERERERqXAK7ERERERERCqcAjsREREREZEK\np8BORERERESkwimwExERERERqXAK7ERERERERCqcAjsREREREZEKp8BORERERESkwimwExERERER\nqXAK7ERERERERCqcAjsREREREZEKp8BORERERESkwimwExERERERqXAK7ERERERERCqcAjsRERER\nEZEKp8BORERERESkwiWmugAiIrJjzrlLgfeOYtXLzOx9k12eAufcA8D+Q7z1czN7zw62+wVw4qDF\nKWA98Hfga2b2+IQVdII559YC/zGzY6e6LDsyzHnOA33AQ8APzOyqCTzeHcA0M1syQfu7E2idqP2J\niFQ7BXYiIuXvQuDGotcvA04BfgTcWrT8qVIVyDkXB/YFfgn8ftDby0bYPIz+fRjojpY1AfsA7wdO\ncM4dbWZ3TVyJJ1Q41QUYpaHOcwBMxz8ouMI5N93MLpig430eqJ2gfUHlnGcRkbKgwE5EpMxFAc7W\nIMc5V4MP7O4wsyunqFj74G/if2tmV49zH78xs/XFC5xz5wP3AL9yzu1lZumdLKcMfZ4vAwz4knPu\nIjPL7+xBzOzGkdcSEZHJojF2IiIyHvvhW1QencidmtkzwFnAPGDY7pyyc8ysD/gj0I5veRURkQqn\nFjsRkSrknDsK+BxwMH5c1R3AF83sjqJ11gC/wo+3+jTQgW8t+18zu32EQ+wX7deifTWaWf8EFf+X\n+O6nrwEuHlTWacAJwFrgQDPrcc6dju9auBhfrz0N/NjM/i/a9hFgi5ktLRzAOfcJ4JvAh8zswqLl\njwEPmdlbo9fvAj6Jb6F8HPjUUAUe6XyPtwzReL6rgAeicuwJPAN8y8wuHstJHUKhlW7rvYBz7uXA\nF4t+j9uBz5jZvUXrDHkt8N2FtxsT55x7IfBlfPfhGuA+4Bwz+2NxQZxzr4mOewCwEvjK4MI65+qB\nbwHH4gP/dcC1wOfMrHvw+iIiuxq12ImIVBnn3An4m+yZwBeAr+IDk5ucc68atPrrgW8DP8ePkdoN\n+Ktz7pARDrM/sAW4yDnXA/Q65x53zr15Z8tvZr344OX5g946CVgEfAQfuPU4574FfA/4D/Ax4H+B\nDPBt59xJ0XbXAwc555qK9nUEvsXxZYUFzrkF+NarP0SvTwN+BmwGPgHcBvwWP0aNou1Gc77HVYbo\n/eOBbwBXAh/HJ5q5yDl3xOBzN1rOuVh0/D62BefHAX8F6vDn8Rxgb+A259yLB+3iJLZdix+ZWQ+D\nxsQ55w4H/om/jt8APoMfS/k759zJResdG/2+dfgHDL8BLuK5iXl+DLwbuBz4IP5afBh/jUREdnlq\nsRMRqSLOuVrg+8CTwIvNLBktvxh4GLgA2Ktok92B1xTGRznnrsS3TJ0DHL2DQ+0HzMDfjL8T36Xv\nY8A1zrkTzezXO/mrbB5UTvBj+l5vZpujstbhb/B/YmanFlaKxo9twLf4XYYPqj4OvAL4U5T45WXA\nKoqCqmj9fLRODT5AuxU4qjAGLcoEWty6NtrzPeYyFC2bDywxsyeiff8JWI4/7zft4BwWtDvnctH/\na/Ctfp/EB5DnmFkmKs8FwE1mtjX4j8Y8Pgh8Fzi8aJ/bXYthnA8MAAeZ2YZofxcAdwP/55z7VRQQ\nfhPfynpY0fn7B/DnonIEwNuA88zsC0XLk8ArnHM1ZpYZxbkQEalaarETEakuhwCzgO8VbpIBzGwj\n/sZ9oXOuuCXsvuKkF2ZW6Pr3cudcyw6Ocz5wmpm9w8x+Z2aXAkvx3ei+PQG/Rw3PzYr4SHEgYWYp\nfHD50UHrtQM9QHP0+hagHzgqev3i6L3zgPnOuYXR8lcD90aJRg4F2oBLBiUW+QnQW/T6UEZ3vsdT\nhoIHCkFdtO9n8a2lcxhZgA8wN0T/VuNbHl+Fv06FIOkQfGvtdc659sI/oB4/Fu9Q59yMov0+sqOg\nzjm3O7575iWFoC4qeyo6bgtwlHNuN2AJcPmg8/cX/AOGwusQWAO82zn3Ludca7T8U2Z2mII6EREF\ndiIi1WZPfEA01DxwhUQnexQte2SI9Z7A1w8LhjuImf3QzH48aFkfvrvg7s65wa1tY9WOD0SKrR9i\nvTRwnHPucufcXc65TfjfvZWojosya/6dbUHVkcCz+O6nAT6IjeNbKAtjv/bAn8ftpm4ws+ygZQsZ\nxfkeYxn+NGg/g88D+O6Y8SGWDxYCbwWOif4dCbwQaDOzM4uC1sL1+h7bgsAN+HP+wei93Yv2O9S1\nKLZn9HO48xLgz/HCaNlQU2Q8Nuj1KfiWwp8Cnc65fzjnznDONT93UxGRXY+6YoqIVJdgB+8VHuYV\nTyEw1HQChYAhN8R7Iync8I/7Zts514HvfnjNoLdyg9YL8N31XgncjO82+YPo5+A58P4E/MA514Yf\nW3azma13zj2O7wr5FD4YLAR2hdbChiGKWPxQdCzne6xlKNjZqQhuGzzdwRAK1/xM4N5h1imeJ3Gk\nz8Zoz8tozzNmdkM0BvENwHH4VsdXAGc45w4ys64RyiQiUtUU2ImIVJfl+JvqxWw/qTnRMvAtRQVD\ntazti09A8sxQB4i6Df4RuMzMzh309vPwN+vLx1DmwU6M9nHtCOsdgw/qPm1m3ygqXy2DEpzgx7gF\n+GBgKXBGtPxmfJC1BthgZndHy5dF6+9D0XmMko4swHc5hdGd7xVjLMO/Rvi9J8Py6GePmf29+I0o\nkU4rkBy80Sj2t3iI94o/h09H/99niPUWFZWhHp+EZbmZXQVcFQX2nwbOxrdKXjKG8omIVB11xRQR\nqS53AJ3AR5xzjYWFUSvRqfgb4+Luly91zr2gaL35+CQV15vZwDDHeAafAfJU51xD0baLgHdE246r\n9SQam/V5/A3/4Ba7wdqjn4Pn0vswfoze1oeX0fx4Bvw3PjPjLdFbN+GDinfiA6+Cu/Dj0T4cBYoF\n78UHOQWjOd8Pj7MMpVT4PT426Jq2Ab8GLoq6oY5K9Ls+BJzsnJtVtL9afJKdXnyiltX4c31SdKzC\nekfix94VzI7K+D9Fxwjx03MEjK91WUSkqlRFi51z7kIgZmanjHL9PwCNZnbUiCuLiJSnIbu6mVna\nOfcxfAr4u51zP8EHOR/AJxo5adAmKeBG59x5+Fa606NlZw13YDMLo7njrgLuiDJAzoi27eW5yUyG\n81bnXCEAbMDfyL8H3y3wdaMIJG7Fp+s/3zm3Dz5hyjH41psBfIKOYoXMlKvMrDCm6+bo50KK5qgz\ns7xz7gz8nHr/dM79NFrnNHzGzsJ6Yz3foy5DKZlZquj3+Ldz7lL85+EUfJKWt4xjtx/Bd5W9J8qG\n2Y8PjA8ATima9/Dj+PGH/4rWm47/DBUnXXnGOXcN8HHn3HR8MDgb/5lbiQ8+RUR2aRXfYuec+zK+\n4hnt+qfiJzcVEalkgzNGbmVmV+K/5zrxkz6fiW/VepmZ3TBo9ZujdT6In7vsP8DhZjZU0oviY1yN\nD6BS+HT1Z+BvzpcWBSwj+T4+kPhZ9P/X41vpXmRm/x60bsig39nMVuHHWj2Lz+54Nj4IOR64FHiB\nc25a0SbXR/u4uWgfq/Fjx7LAdufGzH6DH8+VA76OP6fvitYPi9Yby/keUxmG+r1HWD7UeqMS/R6v\nxY+T/Dz+nG7AT4dx3SiPXXxebsaPHXwQf06+hM/meayZXVK03p34pC4ronXejX+wcPOg45yEvw6v\nwCd5OQM/797LomkTRER2aUEYjvo7v6w45/bE96ffD/8U8MaRWuycc3sDd+IzbaXVYiciuzLn3Bp8\nan097BIREalwldxitxT/lPYARjFIPxrw/lP8077B4zFEREREREQqVsUGdmZ2hZmdNIoUzgX/C+TN\n7FuTWS4REREREZFSq4rkKSNxzh2EH5z94qkui4hIGRntOC0REREpc1Uf2Dnn6vAD8z9rZk+PtL6I\nyK7CzOZNdRlERERkYlR9YAccgp8M9RvOuW9Gy+qAmHOuG1hiZiuH2zibzYWJRHxcB86l02x65EmC\n+NT2eA1zeWYs2Zt4be3IK1e5gd4Bbv/dP0nU1kx1UUQqTjad4fA3LKWhuWHklXdCZiDFU7c8QDxR\n+VVULptlr5cfSE1D3VQXZZfQ093LNVdcR22d6juRyZJOpTnhnW+kpbV5qouynXwuS3LjBoKg9Pfd\nYZgnuXbV9BkHvnhcc7hOlMqvNUd2F37i12JfAxbgJ9JdvaONN2/u39HbO5TPZEgOZAni4wsMJ0qY\ny5Hv7CVWU1nBzMyZLWzYMLEZrJP9SZKZHDVT8EdfqVqa6+npTU51MYSpvxaZTI7Ojb3UD4x6nupx\nySbT9KeyxPOTepidMtprkctk6ezsJVGfLkGpdi1D1RG9vX2k0yH6ii+dlpY6enpSU10MiZTieqTT\nIZ0be0mmyqwnfz5HMJBmSr4AwnxZJC6pysDOOVeDnxh2k5mlgGWD3u8GBtQ1U0REREREqkE5BJcT\nYfAjg6X4lrjDpqAsIiIiIiIiJVUVLXaDJxo3s5uBYfs/mtl/TXqhRERERERESqRaWuxERERERER2\nWQrsREREREREKpwCOxERERERkQqnwE5ERERERKTCKbATERERERGpcArsREREREREKpwCOxERERER\nkQqnwE5ERERERKTCKbATERERERGpcImpLoBMvbe+9fWsW7d26+tYLEZDQyP7738Ap532Efbee59x\n7be7u5tbb72J4457AwDZbJazz/4ct99+Ky0trfz2t3/a4farVq3i6KOP5oc/vJgDDng+H/nIqey2\n2wLOOusz4yqPiIiIiEi1UmAnBEHAu951Eiee+HYA8vk8mzZt5Dvf+Sb//d+n88tfXktDQ8OY93vB\nBd9n1aoVWwO7u+++i7///a+ce+532WuvvUddtoJzzvkW8Xh8zOUQEREREal26oopADQ0NNDWNoO2\nthm0t3ewzz6OD3/4Y2zevIl77rl7nHsNt3vV09NNEAQceuhSZs6cNbo9hNv20dLSQmNj4zjLIiIi\nIiLVasOWAR5b2bP1dT4MeWxlz3b3ktVOLXYyrHjcx/21tbV0d3dx4YU/4I47bqenp5v99juQ00//\nKPvs4wD4yEdOZcGCPXjssUdZvXoV8+bN5/HHHwPg5S9/Ca95zXFcf/0ftr4++eT/4uST/4v777+P\nH//4hzz+uFFfX89RR72SD37wdOrq6p9TnsFdMceyrYiIiIhUpi29Kc675n7e9NJFvGCfjiHXOetH\n/wLg0jNeBMC9y7r4wR+X8cnj92bJ7q0lK+tUUmA3CW5/cA23PbCGMAzJJ1MU9SacdIft2cohe+78\nh3fVqpVceOEPmDlzFvvvfwCnn34KQRDj7LO/QQtIarEAACAASURBVGNjIz/96cWcfvop/PSnv2TO\nnDkA/OEP1/HlL3+d3XbbnXnz5nPuueewZs1qzjnnW9TV1bJ48RLOO+9crrvuBhoaGnj44Yf42Mc+\n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\nkuLibPLy8mMdRlgNFdv4mRU/l8v6tKv2GHvfqte6dRuSknaau0cW4b6f7QKsUdXfdvQJVXWYiIxU\n1Y2BTb+IiA94Q0RuUNUNOzoGs13qkNnlj48A9M5usQvGxBVL7IwxJg6N/eDXWIdQSVpaMsXFpbEO\nI6yGim15acX/VqP5nOx9q1rB5vVcf14/2ratPkmOdyJyI25mypZB21YAt6vqqzvy3EFJXZmyXsKO\nQJWJXU5O00rbmjRJIzWl6mQ8Iz0l7LHRnqNMYWE2JCdVeb7U5CRatsyOWE9OTtN6qSc0Jk9g4QiP\nh0r1piQnkZRSeXuopJTqYyp7DXVR3etPTUmK+vXX1o6qt6HqjzVL7IwxJg41a54T6xAqSUtPobjI\nG+swwmqo2FI2F1R43qxZi2qPsffNAIjIEOBh4E3gPWANbsmBs4GXRMQfuG9uR5z7TSBVVc8I2nww\nUAQsru74tWu3VNpWUFBMiddX5XHbirxhjw2Vk9O0ynJ5efk0K/VVeb6SUh+b8/LJzKxcT1n9da0n\nXEx+v0vq/H4q1est9eHzVt4eumydz1t9TKmE/xxqoqrXn5qSRInXF/Xrr43qPud4qD/WLLEzxhhj\njIm9a4HRqhq6CPnrIvI0cBeByVDqSkRSgV2B9apaAryNG3Y5BJdU9gZGAiNVdWt9nNMYs+PtNAPW\njTHGGGMasbbAJxH2vY0bEllb/pDnhwErgb4AqjoBuCTw8zMuqRujqnfX4ZzGmAZmPXbGGGOMMbE3\nDTgdmBJm31HAt7WtWFUHhDyfhlu3Lnjbq8AOvY/PGLNjWWJnjDHG1JO9mjWJdQgmjojIeUFPp+HW\nkWuD66FbDbQATgDOAYY0fIQmFkrG9Cp/PHN1Pq1Cb7ozJgJL7IwxxhhjYiNcD9lpgZ9QzwFjd2w4\nxph4ZomdMcYYY0xsdI51AMaYxGGJnTHGGGNMDKjq0ljHYIxJHJbYGWOMMcbEmIikAdfgZqpsHqaI\nX1WPb9iojDHxxBI7Y4wxxpjYewr4OzAPyItxLMaYOGSJnTHGGFNPFm4uqPDcZsk0NXA6cJeqDo91\nICa2UofMLn98BKB3dotdMCauJFxiJyIHA0eq6qjA8/7AYNwNyr/hFtz8MnYRGmOMMcZU4gdmxjoI\nY0z8Sop1APVJRM4CvgGODjwfBHyGW4TzYyAd+FxETolZkMYYY4wxlb0I/F1EEuq7mTGm4SRaj92/\n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\n2NnMWpcVmNm6hGEFT8WVNQY+IvTuXU2Yxvd74L9mdnRCm9dH3/sSrhrtD9wclQ0GXgJ+AbYHXonb\n7hrCM2H2Jzyv5RTgslV+hSKSaZIO8Xb3icBtwGaEC0THEj5Q9SdcOT8XeAA4MG6zR4FpwIvAv929\nhHCe+pXwIexW4Engv0liqO5Q8/K67v4WcCTQNWpzBGGI1m7uPq+a7YlIZtE5SepUrLS0Nm51ktWV\nmY1h2TDMOcCZ7v5AtO484DB339bMlhASud+BO4Bto6EHZe28AmwJdHT30qjH7l137xVX5yGgj7u3\nipYfAHZ39/Wj5XUJCd3j7n5c3HbvAw3cfftaOxAiIiIiInVIPXZSK9y9gHDVqW9c8WGEq0rxdgYm\nxyd1kRFAO2DjuLKPE+r8zLKx55X5MGF5KrBWNbYTEREREckKusdOatMzwPBoSt8WhB64Pgl1WhKG\nEST6Lfq+ZlxZhdPyVqEwYbm624mIiIiIZAUldlKb/keYxakP0BYY6+4zE+r8CWyRZNv20fc5tRee\niIiIiEj9oF4LqTVxwzEPjb6eSlLtPeAfZrZ1QvlRwK/u/uNK7FKPUBARERGR1ZJ67KS2PUOYySlG\neMxAouHAGcBLZnY54b65fxMeTXDCSu4rcSpgEREREZHVgnrspDbET7X6P8Isme+7+28JdUrdfQFh\nApXRwHXA88BGwMHuPjyxfhX7Wm4q4CTrK9pORERERCSr6XEHIiIiIiIiWU49diIiIiIiIllOiZ2I\niIiIiEiWU2InIiIiIiKS5ZTYiYiIiIiIZDkldiIiIiIiIllOiZ2IiIiIiEiWU2InIiIiIiKS5ZTY\niYiIiIiIZDkldiIiIiIiIllOiZ2IiIiIiEiWU2InIiIiIiKS5ZTYiYiIiIiIZDkldiIiIiIiIllO\niZ2IiIiIiEiWU2InIiIiIiKS5ZTYiYiIiIiIZDkldiIiIiIiIllOiZ2IiIiIiEiWU2InIiIiIiKS\n5ZTYiYiIiIiIZDkldiIiIiIiIllOiZ2IiIiIiEiWU2InIiIiIiKS5ZTYiYiIiIiIZDkldiIiIiIi\nIllOiZ2IiIiIiEiWU2InIiIiIiKS5ZTYiYiIiIiIZDkldiIiIiIiIllOiZ2IiIiIiEiWU2InIiIi\nIiKS5ZTYiYiIiIiIZDkldiIiIiIiIllOiZ2IiIiIiEiWU2InIiIiIiKS5ZTYiYiIiIiIZDkldiIi\n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\np53Beuutv1z9ddftQl5ePt9+u+w4LFhQGA2Z7AnAyJGP06fPoZx11rnl2z377EjiZyKNvwfyrbdG\ns2jRQu6556Hysk8//YRYLJbVs2cqsRMRERGRzNWoEQVDbgh5UQX3ldWGo446lu+//5b+/U/i5JNP\nZ8stt6aoqIi3336DESMepV+/k9h88y0B6Nq1O7FYjIceuo+DD+7Ld9+NX2GGxSZNmvDTTzP4/fff\nad269Qr769ixE7167clNN13PoEEX0q7d2owa9TwTJ/7A2WcPqnbcv/wyi9dff5Xzz7+E9u07Mm7c\nWAoLC+jatTsNGoRertdff4UePXbh559ncOedtxKLxVi8eHEVLVfuqadGsM4667LBBv9gxIjHKCgo\n4IADDlqh3iGHHMbzzz/LkCFXcvTRx0UzXt5IYWEBnTuvs0L9xo0b06fPwTzwwD20aNGKDh068tBD\n91FUVFRep23bdnzzzVdMnjyJRo0a8cYbrzFmzFu0aNGyvE6TJk2ZNm0qf/75J23brk1hYSHvvPMW\nm27ajcmTndtuuxkIzy/MVkrsRERERCSjLd573zrfZ25uLtdddzMvvfQCL7zwHLfddhP5+flsvPGm\n3HDDLcv1qnXo0JFBgy7iscce4b//fZrNNtuC/v3P4rrrBpfXOeKIfzNs2FA++2wsL7/8ZtJ9Xnjh\nZdx9921cffUVLFy4gA03NIYNu4tNN+2WtH4yAweez513DmPw4Mv4+++/6dSpE5dccmX58/ZOP/1M\nRox4jHvvvZN27dqz334HMHbsx/zww/cceODBSdtMnPEzmQMOOIjHHnuYn36awSabdOWOO+6jVasV\nE9iWLVtx6613c889t3PKKf1o2LAhW2+9Lf37n13hkNMBAwbSsGEjrr/+apYsWUzv3n2WOyZnn30e\nN954LaeddgKNGzdmk0025fzzL2bo0OuYPfs32rZtx9FHH8fw4Q8xbtynPPzwE0yY8B233TaUBQsW\n0qlTJ/r1O4nHH3+ECRO+45//3D5pHJkuls3djXVhzpz5OkAiIiIiIhXo2XNbLrvsavbaa590h5I2\nbdo0rzr7rWV63IGIiIiIiEiWU2InIiIiIiI1Vp2hmlL7NBSzChqKKSIiIiIildFQTBEREREREVll\nSuxERERERESynBI7ERERERGRLKfETkREREREJMspsRMREREREclySuxERERERESyXF66A6iImeUA\n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\nAElFTkSuQmCC\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | Stress Events | \n",
+ " mean | \n",
+ " min | \n",
+ " max | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Low Volatility Bull Market | \n",
+ " 0.05% | \n",
+ " -6.05% | \n",
+ " 4.91% | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Stress Events mean min max\n",
+ "Low Volatility Bull Market 0.05% -6.05% 4.91%"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n/wEHKcp+hXRk4QAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | Top 10 long positions of all time | \n",
+ " max | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Data2 | \n",
+ " 91.56% | \n",
+ "
\n",
+ " \n",
+ " | Data0 | \n",
+ " 77.49% | \n",
+ "
\n",
+ " \n",
+ " | Data1 | \n",
+ " 30.45% | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Top 10 long positions of all time max\n",
+ "Data2 91.56%\n",
+ "Data0 77.49%\n",
+ "Data1 30.45%"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | Top 10 short positions of all time | \n",
+ " max | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: [max]\n",
+ "Index: []"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | Top 10 positions of all time | \n",
+ " max | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Data2 | \n",
+ " 91.56% | \n",
+ "
\n",
+ " \n",
+ " | Data0 | \n",
+ " 77.49% | \n",
+ "
\n",
+ " \n",
+ " | Data1 | \n",
+ " 30.45% | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Top 10 positions of all time max\n",
+ "Data2 91.56%\n",
+ "Data0 77.49%\n",
+ "Data1 30.45%"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | All positions ever held | \n",
+ " max | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Data2 | \n",
+ " 91.56% | \n",
+ "
\n",
+ " \n",
+ " | Data0 | \n",
+ " 77.49% | \n",
+ "
\n",
+ " \n",
+ " | Data1 | \n",
+ " 30.45% | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "All positions ever held max\n",
+ "Data2 91.56%\n",
+ "Data0 77.49%\n",
+ "Data1 30.45%"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n0jpLTWJmC4ghLNsTi9WdnI3KYmbHE2Fg/04UWN5FDH3RonV1YmYfJFZa/yqx6vfpwLfc/etNTdgE\nYGb7EtG8ziDO+SOZ57Yjrsv3k+FI0iBmZkSL7Ufc/btmdgExd2Y5MAP4uLv/pJlpHK+UR+ST8onm\nUB4hzaTKUpMkUaauJYZOvD6dBG0liwUm235PRDh6WfYGIbVlZusQEY72IUIkn6vIRY2TFP4+CjxF\ntJwvIeYDHE0UBo929xXNS+HEkQ4zSv59LvByd98uabHdBdjU3RVlrY6UR+ST8onmUR4hzaLKUhOk\nBREzOwM4yN03K7NPAWh39x4zWw/YS1GNGsPMNgCecS3U2HBmtjvwPqI1/XFiGNKX3f2apiZsAkmG\nGW3v7tcmj78E7Ay8IZlILXWmPCL/lE80h/IIaQZVlprIzD5ETM7dyWMV8HL7rNWKKDIRmNkCd39m\n5D2lljTMKD+UR4gMTXmENIomgTbXCmJtkgeH2kGZoEw0ZtYOoEywaS4h1vA5ADgNOEsVpaZRHiFS\nQnmENJp6lkREZC0aZiQiIqLKUi5kJ1OLiIhkKY8QEWkeVZZERERERETK0JwlERERERGRMlRZEhER\nERERKUOVJRERERERkTJUWRIRERERESlDlSUREREREZEyVFkSEREREREpQ5UlERERERGRMlRZEhER\nERERKUOVJRERERERkTJUWRIRERERESlDlSUREREREZEyVFkSEREREREpQ5UlERERERGRMlRZEhER\nERERKUOVJRERERERkTJUWRIRERERESlDlSUREREREZEyVFkSEREREREpQ5UlERERERGRMlRZEhER\nERERKUOVJRERERERkTJUWRIRERERESlDlSUREREREZEyVFkSEREREREpQ5UlERERERGRMlRZEhER\nERERKUOVJRERERERkTJUWRIRERERESlDlSUREREREZEyVFkSEREREREpQ5UlERERERGRMlRZEhER\nERERKUOVJRERERERkTJUWRIRERERESlDlSUREREREZEyVFkSEREREREpQ5UlERERERGRMlRZEhER\nERERKUOVJRERERERkTImNTsBIlI5M/sh8K6SzX3ASuBe4Bx3v6DGn7kQWOnuqzLbPg4cB8wFznT3\nT1X4Xn8CNnX3LZLHPwTe6e7tNU7zbOBpYCqwg7vfWWafnwBvdffJ5R43i5lNARa4++PJ4yOA7wG7\n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\npdvfT8yj3I24J22epLVAEhAiiZy6N9Hj/07iGh6YpKvWlWqR3CoUi7UY/lodM3susdDg1sTN+Q9D\n9SyZ2YnEWgNbZbadD2zk7q9pRHpFRETGwszmAze4+7Yj7twEZvZv4G/u/s4mff5RxLyYl1QwPFjG\nIJl31FtSWcPMNiXmWR3v7hVV7EUmgmb1LL2cmBS9LQOTw4eyG9FFnPUnoiVVRESkFRxJmRDzeWBm\nexORJIfrmZXx45XACjM7oGT724nep+EiMYpMOE2Zs+TuFxFj2jEbcQjuxsSY/KzHgRlmNt/dl9Q+\nhSIiIjW1lOg5yY1k3a/XEotG3zLU+kEy7lxPROL7gZmdTZSpdiTm2l3t7qUN1CITWtMDPFRgBmuv\nG5KOA5/W4LSIiIhUzd3PbnYayugl5jTei+agTBjuvsrMdgM+T8yFW0gEzzqVmMckIhmtUFnqBKaW\nbEsfl1sVW0REREbg7j8h1h9ruqQymccK5biURLI7otnpEGkFrVBZegTYsGTbRsCKJFLLkHp6eouT\nJrUPt4uIiIiIiExsQy5V0QqVpb+wdrjMvYC/jvTCpUvHvF6fjNLChbNZtKij2cmY8HQd8kPXIj90\nLZpP1yAfdB3yQ9eiuRYunD3kc7mrLJnZZGJ1+iXuvoYIMX5csiDaWcRE1LcR64uIiIiIiIjURVMX\npU2ULvT0ciIyy64A7v40scjfi4moeEcCh7n7DY1MpIiIiIiITCxN71ly971KHt8AtJds+wewSyPT\nJSIiIiIiE1seepZERERERERyR5UlERERERGRMlRZEhERERERKUOVJRERERERkTJUWRIRERERESlD\nlSUREREREZEyVFkSEREREREpQ5UlERERERGRMlRZEhERERERKUOVJRERERERkTJUWRIRERERESlD\nlSUREREREZEyVFkSERGRunpi8UqeWrqq2ckQEanapGYnQERERMavB55YzkNPddDeVmD9eTOanRwR\nkaqoZ0lERETqZsnyLgBmTFX7rIi0HlWWREREpO6KxWanQESkeqosiYiISN2okiQirUyVJREREak7\n1ZlEpBWpsiQiIiJ1V1QXk4i0IFWWREREpG7SKpLqSiLSilRZEhERkboraiCeiLQgVZZERESkbvqH\n36muJCItSJUlERERqTvVlUSkFamyJCIiIvWn2pKItCBVlkRERKRuBkbhqbYkIq1HlSURERGpO0XD\n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\na6HdzHgU/gWdDk/WLMuK2JXmyisH89tv66K+rm3bfN58872ElqVnz6PZf/8hTJ06mU2bNtCyZSv6\n9TuVK66I+fR7kpe6pDgtS6kqT2j31GRM0lwf6dCy5HSXjCbasUxFNzyn5SYrK5XZ8CwyM2N7+BQt\nWPLKmLn6MJMDp8/ATUkdLoRIV/EGSyMwAdMy4BNMoHSjUupg4GDg+Bi2cSjQDPjcWaC1XqWUWmm/\nPjxYOg2Y6QRK9vrPA8/HWmgziDf1d+hIs8a7NX4qHpYVeW6WV175jytl2Xvv/tx772Byc9OzJSmc\n07LilTFLFRWhY5ZSkzrcq93wvNyyVFFhgoNo/H5ftc9tqhM8ZGSYMqSyG15WVjzd8Gou91rqcOe7\nIZaxqOnUshTa9dhLx1sIIWIRV+1Ta70AOBIT6JyK6Qp3FrAK6KO1jiVlmjODangTxW/AvhHW7w6s\nUkrdpZRarpT6VSk1VikVeRKfCNx6mhV5zJL3sy9FC5bc4FQevH7M4lGVRtcbgYKTOjxVgYtJM23+\n75WMgOmQOjy2lqWq353jmozPcvjDJ6e1MCuLlLYsZWXFVvmO9OAK3HuQFs2335bw3ntFMa2brvMs\neeGeJ4QQ8YirZcnuLjdLa31hA/bZBAhqrcOrv6VAboT1WwCXA+8DA4GOwBNAPnBZLDt06wYdOjbD\n4bUnmZEEg14Klqr/3BM4FUuvBApO6vBUfU6qtyx5o/KUDqnDnW5n0YSPB7Esk3AhGS1LNbvhWSHZ\n8FI3Zikzs2Fjlrxy/Tl27w5SXBxbgdKtZQm8kwFUCCHiEW83vGcwAcq/G7DPYiBDKZWhtQ691ecA\nkR6plQObgYu11hbwg5304TWl1E1a663RdtS6dRMyM/00b76L1q2bkp+fHW3VpMjMrKBp0yLy85tX\nLttrLz9NmlBtmdc0bbqbvLysBpcxEe9x69YS8vKKaN26Ka1axXu5elPz5uW0bp1F8+bBlFyXdZ2H\nTZuKadkyQH5+M5o0KU/6tZmbu538/OY0b+6nsDCTvLyA65+HoqJS8vJ2kZOTk9SyNGTbhYXOeYq8\njb32soCqv7doYdG6dXnC31Nu7jaaNKl+f2jePEBGho+iojJatGhCfn6ThO0vmuzsbbRqlUWrVk3I\nz8+rdd1mzUpp0yaP/Pymlcvy85vTokWJ/frklzcWzZoFKS6uiOl85eZuxefz9neJIy9vO+3aNaNF\n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\nTypANKxf6O5uZo8SYpuHu/v/gJ7RRF3PcjGrm7GERnknM5tS7G86saDpl4Tfq42iuRc/AmebWT13\n/yPjJa7mokbI5cDrUez/i0BDwojT+4RMYBBGNWYAvc3szWgSu5SD6ojcp3oi41RHSFZpZCnDku7y\n/YcQKrGVmQ0nhK+8B3QDhhMytSQy6/wOnOHuT5lZzLRgYKUws2bAQUmbFgG/RNnBEmvMqAKseBOA\n/wJ9COEWyd+TRLz52YQG49xiWdpUCVaSpDCj6whzaBoQVrefBNSNMn91JISJdYnmyEg5qY7Ibaon\nskJ1hGSV1lnKEjNrSghh2ZGwWN0NyVlZzKwfIQ3sx4QGy5mE0BctWldJzOwCwkrrtxNW/b4TuNfd\nB2e1YDWAmR1KyOZ1N+Gcz0h6bgfCdXkkCkeSDDEzI9yx7ePuD5nZCMLcmd+A+sCl7v5kNstYXamO\nyE2qJ7JDdYRkkzpLWRJlmXqTEDpxbGIStBVbLDDaNo6Q4WiP5B8IqVhm1oiQ4egQQorkB5W5KHOi\nxl9f4GfCnfMFhPkAFxMagxe7+9LslbDmSIQZRf//ILCXu+8Q3bHtCmzu7sqyVolUR+Qm1RPZozpC\nskWdpSxINETM7G7geHffIsU+MaCWu682s+bAQcpqlBlm1hKY71qoMePMbF/gXMLd9NmEMKRb3X1s\nVgtWg0RhRju6+5vR40HArsCfo4nUUslUR+Q+1RPZoTpCskGdpSwyswsJk3N38bAKeKp91rmLKFIT\nmFlTd5+//j2lIinMKHeojhApmeoIyRRNAs2upYS1SaaXtIMqQalpzKwWgCrBrBlJWMOnG3ALMFQd\npaxRHSFSjOoIyTSNLImIyDoUZiQiIqLOUk5InkwtIiKSTHWEiEj2qLMkIiIiIiKSguYsiYiIiIiI\npKDOkoiIiIiISArqLImIiIiIiKSgzpKIiIiIiEgK6iyJiIiIiIikoM6SiIiIiIhICuosiYiIiIiI\npKDOkoiIiIiISArqLImIiIiIiKSgzpKIiIiIiEgK6iyJiIiIiIikoM6SiIiIiIhICuosiYiIiIiI\npKDOkoiIiIiISArqLImIiIiIiKSgzpKIiIiIiCH0UoUAACAASURBVEgK6iyJiIiIiIikoM6SiIiI\niIhICuosiYiIiIiIpKDOkoiIiIiISArqLImIiIiIiKSgzpKIiIiIiEgK6iyJiIiIiIikoM6SiIiI\n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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2IAAAPVCAYAAAAEYFlfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VMX+x/F3OoQaIAih14PSrgqCIC0hIaHITwWkCoiI\nKE0QRQRpUhRFEMELKKAUy/XKvah0EPVaKIooCEPvRHovKbu/PzZZ0yAJZLMb8nk9T56wc+bMzDmT\nkP3ulONlt9sRERERERGR7OPt7gaIiIiIiIjkNgrEREREREREspkCMRERERERkWymQExERERERCSb\nKRATERERERHJZgrEREREREREspmvuxsgIiI5l2VZ84DuKZJjgBPAemCSMebPWyz7G6CcMaZiwuv1\nQNnE17dY5ihgVAayrjfGhN5qPSIiIulRICYiIrfLDgwCTie8zgdUAnoB7SzLijTGfHcL5b6WUFbS\nem7Xv4HdSV7fDQwHlgBfJEn/KwvqEhERuSEFYiIikhX+a4w5lDTBsqzpwC/AZ5ZlVTTGXMlMgcaY\ntVnZwIQytwHbEl9bltUEeAX43RizOKvrExERuRGtERMREZcwxhwFhgDFgSfd3BwRERGPohExERFx\npc+B94FI4N3ERMuyngF64pga6AccAOYZY95Ikmc9N1gTZlnW08A/gZbGmBUpjv0MeBlj6t1u42/U\nhpTpCevZrgGbcUzTvAyE4bjma8BUHFMtawAngQ+MMWNSlFkjIU8TIADYimON3X8Tjr8ITALuM8b8\nluLc/cBeY0zzhNd3AxOApoA/sAUYa4xZleScNNtsjNl+SzdLREQyRSNiIiLiMsaY68BeoHZimmVZ\nrwEzcUwRfB54GbgKTEoI0BLdbE3Yv4BYoEPSRMuyygMPAIuyoPk3a0Na6Q8ltOcFYB6QuElJTeBT\n4BugP7AHGJX0Wi3Lqgv8DNQFJuO4J37AEsuy+iZk+zih3pTXXA8oByxMeF0T+AmoBozHsQbOF1hm\nWVb7m7R5fpI2i4iIi2lETEREXO0skDhy5Av0AxYbY3olZrAs6wMcOy1G4hjpuiljzFnLslYAbS3L\n8jXGxCUc6gTEA59l7SVkSCDQxRizOTHBsiyAkkAbY8yyhLQFwDGgC39f63Qc7a5jjDmekO894Edg\nsmVZnxpjDluW9T3QHkdwlehxHCNbXyQp6wRwrzHmWkJZ03EEgtMsy1qS5H6larOIiGQPjYiJiIir\n+ZEwgpQQABQH+qTIEwxcAPJnotzFQGEgIkna48C3xpjoW27trbt6g4DmSmIQBs5RQgOUALAsqziO\nUbyPEoOwhHwxOEbH8gLhCcmLgIqWZd2bpPz2wFfGmAuWZRUBGgPLgHyWZRW1LKsoEAT8B7gLx6hb\nem0WEREX04iYiIi4WlEc66ISxQJtLMt6GLCAKjgCBTuZ+4BwKY51Te1xTLu7G6iFY9t8dzidifTr\ngE/Cv8snfN+VRr4dgBeOqYfgmJI5Hcc1b7EsqxFQCkdQCo7HBoBjCuSANMqzA2VxTF28WZtFRMTF\nNCImIiIuY1lWARzTErcmSf4vjoCiPPADMBioDBzJTNnGmKs4RnnaJkx5fBxHgPPFTU/MGj5ppMXf\nIK8tnbK8bnIs8e90DIAx5hywAkcgBo5rPgd8naJdM4DmaXyF43jQdnptFhERF9OImIiIuFJ7HIHG\nfwASRnBaA2OS7hpoWZYPjpGzvZksfzGOtVZNgYeBFcaY87ffbKd4HDsYplQiC+s4kPC9WhrHEtMO\nJ0lbBHxiWVZt4FHgc2NMbIqy4owx65IWlDBiWAHI1PPcRETENTQiJiIiLmFZVklgLI4gInHqXNGE\n7ztSZH8ax8YRmf2AcDVwCngKx86MWf1Q5miguGVZzsDLsqz7cYzgZQljzF84tpDvallWSJJ6/HCM\nFl7DcZ2JvgQuAeNwrPlanKSs6ISyeiTc/8SyfHHs5Pgv9CGsiIhHyHH/GVuW9U/A2xjz9E3y1MHx\nzJZ7cUx1ec0YsyCbmigikhs9YlnWqYR/58UxkvMEkAdokbBBBTh2AbwATE3Yav4s0AzHFLurQIHM\nVGqMibcs6zPgORzByZe3eR0pfQx0BlYk7GJYAseuj7twPJ8rqwwA1gKbLcuaCVwEuuH4O9bfGHMh\nMaMx5pplWV8A3YGjxpj1Nyjrl4SyTidcQ11gmDHmbBa2W0REblGOGhGzLGssjk9Nb5anGI7585tx\n/AGbDnxgWVZz17dQRCTXmgJ8lPA1Hfg/HNMR7zPGJG4MgTHmBBCF41lar+B4zlVZHIHYe0B1y7KC\nk5Sb8nldaT2/K/GZYf9J3K49k+w3KBdjzNfAszgCyqk4pgI+Q/IRqpu1LUPpxpifgYY4/nYNwTHa\ndQVoa4yZmca5ixLO/ziNNieWtQnHiNobOILj7saYyRlsm4iIuJiX3e75/wdbllUB+ACojuMP0+ob\njYhZlvUy0MsYUzlJ2lwgxBgTmR3tFRGR7GNZ1gM4HoYcaYxZ5e72iIiIZEROGRFrABwCavL3QuQb\neQj4LkXaehyfDoqIyJ2nL3CUtEepREREPFKOWCNmjFlEwtQTy7LSy14a+DVF2jEg0LKsIsaYM1nf\nQhERyW6WZc3G8dyspsBgY4znT/EQERFJkFNGxDIjEMcOU0klLhLPk81tERER1ymOYwOKfwLvuLkt\nIiIimZIjRsQy6Sqpn/mS+PpyNrdFRERcxBjzf+5ug4iIyK26EwOxw0DJFGkhwKWMPOQzLi7e7uvr\n45KGiYiIiIjIHcHrdgu4EwOx/wE9UqSFAj9k5OSzZ69kdXskg4KDC3Dy5EV3NyPXUz94DvWF51Bf\nuJ/6wDOoHzyH+sK9goMz9djLNOX4QMyyLD+gCHDGGBOLY5v7oQkP3pwGhAMdgRbua6WIiIiIiMjf\ncuJmHSl3xWqAY1fEB8H5sNBIHA9z/hXHgzi7GWO+zc5GioiIiIiI3EiOGxEzxoSmeP0t4JMibSNQ\nPzvbJSIiIiIiklE5cURMREREREQkR1MgJiIiIiIiks0UiImIiIiIiGQzBWIiIiIiIiLZTIGYiIiI\niIhINlMgJiIiIiIiks0UiImIiIiIiGQzBWIiIiIiIiLZTIGYiIiIiIhINvN1dwNEREREJLl27drw\n11/Rztd+fn4UKxZMkyah9OzZm8DAwAyX1ahRXUaOHEdERCTjx4/m1KmTvP32jEy36fr1ayxe/CXh\n4W0yfa6IpKZATERERMTDeHl50bVrDzp06ATA1atX2blzB++++zbbt//BO+/8E1/fjL2NW7p0Jfnz\nF3CWe6s+/XQxy5YtVSAmkkUUiImIiIh4oLx58xIUVASAoCAICSlF6dKleeqpJ/j666W0bftohspJ\nLON22Wy2LClHRBy0RkxEREQkh6hatRq1av2DtWtXOdPWr19L795PEBbWkObNH6Jv317s3Pmn83ij\nRnVZtWpFqrJ69uzM22+/kSztq6/+S5s2EcTHxydLX778Kz74YBZHjx6lceMH+O23X5k7dzYdOz6S\nLF/StOjo4zRqVJcFC+bRpk0EXbt24PDhQzRqVJdvv13Hk092JTS0AZ07P8b33693lhEfH8+iRR/S\nseOjhIY2pHv3jqxbtwaA48ePOetPaujQgYwb9yoAFy9eZMKEMbRqFUbLlmEMHTqQQ4cOOvNOmDCG\nUaNeZsCAZ4iMbMZ//vPvdO+7iCsoEBMRERHJQSpWrMS+fXsA2LnzT0aNGk6rVg+zaNG/effdOYCd\nN94Yn245UVGtWbduTbKga9Wq5UREROHj45Msb1hYBF26dKdkyZL8978rqVGjVsKRtKY6Jk9bs2YV\nM2bMYdSocfj5+QEwc+Y79O3bjwULPqNKlaqMHz+G69evATB9+hQ++WQRffv256OPPqF58xaMHj2c\nb7/9hpIlQ6hV6x+sWbPSWf65c+fYtGkDUVGtsdvtvPDCAM6ePcPbb8/gvfc+oESJEJ57rjcXLlxw\nnvPNN2tp0iSU2bPn06RJs3TvlYgraGqiiIiI5Aqb95/i4KlL2V5vuWL5qVOhWJaVV6BAQS5fvgyA\nj48vQ4YM4+GHHaNQJUqUoHXr/8tQIBYeHsXMme+wYcNPNGjwENHR0fz2268MHPhCqrz+/v7kzZsX\nb29vgoKCMtXedu0ep2zZcoBjlAygc+cnqFu3PgDduj3JN9+sZf/+/ZQtW5b//OffvPDCMGeA1K1b\nT/bs2cXChY6gKSqqNe+99w7PP/8iPj4+rF27iiJFilKnzgNs2rQBY3awbNk654YmQ4a8xObNG1i6\n9Au6du0BQJEiRXnssQ6Zug6RrKZATERERHKFOhWKZWlA5C6XL192br5RpUpVChQowIIF8zlwYB9H\njhxm9+5d2O32dMsJCgriwQcbsnLlMho0eIjVq5dTqVJlKlWqnKXtLVkyJFVamTJlnf/Onz8/drud\nuLhYDh48gM1mo3r1Wsny1659Hz/88D0AzZo1Z+rUyWzc+DMPPtiQNWtW0KJFSwB2795FfHw8bdtG\nJjs/NjYm2fTEkJBSWXZ9IrdKgZiIiIhIDrJr106qVLEA+OWXTQwdOohGjZpQq1ZtWrduy6FDB3nr\nrUkZKisqqg3jxo3k6tWrrFq1nIcfztgGIDeScm0ZQEBAQKq0xCmKSdntdgICAtIMIm22eOcukYGB\ngTRu3JQ1a1ZSvnwFtm37g5dfftVZbqFChZg9+8NU5STd8j+tNolkN60RExEREckhdu/exbZtv9Oi\nRRQAn322mHr16jNmzAQee+xx7r33fo4fP5bh8ho0eIg8efLy+eefcOTIYcLDI2+YN+XW935+fly9\nejlZ2uHDhzJxNamVKlUGPz8//vhja7L0rVt/o3z5is7XkZGt+eGH71i1ajnVqt1N2bLlAahQoSIX\nLlzAbrdTqlRpSpUqTcmSIcyePTPVBh8i7qZATERERMQDXb16lTNnTnPmzGmOHTvKmjUrefnlIdx7\n7/1ERDgCseLFS7B79y62b9/G8ePH+PzzT/jXvz4GIDY2Nt06fH19ad68BR9++AH16zekcOHCN8wb\nGBjIhQsXOHToIDExMVSvXpOzZ8/y2WcfEx19nCVLPmfDhh9v65oDAgJ4/PEuzJnzHuvXr+XIkcMs\nWDCf7777hk6dujrz1anzAIGB+Vi8+COiotokS7/nnhq8+urLbN36G4cOHWTSpHH8+OP3VKyYtVMu\nRW6XpiaKiIiIeKBFiz5k0aIPAUcQdNddJWnb9jE6dOjkHJ166qk+nD59iiFD+uPj403lylUZMWIM\no0YNZ8eO7dSq9Q+8vLy42XOcIyNb8fnnnxAV1fqm7WnaNIwVK76iR4/OjBr1Gk2aNOPJJ59m0aIP\nmTNnJvXqNaBXr2f44ot/Oc9J6wHS6aX16tUHHx8f3nlnCufPn6NcuQqMHTuRJk1Ck+Vv0aIln366\nmObNI5KVNXHiW8yYMZXhw4cQExNL1aoWU6a8S7ly5W96fSLZzSsjizlzk5MnL+qGuElwcAFOnrzo\n7mbkeuoHz6G+8BzqC/dTH7jODz98z6RJ41iyZJlzHdaNqB88h/rCvYKDC9zk442M0YiYiIiISC50\n8OAB9uzZzbx5s2nb9tF0gzARyVpaIyYiIiKSCx08eIBJk8YSElKabt16uLs5IrmOPvoQERERyYUa\nN27K6tXfu7sZIrmWRsRERERERESymQIxERERERGRbKZATEREREREJJspEBMREREREclmCsRERERE\nRESymQIxERERERGRbKZATERERMSDnTlzmiZN6tGtWwd3NyXbnDx5gkaN6vLbb79mKP/y5V/RtGl9\n5+tGjeqyatWKW6r7wIH9/PTT/27p3JxuwoQxPP/8c+5uxm1bseJrzp07B8CWLb/QqFFdTp066eZW\npaZATERERMSDrVy5nJCQUhw8eIDff//N3c3JNl5eXhnOGxYWwZIly7Ok3mHDhrBz544sKUuy3x9/\nbGX8+NFcu3bNmZaZn6XspEBMRERExIOtWPEVzZu3oEoVi6VLl7i7OdnGbrdnOK+/vz9BQUFZVXMW\nlSPuYLPZPTbwSkmBmIiIiIiH2rnzT/bv30edOvVo0qQZ69ev5dKlS4BjGln//n2S5d+xYzuNGtXl\n6NEjAHz33Xp69OhMaGhDunZtz8cfL3QGONHRx2nUqC4LFsyjTZsIunbtQFxcHL/+upl+/Z4mPLwx\noaEN6NmzMxs2/OSs4+rVq0yaNI6WLcNo1SqMmTOnMWDAM8ybN8eZ52b1piU6OpqhQwcSHt6YDh3a\nsmHDj8neTMfExDB9+hTatWtDs2YP0rp1OBMnjuX69esALFv2JU2a1EtV7u7du2jUqG6qEa7nnuvN\n9OlTUuXv378PR48eYe7c2bRv3xaAdu3a8NFHc5Pla9/+YWfa3LmzGTDgGUaMeInIyKbMmfMec+fO\nZsiQAcyf/z5t20YSFtaQF18cxOnTp5xl/PVXNKNGvUzr1uFERDTh5Zdf4Nixo84yE+tPlDhF9Zdf\nNgGwefNm+vZ9krCwhjz++P8xa9YMYmJinPkbNarLBx/M4tFHW/Hoo604e/bMDe9/UrGxsbz55kQi\nIprQtm0LZs2a4ey7nj078/bbbyTL/9VX/6VNmwji4+NTlTVhwhgmTBjDlCmvExnZjFatwpg//332\n799H3769CAtrSM+enTFmp/OcCxfO88Yb43nkkZY0b/4QAwc+y+7dJlkfzZo1g3HjXqVFiya0bBnG\n22+/gc1mIzr6OP369QagQ4eHnT+Tdrud775bT9eu7QkNbUCvXt34889tGbofruTr7gZkhGVZ3sB4\noDtQAFgBPGeMOXGD/KHARKA6cByYbYyZnE3NFREREQ8T8MOn+ETvdUvd8SUqcb3h47d07rJlXxIU\nVITatf9B0aJFmTPnPVas+Ip27ToSGdmK559/jlOnTlGsWDEAVq1aQY0atShVqjQ//fQ/xo0byeDB\nL1G79r3s37+PKVNe5/r1a/To8ZSzjjVrVjFjxhyuX7/GmTOnGTp0IJ07P8GIEWO4cuUys2fPZPz4\n0XzxxdcAvPbaqxw4sJ+JE98iX758TJ/+Nlu3buHee+8HyHC9ieLi4hgypB/FigUza9Zczp8/z+uv\nv5Ysz4wZU9m48WdGjx5PsWLF+fPPbYwfP4rKlavSvn1HvLy80hwFqVKlKpUqVWHVqmVUq3Y3AMeP\nH+OPP7YyePBLqfKPHz+ZXr260axZKF279gAyNq1ty5Zf6Nq1B3379sfHx4dly75ky5bNBAYG8s47\n/+TChfOMHDmM99+fxUsvvcKVK5fp27cX5ctX5O23Z2C323j33an06/c0Cxd+RmRkKz788AO2b99G\n9eo1EvppJcWKBXP//XXZvdvw7LNP8dRTzzBy5Diio48zbdqbnD59iuHDRznb9eWX/+Gtt6YTGxtD\nUFCRdK8DYOvWLYSElOL99z9k3769TJo0jkKFCtGxY1eiolqzYMF8BgwYgo+PDwCrVi0nIiLK+Tql\n1atX0L59J+bOXciaNSuZM+c9Vq5cxoABQ7jrrhJMnDiWKVNeZ9asedhsNgYNehYvL2/GjXudwMBA\nPvzwffr1e5oPP/yUEiVKAPDpp4vp2fMpevXqw7ZtvzN+/GiqV69FeHgLJk58i+HDX2DOnI8oV648\nO3ZsB+C///03w4a9SoECBZg8eQJjx47kk0/cO8KcU0bExgDdgK5AI6A08HlaGS3LqgR8CSwFagAv\nAaMsy+qbPU0VERERuX1xcXGsXbuKZs3CAChdugxVq1ZzTk+87746FC9+F+vWrQLAZrOxbt0qWrZs\nA8CCBfN55JH2REW1JiSkFA0bNqJPn34sXDg/WT3t2j1O2bLlqFLFIjY2lt69+9KrVx9KlChJxYqV\n6dChM+fOneXs2TMcOXKE775bzwsvvEzt2v+gcuUqjBkzAT8/P2d5Ga030aZNGzhy5DAjRoyhYsXK\n3Hvv/Qwc+EKyPNWr1+KVV0ZTo0YtSpQoQWhoc+6+uzr79u1J9z62bNmatWtXOUd1Vq5cRuXKVahU\nqXKqvAULFsTHx5u8eQMpWLBQumUn8vb2pmfP3pQqVZoSJUoCjlGYV14ZTbly5alZszZhYeFs3/47\nACtWLOPSpUuMHTuRKlWqUrVqNcaNm8TFixecawJr1qzNmjUrnXWsXr2CFi1aAvDJJwtp2rQpjz/e\nhZCQUtx3Xx1eeOFlli//ijNnTie59jZUqlSZatXuyfC1FC9+Fy+++Aply5anadMwHn+8C5999jEA\n4eFRXLx4wTlCGh0dzW+//er8mUtLUFARnn12ACEhpejQoTMAERFRPPhgQypWrESrVm3Yt8/xIcmG\nDT+yZ89uxo6dSI0aNalYsRIjR44jf/4CfPHFZ84yq1SpSrduPQkJKUVERBSVKlVm+/bf8fLyomDB\nggAUKlSYPHnyOM8ZMGAINWrUpFy58nTo0Jljx45y8eLFDN8XV/D4ETHLsvyAAUA/Y8y6hLSOwH7L\nsuobY35OcUokcMUYMz7h9QHLsh4HWgDvZVe7RURExHPc6oiUO33//XouXrxI06ZhzrTQ0ObMmjWD\nP/7YSs2atWnRoiWrV6+kQ4fObN68kUuXLhEWFg7A7t2GnTt3sGTJ359d2+02YmNjOX78mHOkp2TJ\nEOfxUqVK06JFKz77bDF79+7hyJHD7NrlmBYWH2/jzz//xMvLi3vuqeE8p3DhwpQpU9b5Or16k9YH\nsH//PgoVKkxwcHFnWvXqNZNNZYyIiGTTpp+ZOfMdDh8+xP79+zh+/CghIaXSvY/h4VHMnPkOGzf+\nTL16D7Jq1XIeeaR9uudlRtGixfD390+WVqRI0WSBQL58+YmNjQUc11yuXDny58/vPF6oUGHKl6/g\nDEoiI1sxZ857DBgwmMOHD7Fz5w5GjhwHwK5dhqNHj7B+/bdJarTj7e3NgQP7KVKkKAAhIcnvdUbc\nffc9+Pr+HSJUq3YP8+bN4fLlSwQFBfHggw1ZuXIZDRo8xOrVy6lUqXKaQW2iUqVKO/+deD+S9ltA\nQB5iY2Oc96VgwULJzvH19eWee2qwf//fI9pJf94g+b1Ni5eXF6VLl3G+LlCgAADXr193/tsdPD4Q\nA/4B5AecP2nGmIOWZR3AMTqWMhA7CRRJCNY+xTE9sTHwbnY0VkRERCQrLF/umAo4aNCzqdZXLV26\nhJo1axMZ2YqPPprL0aNHWLNmJQ891JjAwHwA+Pr60aVLZ8LDI1OVHRxc3Lmdd0BAgDN93749PPfc\n09SoUZP7769L8+YRxMbGMWzYYIAk089uvN4rvXpT8vLySnV9SUfYACZNGscPP3xPVFQrmjYNpU+f\n55gy5fUbtiGpxOBh9eoVFCpUiOPHj6XZtsxIuR7K3z8gVR4/P/9UaYmXmfSeJy/X5gyCQkObM23a\nm/z662a2bt3C3XdXp2zZcgll+/HII4/w2GOdU927xGmqjnblIbO8vZNPMbTbHZtf+Po6+iQqqg3j\nxo3k6tWrrFq1nIcffvSm5SUN6hJ5eaU9Ke9G98Vmi09Wzs3u7Y2kPXXSvRuz5ISpiYkh8dEU6ceA\nMqT2b2AusAiIAX4H1icZIRMRERHxaGfOnGbjxp949NH2zJu3mPnzP3Z+1a1b37lpR+nSZahRoxar\nV6/gu+/WExnZyllGhQoVOXz4EKVKlXZ+7dmzm9mzZ9yw3qVLl1CiRAkmT55Gx45dqVu3PidO/JVw\n1E7VqlXx8vJi+/a/Nzq4cOE8R44cvuV6q1Spyvnz55wbjIBj05HEEbsLF87z9ddLefHF4Tz77EBa\ntGhJmTJlk+VPT1RUG3744XvWrVtD/foNKFy48E1yJ18T5uvry+XLl52vL1++lGz6360oX74CBw8e\nTDY17ty5cxw+fJDy5SsAEBiYj8aNm/LNN2tZt25Nqr7du3cvISGlnPf47NkzvPvuVK5cuXJbbUu6\nMQbA77//RokSJZ1BUoMGD5EnT14+//wTjhw5fNtBbVLly1fkwoXzHD58yJkWFxfHjh1/Ur58xQyV\nkVN2TIScEYgFAjZjTMqtWK4DaYX5hYHywCSgDvAEEGFZ1mgXtlFEREQky6xYsQy73U6nTt2oUKFi\nsq8uXZ7g2rVrrFzpGDGLjGzFxx8vICDAn3r1GjjL6N69F2vWrGThwvkcOXKYH3/8H2++OZE8efKm\nOUoBjvVBx48fZ9OmDURHR7Ny5TLmzJkJOHYuLFOmDI0bN2PKlDfYunULe/fuYdy4V7l+/brzDXBm\n673vvjpYVjXGjh3Jzp07+OOPrUyb9pbzeGBgPvLly8f333/L0aNH2LVrJ6NHv8LJkyeS7RJ4Mw0a\nPISPjw9LlvyLqKgbr2dy1BfI4cOHOHXKscNhjRq1WLNmJdu2/cG+fXuZMGHMDe9fRkVERBEUFMSo\nUcPZtWsnxuxk1KjhFCxYiObNI5z5IiNbsXr1co4dO0rz5i2c6V26dGfr1q1Mn/42hw4dYMuWX3jt\ntdFcuXL5pptyXL58yfmg4xs5duwob745kQMH9rN8+Vf8+9+f0r17L+dxX19fmjdvwYcffkD9+g3T\nCWoz5/7761K9eg3GjBnBH39sZd++Pbz22iguX75E27Y3H3lLlDgivGvXTi5fduwwmtaOnZl5PIKr\n5ISpiVcBb8uyvI0xtiTpAcDlNPK/AcQaY15JeL01YZ3Ze5ZlTTPGnL1ZZUFBgfj6pr3ri7hecLD7\n5unK39QPnkN94TnUF+6Xm/pgzZrlhIaGUqNGlVTHWrRoRrVq1fj66//yzDNP0aHDI0yfPoW2bdty\n111/bzDRunUEXl6TmT17NvPmzaFIkSI89tijDBo0CD8/P2JiLuDl5UXhwoHOe9u3b2+io48wZswr\n2Gw2KlWqxGuvvcawYcM4enQf999fg8mTJzFu3DiGDRuMj48PnTp14tChAxQqlI/g4ALp1puWuXM/\nYOzYsQwa1Jf8+fMzaNAghg8fTuHCgZQsGcQ777zDpEmT6NGjE0WKFKFx48b07NmTtWvXEhxcgAIF\n8uDl5eW8DsemDXmS/cy0adOar7/+mrZto24aSPXu3YvXXnuNzZs38NNPP/Hyyy8yatQoBg9+jgIF\nCvDkk0/3zUJOAAAgAElEQVQSFxdDvnwBBAcXIF++AHx9vZPVlZG0+fPnMXHiRPr374Ovry8PPvgg\nkydPolSpks5zoqKa88YbBalVqxaVKv29rio4+F5mz57NtGnTePLJf1OgQAFCQ0MZOnSoc81TWvdg\nypQJbNy4kbVr16Z57Xny+BEeHo63t53evZ+gcOHCDBo0iO7dOyfL16lTez7//BM6dmx/09/LPHn8\n8Pf3TZYnZbtS9t3s2bOYOHEiw4YNJi4ujvvuu4/FixdTrVpVAPz9fcmb1y9ZmUnTihSpRXh4OGPG\nvEKnTp0ICwvDy8uLIkXyOc8pXDgwVZo7eHlCNHgzlmXVxbEOrKwx5miS9H3ATGPMmynybwO+MMa8\nmiTtHmAbcK8xZuvN6jt58qJn35A7WHBwAU6edO/uNaJ+8CTqC8+hvnA/9YFnKFQogK++WskDD9Qn\nIMAxMSkuLo5WrcIYMmQYERFRbm7hjY0Y8RLBwcUZOHCIu5uSJW7ld8Jms9G3by9mzZp3W3X/8MP3\nTJo0jiVLlt326GBOFRxc4LbnQOaEO7cVuAQ0ARYDWJZVHsf0w+/SyH8EqJUirSYQD7jnASIiIiIi\ndwB/f3/eeut16tdvQJcu3bHZbHzyyUL8/PyoX79B+gW4waZNP7N79y5+/PF/zJ+/2N3NcatFiz6i\nSZPQWz7/4MED7Nmzm3nzZtO27aO5NgjLKh5/94wxMZZlzQTetCzrNI5dEWcA3xhjNiZMOywCnDHG\nxALTgC8ty3oFR+BWHXgLmGGMueSeqxARERG5M0yePJUZM6bRu3d37HYb1avXYurU9zL13K3stHTp\nf9i0aQP9+z/v3HUwt+rUqettBU8HDx5g0qSx3HtvHbp165F1DculPH5qIoBlWT44Nt/oDvgBy3E8\nV+yMZVlNgHVAM2PMdwn5HwZGANWAaOAjYGIaG36koqmJ7qNpJ55B/eA51BeeQ33hfuoDz6B+8Bzq\nC/fKLVMTSQighiZ8pTz2LeCTIm0psDR7WiciIiIiIpI5OWH7ehERERERkTuKAjEREREREZFspkBM\nREREREQkmykQExERERERyWYKxERERERERLKZAjEREREREZFspkBMRERExIOdOXOaJk3q0a1bB3c3\nJducPHmCRo3q8ttvv2Yo//LlX9G0aX3n60aN6rJq1YpbqvvAgf389NP/bulcgRMn/mLt2lXubkaO\noEBMRERExIOtXLmckJBSHDx4gN9//83dzck2Xl4Zf15uWFgES5Ysz5J6hw0bws6dO7KkrNxo4sSx\nbNjwk7ubkSMoEBMRERHxYCtWfEXz5i2oUsVi6dIl7m5OtrHb7RnO6+/vT1BQUFbVnEXl5E6Z6bfc\nToGYiIiIiIfaufNP9u/fR5069WjSpBnr16/l0qVLAEyYMIb+/fsky79jx3YaNarL0aNHAPjuu/X0\n6NGZ0NCGdO3ano8/Xuh8oxwdfZxGjeqyYME82rSJoGvXDsTFxfHrr5vp1+9pwsMbExragJ49Oycb\n4bh69SqTJo2jZcswWrUKY+bMaQwY8Azz5s1x5rlZvWmJjo5m6NCBhIc3pkOHtmzY8GOyEbGYmBim\nT59Cu3ZtaNbsQVq3DmfixLFcv34dgGXLvqRJk3qpyt29exeNGtVNNcL13HO9mT59Sqr8/fv34ejR\nI8ydO5v27dsC0K5dGz76aG6yfO3bP+xMmzt3NgMGPMOIES8RGdmUOXPeY+7c2QwZMoD589+nbdtI\nwsIa8uKLgzh9+pSzjL/+imbUqJdp3TqciIgmvPzyCxw7dtRZZmL9iRKnqP7yyyYANm/eTN++TxIW\n1pDHH/8/Zs2aQUxMjDN/o0Z1+eCDWTz6aCsefbQVZ8+eueH9TzRhwhgmTRrH1Klv0qpVGOHhjRkz\nZgRXr1515tm3bw+DB/enefOHePTRVkyePCHZz+Qvv2xi+fKvaNz4gXTry+183d0AERERkezw700H\nWPLLoVTpj9xflsfqls/2/BmxbNmXBAUVoXbtf1C0aFHmzHmPFSu+ol27jkRGtuL555/j1KlTFCtW\nDIBVq1ZQo0YtSpUqzU8//Y9x40YyePBL1K59L/v372PKlNe5fv0aPXo85axjzZpVzJgxh+vXr3Hm\nzGmGDh1I585PMGLEGK5cuczs2TMZP340X3zxNQCvvfYqBw7sZ+LEt8iXLx/Tp7/N1q1buPfe+wEy\nXG+iuLg4hgzpR7FiwcyaNZfz58/z+uuvJcszY8ZUNm78mdGjx1OsWHH+/HMb48ePonLlqrRv3xEv\nL680pzJWqVKVSpWqsGrVMqpVuxuA48eP8ccfWxk8+KVU+cePn0yvXt1o1iyUrl17ABmbIrllyy90\n7dqDvn374+Pjw7JlX7Jly2YCAwN5551/cuHCeUaOHMb778/ipZde4cqVy/Tt24vy5Svy9tszsNtt\nvPvuVPr1e5qFCz8jMrIVH374Adu3b6N69RoJ/bSSYsWCuf/+uuzebXj22ad46qlnGDlyHNHRx5k2\n7U1Onz7F8OGjnO368sv/8NZb04mNjSEoqEi61wGwatVy2rT5P2bNms+RI4cZOXIYFSpU5IknnuTU\nqZP079+H1q3/j8GDX+TChfPMnPkOr7zyItOmzWTgwCEcO3aUokWLMWjQ0AzVl5tpRExERETEA8XF\nxbF27SqaNQsDoHTpMlStWs05PfG+++pQvPhdrFvn2BjBZrOxbt0qWrZsA8CCBfN55JH2REW1JiSk\nFA0bNqJPn34sXDg/WT3t2j1O2bLlqFLFIjY2lt69+9KrVx9KlChJxYqV6dChM+fOneXs2TMcOXKE\n775bzwsvvEzt2v+gcuUqjBkzAT8/P2d5Ga030aZNGzhy5DAjRoyhYsXK3Hvv/Qwc+EKyPNWr1+KV\nV0ZTo0YtSpQoQWhoc+6+uzr79u1J9z62bNmatWtXOUfkVq5cRuXKVahUqXKqvAULFsTHx5u8eQMp\nWLBQumUn8vb2pmfP3pQqVZoSJUoCjil6r7wymnLlylOzZm3CwsLZvv13AFasWMalS5cYO3YiVapU\npWrVaowbN4mLFy841wTWrFmbNWtWOutYvXoFLVq0BOCTTxbStGlTHn+8CyEhpbjvvjq88MLLLF/+\nFWfOnE5y7W2oVKky1ardk+FrKVSoMIMGDaV06TLUr9+AunXrsW3bHwB88cW/CAkpTd++/Sldugz3\n3FODUaNe49dfN7F9+zby5cuPr68vAQEBWThV9M6lETERERERD/T99+u5ePEiTZuGOdNCQ5sza9YM\n/vhjKzVr1qZFi5asXr2SDh06s3nzRi5dukRYWDgAu3cbdu7cwZIlnzvPt9ttxMbGcvz4MedIT8mS\nIc7jpUqVpkWLVnz22WL27t3DkSOH2bXLABAfb+PPP//Ey8uLe+6p4TyncOHClClT1vk6vXqT1gew\nf/8+ChUqTHBwcWda9eo1k01ljIiIZNOmn5k58x0OHz7E/v37OH78KCEhpdK9j+HhUcyc+Q4bN/5M\nvXoPsmrVch55pH2652VG0aLF8Pf3T5ZWpEhR8uTJ43ydL19+YmNjAcc1lytXjvz58zuPFypUmPLl\nK7Bv314AIiNbMWfOewwYMJjDhw+xc+cORo4cB8CuXYajR4+wfv23SWq04+3tzYED+ylSpCgAISHJ\n73VGlCpVOtkoYP78+Tl16iQAe/bsYvduQ3h442TneHl5cfDgfufonWSMAjERERHJFR6rWz5TUwRd\nnT89y5c7pgIOGvRsqvVVS5cuoWbN2kRGtuKjj+Zy9OgR1qxZyUMPNSYwMB8Avr5+dOnSmfDwyFRl\nBwcXd765DggIcKbv27eH5557mho1anL//XVp3jyC2Ng4hg0bDICPj09Czhuv90qv3pS8vLxSXV/S\nETaASZPG8cMP3xMV1YqmTUPp0+c5pkx5/YZtSCooKIgHH2zI6tUrKFSoEMePH0uzbZkRHx+f7LW/\nf0CqPH5+/qnSEi8z6T1PXq4NX1/H2/PQ0OZMm/Ymv/66ma1bt3D33dUpW7ZcQtl+PPLIIzz2WOdU\n9y5xmqqjXXnIrJT33tFuRx2+vn488EB9Bg0amqpejYBlnqYmioiIiHiYM2dOs3HjTzz6aHvmzVvM\n/PkfO7/q1q3v3LSjdOky1KhRi9WrV/Ddd+uJjGzlLKNChYocPnyIUqVKO7/27NnN7Nkzbljv0qVL\nKFGiBJMnT6Njx67UrVufEyf+Sjhqp2rVqnh5ebF9+zbnORcunOfIkcO3XG+VKlU5f/6cc4MRcGw6\nkjgqc+HCeb7+eikvvjicZ58dSIsWLSlTpmyy/OmJimrDDz98z7p1a6hfvwGFCxe+Se7ka8J8fX25\nfPmy8/Xly5eSTf+7FeXLV+DgwYNcvHjRmXbu3DkOHz5I+fIVAAgMzEfjxk355pu1rFu3JlXf7t27\nl5CQUs57fPbsGd59dypXrly5rbbdTIUKFTlwYD933VXCWa+XlxfTpr3FX385fk4y89iB3E6BmIiI\niIiHWbFiGXa7nU6dulGhQsVkX126PMG1a9dYudIxYhYZ2YqPP15AQIA/9eo1cJbRvXsv1qxZycKF\njk0Xfvzxf7z55kTy5MnrHHVJqXjxuzh+/DibNm0gOjqalSuXMWfOTMCxc2GZMmVo3LgZU6a8wdat\nW9i7dw/jxr3K9evXnW/AM1vvfffVwbKqMXbsSHbu3MEff2xl2rS3nMcDA/ORL18+vv/+W44ePcKu\nXTsZPfoVTp48kWyXwJtp0OAhfHx8WLLkX0RFtblp3sDAQA4fPsSpU44dDmvUqMWaNSvZtu0P9u3b\ny4QJY254/zIqIiKKoKAgRo0azq5dOzFmJ6NGDadgwUI0bx7hzBcZ2YrVq5dz7NhRmjdv4Uzv0qU7\nW7duZfr0tzl06ABbtvzCa6+N5sqVyzfdlOPy5UucO3fultv92GMduHjxIuPHj2bfvj3s3Pkno0e/\nwtGjh53TUwMDAzl+/BjR0dG3XE9uoUBMRERExMOsXPk1DRs25q67SqQ6dt99dahcuYpz047Q0HDi\n4+MJD4/C2/vvt3b16j3IyJFjWbNmFU880ZE335xIVFRrhg4d7syTcvSiXbuONG7clNGjh9OjRyeW\nLPmcF198hTx58rJz558AvPTSCCyrGi+99DwDBvShatVq3HVXCWdwkpF6k/L29mby5He4664SDBz4\nDKNGDadjxy7O476+vowbNwljdtC9e0eGDx9KoUKF6dixyw0fvJzyunx9fWnePIKAgDw0aPDQDe87\nQMeOXfjppx/o0aMTAH36PEflylV4/vlnGTKkP7Vq/YOaNWvftIz0+Pv7M2XKu/j7+9GvXx8GDXqW\nggULMmPGHPLl+3vdWJ069ciXLz8NGjSkYMGCzvSKFSsze/Zstm37nZ49uzB69HDuu+9+xo+ffMN7\nADBt2lv07t39lttdpEhRpk6dyZkzp+nTpycvvDCAkiVL8vbbM5z9/+ijHTh06ADdurXP0Jb5uZmX\nHrqW3MmTF3VD3CQ4uAAnT15MP6O4lPrBc6gvPIf6wv3UB56hUKEAvvpqJQ88UJ+AAMf6o7i4OFq1\nCmPIkGFERES5uYU3NmLESwQHF2fgwCHubkqWuJXfCZvNRt++vZg1a56LWpV7BAcXuO05mNqsQ0RE\nREQyxN/fn7feep369RvQpUt3bDYbn3yyED8/P+rXb5B+AW6wadPP7N69ix9//B/z5y92d3PcatGi\nj2jSJNTdzZAECsREREREJMMmT57KjBnT6N27O3a7jerVazF16nuZeu5Wdlq69D9s2rSB/v2fd+46\nmFt16tT1tte3SdZRT4iIiIhIhlWpYjF16kx3NyPDxo2b5O4meAwFYZ5Fm3WIiIiIiIhkMwViIiIi\nIiIi2UyBmIiIiIiISDZTICYiIiIiIpLNFIiJiIiIiIhkMwViIiIiIiIi2UyBmIiIiIiISDZTICYi\nIiIiIpLNFIiJiIiIiIhkMwViIiIiIiIi2cxlgZhlWR0tywp2VfkiIiIiIiI5lStHxOYAjV1YvoiI\niIiISI7k68KyjwKBWVGQZVnewHigO1AAWAE8Z4w5cYP8pYBpQARwFfgcGGKMuZYV7REREREREbkd\nrgzE3gOmWZZVH9gKXEqZwRizOINljQG6AV2BMwllf04aI26WZfkDa3AEgg8CxYCPgHhgQKavQkRE\nREREJIu5MhB7O+F73xsctwPpBmKWZfnhCKD6GWPWJaR1BPZbllXfGPNzilO6AHcB9YwxFxLyv3qT\ndoiIiIiIiGQrVwZiFbKonH8A+YFvExOMMQctyzoANAJSBmIRwOrEICwh/4fAh1nUHhERERERkdvi\nskDMGHMwi4oqnfD9aIr0Y0CZNPJXBdZaljUWx1RGO/AFMMIYcz2L2iQiIiIiInLLXDkihmVZZYAR\nQDhQEmgIdAJ+N8YsyGAxgYDNGBOfIv06kCeN/AWBp4BlQDugFDADCAZ6ZPISREREREREspzLAjHL\nsu4G/odj18LVwBMJhwoB8y3LumaM+VcGiroKeFuW5W2MsSVJDwAup5E/FjgNdDPG2IFfEzbw+Myy\nrOeNMWdvVllQUCC+vj4ZaJa4QnBwAXc3QVA/eBL1hedQX7if+sAzqB88h/oiZ3PliNgUYAcQhmPH\nwu4AxpinLcvKA7wIZCQQO5zwvSTJpyeGkHq6IglpVxOCsER/Al5AeeCmgdjZs1cy0CRxheDgApw8\nedHdzcj11A+eQ33hOdQX7qc+8AzqB8+hvnCvrAiCXflA50bAGwnrsuwpjn0IVMtgOYlb3zdJTLAs\nqzyOoOq7NPJ/D/zDsqykw1o1gTjgQAbrFBERERERcRlXjojF4Jg+mJbCCcfTZYyJsSxrJvCmZVmn\ngZM41nx9Y4zZmLC9fRHgjDEmFvgn0A/4KGHDjjLAG8CH6U1LFBERERERyQ6uHBFbDYyxLKtkkjS7\nZVl5gcHA2kyUNQJYBCxIOG8/0D7hWAMcOyg+CGCMOYHjQc9FgF+AhTimQD57y1ciIiIiIiKShVw5\nIjYU+BHYjSMgsuMYmbJwjJQ9ceNTk0vYMXFowlfKY98CPinSdgJRt9pwERERERERV3LZiJgx5hBQ\nG5gG+AN7cUxJ/Ay41xiz11V1i4iIiIiIeDJXbl9f3hhzAHjFVXWIiIiIiIjkRK6cmrjPsqwfgI+A\nz4wx511Yl4iIiIiISI7hys06ngDOA+8C0ZZl/duyrP9L2OVQREREREQk13LlGrGFxpjWQAlgAI71\nYZ/jCMresyyroavqFhERERER8WSunJoIQMKzu+YAcyzLugvHmrG+wNOk2O1QREREREQkN3B5IAZg\nWVZNoCOOZ39VBrbheCaYiIiIiIhIruPKXROr4Ai+HgfuBv4CFgMLjDFbXVWviIiIiIiIp3PliJgB\nrgBLgMHAGmOMzYX1iYiIiIiI5AiuDMS6A18YYy67sA4REREREZEcx2WBmDFmAYBlWVFAU6AQcAr4\n3hiz0lX1ioiIiIiIeDpXrhHLAywFmgMxwEmgOPCyZVnrgVbGmGuuql9ERERERMRTufKBzuOA+jg2\n68hrjCkD5AE6AfcDo1xYt4iIiIiIiMdy5RqxjsCrxph/JSYYY+zAZ5ZlhQCDgJddWL+IiIiIiIhH\ncuWIWBCO54WlZRtwlwvrFhERERER8ViuDMQMEHmDYy2B/S6sW0RERERExGO5cmriVGC+ZVl+wCdA\nNFACxxqxZ4EBLqz7tvx59Bzli+UnMMCVt0dERERERHIrl25fb1lWZeBFoF+SQzHABGPMTFfVfbuO\nn7tC8YJ5FIiJiIiIiIhLuDTSMMaMsixrKo7dE4OAs8DPxpizrqz3dtnsYLPb3VL3tdh4Ll2LpViB\nPG6pX0REREREXM/lQz4JQddyV9eTlex2O/E29wRiZy5dZ//JiwrERERERETuYK58oHMx4C2gNZCP\n1BuD2I0xAa6q/3bY7GBzUyBms9txU9UiIiIiIpJNXDkiNgNoA3wMHAFsLqwrS9nsduLdNDXRbneM\nyImIiIiIyJ3LlYFYFPC8MWaWC+twCbsbR6UcI2IKxERERERE7mSufI5YHLDHheW7jM2O29aI2ex2\nFIeJiIiIiNzZXBmILQE6u7B8l7Hb7W5cI+a+HRtFRERERCR7uHJq4gZgkmVZFYAfgSspjtuNMRNd\nWP8ts9tx4xoxbdYhIiIiInKnc2Ug9s+E700TvlKyAx4ZiNncOiJm12YdIiKSq327M5om1Uq4uxki\nIi7lskDMGOPKaY8uZXPjc8TsdjQiJiIiuVr0+avuboKIiMu5LFiyLOtXy7Jauqp8V3LnOi3tmigi\nIrmduz4MFRHJTq4ctapM6nVhOYLdjcGQniMmIiK5XVx8jnn0qIjILXNlIPYx8LxlWcVdWIdLuHv7\nen0QKCIiuZlGxEQkN3DlZh3lgWbAccuy/gIupThuN8ZYLqz/lrlz+3q7NusQEZFcLk6BmIjkAq4M\nxI4Bi1xYvsvYcd/29XqOmIiI5HbxNk1NFJE7nyt3TeyZVWVZluUNjAe6AwWAFcBzxpgTGTj3KyDQ\nGBOa0fpsNvftmujYvt4tVYuISA6z98RFKhUv4O5mZDmNiIlIbuCyQMyyrJD08hhjjmWwuDFAN6Ar\ncAZ4D/gcaJxOG/oALYH1GawHcO/OhRoRk7Rs3HeSByoGu7sZIuJhNuw9eUcGYvHx+jsoInc+V05N\nPIJjlt/N+KRXiGVZfsAAoJ8xZl1CWkdgv2VZ9Y0xP9/gvMo4RtF+zFSrSXiWlxvXiOmDQNe5eC2W\nAnn83N2MTNt/8pICMRFJ5WpMnLub4BJxmpooIrmAK3dNfDKNrwHAv4BTwMMZLOcfQH7g28QEY8xB\n4ADQKK0TEqYyfghMAnZktuE2u92Na8Ry7mYdP+856e4mpGvZ1iPubsIt0Q5iIpKWqzHxmcibc4I2\n/Z8nIrmBK9eIzb/BoRmWZU0BugBfZ6Co0gnfj6ZIPwaUucE5wwGbMeZNy7LmZKCOVNz1YZzdTo4d\nEdt66Az1K3v2qM312Iy/afEkcfE27HY7Xl5e7m6KiHiQzARXX245TId6FVzYmqyjNWIikhu4cmri\nzSwF/pvBvIE4gqqU76CvA3lSZrYs637geaDOrTbOx9vLzZt15Mw/QCcvXnN3E9J1PS5nBmKJm7go\nDhORpK5m4sOlmLicM91PuyaKSG7gyqmJN1MPiM1g3quAd8J0w6QCgMtJEyzLCgA+AkYYY/bfauO8\nvb3ctmGGPQdv1nH6kmcHYna7nWuxOfOPuzZxkeyw7cjZHPVmPbPuxN+ha7HxGb6umPic07eamigi\nuYErd02cnUayD47phKHA+xks6nDC95Ikn54YQurpivWAasDrlmW9kZAWgCOQuwDcY4y56SKhoKBA\nCuQLIG+gP8HB2b8TVb7j58lz6bpb6r4dcfE2zl+NpVix/Lc1fc6V1x0TF4+Pr3eOu7cA/gG+FCma\nnwC/dPe3yRI58R5lt3ibHS8v8HbxMGV29sWJXSeokc+f4IJ5s63O7PTl5gM0urskhfMF3NL5nvh7\nEW+HoCL58PdN//8G75z0/5+XV5ptzTHtv8OpHzyH+iJnc+XUxAhS75poBy7g2ERjQgbL2QpcApoA\niwEsyyoPlAe+S5F3A1AlRdpEoCzQGce6sps6e/YK167FQryNkycvZrCJWef8hatcvnzdLXXfjsvX\nY8kf4MvhY+fI639rP1bBwQVcet1Xrsdx9Vpsjru3AFeuxHDi5EXyZEMg5up+uFP8efQc8TYbNcsU\ncVkd2d0XFy9d4/Dx83A952zqkBknzlwm+sQFYvOnmtWeLk/9vbh6PZa/TmTs/4YLl3LO35ZrMXGp\n2uqpfZDbqB88h/rCvbIiCM7SQMyyrHXAs8aYncaY8llRpjEmxrKsmcCblmWdBk4CM4BvjDEbE7a3\nLwKcMcZcB/alaNMF4Gpmpir6eHu5cft6cuQDna/GxFOsQB4uX4+75UDM1WLibTl2IxSb3e62n0lJ\nW7zNzoWrGZ1hnTPY7HauZlMQZrPbXT6amFJsnI24O+z5VLHxduLibZCBQCwnTTvV1EQRyQ2yeo1Y\nU6BgFpcJMAJYBCwA1gL7gfYJxxrgGOl6MKsq88J9awnc+TDp23EtNp5i+QO4eM1z35jGxGV8LYWn\n0Roxz2Oz27l0h40c2Wx2LmfTFudLfz2ULfUkdT3OdsftxufllfGgRWvEREQ8i2cOXaSQsGPi0ISv\nlMe+5SYPhjbG9HZh07JcTt2s41psPEUTRsQ8VWycDXsO/eOeUwP0rPK9+YtG1l3ubkYyNrvdoz94\nuBU2u2MKb3a4Fhuf7Y9kcIyI5ZxgJCN8vL0y/PDjmBy0a+yd1k8iImlxxa6JuffdYhaw5dBnRV2N\niSe4QB4uefAbU8fUxJz542mz2XPstMqscODUJXc3IRWbze7RP++3wma3cyUTDwi+HfFu+JmOiY+/\no0bE4uJtBPj6ZHi6paYmioh4FleMiE1PWJeVHrsxpoUL6s/R7HbwznlxGNfi4ilWIIATFzx3C/vY\nuJy7RswOuXaNmN1uz9RDa7OLzQ6Xrnleu26HF64ZEfth1180rJp8RNMRiNnxIfv+w4uJsxF/B420\nxMbbyOvvk/GpiTkoELuTAmYRkRtxxYiYXwa//F1Qd46XU0fErsXEUzS/54+IeefEKJfEEbHc+cbE\nbnes7fE08TY78XdYn/j6eGd4mltmHDx9OVVavM2e7aMeMZlYI/bDrr9c3JrbFxNvI6+/b4b7LCc9\n0F4jYiKSG7hiRKyvMWajC8rNFexu2EksK1yLjSd/Hl+P/uMZE2cjwNddzzC/PZ64RuzUxWsUK5D5\nbcAzy2a3e+TaFpvdjk8O/F11h7T6zx0/07HxNmIzOCJ2+MwVF7fm9sXG2cjrl/ERsVgP/EDjRuJd\n8IGAiPw/e28a7Eh2Xgee3LHjvVf13qu1a+nl9d5kL+IikvLIlq3NlsgWKY0kh8f+Mxo7YsJ/ZjyK\nsdVwu0cAACAASURBVCdmiZk/MzG/bEm2YyLGIyushVRTQ2lISZTEnexuVndXk1Vdr7uWV8vbFwAP\nay733vlxM4EEkAlkJhJAoogT0dFVKAB5kcu99/vO+c43R9Iwm7vShxiUcResWUPTtJCeULPhqDAs\nCkWazVueuyZOexTd+Oq1oW35YgGhLJGMGLdfn/YoZgNe149QBjbhQIwbWwQ75iyYRRi2NDFIjRhj\nbGZcExljD12bgTnmmGMOL8zmrvQhxjR668QBcwaCHJMkf4x+SCIj1pyUqUOCGbFZlbpOGrrZf/0I\nZZg06SGLYuAasXFINOOGaVFkAkoTGZuN4BKwHb8ETDxQn2OOOeaYNOLelf4H8IbLc0TELGfZk17b\nZhACdUaliYyyRFnvU8rQ8thcj+tYSTQZoJRBkyXPIGOObnhdPzKF5IIkBWfEzBlgZMKYdRDGIIni\nTJj+UMogi0LiVABzzDHHHHEj1hqx9fX1fxzn9/0ogrHkBzSzillg7fzAGbFpj6KDSbYCIIwlMtih\nDChmVNR0E1rCZbnThmeN2BQMaGRRCMwKzQJ7ZFgUaUUOJOOjlEGVRZiEQhOTfb9SBh40TthVc445\n5phj0pjNXelDjFlmxJIOw6JQ5WRvQPxAE9boWzfJxAJDSpNZ20IZQzGtoPqQWdiPA341YpM291Ek\nMQQjlrx7rhcdRmz4WCnjgdgs2MJTxhmxuTRxjjnmeNgxD8QSBt5HbLYjsWkHDHXd9Mxm8xqx2Ty3\nSasR0y0yMYkTocmsm6SMoZBRE92yISri3ABz18v+53Ea97QsBrfnn4WAxbAc+/oAjBgDb/48A7Vv\njDFIc2niHHPM8SOAeSCWMMx6BjCjyhMzcfDDu/dL2Cwl33o6DBhLVkNn3ZqcNDGpBjaUMhRTykMX\niKmyFCsbRCnz/D6LTl5uK0lCYDe+WWDEDIvYrokhGLEZ+F2U8Z52SZrz5phjjjnGgXkgNkesyKZk\n1PXpbkwpZTOx2QgDhoTViJlkYrIyQhkUSUhcjzrKgEJGfaikiYwxZDQJdT2+30SZd0+oSdeIUcps\naeLDUyNmkuB9xDqBWLKeIy9QmxFjSP5Y55hjjjlGwTwQmyNW5FPTr5khzDsDP8sQBSGWTevGQQ0/\nuF8a+XsmyohRhrQqJ87CnlKGQkpBbcqJh7iRUWU0YmS1KWOeDoRkwk6gBrGt3gMGIrMQsPA+YgGl\niZRBDVEjN004NWIzoKKcY4455hgJ80BsjliR1ZLBiM2C9XQYCEI8tXdNw8JRXR/5e3SLTMzLjDIg\nrUiJs7CnjD2U8qmMKqMRJyPmw1BP2gnUsAg0RQws/7bo5JINUWFawe3rKWNQ5GAyxmmDuVwT55hj\njjkeZswDsTliRS6loDZlRoyy2WjGGgZxMWKEMlSbowfKhkUnZtlOGENKlaAnjBEjM+Bwen2zjK2Q\n9ZJZTUbDiFOa6C0wIxOWJhoWhRqifQVNWF2mF9qMWJAaMQpos1IjRh2zjmSf/znmmGOOUTEPxOaI\nFTlNnrp5AfExB5hliEI8Mh1CGY5juD66Obnm2IQypBXZ0wJ9mqCUQUx4JFaq66GlkxlVjrlGzNts\nhbLJ2tcbJFz7CpYwp1IvhJEbzpx9vTR3TYwCxlisjPYcc8wxXswDsTliRVZTYt3ERQFlDGbCNu2j\nIi5GzIqJEdMtCm1CPdl4jZgEI4FNnZPo5uhGyyKha50yMTNixIfdEDBZxoP3EQy+5E2jz1kUyJIY\noo9YvI6Y4wKvEQsuI52jg3LDwF9f3572MOaYY46AmAdic8SKJMhJKGUzkfUNAzGm80ooRdMcfZOt\nW2Si0sS0KiWOEZsF6CYNLdPlZh3xuiZ62aaL4mR7DhpWOBZ30jVsUSEKCFgjxq/DLASXvEZs+mvJ\nLIIyhkrTmPYw5phjjoCYB2JzPHR4OF0TEcumMK7myIZFoYSotxkF1JYmJs2sYxagm+EZMVUWY2WU\nGWPQZKnPQIezvLEdZihC14hRlvgaMQAQAj7PlNkyxhmYGx37+hk4/YkDoQyVxjwQm2OOWcE8EJtj\nZCRNPkLpXJroB0K5LfSoYBM0qiCONDFGs47tciO2+1YWxcQG/i2TTN24xq+RMK97nNzcYRIKJYSc\nljIGkrC5bRRQyq/DLDjKths6P0Tnf1KgFCjHID+fY445JoN5IDbHyKC2jCQpoIzBfNhcE0Uhlp5L\nvF5nth57yngfsTilid/5YC+2DWkuPX2DGj/oEWrE4gahDJrcH6zGJbcNCsOi0EJJE5PvmhgGTo3Y\ntAPzIHD6iM3jsPAgjOF4Lk2c40cESesvGgWztSObI5EglCbKPY5QNvXNZ9wQEE89DaEMqQT25BqE\ncTBi3Fkznu/La9Nv2eAH3aJTl6JRBmiK1Fe3KcbUGy8o9JA1YsBkxzduOIzYbNSIze3ro4JSBs9+\nERHx9Rs78X3ZHHPEjD956960hzAy5oHYHCODy92SdSslTS45KsSY6iUIZVjIqqgmlMHxAmEMaSVe\nsw7KWGzBaC6lJPZ8yqIwdeOaNhPjKU2c3DjMkHWNccmBkwLHrCOpMlo3HJVFVEbyW+/vxjyiZODt\nu4dD30MYgxJjv7iwfQjnmGOSmKWksh+StXueYyCSGlz09gkSJlz7ERZJPY+DEF+NGMViZrYCMUa5\nNDF+RiyeCTyfUhIrTZTF6ZszdGqTPAKxidvXB68RC+pGOCugtmnKONQCO5Um7h7UYvs+aif3ot4f\nG/vxjSVJuL5ZHvoeQhmWshoqMdWJGTMQuM/xo4t5IDbHRPHFK8mkYJ0+QQ6ymox6jPbXccAiFJIo\nxMYsTRpSTMGt5TBiCSnm/tp7w/vdEMagSPFKqkiMhi65lJzYwFaWksGIpTwCgInXiJFwfcQeNte+\nTkPn+Dcu5YaBo7oe2/c5rolRb49mAnsOxoFWgN9FKcNiVo2tTuxhM76a4+HCw5AomAdiM4TtSnPa\nQ/AEoQxuZWJOS555Ad+ESVOVG42SMY6r5xKhDIsZLTGBw4Oj4bIXfn/FW4NIGYttAueMWLISDw7k\nBNiV+zNik63BsggN5Rg6aVfHcYNQntAYx/1AKI014KeMjeSaGCRgmUUECTAJ44xYOSYL+4dhozvH\nw4uHIVEwD8RmCEe1+DKOcaK3RiyXUlDXk7UxdepDREGYmjTxe7f2AQCHNT30BiOunkuEMixkVBwn\nhBEL0jiYUgYpht5nbsTJiMnSeFiGOCBFrBGTJTE2yUe7oTOdbo0YELznFjB5xm7cYHYfsXHILePu\nuTZqQ+dWwhQZcaFpBGPElnJabL3EHoaN7hwPL2ah5nUY5oHYDKEUo/QjTvTWiOW05Em1TFuWFFdj\n5ChwNrbfWt8NvcmNi8ljjCGbklHXk3F9gmZ442bECI2PEUsyBESricyoMpoxbWaJR0NnZl/TJAc6\noiA8ZDViGJu7rUVZrOdqVGmibtGxXrtpMW56kPlyXiM2x48QTEJnXrkwD8RmBIZFExfcOOirEUsg\nI2bYjNg0jUQcswnCwm9a4pRUijGzS6OgZZChgQLtub/iAGXxmXU8jIizzpNSxu3rXeebMe7omORA\n7GGzT6eMhWIEQ333GAKxUe4P7oo6vmBpWpbZgRJXdt++uCSo83nyRwdxGu5MCpQykBmfp+eB2Iyg\n2jKhhXD8miQI7WbE8qmk1oiJU60Rc1gwQilISE2WIGDiMq5JwCTDM9eEjUea+DC4LQ3CKBLcjCqj\nEVMyxTGJcG/oLLteKamZTGaz/EkdHxD++o4joeGAUBZ6ThsESjFSjdi4Ge+4no2wCMJSx60geNik\niXvHyay170VcioQw+O7NvYkfc1TEzcZPA/NAbEZQa5nIp5VEWq8TyiBJnYk/rcpoBNCyTxKG3cw1\nLtOLSGMgTiAWbuJobwoTcu3jvAeDBER0DGYdoiA89Jlew6KhkzcOY5LRpED1e0HAbdO7M/TUdsJM\nyj3dC8a442SSM61h+zdSxg1SxjIWFm9WmmE0aWKcNaC9YIxNzZWxZU5eQTBOZnHSIJThT995MO1h\nDEXTsPD737sz8ePG2atzUqARFEZuvH5rP7a1LirmgdgA+E1408ikHzdNLGa1REb+tIexmKYhhh9M\nQqFKYmymF1Hg3DdhMzjOpjApm1aLckezeL6LDs1c90pf44AiiQ9dprcXLYtAU6Kx6FlVRkOPZwNG\nKbg00XXPOw5+CZzOAPDAYhRGZhIwLAolhB1/by1vnAibXBoGSkeTrsbZsL0X4wzyhiGQgiBmc6OH\nKWHVNKzEmp65cf+oPhVDrVkMusmIRkG7x82pt/OZB2I+GNRD5k/eujvZwYBLE5eyaiILZ8exUY4b\nhss1cVpyI9Pi2cyw9RS8cD05m0LDIrHJZCkdXstBxrCBVGQx1mdJFIWp28T3QjcJNCXaFJ/R5FgZ\nMbWXEaPJDnRowqWTAN8gKyESIr0S8jgx6maoF+05jwJ39quRvmNcayWhDPqUNqyMDf9dNGZpomHR\nxCVWo6JhWLH2uxsF337f37Tr7kEd+bQy4REBupmMNSzM/UZGrBGzCJu6p8E8EPPBIMesIBaycYMH\nYlriNnvAeBf4uGBaTh+x6UkTHSYsbPaY2owYi/HSjxKQtkwKLUQmfhBIgMw1o/FLqtSYGbGcljyD\nGt2kSEVkxOKsEfNyTbQohTJFlneovKttFjGhAUWAYYVrUD1ORmxcZh0MDN+9uR/686osji27P836\nUlUePm85iVElpnNgURZZIpo0NA2SmN+yVW74snOVpoHiNAKxhDBi33x/F4e1VqD3jlqfahI69bVb\nnurRA2JtbU0E8L8C+EcA8gC+AuCfra+ve1YWrq2t/TKA/w7A4wC2APxfAP739fX1wFdrkLXyNG7W\num5hIaN2bWaSgplgxAiX8Uyz1opQBspYaGki35TE24g1m5JR000U0mrozxq25E2wz+UomzslQL+q\ncdjXx82IOQY1xUz48zku6CMwl6osxjbPMerBiLHpMU6yyHtpyZL/PeWML4lScAdGSEaMMyXjGUvc\nBfPtPmI0WrZajbEPXi+mGYgFmS+dOXkhraLSMLFcGE294LjSiUj2Gh8EDcNCMa3YNePTNT8jlOGg\n1sKphfRUx+FGUmrEynUj8FiiuFC7YSUgEJsVRux/AvAPAfw6gE8COAfg815vXFtb+xkA/xHAvwPw\nHHhA9i8A/GaQAzHb4lcawBi0pkDfMg/nsaTA6fmSZBiWXSM2xSw3oTwIC2u36pzfOAPIfEpBtRVt\n8nEy8aKAkTfSijQ8IGJjyORH7a/lh1xKQTVhjFjLJJEZsThtzh2ZmftsT7NGTJKGN7nmrn3JNutw\neiMGBWPja11BYzbroO0aPZ5QCJuEUqTxrZUWpVOppXHaQAStqS1mVFSaozd1HnWjmyQ0DIIzixmU\n6vE0ux4FFmXYr/azPpQyCEDsydcgCNKnbhKo6Vbge443k49+LIsy1I15jdhArK2tKQD+awC/ub6+\n/tfr6+vvAPgVAJ9YW1v7qMdH/ksAf7S+vv7b6+vrd9bX1/8YwP8J4B8HOR5j3CpcEv0X4Wk1c1Sk\nyT+YQTALjJiZAEbMcfchlIKEuI7jCETyKQXViIu0bhJoMZ1LLhEM/jw5wdOt3eORjhs3eGCbrJYN\nLTO6WUec8HLra9uTT40RG84qyKIIluANqGGRcIzYmGvExtPQmdk1WeHWPVWWxmaoEWU8sRyXMaQV\naXhNre0yW8yoKDdGDzjYQxSINQ0L55ayiagT02QJZY+A0CAUmiIhn1YmatiRpN6a1aYZ+J4TRWEk\naaImi7EZU0VF4gMxAB8CkAPwdeeF9fX1uwA2wNmxXvwvAP7nntcYgMUgB6M2BS+K/ozYtLIG8hiz\nfKNgFmrE2oyYgPbm6t7hZJsXOmxYaGniGGqkCmkFxxEDB922RY+DXVQVKfCmRnExwm/cPhjtwDEj\nl8DeebpJkAopvxlHUb6TqHF/N5mifb0sCUMl3g5j9zAxYnGbOLgRv2tip6EzoSz0mhu39LhrbFOU\ntqcVaegewHExLqaVWBixQXuhWUPDsHBuKZMI50S/enWLUMiiONIaHQWUssQk+mu6GXgskjCacoHL\nfeeB2DCcs/+/2fP6FoDzvW9eX1+/sr6+fsP5+9raWgHAbwD4cpCDUQYI4mCzjmkVNCpSMnsfkRmQ\nJnYxYvZr335/ss0LCaHtIGyYNMoNastl48QoDI5uEaiKFIsDZZhajpTcCdqmxUr7IaclkBGzorsm\nxgmvOkIyRbMOOYDDZVsal+ANqJNcCgruPop2bWecIJTGWkHEANsplm9Mw9ZkjbNGzJqSAoRQhpQq\nDa+ptcdXSKuxMCqSIMCKsVn3NNHUCc4uZnGUAGmiH3ize4EHYjEE0mGOG2ZfMk40jODSRM6IJWPc\nUTH9VXo4MgDo+vp6785LB5Aa9MG1tbU0gC/a7wtcIyZC8K3JoYxNWZqYvBvOq4HkOBb7MOgNEhx5\nn+B6fdJNOXl2l4IyFurcjKPIPp9SUGtGrxHTZHGgfDcowtQ9up3QRn0G4w5sg7iZTRq6SRMiTexP\nJBDaqQGaBCxC23OULInDa8QY3wwlnRFz+ogFSYpwZl1ALiWjHrE+1A9xy9OdNaXNiIVMfvK5YnzS\nxGkEYpQypIIwYvb4pBiYLDaG+uRpwqIUWU2eOgMC8DXI66xahEKWxNgC6aCIm9UeBYOIkF7ID0Eg\nNguuiU0A4tramtjjeqgBqPt9aG1t7QSALwF4EsDfWV9fvx/kYIViGvl8CsWMioXFLJYXM13/blgE\nDMDycj7s7wiETEaDIPR/fzarYflEDrWWObZjR0V29xgnT+SwfDLXfm2hkMLCYjb0RjCO35bNalBl\nCcWlbNusIJvVsLycx8JRHcVCGsvLeTBRmOi5lGUJCwtZSLKEXD4V/NiajGKpAROjj9c5DwCgpXd9\nv2/QcZT7JZxeLWCj3MTSUhYLWS3yeIr5FNSUMvB4zphP7h4jm09j+WQOVBjtXGQyKhgb7X7LZLSu\nz7vPbZyI+p2SKuPc6QVkPtgP9B2Msa7fENfvydw7wspyDtl7ne87NAigyDhoTmY+q+smFosZLC/n\nsbhXRaGYHnhcQxRRLKSRy3WfgyTNvantCk4tF7B8IovFYhqFxQzSqv+SnsmqWFnO49xxC1J68DMX\nFll7DojrO7MPSji5lAUpixAlEWnXdQhyDD6vyGO5XhWLIpNSsLiUja2xfRBItRYWC2mkMoOfSy2t\nYHWlAFkS++aosCCUIqXJWFjo3wsl6VkICmdOy41prg41lowKQRD67iNDFLFUN3D5/CLeP6gFGmcc\nv0Wp66AjrolxIZ1SkA24R9JUeeh8Pghxz11RMAuBmBNAnUa3PPEM+uWKAIC1tbWLAP4CQBbAJ9fX\n168FPVip1ECjrkNhDPsHVcg9mZOWSaAbBPsRm0wOQ6OhQxAE7O0dd2WR63UdtWoLB9XW2I4dFaVy\nE5WUgpQra6Y3TWzvHiOrBb/Flpfzsfy2el0HNAXbOxXkUkr7tf39KmrVFkSLYkEWUZ7wuRTse4pY\nBIelRuBjH1RbqNf09m8YBe7v8Pu+YdfhsNRA/biJRl3H3n4V5ggF4ZZh4ag8+Fw449QbBnb2q0gx\nhuMRz0XdLtYe5Tsaje4xxHF9ejHKM1GrtXB0WOsbpx8oZWg2jKH3R1gcH7dQOqp3fd/hUQ26ScZy\nzrxQaRgwWib296to1nXsHwjIDHj/QakBo2WiTGh7fM61cMwLJrkJ98JhqYFqXsM+pTB0E1s7lYHt\nKI6rLRwd1QGTYGOzPPD3h8Wg56mhW8iEWAcAoHLcQkGWUDlughCKvYMaVuyETZD7xTIslAxrLPfW\nwWENigBs7lSQGRD4xo3DWgsgFAdH9YG/q1rTcXhYgygIgZ99PxgWhQhg76AKybUXimutnjSc+abu\nmuemhVpdx3I+hfWNA6wUOhb2u0d1NOo66pUm9odcayC+a1Gq66CM+X7X3nETaVVGPjXe/maUMjBC\ncVSqY39/oOiNv59QHBzWsR9xXKPuBeII4GZBmngVQA3ATzgv2IHWRQDf6H3z2traMoC/AZeZfyxM\nEAZ0ZDR+Ug9CKcwx66V5EWf/60l1TfSyr5enPFa/ejpR6JgGtEwy0RoQSRTb9XRhjuuusfnuzb2p\nFxo7PVgG9doLCjVEUb0qSzDMeKSJc/Sjt5ZLClBLFeV7AdvBb4LyLnfz4yC20LxGzPv+vndYx1t3\nD8cyzjAwCYUqccY/SE0UtWvEihOuPfl/3w4kRumCWxKnyWIos45x1NS6QRhDWpUn3kssqFlHnC67\nhPJ7LMm1krOMk/kUDqrd6zk36xDGeg97gdgGOX64vVfDdrkx9nHUdQvFtBq4Xu1hkM4mnhFbX183\n1tbWfgvA/7G2tnYIYB/AvwHwN+vr62/Y9vZLAI7W19dNAL9l//0nAehra2ur9lcxvwbQbjAGiKK9\nCfG4ESzKIIy5saHQDha6j6NIwticoEaBl2Z+2sYisk89nbv3lUW4XasmTqaOxikq5frn4OfG7ZpY\na1loTVnfbtoLBU9WAMdNI1JjaMciPOgir8li26zDJHQm2ibMEihjEFypuYwmo2FYka6tG8497+j+\nnbl10KIfNwyLt1wAuGvisEWeUAZF9K5fNAlNRD2gYXVqxFR5eH8pZteI8dqT8iSGCIDLQsOCMrgC\nseDOqoBdIyUIsMa0OSOUIaNOvs4oqFlHL9gIgSm1+5cmuVZynDAsinJD72Ks4oIgCDiZ13Bjq9L1\nukWmw7YPM6GxKEXTGP89X9VNFDNqoBY/zHaCnfUasVlgxADgXwL4PQC/C+CvANwB8Fn73z4O7qD4\nsbW1tRSAT4Pb3b9hv74FYBvAgyAHoowHWn4mAoSMfwPR25/JYXB4Jjd5NxzxyG4HKYgfJ/waerpN\nRCxKJ+oG5RSVyj5Bvh/cttMmoSAJuAcEQWibdXz5XU+F8FB43TeDwK3u+UJgEZpIdniWQXsa/mZU\nOZb+Ks79ezKfajcwdV6bVNbXIBSKbeXPn78AFuCS9wJv2e6n0wZnxJxALCAjJgrIpuSJOnw2Imze\nOq6VgKaIocw6xp2gIZQhHSEgGhWOWYdBgp+LtCqPpB5ot3FIwP0+DRzVdXz/zvjY76WshsOenmYW\npZCl6bhy9rYZccMidCJKlFrLxEImGCPGGGK5P6dtLpd4RgwAbMfE/8b+r/ffvg7ATWmM9JschzpV\n9p78eW2AMFKWaRiEHmmiZdcjKHKCpYk952IaXeHd8AvEeJDL/0wog2FRjOA1EQqS6DAC4SYOJzkA\n8MkwTqZxlPvYSRhEnZzb7EjAj7s3mybhVrsTunQ/Euht+Ju1GbGRv9eWSp0qprFbaeJUMd1+DsbR\nt8wLbqt3WRKh64N/F7UXeM8+P5Qlws7bnaBxO4oOfP8U+j02hpxrLzjOfwycEQsT9IRN8ISFE4hN\nuqkzYbZrYojjFtMKKg1zoInLwGNSmxH7EQnETEK7mqRbhMbSFNsLzKdFhkVYm72fJChlUO2gxisQ\ntChDM4b1YBiqLQsLWTXQvGE5Yx5xHUkrEloGCV3LGhdmhRGbGBgDRAhc6uEx4VmUQpWlsWZEexkx\n0+KTgyKNr0nlKEimNNG7vsVd12TRyXWSd3T7zrkKXSNmP6kmiY/FSynSSBkuR+YZdXImtD+AHwTN\nlRyx6JwRC4MgAU/vRj2tyqhH2ET3HduW1p4qprFTafJj9cwZ69sV3No9HvlYfnDXiAWpfXM2SV4L\nvElo4pQJ4+ybNSqiBPMMnLmklMsuw9SIETZe1YpFnRqxyUsTpZB9TIoZFeUR6gEJZVDkaP30Nkvj\nryeKG3/+7mZXE2yTUJTrk63JtiiF5AoGJ5Wssihvd+K3t50oI5ZWA+1zKIt+fzoQBAEZLZ61Lirm\ngVgPnCxjShahmx7SRFseMM5NoCjwgNCBQfgmIkgj0mnAKxDzq9GaFPwZsU43e8YYzAmNkTLYmUXq\nW3846LPOBtmiLLbzmk+P1oTYCWqj6sYp5fKvoHAnRwQgEazELMBhYoeht1+dFsJIZRCIPafmUjJq\n9v1Gelj0o7qO2/u1kY/lB2cOBYLJpp0aMebx8/kzmKx7T5GHmzhMC1E2OO4+YmGTeuNnxKhdIzZ5\nsw5JCCfnLWZUHI/A6PDzH63M4CvvBqoGmRh6GX8vHLfMLsbRImxsjJjfdbQIv+cBQFMmx7wSytln\nv7XCImwivVdrLRPFjBJozeJmMqMztllNRn0CbJ8f5oFYDxjjmzxVlnyliZoijTXIcDv7AR1GLOiG\natLwmuD8AqFJgR/fy6yDZ1k775nUJEftQCz4xtiB2wUrTkYsn1JGahjpyDyjZsksSkPVcrgZsWkH\n+rOEoPWavTVicTqfij0byN7NctMggR25vntzL7Se33H6BBAooeW4JnoxYiSJjNgYGxiPirpuhc7q\nOzViUdiAsEx7WNAp1YgNq+HxwkJ6dEZM9ZHoDsPecSvycceBpmkhrQ425jpuGl3JJ5PQsTed73Xo\n5mZYfGtemKDDqSND9dtfTEqF0jIJspoSqBY+DuksY4wHYhFMheLCPBDrgWN9qyneC5sVsLv9KOgt\nHHSyuZO2Mw0Kx5LdDe5MNmXXRI/ju2WfqixOzP3MogyqLLUZsTALmzvQtWLcBBZSozFiTkA5Uo1Y\niHtakTrXK6zhiR/iln1MSkYSBsPqNde3uWtXb0IlrkSF+5w4f+pl0ZuGFTgov75ZDr0J7qoRE4cH\nptSWt3ldT16fmKygJ8nSRJPQ0MoDpyVKlEe8V/YaNyzbNTGMgUgciGJCkk3JqLWiZ/pH2ejuHTcj\nH3ccaOhkaK1ctdnNiJlkfMYZztyykFVRanTkj26zjmJaHSlZGgacEfNPcBKPhPu4IAdMVjtmMqMa\nbWTn0sRkgTEuX/PTpRNKkRqQNYgDfdJEi7Q3EUmEl+GDHyM1Kah+0kTX5kr2saceB9yFsFIAsbNE\nZwAAIABJREFU17auz9otFQB7ExjTmPNpBdURGTHGoteI8c1W8PtaiImtcV//OBlmRZ7uPe+HYXbt\n37u5D6DTZ8rBOOo8nfosx2LcuaYts8NYDUOlaYbeBHf1EQuQJBokY+Juq8m6zkHMOtxQJhi4iYIQ\nup6KMbtGLCIjNnazjpCmGXHAq1+nF9zzZK+6JiyiuiZSyiV9SVLwNAxraAPuumF1zXkWoWNvVbCc\nT2Hf1UvMIqyLEauMMRCr6xau3jsCwPe2miKFaq0zLgTdIw1j8YbBeTbmgVjC4DBifo1mLTJ+aWIv\nI2aSTr+YWcG0GzrLkuC5UAroOFJOVprY6ccSVproNlGI0zo7n1JwPEqNmMB/V1Td+LC+JX6g9uYg\neiDGA3IlZjlXSglnKjBOuJMjw86VU5zea9Yxjudj2bawd+rG3Cimla5Ced/xNozQ59k9h8qSOFT2\nQu17xAtO/8Ekwc9cyg+FtIJqa/ySJ2Y3ZA77nDlJmkjSxIABS1QQ26xj4q6JY2b6vOCYIYR1pavp\nJhaz2kTMHYKiaQyXJvYmZ03CcDKfQqUxvmDoZC6Fg2pHxmnRjnPjuKWJB9UWNg5q9nF5jdikk0y3\n96p9r4Wpa1ZlCVFjR+eZymrKPBBLEpx6HL9MkmPWMc6FWOyxr3fLamYFsjhd10S/AmO3a6Li0ytu\nHCBtaSLr04QPg3uDLArRz2vv/Txq4OCcy6iLbVQJkSMPjrpgOEYRcQcaKXk0F8o44Z4zOAvlf66O\nmyYYY33BR1x1eO4MveOc6FXvcnYpg82j4XViukk8jZQGfsalKggiax1k9W4RihFIhrHAL3Hoh0Ja\nHevm0oFFGTJaNGMLJ9ETFuOWJnb6iE1emthba+mFOOXR7RqxkNfhuGlitZCeiN15UDQM0mbE/M5R\nL1NsUYqTeW0shh3OdTyR13DYw4g5Jlb51HiliZWm0baJp06yeMKqjm+s7/S9FrQMx4rI2Lo/L0si\nrz+f4to9W7v7CYACGDSHt806xpg1EHrNOnp6W8wCpt0E0r3JdktVnBoxZrtBTZwRi7KxYAzOvDRK\n7V3vRnvUmkPHjr9lkuhF9VECMUJHSoY490PcBgcpRUJrwpszP7QsAk1xzCkGSzdaJoFu0b7gQ5Xi\nqaF03xtOLzFHmujGucXsUMtrxvj8GzbgpfaCCwRj6wfJ2/jin6x63bCOujzTPtoGL8hc5ki7otRT\nCYLQ3iiFgUXpWM06nEBs0onGKGYdcRxTdTnp/cUPN1EKYOd+3DSxUkglJjEFDJcmtkyCbEruYcQo\nlvOpsQRiznVUeurZLZdZhzrm3rHlhtFWtHT2tpO9r0v1EVw92/uq7jEf1nRsDVhL3rx9AKCzt562\n/8Js7e4nAEoHN7jlNWLjtq/v7yPmVz9BKUumQcCUXRNl1ybSHcg6va8oQ+jmmKPAySxGy/B23OxG\nYSlISJfCYZBsdk6NaG88SJpYaRjY8nHRsyhFWvW32R0GJwiIOxDXEiRN1E0CTeH3vDKkRswkFA3d\nAqPdNWJhaxmDIJfiEhCvILwQQJrYNAkWMupIGzwpAFvv1aTegUVo6H5O40bYjUQckqcvvX1vaNNV\ni3BHsqgJjyjJGs6Ije/68Hl08td/GtJEYicdnLm22jRxy0NK1ovjponVYjpya5NxoGkQpDV/aWK1\naeJEVuupEWNjC8T8ME6DkF5UGiZSdsKuLU3s2V/c3quONanuDsTC7mXdJR9u7B03Byb1rm2WANhB\nbwKSaslaTRIAhmCMmEloO6qOG0KvNHFAjdh3bu4FmhjjRrVptt3WvKD4NFSeFBRJgGlvIrl1tROI\ncScui1BecD0pRoxFZ8QYOkzFKL3kLNopAo4Kp4YS4OyaYVGkVTnSeXRLiHqL8ncrTdw7qHt+ziLO\ngjHC5k7ijFiUcX9jfcdzYR61QXac0E3aXmCHMUAMPFtMe+zr48oSen2PV41YkONVGgZWi+mRHOuC\nOH9R6r8O9JqazCIKMbixHdb0odfBJJRLE0nEOlJCQzdn5gEL//M4kpSTdI9zI6hZRy9GeY4dRsyZ\nnykD7h16z8tuVFsOIxZdmvjWxmHkz3phGCN23DJxIq91JQ1MQrGY1UZyF46CSd1fhkWg2Xsjvrft\nZ5fevns41nWt0uyYujSN4c6WbvhJZ7lTq/+a58x9JqFQEpBUm/4IEoZhjFi7PoUwfP3Gzlgmer8+\nYl54cFSfyuZvu9wYGADyotfJM3VtRzwXc+Sul3HYRosypFRpYmMklLZr0sI6erk3hVEYseubZZiE\nxpJRdbvPCYIA3SKcnYpwHh2GLqPKfZlTg1DfzZtFHWni6DViUTL15YaBesvsO5dJCsRaJoHm9M0a\nkhTJqrIdiDEIY4gwvOZIJwj3mmsHzamVCUmexnUukoKU4t0nMwzKDWNoIsOiFNkRmh+TCOyWE+QP\nckVtmQR/+cOtyGMKGxzGgbB9Fx1wg6qI6gHbrMNhxnnd3vBrWWuZWM6nRmLErm+WY2VirJ4Sj955\nxosRM+3WQePY5/XOfaNasI8KQqmnWYdu0bHWQ5qEomb38KrpJvIpJfBniS1d7r1PjCFjdgIxi4SX\nPo8D0x9BwuBunutGrWXir65ttTeBFqU4rOljKaTsM+sgnc1vL3Yrrals/o7qOmoDskSjuNqNAsq4\n9MgdzPLzxzelogg7EJswI2bT/qYVvn6ButgDOYJc7PpWGQ0fOVhY6FZngy/ZjFjUei0nIMqm+psp\nmoT6ykadIDqqbM5dIxZl3C2DoGGQvnkiSu3SuKBbpMOIDUmKpFUJDZ0MlOPFCVkU0TKJ57EK6cFO\nnscNAyuF1Nh7OE3qXMwySnVjaIBlEW7WEdZcpf35CEGPE7wNckXVTRLIodML1IPNnQQGtVQYhLQq\nRQ6IOoxD5zWnNngQKOO91qI66gJ2Mm5Mz7nX5v24ZWApp3WtO1EY2SDoDboWsioqE5Q/esGvj5hh\nkfZzJIZ0fA6CjCqjbve6qzZN5FIhGDEfltiw6EDzomqLG1QlxX9h+iNIGBgAr7nuxnaF2y5ThpQi\ntg0DdirxNy3sM+sY4JooicJU6lKO6sbAuhO3O+Ek4SUbMa2OtNNhxAhxGLHJBWKKLEK3SPiahwEO\nbkHQ0C20TBJLjZhh0raUQRT4hJeOWODrbJi8rGN5Rsv7OwlhSMnx1IhFydS3TIKmafVdkyTZ17fM\nTiA2LODMaDYjNibJVW/md7mQwu5xC4LQn5U+t5gd6JxYbhpYLaQjb+yDYlzn4mECA4IxYlr0PkxR\n5iynUbyXk+T9wzpubJUHzi9JRVRb/owqD63l8z2mhyvd6YUMHhzWhn52lAAQsAOAMa3PXs6p1aaJ\nEzmt754eh5FDb1KUW9j7m6BMYi/lyFB713Ld7AQ1aUUaSW7qhXxKaSf1a7oVkhHzDpQHJXIBtBPT\n8xqxhMJvAb57UGv3NtBsWdRqMTWWQKzPrMOnRqxhWFjIqBPvZwLwnhyaD0s3TXhlKx1DCcA+t7TT\nq2NSRidOZtGIUOg/aiDWNIgdiMXDiDnsotSWJsqRDEQcZiqnyai1PAIxn0W4I02MyIjZ90hUs46W\nSdAySN99llRpIu8x5T+uTFua2GkcHid6nzHHwt7Z4Ljl4GcXM3hQ8q9BqbUsnMhpYw94+T0S7bNf\nvvog8sY3KKZt0OTU2A4LZkzCkFGlyBtqxzVRCWEv7dRSqVJ/k+vb+1Uc1Y2xsi3jQtT520m0RD1m\nryvdoyt53NgsD/1sSpHQHGHTbliDN9OjwKtutmUS5FPKRJKzvfLWYkb1ZWgdg6NJjInXiPVKEzuM\nWEoZLbj2OmY+raBm/75qy0TOFYgdVFu4f+S/HlAfd9thjJhBKHSLwrQTDQ6mNa8mbyc9ZVB4M2LO\nZtjpI2YQguV8Coe14VauYcEzxf3H7sXmUQOPreYTs/lLArxssQ3L7ZrI2cY4jCvCwMksmlb4DO8g\n44AgaBgWdJPE8pt1i7bd+ARRaJtCRJIm2otRTuuXJhqE+G7yTEK5NDGyeyQ/LrevD//scEasX5qo\nyuJUkiJe0K2Oa6I2YFyEclc7p0ZsEizQqWIa+8edBqZNkyBts3fDbNUp4xvzcWeIRzkX+9UW/uzq\ng5hH1A1zyrUNlaaB5XwqgDSRIqspI7smnswFX2udz6hyf/uFzVLDllr5zy9JheMGKYU0bMpqcuSN\nPLXbvLhd6VYKKewMaTMB8GAnbP8xN3SLjm0+dRixb9zo7mHlx34JIXt/DkOv82Yh5T/vxdFqwguG\nRdtJDsOi7fKJ3nvLXSOWHlFu2guTUCxm1A4j1jKRd0kTdypN/PB+yffzlk8NqUn8GW9mryGGRWxG\njH9+monUeSDWAy9GrNYykdN4lO4EYrWmhawmxxpBO9/Vy4j54cFRHY+uFMZeLzFL8HJjcxtM8Box\nLm+bZMG1s/mPZMfMBhvIDINhUegWicXtS3cxLaIgwLBrkaLUA7a72qc6GTEHpuXvemQR1q7TjAIn\nixaVEZNEAU3D6mNM/JrATwNu18RB/dJMws0UTI8+YuNCRpO76gCahoW0ysc67X4uDihF5DqgrDa4\naWwccLP8o2DQGC1C8a33dz3/rVQ3sFpMDWW6LEqR0aIbg7QDsbyG/Wpr+AfQYdoVuZ+JMyxibywH\nZ8yTCKsdYA5OfPU+QxlVRn1ERswdhEzqGTXtgHkccBixmwEdp/OpwbWrYdHbuiWfVnydGeNoNeGF\n46aBhYzaNmtqB2I9ASelrIsRa8XIiJkWxVJWa6//dd3qck3ULTpQIeHXvH0Qk2rZyUfd3mMo9ued\nhMVRTcf374zHEd0P80CsB9wqvPu197YrePJMEQBfWDRFQqVpDLRCjXRs2z66176+e3ydxfOwruNk\nXos1UzPr8NpMOs5HACBAaJt1SBPMKDubg6iB2CgbZE0R0TJp27Z9FLiDWkno2NdH6SPmnBOvjK1h\nUU8WUBKFthFFZPt65l9DEgSOPCPJNUR6jzTRbyNsuWTP47Jl99q4nV3MtP+taZKuuZQx/wBhUmd8\n1Gcup8lojLGHkmER35YmQZEdIlnbq7awceBdC1SqG1gppGEO2Sg7rSairlFOc9vlfAoHIQKxjjSx\n+/nW7GdhVhkx0altDcmIRa8Ro301YgBsFsX72g9qhh4GFmXjkybajFjQAGchq8baS6w3ETzI3CyO\nVhNeKDcMFNMql67qFizK1/beBKd7nVzMqjisBXsOg8AgFIW0gqZrHnLPu4ZFBkoh/fZTlk/tGMDX\nxkJKgWnRLtfEjL0PqTQNHI1B6TYI80CsB5R2bxwYY7h7UMOFEzkAHaOA46aJdMyZT858DM6sc9vh\nzoMyjQzytPqoBIFXhsSwSEeaaJuITNqC2Cm0jlJ8zkLU7tzaPe57TZOldo3YqL/ZsAg0peNAqVsk\nsvukMx6vRch0SQbcUGUJDd2COoJZRztjLvVLl4JAkyVPaWKS4K6VHMaIOcXK7sbhccJrLls7VWz/\n2c2IAUAxMx4pTi8Oqi3fFhxeEucwGFcW20EcjFghraIy4Dxvl5u+dVmluo7VQgBGjIxmEORstIqZ\n4BvhLrMO133fNLgRgDmDRh0AX0McSXWYeWsksw4fg5DHTxexse8dpFdb4SzI/RA24AwDWRJBCA08\nzyxm4nU15IngYM/FuKSJlYaBhazarhEG4Bl0q7IIw54Hzi1lB9ZshYXbSM0Lum065acQc5KqYdAy\nCfJpBbpFulwTncRUw7AmLlGcB2I9cDfPVSQRFmXc0t7VeFaRRRw3DWRVOdQCMQzUZsS4fb33jVdM\nT9/mtNIwUMyokV3nxgkeJHa/5rb/d87tpN1ynACsV5IQBGGy89/0kBI52uc4XBNbrgaQos2IOfVa\n/9/VB6GSEoTSgb/L6180WUTDIFBGuHZOsK56SJeCQJVFNA1r5HM5KQxK7LgXoknacv/8h8+3/9zb\nxPPcYtZTjhK31O+gpmO77F3rEuVc/Nk799t/LmbGk8V2MGwDEwTDNng75UY76dKLasvss/oG+q+R\nSdhI9tBO76wwCYK2WUcP471VauDsEmdi9QFOxEkFN7XB0HW39xqkVClyXQ+l8Jzn1s4s+CYxjpsG\nCunRA7E4a257S046jFiwZ7SYjpkRC1Gvndf8ZYujoNw0UEwrXLpqB+qSJPTVXrufI76W9N9jUXvy\nDUso6RbFuaWsLxseRWGkWxSFFK9bde8DHffmhkEmXu4zWzPRBMBYx6xDlSUcVvV2fZgDURBsLauE\n1UIauzE5JzK7FkgQBF9pYjGjoNI0UIlpsouCo7qOpazm2f/JC7d2j8diauIFT9dEi0KVOnVNjPoX\neY4LjlU79ckwDoJTIxZk0inVuxcLxrjLp1Mj5vt5xoBWDaCDJyDDop0aMVsm6NjX396vhtp8RrFj\ndhgx9yIWtqm5E5BKYrQCbKd/WoIJscAwCWsvhH61iLWWia9ei7bQAoNZe8YYZ8RcG/6zixlslfrn\n1N6AbVS0bDdRL5CQMk1KGd51FZUX0krkPlVBYMTCiA1m7VomwaJZhnznHUj3r0PcuwOxtAOhXoZo\nGX3SP2eT5oZFvZntoOANW6P0EXMY78713Sw12pJYt1x9liAI4fsfjlK72pu8c57lQkZtN+HtxXHT\nRCEmRmyY9DUommY36+7UiDn3v2Nc4Yc4E+5AuABCFDvXb8sncRQFx00TBUeaaDNisughTZSkroQL\nn5+7x3F9a7iLphcMH0dwB7pJ8OhKHvd9WppECcRaJkHBYcSoixGzA9KmbqE15vYovYi3yOkhgJt9\n0BQRV+8ftevD3GgY3Kwjpym4tlnCk2cWYjr24ImzkFaxX23BJBTnFrPBvpgxwDIgWEb3/00DEAUw\nLQeazgFqJpAG7qiu41QxDcMifbbjXtg4qEE6quNvPXU62HhHAKXwdk3s6SPGDR8ma9bhtD+IZl/P\ng8eMJIL4BEuMsb5AzCQUOU1uuyL1LjapZgnK9fuQHlyHWD0EIAArK9BYCiy7CJpbBMsugGUXQLML\n0E3iYhfdjBiFbhJslRsoZtTA5ySsi6Mmi6gbVtfm7O27RyikFfzEk6eCHTeGZr2TMrYYN7oYMQ82\nGeC9XUZh4YdtApsGQcoVYOVT3hngqMknv+O3TMu38JyFlGke1FpdYy6kVby/0y8TjgumNXog4TtG\ny4D84D08+cOvIlfdhXrQv7a9uFnG0tYS1g50pHZPY22rDihpyPQspFQGUNNgagrpnTrSygrS9SqE\nxiKYmgYkxdua2ANR5kt3w3Z3oLhfbeET+VUAThuO0QOxacwDg6TGcSPK+T9umrh4MjfyseP8nQ29\nO4kjiULbWc8iFNWWMTB4VGX/Gq4oiNqK4M/f3cQ/+uRjsdxzjjIko0quQEwAIV71gJ3f/uz5RXz3\ng32cXersP3fK0cgIZ/3xWyFMQnHxZA5//sNNvHTxRN+/R2LEbGmi0VMj5tSqix79LceNeSDWA+pi\nxDRZwrUHZfzUM2f63tcyKTKqjIwqx8b2cDZOgEgtwDIh1AFYJrLVHYi7FIJlYqVaRen+AXTTwHOn\nslD3CS7e2oRKFyA4wZUTbBETgqkDJCBLIYhgWhYsnbP/n+/8PZUHS2XBUjmUjht4+swCqi0zEGVe\nN6xAAVsc8HJNdNPfgi1NJCNmakOPy65biFKn5Ti4OZOWX92GYdE+hrJhEGQ0GZWGYTt+ChAaFUj3\n34P84Dqeu74O+XSR3/OyClgmUCtDaujA/t2+Yzy128TCwUWw/BKySh6r+/tYPAYOkUEhJWOr3MBT\nAZMShAyXf/VOiKosod7DiBkWwVYpOBNHKYOiRLv2zsTvyIhnHaYrE+z3m5qGFWvvmL7vNwnSEoPQ\nrAJGC7LRQPHwFuQ7JcDSAVEGJBnmUROnqQBp+xj5yi7EAwmQZDBRBiQJEGUwSQZE/joEERCEdi+q\nXjhtCLwQVpq4XW52BYl+wWRcMFwBtIOwZkBdY2QMYmkb8sZVyPevAZaBXLUMIqmwzj0NgVHAaEIw\nWhCMJqhUg8QoJL0OsXqA/HEZkiRC3jjsSpKc3atiaSuDZ/aqSB/a84Iog9mBGlPTdtDm/nsKC0cl\niPsCMvVDqMZpgKTbltPD4MyxtMcVlaFzf3PTIW/ZZVCoMmcK/OSb4wKvnZqMdIoMCDTzKd77qpju\nTrxVW2b7WRhlOxtVOu6FhmF1GQLJkoi6biGfVtAyCY6bJvITVBj51U4OCwBquoWGbnX12hoV3MyF\n309ODb17PL0S32Ja7WLSKWXYO262FV1hYFrcVEqA/2/XBvQrjGIMo1vcrKO3Riyl8hIOAehiTyeB\neSDWgy5GTBZ9F2RJFJBWZU4bj3JAxqC9/hrE0hakZgsv7JawlJZBGEO6kAIAPLVZRqrEFzGFMpzY\nOQZlDMUmf+3kXhmyMmTzK6soGQKKhSwgq2CyyjfelEBo1SC06hCMBoRWFUJrsKXr2lYFy/dPQyQK\nSlTFRUOGkr5kB3A5O3DLQqA8+IrSOysqqAfb4b6GzkRhTdisg7oYsbAbeGbfk8Pq2lom6dPUOwtQ\nvVKGdvsmztQ3kG7tdb5b0dA69yyEi8+ArlwCGEU2Q9G6ex9ivcRlSPVy+/+SVYZU2QUqu0gRhme3\ntnH+6g0UmyZWTQrjgzy0w8s2g+Zi03KLgKJ1jS2INJGy7hoFVRbR6GHEAODsUgYPjuo4tzScJSYe\nrGlQtEyrXTw8KzVigxCkRqxhWMFrTCgFTL5Zd/47sX8b8ge77U08nH/Tm3j+9hYks4UTH2S7SJLH\nNstQa91zWv6ogXxKgXZXwdpmGanKsIBfACQZOhPxoYMG0nsn7KBNxpP3ylBUBXmDQSNn2q9DlMAk\nGafvHkLL3MOpzT3IC7ughWVg8WnfI22XGzi9kGlvDKLKXoPCJBRptXsDnLJNeRz7/GGQRAGC0YR8\n803IG1chVjrzQqt4Bpu5l7FbvITLH3m877NvvbmBSy+ew9XvrePCMyexfuUWcoKJ1XNZpJnF1xKj\nhZK1idMnVTRr23xNMJoAtYauM49tlpGqLeBTd7Zw5mvfQSat4CM1AVX9cSiFFdCFVdCFVbBMsY9d\nc2pPeSNzH5OaGBhFzWYKJh2IqZIYq5X6ILgD+96N8mOredzcrfYxFXXdQsa+Bx2jkEzAe9IBdQKA\nmBixXkMgWRRQ17k0T7cIDx5DBDemRyIkDLzUINw0Y/A82zCsvqbHo0IZkOAwCfM0h3F6cKr2nJNL\nKbZKLNy4DMKQS/FeZrWWFTo5EiSx3XutHEZsu9y0XVn55x0lmjthMynMA7EeMFcgpsoSHl8teL4v\nl5Lj2YgRC+L+Pb5wmRQio4AkgUACyxTAZA21Yw1k5bQdQGnYZSUQUcHjT58Hk1VspA5w+fmLgKyA\nyZr9PgVM4X92pCB/8K2b+M8/dtl/AiFWJyhr1Vz/1e2Fk78OVCAYDWQNglqliZOGBWV9u+/rXtos\nI713Gs/s6lBzRbRay8gvLdnMWodhY6kcH2MM8Ou03gvHFnlSsGzr+Oj29fzPyoAxN80euY3RgnDr\nHVy+fw1n7t+CJgnIL2UATYN15nGQc0/j/YMUltbO4O27h/jUKRGACBTyoKdU9C2BjOGd776HS2sF\nCPUyyPERbt//Pj68XIS+swPRqCDVqkDau+M5PqZm2hJHll3AwnYL2ikLQmEJYNQzo9ab8dKUnhox\nSiESEx85ewJ/cXUD5184DRDCkwDE4ps+YgGEtP+ce3CIgiZAOdJw5v4DKNotCNRCqdrEzlEVT53i\nshqWKbaDSJZdAEsXuYxOkTz7Dc4iTEKR1eQ249r1mywTausY9KCO9OEWpPsWdvcPcTotQNAbnYBL\n54EV/3sLvXnwS1sVqM1+eTcAqHoNYAyCKNqsCGdIyo0FWBcuALLCdYKEYIftobCcAZGB49oO6IlF\nfo2JBYESXt9IrM61ZxQgJphBkLIaEOpS2wAmVy1DEAQolEHa6nd/O71ZhoLbOLdZhkrW+YvvZKCl\nlnH6SEN14TwoOQ/Rrj2t6RZymtzVNmCcMDzMJjKajKYtmR8IxiDu34W8cRUvXHkd6mn7flczsC48\nB+viC7ita9BqOqiHfX3TsHjwIckw1Sys/DKaCzqgSWieX4biYkhuivdx+dkzuFa4jydfuchlH8Tq\nDsiNFgST30cO61Zq3gM5mUdNa/D1QbRQZA3od66jqL3f+SlqGrRoB2bFVdCFUyCUQBIFyILQzuS3\neq4LZWzkVgiK7DBT3WtX0DUoKjgT11HhuJvSxg23XLl3Q3tpOY8vXrnbF4i591AncxoOai08ooWT\nKpqWI6mPh/lrGAQLLsm8LImotyxeK2Ry98TlFZ74DsLq/O63b+GffKo/QREUXqZdQZxWdZMHjXEW\neQz6vbrNWOkm6br2T54u4sZ2Bc+fX0LTtHB6IY1S3QgdiJkWv6eWshruHta6mjm74TQx773Ph0mD\nj5sGvnZjB//gw4+4fhPF2bSKuwf1yBLRuDEPxHrA7ev5ny+czOKc7bLUCzcdL2AErbisoPkz/xSC\n3kDFAK7dr+LiahF13ULxkSUYFsXNqw/wzEudG+kuNgAA5lMXAQAH5Q2Q8xeHHqphWKjrVteE1AVJ\nbjMYg3Dljdu49NwyzNoxrl29BbFVw2OPFiA0q12BHBOOIRhNpBtlnEvrOLpxH0uDtOP5LNI6BSSF\nS4wkhQeX9p/br0kymKTw12T+d/7vCpSKgazBIOabyNT3IVTzUPUqoDfanwW8J8JxIog0kVCG3/6r\nG3j+/CK2yg38ykcvA3Dkstw5bNCC2zQs5GRAuHcd6uZ1SDu3kC/VIYkCWgD2C+dx9mOfROPME212\nSq5sw7Qo/uTKPfzY5eV2E2BPCAIsJQN64hxw4hwsQvHtN2X8zCdfxA9uH0BvNqHqVVx+Ig/BxaIJ\ntRL/v9GAYDQglrjxwyNbFWTqb0EQgB8/aIDtnEJq6SQgq3jsg22IlECrFPD05hFSB3lKJgIyAAAg\nAElEQVQIxMK5WgOf+GAHC9YyXnpwhMy9Al7cLGNxcwHPbZahbRWHboJOlBrIawqUjIIzm2UojN/v\nrcM6VN2CbHkHDRBE5JHGoyyD2hHFUvoipNSldmAJOVhtXCJACYRmFdLBfeRlAxd2t6Her2Epx5BC\niz/LRgPPb5aR0WRI1RY0nMT7P9zC+WfODCzxYUqqS252aNRgPfoI/7uWBlP4/6Gm8YNr+zClFC58\n9PEuZuPmmxt44eWLXd/7Hu5i7cVHoIsC3lc38OzLFwZvmigFqIW9UhW3t0s4dXkJoBQCsfDe2xsQ\nqQWREjz2zKnuAI5aeCBt4rEnlrGNTTx+eQFiaRswSpAO7uLsZhni5ptIV74JrF4EWb6AVEMCyZ1A\nw7DarqLjhOlR5O70wdkuHyGrKbi8ku/6d8WoQ7nxHcgbVyHUubGIwAjI6mVYFz8EcuZxLusEsP3B\nHi6czHn2ESs1DCy61hBnM+Mw/m5YtIc5EAQ7YagAmYKvmuQW28CHXrmIr+9dwUt/7xnIWRXG3g42\n7t/D86kGxPIuxPIuBKMBaf8uJJeM+oWdGnKlx8EWVrG4RSFekLBtpHFmsX8tZ4zh2mYZz55b9BmJ\nP3hPsn7G5qvXtvDypZNYymkenxodSo9U7M/eeYBXLp/0/H1xwHnG9B4W0et69+JkPoX9qo5HToQL\nxAzC+1PWbObv5u4xCGVYO+0zNw9Bw7BwZqFzfmRRQN2wULRNG6pNl5xygDzQSRZ+sHMcSYrngDdP\n7n5+C2kF1SFmVxlVjqXMI2gNlGG7JJuEIe2S8z+2WsCfvHUPz59fQssgOL2QQblhBFKkuOGY5pzM\nabi5V8WpYtrzfaeLGWxXmjjf8/3cVdV/vq3pFuo956tldqSJwHRaQPViHoj14PVbe/jXXz3se/3T\nLz1i16fwB8V5aL/w5gZeu3IPr1251/f+V1+52Pc9zvu9vv8nnz4NQWq0DSUA4D986wN8/cYu/ujN\nja73f/jCkuf4B31/XbdQb5ldgdig9/uO/60HeO2tB65XczhYPdf3/itv3MEVYuG1/W3AUaHs8/99\ndrWBX17c44Gb3gAsAyAW/qC0ij9sPIJefC5zD7+S/aDv9d+vP2K/v7tY9HPXruOF8rtIHy7wzeTu\nQvv9r/V8/2tX7uGzq3X80hNZ0OIyaHEFLLsIiGK08+Px/mfPLeAnnlztY3i83v+9W/tYO1VoT/RO\nkC8KAq7cOcDrtw/6PvPqWg6f0G/gFzbehoyi3axawOelF/DV5jJP2tYAfLkE4PX2+J1F/cxiBu/e\nO8L9o3rg3yuKAhqGhX/+e290vf6f3qvZ73+l8yJjEFo1fOGNO/jj92yHJQWA3cD+Hyh38FN7HyBn\ncvOAhRJ/z+fJs3jNeBm45TrAIlA6vocX2AEAAVTiNSerpxT8u+Oz+AvzXN/4P7tax2fPGoAoo5Su\nQSrmkC5m8Vqjif9+3zW5KwD2gVcfS+NzZw0Ibnlm8xhfLBXxJYsHyHgPwHs7AHbwucw9/PKJIzx1\nQCHRSxALJ0CzC/ijDYY/vl7qG0+U+SHM+59eSUO8rPCAqlnBuY2bEIzv43dvAV9prPS9/+/hAJ8y\nbiB1IgfRyUqKEv5CfRZfZxeBHD8vWAV+6wB49ZKEX1rLA1q6zWQxNY0vXN3Fa2/d7/v+T5uP4NUP\n9Y//ncNd3NjewReu7nS9/uTpfiUCYwyvXbnb/r3u3+15fkQRX7iy1X7fv/lOx/nxydOFdi0jOdv5\nXOd8nsRv7zAAZ/Cv94FPv/Sf4Td+8lHo713D3rdfx4n6FpjRwuc/aOEPrzpzTw1/9CYPCCqVap8U\nt/v7e85PyOv7oUeW+moxs6qMr7z7AN98f6/v/Z9dqeGFzW9AOcPPK0sXYF14Hv8JGq79UAd+uAeg\n87mnzhTxL37uuYHj+e2/5kzha1fu4dlzC/joo8t9G/NrD0r4gn1Ohl6vnu93/v/Pf+8NfPqlR/Dp\nly/g7pGAp57mfECjZeL3v30Df/1Bz/MlAZ97cA+/Un4HFzbLSBnvInfYwLnVU/jiO4/jtZ3OZs85\nRtjzDwAXTub6pHPO+/+fb9/qen0cz/vv2OcfAB6U6vhnf+epge8Pe/4dvHblHj6SKiNd+hqe3dxC\navskcPYcFJbB9gbDr7/d/7wDwKuvXMRyPoWbrt6WQX+vYQd9722V8eu/842h7x/2/S+cX8Rz5zvB\ntizyGrGdShP/6gtvAwB+77u3+8bvRlqV8Qev38GfvsP3Pv/w334z8ng+9tgyfvq5s12vFVIKvnRl\nA9/bKPV95qWiCRR28UzpFjLXbkA9ygKmjj/cTuPzO/3By2eezOOXnl8FUzQ7MZYCRKlvPM6f3fOh\nG196+z6+eq2jdvr91++0f6+zR22aBKeLnBELez+/fmsf//Zv1j3f78b5E1ncPajhjVv7fd//h69v\n4LkTMoSni2BKumve/bN37uPrN3bxZ1cfdH3muGl4EifvbZVxY5vfr0Gfl9/42f55MizmgVgPBuUJ\nVFnEUZ1PvL0FqnHAKZbnhhL8tV4XPAdR3MOaBmn3i4iKUFUPdvbTC9a5J9F65addX8yQXUrD/PIP\ngHf6ZY7k3NPQH38RAjG5+YhlQSAm6B0CeDibsnQBDfMkaK4AQ7PA1DSXqPkNtXoI5cbbnRdEGbRw\nElLtHIBU0F/sC6emSBC8+7L0wjGBOZlPtQMxQYAv2yPdvw7VXEdOomjlT4E99jzIuadw+LW7wN0j\n3+OodtHy46cK3N0yBEsoDmiz0AdB4OYvmQKAfqtb4Zkfx3eN5/D3H8sD1MIH13bARBnHVhq423+B\nzSc/hiv4GC782GW89f27uPTKRaQYw50vvgPs9teeWOeegmFPpNvv7yKzUkBhIY3arXeAer9zHC0u\ntxnnzpeYqPzlD4C7Ho1MBQFCq4aF+jHEjVqbrZDrjwDoTyyIpW2Ie6wteQzcsZsxLt9qViE2jiGW\nDjzfdmr7KlJf+0vX38sgRg7NymlA6Q/EzIUzeF9ewMJzj0JaXgbNFAAti/0vvQtsVfreT5fOgly8\n6HkeHlqkMiDnnsS9yymUUgpWz2ggb90CbvWbNck338QT+n2oyosgK5dATj7CN0MxwamhcSOjyb62\n5kKNzwHkzBqsSy+ArFwGRBHk5jsA+sfPGDc4cRuADMqii4IASexvBhsneu3xd6st7De9j2ddfA7G\nmcdxYPwQtMhQ37qJR8xjiI19eD2P+uZtSGd037ozL7gb3U4bkVkSSrhioXoI8fgA0lYdXutdtr4H\ncX8LmqlDrAK4V4XS0HGmdhbApb73i6VtiPsC8rmlSI3NDYvE2ufNJLTHrIO3IAojI17IqNg79nEH\nJBaERgUwdQimDsHSAdOAWPZ2Ts1uvYdTzW8gpQncWM3U8bjeQvbgFCD2Sx6XyhuQ3t7CE/vH0MoS\n5BZPqIg+64t87xpSh1/ueVGFUr8AYLXv/fnKJlaxAflOGYuHhxD3GKCkQFv+dvmLWQ2HtRZaJsGp\nhTTuHgxo9EwsCI1jl2u3DsE0oFb3AfRfA/nBe7hUvQmJGEiVC7hs6Gjd3cVB7kkA5/vev7x3Hemv\nfM3+m4AP7TZBZBWva2uev1cu76BI6yCSBvFI5UZBSgp9/TcmhHkg1oNB18EpUASAn3wmfit2zoB0\n29f7OeS5C0v99LO90BQJdWO0QMxvPCPDCdp8asVofslTfknqG8D9/gyMdfF5XMfzeOqVi3j3zQ08\nbm/CzTc3AI+MDTmzBvPUWYiVfYjHexAaxxDLOxDrKrwmOmmHu7rRwjIv5PfIfrvBGCCJIq9dCLDp\nXsypuLlbxcl8yrbS5v+pukcQAIBpGWyf+ShuPnEO+Wcfb8tUhvWbUWQR5YaBnKb0FeQGgehKGowC\nUZJRTy2CnOGLemWbZ/max014RtqixJMCrg2TIAhdi60fuLNmhEHKCnQ5BU4tdsNc+ziaz/wcHlx9\nH8UisMDqEOplsLuC5/ClnVtIffNv7IGLYJkiaHYBUnkFvTUnACDf+yFSR1+B2Kx2uaBKPgsxFWXQ\nhVPt4PeB3ID8yBncuVoHPHpjmisX8QEDXjx7ETTX2Yj5BeZJa+Q+aciSCCOVB11YBeDBmIgS8kYF\n5MYb0G5dASCALp6G1LwE71bl4UAo668RkxiEY+/AnKxcxNVHX8TFj3UbjgyT5aTs+pCMJuOP3tjw\nvR+cBBOZ4Eam1jJ9G/6yTBHW4y9go7yKl165iCv5m7j8RBbk+3eBW/2Bgbl9B9r3vsc/66o7Eyve\nNeJAvK5+o8K0XRSDlkjI96/z+aRe5rWUNvw29pXieey/9BFskjRWzuSQVVow796D8n4d2O3/fmnn\nFlLf4PPbh3ebSDUeB82dgHgYTFpoWBRqjCYolHU3FpdEOxDzc89lDEKjgmx1B9KWAaFZxcWtXdzc\nBrg8oBvK+99DerN/HvCbn5VmBZq4A9GVUJclAcRnbjDzKyidXcaB2oIlKbj43AUwWQN5vw7c7J/Q\nWXYBdNHkNbtO7a4dAHkhX93G+fL7UK3reHSzjFSds2OZozMALve9X954F59cPMbd9wnyqRQWFIBt\nH2IjfR5A/zX2Oz/5w1XPwFOoHqJY5kyreMzHLFk6/KgAU8nwJK/Bg2DZakG2WhBoFV6BmLRzC4+W\n3wUApI47TOCZnRXckJ7of//WB1DevQUoqXbQVqUSEFNvuXkg1oOXLp3Ar338MlYK/XTvdz7Ya29A\nHL3xq69cxKdfvoDXvn8Xr75yEV94cwOU9dPaDl595aLvv+0ft9oSNIf2fersAv7VL36o6329RbOO\nVl2WxIHf/1t/daOPERv0fi987LEVPHVmAS/aBbp/+vZ9HLfMgb/X+f+DozruHdbx8cf7M/JRx9P7\n/mubJUiCgCfPLOC179/tcy5z3qvIIn76uXOQJQG/953b+MWPX4bpXsCMFsTjfXzmeB+/VNmDcHwA\nsbIHwbQnPQPAW523s0wRtLiCXyks43M/t8LljbnFds3FF97cgChwbbp7M+Me/9t3D1FIq3h0JQ9K\nuQwLWIZW20fq+i28+INv4WLKwt81mnjqLK9Lss49Dev8M2DFZfzV9S1kIHQ53D1xqoj/9ueew2vf\nv9v1+x0okojdShO5lIJSXcdnXr6A3/jZ57C/P9g500FGk/E7/8XH8e+/9j4eW83jxx9fxZfffYBf\neLF/8en9vV94c6NrPJ9/c6NvI/HC+SX84osX2oEloQz/1f/9nfaz1ot/8hNP4J17h/jbT/e3nHBA\nXfWBT51ZwL/8hQ/h/mEdm6U6NkuNgfffhx45gc/92CX86Tv38dHHlvHM2Y7chYFveCsnc8ja88Mv\nfAT4BZvF6qqXqy+A1AGxVuJGOPUSpHoJv4o7+NXlzvGyGQ31hr142vEfkzVu5JPO45cyRbyaFkHT\nBbBMHixdQEvO4i9vXELrw53M4Y65gfRiHosr2/jffvbZ9utfeXcTn3hiBYc1HX/w+p2+TdyLF09i\nuZBGMa3g2XOLMCwuY33ztveG3+v57b3Objx9dhFPnVnw/Myg79+tNLG+U8Gn1gb3jnv1lYt4bLWA\ntCrhiVOdDYLf93/m5QtYsJu3OveY19hl29zk1VcuYrWYxuWVPA6rLdzcreKpswt4cvXH0dj+KL79\n5hX8xGIL0uEDiKUt/Cq2+PUVZZCT50BWLoGuXAQt9m8W3L+3F3/8/btt1lWo7EPeeAenb1/Fp3cP\n8fMWgaKqWHn2JahrL4GePA8Igudv/uhjy/inf/tJLGY7iSTGGP7Yni9SCndFy2gybu1V8Zt///n2\nuJzz+LeeOo137x951gw5z9dOuYmbe8f4xBPev7P39zrn/X987W385s8/7+lMWG1ZOLuYwf/Qsz56\nXTMmyqCLp/HpnzoNusDPw0pewwKpQSzvorKVBlm51Fd39msAfs2+XjS7AKgpvHG/ipdZCbvrBBVL\nglxfAWwJ2OfOq6D7Ak6dXMSnnrvADbMG9E2Lst59+uUL+OKVe/jMyxfw+q19nCqm8f07BwBjYPUK\niscPIN/cg1g9xK82D/Hr549wf3MHS1kNOUd2zGDPJwLftOdPguZP4DP5E/jF/AnQ/AlAy7TP5Rfe\n3EB1cQliywJdXAKW8zBzF/GLzwDmG3fw2ZcvQGiUQcv7eP2t9/CpM4ugVQKhegjZKkM8fADx8EHn\nfMI+p/kl0PwJsAxA79VBCyfBckttMxrn/nHG8dqVu/8/e+cdJtdZHe53etnetKuy6tKxZctNtrGN\nbWxjU0yxKTaYDgmEkkBIAoGEQAi99wR+oYRmwJjeDBhjjHsvsqWjuiorbe+7s9N/f3z37t6Zndki\nS7vS+nufx4+1d+7M3Hvn3u/0c3jWqcvLNqQpdz0n7v1MCt/4CNGBAaq7dvKs9VVcuWqQ0YEBLlgR\nxzc+wuO7DrB5fxQOmI7VEadjdXMizfPGUrwsFiThtLw3M2Z95INh8qFq0406HHX+jvDSYISXhFIQ\njJAPhZ3/R3jwYJSB5gsJ1ddCKDzRZK3m/v282O/jxWevKjj+R/b30eaDvuoxxlIZMmvNOb5oJbzp\nuqqS8rrAPHNmyV6VHueqdJKHdrazojJAc8yHLz3ObY/V0pE5nQ2raulPHCDbVIUvneTZqR5emD/M\n3vYemmuirGzwpPEPQkf7ABWRENWVEWr7R7guPsB1TcVHgtNArsq5BpNdu89IDfFGGcUXivDNO/fz\n2ks34Q9HyAe3cNO2lWQDYVZvWQvBMLqtm0s3tfLC+KSj0Ht/JtzfPZfj4buVQCbJqlCOl/QM8NIz\nWvA5BuntW/dx0Zp67t2+jkBmnFxtldHrUuNcltvJM7OmGdDJyz2pmhmgqDKm7dAgL26oAJ5e4oTn\nhjXEishPMx+oXDtVv6+whf2RZufknJogM1DOFJiWap5Q3PUwEjJey5m6ZVVEnnyhZ9+oSZdzaa6N\n0dc+uzlqy+vi3LWr+0l9/0x4Z0SFiubIeMlmTdMMv8/Haa11PHqgn9NXeuruwlFyja1GiXHJm1lH\n/qEufIM9+Ie6TARtuMfM5hobJHDY87T6A0bA1TTR0p4h2JohnhktOTQXzPyV5Y7BERjrp/ng/UQH\n/sjJ23cRXlZDNDkMdU10VmxgzaWXkatbWnCzJVJZltfFGU9P/sZTOuEVEQr46R9L0VwTozoWZjCR\npryZPBU3tWM8nSUWCphWt55r3j00zkgyzZqmqnIfMcGy2jiHBxIT1yAUNMe22dNJKeD3FTwTmWyu\nIF2zviJcNp3XpdSQ0j3dw5y8rIb2/vKpGO55RsMBIsFAyesadZ7FAnw+iMTJReJQv4wpMeVMGt/Y\noDHKRvvN2ICxIZMqsbSFVDpIPlZFLlZDPlY1Y4rbeCJVRnFN01gZMefgvJ5xnDrxsDvMsvCcvL/n\nSDJDfUWYhsoI/aPJWRerH2kxtPfzi9PiGiojs57fmMrmqJ1lI5VdncPctaubk5eV9ty7HfGCAT8Z\nx+joHh7nvHVNjI5nGBhLmSJ8f4D48jV0dgTo2tRCTQgCPfvxd7UR6NqHf7CTQFcbga42c37hGLnG\nlWSXrCa7ZDX5yvppBYkvkyLc9ohpO9/Xbj4jD0ORerpaT2bFmefySCbAlqapQ1C9VMfCDCXSBYbY\nUMK09QYjW8YzWfL5PAd6S6ce5ZxGRP5pWvY3VEW4p0QK50yYlMfJ6xAMTM5THB5Pz6pbYLK4m6xD\nOBSkI1PB0lWn0BltZfj0FYQDfrPGD3TiH+x0moJ0mOdz2DgfavoHCB4YpDqRJp9IER4sbCBw9sEB\ngrt9xA4495DPb57lUMR404Nh41kPRcmHIxPKuVvLY7odR8iHnW3BSEHqsj+fIzLaS6B9nMxjW1m3\nLMTo1h3ED0E2mWRj1zDh/sJIXjAUYizeQHTZcvJVDeSqjeGVr6yfaGA1E6kyLf/rKiL0jqVpqKyn\nnwrG1leTcur4yOd56M5trNkQN+mPw734hnvwD/fhSwzhH+wqGJvgXDCWpENkKhsYT4QJNvZTOTQO\nySVctLGZv2oHzznNUwecz5uUwHKdnhMjnLJjP7FDYZMyCISyOU7d18FyfyN9o0li6SyBsFG8w9kk\nOaIQrWSsMkS2ZZXT2TnGro4ktQ31xGpqebgrycqnbTRNmua4xg2OdLC0oYZ8kcM/l88TKZGuEQ8H\nOdA3SjwSnBi+PCd8PsdZYJ7zjnCKDWuayTpdDg/3G+spdfbqiUY5ALv29LCkOsqfHtjH+atraGqt\nMtc6NY4vnWTvw3uoCkHFqiXs2jvAmjPXGEMrFCkwuMpdnz2hNs48y3xXsncHuY0bJ7o1D3fEyeXz\n5GuMRrJxVYDtnSOcs2aGFG+/n0wohi9aQUcmS25JHdnWyfTZg8PLSG1ZzdbkburiYTafManjPfbg\nPlKJMaL5NKtObsSfTeJLJfGlEybalk5MRBk7BvZRHQvPSV8qhzXEishNo1xEgv6JTivHAmMEMtGg\noa17hDVNM3cbioYCMx5XJpuj2pn18GToG02ysWVykW+pjqGHp9aQgEndSKQmlTtzXY9t6ko2N2lI\nB6cxxLwzk05rreN7d+5hc2vdxHsHxlK0dY9whrcpis9HPl5NNl4NLes9H+bk2Q924R/qnvi/b3TA\nCPPBTla0DxDJbueSnV00Z29HRkOEgyeb1MaaJeSqm0gNDlCf2UO0cwf+/kO0HhqElmoygQiZNWei\n1VUETj+NA/v6OLd+asQnmc5SEwvTP2qEzWhycohlOpsvWVcYDvqdtrNBllRH6R4aZy5NeV3BnEhl\niIamLif7+0bZ0zU8K0NsbVMVOzoHJwyxcCBAz/D4lJa43pk0iXSWCk864myU/myJWXPdw+NcXDW9\ntx6c8wwGiIT8JWeRRZy5KqW4+fFDnLysduL8JgiGyFc3kq1unPqmpioys4xOuiTT2SkpNz6fj8FE\nig0t1XQMJljtdC91ldp4JMDweHqKIeZGfsLBAP2jSVqdLrIbWqrZ2TlUEGUqx2w7dHlxo/yuwZhI\nZYkVDWTN5fLs7hwiEgpM260rnZnaYTDo9zOeyU7pYPrgvt6C9a2YTM6MvQgGfGSz5rxyzsDoaDjA\nUCJdUHdy2aal/OmJQ1y9ZRXZlvVkW9aTBhgfNVGXrjYCXXuNI+eQEjhkCtfz8WqyTWvILllFdslq\niFZODl3e+zCnP3AH4RZzzvlghGzrJjJrzuDxnePg83H+0kYeefjAlNbixdSUaJl9eDDB0lqjILpO\nvrFUFnyUbCc+MTvNV76LXijgJ5M7ktTnQkOsuSZG73CSltpYwfo2HYcGxgo75gX8jDvGmSvPTl5W\ny7ZDg5y+sn5ijc8u86yETl2mLzXOzgd3s/bkJsYGhjh8uJfmpXGnzsd43BOD7fizaWdu2rgZm5Ea\ng9QYvmnKaKYlGOa0jjFivY34xoY49WAfkZ5alrcPEM7WUjk6SL66hmw4xlhtFZk1G8hV1Rujq6qR\nzkFI5/JUHkF3SBd31EUxm5bXsu3QABdubC4Y5gyAz0e4spqRmhbiS1YXfWDSMcx6HSOtx/x7pB/f\n6CCVqRFaBsYIP7iPk9oHiA/8mdZwnPbuHKGRlQRSY8boSoxAbnq9JpYYwJepNSnt0Ury4Qr2RgNs\n2XAqB3oyjPkjrN2ykXykku27BmnYvIZgMMDOx9o52Wl97s/nOZjeR6IywqlL60gPdsxYklCOUnPE\nAOri4QkHj5eKSJDu4fFZ6YOzofjZcZ8JoOD7k5kskVCAPD784aipn2RSi+ttDzEU9LN57QoGBveT\nK/6N58C1Tyt8b8DvI52eXDNWNVTyQFsv56wpISc9uPIm7JRdlAtQDI6lJuSgS0U0TB4fvoCfsaol\n064v9w5vI7emkfVl95g91hArwjuzqZhwMFDWjnBb2IPJqzcDBOc+xNBtU57PGy/9ZSfPXItmDMTp\nhdxoykxj9wrdB/b24Pf7OHPV9MLay3AiTZWnPm1JdbRsO/bm6ij7ekYKIhg1MZP2U7aF/pPEO2g3\n5HhPZ8Ln8/G0tY3cu7ub89Yb/8ZjB/pp6ykyxMrhD0wo0gVqSjqJf8hEzjqzW9nY6CfTNkwgk6Rq\nqIfgnsLC3w3tA1QtqzXOo2AY3+rN7F17Ko+MVLHurHWM3tdGKBQ0qatlZtXEwgEOD5ijeHhf78Tx\nR4J+akoYYqHA5GIVCQZKtquejrAnIhZ1Bmb6mIxm9I0kZ12s3VwT5a87OgsW0kQ6O6Uuxbs4jiWn\nPmc+pp/lU+61mYy4XC7P0HiaSChAOBgo+RnRUIDBMufbOWh+7ymG2FEmmc5NiaSHg36GEmm2rGpg\nf9/ohAByHRKxkBm8WqwbhIJ+MtkcsXCAnuHkhFF8xsp6fnL/vlkZYtNRrqYlFg44xr05j8FEquT9\n+0BbL7Xx8LSGWKnC/2DARzZl6kbc+2E0aYzsXD5f1mhIZ/OEAqbO011bXJEQCwVMRMxjBFc5xzyc\nSE/8G4BoBdnWTWRbN5lI+2g/ge59ExEz39gQwX2PENz3iLlO1cZj7R8yGQWBbJpcQyvp1aeTXXHS\n5OgEXxvgGD7ZmQ3g6liYXUOFDQUOD4yx2VHYoyE/yXSWwUSKlfUVDJVor53N5ydSro+0WcdYKsMf\nHzvEVUXd0kJBf8Fz2Vwbp6tnhJbamDOvaubPbu8fY52nlX8kGGBwLOU4oZJURIKsqK/gZw/sK8yK\n8OJ2BgUG63NkV64m15TikL+HU04tdIpti7YBmLlpYEYipE0EwZdOFv07aVKm0uOQTjn/L96WhEyK\ncHIE32gQ8JGMVpNeso7OXIb1Z51CZ2uO6JpVxKuq2buzi41FHfniyVEOzxDtn4lUJkdtfKrxsLQm\nxh07TKHYUCI1ZTByc02MjsHElHEKhCLk6pdNzRLIZdm9dScrggkO7tjDhuVhRgcVguBLjSGBJN1P\nPFzYrj8YJh+pIBercmaTemaVxirZuq2PVedvglAUHEf3zbtv59pzLqDtwf2EAi2GZK4AACAASURB\nVH6yLSYd0BfPkc5BPpsvmNvpOsi9EeMjxZ0rOuVa1sY5PDD1d4pHgvQOj3PK8pmG2M8e73MVDwfp\nczIM1jRV8sDeHrasaXTmiJmBy+Wiz2YWmMkSKBc1nQ3F17RY7vtnaBjk4hq5ISebo1hfcvX04fH0\nlKZ78XBwYsZgMp2d1hCrcso5jgbWECtiptTEcsXK9ZWRiRu5pTZGe/8Y68sMgy7/3ZPd8XL5PIlU\ndlYT6SOh8l54l9GkGfTpVYofO9hPU1V0ToYYFD7AkVCAq7esKrlfS22MrQcHCjwSsrSG7YcGOW99\nE/l8nj9sPcSzi4TGkyHrUexmq4wAbFxaw/fv3E1VLERrfQWHB8amn6k1G0IRcg3LyTUs50BPHclz\nVnPH+ONsPLeFHfc/zrpVkcko2lCPabCwXMi0biLbsp7K8RwP7usl7ze/mZkj5qZF5Qj7px5f1HMv\nHOwfm6jHi4QC1JQwfkMBPwOjRsEOBfym1mAOuLNQ3NREgPqKCH2jKRoqIwwlUtTEw7MacureV+6M\npHDQT7qEB957P42lMlOekZaaGB1DiQIvuJfiIY6ZbG4iujVd45u7d3dz/rom57wDJQ23aChA11Dp\nZzESChy1hXs6vKmHE98dDJBMj9NcE+Ou3VPTg/1+X8lsgFDAj99n0kH7RsaJOcZ20Nn+ZGbpgPkt\n4iWGeMbCpg7D9d8PJtIl71+AofHpZ++kslOVg2DAdPiLOql38XCQO3d2cf6GJh472E9bd2mHhDu3\nJhTwkcnlCgYDu0Z4uKgT22WblnLLE4enGBkT+HzkK+vJVNbDmjNN5GugE3/3PgJdewn0HJgwwNyh\ny1sb61j1jLOmPW+/b+bmDWaIbOH16xtJTszAigYDDI9nYCxFa0MFAyWK07M5kx48U7OOTC5vntcS\nyk3HQILe0SR37uwqqCEuNqCba2M80Ta3Nap7aJzz109+ZsQpMYgEA/SNJKmMhghMk1ZZDhO1LXzW\n3UHvuXyerqEEo8mMyQYIVBoDYU7f4OCk3j16zw5Wn7GcfKyaxx5qJ7KmEZYlyKxpYkXdGNs7hji9\nsvTvHQ8Hn3SjrlSmdIqnN314MJFm/ZLCdLuWmhj7ekamGmLl8AcYidSRX7qKjtE6UuesZhub2XT2\nKnyJYWJD3dz50B7qz97oGF2VM0amxvf5IDx5XEbP8hEKGAeVNzLiLWkolgM+n4+kcx0ioSNzuANl\n54mubKiYMBS8xMNBuoeTEzL2aBMPByaypc5d28RP7mtjRX0FqbTJhogETRZAOXw+H42Vpovi0jJy\nd64E/f4ps9aqnGBCdSxc1ihLORkQ4UDAdMuMmHu/KhqiczBBbdzcKwG/n5p4odOgImIMsVw+TzI9\nvRPfndt4NDghDDER8QMfAV4LVAE3AW9T1akDU8z+ZwOfB84EDgIfVtXvzua78vny6b7hYKCsV6DF\n8foAbF5Rx4/vbSMSCkwZQDcdubzbHc9X8mEsRzwcpH+G7i1jjiHmsq9nhPXN1RNe+idDOYOluTrG\nr7oPcO7ayerN1oYK7t3Tw3k00Tea4s6dXUfVEPMq/NOlJpbi2ZuXc3hgjF8+dMDUCvh40opmMYGA\nn0C8mqHalaQ3eAbS5nI8dN8e1jxtMtBdX2nGF7jrtd9nhETQ7yOTzVNq/XcVWDcK4H5+NBQoOXIh\nHPQzmEgTC5uap7lcL/f9YBQ+9z5YWme8eg2OMreiLk77wNisnoVgwMdYKks4ECAc8JfsSlYQEUtl\niIcL779VjZW0dY+UN8SKlNMDfaOscIqQKyImfbfYO5fN5dnbPewxbP0lvfEzOUXy+aN/TxUzns5O\nacvs1rcGA37yeUoqENHQ1Lo3t37Mva+8ry+tjXF4sLzB6zLduQb8vgnjzouJiE1ex8Gx1JTvCQX9\n1EaCM9YEusqEl6DfRzjoN4ZYyjgReobHWVIdozY+xsCYafdevAobI920as9k8/QOT9bMRkMm0lJ8\n7atjYXLkGR4vzCYoi89Hrq6FXF0LmY1Pg2wGf187vmya7JI14A8wXqbZiJelnprLTJnnOuYok17y\nTDojo6EA3cNJxtNZWhsqaO8fK4zsMVlzaSJi5deP5562nB/f28blpyybEhXuHErw7FOX8ciBfvZ6\nUnGL66HrK6MFv7d3zmI5svlCx0s4aNZ2U2c2OYDbjdyUGypbTDjgn9JpdjRl5OzweJpHD/TT3mei\nG7NJzS6LzwfhKKloNfmqSafpnq7hidlYLTUx/qqdbC5yMrlUlFEa9/eOUBMLl3VyeCnl0HBZUh2j\nc2i8YDDy5GtR7i/T3Kfsd2WyU357tzSAeDX9jQFyTaUdwLOlIhLE5/MxVBStjkeCjCQzVEaChIqM\nj7VNVfzxcTOPcEl1lK6hcVY1zj1dsNwg4pp4uGRUNhw0NZGxSHCi4+NMPQHmQvHoi6vOWsn37tzt\nZMr4CQX8BdFBFzfFG6CpKkrPcPKoGWIBv2/KWnrSslq2Hx7k3LVNfOVP21la4ll1h0SHnAide+9X\nRUPcsbOL555m9E2TJVR43y+tjVGbCtMxlJix3OdoSvCjN6jh2PJB4NXAq4CLgBXAjaV2FJFGjKF2\nP8YQ+xLwDRG5fDZfNFONWLmIWEtNjMMDCXw+H5FQgFdcsJa/bOuYcVJ6qe/2+UyN0mxnhS2ri9Pe\nN33yeXFO8D27u3naulLtbY4eESdVx6to+T11Ynu7h6mMho6ohqQcOU/9z3TNOkrRWBVlc2s9p7fW\ns25JFY2VEXqGj24EI+DM2wkWz9zx+8n7Sy+s7v1oImImRSBdRuGJBE0q0WMHBzjVUw9wzprGiboP\nLyEnMjCblseZbG5KXru7UIacGhkwi9khT3rFxpYanmifOjusFCsbKtnVOWQW0qCfdImIpiuAXCFa\n7GFfXhdnf2/5FEuvN9Lv97Grc5i1jqJU4QjhYm7f0VnQ8W26Zh3jJTxprmKxpDpK93CJ/vFHkWSm\nVERssr71kpNauE2n9pyOR4JTa8QCfuKRoKOwFwqmDc3V7OooPSfHy0zzp2IlagtjoQBjyQxfv9V0\nsBpMpKgu8l5uXlHHWasaHIFbXmimy0TEoqHARAR5d9fwRAZDXXyy4cumZbXcum1yrmEma9IZ3Zqn\nw4NjE8qA66QrVt5gMip2RASC5JpMjRklouBekpncRKOWdUuq2O0M071/by9nlFDwZnIIRJz646FE\nipUNxsHhbewBjiHmMzVi00WVqmNhXn3BOu7f28M9RVHZ7qFxmqpjPPe05dyxs2vCaChWxovnmZUz\nMKYj7KQWR4IBUpnsxDU4rbWOxw5MHb5eDjeK7GV0fFJBHhxL8ZoL13Hfnp6yjU6eDD0jyQlnl8+J\n8KSzuZI6iisXvOTyeX7+wH6eODS7tTmdmerQcDlleS1PtA8wlspMcayUqw/MZHMcKpMu6UYs3f1m\nM/Jlrri/01AiXZBOubwuzsG+UdIlMiNOXlYz4dRoro7RNXRka3m5iNh0JJ3I/RWnLuOGe/YetWgM\nmGHwXsMwGPDzgjNbuWd3D8GAn3AwQKBEEKImHmLQCQI0VkXpOYqyLej3TWk6tbK+gv295rc5PJAo\nWUqRypi653DQTy6fn1gjxtOm6ZDrgIyGAlMcY41VUVobKohOU+sNjrPzKEYnj3tDTERCwNuB96rq\nLar6MPBy4EIROa/EW94IDKjqP6rqDlX9MvA94F9m8335abxr06Um1sbDtPePUuk83H6fjxefs4qf\nPrBv1nnzbn2a3+djt0c5nIloaOZ5Jl4PynAiTTQcKBByqUzWaZdeniMxmErNdqqMhBhOpDnQN8qp\ny2sZTKTpGEjMKQpYjqwnImZSE+deIL65tY4taxppbajkwAwG7lwJOCk8s62niIeNQgpmkXBTBMql\nXLpKxe7OIdY1T94/VbFQyWhuKOAvEJwNlRHu3jFVSd/VOcQt2w5PUWjdv4N+/0TaRHU0VOCAqHc6\n3BX/vqWUwLVNlWw/PEjYSU0slYrheiBPa63jrl3dUzyDPp+P2ni4bBpgLpefiHqHnfb99RXGM1YR\nCU5cb5dMNkd7/1iB5/PMVfUla71KKTwAnYPjtNTEkKU16OGZjZcnQykh4a1pa6o2UYViJ0U8HJwS\n5XPvj1g4MEWZWlIdpfMIFREXv48yEbEge3uG6RxKcKh/jJHxDFVFTVvWNFVRVxFhZUMFe8ukEkLp\n9LyA30fMY4g92NbLmU49ZW08PHGum5bXksrm2NFhGhJlHAXKfQYPDyRY6rkPauLhkvd1Tcyk5454\n0ihnSic/ElzPLzgee0cx2tM9zLpZpMrnipwybrOOkWSGZbUx9vWOUBefGi1217RSjQa8+P0+rjpr\nJUOJNPs8SpRrLPt8Pl56zuqJ6Hlxk5ViTKpSmgfbeku+ns7mpqQ3Rp21JeT851JXEaGvaM14vL2f\nHWWaUZViJJmm0qPc+Xw+Xnruau7Y2TVjR9a5U+g03tBczRPtAyX1F3c/r8Pizp1dPGfzcg4PzC4r\nxm0pXwqvEj7baP+2QwP88J69JfUKb63R8Hh6su2+h1w+z85ZOIKK72kXV24k0hmqPJGRluoYnYMJ\nk3VSdL6xcHCitXxTdZTOogHPh/rHZpV+XpwePxti4SDxcICKSIhrzjUt291nqHdknMfbZ+dEKHU9\n4k6kzUtDZZT3PH8zgBMVK7GuxcMThlhtRbhkZtah/rGJsp25EAj4pugbbmfWg32jXHna8pKp0m7k\nNhz0EwsHqQgHGUumuWNHJ0/fMOlM3bK6oWy5RCQ0fWO+o93n4Lg3xIAzMBP0/uJuUNV9QBsmOlbM\nhcBtRdtuZZbN/nMzpCaWH2hZIsTteC9++WCJgZ8lMGmRJiLW1jPCqsbZpzVOfka+pPEwlpo0xP66\no5OLHO++z/Fi6uFB+kaSbJvGOzbr1BoPzdXRKYbYSctq2H54kEw276S7jPKzB/bx9Zu38VftPCLj\nycUsMubfwYCPZCZ3xGlgK5x5SXvn2LVuOgJOdzH/LA2xtUuq2ON8/wUblpj0WP/0Bqa36ctMhIJ+\nKj0K7iUnL6V/NMlduwqzfrce7OdA72hJBR/MwuUa9qVajp++so4HipSlUgK4riJC99A44YDJ8S4l\ngJ9xkpkdtW5JFYf6x0rm6J+/YQl37iyZuVxwjG5Br/t3KQ/7bdrJxVLYUTEWDpY0bIMBf8k6GTfl\nyaQwj7H98CDf+MuOY6KMJ9PZKbn14aC/4Nm9cOOSiQJ7l3g4OEUwhQLGkRILBac8x64H/v69PdPe\nj9M9f35f+dTErQcHeNUF67hNO4yDrMzae8pyM37i7jmMxgj6JyNi/aNJIp6085p4uMADf8Upy7h/\nby+9w+OmnjDgn3gGR4rWxFLpvy6Xn7KMXz98kAfaetndOcRXbt42JyV/NkSC/oKIMZgmMaVSeErR\nMzJOY9VkxMs1VPP5POFggO7h8YKIWNCJRgb8he3r23pG+MFde8p+z/nrm9h6sLTiGA0FuNRpfz4l\nPc3BXTuqoiEe2d/HvXu6eaBEfWsyk5uSKhUOmjEbkaK1D0xmy67OSeX+ifYBHtrfN+sU/hEnIuZd\ne/0+H9eeu5qbHz/0pGSbl6QnYuRy2so6HtnfP62C/4nfPMZYykQHDvSOsnFpDbm8cRDM5HR0a3en\nYy6uVO0Y4qKNzSUjciZ1z5zHaDJTYNyCqUPWw4N8545dM35PokTNLEwaYuFAoCAi5vebcUQDY8kp\n3wtmNh6Y9dJdv/P5PLduO8yDbb386qEDs3Iqz1UvqY6GJp6HymiIVz19HY+3D/DHRw5y06PtPLJ/\ndobY0Hh6SnpxPDzVEAMm0q5DQX/JqGRtPDwh79ya4WLu2tXF7SWcuzMR9PtLRp2qY2EeO9DPxpYa\nXlSiP4HrfAkFzFpoUoUzdA6N0+LJCtoyTfdFd90rNyJlcCxFTSx81HqAnwiGmDswor1o+yGglams\nKLNvXERmbIE3Xb55uMzN6KXYUFlWG2d1UyV/2d4xse23jxyku4Qn2f1uv99HZSRYNg2g3PcOJVI8\nvL+Pu3Z2cf1deyZq1sBJTfSE4l1hWl8Rpm80yY6OIV574XoO9I7yo3v2cuu2wwXeW4C+0RR1lXNr\n17qhuZqqWKECt6qhkn29I+TyeZbVxrlduzh3XRNvumITKxsq+O4du+kfTXJ4YGzKMcxEYddEP4lU\npqwXbyYioQB/84wNHOof4/t37uZ3jxzkO7fvelLh91DAb+YQzdIQW9NUNSWVzTQKKP/enR1DnLR0\ndo1i/D7flILV5zrtev/sSclKZ3O8+OxVbCjyqrsKf1U0NEWwjHgE6KZltfQOJ7nlicMzRlYDft9E\ns47i1vVefD4z+LJU1KwmFmZ4PE0un58S4fISDvgL6iOKC3BTmSxdQ4lpu/LNxMh4mof399FcE5u4\nRo/u7+NFW1bxw7v3lFwLngzetu8ukWBhGsaK+goODSTw3kbFCiQYAV0XDxMLByai/V6uOmslNbEw\n379zT1lP8IypiSUM6VgoSHv/GK0NFZy8rJZdXeWdIeGgn2vOXU1FJMD1d+1hOJGmbyTJF//wRNn1\nIxjwTRhitzxxmPM3TKZpB/y+Am+nz+fjJWev4ge37yKRzhJy2teXegaLnyUvVbEQLz9vDYcHxrj5\n8cO88zmnsKd7mHs9aXrbDg08KWW9IhIsUB7DAT937eri7BlaPrvcv7eXk5dOdmZzxxe4xMLBgu6V\n4YCfRMoYYm669RPtAzzU1su5axvLRkwroyFGkxke2tfLbdpRch8obYgF/X5Gxk2NY1UsxF27unj9\nRRvoGEwUGFHu8RVHrsNBv3H0FDknAC6WZu7c2UX/6GQE/yVnr+KmR9sZTWZK3sv5fJ6tB/v51m07\n6RpKUBkJUREJFszb9Pt9POvUZfz+sWLV5MjoHExMqTvz+3w8/8xWGsvI6Pb+MdYvqebhfX38cesh\nnrV5mXP8cOv2Dm7eemja2XzJTHZa596K+ooCncNLU1W0ID0zn8+Ty+XZsqaBnR1D3L1rqtPMXStH\nxtNTsh6aa2L84bFDnLWqgc7BBDfcs7eswzRRoqETTBpisXCAihIOvycODSJLp+8K68PoVtfftYeW\n2jjPP7OVi6SZ27aXv6fhyLKLmqqiBTLW7/Nx5ekraKiKsmV1A1XREKPJNOlsjh/f28adO7smolVe\nBsdSU2oC45HgtKmS4TLNOmpi4YLU8kQ6O2XNzebyJNLZOWc8Bfw+oiUM/5OX1XDXrm4aqyKcVWI8\nRyqT9egPQeKRIPft6eHUFbPvOBkJBnjsQD//e6uWPO5BJyJ2tJqnnAjNOuJATlWLXcdJoNRktzhF\nQ8WdfSmzfwHuLK9S+H2+iTqYUjTXxEpGjM5c1cBD+3r50T17WdtURX1FhHt2dzOayrC8Ls4ZK+up\njIbMYMFQAD++2XcYcljTVMndu7rpGhrnlResJZ3Nc8sTh0iksjxr87KJwa3RUIDTWicXlyVOnnPW\nmYXzLKdxRsdAgl8/fIAzVtZz0rJadnUOsfVgP5tbZ9HO3cPFTvTCi99v0k/ALEhPHBrg9RebJhWr\nGiu57vy13HDPXrK5POGgn1ecv3YicjeYSNE1NE7/aJKzVjeSyeWIhSY72BV3TRxNZY64nSoYj+/T\nNzZzwYYl9I+mqIqF+MWD+4mFAly4sZmA38f+3lEO9I1SEwtz5qr6aXOH3WMxaTyTCk7xYGKXaCjA\nyobCYuBgwM/2wwOkMlmqYyGqomG2Hx6g3jGu/T7fhNduNhTXfACcv34JD7b1ctOjB7lImo1CXhGZ\nsq97rsX3fSQUoL1/bOKYfD4fzzltOTsOD/L9u/Zw1qqGsk1e1jRVTaQWlFL+vXg7rBWzaXkt37l9\nF+FgAB+wvrl6Iv3MJRTwF8xmqSwyxG7d3sElJ808QsJL30iSjoEEjVUR/rytg8FEipc/bc3E+VY7\nRmJ9ZYRXXrCOn96/Dx+mMcs1566mMmqibYNjKQ6Npti+r5eTltYUtmv2kM/nJ1Il0tm8ExGb2qyj\n+Dc6d20jN9zbNvF3qeLvxqoojVVRUplsSaO4IhJkQ0s1qxoruP6uPWxorqY6FqY6FiIPpGaI+Pmd\nFMFiYuEArfVx/D4fp6+sn1Wjl82t9axdUs3vH2unfzTJay5cz433tZmuf0UE/X78QYiGA+TyZh30\nUl859T5/6flr+fTPH+Z5p68oaF/vZbqImMuVp69gcCyF3+fjOaet4O5d3fzm4QOctLSG+/b0sKNj\niKvOWsl4OsuuziF2dw5TVxHmImlmPJ1lb/dIWUdMPBwseGZWN1Xy5yc6pnjAi7ltewejyQzpTI6m\n6kkx6fP56BudHFvQWl9REAl2R0zUOxGx+9t6WdtUxdVbVuLz+fjbhvKNDIIBP1sPDhAN+UvOIASQ\nEg6lhqoIe3uGqYqGqIoGqYmFiYQCXHn6Cm64t62gM7AsraG5KBoYCZoasVDAPyXi7vP5uPZpa/jZ\n/fuor4ywqqGSYMDPS89dxY33tXHdeWsKIgeHBxJcf9ceTllex4vPXsWHfvEI529YQkNVlCVVherG\n0to4AX8fWw/2s6NjiGec1EI0FGBkPM1YKsPSWnO/+31Tu/UVEwr4Wbtk6rVdN4Pe8OKzV/Ht23fR\nUhujodIcX2NVhAO9o7zygrX86qEDgMnE8HZ9Hh5Ps7xu+mdw0/JaHtnfV/K1CzYs4YZ723jBma08\n1NbLoYExzlhZj9/n4+otq/jtIwc51D9GTTzEvp7RCQM+GPAzMJaeUt/cXBOjdyTJay5cx1du3s41\n565mX88I9+3p4fJTlvHnbYdZu6SKM1c10DmUKBl1d+/pxqrIFAOzMhJieDw1Y/rgWMqUdFx91soJ\nB8iapiru29PDrdsOc2ggQTwcYNOyWlbUV7CjY4hNy2uOqAzj9JWlZ8CdtbaR7u5hqmNhfv/YIfL5\nPBdLM+lsjrt3G53wspNbWO6soYc8jbRcIkH/tI5/d10vpjoWKri2zz+jlZsfP0Qub2qRMzmzniyp\njvLT+/exZXUD9ZURqqKhGTN2giWadYBp+LasLl5glDZWRfnJfW1sbKlxuuEaZ4uJiIVo7x8tqJmf\niWgogB4e5PUXb+D2HZ1sWd1ANDQZNRxIpDhpWQ0bppk5ORd8R7NRwrFARF4M/BgIqWrOs/124D5V\nfWfR/o8CP1fV93u2XQ78HqhX1aObC2KxWCwWi8VisVgsc+RESE084Py/2C29jKkpiO7+pfYdsUaY\nxWKxWCwWi8ViOR44EQyxR4AR4BnuBhFZDaxmalMOgNuBi4u2XQbccWwOz2KxWCwWi8VisVjmxnGf\nmgggIh/DDHN+PdANfAUYU9VnOu3t64E+VU2LyBJgO/Aj4AvAFcCngGer6l9KfoHFYrFYLBaLxWKx\nzCMnQkQM4H3A94HvAn8C9gLXOK9dgOmKeD6AqnYBz8EMc34QeCvwamuEWSwWi8VisVgsluOFEyIi\nZrFYLBaLxWKxWCyLiRMlImaxWCwWi8VisVgsiwZriFksFovFYrFYLBbLPGMNMcu8ICI+7/8tC4OI\nLHP+b3+HBUREli/0MVgMTsMni8XiYOWDxTJ/2BoxyzFHRD4KLFHVv13oY3mqIiLPBz4D/AD4oKra\nB38BEJEY8HXMiI3nq+ojC3xIT1lEJAp8AqjGdNr9saruWdijemoiIq2qemDmPS3HChHZAtQBDwAD\nVkYsHM7a9GJgJ9Cmqt0i4lfV3AIfmuUYEFzoA7AsXkTkWuBLQD+me6VlnnFm7n0b2AJ8QlU/tLBH\n9NRFRN4NfACj6DxHVR9f4EN6yiIipwK/BPYB9wHvBTaJyDtVtW9BD+4phIi8CPgQkBGRA8BXVPUm\nEfFZQ2B+EJEm4DsYGTGImdv638D/LuRxPVURkdcCXwT2AM3AHhF5gar2L+yRWY4VNjXRctQRkVoR\n+SVm5MD7gJNV9Rab7jC/iMizMB61HqDVNcJExD7384iIREXkm8B/Aa9R1YtdI8w+EwvG84AdwPNU\n9d3AOcC/WSNs/hCRq4DPY5T+zwJ54M3WCJt33gbEgVOBVwG/AsbArk/zjYg0A+8A3g2ci3Fg3wxU\nWLm9eLERMcuxYAOwCvhXVZ3wqnmFqxW2xw5PCsMhIAt8tsibFgRSC3JwT0FUdVxEkpgZiLe420Uk\nrqpjnr/tMzF/XIJJv3Kv/wjQIiIB4LCqphfsyBY5nvXpecDDwFedv79TtJ99Ho4R7rUVkVrg9cDn\nnRmsXcA97n72+s87zweWAr9w1qCfi8hvvOuRfS4WH9YQsxx1VPU+EdmL8bABICIvB1qAXcAtXgXU\ncnQQkUZV7XHzyFV1q4jcDvw9cIeIXAS8BciJyHbgp6r6hM09P/qISD1G0Xev65cxSucyoF9EPg6c\nJiJDwH2q+hkrXI8+jkf/lZgUxL2qelBE4sAwMOL8+5+AtwMHMb/Pd4F3LdAhL3o8z8T5wA/cv0Xk\nVRgldDfwe1UdXaBDXLR4ZIS71iSBUYwjAhG5EPhH57XHMHWTVkYcI0rIiTHAr6odzuufBs4SkQHg\nLlX9lJUTiw/brMPypHDS314FbMMYWPc4218KfANTcPpejBE2AgjwIPBqVT20IAe9yHBy/L8GrAf2\nYpSY/3Zeewnwf5imBC8G7gKqgLMx6SiiqskFOOxFiYi8CfhXjGd5GPgHYI+qpkXkVkyEcitwBvAL\n4BnA5cDnVPV9C3LQixQReR7m3u8EajG/xxtV9XYR+TBwJfDvmPSfr2BqMq4B3gRcr6rvXYjjXmxM\nIyO+g5EL1wDXA6sxadSnYpwWVkYcJUrIiD+o6lccQ+BGTBTsXuCDmMh9HLgAqMSUFowvyIEvUkrJ\nCVVVEXkO8HHnvzMx6Yk/Ai7DrFeft3Ji8WFzTi1HhIj4ReS/gBswuf1XAb8SkXeLSFBVbwT2Y4pO\n7wCejgm7n49ZXN62MEe+uBCRFuDHmN/go8AB4Msi8i4RqcI0IngAc73/45m8pwAAIABJREFUQ1Xf\npqqvAa4FApi6JVs3dhQQkZdhcvs/iql7iWGej6udXb4KXIrx+l+rqp9V1aswEZl/ceoDLEcB535+\nB6b5w6kYJeYe4Kcici6mJukkjKG2TVVvUtUdwOcwKXKvcJRUyxFSRkb82lmbfJi1KQT8G8YAezrw\nQiZlxDucVFHLk6CMjPiSiPyrUxN5D/As4EXAD1X1nar6d8B1GBnxEedzrIw4CpSREzeKyJXAnUAa\neAHmGfhHVf2qql4L/DNGTqxcmCO3HCvsg2U5UpoxOf6vUdXXqup5wDeBl2FS4QBuwkTA/qqqg05K\nxHZMdOaVC3HQiwVPEfUaTE3ee1X1h6r695gGKX8LXKeq+zEpVw/iyf0HnsC0st8iIiGbdjJ3ShSy\nvxB4QFW/oarfxXgxDwBvEZGTgUcwgva3qtrped+PMZ7RK+bhsJ8qnAZsxFxvVPVRVX0d0IGJgsUw\nkfomoNd9k5MyvReTslUzv4e86CglI76BWftfC/wUMzrgjcCjqjoAjDoG8Yed/WzKzhEyGxkhIq/B\ndK3cgIla3un5iCcwabrPEJGolRFHxizlxD6McVaJ0aOuA0JF401+iJETLzj2R22ZT6whZpkTnkWl\nGlgBDHhe/gJwN/A2Z3Dwp4FTVPVm573u/TYIDDvpEpY5ICIRKCii3oxRJL3K5Ecx6W+vEJGNwOtU\n9Xmq2uPZJwecjtOYwHbHOiIm1k8n+lgNqPO3zymw/gIQBd6hqttU9UJV/b+iz1mPMQza5uOgFyMi\ncraIrPBs6geW4zwXzvw2MMrO2Zgo5bcwNauXi4h43lvrvK/jWB/3YmQWMuJOjCEwhok+1jr7eunE\nPF8rsMyJOciIR4G/wTgc3uG8dJZnnxywDjgMpKyMOGJmKyciGOfQVzF61DJntpvLMkxfh4PzdNyW\necI267DMiIicB1wE3I9p+dyOGfw4CDS6+6nqYRH5EaYV9PtV9c1Ap4hsAtpVddDZ9SLgz6raPY+n\ncULjLOCfBqpE5HHg14637B7Mwr0K6BWRsKqmMCmhX8B41j4kImHgDcBWp0bmbMxv+HWw3bHmgtNU\n4A1Al4jcAnxfVYedzogXOYpQCkBV/ygiFwPPEZFnq+rvReQKzDPy/4AExih4BFNDY5kDInI1pr6r\nD1gqIl8EvqOqbSLyIPAeTA1SEkDNjKq7MM/FtzD1YP8L3ODULFVg6vr+S1UTtkPZ7JijjPghJu3q\nfZjf51Lg1SLyI1V9wtn1QuCPTkTfMguOUEZ8CXi9qn5URK4DXikiPZgW9ksx0bRv22jY3DlCOfF8\njOH8Hszv82kReQfGKfRSjBH2wPyfjeVYYiNilpKIiE9EIiLyZcwci+dj0hR+KyItqno3ptvSiz3e\nZjDNIH4DnCsim0VkHSakvkdEPiIitwHnOdsss8BJa3sAWImpu3sVRnE8xyNoP+DsngVQ1b8ADwEX\nA/WYYZ3vBn4vIr8G3Nd/Po+ncsIjIh/AFFLfhFk//wWTWgjwKUzzjfPVtIZ261tuxBgCFzh/X4ap\ni/kz5jd4OfBBVZ3wWFtmxql9+Q+MwnIl5vpfweQg2u8AF4rIeaqacyMFmGflAuAsVb0VkwJ3D8aQ\nuBJ4g6p+CayDYjqepIz4FaZJzXKM0rkduE9Efi0idzqfVdDO3lKeJyEjHsA4ieKYqNjtGAfFTZjm\nHY/jOOsss+dJyIkx4EWqehumc2sN5lm5CxO9fI+q2ojYIsN2TbSURUQ2YwqtX42pMVqLWUzGgJdg\nuvr8ErhUVW/3vO9SzKDOD2MWl9MxnqEGzGyr96pqZv7O5MRGRN4IvAZ4rqqOiMhqzPUVzDykKzBK\ny9NV9S4RiahqUkTOwAjazU4L4vWY36IV421+fAFO54RCJuft+DGNBW7CeJo/42w7C/grpu7xi5j8\n/hanHsb7Od8D6lX1SkfpWYtpFuFX1Rvm8ZQWDY7H+ZOYzp/DzrbnYtacdwG/xRhlOVV9tvN6QFWz\nInI/8DtV/Q/P50Vtd7i58SRlxBeAj6jqj5xtr8OkIvqAj1kZMXuOgow4VVW3OZ91CsZAbnPq9Swz\ncJTlRJ2qPs/5uwpTx7paVW/BsiixETHLdFyK6eCzV1VzqroLEx5fj+ngcwcmsvJf4un4pqp/xhhd\ndaqaV9WHVfXtmFqld6lqRkRsWmwZSuTiXwwkVHUEQFXbMN7LJsz8o79iopBumqHbjv4gphvZRmf7\nLlX9iap+3hphs8ONiDipOU2Y+qLbnJd9qno/pvnDP2OUzk9g5oO9veh3fAJY5wjsMVXdqqo3WiNs\n9ojIWhGp9GzqwzRzCHm2/QljnH0UGMcYYltE5O8BHCNsCaZOY4/zuX7nNWuEzZ0nIyPqMaM03G3/\np6ofVtUPWRkxPcdKRjivPa6qf7BG2Ow5ynJivbtNVYdVdY81whY31hCzACa1QUReJiJniEiDs3kY\nWOmmTInprrcb03L1KoyX562YtsNvFpFqZ79WYAhT5DuB2xTCUUatt7MIEQmLyIcwSsubZbKZyUPA\nGicVCzHDNfdh0rLejpn58gGgRUQ+61x/MJ7QDiYFgmWWiMgLROQ7IvI5EXmuiFQ6KSH7MfVFE6jq\nZzE1MW/E1Hp9EDMW4KUiUiMiIUzNyw9sqtvccX6LJzCRlkdF5PVOVHEE6GZyPABO7cvXMY0J3u0Y\nul8CviCmbfo5mM6uOUw9k3fAsGUajpGMKNkQxcqI0hxDGfHX+TyPxYKVE5ajgTXEnuKISFREvonp\nZPUPmFz/rzl5yzcBeRFxZ365npuPYjzR1zles/diWrLeIiJ/h5nNk6CwXTpgPEd2kZmKiDwb0zXv\nEkxayGcw88BWYITsEKbpgFdx/AYm1fOtqvog8DqM8nO7iPwE8zv8Ghgs4UG1lEBEKkTk25hr24mp\nZ/w0prEAGK/yZSKy2omuuHVH/4QZmL1WVT+Bac39CeAWjNBdj63HmzMi8grMzK+vYhTK3wHvB16P\nibYMApeKyHLP2zow6T+vEZElqvpB4GMYA+wHmFrJ96jqY/N2Iicwx1hG3FvqO62MmIqVEccPVk5Y\njibWELP8HaZF7SXAczGC9ixM84DDGC/020QkpqopMR2X0sCXgeucmovPYgYGb8MsMvuBi1W1a/5P\n58TDSY36O+CbqnqRqr4B08DhFEyazx2YFJIrnDovt9YlhekY9yLHE/crTHTgP4HdwOWq+u+qmrWK\nzaw5BzgVU9PyLsxzcSNwjZhBmr/DdLp6C5gUH8f7/FtgJ6ZWBozR8FKMovMlVd2oqg/P54mcyHiU\nwmcDd6vqF1X1DlV9G2Y22zNVNYvTkMPZDzDph5hhwfswvyWq+j7MoOCXqmqrqlplZ/ZYGbHAWBlx\n3GHlhOWoYQ2xpzBODv7rMMMFH1FT8P5LjBJzkbP4/xzj2fyg8zZ3sf4RpjbgIgBVvVtVX43p+PN6\nVR2VyW5AlulZj8kp3+7Z9hvMeIm1jjD9EaaQ/XUwoWyCqZPpxdRboKqPqeq3VPXdarqWWWaBR/Hf\ngplrdAAmaikexeT9V2EUnjuBZ4vIM5z35J20kr1AyHluxlT1QVX9kqr+zzyeyqJATeF7BfAsTBMI\nd73C+Vuc/b6Bqau41vN7gOlSeRpmnpirlKatkjM3rIw4brAy4jjAygnLscAaYk9tajGCshsm8vJH\ngTCQcdIbbsek87xVRLY4nk4wofghjNd5AlUdc+rA/B5BYJmeJGbxPgBGacSk+KQxQx5R1euBW4Er\nReRaz3uXYdKzDrkbbIrJ3PF4g5swXcSinuvYD1QCeUfh+Q4mRejznveGMHN6HlTTtMDWHT0JnPVj\nFNMOvaeoZmgzxpvv8gHM9f+oiJwlInWYCNktOEOy7Vp0xFgZcXxgZcRxgJUTlmOBNcSewqhqD2ao\n7O8cj7G7yKwHtjr7DGHyoH8N/FxE3iciF2IGoT5MUUMO5z15u8BMRczQ0+JtblH1lZiZLa7SWIv5\nHX7v2f0LGOXy+yJyvZj5Pe8Ffqimy5jbacmmmEyDU/DuK9rmroUfxRRQ93mu46XAHnWGzTq1Fh/E\nCOGdIvJ/GAUog5n3YnmSeNaP9wM/dn8Lp0mEYCIyrmFwP6Y2YxBTs3Qf8E7gf1S1f76PfTFhZcT8\nYmXE8YOVE5b5ws4Re4rgLOa54r8d4Zp1t2EW9u3Ay9XTWttZkL6ASY9owRSWvl5VB+bzPE5UROSZ\nwB8xtS1/nsX+rwf+B9iAUWSyHmX0zcAmzMyez6vqzcfswBchInIlEFDVX4lIUKfpzubc949h6pT+\n1ql/STmvLQWuBc4ADqpnJpVl9jjG1KwEkYhchknJOltVH/e+10n7EWCdqv7i2B3x4sTKiIXFyojj\nCysnLPOFNcSeAngFrIjUqOpguX1E5K2YDmNrVLWvaJ8gJorapKrtxZ9tKY+I1ADfAxpU9YJp9vNh\nUk5+BixR1fM9rzWraucxP9hFjJj22d/HpEy9CmhW1Q6vslm0/5mYFJSXqeqPnW0+zIy8Pudv+wwc\nATI5v2vGa+caXCLyLeAC4CSdHKD6ckyqz/bpP8VSDisjFh4rI44frJywzCc2NfEpgCM8m0Tkl8C7\npXAo6sQ+zj+vA/7iWTzOE5FbxHTEyqhqSlXbPTn+dmGZBrcY3VFsPoEZLvuGcvs7Hs1GTH2Fu6DX\nisj/An+QwjbdljngKPNDwK8wXvth4CcwbQ3RRd79ROQlmFkw73Z3sM/A3JDJWYI5Z23aIiJvEpEz\nvPt43+MYXXXAM4EbnL9fzuRvkcZyxFgZsXBYGXF8YeWEZb6xhthTABF5IaaFbQaT7z9aZr+VmLas\n3xeRJSLyA+AvQLuqJrzKkc3xnx2elJ46Vb0d+BbwYcfjVo6TMEW/v3e8zweA04FrXS+zZfY4Xnpv\nXcQSTMpOJ/D3zj7l1sLLgT8By0XkDozH+rOq+p5jetCLGGftyItIyKmbuB1T43WTiPyDs1up32MZ\nEMB0H/s18E3g06p6hpohwpYjxMqIhcPKiOMDKycsC4U1xBYRIuIv9iSLyGnAvwEvAP7bKfot1zGp\nBiOIXw7swSxEG9S0HLYFvkeAiERE5JPA9c6mj2OUyX+f5m2bgRhGwfkg8DpVPVdV9Zge7CLFze0X\nkUtExG0t/AqMB/NqZ58pCqOIxDCC+GpMy+HdQI2qfnqeDn3RIiKvxTTUyGFqjp6N8SZ/3FFIsyWU\nnjSwFGO0dQG1qvqZeTzsEx4rI44/rIw4PrBywrJQWENskeBJ9cmLyEoRqXfSQh7FdLTKYzyZ07EU\niGNmkbxEVZ+pqvtFJDCNJ+gpjYjEReTpxcqNi5r5ImPAMhF5laq2AZ8C/lFENhZ9lnuND2I80h9W\n1SZV/cmxO4PFRanfQUSuFpF2jMd/G3CJk8d/H3C5iFzq7Of3fo6qJjDpJX8BRFVf4xZgW2aHo/j7\ni7a1As/DKJwDqtquqtuA/8YM+v1ymY8LAh8C1qvqG+xvMTesjFgYrIw4/rBywnI8YZt1nKDIZPG6\nt2tYDUagPh0zxHErJke5BzPTYjlwjaoeKJe7LyJXqdNxzFms7KyXaRCRT2PSFjap6h5n2zXAAXWG\nZTqK5xeBakz3pHHMsMe9qnp1ic9sAEYcAW2ZARFpwXjwkxjF3tv5bRNwIybd5+vAC4Gkqv5QRM7F\nCN37gX9yBGrxZ9epbYF+REhht711wEbgNjWDfC/DzJ76H1X9T2efEPA3GIPsXFW9X2boVmYpj5UR\nxwdWRhwfWDlhOV6xhtgJhoicqqpbvcLV2X4hZo7F+ZgZFxsxqQ17gNcBpwCfBH6jqlNSHkp8nlWA\nZoEjELcC38bMazkFuAF4XFWv8ez3auCfgBtV9SMi8iJnvytV9Y/zf+QnPmIaCnwBOBeTLtUI/BX4\niKo+7uzzYUzKyJZSSouIvAfTfOCTwG+BIatUzh0RiQNnAncWrSMVwNeA52NSC7cC/66qd4rIFzCG\nV7OaIcFuDdL/w3SDO2ueT2NRYGXE8YWVEQuLlROW4x2bSnCCICI1InIAeFRErgKqPK9dCtwGvAX4\noqrerqrfBN7h7PePqvoHTM7zFSJyjvO+gPsZxbn9VsDODlXtBT4CvB04S1W3At8F1ovIdZ5df4GZ\nM/ISERFV/RlmZsx3y6WsWKbiXisReTbwBKaBwz8B/wF8ANO96sdODRIYD2jOFa7iFGSLyHNE5OMY\nAX0I+DTQC1wybyezuPgvTLH6GneDiKzBDJutB64AXoTx+L/ZMdy+irnmn3ffo6r7MU04znA80ZZZ\nYmXE8YmVEfOPlROWEwlriJ04jGAWlAGMN/OT7gtqhj/egBmi2eN5z2+BR4HzHa/Q9Zjf/N+c91mP\nztHhK8BO4P3O3z/A5PC/TkzLbdS0w70ZOBV4m7Pf+4BP2gL32eO5Vm/G3PPPU9U/quqvHcXycsy1\n/5Rz7XcDARFx03vcdJTLgfOdNJO3YoT0War6p/k6l0XGx4B+4O9EJOxsOwfjfb5GVe8DBoFWjBJ0\njVMX9jnMc7LJ81m/A1ao6r3zdvSLAysjjl+sjJhHrJywnEhYQ+zEoRqT2/x5jOfsOhG5weM1dlNJ\nzpTJNqw5jJf6VCCjqndghkD+aF6PfJHjLPrvAl4gIi9yiq1/BjQD3nkwNcB24EIROVNVH1TVz877\nAZ/gOCk7zwR+UJTn71dVxSj3OeA/MZ34ejEKT9yz/0pMzj+quldVf6CqD8/jaSwqPF7/v8e00QZY\nhTGq4mJabH8W+B9AgVeIyFKM4v8Ypj7D/axhVT00j4e/WLAy4jjFyoj5x8oJy4mCNcROAJzc/H6M\nx/PpGK/a32LaDX9PRC5RM0fnCxhP5gbP29dgPJ5R5++PquoP5+3gnyI4aT2/BD7geJZ/AjwMvENE\n3iIir8cUYX8G4517aOGO9oRnKTCsqg9AQQcs1wt6G/Bz4Epn21eA1cBDIvJeEfk5pk7ml/N50E8B\nvgLswnjxwRS+fwwTGbsEM4j5A5h0q0uAN6lqF6YT4rfm+2AXE1ZGHP9YGTHvWDlhOSGwhtiJxe+B\nC4FlatqqvgSTDvRDEXmzqr4TqMDkPr9HzHDUfwZ+rqoDYDxzNt/8mPGvwMnAK1V1ENOG+1bgX4AP\nA99R1W+r6uGFO8RFQQuQEJGTYTINRSc7xI0CDwB1GA/zjcBVmMHB52DmwmxR1b8sxMEvVoq8/ldj\nPMwJTKSsA9OsAIwRcAB4m4g8XVV/pqqfWohjXoRYGXF8Y2XE/GHlhOWEILjQB2CZGU++8ziQAk7C\nzNvZAzQAtcB/ixks+GFMasr5mIGP71DV68t8nuUo4KQ65FRVReSbmFzyr6nq/cBrnMJrO2jz6PF7\nTNTlVBHZXnQ/+4EsxsMfBGJOncs+4G9EJKqq4/N+xE8RVPUPIvJLTFH8nzFr0FpM58SIiLwE0zXu\n/ZhW9gcX7GAXEVZGHN9YGbEgWDlhOSGwEbETAI938s+Y9JG1IvI1TG3FbZjhqF/DdPRxuzAlgFer\n6vUi4hM7bPOYICJNwGWeTQNAl5ghnn4AK2CPOvcBdwH/gEk/8T4jbm7/32AU0Q6vd98K13nhXzE1\nRy9T1Q5MvdLHMC28v4hRQK+3RtjRw8qI4xcrIxYMKycsJwR2jtgJhIg0YuorTscMe/yAt3uPiLwb\n04r4Hkxe82sxdRl26OMxQkTeDHwK06FsGya//0uq+ukFPbBFjohcgen49jnM9T7gee00zG/ydSc9\nyzIPiGcAsIh8FbhAVU9zFJzzgJWqaptAHEOsjDj+sDJi4bBywnIiYA2xEwinLfTNmHSSq9zOYlI0\naNPZ9geMV/pp3sXHcnQRkRpMXczlmHlJX7VdruYHR6l8B9CJ8fb3Yeov3o5RMt+uqiMLd4RPHRyv\n/+mqerPz98eAs4GrnVoMyzxgZcTxh5URC4uVE5bjHWuInSC43mYR+RzwYlVdVWIfHxBQ1YyILAEu\ns92v5gcRaQF61A45nVdE5CLgjZgIwCFMWtbHVfX3C3pgTzGs13/hsTLi+MbKiIXDygnL8Yw1xE4w\nROQtmELrLaq6tcw+U7yfFstiR0QaVbVn5j0tRxvr9T9+sDLCYimPlROW4w1bnHviMYIZgtpWbgcr\nYC1PJUQkAGCF68KhqoOq+j7gamCTNcIWFCsjLJYirJywHK/YiJjFYrFYLBaLxWKxzDM2InaCYlsN\nWywWi6UcVkZYLBbL8Y+NiFksFovFYrFYLBbLPGM9ZhaLxWKxWCwWi8Uyz1hDzGKxWCwWi8VisVjm\nGWuIWSwWi8VisVgsFss8Yw0xi8VisVgsFovFYplnrCFmsVgsFovFYrFYLPOMNcQsFovFYrFYLBaL\nZZ6xhpjFYrFYLBaLxWKxzDPWELNYLBaLxWKxWCyWecYaYhaLxWKxWCwWi8Uyz1hDzGKxWCwWi8Vi\nsVjmGWuIWSwWi8VisVgsFss8Yw0xi8VisVgsFovFYplnrCFmsVgsFovFYrFYLPOMNcQsFovFYrFY\nLBaLZZ6xhpjFYrFYLBaLxWKxzDPWELNYLBaLxWKxWCyWecYaYhaLxWKxWCwWi8Uyz1hDzGKxWCwW\ni8VisVjmGWuIWSwWi8VisVgsFss8Yw0xi8VisVgsFovFYplnrCFmsVgsFovFYrFYLPOMNcQsFovF\nYvn/7N15nCxnXe/xT6/TM3POyeYJexRUHgOowOWyBlmucInKkosIVy8oguBV2fSCLFd2YiI36AUR\n4YqoCAgqm0oCirIHMAEjCfIkhOwnyyTn5Cwz00tVPfePp/qcnp7umerqqq7qme/79YKc6equerqr\nu6p+9Xue3yMiIjJjCsRERERERERmTIGYiIiIiIjIjCkQExERERERmTEFYiIiIiIiIjOmQExERERE\nRGTGFIiJiIiIiIjMmAIxERERERGRGVMgJiIiIiIiMmMKxERERERERGZMgZiIiIiIiMiMKRATERER\nERGZMQViIiIiIiIiM6ZATEREREREZMYUiImIiIiIiMyYAjEREREREZEZUyAmIiIiIiIyYwrERERE\nREREZkyBmIiIiIiIyIwpEBMREREREZkxBWIiIiIiIiIzpkBMRERERERkxhSIiYiIiIiIzFi96AaI\niEh2jDHvA35x6OEucBvwOeA8a+23U677X4Dvt9beJ/77c8AZ/b9TrvN1wOsSPPVz1trHp91OgnZ8\njoH3En+Oz7HW1vLa5tD2nw38OfAKa+3/2eJ5fwM8GbirtfZQwnW/GXg1cE9r7YEs2isiItNTICYi\nsvM44KXAHfHfy8APAs8DftYY8yRr7RdSrPfN8boGtzOtvwWuGvj7THzQ8DHgowOP35rBtrYy/F7+\nGPjHnLc56GPxNn8WGBmIGWP2AGcDn0oahMUc2ewrERHJkAIxEZGd6RPW2usHHzDGvAO4FPiIMeY+\n1tq1SVZorf1slg2M13k5cHn/b2PMY4DXAP9urf1g1tuboF1fA742w+0dM8Z8Evg5Y8y9rLU3jHja\nU4EW8JezapeIiORHY8RERHYJa+1NwG8BpwO/XHBzZLO/BCr4rNgozwKOAH83sxaJiEhulBETEdld\n/gb4E+BJwB/2HzTG/CrwXHzXwAZwLfA+a+3vDTznc4wZE2aMeQG+a91PWWsvGlr2VaBirX3YtI2P\nx6m1gUvw3S9Xgf9irb3CGPMM4NeBBwKLwE3AXwO/Y63tDqzjJ4E3Aj8G3Az87ojt/Bl+jFh14O+H\nAc8GLgAeAhwFPowf19UZeO19gbcCPwEEwAfxWb93Az8wnKkc8Gngdnwg9vtD7TkJeALw/qH3chrw\nFvy4sdOAa4A/BS6w1kZjPsORY8aGH4///nXgLODtwMOBg8DvW2vfZox5Rbz8ZODLwAsHM3nGmHvh\nP9snAnuBbwO/Z6398Jj3LyKyqygjJiKyi8QBw9XAj/cfiy+4/wgfLLwMeBWwDpwXB2h9W40z+mug\nB/zc4IPGmB8AHgp8IIPm950Vb+d/AX8GfNsY83x8UHQIeAU+83ct8HJ80NVvz08Cn8IHBq+JX/N2\nfGA1aHhclcNnEj+NDyheDHwJeBHwhoH13wsflDwc+D18QPY0fECy5Tgta20AfAR4mDHmHkOLn44P\nkI93SzTGnIrvPvmLwIfw+84C5wN/scWmxo0ZG/WeW8A/Af8Rr/9m4P8YYy4EnoMfz/YOfJD4JwNt\nuwfwdXww+vv4fXUQ+JAx5iVbtE1EZNdQRkxEZPc5BPSrA9aB3wA+aK19Xv8Jxpj34istPgmf6dqS\ntfaQMeYi4KnGmHocVAD8dyDEBxhZWQJ+wVp7yUB7fxP4srX2nIHH/ggfjD0JeGX88HnAAeDh1trV\n+Hn/CPwLsLLNdk8GXmSt/aP47/caY64AfmFg/a8H9gEPsNZeFa///fgAKYkPAL+GD7zePvD4M4Eb\nrbWfH3js1cC9gZ+x1l4YP/YuY8wfA79ijPkza+0/JdzuOAvAn1prXwNgjLkYuAyfHbyPtfbO+PEf\nBJ5ujKnGmbjz8Td7H2ytvT1e1zuNMX8FnGuMeb+19uCUbRMRmWvKiImI7D4N4sxHHDCdDrxw6Dn7\n8eOR9kyw3g/ig5UnDjz2TODz1tpbUrd2s/XBICz2o8BPDz12V3zQuQfAGLMfeDA+6FztPykObv49\n4bb/eujvy+Lt9D0VuLAfhMXrv5mEBTastRcD32NgnJgx5vuAx+E/30FPBr41EIT1vQk/1uypSba5\nDQd8fODvK+P/frEfhMWuAWrA6caYKvAU4POAM8ac1v8fvjrkIvBfMmibiMhcU0ZMRGT3OY2N2Z8e\n8GRjzFMAA/wwcAr+InySG3afxI/ZegbwKWPMmfhxWM/b8lWTu2P4AWttaIx5qDHmWcCPAD+EDzDB\nZ8UAvj/+7/dGrPM7+C6UW7LWDmfNOsSfUdxV8FQ2luMfXH9SHwRebYy5axzAPgMf5Ax37/wBNgZJ\n/TbeZIw5xon3O63BqQP6mc7bhp4Txv+tAnfBB79PZ3ThEQeckVGn890mAAAgAElEQVTbRETmljJi\nIiK7iDFmL75b4mUDD38Cn+n5Afz4pt/EBzI3TrJua+06PjB4atzl8Zn4QOWjW75wcuHwA3Fp/s/g\nC3V8E3gtPgj84sDT+uOfFkesM4vzYSP+b2fEsvYE6/kAvj1Pj/9+Jj7zdfnQ8ypbrKOKn8h7EuMm\nrw5GPLbVeLf+ej4M/OSI/z2BzZlFEZFdRxkxEZHd5Rn4C/iPAxhjHg38DPAGa+1g0YkaPnN29YTr\n/yB+zNRj8d3TLrLWHp6+2eMZY87AV+/7c2vtc4eWDXYbvBYfQPzwiNVsqgSZwm3AMeC+I5aNemwk\na601xlwK/DdjzEfwxUl+e8RTr8Nn/zaIC2UsAeOqM/YD2YWhx+86/MSUbsUHnnVr7T8Pte0MfLA8\n0Rx2IiI7kTJiIiK7hDHmbvgKgjdwYrzRafF//2Po6S/AX8xPesPuH/El2J+Pr8w4i0mZT43/u+E9\nGGN+Ch901QGstXcAXwD+RzxerP+8R+DHjk3FWuvw3TPPNsYc7xZojDkFX7RkEh/AB2A/jw8ePzTi\nOX8HPCB+n4NeFb/m78es+xZ8MP7AgTbuwxc1mZq1tgdcBDzFGHP/ocVvx48TO3XTC0VEdplCMmLG\nmNPxJX2fgO8i8jXgt6y1V8TLv87GUsIOeK+19gXx8v3AO+PXd4H3Aa8enDPFGPMy4CX4AedfBn7N\nWvvdnN+aiEhZnGOM6VerW8RnTp6DL0f+XwfmvfoKvijHH8Sl5g/hC0M8E1/Cfu8kG43Han0En6E6\nxmwmH/42PvvzamPMIr5L5cPwZd2H38Nv4YOxrxlj3okfy/RStq+YmNRr8UVDvmaMeTv+HPVCfBET\n2KaE/YAP4c+Tr8MXOzkw4jlvAc4B/iaulHgVvlDKU4APD2ejBnwU+AN8hcUfxHc9fAFwGD++Kwu/\nDTwG+FL8OV+PLx7yJOAPrbVXbvViEZHdYOYZMWNMv0vMD+ErPj0Cf/D/bHzXEOB++LuHd43/dzf8\nmIW+j+IHYT8af6J9LhvncXke/uT1Mvzg63XgImNMAxGR3eFt+Lmk/gI/z9PT8MfeB8eV+QCw1t4G\nnA18Fz+v1lvwhRSeCbwLuP9g9ojNgcSowKJfVOLj1tpJxkYNrnOrgGXDsniC47OBi/Hze70VeBB+\njq/fBvYZYx4UP/cb+ADhavx54pfj/356u+1s0abjj1trv4efO+syfGbqFfgxeP3Js0eNH9vEWnsr\n8M/AScD7xzznDvx8ZX+JP2degD+3/qa19ue3WHd/n1+Dz5C+DP89eVOStrH9/iGuGvlQ4EJ8kPc2\n4F74G6QvTbgdEZEdreJc0ptz2TDGPBC4FDizf0fMGNPET/T4q/i7s98F7m2tvW7E6x+Bn0Tz3tba\n6+PHnoPv7rDfWtszxnwH+IC19k3x8mX8JJQvsNb+Vd7vUURkNzPGPBT4KvAka+1nim7PLBlj9o+o\nrNgvJvJCYNFau6nYiIiI7D5FjBG7Hj/55GC3hH6XwlOABwBro4Kw2FnAdf0gLPY5/ASaD4zv3N4X\nP38JAPF8MZfgM2giIpKv/wnchB8vttt8JJ7k+ThjzBK+IMo3FYSJiEjfzMeIWWsP4rsqDHoJftzC\nZ/Dleg8bYz6I7z5yB/A+a+3vx8+9J/4EP6jfd/5e+L7ubsxz7pXFexARkc2MMe8BfhBfMfE34+IV\nu82fA+81xnwK3yWxBTwbuAfwK0U2TEREyqXwqonxBKLnAhdYay1wf2AZH6w9Ed+v/g3GmNfFL1li\naD4Wa20/+GrFyxl+Dr5ffiuP9yAiIoAfu/ufgT/Gdxffday1fwY8C9/D43z8+LODwOOttf9UYNNE\nRKRkCp1HzBjzS8B7gA9aa/tzpDwb2GOtPRL/fYUx5mTg1fiCHOsMzX0STxxaAVbj5Qw/J/57Nev3\nICIinrX2aUW3oQystX+NJiwWEZFtFBaIGWNeg6/Q9HZr7fEKSnEJ+iNDT/8WsDee5+QGfLWnQXeP\n/3tjvLyCr7T4vaHnfHu7dgVB6Or12gTvREREREREdpnKtCsoah6xV+BL5v5va+25Q8suBr42GJzh\nu7ocsNYeMcZ8CTjPGHMPa21/HNjj8cHbZdbawBhzFX582Zfjde7Bz0v2ru3adujQ2pTvTtLav38v\nKytHi27Grqf9UB7aF+WhfVE87YNy0H4oD+2LYu3fP9E0myPNPBAzxvwYfp6aP8UPaB6cPPIofo6w\nNxhjLsUHUo8DXo6fGwZr7cXGmK8CHzbGvAg/z9j5+DFmQbyetwFvNcZcDVyBH4N2E/CxvN+fiIiI\niIjIdorIiD0TXyTkl+P/Dfoda+25xpgefmLRM/Dl7l9qrX3fwPPOwWe3voAP3t7TnzMMwFr77nhc\n2QX4svZfBM4eCNREREREREQKM/MJnctuZeWoPpCCKMVeDtoP5aF9UR7aF8XTPigH7Yfy0L4o1v79\ne6ceI1Z4+XoREREREZHdRoGYiIiIiIjIjCkQExERERERmTEFYiIiIiIiIjOmQExERERERGTGFIiJ\niIiIiIjMmAIxERERERGRGVMgJiIiIiIiMmMKxERERERERGZMgZiIiIiIiMiMKRATERERERGZMQVi\nIiIiIiIiM6ZATEREREREZMYUiImIiIiIiMyYAjEREREREZEZUyAmIiIiIiIyYwrEREREREREZkyB\nmOwq//qd24pugoiIiIiIAjHZXa6+6XDRTRARERERUSAmu0unFxbdBBERERER6uMWGGNePcmKrLXn\nTt8ckXx1ugrERERERKR4YwMx4M1DfzugAoTA7cApQBPoAgcBBWJSem0FYiIiIiJSAmO7Jlprq/3/\nAU8A7gCeBbSstXez1raAn4of/82ZtFZkSuqaKCIiIiJlkHSM2B8Cr7XWfsRae/xK1lp7EfBa4C15\nNE4ka8qIiYiIiEgZJA3EzgCuHbPsFuAumbRGJGfKiImIiIhIGSQNxC4DfsMYUxt80BizAPwv4GtZ\nN0wka8452t2g6GaIiIiIiGxZrGPQq4BPA981xlwIrOCzYD8D7AUek0/zRLLjHHR7UdHNEBERERFJ\nlhGz1n4eeCRwCXAO8ErgycA/A//JWvtvubVQJCNh5OiFCsREREREpHhJM2JYa78BPCPHtojkKooc\nzrmimyEiIiIikjwQAzDGPAJfyv5uwO8CZwLftNbelkPbRDIVRo5GrUoYRdSqSYdHioiIiIhkL1Eg\nZoxpAh8Ano6fwLkB/D/g5cD9jDGPttZenVsrRTIQOUerWSMIHLVm0a0RERERkd0saVrgzcATgacC\nJwOV+PHnA4fRPGIyB8LIsdCsa5yYiIiIiBQuaSD2C8CrrLV/B/T6D1prrwXeADw285aJZCyKHAuN\nGr1AgZiIiIiIFCtpIHYq8N0xy24H9mXTHJH8hGFEq1mjF2hSZxEREREpVtJiHVcAzwI+M2LZ2cC3\nJ9moMeZ04K34wh+L+Amhf8tae0W8/InA+YABrgReaa29aOD1+4F3xq/vAu8DXm2tjQae8zLgJcB+\n4MvAr1lrxwWTsguEzmfEusqIiYiIiEjBkmbE3gL8kjHm48AvAQ54lDHmbcCLgN9LukFjTAX4OPBD\n+LnIHoEfZ/ZZY8wpxpj7AZ8APgw8EPgk8HFjzJkDq/kocDrwaOAXgefiu0j2t/E84HXAy4CHAuvA\nRcaYRtJ2ys4TRS7OiCkQExEREZFiJZ3Q+WPA/wAejK+WWAH+L37s2K9baz8ywTZ/HHgY8Fxr7aXW\n2u8Azwb2AD8NvBi42Fp7nrX2Smvta4Gv4LNb/RL6jwSeY629PM6UvRx40UCg9XLgAmvtx+Is28/j\nA7enT9BO2WF8sQ4FYiIiIiJSvMSTKVlrP2itPQM/d9hZwI8Cd7PW/r8Jt3k98DPW2isHHutfGZ+C\nz3J9bug1n4sfJ972ddba64eW7wMeGHdbvC/w+YG2rwKXDKxDdqHjxTpUNVFERERECjbRhM4A1lo7\nzQattQeBC4cefgnQwo9BezNw09DyA8C94n/fc8xy4ucE+K6TW61DdqFQXRNFREREpCTGBmLGmB4+\noEnEWptqilxjzFOAc/FdCa0xZgloDz2tgw/UADYtt9YGxhgXP2cpfnirdWwpihzVamX7J+ag0w05\nutbl+05eLGT7O5kfI1YnUCAmIjtEkecrKSd9J0Tmx1YZsbdwIhBrAb8JXAX8DXAzcBrwFHwXxTen\n2bgx5peA9wAftNb+dvzwOrAw9NQFYHXccmNMHT9ubTVezvBzhtYx1imnLPG5b9zIg3/kLpy6L1Hc\nlqkbbj3KrUc6nPnDp89822Wwf//e3NZ929Eu33dqj9ZCPdft7AT6fMpD+6I8yrgv/uofLc96gim6\nGTNTxn1QJoePdfjSZQf46UfdO9ftaD+Uh/bFfBsbiFlrX9//tzHmvcA/AE+31g5myc41xvwl8J8m\n3bAx5jXAm4C3W2tfOrDoBuBuQ0+/Oye6Gt6AL5k/vBzgxnh5JV7H94aes22Z/UOH1jh8pM3KylHC\nTm+7p2fu4MFVjsTb323279+b6/s+eHCVXidgba27Kz/fpPLeD5Kc9kV5lHVf3HForZTtykNZ90GZ\n3Hmswx0HV3P9nLQfykP7olhZBMFJi3X8HPDuoSCs7y+AJ02yUWPMK4A3Av97KAgD+BLwmKHHHgd8\nYWD5fYwx9xhY/njgCHCZtXYFn7k7vg5jzB7gIQwU8NhKpQKRS9wrM1POucK2vdOFTlUTRWRn0fFM\nBjmH5soUmSNJi3Ucw8/79ekRy34cOJh0g8aYH8N3e/xT4L3GmLsMLD4KvAO4xBjzeuBD+BL5DwV+\nFcBae7Ex5qvAh40xLwLuip/8+QJrbRCv523AW40xV+Mnoz4Xn1H7WJI2VisVioqFFILlJ1L5ehHZ\nYQJVgZUBzjm6QVh0M0QkoaSB2Ifw3RA7+AmWV4C7AM8AXs8EEzoDz8Rn4n45/t+g37HWnmuMOSde\n5yuA7+DL3Q9WazwHeBc+S3YUeI+19k39hdbadxtjTgYuwJe1/yJw9kCgtqVKxR/MiuBccdm4nS6M\nHEsLdZ2kRGTH0I0lGdbt6TshMi+SBmKvAs7AF9Z498DjlfixNybdoLX2NcBrtnnOhWwucT+4/Da2\nmZzZWns+PlM2sUqRGTHnlBbLSRQ5GvUqUaQPWER2BgViMihyjp5uNorMjUSBmLW2A/ysMeb++EmR\nTwFuB/7ZWnt1ju0rRLFjxBSH5UUlfUVkp1HXRBmkMWIi82WiCZ2ttVfgx1xtYIzZY609llmrClbk\nGDEorlvkThdGjpoCMRHZQZQRk0EO6KlrosjcSBSIGWOawIvxlQib+C6J4Md6LQM/Fv93R/BdE4sJ\nhiLnCg0Cd7JIgZiI7DDKiMkgX6xD3wmReZE0I3Y+8BLgW8Dp+EmTV/CTOTfxBTt2jAoUOEZMXRPz\nEqproojsMMqIyQYOjRETmSNJ5xH7WXx5+B8nLi9vrX0Y8MPAtROsZy5UKpXixojh1DUxJ2EUUavu\nqK+qiOxyvTDSOUOOi5QRE5krSa9K78KJKobfws/rhbX2JuA84FnZN6041UrBGTGdU3OhYh0istOE\nodOUJ7KByteLzI+kgdid+C6IAN8F7mWM2Rv/fSW+tP2OUakWlxHDqVhHXlSsQ0R2mjByRLrulljk\nfO8PEZkPSQOxLwEvMsYsAlcBq8DT4mUPAw7n0LbCFJkRU7GO/ESRo1pRICYiO0cYRcqIyQn6LojM\nlaSB2BuBs4B/sNYGwB8B7zHGfA04F/jbnNpXiCKrJoKKdeQldMqIicjOEkVOk9TLcc6hG44icyTp\nhM7/Zow5E18lEeBVwBHgUcCbgd/Np3nFqBQ6RkzFOvKiMWIistMEkc4ZcoLDX8OIyHxIOo/YO4A/\nt9Z+GsBa6/CZsB2p0KqJKtaRG40RE5GdJoocSohJn3PueK+eiiIykdJL2jXxecApeTakTKoUVzDD\nOYdT58RcRJHTnUIR2XHUNVH6nINmvaqJvkXmRNJA7KvAo/NsSJn4u0nFbNsd/z/Jg+4QishOUmQP\nDikfh6PZqGkuMZE5kahrIvAN4LeNMT8L/BtwbGi5s9a+MNOWFahSKe4Oo3PopCoiIolUCzxfSfk4\nBwuNGt1exHKr6NaIyHaSBmJPBw4Ai8AjRizfUWeBSqVCVNBbUrfE2VD/eRHZCapFznsppeMcNBtV\nekFYdFNEJIGkVRPvnXdDyqRaYPl6nxErZNO7Rr1WJYwc9ZoCMRGZX5HzcyPqnCF9zsVdE3vqmigy\nDxKNETPG/KkxZmQwZrxPZNusYhVbvh6VTcxZo16lp/7zIjLnosjRqFdxisQk5oi7JuocJzIXxmbE\njDFnDPz5S8DHjTGjct0/BTwx43YVqsgJnf08YoVsetdo1Kt0g4jFhaJbIiKSXhg5GrWquibKcc45\nFho1dU0UmRNbdU18Jz7IAn+T5WNjnlcBPpNlo4pWqRTXPdCxwwbclUh/TFijpv7zIjL/wtBnxFSs\nQ/p8sY6qMmIic2KrQOyFwOPwgdZfAK8Hrh56TgjcCXw+j8YVpdgxYq6wbe8W6pooIjtB5OJATKcM\niWmMmMh8GRuIWWsPAB8AMMbUgL+31t4xq4YVqcgxYjgNEcubAjER2QnCMKJeU0ZMNlLXRJH5kbRq\n4p/n3ZAyKXKMWORUwj4v/X3aqNfohQrERGS+hVE/I6ZzhnhRXL5eXRNF5kOiqom7TaEZMVSsI2+N\nepVAJykRmXN+Gg4FYnLCiWIdOseJzAMFYiNUKsVNkOnUNTF36pooIjtBeLx8fdEtkbJw4MeIqWui\nyFxQIDZCtch5xFDXxLz5qom6chGR+aaMmAzrZ8RUrENkPqQOxIwxNWPMviwbUxaaR2xna9SrGiMm\nInMvDCOVr5eNHFSrxV3DiMhkEgVixpi6MeZ3jDE/H//9WOBW4JAx5tPGmJNzbOPMFTlGzGkisdyp\na6KI7AQnytfrpCFe5Pw1jIjMh6QZsTcArwX6Adc7gIPAy4AfAX43+6YVp9gxYk4n1Zw16qooJSLz\nLwydytfLEEcFRWIi8yJpIPbfgVdZa//IGHMmcH/gzdbatwOvBp6WVwOLUKXgjJjkShkxEdkJVL5e\nhikjJjJfkgZidwe+Fv/7p4EI+FT8943ASRm3q1CFjhFDGbG8+WIdqiglIvMtjByNWpVI95WkT4GY\nyFxJGogdAH4g/vdTgG9aa2+P/34kPhjbMSqV4oZpaYxY/hr1KkGoD1lE5lsYRcqIyQbOqWuiyDxJ\nGoh9EPh9Y8xFwFnAnwIYY/4AeD3w/lxaVxDNI7azFZnxFBHJStTvmqgxYhJzKCMmMk/qCZ/3O8Aq\n8BPAK62174offzBwPvDmHNpWmELnEXOOSCkxERHZRhjGXRN1Y0lizjkqisRE5kaiQMxa6/CVEX93\n6PGfmLYBxpg/BqrW2hcMPPZ14CEDT3PAe/vPMcbsB94JPAHoAu8DXm2tjQbW8TLgJcB+4MvAr1lr\nv5ukTcWOEUNdE0VEZFth5KjXq4QaJCYx51DHRJE5kjQjhjGmCjwTH/zcDXgx8HDgUmvtt9Ns3Bjz\nRuAFwJ8MLbofvlLjvww8tjbw748CIfBo4J7AnwM9fOYOY8zzgNcBzwWuBM4FLjLGnGmt7W3XrmLn\nEXPqNiciItsKI8dCo0agKrASU9dEkfmSKBAzxpwEXAQ8FLgO+H5gL/ALwDuNMY+x1n4z6UaNMfcG\n3osvg3/d0LL7AIvAV621t4147SPwBULuba29HrjcGPNy4O3GmDfGgdbLgQustR+LX/PzwM3A04G/\n2q59hY4RQwkxERHZni/W0WC1rbOGeOqaKDJfkhbreCtwBvAg4L6cyHw/A7iCyceIPRK4HvhR4Nqh\nZQ8A1q211w2/KHYWcF0chPV9DtgHPDDutnhf4PP9hdbaVeASfAZtW8WOEStmu7uBTk4ispOEkaNe\nq6hYhxznVL5eZK4k7Zp4DvC/rLX/boyp9R+01h41xpyHz24lZq39APABAGPM8OIHAIeNMR8EHgPc\nAbzPWvv78fJ7AjcNveZA/N97AQE+qTTqOfdK0r5Cq+rpbpaIiCTgJ3SuqViHHKeMmMh8SZoRWwI2\ndROMtYFWNs0BfHfFZeBC4InAHwJvMMa8bqAt7cEXWGv7wVcrXs7wc4BO0nYWOUYs0kDb3GjsnYjs\nJFE/I6ZDm8QcJ64hdM4TKb+kgdglwP8cs+xZwDeyaQ4AzwbOsNa+31p7hbX2Pfiujy+Ll68DC4Mv\nMMbU8cee1Xg5w8+J/15N0oCi55ma15tZl9qVopswF/796tvpaXD93Lv5jlUO3J7okCKSizDUPGKy\nkc+IQaNeJQj1vZhX37hS11O7xSTziP2jMeZS4B/wN11+zhjzv4EnA0/KqkFxCfojQw9/C9hrjNkH\n3ACcPbT87vF/b4yXV/CVHb839JxtqzuecsoSkYPFpSb79+9N8Q6ms7TcZGmtV8i2p3XNF77Hk866\nz1TryPN9Ly8vHF//4L9n7Y7LbmZxzwKn7M0ykZytefz+zdqBQ206QZj7Z6V9UR5l2xeLS03ucvo+\nrl1ZLV3b8rJb3mdae/ce4rTT9nDKycfYd/ISexYbuWxH+yFf1335Wv7ro5JdT2lfzLek84h9wRjz\nBPw8Yq/GBzovB74JPNla+9msGmSMuRj4mrX2pQMP/2fggLX2iDHmS8B5xph7WGv748Aejw/eLrPW\nBsaYq/Djy74cr3MPfl6yd7GNQ4fWCMKIY8c6rKwczeptJXbsaId2u1fItqd128G1qdq9f//eXN/3\n6uqJfTr471k7dqzNjQcOE5y67UwKhch7P+wUh+5c4+h6l5WV5dy2oX1RHmXcF4ePrHP08BpHj7RL\n17Y8lHEflM3hw20OHVyl2+5x4ObDnLJ3uHPQ9LQf8hU5x8FDya6ntC+KlUUQnLR8/VnAxdbaRxlj\nFoFTgCPW2mNTt2Czj+LHhF2KD6Qehw/6Xgxgrb3YGPNV4MPGmBcBdwXOx5erD+J1vA14qzHmanxV\nx3PxxTs+lqQB1SIndJ7j2RiPrXWLbsJYZeor7xysd4Ltnyil5pyj3Q2LbobsYr5YR1VjxOQ4h7+G\naNSr9AIdn+ZRGEZ0NHxh10jaNfHv8IHQ+62165wYh5WFDacQa+1bjTE94DX4kvnXAy+11r5v4Gnn\n4LNbXwCOAu+x1r5pYB3vNsacDFyAL2v/ReDsgUBtS4VO6IwPBOfR0fVyZnjA789qtRyfa+ScArEd\nIHLQ7uhCR4oTRY5araqqiXKcc/4aotmo0dXF/FzqBY5eT+eW3SJpIHYEH/Bkzlr7+BGP/QHwB1u8\n5jb85Mxbrfd8fKZsYpVKpbBJlef5fHp0rbyBWBg5aiUJxJQR2xmcc3R0spSCVSuaR0xO6Pf+8Bkx\nBWLzKAgjBdG7SNJA7M3A240xPwxcBmzqkmit/UqWDdutHG5uM2LtbkAviGjUkxbjnJ0ocqXJiDkc\n68qkzD3n/HdepEjVKsqIyXEOfzO5Wa/S1Y2iueQDMe273SJpIPbu+L/9DNPgUb8S/11DpuYGJwGZ\nM816jfVOQKPeLLopm4SRozYQ4FYqFSJXTNCrjNjOoDFiUgbKiMkg3zXRn491o2g+9cKIbk8Zsd0i\naSD2uFxbUUJFFuuYx4RY5BxLC3XWuwH7lssXiEVuY0as321joTH7+weVCqzrBDn3IgcdBWJSsMo8\nnjAkP85BpUKzUeXImi7m51EQOkLdXNk1kpav/3zeDRHPF02cvxNrGDr2LjVKm+kZHiPWqBUXiOkO\n9s7gnNMYDBEplcjHYTTqVXVvm1NBEFEvyVAKyV/SjBjGmIfg5+ZqcqLzXBVYBh5trT0r++btPr5/\nd9GtmFwQRuxdarLeLmcgNjxGrNHQQGaZTjSn2WsR2dkq+K6JPXVvm0tBGFGrlW+sveQj6Txivwq8\nk9GjlyLg01k2ajfzXRPn7+oujBx7lhqsl7SrVhhFGwOxWpVeqJOUpOd7AM3fb1VEdq4ovoZoNKqq\nvDengjCiUdO5ZbdIGnK/GLgQOA34P8B78JmwZ+DnFPvLXFq3C/UH2s4bnxErb9fEaLhrokr7ypTm\ndTyniOxgcdfEpromzq1eGFGvVwurVSCzlTQQuw/wR9baQ8Al+K6I69bavwXOA16SVwN3m3n94QVB\nxN7FZmkDsXC4a2K9SqBATKZQpknCRUQgvkFERV0T51gQOBYX6gTqtbMrJA3EusBa/O/vAj9sjGnE\nf38JuG/WDZP5EkSOPYtlz4id+LorIybTiuILHhGRsuiPM69WK5pfbk4FYcRyq66upbtE0kDsMuCn\n43/b+HUPj/++R9aNkvkThBGtZq20JVdHV01Utw1Jr9+NeF6z2CKy88TV62WO9cKIpYWG5hLbJZIG\nYn8A/JYx5v9Za1eBTwB/YYw5Hz9m7It5NVDmQxg6aiUeXLq5a2JNxTpkKs45Fpo1nSxFpDTcQKZe\nxYTmUxBELLbqGuO3SyQKxOKxYE8DroofekH879/AZ8h+I5fWydwIwoh6icutjirWUeQFdEVzic09\nBywu1Glrcm4RKYl5nQJHTgjCiKWFum7y7RKJ5xGz1n4S+GT87zuAJ+bVKJk/QVjuCQhHFesoMiPW\natZod0OWWol/glIyUeRYWqjT7oWcVHRjRETYWM1V3abnUy907F1qKCO2S0wyoXMFMMDJjMikWWu/\nkmG7ZM4EkaNR9oxYZXiMWHGB2OJCnfVOoEBsjjnnaC3UaXd0shSRctD8hvOvX6xDVS93h6QTOj8Y\nPy7s7iMWV/DZ8FqG7ZI5E4YRi83yBhWh2xgoNhrlCMRkfkUOlls1dU0UkdLQ/IbzLwh8sY61Tq/o\npsgMJL1yfgcQAr8CXAMoTJcNgtBRL3Gxjihy1BplyojVWNcF/FxzzndN7PSUERORcnCgaTXmXBQX\ngrrzWKfopsgMJA3EHgT8D2vtR/NsjMyvIIyolbhrYtnGiEdNG90AACAASURBVC0u1Fldn/3drv6Y\ngXnruuLv8parzc75/Xjo6M45WZbxcxaR5FS+PltFHROb9arGiM1AGc55Sa+cV/CTOouMFA5kxMo4\nieRw1cRatUJYZCDWrLNewNiia285yuXXHJz5dqf19xdfV3QTNnHOxVUTd87J8p8uvZG1tjK1IvOq\nDBeWO8XBI22+cvkthWy72ahpQucZ+Jdv3sRqu9guoEkDsXcBrzLG7M2zMTK/gjCiUavSatbplPDC\nNBrKiBV9oipqjFi3F87lhfbRtfLdB4ocvmpiCb/vabW7oca8iewQRZ/n5l0QucLGcjfqVRXrmIFO\nLyz8mnVs10RjzGcG/qwADwNuMsZ8C1gderqz1v7XHNonc6LfNXFxocZ6J2BxoVyFO8KhjFjR+p/T\nrEWRm7sxTc65wg+UozgcrebOmkcsCKIdFViKiKTlIlfYEIaFhromzkJU4D7u2+pquYkf99n3xYF/\nN/JpjsyrfrGOslYDHM6IFalSqbDQqBUSEIWRo13C/bOVyBV/oBzFOajXdtbE3EEUzV2gLiKSh8i5\nwop61QsuKLZbhFFx+7hvbCBmrX3sDNshcy6IIurVqg/ESnhHPRyaR6xoRXUZCSNHe84utKMSHChH\niaKdNxYjDJ0yYiI7hHNOY8amEDkKOfdUKhXtsxkpw/XFRGXujDHLA/8+xxjzImPMvbNvlsybIHTU\nypwRc+XJiKVx8Eg7k/VE0fxdaJfhjtUoO3G+niCMStkNVEQmV69VCcKdk7GfNVdgRkxmowzXF4kC\nMeNdBbwy/vtNwN8C/xe43BjzyPyaKPMgDCNq1fIGYmUbIzapf7rkxkzWE0blHG+1lTLcsRrFOaju\nsEgsCB3tXvl+vyIyuWa9Sk/jjFIr6tzjSlh5eqcqw/VF0ozYeUAAfMIY0wR+HfgwcDLwaeAt+TRP\n5kmlUmGxWUwRiu2UaYxYGscyKq8aOTd3xSXKcMdqlGgHZsRg/gJ1ERlNJdCn4xwqmLHDhZErfB8n\nDcQeA7zaWnsJ8FjgJODd1tojwB8DD8mneTJvfEasfAeuec+IZVVyPgwd83azrQx3rMbZaf34Fxo7\nqxy/yG7WqFcViE2hyGIdMhtluL5IGog1gP4ssGfjy9d/Kf67hs+WibDQrJUy4+IndJ5oSGSprK73\nMumuEM5hZjAsQXnZ3WKhWVVGbE6o+5Jsp9mo0Zuz4kxlokBs5wtLsI+TXpleDvw3Y8xdgWcAn7HW\nBsaYBvAbwLfyaqDMl7KOmQmjqDQBSJoLqPVOQJTBhdc8Fi3xd6x0MTEL1Uolk+9Zng7cPjyN5e4U\nRo5abX5vLkn+lBGbjiuoauJut3LnOt0Z3UBwc5QRey3wfOAm4FT8mDGAK4HHAa/PvGUl9m9X3V50\nE2RCc981sRNk0qUwjBz1OfscQpVf3pG+edVKqpsSX7n8ltIHi7Mw78c0yZ8v1qFAIq0ydFvbja64\n5iB3rnZnsq1aCeZrSxSIWWv/EXgA8PPAmfFYMYALgIdYa/85p/aV0neuP1R0E2RCfs6nolux0SQT\nNq53gkwmDg7D8mQGkwrD8l9w7pRuYrMMeK++6Qjd3uQnwF4QEaok91z8LqRYzXqt8EIE86w/D5vM\nVqcXzuxzb9arhQ99GDuh8zBr7TXANUOP/WHmLZoDGsw+n8qWVemX+m/Um1s+zzk/RiqTrolzOEas\n7G1uxHedm41a0U2ZK1HkWOsELDQn+9x6QUgYRTQmmwZzx5nHbsYyW416lSNryuikFbnyXTfsBt1e\nmMmN5yQmuSGel919JkupjMUoZP4sJZxzrduLWGzWiTI4VoRu/u6ih5GjWqmU9s5kq1mnvUMGxM/y\nM047lUIviAhndJIuszCM5q6bscxWs1FVRmwKTjc7CtHpRczqEF+pFN+jRYHYGOPugkTOpepOIzKs\ntVBjPcGF6FonYKlVzywjttCoEcxRFcLIOZqNamkvvlvNmrLkKYRxRmxSvVCBGKhYh2yvWa/R0/VK\najtzrsjy6/ZC3C46xifumpgXY8wfA1Vr7QsGHnsicD5g8AVBXmmtvWhg+X7gncATgC7wPvw8Z9HA\nc14GvATYD3wZ+DVr7XenbW+vp4sAycbSQp31BPODrXcClluNzMrXLy34uaL2LM7HRVwYOVqNGr0g\nol7CC89Ws0a7hJOYl13kHO0Ucw5qjJjXzxQXpexdhgUaDVVNnEYUzb4SdDRUnMrtwmJVnV64qwoy\njb2qMcb8oTHmPvG/z4hL1WfKGPNG4AVDj90P+ATwYeCBwCeBjxtjzhx42keB04FHA78IPBd4w8A6\nnge8DngZ8FBgHbgoi/fQCXbXF0Ty02rWWU+QSfGBWD2TVH0UORYX6nPVvTaKHAvNeuH9uMdpNet0\ndkjXxFmKIpeoa+4w3zWxnN+FWYoiR61W3AXaZ/71Bi6/5o7c1v/pr1+f27p3C1VNnE4RQdBgEZ5a\nrbw9QfLUDaJMqkTPi61uLz8fuEf872vwQVEmjDH3Nsb8M/BC4LqhxS8GLrbWnmetvdJa+1rgK/js\nFsaYRwCPBJ5jrb08zpS9HHjRQKD1cuACa+3HrLVX4Ks9ng48fdq2z3IQ4byq1apz1fWtKIutZGPE\n1jsBy4uNzL53rYX6XE3aG8bdKct6QbGgrompOJeya6LGiAEQFFy+vtML+ffv3pFbUHxkbTblq3cy\nVU2cTuQcs/6JRQO/62a9uiuHwnS6uyvhsVXXxJuB84wxnwEqwK8YY84e81xnrX3TBNt9JHA98Cx8\n5mvQo0c89jngmfG/zwKus9ZeP7R8H/BAY8y1wH2Bz/cXWmtXjTGXxOv+qwnauUkviBSIbWOxWWO9\nE7B3aetqgLvdYrOW6EJ0LcOuiTB/Y5qiyNFaqBVeYnacVrPGoaOdopsxd5qNdF06u+qaCPhiHUUG\nYs45zvqxu/Glf7+ZxzzwHtu/YELax9OrViu7KrOQNef8jeVZdsMd7JrYbPhAeqn4UUQz1Z2g51m3\nF859xeKt9u4rgLcDrwEcvvvfOA5IHIhZaz8AfADAGDO8+J74iaMHHQDutc1y4ucEcXu2Wkdq3V42\nZcR3sn5ZdgViW1tcqCe6ED3RNTGb791Co5ZJlb+rDxzmB+9+UgYt2trgGLEy2mljxKrVCmEUUavm\nOx5vMWHX3GG6GeaVoXz9GXfZy79+5zbW2r6gUJYUiEnRfHEr371z0mk2Um/TDWXESnrey1M3iHAJ\n3/Y/XHwd5/zEffJtUM7GHjmttX8N/DWAMSYCHmWt/foM2rQEtIce6wCtccuttYExxsXPWYof3mod\nqXV6ITo9bM0HYvORcSlyIGw9Yf/v9U7ouyZm9MVrNWscvbM39XoutStTB2JJ7jT6MWLZBmJZ3uHc\nSeXrAVqNGp1uyFIr30AsbdngaoXUXRN3UoEJP5ak+OI1P/mf7slnL72BJz/q3pmuN8ihy6OfoJcd\n8x1IYtqeFEX9ZvLabhAmL/rk8Dcue2HEArMJxMKB991s1OjuoHNLUhVIfON5JwyDSXoUfxzw7Twb\nMmAdWBh6bAFYHbfcGFPH77vVeDnDzxlaR2q9IKJZL+bkd/ud69s/aUbWOwE3rhwbuWwx4fxYebn9\n8Hqi7fu5qWbQoNi4z2s7nV7I4kItdTnXa285suFg1WrW6PSm3z9ZjDP7+69cO/LxI6tdbju0Bgxm\nxLI7IV34tetSH8APHmlv+jzL2tXzyGqXz156I4ePJe86mceYt7Tf/VFqtUrqi/R/+eZNiccepT3e\nrszoOB2mKNaRxznkpD0LNBu1setOu81pLrDG7YNrbznKpVeupF5vX1Hn4ll9twZ98svXpHrdpXa6\nz3ncuWFa533gG1xxzcFEz40il1sw9M2rVkaOr3TRiXFpjZyLrax3Aq649sRnsdX3+shqN5ex5Vff\ndHjTY5UJ5g0NUmTOR22zSIn6ElhrP2+M+RFjzBuAxwInAbcDXwTeHBfEyMoNwN2GHrs7J7oa3gAM\nj1W7e/zfG+PllXgd3xt6zrbB5CmnLFGv11hearJ//95Ny1u3HmPv8sLIZVlYXvbx46j1//1Xr+e5\nT75/Ltud1A23HuW2I10edD/fzuWBz+RwJ+T2O9dTfUZZfK7/ceNhWksb99HyiH22d2+LU0/bQ2NG\ngfVFl9zIg+53tw1tWVra/ru0tNTk5JOWOOnkpVSfz+e/dQv3+6HTWV5ssLS0wN3vdhLXrqxtua7t\nthNFjkqtOv3+GrOOWw7fzrFOxP3372XPgSNU6lWWlluZ/e7qzTqnnLJMa2Hy7lRfv/J2Hv6Au27Y\ndwsLjdyOCdOs1x64idZik8OdkB+69/b7dM/yAvtP28PSnuw+a4BPff0GHnS/jYf15eUFnJv8/bUW\nGuzdu5iqfbVGjX37lth/yuK2z73okht59tlnbngsyTb/7qvX88szOE7ffLhNhQr79+8deXwb5cJ/\nvYHn/NT9Mtn+4DYf8eP34LZD65w5og1pt1mv10e+pyTv85MXX8fznvKATY8fONQmONye+rv9qa/f\nwC/+dDaf4yQ+8ZXreP5TN7+vQcPfhT1TXq8EY36j263zhq9cy5P2p+8yVq3XOPW0PZmOgwzCiEf+\n2N05cGidxz50+89kz97DnLLeY+9Ji+z/vj2ZtQNg5dKbWFxucdKejTmDarPOvn3H2L9/L6cfalOr\nVbb9rNPu31sPrnF4PTj++q1+q1fefIDTT1nknhmf5z719Rt4+APvueGx1kKdvfuSHeMbzdrE7//C\nfz2xzbTnoSwlugoxxvwofi6uNXxp+Vvxgc6TgScbYx5urb08ozZ9CXgM8JaBxx4HfGFg+XnGmHtY\na/vB2eOBI8BlcTfFq+J1fDlu/x7gIcC7ttv4ofgu/Opal5WVo5uWr9xxDBdFI5dlYXXV37ketf7b\nD63mtt1J3XrbUQ7duXa8PaurneP/bq91uHXlKCsrkx249u/fm8n7u/PwOq1ahT2NEwHWYPv61te7\n3HrbERZmNNDzyNE2KytHN7RlbW1zu4atrnY4tljnjoN10vQWO3q0zW0rR9mz2GBtrcPq0TZ3HBz/\nXUqyHzq9kLUxv5FJHD7SHrmOA7ceIYocKyv+ewZw+x3HWFnZ/gI6iWPHOtxy2xGWW5PPaHHkyDor\nK8c27Lsk+zGNaX8Tt60cY3GhzqFDa9uupxdEdDo9uu0eN996JNV3bZw7j6xv2v5Wx7qtRGHkv797\nJx+DeujOdW5bOQLB9hnh/u+1L+m+uGNGx+mDB9doNqqbjilbufPw6N9bGoPbXF/rsHL7sZHrHv4c\nE69/xG8q6T5YGXN8u2XlKAduPTrVZ+Cc4+Cd2/+e8nDzyvZtH/4uHEv43Rjn4OHNv90k++Hgoc2v\nm8Sx1Q633HI400IMa+2Abieg3Q0Ste3w4TWCbsCttx2lkXH3mWOrba678RB3O215w+N3HG6zFu+z\ntbUO652AlX3DHbxOmOYcccvtqxwe2L9b/VbvvHONahhxcsZjQe8c8f0KgjDROQvSfb8H32fa81Bf\nFgFc0k/0fOA7wOOstce79xljloHP4oOmp07dGu8dwCXGmNcDHwJ+AT8X2K8CWGsvNsZ8FfiwMeZF\nwF3j9l1gre2fXd8GvNUYczVwBXAuPqP2sWkb1+1FNOvFVGhZXS9PQYBuEBKO6TpS9BixKHKJurVU\nK5WZDvqfpqtNtVJJ3TUxityG95nFAOBuRhMujiutvNYOaMaBdBQ5lhYamZZhjpxL1aWh3555KdjT\n7oWcuq+V6LPrj51oNWuZd0HJsntNrVZJXTK9F0SJ93uQss1rCSZpz0IYRVSrJ85FSca75lXKvNWo\njZ2bMAjS/VbS/j4Bjq2NHgPb6YYcXp2uLH4YuUIKBznnOHxs9iX9036f00xNMah/jG5mOINtLwhZ\naFRpJ/wYo4jcpk6JIlgd8dmGA0V4mvUqh4/l913zx8MT69/qt+r3R/ZtGXVMqubcNTHtMSkvSe95\nPho4dzAIA18WHvg94CemaMOGTyTOrJ2Dn/Prm8DPAD9jrbUDTzsHn5X7AvBe4D2D5fOtte/GB4cX\n4OcgqwFnDwRq2zdqzJegF0THLxBnbbU9fYGFrHSDiGBMYLDYLHaMWNKL7Gq1MtML6mmqgFUq6dsa\nuY2BwyT9r8fJqnLduBPcWic4vv4wh2IdLmLsjYTtRI65qdrX6YYsLtRJEreEkaNeq/oxYhmPichq\nLpwobmPaz78bhIkvJsYd37Yz7QVoUmHoqMfFOpIey/Ia+L9VwZq0005MU6zj2JhzZbsXTt3VLQzT\n38SZRrcXpRq7OW0xqrTn8mmvAVyUfcGWbhDRmOBGunP5zWEZOcfq+ubvqR8jtrF8fV46vXDDd3mr\n32oe+wM2nxv6NwTzLNaRx/uYRtKM2BqMLRboIH05GWvt40c8diFw4RavuY1tJme21p6Pz5Rlqsg5\nC2Z1gk+i14vG/gAa9WIndHYu2UV2rTpHGbFq8ipCwyLnMn+f3SDKpIrjuAv0tXaPPYv+8BRFjlbW\nVROnuLsXRvMzhUUQ+htHSQLvXhBRq1VoNWvceijbY01WhVZ6YUSrWUt9U6M7wWTQab8f651wJpXm\nBqur9Y9l2xWDy2ty2GajOjaLmvp3Nk1GbEzvkU43nLorehBFuU1ivZXVdq+QC8i0AdW0meHIucyn\nMOhOeCM9co7FhXpOGTE38uZ65ByVuInNnIt19IJow3dqq99q5FwumaTh3jnduDhZ0q96mu9I2t4O\neUn6jbwYeKUxZkP5d2PMIn6+sa9k3bCy6vRCGglLn2ZtVl1ekvB3lst5Meq7JibIiFVmm9mY5vPy\n3SjTvTaMcgjEemFGGbHxXRP77zfMIxBL+B0Z+do5yohB/N1JEIiFYUS9WmWhkX3XxKzmwukFcSCW\n8vMf7oqzlbQZ014QzWTy8TA6Md9QrZpsKoy85iTaKuuSNhCb5sbVqEwD+PP31IFYQRmxY+s9Ksy2\njHzkXOphBtNmxPLoCtcLwomKczmXb1Zq1A0Df0PFt7FRr+Zavt4PMTnxXd7q8w4TDvmYuA1D76/T\ni2g1k8+b2gujiXv4jDo+T9tLaBpJM2KvAr4OXGOM+SRwC35s1pOBffiui7tGEdNORc6VKhDrBdHx\nC5Uiv8CjJD2A++48M2hQbNxd1Mid6IowTrWavjuhi9Jn08bxGbHp1xmEbmT2oN09MQbNB2L1TC9u\npznJ+zFimTUld9WEmd8gctTjjNisxohNOnm0D8TqqTMD3V7yG0i9lBfbvTDyE8Dm3HMiGgjEku7j\nIuYkSnsDJf2NEn+uHDVmzsXjb6bJWIZh8mA+S6vrJ3oJzEq3F6bO/k3bgyePC/9Jx/hHcdfEowmn\nvJhEq1ljbURGLBwoX++DwNmNEdvqtxo5l0/XxBEZsVazlvh6J4r83ICTXJcPH1tq1UrcNb+Y+QUT\nnf2stf8BPBJfsfCp+MDsafHfD7fWfjO3FgoQHxBLFPB0Bwa9R65ck6RGUbIDRrWSftB/GqMuLFrN\n+pYXvf2DUaWSPpgKcwgcsirWEY4JiAbfbxQ5FhrZdtGI3HSTAs9XRizZe+33zc9ljNiYO8p+PGny\nbU3bNbEXRokzXWkzYkEQzqSYQxBFAxmxSqEZsa2kDajSfv6dbrhl1nTPYoNjYzJmSQRFBWLtgOXF\nDCtXJNDphmPHpGyn3Q2mOke4KI+uieFEXROdy69Yx7gssnMcvzGbe0ast7F40Va/VRfl1DVxU0bM\n/36TnmKHx8AnMfz7bdTz2cdJJb69Yq39FvCMHNsiW8iib3uWBn88g3dmyyByyarizDojNurkvdTy\nhU0Wx8xn1QsiGvXqVBUe8xojtl0WLwkXja6MVa2eqBIZRY5aLdk4p6SSVtYc+doUB/4iJe+a6CcI\nrlXTF8MYJXLjq8z1J3/fk/ACs9cLfbeVlO2rVSrJqyamvAisVCqZTj4+Tv93ARNkxGbQrmFpP4u0\nN0ra3ZA9S43jNxaGnbTc5PBql33Lk09/AAV2TWz3Ev9OBk1z3Gz3QhZSVIn238UKYeio1tOdJ/LI\nwPR6EXsXm9SqlbHfjw1tyOEmYN+4/eLHiMWZ7py7X/WCkMFLt63HiOVT5GL4s+32uyYm/P0fvzE6\nwdd0cyDm9/Hi+FkCclXMYCeZWLsX0mokT9fmbXDQazjQp7kMEmfEZlysY9TBvNWsbdmXfr0TsLRQ\njy+m0203jwxOP0Cc1riT7WCQHOYQ6E9dvn6eMmLVCkkOG0kuTNKItrizvbiw9fd/2PGMWMrPv15L\nXkgobaDeyHmAfd9wsY4kn0kvp2IdW25zxmPE2l0f2I/7fZ+0p8nheO6gtO1Km62bxup6j6WM53Da\nTrvjsxOT6gURSwu1qTKHkZtuXPUo3fi81WrW6STINPW7Js4yWzLLG9udXrSh+NyWXRNzyFD6NozO\niCXumugm7y00XKxjVsfsccpz9Sxb6nRDFlv11BcgWQvDE91iZlEhbBJJqy3NumpiOGL+qaVt5lxb\ni7Nl04wRyyOD0+2FmcynF0Wjqx4NZgDz+H75bi9pqyZu/jzrtWIP5FupJMymBmFEPYffsdtiPF4/\nI5bUtMU6arVK4ru6aS8im/XazIt1JM2YdzLKiCWZs6xv1vOItbshexYbY3/fJy03p5qPa9TvfxZ6\nQTTzQmGdXshCikCsE4QsthpTXa9EUxyjx+kGIc26736dZBxsv1jHLH7PfWG0/ZjxrAwXL9nqfeY1\nj1gQbpwKx1dNTF6sw/f4mWybw+N/m/XqTPfxMAVic6LdDdlTokBsUB4Zi2mUdULnUV0EWwt11sdM\nhAq+FPbi8YzYNGPEii0DPM64g/vg+01SzCTddrPr6rnQrCW6w1qEpHNMBQNd3bIUReMvqhcX6qxP\nUBikX6wj7QVarVpNfFc3CN3ENz+iyNHMqSvTsDB0G8eIbdNWX346u+qVSTPis66a2O6GLLcaYy+s\n9i03OTLFpM5BGOXyO8nLNPOItbvpArFeL4uMWPZdQLu9iEajRqtZSzQnWxEZMeccs7qcGr5227Z8\nfQ7Bis98nljv8TFiCTflUlzfDJ8/8h6Lt535OZrscu1uyFKrUcouUWXMiCWvmji7z9NFmy/stssI\n9MePVSqkLl/votF3jKbp5trrTVYGeJxR+yqMIuq1fPfN8MF/oteO6JrYatZol2iev0FJp2kI8+qa\nuMVYj1lnxOq1SuL9niaT3AsjlnKad2hYOFCsI0k362mmbBjWnSA7U1TXxHEBd9JuaePb5XLJHCcx\n6+70nXhIxKS6gb+BOFUglkPVxF4Q+YxYI1kg1q+yOcshIUVdT23XkyjL48fm9Z7Yz934Zlvyronp\njtNw4hqoMQ8ZMWPMa40xdx+z7PuNMW/PtlkyrNMLWVZGLJGkfZl91cRZZ8Q2Pra0UN+yzO/xMWJT\nBI3hmAzONJO7djIszz28r9Y7IcuL+d90SF+sg03j9Rab9UQn9iIkLUoThPmU790qE5MqEFuYIhCr\nVxNfTIy7gbGVXhCx1JpNIDZ4wZZkjJhzLrPjXS+IaCTMiKfOiGVQrCMPRWbE6rXZXjC2O0G6jFgQ\nsbhQn3pMUfZjxHzVRD9Fx/bHnShyuU5XNKrbeOQoJhDbZuxzFLncqkwP7ud+1dOk1zth5I4X9koq\nDH3w5uLPulGvFTrJc9KjyeuAe4xZ9gjgBdk0R8ZpdwOWWuP7vRcpmmGf5qSS/Iir1ezn19pKNGI+\nL59JSTBGrFKZ+GBzYrub7xi1GjXaCU5E4wyOEZxGvVrdlC1Zi6vo5RmH1avJq+cNi6LNc6jlUfJ9\nWlE8jidpF9w8i3WMs7hNsZphx7smpg3EqtXEx9BUd1qDiKWFxsyKdUySEes/P4u7+70gHJkRG/V5\npb3ASXuu648Ry6uyYV5jKZOoVyupPpe0+9wXCZu8QEg3DsSmCYYnKayTVH+y5Faznuh47XIOipZa\nm2/EznKM2CAfaG0RiDlymVC8Ua8OZcQmLF8fbb4xuu1r4pvT/WNio14tZGqPvrG/MGPMl/BBFkAF\n+KoxZtzT/zXjdsmQTjdkqawZMVeujFhSs+7mMerCzvdV375r4mq7l2nVxP6J6KR0q8yM7yo2lBFr\nByy3Gtx5NH1ls+3UapsDwKSiaHNwsd1+LEK356e8qFaSXXyHuWXExl/MTFqtqhf6rkVpLiyjyFGv\nVxJnWiKXrEvncPsWW9lOPr6V/vifaoKMWBT5zzuLiUt7wcZqa9DPsvvpBTY8N0VA5KYYH9TuBnzf\nSYubft9ZdS/zv5OCMmITZHT7+t+NNPu80w1pLdQmKs4Cvuv60kJ9qmA4j0CsL2mxjsi5HEKPE/a0\nGvFE3SemJZj1vKz9/brdjSf/Hch++/2pBPr6x5akx16XYnqeMB4mEkVxRqxW5UgZAzHg+cDT8UHY\nG4H3ADcOPScE7gQ+nkvrSqoSX9hMMwh2Up1efJevhIHYuD7Ns/6MJlWGYh3bfT7t+ESY9GJ69HY3\n36le2CYTNyu12uYMxVq7x57FeuqJRJOo1yqpu82EYwLbaSqx5aE/0D5p5reXY0asOuaYOenxYZpp\nE7pB/+IwYUYsxSBwnxGbTdfEQUkqwEbOFxLJIvPZHbEfWnH33OFALIwzyJPc5e8/P02hnuM3LYd+\n30GYzZQbQRhRz2A9k+gf+9MEJ/1jXZoit/3PLHKO2gT7oRP/DqaZd6pey2/oQNIxYjBdsZPtLC/W\nOdbucZeBx9yMM2L971YUpZ+7bxp+fNbG7U4yLi9Nz4X+MJEw8t/rWRVYGmdsIGat/Q7wFgBjTA34\nE2vtTbNqWJlVKkx8YJpWLx6TU8auiaPGiNXiMU2z/IwmNevy9f7CbrIDu4svRCpTjBEbdUFZlip/\nozJia52A009Zynm76e+2ujGZzTJ8noP6fe2Tlq8Pcxr74pzLNBOTPhDz3RqPriULmNNMhN4LwpmN\nERuULCPmaNZrmXTZG7UfWmOyDP0McnWCfR9F/tgwtBERYgAAIABJREFU6ev6GiPGUrW74fFxrbV4\nuok036UiinV0exELzZrPHkz4nex3/16YZMbbAf6GJUxyaMhijFieGbGkVRPzttxqsLq+sSfFrDNi\ng9vd7niXR1BaG9FdvFpJ3t0wzQ2zfrfE/mfdqFULmey+L1HnX2vtGwCMMXuBZUaMLbPWHsi2aeXT\nj9DTHJjSbGv4S1+rVUvZNXFURqzf7a/MVX4rU5SET6Pf1SlNZitp5bvR2x1d5W/4BFCEUSfb1bYv\nUJKn2gTV84aFcUA9aKEkJ/ZB7a6veJamWIcvZBNlMlF7FMWBWMq78oOG572Z6LU9f+Gd9GIiGrGf\nt91GELHcqrNyZztFC9OrJQi2I+do1pOPkdtKb8T0Fa0xWYZqhTgIT77+yPmpFNIenmu1Cu3uxvfZ\nGSjFftJyk6NrXU7d15p43UEUUavNtlfMarvHcqtBfUQPgu2Mutk1iTSFovpzQU0TSNWmbPdWFhq1\nQsuV9+1ZbHDbofUNj/kxYrNvS5J9nEf1yEZ9835OevMwfvLE10b94G1wjFiRxToSXe0YY+4DvA84\na4unZVNCrcT6afpp5nRKolqp4GBT3+RZZ3CSCkcEYrWqDxobY15TBrVqhU7B5euT8qn69Nse7iHS\natS44/BsLxZHqY0omrHWDlhq5RuI1SeYT2pYZURQvFjCMWL9yViTdmsNooh6HHj5MRQRS61spiho\n1mtT3ZU/sS5SB4f9yVyTbytNRixiqdWgF6xO2rypVKuVbcel+TnOspmcthuELC9u/I2OGydZSXHe\niuLsadrzbKO2eSxVuxeyGHeb3Lfc5PBqukAsDP3nmEWGN6lj6z4Qg8nHzqUJ3gal6cLfCyL2LjWn\nGyM2QWGdSc166ppRKpUKy4sNjrV7Gx4vKiPmCggAXXzDZThg99fAyfbPJNmzvv5N+H4SoVGf7Vxx\nw5Je7bwTuB/wevw4sfL1j5uBTi+iWa+NHCOSqQqMisSSlCguQjSia+KsC2GkkaQ7T5bSXNj1TRP8\nj3ptq1lPNFg5b/VadVNJ3HY3XcnkSfS7F6cx6sKkXiu2j/ko7e7mi+WtBKGjFl9Y9ruuZhEQRw4a\njcmLDIwy1dx3QUSjXku8DpemWEcQsW+5OfPjdK1aodPbvmtiPzM5rf5nOWhhRLfPyPlufJN+Hs75\nghhpj5ejLu7aQxmxtGM6gzCeyy6DDG9SvqCDn/x88jFi03Xxq1Ym/911Az+h8zS9BKbptTAvlhbq\nrLU33rxwEcVUTXT+psksOQfN+ohArJr82JumonS16l8TRlEciJW0auKQnwCeb639UJ6NKbtuz89B\n0eltLl+dpX60XmW4a2L6AgN5Gp0RK0/QOO4O0zQl4adpSxqjsjBJjcqklqUr3bgJdgdPRGUr+DKq\nS2vZ2gg+oD1t30Li5w9OSXAiu5H89eP4sUn53d1Oqtvb3J1uK2lufvQmmOg4S9Xq9ueG0DkWGrVM\nLm77E+MOajVr3H544zHFV6qcPKDymc/0BYpGFePpDIwRO2m5yfW3Hk21bh+I1TPJ8Ca12g6462lL\n9MJo4muAabv4VRJ2bR7UC0IWW3WOtdP3EijTNUReRhWlGL5e8TeMs+kmvpUipiE63lti6Jjkz7HJ\n1pFmiEk/i9ZPIoy7DpmVpHv2KHAwz4aU0fAPpBuX1ZxmvE4S434KtXjcRtlE0eaiHGXKiIXh6PL6\ns86I9beX5mA3TUZsVKGPVknmvaqN6ELU1//95dEvfRqT3K0rUmdEBbvt9APKVqOeWfGRcSfbWZu0\na2KaeQZ7GVXmm1SSi9Z+RiyLzOToqombb+4452ikGNvsuyZWU0/ZUa+OLtbRijNie5eaHFnrjXrp\ntsKwH9DO7hhwrD9GrJqmauK0GbF0XRNbzenGiBXhP649WHjRpeFrhGa9Rrf3/9l702DLrvM6bJ3p\nju++eejX6G50N0geAA2IJECCI0gNFCWqRIqUpUQla3KUWKrYcvIjqVh2lZI4jh25ylW2ykrJdmQp\nGizLIhWKFEmLlCiSmAgCIAhhaFyA6Hl483Dfnc6cH/vsc8+w95nvfRckVhWL6HeHs+8Z9t7f961v\nrQkYxDvl+QymPqZNlVxDqokZVKIlxv4mCTS4pUWE406kpl0x/gDA31NVdfrSvmMC7dPyQzcsVGTJ\nvfDjO7bAoQIQ76Pp2wBOfUWMI68/aZ64KJAsbZ5nPq3gAvu40cChaN9AWciySZi0uAoPeSb+48DQ\nsHJTPNP67KRBmgBgEos/TaSlhShmr+QUUXUsgjT3pLfpKSGZx6uIDUPmtNS7LHtFzPFUE/OAVMRC\nYh2G6QViSoEKrU1VQCc4f1JqYl75+kmLdYyOe/xrTBZcut2J3MOTRrgiVlEmQ5ujAjmTFTAj/ZbR\nihhS98STxGi244puxc2yHa8v+jiRNl16COBhAK+oqvokgH7odafdbv9SqSM7ZnjBkG/XrLtKUXma\nj7Mdmy3MIIkChvrxbwApr5aeA8t2UAv3iE3YoysOFqNiBxRTIswDWhFjqWEmbeCK+IjRTdq0VZYA\nQGaIdfBAlY2ybKbHgWm6t+Og+SoAWVGrSDjsleOL5jjw/KsobJ/iXFWRoLv2HONE1iApz/xgmJP3\nmAJGGd442A6IyEQpPWJR9coqo8puu71eVg556SKbQpbxMekRK0cESJaSxVHKBO3Jy0MzZPXLZUHe\ndZIk+6Z/nvRjqFvHnkAOi2YosghjjFU6v3CFIk1W7dq22T1iQob9Tla2kFf5sx1ukn7SSDsr/Tcg\nxs0ygPcxXn99PW0pwAqGSEVMHPtGjJcNkKTpoCbqrmgJVcgii+b0VMTCDzGvR2zSlQ1RIMp04Ziw\nUZUx0E0ociXwd/9mp0iPGLVbYPm9HTfkDJll6g103IFYnp6J40AR496qUmJFzKUm+ucD27fZqFVl\nDDQzVSBWhEJC5++0yFOFPq4esVSGzraDakkUUWJ1EPydEqOCSAOxiVfExGjlT3PtHMqAHEOpHidy\nVcTEaHUwC/LS4sfpAzYuTEMgZjsI7FeqigRtDBUx0/WNFAVCt7Wd0X2tjFe02MOoIlawhzHDNfP6\nVl35+tdNINZut8+NeyDTBhY9UDdszM1Uxi5fL4At3SkVkNwuEzSzrBuCZ4wX7nuadP9VHHgBCPFK\nmjw1MXyuKKVnthEMxPoa8WIBilETaY/YtGR//MhCX1Hk6VAmTOPZ9HqEP8gp06B61AcwunaOLzlS\nr0oYaCbmZ5KFQYpUdXWG0l8c8vXG5Pc5K4JUhs5OeT1iaT20aJY9ayBgOySYyrrOUrYGq3KkuWJb\nZYBlQjsJyJKQmVoqSyL6Zna6ne2yN/KuPSxrkmmHFhOIle0bx5vLwsEBWffKr4hRerHjkKDM8QUo\nkwIVciraw5hlXaD9p1T9fBqS08dPjpxSsCYf3bSIWEeOJu4sCFfE6LGmpTeFnAfRq9DRUq8f0+R5\nFtcjNsnTKXCoiY2qjIEWnWgHmun53hSpwtLPkoC0+CNfFsXRcZxMwfBxS8xSTIMHzbjBEl7ICxIA\nBLOe/s0G7/4vG4ZhoZpFNTHHdT6uqjOrGhWG5QbEkwwgbMetemeVr7epj1i24w1dgRqJUwUqayPN\nMqGdBPLQ/fJWpjSDqEzmVRdmWZMcJ9KsW0PDYt43Ug7BmSzwzzNh9cKKMh6xDsoQkCWyBts5hXWK\nwKuIueu6zdgfJSErddZfbX9dVcRUVX0VCfTDdrv9llJGNCUQEI2yCSVPHLsioIDgpKG7TffTIl9P\nqYm0jE2zkH5Mk1gHa3zAMagmuqqX4XmmXpXRZzQIDzRzVBHLYHAYBg3gWQFzHlBaUlHaCaWM+p8l\n0yehHoa/IvbFp67jw+88Xej4efF66RHLCv+cU1EkaCUZVLPk620bXt9mrUKoiePGJCpiwPFYGaRZ\nk8h1kCYq+DRSP8xOTZQkMXMAMNRIX+S4r0HRvqu8yCvWkWffQFUmhZyJZ0kSpoLBQMGi04bBq4gp\nbh93Xqp3HBo1BQPNdA27RwlKioosjkXJkc6HgmXDtOzcNOIioEJO9D6hwX8WZJG6944piZ5PJEs/\nYNJIywR9DNFAbAbAQwBqAP5VmYOaBoiMPi2vIjb2HrGgYiOVoZaE7LSEcYCWtGW3Z4dr6DwlVQNe\n+XnSEvuiCFc1MTiWelXGXmcYeX9fM1GvSt5ny6iIlZH9MVwZ8MKBmGtcafvu9oFmouEuSGEokuhl\nzljna1LIuzF5PUEuMTM6op8E+zYFX0VsoxfWfyofpGcu3f1PqJOvn+ucWr5emWwAUVy+PmMgppu5\nBWqygIgMTX4tziPWUagiVsm/3zkOU+I4GCH7Cnpe/MGVppvMe7WikGChXtxWMYJmTUZvYHiBWEQ1\nUZbQzWm1EAcqPgeQudG2UagvMw9I/7CIges3R0Sb0ge7jptczibWAW9usdz56biRtkfsF1h/V1VV\nAfBnABoljmkqwFJt8SpiGSPw7AcPBoFDgzQZj7s8nha6aUGh1ESLvcGfrooY39B5ooGYQKmJwb/X\nqxKzIjbUTKzM1wFkz/r4IbhBHM9PLSs0gwhmsMacBd6C40v29YcmGlX2tOTPnB0nRXGaaLevB9gO\noIQkiv3JkZrbIzYJpK2UOLRH6XVyndPMZbZTnlhHWhQxdC5CTUyLvH0/siRCMyZzz/r3IXKO3jQp\np8IjFTchtLXMH5866KYNxVdtqbr065n6aCNuuutkGLQiNg7M1BX0fMbXZL8yer2iiNDG0iNmedYS\nRKzDtWWYaCCGQMKF9HGmT6Q49PMZxmyFe8SU408YFAoF2+22AeBfA/jFcoYzPRBc520/aG/UuCsp\n4eZDTXepieKUUBNNQk1U3IySzeg9Ok5D54hTPac3apI9d/5+qIhYR1Vm9uP0tVFQkpenTz9rO/zK\nYFaUJUgQ5sIDbhWwFheIkfNUlqJfHow9EfMdBpr19Ffz/c9Bo5qemjgp2p/XR/A6uc6SKCRKxFMa\n0CTXkLzqh3TOzkxNzGDZUC0gSDNJH0bdsD0/QCLWkb0ilo+aSKqLx7mWlwk95H1XU0bKzxQSxwZC\nkaMG4WWhWVfQHYwqXuF1kcjXj6NHjCRUZd8+btLURCf0W/WM1ERCYc5YEbOnr0esjJrcIoDZEr5n\nqsCqiNHFYRK0u0BFTPf1iE3BhGgYRDVRchXvWGIYU1cRY/qITW6BcWjTusWWr2f3iFleUEISAzkD\nMfd+tTgy/llBPZ+KGiyT4DT4t7iKmOxbDPUx+qqkwTR6sk0rPENnc3TO/KqJtQo7EcHCpM77cWxK\niiBVjxjHPHWcsOyc1EQvEB4fNbFRldEf5qtqSTkCorzoDUe0tXw9YvmoidR3bZraDIpAD1VbalU5\nktDj7VsUWRrbmkOpiX74E04V12exbOguVZPSXR3HKZWSngaEoj76d1Zl09E8neGYbpXecaZHNTGt\nWMdPM/4sATgN4H8E8LUyBzUNYPWIjV4b78QkCsGGvKFuoVmTudmaSYM+wLIrp89SChNFAeYYsjh5\nwBOpmOQC41ckCmf1ednVoU81sUglgFLpwpOO6PY5ZG1A1t1AnKoViSn7bsKwHXh9QhR9zcT6DJvp\n7KeHjIOq8QbGA+oj5k82+JMj07jR8xrXp2xcPKRJfFm2g3qlmGdPVnjUoxyBWB5D56FuocZJ5ITR\nrCnoayYWMx2BzMVKzuAmD7q+/qE81am8MvKaYWG5IkEcTN/zmQdhQ/eqEjUg57V/jLsi1otJCFRk\nEfo4qImGjVa9AlmyvIS6kkAjpvdfWVWkcPVP10cVsVT2GI4DWcwoX+8TJZkWS5+0ZOo/iHntcQC/\nUsJYpgpxzt5FhBNSHjxITTQsLM1WU0kUTwKG6Stp2zaTYjYNPmKU/8/tERMxsTFatuNVNNPGVDwj\n6qyglSvLCqpH1ioydMPKHIjRpmcx4wQYBpOa6Mv+hlFRpFGP2DFSE99ANtg2UKsG6VF5FDwnWYW0\nbVL1mIb5Ng3SGL7bNiZSEfP3XTl2vr4TxyaCGFnzjlmoifVavoqY49KhJhWI9YYmZur5HXbzysgP\ndQv1CrHrcaYjp1oIYUP3WiVoWu8lS1k9YvJIKKpsNGsyekO+GEdFlsZDTXQDUyo8YztIfFZpdbUi\nliOIYztBURfNtDHXJH6qaeZ7Mk9nm188HzGHXUQ4DqR9ulmGzg6ATrvdPihxPFMDVo8YxfhVE8PU\nRHPK5OtH/hOmRShv0+YjRrPs1HyXZ+g8qTHShz9PBaooaOUqPOlQryieSiEPummjUZXd85d/XKxA\n098XF0awIvYdsDMYI+ySzUeLwHGipp22HaSkpIFpORMzSy5aEaPJj0kpx6W51qzrUDaoYbQik/Hk\nlcS2bDu3amI9AzXxsKdn+n4Kat0yCfQGBk4s5ddDy6O0CIxaIsbNAJoUDNMOCLlUFSnQm6UbFupV\niRm0VmSxsDgVD0kJ9nExBkbURFf9OsWcR4O2LIIacQhXpML00cTP56Awj/pW+R6zk0aqVa3dbl9t\nt9tXAVwDUUhcB1D5Tg3CgPiKmJTTaT71sYGIWEetIk/NhEj9JySXUse6mbMY9Y4D/oWS97BNcqPq\nuCV0y3JwXI89qUIEM4J5THt1g4h1FO0RIxWx4N80nc8R9xs6m6Y9ldWKaekd0/TsfizjAqUmRlUT\ns1Zi7YlJDRf11KnI41NZywtalR8nqiEBBNtxchk6206+iiTP64n1XDZqsiebnRVl+CimRTeGJZAG\neZMBmm56hs6ZDHM5PdnHDb9cO0DUWv0VMU230KgqfGrilD3PReFnNlmW7fZzxu/bZLncBEQ4WaUZ\nFqoZkm15enn91hiWHfQRO671O/UvVlX1ZwDcBPACiK9YW1XVm6qq/sKYxnasCFelgq+NNyAKBwjD\nKdpUAaMJzauIMSpOk1QkZIEEPWTinIbyM9lYsHvEJoUwRZNsmnIEYu4EXjRTx6Ne8s6PfzE0LXsq\n+iX9UEpepIpAM9JTtMYNllofoaRk+x7DCspPjxOOKzKRN9ZXZPHYBWXCmESFrlYJCiDYNtzzmEes\nQ8y1MWLNH+H+IIAvkpQGk1QwJh5T+amJQL4NJpX5zjrPU3ubaQNNIFLUQj1iQ8NCoyZzqYnfaYEY\n7fWm+zjHTraaKDsBYTtBqX7dsFHJsG7lYS7Q+9qxncAeRBkzWyAOqZ4WVVU/AeD3ADwL4GcBfBjA\nzwN4DsBvq6r6Y2Mb4TEhLCEfeG3MtDsBQYW8LEakk4Bl2ZBEISB7Gl77xGMWFpFSVMQmCSqZatlR\n1cRJjiFMTdT07BsRauhNKY+5x+Nky9b6G6Yt25maoIdinF4zWUEtL7JgXAkClsRwnqy5YVilVMTS\neW4V6xHz9zNOCyYxD4ar7JQGlL1HLJ/sPQ8sf7F6VUY/pjcnDpPctNHKxXEhKxOH2ttMG8LjIj5i\no/VPc0XReBWxcQhmHCeoHZNE93EpVBOlko3MHTu4B9ANC9UM9w7dV2XJMzgOoEijvnm6JzrO9Ttt\nmuUfA/iDdrv9c6G//4Gqqr8H4FdBjJ1Lgaqq9wB4EaQPjV4lB8DD7Xb7cVVVPwzg1wGoAF4B8A/b\n7fZ/8X1+BcBvAvhBADqA3wHwj9rtduqzLAgA7810IX/+0i7uP7+U8delOXZINhGTpdGlgSAIATWm\n8PiOu0dM9jVTm1NREXM8P5fjom1YlhMR69jrDDN/DzVdFAtSdJ2MG0MpVOU8Tuori7o8TmWtrBi6\nZqxFQOe5opt3211s/XNEHiEaw4pWNfJAchMiYkzDuZ++kgcVRcztUTUuTIIyFgnEUmTZWaA06rKe\npiGjQlxEqrvsDek0QxCRqReY2tsUAe1xLZMqZph2oFJXUYLUxKFuoVlXmNdVkaXSxTqOe09H6eGy\nqz1A1UDDz+rfvLaDe88SbdGyeyOJfH2Qmui/RnudITTDwvpSk/t5KY+hs0uXJnRtcrzjrHqmfVou\nAPhDzmt/COD+cobj4X4A2wBO+P63DuBJVVXvBQn6/hjA2wB8BsCn3eCN4k8BrAJ4GKRy93cA/O9Z\nBpDcI+bgy8/cGMtkHBcEThPi1JiOWzWRKDqOKmLHHoi5/RlmBtXEUo7rE20Ii6pUK1H53jSgNJ+i\nYidZqVL+hcuynYkZqrLAmhtkn+H0cUMzslfEwihieOsH6zrnMdJk0cvyIM1mIq8RMUVFlqBPiX0H\nRVk+gnEBHZlTRlUGx8npI2aTZFpeE/swyu6ZPO5N9CSRvSIWVCfMA1b/cFGExxW+hzVKTWRVxKaI\n7VA2ZDFo6Bz+/ZdvH3m/vXRqIktx2/fv7YMBrmwc8T/vIJ9Yh0iSbP7jK/J4/NrSIG1F7DaAk5zX\nTgHolTMcD/cBeKndbm+HX1BV9R8AeKLdbv9f7p9+TVXV9wP4HwD8sqqq7wHwXgDn2u32NQAvqKr6\nPwP4DVVV/0m73U7FRYjvESMLxVC3cH2ri3Pr5fpZC0Sto9TvHAfkGAnf45ba93tzTQU10X34Tdvm\nLuJ+2efSjusuaJbjBoNKmJpYIBArKF9fxNW+DMPwsj1RpqmPYKibaNazNfiHr2XVrW7UU/oy8cCq\nfoXPO6Uyxwl4hAOxvM9Lms1EYbEOZfqoTFkr0DyEKwt+1CoyDrsjJULaH2hkFMWgIh9l9RlruoVa\ndfrocq8HiEK2gFg3ilMpqeF7mclcw4inTA51C3PNCnYOoiwR8jyP5ozXbh7irjvmShsbMJkeThZk\nN0EsOw5kOZp8Mi3bmy/z0IzjkGRjYtkOjmKUTR3bDaqyinXIIhw7mJx+PVTEPgfgn6qq+oD/j6qq\nPgjgnwD4bMnjug/ARc5rDwP4SuhvX3H/DgDvB3DVDcL8r8+CVNBSIbFHzHFwYqmBy7c7ab8yNQRk\n47weF+Iyy+Puo0uC7JPsnRaxjhEFIPp6rSIHKD2mZXslcz+ev7SLTj+95LLj2wSHqYl5xTocd8FI\n410UhzRZz7iqtJnz2PQ7y87uTVPWlNUTEweW3H1NKaci5jCuczgTWg/d/yz4VROzesf4kUbOO46a\nuLnXxwuXdyN/99+rlTFnV/OKL5QxDRoWX70yXEUl816eihjdYKGUe3Com6gpxRIK363IKtZBe4iL\nwE9nLisYT6JDD3WTWxELU1G/cXGr0FjCz2+jKmOoHU/ixusRs2n1OjhvGabtzZdyyWtc0jUxLQed\nPr92YtFe0gy3iO19Jmjo/HoIxH4NwCGAp1RVbauq+lVVVdsAvgGgA+Afljyu+wCcVVX1CVVVb6uq\n+iVVVd/pvnYKRL3Rj1sATie8Dt97EkEmAPZrlJI116zgoJvPhyT+2JEWsamEFLORLbJRLgP+sU1D\nRczxlf1ZWa96NRgU8fy0dg4GmSSX/VUnM7SBKko9K2qn4KQQ6+BlzCRfxTMr6OQvi9n9degCyqrE\nTJVqYsYeMctyIoJA4Wb2vLAdBPoAyN+C17VeTZYSJ6qJ5P6lVhBpQXrCBPezaSpirlgH4xA3trt4\n4dIe4xijfoOqIo1VNTFPcsl2UEpCKs7rhy3WkbNHzN0sffaxK0WGC2DkiVUU02JPMUmIMZ6qLOim\nVVqPGE1eTgJErENhtluE5/s4A+Y0INWv0b+bdQXdgt+ZF9TEmifW4VcojmNB5YFtI3ZvZtl2bOI5\nz/xi+ejS/nmUWo5ohoXN/X76H1EC0vqI7QN4EMA/AFFO1AB8C8CvAHiQRSHMC1VVawDOA2gB+J8A\nfBQkkPqKqqp3g/iYhWvHGoCa+9+R19vttgkS29SQEgLgeWTR/1GMW5o9S5PqcS4MckxmeZJmySz4\nJ/CwV8RxgDaVWpwesbpPStlxHAw0E3UGlcawnEwToW3D++2kyuajgxVshqZiHdsHg1yfDzfqGqYV\n8QBiBdGeJ1vO+4tmWyWJUEWzgAaPrPNGKmLTQUcbcnrEWON2HHJPhWmBNSUfdTUMVh9ApCJWlRKl\nxHVjlEjISlvSfbSkNJsJT76ecYydwyFzc+iv2BH5+vFlV/1BX1oQdduSqImcY9dDwXsabyIW/Bus\nopteoJyeSWDy7IppCPz87JY049FLUHmkyTLJTZoc9XUMxmSoTKHFyNeH0RsUDMRC61qzpqT6znHc\nD5I7HzoOmMI6pmV752S+VcVBVyvt2El0TMtyYq87ZS6Ez4tl29zqFk2K04oYPbzi9njvdYZ48XI0\n0TZOpK7Vt9vtAYgS4W+ObzhAu90eqqo6D0Cj/VyuV9kDAP57AH0A1dDHqhj1qQ3Cr6uqKoPEVom9\nbAsLDciyhAckCX/9zHW8envUKPiBB09jZaUFSxSxdaShqxElpsZMLXM/Bg/NZhVzs3UsLDSxstIC\nADQaVe+/m83RfwPAky/cxspCA+dL5isnjXFlpYU5w0LllR0IkhgYEwAMNRP1eiXy9yRkfT9vfMuL\nM973NZp7WFlpYXm+znxvGcdMQt9yMD83wO6Rhrm5RuSYJ3b7qNUUrKy08EdfbOOd96zhxEor8L5m\ns4qKIqE1W0895k5PR2u2BqFvoN6oYm11FiuLDe91/73lR9z303M2P3eI+fkGPv/4ZfzSJ74n1Xj8\n2O0bEBUZ2x0NKyst7B8Nsbo8E7jX5xeamG3VA8/C4tIM6nUFsxnOgx9D3USrVUOroWB+voGlueh9\nwYNhWmi1ajBMYkPgP/5O18BAN0u/n/J8n6zIOHVy3stMN5tV1JtVPPKtm/jIe88F3vt7n38JH//g\nmzA/Fzyfe30DR32j8O9pNCtYXWkF5oPWTh+zzdG/Tx/p0Awr9lj164dYW225914d8wsNzM2ElwI2\n9o+GWJwnv29x4QizjGfQj45mYaGnoz8MXs+VlRYEScLqchMLi81A4uDgSPOO4UgSttz7ehzoDw3M\ntmqR+SH2/DUqWFub5T7zadEzHSxp7GvlOA4q1Y3Rdd7sYrZZwWbGczEzc4B6VYZh2nAEIXCued/j\nOE7gHPj/W6ls49T6XOR+yTr/DzXTe04msXaDIojIAAAgAElEQVQMdROL88F7Nen6scaVZ6z0MwYE\n7PXIPPDnj17C+996BwD+dajf6mDNXbvy3muVrobZFsmbzy80cdGlAr/rvvXM30WRdF6qVQV3rM+h\n5punePeTbjmFrv1QM9GaGT2/J490GKbFPWf02J/88qv4ie9/c+T78oyFfqfjOKjVFDSaVawszcAW\neoHvk2QJrbk6Go0q1PMrePHqQWn3fWuzi6X5OhqNo8hvbzaraDSraMTsIw81C33TgWYHr8dzr25D\n0y08dOFE5DMz2z00HcA5HEC3gNVVovFA17vWbA2ScjSRfSFFqkBMVdUKgL8H4D0A5hlvcdrt9g+V\nNah2u90N/dtRVfUlEGrhdRAFRT9OYkRHvA7gI4zXgShlMYJ9tyQpAviBt0X1Sba3j7B/OMDBwQC9\nnobTSwt4+oVbnrxnUfR6Go66CnZ3RdTcNb7f17C9feS9Tv8bAF69ugdDM9CqTM5AkY7BcRwcHJJq\niH9MAMmidI6Gkb/HYWWllen9cePrHg0x1E1sz1Vx2BngYL8Hx4hmVsLnc1zY3e1hONDR6+s4OhpE\njqkPDHQOB1hsyLh4aQd3LNQgikLgfb2ehoEgYHu3i9mUjeedno5BX0evp2NfAA4P+hAtHwWyH/39\nSdeBnrNuV8PObhc3No5yncO9vR40w0Kvp2Frq4ONvT5s0wzc65tbR9CGuve3fl/DxmYHEoCd3V7q\n8+DHQDMx6OuQ4WBj6wh2BvqdZlgYDHQMdQty+Pp0h9g7GmJ7O31gl4S8zwS9572x9TTc2ujg1lbw\nWjmOgydfuI333LOK4UAPvNY9GmLnINszzELnaIj9vV7gXtvb78ExTWxvkyWoKjh44couTi/yz93u\nfg+rsxVsC8BwoGNjswN9kI7ksHMwgKYZ2N4+Qq83xPaOg6bMz8Tu7vXQ7+vo9EbnhF6Lfl/DqZUZ\nPHdxA2fWRov17uEQ2pAc46ivY3e/P7a5pTswMAhdr6S5rHM0xN5ul/nMZ8Hm1hEGfZ37Hf5xHBz0\nITk2jjKuBYeHA9iNCvqagV5fx81bB2i4iSre9ximBd29xuFxbO/10O0MoA+CNCc696StFPaGBoYD\neh+Nf+3Y6wwB2w4cJ+n6scaVZ6z0M/sHAxwckjVrY7uL59ubePgdZ7jft7Pbw0JdxrYs5L7XDns6\n+n0NoiBgc6uDvf0+djtDnF+byfxd4d/D+1u3p2Fnp8vdbwXu66NhpvsmjIFmou97hgY9DXudIbYX\n6sxzRo9943Yn83rNQ+C39XWIcNBtKDg4CO5Puj3dOy8H+73M+7o4HBz0URGAwUDH5lYncu73FRGm\nYXKPt7fXQ7+nReaXqzcOUFFE5uf2D/pQZBGdzjBwDXpdDdt7fZiagZ29XurfWEbAlnb3/psA/iWA\nuwEojP9VCo/EhaqqD6iqeqiq6tt9fxNBhDZeAPAogO8Nfez7AHzN/e9HAZxXVfUO3+vfD9LL9q0y\nxujvjbnzRCtWXjMPBIx6xCzbji3d7nW0Y/MuipuEjlusw9+QPw09YlRC3+LQgyg1y7Rs7B9p6Gts\ntTrDRxNIA39PmlmSDxMFNXTe72q5rjWlp1UVImxA+uKClWViZh4cs2UR6ktew3DH5edLkpC5z2xE\nqXMifU/yFKkmsmBZdoRquNsZojcwI7RVoDwxE/L8kTlh1LcZ7A+cbVbQiVHHAgDTtKF49MJsY/Ob\nuaaXr+er9p0/OYtLIaEmv89ZZcwGsHkoclQ1sWjDvZFBnryQWIckEGUzy0klKjSIEajhWR+ERZKS\nYDJ6KceJ7sBAs1YO2yYL/PsOOs8DZD6+tRtPLPJTE/OKbdB5VpIEmCZR7dvcz0eBHwc0wyrUDxwW\nqailtJLRDCv3upc4JveZs5woNXFcvc+2Q+6viiIye2qTKNgj4Y3g3w96GnfMVAgoPCdRH1DDtHOJ\nmBVBWmriJwD8Wrvd/qfjHIyL5wBcBvBvVVX9+yB0wv8FwBKAfw3iKfa0qqr/G4A/AvC3ATwE4JcB\noN1uP6Gq6tcB/LGqqr/ivv/XAfxLt1esMCSfkW29mm0iTwO/dH5/SJR8eNg/GsI0j59HHkZRIYei\n8G/UpkM1kRo620zlMnofDXULhz3d7RGLXnfC104/EftVE02r3PNAeqXIJqfT1zGfkiZGYbv9VlVX\nRn/AuNdZAYJpO6gq+YUxqHgEEW3I3rtCkgyIXMdpkq9nwbSdyGJ/bbOLO1aarlhHcMGT5fICMUEQ\nsDJXx87hECcWG5GNSJrMcrgHy8hw7fxKbn5rCx4c18cqnGCgvQgLrSr2OsFeCf9mf9w+YpZl5xDr\nIJvbpdka9jpDrPkoyllgmDZqKS0N8ppI+wNh07JTiQoRpdBRhTxsicC6x5o1Gf0he65lweKo2Y4L\nvaGJmfrk1R413fZ66vxruSQKAXsCFgxjFKhX3T7TrBYYti9pYNoODEYS6ThhuqIOeRObYcXgakor\nGdO2YZoOpBJKH/7nwXEc2A6ZV8NznuGTry8bVESJ149sWTYaVZn0eDL6Duk6Eu4RO+zqmG2wT5LN\n6YWjqseGZWM45n7EMNLeRQ6Ar49zIBTtdtsCoRa2Qcyavw5izvyBdru90263XwAJDP8WiHDIjwL4\n0Xa73fZ9zScAbIJUyX4bwL9rt9v/R1ljFNzM7viqLKMbqzswMBPTf+Y4OLaK2LSCqi1RIYapqIi5\nBrH8ihjZEAx1C6IgoM8LxEwnkxplUkVMLiAwIbiiNWkWZxboJFpVSDawN4wqRbICBMtyClXE6OYw\nT8WHBvUsDytFEqf6WTQtOyKRfHO7izNrLWhGVCilrN9jO2RTvLpYx5ZL/c5jsm5YNirKKJgyMwS9\nummNFBfTyNdz1LjofMx6hv2BWFGPvSSQ+zDfJnBproadw6hXUlroMWIdYSTJU/M/56pW2hkCMc0M\nBGJpKp+NmpwoEuMHqdBPbi3pHVNFTDNGQa0oZpMH132V61pOZV6aNFDcOZql6nqckCSxUGBI50SK\ntFYypuWUtsaE5yeeobNlOYHElSKLpVhKACThJQoCKhyrFNNyMD9TxRFHOdHmCLH1NZNbhbdsMn+F\nf7+ikEBMN+xU1ckykTZN8bsAflFV1S+32+2x7zTa7fZtAD8b8/oXAHwh5vUtkEBtLBAFAbovG7LY\nqmL/SMNCK1tFgP/9o4pYbxhvzCrL2TYk3y2QXElWAG5W9Ljl6xGrmkilwjXdwvJcDTsHA45qYrbs\nFA2UBEFwlfGCByeUMANLc9l7rTwbh5kKDhNoZSw4tgNRFjxj6b7GrohxqYm5K2I025pdGpl6YjkO\nItdRmfJnkbWhNSwHrTpR7JJD9walBRUF9Z1bW2jgiZsbwF3sSokgxBtsG+bo/s1MTTSC1MR+glQ+\noa9EN6A7h0Msu+IuVUUk/lQuHc4wrdQBSlHkCWQpVubreO61ndzHNsxRQJyENF6BvM/JogjH/e80\nm96wd55X+YxR8GtUZfQzqDKajMTQONEdGqUJgWXBUDeDFbEMkZg/WE1b6QmDzNGUPk6C8VpF5lJM\ny0CWfq+0VEIewvNfNaVno2ny1QCLwuEkn0QBgaBmZb6OnYMB7ljJ369HQZWTScAe/V2W7WChVcVR\n3/Dm3cDnOetFnKenx3YIB2JeRcya+H4xbSD2awC+CeAVVVWfQVR90Gm3279Y6simGKIgeC7sAHBu\nfRaXbnXwoLpSzgF890BvYKDFKbGalo2qIk11Fv64IAf6UaanImZaNnPCp5Py0LCwulDH/pHGzHj7\npWRTHdd2IIh8/6vZRgWdvo6ludTODqMxi+R3zTUrOOxll7Qlk/Bose4PDTQjgZgTCRAsl5qYX76e\n9ojlq4iJogAHDgQExzX9FTEHGkOYpFqR0BuaEXlvJUVFIQtm6oonRc6qlCy2qtg7GjIXXAp6/yoZ\n/Wx000LTpXhJKfzjaAIjnDXdORxifYlQ+s6emMXVjSOoZxYAkCTJpEyDTduJUHbTYm6mkquCTaFn\nCDiT5KnjPkepoRXOJi2MoW4F5o80lc9GTcHeUfrqIMvmYZwgFbHJUxOHuuXdy2FD50ZNRjfG2wkY\nPae1lJWeMMKsBdNysL7UwPbBACeXm5m/Lw2yVLCL+gQ6ofkvTQXdcRyYtj02ixTbcZjURCm0DqzM\n17F9MCwnEHPXYlIRjK5NpmVjoVXl9g/bDpgVsbj+b4tT+aPy9YYxvmCfh7RH+3UAKkif1gMAHmb8\n77sGkigE+MF3rDRxc7ub8KlkULqTv8G1NzS4HPGDIw2rC/WJ9qX4jVGnGX5aCs9EeZKwXSqRbTux\nD52mk0CMV2Gy7Kw+YvG/fbaZr5oFjDKlaYQW2GMjz1JNkTE0TDfbGQwGTDvak0ETELkDMT/tJSO9\nkX6W1SMmy8JU94hZlh3oq+oODMzUZNQqErrDaEVMHmNgyXom1xYbqRvyZTnb2Pz3FlmEkwyd2cmb\nncMBlmZJ0uLseguXffYm48zWR8ZXYE4r6h9omjaUlD5RToiClRZ+r5+01QJSnQxTE+Ovc93tEUsL\ny54sRc4owZMrDzSfAbYokOtBcXK5ieub6fY7eU3hKXWPJlQt28bJ5Sa2pkCww7adwtoAfv+qNKDe\ntZbllLLGsJ5/T6yD0Tvlf45IIFbOdaDrabUiods3Ive6ZTuYb1W5ps68eZr2FvI+IzH6f2lwRkSX\nJvvMpU21/BxIMPaP2u329ClDTBiiiAA1MY8qFAuOQ4phAkbUxO6AT03c7QyxtlAvxPfPCj/FZ5oR\nbsgvw8i0CGiG3XbixzLULawtNDDQNpmvyymy+X4kCZXMNpXcSQTSxB1PA4jDaBIWuRU1Vm8AqYhJ\nmRUPR8cli7wkCTCH2dXcaIY4fB1poD2tCCu+Xds88vrDtg8GkJaCmWY5h6pkWrAW0NWFOp59dQcX\nziZ/XpZE9AbpN3hk3vL3iCUEYiFVRwq/8ECzpgT6iwzThjyhQMyyoyI2k4LuEz5JQl4TadtxN5/u\ns56HmiiJQmI/baOap0dsstny48DQGDF+BGFE0RUEASeXmri6eYTlmWTLnlpFRneQk7YuCJDcZJBp\nOTi53MTjz9/O/F1lw7BsNGtyoT6prJVimlg2LBt6CYEYrQoFxwQmNVEKBWfNmoxuQUNr/zFpn/it\nfi8yrziOg7lGBd0++3ishNRAM9Gsydw5nuzF+M+wf62YFNIezQLwxTeCMALBpSb6o2bBJ/GaFw5I\nlkQQCPUJIMadPMWhvSMNawuNiWbhs/QHHCeIWMf03K5+dZ+4DPFQN7G6UA9kdv2QMlZxHFeZkLcZ\nmmtWuNmmJIQpK1nhyddX+PQV1sbH9MQ68h2bLvJp1PMiY3ZGNJJjju0zI3wur212cXpthlTEBkbk\nPI8jeSG5GW4WXXiuWcFhNx3FNZylTYJfcj2tfH3WSs4kK2LHqQSrZ/id+cU6iGy17bjU5bSqidVQ\nRSxhbaxXJQwyBWLHLxoxCWsYf3UxPM8vzlaxk7IiEje3x4Emuugc7TgOZupKpqB5XLAsG826UqpY\nRxIkula5KsVFwQo2HC9ZHArExOBcW+a64N8DdPoGUxkx7vmnvYR+HPZ0LLZq3GeErj283+G3IZkU\n0h7tDwF81/SAJUEUBWh6kCd/YqmB23v9Qt/rOAAEISBfD7AzswAxe1yZr49NWpQFvYBk6yTgOI7X\ndDrJ85IEmmFniTz4oRkW5maqXOGXrAITXk8TJ2BSZCnTxO6npmZt4g7Da9SNoR6ZVrAXRhKJUE6l\nSI+Y25uWpock8lmqmojjr7JmRdi+gGQOFdIjNjAnssFcdmktLLGJpPPpfz0rNVEzRnQTKUUA7jAy\nrSzM+ai9RoZKUVFYVn7VRID0Q+TtcUmSzvfPC4XEOiRfRSwlNdG/kUuzBmStYpsTlq9nYZyUYQpN\nH8mFh+d5f6I4Cbl7xNwNdp45mgXe+keD2jQVKjr/GJaDZk0pVhHLSC2m50HJOO/xYJgWk17MmoNZ\ndMWylj6/cvJRT4/0KSd+nsFcOOxqmJvh6/t7azjnnrDchOUk7ZfSUhM3Afy8qqrfBvAUgIiDcbvd\n/rtlDmyaIQpCJCt4fn0Wr1w/xB0FGkkd19zO9YtNhGHamW/covAbo1Ico11YBLQCdNyG0mH4K2Jx\nG05Nt1BTJNx3finympCjipM3I82Dn5oqiC4dK2fQa7vGynHKWpZlQ/ZtOBWZLOxVRcpNjxiZhWYf\nN/2sw6joTAtYtEmA0tlG55I+HVVFQm9oTGSDubZA+sDybND9C6ecUdHRMC2f9H06sY7wKWQt3OfW\nZ3H5dgdve9PyxHvEeMHQtc0jNGpyrOjJ0lwNu50h1pfyrVdxcxitgjRqcubMPwW1D3Ach5hjp9j0\nUvltCtYGsigmLV/PgiwKiWqQLCStPX5oPponFWXKg9yqie4GO88czQLLugUYBeu24yT24tHnn1TE\nSqAmZngu6DjL8qrUMiSNqAF8+N7xB6/PvrqNt785u1gdVSGuKhI6fT1z2wvrPB50dZxe5QuJpFl7\n8vrf5UXaVeO/BbAHQALwbgA/GPrfh8YyuilG+MFema9jq2ADo6dsh+M1Q45DOOtbVbJVVMYNWmWZ\nNtAMu1v05EJzqz0feOvJ6He41IEslMuyFSMDXkmCAN2M+k+lhWOTTVolxpfEtJ1A340iixjoZkH5\nejJ2Wcy+UfMMnTmVzWmokvmz2X6YFnl2LdsmVUX3vNYqMpGvn8AGc22xjq29PneD7hcqikNWaqK/\nJ0IWk+m9rPEdHGmYbQYzradXZ3B9k+QlDSu9v1ZRWDHP9cZeH+1rB7GfX5kjymfjQM0n0JDb0Nlm\n06SygG5ey/RzY/kaThphFbs0yNrHPjQsVCujeT6c1KxX5FSUzrwy7zyLESlnP7LG6W2nPdd+cRIe\nBFfkhvSIFaQmZnwu6LpflkWKEWI2xa1bkkREqPzTzfxM1VNe1QwLX/3WrVzjoD3zVUXCUd9ANWPb\nC+s8HnY1zMdVxFIkh2rVfJXcvEgV7rXb7XOsv6uqOgfi9/VdUw2jCFfEytiAOaD9PPz3iG6PxXEt\nBn5jVIBkvCYpFpKEvFSYcSPQI5aBghWGlFG2u4i6Ggu6r7IgCgIMg4gG0AxSlgotzajF/V7DtAIB\ngiKLGOoW5puVYvL1Yn5DZ6o6xzqv4zTxTQu/GasfpkX6LDTdxsZeH6dc+eGaK18vT0CWmwpcKLLI\nPH8LrSr2O1qinQKhJuY711Kaihij4rS538dyaFyKbxyTFuuoSexnzTBtXN+KF+BZnqvh2ub2OIYW\n6OkoUpEvymqglU/dsJmJiTyY5NrLm0vSiM1EPyNmGjtV+QWC6xEd0+m1Fjb2+ji3Ppt43DyCP558\nfag/aWWuhp3DQeZKrmHagX0LBe25HhqEiRIHej+Zpo1aRcJeJ39ARNRE07+fyrGXVRHTM6hxyiKp\nSPtbBKhy4kKrihvb3dxBC50fRJHoLmRVCGXNL33NjK1kWbaduCeqV2Q3mVSON3AScs0oqqo+pKrq\nbwO4CeA3AKyWOqrXAUwGDUWRhEIeD44rmyiAPwk3qqNM1HHs+cLUxDSO8O1r+9idULBWNhWvLFhu\ngGjb/IqYlKJCk7Uvy3LKber3UxNFkVB0ZUkkMvgZRT+SbAW87/dTEyViokvEOvKqJlKxjhw9YjSg\nBjB9dxkBLyD2mswNy1VMJIFYVXHl6ydIueJlJdcW6tjaT+61LdIDKonJapCsnpGtvT6X7kd7Uydl\nkxEn1mGYduKcXMS2Igm1ykjau5DMPsNQOwsorY1Ud/gbvFolvYQ9y9dwXNBNdgAZJ83NQ5rkQxac\nWpvBrZ2wnWx5cFzaelh0K4vFhR+6T6zHD1pxS5NEJP3UFunVKhiMZ1ZNFEVY7nHL6RFLR020XUaK\nYQWDl5WFkYT9tc0uTizyadBJ30+/VzfYTA4KnuQ+63GMS+6mqYgREZ/JVcRS302qqs6oqvrLqqo+\nC+AJAD8N4PMAPgbgjjGNb2rB6gc4s9bCtZT+GiyQOExwS+Ds99CMMqWwTRqGEVRNrFWkxCrAxl4f\n1zYjbYVjAU92+rgR6BHjbOHr1XR0jyxIIzogikLqoMY/gYuCWwUQBczNVNDJaBLrD5pZGTpacQtX\nxAaa5crXF/ARE9OJNkQ+a5PPZum3mDSGOju7a1oOZmok07d3pHmCMKJIK5uTm094lNnVhQY2U1C8\nlRSKeDykuW7ECD1UEdvrMyt1JHicrL9RnFgHZWvEzcvjvHf9Ag0sVbO0KOp3RitHWshfLIy1hfS+\nSH5fQ6GgWFESegODaV0TV2XiijKVLF61ttgszUuKBTo/hHvEVhcItTkrDB41kQbrvkCM92zQalQZ\ngi1ZWwZkt3JXXkXMStWPZVg2qgo5pn+8i62ql1w/ONIwP5OvcuSfH+IUucneKBoY5TGMT3PuaxUZ\ngxz+d3mRSE1UVfVBAL8E4KcANAF8033pR9vt9l+NcWxTDVY/wLn1WTx5cRN33TGX6zupoh6VwmeV\nUKkBpW07WJyNp++MA7oZlO2vVqTEm1ozCBVqEsjzYE4Cjj3y3eINbxyBWJoKYatRwVHfSDWZkgSA\nvyJmYU6qYK5ZxWbGa+z4sln9oYnV+WBWjX6/f9GTZVIRU+T8qka0Ny0Pxce2HUiCACSoXx4nhroZ\nye4KggDDsjE3U/NoY/4NhyQJE6uISZIITbeYz+n8TAUHR2wJe/94i1onJIEKyfjBo7idPzmLS7c7\nzO8ZV8Ae91wbpoX1pQZ2Domq7qRRq0rYd69hUWo09QzME0SQgMVxxX34W53VhTpu7vRw54lW8nh8\n8vVEDMSGKI5HMKs7MNCsRccdV8mn7Q1hZKW0J4GozpX2dRFYjgNJECM9YmHvvrTQOZt8el6GuoVm\nPX47XPEFYkrBuZLFBokTJgmoJpbSI2ajVU8OJk3X3Niy9cB4WT2HeeY6//ygyCK3IjbbqOCor6MR\neh7yGManYS7UKhKODsrxSksD7pVQVfW/U1X1aRCVxB8B8JsA7gUR5xAATG6UUwiWCs9sk2xo84L4\niLkVMZDNafjGowaUe0caFjkS5+NE2H+ipsgpAjELvZTUj6KYVmoiFRFxwJ8EeFmfIrDs5Iz0bKOC\nTkqaUkSswyB9MXM5qE62A6/q0B8akXtdFARXlXF0vipuj5gU4wOSfFxyDUQhh1iHPeK0T2PAD9Ae\nsfC5JNSPZk1Bf2hGgoyqIk2s92VlvsbNpsdd00n231H11cDfOFK2a4sNbOxGkxAzdQWdAutBHKwY\nipxpOTh/crYQO6MIahU5IGRQJBAtIo7hr3bEVcRov0sa+Pus0vjRFUFvaGKGURGL27DT9oYwaFD6\neoHtJcvKqeQR2x2WWAe5hpqvR4xv9SJCN4m5dNFeUIeR6ImzcaHsDRKIFd8jaGY6RpVpkqCTV0Wi\ndjbVigTdKMZQqFYkbo9Yq6kw99Zli5FR1KqyJzg0CcRdiX8LUjH7CIDT7Xb7V9vtdhuphNW/8yEI\nAlMOtcgt4Z9DHYdkxMITccOtiO11hsdSETNCXOtaRUrsQbImKPnrcDjDxw3KZY7zEatXpNKz/Gmo\nmrNNJXUg5hfrENyKlSwKmGkomeXk/dkwzbAZgRi8HjQKRRYx1ExIUjz1Ks1x82wQKb+cGELmOvzY\nMWT0O4iuOlijJuPq5hFOLDYCr9er8sQMgomE/WQq5HmRZYGnaqhhvOX0PNrX9ssdmIs41UTHcXDH\n8gxu7cQHYqS/t/zNRpq+4bQwLDsgEpAFniIeR7yGopJB+dcvXz9ur8rewECzxqIm8r0kHYfnBVX+\nWIt40SXBdnubqQF80aqyzumJGgXrURZBGIo0qogVTVqx5pc4qX9ZGvVLl2HJYBjprDYM97eyAkcA\n2Njt48RiA42qjN6wWNKpqkjc4HC2UUGH0YMeriz6fW6T7hmbkWyjqOc0Is+LuFrsnwL4UQD/CcBf\nqKr6+wC+MJFRHSM+9dQV/H/PXIv8/RMPnsHfeudZ79+iQCYi1vs/9dKNyPvTfP+HL5yEINCF3UFv\naOLZm/v4N4+8Enn/hdVZvOfCidzjz/v+p67t4re/cSny95mnavzvf/EGAOCT7v+XOR7e+/csE6xp\nlfX+T76Y73plef8DdyzgwrnFSPme9f6f+a2vcb//xa1DXNw+CpzLuPE8fmkLT17d9f5NP+d//2yz\ngm/vH6b6vQGxDgF4ebuDz397A/gyed+fvHA9djzh7/9/n7kMADjVrKFRDW46BFHAS5uH+My/fzTy\nPfPP30CDkfZIc72oRxFAzucnf+trse/346uvbuLxS0Rt7ktXtrxnc9z3T9b3//B9J/Ez73+T928q\n8vK1VzfxpZduA0BgXlmtKMyFK+v54Y3Hqone+9cW6thxpdN57zdrIn4ixfez7mfe+/3PzD0rLXw8\n8u7Q9z/5mve5jz94BnNSdFMcN55PvONOPN3ewkP3rHHfT5FnPrn37AL7/S/e8Mbxx8+PnsfwfLg8\nX8cfPXEJf3VxI9t4fN/Pen/Nt4nx3z9Z5//M1wvB8//9d6+7PWKW1w/JO59pvx8A/ui5a/jEg2ew\npCiRiliZz/uSokR6xJK+P1wQKzKepPN/YrGBP3jsNXz55ej943/es4yfgvY2/+nTV739A11bAMCo\nCvjJh86l/v53n13Cx95+JvL3Jy5v4zF3Psfj8eNXFBFffOkWvvrKpve3LPOPH++/awXff/d64G+1\nioTPPHsdf3nxduT5+j51DW9dX4AkCbDN0T1X6H57YvT3e1ZauLAaban53HM3vPUCV7a8vd8nHjyD\nekXCKzcOcfeZedzc7qE/NPHX7WzjeWmrE1hffv7fPeq93z9ftRoVXLrVYf7e33nqknd/HvR0zDVH\nTLG49cgybdQawecrvL/6nadGv5d3Pn/5R+6P/D0ruCFxu93+CQAnAfyvAN4C4LMgKon/DKQq9l1d\nGVNkkdssnRfEY4rIJjoOyYjxshZh8/uUg38AACAASURBVMpJoWyDzO8WOIAr1pG/t4iKuWT9TBJ4\n2SYW/OpTeah9PMiSwKQm8nK4RWiBRfoIk6pw0yLgEW4mp/5cvKpXVtngImjUFMw0okGNH8OSeyWL\nQtMtLGRkIIgxoktFYTtOYcGA5blaolpgniqKX77+OEF7QAe6mShNnuv7xUlUxLIaykaNyMtCuN/v\n5HITRxmVclMfi2Go7kdalUsKy2YbNsdVvcNzvSKJsEu63qzeprheSEEg8u6T8imkiBOjWZmv48XL\ne1hbaKBRK14Ri0Na1s5hV8N8i+8h5odRQmWzLMSOot1u77Xb7d9ot9sPAHgAwH8G8F+BJF3+vaqq\nv6aq6lsmMM6pQ1zzb174xTooNbFMZcQnXtwo3GcxrUbT0w7aIFqkt8i07MR+r/BEnuZ611xKRJpr\nS/xYRmIdpQVioohGyPuDqkyyUIQXbtuAkPOxSjpF0+AjBiBCBaaeTLyFJw1NpUysh6iRYYR7Si3b\nnhh1koX+0MBawphZmGtWPOGKMuE4iJwPmuhJi6WEQKw/NPFnj17OPLaiaodlgfZwpZEml0UxM00z\nj9hPFhgZvJ4o4uhWhcdjBX3yVhfq6A3GkzBJkhjPSoO3bIdJTYybUsL95ooswSrpvmYJRtQqElcN\nUxQEaIY1VmVb1k+L2xOsztfRHRgQRcHrPR4XJDGdONdhV8e8WxFLmoOsEkRXyoKQdcJUVVUBkaz/\nBQA/DBLMfavdbj9Y+uiOAdvbR6lOyP/5+0/jH//sOyJ/3+sM8cLlPXzgrSczH/uwq+Gbr+7gzrUW\njvo6NvcHeN/9JyI88U8/cgmOA3ziA+e9f3/84fOJ3/8fPncRP/tDaqFNV/hYjuPgM49dwY+9P0oT\noO/99COX8N771/HKtQO8/3vWI++jWFlpYXu7mMz95n4fr908xHvvWw8cn3d+wq9R1cI4Q8A8+NLT\n1/GeCyfwL/7jN/H3f/x+rC5EN3WGaeOzj1/Gj3/gLuZ3/McvvYLluRoGusU83wDwJ1/5Nn7ye0eU\ntMeev423nJ7H4y+QIJx3Hv7VnzyHRlXG3/3Yhdjr8F+evIYPvu0k6lUZnZ6O//D5i/jo+87irpNz\nqe9Dis8+fgUfedcZyJKIT331NXzsfecC9+ZXv3UTl2518Hd+5B7vb/tHGv7Z7z+Nf/5L78GfP34F\nH3/4PPaPNLQaSurs1rde3cHcTAXn1mcDYzYtG72BgbkY9cinX97CicUGHnvhNt50xzweVFcCr2c9\nB0nI80ywxvCXT1/H7b0+fvpDb8YffulV/NwPqYHXP/mV1/AT3xu97z79yCV87H3nsNcZYjmnAh9r\nPJ99/Ao++t6zzPfvdYZ4/tIuPvi2kSvKUDfxlWdv4YffNaIXffqRS+RaOQ6+74FTmcbw6Ucu4UPv\nOI2+FlXrBEb3+V984xo+/vB5PPHCBh68bx2VGCLI737hIn7hI/cE/nZju4sb2128+94ojbwI/M8h\nxeeeuIIPv/M0PvfEVXz84fNoX9uHaTm4cG4RAHvu/rNHL3Pv10u3OnjixQ387R8M5lrT3OPhufeP\n/vJV3H9+EfedX0r1++jn/u9Pv4B3qCvYPhjgQ+84jVMn55nPw0FXw7OvbAfuA8O08cWnCC3pw+88\nE7vuPdPewsp8HWfW4pUT/b+dzgWnVmcC7/nUV1/Dw9+zzpzjs4B3nq9vdbG518c77ib2rQddDTN1\nMv8NdRN//exNfORddwY+88r1AxiWjQtnF3Md+9OPXMIPvvM0Hnt+Ax9+52lvXvrTr13Cj39g9L6d\nwwEuXtnHw779T5458cmXNnF6dQYnl5v49COEHka/ozc08Ojf3MYPPRSlGvJA199wz/3l2x0c9nRc\nud3xvv/PHr2MH3v/OZiWjS88ec2bp25sdbG538fRwMBb71rGV791M/dc/+yr21hoVXH2xMgQ+8pG\nB/sdDVc3jyLfu7Xfx1Mvb2GmrmD/SAu8XsYa8eePX8FQt/AT33tX4LVXbxxAMyw8/vwG7ju/iPfe\nN9q/9YcGPvW1S/jZD6vYPhignbC/Y4Gea94YgdF1Z91Hn//6VfzAg6fwha+TOe9LT1/Hu+9dQ6tR\n8eb4R567hY+8+87A93784fP47c+9hLecmg/cq3/26GXYtoNPfCB+3wiQvebSbA3rJ+YKR3OZd+Tt\ndttot9ufarfbHwVwGsCvApi8Ru4xgyez2cqgQBeG7fK7XXVs9IdGqQFBp6+XThkRBAEffd/ZxPct\nz9aw2xm/qXNWueS5mWrAbPrla/t49cZh6eOiIiJxIhGKLHI3p4DbKJ4QRIelv2kza1LC5Zc+dgGr\nC8mPsV+sQxRdVUNxpCKWRdHJ8TUsf+x9ZyMbJVGISpQrPtVEiidf2sRz395JfVweNfHmdg9PvbyV\n+FnBrWpOoygMD6IowLGJ99RPff+bIq//2PvPcj972NPxb/70efRLpJ7E3efzrSoOQp50OsO3ESAU\nxqOM2XGKjd0+Lt1iP+tOKBu+00mWgv/pD0XJIXcsN8difMtSh6ViAhSnV1u4vsUX7Eii0d7e7ZUi\nlQ0AP/KeO/Htm4c47GarDloufShJ2ZAoIwbXSmpiHFZeZWF1oZHZC456O4Vx0NXG2uhPTI5Hx33k\nuVveueHR1+O8x8IwLXb1mSroxYEwJkLzeAafSoo49eM81ReW7ysQf17CZsFUNdFvYZAXLBGtmTpf\n8EoSybo3LiqdX8zFsh1vv0Cuuci8Ho2agv/6+8ha0qzJpa4PaRHe7/VCAndD3eQ+iyz1S0VOb5j9\n9Rc3C6mk+1Hoqrbb7Y12u/0v2u32vaWM5nUEXiCmyMV44yNqInkQWBvGvhaVtU+Dw57OVeUpgjSB\nTxzNrEykcU334/7zi3j+0kjM4rCro6+VP6HYrpqVkKC2x5LYpXAAT8GIh7CEfFo5/3pVTm10S3sj\nqSQ6XZRWMxrb+j1vWL+b0OmCf6ObTf9Yh7qJ126yfZx4v4F1Tjb3+4mJCvL7qWpi9DvybDomAeph\nB7D7weLuu75m4oNvvwOfeezKRJ5hVuLA5GykNMPKbao7NEzufBgO1s0UNDHW6+PqGbQYm2UiuTz6\nPY1aMV/C3cMhZpvxvXxpMdes4L33r+O513aT3+yD6W561xICpSHDtNl/HyVdh9X5OrYyGhTLkgDT\njN57B119rIGYFJKi39wfeIkLXg9ynPdYGJphoVqJ7i9YPTVheqbOME6uV+TM5yMcBBUFPxCL8WQL\n7SWoh5fhKvkWmetZ1MS5ZpVrASNLArQxBmKST4nz9OqMl8AxXPsIXoKbznk111ZpnKhWpMh8xup7\n9j/rmm5x13QaZPqhSGLqRP5hTy/N93U6OtVeh0jinOcBVdQTIMRKoex3tFzS9bphYTgFTdTjhJOx\nIrY8Vw9U6g57OvpDE4ZpY6tEiW0aEFH/qjwQBSG2Wde2nUg1lgYdaXoHsm6yBcGV1HUXuKyBWBJY\nG3JZZgdA8zPpe3FYZr0AsH0wSPRCsdwNAvH7i76uyCJzc3bcKGKAPBiaWJmv4UF1BY8+f7vkkaUD\nbyOVBrz7WtMtfiCWwn8vLRZmqtgrmQ1g2dENSJXhQ1TkTmRVjov06q1m8OuiMC0bklsRiw3EtHiJ\n+iQQH6RsayPXz8txxipWooSOq5s2Dnt07mOb6sZ5j4WhcXzXWBUEYkUxui4GQya+xthAJyFJUInK\n2qcFz8Q37rzYjhOoLtJAjMrXVxUJmp4vEKPMCj/ikviSJELzJT2LInyP+Ku7F84t4sUrewBGvnlJ\n+4dxiV/5sTJXx85hcB617XhRl6FhxVTEookFRRGZvYQsHHY1DEqy/3gjEMsJXkWsCKj0rCAAcUle\nQRQymzk7juOJMhwXBFdCe5ywc7i7+yd1w7TRH5rY7QzxzVfS090Sx2VTsY78WXJBQCw1UWNMOrSC\nY9nJfjxZM3yiOPI2AaKLclEIYrRZWBJFVBkCNu+6cAJPvrQZ+TsLvCohqbSl+yzPUFqR0lMbJglB\nIEmKPOgNDTSqCt58ar7UQDsLDEb2Mi0sm60wONT5i3SZogd337mAl8fgJxa+/6oM75uqIsbO+bWK\nnInmpRt2bPU0CRVZzBSkWJYNWRQSq3tD3UKt5L7eJIQpghRhQ+uyIYWqOPPNCjpuRYy2N4QR5z0W\nBs8Am1VBWF9q4LaPequZViRhUq/KGGrZzgdLVdCPE0tsE/WskF3BqfCz5DhOhJ4cDMQEZuIjLXgV\nP74PHFFNHJdYh7+y6ad+0naIcRknx0EIqc7y6Mlx+6nYiphlQ5aj9O60Cb+hbmW+r3l4IxDLifEE\nYmQWJTcWf9JsVOVARUxI0QPU10zMz1ShTdAtPIzluRp2Dse7kYuT6Obhzafn8er1AwCjCanbN0qV\nYyUbeNojlu87REGIzYgNdSuSUfNP+Ekb2UZVxiDDxCIKAgxzlKWrl+xGL3IC93AvCECoT0d9PVWG\nzUlhcs2DF1ALbMUtulhPG1j9dmkgiQI6fd2jQrcaFS59pkyEzWINK39FjNCl2LRGHkPA7/dn2Xah\nTciJxQY29sZvYF1jGCmfWpnBjW1+n9jKPHtOthmbU6DYdQCAe88t4iU3254GZkqbFhY1cdygqox+\nGKaNZj07FS+MuHlMFkd9Tf2hicXZWoAWxqQmZpDa1wyLub8x7WgF4cRiA7d997ZhRCm8tWp2c1ze\n/Ufhp88VAe2N8p9vqgZsh2ieZG4nv0MQhEI2DbxkII+tIbsVsbLk6yNMkxDdlcrRG25fYBHLl7wQ\nBcDx7YOT+kRZ0AyLW+k2LSdKTZTTB2Jl7nfeCMRyYn2pmCISC7RnhsrX83B6dQZzzZFXQhr+d6en\nY3WhfqzUxElsSGwbmSlFbzk1j1dCAh3dgYFeThEA9rgcj5aYtyImivHUxKFuRrj9tGdOFITEbFoj\nY8OtKJJNrv97y2wh8vc1+VGrsjdcbz41n0pohUULSQvvfHIqYvKUVsQoPTUrZFlEp6d71gL3nVvE\nC5ey9fnkQZgyzKI8pYXh877zI+3m8OBI9wyB82BS3nJVBuPhzFoL1zb5imrLDLoPQNTvluei9HeD\nE9Smxbn1WVy+nb6f07LSBmJRsY6sUDJW61hCD4ddDWuLjcLURD2mJ5FU4sjDvHXQx5pPZInHCMki\ntT/U2EGtaUZFKiqKBNP00ySjz1q9ImemcCX1NhP2RQkVMcbeSfYCsWDwQSTUR+8j1MS8FTF2MtDi\nVJ4kUXDFOsYzl8ghiuaFs4t48fKeR98jFcqxHJoLwqAa/TupKk5pzH5oerRCSyGKQmRuqchSqkCM\nMsyyJK7j8EYglhN+aeUwhJzZZ6+xGPHc/h948FSwZC4lZ+E7PR2r8/WJG236My9l0QnikCdzE+Zm\nC4KAo4Fe+oZaEOgGPt/nSUVM5G7shrqFRlUKVJEs2/YCwKQJplFVMjXckopYsiJZXlDvqzB4G677\n7woKr/DAooX0h2aqjRylaPBUE6e6IpYjEpMlEZ2e4VXE1pcmU91Znqth+2AUIOimlZsSRxQXo5/V\nDXaAFgYvKMmCpdkadjJmc7OiVpEwNILP7/xMBftdfgVzeb7GDMRu7/ZxgpFs1BnUsyygc3Pa9ZFs\nrshnZJmvysqj02XB2kID2xmot6xN/EFXx4mFRuFMeVj9LXjc0Xq1uTfAqt/fjiPWITGqdzwMDXZQ\nm8YA1+8zSVGrZheNCc/R4TUvq2ceDxIjmJZEQuN0GOuEfz9TuCLGuFAC2JRMQRCYgUZZkMXgvUwr\njrQvUJby97bnRVaBt8OuHihQAPReZs8LooBoj5gsemIzvP0HQBhmS7O1N3rEphmkspD9Ao0qYgIs\ny05948splBoPezpWFuoT7xEzfRnNZi3bRj8PbDtftWOxFZSx7w3MiH9bGaAS9nkgiPE9YkPdwmyj\nElgcaAVHcv8Xh3pVwiDDfUsXB/9kVlHE1E3vSZMsT2CizplYJZHQCpIWfdYiuLnfx9pisnz/qNeP\n0yMmi4EM8bQgr1iHIonQDNO7xlSkZNy9nstzNeweBkUAeAFAkm2CbowsF/Jg53BYOBC7+84FXBxD\nn5gfrN4kIv7ER6MqMyv/G3t9pum2wQlqWeA93+fX53D5VvqqGL33VuZq2OQkAQgboFggtrpQz9Tj\nyhJ6OOhqWJ6vF07GdAcGmhxlZP8GcetggNX50b3pOA63R4zVz8YCzwCbZ58iCPB6i3VG5brO6F1M\ngr8nKa3ybx7IkhBJuEqSCMu2CTUx5riFesQ4v6nVqHD3B6aVv082CVLIioGubbQ3V3JVIicJwuJJ\nf8yDnob5mVEgJgoCBpqJqsJ7jkSmfD1dZ2oVPvXwoKvjxGIDwzdUE6cXrYaCo372PgrHgdsjBvSG\n6SXqM1XEJhyI8fjm4wJPHSkJ959fwpMXN9GoKXAchyzsYxh3knx9HJJUE4e6ibmZamDRowuaIKao\niOUMlP0B3koOGWgeeH1NcU35b71rGS9cju9BYVkcbO73sZbCgJWq1fF6/aa3IpYveCJBTvBz59Zn\ncSkDvSwPZpvBXjTD5HvozTQUdAf8+5ZsDvM/y7udYS6VWj/yKAZmBY8qFSfCw6uu94cmGoxEVFr1\nyooiQec8B/ecXUjdJyYIAmT3WV1dCApDhFE0Y0/mrvTVXpmh3Lff1QrRWCl6w3SJQDMUGDvgiT1k\nq4gxe8Q4gjkr83XsuNVrg1FlrlVyVMR8Yjkmx7drtlnJ7EsXhiiQ6leQgih4Xlpx91StADWRVW0D\nSK8z75iW5WQKTOIQVU2MVn/uXGvhtVuHkCUhVUWsbDE2QYBnlZPmGAdHOuaao2dPkgT0hyaqFQ41\nUUDEF29ptoY1NwEVRz3sdDUszlZhlfR73wjExoDZRgWHMXQQHkiDuEuN6+tcakIYaSpiPbepd9I9\nYrrBzq6NC35KQxY61vJ8HZdudQIZlXFU4kVqT5ADQoJYh6ZbmGsGK2J0MREZk1oYjWr2Sm5FCVIl\n1xYa2NwrKRAT4Sky+sGriAHAyeVk6hzLE2X7INmwF/CdzzjVxAym1mWD5/dCaa1ZIcvRzeY9dy7g\n4tXxVnfC5zYuAGjV4xNfLJPZLEjbpxQHqgA2Th+2akVkzu8nFuMp4XHzXLjqk7ZXrxZTBanGBGlh\niCI8OtbqQj02ECuKejWb2iEruOnFVLKyII6a6Ae9dlT5l+cjRuh2aXvE2HQuw2LT0E8uN3Frl1wX\njVExzaPW7K8YmZbNXAfOrM3gWkHBDkEQoBlWoB+PUhOTpNErhaiJbAri7EyFW3liya2XBVbLw71n\nF3Hxyj4kSfS8M+PQKNlLjCVOttCq4oATfB/2NMz7kiCyJEI3+MwyVo/Y0lwNp1dnAMSLcRz0dMyG\naJBF8EYgNgacXp2JbZDmgYgmkm16d2CgmTIQS1MRc5yRMd8koYVoQSxTvjLhn+CkDA3KAKFDhTnG\nZaOYamIyNXF+psLNiitywkRayz6Rhhfd1YVsWeU48FQi/f0L4eZ0RZYSqYEsWoiVUg3O8nrE2Bl4\nRZaOVawjvKmgIItO9hsv7FkEkPOf1XOpKAwGLYdKXM/UFXRjhHVYAgJxGNccmcc0OAskkQQG4fvy\nzNoMrm3Gb1h5AWLNR7/qDgzSb5ciqCXVOf5csjpfj9AMWefdPwc0azI6voC7PzRjFSEBvhx4GWCJ\ndZR1vN4w/foPkOpQp6cH1D79oH9zHAe9oYHbuz28cv0Az7S3I+uFzquIcaiJ60sN3HYDfYsRrOWh\nRfsTShanIpakCJoWWihZLEmkgmwjOsf7fwZLpTQteKIc8824QMzxqsOffuRSoQp7+HmXGBWvRk3G\nufWWl8RLqoglzcNZQVoqgvfbylzN+91fe+5W4LVu30CrMXpmZJdiyv1+QYjdT9UrEgac63vY1TE/\nU7zy7Y2ltG96Ax5ajQqOctyQhFZA/kc44ukrYnk2f89f2sVffONa5s+lRbUi4bCrByb1EyG1o9/9\nwsulHtPf/6NkoGMAwAffdhJ3rMx4i1ZWX600oLS2PBBFAbIocjdNQ93C3Ew1kKWjpXMphWpiniA5\n0g8Qyiq/cv0AT7+8lek7KXhVnIfuXfX+W9OzU195tJA0IF4ufNEVQk1kX58vf/MGt8elLGic5mRR\nTL7+LPCSN626EjEPHycM0470eUmigHpFxvpSM1bKmij9pbtHDNPG//O5lwqNlYe771zAy2OuJJqM\nhMLaQgM7hwPceaLF/EyzpqDnq4T3hiNxFr8S46e++hoMM52ENumv4G9SH1BX8Mwr296/Oz0dv/WZ\nF71/++dgf3+iH5duHeKFS/EUx6zU+Czxgl+9kIWXruzhr565kf4LfYjrEaPwCwwtzRHRFepFysMn\nv/IaHnt+A1c3jmCYNo4GOq5sBGnGvP4lltw3EL3WaQPRTk/n7j+o3Qs5LlukIo8/GQuabqHmu0eq\nboDlMNgFrcYo2KgqURPwx56/7Zkhx4HHXFhdaOC+c4vMz4huj/j9dy3hoXvWIoFIEciiyFwTf+pD\nb/FeFxIe+2bJgZggIELFXFkYJbO++q3g7w/3flMxnXBVn+6JklSo43rEyrbLeCMQGxPy8GW9bJYg\n4KhvYKaeskcsZ1/KqzcOMNDM1Bsq07IzeXSdXpnBa7cOg4GYTzlxoJm4eHUPe52oalde+DNN4QbU\nJKwvNTFTV7wm3DxUPR7o4lSkR0zwZXBYwZhmWJhtVrxF0e/FIiRMOkC+HoukKtKlW53c9BEWdQAA\nzp6Y9f6bGLlGJ8Q4Cpgdk7WOUzwdaCYqihhrQ6DIIgyLvTm4tnmEyxvj7a3iNdrnpyaKqDM2hBfO\nL+GFy+OVsScbIvL8sQydZVlErSphtlnBUZ+/AWCZzPLw3Ld3Aps7YgZdTkVlZZ4tFV8mWL10oijg\no+87h7e/eYX5mbC/48Zu37Nnqfqy/nTzzpNV9yPJO4oEf4b3nB50NYgCSdwAo+c3zjvx+lYXfS1+\n4xeudiSh1UifYAhLfgNBWuD2wQDXt7pcKlUc0pxnv8DQ6dUWrm91PS9SHhRZxIffeRrvvnACF84t\n4s2n5lP7AhKF3PK2jLudIb7NsRvxBypx1fwyip3D0Jw516yi09ddm5Pge08sNbxkmqJE7Q4u3+7g\nSor+WV7/mSKLXIq8LImQJRF3nZzDyeUmZpuVXBV21tooS2zq4R3LTQDsilkYpVfEfP2hFIutGvY7\nGhzHwV5nGPus0ufTX9XfORhgye335e0vKGpVKTbQL7PS/kYgNiacXs1RNnfnUBHZqYlZKHgAyR44\nDvDhd57GXz5zPdVnsihmAcDptRZevXEYWFD8pny7h0P88ENn8OTFzUxjj4M/iyVLQsCkMC0aNRm6\naaNZD2aKy4Ao5H+AaXMpUXWK/i7HcVD38dYv3e7g/Pqs+9lsCkRhWLbNDPZZlQb/PN/XzJwdcckG\n1gAJjuohqeXZZgWdmI15OOPrrz7HqT5+4+ImHrpnjYyNE1DLksBNirQalbHbN/BkvIlUbz5qYoMh\njnLSR0caF5bmap6SKSvAkCXRu/ZzMxXsH7E3vMRkNvpZ1jN0+XYHZ9ZGVfGjvoHFVjGhjjDG2Sdm\n5JCXX5qreWILAFFMPOE2rFOJbsu2cXu3T6iJaSpiKWhbZ0/M4soGofAf9nR86MHTePrlrUAiJNzb\nKvmMiQe6lbg5DFc7knBmrYVrW+naCuLkrQHym37y++7Cl55Kt75mxdb+wBMYmqPURGRLqM010/ez\nx/UoiUJ6SwKK/SMtlslDn0FZFMfWGwVEWQRzM+Sc+AVDKE4sNkYVldBrVzY6ePOpeWhG8l7MX/FL\nC0kUA4nwD7z1JB7xVcXSJv5Ny4nMEUnUw3SBGFuBNS9YLA5Kcx1oJs6fnMXNmJ5R2prir+o/99ou\nvueuJfJdCXuieg6Rmbx4IxAbEy6cXcCzr+5k+oztinVAAPpDA/UYdTg/mjU5NhPBWviv3D7CufVZ\nNGoKFls13EhRtdAZ9KA4zDUr2D0cBipi/g3Q9uEAZ9dn0e0bpW1OvHMIdsYyDRpVGc2aTLK2JU4s\nAH8DnwbvuHsVtYocG2BWK6MqwsWr+7jnzgXvuEWkb7/5yg4e/ZsoFYLVL1JhZApZi3RSQCr4GvVZ\nEEUB3YGBeqgidmKxEUsBDNNCNvdGmWWWBDjF1v7A26DSqlgYvB41wyS9W+Nu0RzqJnPjmZT940GW\nRKZ6q8CpCJaJ5bk6tt1AjJVBViTBmyMfePMKvvXqduQ7ALZqIp0bRJ/y3V5niPlWNUJlKSpd78e4\nTe3TBkp+hE2diVw/eR6oEmOnZ2BproaDrpaqR6zmm4d4eOtdS3ju22SNPOgS6el3XVjD11/c8N4j\ny0HZ7NWFeiYGhWk7mShE1D8pDzQjGATbtoNmTcGZtRbaY7Au2D4YYMUvXY/4IJ/1UrMmozdMt8YR\n2iv7mV+crWVmtuwfaTi53ExknchytFeoTIStD6hiK4uauDhbY6qJAsA3X9nGA29hV53D8LNV0kKW\ngsrHVYWwATZ2e2hf28cXUwb8BsOTUZKEWKl+WUyWry+7IiYAXAbWflfHvWcX4ytiogjLcgLCQQdd\nzVPApewWHpKq+mXijUBsTGjUFFRkkZulZYE2+hLZ7vSZrdWFOrZi/E9Iljy4mXrx8i4unCVc5Iff\nuo6v/c2txGDIMLJnWxdna6hyFm7qz/OmU3P49k02RSErioh1UNRrMmZqCpr19ItUEvxUm7w9YmsL\nDa9PjNe75g8k/IqVUs4eIYrrW11s7A0i158lgrDqGqOSapWE1YV80t1JFbGTS01cutWJ3Nsnl5ux\n1Wh/NlIUBGzsjaTra4rEVJ67udPD+lJzNDZejxhHOOfGdg+nXJrHOCsihIrFDpzyVMRkSUCjyt54\nzGagceXB8nwt4O0XhiyJXiC2NFfDbodTEWMoLkqSANsm15tWQJ+8uIl33bvmVRcAcp3LDMTGrThp\nppSX96NRC/ZC+D2cam5F7KCrxYVGkQAAIABJREFU4czaDHYOhqmET6oplPIqigTTVafr9HTMzVRw\n18k53NjueaqK4QB6fbmJrYMBND2dAIssCZmoifWqzJWsTsJhV2M28D90zyqeaW/nWoviQAKjoNof\nS6yFgrUPyBIM0H4bFk4uN3FrJ1uC4aiv4947FxKZQ4SSx1e+S+rjDgs6haGbdqRHTDesQFLXO54g\n4EE1Gmz1hyYUiXhQkZaG+H0DTzUxDrIkRgKTD7z1JL745FW8cHkvkaZLwfJ6IxWxuGMnqybWcxh3\nx4FUxNjHPOhqOL064z1vrL5GWRJhO47XahKeM5L6hmsVqTTD5iR8xwZiqqqKqqr+c1VVb6mqeqSq\n6p+oqrqa/Mny8MG33YGvPHsz02forZRF5UuRpdhJvtOLOo7rpu3bpIu479wS/ua1+J6PPH48Z9Zm\nmM3StuN4Er33n1/Cs6/ulLJB9Vc7ZJFsirMGPo2qjGZdiTSxA4SeVgRFVBMpaBMqC3TS2T8Kbgqk\nFD5iAFls2dQ6siiF+xZY98PaQh2b+31c3+ri9NoMzp5oZTJwpUjqazqzNoP2tf1I5XihVY1NgPjv\nEUkigdiSu9nmbSCfeXkL77h7tADz5HwVjnDO1c0jnF6bIUbFnSFplM/hNZiEcL8DBQ3gs0KR2RUx\nwKVx5VCHTYskQZCF2WpgXpsJydjTZnbdjBo6y5KIakV0K8gWHMdBt29gtlEhdC33uIokYmG2PHWs\nxdlapuRcVjhO8gYjC+h8ctjVcedaCzuH0WQMC0liHRR3n5nHK9cPArT3H3jglNdXFT7W+nITW/sD\n3Njp4pQrM+24NHsWZFHMYZ8y+rLuwEhtR3HQ1QPy2RSCIOB7335HgEY2DhD1wh63R4zIe7NVgema\nEYc4X62TSw3cymEtcGathasJc4gUU82fbVTQ6Rm4unHEpUYmed/x7hGHkwx/z4UTkb89+dIG3uX+\nPa1KadZ9SbUiRQLKqiJhoVWDIompbXF0xvmQEwybpYRADYjzJDRyqeySHrHodatWJGzs9jE/U8Hp\nNTIHDDQLs43gvU2TMLQidvHq/v/P3n3HyVVXfRz/zPZsyqZ30uHQQ2/SBRQB6YhKtSMqyvOAvSM2\nROz6WFCUIiJSpYNA6CC9HEoSEkIS0rPpZff549zZ3J2d2Z3dbGazm+/79eIV9s6dO3fmztxfO7/z\nY7txGxKh5EbS5Covy5+oau26/MljNkaPbYgB3wZOB04DDgBGA9eV8gRqayLEbX6RowHZnptMJtOu\n1LVtWZKz5sH8xSubKp5ZO08cxCtthE8Uu4ZM2pF7j22x3sKAvtUsTm76maSyvfOEQfzhphc2OnFH\numekaR2JdvY8jRnWhz1saIRtpIba161v4MYp0zYqBXWh9afaIzd0Ki07R+n5qQvYKYmFBth7+2EM\nKaJn/8DJI/jnfa8127Zw6SoG9Klmwsh+La5/vlDV7Ajtm3PqGTOsLyMH92ZmB9IMR/rawp/V4P69\neGve8rzrilVXtp4Bsmn+QfIdyRb01VUtwxHWrW9g7fqGZr3Ju2w9uGkic1q+RvKSZauZs2AFg/rV\nMHZYX2bMXYbPWMTl/36l0xd/LjQnpqNzBIcNrGWv7fL3X21MGFcxMpns2kj5e7R3HD+o2X1sl60H\n80wS6rZm7XpuemgaK1ato6GhsUVoU0VZhurK8qY5UK/OXMw2W/UHNswRATh2//GdHhbV1ndzo45d\nVd7uEbG09Q3NEzJlk3UsXr6aMcP6srB+dVGfR01V/pHlXBNG1jXNE8saVFfD2UduB7RsiPXvU83S\n5WuYOXcZY4b2oawsw/wlqwo2livKMy1GgdoyuK5XNGiAKc/Nbgr5aqujcHGBETGIEaPIarjpRsO3\nHTuA595YULCjb3H9agYUOD+fsZhbH5ne6vFbmwNWW1NZ9IhMWr9k+kJrx25tRKyuTxVLlq/mzidm\ncvXdr+UN+22zIVbgO7KwfhV1RaQob2xsZN6SVQxNkmxsqg6qQnMd37vvOA7fc6uij7MmzxInbS3Y\nXFHEOmKF3P74jILTdFqrC+XLmgix9MXrs5ZQ16eaUw6Z1LRv7m+vvLxswz1+zXqmzl7SNGce4Oj9\nxrV57vm+lumBjc6au9gjG2JmVgl8Dviyu9/r7s8ApwL7m9k+pTyXg3YZxf3t6QmLpIlFp65PK3ST\nX5rTEHv2jQVMnji4xX4TRtbxRishgmvWrW/3wqi1NRUtfmzDB9YyO+eGue3YAZz+3u2Y8tzsjUrL\nml7QuaI8w+p169uV6RGiJ6S6qpzeNZXMmr+8KXTi9beWcOz+4zucjh3y31jaq7W0ydnPet7ilU0F\nQzyn5YKN+QwdUMvooX2a5m4AvDJjEduOHcCO4wdhYwY02z9fAZftDa9fuYZ+tVVkMhn69qpqtgZQ\nMSLBRCtzxDIZBtXVUJNnLuVOEwbxwrS20whX5GTWzJdk4Pk8v5dCn2e+hYhvfng6xx8wgUwmw8jB\nvZk1bxkz3lnGCQdN4OaHp7d5ju1RKItkWVnHCo2yTOGKbK/qioLrrHSW8SMioUMxFdiYGxidJDPf\nWca7dxvd7HucVlFeRk1VRdN39YVpC9lxQvSW1vWubvpOFBoN3Bg7ThjI3+58lb/e4Z2WlTVrYxpi\njY2NzF+8qlnjNttQXbp8DVsN7cOyVpLgpOVbYyufQmsXZt9DbsdP9ve1sH41A/pW07e2ihemLWTs\nsPyp+SvKy9qVrANgz22H8kRyj1+5el009havjAyarZQli+tjnhtEAzb3dzMm6YRpSzHf9RWr17WI\nBOhXWxVzjwqMjKxraCzYUJz5Tj0VbS5G31b50frjhd7XbtsM4YmXC5ep2WyB+dT1rmb2/BWMGdaH\nDxw6iWdem89dT8xsFq5YaF20rGyFPddb7yxjq6EtO9tyvTFrKZNG1TX93WcTJPkCCs51rKyIEO0+\ntRsiAt6YtaTg552vQ73tZB1tryOWT3aR8VnzO9YRm++6D+nfi1nzllFdWd70eFkmQ12fPCNileVN\n2Xcbc8JBiy0Pcz/HJamGWGelsO+RDTFgF6APcH92g7u/CUwnRsdKprqqnP59qpt6aupXrOEvt7+S\nd1JjrIMQhU2xqeuz+vetZvGyNSxdsYY/3vpSszCDpSuaN8QWL4tCLNdu2wzm4Rfn8PSr8/L2UHUk\nNDGfEYN685//zmrxQ6ipruD9+4+nsbGRWR1cqDG9lkR5eWTA62hPTllZhtOO2IaX31zEvx99k5fe\nXMiuWw9m+cq1HV70tb2NwnzaquSsW996haEt+08exRtvL2kancxmUautqWhKVpFV6PuQe8/ea7uh\n3PPkW+3qES4mwcSkUXV5b4YRHtJ2r2R5efNRt+ycmLTXZy1h4qh+uU9tU2NjIzdMmcqRe49tCn2p\nrIi17VatWc/oIX2YNKquWXKCjbWqQKWjo+nr27J23XpueHAq1z8wtdPmU6ZNnjS4XR0fNclaeNNm\nL2W/nUYUDHsqL89QU1VOTWU5i5etpqqirGmkp29tZaf8TgsZO6wvR+83luMPnMA/73+jUz+3msqO\nNcT61laxcOlqnn5tflOCH0h+D2vWJ4knKopOIAV0ysLmrWXpzWQy1PWu4qXpCxk9JH+FOUJQ21dm\n9aquYO26hqaog3fvNpp7/vtWsrBw/s921Zp1vDVveVOG0eqq8hZl7K5bD+bpAgll0tYUkbp+wZJV\nTfNa0/bfeUTBkKuKspaVVYjPcdWa9ey9/TCefCX/+a1YtS5v9tS0frWVBZeR6N2rksdffqcp7Dtd\nDmyzVX/WrF3Ptfe+zhtvt+wILi8vfO/q36eK56cuYMzQPlSUl/Hevcew/fiBXH33a01hzflC8dJq\nCnRerF3fWFSW6Gden8/kSYNabF+5eh33PNW+Mq81bX2PRySJgJYsX8MDz77N1Xe/lnfu/Zq1LedX\nFgq1z6qpKi+q/MhkMs3WiX3mtfnssvXgdq3Pl1WWyR8RM7iuV4uMt2VlmRadDNHZFh0ir81awlZJ\nKHN7DKqrYWHO3OMly1Y3/Y761HZO5FpPbYiNTv7NnaD1NlD8GG4nOXDyCO56Yibzl6zkhinTOGa/\ncfzrgakt1+9oBJL+rPaOiI0YGPHhDz0/m2P2G8d9T7/VVIFZtmItfVOhjoUK0/KyMk47fBt6VVdw\n7b2vt6gAxZD2xn9l+vWu4pzjdiw4NLzXdsN45vX53Pbom/zjvte5+8mZRScFSPd6VJRnOhSamFZe\nVsbhe2zFHjaEPjWVVFaURw9ezmfz+ltLmsJZWtOReTr5zik3pK2xsbEpI98bs5ZgSZhVRx297zhu\ne3RGU89iodG0QgXc2vXNG+0D+9Ww/bgB3DhlWtFpjosJpzvxoAl5C4hMchNft76h1XVyKsrKmlVo\n0lknITot6npXdSic9L6nZzF54uAWYcBpO08cxKL61bz21uI2J3gXY32BFNMbu3xBIScfPIn37z+e\nw/cYvUnSdFdWlDF+RD/enFNcqM/OE2Ou69IVa6nrXcXkSYN5KU9yjIpU2MqDz85mz2RZguxjueHU\nnSmTyTStWXjiQRO4/v6pTR1z85es3KiKW01VeYeyo+6343BufWQ6q9eub8oqBs0zz2YymWZZ+toy\npH8vFhQRal5ZUVbwnlCovMne0vsl6dcLVZizDe72mjxpMI+/PJfqqnKqKsuZOLKO56cuaDE3ZOny\nNdzw4FTueHwmR+07tuk+EXN3mlcMI2tqI+vWN7Q6p3t5EYs5ZzIZhg5oud6UjRnAznmiXSAa2/lG\nt/vWVrJi9TrGj+jHvMUr82Z2Xb5qLeMKLAieNXFUXcF5gYftPprhA2u544kZTYtKp6dfHDB5JCce\n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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | Summary stats | \n",
+ " All trades | \n",
+ " Long trades | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Total number of round_trips | \n",
+ " 668.00 | \n",
+ " 668.00 | \n",
+ "
\n",
+ " \n",
+ " | Percent profitable | \n",
+ " 0.55 | \n",
+ " 0.55 | \n",
+ "
\n",
+ " \n",
+ " | Winning round_trips | \n",
+ " 365.00 | \n",
+ " 365.00 | \n",
+ "
\n",
+ " \n",
+ " | Losing round_trips | \n",
+ " 301.00 | \n",
+ " 301.00 | \n",
+ "
\n",
+ " \n",
+ " | Even round_trips | \n",
+ " 2.00 | \n",
+ " 2.00 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Summary stats All trades Long trades\n",
+ "Total number of round_trips 668.00 668.00\n",
+ "Percent profitable 0.55 0.55\n",
+ "Winning round_trips 365.00 365.00\n",
+ "Losing round_trips 301.00 301.00\n",
+ "Even round_trips 2.00 2.00"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | PnL stats | \n",
+ " All trades | \n",
+ " Long trades | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Total profit | \n",
+ " $13825.01 | \n",
+ " $13825.01 | \n",
+ "
\n",
+ " \n",
+ " | Gross profit | \n",
+ " $33970.19 | \n",
+ " $33970.19 | \n",
+ "
\n",
+ " \n",
+ " | Gross loss | \n",
+ " $-20145.17 | \n",
+ " $-20145.17 | \n",
+ "
\n",
+ " \n",
+ " | Profit factor | \n",
+ " $1.69 | \n",
+ " $1.69 | \n",
+ "
\n",
+ " \n",
+ " | Avg. trade net profit | \n",
+ " $20.70 | \n",
+ " $20.70 | \n",
+ "
\n",
+ " \n",
+ " | Avg. winning trade | \n",
+ " $93.07 | \n",
+ " $93.07 | \n",
+ "
\n",
+ " \n",
+ " | Avg. losing trade | \n",
+ " $-66.93 | \n",
+ " $-66.93 | \n",
+ "
\n",
+ " \n",
+ " | Ratio Avg. Win:Avg. Loss | \n",
+ " $1.39 | \n",
+ " $1.39 | \n",
+ "
\n",
+ " \n",
+ " | Largest winning trade | \n",
+ " $2425.01 | \n",
+ " $2425.01 | \n",
+ "
\n",
+ " \n",
+ " | Largest losing trade | \n",
+ " $-1403.06 | \n",
+ " $-1403.06 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "PnL stats All trades Long trades\n",
+ "Total profit $13825.01 $13825.01\n",
+ "Gross profit $33970.19 $33970.19\n",
+ "Gross loss $-20145.17 $-20145.17\n",
+ "Profit factor $1.69 $1.69\n",
+ "Avg. trade net profit $20.70 $20.70\n",
+ "Avg. winning trade $93.07 $93.07\n",
+ "Avg. losing trade $-66.93 $-66.93\n",
+ "Ratio Avg. Win:Avg. Loss $1.39 $1.39\n",
+ "Largest winning trade $2425.01 $2425.01\n",
+ "Largest losing trade $-1403.06 $-1403.06"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | Duration stats | \n",
+ " All trades | \n",
+ " Long trades | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Avg duration | \n",
+ " 17 days 06:28:01.440119 | \n",
+ " 17 days 06:28:01.440119 | \n",
+ "
\n",
+ " \n",
+ " | Median duration | \n",
+ " 17 days 00:00:00 | \n",
+ " 17 days 00:00:00 | \n",
+ "
\n",
+ " \n",
+ " | Avg # round_trips per day | \n",
+ " 13.63 | \n",
+ " 13.63 | \n",
+ "
\n",
+ " \n",
+ " | Avg # round_trips per month | \n",
+ " 286.29 | \n",
+ " 286.29 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Duration stats All trades Long trades\n",
+ "Avg duration 17 days 06:28:01.440119 17 days 06:28:01.440119\n",
+ "Median duration 17 days 00:00:00 17 days 00:00:00\n",
+ "Avg # round_trips per day 13.63 13.63\n",
+ "Avg # round_trips per month 286.29 286.29"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | Return stats | \n",
+ " All trades | \n",
+ " Long trades | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Avg returns all round_trips | \n",
+ " 0.04% | \n",
+ " 0.04% | \n",
+ "
\n",
+ " \n",
+ " | Avg returns winning | \n",
+ " 0.17% | \n",
+ " 0.17% | \n",
+ "
\n",
+ " \n",
+ " | Avg returns losing | \n",
+ " -0.12% | \n",
+ " -0.12% | \n",
+ "
\n",
+ " \n",
+ " | Median returns all round_trips | \n",
+ " 0.00% | \n",
+ " 0.00% | \n",
+ "
\n",
+ " \n",
+ " | Median returns winning | \n",
+ " 0.03% | \n",
+ " 0.03% | \n",
+ "
\n",
+ " \n",
+ " | Median returns losing | \n",
+ " -0.03% | \n",
+ " -0.03% | \n",
+ "
\n",
+ " \n",
+ " | Largest winning trade | \n",
+ " 4.36% | \n",
+ " 4.36% | \n",
+ "
\n",
+ " \n",
+ " | Largest losing trade | \n",
+ " -2.21% | \n",
+ " -2.21% | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Return stats All trades Long trades\n",
+ "Avg returns all round_trips 0.04% 0.04%\n",
+ "Avg returns winning 0.17% 0.17%\n",
+ "Avg returns losing -0.12% -0.12%\n",
+ "Median returns all round_trips 0.00% 0.00%\n",
+ "Median returns winning 0.03% 0.03%\n",
+ "Median returns losing -0.03% -0.03%\n",
+ "Largest winning trade 4.36% 4.36%\n",
+ "Largest losing trade -2.21% -2.21%"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | Symbol stats | \n",
+ " Data0 | \n",
+ " Data1 | \n",
+ " Data2 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Avg returns all round_trips | \n",
+ " 0.01% | \n",
+ " 0.01% | \n",
+ " 0.10% | \n",
+ "
\n",
+ " \n",
+ " | Avg returns winning | \n",
+ " 0.19% | \n",
+ " 0.04% | \n",
+ " 0.24% | \n",
+ "
\n",
+ " \n",
+ " | Avg returns losing | \n",
+ " -0.15% | \n",
+ " -0.03% | \n",
+ " -0.20% | \n",
+ "
\n",
+ " \n",
+ " | Median returns all round_trips | \n",
+ " -0.00% | \n",
+ " 0.00% | \n",
+ " 0.01% | \n",
+ "
\n",
+ " \n",
+ " | Median returns winning | \n",
+ " 0.03% | \n",
+ " 0.01% | \n",
+ " 0.04% | \n",
+ "
\n",
+ " \n",
+ " | Median returns losing | \n",
+ " -0.03% | \n",
+ " -0.01% | \n",
+ " -0.06% | \n",
+ "
\n",
+ " \n",
+ " | Largest winning trade | \n",
+ " 2.02% | \n",
+ " 0.34% | \n",
+ " 4.36% | \n",
+ "
\n",
+ " \n",
+ " | Largest losing trade | \n",
+ " -1.95% | \n",
+ " -0.27% | \n",
+ " -2.21% | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Symbol stats Data0 Data1 Data2\n",
+ "Avg returns all round_trips 0.01% 0.01% 0.10%\n",
+ "Avg returns winning 0.19% 0.04% 0.24%\n",
+ "Avg returns losing -0.15% -0.03% -0.20%\n",
+ "Median returns all round_trips -0.00% 0.00% 0.01%\n",
+ "Median returns winning 0.03% 0.01% 0.04%\n",
+ "Median returns losing -0.03% -0.01% -0.06%\n",
+ "Largest winning trade 2.02% 0.34% 4.36%\n",
+ "Largest losing trade -1.95% -0.27% -2.21%"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | Profitability (PnL / PnL total) per name | \n",
+ " pnl | \n",
+ "
\n",
+ " \n",
+ " | symbol | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | Data2 | \n",
+ " 0.89% | \n",
+ "
\n",
+ " \n",
+ " | Data0 | \n",
+ " 0.06% | \n",
+ "
\n",
+ " \n",
+ " | Data1 | \n",
+ " 0.06% | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Profitability (PnL / PnL total) per name pnl\n",
+ "symbol \n",
+ "Data2 0.89%\n",
+ "Data0 0.06%\n",
+ "Data1 0.06%"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\nq7eAo0xkn9df/ulcvqPLOlP2NWMb/5i5vH36dK+/E9W6nq9ZJnYwGWv9nNxj9+q1vGP8dG1rY53P\nt5dlxfU53fuaFeWY8ba3qShLf3nGWy5jXdhYlXmabKu8hEopuyT56ySHJHlVkrNrrQf0ff7EUV/p\n/5ngCUkenmSTWuuNveFLurA91Hu9fZKvJrk8yZNqrX9amfJdf/2EHr89Za6/fsXDzFSLFnV/V/c8\nzJ8/L4sWTahhQpOR+UnW7HqZyaaqLpNl63MiZnqdjzc/01nulvoca35meh1M1Mqse9M1z2OVcWXr\ncyaUfSasM1N1LJyo1v3sTFu+LVb2OLA807EspvKYuSZYtGjmrJOrUpbJ2jZnyjIYbSYcE5Lk4otX\n59RW/QfoiYbrDUsp9+/9f26SRyd5T5Jzk5yU5C+TPLmU8ugkv0vy1CSvSJJSynq11juT3JRku1LK\n5kmu6Y3rwFLK6emahX8gXQCf0/vsE0luS3JQkjl907+71vqHVZhXAAAAWC0m2qHZYek6E7su3SO2\n3pDk2CRPrrUOJ3lLkp8kOSvds6/3TxeKk2SP3t+jkjwpyUW11h8leX3v32VJjk7yySTnJNmjlLJt\nkt2SPCBJ7Zv2dUnOX8V5BQAAgNViaHh45TtBWBMsWnTTYM7YANMsanCoy8GiPgeL+hwM6nFwqMvB\noj7XfPPnz1vlXqxaH8UFAAAAaz3hGgAAABoJ1wAAANBIuAYAAIBGwjUAAAA0Eq4BAACgkXANAAAA\njYRrAAAAaCRcAwAAQCPhGgAAABoJ1wAAANBIuAYAAIBGwjUAAAA0Eq4BAACgkXANAAAAjYRrAAAA\naCRcAwAAQCPhGgAAABoJ1wAAANBIuAYAAIBGwjUAAAA0Eq4BAACgkXANAAAAjYRrAAAAaCRcAwAA\nQCPhGgAAABoJ1wAAANBIuAYAAIBGwjUAAAA0Eq4BAACgkXANAAAAjYRrAAAAaCRcAwAAQCPhGgAA\nABoJ1wAAANBIuAYAAIBGwjUAAAA0Eq4BAACgkXANAAAAjYRrAAAAaCRcAwAAQCPhGgAAABoJ1wAA\nANBIuAYAAIBGwjUAAAA0Eq4BAACgkXANAAAAjYRrAAAAaCRcAwAAQCPhGgAAABoJ1wAAANBIuAYA\nAIBGwjUAAAA0Eq4BAACgkXANAAAAjYRrAAAAaCRcAwAAQCPhGgAAABoJ1wAAANBIuAYAAIBGwjUA\n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\nXXnZy+Zk5VvGr15DQ8k6fT+vrLtusuWWXZlHHHDAXVm48O4xv79gwQaZ/HmaeL2NlL+/3KPLu3rK\nuPwyzZkzfnmmylTP92jrrJMMDS1bl+uu220f/dvFwoV3r9ayjl7H+8syUkff+946q236Ey3P6LL1\n70eSpcssyZSWd1krt0/t3z5Hz09y7/VgRSZzPRlv33fllUOTNo2JlmG8+n7FK+4cc7lM3nKYumNk\n//Ie6zgzlunel48YvU8fq3zTu7/t6nEmHg9bjbW/XN7+ZLxtpvt89c/7WOvKytXB1J63jmWsfeNY\ny3u0/mPUTFnvxjov78oz8fPcbvhVLf/k1Ofo/eeK1v/pWNenan+4vH3CggWLkyS//OW9T7Imuh6P\nWLBgca64YtXL2RquN0ryp1rrxaWUG0sphyfZMcm26TohG/M0stZ6eynlmCQLSymP6ht+KMms3mC3\nJZkz6qtzktwykYINDw/NgCPIyKzMzktfOq0FWQmzRr0efxUZXv650Spa1Wpbuqz7rZ4yTsTY5Zkq\n0zff/cary2WXzfTX0ZpgJpR1snepK7eNrP71ZCYs4xGzktxnzE8mbzlM5yFyIst6puzLR4x/bJze\nso1VjzPteDgVxt9mkqme9/51ZWXqYAactq6yVZ3n6TDx89ykpfxTWZ9L1//pWddnwv5wMo/hbeNq\nbRb+yCQXllL2SfLzJLsk+WG63sRfMd6XSikbJPlBktcmuT7JR3rj6q+Sa5JsPuqrD8i9m4oDAADA\ntFrly2qllF2S/HWSQ5K8KsnZtdYD+j5/4qiv9AfnJyR5eJJNaq039oYv6cL+yE8956W7H/tdfd/b\nJ8m3V7XMAAAAsDpMNFxvWEq5f+//c5M8Osl70vXefVKSv0zy5FLKo5P8LslT07tyXUpZr9Z6Z5Kb\nkmxXStk83VXpJDmwlHJ6umbhH0gXwEeagn8oyY9LKUckOSXJc5I8Kh7DBQAAwAwz0Wbhh6Xrqfu6\ndI/YekOSY5M8udY6nOQtSX6S5Kx0z77eP8lBve/u0ft7VJInJbmo1vqjJK/v/bssydFJPpnknJHh\na60/S/K0JM/oTfMpSZ5Sa62rOK8AAACwWgwNz7yeBgAAAGCN0tqhGQAAAKz1hGsAAABoND0P4WWN\n0evI7tdJaq11p9U0jYXpHt+2bbr7+k9IcmStdXHv8/sk+c909+DPTvLZJK+qtd7SN47nJPm3JA9M\nclGSl9Vaf9z3+fvSPfptOEt7pL+y1rrd6pinmayUskW6TgX3rrWusPf9Uspe6fpD2LLWet0Yn89O\n8qYkBybq2uxzAAAgAElEQVTZLN1j+d5eaz29b5iHJPmvJI9N8sckH6q1vr/v83XSPRng4CTz0vXf\n8K+11uv7hvlhkt37Jj2c5IRa679McNYHRill3SQvT/LPSbZLcmu6fi8+WGs9ayXGs2WSx9RaT13O\nMC9N8q9JtkpyVW8aJ/R9Pj/JMUken+TOJB9L8saR7bc3zKvSdXI5P8l3k7yk1npl3+efSfKPWXb7\n/Hqtdb+JzsuabmW3y1WcxobptrP9k9wv3b7y8Frrd/uG2T3JfyR5RLp9/ztrrZ/s+3wi++PHJDky\nya7p9un/UWv9r9UxTzPNAB0zN07XV87+vbfOSvLyWusfVsc8zXRr8HFzh3Tb88g4PlZrfcvKzf2a\nbwCPmVuk28b3S3Jbks8leU2t9faJzgurjyvXrMg/J/m/JDv0TpgmVSnl79L1OH9ckp3TnTAclq7T\nvBHHpXvs25PSdWy3d7oO9UbG8bj0Ti7SnRBekuSrpZRN+8axU7qD1ObpDmSbpevlfm21sp0tLG/4\ndyX5l3QHroen28l/oZTy2GTJQe2sJDem67DwsCRHlFKe3zeOt6U7yfjnJHsm2bI3nn47JjkgS+tv\n8ySvXsn5WOOVUtZL8tV08350koele0zhT5J8uZTy5pUY3YnpHo043rRenOTdSd6ebvv8YJL/7p2Y\nj/hCkgXp6u3gJM9NV58j43h+kreme2Tjo9KdCJzVWy9G7JSug8v+7fOZKzEfg2J1d4JyQroTugOT\nPDLJBen2lQ9NklLKX2Rpx6SPSPfUjhN6+9gRK9ofb59u/Tw/Xb2+I8kHSilPX50zNoMMyjHzi+nW\nkSekO4HfKcn/m+z5WcOsUcfNXn2em+T36X7oekmSl5VS1qrj5qAdM3vz8/Uk903yV0melW47f99K\nzAerkSvXrMjB6R6F9pR0B4LvLn/wlfbCJJ+ttX649/qXpZQd0+1s3tX7lfCAJPv0eplPKeUFSc4p\npby+1vqbdFekTx75ZbCU8sIk+yY5NN0j45LuxODU/l9013JDKx5kxUopQ0lekOQNtdYzem+/p3fy\ndki659X/Y5L7J3lurfW2JD8vpWyX5HXpTtxHflF+aa31m73x/lO6deEva63fL6U8OMl9knxfHeat\n6U6Udq21/qrv/TeUUq5Icnwp5dxa63kTGNeK1oMXprtackrv9QmllL9Kt31+qvf/v06yTa316iQ/\nK6W8LsnRpZS311rvSlfPH6i1fjFJSinPTvKbdE+C+HTvROGhSX6kbidnuxxLKeV+6Zb5k/quvL2y\nlPLkJP+U5J3p9pl/qrW+svf55aWUR6bbx359gvvjNyT5Ya31Nb1x/F9vPdkz3UnloFvjj5mllH3S\nXencvtb6f71hXpMuJNyntx9fG61Rx83e5zcmObB3VfSKUsoH0u2zj5qMeVlDDNQxM92jie+f5NG1\n1j/3hnlLkhdPoPxMAeGacfWaBz4s3a+ddyZ5Uynl5bXWG3ufL0733PFDe8NdmuTVtdbv9D7/WLpA\ntCDdr+OH11o/Mmoy70hyy6j3htM1WUy6ndA9Sb7X9/l3e+89tpTyuSSPSdcEJ0lSax0upXw73cnc\ne0opG6X7Rfd/V3FRDLRePW3R3wR3rPfGsU66K4yXjHp/cZbW4WOT/HjUCdm5Sd7aax61TZINk3xr\n5MNa669KKVelq8Pvp/tx5LZRB8a1Tu+k7EVJThxrWdRaT+wdqF+a7gQtpZRHpfuR6VFJ/pTkU0ne\nmOSjSf62N8zBtdZZY0zyZUmuHvXe6Lr9Ve8kYcS5STZKsmuvDrfLsnV7Synlx+nq9tNJdkgyK7bP\nZZRS5qS7AvL0dFf0b0zy5XTNPm8vpRyc7qrlUenqc/MkP0xy6DiPrLwj3ZXM0WGvf3/72CSjm7ye\nm64JY7KC/XG65sf7pbtqs0St9UUrnOEBMCjHzHR1eOFIsO4N8/V02zJZY46b+yX5Yn9z41rrOyc4\niwNhQI+Z+yX52kiw7g3z8SQfX/7SYKoI1yzPIUl+V2s9r5Ty23RXNg5K11RwxPvSNbU5r/f37FLK\njrXWq3qfPzPdr6cvSreTWkat9YL+170g/KIkZ/be2iLJ9bXWe/q+c08p5fp097PcN8kGSa4dNerr\nsvT+3J17f59XShn5NfHMdPe4/Dmssl69fLP/vVLKHumugoycUG+Zsesn6epwi97/xxpmq97/d0py\nYynl5CR7JflDuvuU/qPWujY9T7CkO0ifv5xhzk3y5CQppWyTrn5OSnfCv1mSk9Od+L88yYPTLeeX\njzWikZP+JRMv5YHpror9Z++tFdXt3elO/FdUt3cleXuvyett6ULaO2utdyxnPgfd+9OdRB2Qbvk9\nOt3J00XpmjYmXf09O929tcPpTgI/1PveMmqtt6ZrGrlEKeUZSR6SpfvbLdM1lex3XZK5pZRNsoL9\ncSllXrorKreUUj7RK8fvkhzdf8/hADskg3HM3C7JL0opL0+335ib5Owkr6u13qtMrJwpPG5ul+Sz\npZSj0/1Id1O6fcj7+gP3gBvEY+Z2Sb5RSnl7ulsChtO1CnrzWn7MnDHcc82Yek2O/im9+3d6HSn8\nJF0zt37H1VpPrLVenm5H9Jt0v8qP+G2t9Zha6+UravJZuk5YTkuyfrorMkl3UB+rg4Y7esPN7b0e\nPczI50l3r+5wkkVJ/j5dJxH7pbunjElUuns3v5DuV/OP9d4eqw7vSNe8aqQOF/efDPYNM1KHD0t3\nQnhmurr7r3T3KK1tHbOM/Pq9vE6F/pCuE5Sk215/k+TFtdaf11rPTdcc8bpa603pThhuq7UuWtGE\ne1dL/ifdQf69vbfvVbe11pGTg5XZPpPksnRXVo/olfHYrN3OT3JIrfX8WuvVtdbPprsyvXPfMLOT\nvLDW+tNa60Xp7rX9q4mMvJTy6HT33X6ud1UyGX9bTZbW5/L2xxv1Xn8g3VXZ/XplOqaUcshEyrWm\nGrBj5kZJnpgucByc7keDv8za0ax/yq3G4+ZG6TpNuyvdbQrvTHfv9tp03BzEY+ZGvTI9ON3tA69M\nsjDJ6FYuTBNXrhnPP6TbKfV3KvWZJO8upfx1rXWkydmSJoS11sW9piv9J3//lwkoXccbX06yfZLH\n1Vp/3fvotiRzxvjKnHRN427rez3W56m1Hl9K+Xyt9Y+9zy7t/Yr//VLKI2qtF06kjCxfKWW3JF9J\n8tskT+076I9Vh3PSHUxG6nCdUso6o35NX1KH6Tpt2bCvpcGlpZT7pmuq9basPUZOEDZazjD3TfdD\nUtJdFb6g/+p+3z1+E9a75/3MdHWyV+8kIxmjbkvXC+5QJr59vqmUcmTfFbFLe81nTymlvLrWesPK\nlncQ1FpPLqU8vpTy3nRXKh6W7mSqf586nOTKvtc3JllvReMupTwx3f78/HRXVkeMt60mS+tzefvj\nu3qvv1xrHTmZvLh0nZy9MoPdIdbAHDPT1eOsJE/rtXhI78eRH5VSdq21/nQiZWTFVvNx864kF9Wl\n/R/8tJSyWZI3p/sRc20wcMfMdPX6h3T30g8n+Unp+i75TCnlVWvrMXMmceWa8Rzc+/v1UspdpZS7\n0vVumSz7S/xdy34ts9LdXzJihR2flFK2TneS96Ake9Za+5slXpNkQe++mZHhZ6W7J+3XvcB8S7r7\nDfs9IH3NavqC9YiRe522yoArpSwopTys762RZXn3cr62Uj+8lVL2S/fYkcvTPaqkf+d+Tcaun6Sr\no2t6/x+3Dmuti8down9Jknm9ZpFriyvTNbN97HKG+Zssvd9y9Pa50krXodX5vXH99aj71pZXt7/u\nfT40zjD92+fopqYDv32uaLsspXw0XdPEoSSfTxfeRt8PvXiM5p3L7XCnd6/26ema+T5lVDPC8erz\n5t59w8vdH6c74bsjyc9GjeOydPeIDrJBOmZem+6+0Fv7Pr+s93fQ6zHJYBw3e3/H2hY3Kl0Hh2uD\nQTxmXpvkf0fdEndZ73tbt5afdsI191K653Q+IV0nNrsm2aXv31eT/GPvqmHS99zh3gF899z7nr3l\nTWt+uoPLcJK/qrVeOmqQ76Y7YPU3ddwz3U5kpGOe76W7D3dknEPpdpbf6r0+snd1oN8evWlelsH3\n2nQn6SM26f0d+aX2ztz7V91tJzryUsqeSb6U7j6l/UY67+lzXpLdSynr9723b7rnwP4+3T2kN2fZ\nOtw63UFipA7PL6X8x6jx7pGuqdZac998L0gdneTQ0j0DdRmle9zHjlnaAdX/pusYqX+Yfyml/Kj3\ncrn3q5elj1X6RZLH1ns/r/W8JA8u3TM3R+yb5M/prpgsSnJFlq3bDdPtJ0bq9tRSyujmpnukC2lX\nZnCNu1327m9+XpJ/qbW+vtZ6UroT8Iekocfi0j0f+cR0zcGfVbueafudl27f2W/fLN3XLnd/3Lvq\ndn66+uu3c7p1aCAN2jEzyXeSPKSvzElXh8MZ4HocZY0/bqarx7G2xT+uLVc3B/GYma5ed+3tP0bs\nnO6Hn6uWVz6mhmbhjOXAdAfiI2ut1/R/UEp5X7r76A7svfWaUkpNd6Xp9Uk2TneP3UT9d7qD1r5J\n7uidpCTJcK31+lrrdaWUz6Z7nMHz0/0gdFyST9Raf9sb9qgkp5dSfpruQPWadAe9kQ50vpDkFaWU\n9yQ5Pt0J6jFJTurdFzfovpnk1aV7TMeP0jWl/kWt9Yre5+cneW7vxPsH6a7A7JxlexUe84S+1xTp\n5CQ1Xe+z9y2ljHx8R++K5BfT3et1cinl39I90/O16T02otZ6Zynlv5O8v5Tyh3QnL8ckOaf2HiWT\n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\nrkVERERERESSpOBaREREREREJEkKrkVERERERESSpOBaREREREREJEkKrkVERERERESSpOBaRERE\nREREJEkKrkVERERERESSpOBaREREREREJEkKrkVERERERESSpOBaREREREREJEkKrkVERERERESS\npOBaREREREREJEkKrkVERERERESSpOBaREREREREJEkKrkVERERERESSpOBaREREREREJEkKrkVE\nRERERESSpOBaREREREREJEkKrkVERERERESSpOBaREREREREJElt07lxMxsA3AjsTQjkpwPnufvi\naP5MYKe4VaqAf7r7T6P5vYC/APsA64HbgF+7e2U60y0iIiIiIiLSEGkNroEngGXAnkAO8CfgMTYF\n1GOAo4AX4tYpjfv7v8BGYBIwELgDqAAuSWuqRURERERERBogbcG1mfUBZgEXuvu8aNofgIfMrAvQ\nE+gEvOHuy6pZfzdgd2BotP7HZnYBcJOZXeHuFelKu4iIiIiIiEhDpC24dvelwNGxz2Y2EDgNmOnu\na8xsL6DM3efWsImJwNxYYB6ZAXQGxgNvpSPdIiIiIiIiIg2V7mbhAJjZQ8DBwCpgSjR5LLDGzO4m\nNBtfCdzm7jdE8wcCCxM2tSj6PQgF1yIiIiIiItJEZGq08IuBXYBXgWfNrD8huM4HpgH7An8GLjez\nS6N18oB18Rtx9w2EQc86ZijdIiIiIiIiInXKSM21u38CYGZHAvOB44HjgAJ3L4oW+8TMugK/Bi4H\nyoAO8dsxs7aEgdFKMpFuERERERERkfpI54BmvYEp7n5fbJq7l5nZl8CA6HVaRQmrfQQUmllnQhB+\nQML8/tHvxObi1erVq7BRaW/KdExNT/v2/8/evcfZWdeHvv8khtxmJkGbQS5BheOr33JR0XqDBhFa\nOJs26k7Z5+ClbLwV2bZc2m7UF+AlsKVhu6kUy9GyjdH2IDuvdiPalyecWmukaMJFxWPQfqmtJilx\nk8RQZjK5TMLM+eN5xixW5pasWWs9a+bzfr3mNTPP73nW+n3nWbOe9X1+tyG6u3bR1X2oQ0VPzc+z\nGWTJkh4WL+7cODv9HI3GmDrDdIxJkiRNT81suX4xcE9E/FNmfhegnCU8gM9HxAbgocy8tuaY1wDb\nMrMvIh4EVkXESZk5kkxfQJGQPzaZCuzY0T9VsVRCb2+PMVVQX18/uwf2M1SOYujpnk//7kMjGvYM\n7Gfnzn4GB1s1CmNqTYdzVM+YOsN0jUmSJE1PzUyuHwUeAD4bEe8DDgKrgKco1qvuphhj/R2Ksdjn\nA9cBVwNk5oaI2AisjYirgOOBW4HbyrHXkiRJkiRVQjOX4hqOiN8G/hvwNxSTkN0PvDMz9wCfiIgD\nwA3Ai4AtwLWZuabmYVYAn6ZI0vuBuzLz5mbVWZKkmSYiTgJup+gdNpviWv2HmfmzsvwiipvbATwB\nfCgz7685vhe4E7gQGATWANeXw78kSZoxmjqhWWbuAt49TvntFBf0scq3A5c0oWqSJKnwVWA7xbKY\ns4BPAV8BXhMRpwNfppho9F7gd4D7IuKVmfmj8vh7gWeBcymW0fwCcAD4cCuDkCSp3TpzEKgkSWpY\nRLwQ+CHw3szclJk/AP4EeFU5T8o1wIbMXJWZT2TmR4Bvl9uJiLOBc4D/WB5/P8UQr6si4ph2xCRJ\nUru0ZCkuSZJUPZn5FPD2kd8jYilwJfBwZj4TEcuAtXWHrQcuLX9eBmzOzC115YuAs4BHmlNzSZKq\nx5ZrSZJERHyJYv6T1wJXlJuXcvjyl9uAkycop2YfSZJmBJNrSZIEcCNFYv0t4GsRcSKwENhXt99+\niklKGa28XNFjuGYfSZJmBLuFS5IkMvNxgIh4K0UL9uXAHmBe3a7zgIHy57315RExh2JitAEkSZpB\nTK4lSZqhIuI44PzM/MW46szcGxH/ApwIbAVOqDvsRA51Bd8KXDxKORzeXXxUvb09R1rtyjOmapg7\nd4jurl10dR/eiaK7ax5LlvSweHHnxTWWTjxHEzGmzjAdYzpaJteSJM1cLwbuiYh/yszvApSzhAfw\neWAuxRJdH6855nzggfLnB4FVEXFSZo4k0xcAfcBjk6nAjh39jcZQKb29PcZUEX19/ewe2M9Q3ciG\nnu757B7Yz86d/QwOTo8Rkp16jsZjTJ1husZ0tEyuJUmauR6lSJQ/GxHvAw4Cq4CnKNar/gfg0Yj4\nGHAP8A6KcdlXAmTmhojYCKyNiKuA44FbgdvKsdeSJM0Y0+N2nSRJOmKZOQz8NkUr898A3wCeBt6Y\nmXsycxOwArgE+B6wHFiemVnzMCsokvEHgNXAXZl5c+uikCSpGmy5liRpBsvMXcC7xylfB6wbp3w7\nRfItSdKMZsu1JEmSJEkNMrmWJEmSJKlBJteSJEmSJDXI5FqSJEmSpAaZXEuSJEmS1CCTa0mSJEmS\nGmRyLUmSJElSg0yuJUmSJElqkMm1JEmSJEkNMrmWJEmSJKlBJteSJEmSJDXI5FqSJEmSpAaZXEuS\nJEmS1CCTa0mSJEmSGmRyLUmSJElSg0yuJUmSJElqkMm1JEmSJEkNMrmWJEmSJKlBc5r54BFxEnA7\ncAFFIn8/8IeZ+bOy/CLgViCAJ4APZeb9Ncf3AncCFwKDwBrg+swcama9JUmSJEk6Es1uuf4qsBg4\nD3gDcALwFYCIOB34MrAWOKvcfl9EnFZz/L3AccC5wOXAu4CVTa6zJEmSJElHpGnJdUS8EPgh8N7M\n3JSZPwD+BHhVRCwGrgE2ZOaqzHwiMz8CfLvcTkScDZwD/Mfy+PuB64CrIuKYZtVbkiRJkqQj1bRu\n4Zn5FPD2kd8jYilwJfBwZj4TEcsoWq1rrQcuLX9eBmzOzC115YsoWrofaU7NJUmSJEk6Mi2Z0Cwi\nvgRsAV4LXFFuXgo8WbfrNuDkCcqp2UeSJEmSpLZr1WzhN1Ik1t8CvhYRJwILgX11++0H5pc/H1ae\nmQeB4Zp9JEmSJElqu6bOFj4iMx8HiIi3UrRgXw7sAebV7ToPGCh/3ltfHhFzgFk1+0iSJEmS1HZN\nS64j4jjg/Mz8xbjqzNwbEf8CnAhspZg9vNaJHOoKvhW4eJRyOLy7+Kh6e3uOtNqVZ0zVM3fuEN1d\nu+jqPtShoqfm59kMsmRJD4sXd26cnX6ORmNMnWE6xiRJkqanZrZcvxi4JyL+KTO/C1DOEh7A54G5\nFEt0fbzmmPOBB8qfHwRWRcRJmTmSTF8A9AGPTaYCO3b0NxpDpfT29hhTBfX19bN7YD9D5SiGnu75\n9O8+NKJhz8B+du7sZ3CwVaMwptZ0OEf1jKkzTNeYJEnS9NTM5PpRikT5sxHxPuAgsAp4CvgC8A/A\noxHxMeAe4B0U47KvBMjMDRGxEVgbEVcBxwO3AreVY68lSZIkSaqEpjWlZeYw8NsUrcx/A3wDeBp4\nY2buycxNwArgEuB7wHJgeWZmzcOsoEjGHwBWA3dl5s3NqrMkSZIkSUejqROaZeYu4N3jlK8D1o1T\nvp0i+ZYkSZIkqbI6cxCoJEmSJEkVYnItSZIkSVKDTK4lSZIkSWpQU8dcS5KkaouI44BPABcCC4CH\ngD/KzMfL8oeBV9ccMgyszswryvJe4M7y+EFgDXB9Zg61LAhJkirA5FqSpBkqImYB91EkzG8CBoCV\nwNcj4rTMfBo4HXgbxaofI/bU/Hwv8CxwLrCUYrnNA8CHmx6AJEkVYnItSdLM9QrgdcBpmfkEQERc\nBuwCfisivg0sBDaWK3g8R0ScDZwDnJKZW4BNEXEdcEdE3JSZB1oViCRJ7eaYa0mSZq4twPKRxLo0\n0p37+cCZwJ7M3DzG8cuAzWViPWI9sAg4a4rrKklSpdlyLUnSDJWZu4B1dZuvAeYDfwtcAjwTEV8E\nzgN+DqzJzE+W+y4Fnqw7flv5/WTgkWbUW5KkKrLlWpIkARARbwZuAW7LzATOALooEvCLgD8DVkbE\nR8tDFgL7ah8jMw9SjOGe36p6S5JUBbZcS5IkIuKdwF3AFzPzg+Xmy4DuzOwrf388Io4FrqeY+Gwv\nMK/uceYAsygmR5MkacYwuZYkaYaLiBuAm4E7MvPake3lclp9dbv/AOiJiEXAVuDiuvITy+/13cVH\n1dvbc1R1rjJjqoa5c4fo7tpFV/fhnSi6u+axZEkPixd3Xlxj6cRzNBFj6gzTMaajZXItSdIMFhEf\nAG4CbszMW+rKNgAP1SbcwGuAbZnZFxEPAqsi4qTMHEmmL6BIyB+bzPPv2NHfcAxV0tvbY0wV0dfX\nz+6B/Qw9d+QCPd3z2T2wn507+xkcnB4jJDv1HI3HmDrDdI3paJlcS5I0Q0XEy4GPA58DVkfEC2uK\n+ynWsF4ZEd8BvgWcD1wHXA2QmRsiYiOwNiKuAo4HbqUYs32wdZFIktR+JteSJM1cl1JMbvru8qvW\nhzPzlog4ANwAvIhi6a5rM3NNzX4rgE8DD1Ak5Hdl5s1Nr7kkSRVjci1J0gyVmTdQJM7j7XM7cPs4\n5dspluySJGlGmx4DTSRJkiRJaiOTa0mSJEmSGmRyLUmSJElSg0yuJUmSJElqkMm1JEmSJEkNMrmW\nJEmSJKlBJteSJEmSJDXI5FqSJEmSpAaZXEuSJEmS1CCTa0mSJEmSGmRyLUmSJElSg0yuJUmSJElq\nkMm1JEmSJEkNmtPMB4+I44BPABcCC4CHgD/KzMfL8oeBV9ccMgyszswryvJe4M7y+EFgDXB9Zg41\ns96SJEmSJB2JpiXXETELuI8iYX4TMACsBL4eEadl5tPA6cDbgG/UHLqn5ud7gWeBc4GlwBeAA8CH\nm1VvSZIkSZKOVDNbrl8BvA44LTOfAIiIy4BdwG9FxLeBhcDGzNxef3BEnA2cA5ySmVuATRFxHXBH\nRNyUmQeaWHdJkiRJkiatmWOutwDLRxLr0kh37ucDZwJ7MnPzGMcvAzaXIBZEZgAAIABJREFUifWI\n9cAi4KwprqskSZIkSUetaS3XmbkLWFe3+RpgPvC3wCXAMxHxReA84OfAmsz8ZLnvUuDJuuO3ld9P\nBh5pRr0lSZIkSTpSLZstPCLeDNwC3JaZCZwBdFEk4BcBfwasjIiPlocsBPbVPkZmHqQYwz2/VfWW\nJEmSJGkiTZ0tfEREvBO4C/hiZn6w3HwZ0J2ZfeXvj0fEscD1FBOf7QXm1T3OHGAWxeRokiRJkiRV\nQtOT64i4AbgZuCMzrx3ZXi6n1Ve3+w+AnohYBGwFLq4rP7H8Xt9dfFS9vT1HVecqM6bqmTt3iO6u\nXXR1H+pQ0VPz82wGWbKkh8WLOzfOTj9HozGmzjAdY5IkSdNTs9e5/gBwE3BjZt5SV7YBeKg24QZe\nA2zLzL6IeBBYFREnZeZIMn0BRUL+2GSef8eO/oZjqJLe3h5jqqC+vn52D+xnqBzF0NM9n/7dh0Y0\n7BnYz86d/QwOtmwUxpSaDueonjF1hukakyRJmp6auc71y4GPA58DVkfEC2uK+ynWsF4ZEd8BvgWc\nD1wHXA2QmRsiYiOwNiKuAo4HbqUYs32wWfWWJEmSJOlINbPl+lKKCdPeXX7V+nBm3hIRB4AbgBdR\nLN11bWauqdlvBfBp4AGKhPyuzLy5iXWWJEmSJOmINXMprhsoEufx9rkduH2c8u0US3ZJkiRJklRZ\nnTkIVJIkSZKkCjG5liRJkiSpQSbXkiRJkiQ1yORakiRJkqQGmVxLkiRJktQgk2tJkiRJkhpkci1J\nkiRJUoNMriVJkiRJatCcdldAkiS1T0QcB3wCuBBYADwE/FFmPl6WXwTcCgTwBPChzLy/5vhe4M7y\n+EFgDXB9Zg61Mg5JktrNlmtJkmaoiJgF3Ae8FHgTcDbwDPD1iHh+RJwOfBlYC5wFfAW4LyJOq3mY\ne4HjgHOBy4F3AStbFoQkSRVhy7UkSTPXK4DXAadl5hMAEXEZsAv4LWAZsCEzV5X7fyQilgHXAFdG\nxNnAOcApmbkF2BQR1wF3RMRNmXmgxfFIktQ2tlxLkjRzbQGWjyTWpZHu3M+naI1eX3fM+nI7FMn3\n5jKxri1fRNHSLUnSjGFyLUnSDJWZuzJzXd3ma4D5wN8CS4En68q3ASeXP49VTs0+kiTNCCbXkiQJ\ngIh4M3ALcFtmJrAQ2Fe3236K5JvRyjPzIDBcs48kSTOCybUkSSIi3gn8NXBPZn6w3LwXmFe36zxg\nYKzyiJgDzKrZR5KkGcEJzSRJmuEi4gbgZuCOzLy2pmgrcELd7idyqCv4VuDiUcrh8O7io+rt7Tmy\nynYAY6qGuXOH6O7aRVf34Z0ourvmsWRJD4sXd15cY+nEczQRY+oM0zGmo2VyLUnSDBYRHwBuAm7M\nzFvqih8EzgM+XrPtfOCBmvJVEXFSZo4k0xcAfcBjk3n+HTv6j7bqldTb22NMFdHX18/ugf0M1Y1s\n6Omez+6B/ezc2c/g4PToxNmp52g8xtQZpmtMR8vkWpKkGSoiXk6ROH8OWB0RL6wp7gc+BTwaER8D\n7gHeAbwWuBIgMzdExEZgbURcBRwP3EoxZvtgywKRJKkCpsftOkmSdDQupfgs8G6KWb5rv67NzE3A\nCuAS4HvAcoqlu7LmMVYAT1G0Zq8G7srMm1sWgSRJFWHLtSRJM1Rm3gDcMME+64D65bpqy7dTJN+S\nJM1otlxLkiRJktQgk2tJkiRJkhpkci1JkiRJUoNMriVJkiRJapDJtSRJkiRJDTK5liRJkiSpQSbX\nkiRJkiQ1yORakiRJkqQGzWnmg0fEccAngAuBBcBDwB9l5uNl+UXArUAATwAfysz7a47vBe4sjx8E\n1gDXZ+ZQM+stSZIkSdKRaFrLdUTMAu4DXgq8CTgbeAb4ekQ8PyJOB74MrAXOAr4C3BcRp9U8zL3A\nccC5wOXAu4CVzaqzJEmSJElHo5kt168AXgeclplPAETEZcAu4LeAZcCGzFxV7v+RiFgGXANcGRFn\nA+cAp2TmFmBTRFwH3BERN2XmgSbWXZIkSZKkSWvmmOstwPKRxLo00p37+RSt0evrjllfboci+d5c\nJta15YsoWrolSZIkSaqEpiXXmbkrM9fVbb4GmA/8LbAUeLKufBtwcvnzWOXU7CNJkiRJUtu1bLbw\niHgzcAtwW2YmsBDYV7fbforkm9HKM/MgMFyzjyRJkiRJbdfU2cJHRMQ7gbuAL2bmB8vNe4F5dbvO\nAwbGKo+IOcCsmn3G1dvbc5Q1ri5jqp65c4fo7tpFV/ehez49NT/PZpAlS3pYvLhz4+z0czQaY+oM\n0zEmSZI0PTU9uY6IG4CbgTsy89qaoq3ACXW7n8ihruBbgYtHKYfDu4uPaseO/iOrbMX19vYYUwX1\n9fWze2A/Q2VHi57u+fTvPtTpYs/Afnbu7GdwsDOXlZ8O56ieMXWG6RqTJEmanpr6aT8iPgDcBNxY\nl1gDPAicV7ftfOCBmvJTI+KkmvILgD7gsSZUV5IkSZKko9K0luuIeDnwceBzwOqIeGFNcT/wKeDR\niPgYcA/wDuC1wJUAmbkhIjYCayPiKuB44FaKMdsHm1VvSZIkSZKOVDNbri8tH//dFLN8135dm5mb\ngBXAJcD3gOUUS3dlzWOsAJ6iaM1eDdyVmTc3sc6SJEmSJB2xprVcZ+YNwA0T7LMOqF+uq7Z8O0Xy\nLUmSJElSZXXmDEuSJEmSJFWIybUkSZIkSQ0yuZYkSZIkqUEm15IkSZIkNcjkWpIkSZKkBplcS5Ik\nSZLUIJNrSZIkSZIaZHItSZIkSVKDTK4lSZIkSWqQybUkSZIkSQ0yuZYkSZIkqUEm15IkSZIkNcjk\nWpIkSZKkBs1pdwUkSVI1RMRngNmZeUXNtoeBV9fsNgysHtknInqBO4ELgUFgDXB9Zg61rOKSJFWA\nybUkSSIibgKuAD5bV3Q68DbgGzXb9tT8fC/wLHAusBT4AnAA+HDTKitJUgWZXEuSNINFxCnAauAM\nYHNd2anAAmBjZm4f5dizgXOAUzJzC7ApIq4D7oiImzLzQNMDkCSpIhxzLUnSzHYOsAV4GfDTurIz\ngb2Zubn+oNIyYHOZWI9YDywCzpraakqSVG22XEuSNINl5t3A3QARUV98JvBMRHwROA/4ObAmMz9Z\nli8Fnqw7Zlv5/WTgkWbUWZKkKrLlWpIkjeUMoAtYB1wE/BmwMiI+WpYvBPbVHpCZBykmPZvfwnpK\nktR2tlxLkqSxXAZ0Z2Zf+fvjEXEscD2wEtgLzKs9ICLmALOAgck8QW9vz9TVtiKMqRrmzh2iu2sX\nXd2H3+fp7prHkiU9LF7ceXGNpRPP0USMqTNMx5iOlsm1JEkaVbmcVl/d5h8APRGxCNgKXFxXfmL5\nvb67+Kh27OhvqI5V09vbY0wV0dfXz+6B/Qw9t3MFPd3z2T2wn507+xkcnB6dODv1HI3HmDrDdI3p\naE2PdxRJkjTlImJDRNxet/k1wLayNftB4NSIOKmm/AKKhPyxFlVTkqRKsOVakiSN5V6KMdbfAb4F\nnA9cB1wNkJkbImIjsDYirgKOB24FbivHXkuSNGOYXEuSpBHDtb9k5ici4gBwA/AiiiW7rs3MNTW7\nrQA+DTwA9AN3ZebNLaqvJEmVYXItSZIAyMwLRtl2O1DfNby2fDtwSTPrJUlSJ3DMtSRJkiRJDTK5\nliRJkiSpQSbXkiRJkiQ1qGVjriPiM8DszLyiZtvDwKtrdhsGVo/sExG9wJ3AhcAgsAa4vlx3U5Ik\nSZKkSmhJch0RNwFXAJ+tKzodeBvwjZpte2p+vhd4FjgXWAp8ATgAfLhplZUkSZIk6Qg1NbmOiFOA\n1cAZwOa6slOBBcDGcqbR+mPPBs4BTsnMLcCmiLgOuCMibsrMA82suyRJkiRJk9XsMdfnUKyJ+TLg\np3VlZwJ7M3Nz/UGlZcDmMrEesR5YBJw1tdWUJEmSJOnoNbXlOjPvBu4GiIj64jOBZyLii8B5wM+B\nNZn5ybJ8KfBk3THbyu8nA480o86SJEmSJB2pds4WfgbQBawDLgL+DFgZER8tyxcC+2oPyMyDFJOe\nzW9hPSVJkiRJGlfLZgsfxWVAd2b2lb8/HhHHAtcDK4G9wLzaAyJiDjALGJjME/T29kxdbSvCmKpn\n7twhurt20dV96J5PT83PsxlkyZIeFi/u3Dg7/RyNxpg6w3SMSZIkTU9tS67L5bT66jb/AOiJiEXA\nVuDiuvITy+/13cVHtWNHf0N1rJre3h5jqqC+vn52D+xnqOxo0dM9n/7dhzpd7BnYz86d/QwOduay\n8tPhHNUzps4wXWOSJEnTU9s+7UfEhoi4vW7za4BtZWv2g8CpEXFSTfkFFAn5Yy2qpiRJkiRJE2pn\nt/B7KcZYfwf4FnA+cB1wNUBmboiIjcDaiLgKOB64FbitHHstSZIkSVIltDK5Hq79JTM/EREHgBuA\nF1Es2XVtZq6p2W0F8GngAaAfuCszb25RfSVJkiRJmpSWJdeZecEo224H6ruG15ZvBy5pZr0kSZIk\nSWpUZ86wJEmSJElShZhcS5IkSZLUIJNrSZIkSZIaZHItSZIkSVKDTK4lSZIkSWqQybUkSZIkSQ0y\nuZYkSZIkqUEm15IkSZIkNcjkWpIkSZKkBplcS5IkSZLUIJNrSZIkSZIaZHItSZIkSVKDTK4lSZIk\nSWqQybUkSZIkSQ0yuZYkSZIkqUEm15IkSZIkNWhOuysgSZIktdLw8DD9/X1jlvf0LGLWrFktrJGk\n6cDkWpIkSTPK3j0DfPO7uzj2Bb80atmFr3spixYtbkPNJHUyk2tJkgRARHwGmJ2ZV9Rsuwi4FQjg\nCeBDmXl/TXkvcCdwITAIrAGuz8yhVtZdOlLzFyxkYVdPu6shaRpxzLUkSSIibgKuqNt2OvBlYC1w\nFvAV4L6IOK1mt3uB44BzgcuBdwErW1FnSZKqxJZrSZJmsIg4BVgNnAFsriu+GtiQmavK3z8SEcuA\na4ArI+Js4BzglMzcAmyKiOuAOyLipsw80JooJElqP1uuJUma2c4BtgAvA35aV3YusL5u2/pyO8Ay\nYHOZWNeWL6Jo6ZYkacaw5VqSpBksM+8G7gaIiPripcCTddu2ASdPUE65zyNTVlFJkirOlmtJkjSW\nhcC+um37gfljlWfmQWC4Zh9JkmYEW64lSdJY9gLz6rbNAwbGKo+IOcCsmn3G1ds7/WZrNqZqmDt3\niO6uXXR1H36fp6trLrNnH0PPKGWzGWTJkh4WL+6smDvxHE3EmDrDdIzpaJlcS5KksWwFTqjbdiKH\nuoJvBS4epRwO7y4+qh07+o+6clXU29tjTBXR19fP7oH9DNV1vujpns/AwCCzZz/LvAX1HTNgz8B+\ndu7sZ3Cwczp4duo5Go8xdYbpGtPR6px3DUmS1GoPAufVbTsfeKCm/NSIOKmm/AKgD3is+dWTJKk6\nbLmWJElj+RTwaER8DLgHeAfwWuBKgMzcEBEbgbURcRVwPHArcFs59lqSpBmjZcl1RHwGmJ2ZV9Rs\nu4jiIhzAE8CHMvP+mvJe4E7gQmAQWANcn5lDraq3JEkzyHDtL5m5KSJWAP8V+ADwj8DyzMya3VYA\nn6Zoze4H7srMm1tUX0mSKqMlyXVE3ARcAXy2ZtvpwJeBlcC9wO8A90XEKzPzR+Vu9wLPUqynuRT4\nAnAA+HAr6i1J0kySmReMsm0dsG6cY7YDlzSzXpIkdYKmJtcRcQqwGjgD2FxXfDWwITNXlb9/JCKW\nAdcAV0bE2cA5wCmZuQXYFBHXAXdExE2ZeaCZdZckSZIkabKaPaHZOcAW4GXAT+vKzgXW121bX24H\nWAZsLhPr2vJFwFlTW01JkiRJko5eU1uuM/Nu4G6AiKgvXsrhy3RsA06eoJxyn0emrKKSJEmSJDWg\nnUtxLQTqFxfcD8wfq7yceXS4Zh9JkiRJktqunUtx7QXm1W2bBwyMVR4Rc4BZNfuMq5EFwKvKmKpn\n7twhurt20dV96J5PT83PsxlkyZIeFi/u3Dg7/RyNxpg6w3SMSZIkTU/tTK63AifUbTuRQ13BtwIX\nj1IOh3cXH9WOHf1HXbkq6u3tMaYK6uvrZ/fAfobKjhY93fPp332o08Wegf3s3NnP4GA7O4ocvelw\njuoZU2eYrjFJkqTpqZ2f9h8Ezqvbdj7FOpkj5adGxEk15RcAfcBjza+eJEmSJEmT086W608Bj0bE\nx4B7gHcArwWuBMjMDRGxEVgbEVcBxwO3AreVY68lSZIkSaqEVrZcD9f+kpmbgBXAJcD3gOXA8szM\nmt1WAE9RtGavBu7KzJtbU11JkiRJkianZS3XmXnBKNvWAevGOWY7RfItSZIkSVJldeYMS5IkSZIk\nVYjJtSRJkiRJDTK5liRJkiSpQSbXkiRJkiQ1yORakiRJkqQGmVxLkiRJktQgk2tJkiRJkhpkci1J\nkiRJUoNMriVJkiRJapDJtSRJkiRJDTK5liRJkiSpQSbXkiRJkiQ1yORakiRJkqQGmVxLkiRJktQg\nk2tJkiRJkhpkci1JkiRJUoNMriVJkiRJatCcdldAqrrh4WH6+/vGLO/v74PhFlZIkiRJUuWYXEsT\n6O/v42sP/ZgFC7tGLd+18ykWdi1iYXdPi2smSZIkqSpMrqVJWLCwi4VdoyfPewZ2t7g2kiRJkqrG\nMdeSJEmSJDXI5FqSJEmSpAaZXEuSJEmS1CDHXEuSpHFFxGnA4xRrI8wqNw8D52bmtyPiIuBWIIAn\ngA9l5v1tqawkSW1iy7UkSZrIy4AdwPE1XycAD0XE6cCXgbXAWcBXgPvKhFySpBnDlmtJkjSRM4Ef\nZuaO+oKIuBrYkJmryk0fiYhlwDXAlS2soyRJbWXLtSRJmsiZwI/GKDsXWF+3bX25XZKkGcOWa0mS\nNJEzgfkRsQF4CbAJuD4zHwGWAk/W7b8NOLmlNZQkqc3anlw7SYokSdUVEfOBU4GngP8M7AeuAtZH\nxK8CC4F9dYftB+a3sp6SJLVb25NrDk2SciaHkmuAn9dMkrISuBf4HYpJUl6ZmWN1T5MkSVMkM/dF\nxLHA/sw8ABAR7wReBbwf2APMqztsHjAwmcfv7e2ZuspWhDFVw9y5Q3R37aKr+/D7PF1dc5k9+xh6\nRimbzSBLlvSweHFnxdyJ52gixtQZpmNMR6sKybWTpEiSVGGZubvu9+GI+CFF1++tFDOH1zqRw7uK\nj2rHjv4pqWNV9Pb2GFNF9PX1s3tgP0N1HSt6uuczMDDI7NnPMm9BfacL2DOwn507+xkc7JypiTr1\nHI3HmDrDdI3paFXhXcNJUiRJqqiIeFVEPBMRr6zZNpti2a1NwIPAG+sOOx94oGWVlCSpAqrScu0k\nKZIkVdP3gZ8Afx4Rv0/R3fuDwC8Bf0qx5vWjEfEx4B7gHcBrsYeZJGmGaWvLdc0kKT0Uk6S8iSJ5\nXh8Rv4KTpEiS1FaZ+SxwMZDAV4CNwHHAGzJzZ2ZuAlYAlwDfA5YDyzMz21RlSZLaoq0t106ScuSM\nqfXGmxAFYO/A4ZOi1P7cqROj1Kr6OToaxtQZpmNMnSgzfwZcNk75OmBd62okSVL1tL1buJOkTN50\nnTCg6jGNNSHKiPpJUXq659O/+9C+nTgxSq1OOEdHypg6w3SNSZIkTU/t7hbuJCmSJEmSpI7X7pZr\nJ0mRJEmSJHW8trZcO0mKJEmSJGk6aHfLtZOkaNobHh6mv79v3H16ehYxa9asFtVIkiRJ0lRre3It\nTXd79wzwze/u4tgX/NKY5Re+7qUsWrS4xTWTJEmSNFVMrqUWmL9gIQu7nCVYkiRJmq46c20gSZIk\nSZIqxORakiRJkqQG2S1ckiRJKk00EamTkEoai8m1JEmSOtJ4iXB/fx8MH/ljjjcRqZOQShqPybUk\nSZI6Un9/H1976McsWNh1WNmunU+xsGsRC7uPfEJRJyKVdDRMriVJktSxFizsGjUR3jOwuw21kTST\nOaGZJEmSJEkNMrmWJEmSJKlBJteSJEmSJDXI5FqSJEmSpAaZXEuSJEmS1CCTa0mSJEmSGmRyLUmS\nJElSg0yuJUmSJElq0Jx2V0Ca6YaHh+nv7xt3n56eRcyaNatFNZIkSZJ0pEyupTbbu2eAb353F8e+\n4JfGLL/wdS9l0aLFLa6ZJEmajIlulHuTXJoZTK414010Qezv74Ph5tZh/oKFLOzqae6TSJKkpujv\n7+NrD/2YBQu7DivzJrk0c5hca8Yb74IIsGvnUyzsWsTCbpNfSZJmsrFuyPf397FgQZc3yqUZzuRa\nAhYsHPuCuGdgd4trI0mSqmisoVzeiJcEJtdS5TnhmSRpJhvvOtiKoVv1RhvK5Y14SWByLVWeE55J\nkmay8YZv2WIsqUpMrqUO4IRnkqSZbKzhW7YYS6qS2e2ugCRJkiRJnc7kWpIkSZKkBtktXJU2mcm8\nwAm9JEmSJLWXybUqbaI1qMEJvSRJkiS1X+WT64iYDXwcuBzoAe4Hfi8zt7e1YmqZ8dagnoyJWr/b\nsYzHVHKpLknt5rV6ZhnvujM8XFxQx7rmeD2SNJ1VPrkGVgKXAb8D7AI+Dfw18IZ2VkpTY3h4mL6+\nZ8Ysn4rEd6LW705fxmOipbr2DOzm7DNeSE/PojEfww87khrktXoGmWhprNmz54x6TRqvp1nV1rKW\npKNR6eQ6Io4BrgZ+PzP/vtz2VuAnEfH6zNzY1gqqYX19rUl8x2v9ng7LeIy3VNeegd1887tbKr1O\ntq3vUufyWj0zjbc01uzZzxu1bKIEeuPj21nQNbPWsp7o+jfV175WP58001Q6uQbOArqBb45syMzN\nEfFT4FzAC/Y00GjiO927fU+Fqq+TPVHvgircAJA0Jq/VmpTxelr9IoGeYWtZj3f9a8a1r9XPJ800\nVU+ul5bfn6zbvg04ucV10VGYKPE95pihhhPfibpFT+c73q3SaMvyZG6ALFjQ2Nh6SW0zI6/VY72v\nzZ07RF9ff2VaAKs2Pnqsm73TOYGeqMV+rOvfkZy7kdfdaGXNeL7JlsHRvY6Gh4d55plnfhHTVDzm\nRM9XhRb9qtSjWaZ7fFD95HohMJSZz9Zt3w/Mn4on+PYj32fW844Zs3zR/Odx8tLjp+KpGlb7xtkp\n+vv7+MZ3fsL8+QtGLR/c1w+z5sEY/0f79g4we/Yc9gyMHffIPuPZt3fPmI8x0XMcaflsBtkzsL9p\njz/V5Xv3DIz7Rjd37hDbtj057nnct28v5//qKWOO657odfD0rp10dS0a83UwUR2PVCf+L03EmKph\nhrb4NP1a3U7/3w+f4N92Dx62fWBgNz/655/xohctfc72roXz+Pmufxv3PbGVxnv/fXrXTmbPfh6L\nj33+YWW17+v1/4v9/X3s3TMw6vONd82pStlsBqf8Mcc75umfb+f+bVtH/TuPd/2b6Ljac9e1cB4D\ne/aPWtaM55ts2USfD8bS39/Hwz/axrNDs6fsMSd6vrH+T6by+Sa6rrWqHlPpSK7VE8X35je+ouOv\no7NG7jZVUUT8NvBXwDGZOVSz/UHgkcz8g7ZVTpIkea2WJKl0+O2gatlafj+hbvuJHN79TJIktZ7X\nakmSqH5y/X1gN3DeyIaIeAnwEuCB9lRJkiTV8FotSRIV7xYOEBF/DFwOvAvYAdwJ7MnMX29rxSRJ\nEuC1WpIkqP6EZgA3UtTzL4FjgHXA77e1RpIkqZbXaknSjFf5lmtJkiRJkqqu6mOuJUmSJEmqPJNr\nSZIkSZIa1Aljrg8TEfOAh4D/mplfrNneBfQDw8CscvMwcNnIfhHxauB24JXAvwL/JTP/suYxFgB/\nCqyg+Pv8FfAHmTnQjpjKsj8ArgF6gW8B78/MH9eUVzKmmuf/TxST29Sel4OZObdmn4ZibLeImA18\nnGJCnx7gfuD3MnN7Wys2hog4DXicw/9Xzs3Mb0fERcCtQABPAB/KzPtrju+lOKcXAoPAGuD62jVu\nWykiPgPMzswrarY1HMNEr8tmGiOmh4FX1+w2DKwe2aeKMUXEccAnyjotoHif+6PMfLws76jzNIl4\nOu4ctVtE/BqwiuL9/WngbuDDmXmgrRVrQES8iuJ1/WpgD/D/AB/IzKfbWrEpMN7nlarrtGv1kRrt\nutFpJnqP7VQRcRLF59gLKBo37wf+MDN/1taKTYGIeD3wD8CvZ2bHrhAx0WfjyT5Ox7VcR0Q38CXg\nZaMUnwEMAacAx5dfJwB/XR67hOLF/CjFRfxTwOqI+I2ax7gLOAf4TWA58EbgM00I5RfGiyki3gN8\nFPgD4LXAXuD+iDimLK9kTHVeBnyZQ+fkeOCkkcIpirHdVgKXAb8DnAsspXzdVdTLKGb0rT0nJwAP\nRcTpFOdrLXAW8BXgvvJNZ8S9wHEUsY7MELyyZbWvERE3AVfUbWs4holel800Wkyl04G38dxz9oc1\n5ZWKKSJmAfcBLwXeBJwNPAN8PSKe32nnaaJ4yt066hy1W0S8iGLys40U70uXU7yX/nE769WIiDgB\n+Brwz8Drgf9AcS7XtrNeU2GCz2CdoNOu1ZM2znWjY0zyPbZTfRVYTLFk4Rsorg1faWuNpkBELKSY\nyLLjcspRjPnZ+EgepKNarstk6jMUd7ZHcyawNTO3jFH+u8C/Zea15e9PlHeX/zPwdxGxlOJD0fmZ\n+Uj5nO8FvhERH2jG3aVJxHQdcFtmfqnc/+3Az4BLgP9RxZhGcSbw9czcMUZ5QzE2teaTUH7ovRr4\n/cz8+3LbW4GfRMTrM3NjWys4ujOBH452TiLiamBDZq4qN30kIpZRtKRdGRFnU9ysOaX8X9sUEdcB\nd0TETa1qbYqIU4DVFDfVNtcVT0UME70uWxpTRJxKcRd/42itLBWN6RXA64DTMvOJ8jkvA3YBvwUs\no7PO07jxRMS3gYV01jlqt5cA/zMzryt//0lErAU6eQmvSyluivynzBwGiIjfA74ZEUsz81/bWruj\nNInPK5XWodfqCU1wLew0E10z/u821u2oRcQLgR9S9MzaUm77E+CjBgG+AAAaBklEQVRLEbE4M59p\nawUb80lgC3BquysyBcb8bHwkOu0uw3Lg8xQfTmaNUn4m8KNxjl8G1HdXWA/8WvnzOcCzQG3T/7fK\nbcuOuLaTM2ZMZffBXwa+ObKt7Mr9KMUdV6hmTPXOYIzzMkUxtttZQDfPjWEz8FMOxVA14/2vnEvx\n9621nueej811N7HWA4so/hatcg7FG/rLKP7WtRqKYZKvy2YYL6Yzgb3la2s0VYxpC7B85ENSaaT7\n8/PpvPM0UTxnUqzt3EnnqK0y84HMfNfI7+WN038P/L/tq1XDvgxcOpJYl0Z+7uTWt4k+g1VdJ16r\nJ2O860anmeg9tiNl5lOZ+faaxHop8D7g4U5OrCPiN4GLKW5adeJ7Qr2J8shJ6aiW65qWSyJitF3O\nBBZExN9TdM37Z+DmmvF7S4Hv1h2zDVgYES+g6Kq8PTOfrXnOZyNiO3DylAVSY4KYllJckJ8cpc4n\n1+xTqZhqRcSJFG+IvxkRK4EuigvbSKt5wzFm5q5m1X+Slpbfx4uhas4E5kfEBoqWo00U4z4foYhn\novMxWjnlPo80o8L1MvNuirGZY/3vNBLDQSZ+XU65CWI6E3gmIr5I0a3s58CazPxkWV65mMr/zXV1\nm68B5gN/C/yXCepTqZgmEc8ldNg5qpKIeJriRsP3KMbFdqTM/Anwk7rNH6Q4r5taX6OpMYnPYFXX\nidfqCU1w3egok3iP7XgR8SXgLRSt8ee3uTpHrRyy+VmKoTz/1ubqTJXxPhtPWmWS64h4McXFqHYQ\n+Yh9mblwEg9zBsXYjKuBncDbga9GxK9n5nqK7nr76o7ZX36fP0b5yD7zJ/H8zzEFMY2Uj1bn+TX7\ntCymehPFSPEGMlw+36XAEoqxdH9XtlBMRYztthAYqr2BUZqSv/FUi4j5FN13nqLoWr8fuApYHxG/\nyth/7zHPR2YejIhhqhNvozFM5nXZamdQ3JxaR5F4/Brw3yJiUWaupANiiog3A7dQdHvOcqxWx56n\nUeLp+HM01SZ7HSzHWv4G8ALgDooJwCrZmnik1/aIWEUx58lb6lqzK2OKPoNVXUddq3X4e2y76zNF\nbqS4PtxI8Vn4rA6d1OwzwH2Z+bUoJmvraON8Nv5mRLzySF5/lUmuKe4k/soYZZOdgfh/A8jMkQ8m\nj0XEmRQTw6ynGAM1r+6Ykd8Hxigf2edoZtZuNKa9Nc8/Vn1aHVO9cWPMzB9HRG9t63JEvKU87jc5\nND6okRjbbS8wOyJm53Nny56qv/GUysx9EXEssH9kfHREvBN4FfB+ipltj+h8RMQcig9kVYl3rNfM\nZGOYzP9eq10GdGdmX/n74+V5vJ5ikp5Kx1S+xu4CvpiZHyw3d+x5GiOejj5HTTKp62CZdH4HICIu\nBzZWeBzspGKKYmbqOynmDbkyM7/agrodran4DFZ1HXWtnunGeI/teHloZYm3AVspWn5XjXtQxZTv\n0WcBLy83dXyX8HE+G/8qxWfjayb7WJVJrjPzIMUyLI08xmgttD+gmM4fihfxCXXlJwK7M/OZiNgK\nHBcRs2omIXkexcyu9d2IJlOfRmPaSvGCPQH4l7o6/7Bmn5bFVG8yMdZ3287M/xUROym6YT1IgzEe\nfe2nzNby+wk89296IlPwN26GzNxd9/twRPyQ4pyM9fceiWUrxRib+nKoTryNxPCvTO5/r6XKD4N9\ndZt/APRExCIqHFNE3ADcDNxR27WUDj1PY8XTyeeoWSa6RkQxM/xJmVk7OeUPyu+VbA2ZzHUviuWq\n/gq4CHhHZlZ6pvCp+AzWATruWj1TjXPN6EhRLC92fu37QGbujYh/pqLvcxO4nGKYxVPlUISR5Hpd\nRHwhM9/ftpo1YIzPxo9zhMNGOm1CszFFxHER8XRE/Pu6oldzaIzTgxTT39e6gGKCL8rvcyim/h9x\nLsWL5lu0WDlb3T9RjN0DfrEMxqs5NCFHpWOKiKsi4skyoR/Z9mKK9Vs3TVGM7fZ9YDfPjeElFOM1\nKrfeX0S8KiKeiYhX1mybTXEXchPF3/uNdYedz6FYHgROresGdAFFUvFYs+p9hB6k5nyUJhvD9yf5\numypiNgQEbfXbX4NsK1sKa1kTBHxAeAm4MZRPiR13HkaL55OPUdtthy4JyLm1mx7HUX35I68oVB2\ncf9ritfy8qon1jNIR12rZ6oJrhmd6sUU73OvGtkQEYuBoFhXudO8g2Juq1eUX/97uf09wEfaValG\nTOKz8aRVpuW6UZm5PSK+RTG+7RmKu5DvpUgqR17Mq4HrIuLTwJ9StGi/lfJFkZnbIuKvKNZQfg/F\nzYe7gL9o43iIPwE+Ud7depxi7MmTFOtMQvVj+irFpEWrI+KPKcZc3w48kOVSGI3G2G6ZORgR/xfF\na+/nFGvk3Ql8IzMfbm/tRvV9irF1fx4Rv0/RHe6DwC9R/H2PBx6NiI8B91C8ib4WuBIgMzdExEZg\nbURcVe5/K8WYqIMtjmUsn6LxGCZ6XbbavcDKiPgOxY2l8ymWbboaqhlTRLycYmzZ5yjeA15YU9xP\nh52nScTTceeoAv6C4m/0uYi4GXgR8Gngf2Rmw7O2tsn7KZYNeg/wg7rXyc8r9D45o3TgtXrGmeg9\nNjP3tKdmDXuU4gbOZyPifRSTV66iGN/7F+2s2NGozx8iYmQepG2ZubMNVZoK4302vuNIHqiTW65H\nmxTk7cD9FC/UxyiWJ/iNzPxHKBJw4N8Br6SYffr9wGWZWdsi8B6KZau+SvFh5u/K/VrhsJgy888p\n3mhuK+v1PODikYtz1WPKzH+hSIZPpliE/T6Kc/OWmn2mIsZ2u5Fits6/BL5O8Q/6f7S1RmMoJ3O5\nGEjgK8BGimECb8jMnZm5CVhBMfPx9yhalpbXTeawguKi8ADFzY+7MvPm1kVxmOf870xFDBO9Llug\nPqZPUIzdvYHiLup1wLWZuaZmt6rFdCnFdebdFDPy1n5d24HnaaJ4OvEctVVmPkXRen8c8DDwBeB/\nAu9sY7Ua9XaK/9/Pcuj18bPy+2vbWK+pVMmJ2SahY67VR6lTz8uIcd9j21ivhpTDMn+b4vPv3wDf\noFgv/o0dfMOgXke/9sb5bHzukd4wmDU83NF/C0mSJEmS2q6TW64lSZIkSaoEk2tJkiRJkhpkci1J\nkiRJUoNMriVJkiRJapDJtSRJkiRJDTK5liRJkiSpQSbXktQhIuIVEXFeu+shSZKkw7nOtSRVXEQc\nC/wh8BagC/gS8CeZ+bO2VkySjlJErAfeULd5GNgNPAHcnpl3t7pe44mIIeDGzLxlnH1eX+6zfILH\n+ihwQ2bOneJqTlpEfAg4kJm3tasOE4mINcCvZeYvN/g4ZwBfAF4KrAN+NzN315RfBbw9M89u5Hkk\nW65VGRGxPiKG6r72RcSPI+LWiJh3hI/3sYg40Kz6zgQR8fmI+KcJ9lkUEWsiYtkE+724PKdvb7BO\nvxIRDzbyGJN4jgnjnuTjDEXE9Q0+xiLgUeC9wDbgKeCtwIaIeEGjdZSkNhkGHgZeB7y+/FoG/C5w\nEPjLiPh37aveUXsPcPok9vvvwK81uS4TuZnihm2V3QT8hyl4nC8APwX+T+As4MMjBRHRDdwAXDcF\nz6MZbk67KyDVGLnQXgXMKrfNB84DPgqcDBxJYjZcfunoTeZv+DLgcmDNBPv9jOLD048brNMlQLPv\nLE/Va+f1wNYGH+O9wIuBMyjifjFwN/CPwPuAP27w8SWpXfoy85G6bRsi4n5gO/BO4P6W16oFMnMb\nxQ1TjSMzf9LoY5Q3qV8FvCczvx8RnwHeUbPLdcAjmdnUG/eaGUyuVTWjXWgfiIiTgXdHxB9k5lPt\nqJjGNItJJKKZOUhx82Qqnq8jZOZUxPvLwP/KzCci4uzycf85It4K5BQ8viRVzT5gPzXXloiYD1wP\nXAq8CPgXiq7j/71mn8O6bUfExyi6Xx9T/v4NivfOzfD/t3fmQX+V1R3/vAlC7ICsglAFxDJfOwwW\nW0HLIooVBIKCwIALW8eCgAIFKktokAgEDYQhWrYIBmRpS1gEgYIh7OuwSiF8lTRFUpSwLwUTDG//\nOM8l9/3l/ra8ARJ6PjOZN79777P+fnPPc85zznnYH/ggcB9wsO37auW2JIyXfwX8DvhOt04XF+a9\nyv/nA/sANwOzgH8s7f05sTuv0td6vx4nFO4DiDX6tcB3bT/Xoc03gbHAjsSO+bG2J0haG5gAfBFY\nFrgVONT2jFq5QeD7ko61PVLSFMIFe/1a/euU/n/T9kWS9gLOBA4mdpVHApsA53ab1/IdTgR2KPdn\nAT/t5Jbe2idJs0pbKwLfBFYAbgG+Y3tmu3oKfyx/3yj9RtIaZSybdimbJD2RynWytHA/4Wq1NvD0\nMF+uHSl1nw+sVuqeC1wCHG779dpzOxFuRBsAzxO7iccUJbKKp9od+DfgICKO7OO2X2tpb0vgRmIX\n8hjgA8AOtm+TtF1pY0PgdeAXwJG2ny9lp9BdEO4NnAFsBZxKLBSeBibZnlgrt1K5/+VyaTJdQkdq\nfR8EbpJ0k+2tyiLhiTKWbYBpZQ5a+zUZ+Hzp38eAR4CjbE9r096xhBdDtXA5zva4DouLzwFHARsT\nrm+zgSm2f9DvuCX9A3BI6edTwFm2f9hlft5a6NXmaiviO90UeBmYAhxtu52BYjawhqQh8Wa2L+3U\ndpIkyVLAgKSRtc/LAOsS7/nlCVlccS3wScKddwawPXCmpNVtn9ChjSZPpN0IeXMAoWSdQsj59QAk\n/TVwHSG7di59urihnlbGASsTMmdHwgCwfLl3LKHEvUasV9RQ3y6EfPkWsBJwchn3Jl3aPRo4EpgJ\n/FbSqsAdhIzZj1jHfA+4TdJGtp8kPKtuJ7zOKgNFr15byxIyfW9gNduzJEGXeQVOA/6OMDTMAbYF\nfiRpju2ft2mrqU+HEsaCvYBVgEnEmrAx4aftlyU9CuwhaSLxnd5abo8Fptp+tIdxJ0lXUrlOlhZU\n/tYV575ern1yEPAw4Ya+HmG9XoMS91Pihi+gKEZEgozxwEeBXWv1fIywGu8KrNSqWLfwz6XdFYC7\nJe0DnEPECR1HuMUfD3xa0qdt/5HeBOEg8D5iYTABOIIQ3CdLesD2jZIGiIXE2oTQe748twmhJLfj\nPkJwn0lYqm+u3fs6MT+j2/RxkFBiLyUWEA8TyuvVkj5j+4GGMpOBDwH7EguD/6nda11cfBK4HriI\nmP8RhBvYcZJm2J7a67glHUXM/cTy/MbAOEmr2e43Rusi4Celvh1Ke7+hvVv9ucTv4hZivh+XNNBB\nGU+SJFla+AKxi1hnEHgI2MX2tQCStidk+862Ly/PTZO0LDBG0um2X+ij3RHA1pVMLm7DUyRtaPth\nwij7e+ArtueXZ54H/rVTpUXJfAaYW3nhlXhegIvrCmRRRlsZBXyxuIwj6VngKknbVnPRhhttT6rV\nfQKhnG9cJb6UdB0hH48B9rN9T+nD7AaPwV44znary363ef0s8CvbU8vzt0h6FXi2z7afJb6bwdLO\nXxA78CvYfqVNmW8Rmx1HEYbucaXcN4ANJG1DrLVGAielATtZVFK5TpY0Wq3YqwHbEQrcv1c7toVF\nebn2yjxgm2qnuuxATpL0l8Wl6iTgStt/X56/XtKTwC8k/a3tO8v1kcAhPQquH9u+orQ3AJwIXGV7\nn+oBSQ8DdxGuZmf0MZ4RwFjb55d67iQst6MJIbMdoTBuXe0aS5pOJP9oi+1XizUYYIbtx2q3XwMO\nsP2nUt86DVUMABNsn1xrcyahJO/W0N5TkmaX/7fOaeviYk/gWtt7165NIzJubwlM7WXcZXFwDPH9\nVIr0NEn/SxgoTrM9u80UNXFmzWXx5uIBMZo2ynUZ88aEMr4jYenfXdKPluQMr0mSJD1wN7HLOUC4\nSx9PrE13s11PKrkFobBe3lL+QsKw+xlih7dXHm4xdlfv8Cq51+bA5ZViXbgUeOuzpBEMDVN6s4vR\n86Ee+nVbpVgD2L5a0lxi/J3G11r3VoQxdk5tTTUf+BVh8F8cNI2n27zeCHy7hPpdA1zdxeugHXe3\nzHW9ncb1n+27gHUkvb+2tjudWEvNBS4jduKfA66U9J+2M/Qq6ZvMFp4saVRW7Orf74GzgKsIAVyn\n08t1uFxZdwEnhOoAsIXC1Pthwpo8svpHCK15LCy4ehGorc+J2CkfYiUvMbyPA5/rdSCFQcJFrKpn\nHvAMC+ZqC+D1ujt2EZDXvNUhaaA+3hYjSBOPVop1l35d3NKvq0t/+mXIPNs+3/ZXJC0nacOixI4j\nFm7V0Sddx024b49i4e/7l6Wurfrs5x0tn2fT5Tdr+wnbexAxf5cAdwITJH27z7aTJEmWJF6x/YDt\n+21fRcjPVQkDZv00hFUIN+JWqhwsK/bZbqsX2ZuEjK/WxasQMvItiqJd32GdydD1yjld2ny1y31o\nTnD2DOFq3k/dqxIGgnr/5gF7Amv20I9eaBpP07zCgnk9mAiLWpfwNvwvSbdL+kSfbXdrpy01xfpT\nxJrzJMLA/YTtS2xPJzzFdm1fS5K0J3eukyWNuhV7kIgz/u/iAt3KIr9ce6BVwFVCdmVCaAGczYI4\npYpBhgqu+VUMdheqsz0rqkXFHxqefZr+FxLQPF/VXK1Ms1tW/RzlsZR458IgJSFIG3pZSLS2AbGA\n6raQ6NpeSZzyEyJufhki3vsOYpFR7Tb0Mu5VyvPXs3AytUFgrT76OEjn76EXHilx5tcBBxIu+UmS\nJEs9tudIOpAwIk4i3t8ALwCrNxSp5G1dEW6VS8vTP88SBu5W6rJpNFA/IrRf1+YmVm24tjrNhoVO\nvARMJ+Ks+0kC2iTXF2X+GrH9BhFCN17Sh4nQqLHAz4l8MO8k44Hxtl8qSc3qSeOeZ/EZIZL/Z6Ry\nnSxpvNIm1vadplXAVUJ9DiG0IOKDb28ouzgEbBU79qGGe2sSruGw+AThs0Tmzlbq81B5ECxuVmHo\nnK1B/wuJJiYBOxHu79Nr1up6tvlexl1937sRyWlaeVuPUinJV0bZbvXceBD41NvZdpIkyTuN7UsV\nR3F9TdJZtm8l8nkcLumrti+rPf51wqW3ChN6mchPUmfzHpuue8LdAIyWtJztuQCKM7crrydsP9Km\nnvltrvfCZpI+YPvl0uaXiZwpN/RZz83Eec6PeWgi1rMJmXZ/m76+DKwu6X1FEYbw8Bp2jg9JyxEe\nZmfbnljCqc6QtD7hjv2OUeKr1yeS4kFsWtTXW2sRuVCSpG9SuU6SZr4kaYTtajd8V2KHcTpxbvEz\nwEdt/7gqIGld4KdE0rDfDbP9x4iX/deouU1L2oRIsDahXFpcgvAG4EhJOxTXPEqimK0JVzJs/4Hm\nnfT5LPrxWAOE9X9KaXNU+XxdhzK9Llw2A6bZvrq6IOlvCGW62inuOm7CkDEPWKuWhAXFsVjfJ+LD\nm+ZlcbEmsK2ko1uub05kzE2SJHmvcQiR5HJSydx9LZHA9JwSr/sIoRjtCxxfKaNEuM43JN1LhFDt\nTSQW7YW6HBtH5Of4D0knE4rXOBbIhU68SJzw8CXCCNoPKxBJPU8i3v3jgett39JnPROBPQj3+oml\nT3sRybv2bunrZpK2KEaMXwLfBc6VdA7wCSJ57HAMBgMAtudKugcYK2ke8Gvg46U/lwyj/kVhPLXT\nXQjPtNMlHUEY3TcjkpwmSd+kcp281xkh6eCG68/YvqhDuXWByySdQRy19QPiLMYnACQdA/yLpEFC\n6K9GuEyvCCzKzvsQ5dT2oKQxwGRJ5xEZpj9CCPcZLDieZLEIQtvTJV0P/KwocU8SsVEfZGhG7iZe\nLH9HS3rR9q/7aRs4RdL7iSRihxGLixM7PP8igOKc5zur76SBe4BdFEdoGdiIiPV6kxLj3Mu4bT8n\n6RTgRMWxXbcSv4/jCQ+DdrsXTSyKEeIU4KvE7+xeYGVJFxAJfLbvVDBJkmQJp9EQbPs3kk4jZML+\ntk9XHE15PPBPhMfTb4ms1/VY50OJte0E4E9E3pIjCM+rbu2+dc3244rjE08hMkw/XfoysaFcK+cR\n7s5XEDJnartxNly/iQhfuoBQ5C8kDLidWOjUkJIIc1NCiTyb2HF/DNjddl2RPZFYu1wjSbanSTqc\nOKFiZyIp2o4snCukU186XduP2Jw4jDBYzCn9G9tHvb0eF9aI4rSXEbYvqK6V+dqT+N0sAxxou9d8\nOUkyhFSukyWNXl+Yvb5cB2gWhg8RCms7LiTivS8hXKh+SCjYANieLOklIp5pf2IH+SZgjO26S3M/\n4xmC7XMVR1QcQQjpF8rfMZWb1zAFYesc7sSCcY4iFhRnETvJnTAxXwcSO74btRtTQ5uDRJKusYTx\n4C7gs7Yf79DeFYSlewohlA9qqBcWLLJOIOLiZpWxbUBkCa/oOm7bYyQ9ReQDOIqIzbqG+C467WQ0\njbfdc43YvlfSaOKIkP2I3/RMYE8vfAxKkiTJUoHtz3e5/z1CxlafXyPe64d2KDMH2L3h1s9qzyzU\nru2baQmxsv0gkfCqTsejuEq5GYScqbNQfhLbxxHv9Tpv2h5Ld2WzXk9j7hPbMwnX8E5lJxEhVPVr\npwKntjz6Z7X75xEGhNa6us5rWbscVv71hGsnppTP6zU809inNvVdRMP6r3imTV24RJL0x8DgYB6V\nmiR1JM0izmHc993uy3sZSXsRZzh/pH70SNKeMmfr2B73bvclSZIkWXxIuhF4w/bW73ZfkiRZdHLn\nOkmSZOnhQWIHPkmSJHnvkTteSbKUk8p1kizMsOJ5kuTtImPAkiRJ3pt0c5NPkmTpIN3CkyRJkiRJ\nkiRJkmSYjOj+SJIkSZIkSZIkSZIknUjlOkmSJEmSJEmSJEmGSSrXSZIkSZIkSZIkSTJMUrlOkiRJ\nkiRJkiRJkmGSynWSJEmSJEmSJEmSDJNUrpMkSZIkSZIkSZJkmPwfCj0OECqdl0wAAAAASUVORK5C\nYII=\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "runstrat([])"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.10"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/backtrader/source/samples/pyfoliotest/pyfoliotest.py b/backtrader/source/samples/pyfoliotest/pyfoliotest.py
new file mode 100644
index 0000000000000000000000000000000000000000..2ee6701ff3f39bb218d0d88b068668e64c6c4bc6
--- /dev/null
+++ b/backtrader/source/samples/pyfoliotest/pyfoliotest.py
@@ -0,0 +1,191 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import datetime
+import random
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = (
+ ('printout', False),
+ ('stake', 1000),
+ )
+
+ def __init__(self):
+ pass
+
+ def start(self):
+ if self.p.printout:
+ txtfields = list()
+ txtfields.append('Len')
+ txtfields.append('Datetime')
+ txtfields.append('Open')
+ txtfields.append('High')
+ txtfields.append('Low')
+ txtfields.append('Close')
+ txtfields.append('Volume')
+ txtfields.append('OpenInterest')
+ print(','.join(txtfields))
+
+ def next(self):
+ if self.p.printout:
+ # Print only 1st data ... is just a check that things are running
+ txtfields = list()
+ txtfields.append('%04d' % len(self))
+ txtfields.append(self.data.datetime.datetime(0).isoformat())
+ txtfields.append('%.2f' % self.data0.open[0])
+ txtfields.append('%.2f' % self.data0.high[0])
+ txtfields.append('%.2f' % self.data0.low[0])
+ txtfields.append('%.2f' % self.data0.close[0])
+ txtfields.append('%.2f' % self.data0.volume[0])
+ txtfields.append('%.2f' % self.data0.openinterest[0])
+ print(','.join(txtfields))
+
+ # Data 0
+ for data in self.datas:
+ toss = random.randint(1, 10)
+ curpos = self.getposition(data)
+ if curpos.size:
+ if toss > 5:
+ size = curpos.size // 2
+ self.sell(data=data, size=size)
+ if self.p.printout:
+ print('SELL {} @%{}'.format(size, data.close[0]))
+
+ elif toss < 5:
+ self.buy(data=data, size=self.p.stake)
+ if self.p.printout:
+ print('BUY {} @%{}'.format(self.p.stake, data.close[0]))
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+
+ dkwargs = dict()
+ if args.fromdate:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ data0 = bt.feeds.YahooFinanceCSVData(dataname=args.data0, **dkwargs)
+ cerebro.adddata(data0, name='Data0')
+
+ data1 = bt.feeds.YahooFinanceCSVData(dataname=args.data1, **dkwargs)
+ cerebro.adddata(data1, name='Data1')
+
+ data2 = bt.feeds.YahooFinanceCSVData(dataname=args.data2, **dkwargs)
+ cerebro.adddata(data2, name='Data2')
+
+ cerebro.addstrategy(St, printout=args.printout)
+ if not args.no_pyfolio:
+ cerebro.addanalyzer(bt.analyzers.PyFolio, _name='pyfolio')
+
+ results = cerebro.run()
+ if not args.no_pyfolio:
+ strat = results[0]
+ pyfoliozer = strat.analyzers.getbyname('pyfolio')
+
+ returns, positions, transactions, gross_lev = pyfoliozer.get_pf_items()
+ if args.printout:
+ print('-- RETURNS')
+ print(returns)
+ print('-- POSITIONS')
+ print(positions)
+ print('-- TRANSACTIONS')
+ print(transactions)
+ print('-- GROSS LEVERAGE')
+ print(gross_lev)
+
+ import pyfolio as pf
+ pf.create_full_tear_sheet(
+ returns,
+ positions=positions,
+ transactions=transactions,
+ gross_lev=gross_lev,
+ live_start_date='2005-05-01',
+ round_trips=True)
+
+ if args.plot:
+ cerebro.plot(style=args.plot_style)
+
+
+def parse_args(args=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for pivot point and cross plotting')
+
+ parser.add_argument('--data0', required=False,
+ default='../../datas/yhoo-1996-2015.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--data1', required=False,
+ default='../../datas/orcl-1995-2014.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--data2', required=False,
+ default='../../datas/nvda-1999-2014.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--fromdate', required=False,
+ default='2005-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False,
+ default='2006-12-31',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--printout', required=False, action='store_true',
+ help=('Print data lines'))
+
+ parser.add_argument('--cash', required=False, action='store',
+ type=float, default=50000,
+ help=('Cash to start with'))
+
+ parser.add_argument('--plot', required=False, action='store_true',
+ help=('Plot the result'))
+
+ parser.add_argument('--plot-style', required=False, action='store',
+ default='bar', choices=['bar', 'candle', 'line'],
+ help=('Plot style'))
+
+ parser.add_argument('--no-pyfolio', required=False, action='store_true',
+ help=('Do not do pyfolio things'))
+
+ import sys
+ aargs = args if args is not None else sys.argv[1:]
+ return parser.parse_args(aargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/relative-volume/__init__.py b/backtrader/source/samples/relative-volume/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/relative-volume/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/relative-volume/relative-volume.py b/backtrader/source/samples/relative-volume/relative-volume.py
new file mode 100644
index 0000000000000000000000000000000000000000..b285735d55bc5a4c4b24b458c99b9cb3349b3d9d
--- /dev/null
+++ b/backtrader/source/samples/relative-volume/relative-volume.py
@@ -0,0 +1,121 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+# The above could be sent to an independent module
+import backtrader as bt
+import backtrader.feeds as btfeeds
+
+from relvolbybar import RelativeVolumeByBar
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Create the 1st data
+ data = btfeeds.BacktraderCSVData(
+ dataname=args.data,
+ fromdate=fromdate,
+ todate=todate,
+ )
+
+ # Add the 1st data to cerebro
+ cerebro.adddata(data)
+
+ # Add an empty strategy
+ cerebro.addstrategy(bt.Strategy)
+
+ # Get the session times to pass them to the indicator
+ prestart = datetime.datetime.strptime(args.prestart, '%H:%M').time()
+ start = datetime.datetime.strptime(args.start, '%H:%M').time()
+ end = datetime.datetime.strptime(args.end, '%H:%M').time()
+
+ # Add the Relative volume indicator
+ cerebro.addindicator(RelativeVolumeByBar,
+ prestart=prestart, start=start, end=end)
+
+ # Add a writer with CSV
+ if args.writer:
+ cerebro.addwriter(bt.WriterFile, csv=args.wrcsv)
+
+ # And run it
+ cerebro.run(stdstats=False)
+
+ # Plot if requested
+ if args.plot:
+ cerebro.plot(numfigs=args.numfigs, volume=True)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='MultiData Strategy')
+
+ parser.add_argument('--data', '-d',
+ default='../../datas/2006-01-02-volume-min-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument('--prestart',
+ default='08:00',
+ help='Start time for the Session Filter')
+
+ parser.add_argument('--start',
+ default='09:15',
+ help='Start time for the Session Filter')
+
+ parser.add_argument('--end', '-te',
+ default='17:15',
+ help='End time for the Session Filter')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2006-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2006-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--writer', '-w', action='store_true',
+ help='Add a writer to cerebro')
+
+ parser.add_argument('--wrcsv', '-wc', action='store_true',
+ help='Enable CSV Output in the writer')
+
+ parser.add_argument('--plot', '-p', action='store_true',
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', default=1,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/relative-volume/relvolbybar.py b/backtrader/source/samples/relative-volume/relvolbybar.py
new file mode 100644
index 0000000000000000000000000000000000000000..0ab5c91cade678de35b253d7639ddba830caaa06
--- /dev/null
+++ b/backtrader/source/samples/relative-volume/relvolbybar.py
@@ -0,0 +1,121 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import collections
+import datetime
+import math
+
+
+import backtrader as bt
+
+
+class RelativeVolumeByBar(bt.Indicator):
+ alias = ('RVBB',)
+ lines = ('rvbb',)
+
+ params = (
+ ('prestart', datetime.time(8, 00)),
+ ('start', datetime.time(9, 10)),
+ ('end', datetime.time(17, 15)),
+ )
+
+ def _plotlabel(self):
+ plabels = []
+ for name, value in self.params._getitems():
+ plabels.append('%s: %s' % (name, value.strftime('%H:%M')))
+
+ return plabels
+
+ def __init__(self):
+ # Inform the platform about the minimum period needs
+ minbuffer = self._calcbuffer()
+ self.addminperiod(minbuffer)
+
+ # Structures/variable to keep synchronization
+ self.pvol = dict()
+ self.vcount = collections.defaultdict(int)
+
+ self.days = 0
+ self.dtlast = datetime.date.min
+
+ # Done after calc to ensure coop inheritance and composition work
+ super(RelativeVolumeByBar, self).__init__()
+
+ def _barisvalid(self, tm):
+ return self.p.start <= tm <= self.p.end
+
+ def _daycount(self):
+ dt = self.data.datetime.date()
+ if dt > self.dtlast:
+ self.days += 1
+ self.dtlast = dt
+
+ def prenext(self):
+ self._daycount()
+
+ tm = self.data.datetime.time()
+ if self._barisvalid(tm):
+ self.pvol[tm] = self.data.volume[0]
+ self.vcount[tm] += 1
+
+ def next(self):
+ self._daycount()
+
+ tm = self.data.datetime.time()
+ if not self._barisvalid(tm):
+ return
+
+ # Record the "minute/second" of this day has been seen
+ self.vcount[tm] += 1
+
+ # Get the bar's volume
+ vol = self.data.volume[0]
+
+ # If number of days is right, we saw the same "minute/second" last day
+ if self.vcount[tm] == self.days:
+ self.lines.rvbb[0] = vol / self.pvol[tm]
+
+ # Synchronize the days and volume count for next cycle
+ self.vcount[tm] = self.days
+
+ # Record the volume for this bar for next cycle
+ self.pvol[tm] = vol
+
+ def _calcbuffer(self):
+ # Period calculation
+ minend = self.p.end.hour * 60 + self.p.end.minute
+ # minstart = session_start.hour * 60 + session_start.minute
+ # use prestart to account for market_data
+ minstart = self.p.prestart.hour * 60 + self.p.prestart.minute
+
+ minbuffer = minend - minstart
+
+ tframe = self.data._timeframe
+ tcomp = self.data._compression
+
+ if tframe == bt.TimeFrame.Seconds:
+ minbuffer = (minperiod * 60)
+
+ minbuffer = (minbuffer // tcomp) + tcomp
+
+ return minbuffer
diff --git a/backtrader/source/samples/renko/__init__.py b/backtrader/source/samples/renko/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/renko/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/renko/renko.py b/backtrader/source/samples/renko/renko.py
new file mode 100644
index 0000000000000000000000000000000000000000..6a662fffed9cf7d907e3e2357cb0c5fd4ee3c97a
--- /dev/null
+++ b/backtrader/source/samples/renko/renko.py
@@ -0,0 +1,135 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = dict(
+ )
+
+ def __init__(self):
+ for d in self.datas:
+ bt.ind.RSI(d)
+
+ def next(self):
+ pass
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+
+ fkwargs = dict()
+ fkwargs.update(**eval('dict(' + args.renko + ')'))
+
+ if not args.dual:
+ data0.addfilter(bt.filters.Renko, **fkwargs)
+ cerebro.adddata(data0)
+ else:
+ cerebro.adddata(data0)
+ data1 = data0.clone()
+ data1.addfilter(bt.filters.Renko, **fkwargs)
+ cerebro.adddata(data1)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ kwargs = dict(stdstats=False)
+ kwargs.update(**eval('dict(' + args.cerebro + ')'))
+ cerebro.run(**kwargs)
+
+ if args.plot: # Plot if requested to
+ kwargs = dict(style='candle')
+ kwargs.update(**eval('dict(' + args.plot + ')'))
+ cerebro.plot(**kwargs)
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Renko bricks sample'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2005-2006-day-001.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--renko', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--dual', required=False, action='store_true',
+ help='put the filter on a second version of the data')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/resample-tickdata/__init__.py b/backtrader/source/samples/resample-tickdata/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/resample-tickdata/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/resample-tickdata/resample-tickdata.py b/backtrader/source/samples/resample-tickdata/resample-tickdata.py
new file mode 100644
index 0000000000000000000000000000000000000000..39f4d2daeead0383c533a8b8bee9e25dddf3293c
--- /dev/null
+++ b/backtrader/source/samples/resample-tickdata/resample-tickdata.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+
+
+def runstrat():
+ args = parse_args()
+
+ # Create a cerebro entity
+ cerebro = bt.Cerebro(stdstats=False)
+
+ # Add a strategy
+ cerebro.addstrategy(bt.Strategy)
+
+ # Load the Data
+ datapath = args.dataname or '../../datas/ticksample.csv'
+
+ data = btfeeds.GenericCSVData(
+ dataname=datapath,
+ dtformat='%Y-%m-%dT%H:%M:%S.%f',
+ timeframe=bt.TimeFrame.Ticks,
+ )
+
+ # Handy dictionary for the argument timeframe conversion
+ tframes = dict(
+ ticks=bt.TimeFrame.Ticks,
+ microseconds=bt.TimeFrame.MicroSeconds,
+ seconds=bt.TimeFrame.Seconds,
+ minutes=bt.TimeFrame.Minutes,
+ daily=bt.TimeFrame.Days,
+ weekly=bt.TimeFrame.Weeks,
+ monthly=bt.TimeFrame.Months)
+
+ # Resample the data
+ cerebro.resampledata(
+ data,
+ timeframe=tframes[args.timeframe],
+ compression=args.compression,
+ bar2edge=not args.nobar2edge,
+ adjbartime=not args.noadjbartime,
+ rightedge=args.rightedge)
+
+ if args.writer:
+ # add a writer
+ cerebro.addwriter(bt.WriterFile, csv=args.wrcsv)
+
+ # Run over everything
+ cerebro.run()
+
+ # Plot the result
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='Resampling script down to tick data')
+
+ parser.add_argument('--dataname', default='', required=False,
+ help='File Data to Load')
+
+ parser.add_argument('--timeframe', default='ticks', required=False,
+ choices=['ticks', 'microseconds', 'seconds',
+ 'minutes', 'daily', 'weekly', 'monthly'],
+ help='Timeframe to resample to')
+
+ parser.add_argument('--compression', default=1, required=False, type=int,
+ help=('Compress n bars into 1'))
+
+ parser.add_argument('--nobar2edge', required=False, action='store_true',
+ help=('Do not Resample IntraDay Timed Bars to edges'))
+
+ parser.add_argument('--noadjbartime', required=False,
+ action='store_true',
+ help=('Do not adjust the time bar to meet the edges'))
+
+ parser.add_argument('--rightedge', required=False, action='store_true',
+ help=('Resample to right edge of boundary'))
+
+ parser.add_argument('--writer', required=False, action='store_true',
+ help=('Add a Writer'))
+
+ parser.add_argument('--wrcsv', required=False, action='store_true',
+ help=('Add CSV to the Writer'))
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/rollover/__init__.py b/backtrader/source/samples/rollover/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/rollover/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/rollover/rollover.py b/backtrader/source/samples/rollover/rollover.py
new file mode 100644
index 0000000000000000000000000000000000000000..d287d5fd306b03a14d50ad1e063a730f20f66cff
--- /dev/null
+++ b/backtrader/source/samples/rollover/rollover.py
@@ -0,0 +1,163 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import bisect
+import calendar
+import datetime
+
+import backtrader as bt
+
+
+class TheStrategy(bt.Strategy):
+ def start(self):
+ header = ['Len', 'Name', 'RollName', 'Datetime', 'WeekDay', 'Open',
+ 'High', 'Low', 'Close', 'Volume', 'OpenInterest']
+ print(', '.join(header))
+
+ def next(self):
+ txt = list()
+ txt.append('%04d' % len(self.data0))
+ txt.append('{}'.format(self.data0._dataname))
+ # Internal knowledge ... current expiration in use is in _d
+ txt.append('{}'.format(self.data0._d._dataname))
+ txt.append('{}'.format(self.data.datetime.date()))
+ txt.append('{}'.format(self.data.datetime.date().strftime('%a')))
+ txt.append('{}'.format(self.data.open[0]))
+ txt.append('{}'.format(self.data.high[0]))
+ txt.append('{}'.format(self.data.low[0]))
+ txt.append('{}'.format(self.data.close[0]))
+ txt.append('{}'.format(self.data.volume[0]))
+ txt.append('{}'.format(self.data.openinterest[0]))
+ print(', '.join(txt))
+
+
+def checkdate(dt, d):
+ # Check if the date is in the week where the 3rd friday of Mar/Jun/Sep/Dec
+
+ # EuroStoxx50 expiry codes: MY
+ # M -> H, M, U, Z (Mar, Jun, Sep, Dec)
+ # Y -> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 -> year code. 5 -> 2015
+ MONTHS = dict(H=3, M=6, U=9, Z=12)
+
+ M = MONTHS[d._dataname[-2]]
+
+ centuria, year = divmod(dt.year, 10)
+ decade = centuria * 10
+
+ YCode = int(d._dataname[-1])
+ Y = decade + YCode
+ if Y < dt.year: # Example: year 2019 ... YCode is 0 for 2023
+ Y += 10
+
+ exp_day = 21 - (calendar.weekday(Y, M, 1) + 2) % 7
+ exp_dt = datetime.datetime(Y, M, exp_day)
+
+ # Get the year, week numbers
+ exp_year, exp_week, _ = exp_dt.isocalendar()
+ dt_year, dt_week, _ = dt.isocalendar()
+
+ # print('dt {} vs {} exp_dt'.format(dt, exp_dt))
+ # print('dt_week {} vs {} exp_week'.format(dt_week, exp_week))
+
+ # can switch if in same week
+ return (dt_year, dt_week) == (exp_year, exp_week)
+
+
+def checkvolume(d0, d1):
+ return d0.volume[0] < d1.volume[0] # Switch if volume from d0 < d1
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ fcodes = ['199FESXM4', '199FESXU4', '199FESXZ4', '199FESXH5', '199FESXM5']
+ store = bt.stores.VChartFile()
+ ffeeds = [store.getdata(dataname=x) for x in fcodes]
+
+ rollkwargs = dict()
+ if args.checkdate:
+ rollkwargs['checkdate'] = checkdate
+
+ if args.checkcondition:
+ rollkwargs['checkcondition'] = checkvolume
+
+ if not args.no_cerebro:
+ if args.rollover:
+ cerebro.rolloverdata(name='FESX', *ffeeds, **rollkwargs)
+ else:
+ cerebro.chaindata(name='FESX', *ffeeds)
+ else:
+ drollover = bt.feeds.RollOver(*ffeeds, dataname='FESX', **rollkwargs)
+ cerebro.adddata(drollover)
+
+ cerebro.addstrategy(TheStrategy)
+ cerebro.run(stdstats=False)
+
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for Roll Over of Futures')
+
+ parser.add_argument('--no-cerebro', required=False, action='store_true',
+ help='Use RollOver Directly')
+
+ parser.add_argument('--rollover', required=False, action='store_true')
+
+ parser.add_argument('--checkdate', required=False, action='store_true',
+ help='Change during expiration week')
+
+ parser.add_argument('--checkcondition', required=False,
+ action='store_true',
+ help='Change when a given condition is met')
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/sharpe-timereturn/__init__.py b/backtrader/source/samples/sharpe-timereturn/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/sharpe-timereturn/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/sharpe-timereturn/sharpe-timereturn.py b/backtrader/source/samples/sharpe-timereturn/sharpe-timereturn.py
new file mode 100644
index 0000000000000000000000000000000000000000..0922c2302257117bc703b28001dfef9750a1a181
--- /dev/null
+++ b/backtrader/source/samples/sharpe-timereturn/sharpe-timereturn.py
@@ -0,0 +1,163 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+def runstrat(pargs=None):
+ args = parse_args(pargs)
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ if args.cash is not None:
+ cerebro.broker.set_cash(args.cash)
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Create the 1st data
+ data = bt.feeds.BacktraderCSVData(
+ dataname=args.data,
+ fromdate=fromdate,
+ todate=todate)
+
+ cerebro.adddata(data) # Add the data to cerebro
+
+ # Add the strategy
+ cerebro.addstrategy(bt.strategies.SMA_CrossOver)
+
+ tframes = dict(
+ days=bt.TimeFrame.Days,
+ weeks=bt.TimeFrame.Weeks,
+ months=bt.TimeFrame.Months,
+ years=bt.TimeFrame.Years)
+
+ # Add the Analyzers
+ cerebro.addanalyzer(bt.analyzers.TimeReturn,
+ timeframe=tframes[args.tframe])
+
+ shkwargs = dict()
+ if args.annualize:
+ shkwargs['annualize'] = True
+
+ if args.riskfreerate is not None:
+ shkwargs['riskfreerate'] = args.riskfreerate
+
+ if args.factor is not None:
+ shkwargs['factor'] = args.factor
+
+ if args.stddev_sample:
+ shkwargs['stddev_sample'] = True
+
+ if args.no_convertrate:
+ shkwargs['convertrate'] = False
+
+ cerebro.addanalyzer(bt.analyzers.SharpeRatio,
+ timeframe=tframes[args.tframe],
+ **shkwargs)
+
+ # Add a writer to get output
+ cerebro.addwriter(bt.WriterFile, csv=args.writercsv, rounding=4)
+
+ cerebro.run() # And run it
+
+ # Plot if requested
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='TimeReturns and SharpeRatio')
+
+ parser.add_argument('--data', '-d',
+ default='../../datas/2005-2006-day-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument('--cash', default=None, type=float, required=False,
+ help='Starting Cash')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2005-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2006-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--writercsv', '-wcsv', action='store_true',
+ help='Tell the writer to produce a csv stream')
+
+ parser.add_argument('--tframe', '--timeframe', default='years',
+ required=False,
+ choices=['days', 'weeks', 'months', 'years'],
+ help='TimeFrame for the Returns/Sharpe calculations')
+
+ parser.add_argument('--annualize', required=False, action='store_true',
+ help='Annualize Sharpe Ratio')
+
+ parser.add_argument('--riskfreerate', required=False, action='store',
+ type=float, default=None,
+ help='Riskfree Rate (annual) for Sharpe')
+
+ parser.add_argument('--factor', required=False, action='store',
+ type=float, default=None,
+ help=('Riskfree Rate conversion factor for Sharpe '
+ 'to downgrade riskfree rate to timeframe'))
+
+ parser.add_argument('--stddev-sample', required=False, action='store_true',
+ help='Consider Bessels correction for stddeviation')
+
+ parser.add_argument('--no-convertrate', required=False,
+ action='store_true',
+ help=('Upgrade returns to target timeframe rather than'
+ 'downgrading the riskfreerate'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/signals-strategy/__init__.py b/backtrader/source/samples/signals-strategy/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/signals-strategy/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/signals-strategy/signals-strategy.py b/backtrader/source/samples/signals-strategy/signals-strategy.py
new file mode 100644
index 0000000000000000000000000000000000000000..a556f3e51781d9b59a56fd66ab1034718ac811e2
--- /dev/null
+++ b/backtrader/source/samples/signals-strategy/signals-strategy.py
@@ -0,0 +1,151 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import collections
+import datetime
+
+import backtrader as bt
+
+MAINSIGNALS = collections.OrderedDict(
+ (('longshort', bt.SIGNAL_LONGSHORT),
+ ('longonly', bt.SIGNAL_LONG),
+ ('shortonly', bt.SIGNAL_SHORT),)
+)
+
+
+EXITSIGNALS = {
+ 'longexit': bt.SIGNAL_LONGEXIT,
+ 'shortexit': bt.SIGNAL_LONGEXIT,
+}
+
+
+class SMACloseSignal(bt.Indicator):
+ lines = ('signal',)
+ params = (('period', 30),)
+
+ def __init__(self):
+ self.lines.signal = self.data - bt.indicators.SMA(period=self.p.period)
+
+
+class SMAExitSignal(bt.Indicator):
+ lines = ('signal',)
+ params = (('p1', 5), ('p2', 30),)
+
+ def __init__(self):
+ sma1 = bt.indicators.SMA(period=self.p.p1)
+ sma2 = bt.indicators.SMA(period=self.p.p2)
+ self.lines.signal = sma1 - sma2
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+
+ dkwargs = dict()
+ if args.fromdate is not None:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate is not None:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ # if dataset is None, args.data has been given
+ data = bt.feeds.BacktraderCSVData(dataname=args.data, **dkwargs)
+ cerebro.adddata(data)
+
+ cerebro.add_signal(MAINSIGNALS[args.signal],
+ SMACloseSignal, period=args.smaperiod)
+
+ if args.exitsignal is not None:
+ cerebro.add_signal(EXITSIGNALS[args.exitsignal],
+ SMAExitSignal,
+ p1=args.exitperiod,
+ p2=args.smaperiod)
+
+ cerebro.run()
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for Signal concepts')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/2005-2006-day-001.txt',
+ help='Specific data to be read in')
+
+ parser.add_argument('--fromdate', required=False, default=None,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False, default=None,
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--cash', required=False, action='store',
+ type=float, default=50000,
+ help=('Cash to start with'))
+
+ parser.add_argument('--smaperiod', required=False, action='store',
+ type=int, default=30,
+ help=('Period for the moving average'))
+
+ parser.add_argument('--exitperiod', required=False, action='store',
+ type=int, default=5,
+ help=('Period for the exit control SMA'))
+
+ parser.add_argument('--signal', required=False, action='store',
+ default=MAINSIGNALS.keys()[0], choices=MAINSIGNALS,
+ help=('Signal type to use for the main signal'))
+
+ parser.add_argument('--exitsignal', required=False, action='store',
+ default=None, choices=EXITSIGNALS,
+ help=('Signal type to use for the exit signal'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/sigsmacross/__init__.py b/backtrader/source/samples/sigsmacross/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/sigsmacross/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/sigsmacross/sigsmacross.py b/backtrader/source/samples/sigsmacross/sigsmacross.py
new file mode 100644
index 0000000000000000000000000000000000000000..49026c9d25c5a03a441c592e9ce4391f8e88bae1
--- /dev/null
+++ b/backtrader/source/samples/sigsmacross/sigsmacross.py
@@ -0,0 +1,109 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class SmaCross(bt.SignalStrategy):
+ params = dict(sma1=10, sma2=20)
+
+ def notify_order(self, order):
+ if not order.alive():
+ print('{} {} {}@{}'.format(
+ bt.num2date(order.executed.dt),
+ 'buy' if order.isbuy() else 'sell',
+ order.executed.size,
+ order.executed.price)
+ )
+
+ def notify_trade(self, trade):
+ if trade.isclosed:
+ print('profit {}'.format(trade.pnlcomm))
+
+ def __init__(self):
+ sma1 = bt.ind.SMA(period=self.params.sma1)
+ sma2 = bt.ind.SMA(period=self.params.sma2)
+ crossover = bt.ind.CrossOver(sma1, sma2)
+ self.signal_add(bt.SIGNAL_LONG, crossover)
+
+
+def runstrat(pargs=None):
+ args = parse_args(pargs)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+
+ data0 = bt.feeds.YahooFinanceData(
+ dataname=args.data,
+ fromdate=datetime.datetime.strptime(args.fromdate, '%Y-%m-%d'),
+ todate=datetime.datetime.strptime(args.todate, '%Y-%m-%d'))
+ cerebro.adddata(data0)
+
+ cerebro.addstrategy(SmaCross, **(eval('dict(' + args.strat + ')')))
+ cerebro.addsizer(bt.sizers.FixedSize, stake=args.stake)
+
+ cerebro.run()
+ if args.plot:
+ cerebro.plot(**(eval('dict(' + args.plot + ')')))
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='sigsmacross')
+
+ parser.add_argument('--data', required=False, default='YHOO',
+ help='Yahoo Ticker')
+
+ parser.add_argument('--fromdate', required=False, default='2011-01-01',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False, default='2012-12-31',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--cash', required=False, action='store', type=float,
+ default=10000, help=('Starting cash'))
+
+ parser.add_argument('--stake', required=False, action='store', type=int,
+ default=1, help=('Stake to apply'))
+
+ parser.add_argument('--strat', required=False, action='store', default='',
+ help=('Arguments for the strategy'))
+
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const='{}',
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/sigsmacross/sigsmacross2.py b/backtrader/source/samples/sigsmacross/sigsmacross2.py
new file mode 100644
index 0000000000000000000000000000000000000000..15ad68ec30aab2d7715cb3662cc886afb121df0c
--- /dev/null
+++ b/backtrader/source/samples/sigsmacross/sigsmacross2.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from datetime import datetime
+import backtrader as bt
+
+
+class SmaCross(bt.SignalStrategy):
+ def __init__(self):
+ sma1 = bt.ind.SMA(period=10)
+ sma2 = bt.ind.SMA(period=30)
+ crossover = bt.ind.CrossOver(sma1, sma2)
+ self.signal_add(bt.SIGNAL_LONG, crossover)
+
+
+cerebro = bt.Cerebro()
+cerebro.addstrategy(SmaCross)
+
+data0 = bt.feeds.YahooFinanceData(dataname='YHOO',
+ fromdate=datetime(2011, 1, 1),
+ todate=datetime(2012, 12, 31))
+
+cerebro.adddata(data0)
+
+cerebro.run()
+cerebro.plot()
diff --git a/backtrader/source/samples/sizertest/__init__.py b/backtrader/source/samples/sizertest/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/sizertest/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/sizertest/sizertest.py b/backtrader/source/samples/sizertest/sizertest.py
new file mode 100644
index 0000000000000000000000000000000000000000..17ab3610bbf97b3528f4a4eea2bb6c0cbfb3cbd3
--- /dev/null
+++ b/backtrader/source/samples/sizertest/sizertest.py
@@ -0,0 +1,153 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+import random
+
+import backtrader as bt
+
+
+class CloseSMA(bt.Strategy):
+ params = (('period', 15),)
+
+ def __init__(self):
+ sma = bt.indicators.SMA(self.data, period=self.p.period)
+ self.crossover = bt.indicators.CrossOver(self.data, sma)
+
+ def next(self):
+ if self.crossover > 0:
+ self.buy()
+
+ elif self.crossover < 0:
+ self.sell()
+
+
+class LongOnly(bt.Sizer):
+ params = (('stake', 1),)
+
+ def _getsizing(self, comminfo, cash, data, isbuy):
+ if isbuy:
+ return self.p.stake
+
+ # Sell situation
+ position = self.broker.getposition(data)
+ if not position.size:
+ return 0 # do not sell if nothing is open
+
+ return self.p.stake
+
+
+class FixedReverser(bt.Sizer):
+ params = (('stake', 1),)
+
+ def _getsizing(self, comminfo, cash, data, isbuy):
+ position = self.strategy.getposition(data)
+ size = self.p.stake * (1 + (position.size != 0))
+ return size
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+
+ dkwargs = dict()
+ if args.fromdate:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ data0 = bt.feeds.YahooFinanceCSVData(dataname=args.data0, **dkwargs)
+ cerebro.adddata(data0, name='Data0')
+
+ cerebro.addstrategy(CloseSMA, period=args.period)
+
+ if args.longonly:
+ cerebro.addsizer(LongOnly, stake=args.stake)
+ else:
+ cerebro.addsizer(bt.sizers.FixedReverser, stake=args.stake)
+
+ cerebro.run()
+ if args.plot:
+ pkwargs = dict()
+ if args.plot is not True: # evals to True but is not True
+ pkwargs = eval('dict(' + args.plot + ')') # args were passed
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for sizer')
+
+ parser.add_argument('--data0', required=False,
+ default='../../datas/yhoo-1996-2015.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--fromdate', required=False,
+ default='2005-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False,
+ default='2006-12-31',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--cash', required=False, action='store',
+ type=float, default=50000,
+ help=('Cash to start with'))
+
+ parser.add_argument('--longonly', required=False, action='store_true',
+ help=('Use the LongOnly sizer'))
+
+ parser.add_argument('--stake', required=False, action='store',
+ type=int, default=1,
+ help=('Stake to pass to the sizers'))
+
+ parser.add_argument('--period', required=False, action='store',
+ type=int, default=15,
+ help=('Period for the Simple Moving Average'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/slippage/__init__.py b/backtrader/source/samples/slippage/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/slippage/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/slippage/slippage.py b/backtrader/source/samples/slippage/slippage.py
new file mode 100644
index 0000000000000000000000000000000000000000..2c9c88a38cb3ddc3aedd2eb28daa6a3c70de7133
--- /dev/null
+++ b/backtrader/source/samples/slippage/slippage.py
@@ -0,0 +1,169 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import collections
+import datetime
+import itertools
+
+import backtrader as bt
+
+
+class SMACrossOver(bt.Indicator):
+ lines = ('signal',)
+ params = (('p1', 10), ('p2', 30),)
+
+ def __init__(self):
+ sma1 = bt.indicators.SMA(period=self.p.p1)
+ sma2 = bt.indicators.SMA(period=self.p.p2)
+ self.lines.signal = bt.indicators.CrossOver(sma1, sma2)
+
+
+class SlipSt(bt.SignalStrategy):
+ opcounter = itertools.count(1)
+
+ def notify_order(self, order):
+ if order.status == bt.Order.Completed:
+ t = ''
+ t += '{:02d}'.format(next(self.opcounter))
+ t += ' {}'.format(order.data.datetime.datetime())
+ t += ' BUY ' * order.isbuy() or ' SELL'
+ t += ' Size: {:+d} / Price: {:.2f}'
+ print(t.format(order.executed.size, order.executed.price))
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+ cerebro.broker.set_cash(args.cash)
+
+ dkwargs = dict()
+ if args.fromdate is not None:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate is not None:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ # if dataset is None, args.data has been given
+ data = bt.feeds.BacktraderCSVData(dataname=args.data, **dkwargs)
+ cerebro.adddata(data)
+
+ cerebro.signal_strategy(SlipSt)
+ if not args.longonly:
+ stype = bt.signal.SIGNAL_LONGSHORT
+ else:
+ stype = bt.signal.SIGNAL_LONG
+
+ cerebro.add_signal(stype, SMACrossOver, p1=args.period1, p2=args.period2)
+
+ if args.slip_perc is not None:
+ cerebro.broker.set_slippage_perc(args.slip_perc,
+ slip_open=args.slip_open,
+ slip_match=not args.no_slip_match,
+ slip_out=args.slip_out)
+
+ elif args.slip_fixed is not None:
+ cerebro.broker.set_slippage_fixed(args.slip_fixed,
+ slip_open=args.slip_open,
+ slip_match=not args.no_slip_match,
+ slip_out=args.slip_out)
+
+ cerebro.run()
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for Slippage')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/2005-2006-day-001.txt',
+ help='Specific data to be read in')
+
+ parser.add_argument('--fromdate', required=False, default=None,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False, default=None,
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--cash', required=False, action='store',
+ type=float, default=50000,
+ help=('Cash to start with'))
+
+ parser.add_argument('--period1', required=False, action='store',
+ type=int, default=10,
+ help=('Fast moving average period'))
+
+ parser.add_argument('--period2', required=False, action='store',
+ type=int, default=30,
+ help=('Slow moving average period'))
+
+ parser.add_argument('--longonly', required=False, action='store_true',
+ help=('Long only strategy'))
+
+ pgroup = parser.add_mutually_exclusive_group(required=False)
+ pgroup.add_argument('--slip_perc', required=False, default=None,
+ type=float,
+ help='Set the value for commission percentage')
+
+ pgroup.add_argument('--slip_fixed', required=False, default=None,
+ type=float,
+ help='Set the value for commission percentage')
+
+ parser.add_argument('--no-slip_match', required=False, action='store_true',
+ help=('Match by capping slippage at bar ends'))
+
+ parser.add_argument('--slip_out', required=False, action='store_true',
+ help=('Disable capping and return non-real prices'))
+
+ parser.add_argument('--slip_open', required=False, action='store_true',
+ help=('Slip even if match price is next open'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/sratio/__init__.py b/backtrader/source/samples/sratio/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/sratio/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/sratio/sratio.py b/backtrader/source/samples/sratio/sratio.py
new file mode 100644
index 0000000000000000000000000000000000000000..70d09da199ccb51e113f5094bafa3896de437f1f
--- /dev/null
+++ b/backtrader/source/samples/sratio/sratio.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import itertools
+import math
+import operator
+import sys
+
+
+if sys.version_info.major == 2:
+ map = itertools.imap
+
+
+def average(x):
+ return math.fsum(x) / len(x)
+
+
+def variance(x):
+ avgx = average(x)
+ return list(map(lambda y: (y - avgx) ** 2, x))
+
+
+def standarddev(x):
+ return math.sqrt(average(variance(x)))
+
+
+def run(pargs=None):
+ args = parse_args(pargs)
+
+ returns = [args.ret1, args.ret2]
+ retfree = args.riskfreerate
+
+ print('returns is:', returns, ' - retfree is:', retfree)
+
+ # Directly from backtrader
+ retfree = itertools.repeat(retfree)
+ ret_free = map(operator.sub, returns, retfree) # excess returns
+ ret_free_avg = average(list(ret_free)) # mean of the excess returns
+ print('returns excess mean:', ret_free_avg)
+ retdev = standarddev(returns) # standard deviation
+ print('returns standard deviation:', retdev)
+ ratio = ret_free_avg / retdev # mean excess returns / std deviation
+ print('Sharpe Ratio is:', ratio)
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample Sharpe Ratio')
+
+ parser.add_argument('--ret1', required=False, action='store',
+ type=float, default=0.023286,
+ help=('Annual Return 1'))
+
+ parser.add_argument('--ret2', required=False, action='store',
+ type=float, default=0.0257816485323,
+ help=('Annual Return 2'))
+
+ parser.add_argument('--riskfreerate', required=False, action='store',
+ type=float, default=0.01,
+ help=('Risk free rate (decimal) for the Sharpe Ratio'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ run()
diff --git a/backtrader/source/samples/stop-trading/__init__.py b/backtrader/source/samples/stop-trading/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/stop-trading/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/stop-trading/stop-loss-approaches.py b/backtrader/source/samples/stop-trading/stop-loss-approaches.py
new file mode 100644
index 0000000000000000000000000000000000000000..48d6cd512668f760b3ea35ffb4dad86d3d1d378f
--- /dev/null
+++ b/backtrader/source/samples/stop-trading/stop-loss-approaches.py
@@ -0,0 +1,242 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class BaseStrategy(bt.Strategy):
+ params = dict(
+ fast_ma=10,
+ slow_ma=20,
+ )
+
+ def __init__(self):
+ # omitting a data implies self.datas[0] (aka self.data and self.data0)
+ fast_ma = bt.ind.EMA(period=self.p.fast_ma)
+ slow_ma = bt.ind.EMA(period=self.p.slow_ma)
+ # our entry point
+ self.crossup = bt.ind.CrossUp(fast_ma, slow_ma)
+
+
+class ManualStopOrStopTrail(BaseStrategy):
+ params = dict(
+ stop_loss=0.02, # price is 2% less than the entry point
+ trail=False,
+ )
+
+ def notify_order(self, order):
+ if not order.status == order.Completed:
+ return # discard any other notification
+
+ if not self.position: # we left the market
+ print('SELL@price: {:.2f}'.format(order.executed.price))
+ return
+
+ # We have entered the market
+ print('BUY @price: {:.2f}'.format(order.executed.price))
+
+ if not self.p.trail:
+ stop_price = order.executed.price * (1.0 - self.p.stop_loss)
+ self.sell(exectype=bt.Order.Stop, price=stop_price)
+ else:
+ self.sell(exectype=bt.Order.StopTrail, trailamount=self.p.trail)
+
+ def next(self):
+ if not self.position and self.crossup > 0:
+ # not in the market and signal triggered
+ self.buy()
+
+
+class ManualStopOrStopTrailCheat(BaseStrategy):
+ params = dict(
+ stop_loss=0.02, # price is 2% less than the entry point
+ trail=False,
+ )
+
+ def __init__(self):
+ super().__init__()
+ self.broker.set_coc(True)
+
+ def notify_order(self, order):
+ if not order.status == order.Completed:
+ return # discard any other notification
+
+ if not self.position: # we left the market
+ print('SELL@price: {:.2f}'.format(order.executed.price))
+ return
+
+ # We have entered the market
+ print('BUY @price: {:.2f}'.format(order.executed.price))
+
+ def next(self):
+ if not self.position and self.crossup > 0:
+ # not in the market and signal triggered
+ self.buy()
+
+ if not self.p.trail:
+ stop_price = self.data.close[0] * (1.0 - self.p.stop_loss)
+ self.sell(exectype=bt.Order.Stop, price=stop_price)
+ else:
+ self.sell(exectype=bt.Order.StopTrail,
+ trailamount=self.p.trail)
+
+
+class AutoStopOrStopTrail(BaseStrategy):
+ params = dict(
+ stop_loss=0.02, # price is 2% less than the entry point
+ trail=False,
+ buy_limit=False,
+ )
+
+ buy_order = None # default value for a potential buy_order
+
+ def notify_order(self, order):
+ if order.status == order.Cancelled:
+ print('CANCEL@price: {:.2f} {}'.format(
+ order.executed.price, 'buy' if order.isbuy() else 'sell'))
+ return
+
+ if not order.status == order.Completed:
+ return # discard any other notification
+
+ if not self.position: # we left the market
+ print('SELL@price: {:.2f}'.format(order.executed.price))
+ return
+
+ # We have entered the market
+ print('BUY @price: {:.2f}'.format(order.executed.price))
+
+ def next(self):
+ if not self.position and self.crossup > 0:
+ if self.buy_order: # something was pending
+ self.cancel(self.buy_order)
+
+ # not in the market and signal triggered
+ if not self.p.buy_limit:
+ self.buy_order = self.buy(transmit=False)
+ else:
+ price = self.data.close[0] * (1.0 - self.p.buy_limit)
+
+ # transmit = False ... await child order before transmission
+ self.buy_order = self.buy(price=price, exectype=bt.Order.Limit,
+ transmit=False)
+
+ # Setting parent=buy_order ... sends both together
+ if not self.p.trail:
+ stop_price = self.data.close[0] * (1.0 - self.p.stop_loss)
+ self.sell(exectype=bt.Order.Stop, price=stop_price,
+ parent=self.buy_order)
+ else:
+ self.sell(exectype=bt.Order.StopTrail,
+ trailamount=self.p.trail,
+ parent=self.buy_order)
+
+
+APPROACHES = dict(
+ manual=ManualStopOrStopTrail,
+ manualcheat=ManualStopOrStopTrailCheat,
+ auto=AutoStopOrStopTrail,
+)
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ StClass = APPROACHES[args.approach]
+ cerebro.addstrategy(StClass, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Stop-Loss Approaches'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2005-2006-day-001.txt',
+ required=False, help='Data to read in')
+
+ # Strategy to choose
+ parser.add_argument('approach', choices=APPROACHES.keys(),
+ help='Stop approach to use')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/stoptrail/__init__.py b/backtrader/source/samples/stoptrail/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/stoptrail/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/stoptrail/trail.py b/backtrader/source/samples/stoptrail/trail.py
new file mode 100644
index 0000000000000000000000000000000000000000..e4e7f3fe54a1956e61368f2d315795da4d53fa61
--- /dev/null
+++ b/backtrader/source/samples/stoptrail/trail.py
@@ -0,0 +1,162 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = dict(
+ ma=bt.ind.SMA,
+ p1=10,
+ p2=30,
+ stoptype=bt.Order.StopTrail,
+ trailamount=0.0,
+ trailpercent=0.0,
+ limitoffset=0.0,
+ )
+
+ def __init__(self):
+ ma1, ma2 = self.p.ma(period=self.p.p1), self.p.ma(period=self.p.p2)
+ self.crup = bt.ind.CrossUp(ma1, ma2)
+ self.order = None
+
+ def next(self):
+ if not self.position:
+ if self.crup:
+ o = self.buy()
+ self.order = None
+ print('*' * 50)
+
+ elif self.order is None:
+ if self.p.stoptype == bt.Order.StopTrailLimit:
+ price = self.data.close[0]
+ plimit = self.data.close[0] + self.p.limitoffset
+ else:
+ price = None
+ plimit = None
+
+ self.order = self.sell(exectype=self.p.stoptype,
+ price=price,
+ plimit=plimit,
+ trailamount=self.p.trailamount,
+ trailpercent=self.p.trailpercent)
+
+ if self.p.trailamount:
+ tcheck = self.data.close - self.p.trailamount
+ else:
+ tcheck = self.data.close * (1.0 - self.p.trailpercent)
+ print(','.join(
+ map(str, [self.datetime.date(), self.data.close[0],
+ self.order.created.price, tcheck])
+ )
+ )
+ print('-' * 10)
+ else:
+ if self.p.trailamount:
+ tcheck = self.data.close - self.p.trailamount
+ else:
+ tcheck = self.data.close * (1.0 - self.p.trailpercent)
+ print(','.join(
+ map(str, [self.datetime.date(), self.data.close[0],
+ self.order.created.price, tcheck])
+ )
+ )
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'StopTrail Sample'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2005-2006-day-001.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/strategy-selection/__init__.py b/backtrader/source/samples/strategy-selection/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/strategy-selection/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/strategy-selection/strategy-selection.py b/backtrader/source/samples/strategy-selection/strategy-selection.py
new file mode 100644
index 0000000000000000000000000000000000000000..85d7529a4b5479b9933272702aa316adf82701d6
--- /dev/null
+++ b/backtrader/source/samples/strategy-selection/strategy-selection.py
@@ -0,0 +1,92 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+
+import backtrader as bt
+
+
+class St0(bt.SignalStrategy):
+ def __init__(self):
+ sma1, sma2 = bt.ind.SMA(period=10), bt.ind.SMA(period=30)
+ crossover = bt.ind.CrossOver(sma1, sma2)
+ self.signal_add(bt.SIGNAL_LONG, crossover)
+
+
+class St1(bt.SignalStrategy):
+ def __init__(self):
+ sma1 = bt.ind.SMA(period=10)
+ crossover = bt.ind.CrossOver(self.data.close, sma1)
+ self.signal_add(bt.SIGNAL_LONG, crossover)
+
+
+class StFetcher(object):
+ _STRATS = [St0, St1]
+
+ def __new__(cls, *args, **kwargs):
+ idx = kwargs.pop('idx')
+
+ obj = cls._STRATS[idx](*args, **kwargs)
+ return obj
+
+
+def runstrat(pargs=None):
+ args = parse_args(pargs)
+
+ cerebro = bt.Cerebro()
+ data = bt.feeds.BacktraderCSVData(dataname=args.data)
+ cerebro.adddata(data)
+
+ cerebro.addanalyzer(bt.analyzers.Returns)
+ cerebro.optstrategy(StFetcher, idx=[0, 1])
+ results = cerebro.run(maxcpus=args.maxcpus, optreturn=args.optreturn)
+
+ strats = [x[0] for x in results] # flatten the result
+ for i, strat in enumerate(strats):
+ rets = strat.analyzers.returns.get_analysis()
+ print('Strat {} Name {}:\n - analyzer: {}\n'.format(
+ i, strat.__class__.__name__, rets))
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for strategy selection')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/2005-2006-day-001.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--maxcpus', required=False, action='store',
+ default=None, type=int,
+ help='Limit the numer of CPUs to use')
+
+ parser.add_argument('--optreturn', required=False, action='store_true',
+ help='Return reduced/mocked strategy object')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/talib/__init__.py b/backtrader/source/samples/talib/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/talib/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/talib/tablibsartest.py b/backtrader/source/samples/talib/tablibsartest.py
new file mode 100644
index 0000000000000000000000000000000000000000..701f76ac4a4aaed7bc78d5fc1b862f5e921fb823
--- /dev/null
+++ b/backtrader/source/samples/talib/tablibsartest.py
@@ -0,0 +1,102 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class TALibStrategy(bt.Strategy):
+ def __init__(self):
+ bt.talib.SAR(self.data.high, self.data.low)
+ bt.ind.PSAR()
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ dkwargs = dict()
+ if args.fromdate:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ data0 = bt.feeds.YahooFinanceCSVData(dataname=args.data0, **dkwargs)
+ cerebro.adddata(data0)
+
+ cerebro.addstrategy(TALibStrategy)
+ cerebro.run(runonce=not args.use_next, stdstats=False)
+ if args.plot:
+ pkwargs = dict(style='candle')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for sizer')
+
+ parser.add_argument('--data0', required=False,
+ default='../../datas/yhoo-1996-2015.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--fromdate', required=False,
+ default='2005-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False,
+ default='2006-12-31',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--use-next', required=False, action='store_true',
+ help=('Use next (step by step) '
+ 'instead of once (batch)'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example (escape the quotes if needed):\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/talib/talibtest.py b/backtrader/source/samples/talib/talibtest.py
new file mode 100644
index 0000000000000000000000000000000000000000..1387fdb29eb8a890dfbfcf3ae70a6e4debffd0dd
--- /dev/null
+++ b/backtrader/source/samples/talib/talibtest.py
@@ -0,0 +1,192 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class TALibStrategy(bt.Strategy):
+ params = (('ind', 'sma'), ('doji', True),)
+
+ INDS = ['sma', 'ema', 'stoc', 'rsi', 'macd', 'bollinger', 'aroon',
+ 'ultimate', 'trix', 'kama', 'adxr', 'dema', 'ppo', 'tema',
+ 'roc', 'williamsr']
+
+ def __init__(self):
+ if self.p.doji:
+ bt.talib.CDLDOJI(self.data.open, self.data.high,
+ self.data.low, self.data.close)
+
+ if self.p.ind == 'sma':
+ bt.talib.SMA(self.data.close, timeperiod=25, plotname='TA_SMA')
+ bt.indicators.SMA(self.data, period=25)
+ elif self.p.ind == 'ema':
+ bt.talib.EMA(timeperiod=25, plotname='TA_SMA')
+ bt.indicators.EMA(period=25)
+ elif self.p.ind == 'stoc':
+ bt.talib.STOCH(self.data.high, self.data.low, self.data.close,
+ fastk_period=14, slowk_period=3, slowd_period=3,
+ plotname='TA_STOCH')
+
+ bt.indicators.Stochastic(self.data)
+
+ elif self.p.ind == 'macd':
+ bt.talib.MACD(self.data, plotname='TA_MACD')
+ bt.indicators.MACD(self.data)
+ bt.indicators.MACDHisto(self.data)
+ elif self.p.ind == 'bollinger':
+ bt.talib.BBANDS(self.data, timeperiod=25,
+ plotname='TA_BBANDS')
+ bt.indicators.BollingerBands(self.data, period=25)
+
+ elif self.p.ind == 'rsi':
+ bt.talib.RSI(self.data, plotname='TA_RSI')
+ bt.indicators.RSI(self.data)
+
+ elif self.p.ind == 'aroon':
+ bt.talib.AROON(self.data.high, self.data.low, plotname='TA_AROON')
+ bt.indicators.AroonIndicator(self.data)
+
+ elif self.p.ind == 'ultimate':
+ bt.talib.ULTOSC(self.data.high, self.data.low, self.data.close,
+ plotname='TA_ULTOSC')
+ bt.indicators.UltimateOscillator(self.data)
+
+ elif self.p.ind == 'trix':
+ bt.talib.TRIX(self.data, timeperiod=25, plotname='TA_TRIX')
+ bt.indicators.Trix(self.data, period=25)
+
+ elif self.p.ind == 'adxr':
+ bt.talib.ADXR(self.data.high, self.data.low, self.data.close,
+ plotname='TA_ADXR')
+ bt.indicators.ADXR(self.data)
+
+ elif self.p.ind == 'kama':
+ bt.talib.KAMA(self.data, timeperiod=25, plotname='TA_KAMA')
+ bt.indicators.KAMA(self.data, period=25)
+
+ elif self.p.ind == 'dema':
+ bt.talib.DEMA(self.data, timeperiod=25, plotname='TA_DEMA')
+ bt.indicators.DEMA(self.data, period=25)
+
+ elif self.p.ind == 'ppo':
+ bt.talib.PPO(self.data, plotname='TA_PPO')
+ bt.indicators.PPO(self.data, _movav=bt.indicators.SMA)
+
+ elif self.p.ind == 'tema':
+ bt.talib.TEMA(self.data, timeperiod=25, plotname='TA_TEMA')
+ bt.indicators.TEMA(self.data, period=25)
+
+ elif self.p.ind == 'roc':
+ bt.talib.ROC(self.data, timeperiod=12, plotname='TA_ROC')
+ bt.talib.ROCP(self.data, timeperiod=12, plotname='TA_ROCP')
+ bt.talib.ROCR(self.data, timeperiod=12, plotname='TA_ROCR')
+ bt.talib.ROCR100(self.data, timeperiod=12, plotname='TA_ROCR100')
+ bt.indicators.ROC(self.data, period=12)
+ bt.indicators.Momentum(self.data, period=12)
+ bt.indicators.MomentumOscillator(self.data, period=12)
+
+ elif self.p.ind == 'williamsr':
+ bt.talib.WILLR(self.data.high, self.data.low, self.data.close,
+ plotname='TA_WILLR')
+ bt.indicators.WilliamsR(self.data)
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ dkwargs = dict()
+ if args.fromdate:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+
+ if args.todate:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ data0 = bt.feeds.YahooFinanceCSVData(dataname=args.data0, **dkwargs)
+ cerebro.adddata(data0)
+
+ cerebro.addstrategy(TALibStrategy, ind=args.ind, doji=not args.no_doji)
+
+ cerebro.run(runcone=not args.use_next, stdstats=False)
+ if args.plot:
+ pkwargs = dict(style='candle')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for sizer')
+
+ parser.add_argument('--data0', required=False,
+ default='../../datas/yhoo-1996-2015.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--fromdate', required=False,
+ default='2005-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=False,
+ default='2006-12-31',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--ind', required=False, action='store',
+ default=TALibStrategy.INDS[0],
+ choices=TALibStrategy.INDS,
+ help=('Which indicator pair to show together'))
+
+ parser.add_argument('--no-doji', required=False, action='store_true',
+ help=('Remove Doji CandleStick pattern checker'))
+
+ parser.add_argument('--use-next', required=False, action='store_true',
+ help=('Use next (step by step) '
+ 'instead of once (batch)'))
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example (escape the quotes if needed):\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/timers/__init__.py b/backtrader/source/samples/timers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/timers/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/timers/scheduled-min.py b/backtrader/source/samples/timers/scheduled-min.py
new file mode 100644
index 0000000000000000000000000000000000000000..80d2e66337470072444d1cfb46ab8d1edeccd29b
--- /dev/null
+++ b/backtrader/source/samples/timers/scheduled-min.py
@@ -0,0 +1,176 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = dict(
+ when=bt.timer.SESSION_START,
+ timer=True,
+ cheat=False,
+ offset=datetime.timedelta(),
+ repeat=datetime.timedelta(),
+ weekdays=[],
+ weekcarry=False,
+ monthdays=[],
+ monthcarry=True,
+ )
+
+ def __init__(self):
+ bt.ind.SMA()
+ if self.p.timer:
+ self.add_timer(
+ when=self.p.when,
+ offset=self.p.offset,
+ repeat=self.p.repeat,
+ weekdays=self.p.weekdays,
+ weekcarry=self.p.weekcarry,
+ monthdays=self.p.monthdays,
+ monthcarry=self.p.monthcarry,
+ # tzdata=self.data0,
+ )
+ if self.p.cheat:
+ self.add_timer(
+ when=self.p.when,
+ offset=self.p.offset,
+ repeat=self.p.repeat,
+ weekdays=self.p.weekdays,
+ weekcarry=self.p.weekcarry,
+ monthdays=self.p.monthdays,
+ monthcarry=self.p.monthcarry,
+ tzdata=self.data0,
+ cheat=True,
+ )
+
+ self.order = None
+
+ def prenext(self):
+ self.next()
+
+ def next(self):
+ _, isowk, isowkday = self.datetime.date().isocalendar()
+ txt = '{}, {}, Week {}, Day {}, O {}, H {}, L {}, C {}'.format(
+ len(self), self.datetime.datetime(),
+ isowk, isowkday,
+ self.data.open[0], self.data.high[0],
+ self.data.low[0], self.data.close[0])
+
+ print(txt)
+
+ def notify_timer(self, timer, when, *args, **kwargs):
+ print('strategy notify_timer with tid {}, when {} cheat {}'.
+ format(timer.p.tid, when, timer.p.cheat))
+
+ if self.order is None and timer.params.cheat:
+ print('-- {} Create buy order'.format(
+ self.data.datetime.datetime()))
+ self.order = self.buy()
+
+ def notify_order(self, order):
+ if order.status == order.Completed:
+ print('-- {} Buy Exec @ {}'.format(
+ self.data.datetime.datetime(), order.executed.price))
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict(
+ timeframe=bt.TimeFrame.Minutes,
+ compression=5,
+ sessionstart=datetime.time(9, 0),
+ sessionend=datetime.time(17, 30),
+ )
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Timer Test Intraday'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2006-min-005.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/timers/scheduled.py b/backtrader/source/samples/timers/scheduled.py
new file mode 100644
index 0000000000000000000000000000000000000000..4030701eb96a7f3b4e8783f285bc6367dd9beb1b
--- /dev/null
+++ b/backtrader/source/samples/timers/scheduled.py
@@ -0,0 +1,164 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = dict(
+ when=bt.timer.SESSION_START,
+ timer=True,
+ cheat=False,
+ offset=datetime.timedelta(),
+ repeat=datetime.timedelta(),
+ weekdays=[],
+ )
+
+ def __init__(self):
+ bt.ind.SMA()
+ if self.p.timer:
+ self.add_timer(
+ when=self.p.when,
+ offset=self.p.offset,
+ repeat=self.p.repeat,
+ weekdays=self.p.weekdays,
+ )
+ if self.p.cheat:
+ self.add_timer(
+ when=self.p.when,
+ offset=self.p.offset,
+ repeat=self.p.repeat,
+ cheat=True,
+ )
+
+ self.order = None
+
+ def prenext(self):
+ self.next()
+
+ def next(self):
+ _, isowk, isowkday = self.datetime.date().isocalendar()
+ txt = '{}, {}, Week {}, Day {}, O {}, H {}, L {}, C {}'.format(
+ len(self), self.datetime.datetime(),
+ isowk, isowkday,
+ self.data.open[0], self.data.high[0],
+ self.data.low[0], self.data.close[0])
+
+ print(txt)
+
+ def notify_timer(self, timer, when, *args, **kwargs):
+ print('strategy notify_timer with tid {}, when {} cheat {}'.
+ format(timer.p.tid, when, timer.p.cheat))
+
+ if self.order is None and timer.p.cheat:
+ print('-- {} Create buy order'.format(self.data.datetime.date()))
+ self.order = self.buy()
+
+ def notify_order(self, order):
+ if order.status == order.Completed:
+ print('-- {} Buy Exec @ {}'.format(
+ self.data.datetime.date(), order.executed.price))
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict(
+ timeframe=bt.TimeFrame.Days,
+ compression=1,
+ sessionstart=datetime.time(9, 0),
+ sessionend=datetime.time(17, 30),
+ )
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Sample Skeleton'
+ )
+ )
+
+ parser.add_argument('--data0', default='../../datas/2005-2006-day-001.txt',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/tradingcalendar/__init__.py b/backtrader/source/samples/tradingcalendar/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/tradingcalendar/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/tradingcalendar/tcal-intra.py b/backtrader/source/samples/tradingcalendar/tcal-intra.py
new file mode 100644
index 0000000000000000000000000000000000000000..83c35f5f17844f0c1060038b4ee670bb3e2dd7f3
--- /dev/null
+++ b/backtrader/source/samples/tradingcalendar/tcal-intra.py
@@ -0,0 +1,176 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class NYSE_2016(bt.TradingCalendar):
+ params = dict(
+ holidays=[
+ datetime.date(2016, 1, 1),
+ datetime.date(2016, 1, 18),
+ datetime.date(2016, 2, 15),
+ datetime.date(2016, 3, 25),
+ datetime.date(2016, 5, 30),
+ datetime.date(2016, 7, 4),
+ datetime.date(2016, 9, 5),
+ datetime.date(2016, 11, 24),
+ datetime.date(2016, 12, 26),
+ ],
+ earlydays=[
+ (datetime.date(2016, 11, 25),
+ datetime.time(9, 30), datetime.time(13, 1))
+ ],
+ open=datetime.time(9, 30),
+ close=datetime.time(16, 0),
+ )
+
+
+class St(bt.Strategy):
+ params = dict(
+ )
+
+ def __init__(self):
+ pass
+
+ def prenext(self):
+ self.next()
+
+ def next(self):
+ print('Strategy len {} datetime {}'.format(
+ len(self), self.datetime.datetime()), end=' ')
+
+ print('Data0 len {} datetime {}'.format(
+ len(self.data0), self.data0.datetime.datetime()), end=' ')
+
+ if len(self.data1):
+ print('Data1 len {} datetime {}'.format(
+ len(self.data1), self.data1.datetime.datetime()))
+ else:
+ print()
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ # kwargs = dict(tz='US/Eastern')
+ # import pytz
+ # tz = tzinput = pytz.timezone('Europe/Berlin')
+ tzinput = 'Europe/Berlin'
+ # tz = tzinput
+ tz = 'US/Eastern'
+ kwargs = dict(tzinput=tzinput, tz=tz)
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ # Data feed
+ data0 = bt.feeds.BacktraderCSVData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ d1 = cerebro.resampledata(data0,
+ timeframe=getattr(bt.TimeFrame, args.timeframe))
+ # d1.plotinfo.plotmaster = data0
+ # d1.plotinfo.sameaxis = False
+
+ if args.pandascal:
+ cerebro.addcalendar(args.pandascal)
+ elif args.owncal:
+ cerebro.addcalendar(NYSE_2016()) # or NYSE_2016() to pass an instance
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Trading Calendar Sample'
+ )
+ )
+
+ parser.add_argument('--data0', default='yhoo-2016-11.csv',
+ required=False, help='Data to read in')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='2016-01-01',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='2016-12-31',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ pgroup = parser.add_mutually_exclusive_group(required=False)
+ pgroup.add_argument('--pandascal', required=False, action='store',
+ default='', help='Name of trading calendar to use')
+
+ pgroup.add_argument('--owncal', required=False, action='store_true',
+ help='Apply custom NYSE 2016 calendar')
+
+ parser.add_argument('--timeframe', required=False, action='store',
+ default='Days', choices=['Days'],
+ help='Timeframe to resample to')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/tradingcalendar/tcal.py b/backtrader/source/samples/tradingcalendar/tcal.py
new file mode 100644
index 0000000000000000000000000000000000000000..832b4b499751ffc4bf0d984ddce0cb5467f781a0
--- /dev/null
+++ b/backtrader/source/samples/tradingcalendar/tcal.py
@@ -0,0 +1,178 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+
+class NYSE_2016(bt.TradingCalendar):
+ params = dict(
+ holidays=[
+ datetime.date(2016, 1, 1),
+ datetime.date(2016, 1, 18),
+ datetime.date(2016, 2, 15),
+ datetime.date(2016, 3, 25),
+ datetime.date(2016, 5, 30),
+ datetime.date(2016, 7, 4),
+ datetime.date(2016, 9, 5),
+ datetime.date(2016, 11, 24),
+ datetime.date(2016, 12, 26),
+ ]
+ )
+
+
+class St(bt.Strategy):
+ params = dict(
+ )
+
+ def __init__(self):
+ pass
+
+ def start(self):
+ self.t0 = datetime.datetime.utcnow()
+
+ def stop(self):
+ t1 = datetime.datetime.utcnow()
+ print('Duration:', t1 - self.t0)
+
+ def prenext(self):
+ self.next()
+
+ def next(self):
+ print('Strategy len {} datetime {}'.format(
+ len(self), self.datetime.date()), end=' ')
+
+ print('Data0 len {} datetime {}'.format(
+ len(self.data0), self.data0.datetime.date()), end=' ')
+
+ if len(self.data1):
+ print('Data1 len {} datetime {}'.format(
+ len(self.data1), self.data1.datetime.date()))
+ else:
+ print()
+
+
+def runstrat(args=None):
+ args = parse_args(args)
+
+ cerebro = bt.Cerebro()
+
+ # Data feed kwargs
+ kwargs = dict()
+
+ # Parse from/to-date
+ dtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'
+ for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):
+ if a:
+ strpfmt = dtfmt + tmfmt * ('T' in a)
+ kwargs[d] = datetime.datetime.strptime(a, strpfmt)
+
+ YahooData = bt.feeds.YahooFinanceData
+ if args.offline:
+ YahooData = bt.feeds.YahooFinanceCSVData # change to read file
+
+ # Data feed
+ data0 = YahooData(dataname=args.data0, **kwargs)
+ cerebro.adddata(data0)
+
+ d1 = cerebro.resampledata(data0,
+ timeframe=getattr(bt.TimeFrame, args.timeframe))
+ d1.plotinfo.plotmaster = data0
+ d1.plotinfo.sameaxis = True
+
+ if args.pandascal:
+ cerebro.addcalendar(args.pandascal)
+ elif args.owncal:
+ cerebro.addcalendar(NYSE_2016)
+
+ # Broker
+ cerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))
+
+ # Sizer
+ cerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))
+
+ # Strategy
+ cerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))
+
+ # Execute
+ cerebro.run(**eval('dict(' + args.cerebro + ')'))
+
+ if args.plot: # Plot if requested to
+ cerebro.plot(**eval('dict(' + args.plot + ')'))
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description=(
+ 'Trading Calendar Sample'
+ )
+ )
+
+ parser.add_argument('--data0', default='YHOO',
+ required=False, help='Data to read in')
+
+ parser.add_argument('--offline', required=False, action='store_true',
+ help='Read from disk with same name as ticker')
+
+ # Defaults for dates
+ parser.add_argument('--fromdate', required=False, default='2016-01-01',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--todate', required=False, default='2016-12-31',
+ help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')
+
+ parser.add_argument('--cerebro', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--broker', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--sizer', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--strat', required=False, default='',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ parser.add_argument('--plot', required=False, default='',
+ nargs='?', const='{}',
+ metavar='kwargs', help='kwargs in key=value format')
+
+ pgroup = parser.add_mutually_exclusive_group(required=False)
+ pgroup.add_argument('--pandascal', required=False, action='store',
+ default='', help='Name of trading calendar to use')
+
+ pgroup.add_argument('--owncal', required=False, action='store_true',
+ help='Apply custom NYSE 2016 calendar')
+
+ parser.add_argument('--timeframe', required=False, action='store',
+ default='Weeks', choices=['Weeks', 'Months', 'Years'],
+ help='Timeframe to resample to')
+
+ return parser.parse_args(pargs)
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/vctest/__init__.py b/backtrader/source/samples/vctest/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/vctest/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/vctest/vctest.py b/backtrader/source/samples/vctest/vctest.py
new file mode 100644
index 0000000000000000000000000000000000000000..66adf4b26f968bf942d0bdcfd8187a6bc3727450
--- /dev/null
+++ b/backtrader/source/samples/vctest/vctest.py
@@ -0,0 +1,410 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+# The above could be sent to an independent module
+import backtrader as bt
+from backtrader.utils import flushfile # win32 quick stdout flushing
+from backtrader.utils.py3 import string_types
+
+
+class TestStrategy(bt.Strategy):
+ params = dict(
+ smaperiod=5,
+ trade=False,
+ stake=10,
+ exectype=bt.Order.Market,
+ stopafter=0,
+ valid=None,
+ cancel=0,
+ donotsell=False,
+ price=None,
+ pstoplimit=None,
+ )
+
+ def __init__(self):
+ # To control operation entries
+ self.orderid = list()
+ self.order = None
+
+ self.counttostop = 0
+ self.datastatus = 0
+
+ # Create SMA on 2nd data
+ self.sma = bt.indicators.MovAv.SMA(self.data, period=self.p.smaperiod)
+
+ print('--------------------------------------------------')
+ print('Strategy Created')
+ print('--------------------------------------------------')
+
+ def notify_data(self, data, status, *args, **kwargs):
+ print('*' * 5, 'DATA NOTIF:', data._getstatusname(status), *args)
+ if status == data.LIVE:
+ self.counttostop = self.p.stopafter
+ self.datastatus = 1
+
+ def notify_store(self, msg, *args, **kwargs):
+ print('*' * 5, 'STORE NOTIF:', msg)
+
+ def notify_order(self, order):
+ if order.status in [order.Completed, order.Cancelled, order.Rejected]:
+ self.order = None
+
+ print('-' * 50, 'ORDER BEGIN', datetime.datetime.now())
+ print(order)
+ print('-' * 50, 'ORDER END')
+
+ def notify_trade(self, trade):
+ print('-' * 50, 'TRADE BEGIN', datetime.datetime.now())
+ print(trade)
+ print('-' * 50, 'TRADE END')
+
+ def prenext(self):
+ self.next(frompre=True)
+
+ def next(self, frompre=False):
+ txt = list()
+ txt.append('%04d' % len(self))
+ dtfmt = '%Y-%m-%dT%H:%M:%S.%f'
+ txt.append('%s' % self.data.datetime.datetime(0).strftime(dtfmt))
+ txt.append('{}'.format(self.data.open[0]))
+ txt.append('{}'.format(self.data.high[0]))
+ txt.append('{}'.format(self.data.low[0]))
+ txt.append('{}'.format(self.data.close[0]))
+ txt.append('{}'.format(self.data.volume[0]))
+ txt.append('{}'.format(self.data.openinterest[0]))
+ txt.append('{}'.format(self.sma[0]))
+ print(', '.join(txt))
+
+ if len(self.datas) > 1:
+ txt = list()
+ txt.append('%04d' % len(self))
+ dtfmt = '%Y-%m-%dT%H:%M:%S.%f'
+ txt.append('%s' % self.data1.datetime.datetime(0).strftime(dtfmt))
+ txt.append('{}'.format(self.data1.open[0]))
+ txt.append('{}'.format(self.data1.high[0]))
+ txt.append('{}'.format(self.data1.low[0]))
+ txt.append('{}'.format(self.data1.close[0]))
+ txt.append('{}'.format(self.data1.volume[0]))
+ txt.append('{}'.format(self.data1.openinterest[0]))
+ txt.append('{}'.format(float('NaN')))
+ print(', '.join(txt))
+
+ if self.counttostop: # stop after x live lines
+ self.counttostop -= 1
+ if not self.counttostop:
+ self.env.runstop()
+ return
+
+ if not self.p.trade:
+ return
+
+ # if True and len(self.orderid) < 1:
+ if self.datastatus and not self.position and len(self.orderid) < 1:
+ self.order = self.buy(size=self.p.stake,
+ exectype=self.p.exectype,
+ price=self.p.price,
+ plimit=self.p.pstoplimit,
+ valid=self.p.valid)
+
+ self.orderid.append(self.order)
+ elif self.position.size > 0 and not self.p.donotsell:
+ if self.order is None:
+ size = self.p.stake // 2
+ if not size:
+ size = self.position.size # use the remaining
+ self.order = self.sell(size=size, exectype=bt.Order.Market)
+
+ elif self.order is not None and self.p.cancel:
+ if self.datastatus > self.p.cancel:
+ self.cancel(self.order)
+
+ if self.datastatus:
+ self.datastatus += 1
+
+ def start(self):
+ header = ['Datetime', 'Open', 'High', 'Low', 'Close', 'Volume',
+ 'OpenInterest', 'SMA']
+ print(', '.join(header))
+
+ self.done = False
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ storekwargs = dict()
+
+ if not args.nostore:
+ vcstore = bt.stores.VCStore(**storekwargs)
+
+ if args.broker:
+ brokerargs = dict(account=args.account, **storekwargs)
+ if not args.nostore:
+ broker = vcstore.getbroker(**brokerargs)
+ else:
+ broker = bt.brokers.VCBroker(**brokerargs)
+
+ cerebro.setbroker(broker)
+
+ timeframe = bt.TimeFrame.TFrame(args.timeframe)
+ if args.resample or args.replay:
+ datatf = bt.TimeFrame.Ticks
+ datacomp = 1
+ else:
+ datatf = timeframe
+ datacomp = args.compression
+
+ fromdate = None
+ if args.fromdate:
+ dtformat = '%Y-%m-%d' + ('T%H:%M:%S' * ('T' in args.fromdate))
+ fromdate = datetime.datetime.strptime(args.fromdate, dtformat)
+
+ todate = None
+ if args.todate:
+ dtformat = '%Y-%m-%d' + ('T%H:%M:%S' * ('T' in args.todate))
+ todate = datetime.datetime.strptime(args.todate, dtformat)
+
+ VCDataFactory = vcstore.getdata if not args.nostore else bt.feeds.VCData
+
+ datakwargs = dict(
+ timeframe=datatf, compression=datacomp,
+ fromdate=fromdate, todate=todate,
+ historical=args.historical,
+ qcheck=args.qcheck,
+ tz=args.timezone
+ )
+
+ if args.nostore and not args.broker: # neither store nor broker
+ datakwargs.update(storekwargs) # pass the store args over the data
+
+ data0 = VCDataFactory(dataname=args.data0, tradename=args.tradename,
+ **datakwargs)
+
+ data1 = None
+ if args.data1 is not None:
+ data1 = VCDataFactory(dataname=args.data1, **datakwargs)
+
+ rekwargs = dict(
+ timeframe=timeframe, compression=args.compression,
+ bar2edge=not args.no_bar2edge,
+ adjbartime=not args.no_adjbartime,
+ rightedge=not args.no_rightedge,
+ )
+
+ if args.replay:
+ cerebro.replaydata(data0, **rekwargs)
+
+ if data1 is not None:
+ cerebro.replaydata(data1, **rekwargs)
+
+ elif args.resample:
+ cerebro.resampledata(data0, **rekwargs)
+
+ if data1 is not None:
+ cerebro.resampledata(data1, **rekwargs)
+
+ else:
+ cerebro.adddata(data0)
+ if data1 is not None:
+ cerebro.adddata(data1)
+
+ if args.valid is None:
+ valid = None
+ else:
+ try:
+ valid = float(args.valid)
+ except:
+ dtformat = '%Y-%m-%d' + ('T%H:%M:%S' * ('T' in args.valid))
+ valid = datetime.datetime.strptime(args.valid, dtformat)
+ else:
+ valid = datetime.timedelta(seconds=args.valid)
+
+ # Add the strategy
+ cerebro.addstrategy(TestStrategy,
+ smaperiod=args.smaperiod,
+ trade=args.trade,
+ exectype=bt.Order.ExecType(args.exectype),
+ stake=args.stake,
+ stopafter=args.stopafter,
+ valid=valid,
+ cancel=args.cancel,
+ donotsell=args.donotsell,
+ price=args.price,
+ pstoplimit=args.pstoplimit)
+
+ # Live data ... avoid long data accumulation by switching to "exactbars"
+ cerebro.run(exactbars=args.exactbars)
+
+ if args.plot and args.exactbars < 1: # plot if possible
+ cerebro.plot()
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Test Visual Chart 6 integration')
+
+ parser.add_argument('--exactbars', default=1, type=int,
+ required=False, action='store',
+ help='exactbars level, use 0/-1/-2 to enable plotting')
+
+ parser.add_argument('--plot',
+ required=False, action='store_true',
+ help='Plot if possible')
+
+ parser.add_argument('--stopafter', default=0, type=int,
+ required=False, action='store',
+ help='Stop after x lines of LIVE data')
+
+ parser.add_argument('--nostore',
+ required=False, action='store_true',
+ help='Do not Use the store pattern')
+
+ parser.add_argument('--qcheck', default=0.5, type=float,
+ required=False, action='store',
+ help=('Timeout for periodic '
+ 'notification/resampling/replaying check'))
+
+ parser.add_argument('--no-timeoffset',
+ required=False, action='store_true',
+ help=('Do not Use TWS/System time offset for non '
+ 'timestamped prices and to align resampling'))
+
+ parser.add_argument('--data0', default=None,
+ required=True, action='store',
+ help='data 0 into the system')
+
+ parser.add_argument('--tradename', default=None,
+ required=False, action='store',
+ help='Actual Trading Name of the asset')
+
+ parser.add_argument('--data1', default=None,
+ required=False, action='store',
+ help='data 1 into the system')
+
+ parser.add_argument('--timezone', default=None,
+ required=False, action='store',
+ help='timezone to get time output into (pytz names)')
+
+ parser.add_argument('--historical',
+ required=False, action='store_true',
+ help='do only historical download')
+
+ parser.add_argument('--fromdate',
+ required=False, action='store',
+ help=('Starting date for historical download '
+ 'with format: YYYY-MM-DD[THH:MM:SS]'))
+
+ parser.add_argument('--todate',
+ required=False, action='store',
+ help=('End date for historical download '
+ 'with format: YYYY-MM-DD[THH:MM:SS]'))
+
+ parser.add_argument('--smaperiod', default=5, type=int,
+ required=False, action='store',
+ help='Period to apply to the Simple Moving Average')
+
+ pgroup = parser.add_mutually_exclusive_group(required=False)
+
+ pgroup.add_argument('--replay',
+ required=False, action='store_true',
+ help='replay to chosen timeframe')
+
+ pgroup.add_argument('--resample',
+ required=False, action='store_true',
+ help='resample to chosen timeframe')
+
+ parser.add_argument('--timeframe', default=bt.TimeFrame.Names[0],
+ choices=bt.TimeFrame.Names,
+ required=False, action='store',
+ help='TimeFrame for Resample/Replay')
+
+ parser.add_argument('--compression', default=1, type=int,
+ required=False, action='store',
+ help='Compression for Resample/Replay')
+
+ parser.add_argument('--no-bar2edge',
+ required=False, action='store_true',
+ help='no bar2edge for resample/replay')
+
+ parser.add_argument('--no-adjbartime',
+ required=False, action='store_true',
+ help='no adjbartime for resample/replay')
+
+ parser.add_argument('--no-rightedge',
+ required=False, action='store_true',
+ help='no rightedge for resample/replay')
+
+ parser.add_argument('--broker',
+ required=False, action='store_true',
+ help='Use VisualChart as broker')
+
+ parser.add_argument('--account', default=None,
+ required=False, action='store',
+ help='Choose broker account (else first)')
+
+ parser.add_argument('--trade',
+ required=False, action='store_true',
+ help='Do Sample Buy/Sell operations')
+
+ parser.add_argument('--donotsell',
+ required=False, action='store_true',
+ help='Do not sell after a buy')
+
+ parser.add_argument('--exectype', default=bt.Order.ExecTypes[0],
+ choices=bt.Order.ExecTypes,
+ required=False, action='store',
+ help='Execution to Use when opening position')
+
+ parser.add_argument('--price', default=None, type=float,
+ required=False, action='store',
+ help='Price in Limit orders or Stop Trigger Price')
+
+ parser.add_argument('--pstoplimit', default=None, type=float,
+ required=False, action='store',
+ help='Price for the limit in StopLimit')
+
+ parser.add_argument('--stake', default=10, type=int,
+ required=False, action='store',
+ help='Stake to use in buy operations')
+
+ parser.add_argument('--valid', default=None,
+ required=False, action='store',
+ help='Seconds or YYYY-MM-DD')
+
+ parser.add_argument('--cancel', default=0, type=int,
+ required=False, action='store',
+ help=('Cancel a buy order after n bars in operation,'
+ ' to be combined with orders like Limit'))
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/volumefilling/__init__.py b/backtrader/source/samples/volumefilling/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/volumefilling/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/volumefilling/volumefilling.py b/backtrader/source/samples/volumefilling/volumefilling.py
new file mode 100644
index 0000000000000000000000000000000000000000..04395ab0e3db36ffdcfea1ad074574b9d863eea2
--- /dev/null
+++ b/backtrader/source/samples/volumefilling/volumefilling.py
@@ -0,0 +1,178 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+import os.path
+import time
+import sys
+
+
+import backtrader as bt
+
+
+class St(bt.Strategy):
+ params = (
+ ('stakeperc', 10.0),
+ ('opbreak', 10),
+ )
+
+ def notify_order(self, order):
+ print('-- NOTIFY ORDER BEGIN')
+ print(order)
+ print('-- NOTIFY ORDER END')
+ print('-- ORDER REMSIZE:', order.executed.remsize)
+
+ if order.status == order.Completed:
+ print('++ ORDER COMPLETED at data.len:', len(order.data))
+ self.doop = -self.p.opbreak
+
+ def __init__(self):
+ pass
+
+ def start(self):
+ self.callcounter = 0
+ txtfields = list()
+ txtfields.append('Len')
+ txtfields.append('Datetime')
+ txtfields.append('Open')
+ txtfields.append('High')
+ txtfields.append('Low')
+ txtfields.append('Close')
+ txtfields.append('Volume')
+ txtfields.append('OpenInterest')
+ print(','.join(txtfields))
+
+ self.doop = 0
+
+ def next(self):
+ txtfields = list()
+ txtfields.append('%04d' % len(self))
+ txtfields.append(self.data0.datetime.date(0).isoformat())
+ txtfields.append('%.2f' % self.data0.open[0])
+ txtfields.append('%.2f' % self.data0.high[0])
+ txtfields.append('%.2f' % self.data0.low[0])
+ txtfields.append('%.2f' % self.data0.close[0])
+ txtfields.append('%.2f' % self.data0.volume[0])
+ txtfields.append('%.2f' % self.data0.openinterest[0])
+ print(','.join(txtfields))
+
+ # Single order
+ if self.doop == 0:
+ if not self.position.size:
+ stakevol = (self.data0.volume[0] * self.p.stakeperc) // 100
+ print('++ STAKE VOLUME:', stakevol)
+ self.buy(size=stakevol)
+
+ else:
+ self.close()
+
+ self.doop += 1
+
+
+FILLERS = {
+ 'FixedSize': bt.broker.fillers.FixedSize,
+ 'FixedBarPerc': bt.broker.fillers.FixedBarPerc,
+ 'BarPointPerc': bt.broker.fillers.BarPointPerc,
+}
+
+
+def runstrat():
+ args = parse_args()
+
+ datakwargs = dict()
+ if args.fromdate:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ datakwargs['fromdate'] = fromdate
+
+ if args.todate:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ datakwargs['todate'] = todate
+
+ data = bt.feeds.BacktraderCSVData(dataname=args.data, **datakwargs)
+
+ cerebro = bt.Cerebro()
+ cerebro.adddata(data)
+
+ cerebro.broker.set_cash(args.cash)
+ if args.filler is not None:
+ fillerkwargs = dict()
+ if args.filler_args is not None:
+ fillerkwargs = eval('dict(' + args.filler_args + ')')
+
+ filler = FILLERS[args.filler](**fillerkwargs)
+ cerebro.broker.set_filler(filler)
+
+ cerebro.addstrategy(St, stakeperc=args.stakeperc, opbreak=args.opbreak)
+
+ cerebro.run()
+ if args.plot:
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Volume Filling Sample')
+
+ parser.add_argument('--data', required=False,
+ default='../../datas/2006-volume-day-001.txt',
+ help='Data to be read in')
+
+ parser.add_argument('--cash', required=False, action='store',
+ default=500e6, type=float,
+ help=('Starting cash'))
+
+ parser.add_argument('--filler', required=False, action='store',
+ default=None, choices=FILLERS.keys(),
+ help=('Apply a volume filler for the execution'))
+
+ parser.add_argument('--filler-args', required=False, action='store',
+ default=None,
+ help=('kwargs for the filler with format:\n'
+ '\n'
+ 'arg1=val1,arg2=val2...'))
+
+ parser.add_argument('--stakeperc', required=False, action='store',
+ type=float, default=10.0,
+ help=('Percentage of 1st bar to use for stake'))
+
+ parser.add_argument('--opbreak', required=False, action='store',
+ type=int, default=10,
+ help=('Bars to wait for new op after completing '
+ 'another'))
+
+ parser.add_argument('--fromdate', '-f', required=False, default=None,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t', required=False, default=None,
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--plot', required=False, action='store_true',
+ help=('Plot the result'))
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/vwr/__init__.py b/backtrader/source/samples/vwr/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/vwr/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/vwr/vwr.py b/backtrader/source/samples/vwr/vwr.py
new file mode 100644
index 0000000000000000000000000000000000000000..0ac9965b8bfa9d1f946eeed796d3417c823ec47b
--- /dev/null
+++ b/backtrader/source/samples/vwr/vwr.py
@@ -0,0 +1,164 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+
+TFRAMES = dict(
+ days=bt.TimeFrame.Days,
+ weeks=bt.TimeFrame.Weeks,
+ months=bt.TimeFrame.Months,
+ years=bt.TimeFrame.Years)
+
+
+def runstrat(pargs=None):
+ args = parse_args(pargs)
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ if args.cash is not None:
+ cerebro.broker.set_cash(args.cash)
+
+ dkwargs = dict()
+ # Get the dates from the args
+ if args.fromdate is not None:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ dkwargs['fromdate'] = fromdate
+ if args.todate is not None:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ dkwargs['todate'] = todate
+
+ # Create the 1st data
+ data = bt.feeds.BacktraderCSVData(dataname=args.data, **dkwargs)
+ cerebro.adddata(data) # Add the data to cerebro
+
+ cerebro.addstrategy(bt.strategies.SMA_CrossOver) # Add the strategy
+
+ lrkwargs = dict()
+ if args.tframe is not None:
+ lrkwargs['timeframe'] = TFRAMES[args.tframe]
+
+ if args.tann is not None:
+ lrkwargs['tann'] = args.tann
+
+ cerebro.addanalyzer(bt.analyzers.Returns, **lrkwargs) # Returns
+
+ vwrkwargs = dict()
+ if args.tframe is not None:
+ vwrkwargs['timeframe'] = TFRAMES[args.tframe]
+
+ if args.tann is not None:
+ vwrkwargs['tann'] = args.tann
+
+ if args.sigma_max is not None:
+ vwrkwargs['sigma_max'] = args.sigma_max
+
+ if args.tau is not None:
+ vwrkwargs['tau'] = args.tau
+
+ cerebro.addanalyzer(bt.analyzers.SQN) # VWR Analyzer
+ cerebro.addanalyzer(bt.analyzers.SharpeRatio_A) # VWR Analyzer
+ cerebro.addanalyzer(bt.analyzers.VWR, **vwrkwargs) # VWR Analyzer
+ # Sample time return analyzers
+ cerebro.addanalyzer(bt.analyzers.TimeReturn,
+ timeframe=bt.TimeFrame.Months)
+ cerebro.addanalyzer(bt.analyzers.TimeReturn,
+ timeframe=bt.TimeFrame.Years)
+
+ # Add a writer to get output
+ cerebro.addwriter(bt.WriterFile, csv=args.writercsv, rounding=4)
+
+ cerebro.run() # And run it
+
+ # Plot if requested
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='VWR')
+
+ parser.add_argument('--data', '-d',
+ default='../../datas/2005-2006-day-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument('--cash', default=None, type=float, required=False,
+ help='Starting Cash')
+
+ parser.add_argument('--fromdate', '-f',
+ default=None,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default=None,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--writercsv', '-wcsv', action='store_true',
+ help='Tell the writer to produce a csv stream')
+
+ parser.add_argument('--tframe', '--timeframe', default=None,
+ required=False, choices=TFRAMES.keys(),
+ help='TimeFrame for the Returns/Sharpe calculations')
+
+ parser.add_argument('--sigma-max', required=False, action='store',
+ type=float, default=None,
+ help='VWR Sigma Max')
+
+ parser.add_argument('--tau', required=False, action='store',
+ type=float, default=None,
+ help='VWR tau factor')
+
+ parser.add_argument('--tann', required=False, action='store',
+ type=float, default=None,
+ help=('Annualization factor'))
+
+ parser.add_argument('--stddev-sample', required=False, action='store_true',
+ help='Consider Bessels correction for stddeviation')
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/weekdays-filler/__init__.py b/backtrader/source/samples/weekdays-filler/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/weekdays-filler/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/weekdays-filler/weekdaysaligner.py b/backtrader/source/samples/weekdays-filler/weekdaysaligner.py
new file mode 100644
index 0000000000000000000000000000000000000000..eaac8be5ae29c4b93c4f8db000256db3aeb3c05f
--- /dev/null
+++ b/backtrader/source/samples/weekdays-filler/weekdaysaligner.py
@@ -0,0 +1,129 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+import backtrader.utils.flushfile
+
+# from wkdaysfiller import WeekDaysFiller
+from weekdaysfiller import WeekDaysFiller
+
+
+class St(bt.Strategy):
+ params = (('sma', 0),)
+
+ def __init__(self):
+ if self.p.sma:
+ btind.SMA(self.data0, period=self.p.sma)
+ btind.SMA(self.data1, period=self.p.sma)
+
+ def next(self):
+ dtequal = (self.data0.datetime.datetime() ==
+ self.data1.datetime.datetime())
+
+ txt = ''
+ txt += '%04d, %5s' % (len(self), str(dtequal))
+ txt += ', data0, %s' % self.data0.datetime.datetime().isoformat()
+ txt += ', %s, data1' % self.data1.datetime.datetime().isoformat()
+ print(txt)
+
+
+def runstrat():
+ args = parse_args()
+
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ cerebro = bt.Cerebro(stdstats=False)
+
+ DataFeed = btfeeds.YahooFinanceCSVData
+ if args.online:
+ DataFeed = btfeeds.YahooFinanceData
+
+ data0 = DataFeed(dataname=args.data0, fromdate=fromdate, todate=todate)
+
+ if args.data1:
+ data1 = DataFeed(dataname=args.data1, fromdate=fromdate, todate=todate)
+ else:
+ data1 = data0.clone()
+
+ if args.filler or args.filler0:
+ data0.addfilter(WeekDaysFiller, fillclose=args.fillclose)
+
+ if args.filler or args.filler1:
+ data1.addfilter(WeekDaysFiller, fillclose=args.fillclose)
+
+ cerebro.adddata(data0)
+ cerebro.adddata(data1)
+
+ cerebro.addstrategy(St, sma=args.sma)
+ cerebro.run(runonce=True, preload=True)
+
+ if args.plot:
+ cerebro.plot(style='bar')
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Sample for aligning with trade ')
+
+ parser.add_argument('--online', required=False, action='store_true',
+ help='Fetch data online from Yahoo')
+
+ parser.add_argument('--data0', required=True, help='Data 0 to be read in')
+ parser.add_argument('--data1', required=False, help='Data 1 to be read in')
+
+ parser.add_argument('--sma', required=False, default=0, type=int,
+ help='Add a sma to the datas')
+
+ parser.add_argument('--fillclose', required=False, action='store_true',
+ help='Fill with Close price instead of NaN')
+
+ parser.add_argument('--filler', required=False, action='store_true',
+ help='Add Filler to Datas 0 and 1')
+
+ parser.add_argument('--filler0', required=False, action='store_true',
+ help='Add Filler to Data 0')
+
+ parser.add_argument('--filler1', required=False, action='store_true',
+ help='Add Filler to Data 1')
+
+ parser.add_argument('--fromdate', '-f', default='2012-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t', default='2012-12-31',
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--plot', required=False, action='store_true',
+ help='Do plot')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/samples/weekdays-filler/weekdaysfiller.py b/backtrader/source/samples/weekdays-filler/weekdaysfiller.py
new file mode 100644
index 0000000000000000000000000000000000000000..2dce3da8f18acb0208df12525cb6c79294bf6b9d
--- /dev/null
+++ b/backtrader/source/samples/weekdays-filler/weekdaysfiller.py
@@ -0,0 +1,66 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import datetime
+
+
+class WeekDaysFiller(object):
+ '''Bar Filler to add missing calendar days to trading days'''
+ # kickstart value for date comparisons
+ ONEDAY = datetime.timedelta(days=1)
+ lastdt = datetime.date.max - ONEDAY
+
+ def __init__(self, data, fillclose=False):
+ self.fillclose = fillclose
+ self.voidbar = [float('Nan')] * data.size() # init a void bar
+
+ def __call__(self, data):
+ '''Empty bars (NaN) or with last close price are added for weekdays with no
+ data
+
+ Params:
+ - data: the data source to filter/process
+
+ Returns:
+ - True (always): bars are removed (even if put back on the stack)
+
+ '''
+ dt = data.datetime.date() # current date in int format
+ lastdt = self.lastdt + self.ONEDAY # move last seen data once forward
+
+ while lastdt < dt: # loop over gap bars
+ if lastdt.isoweekday() < 6: # Mon-Fri
+ # Fill in date and add new bar to the stack
+ if self.fillclose:
+ self.voidbar = [self.lastclose] * data.size()
+ dtime = datetime.datetime.combine(lastdt, data.p.sessionend)
+ self.voidbar[-1] = data.date2num(dtime)
+ data._add2stack(self.voidbar[:])
+
+ lastdt += self.ONEDAY # move lastdt forward
+
+ self.lastdt = dt # keep a record of the last seen date
+
+ self.lastclose = data.close[0]
+ data._save2stack(erase=True) # dt bar to the stack and out of stream
+ return True # bars are on the stack (new and original)
diff --git a/backtrader/source/samples/writer-test/__init__.py b/backtrader/source/samples/writer-test/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/writer-test/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/writer-test/writer-test.py b/backtrader/source/samples/writer-test/writer-test.py
new file mode 100644
index 0000000000000000000000000000000000000000..c836f9a92d854f68614fdd713e82937dacfc7f86
--- /dev/null
+++ b/backtrader/source/samples/writer-test/writer-test.py
@@ -0,0 +1,217 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+# The above could be sent to an independent module
+import backtrader as bt
+import backtrader.feeds as btfeeds
+import backtrader.indicators as btind
+from backtrader.analyzers import SQN
+
+
+class LongShortStrategy(bt.Strategy):
+ '''This strategy buys/sells upong the close price crossing
+ upwards/downwards a Simple Moving Average.
+
+ It can be a long-only strategy by setting the param "onlylong" to True
+ '''
+ params = dict(
+ period=15,
+ stake=1,
+ printout=False,
+ onlylong=False,
+ csvcross=False,
+ )
+
+ def start(self):
+ pass
+
+ def stop(self):
+ pass
+
+ def log(self, txt, dt=None):
+ if self.p.printout:
+ dt = dt or self.data.datetime[0]
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+
+ def __init__(self):
+ # To control operation entries
+ self.orderid = None
+
+ # Create SMA on 2nd data
+ sma = btind.MovAv.SMA(self.data, period=self.p.period)
+ # Create a CrossOver Signal from close an moving average
+ self.signal = btind.CrossOver(self.data.close, sma)
+ self.signal.csv = self.p.csvcross
+
+ def next(self):
+ if self.orderid:
+ return # if an order is active, no new orders are allowed
+
+ if self.signal > 0.0: # cross upwards
+ if self.position:
+ self.log('CLOSE SHORT , %.2f' % self.data.close[0])
+ self.close()
+
+ self.log('BUY CREATE , %.2f' % self.data.close[0])
+ self.buy(size=self.p.stake)
+
+ elif self.signal < 0.0:
+ if self.position:
+ self.log('CLOSE LONG , %.2f' % self.data.close[0])
+ self.close()
+
+ if not self.p.onlylong:
+ self.log('SELL CREATE , %.2f' % self.data.close[0])
+ self.sell(size=self.p.stake)
+
+ def notify_order(self, order):
+ if order.status in [bt.Order.Submitted, bt.Order.Accepted]:
+ return # Await further notifications
+
+ if order.status == order.Completed:
+ if order.isbuy():
+ buytxt = 'BUY COMPLETE, %.2f' % order.executed.price
+ self.log(buytxt, order.executed.dt)
+ else:
+ selltxt = 'SELL COMPLETE, %.2f' % order.executed.price
+ self.log(selltxt, order.executed.dt)
+
+ elif order.status in [order.Expired, order.Canceled, order.Margin]:
+ self.log('%s ,' % order.Status[order.status])
+ pass # Simply log
+
+ # Allow new orders
+ self.orderid = None
+
+ def notify_trade(self, trade):
+ if trade.isclosed:
+ self.log('TRADE PROFIT, GROSS %.2f, NET %.2f' %
+ (trade.pnl, trade.pnlcomm))
+
+ elif trade.justopened:
+ self.log('TRADE OPENED, SIZE %2d' % trade.size)
+
+
+def runstrategy():
+ args = parse_args()
+
+ # Create a cerebro
+ cerebro = bt.Cerebro()
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ # Create the 1st data
+ data = btfeeds.BacktraderCSVData(
+ dataname=args.data,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the 1st data to cerebro
+ cerebro.adddata(data)
+
+ # Add the strategy
+ cerebro.addstrategy(LongShortStrategy,
+ period=args.period,
+ onlylong=args.onlylong,
+ csvcross=args.csvcross,
+ stake=args.stake)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcash(args.cash)
+
+ # Add the commission - only stocks like a for each operation
+ cerebro.broker.setcommission(commission=args.comm,
+ mult=args.mult,
+ margin=args.margin)
+
+ cerebro.addanalyzer(SQN)
+
+ cerebro.addwriter(bt.WriterFile, csv=args.writercsv, rounding=2)
+
+ # And run it
+ cerebro.run()
+
+ # Plot if requested
+ if args.plot:
+ cerebro.plot(numfigs=args.numfigs, volume=False, zdown=False)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='MultiData Strategy')
+
+ parser.add_argument('--data', '-d',
+ default='../../datas/2006-day-001.txt',
+ help='data to add to the system')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2006-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2006-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--period', default=15, type=int,
+ help='Period to apply to the Simple Moving Average')
+
+ parser.add_argument('--onlylong', '-ol', action='store_true',
+ help='Do only long operations')
+
+ parser.add_argument('--writercsv', '-wcsv', action='store_true',
+ help='Tell the writer to produce a csv stream')
+
+ parser.add_argument('--csvcross', action='store_true',
+ help='Output the CrossOver signals to CSV')
+
+ parser.add_argument('--cash', default=100000, type=int,
+ help='Starting Cash')
+
+ parser.add_argument('--comm', default=2, type=float,
+ help='Commission for operation')
+
+ parser.add_argument('--mult', default=10, type=int,
+ help='Multiplier for futures')
+
+ parser.add_argument('--margin', default=2000.0, type=float,
+ help='Margin for each future')
+
+ parser.add_argument('--stake', default=1, type=int,
+ help='Stake to apply in each operation')
+
+ parser.add_argument('--plot', '-p', action='store_true',
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', default=1,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrategy()
diff --git a/backtrader/source/samples/yahoo-test/__init__.py b/backtrader/source/samples/yahoo-test/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/samples/yahoo-test/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/samples/yahoo-test/yahoo-test.py b/backtrader/source/samples/yahoo-test/yahoo-test.py
new file mode 100644
index 0000000000000000000000000000000000000000..12e18f662543fa7a8264d9b0926111e831139172
--- /dev/null
+++ b/backtrader/source/samples/yahoo-test/yahoo-test.py
@@ -0,0 +1,105 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+
+import backtrader as bt
+import backtrader.indicators as btind
+import backtrader.feeds as btfeeds
+import backtrader.filters as btfilters
+
+
+def runstrat():
+ args = parse_args()
+
+ # Create a cerebro entity
+ cerebro = bt.Cerebro(stdstats=False)
+
+ # Add a strategy
+ cerebro.addstrategy(bt.Strategy)
+
+ # Get the dates from the args
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+
+ data = btfeeds.YahooFinanceData(
+ dataname=args.data,
+ fromdate=fromdate,
+ todate=todate)
+
+ # Add the resample data instead of the original
+ cerebro.adddata(data)
+
+ # Add a simple moving average if requirested
+ cerebro.addindicator(btind.SMA, period=args.period)
+
+ # Add a writer with CSV
+ if args.writer:
+ cerebro.addwriter(bt.WriterFile, csv=args.wrcsv)
+
+ # Run over everything
+ cerebro.run()
+
+ # Plot if requested
+ if args.plot:
+ cerebro.plot(style='bar', numfigs=args.numfigs, volume=False)
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Calendar Days Filter Sample')
+
+ parser.add_argument('--data', '-d',
+ default='YHOO',
+ help='Ticker to download from Yahoo')
+
+ parser.add_argument('--fromdate', '-f',
+ default='2006-01-01',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t',
+ default='2006-12-31',
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--period', default=15, type=int,
+ help='Period to apply to the Simple Moving Average')
+
+ parser.add_argument('--writer', '-w', action='store_true',
+ help='Add a writer to cerebro')
+
+ parser.add_argument('--wrcsv', '-wc', action='store_true',
+ help='Enable CSV Output in the writer')
+
+ parser.add_argument('--plot', '-p', action='store_true',
+ help='Plot the read data')
+
+ parser.add_argument('--numfigs', '-n', default=1, type=int,
+ help='Plot using numfigs figures')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/setup.py b/backtrader/source/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..dfd8df0df25c125851d05f4f29e4bdb5b9531245
--- /dev/null
+++ b/backtrader/source/setup.py
@@ -0,0 +1,140 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+import os.path
+import codecs # To use a consistent encoding
+import setuptools
+
+here = os.path.abspath(os.path.dirname(__file__))
+
+# Get the long description from the relevant file
+with codecs.open(os.path.join(here, 'README.rst'), encoding='utf-8') as f:
+ long_description = f.read()
+
+# Package name
+pname = 'backtrader'
+
+# Get the version ... execfile is only on Py2 ... use exec + compile + open
+vname = 'version.py'
+with open(os.path.join(pname, vname)) as f:
+ exec(compile(f.read(), vname, 'exec'))
+
+# Generate links
+gurl = 'https://github.com/mementum/' + pname
+gdurl = gurl + '/tarball/' + __version__
+
+setuptools.setup(
+ name=pname,
+
+ # Versions should comply with PEP440. For a discussion on single-sourcing
+ # the version across setup.py and the project code, see
+ # https://packaging.python.org/en/latest/single_source_version.html
+ version=__version__,
+
+ description='BackTesting Engine',
+ long_description=long_description,
+
+ # The project's main homepage.
+ url=gurl,
+ download_url=gdurl,
+
+ # Author details
+ author='Daniel Rodriguez',
+ author_email='danjrod@gmail.com',
+
+ # Choose your license
+ license='GPLv3+',
+
+ # See https://pypi.python.org/pypi?%3Aaction=list_classifiers
+ classifiers=[
+ # How mature is this project? Common values are
+ # 3 - Alpha
+ # 4 - Beta
+ # 5 - Production/Stable
+ 'Development Status :: 5 - Production/Stable',
+
+ # Indicate who your project is intended for
+ 'Intended Audience :: Developers',
+ 'Intended Audience :: Financial and Insurance Industry',
+
+ # Indicate which Topics are covered by the package
+ 'Topic :: Software Development',
+ 'Topic :: Office/Business :: Financial',
+
+ # Pick your license as you wish (should match "license" above)
+ ('License :: OSI Approved :: ' +
+ 'GNU General Public License v3 or later (GPLv3+)'),
+
+ # Specify the Python versions you support here. In particular, ensure
+ # that you indicate whether you support Python 2, Python 3 or both.
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.2',
+ 'Programming Language :: Python :: 3.3',
+ 'Programming Language :: Python :: 3.4',
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
+
+ # Operating Systems on which it runs
+ 'Operating System :: OS Independent',
+ ],
+
+ # What does your project relate to?
+ keywords=['trading', 'development'],
+
+ # You can just specify the packages manually here if your project is
+ # simple. Or you can use find_packages().
+ packages=setuptools.find_packages(exclude=['docs', 'docs2', 'samples']),
+ # packages=['backtrader', '],
+
+ # List run-time dependencies here.
+ # These will be installed by pip when your
+ # project is installed. For an analysis of "install_requires" vs pip's
+ # requirements files see:
+ # https://packaging.python.org/en/latest/requirements.html
+ # install_requires=['six'],
+
+ # List additional groups of dependencies here
+ # (e.g. development dependencies).
+ # You can install these using the following syntax, for example:
+ # $ pip install -e .[dev,test]
+ extras_require={
+ 'plotting': ['matplotlib'],
+ },
+
+ # If there are data files included in your packages that need to be
+ # installed, specify them here. If using Python 2.6 or less, then these
+ # have to be included in MANIFEST.in as well.
+ # package_data={'sample': ['package_data.dat'],},
+
+ # Although 'package_data' is the preferred approach, in some case you may
+ # need to place data files outside of your packages. See:
+ # http://docs.python.org/3.4/distutils/setupscript.html#installing-additional-files
+ # In this case, 'data_file' will be installed into '/my_data'
+ # data_files=[('my_data', ['data/data_file'])],
+
+ # To provide executable scripts, use entry points in preference to the
+ # "scripts" keyword. Entry points provide cross-platform support and allow
+ # pip to create the appropriate form of executable for the target platform.
+ # entry_points={'console_scripts': ['sample=sample:main',],},
+ entry_points={'console_scripts': ['btrun=backtrader.btrun:btrun']},
+
+ scripts=['tools/bt-run.py'],
+)
diff --git a/backtrader/source/tests/test_analyzer-sqn.py b/backtrader/source/tests/test_analyzer-sqn.py
new file mode 100644
index 0000000000000000000000000000000000000000..f9efe4cbd511c7823653e551dd2a2e194cbe60b8
--- /dev/null
+++ b/backtrader/source/tests/test_analyzer-sqn.py
@@ -0,0 +1,185 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import time
+try:
+ time_clock = time.process_time
+except:
+ time_clock = time.clock
+
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+
+class TestStrategy(bt.Strategy):
+ params = (
+ ('period', 15),
+ ('maxtrades', None),
+ ('printdata', True),
+ ('printops', True),
+ ('stocklike', True),
+ )
+
+ def log(self, txt, dt=None, nodate=False):
+ if not nodate:
+ dt = dt or self.data.datetime[0]
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+ else:
+ print('---------- %s' % (txt))
+
+ def notify_trade(self, trade):
+ if trade.isclosed:
+ self.tradecount += 1
+
+ def notify_order(self, order):
+ if order.status in [bt.Order.Submitted, bt.Order.Accepted]:
+ return # Await further notifications
+
+ if order.status == order.Completed:
+ if isinstance(order, bt.BuyOrder):
+ if self.p.printops:
+ txt = 'BUY, %.2f' % order.executed.price
+ self.log(txt, order.executed.dt)
+ chkprice = '%.2f' % order.executed.price
+ self.buyexec.append(chkprice)
+ else: # elif isinstance(order, SellOrder):
+ if self.p.printops:
+ txt = 'SELL, %.2f' % order.executed.price
+ self.log(txt, order.executed.dt)
+
+ chkprice = '%.2f' % order.executed.price
+ self.sellexec.append(chkprice)
+
+ elif order.status in [order.Expired, order.Canceled, order.Margin]:
+ if self.p.printops:
+ self.log('%s ,' % order.Status[order.status])
+
+ # Allow new orders
+ self.orderid = None
+
+ def __init__(self):
+ # Flag to allow new orders in the system or not
+ self.orderid = None
+
+ self.sma = btind.SMA(self.data, period=self.p.period)
+ self.cross = btind.CrossOver(self.data.close, self.sma, plot=True)
+
+ def start(self):
+ if not self.p.stocklike:
+ self.broker.setcommission(commission=2.0, mult=10.0, margin=1000.0)
+
+ if self.p.printdata:
+ self.log('-------------------------', nodate=True)
+ self.log('Starting portfolio value: %.2f' % self.broker.getvalue(),
+ nodate=True)
+
+ self.tstart = time_clock()
+
+ self.buycreate = list()
+ self.sellcreate = list()
+ self.buyexec = list()
+ self.sellexec = list()
+ self.tradecount = 0
+
+ def stop(self):
+ tused = time_clock() - self.tstart
+ if self.p.printdata:
+ self.log('Time used: %s' % str(tused))
+ self.log('Final portfolio value: %.2f' % self.broker.getvalue())
+ self.log('Final cash value: %.2f' % self.broker.getcash())
+ self.log('-------------------------')
+ else:
+ pass
+
+ def next(self):
+ if self.p.printdata:
+ self.log(
+ 'Open, High, Low, Close, %.2f, %.2f, %.2f, %.2f, Sma, %f' %
+ (self.data.open[0], self.data.high[0],
+ self.data.low[0], self.data.close[0],
+ self.sma[0]))
+ self.log('Close %.2f - Sma %.2f' %
+ (self.data.close[0], self.sma[0]))
+
+ if self.orderid:
+ # if an order is active, no new orders are allowed
+ return
+
+ if not self.position.size:
+ if self.p.maxtrades is None or self.tradecount < self.p.maxtrades:
+ if self.cross > 0.0:
+ if self.p.printops:
+ self.log('BUY CREATE , %.2f' % self.data.close[0])
+
+ self.orderid = self.buy()
+ chkprice = '%.2f' % self.data.close[0]
+ self.buycreate.append(chkprice)
+
+ elif self.cross < 0.0:
+ if self.p.printops:
+ self.log('SELL CREATE , %.2f' % self.data.close[0])
+
+ self.orderid = self.close()
+ chkprice = '%.2f' % self.data.close[0]
+ self.sellcreate.append(chkprice)
+
+
+chkdatas = 1
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+
+ for maxtrades in [None, 0, 1]:
+ cerebros = testcommon.runtest(datas,
+ TestStrategy,
+ printdata=main,
+ stocklike=False,
+ maxtrades=maxtrades,
+ printops=main,
+ plot=main,
+ analyzer=(bt.analyzers.SQN, {}))
+
+ for cerebro in cerebros:
+ strat = cerebro.runstrats[0][0] # no optimization, only 1
+ analyzer = strat.analyzers[0] # only 1
+ analysis = analyzer.get_analysis()
+ if main:
+ print(analysis)
+ print(str(analysis.sqn))
+ else:
+ if maxtrades == 0 or maxtrades == 1:
+ assert analysis.sqn == 0
+ assert analysis.trades == maxtrades
+ else:
+ # Handle different precision
+ assert str(analysis.sqn)[0:14] == '0.912550316439'
+ assert str(analysis.trades) == '11'
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_analyzer-timereturn.py b/backtrader/source/tests/test_analyzer-timereturn.py
new file mode 100644
index 0000000000000000000000000000000000000000..6c469b5df2247251b575056356089a43f34f6908
--- /dev/null
+++ b/backtrader/source/tests/test_analyzer-timereturn.py
@@ -0,0 +1,177 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import time
+try:
+ time_clock = time.process_time
+except:
+ time_clock = time.clock
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+from backtrader.utils.py3 import PY2
+
+
+class TestStrategy(bt.Strategy):
+ params = (
+ ('period', 15),
+ ('printdata', True),
+ ('printops', True),
+ ('stocklike', True),
+ )
+
+ def log(self, txt, dt=None, nodate=False):
+ if not nodate:
+ dt = dt or self.data.datetime[0]
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+ else:
+ print('---------- %s' % (txt))
+
+ def notify_order(self, order):
+ if order.status in [bt.Order.Submitted, bt.Order.Accepted]:
+ return # Await further notifications
+
+ if order.status == order.Completed:
+ if isinstance(order, bt.BuyOrder):
+ if self.p.printops:
+ txt = 'BUY, %.2f' % order.executed.price
+ self.log(txt, order.executed.dt)
+ chkprice = '%.2f' % order.executed.price
+ self.buyexec.append(chkprice)
+ else: # elif isinstance(order, SellOrder):
+ if self.p.printops:
+ txt = 'SELL, %.2f' % order.executed.price
+ self.log(txt, order.executed.dt)
+
+ chkprice = '%.2f' % order.executed.price
+ self.sellexec.append(chkprice)
+
+ elif order.status in [order.Expired, order.Canceled, order.Margin]:
+ if self.p.printops:
+ self.log('%s ,' % order.Status[order.status])
+
+ # Allow new orders
+ self.orderid = None
+
+ def __init__(self):
+ # Flag to allow new orders in the system or not
+ self.orderid = None
+
+ self.sma = btind.SMA(self.data, period=self.p.period)
+ self.cross = btind.CrossOver(self.data.close, self.sma, plot=True)
+
+ def start(self):
+ if not self.p.stocklike:
+ self.broker.setcommission(commission=2.0, mult=10.0, margin=1000.0)
+
+ if self.p.printdata:
+ self.log('-------------------------', nodate=True)
+ self.log('Starting portfolio value: %.2f' % self.broker.getvalue(),
+ nodate=True)
+
+ self.tstart = time_clock()
+
+ self.buycreate = list()
+ self.sellcreate = list()
+ self.buyexec = list()
+ self.sellexec = list()
+
+ def stop(self):
+ tused = time_clock() - self.tstart
+ if self.p.printdata:
+ self.log('Time used: %s' % str(tused))
+ self.log('Final portfolio value: %.2f' % self.broker.getvalue())
+ self.log('Final cash value: %.2f' % self.broker.getcash())
+ self.log('-------------------------')
+ else:
+ pass
+
+ def next(self):
+ if self.p.printdata:
+ self.log(
+ 'Open, High, Low, Close, %.2f, %.2f, %.2f, %.2f, Sma, %f' %
+ (self.data.open[0], self.data.high[0],
+ self.data.low[0], self.data.close[0],
+ self.sma[0]))
+ self.log('Close %.2f - Sma %.2f' %
+ (self.data.close[0], self.sma[0]))
+
+ if self.orderid:
+ # if an order is active, no new orders are allowed
+ return
+
+ if not self.position.size:
+ if self.cross > 0.0:
+ if self.p.printops:
+ self.log('BUY CREATE , %.2f' % self.data.close[0])
+
+ self.orderid = self.buy()
+ chkprice = '%.2f' % self.data.close[0]
+ self.buycreate.append(chkprice)
+
+ elif self.cross < 0.0:
+ if self.p.printops:
+ self.log('SELL CREATE , %.2f' % self.data.close[0])
+
+ self.orderid = self.close()
+ chkprice = '%.2f' % self.data.close[0]
+ self.sellcreate.append(chkprice)
+
+
+chkdatas = 1
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ cerebros = testcommon.runtest(datas,
+ TestStrategy,
+ printdata=main,
+ stocklike=False,
+ printops=main,
+ plot=main,
+ analyzer=(bt.analyzers.TimeReturn,
+ dict(timeframe=bt.TimeFrame.Years))
+ )
+
+ for cerebro in cerebros:
+ strat = cerebro.runstrats[0][0] # no optimization, only 1
+ analyzer = strat.analyzers[0] # only 1
+ analysis = analyzer.get_analysis()
+ if main:
+ print(analysis)
+ print(str(analysis[next(iter(analysis.keys()))]))
+ else:
+ # Handle different precision
+ if PY2:
+ sval = '0.2795'
+ else:
+ sval = '0.2794999999999983'
+
+ assert str(analysis[next(iter(analysis.keys()))]) == sval
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_comminfo.py b/backtrader/source/tests/test_comminfo.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc66b21b839b446f36aa2a3943ebe624336cc5c0
--- /dev/null
+++ b/backtrader/source/tests/test_comminfo.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+from backtrader import CommissionInfo, Position
+
+
+def check_stocks():
+ commission = 0.5
+ comm = bt.CommissionInfo(commission=commission)
+
+ price = 10.0
+ cash = 10000.0
+ size = 100.0
+
+ opcost = comm.getoperationcost(size=size, price=price)
+ assert opcost == size * price
+
+ pos = Position(size=size, price=price)
+ value = comm.getvalue(pos, price)
+ assert value == size * price
+
+ commcost = comm.getcommission(size, price)
+ assert commcost == size * price * commission
+
+ newprice = 5.0
+ pnl = comm.profitandloss(pos.size, pos.price, newprice)
+ assert pnl == pos.size * (newprice - price)
+
+ ca = comm.cashadjust(size, price, newprice)
+ assert not ca
+
+
+def check_futures():
+ commission = 0.5
+ margin = 10.0
+ mult = 10.0
+ comm = bt.CommissionInfo(commission=commission, mult=mult, margin=margin)
+
+ price = 10.0
+ cash = 10000.0
+ size = 100.0
+
+ opcost = comm.getoperationcost(size=size, price=price)
+ assert opcost == size * margin
+
+ pos = Position(size=size, price=price)
+ value = comm.getvalue(pos, price)
+ assert value == size * margin
+
+ commcost = comm.getcommission(size, price)
+ assert commcost == size * commission
+
+ newprice = 5.0
+ pnl = comm.profitandloss(pos.size, pos.price, newprice)
+ assert pnl == pos.size * (newprice - price) * mult
+
+ ca = comm.cashadjust(size, price, newprice)
+ assert ca == size * (newprice - price) * mult
+
+
+def test_run(main=False):
+ check_stocks()
+ check_futures()
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_data_multiframe.py b/backtrader/source/tests/test_data_multiframe.py
new file mode 100644
index 0000000000000000000000000000000000000000..f977dde7213746c7d7e5a68b0617bc2ff5457124
--- /dev/null
+++ b/backtrader/source/tests/test_data_multiframe.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 2
+chkvals = []
+
+chkmin = 151 # because of the weekly data
+chkind = [btind.SMA]
+chkargs = dict()
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals,
+ chkargs=chkargs)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_data_replay.py b/backtrader/source/tests/test_data_replay.py
new file mode 100644
index 0000000000000000000000000000000000000000..e2ed16bb75b299cd9a591d5c44c6cfbf2c183765
--- /dev/null
+++ b/backtrader/source/tests/test_data_replay.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chknext = 113
+chkvals = [
+ ['3836.453333', '3703.962333', '3741.802000']
+]
+
+chkmin = 30 # period will be in weeks
+chkind = [btind.SMA]
+chkargs = dict()
+
+
+def test_run(main=False, exbar=False):
+ data = testcommon.getdata(0)
+ data.replay(timeframe=bt.TimeFrame.Weeks, compression=1)
+ datas = [data]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals,
+ chknext=chknext,
+ chkargs=chkargs,
+ runonce=False,
+ preload=False,
+ exbar=exbar)
+
+
+if __name__ == '__main__':
+ for exbar in [False, -1, -2]:
+ test_run(main=True, exbar=exbar)
diff --git a/backtrader/source/tests/test_data_resample.py b/backtrader/source/tests/test_data_resample.py
new file mode 100644
index 0000000000000000000000000000000000000000..b8bee55ea2e1c3e9678b9625990520827cf99fc1
--- /dev/null
+++ b/backtrader/source/tests/test_data_resample.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['3836.453333', '3703.962333', '3741.802000']
+]
+
+chkmin = 30 # period will be in weeks
+chkind = [btind.SMA]
+chkargs = dict()
+
+
+def test_run(main=False):
+ for runonce in [True, False]:
+ data = testcommon.getdata(0)
+ data.resample(timeframe=bt.TimeFrame.Weeks, compression=1)
+
+ datas = [data]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ runonce=runonce,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals,
+ chkargs=chkargs)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_accdecosc.py b/backtrader/source/tests/test_ind_accdecosc.py
new file mode 100644
index 0000000000000000000000000000000000000000..1b0212ae4009aa154d57ffa694bc3ea4b558506b
--- /dev/null
+++ b/backtrader/source/tests/test_ind_accdecosc.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+
+chkdatas = 1
+chkvals = [
+ ['-2.097441', '14.156647', '30.408335']
+]
+
+chkmin = 38
+chkind = bt.ind.AccelerationDecelerationOscillator
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_aroonoscillator.py b/backtrader/source/tests/test_ind_aroonoscillator.py
new file mode 100644
index 0000000000000000000000000000000000000000..d8dd15a4418aac96c4cfe19974c6b47e9cc8bdae
--- /dev/null
+++ b/backtrader/source/tests/test_ind_aroonoscillator.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['35.714286', '-50.000000', '57.142857']
+]
+
+chkmin = 15
+chkind = btind.AroonOscillator
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_aroonupdown.py b/backtrader/source/tests/test_ind_aroonupdown.py
new file mode 100644
index 0000000000000000000000000000000000000000..868847ab9eee1134ae241c1c732484c5cb70f2c4
--- /dev/null
+++ b/backtrader/source/tests/test_ind_aroonupdown.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['42.857143', '35.714286', '85.714286'],
+ ['7.142857', '85.714286', '28.571429']
+]
+
+chkmin = 15
+chkind = btind.AroonUpDown
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_atr.py b/backtrader/source/tests/test_ind_atr.py
new file mode 100644
index 0000000000000000000000000000000000000000..1246c9d0b3bf2f88bea18aa498b826e01220eff9
--- /dev/null
+++ b/backtrader/source/tests/test_ind_atr.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['35.866308', '34.264286', '54.329064'],
+]
+
+chkmin = 15
+chkind = btind.ATR
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_awesomeoscillator.py b/backtrader/source/tests/test_ind_awesomeoscillator.py
new file mode 100644
index 0000000000000000000000000000000000000000..df06164906bdcb9bca967be82c7d57e9da6b1347
--- /dev/null
+++ b/backtrader/source/tests/test_ind_awesomeoscillator.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+
+chkdatas = 1
+chkvals = [
+ ['50.804206', '72.983735', '33.655941']
+]
+
+chkmin = 34
+chkind = bt.ind.AO
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_bbands.py b/backtrader/source/tests/test_ind_bbands.py
new file mode 100644
index 0000000000000000000000000000000000000000..e53f85b19e45ba3897f5cdcf6eff42a9dc59fbcd
--- /dev/null
+++ b/backtrader/source/tests/test_ind_bbands.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4065.884000', '3621.185000', '3582.895500'],
+ ['4190.782310', '3712.008864', '3709.453081'],
+ ['3940.985690', '3530.361136', '3456.337919'],
+]
+
+chkmin = 20
+chkind = btind.BBands
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_cci.py b/backtrader/source/tests/test_ind_cci.py
new file mode 100644
index 0000000000000000000000000000000000000000..59f9eb3fe56c94d7a71aa5701188351d7e5db74b
--- /dev/null
+++ b/backtrader/source/tests/test_ind_cci.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['69.574287', '91.196363', '82.175663'],
+]
+
+chkmin = 39
+chkind = btind.CCI
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_dema.py b/backtrader/source/tests/test_ind_dema.py
new file mode 100644
index 0000000000000000000000000000000000000000..42be6b8d671a0e12551b43fe257c73f50e67c2aa
--- /dev/null
+++ b/backtrader/source/tests/test_ind_dema.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4115.563246', '3852.837209', '3665.728415']
+]
+
+chkmin = 59
+chkind = btind.DEMA
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_demaenvelope.py b/backtrader/source/tests/test_ind_demaenvelope.py
new file mode 100644
index 0000000000000000000000000000000000000000..4982b17c71c275678f46da768984a64b43b0033b
--- /dev/null
+++ b/backtrader/source/tests/test_ind_demaenvelope.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4115.563246', '3852.837209', '3665.728415'],
+ ['4218.452327', '3949.158140', '3757.371626'],
+ ['4012.674165', '3756.516279', '3574.085205']
+]
+
+chkmin = 59
+chkind = btind.DEMAEnvelope
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_demaosc.py b/backtrader/source/tests/test_ind_demaosc.py
new file mode 100644
index 0000000000000000000000000000000000000000..5e5c26321ef658bdb36ebde2f072ec33b6dd7898
--- /dev/null
+++ b/backtrader/source/tests/test_ind_demaosc.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4.376754', '7.292791', '9.371585']
+]
+
+chkmin = 59
+chkind = btind.DEMAOsc
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_dm.py b/backtrader/source/tests/test_ind_dm.py
new file mode 100644
index 0000000000000000000000000000000000000000..6169a559c5bc87ca0c88deadef142061203cbb8e
--- /dev/null
+++ b/backtrader/source/tests/test_ind_dm.py
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['15.302485', '31.674648', '15.961767'],
+ ['18.839142', '26.946536', '18.161738'],
+ ['28.809535', '30.460124', '31.386311'],
+ ['24.638772', '18.914537', '21.564611'],
+]
+
+chkmin = 42
+chkind = btind.DM
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_dma.py b/backtrader/source/tests/test_ind_dma.py
new file mode 100644
index 0000000000000000000000000000000000000000..868cfceb0e0bf114a1afe8e97df36bd7389a06af
--- /dev/null
+++ b/backtrader/source/tests/test_ind_dma.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4121.903804', '3677.634675', '3579.962958']
+]
+
+
+chkmin = 30
+chkind = btind.DMA
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_downmove.py b/backtrader/source/tests/test_ind_downmove.py
new file mode 100644
index 0000000000000000000000000000000000000000..b915b4aa310f4661ed6995b69df1af38cf43f46d
--- /dev/null
+++ b/backtrader/source/tests/test_ind_downmove.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['10.720000', '-10.010000', '-14.000000'],
+]
+
+chkmin = 2
+chkind = btind.DownMove
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_dpo.py b/backtrader/source/tests/test_ind_dpo.py
new file mode 100644
index 0000000000000000000000000000000000000000..74e98dc5f61181ef88dfefd837b2450bf75bcda3
--- /dev/null
+++ b/backtrader/source/tests/test_ind_dpo.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['83.271000', '105.625000', '1.187000'],
+]
+
+chkmin = 29
+chkind = btind.DPO
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_dv2.py b/backtrader/source/tests/test_ind_dv2.py
new file mode 100644
index 0000000000000000000000000000000000000000..b5ecd3e75d711dede8e714154b10bb1621ab64e4
--- /dev/null
+++ b/backtrader/source/tests/test_ind_dv2.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['17.460317', '55.952381', '80.555556'],
+]
+
+chkmin = 253
+chkind = btind.DV2
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_ema.py b/backtrader/source/tests/test_ind_ema.py
new file mode 100644
index 0000000000000000000000000000000000000000..207767988f001f8511e3953d4966f2180ba605b9
--- /dev/null
+++ b/backtrader/source/tests/test_ind_ema.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4070.115719', '3644.444667', '3581.728712'],
+]
+
+chkmin = 30
+chkind = btind.EMA
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_emaenvelope.py b/backtrader/source/tests/test_ind_emaenvelope.py
new file mode 100644
index 0000000000000000000000000000000000000000..715db36670ad783c48cfe0dbb6844d61494bf498
--- /dev/null
+++ b/backtrader/source/tests/test_ind_emaenvelope.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4070.115719', '3644.444667', '3581.728712'],
+ ['4171.868612', '3735.555783', '3671.271930'],
+ ['3968.362826', '3553.333550', '3492.185494'],
+]
+
+chkmin = 30
+chkind = btind.EMAEnvelope
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_emaosc.py b/backtrader/source/tests/test_ind_emaosc.py
new file mode 100644
index 0000000000000000000000000000000000000000..22a1a347df64237db437422b2a5e1c8cc100506f
--- /dev/null
+++ b/backtrader/source/tests/test_ind_emaosc.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['49.824281', '51.185333', '-24.648712']
+]
+
+chkmin = 30
+chkind = btind.EMAOsc
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_envelope.py b/backtrader/source/tests/test_ind_envelope.py
new file mode 100644
index 0000000000000000000000000000000000000000..87ac9d23b40bf1bd3b08af3f12b17cd733c57f2d
--- /dev/null
+++ b/backtrader/source/tests/test_ind_envelope.py
@@ -0,0 +1,59 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4063.463000', '3644.444667', '3554.693333'],
+ ['4165.049575', '3735.555783', '3643.560667'],
+ ['3961.876425', '3553.333550', '3465.826000']
+]
+
+chkmin = 30
+chkind = btind.Envelope
+
+
+class TS2(testcommon.TestStrategy):
+ def __init__(self):
+ ind = btind.MovAv.SMA(self.data)
+ self.p.inddata = [ind]
+ super(TS2, self).__init__()
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ TS2,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_heikinashi.py b/backtrader/source/tests/test_ind_heikinashi.py
new file mode 100644
index 0000000000000000000000000000000000000000..c36d45708ee3e5f1181aa34f0d1af9f1ce4d7f02
--- /dev/null
+++ b/backtrader/source/tests/test_ind_heikinashi.py
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+
+chkdatas = 1
+chkvals = [
+ ['4119.466107', '3591.732500', '3578.625259'],
+ ['4142.010000', '3638.420000', '3662.920000'],
+ ['4119.466107', '3591.732500', '3578.625259'],
+ ['4128.002500', '3614.670000', '3653.455000']
+]
+
+chkmin = 2
+chkind = bt.ind.HeikinAshi
+
+
+def test_run(main=False):
+ if False:
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_highest.py b/backtrader/source/tests/test_ind_highest.py
new file mode 100644
index 0000000000000000000000000000000000000000..c7755b4223133c5fa398c471cf66cd8b167499d2
--- /dev/null
+++ b/backtrader/source/tests/test_ind_highest.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4140.660000', '3671.780000', '3670.750000'],
+]
+
+chkmin = 14
+chkind = btind.Highest
+chkargs = dict(period=14)
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals,
+ chkargs=chkargs)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_hma.py b/backtrader/source/tests/test_ind_hma.py
new file mode 100644
index 0000000000000000000000000000000000000000..683ea6979cef48a41fe4734a2f54b5db5128e7a2
--- /dev/null
+++ b/backtrader/source/tests/test_ind_hma.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4135.661250', '3736.429214', '3578.389024'],
+]
+
+
+chkmin = 34
+chkind = btind.HMA
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_ichimoku.py b/backtrader/source/tests/test_ind_ichimoku.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e508e6b0c53aa56a420deb8d87b3f58da160afe
--- /dev/null
+++ b/backtrader/source/tests/test_ind_ichimoku.py
@@ -0,0 +1,54 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4110.000000', '3821.030000', '3748.785000'],
+ ['4030.920000', '3821.030000', '3676.860000'],
+ ['4057.485000', '3753.502500', '3546.152500'],
+ ['3913.300000', '3677.815000', '3637.130000'],
+ [('nan', '3682.320000'), '3590.910000', '3899.410000']
+]
+
+chkmin = 78
+chkind = bt.ind.Ichimoku
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_kama.py b/backtrader/source/tests/test_ind_kama.py
new file mode 100644
index 0000000000000000000000000000000000000000..660c280fda198fb1cdd61020e82e91f2ff7597e4
--- /dev/null
+++ b/backtrader/source/tests/test_ind_kama.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4054.187922', '3648.549000', '3592.979190'],
+]
+
+chkmin = 31
+chkind = btind.KAMA
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_kamaenvelope.py b/backtrader/source/tests/test_ind_kamaenvelope.py
new file mode 100644
index 0000000000000000000000000000000000000000..8cca2c27c39be001f5ad6d4536ad421afdf70140
--- /dev/null
+++ b/backtrader/source/tests/test_ind_kamaenvelope.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4063.463000', '3644.444667', '3554.693333'],
+ ['4165.049575', '3735.555783', '3643.560667'],
+ ['3961.876425', '3553.333550', '3465.826000'],
+]
+
+chkmin = 30
+chkind = btind.SMAEnvelope
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_kamaosc.py b/backtrader/source/tests/test_ind_kamaosc.py
new file mode 100644
index 0000000000000000000000000000000000000000..b1279399095819e6c5b11c2f7c07f3f0fcd6952b
--- /dev/null
+++ b/backtrader/source/tests/test_ind_kamaosc.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['65.752078', '78.911000', '39.950810']
+]
+
+chkmin = 31
+chkind = btind.KAMAOsc
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_kst.py b/backtrader/source/tests/test_ind_kst.py
new file mode 100644
index 0000000000000000000000000000000000000000..07775e499a4474ffc81e986b982d81173a75703a
--- /dev/null
+++ b/backtrader/source/tests/test_ind_kst.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['18.966300', '33.688645', '27.643797'],
+ ['11.123593', '37.882890', '16.602624']
+]
+
+chkmin = 48
+chkind = bt.ind.KST
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_lowest.py b/backtrader/source/tests/test_ind_lowest.py
new file mode 100644
index 0000000000000000000000000000000000000000..c8d18528aae2e6ffc4f180ead2ee02f37c8509bc
--- /dev/null
+++ b/backtrader/source/tests/test_ind_lowest.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4019.890000', '3570.170000', '3506.070000'],
+]
+
+chkmin = 14
+chkind = btind.Lowest
+chkargs = dict(period=14)
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals,
+ chkargs=chkargs)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_lrsi.py b/backtrader/source/tests/test_ind_lrsi.py
new file mode 100644
index 0000000000000000000000000000000000000000..40381fc27dab55262bfd2a5b2c537b65023c45f9
--- /dev/null
+++ b/backtrader/source/tests/test_ind_lrsi.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['0.748915', '0.714286', '1.000000'],
+]
+
+chkmin = 6
+chkind = btind.LRSI
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_macdhisto.py b/backtrader/source/tests/test_ind_macdhisto.py
new file mode 100644
index 0000000000000000000000000000000000000000..582681cb7932d548a4c879df307498d127323016
--- /dev/null
+++ b/backtrader/source/tests/test_ind_macdhisto.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['25.821368', '32.469404', '1.772445'],
+ ['21.977853', '26.469735', '-2.845646'],
+ ['3.843516', '5.999669', '4.618090'],
+]
+
+chkmin = 34
+chkind = btind.MACDHisto
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_minperiod.py b/backtrader/source/tests/test_ind_minperiod.py
new file mode 100644
index 0000000000000000000000000000000000000000..b4b7d7f58236831a14363129f3591521a7f10287
--- /dev/null
+++ b/backtrader/source/tests/test_ind_minperiod.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = []
+
+chkmin = 34 # from MACD
+chkind = [btind.SMA, btind.Stochastic, btind.MACD, btind.Highest]
+chkargs = dict()
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals,
+ chkargs=chkargs)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_momentum.py b/backtrader/source/tests/test_ind_momentum.py
new file mode 100644
index 0000000000000000000000000000000000000000..f8e32a38180f5827eac53416bb76afb2cc0d52c6
--- /dev/null
+++ b/backtrader/source/tests/test_ind_momentum.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['67.050000', '-34.160000', '67.630000'],
+]
+
+chkmin = 13
+chkind = btind.Momentum
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_momentumoscillator.py b/backtrader/source/tests/test_ind_momentumoscillator.py
new file mode 100644
index 0000000000000000000000000000000000000000..7c587ea6d09b1192e9549d63b529c29385df2fb3
--- /dev/null
+++ b/backtrader/source/tests/test_ind_momentumoscillator.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['101.654375', '99.052251', '101.904990'],
+]
+
+chkmin = 13
+chkind = btind.MomentumOscillator
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_oscillator.py b/backtrader/source/tests/test_ind_oscillator.py
new file mode 100644
index 0000000000000000000000000000000000000000..c649e610a451983756d26f34b1e086e26ac273b6
--- /dev/null
+++ b/backtrader/source/tests/test_ind_oscillator.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['56.477000', '51.185333', '2.386667']
+]
+
+chkmin = 30
+chkind = btind.Oscillator
+
+
+class TS2(testcommon.TestStrategy):
+ def __init__(self):
+ ind = btind.MovAv.SMA(self.data)
+ self.p.inddata = [ind]
+ super(TS2, self).__init__()
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ TS2,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_pctchange.py b/backtrader/source/tests/test_ind_pctchange.py
new file mode 100644
index 0000000000000000000000000000000000000000..9780cb1c94763827c11f6f4243d4993d6c483a81
--- /dev/null
+++ b/backtrader/source/tests/test_ind_pctchange.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['0.002704', '0.034162', '0.043717']
+]
+
+chkmin = 31
+chkind = btind.PctChange
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_pctrank.py b/backtrader/source/tests/test_ind_pctrank.py
new file mode 100644
index 0000000000000000000000000000000000000000..2f8e6615459f9849915c233f271a996c352fc65d
--- /dev/null
+++ b/backtrader/source/tests/test_ind_pctrank.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['0.900000', '0.880000', '0.980000'],
+]
+
+chkmin = 50
+chkind = btind.PercentRank
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_pgo.py b/backtrader/source/tests/test_ind_pgo.py
new file mode 100644
index 0000000000000000000000000000000000000000..476a8bb8012e3a9b1272cecc2e0a7607810f6386
--- /dev/null
+++ b/backtrader/source/tests/test_ind_pgo.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['0.543029', '-2.347884', '0.416325']
+]
+
+chkmin = 15
+chkind = btind.PGO
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_ppo.py b/backtrader/source/tests/test_ind_ppo.py
new file mode 100644
index 0000000000000000000000000000000000000000..d32da43ff30c3174b9117d88cc2e0a2bcdc0ebeb
--- /dev/null
+++ b/backtrader/source/tests/test_ind_ppo.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['0.633439', '0.883552', '0.049430'],
+ ['0.540516', '0.724136', '-0.079820'],
+ ['0.092923', '0.159416', '0.129250']
+]
+
+chkmin = 34
+chkind = btind.PPO
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_pposhort.py b/backtrader/source/tests/test_ind_pposhort.py
new file mode 100644
index 0000000000000000000000000000000000000000..78f323804f7726899166dd89049106154bfc7069
--- /dev/null
+++ b/backtrader/source/tests/test_ind_pposhort.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['0.629452', '0.875813', '0.049405'],
+ ['0.537193', '0.718852', '-0.080645'],
+ ['0.092259', '0.156962', '0.130050']
+]
+
+chkmin = 34
+chkind = btind.PPOShort
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_priceosc.py b/backtrader/source/tests/test_ind_priceosc.py
new file mode 100644
index 0000000000000000000000000000000000000000..004218b26306097247e9a44349e301b1e4006528
--- /dev/null
+++ b/backtrader/source/tests/test_ind_priceosc.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['25.821368', '23.202675', '-9.927422']
+]
+
+chkmin = 26
+chkind = btind.PriceOsc
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_rmi.py b/backtrader/source/tests/test_ind_rmi.py
new file mode 100644
index 0000000000000000000000000000000000000000..22b57d1699e928824cb73e95f7ca77d0f261558f
--- /dev/null
+++ b/backtrader/source/tests/test_ind_rmi.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+
+chkdatas = 1
+chkvals = [
+ ['67.786097', '59.856230', '38.287526']
+]
+
+chkmin = 25
+chkind = bt.ind.RMI
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_roc.py b/backtrader/source/tests/test_ind_roc.py
new file mode 100644
index 0000000000000000000000000000000000000000..384f76e740731c26d803907e4228c1fc865c4043
--- /dev/null
+++ b/backtrader/source/tests/test_ind_roc.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['0.016544', '-0.009477', '0.019050'],
+]
+
+chkmin = 13
+chkind = btind.ROC
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_rsi.py b/backtrader/source/tests/test_ind_rsi.py
new file mode 100644
index 0000000000000000000000000000000000000000..ab115ba856de2d60f7307f1f2c7ebbdcfaeb11e1
--- /dev/null
+++ b/backtrader/source/tests/test_ind_rsi.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['57.644284', '41.630968', '53.352553'],
+]
+
+chkmin = 15
+chkind = btind.RSI
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_rsi_safe.py b/backtrader/source/tests/test_ind_rsi_safe.py
new file mode 100644
index 0000000000000000000000000000000000000000..85fd33c062b3f43868f5661d7626b96895de7d46
--- /dev/null
+++ b/backtrader/source/tests/test_ind_rsi_safe.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['57.644284', '41.630968', '53.352553'],
+]
+
+chkmin = 15
+chkind = btind.RSI_Safe
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_sma.py b/backtrader/source/tests/test_ind_sma.py
new file mode 100644
index 0000000000000000000000000000000000000000..41d11ae4cff22aea471b16f7fc60b6186ed27efb
--- /dev/null
+++ b/backtrader/source/tests/test_ind_sma.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4063.463000', '3644.444667', '3554.693333'],
+]
+
+chkmin = 30
+chkind = btind.SMA
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_smaenvelope.py b/backtrader/source/tests/test_ind_smaenvelope.py
new file mode 100644
index 0000000000000000000000000000000000000000..8cca2c27c39be001f5ad6d4536ad421afdf70140
--- /dev/null
+++ b/backtrader/source/tests/test_ind_smaenvelope.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4063.463000', '3644.444667', '3554.693333'],
+ ['4165.049575', '3735.555783', '3643.560667'],
+ ['3961.876425', '3553.333550', '3465.826000'],
+]
+
+chkmin = 30
+chkind = btind.SMAEnvelope
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_smaosc.py b/backtrader/source/tests/test_ind_smaosc.py
new file mode 100644
index 0000000000000000000000000000000000000000..b5799c33ff299475f0bb3d7efc89047423da927b
--- /dev/null
+++ b/backtrader/source/tests/test_ind_smaosc.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['56.477000', '51.185333', '2.386667']
+]
+
+chkmin = 30
+chkind = btind.SMAOsc
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_smma.py b/backtrader/source/tests/test_ind_smma.py
new file mode 100644
index 0000000000000000000000000000000000000000..f827ab2ad3032c9819b809dd51b1791bf183f1fd
--- /dev/null
+++ b/backtrader/source/tests/test_ind_smma.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4021.569725', '3644.444667', '3616.427648'],
+]
+
+chkmin = 30
+chkind = btind.SMMA
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_smmaenvelope.py b/backtrader/source/tests/test_ind_smmaenvelope.py
new file mode 100644
index 0000000000000000000000000000000000000000..190f94b9b33cbddc3bb2eabf21dd730f39a2c9de
--- /dev/null
+++ b/backtrader/source/tests/test_ind_smmaenvelope.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4021.569725', '3644.444667', '3616.427648'],
+ ['4122.108968', '3735.555783', '3706.838340'],
+ ['3921.030482', '3553.333550', '3526.016957'],
+]
+
+chkmin = 30
+chkind = btind.SMMAEnvelope
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_smmaosc.py b/backtrader/source/tests/test_ind_smmaosc.py
new file mode 100644
index 0000000000000000000000000000000000000000..61f14701f086668ac0a28e91af92ff5bb46aa270
--- /dev/null
+++ b/backtrader/source/tests/test_ind_smmaosc.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['98.370275', '51.185333', '-59.347648']
+]
+
+chkmin = 30
+chkind = btind.SMMAOsc
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_stochastic.py b/backtrader/source/tests/test_ind_stochastic.py
new file mode 100644
index 0000000000000000000000000000000000000000..d4f28e61f99cab5986af029747c3fbfa6eb99907
--- /dev/null
+++ b/backtrader/source/tests/test_ind_stochastic.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['88.667626', '21.409626', '63.796187'],
+ ['82.845850', '15.710059', '77.642219'],
+]
+
+chkmin = 18
+chkind = btind.Stochastic
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_stochasticfull.py b/backtrader/source/tests/test_ind_stochasticfull.py
new file mode 100644
index 0000000000000000000000000000000000000000..06f8fe8d81516b525d4c5e4455799f03d04ce28f
--- /dev/null
+++ b/backtrader/source/tests/test_ind_stochasticfull.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['83.541267', '36.818395', '41.769503'],
+ ['88.667626', '21.409626', '63.796187'],
+ ['82.845850', '15.710059', '77.642219'],
+]
+
+chkmin = 18
+chkind = btind.StochasticFull
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_sumn.py b/backtrader/source/tests/test_ind_sumn.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d218fd6338d4aca711a0e35f11569c6cf31bcc7
--- /dev/null
+++ b/backtrader/source/tests/test_ind_sumn.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['57406.490000', '50891.010000', '50424.690000'],
+]
+
+chkmin = 14
+chkind = btind.SumN
+chkargs = dict(period=14)
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals,
+ chkargs=chkargs)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_tema.py b/backtrader/source/tests/test_ind_tema.py
new file mode 100644
index 0000000000000000000000000000000000000000..d2a83d31fc79e6aa0e05f0dece1eac360400811e
--- /dev/null
+++ b/backtrader/source/tests/test_ind_tema.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4113.721705', '3862.386854', '3832.691054']
+]
+
+chkmin = 88
+chkind = btind.TEMA
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_temaenvelope.py b/backtrader/source/tests/test_ind_temaenvelope.py
new file mode 100644
index 0000000000000000000000000000000000000000..4334f290e9c9e91e049d625533d2ac38ad2ca324
--- /dev/null
+++ b/backtrader/source/tests/test_ind_temaenvelope.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4113.721705', '3862.386854', '3832.691054'],
+ ['4216.564748', '3958.946525', '3928.508331'],
+ ['4010.878663', '3765.827182', '3736.873778']
+]
+
+chkmin = 88
+chkind = btind.TEMAEnvelope
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_temaosc.py b/backtrader/source/tests/test_ind_temaosc.py
new file mode 100644
index 0000000000000000000000000000000000000000..f66179ce2e1261773bf7700a547b4ee349fae556
--- /dev/null
+++ b/backtrader/source/tests/test_ind_temaosc.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['6.218295', '15.143146', '-23.991054']
+]
+
+chkmin = 88
+chkind = btind.TEMAOsc
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_trix.py b/backtrader/source/tests/test_ind_trix.py
new file mode 100644
index 0000000000000000000000000000000000000000..6058472bf252825c43197a286d586e0399079209
--- /dev/null
+++ b/backtrader/source/tests/test_ind_trix.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['0.071304', '0.181480', '0.050954']
+]
+
+chkmin = 44
+chkind = btind.Trix
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_tsi.py b/backtrader/source/tests/test_ind_tsi.py
new file mode 100644
index 0000000000000000000000000000000000000000..9cb5d90a312aca3387530453e050b16070c97316
--- /dev/null
+++ b/backtrader/source/tests/test_ind_tsi.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['16.012364', '22.866307', '4.990750']
+]
+
+chkmin = 38
+chkind = bt.ind.TSI
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_ultosc.py b/backtrader/source/tests/test_ind_ultosc.py
new file mode 100644
index 0000000000000000000000000000000000000000..5fd77fe616368cca8b485a5294e64bbf5453c9aa
--- /dev/null
+++ b/backtrader/source/tests/test_ind_ultosc.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+
+chkdatas = 1
+chkvals = [
+ ['51.991177', '62.334055', '46.707445']
+]
+
+chkmin = 29 # 28 from longest SumN/Sum + 1 extra from truelow/truerange
+chkind = bt.indicators.UltimateOscillator
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_upmove.py b/backtrader/source/tests/test_ind_upmove.py
new file mode 100644
index 0000000000000000000000000000000000000000..a1acc63b11d636a431b018779042e7c2428e1102
--- /dev/null
+++ b/backtrader/source/tests/test_ind_upmove.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['-10.720000', '10.010000', '14.000000'],
+]
+
+chkmin = 2
+chkind = btind.UpMove
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_vortex.py b/backtrader/source/tests/test_ind_vortex.py
new file mode 100644
index 0000000000000000000000000000000000000000..60450ae38ec037ba81bf1a62618906ad6324764c
--- /dev/null
+++ b/backtrader/source/tests/test_ind_vortex.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['1.245434', '0.921076', '1.062278'],
+ ['0.707948', '0.966375', '0.803849']
+]
+
+chkmin = 15
+chkind = btind.Vortex
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_williamsad.py b/backtrader/source/tests/test_ind_williamsad.py
new file mode 100644
index 0000000000000000000000000000000000000000..c0776260fc6b6b4f6ab987fa7faeab86f1c5b986
--- /dev/null
+++ b/backtrader/source/tests/test_ind_williamsad.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['755.050000', '12.500000', '242.980000']
+]
+
+chkmin = 2
+chkind = btind.WilliamsAD
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_williamsr.py b/backtrader/source/tests/test_ind_williamsr.py
new file mode 100644
index 0000000000000000000000000000000000000000..919a66a6bf2141194697c4dc469d5d3e8a7cc24f
--- /dev/null
+++ b/backtrader/source/tests/test_ind_williamsr.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['-16.458733', '-68.298609', '-28.602854'],
+]
+
+chkmin = 14
+chkind = btind.WilliamsR
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_wma.py b/backtrader/source/tests/test_ind_wma.py
new file mode 100644
index 0000000000000000000000000000000000000000..28adb18afe0bf919d90639eefa474c761bfce5de
--- /dev/null
+++ b/backtrader/source/tests/test_ind_wma.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4076.212366', '3655.193634', '3576.228000'],
+]
+
+chkmin = 30
+chkind = btind.WMA
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_wmaenvelope.py b/backtrader/source/tests/test_ind_wmaenvelope.py
new file mode 100644
index 0000000000000000000000000000000000000000..0480a4cbc1b6e76dc2bff26fe2e3a8be76800acd
--- /dev/null
+++ b/backtrader/source/tests/test_ind_wmaenvelope.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4076.212366', '3655.193634', '3576.228000'],
+ ['4178.117675', '3746.573475', '3665.633700'],
+ ['3974.307056', '3563.813794', '3486.822300'],
+]
+
+chkmin = 30
+chkind = btind.WMAEnvelope
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_wmaosc.py b/backtrader/source/tests/test_ind_wmaosc.py
new file mode 100644
index 0000000000000000000000000000000000000000..0d88a00aa2537f0a7f3799b85c877d390603d4c7
--- /dev/null
+++ b/backtrader/source/tests/test_ind_wmaosc.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['43.727634', '40.436366', '-19.148000']
+]
+
+chkmin = 30
+chkind = btind.WMAOsc
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_zlema.py b/backtrader/source/tests/test_ind_zlema.py
new file mode 100644
index 0000000000000000000000000000000000000000..b86e44c661de676f3b4ff907b59787b952e39fc5
--- /dev/null
+++ b/backtrader/source/tests/test_ind_zlema.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4125.487746', '3778.694000', '3620.284712']
+]
+
+chkmin = 44
+chkind = btind.ZLEMA
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_ind_zlind.py b/backtrader/source/tests/test_ind_zlind.py
new file mode 100644
index 0000000000000000000000000000000000000000..6862d68609a37983324a9cce59f764cb7494eb56
--- /dev/null
+++ b/backtrader/source/tests/test_ind_zlind.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+chkdatas = 1
+chkvals = [
+ ['4110.282052', '3644.444667', '3564.906194']
+]
+
+chkmin = 30
+chkind = btind.ZeroLagIndicator
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_metaclass.py b/backtrader/source/tests/test_metaclass.py
new file mode 100644
index 0000000000000000000000000000000000000000..3637e839dfbb4ceb00209c2aaf3c47f0a3e9a725
--- /dev/null
+++ b/backtrader/source/tests/test_metaclass.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+import testcommon
+
+class TestFrompackages(testcommon.SampleParamsHolder):
+ """
+ This class is used for testing that inheriting from base class that
+ uses `frompackages` import mechanism, doesnt brake the functionality
+ of the base class.
+ """
+ def __init__(self):
+ super(TestFrompackages, self).__init__()
+ # Prepare the lags array
+
+def test_run(main=False):
+ """
+ Instantiate the TestFrompackages and see that no exception is raised
+ Bug Discussion:
+ https://community.backtrader.com/topic/2661/frompackages-directive-functionality-seems-to-be-broken-when-using-inheritance
+ """
+ test = TestFrompackages()
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_order.py b/backtrader/source/tests/test_order.py
new file mode 100644
index 0000000000000000000000000000000000000000..be895184bf6b8a503b87fc6e8b5cc54337d5949c
--- /dev/null
+++ b/backtrader/source/tests/test_order.py
@@ -0,0 +1,125 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader as bt
+from backtrader import Order, Position
+
+
+class FakeCommInfo(object):
+ def getvaluesize(self, size, price):
+ return 0
+
+ def profitandloss(self, size, price, newprice):
+ return 0
+
+ def getoperationcost(self, size, price):
+ return 0.0
+
+ def getcommission(self, size, price):
+ return 0.0
+
+
+class FakeData(object):
+ '''
+ Minimal interface to avoid errors when trade tries to get information from
+ the data during the test
+ '''
+ def __len__(self):
+ return 0
+
+ @property
+ def datetime(self):
+ return [0.0]
+
+ @property
+ def close(self):
+ return [0.0]
+
+
+def _execute(position, order, size, price, partial):
+ # Find position and do a real update - accounting happens here
+ pprice_orig = position.price
+ psize, pprice, opened, closed = position.update(size, price)
+
+ comminfo = order.comminfo
+ closedvalue = comminfo.getoperationcost(closed, pprice_orig)
+ closedcomm = comminfo.getcommission(closed, price)
+
+ openedvalue = comminfo.getoperationcost(opened, price)
+ openedcomm = comminfo.getcommission(opened, price)
+
+ pnl = comminfo.profitandloss(-closed, pprice_orig, price)
+ margin = comminfo.getvaluesize(size, price)
+
+ order.execute(order.data.datetime[0],
+ size, price,
+ closed, closedvalue, closedcomm,
+ opened, openedvalue, openedcomm,
+ margin, pnl,
+ psize, pprice) # pnl
+
+ if partial:
+ order.partial()
+ else:
+ order.completed()
+
+
+def test_run(main=False):
+ position = Position()
+ comminfo = FakeCommInfo()
+ order = bt.BuyOrder(data=FakeData(),
+ size=100, price=1.0,
+ exectype=bt.Order.Market,
+ simulated=True)
+ order.addcomminfo(comminfo)
+
+ ### Test that partially updating order will maintain correct iterpending sequence
+ ### (Orders are cloned for each notification. The pending bits should be reported
+ ### related to the previous notification (clone))
+
+ # Add two bits and validate we have two pending bits
+ _execute(position, order, 10, 1.0, True)
+ _execute(position, order, 20, 1.1, True)
+
+ clone = order.clone()
+ pending = clone.executed.getpending()
+ assert len(pending) == 2
+ assert pending[0].size == 10
+ assert pending[0].price == 1.0
+ assert pending[1].size == 20
+ assert pending[1].price == 1.1
+
+ # Add additional two bits and validate we still have two pending bits after clone
+ _execute(position, order, 30, 1.2, True)
+ _execute(position, order, 40, 1.3, False)
+
+ clone = order.clone()
+ pending = clone.executed.getpending()
+ assert len(pending) == 2
+ assert pending[0].size == 30
+ assert pending[0].price == 1.2
+ assert pending[1].size == 40
+ assert pending[1].price == 1.3
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_position.py b/backtrader/source/tests/test_position.py
new file mode 100644
index 0000000000000000000000000000000000000000..ad320d07411edff3f344f1a31afb0308305585db
--- /dev/null
+++ b/backtrader/source/tests/test_position.py
@@ -0,0 +1,92 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+from backtrader import position
+
+
+def test_run(main=False):
+ size = 10
+ price = 10.0
+
+ pos = position.Position(size=size, price=price)
+ assert pos.size == size
+ assert pos.price == price
+
+ upsize = 5
+ upprice = 12.5
+ nsize, nprice, opened, closed = pos.update(size=upsize, price=upprice)
+
+ if main:
+ print('pos.size/price', pos.size, pos.price)
+ print('nsize, nprice, opened, closed', nsize, nprice, opened, closed)
+
+ assert pos.size == size + upsize
+ assert pos.size == nsize
+ assert pos.price == ((size * price) + (upsize * upprice)) / pos.size
+ assert pos.price == nprice
+ assert opened == upsize
+ assert not closed
+
+ size = pos.size
+ price = pos.price
+ upsize = -7
+ upprice = 14.5
+
+ nsize, nprice, opened, closed = pos.update(size=upsize, price=upprice)
+
+ if main:
+ print('pos.size/price', pos.size, pos.price)
+ print('nsize, nprice, opened, closed', nsize, nprice, opened, closed)
+
+ assert pos.size == size + upsize
+
+ assert pos.size == nsize
+ assert pos.price == price
+ assert pos.price == nprice
+ assert not opened
+ assert closed == upsize # the closed must have the sign of "update" size
+
+ size = pos.size
+ price = pos.price
+ upsize = -15
+ upprice = 17.5
+
+ nsize, nprice, opened, closed = pos.update(size=upsize, price=upprice)
+
+ if main:
+ print('pos.size/price', pos.size, pos.price)
+ print('nsize, nprice, opened, closed', nsize, nprice, opened, closed)
+
+ assert pos.size == size + upsize
+ assert pos.size == nsize
+ assert pos.price == upprice
+ assert pos.price == nprice
+ assert opened == size + upsize
+ assert closed == -size
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_strategy_optimized.py b/backtrader/source/tests/test_strategy_optimized.py
new file mode 100644
index 0000000000000000000000000000000000000000..45f6acaca95f6f56e264df470a14e45ab5d5c91a
--- /dev/null
+++ b/backtrader/source/tests/test_strategy_optimized.py
@@ -0,0 +1,163 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import itertools
+import time
+try:
+ time_clock = time.process_time
+except:
+ time_clock = time.clock
+
+import testcommon
+
+from backtrader.utils.py3 import range
+import backtrader as bt
+import backtrader.indicators as btind
+
+CHKVALUES = [
+ '14525.80', '14525.80', '15408.20', '15408.20', '14763.90',
+ '14763.90', '14763.90', '14763.90', '14763.90', '14763.90',
+ '14763.90', '14763.90', '14763.90', '14763.90', '13187.10',
+ '13187.10', '13187.10', '13684.40', '13684.40', '13684.40',
+ '13684.40', '13684.40', '13684.40', '13656.10', '13656.10',
+ '13656.10', '13656.10', '12988.10', '12988.10', '12988.10',
+ '12988.10', '12988.10', '12988.10', '12988.10', '12988.10',
+ '12988.10', '12988.10', '12988.10', '12988.10', '12988.10'
+]
+
+CHKCASH = [
+ '13525.80', '13525.80', '14408.20', '14408.20', '13763.90',
+ '13763.90', '13763.90', '13763.90', '13763.90', '13763.90',
+ '13763.90', '13763.90', '13763.90', '13763.90', '12187.10',
+ '12187.10', '12187.10', '12684.40', '12684.40', '12684.40',
+ '12684.40', '12684.40', '12684.40', '12656.10', '12656.10',
+ '12656.10', '12656.10', '11988.10', '11988.10', '11988.10',
+ '11988.10', '11988.10', '11988.10', '11988.10', '11988.10',
+ '11988.10', '11988.10', '11988.10', '11988.10', '11988.10'
+]
+
+_chkvalues = []
+_chkcash = []
+
+
+class TestStrategy(bt.Strategy):
+ params = (
+ ('period', 15),
+ ('printdata', True),
+ ('printops', True),
+ )
+
+ def log(self, txt, dt=None):
+ dt = dt or self.data.datetime[0]
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+
+ def __init__(self):
+ # Flag to allow new orders in the system or not
+ self.orderid = None
+
+ self.sma = btind.SMA(self.data, period=self.p.period)
+ self.cross = btind.CrossOver(self.data.close, self.sma, plot=True)
+
+ def start(self):
+ self.broker.setcommission(commission=2.0, mult=10.0, margin=1000.0)
+ self.tstart = time_clock()
+ self.buy_create_idx = itertools.count()
+
+ def stop(self):
+ global _chkvalues
+ global _chkcash
+
+ tused = time_clock() - self.tstart
+ if self.p.printdata:
+ self.log(('Time used: %s - Period % d - '
+ 'Start value: %.2f - End value: %.2f') %
+ (str(tused), self.p.period,
+ self.broker.startingcash, self.broker.getvalue()))
+
+ value = '%.2f' % self.broker.getvalue()
+ _chkvalues.append(value)
+
+ cash = '%.2f' % self.broker.getcash()
+ _chkcash.append(cash)
+
+ def next(self):
+ # print('self.data.close.array:', self.data.close.array)
+ if self.orderid:
+ # if an order is active, no new orders are allowed
+ return
+
+ if not self.position.size:
+ if self.cross > 0.0:
+ self.orderid = self.buy()
+
+ elif self.cross < 0.0:
+ self.orderid = self.close()
+
+
+chkdatas = 1
+
+
+def test_run(main=False):
+ global _chkvalues
+ global _chkcash
+
+ for runonce in [True, False]:
+ for preload in [True, False]:
+ for exbar in [True, False, -1, -2]:
+ _chkvalues = list()
+ _chkcash = list()
+
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ TestStrategy,
+ runonce=runonce,
+ preload=preload,
+ exbar=exbar,
+ optimize=True,
+ period=range(5, 45),
+ printdata=main,
+ printops=main,
+ plot=False)
+
+ if not main:
+ assert CHKVALUES == _chkvalues
+ assert CHKCASH == _chkcash
+
+ else:
+ print('*' * 50)
+ print(CHKVALUES == _chkvalues)
+ print('-' * 50)
+ print(CHKVALUES)
+ print('-' * 50)
+ print(_chkvalues)
+ print('*' * 50)
+ print(CHKCASH == _chkcash)
+ print('-' * 50)
+ print(CHKCASH)
+ print('-' * 50)
+ print(_chkcash)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_strategy_unoptimized.py b/backtrader/source/tests/test_strategy_unoptimized.py
new file mode 100644
index 0000000000000000000000000000000000000000..053a07fc1d58683e923a1f665fdfb0c47bbf7d8d
--- /dev/null
+++ b/backtrader/source/tests/test_strategy_unoptimized.py
@@ -0,0 +1,198 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import time
+try:
+ time_clock = time.process_time
+except:
+ time_clock = time.clock
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+BUYCREATE = [
+ '3641.42', '3798.46', '3874.61', '3860.00', '3843.08', '3648.33',
+ '3526.84', '3632.93', '3788.96', '3841.31', '4045.22', '4052.89',
+]
+
+SELLCREATE = [
+ '3763.73', '3811.45', '3823.11', '3821.97', '3837.86', '3604.33',
+ '3562.56', '3772.21', '3780.18', '3974.62', '4048.16'
+]
+
+BUYEXEC = [
+ '3643.35', '3801.03', '3872.37', '3863.57', '3845.32', '3656.43',
+ '3542.65', '3639.65', '3799.86', '3840.20', '4047.63', '4052.55'
+]
+
+SELLEXEC = [
+ '3763.95', '3811.85', '3822.35', '3822.57', '3829.82', '3598.58',
+ '3545.92', '3766.80', '3782.15', '3979.73', '4045.05'
+]
+
+
+class TestStrategy(bt.Strategy):
+ params = (
+ ('period', 15),
+ ('printdata', True),
+ ('printops', True),
+ ('stocklike', True),
+ )
+
+ def log(self, txt, dt=None, nodate=False):
+ if not nodate:
+ dt = dt or self.data.datetime[0]
+ dt = bt.num2date(dt)
+ print('%s, %s' % (dt.isoformat(), txt))
+ else:
+ print('---------- %s' % (txt))
+
+ def notify_order(self, order):
+ if order.status in [bt.Order.Submitted, bt.Order.Accepted]:
+ return # Await further notifications
+
+ if order.status == order.Completed:
+ if isinstance(order, bt.BuyOrder):
+ if self.p.printops:
+ txt = 'BUY, %.2f' % order.executed.price
+ self.log(txt, order.executed.dt)
+ chkprice = '%.2f' % order.executed.price
+ self.buyexec.append(chkprice)
+ else: # elif isinstance(order, SellOrder):
+ if self.p.printops:
+ txt = 'SELL, %.2f' % order.executed.price
+ self.log(txt, order.executed.dt)
+
+ chkprice = '%.2f' % order.executed.price
+ self.sellexec.append(chkprice)
+
+ elif order.status in [order.Expired, order.Canceled, order.Margin]:
+ if self.p.printops:
+ self.log('%s ,' % order.Status[order.status])
+
+ # Allow new orders
+ self.orderid = None
+
+ def __init__(self):
+ # Flag to allow new orders in the system or not
+ self.orderid = None
+
+ self.sma = btind.SMA(self.data, period=self.p.period)
+ self.cross = btind.CrossOver(self.data.close, self.sma, plot=True)
+
+ def start(self):
+ if not self.p.stocklike:
+ self.broker.setcommission(commission=2.0, mult=10.0, margin=1000.0)
+
+ if self.p.printdata:
+ self.log('-------------------------', nodate=True)
+ self.log('Starting portfolio value: %.2f' % self.broker.getvalue(),
+ nodate=True)
+
+ self.tstart = time_clock()
+
+ self.buycreate = list()
+ self.sellcreate = list()
+ self.buyexec = list()
+ self.sellexec = list()
+
+ def stop(self):
+ tused = time_clock() - self.tstart
+ if self.p.printdata:
+ self.log('Time used: %s' % str(tused))
+ self.log('Final portfolio value: %.2f' % self.broker.getvalue())
+ self.log('Final cash value: %.2f' % self.broker.getcash())
+ self.log('-------------------------')
+
+ print('buycreate')
+ print(self.buycreate)
+ print('sellcreate')
+ print(self.sellcreate)
+ print('buyexec')
+ print(self.buyexec)
+ print('sellexec')
+ print(self.sellexec)
+
+ else:
+ if not self.p.stocklike:
+ assert '%.2f' % self.broker.getvalue() == '12795.00'
+ assert '%.2f' % self.broker.getcash() == '11795.00'
+ else:
+ assert '%.2f' % self.broker.getvalue() == '10284.10'
+ assert '%.2f' % self.broker.getcash() == '6164.16'
+
+ assert self.buycreate == BUYCREATE
+ assert self.sellcreate == SELLCREATE
+ assert self.buyexec == BUYEXEC
+ assert self.sellexec == SELLEXEC
+
+ def next(self):
+ if self.p.printdata:
+ self.log(
+ 'Open, High, Low, Close, %.2f, %.2f, %.2f, %.2f, Sma, %f' %
+ (self.data.open[0], self.data.high[0],
+ self.data.low[0], self.data.close[0],
+ self.sma[0]))
+ self.log('Close %.2f - Sma %.2f' %
+ (self.data.close[0], self.sma[0]))
+
+ if self.orderid:
+ # if an order is active, no new orders are allowed
+ return
+
+ if not self.position.size:
+ if self.cross > 0.0:
+ if self.p.printops:
+ self.log('BUY CREATE , %.2f' % self.data.close[0])
+
+ self.orderid = self.buy()
+ chkprice = '%.2f' % self.data.close[0]
+ self.buycreate.append(chkprice)
+
+ elif self.cross < 0.0:
+ if self.p.printops:
+ self.log('SELL CREATE , %.2f' % self.data.close[0])
+
+ self.orderid = self.close()
+ chkprice = '%.2f' % self.data.close[0]
+ self.sellcreate.append(chkprice)
+
+
+chkdatas = 1
+
+
+def test_run(main=False):
+ for stlike in [False, True]:
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ TestStrategy,
+ printdata=main,
+ printops=main,
+ stocklike=stlike,
+ plot=main)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_study_fractal.py b/backtrader/source/tests/test_study_fractal.py
new file mode 100644
index 0000000000000000000000000000000000000000..d2d7aec0215f08d08d51eb88f4dc084554720ff7
--- /dev/null
+++ b/backtrader/source/tests/test_study_fractal.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+
+
+chkdatas = 1
+chkvals = [
+ ['nan', 'nan', 'nan'],
+ ['nan', 'nan', '3553.692850']
+]
+
+chkmin = 5
+chkind = bt.studies.Fractal
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ testcommon.runtest(datas,
+ testcommon.TestStrategy,
+ main=main,
+ plot=main,
+ chkind=chkind,
+ chkmin=chkmin,
+ chkvals=chkvals)
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_trade.py b/backtrader/source/tests/test_trade.py
new file mode 100644
index 0000000000000000000000000000000000000000..8b40fd35f84e4d2cfe8800f2a9eaa268149672d4
--- /dev/null
+++ b/backtrader/source/tests/test_trade.py
@@ -0,0 +1,132 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import testcommon
+
+import backtrader as bt
+from backtrader import trade
+
+
+class FakeCommInfo(object):
+ def getvaluesize(self, size, price):
+ return 0
+
+ def profitandloss(self, size, price, newprice):
+ return 0
+
+
+class FakeData(object):
+ '''
+ Minimal interface to avoid errors when trade tries to get information from
+ the data during the test
+ '''
+ def __len__(self):
+ return 0
+
+ @property
+ def datetime(self):
+ return [0.0]
+
+ @property
+ def close(self):
+ return [0.0]
+
+
+def test_run(main=False):
+ tr = trade.Trade(data=FakeData())
+
+ order = bt.BuyOrder(data=FakeData(),
+ size=0, price=1.0,
+ exectype=bt.Order.Market,
+ simulated=True)
+
+ commrate = 0.025
+ size = 10
+ price = 10.0
+ value = size * price
+ commission = value * commrate
+
+ tr.update(order=order, size=size, price=price, value=value,
+ commission=commission, pnl=0.0, comminfo=FakeCommInfo())
+
+ assert not tr.isclosed
+ assert tr.size == size
+ assert tr.price == price
+ # assert tr.value == value
+ assert tr.commission == commission
+ assert not tr.pnl
+ assert tr.pnlcomm == tr.pnl - tr.commission
+
+ upsize = -5
+ upprice = 12.5
+ upvalue = upsize * upprice
+ upcomm = abs(value) * commrate
+
+ tr.update(order=order, size=upsize, price=upprice, value=upvalue,
+ commission=upcomm, pnl=0.0, comminfo=FakeCommInfo())
+
+ assert not tr.isclosed
+ assert tr.size == size + upsize
+ assert tr.price == price # size is being reduced, price must not change
+ # assert tr.value == upvalue
+ assert tr.commission == commission + upcomm
+
+ size = tr.size
+ price = tr.price
+ commission = tr.commission
+
+ upsize = 7
+ upprice = 14.5
+ upvalue = upsize * upprice
+ upcomm = abs(value) * commrate
+
+ tr.update(order=order, size=upsize, price=upprice, value=upvalue,
+ commission=upcomm, pnl=0.0, comminfo=FakeCommInfo())
+
+ assert not tr.isclosed
+ assert tr.size == size + upsize
+ assert tr.price == ((size * price) + (upsize * upprice)) / (size + upsize)
+ # assert tr.value == upvalue
+ assert tr.commission == commission + upcomm
+
+ size = tr.size
+ price = tr.price
+ commission = tr.commission
+
+ upsize = -size
+ upprice = 12.5
+ upvalue = upsize * upprice
+ upcomm = abs(value) * commrate
+
+ tr.update(order=order, size=upsize, price=upprice, value=upvalue,
+ commission=upcomm, pnl=0.0, comminfo=FakeCommInfo())
+
+ assert tr.isclosed
+ assert tr.size == size + upsize
+ assert tr.price == price # no change ... we simple closed the operation
+ # assert tr.value == upvalue
+ assert tr.commission == commission + upcomm
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/test_writer.py b/backtrader/source/tests/test_writer.py
new file mode 100644
index 0000000000000000000000000000000000000000..f90cdc434a4110b16e288ce7f29560fbfcfcc7a9
--- /dev/null
+++ b/backtrader/source/tests/test_writer.py
@@ -0,0 +1,73 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import time
+
+import testcommon
+
+import backtrader as bt
+import backtrader.indicators as btind
+
+
+chkdatas = 1
+
+
+class TestStrategy(bt.Strategy):
+ params = dict(main=False)
+
+ def __init__(self):
+ btind.SMA()
+
+
+def test_run(main=False):
+ datas = [testcommon.getdata(i) for i in range(chkdatas)]
+ cerebros = testcommon.runtest(datas,
+ TestStrategy,
+ main=main,
+ plot=main,
+ writer=(bt.WriterStringIO, dict(csv=True)))
+
+ for cerebro in cerebros:
+ writer = cerebro.runwriters[0]
+ if main:
+ # writer.out.seek(0)
+ for l in writer.out:
+ print(l.rstrip('\r\n'))
+
+ else:
+ lines = iter(writer.out)
+ l = next(lines).rstrip('\r\n')
+ assert l == '=' * 79
+
+ count = 0
+ while True:
+ l = next(lines).rstrip('\r\n')
+ if l[0] == '=':
+ break
+ count += 1
+
+ assert count == 256 # header + 256 lines data
+
+
+if __name__ == '__main__':
+ test_run(main=True)
diff --git a/backtrader/source/tests/testcommon.py b/backtrader/source/tests/testcommon.py
new file mode 100644
index 0000000000000000000000000000000000000000..e052db28fd7e9cb54415cd6077d4336943f04c9a
--- /dev/null
+++ b/backtrader/source/tests/testcommon.py
@@ -0,0 +1,237 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import datetime
+import os
+import os.path
+import sys
+
+# append module root directory to sys.path
+sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
+
+import backtrader as bt
+import backtrader.utils.flushfile
+from backtrader.metabase import ParamsBase
+
+
+modpath = os.path.dirname(os.path.abspath(__file__))
+dataspath = '../datas'
+datafiles = [
+ '2006-day-001.txt',
+ '2006-week-001.txt',
+]
+
+DATAFEED = bt.feeds.BacktraderCSVData
+
+FROMDATE = datetime.datetime(2006, 1, 1)
+TODATE = datetime.datetime(2006, 12, 31)
+
+
+def getdata(index, fromdate=FROMDATE, todate=TODATE):
+
+ datapath = os.path.join(modpath, dataspath, datafiles[index])
+ data = DATAFEED(
+ dataname=datapath,
+ fromdate=fromdate,
+ todate=todate)
+
+ return data
+
+
+def runtest(datas,
+ strategy,
+ runonce=None,
+ preload=None,
+ exbar=None,
+ plot=False,
+ optimize=False,
+ maxcpus=1,
+ writer=None,
+ analyzer=None,
+ **kwargs):
+
+ runonces = [True, False] if runonce is None else [runonce]
+ preloads = [True, False] if preload is None else [preload]
+ exbars = [-2, -1, False] if exbar is None else [exbar]
+
+ cerebros = list()
+ for prload in preloads:
+ for ronce in runonces:
+ for exbar in exbars:
+ cerebro = bt.Cerebro(runonce=ronce,
+ preload=prload,
+ maxcpus=maxcpus,
+ exactbars=exbar)
+
+ if kwargs.get('main', False):
+ print('prload {} / ronce {} exbar {}'.format(
+ prload, ronce, exbar))
+
+ if isinstance(datas, bt.LineSeries):
+ datas = [datas]
+ for data in datas:
+ cerebro.adddata(data)
+
+ if not optimize:
+ cerebro.addstrategy(strategy, **kwargs)
+
+ if writer:
+ wr = writer[0]
+ wrkwargs = writer[1]
+ cerebro.addwriter(wr, **wrkwargs)
+
+ if analyzer:
+ al = analyzer[0]
+ alkwargs = analyzer[1]
+ cerebro.addanalyzer(al, **alkwargs)
+
+ else:
+ cerebro.optstrategy(strategy, **kwargs)
+
+ cerebro.run()
+ if plot:
+ cerebro.plot()
+
+ cerebros.append(cerebro)
+
+ return cerebros
+
+
+class TestStrategy(bt.Strategy):
+ params = dict(main=False,
+ chkind=[],
+ inddata=[],
+ chkmin=1,
+ chknext=0,
+ chkvals=None,
+ chkargs=dict())
+
+ def __init__(self):
+ try:
+ ind = self.p.chkind[0]
+ except TypeError:
+ chkind = [self.p.chkind]
+ else:
+ chkind = self.p.chkind
+
+ if len(self.p.inddata):
+ self.ind = chkind[0](*self.p.inddata, **self.p.chkargs)
+ else:
+ self.ind = chkind[0](self.data, **self.p.chkargs)
+
+ for ind in chkind[1:]:
+ ind(self.data)
+
+ for data in self.datas[1:]:
+ chkind[0](data, **self.p.chkargs)
+
+ for ind in chkind[1:]:
+ ind(data)
+
+ def prenext(self):
+ pass
+
+ def nextstart(self):
+ self.chkmin = len(self)
+ super(TestStrategy, self).nextstart()
+
+ def next(self):
+ self.nextcalls += 1
+
+ if self.p.main:
+ dtstr = self.data.datetime.date(0).strftime('%Y-%m-%d')
+ print('%s - %d - %f' % (dtstr, len(self), self.ind[0]))
+ pstr = ', '.join(str(x) for x in
+ [self.data.open[0], self.data.high[0],
+ self.data.low[0], self.data.close[0]])
+ print('%s - %d, %s' % (dtstr, len(self), pstr))
+
+ def start(self):
+ self.nextcalls = 0
+
+ def stop(self):
+ l = len(self.ind)
+ mp = self.chkmin
+ chkpts = [0, -l + mp, (-l + mp) // 2]
+
+ if self.p.main:
+ print('----------------------------------------')
+ print('len ind %d == %d len self' % (l, len(self)))
+ print('minperiod %d' % self.chkmin)
+ print('self.p.chknext %d nextcalls %d'
+ % (self.p.chknext, self.nextcalls))
+
+ print('chkpts are', chkpts)
+ for chkpt in chkpts:
+ dtstr = self.data.datetime.date(chkpt).strftime('%Y-%m-%d')
+ print('chkpt %d -> %s' % (chkpt, dtstr))
+
+ for lidx in range(self.ind.size()):
+ chkvals = list()
+ outtxt = ' ['
+ for chkpt in chkpts:
+ valtxt = "'%f'" % self.ind.lines[lidx][chkpt]
+ outtxt += "'%s'," % valtxt
+ chkvals.append(valtxt)
+
+ outtxt = ' [' + ', '.join(chkvals) + '],'
+
+ if lidx == self.ind.size() - 1:
+ outtxt = outtxt.rstrip(',')
+
+ print(outtxt)
+
+ print('vs expected')
+
+ for chkval in self.p.chkvals:
+ print(chkval)
+
+ else:
+ assert l == len(self)
+ if self.p.chknext:
+ assert self.p.chknext == self.nextcalls
+ assert mp == self.p.chkmin
+ for lidx, linevals in enumerate(self.p.chkvals):
+ for i, chkpt in enumerate(chkpts):
+ chkval = '%f' % self.ind.lines[lidx][chkpt]
+ if not isinstance(linevals[i], tuple):
+ assert chkval == linevals[i]
+ else:
+ try:
+ assert chkval == linevals[i][0]
+ except AssertionError:
+ assert chkval == linevals[i][1]
+
+
+class SampleParamsHolder(ParamsBase):
+ """
+ This class is used as base for tests that check the proper
+ handling of meta parameters like `frompackages`, `packages`, `params`, `lines`
+ in inherited classes
+ """
+ frompackages = (
+ ('math', ('factorial')),
+ )
+
+ def __init__(self):
+ self.range = factorial(10)
diff --git a/backtrader/source/tools/__init__.py b/backtrader/source/tools/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..40a96afc6ff09d58a702b76e3f7dd412fe975e26
--- /dev/null
+++ b/backtrader/source/tools/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/backtrader/source/tools/bt-run.py b/backtrader/source/tools/bt-run.py
new file mode 100644
index 0000000000000000000000000000000000000000..a4bb332234d1735930b0be8401a7ed75b2451a4d
--- /dev/null
+++ b/backtrader/source/tools/bt-run.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import backtrader.btrun as btrun
+
+
+if __name__ == '__main__':
+ btrun.btrun()
diff --git a/backtrader/source/tools/rewrite-data.py b/backtrader/source/tools/rewrite-data.py
new file mode 100644
index 0000000000000000000000000000000000000000..f0ab10b7af67858ae771b6c4983445458a7d46c4
--- /dev/null
+++ b/backtrader/source/tools/rewrite-data.py
@@ -0,0 +1,182 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+import argparse
+import datetime
+import os.path
+import time
+import sys
+
+
+import backtrader as bt
+from backtrader.utils.py3 import bytes
+
+
+DATAFORMATS = dict(
+ btcsv=bt.feeds.BacktraderCSVData,
+ vchartcsv=bt.feeds.VChartCSVData,
+ vchart=bt.feeds.VChartData,
+ vcdata=bt.feeds.VCData,
+ vcfile=bt.feeds.VChartFile,
+ ibdata=bt.feeds.IBData,
+ sierracsv=bt.feeds.SierraChartCSVData,
+ mt4csv=bt.feeds.MT4CSVData,
+ yahoocsv=bt.feeds.YahooFinanceCSVData,
+ yahoocsv_unreversed=bt.feeds.YahooFinanceCSVData,
+ yahoo=bt.feeds.YahooFinanceData,
+)
+
+
+class RewriteStrategy(bt.Strategy):
+ params = (
+ ('separator', ','),
+ ('outfile', None),
+ )
+
+ def start(self):
+ if self.p.outfile is None:
+ self.f = sys.stdout
+ else:
+ self.f = open(self.p.outfile, 'wb')
+
+ if self.data._timeframe < bt.TimeFrame.Days:
+ headers = 'Date,Time,Open,High,Low,Close,Volume,OpenInterest'
+ else:
+ headers = 'Date,Open,High,Low,Close,Volume,OpenInterest'
+
+ headers += '\n'
+ self.f.write(bytes(headers))
+
+ def next(self):
+ fields = list()
+ dt = self.data.datetime.date(0).strftime('%Y-%m-%d')
+ fields.append(dt)
+ if self.data._timeframe < bt.TimeFrame.Days:
+ tm = self.data.datetime.time(0).strftime('%H:%M:%S')
+ fields.append(tm)
+
+ o = '%.2f' % self.data.open[0]
+ fields.append(o)
+ h = '%.2f' % self.data.high[0]
+ fields.append(h)
+ l = '%.2f' % self.data.low[0]
+ fields.append(l)
+ c = '%.2f' % self.data.close[0]
+ fields.append(c)
+ v = '%d' % self.data.volume[0]
+ fields.append(v)
+ oi = '%d' % self.data.openinterest[0]
+ fields.append(oi)
+
+ txt = self.p.separator.join(fields)
+ txt += '\n'
+ self.f.write(bytes(txt))
+
+
+def runstrat(pargs=None):
+ args = parse_args(pargs)
+
+ cerebro = bt.Cerebro()
+
+ dfkwargs = dict()
+ if args.format == 'yahoo_unreversed':
+ dfkwargs['reverse'] = True
+
+ fmtstr = '%Y-%m-%d'
+ if args.fromdate:
+ dtsplit = args.fromdate.split('T')
+ if len(dtsplit) > 1:
+ fmtstr += 'T%H:%M:%S'
+
+ fromdate = datetime.datetime.strptime(args.fromdate, fmtstr)
+ dfkwargs['fromdate'] = fromdate
+
+ fmtstr = '%Y-%m-%d'
+ if args.todate:
+ dtsplit = args.todate.split('T')
+ if len(dtsplit) > 1:
+ fmtstr += 'T%H:%M:%S'
+ todate = datetime.datetime.strptime(args.todate, fmtstr)
+ dfkwargs['todate'] = todate
+
+ dfcls = DATAFORMATS[args.format]
+ data = dfcls(dataname=args.infile, **dfkwargs)
+ cerebro.adddata(data)
+
+ cerebro.addstrategy(RewriteStrategy,
+ separator=args.separator,
+ outfile=args.outfile)
+
+ cerebro.run(stdstats=False)
+
+ if args.plot:
+ pkwargs = dict(style='bar')
+ if args.plot is not True: # evals to True but is not True
+ npkwargs = eval('dict(' + args.plot + ')') # args were passed
+ pkwargs.update(npkwargs)
+
+ cerebro.plot(**pkwargs)
+
+
+def parse_args(pargs=None):
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+ description='Rewrite formats to BacktraderCSVData format')
+
+ parser.add_argument('--format', '-fmt', required=False,
+ choices=DATAFORMATS.keys(),
+ default=next(iter(DATAFORMATS)),
+ help='File to be read in')
+
+ parser.add_argument('--infile', '-i', required=True,
+ help='File to be read in')
+
+ parser.add_argument('--outfile', '-o', default=None, required=False,
+ help='File to write to')
+
+ parser.add_argument('--fromdate', '-f', required=False,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', '-t', required=False,
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--separator', '-s', required=False, default=',',
+ help='Plot the read data')
+
+ # Plot options
+ parser.add_argument('--plot', '-p', nargs='?', required=False,
+ metavar='kwargs', const=True,
+ help=('Plot the read data applying any kwargs passed\n'
+ '\n'
+ 'For example:\n'
+ '\n'
+ ' --plot style="candle" (to plot candles)\n'))
+
+ if pargs is not None:
+ return parser.parse_args(pargs)
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+ runstrat()
diff --git a/backtrader/source/tools/yahoodownload.py b/backtrader/source/tools/yahoodownload.py
new file mode 100644
index 0000000000000000000000000000000000000000..e5f8b763c0454fefc9e0f64e08f8d2a719d44b17
--- /dev/null
+++ b/backtrader/source/tools/yahoodownload.py
@@ -0,0 +1,243 @@
+#!/usr/bin/env python
+# -*- coding: utf-8; py-indent-offset:4 -*-
+###############################################################################
+#
+# Copyright (C) 2015-2023 Daniel Rodriguez
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+###############################################################################
+from __future__ import (absolute_import, division, print_function,
+ unicode_literals)
+
+
+import argparse
+import collections
+import datetime
+import io
+import logging
+import sys
+
+
+PY2 = sys.version_info.major == 2
+if PY2:
+ from urllib2 import urlopen
+ from urllib import quote as urlquote
+else:
+ from urllib.request import urlopen
+ from urllib.parse import quote as urlquote
+
+
+logging.basicConfig(
+ format='%(levelname)s: %(message)s',
+ level=logging.INFO)
+
+
+class YahooDownload(object):
+ urlhist = 'https://finance.yahoo.com/quote/{}/history'
+ urldown = 'https://query1.finance.yahoo.com/v7/finance/download'
+ retries = 3
+
+ def __init__(self, ticker, fromdate, todate, period='d', reverse=False):
+ try:
+ import requests
+ except ImportError:
+ msg = ('The new Yahoo data feed requires to have the requests '
+ 'module installed. Please use pip install requests or '
+ 'the method of your choice')
+ raise Exception(msg)
+
+ url = self.urlhist.format(ticker)
+
+ sesskwargs = dict()
+ if False and self.p.proxies:
+ sesskwargs['proxies'] = self.p.proxies
+
+ crumb = None
+ sess = requests.Session()
+ for i in range(self.retries + 1): # at least once
+ resp = sess.get(url, **sesskwargs)
+ if resp.status_code != requests.codes.ok:
+ continue
+
+ txt = resp.text
+ i = txt.find('CrumbStore')
+ if i == -1:
+ continue
+ i = txt.find('crumb', i)
+ if i == -1:
+ continue
+ istart = txt.find('"', i + len('crumb') + 1)
+ if istart == -1:
+ continue
+ istart += 1
+ iend = txt.find('"', istart)
+ if iend == -1:
+ continue
+
+ crumb = txt[istart:iend]
+ crumb = crumb.encode('ascii').decode('unicode-escape')
+ break
+
+ if crumb is None:
+ self.error = 'Crumb not found'
+ self.f = None
+ return
+
+ # urldown/ticker?period1=posix1&period2=posix2&interval=1d&events=history&crumb=crumb
+
+ # Try to download
+ urld = '{}/{}'.format(self.urldown, ticker)
+
+ urlargs = []
+ posix = datetime.date(1970, 1, 1)
+ if todate is not None:
+ period2 = (todate.date() - posix).total_seconds()
+ urlargs.append('period2={}'.format(int(period2)))
+
+ if todate is not None:
+ period1 = (fromdate.date() - posix).total_seconds()
+ urlargs.append('period1={}'.format(int(period1)))
+
+ intervals = {
+ 'd': '1d',
+ 'w': '1wk',
+ 'm': '1mo',
+ }
+
+ urlargs.append('interval={}'.format(intervals[period]))
+ urlargs.append('events=history')
+ urlargs.append('crumb={}'.format(crumb))
+
+ urld = '{}?{}'.format(urld, '&'.join(urlargs))
+ f = None
+ for i in range(self.retries + 1): # at least once
+ resp = sess.get(urld, **sesskwargs)
+ if resp.status_code != requests.codes.ok:
+ continue
+
+ ctype = resp.headers['Content-Type']
+ if 'text/csv' not in ctype:
+ self.error = 'Wrong content type: %s' % ctype
+ continue # HTML returned? wrong url?
+
+ # buffer everything from the socket into a local buffer
+ try:
+ # r.encoding = 'UTF-8'
+ f = io.StringIO(resp.text, newline=None)
+ except Exception:
+ continue # try again if possible
+
+ break
+
+ self.datafile = f
+
+ def writetofile(self, filename):
+ if not self.datafile:
+ return
+
+ if not hasattr(filename, 'read'):
+ # It's not a file - open it
+ f = io.open(filename, 'w')
+ else:
+ f = filename
+
+ self.datafile.seek(0)
+ for line in self.datafile:
+ f.write(line)
+
+ f.close()
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description='Download Yahoo CSV Finance Data')
+
+ parser.add_argument('--ticker', required=True,
+ help='Ticker to be downloaded')
+
+ parser.add_argument('--reverse', action='store_true', default=False,
+ help='Do reverse the downloaded files')
+
+ parser.add_argument('--timeframe', default='d',
+ help='Timeframe: d -> day, w -> week, m -> month')
+
+ parser.add_argument('--fromdate', required=True,
+ help='Starting date in YYYY-MM-DD format')
+
+ parser.add_argument('--todate', required=True,
+ help='Ending date in YYYY-MM-DD format')
+
+ parser.add_argument('--outfile', required=True,
+ help='Output file name')
+
+ return parser.parse_args()
+
+
+if __name__ == '__main__':
+
+ args = parse_args()
+
+ logging.info('Processing input parameters')
+ logging.info('Processing fromdate')
+ try:
+ fromdate = datetime.datetime.strptime(args.fromdate, '%Y-%m-%d')
+ except Exception as e:
+ logging.error('Converting fromdate failed')
+ logging.error(str(e))
+ sys.exit(1)
+
+ logging.info('Processing todate')
+ try:
+ todate = datetime.datetime.strptime(args.todate, '%Y-%m-%d')
+ except Exception as e:
+ logging.error('Converting todate failed')
+ logging.error(str(e))
+ sys.exit(1)
+
+ logging.info('Do Not Reverse flag status')
+ reverse = args.reverse
+
+ logging.info('Downloading from yahoo')
+ try:
+ yahoodown = YahooDownload(
+ ticker=args.ticker,
+ fromdate=fromdate,
+ todate=todate,
+ period=args.timeframe,
+ reverse=reverse)
+
+ except Exception as e:
+ logging.error('Downloading data from Yahoo failed')
+ logging.error(str(e))
+ sys.exit(1)
+
+ logging.info('Opening output file')
+ try:
+ ofile = io.open(args.outfile, 'w')
+ except IOError as e:
+ logging.error('Error opening output file')
+ logging.error(str(e))
+ sys.exit(1)
+
+ logging.info('Writing downloaded data to output file')
+ try:
+ yahoodown.writetofile(ofile)
+ except Exception as e:
+ logging.error('Writing to output file failed')
+ logging.error(str(e))
+ sys.exit(1)
+
+ logging.info('All operations completed successfully')
+ sys.exit(0)
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a8456976b0258d48b59fe56d8c2b87426f3e75c8
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,8 @@
+fastmcp
+fastapi
+uvicorn[standard]
+pydantic>=2.0.0
+six
+numpy
+pandas
+matplotlib
diff --git a/run_docker.ps1 b/run_docker.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..faeed800b1e2ebf74450a03e7b284f5016140297
--- /dev/null
+++ b/run_docker.ps1
@@ -0,0 +1,35 @@
+cd $PSScriptRoot
+
+$ErrorActionPreference = "Stop"
+
+$entryName = if ($env:MCP_ENTRY_NAME) { $env:MCP_ENTRY_NAME } else { "backtrader" }
+$entryUrl = if ($env:MCP_ENTRY_URL) { $env:MCP_ENTRY_URL } else { "http://localhost:7860/mcp" }
+$imageName = if ($env:MCP_IMAGE_NAME) { $env:MCP_IMAGE_NAME } else { "backtrader-mcp" }
+
+$mcpDir = Join-Path $env:USERPROFILE ".cursor"
+$mcpPath = Join-Path $mcpDir "mcp.json"
+if (!(Test-Path $mcpDir)) { New-Item -ItemType Directory -Path $mcpDir | Out-Null }
+
+$config = @{}
+if (Test-Path $mcpPath) {
+ try { $config = Get-Content $mcpPath -Raw | ConvertFrom-Json } catch { $config = @{} }
+}
+
+# Rebuild mcpServers as ordered and append the entry last
+$serversOrdered = [ordered]@{}
+if ($config -and ($config.PSObject.Properties.Name -contains "mcpServers") -and $config.mcpServers) {
+ $existing = $config.mcpServers
+ if ($existing -is [pscustomobject]) {
+ foreach ($p in $existing.PSObject.Properties) { if ($p.Name -ne $entryName) { $serversOrdered[$p.Name] = $p.Value } }
+ } elseif ($existing -is [System.Collections.IDictionary]) {
+ foreach ($k in $existing.Keys) { if ($k -ne $entryName) { $serversOrdered[$k] = $existing[$k] } }
+ }
+}
+$serversOrdered[$entryName] = @{ url = $entryUrl }
+$config = @{ mcpServers = $serversOrdered }
+
+$config | ConvertTo-Json -Depth 10 | Set-Content -Path $mcpPath -Encoding UTF8
+Write-Host ("Updated $entryName in " + $mcpPath + " -> " + $entryUrl)
+
+docker build -t $imageName .
+docker run --rm -p 7860:7860 $imageName
diff --git a/run_docker.sh b/run_docker.sh
new file mode 100644
index 0000000000000000000000000000000000000000..e02bbdef71370d4c45986bf2dff0cecbbe3d1703
--- /dev/null
+++ b/run_docker.sh
@@ -0,0 +1,82 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+# Switch to the directory where this script is located
+cd "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
+
+mcp_entry_name="${MCP_ENTRY_NAME:-backtrader}"
+mcp_entry_url="${MCP_ENTRY_URL:-http://localhost:7860/mcp}"
+mcp_dir="${HOME}/.cursor"
+mcp_path="${mcp_dir}/mcp.json"
+mkdir -p "${mcp_dir}"
+
+if command -v python3 >/dev/null 2>&1; then
+python3 - "${mcp_path}" "${mcp_entry_name}" "${mcp_entry_url}" <<'PY'
+import json, os, sys
+path, name, url = sys.argv[1:4]
+cfg = {"mcpServers": {}}
+if os.path.exists(path):
+ try:
+ with open(path, "r", encoding="utf-8") as f:
+ cfg = json.load(f)
+ except Exception:
+ cfg = {"mcpServers": {}}
+if not isinstance(cfg, dict):
+ cfg = {"mcpServers": {}}
+servers = cfg.get("mcpServers")
+if not isinstance(servers, dict):
+ servers = {}
+ordered = {}
+for k, v in servers.items():
+ if k != name:
+ ordered[k] = v
+ordered[name] = {"url": url}
+cfg = {"mcpServers": ordered}
+with open(path, "w", encoding="utf-8") as f:
+ json.dump(cfg, f, indent=2, ensure_ascii=False)
+PY
+elif command -v python >/dev/null 2>&1; then
+python - "${mcp_path}" "${mcp_entry_name}" "${mcp_entry_url}" <<'PY'
+import json, os, sys
+path, name, url = sys.argv[1:4]
+cfg = {"mcpServers": {}}
+if os.path.exists(path):
+ try:
+ with open(path, "r", encoding="utf-8") as f:
+ cfg = json.load(f)
+ except Exception:
+ cfg = {"mcpServers": {}}
+if not isinstance(cfg, dict):
+ cfg = {"mcpServers": {}}
+servers = cfg.get("mcpServers")
+if not isinstance(servers, dict):
+ servers = {}
+ordered = {}
+for k, v in servers.items():
+ if k != name:
+ ordered[k] = v
+ordered[name] = {"url": url}
+cfg = {"mcpServers": ordered}
+with open(path, "w", encoding="utf-8") as f:
+ json.dump(cfg, f, indent=2, ensure_ascii=False)
+PY
+elif command -v jq >/dev/null 2>&1; then
+ name="${mcp_entry_name}"; url="${mcp_entry_url}"
+ if [ -f "${mcp_path}" ]; then
+ tmp="$(mktemp)"
+ jq --arg name "$name" --arg url "$url" '
+ .mcpServers = (.mcpServers // {})
+ | .mcpServers as $s
+ | ($s | with_entries(select(.key != $name))) as $base
+ | .mcpServers = ($base + {($name): {"url": $url}})
+ ' "${mcp_path}" > "${tmp}" && mv "${tmp}" "${mcp_path}"
+ else
+ printf '{ "mcpServers": { "%s": { "url": "%s" } } }
+' "$name" "$url" > "${mcp_path}"
+ fi
+else
+ echo "Warning: neither python nor jq found; skipped updating ~/.cursor/mcp.json" >&2
+fi
+
+docker build -t backtrader-mcp .
+docker run --rm -p 7860:7860 backtrader-mcp