├── src ├── vite-env.d.ts ├── main.tsx ├── App.css ├── equityPlot │ ├── tradeStats.ts │ ├── statsCard.tsx │ └── EquityChart.tsx ├── index.css ├── index.tsx ├── App.tsx ├── assets │ └── react.svg └── candlestickPlot │ └── CandlestickChart.tsx ├── python_package ├── bt_visualizer │ ├── __init__.py │ ├── visualizer.py │ └── bt-visualizer.css ├── setup.cfg ├── pyproject.toml └── README.md ├── postcss.config.js ├── tsconfig.json ├── test-iframe.html ├── tailwind.config.js ├── .gitignore ├── index.html ├── test-embed.html ├── vite.config.ts ├── tsconfig.node.json ├── tsconfig.app.json ├── eslint.config.js ├── LICENSE ├── package.json ├── README.md └── public ├── stats.csv ├── candlestick-icon.svg ├── trades.csv └── ohlc.csv /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /python_package/bt_visualizer/__init__.py: -------------------------------------------------------------------------------- 1 | from .visualizer import show_bt_visualization 2 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [], 3 | "references": [ 4 | { "path": "./tsconfig.app.json" }, 5 | { "path": "./tsconfig.node.json" } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /test-iframe.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | export default { 3 | content: [ 4 | "./index.html", 5 | "./src/**/*.{js,ts,jsx,tsx}", 6 | ], 7 | theme: { 8 | extend: {}, 9 | }, 10 | plugins: [], 11 | } 12 | 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | cmd.sh 10 | 11 | node_modules 12 | dist 13 | dist-ssr 14 | *.local 15 | 16 | # Editor directories and files 17 | .vscode/* 18 | !.vscode/extensions.json 19 | .idea 20 | .DS_Store 21 | *.suo 22 | *.ntvs* 23 | *.njsproj 24 | *.sln 25 | *.sw? 26 | .vercel 27 | -------------------------------------------------------------------------------- /python_package/setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | name = bt-visualizer 3 | version = 0.2.3 4 | description = Backtest visualization widget for JupyterLab 5 | author = Your Name 6 | license = MIT 7 | 8 | [options] 9 | packages = find: 10 | install_requires = 11 | anywidget 12 | traitlets 13 | IPython 14 | 15 | [options.package_data] 16 | bt_visualizer = 17 | bt-visualizer.js 18 | bt-visualizer.css -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Backtest Vistualier 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from "react"; 2 | import { createRoot } from "react-dom/client"; 3 | import "./index.css"; 4 | import App from "./App.tsx"; 5 | 6 | createRoot(document.getElementById("root")!).render( 7 | 8 | 14 | 15 | ); 16 | -------------------------------------------------------------------------------- /test-embed.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Test 6 | 7 | 8 | 9 | 10 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vite.dev/config/ 5 | export default defineConfig({ 6 | base: '/bt-visualizer/', 7 | plugins: [react()], 8 | // define: { 9 | // 'process.env.NODE_ENV': '"production"', 10 | // }, 11 | // build: { 12 | // lib: { 13 | // entry: 'src/index.tsx', 14 | // name: 'BtVisualizer', 15 | // formats: ['iife',], 16 | // fileName: () => `bt-visualizer.js` 17 | // }, 18 | // }, 19 | }) 20 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", 4 | "target": "ES2022", 5 | "lib": ["ES2023"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "isolatedModules": true, 13 | "moduleDetection": "force", 14 | "noEmit": true, 15 | 16 | /* Linting */ 17 | "strict": true, 18 | "noUnusedLocals": true, 19 | "noUnusedParameters": true, 20 | "noFallthroughCasesInSwitch": true, 21 | "noUncheckedSideEffectImports": true 22 | }, 23 | "include": ["vite.config.ts"] 24 | } 25 | -------------------------------------------------------------------------------- /tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", 4 | "target": "ES2020", 5 | "useDefineForClassFields": true, 6 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 7 | "module": "ESNext", 8 | "skipLibCheck": true, 9 | 10 | /* Bundler mode */ 11 | "moduleResolution": "bundler", 12 | "allowImportingTsExtensions": true, 13 | "isolatedModules": true, 14 | "moduleDetection": "force", 15 | "noEmit": true, 16 | "jsx": "react-jsx", 17 | 18 | /* Linting */ 19 | "strict": true, 20 | "noUnusedLocals": true, 21 | "noUnusedParameters": true, 22 | "noFallthroughCasesInSwitch": true, 23 | "noUncheckedSideEffectImports": true 24 | }, 25 | "include": ["src"] 26 | } 27 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | #root { 2 | max-width: 1280px; 3 | margin: 0 auto; 4 | padding: 2rem; 5 | text-align: center; 6 | } 7 | 8 | .logo { 9 | height: 6em; 10 | padding: 1.5em; 11 | will-change: filter; 12 | transition: filter 300ms; 13 | } 14 | .logo:hover { 15 | filter: drop-shadow(0 0 2em #646cffaa); 16 | } 17 | .logo.react:hover { 18 | filter: drop-shadow(0 0 2em #61dafbaa); 19 | } 20 | 21 | @keyframes logo-spin { 22 | from { 23 | transform: rotate(0deg); 24 | } 25 | to { 26 | transform: rotate(360deg); 27 | } 28 | } 29 | 30 | @media (prefers-reduced-motion: no-preference) { 31 | a:nth-of-type(2) .logo { 32 | animation: logo-spin infinite 20s linear; 33 | } 34 | } 35 | 36 | .card { 37 | padding: 2em; 38 | } 39 | 40 | .read-the-docs { 41 | color: #888; 42 | } 43 | -------------------------------------------------------------------------------- /src/equityPlot/tradeStats.ts: -------------------------------------------------------------------------------- 1 | 2 | export interface TradeStats { 3 | Start: string; 4 | End: string; 5 | Duration: string; 6 | ExposureTime: string; 7 | EquityFinal: string; 8 | EquityPeak: string; 9 | Return: string; 10 | BuyHoldReturn: string; 11 | ReturnAnn: string; 12 | VolatilityAnn: string; 13 | SharpeRatio: string; 14 | SortinoRatio: string; 15 | CalmarRatio: string; 16 | MaxDrawdown: string; 17 | AvgDrawdown: string; 18 | MaxDrawdownDuration: string; 19 | AvgDrawdownDuration: string; 20 | Trades: string; 21 | WinRate: string; 22 | BestTrade: string; 23 | WorstTrade: string; 24 | AvgTrade: string; 25 | MaxTradeDuration: string; 26 | AvgTradeDuration: string; 27 | ProfitFactor: string; 28 | Expectancy: string; 29 | SQN: string; 30 | _strategy: string; 31 | } 32 | -------------------------------------------------------------------------------- /python_package/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools>=61.0"] 3 | build-backend = "setuptools.build_meta" 4 | 5 | [project] 6 | name = "bt-visualizer" 7 | version = "0.2.3" 8 | readme = "README.md" 9 | description = "Backtest visualization widget for JupyterLab" 10 | authors = [{ name="Ali Gheshlaghi", email="aliigheshlaghi97@email.com" }] 11 | license = { text = "MIT" } 12 | dependencies = [ 13 | "anywidget>=0.9,<1.0", 14 | "traitlets>=5.9,<6.0", 15 | "IPython>=8.12,<9.0" 16 | ] 17 | 18 | [tool.setuptools.packages.find] 19 | where = ["."] 20 | 21 | [tool.setuptools.package-data] 22 | "bt_visualizer" = ["bt-visualizer.js", "bt-visualizer.css"] 23 | 24 | [project.urls] 25 | Homepage = "https://finance-insight-lab.github.io/bt-visualizer/" 26 | Repository = "https://github.com/Finance-Insight-Lab/bt-visualizer" 27 | -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- 1 | import js from '@eslint/js' 2 | import globals from 'globals' 3 | import reactHooks from 'eslint-plugin-react-hooks' 4 | import reactRefresh from 'eslint-plugin-react-refresh' 5 | import tseslint from 'typescript-eslint' 6 | 7 | export default tseslint.config( 8 | { ignores: ['dist'] }, 9 | { 10 | extends: [js.configs.recommended, ...tseslint.configs.recommended], 11 | files: ['**/*.{ts,tsx}'], 12 | languageOptions: { 13 | ecmaVersion: 2020, 14 | globals: globals.browser, 15 | }, 16 | plugins: { 17 | 'react-hooks': reactHooks, 18 | 'react-refresh': reactRefresh, 19 | }, 20 | rules: { 21 | ...reactHooks.configs.recommended.rules, 22 | 'react-refresh/only-export-components': [ 23 | 'warn', 24 | { allowConstantExport: true }, 25 | ], 26 | }, 27 | }, 28 | ) 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 Ali Gheshlaghi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bt-visualizer", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "main": "./dist/bt-visualizer.umd.js", 7 | "module": "./dist/bt-visualizer.es.js", 8 | "types": "./dist/index.d.ts", 9 | "files": [ 10 | "dist" 11 | ], 12 | "scripts": { 13 | "dev": "vite", 14 | "build": "tsc -b && vite build", 15 | "lint": "eslint .", 16 | "preview": "vite preview", 17 | "predeploy": "npm run build", 18 | "deploy": "gh-pages -d dist" 19 | }, 20 | "dependencies": { 21 | "gh-pages": "^6.3.0", 22 | "lightweight-charts": "^5.0.5", 23 | "papaparse": "^5.5.2", 24 | "react": "^19.0.0", 25 | "react-dom": "^19.0.0" 26 | }, 27 | "devDependencies": { 28 | "@eslint/js": "^9.21.0", 29 | "@types/papaparse": "^5.3.15", 30 | "@types/react": "^19.0.10", 31 | "@types/react-dom": "^19.0.4", 32 | "@vitejs/plugin-react": "^4.3.4", 33 | "autoprefixer": "^10.4.21", 34 | "eslint": "^9.21.0", 35 | "eslint-plugin-react-hooks": "^5.1.0", 36 | "eslint-plugin-react-refresh": "^0.4.19", 37 | "globals": "^15.15.0", 38 | "postcss": "^8.5.3", 39 | "tailwindcss": "^3.4.17", 40 | "typescript": "~5.7.2", 41 | "typescript-eslint": "^8.24.1", 42 | "vite": "^6.2.0" 43 | }, 44 | "homepage": "https://finance-insight-lab.github.io/bt-visualizer/" 45 | } 46 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | :root { 6 | font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; 7 | line-height: 1.5; 8 | font-weight: 400; 9 | 10 | color-scheme: light dark; 11 | color: rgba(255, 255, 255, 0.87); 12 | background-color: #242424; 13 | 14 | font-synthesis: none; 15 | text-rendering: optimizeLegibility; 16 | -webkit-font-smoothing: antialiased; 17 | -moz-osx-font-smoothing: grayscale; 18 | } 19 | 20 | a { 21 | font-weight: 500; 22 | color: #646cff; 23 | text-decoration: inherit; 24 | } 25 | a:hover { 26 | color: #535bf2; 27 | } 28 | 29 | body { 30 | margin: 0; 31 | display: flex; 32 | place-items: center; 33 | min-width: 320px; 34 | min-height: 100vh; 35 | } 36 | 37 | h1 { 38 | font-size: 3.2em; 39 | line-height: 1.1; 40 | } 41 | 42 | button { 43 | border-radius: 8px; 44 | border: 1px solid transparent; 45 | padding: 0.6em 1.2em; 46 | font-size: 1em; 47 | font-weight: 500; 48 | font-family: inherit; 49 | background-color: #1a1a1a; 50 | cursor: pointer; 51 | transition: border-color 0.25s; 52 | } 53 | button:hover { 54 | border-color: #646cff; 55 | } 56 | button:focus, 57 | button:focus-visible { 58 | outline: 4px auto -webkit-focus-ring-color; 59 | } 60 | 61 | @media (prefers-color-scheme: light) { 62 | :root { 63 | color: #213547; 64 | background-color: #ffffff; 65 | } 66 | a:hover { 67 | color: #747bff; 68 | } 69 | button { 70 | background-color: #f9f9f9; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /python_package/bt_visualizer/visualizer.py: -------------------------------------------------------------------------------- 1 | import importlib.resources 2 | import pathlib 3 | import html 4 | from anywidget import AnyWidget 5 | from traitlets import Unicode 6 | from IPython.display import HTML 7 | 8 | 9 | def read_file(path): 10 | return pathlib.Path(path).read_text() 11 | 12 | 13 | class BtVisualizerWidget(AnyWidget): 14 | _esm = importlib.resources.files("bt_visualizer").joinpath("bt-visualizer.js") 15 | _css = importlib.resources.files("bt_visualizer").joinpath("bt-visualizer.css") 16 | equity = Unicode().tag(sync=True) 17 | stats = Unicode().tag(sync=True) 18 | ohlc = Unicode().tag(sync=True) 19 | trades = Unicode().tag(sync=True) 20 | 21 | def _repr_html_(self): 22 | return f""" 23 | 29 | """ 30 | 31 | def show_bt_visualization(equity_file, stats_file, ohlc_file, trades_file): 32 | """ 33 | Displays the backtest visualization widget. 34 | 35 | Args: 36 | equity_file (str): Path to equity curve CSV file. 37 | stats_file (str): Path to stats CSV file. 38 | ohlc_file (str): Path to OHLC (candlestick) CSV file. 39 | trades_file (str): Path to trades CSV file. 40 | """ 41 | widget = BtVisualizerWidget( 42 | equity=html.escape(read_file(equity_file)), 43 | stats=html.escape(read_file(stats_file)), 44 | ohlc=html.escape(read_file(ohlc_file)), 45 | trades=html.escape(read_file(trades_file)), 46 | ) 47 | return HTML(widget._repr_html_()) 48 | -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- 1 | import "./index.css"; 2 | import css from "./index.css?inline"; 3 | import React from "react"; 4 | import { createRoot } from "react-dom/client"; 5 | import App from "./App.tsx"; 6 | 7 | class BtVisualizer extends HTMLElement { 8 | mountPoint: HTMLDivElement; 9 | 10 | constructor() { 11 | super(); 12 | this.mountPoint = document.createElement("div"); 13 | 14 | const shadowRoot = this.attachShadow({ mode: "open" }); 15 | 16 | const styleEl = document.createElement("style"); 17 | styleEl.textContent = css; 18 | shadowRoot.appendChild(styleEl); 19 | shadowRoot.appendChild(this.mountPoint); 20 | } 21 | 22 | connectedCallback() { 23 | const equityAttr = this.getAttribute("equity") || ""; 24 | const statsAttr = this.getAttribute("stats") || ""; 25 | const ohlcAttr = this.getAttribute("ohlc") || ""; 26 | const tradesAttr = this.getAttribute("trades") || ""; 27 | 28 | Promise.all([ 29 | this.loadData(equityAttr), 30 | this.loadData(statsAttr), 31 | this.loadData(ohlcAttr), 32 | this.loadData(tradesAttr), 33 | ]).then(([equity, stats, ohlc, trades]) => { 34 | const root = createRoot(this.mountPoint); 35 | root.render( 36 | 37 | 38 | 39 | ); 40 | }); 41 | } 42 | 43 | async loadData(input: string): Promise { 44 | if (input.trim().startsWith("http") || input.trim().startsWith("./")) { 45 | const response = await fetch(input); 46 | return await response.text(); 47 | } 48 | return input; 49 | } 50 | } 51 | 52 | customElements.define("bt-visualizer", BtVisualizer); 53 | (window as any).BtVisualizer = BtVisualizer; 54 | export default BtVisualizer; 55 | -------------------------------------------------------------------------------- /src/equityPlot/statsCard.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { TradeStats } from "./tradeStats"; 3 | 4 | type Props = { 5 | stats: TradeStats | undefined; 6 | }; 7 | 8 | const TradeStatsCard: React.FC = ({ stats }) => { 9 | if (!stats) return; 10 | const previewKeys: (keyof TradeStats)[] = [ 11 | "Return", 12 | "Trades", 13 | "WinRate", 14 | "MaxDrawdown", 15 | ]; 16 | 17 | return ( 18 |
19 | {/* Visible Compact Summary */} 20 |
21 | {previewKeys.map((key) => ( 22 |
26 | 27 | {key} 28 | 29 | 30 | {stats[key]} 31 | 32 |
33 | ))} 34 |
35 | 36 | {/* Full Tooltip on Hover */} 37 |
38 | {Object.entries(stats).map(([key, value]) => ( 39 |
43 | {key} 44 | {value} 45 |
46 | ))} 47 |
48 |
49 | ); 50 | }; 51 | 52 | export default TradeStatsCard; 53 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import CandlestickChart from "./candlestickPlot/CandlestickChart"; 3 | import EquityChart from "./equityPlot/EquityChart"; 4 | 5 | type AppProps = { 6 | equity: string; 7 | stats: string; 8 | ohlc: string; 9 | trades: string; 10 | }; 11 | 12 | const App: React.FC = (props) => { 13 | const { equity, stats, ohlc, trades } = props; 14 | 15 | return ( 16 |
17 |
18 |

19 | Backtest Visualizer 20 |

21 | 27 | 34 | 35 | 36 | View on GitHub 37 | 38 |
39 | 40 | 41 | 42 |
43 | ); 44 | }; 45 | 46 | export default App; 47 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 📈 Backtest Visualization Tool — bt-visualizer 2 | 3 | A lightweight, interactive charting tool to visualize your backtest results inside **JupyterLab**, with trade annotations, zoom support, tooltips, and more. 4 | 5 | 6 | https://github.com/user-attachments/assets/df64633e-7e28-4a82-b4da-9640e7d01b62 7 | 8 | --- 9 | 10 | ## ✨ Features 11 | 12 | - 🕵️ Hover to see trade information 13 | - 🖱️ Click to zoom into a specific trade 14 | - 🔍 Zoom / pan support 15 | - 🖱️ Double click to zoom out 16 | - 🔄 Reset chart and load new backtest results dynamically 17 | 18 | --- 19 | 20 | ## 📦 Installation 21 | 22 | You can install the Python package via pip: 23 | 24 | ```bash 25 | pip install bt-visualizer 26 | ``` 27 | Make sure you have JupyterLab installed as well. 28 | 29 | 30 | ## 🛠️ Usage Example 31 | Inside your JupyterLab notebook: 32 | 33 | ```python 34 | from bt_visualizer import show_bt_visualization 35 | 36 | # Ensure the following files are present in the project directory 37 | show_bt_visualization( 38 | equity="equity_curve.csv", 39 | stats="stats.csv", 40 | ohlc="ohlc.csv", 41 | trades="trades.csv" 42 | ) 43 | ``` 44 | 45 | ## 📂 Input Data Format 46 | The visualization expects CSV input following the structure from [backtesting.py](https://github.com/kernc/backtesting.py) outputs. 47 | 48 | You can find [sample input files here](https://github.com/Finance-Insight-Lab/bt-visualizer/tree/main/public) to see the expected format. 49 | 50 | Files expected: 51 | 52 | * equity_curve.csv 53 | 54 | * stats.csv 55 | 56 | * ohlc.csv 57 | 58 | * trades.csv 59 | 60 | ## 🌐 Online Demo 61 | You can also try the standalone version of the app, deployed here: 62 | 63 | 👉 [Deployed App](https://finance-insight-lab.github.io/bt-visualizer/) 64 | 65 | ## 💻 Developer Setup (Optional) 66 | If you want to run or modify the TypeScript frontend locally: 67 | ```bash 68 | git clone https://github.com/Finance-Insight-Lab/bt-visualizer.git 69 | cd bt-visualizer 70 | 71 | npm install 72 | npm run dev 73 | ``` 74 | This will start the development server. 75 | 76 | 77 | ## 📝 License 78 | MIT License. 79 | 80 | Created by [Ali Gheshlaghi](https://github.com/aligheshlaghi97). 81 | -------------------------------------------------------------------------------- /python_package/README.md: -------------------------------------------------------------------------------- 1 | # 📈 Backtest Visualization Tool — bt-visualizer 2 | 3 | A lightweight, interactive charting tool to visualize your backtest results inside **JupyterLab**, with trade annotations, zoom support, tooltips, and more. 4 | 5 | 6 | https://github.com/user-attachments/assets/df64633e-7e28-4a82-b4da-9640e7d01b62 7 | 8 | --- 9 | 10 | ## ✨ Features 11 | 12 | - 🕵️ Hover to see trade information 13 | - 🖱️ Click to zoom into a specific trade 14 | - 🔍 Zoom / pan support 15 | - 🖱️ Double click to zoom out 16 | - 🔄 Reset chart and load new backtest results dynamically 17 | 18 | --- 19 | 20 | ## 📦 Installation 21 | 22 | You can install the Python package via pip: 23 | 24 | ```bash 25 | pip install bt-visualizer 26 | ``` 27 | Make sure you have JupyterLab installed as well. 28 | 29 | 30 | ## 🛠️ Usage Example 31 | Inside your JupyterLab notebook: 32 | 33 | ```python 34 | from bt_visualizer import show_bt_visualization 35 | 36 | # Ensure the following files are present in the project directory 37 | show_bt_visualization( 38 | equity="equity_curve.csv", 39 | stats="stats.csv", 40 | ohlc="ohlc.csv", 41 | trades="trades.csv" 42 | ) 43 | ``` 44 | 45 | ## 📂 Input Data Format 46 | The visualization expects CSV input following the structure from [backtesting.py](https://github.com/kernc/backtesting.py) outputs. 47 | 48 | You can find [sample input files here](https://github.com/Finance-Insight-Lab/bt-visualizer/tree/main/public) to see the expected format. 49 | 50 | Files expected: 51 | 52 | * equity_curve.csv 53 | 54 | * stats.csv 55 | 56 | * ohlc.csv 57 | 58 | * trades.csv 59 | 60 | ## 🌐 Online Demo 61 | You can also try the standalone version of the app, deployed here: 62 | 63 | 👉 [Deployed App](https://finance-insight-lab.github.io/bt-visualizer/) 64 | 65 | ## 💻 Developer Setup (Optional) 66 | If you want to run or modify the TypeScript frontend locally: 67 | ```bash 68 | git clone https://github.com/Finance-Insight-Lab/bt-visualizer.git 69 | cd bt-visualizer 70 | 71 | npm install 72 | npm run dev 73 | ``` 74 | This will start the development server. 75 | 76 | 77 | ## 📝 License 78 | MIT License. 79 | 80 | Created by [Ali Gheshlaghi](https://github.com/aligheshlaghi97). 81 | -------------------------------------------------------------------------------- /src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/stats.csv: -------------------------------------------------------------------------------- 1 | ,0 2 | Start,2004-08-19 00:00:00 3 | End,2013-03-01 00:00:00 4 | Duration,3116 days 00:00:00 5 | Exposure Time [%],94.27374301675978 6 | Equity Final [$],56263.51934000004 7 | Equity Peak [$],56309.05934000004 8 | Commissions [$],10563.951540000002 9 | Return [%],462.6351934000004 10 | Buy & Hold Return [%],607.3703606212162 11 | Return (Ann.) [%],22.4659753541286 12 | Volatility (Ann.) [%],37.41289755538683 13 | CAGR [%],14.993431821733449 14 | Sharpe Ratio,0.6004874474335891 15 | Sortino Ratio,1.144498311417915 16 | Calmar Ratio,0.6620961217295929 17 | Alpha [%],450.6213474022804 18 | Beta,0.019780099222214746 19 | Max. Drawdown [%],-33.93159182905461 20 | Avg. Drawdown [%],-6.160722831468626 21 | Max. Drawdown Duration,830 days 00:00:00 22 | Avg. Drawdown Duration,50 days 00:00:00 23 | # Trades,93 24 | Win Rate [%],54.83870967741935 25 | Best Trade [%],57.43354818089812 26 | Worst Trade [%],-16.39663865546217 27 | Avg. Trade [%],2.163812115526076 28 | Max. Trade Duration,121 days 00:00:00 29 | Avg. Trade Duration,32 days 00:00:00 30 | Profit Factor,2.2711854057477234 31 | Expectancy [%],2.6946797718582363 32 | SQN,2.013579258931508 33 | Kelly Criterion,0.2618965998107354 34 | _strategy,SmaCross 35 | _equity_curve," Equity DrawdownPct DrawdownDuration 36 | 2004-08-19 10000.00000 0.000000 NaT 37 | 2004-08-20 10000.00000 0.000000 NaT 38 | 2004-08-23 10000.00000 0.000000 NaT 39 | 2004-08-24 10000.00000 0.000000 NaT 40 | 2004-08-25 10000.00000 0.000000 NaT 41 | ... ... ... ... 42 | 2013-02-25 55199.53934 0.019704 NaT 43 | 2013-02-26 55155.37934 0.020488 NaT 44 | 2013-02-27 55821.22934 0.008663 NaT 45 | 2013-02-28 55919.20934 0.006923 NaT 46 | 2013-03-01 56263.51934 0.000809 10 days 47 | 48 | [2148 rows x 3 columns]" 49 | _trades," Size EntryBar ExitBar EntryPrice ExitPrice SL TP PnL \ 50 | 0 -59 63 75 169.02 179.13 None None -596.49 51 | 1 52 75 85 179.13 182.00 None None 149.24 52 | 2 -51 85 88 182.00 187.45 None None -277.95 53 | 3 48 88 110 187.45 179.27 None None -392.64 54 | 4 -48 110 119 179.27 196.96 None None -849.12 55 | .. ... ... ... ... ... ... ... ... 56 | 88 -61 1927 1947 647.55 610.35 None None 2269.20 57 | 89 68 1947 1960 610.35 588.72 None None -1470.84 58 | 90 -68 1960 1983 588.72 580.01 None None 592.28 59 | 91 69 1983 2059 580.01 705.58 None None 8664.33 60 | 92 -69 2059 2087 705.58 702.24 None None 230.46 61 | 62 | ReturnPct EntryTime ExitTime Duration Tag Entry_SMA(C,10) \ 63 | 0 -0.059815 2004-11-17 2004-12-06 19 days None 175.809 64 | 1 0.016022 2004-12-06 2004-12-20 14 days None 176.585 65 | 2 -0.029945 2004-12-20 2004-12-23 3 days None 175.698 66 | 3 -0.043638 2004-12-23 2005-01-26 34 days None 180.009 67 | 4 -0.098678 2005-01-26 2005-02-08 13 days None 192.116 68 | .. ... ... ... ... ... ... 69 | 88 0.057447 2012-04-13 2012-05-11 28 days None 636.752 70 | 89 -0.035439 2012-05-11 2012-05-31 20 days None 607.291 71 | 90 0.014795 2012-05-31 2012-07-03 33 days None 600.644 72 | 91 0.216496 2012-07-03 2012-10-19 108 days None 572.156 73 | 92 0.004734 2012-10-19 2012-12-03 45 days None 736.068 74 | 75 | Exit_SMA(C,10) Entry_SMA(C,20) Exit_SMA(C,20) 76 | 0 176.585 180.0790 175.3415 77 | 1 175.698 175.3415 176.1415 78 | 2 180.009 176.1415 178.6700 79 | 3 192.116 178.6700 193.3085 80 | 4 197.103 193.3085 194.8245 81 | .. ... ... ... 82 | 88 607.291 639.4585 606.5200 83 | 89 600.644 606.5200 605.3425 84 | 90 572.156 605.3425 571.5720 85 | 91 736.068 571.5720 747.0325 86 | 92 677.306 747.0325 669.6060 87 | 88 | [93 rows x 17 columns]" 89 | -------------------------------------------------------------------------------- /public/candlestick-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/equityPlot/EquityChart.tsx: -------------------------------------------------------------------------------- 1 | import React, { useEffect, useRef, useState } from "react"; 2 | import { 3 | createChart, 4 | LineSeries, 5 | IChartApi, 6 | UTCTimestamp, 7 | } from "lightweight-charts"; 8 | import Papa from "papaparse"; 9 | import TradeStatsCard from "./statsCard"; 10 | import { TradeStats } from "./tradeStats"; 11 | 12 | interface EquityData { 13 | time: UTCTimestamp; 14 | value: number; 15 | } 16 | 17 | type EquityChartProps = { 18 | equityFile: string; 19 | statsFile: string; 20 | }; 21 | 22 | const EquityChart: React.FC = ({ equityFile, statsFile }) => { 23 | const chartRef = useRef(null); 24 | const chartApiRef = useRef(null); 25 | const [equityCurve, setEquityCurve] = useState([]); 26 | const [stats, setStats] = useState(); 27 | const [width, setWidth] = useState(window.innerWidth); 28 | 29 | const parseDatetime = (datetime: string): UTCTimestamp => { 30 | const localDate = new Date(datetime); 31 | return (localDate.getTime() / 1000) as UTCTimestamp; 32 | }; 33 | 34 | const findKey = (row: Record, target: string): string => { 35 | return ( 36 | Object.keys(row).find( 37 | (key) => key.trim().toLowerCase() === target.toLowerCase() 38 | ) || "" 39 | ); 40 | }; 41 | 42 | const parseEquity = (file: File | string) => { 43 | Papa.parse(file, { 44 | header: true, 45 | skipEmptyLines: true, 46 | complete: (result: any) => { 47 | const parsedData = result.data as Record[]; 48 | 49 | const formattedData: EquityData[] = parsedData.map((row) => { 50 | const keys = Object.keys(row); 51 | const timeKey = 52 | keys.find((key) => key.trim().toLowerCase() === "time") || keys[0]; 53 | 54 | return { 55 | time: parseDatetime(row[timeKey]), 56 | value: parseFloat(row[findKey(row, "Equity")] || "0"), 57 | }; 58 | }); 59 | setEquityCurve(formattedData); 60 | }, 61 | }); 62 | }; 63 | 64 | const handleEquityUpload = (event: React.ChangeEvent) => { 65 | const file = event.target.files?.[0]; 66 | if (!file) return; 67 | parseEquity(file); 68 | event.target.value = ""; 69 | }; 70 | 71 | const sanitizeKey = (key: string): string => { 72 | return key 73 | .trim() 74 | .replace(/\s+/g, "") // Remove spaces 75 | .replace(/[%().]/g, "") // Remove % ( ) . characters 76 | .replace(/[^a-zA-Z0-9_]/g, ""); // Remove any other non-alphanum/underscore 77 | }; 78 | 79 | const parseStats = (file: File | string) => { 80 | Papa.parse(file, { 81 | skipEmptyLines: true, 82 | complete: (results: any) => { 83 | const raw_data = results.data as string[][]; 84 | const parsed: any = {}; 85 | const exclude_keys = ["_equity_curve", "_trades"]; 86 | raw_data.forEach(([key, value]) => { 87 | if (key && value) { 88 | const sanitizedKey = sanitizeKey(key); 89 | if (!exclude_keys.find((key) => key === sanitizedKey)) { 90 | parsed[sanitizeKey(key)] = value.trim(); 91 | } 92 | } 93 | }); 94 | 95 | setStats(parsed); 96 | }, 97 | }); 98 | }; 99 | 100 | const handleStatsUpload = (event: React.ChangeEvent) => { 101 | const file = event.target.files?.[0]; 102 | if (!file) return; 103 | parseStats(file); 104 | event.target.value = ""; 105 | }; 106 | 107 | useEffect(() => { 108 | const handleResize = () => setWidth(window.innerWidth); 109 | window.addEventListener("resize", handleResize); 110 | return () => window.removeEventListener("resize", handleResize); 111 | }, []); 112 | 113 | useEffect(() => { 114 | if (!chartRef.current) return; 115 | 116 | const handleResize = () => { 117 | chart.applyOptions({ width: chartRef.current?.clientWidth }); 118 | }; 119 | 120 | const chart = createChart(chartRef.current, { 121 | width: width, 122 | height: 200, 123 | autoSize: true, 124 | timeScale: { 125 | timeVisible: true, 126 | secondsVisible: true, 127 | minBarSpacing: 0, 128 | }, 129 | }); 130 | chart.timeScale().fitContent(); 131 | 132 | chart.subscribeDblClick((param) => { 133 | if (!param) return; 134 | chart.timeScale().fitContent(); 135 | }); 136 | 137 | chartApiRef.current = chart; 138 | 139 | const series = chart.addSeries(LineSeries, { 140 | color: "blue", 141 | lineWidth: 2, 142 | lineStyle: 0, 143 | lastValueVisible: false, 144 | priceLineVisible: false, 145 | priceFormat: { 146 | type: "price", 147 | precision: 2, 148 | }, 149 | }); 150 | series.setData(equityCurve); 151 | 152 | window.addEventListener("resize", handleResize); 153 | 154 | return () => { 155 | window.removeEventListener("resize", handleResize); 156 | 157 | chart.remove(); 158 | }; 159 | }, [equityCurve, stats]); 160 | 161 | function isProbablyUrl(path: string): boolean { 162 | return path.startsWith("http") || path.startsWith("/") || path.endsWith(".csv"); 163 | } 164 | 165 | useEffect(() => { 166 | if (equityFile) { 167 | if (isProbablyUrl(equityFile)) { 168 | fetch(equityFile) 169 | .then((res) => res.text()) 170 | .then((text) => parseEquity(text)); 171 | } else { 172 | parseEquity(equityFile); 173 | } 174 | } 175 | 176 | if (statsFile) { 177 | if (isProbablyUrl(statsFile)) { 178 | fetch(statsFile) 179 | .then((res) => res.text()) 180 | .then((text) => parseStats(text)); 181 | } else { 182 | parseStats(statsFile); 183 | } 184 | } 185 | }, []); 186 | 187 | return ( 188 | <> 189 |
190 | 199 | 200 | 209 |
221 | 222 |
226 | 227 | ); 228 | }; 229 | 230 | export default EquityChart; 231 | -------------------------------------------------------------------------------- /python_package/bt_visualizer/bt-visualizer.css: -------------------------------------------------------------------------------- 1 | *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.top-full{top:100%}.z-10{z-index:10}.mt-0{margin-top:0}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.max-w-xs{max-width:20rem}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-center{text-align:center}.text-right{text-align:right}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[12px\]{font-size:12px}.text-\[9px\]{font-size:9px}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.025em}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:flex{display:flex}@media (min-width: 640px){.sm\:absolute{position:absolute}.sm\:left-1\/2{left:50%}.sm\:w-fit{width:-moz-fit-content;width:fit-content}.sm\:-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-0{gap:0px}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:p-0{padding:0}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-\[10px\]{font-size:10px}.sm\:text-\[13px\]{font-size:13px}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}} 2 | -------------------------------------------------------------------------------- /public/trades.csv: -------------------------------------------------------------------------------- 1 | ,Size,EntryBar,ExitBar,EntryPrice,ExitPrice,SL,TP,PnL,ReturnPct,EntryTime,ExitTime,Duration,Tag,"Entry_SMA(C,10)","Exit_SMA(C,10)","Entry_SMA(C,20)","Exit_SMA(C,20)" 2 | 0,-59,63,75,169.02,179.13,,,-596.4899999999991,-0.05981540646077388,2004-11-17,2004-12-06,19 days,,175.809,176.58499999999998,180.079,175.3415 3 | 1,52,75,85,179.13,182.0,,,149.24000000000024,0.016021883548261062,2004-12-06,2004-12-20,14 days,,176.58499999999998,175.698,175.3415,176.1415 4 | 2,-51,85,88,182.0,187.45,,,-277.9499999999994,-0.02994505494505484,2004-12-20,2004-12-23,3 days,,175.698,180.009,176.1415,178.67000000000002 5 | 3,48,88,110,187.45,179.27,,,-392.63999999999896,-0.043638303547612556,2004-12-23,2005-01-26,34 days,,180.009,192.116,178.67000000000002,193.3085 6 | 4,-48,110,119,179.27,196.96,,,-849.1199999999999,-0.0986779717744184,2005-01-26,2005-02-08,13 days,,192.116,197.103,193.3085,194.8245 7 | 5,39,119,129,196.96,193.3,,,-142.73999999999987,-0.018582453290008072,2005-02-08,2005-02-23,15 days,,197.103,193.476,194.8245,195.2895 8 | 6,-39,129,157,193.3,187.73,,,217.23000000000084,0.02881531298499751,2005-02-23,2005-04-05,41 days,,193.476,181.26799999999997,195.2895,180.321 9 | 7,41,157,242,187.73,295.55,,,4420.620000000001,0.5743354818089812,2005-04-05,2005-08-04,121 days,,181.26799999999997,295.836,180.321,298.802 10 | 8,-41,242,265,295.55,285.89,,,396.060000000001,0.03268482490272384,2005-08-04,2005-09-07,34 days,,295.836,286.714,298.802,284.746 11 | 9,43,265,293,285.89,297.5,,,499.2300000000006,0.040610024834726755,2005-09-07,2005-10-17,40 days,,286.714,306.375,284.746,309.4635 12 | 10,-43,293,300,297.5,346.28,,,-2097.539999999999,-0.1639663865546217,2005-10-17,2005-10-26,9 days,,306.375,320.466,309.4635,315.72950000000003 13 | 11,31,300,333,346.28,412.5,,,2052.8200000000006,0.19123252858958084,2005-10-26,2005-12-13,48 days,,320.466,410.12600000000003,315.72950000000003,410.01000000000005 14 | 12,-31,333,334,412.5,417.04,,,-140.74000000000063,-0.011006060606060686,2005-12-13,2005-12-14,1 days,,410.12600000000003,411.53100000000006,410.01000000000005,411.31800000000004 15 | 13,30,334,336,417.04,425.34,,,248.99999999999864,0.019902167657778413,2005-12-14,2005-12-16,2 days,,411.53100000000006,413.622,411.31800000000004,413.87300000000005 16 | 14,-30,336,338,425.34,427.86,,,-75.60000000000116,-0.0059246720270842435,2005-12-16,2005-12-20,4 days,,413.622,418.017,413.87300000000005,416.1115 17 | 15,29,338,363,427.86,435.0,,,207.0599999999996,0.01668770158463051,2005-12-20,2006-01-27,38 days,,418.017,438.547,416.1115,444.48850000000004 18 | 16,-29,363,387,435.0,384.3,,,1470.2999999999997,0.11655172413793102,2006-01-27,2006-03-03,35 days,,438.547,372.873,444.48850000000004,367.581 19 | 17,37,387,394,384.3,337.14,,,-1744.920000000001,-0.12271662763466051,2006-03-03,2006-03-14,11 days,,372.873,357.45799999999997,367.581,361.802 20 | 18,-37,394,406,337.14,389.19,,,-1925.8500000000004,-0.15438690158391166,2006-03-14,2006-03-30,16 days,,357.45799999999997,360.61199999999997,361.802,356.136 21 | 19,27,406,432,389.19,395.11,,,159.84000000000043,0.015211079421362461,2006-03-30,2006-05-08,39 days,,360.61199999999997,406.28000000000003,356.136,410.70550000000003 22 | 20,-27,432,454,395.11,387.75,,,198.72000000000037,0.01862772392498291,2006-05-08,2006-06-08,31 days,,406.28000000000003,381.44,410.70550000000003,378.31600000000003 23 | 21,27,454,484,387.75,386.14,,,-43.47000000000037,-0.0041521598968408124,2006-06-08,2006-07-21,43 days,,381.44,405.95099999999996,378.31600000000003,410.12299999999993 24 | 22,-27,484,509,386.14,373.08,,,352.62000000000006,0.033821929869995326,2006-07-21,2006-08-25,35 days,,405.95099999999996,378.329,410.12299999999993,377.023 25 | 23,29,509,515,373.08,379.87,,,196.9100000000006,0.01819984989814527,2006-08-25,2006-09-05,11 days,,378.329,378.085,377.023,378.3035 26 | 24,-29,515,517,379.87,379.39,,,13.920000000000528,0.0012635901755864154,2006-09-05,2006-09-07,2 days,,378.085,378.77599999999995,378.3035,378.338 27 | 25,29,517,582,379.39,481.94,,,2973.9500000000003,0.27030232742033267,2006-09-07,2006-12-08,92 days,,378.77599999999995,485.18199999999996,378.338,490.00149999999996 28 | 26,-29,582,603,481.94,497.2,,,-442.53999999999974,-0.03166369257583934,2006-12-08,2007-01-11,34 days,,485.18199999999996,478.73699999999997,490.00149999999996,473.71000000000004 29 | 27,27,603,618,497.2,482.61,,,-393.9299999999993,-0.029344328238133488,2007-01-11,2007-02-02,22 days,,478.73699999999997,489.4429999999999,473.71000000000004,491.201 30 | 28,-27,618,654,482.61,463.55,,,514.6200000000001,0.03949358695426952,2007-02-02,2007-03-27,53 days,,489.4429999999999,453.659,491.201,451.62749999999994 31 | 29,29,654,684,463.55,466.15,,,75.39999999999901,0.005608887930104611,2007-03-27,2007-05-09,43 days,,453.659,471.4030000000001,451.62749999999994,472.97599999999994 32 | 30,-29,684,696,466.15,479.7,,,-392.95000000000033,-0.02906789659980702,2007-05-09,2007-05-25,16 days,,471.4030000000001,471.195,472.97599999999994,469.7 33 | 31,27,696,739,479.7,508.53,,,778.4099999999996,0.06010006253908684,2007-05-25,2007-07-27,63 days,,471.195,528.236,469.7,533.9335 34 | 32,-27,739,765,508.53,515.02,,,-175.23000000000025,-0.012762275578628524,2007-07-27,2007-09-04,39 days,,528.236,513.0889999999999,533.9335,510.71500000000003 35 | 33,26,765,819,515.02,629.59,,,2978.8200000000015,0.2224573802959109,2007-09-04,2007-11-19,76 days,,513.0889999999999,665.597,510.71500000000003,678.5889999999999 36 | 34,-26,819,830,629.59,692.73,,,-1641.6399999999996,-0.1002874886831111,2007-11-19,2007-12-05,16 days,,665.597,682.325,678.5889999999999,669.2985 37 | 35,21,830,843,692.73,694.99,,,47.45999999999981,0.003262454347292554,2007-12-05,2007-12-24,19 days,,682.325,688.9620000000001,669.2985,692.9100000000001 38 | 36,-21,843,909,694.99,447.74,,,5192.25,0.35576051453977753,2007-12-24,2008-04-01,99 days,,688.9620000000001,446.258,692.9100000000001,440.76849999999996 39 | 37,44,909,947,447.74,546.96,,,4365.680000000001,0.22160182248626437,2008-04-01,2008-05-23,52 days,,446.258,570.55,440.76849999999996,574.0609999999999 40 | 38,-44,947,958,546.96,549.56,,,-114.399999999996,-0.004753546877285242,2008-05-23,2008-06-10,18 days,,570.55,571.6899999999999,574.0609999999999,569.9179999999999 41 | 39,43,958,961,549.56,561.49,,,512.9900000000027,0.021708275711478375,2008-06-10,2008-06-13,3 days,,571.6899999999999,564.952,569.9179999999999,566.3860000000001 42 | 40,-43,961,1005,561.49,506.99,,,2343.5,0.09706317120518615,2008-06-13,2008-08-15,63 days,,564.952,492.24399999999997,566.3860000000001,485.48549999999994 43 | 41,52,1005,1015,506.99,469.75,,,-1936.4800000000005,-0.07345312530819148,2008-08-15,2008-08-29,14 days,,492.24399999999997,481.37399999999997,485.48549999999994,486.809 44 | 42,-52,1015,1059,469.75,356.16,,,5906.6799999999985,0.24180947312400203,2008-08-29,2008-10-31,63 days,,481.37399999999997,356.46400000000006,486.809,354.4705 45 | 43,85,1059,1061,356.16,353.44,,,-231.20000000000232,-0.007637017070979413,2008-10-31,2008-11-04,4 days,,356.46400000000006,353.6,354.4705,354.281 46 | 44,-85,1061,1087,353.44,304.17,,,4187.949999999999,0.1394013128112267,2008-11-04,2008-12-11,37 days,,353.6,288.894,354.281,287.1165 47 | 45,112,1087,1103,304.17,332.98,,,3226.7200000000003,0.09471677022717562,2008-12-11,2009-01-06,26 days,,288.894,309.005,287.1165,309.7285 48 | 46,-112,1103,1105,332.98,318.28,,,1646.400000000005,0.04414679560333967,2009-01-06,2009-01-08,2 days,,309.005,314.212,309.7285,311.6845 49 | 47,121,1105,1114,318.28,298.04,,,-2449.039999999994,-0.06359180595701885,2009-01-08,2009-01-22,14 days,,314.212,305.923,311.6845,308.709 50 | 48,-121,1114,1121,298.04,334.29,,,-4386.25,-0.12162796940008058,2009-01-22,2009-02-02,11 days,,305.923,324.347,308.709,319.7245 51 | 49,94,1121,1138,334.29,345.96,,,1096.9799999999962,0.034909808848604396,2009-02-02,2009-02-26,24 days,,324.347,345.992,319.7245,349.30550000000005 52 | 50,-94,1138,1156,345.96,346.5,,,-50.760000000001924,-0.0015608740894901274,2009-02-26,2009-03-24,26 days,,345.992,330.986,349.30550000000005,325.575 53 | 51,93,1156,1199,346.5,391.95,,,4226.8499999999985,0.13116883116883105,2009-03-24,2009-05-26,63 days,,330.986,395.331,325.575,396.92549999999994 54 | 52,-93,1199,1203,391.95,418.73,,,-2490.5400000000027,-0.0683250414593699,2009-05-26,2009-06-01,6 days,,395.331,404.70099999999996,396.92549999999994,401.671 55 | 53,80,1203,1219,418.73,406.65,,,-966.4000000000033,-0.028849139063358398,2009-06-01,2009-06-23,22 days,,404.70099999999996,418.15500000000003,401.671,423.017 56 | 54,-80,1219,1236,406.65,433.0,,,-2108.000000000002,-0.06479773761219731,2009-06-23,2009-07-17,24 days,,418.15500000000003,419.35300000000007,423.017,417.512 57 | 55,70,1236,1317,433.0,562.73,,,9081.100000000002,0.299607390300231,2009-07-17,2009-11-10,116 days,,419.35300000000007,546.8100000000001,417.512,547.4185 58 | 56,-70,1317,1319,562.73,569.56,,,-478.0999999999949,-0.012137259431698855,2009-11-10,2009-11-12,2 days,,546.8100000000001,551.516,547.4185,551.0775 59 | 57,68,1319,1362,569.56,593.34,,,1617.0400000000059,0.041751527494908514,2009-11-12,2010-01-15,64 days,,551.516,600.365,551.0775,605.4475 60 | 58,-67,1362,1387,593.34,543.0,,,3372.780000000002,0.08484174335119832,2010-01-15,2010-02-23,39 days,,600.365,538.177,605.4475,536.351 61 | 59,80,1387,1412,543.0,562.83,,,1586.4000000000033,0.036519337016574616,2010-02-23,2010-03-30,35 days,,538.177,561.052,536.351,563.141 62 | 60,-79,1412,1419,562.83,567.49,,,-368.1399999999975,-0.008279587086686968,2010-03-30,2010-04-09,10 days,,561.052,566.425,563.141,564.542 63 | 61,78,1419,1430,567.49,544.97,,,-1756.5599999999986,-0.03968351865231101,2010-04-09,2010-04-26,17 days,,566.425,560.435,564.542,563.932 64 | 62,-77,1430,1464,544.97,494.48,,,3887.7300000000005,0.0926473016863314,2010-04-26,2010-06-14,49 days,,560.435,488.308,563.932,486.83500000000004 65 | 63,93,1464,1475,494.48,463.44,,,-2886.720000000002,-0.06277301407539237,2010-06-14,2010-06-29,15 days,,488.308,483.236,486.83500000000004,486.55300000000005 66 | 64,-93,1475,1489,463.44,461.03,,,224.13000000000233,0.00520024167098232,2010-06-29,2010-07-20,21 days,,483.236,473.20200000000006,486.55300000000005,466.575 67 | 65,93,1489,1512,461.03,467.97,,,645.4200000000051,0.015053250330781198,2010-07-20,2010-08-20,31 days,,473.20200000000006,486.741,466.575,489.904 68 | 66,-93,1512,1529,467.97,479.95,,,-1114.1399999999965,-0.0255999316195481,2010-08-20,2010-09-15,26 days,,486.741,472.445,489.904,465.95950000000005 69 | 67,88,1529,1574,479.95,585.0,,,9244.400000000001,0.21887696635066156,2010-09-15,2010-11-17,63 days,,472.445,610.704,465.95950000000005,613.3095000000001 70 | 68,-87,1574,1594,585.0,592.85,,,-682.950000000002,-0.013418803418803416,2010-11-17,2010-12-16,29 days,,610.704,588.429,613.3095000000001,585.2435 71 | 69,85,1594,1626,592.85,611.0,,,1542.7499999999982,0.03061482668465887,2010-12-16,2011-02-02,48 days,,588.429,612.7270000000001,585.2435,616.281 72 | 70,-84,1626,1636,611.0,625.63,,,-1228.9199999999996,-0.023944353518821515,2011-02-02,2011-02-16,14 days,,612.7270000000001,618.7760000000001,616.281,615.7515 73 | 71,80,1636,1645,625.63,599.8,,,-2066.4000000000033,-0.041286383325607856,2011-02-16,2011-03-02,14 days,,618.7760000000001,613.49,615.7515,615.522 74 | 72,-80,1645,1668,599.8,593.0,,,543.9999999999964,0.011337112370790159,2011-03-02,2011-04-04,33 days,,613.49,583.1279999999999,615.522,578.397 75 | 73,81,1668,1677,593.0,545.29,,,-3864.510000000003,-0.08045531197301858,2011-04-04,2011-04-15,11 days,,583.1279999999999,572.258,578.397,577.134 76 | 74,-81,1677,1696,545.29,534.61,,,865.079999999996,0.01958590841570529,2011-04-15,2011-05-13,28 days,,572.258,535.8199999999999,577.134,533.29 77 | 75,84,1696,1700,534.61,532.73,,,-157.91999999999962,-0.0035165821814032716,2011-05-13,2011-05-19,6 days,,535.8199999999999,532.5629999999999,533.29,533.5469999999999 78 | 76,-84,1700,1734,532.73,532.95,,,-18.480000000002292,-0.00041296716911021214,2011-05-19,2011-07-08,50 days,,532.5629999999999,512.27,533.5469999999999,503.92300000000006 79 | 77,83,1734,1757,532.95,561.38,,,2359.689999999996,0.05334459142508674,2011-07-08,2011-08-10,33 days,,512.27,583.997,503.92300000000006,591.6655000000001 80 | 78,-83,1757,1778,561.38,531.4,,,2488.3400000000015,0.053404111297160606,2011-08-10,2011-09-09,30 days,,583.997,532.096,591.6655000000001,528.5115 81 | 79,92,1778,1794,531.4,509.85,,,-1982.5999999999958,-0.04055325555137368,2011-09-09,2011-10-03,24 days,,532.096,527.013,528.5115,530.6885 82 | 80,-92,1794,1805,509.85,580.19,,,-6471.2800000000025,-0.137962145729136,2011-10-03,2011-10-18,15 days,,527.013,548.697,530.6885,535.6185 83 | 81,69,1805,1833,580.19,579.37,,,-56.58000000000345,-0.0014133301159965361,2011-10-18,2011-11-28,41 days,,548.697,591.902,535.6185,594.691 84 | 82,-69,1833,1841,579.37,621.04,,,-2875.2299999999973,-0.07192295079137678,2011-11-28,2011-12-08,10 days,,591.902,605.65,594.691,601.3879999999999 85 | 83,59,1841,1868,621.04,640.99,,,1177.0500000000027,0.0321235347159603,2011-12-08,2012-01-19,42 days,,605.65,633.6279999999999,601.3879999999999,637.8625 86 | 84,-59,1868,1886,640.99,611.54,,,1737.5500000000027,0.04594455451723123,2012-01-19,2012-02-14,26 days,,633.6279999999999,602.731,637.8625,596.38 87 | 85,64,1886,1908,611.54,620.89,,,598.4000000000015,0.015289269712529086,2012-02-14,2012-03-16,31 days,,602.731,611.8489999999999,596.38,612.534 88 | 86,-64,1908,1911,620.89,634.61,,,-878.0800000000017,-0.022097311923207075,2012-03-16,2012-03-21,5 days,,611.8489999999999,619.9929999999999,612.534,616.5775000000001 89 | 87,61,1911,1927,634.61,647.55,,,789.3399999999964,0.020390476040402783,2012-03-21,2012-04-13,23 days,,619.9929999999999,636.7520000000001,616.5775000000001,639.4585 90 | 88,-61,1927,1947,647.55,610.35,,,2269.1999999999957,0.05744730136668974,2012-04-13,2012-05-11,28 days,,636.7520000000001,607.2909999999999,639.4585,606.5200000000001 91 | 89,68,1947,1960,610.35,588.72,,,-1470.8399999999997,-0.03543868272302775,2012-05-11,2012-05-31,20 days,,607.2909999999999,600.644,606.5200000000001,605.3425 92 | 90,-68,1960,1983,588.72,580.01,,,592.2800000000025,0.014794809077320337,2012-05-31,2012-07-03,33 days,,600.644,572.1560000000001,605.3425,571.572 93 | 91,69,1983,2059,580.01,705.58,,,8664.330000000004,0.21649626730573623,2012-07-03,2012-10-19,108 days,,572.1560000000001,736.068,571.572,747.0325 94 | 92,-69,2059,2087,705.58,702.24,,,230.4600000000022,0.004733694265710575,2012-10-19,2012-12-03,45 days,,736.068,677.3059999999999,747.0325,669.606 95 | -------------------------------------------------------------------------------- /src/candlestickPlot/CandlestickChart.tsx: -------------------------------------------------------------------------------- 1 | import React, { useEffect, useRef, useState } from "react"; 2 | import { 3 | createChart, 4 | CandlestickSeries, 5 | createSeriesMarkers, 6 | LineSeries, 7 | IChartApi, 8 | UTCTimestamp, 9 | } from "lightweight-charts"; 10 | import Papa from "papaparse"; 11 | 12 | interface CandlestickData { 13 | open: number; 14 | high: number; 15 | low: number; 16 | close: number; 17 | time: UTCTimestamp; 18 | } 19 | 20 | interface TradeData { 21 | Id: string; 22 | EntryTime: UTCTimestamp; 23 | ExitTime: UTCTimestamp; 24 | EntryPrice: number; 25 | ExitPrice: number; 26 | Size: number; 27 | PnL: string; 28 | TP: string | null; 29 | SL: string | null; 30 | ReturnPct: string; 31 | } 32 | 33 | type markerPosition = "belowBar" | "aboveBar"; 34 | type markerShape = "arrowUp" | "arrowDown" 35 | 36 | interface TradeMarker { 37 | time: UTCTimestamp; 38 | price: number; 39 | exitTime: UTCTimestamp; 40 | color: string; 41 | position: markerPosition; 42 | shape: markerShape; 43 | id: string; 44 | tradeType: string; 45 | entryPrice: number; 46 | exitPrice: number; 47 | Size: number; 48 | PnL: string; 49 | TP: string | null; 50 | SL: string | null; 51 | ReturnPct: string; 52 | } 53 | 54 | interface TradeLine { 55 | data: { 56 | time: UTCTimestamp; 57 | value: number; 58 | }[]; 59 | color: string; 60 | dashed: boolean; 61 | } 62 | 63 | interface precisionPrice { 64 | minMove : number, 65 | precision: number, 66 | } 67 | 68 | type EquityChartProps = { 69 | ohlcFile: string; 70 | tradesFile: string; 71 | }; 72 | 73 | const CandlestickChart: React.FC = ({ ohlcFile, tradesFile }) => { 74 | const chartRef = useRef(null); 75 | const chartApiRef = useRef(null); 76 | const [data, setData] = useState([]); 77 | const [annotations, setAnnotations] = useState([]); 78 | const [tradeLines, setTradeLines] = useState([]); 79 | const [width, setWidth] = useState(window.innerWidth); 80 | 81 | let lastMousePos = { x: 0, y: 0 }; 82 | window.addEventListener('mousemove', e => { 83 | lastMousePos.x = e.clientX; 84 | lastMousePos.y = e.clientY; 85 | }); 86 | 87 | const parseDatetime = (datetime: string): UTCTimestamp => { 88 | const localDate = new Date(datetime); 89 | return (localDate.getTime() / 1000) as UTCTimestamp; 90 | }; 91 | 92 | const findKey = (row: Record, target: string): string => { 93 | return Object.keys(row).find((key) => key.trim().toLowerCase() === target.toLowerCase()) || ''; 94 | }; 95 | 96 | const parseOhlc = (file: File | string) => { 97 | Papa.parse(file, { 98 | header: true, 99 | skipEmptyLines: true, 100 | complete: (result: any) => { 101 | const parsedData = result.data as Record[]; 102 | 103 | const formattedData: CandlestickData[] = parsedData.map((row) => { 104 | const keys = Object.keys(row); 105 | const timeKey = keys.find((key) => key.trim().toLowerCase() === 'time') || keys[0]; 106 | 107 | return { 108 | time: parseDatetime(row[timeKey]), 109 | open: parseFloat(row[findKey(row, 'open')] || '0'), 110 | high: parseFloat(row[findKey(row, 'high')] || '0'), 111 | low: parseFloat(row[findKey(row, 'low')] || '0'), 112 | close: parseFloat(row[findKey(row, 'close')] || '0'), 113 | }; 114 | }); 115 | setData(formattedData); 116 | }, 117 | }); 118 | } 119 | 120 | const handleOHLCUpload = (event: React.ChangeEvent) => { 121 | const file = event.target.files?.[0]; 122 | if (!file) return; 123 | parseOhlc(file); 124 | event.target.value = ''; 125 | }; 126 | 127 | const parseTrades = (file: File | string) => { 128 | Papa.parse(file, { 129 | header: true, 130 | skipEmptyLines: true, 131 | complete: (result: any) => { 132 | const parsedData = result.data as Record[]; 133 | 134 | const parsedTrades: TradeData[] = parsedData.map((row) => { 135 | const keys = Object.keys(row); 136 | const idKey = keys.find((key) => key.trim().toLowerCase() === 'id') || keys[0]; 137 | 138 | return { 139 | Id: row[idKey], 140 | EntryTime: parseDatetime(row[findKey(row, 'EntryTime')]), 141 | ExitTime: parseDatetime(row[findKey(row, 'ExitTime')]), 142 | EntryPrice: parseFloat(row[findKey(row, 'EntryPrice')] || '0'), 143 | ExitPrice: parseFloat(row[findKey(row, 'ExitPrice')] || '0'), 144 | Type: row[findKey(row, 'Type')], 145 | Size: parseFloat(row[findKey(row, 'Size')]), 146 | PnL: row[findKey(row, 'PnL')], 147 | TP: row[findKey(row, 'TP')], 148 | SL: row[findKey(row, 'SL')], 149 | ReturnPct: row[findKey(row, 'ReturnPct')], 150 | }; 151 | }); 152 | 153 | const allTradeLines = parsedTrades.map((trade) => ({ 154 | data: [ 155 | { 156 | time: trade.EntryTime, 157 | value: trade.EntryPrice, 158 | }, 159 | { 160 | time: trade.ExitTime, 161 | value: trade.ExitPrice, 162 | }, 163 | ], 164 | color: trade.Size > 0 ? "green" : "red", 165 | dashed: true, 166 | })); 167 | 168 | const entryAnnotations = parsedTrades.map((trade) => ({ 169 | time: trade.EntryTime, 170 | price: trade.EntryPrice, 171 | exitTime: trade.ExitTime, 172 | size: 1.5, 173 | color: trade.Size > 0 ? "green" : "red", 174 | position: trade.Size > 0 ? "belowBar" : "aboveBar" as markerPosition, 175 | shape: trade.Size > 0 ? "arrowUp" : "arrowDown" as markerShape, 176 | id: trade.Id, 177 | entryPrice: trade.EntryPrice, 178 | exitPrice: trade.ExitPrice, 179 | tradeType: trade.Size > 0 ? "Buy" : "Sell", 180 | Size: trade.Size, 181 | PnL: trade.PnL, 182 | TP: trade.TP, 183 | SL: trade.SL, 184 | ReturnPct: trade.ReturnPct, 185 | })); 186 | 187 | setTradeLines(allTradeLines); 188 | setAnnotations(entryAnnotations); 189 | }, 190 | }); 191 | } 192 | 193 | const handleTradesUpload = (event: React.ChangeEvent) => { 194 | const file = event.target.files?.[0]; 195 | if (!file) return; 196 | parseTrades(file); 197 | event.target.value = ''; 198 | }; 199 | 200 | const createTooltip = () => { 201 | const tooltip = document.createElement('div'); 202 | tooltip.id = 'trade-tooltip'; 203 | tooltip.style.cssText = ` 204 | width: 160px; 205 | min-height: 80px; 206 | position: absolute; 207 | display: none; 208 | padding: 8px; 209 | box-sizing: border-box; 210 | font-size: 12px; 211 | text-align: left; 212 | z-index: 1000; 213 | pointer-events: none; 214 | border: 1px solid rgb(224, 224, 224); 215 | border-radius: 2px; 216 | background: black; 217 | color: white; 218 | font-family: -apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif; 219 | -webkit-font-smoothing: antialiased; 220 | -moz-osx-font-smoothing: grayscale; 221 | `; 222 | document.body.appendChild(tooltip); 223 | }; 224 | 225 | const showTradeTooltip = (trade: TradeMarker, x: number, y: number) => { 226 | const tooltip = document.getElementById("trade-tooltip"); 227 | if (!tooltip) return; 228 | 229 | tooltip.style.left = `${x + 10}px`; 230 | tooltip.style.top = `${y + 10}px`; 231 | tooltip.style.display = "block"; 232 | 233 | tooltip.innerHTML = ` 234 | ${trade.tradeType.toUpperCase()}
235 | ID: ${trade.id}
236 | Entry Price: ${trade.entryPrice}
237 | Exit Price: ${trade.exitPrice}
238 | Size: ${trade.Size}
239 | PnL: ${trade.PnL}
240 | TP: ${trade.TP}
241 | SL: ${trade.SL}
242 | ReturnPct: ${trade.ReturnPct}
243 | `; 244 | }; 245 | 246 | const hideTooltip = () => { 247 | const tooltip = document.getElementById("trade-tooltip"); 248 | if (tooltip) { 249 | tooltip.style.display = "none"; 250 | } 251 | }; 252 | 253 | const zoomAroundTrade = ( 254 | chart: IChartApi, 255 | data: CandlestickData[], 256 | trade: TradeMarker 257 | ) => { 258 | const entryIndex = data.findIndex((c) => c.time === trade.time); 259 | let fromTime = trade.time; 260 | if (entryIndex !== -1){ 261 | const fromIndex = Math.max(0, entryIndex - 10); 262 | fromTime = data[fromIndex].time; 263 | } 264 | 265 | const exitIndex = data.findIndex((c) => c.time === trade.exitTime); 266 | let toTime = trade.exitTime; 267 | if (exitIndex !== -1){ 268 | const exit = exitIndex !== -1 ? exitIndex : entryIndex + 10; 269 | const toIndex = Math.min(data.length - 1, exit + 10); 270 | toTime = data[toIndex].time; 271 | } 272 | 273 | chart.timeScale().setVisibleRange({ 274 | from: fromTime, 275 | to: toTime, 276 | }); 277 | }; 278 | 279 | const getPrecision = (value: number): precisionPrice => { 280 | const valueStr = value.toString(); 281 | 282 | if (!valueStr.includes('.')) { 283 | return { 284 | minMove : 1, 285 | precision: 1, 286 | }; 287 | }; 288 | 289 | const decimalPlaces = valueStr.split('.')[1].length; 290 | return { 291 | minMove : Math.pow(10, -decimalPlaces), 292 | precision: decimalPlaces, 293 | } 294 | }; 295 | 296 | const getRandomPrecisionFromData = (data: CandlestickData[]): precisionPrice => { 297 | if (data.length === 0) { 298 | return { 299 | minMove : 1, 300 | precision: 1, 301 | }; 302 | }; 303 | 304 | const randomRow = data[Math.floor(Math.random() * data.length)]; 305 | const sampleValue = randomRow.close; 306 | return getPrecision(sampleValue); 307 | }; 308 | 309 | useEffect(() => { 310 | const handleResize = () => setWidth(window.innerWidth); 311 | window.addEventListener("resize", handleResize); 312 | return () => window.removeEventListener("resize", handleResize); 313 | }, []); 314 | 315 | useEffect(() => { 316 | if (!chartRef.current) return; 317 | 318 | const handleResize = () => { 319 | chart.applyOptions({ width: chartRef.current?.clientWidth }); 320 | }; 321 | 322 | const chart = createChart(chartRef.current, { 323 | width: width, 324 | height: 500, 325 | autoSize: true, 326 | timeScale: { 327 | timeVisible: true, 328 | secondsVisible: true, 329 | minBarSpacing: 0, 330 | }, 331 | }); 332 | chart.timeScale().fitContent(); 333 | createTooltip() 334 | 335 | chartApiRef.current = chart; 336 | 337 | const precisionInfo = getRandomPrecisionFromData(data) 338 | 339 | const candleSeries = chart.addSeries(CandlestickSeries, { 340 | upColor: "#4caf50", 341 | downColor: "#f44336", 342 | borderVisible: false, 343 | wickUpColor: "#4caf50", 344 | wickDownColor: "#f44336", 345 | priceLineVisible: false, 346 | lastValueVisible: false, 347 | priceFormat: { 348 | type: "price", 349 | precision: precisionInfo.precision, 350 | minMove: precisionInfo.minMove, 351 | }, 352 | }); 353 | candleSeries.setData(data); 354 | 355 | const drawLine = ( 356 | data: { time: UTCTimestamp; value: number }[], 357 | color = "blue", 358 | dashed = false 359 | ) => { 360 | const series = chart.addSeries(LineSeries, { 361 | color, 362 | lineWidth: 4, 363 | lineStyle: dashed ? 2 : 0, // 0 solid, 1 dotted, 2 dashed 364 | lastValueVisible: false, 365 | priceLineVisible: false, 366 | }); 367 | series.setData(data); 368 | }; 369 | 370 | tradeLines.forEach(({ data, color, dashed }) => { 371 | drawLine(data, color, dashed); 372 | }); 373 | 374 | createSeriesMarkers(candleSeries, annotations); 375 | 376 | chart.subscribeCrosshairMove(param => { 377 | // Hide if we're outside of chart 378 | if (!param || !param.time || !param.point || !param.seriesData) { 379 | hideTooltip(); 380 | return; 381 | } 382 | if (param.hoveredObjectId) { 383 | const matchingTrade = annotations.find(trade => trade.id === param.hoveredObjectId); 384 | 385 | if (matchingTrade) { 386 | showTradeTooltip(matchingTrade, lastMousePos.x, lastMousePos.y); 387 | } else { 388 | hideTooltip(); 389 | } 390 | }else hideTooltip(); 391 | 392 | }); 393 | 394 | chart.subscribeClick(param => { 395 | if (!param || !param.time) return; 396 | if (param.hoveredObjectId) { 397 | const clickedTrade = annotations.find(trade => trade.id === param.hoveredObjectId); 398 | if (clickedTrade) { 399 | zoomAroundTrade(chart, data, clickedTrade); 400 | } 401 | } 402 | }); 403 | 404 | chart.subscribeDblClick(param => { 405 | if (!param) return; 406 | chart.timeScale().fitContent(); 407 | }); 408 | 409 | window.addEventListener("resize", handleResize); 410 | 411 | return () => { 412 | window.removeEventListener("resize", handleResize); 413 | 414 | chart.remove(); 415 | }; 416 | }, [data, tradeLines]); 417 | 418 | function isProbablyUrl(path: string): boolean { 419 | return path.startsWith("http") || path.startsWith("/") || path.endsWith(".csv"); 420 | } 421 | 422 | useEffect(() => { 423 | if (ohlcFile) { 424 | if (isProbablyUrl(ohlcFile)) { 425 | fetch(ohlcFile) 426 | .then((res) => res.text()) 427 | .then((text) => parseOhlc(text)); 428 | } else { 429 | parseOhlc(ohlcFile); 430 | } 431 | } 432 | 433 | if (tradesFile) { 434 | if (isProbablyUrl(tradesFile)) { 435 | fetch(tradesFile) 436 | .then((res) => res.text()) 437 | .then((text) => parseTrades(text)); 438 | } else { 439 | parseTrades(tradesFile); 440 | } 441 | } 442 | }, []); 443 | 444 | return ( 445 | <> 446 |
447 | 456 | 457 | 466 | 467 |
479 |
484 | 485 | ); 486 | }; 487 | 488 | export default CandlestickChart; 489 | -------------------------------------------------------------------------------- /public/ohlc.csv: -------------------------------------------------------------------------------- 1 | ,Open,High,Low,Close,Volume 2 | 2004-08-19,100.0,104.06,95.96,100.34,22351900 3 | 2004-08-20,101.01,109.08,100.5,108.31,11428600 4 | 2004-08-23,110.75,113.48,109.05,109.4,9137200 5 | 2004-08-24,111.24,111.6,103.57,104.87,7631300 6 | 2004-08-25,104.96,108.0,103.88,106.0,4598900 7 | 2004-08-26,104.95,107.95,104.66,107.91,3551000 8 | 2004-08-27,108.1,108.62,105.69,106.15,3109000 9 | 2004-08-30,105.28,105.49,102.01,102.01,2601000 10 | 2004-08-31,102.3,103.71,102.16,102.37,2461400 11 | 2004-09-01,102.7,102.97,99.67,100.25,4573700 12 | 2004-09-02,99.19,102.37,98.94,101.51,7566900 13 | 2004-09-03,100.95,101.74,99.32,100.01,2578800 14 | 2004-09-07,101.01,102.0,99.61,101.58,2926700 15 | 2004-09-08,100.74,103.03,100.5,102.3,2495300 16 | 2004-09-09,102.53,102.71,101.0,102.31,2032900 17 | 2004-09-10,101.6,106.56,101.3,105.33,4353800 18 | 2004-09-13,106.63,108.41,106.46,107.5,3926000 19 | 2004-09-14,107.45,112.0,106.79,111.49,5419900 20 | 2004-09-15,110.56,114.23,110.2,112.0,5361900 21 | 2004-09-16,112.34,115.8,111.65,113.97,4637800 22 | 2004-09-17,114.42,117.49,113.55,117.49,4741000 23 | 2004-09-20,116.95,121.6,116.77,119.36,5319700 24 | 2004-09-21,119.81,120.42,117.51,117.84,3618000 25 | 2004-09-22,117.4,119.67,116.81,118.38,3794400 26 | 2004-09-23,118.84,122.63,117.02,120.82,4272100 27 | 2004-09-24,120.94,124.1,119.76,119.83,4566300 28 | 2004-09-27,119.56,120.88,117.8,118.26,3536600 29 | 2004-09-28,121.3,127.4,120.21,126.86,8473000 30 | 2004-09-29,126.7,135.02,126.23,131.08,15273500 31 | 2004-09-30,129.9,132.3,129.0,129.6,6885900 32 | 2004-10-01,130.8,134.24,128.9,132.58,7570000 33 | 2004-10-04,135.25,136.87,134.03,135.06,6517900 34 | 2004-10-05,134.66,138.53,132.24,138.37,7494100 35 | 2004-10-06,137.55,138.45,136.0,137.08,6697400 36 | 2004-10-07,136.92,139.88,136.55,138.85,7064600 37 | 2004-10-08,138.72,139.68,137.02,137.73,5540300 38 | 2004-10-11,137.0,138.86,133.85,135.26,5241300 39 | 2004-10-12,134.44,137.61,133.4,137.4,5838600 40 | 2004-10-13,143.32,143.55,140.08,140.9,9893000 41 | 2004-10-14,141.01,142.38,138.56,142.0,5226300 42 | 2004-10-15,144.93,145.5,141.95,144.11,6604000 43 | 2004-10-18,143.2,149.2,141.21,149.16,7025200 44 | 2004-10-19,150.5,152.4,147.35,147.94,9064000 45 | 2004-10-20,148.03,148.99,139.6,140.49,11372700 46 | 2004-10-21,144.4,150.13,141.62,149.38,14589500 47 | 2004-10-22,170.54,180.17,164.08,172.43,36891900 48 | 2004-10-25,176.4,194.43,172.55,187.4,32764200 49 | 2004-10-26,186.34,192.64,180.0,181.8,22307100 50 | 2004-10-27,182.72,189.52,181.77,185.97,13356500 51 | 2004-10-28,186.68,194.39,185.6,193.3,14846800 52 | 2004-10-29,198.89,199.95,190.6,190.64,21162500 53 | 2004-11-01,193.55,197.67,191.27,196.03,12224900 54 | 2004-11-02,198.78,199.25,193.34,194.87,11346300 55 | 2004-11-03,198.18,201.6,190.75,191.67,13888700 56 | 2004-11-04,188.44,190.4,183.35,184.7,14409600 57 | 2004-11-05,181.98,182.3,168.55,169.35,19833100 58 | 2004-11-08,170.93,175.44,169.4,172.55,11191800 59 | 2004-11-09,174.1,175.2,165.27,168.7,11064200 60 | 2004-11-10,170.67,172.52,166.33,167.86,10644000 61 | 2004-11-11,169.13,183.75,167.57,183.02,14985500 62 | 2004-11-12,185.23,189.8,177.4,182.0,16746100 63 | 2004-11-15,180.45,188.32,178.75,184.87,11901500 64 | 2004-11-16,177.5,179.47,170.83,172.54,20917400 65 | 2004-11-17,169.02,177.5,169.0,172.5,18132900 66 | 2004-11-18,170.29,174.42,165.73,167.54,16629600 67 | 2004-11-19,169.1,169.98,166.52,169.4,8769300 68 | 2004-11-22,164.47,169.5,161.31,165.1,12368200 69 | 2004-11-23,167.97,170.83,166.5,167.52,12413300 70 | 2004-11-24,174.82,177.21,172.51,174.76,15281000 71 | 2004-11-26,175.8,180.03,175.32,179.39,6480100 72 | 2004-11-29,180.36,182.95,177.51,181.05,10666600 73 | 2004-11-30,180.71,183.0,180.25,181.98,7700000 74 | 2004-12-01,181.95,182.5,179.55,179.96,7864100 75 | 2004-12-02,179.9,181.51,178.55,179.4,6260900 76 | 2004-12-03,179.95,181.06,177.6,180.4,5869200 77 | 2004-12-06,179.13,180.7,176.02,176.29,6254000 78 | 2004-12-07,176.0,176.2,170.55,171.43,6870900 79 | 2004-12-08,170.35,173.68,168.73,169.98,7541800 80 | 2004-12-09,170.25,173.5,168.47,173.43,7654000 81 | 2004-12-10,173.43,174.88,171.29,171.65,4317200 82 | 2004-12-13,172.17,173.18,169.45,170.45,4818600 83 | 2004-12-14,171.0,178.82,169.6,178.69,11088400 84 | 2004-12-15,177.99,180.69,176.66,179.78,11471000 85 | 2004-12-16,176.95,180.49,175.95,176.47,8572800 86 | 2004-12-17,176.76,180.5,176.55,180.08,7386200 87 | 2004-12-20,182.0,188.46,181.87,185.02,9834500 88 | 2004-12-21,186.31,187.88,183.4,183.75,5516300 89 | 2004-12-22,183.9,186.85,183.01,186.3,3907000 90 | 2004-12-23,187.45,188.6,186.0,187.9,3614600 91 | 2004-12-27,189.15,193.3,189.1,191.91,6104100 92 | 2004-12-28,192.11,193.55,191.01,192.76,4145800 93 | 2004-12-29,191.78,193.52,191.78,192.9,2678100 94 | 2004-12-30,192.97,198.23,191.85,197.6,5904300 95 | 2004-12-31,199.23,199.88,192.56,192.79,7668500 96 | 2005-01-03,197.4,203.64,195.46,202.71,15844200 97 | 2005-01-04,201.4,202.93,193.48,194.5,13755900 98 | 2005-01-05,193.45,196.9,192.23,193.51,8236600 99 | 2005-01-06,195.08,195.9,187.72,188.55,10387100 100 | 2005-01-07,190.64,194.25,188.78,193.85,9662900 101 | 2005-01-10,194.5,198.1,191.83,195.06,7539600 102 | 2005-01-11,195.62,197.71,193.18,193.54,6958700 103 | 2005-01-12,194.33,195.93,190.5,195.38,8177800 104 | 2005-01-13,195.38,197.39,194.05,195.33,6849400 105 | 2005-01-14,196.0,200.01,194.13,199.97,9640300 106 | 2005-01-18,200.97,205.02,198.66,203.9,13172600 107 | 2005-01-19,204.65,205.3,196.71,197.3,11257700 108 | 2005-01-20,192.5,196.25,192.0,193.92,9001600 109 | 2005-01-21,194.54,195.36,188.12,188.28,9258400 110 | 2005-01-24,188.69,189.33,180.32,180.72,14022700 111 | 2005-01-25,181.94,182.24,176.29,177.12,10659200 112 | 2005-01-26,179.27,189.41,179.15,189.24,12307900 113 | 2005-01-27,188.76,188.86,185.2,188.08,6627400 114 | 2005-01-28,190.02,194.7,186.34,190.34,12208200 115 | 2005-01-31,193.69,196.36,191.72,195.62,9596700 116 | 2005-02-01,194.38,196.66,190.63,191.9,18839000 117 | 2005-02-02,215.55,216.8,203.66,205.96,32799300 118 | 2005-02-03,205.99,213.37,205.81,210.86,12988100 119 | 2005-02-04,206.47,207.75,202.6,204.36,14819300 120 | 2005-02-07,205.26,206.4,195.51,196.03,12960400 121 | 2005-02-08,196.96,200.02,194.53,198.64,11480000 122 | 2005-02-09,200.76,201.6,189.46,191.58,17171500 123 | 2005-02-10,191.97,192.21,185.25,187.98,18982700 124 | 2005-02-11,186.66,192.32,186.07,187.4,13116000 125 | 2005-02-14,182.85,193.08,181.0,192.99,38562200 126 | 2005-02-15,193.6,199.84,193.08,195.23,25782800 127 | 2005-02-16,194.7,199.33,194.3,198.41,16532300 128 | 2005-02-17,197.83,199.75,196.81,197.9,10414400 129 | 2005-02-18,198.51,198.84,196.66,197.95,8485900 130 | 2005-02-22,196.5,198.9,190.39,191.37,13483700 131 | 2005-02-23,193.3,194.48,188.66,193.95,15586000 132 | 2005-02-24,183.37,189.85,182.23,188.89,25814300 133 | 2005-02-25,189.15,189.92,185.51,185.87,9973500 134 | 2005-02-28,186.0,189.87,185.85,187.99,7818400 135 | 2005-03-01,189.29,189.75,182.0,186.06,9311200 136 | 2005-03-02,185.95,187.67,184.36,185.18,7285500 137 | 2005-03-03,186.13,187.75,184.31,187.01,7608600 138 | 2005-03-04,186.7,187.25,185.07,185.9,6774100 139 | 2005-03-07,187.78,189.6,187.03,188.81,8667400 140 | 2005-03-08,189.1,189.85,184.97,185.2,8046100 141 | 2005-03-09,184.21,184.65,180.16,181.35,11360400 142 | 2005-03-10,181.01,181.2,177.4,179.98,10960500 143 | 2005-03-11,180.44,180.95,177.15,177.8,8028300 144 | 2005-03-14,178.33,178.4,172.57,174.99,11146600 145 | 2005-03-15,175.3,180.0,174.21,178.61,10422100 146 | 2005-03-16,176.7,178.61,175.01,175.6,7106300 147 | 2005-03-17,177.13,179.64,175.8,179.29,8260600 148 | 2005-03-18,178.81,180.4,178.31,180.04,7090000 149 | 2005-03-21,179.27,182.17,177.25,180.88,7483700 150 | 2005-03-22,181.18,181.94,177.85,178.6,5631700 151 | 2005-03-23,177.97,180.24,177.97,178.98,4845000 152 | 2005-03-24,180.7,180.86,179.2,179.25,3705200 153 | 2005-03-28,181.68,184.8,180.95,181.42,8738000 154 | 2005-03-29,181.05,183.28,178.07,179.57,6473000 155 | 2005-03-30,180.64,181.45,179.6,180.45,6236100 156 | 2005-03-31,177.95,181.39,177.64,180.51,6768600 157 | 2005-04-01,181.76,182.95,179.99,180.04,6182000 158 | 2005-04-04,179.95,185.32,179.84,185.29,8076400 159 | 2005-04-05,187.73,190.26,187.57,188.57,8736700 160 | 2005-04-06,189.24,189.65,187.58,189.22,5252600 161 | 2005-04-07,188.78,194.62,188.64,193.76,9692200 162 | 2005-04-08,193.69,195.1,191.45,192.05,5116600 163 | 2005-04-11,193.09,194.8,192.32,193.23,5410500 164 | 2005-04-12,193.0,194.42,189.41,193.96,7319600 165 | 2005-04-13,193.47,194.32,189.73,192.93,6555800 166 | 2005-04-14,193.27,194.36,190.1,191.45,6152700 167 | 2005-04-15,190.1,190.34,184.66,185.0,11577400 168 | 2005-04-18,184.58,187.88,183.49,186.97,6550300 169 | 2005-04-19,189.33,192.0,188.03,191.4,8430000 170 | 2005-04-20,198.58,200.5,195.91,198.1,15451500 171 | 2005-04-21,200.42,205.0,199.32,204.22,17751900 172 | 2005-04-22,222.9,224.0,214.26,215.81,33205100 173 | 2005-04-25,217.82,224.74,217.52,223.53,19840000 174 | 2005-04-26,220.22,222.0,218.29,218.75,17272000 175 | 2005-04-27,217.99,220.85,216.74,219.78,10264800 176 | 2005-04-28,219.5,222.08,217.71,219.45,8682800 177 | 2005-04-29,221.91,222.25,217.82,220.0,9170200 178 | 2005-05-02,222.05,223.7,220.21,222.29,9767400 179 | 2005-05-03,221.85,228.15,221.32,226.19,17780200 180 | 2005-05-04,227.23,229.88,227.0,228.5,12083500 181 | 2005-05-05,228.62,228.62,225.88,226.98,7509600 182 | 2005-05-06,228.4,229.25,226.47,228.02,6763900 183 | 2005-05-09,228.0,228.5,225.43,226.02,5536800 184 | 2005-05-10,225.47,227.8,224.72,227.8,6345800 185 | 2005-05-11,228.97,231.98,227.93,231.29,11478800 186 | 2005-05-12,230.81,232.23,228.2,228.72,8948200 187 | 2005-05-13,229.18,231.09,227.32,229.24,7415500 188 | 2005-05-16,229.68,231.62,228.57,231.05,5681400 189 | 2005-05-17,230.56,233.45,230.2,233.13,7808900 190 | 2005-05-18,233.61,239.97,233.52,239.16,12312000 191 | 2005-05-19,240.34,241.17,238.27,239.18,9716500 192 | 2005-05-20,241.21,241.67,239.65,241.61,8163500 193 | 2005-05-23,243.16,258.1,242.71,255.45,21388300 194 | 2005-05-24,256.96,265.44,253.5,256.0,29043100 195 | 2005-05-25,252.73,260.98,250.63,260.81,18057900 196 | 2005-05-26,260.96,263.76,258.3,259.2,13546600 197 | 2005-05-27,260.46,266.05,259.25,266.0,12184100 198 | 2005-05-31,269.43,278.4,269.37,277.27,22236800 199 | 2005-06-01,283.2,292.89,282.02,288.0,35191700 200 | 2005-06-02,288.73,289.78,284.6,287.9,17974100 201 | 2005-06-03,286.79,289.3,277.41,280.26,18782300 202 | 2005-06-06,282.39,293.75,281.83,290.94,22525900 203 | 2005-06-07,297.1,299.59,290.3,293.12,24323000 204 | 2005-06-08,292.85,293.19,278.0,279.56,25700900 205 | 2005-06-09,284.72,288.5,280.56,286.31,16441100 206 | 2005-06-10,286.99,287.28,280.02,282.5,12696600 207 | 2005-06-13,279.82,284.19,276.52,282.75,12803200 208 | 2005-06-14,278.59,281.24,277.75,278.35,10091900 209 | 2005-06-15,275.0,277.3,267.43,274.8,20883100 210 | 2005-06-16,274.26,278.3,273.07,277.44,12462400 211 | 2005-06-17,279.0,280.3,275.9,280.3,10434400 212 | 2005-06-20,276.09,287.67,271.73,286.7,21024700 213 | 2005-06-21,288.07,290.3,284.97,287.84,15132300 214 | 2005-06-22,289.67,292.32,288.67,289.3,10474000 215 | 2005-06-23,288.0,294.81,286.5,289.71,14056400 216 | 2005-06-24,290.9,298.0,289.58,297.25,17771200 217 | 2005-06-27,298.9,304.47,293.86,304.1,17802900 218 | 2005-06-28,306.28,309.25,302.0,302.0,19036500 219 | 2005-06-29,302.5,304.38,292.15,292.72,18298700 220 | 2005-06-30,294.34,298.93,291.04,294.15,15094400 221 | 2005-07-01,295.04,296.24,289.22,291.25,9227600 222 | 2005-07-05,292.1,295.98,290.23,295.71,7494000 223 | 2005-07-06,297.3,297.6,291.38,291.52,8000300 224 | 2005-07-07,289.39,295.8,288.51,295.54,10672100 225 | 2005-07-08,296.25,297.5,294.05,296.23,7457600 226 | 2005-07-11,296.4,296.6,291.02,293.35,8390300 227 | 2005-07-12,293.39,294.4,290.93,291.78,5864900 228 | 2005-07-13,292.51,299.24,292.1,298.86,11437900 229 | 2005-07-14,305.34,306.75,300.07,300.89,10667700 230 | 2005-07-15,301.24,303.4,299.78,301.19,8438400 231 | 2005-07-18,300.0,301.9,297.75,299.54,6207800 232 | 2005-07-19,302.1,310.35,301.8,309.9,12621400 233 | 2005-07-20,305.57,312.61,301.8,312.0,14310400 234 | 2005-07-21,314.05,317.8,311.21,313.94,19789400 235 | 2005-07-22,306.37,309.25,296.33,302.4,23386800 236 | 2005-07-25,302.39,303.29,294.96,295.85,9658800 237 | 2005-07-26,295.01,298.0,292.09,296.09,9816900 238 | 2005-07-27,297.74,298.23,292.4,296.93,7217900 239 | 2005-07-28,297.41,297.41,293.28,293.5,5925600 240 | 2005-07-29,292.14,292.84,286.99,287.76,8363300 241 | 2005-08-01,288.12,292.5,288.1,291.61,5662400 242 | 2005-08-02,291.6,299.52,291.12,299.19,7290200 243 | 2005-08-03,298.0,299.72,295.6,297.3,5930600 244 | 2005-08-04,295.55,299.0,295.25,297.73,5236500 245 | 2005-08-05,297.5,298.51,291.31,292.35,5939700 246 | 2005-08-08,293.6,295.65,290.49,291.25,4481800 247 | 2005-08-09,291.96,292.68,288.51,291.57,5779300 248 | 2005-08-10,291.3,292.33,284.88,285.68,6879000 249 | 2005-08-11,285.89,286.58,280.62,284.05,7514900 250 | 2005-08-12,283.36,290.2,281.64,289.72,6585900 251 | 2005-08-15,289.8,292.77,283.77,284.0,8174700 252 | 2005-08-16,284.88,287.79,283.34,285.65,7109200 253 | 2005-08-17,285.51,286.57,284.0,285.1,3883300 254 | 2005-08-18,275.91,280.5,275.0,279.99,11872800 255 | 2005-08-19,280.99,281.45,279.62,280.0,5542900 256 | 2005-08-22,281.24,281.47,273.35,274.01,6813000 257 | 2005-08-23,276.16,279.74,274.12,279.58,5821700 258 | 2005-08-24,277.57,284.75,276.45,282.57,8593100 259 | 2005-08-25,282.55,284.0,279.97,282.59,4376600 260 | 2005-08-26,283.48,285.02,282.66,283.58,3755300 261 | 2005-08-29,282.24,289.12,282.24,288.45,5903000 262 | 2005-08-30,287.39,289.51,285.88,287.27,4792000 263 | 2005-08-31,288.23,288.5,284.36,286.0,5034000 264 | 2005-09-01,285.91,287.5,285.0,286.25,2742100 265 | 2005-09-02,286.51,289.99,286.44,288.45,3434500 266 | 2005-09-06,289.0,289.39,286.8,287.11,4212300 267 | 2005-09-07,285.89,295.5,285.28,294.87,7499500 268 | 2005-09-08,294.83,299.28,293.36,295.39,6613300 269 | 2005-09-09,297.28,299.1,296.56,299.09,4390500 270 | 2005-09-12,301.75,311.42,301.0,309.74,10386500 271 | 2005-09-13,309.0,315.53,306.17,311.68,10299900 272 | 2005-09-14,308.73,313.28,300.3,303.0,11275800 273 | 2005-09-15,299.52,306.75,297.91,302.62,15466200 274 | 2005-09-16,304.02,304.5,299.87,300.2,7579800 275 | 2005-09-19,301.0,306.0,300.71,303.79,5761900 276 | 2005-09-20,306.15,311.3,305.23,307.91,9351000 277 | 2005-09-21,308.41,313.76,305.96,311.9,10119700 278 | 2005-09-22,311.5,319.22,310.17,311.37,13006400 279 | 2005-09-23,313.0,317.21,312.59,315.36,8483800 280 | 2005-09-26,319.5,320.95,312.56,314.28,9894400 281 | 2005-09-27,314.95,318.41,313.38,313.94,6873100 282 | 2005-09-28,314.22,315.1,305.6,306.0,7997400 283 | 2005-09-29,306.68,310.72,306.08,309.62,5613800 284 | 2005-09-30,314.22,317.5,312.29,316.46,9151300 285 | 2005-10-03,313.63,320.11,312.79,318.68,9160300 286 | 2005-10-04,319.95,321.28,310.74,311.0,9144300 287 | 2005-10-05,312.69,314.9,308.0,310.71,8328400 288 | 2005-10-06,314.14,314.48,310.09,312.75,7993800 289 | 2005-10-07,314.79,316.67,310.54,312.99,6770300 290 | 2005-10-10,313.31,314.82,309.15,310.65,5572200 291 | 2005-10-11,310.61,312.65,304.86,306.1,8542600 292 | 2005-10-12,305.2,307.19,299.0,300.97,9306200 293 | 2005-10-13,302.0,302.0,290.68,297.44,10567700 294 | 2005-10-14,299.9,300.23,292.54,296.14,8519100 295 | 2005-10-17,297.5,305.2,294.56,305.0,7566700 296 | 2005-10-18,304.96,307.96,302.74,303.28,7077800 297 | 2005-10-19,304.0,309.87,303.96,308.7,7010700 298 | 2005-10-20,309.99,311.13,301.21,303.2,13911700 299 | 2005-10-21,345.8,346.43,333.0,339.9,22892400 300 | 2005-10-24,343.37,349.3,342.19,348.65,9431700 301 | 2005-10-25,345.78,347.4,342.86,346.91,6878300 302 | 2005-10-26,346.28,356.0,346.19,355.44,8907500 303 | 2005-10-27,356.6,357.09,351.68,353.06,5134400 304 | 2005-10-28,355.27,358.95,355.02,358.17,5903500 305 | 2005-10-31,360.24,374.75,359.51,372.14,14342900 306 | 2005-11-01,371.86,383.9,369.01,379.38,16356100 307 | 2005-11-02,381.7,385.0,377.17,379.68,10565400 308 | 2005-11-03,382.41,386.58,381.38,385.95,7448400 309 | 2005-11-04,389.98,391.79,385.45,390.43,8824900 310 | 2005-11-07,395.1,397.47,392.15,395.03,9591500 311 | 2005-11-08,394.25,395.59,388.58,389.9,7897500 312 | 2005-11-09,386.67,388.29,378.03,379.15,10466900 313 | 2005-11-10,378.36,391.35,377.43,391.1,9128700 314 | 2005-11-11,395.12,396.9,388.85,390.4,7063900 315 | 2005-11-14,392.12,398.22,391.53,396.97,7807900 316 | 2005-11-15,394.38,397.0,390.95,392.8,8624900 317 | 2005-11-16,396.2,398.85,394.11,398.15,8695200 318 | 2005-11-17,401.8,403.81,399.53,403.45,9212200 319 | 2005-11-18,403.49,404.5,399.85,400.21,7025700 320 | 2005-11-21,399.17,409.98,393.49,409.36,10335100 321 | 2005-11-22,408.65,417.31,406.23,416.47,9596000 322 | 2005-11-23,417.04,424.72,415.78,422.86,10085000 323 | 2005-11-25,425.78,428.75,425.3,428.62,4840100 324 | 2005-11-28,429.82,431.24,422.44,423.48,11008400 325 | 2005-11-29,424.46,426.4,402.14,403.54,21495800 326 | 2005-11-30,404.26,408.45,395.56,404.91,15596600 327 | 2005-12-01,409.2,415.44,408.29,414.09,9744900 328 | 2005-12-02,416.94,419.53,413.86,417.7,7543500 329 | 2005-12-05,417.0,417.5,404.28,405.85,10289400 330 | 2005-12-06,408.7,416.41,401.7,404.54,15114700 331 | 2005-12-07,406.16,406.7,399.01,404.22,11665900 332 | 2005-12-08,405.3,410.65,402.64,410.65,8910100 333 | 2005-12-09,415.0,415.78,408.56,409.2,7643400 334 | 2005-12-12,414.63,415.21,409.95,412.61,6950100 335 | 2005-12-13,412.5,418.0,411.64,417.49,8157000 336 | 2005-12-14,417.04,419.73,415.49,418.96,6630400 337 | 2005-12-15,419.11,423.14,416.5,422.55,6045800 338 | 2005-12-16,425.34,432.5,422.75,430.15,16330500 339 | 2005-12-19,432.2,446.21,420.11,424.6,21936800 340 | 2005-12-20,427.86,432.2,424.67,429.74,10084700 341 | 2005-12-21,433.55,436.86,420.71,426.33,11221900 342 | 2005-12-22,431.77,432.86,425.93,432.04,7546600 343 | 2005-12-23,432.15,432.5,428.78,430.93,4595100 344 | 2005-12-27,431.86,431.86,422.76,424.64,6702800 345 | 2005-12-28,424.34,427.78,421.26,426.69,7117900 346 | 2005-12-29,427.98,428.73,419.17,420.15,6945800 347 | 2005-12-30,417.27,418.21,413.74,414.86,7587100 348 | 2006-01-03,422.52,435.67,418.22,435.23,13121200 349 | 2006-01-04,443.9,448.96,439.75,445.24,15286400 350 | 2006-01-05,446.0,451.55,441.5,451.24,10808300 351 | 2006-01-06,456.87,470.5,453.24,465.66,17756900 352 | 2006-01-09,466.41,473.4,460.94,466.9,12791900 353 | 2006-01-10,464.42,470.25,462.04,469.76,9097100 354 | 2006-01-11,471.27,475.11,469.18,471.63,9007400 355 | 2006-01-12,473.72,474.99,461.5,463.63,10125300 356 | 2006-01-13,464.31,466.89,461.61,466.25,7656600 357 | 2006-01-17,463.06,469.9,462.53,467.11,8270300 358 | 2006-01-18,447.3,457.36,443.25,444.91,20485700 359 | 2006-01-19,451.17,453.49,433.0,436.45,14537300 360 | 2006-01-20,438.7,440.03,394.74,399.46,41116700 361 | 2006-01-23,407.38,428.39,405.73,427.5,22741400 362 | 2006-01-24,436.03,444.95,434.48,443.03,15464600 363 | 2006-01-25,451.26,454.23,429.22,433.0,18739800 364 | 2006-01-26,439.54,439.99,423.56,434.27,12926100 365 | 2006-01-27,435.0,438.22,428.98,433.49,8452200 366 | 2006-01-30,429.23,433.28,425.0,426.82,8588900 367 | 2006-01-31,430.57,439.6,423.97,432.66,22066000 368 | 2006-02-01,389.03,402.0,387.52,401.78,27122500 369 | 2006-02-02,403.82,406.5,395.98,396.04,11807700 370 | 2006-02-03,393.62,393.9,372.57,381.55,18281800 371 | 2006-02-06,385.31,389.9,379.56,385.1,8940400 372 | 2006-02-07,382.99,383.7,363.35,367.92,16630200 373 | 2006-02-08,368.48,370.69,354.67,369.08,20804100 374 | 2006-02-09,371.2,374.4,356.11,358.77,11912400 375 | 2006-02-10,361.95,364.5,353.14,362.61,15223500 376 | 2006-02-13,346.64,350.6,341.89,345.7,19717800 377 | 2006-02-14,345.33,351.69,342.4,343.32,14654000 378 | 2006-02-15,341.27,346.0,337.83,342.38,12947000 379 | 2006-02-16,345.67,367.0,344.49,366.46,21315500 380 | 2006-02-17,369.86,372.14,363.62,368.75,14320200 381 | 2006-02-21,366.44,373.54,365.11,366.59,8686000 382 | 2006-02-22,367.15,368.95,363.86,365.49,6476200 383 | 2006-02-23,365.61,381.24,365.39,378.07,12551600 384 | 2006-02-24,377.3,380.07,373.49,377.4,6484300 385 | 2006-02-27,381.27,391.7,380.28,390.38,10212200 386 | 2006-02-28,393.2,397.54,338.51,362.62,39437600 387 | 2006-03-01,368.56,369.45,361.3,364.8,12061200 388 | 2006-03-02,364.28,381.1,362.2,376.45,18330300 389 | 2006-03-03,384.3,387.24,375.76,378.18,11962000 390 | 2006-03-06,380.91,383.4,367.14,368.1,8939700 391 | 2006-03-07,365.02,368.45,358.15,364.45,10378800 392 | 2006-03-08,353.93,360.03,350.54,353.88,11745600 393 | 2006-03-09,355.39,358.53,341.5,343.0,13910400 394 | 2006-03-10,343.5,344.5,331.55,337.5,19325600 395 | 2006-03-13,340.93,346.1,335.45,337.06,13642400 396 | 2006-03-14,337.14,352.37,332.62,351.16,18450700 397 | 2006-03-15,350.77,352.3,340.53,344.5,12768800 398 | 2006-03-16,348.61,348.75,337.9,338.77,10016700 399 | 2006-03-17,338.8,341.78,334.93,339.79,8551700 400 | 2006-03-20,342.34,350.09,341.54,348.19,10407600 401 | 2006-03-21,350.01,351.66,339.08,339.92,9831100 402 | 2006-03-22,339.75,344.1,337.5,340.22,7596000 403 | 2006-03-23,342.35,345.75,340.2,341.89,7434700 404 | 2006-03-24,368.62,370.09,362.51,365.8,15180600 405 | 2006-03-27,367.09,371.71,365.0,369.69,7023700 406 | 2006-03-28,371.71,377.86,371.17,377.2,8945800 407 | 2006-03-29,379.94,399.0,379.51,394.98,19027500 408 | 2006-03-30,389.19,393.5,383.61,388.44,14711700 409 | 2006-03-31,388.74,391.87,384.03,390.0,36521400 410 | 2006-04-03,389.53,392.47,387.93,389.7,8122700 411 | 2006-04-04,389.9,404.9,388.14,404.34,15715700 412 | 2006-04-05,408.2,414.57,402.82,407.99,13410500 413 | 2006-04-06,406.49,413.89,405.43,411.18,8598500 414 | 2006-04-07,412.41,412.85,404.02,406.16,7025900 415 | 2006-04-10,407.08,417.17,405.25,416.38,9320100 416 | 2006-04-11,416.42,419.1,406.22,409.66,11107200 417 | 2006-04-12,409.0,411.33,405.19,408.95,6017000 418 | 2006-04-13,408.63,409.76,400.5,402.16,6552900 419 | 2006-04-17,403.45,412.5,400.84,406.82,8259500 420 | 2006-04-18,407.93,409.83,401.5,404.24,8137600 421 | 2006-04-19,412.57,413.64,406.73,410.5,6781700 422 | 2006-04-20,411.01,416.0,408.2,415.0,12271500 423 | 2006-04-21,448.9,450.72,436.17,437.1,22551300 424 | 2006-04-24,439.4,444.7,436.52,440.5,8836400 425 | 2006-04-25,439.63,441.04,426.0,427.16,9569000 426 | 2006-04-26,427.74,430.04,423.53,425.97,7277800 427 | 2006-04-27,422.91,426.91,419.39,420.03,8337900 428 | 2006-04-28,418.63,425.73,416.3,417.94,7421300 429 | 2006-05-01,418.47,419.44,398.55,398.9,10361200 430 | 2006-05-02,401.08,402.49,388.4,394.8,13104300 431 | 2006-05-03,396.35,401.5,390.88,394.17,8072200 432 | 2006-05-04,395.03,398.87,392.21,394.75,4652000 433 | 2006-05-05,397.6,400.68,391.78,394.3,6065000 434 | 2006-05-08,395.11,397.12,390.05,394.78,5118600 435 | 2006-05-09,395.7,409.0,393.75,408.8,9140600 436 | 2006-05-10,408.31,411.71,401.86,402.98,6187200 437 | 2006-05-11,403.42,404.71,384.98,387.0,8892800 438 | 2006-05-12,383.54,384.87,373.55,374.13,10087600 439 | 2006-05-15,375.93,380.15,368.25,376.2,8590100 440 | 2006-05-16,375.99,376.86,369.89,371.3,6491100 441 | 2006-05-17,370.61,379.84,370.22,374.5,10643800 442 | 2006-05-18,378.78,381.81,370.71,370.99,5835000 443 | 2006-05-19,373.28,374.5,360.57,370.02,11398200 444 | 2006-05-22,367.85,373.03,365.25,370.95,8604400 445 | 2006-05-23,374.21,383.88,373.56,375.58,8983000 446 | 2006-05-24,377.35,383.44,371.61,381.25,9553800 447 | 2006-05-25,379.08,383.0,372.31,382.99,8194600 448 | 2006-05-26,384.55,385.88,380.03,381.35,3667000 449 | 2006-05-30,378.28,381.0,371.45,371.94,4316000 450 | 2006-05-31,373.8,378.25,366.78,371.82,7981300 451 | 2006-06-01,373.54,382.99,371.6,382.62,6278000 452 | 2006-06-02,386.84,387.08,377.45,379.44,6386400 453 | 2006-06-05,376.18,381.45,374.15,374.44,5558500 454 | 2006-06-06,376.58,390.0,376.3,389.99,10259800 455 | 2006-06-07,393.24,394.86,386.5,386.51,8911300 456 | 2006-06-08,387.75,394.27,378.59,393.3,10359500 457 | 2006-06-09,392.19,395.43,385.35,386.57,6157500 458 | 2006-06-12,388.34,390.49,381.0,381.54,5019100 459 | 2006-06-13,380.9,387.0,378.12,386.52,7659100 460 | 2006-06-14,389.83,391.1,378.52,384.39,7772000 461 | 2006-06-15,386.62,392.25,383.0,391.0,6785700 462 | 2006-06-16,389.1,390.93,388.0,390.7,5304600 463 | 2006-06-19,390.85,394.8,386.98,388.14,7633100 464 | 2006-06-20,388.03,391.87,386.51,387.17,4039900 465 | 2006-06-21,391.06,404.0,389.75,402.13,8744400 466 | 2006-06-22,401.58,406.0,388.0,399.95,5911900 467 | 2006-06-23,402.76,409.75,400.74,404.86,5314800 468 | 2006-06-26,406.75,408.3,403.25,404.22,3551200 469 | 2006-06-27,405.71,408.0,401.01,402.32,4107100 470 | 2006-06-28,404.01,406.48,401.13,406.11,3710500 471 | 2006-06-29,407.99,418.2,405.82,417.81,6658200 472 | 2006-06-30,415.6,419.33,412.33,419.33,6258000 473 | 2006-07-03,420.04,423.77,419.45,423.2,2156700 474 | 2006-07-05,421.52,422.8,415.64,421.46,4985600 475 | 2006-07-06,423.38,425.38,421.98,423.19,3687100 476 | 2006-07-07,426.05,427.89,415.88,420.45,6041900 477 | 2006-07-10,423.44,425.23,416.38,418.2,4436400 478 | 2006-07-11,418.51,425.05,413.03,424.56,5971300 479 | 2006-07-12,422.09,422.74,416.73,417.25,4906700 480 | 2006-07-13,414.0,418.34,406.83,408.83,6924500 481 | 2006-07-14,410.33,411.49,398.61,403.5,7552100 482 | 2006-07-17,404.63,411.0,403.72,407.89,5811900 483 | 2006-07-18,409.75,410.57,397.74,403.05,8536800 484 | 2006-07-19,395.01,401.14,394.66,399.0,8518500 485 | 2006-07-20,404.28,404.44,385.66,387.12,12538700 486 | 2006-07-21,386.14,391.75,377.69,390.11,11754600 487 | 2006-07-24,392.82,393.89,381.21,390.9,8086100 488 | 2006-07-25,385.02,391.31,383.8,389.36,5761100 489 | 2006-07-26,388.2,391.91,383.0,385.5,5531900 490 | 2006-07-27,387.37,387.49,377.95,382.4,5641100 491 | 2006-07-28,382.0,389.56,381.73,388.12,4083600 492 | 2006-07-31,388.0,389.17,383.31,386.6,4595300 493 | 2006-08-01,385.11,385.77,375.51,375.51,5463200 494 | 2006-08-02,375.6,377.17,365.2,367.23,7097800 495 | 2006-08-03,364.98,377.91,363.36,375.39,6327000 496 | 2006-08-04,379.56,380.68,371.75,373.85,5095200 497 | 2006-08-07,371.5,379.73,371.15,377.95,3946900 498 | 2006-08-08,382.82,384.5,379.09,381.0,5743200 499 | 2006-08-09,382.8,384.68,376.36,376.94,4311000 500 | 2006-08-10,373.88,377.67,372.46,374.2,4261900 501 | 2006-08-11,374.4,375.28,368.0,368.5,3766500 502 | 2006-08-14,371.5,375.13,368.67,369.43,4968300 503 | 2006-08-15,374.11,381.67,372.6,380.97,6698200 504 | 2006-08-16,383.48,388.45,382.12,387.72,5853200 505 | 2006-08-17,386.39,390.0,383.92,385.8,5080200 506 | 2006-08-18,386.31,387.09,380.75,383.36,4952200 507 | 2006-08-21,378.1,379.0,375.22,377.3,4023300 508 | 2006-08-22,377.73,379.26,374.84,378.29,4164100 509 | 2006-08-23,377.64,378.27,372.66,373.43,3642300 510 | 2006-08-24,374.44,376.4,372.26,373.73,3482500 511 | 2006-08-25,373.08,375.32,372.5,373.26,2466700 512 | 2006-08-28,375.61,380.95,375.0,380.95,4164000 513 | 2006-08-29,380.78,382.32,377.2,378.95,4460000 514 | 2006-08-30,379.21,384.65,378.51,380.75,4044400 515 | 2006-08-31,381.49,382.15,378.2,378.53,2959900 516 | 2006-09-01,380.99,381.28,377.19,378.6,2672900 517 | 2006-09-05,379.87,385.4,377.44,384.36,4074300 518 | 2006-09-06,382.1,383.19,379.66,380.14,3724100 519 | 2006-09-07,379.39,381.75,377.4,378.49,3842000 520 | 2006-09-08,376.72,380.79,376.72,377.85,3083400 521 | 2006-09-11,378.26,384.69,377.77,384.09,4529200 522 | 2006-09-12,385.0,392.73,384.88,391.9,5442200 523 | 2006-09-13,395.15,406.76,395.1,406.57,9768200 524 | 2006-09-14,404.3,406.28,401.93,403.98,5366100 525 | 2006-09-15,407.48,410.05,406.74,409.88,7838200 526 | 2006-09-18,410.0,418.69,409.47,414.69,7106700 527 | 2006-09-19,415.46,415.49,392.74,403.81,14292900 528 | 2006-09-20,407.1,407.39,394.62,397.0,9147800 529 | 2006-09-21,400.3,408.45,399.86,406.85,10692100 530 | 2006-09-22,404.98,407.45,401.36,403.78,4649600 531 | 2006-09-25,405.58,409.45,402.5,403.98,5737300 532 | 2006-09-26,405.5,407.68,401.77,406.87,5289400 533 | 2006-09-27,406.3,411.22,402.37,402.92,5876700 534 | 2006-09-28,404.08,406.98,400.54,403.58,5107400 535 | 2006-09-29,405.13,405.62,401.41,401.9,3310900 536 | 2006-10-02,401.9,406.0,400.8,401.44,3651900 537 | 2006-10-03,401.29,406.46,398.19,404.04,5464700 538 | 2006-10-04,404.97,415.77,403.05,415.7,6661800 539 | 2006-10-05,414.7,418.24,410.86,411.81,5789800 540 | 2006-10-06,410.22,421.91,409.75,420.5,7336500 541 | 2006-10-09,424.8,431.95,423.42,429.0,7583300 542 | 2006-10-10,431.56,437.85,422.39,426.65,9788600 543 | 2006-10-11,425.02,429.91,423.76,426.5,5635400 544 | 2006-10-12,428.56,429.68,424.0,427.44,4844000 545 | 2006-10-13,427.76,429.5,425.56,427.3,3622500 546 | 2006-10-16,427.7,429.2,421.34,421.75,4319400 547 | 2006-10-17,420.3,423.75,416.7,420.64,5211000 548 | 2006-10-18,422.99,424.75,417.5,419.31,6017300 549 | 2006-10-19,420.23,429.5,419.57,426.06,11503500 550 | 2006-10-20,458.99,460.1,453.59,459.67,11647900 551 | 2006-10-23,462.28,484.64,460.37,480.78,15104500 552 | 2006-10-24,476.28,477.86,471.41,473.31,8660200 553 | 2006-10-25,477.49,488.5,475.11,486.6,9187500 554 | 2006-10-26,487.68,491.96,484.2,485.1,7031700 555 | 2006-10-27,483.9,485.24,472.49,475.2,6604000 556 | 2006-10-30,474.82,480.46,470.01,476.57,6563100 557 | 2006-10-31,478.06,482.16,473.84,476.39,6285400 558 | 2006-11-01,478.76,479.13,465.26,467.5,5426300 559 | 2006-11-02,467.5,473.73,466.38,469.91,5236700 560 | 2006-11-03,472.23,473.75,465.06,471.8,4907700 561 | 2006-11-06,473.77,479.66,472.33,476.95,4991500 562 | 2006-11-07,476.95,479.02,471.77,472.57,4897100 563 | 2006-11-08,470.35,481.74,468.6,475.0,7965000 564 | 2006-11-09,476.5,479.49,471.86,472.63,4879200 565 | 2006-11-10,473.78,474.72,470.29,473.55,2796700 566 | 2006-11-13,474.9,481.17,474.14,481.03,4341900 567 | 2006-11-14,480.7,489.95,480.5,489.3,7223400 568 | 2006-11-15,493.43,499.85,491.93,491.93,8370700 569 | 2006-11-16,495.0,497.68,492.56,495.9,5092600 570 | 2006-11-17,493.25,499.66,493.0,498.79,5511000 571 | 2006-11-20,498.4,498.4,492.65,495.05,5124500 572 | 2006-11-21,496.54,510.0,495.83,509.65,8427500 573 | 2006-11-22,510.97,513.0,505.78,508.01,4500700 574 | 2006-11-24,504.5,507.5,504.0,505.0,1732700 575 | 2006-11-27,501.37,501.78,484.75,484.75,7324700 576 | 2006-11-28,481.13,489.86,477.03,489.5,7797600 577 | 2006-11-29,494.24,494.74,482.25,484.65,6315300 578 | 2006-11-30,484.19,490.4,481.55,484.81,5577500 579 | 2006-12-01,485.98,488.39,478.5,480.8,5631400 580 | 2006-12-04,483.0,487.43,479.35,484.85,4899900 581 | 2006-12-05,487.4,489.44,484.89,487.0,4103000 582 | 2006-12-06,486.96,492.4,484.52,488.71,4450300 583 | 2006-12-07,490.23,491.8,482.42,482.64,4664300 584 | 2006-12-08,481.94,488.6,480.0,484.11,3974900 585 | 2006-12-11,484.92,488.9,483.8,483.93,3263400 586 | 2006-12-12,483.85,486.36,480.28,481.78,4181000 587 | 2006-12-13,484.69,485.5,477.02,478.99,4662100 588 | 2006-12-14,480.25,483.75,477.26,482.12,4748900 589 | 2006-12-15,482.64,484.11,479.84,480.3,5190800 590 | 2006-12-18,482.51,482.74,460.72,462.8,8016600 591 | 2006-12-19,461.72,469.31,458.5,468.63,6587000 592 | 2006-12-20,470.0,471.5,462.33,462.9,4367800 593 | 2006-12-21,464.18,465.25,452.34,456.2,6953300 594 | 2006-12-22,457.5,458.64,452.73,455.58,3988300 595 | 2006-12-26,456.52,459.47,454.59,457.53,2074300 596 | 2006-12-27,460.0,468.08,459.1,468.03,4231500 597 | 2006-12-28,467.12,468.58,462.25,462.56,3116200 598 | 2006-12-29,462.1,464.47,459.86,460.48,2559200 599 | 2007-01-03,466.0,476.66,461.11,467.59,7706500 600 | 2007-01-04,469.0,483.95,468.35,483.26,7887600 601 | 2007-01-05,482.5,487.5,478.11,487.19,6872100 602 | 2007-01-08,487.69,489.87,482.2,483.58,4754400 603 | 2007-01-09,485.45,488.25,481.2,485.5,5381400 604 | 2007-01-10,484.43,493.55,482.04,489.46,5968500 605 | 2007-01-11,497.2,501.75,496.18,499.72,7208200 606 | 2007-01-12,501.99,505.0,500.0,505.0,4473700 607 | 2007-01-16,507.55,513.0,503.3,504.28,7568900 608 | 2007-01-17,503.39,507.77,494.38,497.28,6699100 609 | 2007-01-18,494.52,496.48,487.43,487.83,5932000 610 | 2007-01-19,487.98,490.76,486.74,489.75,4978300 611 | 2007-01-22,492.5,492.65,478.5,480.84,5404300 612 | 2007-01-23,480.79,484.75,477.29,479.05,4665500 613 | 2007-01-24,484.45,499.54,483.29,499.07,6059300 614 | 2007-01-25,501.0,504.5,485.66,488.09,6368500 615 | 2007-01-26,490.93,497.9,487.03,495.84,5496500 616 | 2007-01-29,498.0,498.75,490.5,492.47,4775700 617 | 2007-01-30,494.0,498.0,491.22,494.32,4180500 618 | 2007-01-31,496.49,505.0,495.51,501.5,12206100 619 | 2007-02-01,506.0,506.01,481.53,481.75,15658700 620 | 2007-02-02,482.61,485.0,477.81,481.5,6286500 621 | 2007-02-05,477.5,478.0,466.19,467.16,7206900 622 | 2007-02-06,468.1,473.3,467.26,471.48,5321900 623 | 2007-02-07,473.82,474.35,468.78,470.01,4119800 624 | 2007-02-08,468.05,473.75,465.15,471.03,4076700 625 | 2007-02-09,471.65,472.68,461.5,461.89,4858600 626 | 2007-02-12,460.68,462.39,455.02,458.29,5754500 627 | 2007-02-13,459.15,462.78,457.26,459.1,4062600 628 | 2007-02-14,460.0,469.13,459.22,465.93,5698800 629 | 2007-02-15,466.0,466.13,460.72,461.47,4042400 630 | 2007-02-16,462.8,470.15,462.06,469.94,6177000 631 | 2007-02-20,468.47,472.75,464.71,472.1,4067600 632 | 2007-02-21,469.84,478.68,467.74,475.86,5640600 633 | 2007-02-22,478.69,484.24,474.39,475.85,5743900 634 | 2007-02-23,475.75,476.95,467.8,470.62,3882600 635 | 2007-02-26,472.83,475.25,463.75,464.93,3969900 636 | 2007-02-27,455.0,459.8,447.17,448.77,9312800 637 | 2007-02-28,450.41,453.67,443.04,449.45,8032300 638 | 2007-03-01,442.67,452.42,440.0,448.23,8685200 639 | 2007-03-02,445.11,448.7,438.68,438.68,6583600 640 | 2007-03-05,437.02,445.5,437.0,440.95,6355100 641 | 2007-03-06,447.47,459.0,447.38,457.55,7533700 642 | 2007-03-07,462.69,463.14,454.29,455.64,6534100 643 | 2007-03-08,459.22,465.5,454.1,454.72,5362800 644 | 2007-03-09,458.0,458.4,450.1,452.96,4977700 645 | 2007-03-12,452.57,455.25,451.11,454.75,3465400 646 | 2007-03-13,450.11,451.93,442.83,443.03,6377300 647 | 2007-03-14,443.23,448.66,439.0,448.0,8016900 648 | 2007-03-15,447.86,449.82,443.94,446.19,3944200 649 | 2007-03-16,445.65,446.7,439.89,440.85,5659100 650 | 2007-03-19,443.25,448.5,440.63,447.23,5197700 651 | 2007-03-20,445.79,447.6,443.6,445.28,3421500 652 | 2007-03-21,445.3,456.57,445.21,456.55,5798300 653 | 2007-03-22,455.61,462.17,452.53,462.04,5680700 654 | 2007-03-23,461.45,463.39,457.08,461.83,4111300 655 | 2007-03-26,460.55,465.0,455.62,465.0,4710300 656 | 2007-03-27,463.55,465.23,460.34,463.62,3741200 657 | 2007-03-28,461.87,465.44,460.15,461.88,4591600 658 | 2007-03-29,464.55,466.0,455.0,460.92,3988500 659 | 2007-03-30,462.1,463.4,456.14,458.16,3380200 660 | 2007-04-02,457.76,458.53,452.12,458.53,3448500 661 | 2007-04-03,464.05,474.25,464.0,472.6,6501800 662 | 2007-04-04,472.14,473.0,469.58,471.02,3778800 663 | 2007-04-05,471.3,472.09,469.62,471.51,2715800 664 | 2007-04-09,472.98,473.0,465.59,468.21,3062100 665 | 2007-04-10,467.09,470.79,465.16,466.5,2979300 666 | 2007-04-11,466.06,469.4,462.61,464.53,3812000 667 | 2007-04-12,464.0,468.0,462.24,467.39,2707900 668 | 2007-04-13,468.45,468.77,463.36,466.29,2794800 669 | 2007-04-16,468.46,476.99,468.15,474.27,5077900 670 | 2007-04-17,473.8,476.39,471.6,472.8,3210100 671 | 2007-04-18,471.26,479.9,469.53,476.01,5670500 672 | 2007-04-19,474.5,481.95,469.59,471.65,11009600 673 | 2007-04-20,490.52,492.5,482.02,482.48,12161500 674 | 2007-04-23,480.1,485.0,478.26,479.08,5674600 675 | 2007-04-24,478.61,479.98,475.55,477.53,3694700 676 | 2007-04-25,480.0,481.37,476.11,477.99,3966800 677 | 2007-04-26,478.1,484.45,477.11,481.18,4124900 678 | 2007-04-27,480.07,482.4,478.33,479.01,2925700 679 | 2007-04-30,479.15,481.35,471.38,471.38,3641200 680 | 2007-05-01,472.19,472.81,464.17,469.0,3658200 681 | 2007-05-02,468.65,471.08,465.73,465.78,3062700 682 | 2007-05-03,466.22,474.07,465.29,473.23,3594200 683 | 2007-05-04,470.12,474.84,465.88,471.12,3950000 684 | 2007-05-07,472.14,472.82,466.47,467.27,3020100 685 | 2007-05-08,466.13,468.17,464.73,466.81,2905100 686 | 2007-05-09,466.15,471.73,463.88,469.25,3889900 687 | 2007-05-10,467.04,469.49,461.02,461.47,3686300 688 | 2007-05-11,461.83,467.0,461.0,466.74,2944100 689 | 2007-05-14,465.48,467.51,460.0,461.78,3872700 690 | 2007-05-15,461.96,462.54,457.41,458.0,4119000 691 | 2007-05-16,462.0,473.14,459.02,472.61,6554200 692 | 2007-05-17,472.46,475.22,470.81,470.96,4660600 693 | 2007-05-18,472.03,472.7,469.75,470.32,3695900 694 | 2007-05-21,469.53,479.2,466.72,470.6,6159300 695 | 2007-05-22,473.0,479.01,473.0,475.86,3839000 696 | 2007-05-23,480.82,483.41,473.75,473.97,5060200 697 | 2007-05-24,475.15,479.2,471.5,474.33,4173600 698 | 2007-05-25,479.7,484.95,477.27,483.52,5348500 699 | 2007-05-29,485.0,491.8,484.0,487.11,5218000 700 | 2007-05-30,484.5,498.84,483.0,498.6,7245800 701 | 2007-05-31,500.56,508.78,497.06,497.91,8924300 702 | 2007-06-01,501.0,505.02,497.93,500.4,4799000 703 | 2007-06-04,497.91,510.51,497.59,507.07,7101000 704 | 2007-06-05,509.75,519.0,506.61,518.84,10447100 705 | 2007-06-06,516.75,520.78,515.26,518.25,7886700 706 | 2007-06-07,519.75,526.5,512.51,515.06,10630500 707 | 2007-06-08,516.2,519.64,509.46,515.49,6358200 708 | 2007-06-11,514.02,518.25,510.0,511.34,4647700 709 | 2007-06-12,508.71,511.67,503.17,504.77,6419500 710 | 2007-06-13,507.09,508.54,498.69,505.24,7034000 711 | 2007-06-14,505.38,505.88,501.7,502.84,4621200 712 | 2007-06-15,508.19,509.0,501.23,505.89,6174100 713 | 2007-06-18,506.18,516.0,504.24,515.2,4835900 714 | 2007-06-19,514.01,517.25,511.54,514.31,4355300 715 | 2007-06-20,516.96,518.75,509.06,509.97,4338200 716 | 2007-06-21,510.98,515.29,506.28,514.11,4409700 717 | 2007-06-22,516.42,524.99,516.1,524.98,7203700 718 | 2007-06-25,528.98,534.99,523.38,527.42,7925000 719 | 2007-06-26,532.73,533.2,526.24,530.26,5689500 720 | 2007-06-27,525.0,527.99,519.56,526.29,6123100 721 | 2007-06-28,524.88,529.5,523.8,525.01,4168400 722 | 2007-06-29,526.02,527.4,519.46,522.7,3880600 723 | 2007-07-02,525.49,531.85,524.2,530.38,3487600 724 | 2007-07-03,531.06,534.4,527.5,534.34,1871800 725 | 2007-07-05,535.56,544.4,532.15,541.63,4942900 726 | 2007-07-06,541.25,543.87,538.73,539.4,2747000 727 | 2007-07-09,543.0,548.74,540.26,542.56,3729800 728 | 2007-07-10,543.79,547.0,541.65,543.34,3856000 729 | 2007-07-11,543.61,546.5,540.01,544.47,3309300 730 | 2007-07-12,545.86,547.32,540.22,545.33,3441600 731 | 2007-07-13,547.91,552.67,547.25,552.16,5237100 732 | 2007-07-16,550.3,558.58,549.31,552.99,6599500 733 | 2007-07-17,555.04,557.73,552.38,555.0,4328600 734 | 2007-07-18,553.89,554.5,543.81,549.5,6080000 735 | 2007-07-19,553.46,553.52,542.24,548.59,11127200 736 | 2007-07-20,511.9,523.18,509.5,520.12,17772300 737 | 2007-07-23,519.01,520.0,512.15,512.51,6356700 738 | 2007-07-24,509.3,518.69,507.11,514.0,5572100 739 | 2007-07-25,516.98,517.02,505.56,509.76,5545000 740 | 2007-07-26,508.74,512.59,498.88,508.0,6883400 741 | 2007-07-27,508.53,516.62,505.5,511.89,5509100 742 | 2007-07-30,512.92,519.34,510.5,516.11,3963300 743 | 2007-07-31,520.23,520.44,510.0,510.0,4270500 744 | 2007-08-01,510.5,516.51,508.14,512.94,4421500 745 | 2007-08-02,513.72,514.99,509.0,511.01,3154900 746 | 2007-08-03,510.05,513.2,503.0,503.0,3176200 747 | 2007-08-06,503.0,510.15,502.5,510.0,3651500 748 | 2007-08-07,509.75,519.88,509.04,516.02,4264300 749 | 2007-08-08,519.34,525.78,517.09,525.78,4068800 750 | 2007-08-09,520.8,526.82,514.63,514.73,4846500 751 | 2007-08-10,510.18,518.72,505.63,515.75,5875200 752 | 2007-08-13,519.54,519.75,513.03,515.5,3179300 753 | 2007-08-14,515.72,517.4,508.0,508.6,3633700 754 | 2007-08-15,509.0,511.69,496.71,497.55,5409500 755 | 2007-08-16,492.02,496.43,480.46,491.52,8645600 756 | 2007-08-17,497.44,501.0,491.65,500.04,5479400 757 | 2007-08-20,502.46,502.56,496.0,497.92,2697300 758 | 2007-08-21,498.94,508.16,497.77,506.61,3610600 759 | 2007-08-22,509.96,516.25,509.25,512.75,3252700 760 | 2007-08-23,516.0,516.13,507.0,512.19,3076700 761 | 2007-08-24,512.61,515.55,508.5,515.0,2472700 762 | 2007-08-27,514.43,517.45,511.4,513.26,2325100 763 | 2007-08-28,511.53,514.98,505.79,506.4,3273900 764 | 2007-08-29,507.84,513.3,507.23,512.88,2549300 765 | 2007-08-30,512.36,515.4,510.58,511.4,2651700 766 | 2007-08-31,513.1,516.5,511.47,515.25,2977600 767 | 2007-09-04,515.02,528.0,514.62,525.15,3693700 768 | 2007-09-05,523.4,529.48,522.25,527.8,3312900 769 | 2007-09-06,529.36,529.83,518.24,523.52,3625900 770 | 2007-09-07,517.86,521.24,516.8,519.35,3663600 771 | 2007-09-10,521.28,522.07,510.88,514.48,3225800 772 | 2007-09-11,516.99,521.65,515.73,521.33,2703600 773 | 2007-09-12,520.53,527.98,519.0,522.65,2986000 774 | 2007-09-13,524.06,527.21,523.22,524.78,1891100 775 | 2007-09-14,523.2,530.27,522.22,528.75,2764900 776 | 2007-09-17,526.53,529.28,524.07,525.3,2197500 777 | 2007-09-18,526.52,537.25,524.27,535.27,4215700 778 | 2007-09-19,539.27,549.45,538.86,546.85,5526900 779 | 2007-09-20,547.0,556.8,546.03,552.83,5525000 780 | 2007-09-21,556.34,560.79,552.83,560.1,8011700 781 | 2007-09-24,561.0,571.46,560.0,568.02,5297000 782 | 2007-09-25,564.0,569.56,562.86,569.0,2730600 783 | 2007-09-26,570.4,571.79,563.81,568.16,3346100 784 | 2007-09-27,571.73,571.74,565.78,567.5,2056300 785 | 2007-09-28,567.0,569.55,564.12,567.27,2639500 786 | 2007-10-01,569.97,584.35,569.61,582.55,4711300 787 | 2007-10-02,583.38,596.81,580.01,584.39,7067500 788 | 2007-10-03,586.25,588.99,580.36,584.02,3879500 789 | 2007-10-04,585.09,585.09,577.06,579.03,2986700 790 | 2007-10-05,587.11,596.0,587.01,594.05,5068700 791 | 2007-10-08,595.0,610.26,593.95,609.62,5028000 792 | 2007-10-09,615.11,623.78,608.39,615.18,8767800 793 | 2007-10-10,621.36,625.68,616.8,625.39,5385600 794 | 2007-10-11,633.64,641.41,609.0,622.0,11799000 795 | 2007-10-12,623.98,638.4,618.24,637.39,6823700 796 | 2007-10-15,638.47,639.86,615.55,620.11,6943800 797 | 2007-10-16,618.49,625.92,611.99,616.0,6025300 798 | 2007-10-17,630.45,634.0,621.59,633.48,6030500 799 | 2007-10-18,635.41,641.37,628.5,639.62,12289200 800 | 2007-10-19,654.56,658.49,643.23,644.71,15789000 801 | 2007-10-22,638.67,655.0,636.28,650.75,6664400 802 | 2007-10-23,661.25,677.6,660.0,675.77,6793700 803 | 2007-10-24,672.71,677.47,659.56,675.82,7404200 804 | 2007-10-25,678.68,678.97,663.55,668.51,5795500 805 | 2007-10-26,674.03,676.54,668.06,674.6,3353900 806 | 2007-10-29,677.77,680.0,672.09,679.23,3066300 807 | 2007-10-30,677.51,699.91,677.51,694.77,6900600 808 | 2007-10-31,700.69,707.0,696.04,707.0,6876800 809 | 2007-11-01,702.79,713.72,701.78,703.21,6527200 810 | 2007-11-02,710.51,713.58,697.34,711.25,5841500 811 | 2007-11-05,706.99,730.23,706.07,725.65,8883700 812 | 2007-11-06,737.56,741.79,725.0,741.79,8436300 813 | 2007-11-07,741.13,747.24,723.14,732.94,8252900 814 | 2007-11-08,734.6,734.89,677.18,693.84,16512200 815 | 2007-11-09,675.78,681.88,661.21,663.97,11388100 816 | 2007-11-12,657.74,669.93,626.21,632.07,10227300 817 | 2007-11-13,644.99,660.92,632.07,660.55,8426100 818 | 2007-11-14,673.28,675.49,636.27,641.68,8094700 819 | 2007-11-15,638.57,647.5,624.0,629.65,6967700 820 | 2007-11-16,633.94,635.49,616.02,633.63,9042800 821 | 2007-11-19,629.59,636.77,618.5,625.85,5527400 822 | 2007-11-20,636.48,659.1,632.87,648.54,9840600 823 | 2007-11-21,643.77,669.97,642.08,660.52,7013500 824 | 2007-11-23,670.0,678.28,668.11,676.7,2738700 825 | 2007-11-26,680.2,693.4,665.0,666.0,6790100 826 | 2007-11-27,674.8,676.43,650.26,673.57,8904500 827 | 2007-11-28,682.11,694.3,672.14,692.26,7916500 828 | 2007-11-29,690.75,702.79,687.77,697.0,6208000 829 | 2007-11-30,711.0,711.06,682.11,693.0,7895500 830 | 2007-12-03,691.01,695.0,681.14,681.53,4325100 831 | 2007-12-04,678.31,692.0,677.12,684.16,4231800 832 | 2007-12-05,692.73,698.93,687.5,698.51,4209600 833 | 2007-12-06,697.8,716.56,697.01,715.26,4909000 834 | 2007-12-07,714.99,718.0,710.5,714.87,3852100 835 | 2007-12-10,715.99,724.8,714.0,718.42,3856200 836 | 2007-12-11,719.94,720.99,698.78,699.2,6139100 837 | 2007-12-12,714.0,714.32,688.5,699.35,6159100 838 | 2007-12-13,696.31,697.62,681.21,694.05,5040800 839 | 2007-12-14,687.51,699.7,687.26,689.96,3673500 840 | 2007-12-17,688.0,695.42,663.67,669.23,5486000 841 | 2007-12-18,674.16,676.71,652.5,673.35,7166700 842 | 2007-12-19,674.21,679.5,669.0,677.37,4421100 843 | 2007-12-20,685.83,691.0,680.61,689.69,4422200 844 | 2007-12-21,697.88,699.26,693.24,696.69,5382000 845 | 2007-12-24,694.99,700.73,693.06,700.73,1628400 846 | 2007-12-26,698.99,713.22,698.21,710.84,2530000 847 | 2007-12-27,707.07,716.0,700.74,700.74,2942500 848 | 2007-12-28,704.93,707.95,696.54,702.53,2562700 849 | 2007-12-31,698.57,702.49,690.58,691.48,2376200 850 | 2008-01-02,692.87,697.37,677.73,685.19,4306900 851 | 2008-01-03,685.26,686.85,676.52,685.33,3252500 852 | 2008-01-04,679.69,680.96,655.0,657.0,5359800 853 | 2008-01-07,653.94,662.28,637.35,649.25,6403400 854 | 2008-01-08,653.0,659.96,631.0,631.68,5339100 855 | 2008-01-09,630.04,653.34,622.51,653.2,6739700 856 | 2008-01-10,645.01,657.2,640.11,646.73,6334200 857 | 2008-01-11,642.7,649.47,630.11,638.25,4977000 858 | 2008-01-14,651.14,657.4,645.25,653.82,4447500 859 | 2008-01-15,645.9,649.05,635.38,637.65,5568200 860 | 2008-01-16,628.97,639.99,601.93,615.95,10560000 861 | 2008-01-17,620.76,625.74,598.01,600.79,8216800 862 | 2008-01-18,608.36,609.99,598.45,600.25,8539600 863 | 2008-01-22,562.03,597.5,561.2,584.35,9501500 864 | 2008-01-23,560.71,568.0,519.0,548.62,16965700 865 | 2008-01-24,558.8,579.69,554.14,574.49,9400900 866 | 2008-01-25,591.81,595.0,566.18,566.4,6966000 867 | 2008-01-28,570.97,572.24,548.6,555.98,5816700 868 | 2008-01-29,560.47,561.33,540.67,550.52,6283000 869 | 2008-01-30,549.19,560.43,543.51,548.27,7939600 870 | 2008-01-31,539.01,573.0,534.29,564.3,14871300 871 | 2008-02-01,528.67,536.67,510.0,515.9,17600500 872 | 2008-02-04,509.07,512.78,492.55,495.43,13157100 873 | 2008-02-05,489.43,509.0,488.52,506.8,11203300 874 | 2008-02-06,511.14,511.17,497.93,501.71,7636400 875 | 2008-02-07,496.86,514.19,494.76,504.95,7928900 876 | 2008-02-08,509.41,517.73,508.7,516.69,6828900 877 | 2008-02-11,520.52,523.71,513.4,521.16,5826000 878 | 2008-02-12,523.39,530.6,513.03,518.09,6662300 879 | 2008-02-13,522.5,534.99,518.69,534.62,6624700 880 | 2008-02-14,538.35,541.04,531.0,532.25,6476700 881 | 2008-02-15,528.31,532.66,524.33,529.64,5240100 882 | 2008-02-19,534.94,535.06,506.5,508.95,6350400 883 | 2008-02-20,503.51,511.01,498.82,509.0,6662200 884 | 2008-02-21,512.85,513.21,499.5,502.86,5677800 885 | 2008-02-22,502.06,509.0,497.55,507.8,5515900 886 | 2008-02-25,505.95,506.5,485.74,486.44,8372800 887 | 2008-02-26,461.2,466.47,446.85,464.19,23287300 888 | 2008-02-27,460.13,475.49,459.64,472.86,10121900 889 | 2008-02-28,470.5,479.09,467.36,475.39,6586900 890 | 2008-02-29,471.87,479.74,464.65,471.18,9425400 891 | 2008-03-03,471.51,472.72,450.11,457.02,7554500 892 | 2008-03-04,450.95,453.36,435.78,444.6,13621700 893 | 2008-03-05,445.25,454.17,444.0,447.7,7436600 894 | 2008-03-06,447.69,453.3,431.18,432.7,7470100 895 | 2008-03-07,428.88,440.0,426.24,433.35,8071800 896 | 2008-03-10,428.83,431.0,413.04,413.62,7987600 897 | 2008-03-11,425.26,440.15,424.65,439.84,8826900 898 | 2008-03-12,440.01,447.88,438.07,440.18,6651900 899 | 2008-03-13,432.67,446.98,428.78,443.01,7726600 900 | 2008-03-14,442.98,449.34,430.62,437.92,6574400 901 | 2008-03-17,427.99,433.71,412.11,419.87,7888200 902 | 2008-03-18,428.98,440.84,425.53,439.16,7237200 903 | 2008-03-19,441.11,447.5,431.67,432.0,6179000 904 | 2008-03-20,427.32,435.7,417.5,433.55,9913400 905 | 2008-03-24,438.43,465.78,437.72,460.56,6763500 906 | 2008-03-25,457.46,457.47,446.0,450.78,5831600 907 | 2008-03-26,452.59,462.87,449.29,458.19,5225700 908 | 2008-03-27,446.0,448.61,440.49,444.08,5832200 909 | 2008-03-28,447.46,453.57,434.31,438.08,4376200 910 | 2008-03-31,435.64,442.69,432.01,440.47,4446400 911 | 2008-04-01,447.74,466.5,446.87,465.71,6093100 912 | 2008-04-02,469.9,475.74,460.39,465.7,5999000 913 | 2008-04-03,461.73,463.29,448.13,455.12,6778400 914 | 2008-04-04,457.01,477.83,456.2,471.09,5897200 915 | 2008-04-07,477.03,485.44,473.53,476.82,5943500 916 | 2008-04-08,473.04,474.14,462.01,467.81,4547000 917 | 2008-04-09,469.13,472.0,457.54,464.19,6048100 918 | 2008-04-10,464.96,473.86,461.85,469.08,5072400 919 | 2008-04-11,464.07,467.26,455.01,457.45,4169700 920 | 2008-04-14,457.16,457.45,450.15,451.66,3842600 921 | 2008-04-15,458.13,459.72,443.72,446.84,4577600 922 | 2008-04-16,444.4,458.28,441.0,455.03,7630700 923 | 2008-04-17,455.63,459.37,446.52,449.54,13353000 924 | 2008-04-18,535.21,547.7,524.77,539.41,18235600 925 | 2008-04-21,539.39,542.59,530.29,537.79,7439700 926 | 2008-04-22,537.57,560.83,537.56,555.0,7938500 927 | 2008-04-23,557.94,559.31,540.95,546.49,4921500 928 | 2008-04-24,551.29,554.49,540.02,543.04,4135100 929 | 2008-04-25,549.02,553.0,542.73,544.06,4164400 930 | 2008-04-28,545.88,556.81,539.0,552.12,4008600 931 | 2008-04-29,550.83,563.4,550.01,558.47,4346000 932 | 2008-04-30,562.21,584.86,558.47,574.29,7903000 933 | 2008-05-01,578.31,594.93,576.97,593.08,6602800 934 | 2008-05-02,598.49,602.45,579.3,581.29,6998800 935 | 2008-05-05,598.86,599.0,587.13,594.9,6281000 936 | 2008-05-06,591.0,592.0,583.0,586.36,4629300 937 | 2008-05-07,590.27,599.49,576.43,579.0,6613000 938 | 2008-05-08,586.2,589.3,578.91,583.01,5122900 939 | 2008-05-09,579.0,585.0,571.3,573.2,4484900 940 | 2008-05-12,574.75,586.75,568.91,584.94,4863900 941 | 2008-05-13,586.23,587.95,578.55,583.0,5163500 942 | 2008-05-14,586.49,591.19,575.25,576.3,4375800 943 | 2008-05-15,579.0,582.95,575.61,581.0,4342700 944 | 2008-05-16,581.43,584.68,578.32,580.07,4274100 945 | 2008-05-19,578.55,588.88,573.52,577.52,5604500 946 | 2008-05-20,574.63,582.48,572.91,578.6,3313600 947 | 2008-05-21,578.52,581.41,547.89,549.99,6468100 948 | 2008-05-22,551.95,554.21,540.25,549.46,5076300 949 | 2008-05-23,546.96,553.0,537.81,544.62,4431500 950 | 2008-05-27,544.96,562.6,543.85,560.9,3865500 951 | 2008-05-28,567.94,571.49,561.1,568.24,4050400 952 | 2008-05-29,574.79,585.88,573.2,583.0,4845000 953 | 2008-05-30,583.47,589.92,581.3,585.8,3225200 954 | 2008-06-02,582.5,583.89,571.27,575.0,3674200 955 | 2008-06-03,576.5,580.5,560.61,567.3,4305300 956 | 2008-06-04,565.33,578.0,564.55,572.22,3363200 957 | 2008-06-05,577.08,588.04,576.21,586.3,3916700 958 | 2008-06-06,579.75,580.72,567.0,567.0,4734500 959 | 2008-06-09,568.06,570.0,545.4,557.87,5288300 960 | 2008-06-10,549.56,558.82,546.78,554.17,3657400 961 | 2008-06-11,556.24,557.34,544.46,545.2,3812900 962 | 2008-06-12,548.76,558.0,546.88,552.95,5491600 963 | 2008-06-13,561.49,575.7,561.34,571.51,6184400 964 | 2008-06-16,566.5,579.1,566.5,572.81,3542800 965 | 2008-06-17,576.35,578.07,568.38,569.46,3462900 966 | 2008-06-18,564.51,568.99,559.16,562.38,3381200 967 | 2008-06-19,555.35,563.78,550.81,560.2,5683100 968 | 2008-06-20,556.98,556.98,544.51,546.43,5983100 969 | 2008-06-23,545.36,553.15,542.02,545.21,3635900 970 | 2008-06-24,545.14,551.19,535.1,542.3,4672600 971 | 2008-06-25,544.97,557.8,543.67,551.0,4122200 972 | 2008-06-26,544.1,544.93,528.26,528.82,5659500 973 | 2008-06-27,527.68,530.0,515.09,528.07,5447500 974 | 2008-06-30,532.47,538.0,523.06,526.42,3765300 975 | 2008-07-01,519.58,536.72,517.0,534.73,4959900 976 | 2008-07-02,536.51,540.38,526.06,527.04,4223000 977 | 2008-07-03,530.88,539.23,527.5,537.0,2400500 978 | 2008-07-07,542.3,549.0,535.6,543.91,4255200 979 | 2008-07-08,545.99,555.19,540.0,554.53,4932400 980 | 2008-07-09,550.76,555.68,540.73,541.55,4154000 981 | 2008-07-10,545.0,549.5,530.72,540.57,4331700 982 | 2008-07-11,536.5,539.5,519.43,533.8,4981400 983 | 2008-07-14,539.0,540.06,515.45,521.62,4424800 984 | 2008-07-15,516.28,527.5,501.1,516.09,6071000 985 | 2008-07-16,514.04,536.5,510.6,535.6,4742200 986 | 2008-07-17,534.16,537.05,524.5,533.44,8787400 987 | 2008-07-18,498.35,498.98,478.19,481.32,11292400 988 | 2008-07-21,480.88,484.09,465.7,468.8,5901500 989 | 2008-07-22,466.72,480.25,465.6,477.11,4691500 990 | 2008-07-23,481.61,497.23,478.1,489.22,4894100 991 | 2008-07-24,496.7,496.87,475.62,475.62,3540900 992 | 2008-07-25,486.49,493.13,481.5,491.98,3183500 993 | 2008-07-28,492.09,492.09,475.13,477.12,3160000 994 | 2008-07-29,479.3,487.26,478.0,483.11,2802800 995 | 2008-07-30,485.5,486.02,472.81,482.7,3490700 996 | 2008-07-31,474.56,480.89,471.44,473.75,2865100 997 | 2008-08-01,472.51,473.22,462.5,467.86,3007900 998 | 2008-08-04,468.12,473.01,461.9,463.0,2487000 999 | 2008-08-05,467.59,480.08,466.33,479.85,3584500 1000 | 2008-08-06,478.37,489.77,472.51,486.34,3375800 1001 | 2008-08-07,482.0,484.0,476.41,479.12,2773800 1002 | 2008-08-08,480.15,495.75,475.69,495.01,3739300 1003 | 2008-08-11,492.47,508.88,491.78,500.84,4239300 1004 | 2008-08-12,502.0,506.13,498.0,502.61,2755700 1005 | 2008-08-13,501.6,503.54,493.88,500.03,3625500 1006 | 2008-08-14,497.7,507.61,496.29,505.49,2918600 1007 | 2008-08-15,506.99,510.66,505.5,510.15,3545700 1008 | 2008-08-18,509.84,510.0,495.51,498.3,3333900 1009 | 2008-08-19,490.43,498.28,486.63,490.5,3046500 1010 | 2008-08-20,494.72,496.69,482.57,485.0,3982100 1011 | 2008-08-21,482.92,489.9,479.27,486.53,3514100 1012 | 2008-08-22,491.5,494.88,489.48,490.59,2297200 1013 | 2008-08-25,486.11,497.0,481.5,483.01,2014300 1014 | 2008-08-26,483.46,483.46,470.59,474.16,3308200 1015 | 2008-08-27,473.73,474.83,464.84,468.58,4387100 1016 | 2008-08-28,472.49,476.45,470.33,473.78,3029700 1017 | 2008-08-29,469.75,471.01,462.33,463.29,3848200 1018 | 2008-09-02,476.77,482.18,461.42,465.25,6111500 1019 | 2008-09-03,468.73,474.29,459.58,464.41,4314600 1020 | 2008-09-04,460.0,463.24,449.4,450.26,4848500 1021 | 2008-09-05,445.49,452.46,440.08,444.25,4534300 1022 | 2008-09-08,452.02,452.94,417.55,419.95,9017900 1023 | 2008-09-09,423.17,432.38,415.0,418.66,7229600 1024 | 2008-09-10,424.47,424.48,409.68,414.16,6226800 1025 | 2008-09-11,408.35,435.09,406.38,433.75,6471400 1026 | 2008-09-12,430.21,441.99,429.0,437.66,6028000 1027 | 2008-09-15,424.0,441.97,423.71,433.86,6567400 1028 | 2008-09-16,425.96,449.28,425.49,442.93,6990700 1029 | 2008-09-17,438.48,439.14,413.44,414.49,9126900 1030 | 2008-09-18,422.64,439.18,410.5,439.08,8589400 1031 | 2008-09-19,461.0,462.07,443.28,449.15,10006000 1032 | 2008-09-22,454.13,454.13,429.0,430.14,4407300 1033 | 2008-09-23,433.25,440.79,425.72,429.27,5204200 1034 | 2008-09-24,430.34,445.0,430.11,435.11,4242000 1035 | 2008-09-25,438.84,450.0,435.98,439.6,5020300 1036 | 2008-09-26,428.0,437.16,421.03,431.04,5292500 1037 | 2008-09-29,419.51,423.51,380.71,381.0,10762900 1038 | 2008-09-30,395.98,425.08,392.32,400.52,3086300 1039 | 2008-10-01,411.15,416.98,403.1,411.72,6234800 1040 | 2008-10-02,409.79,409.98,386.0,390.49,5984900 1041 | 2008-10-03,397.35,412.5,383.07,386.91,7992900 1042 | 2008-10-06,373.98,375.99,357.16,371.21,11220600 1043 | 2008-10-07,373.33,374.98,345.37,346.01,11054400 1044 | 2008-10-08,330.16,358.99,326.11,338.11,11826400 1045 | 2008-10-09,344.52,348.57,321.67,328.98,8075000 1046 | 2008-10-10,313.16,341.89,310.3,332.0,10597800 1047 | 2008-10-13,355.79,381.95,345.75,381.02,8905500 1048 | 2008-10-14,393.53,394.5,357.0,362.71,7784800 1049 | 2008-10-15,354.65,359.0,338.83,339.17,6721400 1050 | 2008-10-16,332.76,356.5,309.44,353.02,16239700 1051 | 2008-10-17,378.96,386.0,363.55,372.54,14249200 1052 | 2008-10-20,379.75,380.98,359.59,379.32,6753400 1053 | 2008-10-21,372.39,383.78,362.0,362.75,5782000 1054 | 2008-10-22,356.99,369.69,344.0,355.67,6560000 1055 | 2008-10-23,353.65,358.0,337.99,352.32,6478900 1056 | 2008-10-24,326.47,350.47,324.74,339.29,7359000 1057 | 2008-10-27,334.81,343.0,325.6,329.49,6200700 1058 | 2008-10-28,339.05,369.31,328.51,368.75,8105400 1059 | 2008-10-29,365.79,371.0,352.37,358.0,9756600 1060 | 2008-10-30,368.46,372.0,358.37,359.69,7988900 1061 | 2008-10-31,356.16,371.96,354.27,359.36,7423300 1062 | 2008-11-03,357.58,362.99,341.43,346.49,5954500 1063 | 2008-11-04,353.44,372.36,345.5,366.94,7349900 1064 | 2008-11-05,362.15,368.88,341.31,342.24,6946500 1065 | 2008-11-06,339.97,344.42,325.81,331.22,8574800 1066 | 2008-11-07,333.12,341.15,325.33,331.14,4681300 1067 | 2008-11-10,328.0,329.44,309.47,318.78,8080100 1068 | 2008-11-11,308.69,316.3,300.52,311.46,10146600 1069 | 2008-11-12,302.05,312.49,287.76,291.0,10051100 1070 | 2008-11-13,291.77,313.0,280.0,312.08,13234700 1071 | 2008-11-14,303.25,324.99,302.56,310.02,9517100 1072 | 2008-11-17,303.0,310.16,297.95,300.12,7543800 1073 | 2008-11-18,301.57,303.73,285.35,297.42,8346100 1074 | 2008-11-19,295.39,300.19,278.58,280.18,7834600 1075 | 2008-11-20,274.89,282.94,259.04,259.56,9779400 1076 | 2008-11-21,262.51,269.37,247.3,262.43,10244500 1077 | 2008-11-24,269.26,269.95,249.01,257.44,10054700 1078 | 2008-11-25,268.68,286.66,267.32,282.05,10771200 1079 | 2008-11-26,280.28,295.46,276.2,292.09,6356600 1080 | 2008-11-28,290.58,296.45,288.28,292.96,2565500 1081 | 2008-12-01,286.68,287.38,265.98,265.99,5711200 1082 | 2008-12-02,269.73,277.78,262.58,275.11,5839700 1083 | 2008-12-03,269.85,281.36,265.34,279.43,5904800 1084 | 2008-12-04,276.53,283.49,268.77,274.34,4886600 1085 | 2008-12-05,271.02,284.24,264.02,283.99,6521200 1086 | 2008-12-08,289.99,309.44,282.0,302.11,8144300 1087 | 2008-12-09,297.69,318.0,297.01,305.97,6889900 1088 | 2008-12-10,309.24,314.9,304.51,308.82,5237000 1089 | 2008-12-11,304.17,312.88,297.8,300.22,6179200 1090 | 2008-12-12,295.71,316.47,294.0,315.76,5722100 1091 | 2008-12-15,314.01,318.49,305.11,310.67,6737900 1092 | 2008-12-16,314.52,329.5,311.27,325.28,7059600 1093 | 2008-12-17,318.64,322.13,312.42,315.24,5789700 1094 | 2008-12-18,316.7,320.35,309.11,310.28,4763500 1095 | 2008-12-19,310.99,317.79,309.0,310.17,5612600 1096 | 2008-12-22,308.56,309.5,290.63,297.11,3917600 1097 | 2008-12-23,300.43,303.31,296.67,298.02,3777700 1098 | 2008-12-24,301.48,306.34,298.38,302.95,1921500 1099 | 2008-12-26,304.07,305.26,298.31,300.36,1959100 1100 | 2008-12-29,300.22,301.38,291.58,297.42,3701900 1101 | 2008-12-30,300.8,306.81,298.71,303.11,3843500 1102 | 2008-12-31,304.2,311.0,302.61,307.65,2886800 1103 | 2009-01-02,308.6,321.82,305.5,321.32,3610500 1104 | 2009-01-05,321.0,331.24,315.0,328.05,4889000 1105 | 2009-01-06,332.98,340.8,326.39,334.06,6425200 1106 | 2009-01-07,328.32,330.91,318.75,322.01,4494500 1107 | 2009-01-08,318.28,325.19,317.34,325.19,3600700 1108 | 2009-01-09,327.5,327.5,313.4,315.07,4340500 1109 | 2009-01-12,316.31,318.95,310.23,312.69,3304300 1110 | 2009-01-13,311.77,320.6,310.39,314.32,4432500 1111 | 2009-01-14,310.0,313.8,297.75,300.97,5467900 1112 | 2009-01-15,297.57,303.58,286.79,298.99,5934500 1113 | 2009-01-16,305.02,308.25,295.7,299.67,5224400 1114 | 2009-01-20,299.14,299.5,282.75,282.75,5048200 1115 | 2009-01-21,288.35,303.5,288.35,303.08,4924500 1116 | 2009-01-22,298.04,309.35,295.15,306.5,8267000 1117 | 2009-01-23,309.27,331.96,304.22,324.7,10732800 1118 | 2009-01-26,324.85,328.0,320.56,323.87,4610700 1119 | 2009-01-27,326.45,333.87,324.27,331.48,4927300 1120 | 2009-01-28,337.98,352.33,336.31,348.67,7691400 1121 | 2009-01-29,344.54,345.05,340.11,343.32,7283800 1122 | 2009-01-30,344.69,348.8,336.0,338.53,4672000 1123 | 2009-02-02,334.29,345.0,332.0,340.57,5206900 1124 | 2009-02-03,342.57,343.0,333.83,340.45,6556500 1125 | 2009-02-04,340.07,354.44,339.17,343.0,6817400 1126 | 2009-02-05,340.91,355.38,337.0,353.72,7264400 1127 | 2009-02-06,356.46,373.81,355.44,371.28,7038100 1128 | 2009-02-09,371.28,381.0,367.3,378.77,4977300 1129 | 2009-02-10,375.98,377.5,357.89,358.51,7103700 1130 | 2009-02-11,358.95,365.0,353.0,358.04,5231600 1131 | 2009-02-12,353.16,363.62,351.48,363.05,5550300 1132 | 2009-02-13,362.19,362.99,355.23,357.68,4146700 1133 | 2009-02-17,346.51,347.09,339.69,342.66,5680400 1134 | 2009-02-18,347.24,353.38,340.52,353.11,6024500 1135 | 2009-02-19,357.47,359.8,341.41,342.64,4988700 1136 | 2009-02-20,338.05,348.92,335.0,346.45,6217100 1137 | 2009-02-23,347.0,349.8,329.55,330.06,5221100 1138 | 2009-02-24,331.02,349.62,330.89,345.45,6095900 1139 | 2009-02-25,342.15,352.3,338.92,341.64,6439100 1140 | 2009-02-26,345.96,352.49,337.16,337.18,5605600 1141 | 2009-02-27,332.95,343.82,331.11,337.99,5420000 1142 | 2009-03-02,333.33,340.7,326.0,327.16,5788500 1143 | 2009-03-03,330.07,333.69,322.35,325.48,6524800 1144 | 2009-03-04,323.16,329.0,315.38,318.92,7818400 1145 | 2009-03-05,316.48,319.08,302.64,305.64,6529900 1146 | 2009-03-06,307.22,310.19,294.25,308.57,7234200 1147 | 2009-03-09,299.98,306.57,289.45,290.89,6471300 1148 | 2009-03-10,298.25,310.5,294.25,308.17,6730200 1149 | 2009-03-11,310.1,320.0,305.71,317.91,5923600 1150 | 2009-03-12,317.54,325.0,313.65,323.53,5024100 1151 | 2009-03-13,326.1,327.46,319.03,324.42,3906400 1152 | 2009-03-16,325.99,329.73,318.59,319.69,4946800 1153 | 2009-03-17,320.18,335.34,319.09,335.34,4712500 1154 | 2009-03-18,334.81,340.0,328.05,333.1,5012200 1155 | 2009-03-19,331.68,336.0,327.38,329.94,4111200 1156 | 2009-03-20,330.3,332.99,326.34,330.16,4737900 1157 | 2009-03-23,333.56,349.45,333.03,348.6,4271500 1158 | 2009-03-24,346.5,353.84,344.0,347.17,3820000 1159 | 2009-03-25,350.4,351.34,336.25,344.07,4336300 1160 | 2009-03-26,353.13,359.16,348.5,353.29,6003300 1161 | 2009-03-27,350.0,352.0,345.47,347.7,3322800 1162 | 2009-03-30,342.55,343.81,336.05,342.69,3094100 1163 | 2009-03-31,348.93,353.51,346.18,348.06,3655300 1164 | 2009-04-01,343.78,355.24,340.61,354.09,3301200 1165 | 2009-04-02,363.31,369.76,360.32,362.5,4488000 1166 | 2009-04-03,364.5,371.72,358.0,369.78,3789800 1167 | 2009-04-06,367.0,369.82,361.4,368.24,3280300 1168 | 2009-04-07,362.6,363.75,355.31,358.65,3680100 1169 | 2009-04-08,363.5,365.0,356.21,362.0,2765200 1170 | 2009-04-09,369.5,374.35,366.25,372.5,3382600 1171 | 2009-04-13,371.33,379.1,370.3,378.11,3050100 1172 | 2009-04-14,376.94,376.99,365.6,368.91,3428600 1173 | 2009-04-15,367.1,381.06,364.16,379.5,4930700 1174 | 2009-04-16,381.5,392.9,381.02,388.74,10185100 1175 | 2009-04-17,386.02,399.82,384.81,392.24,10730800 1176 | 2009-04-20,386.15,390.65,375.89,379.3,4428900 1177 | 2009-04-21,376.17,384.3,376.1,381.47,3695400 1178 | 2009-04-22,381.75,390.0,379.01,383.86,3501800 1179 | 2009-04-23,387.51,389.75,381.11,384.69,2609000 1180 | 2009-04-24,386.05,393.18,380.5,389.49,3385400 1181 | 2009-04-27,384.34,389.49,382.75,385.95,2290600 1182 | 2009-04-28,383.75,389.05,381.54,383.71,2943600 1183 | 2009-04-29,385.97,394.97,385.83,391.47,3610000 1184 | 2009-04-30,395.76,403.75,394.8,395.97,4355700 1185 | 2009-05-01,395.03,397.59,391.55,393.69,2427700 1186 | 2009-05-04,398.17,402.4,394.79,401.98,3203000 1187 | 2009-05-05,399.98,405.0,397.25,402.99,2400800 1188 | 2009-05-06,406.79,408.28,401.0,403.47,2632900 1189 | 2009-05-07,404.1,404.99,392.5,396.61,2999800 1190 | 2009-05-08,402.85,410.13,395.0,407.33,3865100 1191 | 2009-05-11,402.8,412.0,401.2,407.98,2559300 1192 | 2009-05-12,410.01,410.99,395.11,399.01,3790800 1193 | 2009-05-13,394.09,396.39,388.35,389.54,2842800 1194 | 2009-05-14,388.8,392.21,384.69,387.5,2937000 1195 | 2009-05-15,391.1,394.11,389.09,390.0,3008700 1196 | 2009-05-18,394.73,397.31,385.4,396.84,3351700 1197 | 2009-05-19,396.1,401.64,393.0,398.88,2837500 1198 | 2009-05-20,402.09,405.67,395.0,397.18,2284000 1199 | 2009-05-21,396.3,402.84,393.84,396.5,2719800 1200 | 2009-05-22,396.66,398.65,392.0,393.5,1718600 1201 | 2009-05-26,391.95,405.0,390.0,404.36,3104500 1202 | 2009-05-27,405.64,411.86,404.81,405.56,3034300 1203 | 2009-05-28,408.68,411.62,404.61,410.4,2668800 1204 | 2009-05-29,412.11,417.23,410.7,417.23,2648200 1205 | 2009-06-01,418.73,429.6,418.53,426.56,3322400 1206 | 2009-06-02,426.25,429.96,423.4,428.4,2623600 1207 | 2009-06-03,426.0,432.46,424.0,431.65,3532800 1208 | 2009-06-04,435.3,441.24,434.5,440.28,3638100 1209 | 2009-06-05,445.07,447.34,439.46,444.32,3680800 1210 | 2009-06-08,439.5,440.92,434.12,438.77,3098700 1211 | 2009-06-09,438.58,440.5,431.76,435.62,3254900 1212 | 2009-06-10,436.23,437.89,426.67,432.6,3358900 1213 | 2009-06-11,431.77,433.73,428.37,429.0,2865200 1214 | 2009-06-12,426.86,427.7,421.21,424.84,2918400 1215 | 2009-06-15,421.5,421.5,414.0,416.77,3736900 1216 | 2009-06-16,419.31,421.09,415.42,416.0,3049700 1217 | 2009-06-17,416.19,419.72,411.56,415.16,3490100 1218 | 2009-06-18,415.68,418.69,413.0,414.06,3085200 1219 | 2009-06-19,418.21,420.46,414.58,420.09,4259100 1220 | 2009-06-22,416.95,417.49,401.89,407.35,4124400 1221 | 2009-06-23,406.65,408.99,402.55,405.68,2899600 1222 | 2009-06-24,408.74,412.23,406.56,409.29,2457800 1223 | 2009-06-25,407.0,415.9,406.51,415.77,3044500 1224 | 2009-06-26,413.68,428.23,413.11,425.32,3256700 1225 | 2009-06-29,426.0,427.8,422.24,424.14,2169300 1226 | 2009-06-30,424.0,427.21,418.22,421.59,2593900 1227 | 2009-07-01,424.2,426.4,418.15,418.99,2310800 1228 | 2009-07-02,415.41,415.41,406.81,408.49,2517600 1229 | 2009-07-06,406.5,410.64,401.66,409.61,2262600 1230 | 2009-07-07,408.24,409.19,395.98,396.63,3259300 1231 | 2009-07-08,400.0,406.0,398.06,402.49,3441200 1232 | 2009-07-09,406.12,414.45,405.8,410.39,3275600 1233 | 2009-07-10,409.58,417.37,408.7,414.4,2926600 1234 | 2009-07-13,416.17,424.52,415.18,424.3,4045700 1235 | 2009-07-14,423.71,426.73,420.87,424.69,2895800 1236 | 2009-07-15,429.66,438.68,428.49,438.17,3777000 1237 | 2009-07-16,436.68,445.75,434.1,442.6,6554500 1238 | 2009-07-17,433.0,435.48,426.7,430.25,6854100 1239 | 2009-07-20,429.88,432.85,426.25,430.17,3153500 1240 | 2009-07-21,430.94,431.9,425.72,427.9,2968200 1241 | 2009-07-22,428.0,430.2,423.5,427.69,2586700 1242 | 2009-07-23,428.68,441.21,425.5,437.34,3478200 1243 | 2009-07-24,435.81,450.49,435.0,446.72,3626900 1244 | 2009-07-27,446.04,446.75,437.61,444.8,2504400 1245 | 2009-07-28,441.0,442.81,436.1,439.85,2532500 1246 | 2009-07-29,437.23,437.8,431.89,436.24,1987000 1247 | 2009-07-30,442.61,451.47,442.61,445.64,3198600 1248 | 2009-07-31,449.98,452.7,442.43,443.05,2860400 1249 | 2009-08-03,448.74,453.9,447.64,452.21,2590300 1250 | 2009-08-04,449.37,454.0,448.43,453.73,2389800 1251 | 2009-08-05,456.0,456.91,447.88,451.14,2342000 1252 | 2009-08-06,454.3,454.88,448.53,450.36,2110900 1253 | 2009-08-07,455.67,459.42,454.99,457.1,2543100 1254 | 2009-08-10,455.14,458.41,453.79,456.61,1742000 1255 | 2009-08-11,453.67,457.23,452.38,453.94,1712500 1256 | 2009-08-12,455.41,461.75,454.92,458.58,2341400 1257 | 2009-08-13,462.15,464.72,458.91,462.28,1995200 1258 | 2009-08-14,462.78,463.18,456.89,460.0,1675100 1259 | 2009-08-17,451.5,451.99,443.12,444.89,2620200 1260 | 2009-08-18,445.1,447.7,442.32,445.28,2351100 1261 | 2009-08-19,439.99,445.0,438.56,443.97,2255000 1262 | 2009-08-20,452.0,462.18,451.23,460.41,3998900 1263 | 2009-08-21,465.54,466.09,462.65,465.24,3560500 1264 | 2009-08-24,467.35,470.09,464.42,468.73,2453400 1265 | 2009-08-25,469.13,474.35,468.72,471.37,2341000 1266 | 2009-08-26,472.76,473.0,466.7,468.0,1987800 1267 | 2009-08-27,468.58,468.58,460.73,466.06,1998900 1268 | 2009-08-28,469.26,472.37,463.38,464.75,1771600 1269 | 2009-08-31,459.79,461.86,458.0,461.67,1957900 1270 | 2009-09-01,459.68,466.82,454.42,455.76,2594900 1271 | 2009-09-02,455.82,458.33,452.59,453.01,1804800 1272 | 2009-09-03,455.82,458.25,455.0,457.52,1646200 1273 | 2009-09-04,457.57,462.6,455.78,461.3,1499200 1274 | 2009-09-08,464.29,466.99,455.84,458.62,2656700 1275 | 2009-09-09,459.06,466.27,458.8,463.97,2195400 1276 | 2009-09-10,466.65,470.94,462.0,470.94,2534600 1277 | 2009-09-11,470.4,473.3,467.63,472.14,1902900 1278 | 2009-09-14,470.51,476.8,470.05,475.12,1975700 1279 | 2009-09-15,475.08,478.91,472.71,477.54,2398100 1280 | 2009-09-16,479.8,489.37,478.48,488.29,2585300 1281 | 2009-09-17,490.57,497.37,487.15,491.72,4483100 1282 | 2009-09-18,496.77,496.98,491.23,491.46,3283500 1283 | 2009-09-21,487.74,498.9,486.22,497.0,2116400 1284 | 2009-09-22,500.92,501.99,497.81,499.06,3041200 1285 | 2009-09-23,500.78,507.0,497.71,498.46,2704200 1286 | 2009-09-24,500.47,501.41,493.0,496.77,2527600 1287 | 2009-09-25,494.29,499.93,492.0,492.48,2049600 1288 | 2009-09-28,494.84,501.5,493.3,498.53,1839300 1289 | 2009-09-29,499.53,499.75,493.01,498.53,2099200 1290 | 2009-09-30,500.0,500.14,487.24,495.85,3141700 1291 | 2009-10-01,493.0,496.47,487.0,487.2,2813200 1292 | 2009-10-02,483.74,491.74,482.6,484.58,2600800 1293 | 2009-10-05,487.65,492.43,483.34,488.52,2144600 1294 | 2009-10-06,491.7,499.37,491.7,498.74,2732300 1295 | 2009-10-07,499.0,518.99,497.81,517.54,4874200 1296 | 2009-10-08,519.57,523.25,513.34,514.18,4303800 1297 | 2009-10-09,516.65,521.51,514.5,516.25,2738100 1298 | 2009-10-12,523.42,525.76,519.32,524.04,3322200 1299 | 2009-10-13,524.39,527.46,521.38,526.11,3037400 1300 | 2009-10-14,532.46,535.58,530.0,535.32,3258400 1301 | 2009-10-15,533.75,536.9,527.27,529.91,6100400 1302 | 2009-10-16,547.33,554.75,544.53,549.85,8841900 1303 | 2009-10-19,552.69,553.6,548.73,552.09,3217900 1304 | 2009-10-20,551.64,552.95,540.7,551.72,4043700 1305 | 2009-10-21,549.91,559.35,549.0,551.1,3670600 1306 | 2009-10-22,550.0,555.0,548.0,554.09,2336500 1307 | 2009-10-23,555.25,557.89,551.2,553.69,2392700 1308 | 2009-10-26,555.75,561.64,550.89,554.21,2970400 1309 | 2009-10-27,550.97,554.56,544.16,548.29,3216500 1310 | 2009-10-28,547.87,550.0,538.25,540.3,2567800 1311 | 2009-10-29,543.01,551.83,541.0,551.05,2522600 1312 | 2009-10-30,550.0,550.17,534.24,536.12,3468500 1313 | 2009-11-02,537.08,539.46,528.24,533.99,3202100 1314 | 2009-11-03,530.01,537.5,528.3,537.29,2380200 1315 | 2009-11-04,540.8,545.5,536.42,540.33,2332700 1316 | 2009-11-05,543.49,549.77,542.66,548.65,1847700 1317 | 2009-11-06,547.72,551.78,545.5,551.1,1826700 1318 | 2009-11-09,555.45,562.58,554.23,562.51,2649900 1319 | 2009-11-10,562.73,568.78,562.0,566.76,2230800 1320 | 2009-11-11,570.48,573.5,565.86,570.56,2319700 1321 | 2009-11-12,569.56,572.9,565.5,567.85,1886300 1322 | 2009-11-13,569.29,572.51,566.61,572.05,1666800 1323 | 2009-11-16,575.0,576.99,572.78,576.28,2199200 1324 | 2009-11-17,574.87,577.5,573.72,577.49,1916700 1325 | 2009-11-18,576.65,578.78,572.07,576.65,1549600 1326 | 2009-11-19,573.77,574.0,570.0,572.99,2168000 1327 | 2009-11-20,569.5,571.6,569.4,569.96,2006200 1328 | 2009-11-23,576.49,586.6,575.86,582.35,2547500 1329 | 2009-11-24,582.52,584.29,576.54,583.09,1605200 1330 | 2009-11-25,586.41,587.06,582.69,585.74,1461200 1331 | 2009-11-27,572.0,582.46,570.97,579.76,1384600 1332 | 2009-11-30,580.63,583.67,577.11,583.0,1725100 1333 | 2009-12-01,588.13,591.22,583.0,589.87,2320300 1334 | 2009-12-02,591.0,593.01,586.22,587.51,1663200 1335 | 2009-12-03,589.04,591.45,585.0,585.74,1428700 1336 | 2009-12-04,593.02,594.83,579.18,585.01,2513600 1337 | 2009-12-07,584.21,588.69,581.0,586.25,1636200 1338 | 2009-12-08,583.5,590.66,582.0,587.05,1524000 1339 | 2009-12-09,587.5,589.33,583.58,589.02,1781000 1340 | 2009-12-10,590.44,594.71,590.41,591.5,1668300 1341 | 2009-12-11,594.68,594.75,587.73,590.51,1720000 1342 | 2009-12-14,595.35,597.31,592.61,595.73,1913400 1343 | 2009-12-15,593.3,596.38,590.99,593.14,2280400 1344 | 2009-12-16,598.6,600.37,596.64,597.76,2809400 1345 | 2009-12-17,596.44,597.64,593.76,593.94,2638800 1346 | 2009-12-18,596.03,598.93,595.0,596.42,3531500 1347 | 2009-12-21,597.61,599.84,595.67,598.68,2571200 1348 | 2009-12-22,601.34,601.5,598.85,601.12,1880800 1349 | 2009-12-23,603.5,612.87,602.85,611.68,2072700 1350 | 2009-12-24,612.93,619.52,612.27,618.48,858700 1351 | 2009-12-28,621.66,625.99,618.48,622.87,1697900 1352 | 2009-12-29,624.74,624.84,618.29,619.4,1424800 1353 | 2009-12-30,618.5,622.73,618.01,622.73,1465600 1354 | 2009-12-31,624.75,625.4,619.98,619.98,1219800 1355 | 2010-01-04,626.95,629.51,624.24,626.75,1956200 1356 | 2010-01-05,627.18,627.84,621.54,623.99,3004700 1357 | 2010-01-06,625.86,625.86,606.36,608.26,3978700 1358 | 2010-01-07,609.4,610.0,592.65,594.1,6414300 1359 | 2010-01-08,592.0,603.25,589.11,602.02,4724300 1360 | 2010-01-11,604.46,604.46,594.04,601.11,7212900 1361 | 2010-01-12,597.65,598.16,588.0,590.48,4853300 1362 | 2010-01-13,576.49,588.38,573.9,587.09,6496600 1363 | 2010-01-14,583.9,594.2,582.81,589.85,4240100 1364 | 2010-01-15,593.34,593.56,578.04,580.0,5434500 1365 | 2010-01-19,581.2,590.42,576.29,587.62,4316700 1366 | 2010-01-20,585.98,585.98,575.29,580.41,3250700 1367 | 2010-01-21,583.44,586.82,572.25,582.98,6307700 1368 | 2010-01-22,564.5,570.6,534.86,550.01,6800400 1369 | 2010-01-25,546.59,549.88,535.51,540.0,4419900 1370 | 2010-01-26,537.97,549.6,536.29,542.42,4355500 1371 | 2010-01-27,541.27,547.65,535.31,542.1,3964400 1372 | 2010-01-28,544.49,547.0,530.6,534.29,3229100 1373 | 2010-01-29,538.49,540.99,525.61,529.94,4140500 1374 | 2010-02-01,534.6,535.81,530.3,533.02,2250800 1375 | 2010-02-02,534.96,534.96,527.61,531.12,4096200 1376 | 2010-02-03,528.67,542.1,528.23,540.82,2999100 1377 | 2010-02-04,537.0,538.0,525.56,526.78,3377700 1378 | 2010-02-05,528.4,533.5,522.46,531.29,3156000 1379 | 2010-02-08,532.5,542.0,531.53,533.47,2694300 1380 | 2010-02-09,539.54,541.53,535.07,536.44,2819600 1381 | 2010-02-10,534.07,537.79,527.69,534.45,2674500 1382 | 2010-02-11,533.32,540.49,529.5,536.4,2410000 1383 | 2010-02-12,532.97,537.15,530.5,533.12,2279700 1384 | 2010-02-16,536.87,544.13,534.3,541.3,3654400 1385 | 2010-02-17,542.0,543.4,537.61,538.21,2029700 1386 | 2010-02-18,537.54,545.01,536.14,543.22,2336900 1387 | 2010-02-19,540.53,544.03,539.7,540.76,2553100 1388 | 2010-02-22,547.35,547.5,541.0,542.8,2144600 1389 | 2010-02-23,543.0,543.63,532.29,535.07,2872600 1390 | 2010-02-24,533.98,538.44,530.51,531.47,2326600 1391 | 2010-02-25,527.12,528.49,520.0,526.43,3309200 1392 | 2010-02-26,527.42,531.75,523.48,526.8,2049300 1393 | 2010-03-01,529.2,533.29,527.74,532.69,2237900 1394 | 2010-03-02,535.48,545.66,535.01,541.06,4356800 1395 | 2010-03-03,542.36,548.12,539.25,545.32,3089400 1396 | 2010-03-04,546.5,556.13,546.2,554.59,3183800 1397 | 2010-03-05,561.35,567.67,559.9,564.21,3912200 1398 | 2010-03-08,564.78,565.18,561.01,562.48,2386400 1399 | 2010-03-09,559.85,564.66,556.5,560.19,3176600 1400 | 2010-03-10,563.76,578.5,562.21,576.45,5654900 1401 | 2010-03-11,574.26,586.21,574.2,581.14,4233300 1402 | 2010-03-12,588.14,588.28,579.16,579.54,2753400 1403 | 2010-03-15,566.68,569.45,556.0,563.18,4653900 1404 | 2010-03-16,561.83,568.42,560.76,565.2,3431500 1405 | 2010-03-17,568.3,571.45,564.25,565.56,3321600 1406 | 2010-03-18,564.72,568.44,562.96,566.4,1777200 1407 | 2010-03-19,566.23,568.0,557.28,560.0,4792400 1408 | 2010-03-22,556.11,566.85,554.28,557.5,4004800 1409 | 2010-03-23,557.04,558.31,542.0,549.0,5501300 1410 | 2010-03-24,545.51,559.85,539.7,557.33,6565200 1411 | 2010-03-25,559.02,572.0,558.66,562.88,3930900 1412 | 2010-03-26,565.27,567.39,560.02,562.69,2696200 1413 | 2010-03-29,563.0,564.72,560.57,562.45,3104500 1414 | 2010-03-30,562.83,567.63,560.28,566.71,1977900 1415 | 2010-03-31,565.05,569.74,562.81,567.12,3030800 1416 | 2010-04-01,571.35,573.45,565.55,568.8,2102700 1417 | 2010-04-05,570.9,574.88,569.0,571.01,1901500 1418 | 2010-04-06,569.46,570.89,565.4,568.22,2060100 1419 | 2010-04-07,567.3,568.75,561.86,563.54,2581000 1420 | 2010-04-08,563.32,569.85,560.05,567.49,1947500 1421 | 2010-04-09,567.49,568.77,564.0,566.22,2056600 1422 | 2010-04-12,567.35,574.0,566.22,572.73,2352400 1423 | 2010-04-13,572.53,588.88,571.13,586.77,3912300 1424 | 2010-04-14,590.06,592.34,584.01,589.0,3402700 1425 | 2010-04-15,592.17,597.84,588.29,595.3,6761800 1426 | 2010-04-16,563.0,568.81,549.63,550.15,12235500 1427 | 2010-04-19,548.75,553.99,545.0,550.1,3894000 1428 | 2010-04-20,554.17,559.66,551.06,555.04,2977400 1429 | 2010-04-21,556.46,560.25,552.16,554.3,2391500 1430 | 2010-04-22,552.0,552.5,543.35,547.06,3280700 1431 | 2010-04-23,547.25,549.32,542.27,544.99,2089400 1432 | 2010-04-26,544.97,544.99,529.21,531.64,4368800 1433 | 2010-04-27,528.95,538.33,527.23,529.06,3844700 1434 | 2010-04-28,532.1,534.83,521.03,529.19,3406100 1435 | 2010-04-29,533.37,536.5,526.67,532.0,3058900 1436 | 2010-04-30,531.13,537.68,525.44,525.7,2435400 1437 | 2010-05-03,526.5,532.92,525.08,530.6,1857800 1438 | 2010-05-04,526.52,526.74,504.21,506.37,6076300 1439 | 2010-05-05,500.98,515.72,500.47,509.76,4582200 1440 | 2010-05-06,508.75,517.52,460.0,498.67,5000100 1441 | 2010-05-07,499.97,505.32,481.33,493.14,5089000 1442 | 2010-05-10,513.97,522.82,512.6,521.65,4128000 1443 | 2010-05-11,515.67,519.88,508.22,509.05,3322600 1444 | 2010-05-12,512.04,512.04,502.0,505.39,3851800 1445 | 2010-05-13,516.5,522.0,510.37,510.88,3325800 1446 | 2010-05-14,509.77,510.99,496.25,507.53,4116000 1447 | 2010-05-17,506.78,508.36,498.35,507.97,2793800 1448 | 2010-05-18,510.0,510.97,497.07,498.37,2825500 1449 | 2010-05-19,496.26,499.44,487.74,494.43,3445700 1450 | 2010-05-20,485.07,485.58,473.8,475.01,4913300 1451 | 2010-05-21,469.06,485.0,464.4,472.05,9690800 1452 | 2010-05-24,480.73,489.79,476.8,477.16,4345600 1453 | 2010-05-25,468.15,477.45,464.01,477.07,3017400 1454 | 2010-05-26,482.07,489.76,475.0,475.47,3475600 1455 | 2010-05-27,484.95,492.31,481.05,490.46,2809100 1456 | 2010-05-28,492.74,493.45,483.0,485.63,2894800 1457 | 2010-06-01,480.43,491.06,480.12,482.37,2666800 1458 | 2010-06-02,486.68,493.87,481.46,493.37,2540800 1459 | 2010-06-03,495.11,508.0,494.7,505.6,3650700 1460 | 2010-06-04,499.72,509.25,496.7,498.72,3920300 1461 | 2010-06-07,499.06,500.91,483.15,485.52,3632700 1462 | 2010-06-08,487.85,488.84,477.54,484.78,2685100 1463 | 2010-06-09,487.22,488.88,472.0,474.02,2729000 1464 | 2010-06-10,480.37,488.5,475.84,487.01,2577900 1465 | 2010-06-11,482.5,488.71,481.62,488.5,1781700 1466 | 2010-06-14,494.48,494.5,483.19,483.19,2040400 1467 | 2010-06-15,483.08,500.4,482.18,497.99,4259600 1468 | 2010-06-16,496.17,504.0,496.11,501.27,2289300 1469 | 2010-06-17,503.45,505.87,496.69,500.08,1977300 1470 | 2010-06-18,502.51,503.47,498.13,500.03,2872900 1471 | 2010-06-21,499.9,500.97,484.89,488.56,2983500 1472 | 2010-06-22,489.9,496.6,485.73,486.25,2219700 1473 | 2010-06-23,486.89,486.89,478.16,482.05,2029100 1474 | 2010-06-24,479.66,482.75,473.26,475.1,1893600 1475 | 2010-06-25,477.06,477.65,470.56,472.68,2245200 1476 | 2010-06-28,472.59,477.55,469.01,472.08,1762300 1477 | 2010-06-29,463.44,464.55,451.12,454.26,3502100 1478 | 2010-06-30,454.96,457.83,444.72,444.95,3603200 1479 | 2010-07-01,445.29,448.4,433.63,439.49,3513600 1480 | 2010-07-02,441.62,442.28,436.0,436.55,1936000 1481 | 2010-07-06,444.0,447.67,433.63,436.07,2560100 1482 | 2010-07-07,438.31,451.29,435.38,450.2,3129700 1483 | 2010-07-08,453.55,457.33,449.66,456.56,2668900 1484 | 2010-07-09,471.96,473.26,462.78,467.49,4331500 1485 | 2010-07-12,472.37,479.44,471.08,475.83,3334400 1486 | 2010-07-13,482.25,492.99,480.28,489.2,3976300 1487 | 2010-07-14,489.88,493.83,486.46,491.34,3118000 1488 | 2010-07-15,491.73,494.7,482.68,494.02,4858200 1489 | 2010-07-16,469.12,470.56,459.52,459.61,7824800 1490 | 2010-07-19,461.01,469.65,457.52,466.18,4550300 1491 | 2010-07-20,461.03,482.99,460.6,481.59,4054500 1492 | 2010-07-21,484.0,485.7,475.43,477.5,3279600 1493 | 2010-07-22,483.23,488.98,482.48,484.81,2147700 1494 | 2010-07-23,480.77,490.59,480.01,490.06,2264400 1495 | 2010-07-26,489.09,490.75,484.88,488.97,1995200 1496 | 2010-07-27,490.58,497.5,490.17,492.63,2451200 1497 | 2010-07-28,494.94,495.25,482.67,484.35,2496000 1498 | 2010-07-29,485.95,488.88,479.33,484.99,2675500 1499 | 2010-07-30,479.65,487.36,479.14,484.85,2144100 1500 | 2010-08-02,488.99,493.28,486.94,490.41,1858700 1501 | 2010-08-03,490.5,492.46,486.76,489.83,1802300 1502 | 2010-08-04,492.18,507.0,491.05,506.32,3812500 1503 | 2010-08-05,505.89,508.6,503.56,508.1,2420400 1504 | 2010-08-06,505.4,505.74,496.05,500.22,3319500 1505 | 2010-08-09,502.25,505.5,501.36,505.35,1872200 1506 | 2010-08-10,502.35,506.0,498.57,503.71,2074000 1507 | 2010-08-11,497.73,498.0,491.5,491.74,2223000 1508 | 2010-08-12,483.94,494.75,482.51,492.01,2204600 1509 | 2010-08-13,489.0,491.19,486.01,486.35,1934700 1510 | 2010-08-16,483.68,489.87,480.5,485.59,1305000 1511 | 2010-08-17,488.53,494.7,486.03,490.52,1890700 1512 | 2010-08-18,490.44,490.87,481.55,482.15,2686400 1513 | 2010-08-19,481.01,482.51,467.25,467.97,3925000 1514 | 2010-08-20,467.97,471.59,461.02,462.02,3917600 1515 | 2010-08-23,461.5,468.25,457.73,464.07,2986200 1516 | 2010-08-24,457.7,458.37,450.92,451.39,2762700 1517 | 2010-08-25,450.0,457.81,450.0,454.62,2592100 1518 | 2010-08-26,456.06,457.26,450.44,450.98,1777000 1519 | 2010-08-27,452.56,459.99,447.65,458.83,2312400 1520 | 2010-08-30,459.15,459.76,452.42,452.69,1231400 1521 | 2010-08-31,450.11,454.87,448.0,450.02,1946800 1522 | 2010-09-01,454.98,464.94,452.5,460.33,3228300 1523 | 2010-09-02,462.84,464.43,460.31,463.18,1684200 1524 | 2010-09-03,470.52,471.88,467.44,470.3,2540400 1525 | 2010-09-07,464.5,467.59,463.02,464.4,1709900 1526 | 2010-09-08,465.19,472.5,464.51,470.58,2401800 1527 | 2010-09-09,477.83,480.4,470.58,476.18,2430600 1528 | 2010-09-10,479.02,479.79,475.08,476.14,1974300 1529 | 2010-09-13,480.9,484.35,479.53,482.27,2241500 1530 | 2010-09-14,482.01,484.75,480.08,480.43,2216500 1531 | 2010-09-15,479.95,481.89,478.5,480.64,2402800 1532 | 2010-09-16,479.95,482.45,479.41,481.06,1969500 1533 | 2010-09-17,483.75,491.2,481.18,490.15,5641600 1534 | 2010-09-20,492.5,510.41,492.06,508.28,4403500 1535 | 2010-09-21,509.68,519.98,508.91,513.46,4466300 1536 | 2010-09-22,512.86,517.78,511.68,516.0,2537100 1537 | 2010-09-23,514.61,519.69,511.3,513.48,2317400 1538 | 2010-09-24,521.74,527.83,518.26,527.29,3356900 1539 | 2010-09-27,528.85,536.85,528.85,530.41,3107400 1540 | 2010-09-28,533.48,533.59,518.45,527.17,3654700 1541 | 2010-09-29,527.85,532.94,524.71,527.69,2172200 1542 | 2010-09-30,529.16,531.87,518.92,525.79,3244100 1543 | 2010-10-01,530.0,530.62,523.0,525.62,2225000 1544 | 2010-10-04,524.95,528.25,518.85,522.35,1940500 1545 | 2010-10-05,528.38,540.0,526.55,538.23,3507100 1546 | 2010-10-06,539.26,539.95,529.94,534.35,2762300 1547 | 2010-10-07,536.21,537.2,529.14,530.01,2395800 1548 | 2010-10-08,532.77,537.6,527.62,536.35,2859200 1549 | 2010-10-11,538.48,544.6,537.17,538.84,2626300 1550 | 2010-10-12,540.12,545.99,537.79,541.39,3753600 1551 | 2010-10-13,547.0,547.49,542.33,543.3,3055600 1552 | 2010-10-14,544.18,545.25,537.11,540.93,6634100 1553 | 2010-10-15,599.27,601.64,591.6,601.45,14824800 1554 | 2010-10-18,600.55,619.69,600.55,617.71,7098200 1555 | 2010-10-19,608.85,614.82,602.86,607.83,4587900 1556 | 2010-10-20,608.14,617.38,607.5,607.98,3525100 1557 | 2010-10-21,611.51,616.0,606.0,611.99,2920500 1558 | 2010-10-22,611.92,614.82,610.05,612.53,2256100 1559 | 2010-10-25,615.59,624.74,614.97,616.5,3158400 1560 | 2010-10-26,613.1,621.23,611.03,618.6,2512900 1561 | 2010-10-27,615.77,620.0,612.33,616.47,2241900 1562 | 2010-10-28,620.05,621.0,613.3,618.58,2184300 1563 | 2010-10-29,617.07,619.0,612.99,613.7,2278300 1564 | 2010-11-01,615.73,620.66,611.21,615.0,3087100 1565 | 2010-11-02,618.67,620.0,614.58,615.6,1997600 1566 | 2010-11-03,617.5,621.83,613.5,620.18,3380500 1567 | 2010-11-04,624.64,629.92,622.1,624.27,3570800 1568 | 2010-11-05,623.18,625.49,621.11,625.08,1765700 1569 | 2010-11-08,624.02,629.49,623.13,626.77,2101300 1570 | 2010-11-09,630.0,630.85,620.51,624.82,2237200 1571 | 2010-11-10,622.08,623.0,617.51,622.88,2497000 1572 | 2010-11-11,619.7,619.85,614.21,617.19,2261600 1573 | 2010-11-12,613.99,616.9,601.21,603.29,3393000 1574 | 2010-11-15,603.08,604.0,594.05,595.47,3478900 1575 | 2010-11-16,592.76,597.89,583.45,583.72,3307400 1576 | 2010-11-17,585.0,589.5,581.37,583.55,2442500 1577 | 2010-11-18,589.0,599.98,588.56,596.56,2590000 1578 | 2010-11-19,597.0,597.89,590.34,590.83,2297500 1579 | 2010-11-22,587.47,593.44,582.75,591.22,2186600 1580 | 2010-11-23,587.01,589.01,578.2,583.01,2162600 1581 | 2010-11-24,587.31,596.6,587.05,594.97,2396400 1582 | 2010-11-26,590.46,592.98,587.0,590.0,1311100 1583 | 2010-11-29,589.17,589.8,579.95,582.11,2859700 1584 | 2010-11-30,574.32,574.32,553.31,555.71,7117400 1585 | 2010-12-01,563.0,571.57,562.4,564.35,3754100 1586 | 2010-12-02,568.66,573.33,565.35,571.82,2547900 1587 | 2010-12-03,569.45,576.48,568.0,573.0,2631200 1588 | 2010-12-06,580.57,582.0,576.61,578.36,2093800 1589 | 2010-12-07,591.27,593.0,586.0,587.14,3042200 1590 | 2010-12-08,591.97,592.52,583.69,590.54,1756900 1591 | 2010-12-09,593.88,595.58,589.0,591.5,1868900 1592 | 2010-12-10,593.14,593.99,590.29,592.21,1704700 1593 | 2010-12-13,597.12,603.0,594.09,594.62,2398500 1594 | 2010-12-14,597.09,598.29,592.48,594.91,1643300 1595 | 2010-12-15,594.2,596.45,589.15,590.3,2167700 1596 | 2010-12-16,592.85,593.77,588.07,591.71,1596900 1597 | 2010-12-17,591.0,592.56,587.67,590.8,3087100 1598 | 2010-12-20,594.65,597.88,588.66,595.06,1973300 1599 | 2010-12-21,598.57,604.72,597.61,603.07,1879500 1600 | 2010-12-22,604.0,607.0,603.28,605.49,1207500 1601 | 2010-12-23,605.34,606.0,602.03,604.23,1110800 1602 | 2010-12-27,602.74,603.78,599.5,602.38,1208100 1603 | 2010-12-28,602.05,603.87,598.01,598.92,1064800 1604 | 2010-12-29,602.0,602.41,598.92,601.0,1019200 1605 | 2010-12-30,598.0,601.33,597.39,598.86,989500 1606 | 2010-12-31,596.74,598.42,592.03,593.97,1539300 1607 | 2011-01-03,596.48,605.59,596.48,604.35,2365200 1608 | 2011-01-04,605.62,606.18,600.12,602.12,1824500 1609 | 2011-01-05,600.07,610.33,600.05,609.07,2532300 1610 | 2011-01-06,610.68,618.43,610.05,613.5,2057800 1611 | 2011-01-07,615.91,618.25,610.13,616.44,2101200 1612 | 2011-01-10,614.8,615.39,608.56,614.21,1579200 1613 | 2011-01-11,617.71,618.8,614.5,616.01,1439300 1614 | 2011-01-12,619.35,619.35,614.77,616.87,1632700 1615 | 2011-01-13,616.97,619.67,614.16,616.69,1334000 1616 | 2011-01-14,617.4,624.27,617.08,624.18,2365600 1617 | 2011-01-18,626.06,641.99,625.27,639.63,3617000 1618 | 2011-01-19,642.12,642.96,629.66,631.75,3406100 1619 | 2011-01-20,632.21,634.08,623.29,626.77,5485800 1620 | 2011-01-21,639.58,641.73,611.36,611.83,8904400 1621 | 2011-01-24,607.57,612.49,601.23,611.08,4599200 1622 | 2011-01-25,608.2,620.69,606.52,619.91,3646800 1623 | 2011-01-26,620.33,622.49,615.28,616.5,2038100 1624 | 2011-01-27,617.89,619.7,613.25,616.79,2019200 1625 | 2011-01-28,619.07,620.36,599.76,600.99,4231100 1626 | 2011-01-31,603.6,604.47,595.55,600.36,2804900 1627 | 2011-02-01,604.49,613.35,603.11,611.04,2745300 1628 | 2011-02-02,611.0,614.34,607.53,612.0,1760700 1629 | 2011-02-03,609.48,611.45,606.13,610.15,1495100 1630 | 2011-02-04,610.15,611.44,606.61,610.98,1550800 1631 | 2011-02-07,610.16,618.39,609.21,614.29,1799600 1632 | 2011-02-08,614.93,619.63,614.51,618.38,1694900 1633 | 2011-02-09,616.87,619.45,612.34,616.5,1842500 1634 | 2011-02-10,613.9,617.5,611.56,616.44,2334400 1635 | 2011-02-11,613.79,625.0,613.0,624.5,2589900 1636 | 2011-02-14,623.34,629.64,620.04,628.15,2128000 1637 | 2011-02-15,627.32,630.09,623.1,624.15,2092000 1638 | 2011-02-16,625.63,626.5,622.1,624.22,1684000 1639 | 2011-02-17,621.25,627.25,620.28,625.26,1478800 1640 | 2011-02-18,626.0,631.18,624.18,630.08,3217900 1641 | 2011-02-22,620.03,624.93,607.77,610.21,3639900 1642 | 2011-02-23,610.33,614.7,604.0,611.32,2889600 1643 | 2011-02-24,611.39,613.09,601.35,608.82,2711700 1644 | 2011-02-25,611.86,614.72,609.5,610.04,1932400 1645 | 2011-02-28,610.0,616.49,608.01,613.4,2281500 1646 | 2011-03-01,617.78,619.22,599.3,600.76,3323200 1647 | 2011-03-02,599.8,606.0,595.19,600.79,2026700 1648 | 2011-03-03,606.38,611.49,605.0,609.56,1945300 1649 | 2011-03-04,608.33,608.98,600.2,600.62,3011000 1650 | 2011-03-07,600.55,603.69,587.0,591.66,3462700 1651 | 2011-03-08,592.93,597.98,590.2,592.31,2284900 1652 | 2011-03-09,591.0,594.51,585.75,591.77,2151000 1653 | 2011-03-10,585.44,586.62,579.45,580.3,3128100 1654 | 2011-03-11,578.22,580.0,573.33,576.71,3032000 1655 | 2011-03-14,572.8,578.29,568.02,569.99,2816100 1656 | 2011-03-15,557.5,571.0,555.5,569.56,4005600 1657 | 2011-03-16,568.01,569.79,551.28,557.1,3798500 1658 | 2011-03-17,564.48,569.0,560.54,561.36,2899300 1659 | 2011-03-18,564.64,567.99,559.74,561.06,3298600 1660 | 2011-03-21,570.22,579.8,569.02,576.5,3020900 1661 | 2011-03-22,577.27,579.23,572.51,577.32,1886900 1662 | 2011-03-23,575.19,582.45,572.0,582.16,1816200 1663 | 2011-03-24,585.43,588.39,578.8,586.89,2098700 1664 | 2011-03-25,586.88,586.91,579.24,579.74,2858400 1665 | 2011-03-28,582.07,584.99,574.71,575.36,2218400 1666 | 2011-03-29,576.0,581.89,573.01,581.73,1604800 1667 | 2011-03-30,584.38,585.5,580.58,581.84,1422300 1668 | 2011-03-31,583.0,588.16,581.74,586.76,2029400 1669 | 2011-04-01,588.76,595.19,588.76,591.8,2613200 1670 | 2011-04-04,593.0,594.74,583.1,587.68,2054500 1671 | 2011-04-05,581.08,581.49,565.68,569.09,6047500 1672 | 2011-04-06,572.18,575.16,568.0,574.18,2668300 1673 | 2011-04-07,575.73,580.64,574.19,580.0,2531500 1674 | 2011-04-08,584.89,584.89,578.06,578.16,1901800 1675 | 2011-04-11,576.2,578.1,573.0,577.37,1858200 1676 | 2011-04-12,575.0,576.91,568.05,570.61,2085600 1677 | 2011-04-13,575.51,577.6,571.75,576.28,2069400 1678 | 2011-04-14,575.19,579.45,572.1,578.51,5456300 1679 | 2011-04-15,545.29,545.75,530.06,530.7,14043700 1680 | 2011-04-18,526.42,527.66,519.0,526.84,5039800 1681 | 2011-04-19,529.95,530.88,520.9,521.53,2684100 1682 | 2011-04-20,525.9,526.82,521.39,525.73,3060000 1683 | 2011-04-21,527.49,528.28,522.39,525.1,2470100 1684 | 2011-04-25,525.25,527.0,522.01,525.05,1630800 1685 | 2011-04-26,526.52,537.44,525.21,532.82,3500000 1686 | 2011-04-27,538.0,538.11,534.35,537.76,2298400 1687 | 2011-04-28,538.06,539.25,534.08,537.97,2000000 1688 | 2011-04-29,540.0,544.1,538.51,544.1,4228500 1689 | 2011-05-02,545.7,545.73,537.12,538.56,2133700 1690 | 2011-05-03,537.13,542.01,529.63,533.89,2081500 1691 | 2011-05-04,535.17,539.0,533.02,535.79,2117000 1692 | 2011-05-05,533.86,539.42,531.5,534.27,1997800 1693 | 2011-05-06,538.15,541.46,535.18,535.3,2056100 1694 | 2011-05-09,535.0,538.49,531.1,537.68,1948700 1695 | 2011-05-10,540.0,544.43,537.54,542.66,2042900 1696 | 2011-05-11,540.14,543.55,533.69,535.45,2338800 1697 | 2011-05-12,535.24,536.94,530.91,535.05,1448300 1698 | 2011-05-13,534.61,535.92,529.05,529.55,2108700 1699 | 2011-05-16,526.31,527.27,516.4,518.42,2958200 1700 | 2011-05-17,515.43,531.22,515.03,530.46,3303600 1701 | 2011-05-18,529.54,530.33,525.7,529.81,1953200 1702 | 2011-05-19,532.73,536.54,529.72,531.25,2468700 1703 | 2011-05-20,531.8,531.99,523.13,524.03,2317500 1704 | 2011-05-23,516.6,520.0,513.4,518.39,2300000 1705 | 2011-05-24,520.37,523.96,518.15,518.26,1900000 1706 | 2011-05-25,519.67,522.77,517.25,519.67,1301600 1707 | 2011-05-26,517.7,522.12,515.0,518.13,2118500 1708 | 2011-05-27,518.48,521.79,516.3,520.9,1745800 1709 | 2011-05-31,525.0,529.05,523.5,529.02,2687300 1710 | 2011-06-01,528.04,533.2,525.31,525.6,2955900 1711 | 2011-06-02,527.57,530.3,522.48,528.06,2204500 1712 | 2011-06-03,522.0,527.6,521.5,523.08,1748500 1713 | 2011-06-06,523.54,526.82,519.25,521.06,1942100 1714 | 2011-06-07,522.89,524.63,518.99,519.03,1907600 1715 | 2011-06-08,516.53,521.24,515.78,519.17,1653400 1716 | 2011-06-09,520.0,520.0,515.64,516.73,1689100 1717 | 2011-06-10,514.08,516.69,509.29,509.51,2439900 1718 | 2011-06-13,510.0,510.2,502.17,504.73,2427300 1719 | 2011-06-14,508.15,514.08,506.99,508.37,2341500 1720 | 2011-06-15,505.03,508.35,500.61,502.95,2073300 1721 | 2011-06-16,502.81,506.57,496.67,500.37,2757000 1722 | 2011-06-17,506.18,506.69,484.8,485.02,5245400 1723 | 2011-06-20,485.0,486.23,479.23,484.58,3028600 1724 | 2011-06-21,487.19,493.94,484.73,493.0,2765400 1725 | 2011-06-22,491.45,492.35,486.73,487.01,2407100 1726 | 2011-06-23,482.13,482.86,473.73,480.22,4801700 1727 | 2011-06-24,480.68,480.75,473.02,474.88,3805600 1728 | 2011-06-27,474.0,488.4,473.6,482.8,3444700 1729 | 2011-06-28,484.02,496.21,484.02,493.65,2715100 1730 | 2011-06-29,496.54,500.25,492.38,497.57,2343000 1731 | 2011-06-30,501.99,506.67,501.5,506.38,2428400 1732 | 2011-07-01,506.74,521.18,506.38,521.03,3636700 1733 | 2011-07-05,525.3,535.4,525.3,532.44,3849200 1734 | 2011-07-06,533.5,538.51,533.04,535.36,2695600 1735 | 2011-07-07,541.0,550.68,535.88,546.6,3935500 1736 | 2011-07-08,532.95,537.65,527.27,531.99,4770200 1737 | 2011-07-11,528.18,535.98,525.5,527.28,2839300 1738 | 2011-07-12,528.16,539.42,526.0,534.01,2841200 1739 | 2011-07-13,537.0,544.0,536.48,538.26,2790200 1740 | 2011-07-14,539.12,542.0,526.73,528.94,6649500 1741 | 2011-07-15,597.5,600.25,588.16,597.62,13732100 1742 | 2011-07-18,592.49,602.05,592.0,594.94,4468300 1743 | 2011-07-19,596.14,604.68,595.53,602.55,2967500 1744 | 2011-07-20,602.18,602.83,595.35,595.35,2227800 1745 | 2011-07-21,594.03,608.06,594.01,606.99,3469500 1746 | 2011-07-22,605.39,619.5,604.27,618.23,3528200 1747 | 2011-07-25,613.36,625.41,613.0,618.98,3131600 1748 | 2011-07-26,618.05,627.5,617.22,622.52,2342900 1749 | 2011-07-27,617.18,620.95,604.75,607.22,3934400 1750 | 2011-07-28,605.19,615.98,603.0,610.94,3108400 1751 | 2011-07-29,604.23,614.96,603.69,603.69,4137400 1752 | 2011-08-01,611.22,615.5,599.18,606.77,3966100 1753 | 2011-08-02,606.0,609.67,591.57,592.4,3200600 1754 | 2011-08-03,594.27,603.0,583.63,601.17,3825700 1755 | 2011-08-04,594.5,598.85,577.47,577.52,4914600 1756 | 2011-08-05,582.54,590.0,562.0,579.04,5929100 1757 | 2011-08-08,562.98,569.0,544.35,546.02,7496600 1758 | 2011-08-09,561.0,574.61,541.01,573.41,6469700 1759 | 2011-08-10,561.38,564.12,547.73,549.01,5369600 1760 | 2011-08-11,553.82,568.5,548.41,562.13,4830600 1761 | 2011-08-12,569.5,570.5,560.4,563.77,3154300 1762 | 2011-08-15,553.43,564.99,546.05,557.23,7144900 1763 | 2011-08-16,552.43,552.44,530.3,539.0,6939400 1764 | 2011-08-17,540.03,543.69,530.77,533.15,4079100 1765 | 2011-08-18,523.47,524.89,500.49,504.88,6290700 1766 | 2011-08-19,499.34,514.87,490.86,490.92,5410000 1767 | 2011-08-22,504.0,507.0,494.53,498.17,4905900 1768 | 2011-08-23,503.5,521.41,499.06,518.82,4346800 1769 | 2011-08-24,519.33,530.0,517.23,523.29,3594500 1770 | 2011-08-25,530.38,537.27,518.3,520.04,3293000 1771 | 2011-08-26,519.99,530.45,513.14,526.86,3596300 1772 | 2011-08-29,534.56,539.45,533.56,539.08,2335800 1773 | 2011-08-30,538.19,542.99,530.81,540.7,2989000 1774 | 2011-08-31,544.74,546.3,536.0,540.96,2693300 1775 | 2011-09-01,540.75,543.83,531.22,532.5,2415500 1776 | 2011-09-02,524.47,527.92,520.73,524.84,2401200 1777 | 2011-09-06,510.8,522.76,510.5,522.18,2715800 1778 | 2011-09-07,530.45,535.94,527.4,534.03,2755800 1779 | 2011-09-08,533.8,539.1,531.9,534.96,2380500 1780 | 2011-09-09,531.4,534.65,521.19,524.85,3268800 1781 | 2011-09-12,517.96,531.99,517.5,530.12,2670400 1782 | 2011-09-13,532.0,533.88,523.4,529.52,2354200 1783 | 2011-09-14,532.59,536.95,525.82,532.07,2694400 1784 | 2011-09-15,535.5,544.98,534.56,542.56,2960800 1785 | 2011-09-16,544.8,546.84,543.14,546.68,3534300 1786 | 2011-09-19,540.35,549.9,535.38,546.67,2468400 1787 | 2011-09-20,549.4,558.52,542.67,546.63,2779100 1788 | 2011-09-21,547.69,555.0,538.86,539.2,2514300 1789 | 2011-09-22,526.25,528.78,514.0,520.66,4400300 1790 | 2011-09-23,516.56,526.42,514.5,525.51,2777300 1791 | 2011-09-26,527.25,532.93,513.25,531.89,2634200 1792 | 2011-09-27,538.2,547.05,536.05,539.34,3010900 1793 | 2011-09-28,541.5,544.02,527.7,528.84,2263300 1794 | 2011-09-29,536.04,537.3,519.41,527.5,2906600 1795 | 2011-09-30,520.21,524.0,514.38,515.04,2723600 1796 | 2011-10-03,509.85,512.0,495.0,495.52,4474400 1797 | 2011-10-04,490.03,503.44,480.6,501.9,4158800 1798 | 2011-10-05,496.35,507.8,480.77,504.7,4534100 1799 | 2011-10-06,507.5,515.23,502.6,514.71,3424300 1800 | 2011-10-07,516.83,520.5,510.3,515.12,2855900 1801 | 2011-10-10,525.18,537.47,523.2,537.17,2322200 1802 | 2011-10-11,533.46,546.8,533.46,543.18,2853400 1803 | 2011-10-12,548.13,555.23,544.63,548.5,3177800 1804 | 2011-10-13,550.03,559.0,548.02,558.99,5687600 1805 | 2011-10-14,599.47,599.6,587.57,591.68,8529900 1806 | 2011-10-17,583.72,591.83,578.0,582.41,4008200 1807 | 2011-10-18,580.19,592.56,577.4,590.51,3800800 1808 | 2011-10-19,587.34,592.06,579.22,580.7,2931500 1809 | 2011-10-20,581.9,588.89,579.51,583.67,3379000 1810 | 2011-10-21,589.51,592.75,586.7,590.49,3391000 1811 | 2011-10-24,586.72,599.97,586.5,596.42,3426900 1812 | 2011-10-25,593.1,595.0,582.85,583.16,2540500 1813 | 2011-10-26,589.55,590.18,572.86,586.31,2873100 1814 | 2011-10-27,598.42,602.7,593.3,598.67,3780300 1815 | 2011-10-28,594.52,602.3,594.25,600.14,2508000 1816 | 2011-10-31,595.09,599.69,591.67,592.64,2557800 1817 | 2011-11-01,580.1,585.51,576.75,578.65,3125100 1818 | 2011-11-02,584.9,587.96,580.48,584.82,2120900 1819 | 2011-11-03,587.0,597.5,583.72,597.5,2669800 1820 | 2011-11-04,593.5,599.74,592.43,596.14,2834800 1821 | 2011-11-07,593.32,608.78,592.23,608.33,3357400 1822 | 2011-11-08,609.0,614.37,603.6,612.34,3029400 1823 | 2011-11-09,604.26,609.39,598.66,600.95,3711000 1824 | 2011-11-10,605.93,605.95,591.56,595.08,2868400 1825 | 2011-11-11,601.3,612.09,598.6,608.35,3977000 1826 | 2011-11-14,608.0,618.08,607.78,613.0,3188700 1827 | 2011-11-15,612.8,618.08,610.5,616.56,2676000 1828 | 2011-11-16,612.08,618.3,610.61,611.47,2608500 1829 | 2011-11-17,610.05,612.29,596.78,600.87,3493300 1830 | 2011-11-18,602.0,604.5,593.75,594.88,3287700 1831 | 2011-11-21,587.76,588.5,572.09,580.94,3001300 1832 | 2011-11-22,580.0,584.97,575.24,580.0,2405300 1833 | 2011-11-23,575.35,580.25,570.11,570.11,2325800 1834 | 2011-11-25,565.19,574.27,561.33,563.0,1562400 1835 | 2011-11-28,579.37,588.82,576.5,588.19,2828900 1836 | 2011-11-29,587.88,590.36,581.33,582.93,1831800 1837 | 2011-11-30,597.95,599.51,592.09,599.39,3397000 1838 | 2011-12-01,600.0,616.0,599.0,613.77,3620600 1839 | 2011-12-02,617.05,624.0,616.26,620.36,4085700 1840 | 2011-12-05,627.64,631.9,622.4,625.65,3197500 1841 | 2011-12-06,622.99,628.62,620.24,623.77,2326500 1842 | 2011-12-07,621.68,625.66,618.1,623.39,2257300 1843 | 2011-12-08,621.04,627.45,615.3,616.05,2413100 1844 | 2011-12-09,618.0,629.13,617.01,627.42,2766200 1845 | 2011-12-12,621.88,626.18,620.29,625.39,2183900 1846 | 2011-12-13,628.76,636.56,622.85,625.63,4028200 1847 | 2011-12-14,621.85,624.32,612.49,618.07,3903700 1848 | 2011-12-15,622.52,624.0,618.69,619.54,2408600 1849 | 2011-12-16,624.32,629.32,621.47,625.96,4459300 1850 | 2011-12-19,628.01,628.5,620.0,621.83,2143500 1851 | 2011-12-20,628.0,631.84,627.99,630.37,2388200 1852 | 2011-12-21,630.01,631.82,618.96,625.82,2497900 1853 | 2011-12-22,627.95,631.73,627.01,629.7,1822300 1854 | 2011-12-23,632.0,634.68,630.56,633.14,1453700 1855 | 2011-12-27,632.05,644.49,632.0,640.25,1606400 1856 | 2011-12-28,642.75,645.0,638.1,639.7,2127200 1857 | 2011-12-29,641.49,643.0,635.2,642.4,1575400 1858 | 2011-12-30,642.02,646.76,642.02,645.9,1782300 1859 | 2012-01-03,652.94,668.15,652.37,665.41,3676500 1860 | 2012-01-04,665.03,670.25,660.62,668.28,2864000 1861 | 2012-01-05,662.13,663.97,656.23,659.01,3282900 1862 | 2012-01-06,659.15,660.0,649.79,650.02,2692900 1863 | 2012-01-09,646.5,647.0,621.23,622.46,5822600 1864 | 2012-01-10,629.75,633.8,616.91,623.14,4395600 1865 | 2012-01-11,623.5,629.39,621.12,625.96,2400000 1866 | 2012-01-12,631.22,632.89,626.5,629.64,1875200 1867 | 2012-01-13,626.26,626.95,621.06,624.99,2307300 1868 | 2012-01-17,631.98,631.98,625.68,628.58,1909300 1869 | 2012-01-18,626.63,634.0,622.12,632.91,2761700 1870 | 2012-01-19,640.99,640.99,631.46,639.57,6305300 1871 | 2012-01-20,590.53,591.0,581.7,585.99,10576300 1872 | 2012-01-23,586.0,588.66,583.16,585.52,3412900 1873 | 2012-01-24,586.32,587.68,578.0,580.93,3055800 1874 | 2012-01-25,577.51,578.71,566.38,569.49,4987700 1875 | 2012-01-26,571.98,574.48,564.55,568.1,3226200 1876 | 2012-01-27,570.78,580.32,569.33,579.98,3617500 1877 | 2012-01-30,578.05,580.0,573.4,577.69,2330500 1878 | 2012-01-31,583.0,584.0,575.15,580.11,2142400 1879 | 2012-02-01,584.94,585.5,579.14,580.83,2320700 1880 | 2012-02-02,584.87,586.41,582.08,585.11,2414700 1881 | 2012-02-03,590.66,597.07,588.05,596.33,3168500 1882 | 2012-02-06,595.01,610.83,594.01,609.09,3679600 1883 | 2012-02-07,607.15,609.39,603.76,606.77,2092100 1884 | 2012-02-08,608.64,611.35,604.74,609.85,1836400 1885 | 2012-02-09,612.02,614.5,609.0,611.46,2264700 1886 | 2012-02-10,607.88,608.13,604.0,605.91,2325200 1887 | 2012-02-13,610.5,613.84,610.02,612.2,1816300 1888 | 2012-02-14,611.54,612.0,604.76,609.76,1803700 1889 | 2012-02-15,612.93,612.93,602.56,605.56,2425900 1890 | 2012-02-16,602.82,608.81,597.73,606.52,2530900 1891 | 2012-02-17,604.97,607.63,602.4,604.64,2449100 1892 | 2012-02-21,603.87,617.88,602.88,614.0,2480800 1893 | 2012-02-22,611.96,616.78,606.71,607.94,1967000 1894 | 2012-02-23,607.0,607.94,600.35,606.11,2055000 1895 | 2012-02-24,607.35,611.65,605.51,609.9,1935600 1896 | 2012-02-27,606.59,612.36,605.06,609.31,1813900 1897 | 2012-02-28,610.0,619.77,607.68,618.39,2847600 1898 | 2012-02-29,618.6,625.6,615.5,618.25,3136900 1899 | 2012-03-01,622.26,625.7,618.15,622.4,2237700 1900 | 2012-03-02,622.0,624.0,620.32,621.25,1573300 1901 | 2012-03-05,620.43,622.49,611.38,614.25,1593300 1902 | 2012-03-06,608.05,608.81,593.84,604.96,3174400 1903 | 2012-03-07,609.05,611.19,605.86,606.8,1264500 1904 | 2012-03-08,610.04,611.5,606.35,607.14,1345500 1905 | 2012-03-09,607.95,611.9,600.0,600.25,2670600 1906 | 2012-03-12,600.0,607.0,599.26,605.15,1669000 1907 | 2012-03-13,608.75,617.85,605.55,617.78,2245800 1908 | 2012-03-14,615.0,622.78,613.46,615.99,2936900 1909 | 2012-03-15,616.6,623.5,614.83,621.13,2435100 1910 | 2012-03-16,620.89,625.91,620.05,625.04,3050500 1911 | 2012-03-19,623.12,637.27,621.24,633.98,2172800 1912 | 2012-03-20,630.92,636.06,627.27,633.49,1540500 1913 | 2012-03-21,634.61,647.39,632.51,639.98,2469600 1914 | 2012-03-22,638.5,648.8,631.0,646.05,2410200 1915 | 2012-03-23,646.6,648.5,640.9,642.59,1940200 1916 | 2012-03-26,645.0,649.49,639.54,649.33,1819200 1917 | 2012-03-27,647.03,653.5,644.8,647.02,2007200 1918 | 2012-03-28,652.03,658.59,651.08,655.76,2538900 1919 | 2012-03-29,653.44,656.59,644.3,648.41,1924300 1920 | 2012-03-30,651.75,653.49,641.0,641.24,2310700 1921 | 2012-04-02,640.77,647.5,634.84,646.92,2284200 1922 | 2012-04-03,645.41,647.95,638.64,642.62,2044900 1923 | 2012-04-04,638.45,639.0,631.1,635.15,1627600 1924 | 2012-04-05,632.24,636.43,628.57,632.32,2318700 1925 | 2012-04-09,628.48,635.33,625.29,630.84,2182700 1926 | 2012-04-10,633.52,634.5,624.55,626.86,2482000 1927 | 2012-04-11,633.97,636.0,631.3,635.96,2199000 1928 | 2012-04-12,642.35,653.14,640.26,651.01,5756600 1929 | 2012-04-13,647.55,648.99,623.54,624.6,8159300 1930 | 2012-04-16,623.0,623.81,601.66,606.07,5692100 1931 | 2012-04-17,608.56,617.69,607.01,609.57,3023900 1932 | 2012-04-18,608.05,612.8,602.81,607.45,2669500 1933 | 2012-04-19,605.69,616.26,599.0,599.3,3294600 1934 | 2012-04-20,604.25,608.85,595.83,596.06,3058400 1935 | 2012-04-23,592.9,598.45,590.2,597.6,2197800 1936 | 2012-04-24,598.24,606.63,597.32,601.27,1929100 1937 | 2012-04-25,604.0,611.35,602.88,609.72,1821100 1938 | 2012-04-26,610.91,618.0,609.7,615.47,2092500 1939 | 2012-04-27,615.02,616.74,610.6,614.98,1636400 1940 | 2012-04-30,612.99,616.08,600.61,604.85,2407300 1941 | 2012-05-01,603.79,611.6,600.19,604.43,2002300 1942 | 2012-05-02,601.2,608.11,600.61,607.26,1611500 1943 | 2012-05-03,609.62,614.83,608.95,611.02,1868000 1944 | 2012-05-04,605.92,607.89,596.81,596.97,2207400 1945 | 2012-05-07,595.0,610.57,595.0,607.55,1994500 1946 | 2012-05-08,605.53,616.9,600.7,612.79,2677300 1947 | 2012-05-09,606.82,616.38,601.81,609.15,2328800 1948 | 2012-05-10,612.96,616.19,610.23,613.66,1535900 1949 | 2012-05-11,610.35,614.55,604.77,605.23,2099400 1950 | 2012-05-14,600.78,608.5,600.58,604.0,1824400 1951 | 2012-05-15,605.35,615.0,603.75,611.11,2102100 1952 | 2012-05-16,617.96,630.1,615.94,628.93,4835100 1953 | 2012-05-17,633.83,637.85,621.23,623.05,3353800 1954 | 2012-05-18,625.1,632.42,596.7,600.4,5973500 1955 | 2012-05-21,600.51,615.69,600.0,614.11,3075400 1956 | 2012-05-22,613.44,613.81,596.0,600.8,3051900 1957 | 2012-05-23,601.65,609.6,597.12,609.46,3178100 1958 | 2012-05-24,609.16,611.92,598.87,603.66,1891300 1959 | 2012-05-25,601.0,601.73,588.28,591.53,3581900 1960 | 2012-05-29,595.81,599.13,588.32,594.34,2605700 1961 | 2012-05-30,588.16,591.9,583.53,588.23,1906700 1962 | 2012-05-31,588.72,590.0,579.0,580.86,2968300 1963 | 2012-06-01,571.79,572.65,568.35,570.98,3057900 1964 | 2012-06-04,570.22,580.49,570.01,578.59,2432700 1965 | 2012-06-05,575.45,578.13,566.47,570.41,2339900 1966 | 2012-06-06,576.48,581.97,573.61,580.57,2095800 1967 | 2012-06-07,587.6,587.89,577.25,578.23,1758500 1968 | 2012-06-08,575.85,581.0,574.58,580.45,1410400 1969 | 2012-06-11,584.21,585.32,566.69,568.5,2661100 1970 | 2012-06-12,569.77,570.3,558.58,565.1,3224200 1971 | 2012-06-13,561.72,567.0,558.68,561.09,1954200 1972 | 2012-06-14,561.3,565.07,556.52,559.05,2344900 1973 | 2012-06-15,560.34,564.52,557.09,564.51,3001200 1974 | 2012-06-18,562.62,574.21,559.25,570.85,2496900 1975 | 2012-06-19,573.59,584.28,573.12,581.53,2076200 1976 | 2012-06-20,579.81,580.0,573.51,577.51,2346700 1977 | 2012-06-21,579.84,579.84,563.73,565.21,2011300 1978 | 2012-06-22,568.0,571.48,565.82,571.48,2227900 1979 | 2012-06-25,567.33,568.09,557.35,560.7,1581600 1980 | 2012-06-26,562.76,566.6,559.48,564.68,1350200 1981 | 2012-06-27,567.7,573.99,566.02,569.3,1692300 1982 | 2012-06-28,565.9,566.23,557.21,564.31,1920900 1983 | 2012-06-29,574.96,580.13,572.2,580.07,2519500 1984 | 2012-07-02,581.82,583.0,576.5,580.47,1655500 1985 | 2012-07-03,580.01,588.41,578.0,587.83,1189500 1986 | 2012-07-05,588.76,600.06,588.54,595.92,2345900 1987 | 2012-07-06,592.45,593.52,582.82,585.98,2161800 1988 | 2012-07-09,584.95,588.6,581.25,586.01,1715100 1989 | 2012-07-10,590.19,592.43,578.74,581.7,1923100 1990 | 2012-07-11,576.3,577.85,564.94,571.19,3499300 1991 | 2012-07-12,567.12,571.93,562.09,570.48,2309800 1992 | 2012-07-13,572.15,579.15,568.55,576.52,1976000 1993 | 2012-07-16,576.37,579.19,571.78,574.92,1462600 1994 | 2012-07-17,578.43,580.67,568.4,576.73,1680100 1995 | 2012-07-18,576.98,583.69,576.13,580.76,1548200 1996 | 2012-07-19,586.14,598.48,586.0,593.06,4674700 1997 | 2012-07-20,608.76,612.94,598.18,610.82,6463700 1998 | 2012-07-23,600.48,618.35,598.25,615.51,3561700 1999 | 2012-07-24,615.0,617.93,604.34,607.57,2009400 2000 | 2012-07-25,608.32,613.38,605.37,607.99,1823000 2001 | 2012-07-26,615.0,616.87,610.03,613.36,1685200 2002 | 2012-07-27,618.89,635.0,617.5,634.96,3549700 2003 | 2012-07-30,636.05,642.6,629.5,632.3,2186700 2004 | 2012-07-31,628.26,636.5,628.22,632.97,1865600 2005 | 2012-08-01,637.3,639.51,631.38,632.68,1844600 2006 | 2012-08-02,625.51,638.03,623.41,628.75,1977700 2007 | 2012-08-03,640.0,643.72,636.14,641.33,1897100 2008 | 2012-08-06,639.61,649.38,639.22,642.82,1782400 2009 | 2012-08-07,641.79,644.26,636.47,640.54,1981800 2010 | 2012-08-08,639.05,645.87,638.5,642.23,1322200 2011 | 2012-08-09,644.51,646.37,641.52,642.35,1070300 2012 | 2012-08-10,638.59,642.24,636.13,642.0,1434600 2013 | 2012-08-13,647.42,660.15,646.68,660.01,3267900 2014 | 2012-08-14,659.25,672.85,659.0,668.66,3661700 2015 | 2012-08-15,670.28,674.25,664.1,667.54,2410700 2016 | 2012-08-16,667.51,674.64,667.08,672.87,1717700 2017 | 2012-08-17,674.12,677.25,671.7,677.14,2177700 2018 | 2012-08-20,675.5,678.87,672.66,675.54,1758100 2019 | 2012-08-21,673.11,678.0,662.17,669.51,2222200 2020 | 2012-08-22,667.38,680.6,666.7,677.18,1909200 2021 | 2012-08-23,674.27,680.48,671.0,676.8,1784200 2022 | 2012-08-24,675.6,680.45,674.08,678.63,1426600 2023 | 2012-08-27,662.99,672.0,659.24,669.22,2613700 2024 | 2012-08-28,665.0,677.62,664.74,677.25,2058600 2025 | 2012-08-29,677.37,688.99,676.15,688.01,2990300 2026 | 2012-08-30,684.24,687.39,680.18,681.68,1626900 2027 | 2012-08-31,684.0,688.58,680.04,685.09,2127100 2028 | 2012-09-04,684.55,685.0,673.5,681.04,1889600 2029 | 2012-09-05,680.0,686.5,679.14,680.72,1708200 2030 | 2012-09-06,685.96,699.89,684.73,699.4,3043500 2031 | 2012-09-07,700.0,712.25,697.67,706.15,3233000 2032 | 2012-09-10,709.76,712.81,698.39,700.77,2560000 2033 | 2012-09-11,697.96,700.65,691.0,692.19,1873800 2034 | 2012-09-12,689.41,694.91,680.88,690.88,2642300 2035 | 2012-09-13,693.09,709.0,690.54,706.04,2659000 2036 | 2012-09-14,709.6,713.0,707.01,709.68,2618500 2037 | 2012-09-17,708.11,712.88,705.0,709.98,1508300 2038 | 2012-09-18,707.78,718.66,706.78,718.28,2066800 2039 | 2012-09-19,717.5,728.56,716.41,727.5,3098300 2040 | 2012-09-20,724.47,731.38,721.22,728.12,2907400 2041 | 2012-09-21,732.21,734.92,730.12,733.99,6359100 2042 | 2012-09-24,731.0,750.04,730.25,749.38,3563800 2043 | 2012-09-25,753.05,764.89,747.66,749.16,6058500 2044 | 2012-09-26,749.85,761.24,741.0,753.46,5672900 2045 | 2012-09-27,759.95,762.84,751.65,756.5,3931100 2046 | 2012-09-28,754.15,759.3,751.15,754.5,2783500 2047 | 2012-10-01,759.05,765.0,756.21,761.78,3168000 2048 | 2012-10-02,765.2,765.99,750.27,756.99,2790200 2049 | 2012-10-03,755.72,763.92,752.2,762.5,2208300 2050 | 2012-10-04,762.75,769.89,759.4,768.05,2454200 2051 | 2012-10-05,770.71,774.38,765.01,767.65,2735900 2052 | 2012-10-08,761.0,763.58,754.15,757.84,1958600 2053 | 2012-10-09,759.67,761.32,742.53,744.09,3003200 2054 | 2012-10-10,741.86,747.53,738.29,744.56,2039900 2055 | 2012-10-11,752.9,758.5,750.29,751.48,2383900 2056 | 2012-10-12,751.85,754.87,744.1,744.75,2404200 2057 | 2012-10-15,741.94,743.83,730.7,740.98,3019100 2058 | 2012-10-16,740.13,746.99,736.46,744.7,2058200 2059 | 2012-10-17,743.95,756.34,740.26,755.49,2292900 2060 | 2012-10-18,755.54,759.42,676.0,695.0,12442400 2061 | 2012-10-19,705.58,706.7,672.0,681.79,11482200 2062 | 2012-10-22,681.01,684.63,669.7,678.67,4055600 2063 | 2012-10-23,672.01,687.33,672.0,680.35,2916600 2064 | 2012-10-24,686.8,687.0,675.27,677.3,2496500 2065 | 2012-10-25,680.0,682.0,673.51,677.76,2401100 2066 | 2012-10-26,676.5,683.03,671.2,675.15,1950800 2067 | 2012-10-31,679.86,681.0,675.0,680.3,1537000 2068 | 2012-11-01,679.5,690.9,678.72,687.59,2050100 2069 | 2012-11-02,694.79,695.55,687.37,687.92,2324400 2070 | 2012-11-05,684.5,686.86,675.56,682.96,1635900 2071 | 2012-11-06,685.48,686.5,677.55,681.72,1582800 2072 | 2012-11-07,675.0,678.23,666.49,667.12,2232300 2073 | 2012-11-08,670.2,671.49,651.23,652.29,2597000 2074 | 2012-11-09,654.65,668.34,650.3,663.03,3114100 2075 | 2012-11-12,663.75,669.8,660.87,665.9,1405900 2076 | 2012-11-13,663.0,667.6,658.23,659.05,1594200 2077 | 2012-11-14,660.66,662.18,650.5,652.55,1668400 2078 | 2012-11-15,650.0,660.0,643.9,647.26,1848900 2079 | 2012-11-16,645.99,653.02,636.0,647.18,3438200 2080 | 2012-11-19,655.7,668.92,655.53,668.21,2368200 2081 | 2012-11-20,669.51,678.0,664.57,669.97,2088700 2082 | 2012-11-21,668.99,669.8,660.4,665.87,2112200 2083 | 2012-11-23,669.97,670.0,666.1,667.97,922500 2084 | 2012-11-26,666.44,667.0,659.02,661.15,2204600 2085 | 2012-11-27,660.17,675.0,658.0,670.71,2508700 2086 | 2012-11-28,668.01,684.91,663.89,683.67,3042000 2087 | 2012-11-29,687.78,693.9,682.0,691.89,2776500 2088 | 2012-11-30,691.31,699.22,685.69,698.37,3163600 2089 | 2012-12-03,702.24,705.89,694.11,695.25,2192500 2090 | 2012-12-04,695.0,695.51,685.7,691.03,1991700 2091 | 2012-12-05,692.15,694.5,682.33,687.82,1862400 2092 | 2012-12-06,687.59,695.61,684.51,691.13,1462300 2093 | 2012-12-07,695.0,696.88,682.42,684.21,1919300 2094 | 2012-12-10,685.39,691.65,683.79,685.42,1366700 2095 | 2012-12-11,690.0,701.92,687.72,696.88,2687600 2096 | 2012-12-12,699.23,703.51,693.48,697.56,2426000 2097 | 2012-12-13,715.92,716.47,699.55,702.7,3444900 2098 | 2012-12-14,699.17,707.82,698.43,701.96,2130100 2099 | 2012-12-17,705.5,721.92,704.02,720.78,3035400 2100 | 2012-12-18,716.6,729.1,715.05,721.07,3004900 2101 | 2012-12-19,720.71,723.0,716.68,720.11,1918600 2102 | 2012-12-20,723.26,724.65,716.97,722.36,1657000 2103 | 2012-12-21,713.97,718.82,710.52,715.63,3526000 2104 | 2012-12-24,714.51,715.18,707.47,709.5,840900 2105 | 2012-12-26,708.07,712.88,702.41,708.87,1182400 2106 | 2012-12-27,707.14,708.84,698.61,706.29,1647400 2107 | 2012-12-28,701.69,706.91,700.01,700.01,1402000 2108 | 2012-12-31,700.0,710.57,696.0,707.38,1997400 2109 | 2013-01-02,719.42,727.0,716.55,723.25,2541300 2110 | 2013-01-03,724.93,731.93,720.72,723.67,2318200 2111 | 2013-01-04,729.34,741.47,727.68,737.97,2763500 2112 | 2013-01-07,735.45,739.38,730.58,734.75,1655700 2113 | 2013-01-08,735.54,736.3,724.43,733.3,1676100 2114 | 2013-01-09,732.27,738.35,728.6,738.12,2024700 2115 | 2013-01-10,742.83,745.0,733.5,741.48,1835700 2116 | 2013-01-11,742.0,742.43,736.3,739.99,1285200 2117 | 2013-01-14,737.0,742.2,722.35,723.25,2863900 2118 | 2013-01-15,719.33,735.0,712.1,724.93,3927700 2119 | 2013-01-16,722.4,724.34,713.67,715.19,2023400 2120 | 2013-01-17,717.71,719.64,711.02,711.32,2211500 2121 | 2013-01-18,710.36,712.77,701.33,704.51,3226800 2122 | 2013-01-22,704.66,705.34,695.52,702.87,3792400 2123 | 2013-01-23,735.99,749.0,735.79,741.5,5909100 2124 | 2013-01-24,741.24,756.83,740.51,754.21,3382700 2125 | 2013-01-25,750.77,758.48,750.25,753.67,2225900 2126 | 2013-01-28,751.76,755.6,747.89,750.73,1627100 2127 | 2013-01-29,746.75,756.95,746.54,753.68,1747100 2128 | 2013-01-30,753.74,760.95,752.91,753.83,1733000 2129 | 2013-01-31,750.51,757.62,750.25,755.69,1634200 2130 | 2013-02-01,758.2,776.6,758.1,775.6,3746100 2131 | 2013-02-04,767.69,770.47,758.27,759.02,3040500 2132 | 2013-02-05,761.13,771.11,759.47,765.74,1870700 2133 | 2013-02-06,759.07,772.96,758.5,770.17,2078100 2134 | 2013-02-07,769.7,778.81,765.5,773.95,2840200 2135 | 2013-02-08,780.13,786.67,779.56,785.37,3020100 2136 | 2013-02-11,778.4,783.0,773.75,782.42,2167700 2137 | 2013-02-12,781.75,787.9,779.37,780.7,1859000 2138 | 2013-02-13,780.13,785.35,779.97,782.86,1198200 2139 | 2013-02-14,779.73,788.74,777.77,787.82,1735300 2140 | 2013-02-15,787.4,793.26,787.07,792.89,2729800 2141 | 2013-02-19,795.99,807.0,795.28,806.85,2931800 2142 | 2013-02-20,805.3,808.97,791.79,792.46,2764200 2143 | 2013-02-21,798.0,805.45,791.22,795.53,3506400 2144 | 2013-02-22,799.26,801.25,793.8,799.71,2053900 2145 | 2013-02-25,802.3,808.41,790.49,790.77,2303900 2146 | 2013-02-26,795.0,795.95,784.4,790.13,2202500 2147 | 2013-02-27,794.8,804.75,791.11,799.78,2026100 2148 | 2013-02-28,801.1,806.99,801.03,801.2,2265800 2149 | 2013-03-01,797.8,807.14,796.15,806.19,2175400 2150 | --------------------------------------------------------------------------------