├── .gitignore ├── angular-1.png ├── angular-2.png ├── angular-3.png ├── angular-4.png ├── angular-5.png ├── angular-6.png ├── btc-calc.png ├── btc-calculator ├── coindesk.csv ├── img │ └── btc.png ├── index.html ├── main.css ├── main.js └── prices.js ├── part2 └── index.html ├── part3 ├── img │ └── btc.png └── index.html ├── part4 ├── img │ └── btc.png ├── index.html ├── main.css └── main.js ├── part5 ├── coindesk.csv ├── img │ └── btc.png ├── index.html ├── main.css ├── main.js └── prices.js └── readme.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /angular-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjhea0/thinkful-angular/1ad461e71227e598cacb7326e52e34cec76e2006/angular-1.png -------------------------------------------------------------------------------- /angular-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjhea0/thinkful-angular/1ad461e71227e598cacb7326e52e34cec76e2006/angular-2.png -------------------------------------------------------------------------------- /angular-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjhea0/thinkful-angular/1ad461e71227e598cacb7326e52e34cec76e2006/angular-3.png -------------------------------------------------------------------------------- /angular-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjhea0/thinkful-angular/1ad461e71227e598cacb7326e52e34cec76e2006/angular-4.png -------------------------------------------------------------------------------- /angular-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjhea0/thinkful-angular/1ad461e71227e598cacb7326e52e34cec76e2006/angular-5.png -------------------------------------------------------------------------------- /angular-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjhea0/thinkful-angular/1ad461e71227e598cacb7326e52e34cec76e2006/angular-6.png -------------------------------------------------------------------------------- /btc-calc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjhea0/thinkful-angular/1ad461e71227e598cacb7326e52e34cec76e2006/btc-calc.png -------------------------------------------------------------------------------- /btc-calculator/coindesk.csv: -------------------------------------------------------------------------------- 1 | Date,Close 2 | 2010-07-18,0.0858 3 | 2010-07-19,0.0808 4 | 2010-07-20,0.0747 5 | 2010-07-21,0.0792 6 | 2010-07-22,0.0505 7 | 2010-07-23,0.0626 8 | 2010-07-24,0.0545 9 | 2010-07-25,0.0505 10 | 2010-07-26,0.056 11 | 2010-07-27,0.06 12 | 2010-07-28,0.0589 13 | 2010-07-29,0.0699 14 | 2010-07-30,0.0627 15 | 2010-07-31,0.0679 16 | 2010-08-01,0.0611 17 | 2010-08-02,0.06 18 | 2010-08-03,0.06 19 | 2010-08-04,0.057 20 | 2010-08-05,0.061 21 | 2010-08-06,0.0623 22 | 2010-08-07,0.059 23 | 2010-08-08,0.0609 24 | 2010-08-09,0.071 25 | 2010-08-10,0.07 26 | 2010-08-11,0.067 27 | 2010-08-12,0.07 28 | 2010-08-13,0.0645 29 | 2010-08-14,0.067 30 | 2010-08-15,0.0653 31 | 2010-08-16,0.0655 32 | 2010-08-17,0.07 33 | 2010-08-18,0.068 34 | 2010-08-19,0.0667 35 | 2010-08-20,0.0655 36 | 2010-08-21,0.0664 37 | 2010-08-22,0.066 38 | 2010-08-23,0.0649 39 | 2010-08-24,0.065 40 | 2010-08-25,0.0648 41 | 2010-08-26,0.064 42 | 2010-08-27,0.065 43 | 2010-08-28,0.0641 44 | 2010-08-29,0.064 45 | 2010-08-30,0.065 46 | 2010-08-31,0.06 47 | 2010-09-01,0.0629 48 | 2010-09-02,0.0634 49 | 2010-09-03,0.0609 50 | 2010-09-04,0.0624 51 | 2010-09-05,0.0616 52 | 2010-09-06,0.0616 53 | 2010-09-07,0.061 54 | 2010-09-08,0.062 55 | 2010-09-09,0.0611 56 | 2010-09-10,0.0618 57 | 2010-09-11,0.0637 58 | 2010-09-12,0.0615 59 | 2010-09-13,0.0622 60 | 2010-09-14,0.062 61 | 2010-09-15,0.0604 62 | 2010-09-16,0.0619 63 | 2010-09-17,0.059 64 | 2010-09-18,0.061 65 | 2010-09-19,0.0627 66 | 2010-09-20,0.0621 67 | 2010-09-21,0.0627 68 | 2010-09-22,0.0622 69 | 2010-09-23,0.0623 70 | 2010-09-24,0.0622 71 | 2010-09-25,0.062 72 | 2010-09-26,0.062 73 | 2010-09-27,0.0622 74 | 2010-09-28,0.0619 75 | 2010-09-29,0.0619 76 | 2010-09-30,0.0619 77 | 2010-10-01,0.062 78 | 2010-10-02,0.0614 79 | 2010-10-03,0.0611 80 | 2010-10-04,0.0613 81 | 2010-10-05,0.0614 82 | 2010-10-06,0.0628 83 | 2010-10-07,0.067 84 | 2010-10-08,0.0869 85 | 2010-10-09,0.0938 86 | 2010-10-10,0.0965 87 | 2010-10-11,0.095 88 | 2010-10-12,0.0949 89 | 2010-10-13,0.105 90 | 2010-10-14,0.102 91 | 2010-10-15,0.105 92 | 2010-10-16,0.101 93 | 2010-10-17,0.102 94 | 2010-10-18,0.1024 95 | 2010-10-19,0.097 96 | 2010-10-20,0.099 97 | 2010-10-21,0.107 98 | 2010-10-22,0.1025 99 | 2010-10-23,0.1055 100 | 2010-10-24,0.115 101 | 2010-10-25,0.132 102 | 2010-10-26,0.1503 103 | 2010-10-27,0.1877 104 | 2010-10-28,0.1731 105 | 2010-10-29,0.19 106 | 2010-10-30,0.1989 107 | 2010-10-31,0.1925 108 | 2010-11-01,0.1955 109 | 2010-11-02,0.1938 110 | 2010-11-03,0.1931 111 | 2010-11-04,0.23 112 | 2010-11-05,0.26 113 | 2010-11-06,0.39 114 | 2010-11-07,0.34 115 | 2010-11-08,0.243 116 | 2010-11-09,0.21 117 | 2010-11-10,0.24 118 | 2010-11-11,0.2231 119 | 2010-11-12,0.2682 120 | 2010-11-13,0.276 121 | 2010-11-14,0.279 122 | 2010-11-15,0.2682 123 | 2010-11-16,0.223 124 | 2010-11-17,0.2299 125 | 2010-11-18,0.2678 126 | 2010-11-19,0.28 127 | 2010-11-20,0.283 128 | 2010-11-21,0.2768 129 | 2010-11-22,0.2879 130 | 2010-11-23,0.283 131 | 2010-11-24,0.283 132 | 2010-11-25,0.28 133 | 2010-11-26,0.2844 134 | 2010-11-27,0.283 135 | 2010-11-28,0.27 136 | 2010-11-29,0.2299 137 | 2010-11-30,0.2082 138 | 2010-12-01,0.2275 139 | 2010-12-02,0.255 140 | 2010-12-03,0.2511 141 | 2010-12-04,0.205 142 | 2010-12-05,0.19 143 | 2010-12-06,0.204 144 | 2010-12-07,0.233 145 | 2010-12-08,0.2388 146 | 2010-12-09,0.2 147 | 2010-12-10,0.204 148 | 2010-12-11,0.228 149 | 2010-12-12,0.22 150 | 2010-12-13,0.2299 151 | 2010-12-14,0.2467 152 | 2010-12-15,0.238 153 | 2010-12-16,0.25 154 | 2010-12-17,0.24 155 | 2010-12-18,0.241 156 | 2010-12-19,0.2401 157 | 2010-12-20,0.267 158 | 2010-12-21,0.24 159 | 2010-12-22,0.25 160 | 2010-12-23,0.25 161 | 2010-12-24,0.248 162 | 2010-12-25,0.2499 163 | 2010-12-26,0.265 164 | 2010-12-27,0.265 165 | 2010-12-28,0.281 166 | 2010-12-29,0.3 167 | 2010-12-30,0.3 168 | 2010-12-31,0.3 169 | 2011-01-01,0.3 170 | 2011-01-02,0.3 171 | 2011-01-03,0.295 172 | 2011-01-04,0.299 173 | 2011-01-05,0.299 174 | 2011-01-06,0.298 175 | 2011-01-07,0.32 176 | 2011-01-08,0.3229 177 | 2011-01-09,0.323 178 | 2011-01-10,0.3266 179 | 2011-01-11,0.3266 180 | 2011-01-12,0.3188 181 | 2011-01-13,0.3176 182 | 2011-01-14,0.4 183 | 2011-01-15,0.386 184 | 2011-01-16,0.3868 185 | 2011-01-17,0.3495 186 | 2011-01-18,0.313 187 | 2011-01-19,0.313 188 | 2011-01-20,0.39 189 | 2011-01-21,0.4199 190 | 2011-01-22,0.4443 191 | 2011-01-23,0.4424 192 | 2011-01-24,0.4199 193 | 2011-01-25,0.41 194 | 2011-01-26,0.417 195 | 2011-01-27,0.4212 196 | 2011-01-28,0.446 197 | 2011-01-29,0.439 198 | 2011-01-30,0.4799 199 | 2011-01-31,0.52 200 | 2011-02-01,0.7 201 | 2011-02-02,0.716 202 | 2011-02-03,0.69 203 | 2011-02-04,0.811 204 | 2011-02-05,0.92 205 | 2011-02-06,0.8997 206 | 2011-02-07,0.89 207 | 2011-02-08,0.918 208 | 2011-02-09,1.09 209 | 2011-02-10,0.9803 210 | 2011-02-11,1.07 211 | 2011-02-12,1.0799 212 | 2011-02-13,1.05 213 | 2011-02-14,1.07 214 | 2011-02-15,1.05 215 | 2011-02-16,1.045 216 | 2011-02-17,1.04 217 | 2011-02-18,0.8989 218 | 2011-02-19,0.949 219 | 2011-02-20,0.85 220 | 2011-02-21,0.8345 221 | 2011-02-22,0.8702 222 | 2011-02-23,0.9 223 | 2011-02-24,0.9974 224 | 2011-02-25,0.9111 225 | 2011-02-26,0.958 226 | 2011-02-27,0.89 227 | 2011-02-28,0.86 228 | 2011-03-01,0.9202 229 | 2011-03-02,0.9399 230 | 2011-03-03,0.9391 231 | 2011-03-04,0.901 232 | 2011-03-05,0.9103 233 | 2011-03-06,0.8999 234 | 2011-03-07,0.885 235 | 2011-03-08,0.87 236 | 2011-03-09,0.8645 237 | 2011-03-10,0.9329 238 | 2011-03-11,0.88 239 | 2011-03-12,0.918 240 | 2011-03-13,0.8925 241 | 2011-03-14,0.8949 242 | 2011-03-15,0.87 243 | 2011-03-16,0.86 244 | 2011-03-17,0.8254 245 | 2011-03-18,0.8165 246 | 2011-03-19,0.765 247 | 2011-03-20,0.7411 248 | 2011-03-21,0.759 249 | 2011-03-22,0.809 250 | 2011-03-23,0.8497 251 | 2011-03-24,0.8669 252 | 2011-03-25,0.8838 253 | 2011-03-26,0.8552 254 | 2011-03-27,0.82 255 | 2011-03-28,0.799 256 | 2011-03-29,0.7925 257 | 2011-03-30,0.7897 258 | 2011-03-31,0.7846 259 | 2011-04-01,0.7741 260 | 2011-04-02,0.782 261 | 2011-04-03,0.779 262 | 2011-04-04,0.68 263 | 2011-04-05,0.71 264 | 2011-04-06,0.74 265 | 2011-04-07,0.7538 266 | 2011-04-08,0.75 267 | 2011-04-09,0.73 268 | 2011-04-10,0.7369 269 | 2011-04-11,0.77 270 | 2011-04-12,0.86 271 | 2011-04-13,0.9225 272 | 2011-04-14,1 273 | 2011-04-15,0.9899 274 | 2011-04-16,1.0499 275 | 2011-04-17,1.1123 276 | 2011-04-18,1.162 277 | 2011-04-19,1.1979 278 | 2011-04-20,1.1421 279 | 2011-04-21,1.21 280 | 2011-04-22,1.409 281 | 2011-04-23,1.7001 282 | 2011-04-24,1.6301 283 | 2011-04-25,1.559 284 | 2011-04-26,1.7949 285 | 2011-04-27,1.9 286 | 2011-04-28,2.2106 287 | 2011-04-29,2.88 288 | 2011-04-30,3.5 289 | 2011-05-01,3.0331 290 | 2011-05-02,3.2 291 | 2011-05-03,3.41 292 | 2011-05-04,3.4061 293 | 2011-05-05,3.333 294 | 2011-05-06,3.45 295 | 2011-05-07,3.641 296 | 2011-05-08,3.8659 297 | 2011-05-09,3.8 298 | 2011-05-10,5.81 299 | 2011-05-11,5.5 300 | 2011-05-12,6.3002 301 | 2011-05-13,8.198 302 | 2011-05-14,7.1977 303 | 2011-05-15,6.987 304 | 2011-05-16,8.0339 305 | 2011-05-17,7.19 306 | 2011-05-18,6.88 307 | 2011-05-19,6.805 308 | 2011-05-20,5.5904 309 | 2011-05-21,6.1197 310 | 2011-05-22,6.6901 311 | 2011-05-23,7.1499 312 | 2011-05-24,7.42 313 | 2011-05-25,8.3997 314 | 2011-05-26,8.798 315 | 2011-05-27,8.5002 316 | 2011-05-28,8.3001 317 | 2011-05-29,8.4299 318 | 2011-05-30,8.8 319 | 2011-05-31,8.741 320 | 2011-06-01,9.57 321 | 2011-06-02,10.6 322 | 2011-06-03,14.29 323 | 2011-06-04,18.89 324 | 2011-06-05,16.7 325 | 2011-06-06,18.5499 326 | 2011-06-07,23.9234 327 | 2011-06-08,29.6 328 | 2011-06-09,28.919 329 | 2011-06-10,23.9497 330 | 2011-06-11,14.6511 331 | 2011-06-12,18.5464 332 | 2011-06-13,19.84 333 | 2011-06-14,19.28 334 | 2011-06-15,19.49 335 | 2011-06-16,17 336 | 2011-06-17,15.681 337 | 2011-06-18,16.89 338 | 2011-06-19,17.51 339 | 2011-06-20,17.51 340 | 2011-06-21,17.51 341 | 2011-06-22,17.51 342 | 2011-06-23,17.51 343 | 2011-06-24,17.51 344 | 2011-06-25,17.51 345 | 2011-06-26,16.45 346 | 2011-06-27,16.75 347 | 2011-06-28,16.9498 348 | 2011-06-29,16.845 349 | 2011-06-30,16.101 350 | 2011-07-01,15.397 351 | 2011-07-02,15.4 352 | 2011-07-03,15.4405 353 | 2011-07-04,13.86 354 | 2011-07-05,12.9069 355 | 2011-07-06,14.7835 356 | 2011-07-07,14.7761 357 | 2011-07-08,14.314 358 | 2011-07-09,14.38 359 | 2011-07-10,14.9 360 | 2011-07-11,14.2091 361 | 2011-07-12,14.0094 362 | 2011-07-13,13.951 363 | 2011-07-14,13.99 364 | 2011-07-15,13.81 365 | 2011-07-16,13.7191 366 | 2011-07-17,13.16 367 | 2011-07-18,13.48 368 | 2011-07-19,13.8502 369 | 2011-07-20,13.6894 370 | 2011-07-21,13.61 371 | 2011-07-22,13.6954 372 | 2011-07-23,13.68 373 | 2011-07-24,13.98 374 | 2011-07-25,14.0478 375 | 2011-07-26,13.8821 376 | 2011-07-27,13.9394 377 | 2011-07-28,13.4901 378 | 2011-07-29,13.4983 379 | 2011-07-30,13.5303 380 | 2011-07-31,13.35 381 | 2011-08-01,13.0946 382 | 2011-08-02,12.05 383 | 2011-08-03,9.26 384 | 2011-08-04,10.75 385 | 2011-08-05,9.7999 386 | 2011-08-06,6.55 387 | 2011-08-07,7.9 388 | 2011-08-08,7.7999 389 | 2011-08-09,9.99 390 | 2011-08-10,9.98 391 | 2011-08-11,9.4625 392 | 2011-08-12,9.4605 393 | 2011-08-13,10.131 394 | 2011-08-14,10.7957 395 | 2011-08-15,11.1498 396 | 2011-08-16,10.9641 397 | 2011-08-17,10.9456 398 | 2011-08-18,10.83 399 | 2011-08-19,11.65 400 | 2011-08-20,11.453 401 | 2011-08-21,11.3113 402 | 2011-08-22,10.895 403 | 2011-08-23,10.94 404 | 2011-08-24,10.8506 405 | 2011-08-25,9.657 406 | 2011-08-26,8.1794 407 | 2011-08-27,8.5902 408 | 2011-08-28,9.0701 409 | 2011-08-29,8.969 410 | 2011-08-30,8.7913 411 | 2011-08-31,8.1995 412 | 2011-09-01,8.21 413 | 2011-09-02,8.64 414 | 2011-09-03,8.48 415 | 2011-09-04,8.178 416 | 2011-09-05,7.611 417 | 2011-09-06,6.8628 418 | 2011-09-07,7.1864 419 | 2011-09-08,6.53 420 | 2011-09-09,5.03 421 | 2011-09-10,4.7739 422 | 2011-09-11,5.8644 423 | 2011-09-12,6.078 424 | 2011-09-13,5.8 425 | 2011-09-14,5.6193 426 | 2011-09-15,4.84 427 | 2011-09-16,4.82 428 | 2011-09-17,4.77 429 | 2011-09-18,5.2 430 | 2011-09-19,5.46 431 | 2011-09-20,6.1119 432 | 2011-09-21,5.6114 433 | 2011-09-22,5.4278 434 | 2011-09-23,5.5451 435 | 2011-09-24,5.4683 436 | 2011-09-25,5.33 437 | 2011-09-26,4.8697 438 | 2011-09-27,4.9156 439 | 2011-09-28,4.7725 440 | 2011-09-29,4.7794 441 | 2011-09-30,5.1401 442 | 2011-10-01,5.0324 443 | 2011-10-02,5.027 444 | 2011-10-03,5.024 445 | 2011-10-04,4.96 446 | 2011-10-05,4.87 447 | 2011-10-06,4.7344 448 | 2011-10-07,4.2728 449 | 2011-10-08,4.0075 450 | 2011-10-09,4.1029 451 | 2011-10-10,4.1 452 | 2011-10-11,3.9308 453 | 2011-10-12,4.15 454 | 2011-10-13,4.0462 455 | 2011-10-14,3.9879 456 | 2011-10-15,3.8421 457 | 2011-10-16,3.557 458 | 2011-10-17,2.56 459 | 2011-10-18,2.419 460 | 2011-10-19,2.27 461 | 2011-10-20,2.348 462 | 2011-10-21,2.57 463 | 2011-10-22,3.1588 464 | 2011-10-23,3.17 465 | 2011-10-24,2.545 466 | 2011-10-25,2.77 467 | 2011-10-26,2.773 468 | 2011-10-27,3.04 469 | 2011-10-28,3.19 470 | 2011-10-29,3.5811 471 | 2011-10-30,3.27 472 | 2011-10-31,3.248 473 | 2011-11-01,3.15 474 | 2011-11-02,3.2543 475 | 2011-11-03,3.152 476 | 2011-11-04,3.109 477 | 2011-11-05,2.97 478 | 2011-11-06,2.9596 479 | 2011-11-07,3.0068 480 | 2011-11-08,3.035 481 | 2011-11-09,2.95 482 | 2011-11-10,2.8399 483 | 2011-11-11,3.08 484 | 2011-11-12,3.031 485 | 2011-11-13,2.9969 486 | 2011-11-14,2.22 487 | 2011-11-15,2.329 488 | 2011-11-16,2.5604 489 | 2011-11-17,2.25 490 | 2011-11-18,2.05 491 | 2011-11-19,2.1959 492 | 2011-11-20,2.2 493 | 2011-11-21,2.294 494 | 2011-11-22,2.3289 495 | 2011-11-23,2.3321 496 | 2011-11-24,2.4321 497 | 2011-11-25,2.5061 498 | 2011-11-26,2.47 499 | 2011-11-27,2.4799 500 | 2011-11-28,2.55 501 | 2011-11-29,2.7502 502 | 2011-11-30,2.9701 503 | 2011-12-01,3.06 504 | 2011-12-02,3.1151 505 | 2011-12-03,2.794 506 | 2011-12-04,2.8281 507 | 2011-12-05,2.8798 508 | 2011-12-06,3.03 509 | 2011-12-07,2.99 510 | 2011-12-08,2.98 511 | 2011-12-09,2.97 512 | 2011-12-10,3.05 513 | 2011-12-11,3.2511 514 | 2011-12-12,3.135 515 | 2011-12-13,3.2499 516 | 2011-12-14,3.15 517 | 2011-12-15,3.2 518 | 2011-12-16,3.2 519 | 2011-12-17,3.2001 520 | 2011-12-18,3.193 521 | 2011-12-19,3.5202 522 | 2011-12-20,3.95 523 | 2011-12-21,3.89 524 | 2011-12-22,3.8901 525 | 2011-12-23,3.9468 526 | 2011-12-24,3.94 527 | 2011-12-25,4.225 528 | 2011-12-26,4.018 529 | 2011-12-27,4.07 530 | 2011-12-28,4.1855 531 | 2011-12-29,4.166 532 | 2011-12-30,4.248 533 | 2011-12-31,4.722 534 | 2012-01-01,5.2677 535 | 2012-01-02,5.2168 536 | 2012-01-03,4.8808 537 | 2012-01-04,5.5738 538 | 2012-01-05,6.9476 539 | 2012-01-06,6.6969 540 | 2012-01-07,6.81 541 | 2012-01-08,7.1136 542 | 2012-01-09,6.3257 543 | 2012-01-10,6.36 544 | 2012-01-11,6.9 545 | 2012-01-12,6.8 546 | 2012-01-13,6.41 547 | 2012-01-14,6.75 548 | 2012-01-15,7.0018 549 | 2012-01-16,6.6825 550 | 2012-01-17,5.6 551 | 2012-01-18,5.92 552 | 2012-01-19,6.3598 553 | 2012-01-20,6.4898 554 | 2012-01-21,6.18 555 | 2012-01-22,6.3097 556 | 2012-01-23,6.356 557 | 2012-01-24,6.2898 558 | 2012-01-25,5.75 559 | 2012-01-26,5.34 560 | 2012-01-27,5.292 561 | 2012-01-28,5.6267 562 | 2012-01-29,5.3809 563 | 2012-01-30,5.4905 564 | 2012-01-31,5.4838 565 | 2012-02-01,6.0756 566 | 2012-02-02,6.1 567 | 2012-02-03,5.9593 568 | 2012-02-04,5.8734 569 | 2012-02-05,5.6888 570 | 2012-02-06,5.4535 571 | 2012-02-07,5.69 572 | 2012-02-08,5.6 573 | 2012-02-09,5.83 574 | 2012-02-10,5.9126 575 | 2012-02-11,5.6005 576 | 2012-02-12,5.5147 577 | 2012-02-13,5.26 578 | 2012-02-14,4.4629 579 | 2012-02-15,4.3251 580 | 2012-02-16,4.2739 581 | 2012-02-17,4.41 582 | 2012-02-18,4.222 583 | 2012-02-19,4.3867 584 | 2012-02-20,4.3615 585 | 2012-02-21,4.272 586 | 2012-02-22,4.4247 587 | 2012-02-23,5.015 588 | 2012-02-24,5.0288 589 | 2012-02-25,4.773 590 | 2012-02-26,4.922 591 | 2012-02-27,4.956 592 | 2012-02-28,4.868 593 | 2012-02-29,4.86 594 | 2012-03-01,4.9213 595 | 2012-03-02,4.705 596 | 2012-03-03,4.6144 597 | 2012-03-04,4.82 598 | 2012-03-05,4.9843 599 | 2012-03-06,4.9901 600 | 2012-03-07,4.9375 601 | 2012-03-08,4.9302 602 | 2012-03-09,4.8611 603 | 2012-03-10,4.8332 604 | 2012-03-11,4.91 605 | 2012-03-12,4.8901 606 | 2012-03-13,5.27 607 | 2012-03-14,5.38 608 | 2012-03-15,5.3266 609 | 2012-03-16,5.3439 610 | 2012-03-17,5.2159 611 | 2012-03-18,5.2794 612 | 2012-03-19,4.6939 613 | 2012-03-20,4.8379 614 | 2012-03-21,4.8149 615 | 2012-03-22,4.7043 616 | 2012-03-23,4.686 617 | 2012-03-24,4.676 618 | 2012-03-25,4.55 619 | 2012-03-26,4.6191 620 | 2012-03-27,4.8113 621 | 2012-03-28,4.788 622 | 2012-03-29,4.8084 623 | 2012-03-30,4.86 624 | 2012-03-31,4.9087 625 | 2012-04-01,4.827 626 | 2012-04-02,4.974 627 | 2012-04-03,4.952 628 | 2012-04-04,4.9101 629 | 2012-04-05,4.919 630 | 2012-04-06,4.9499 631 | 2012-04-07,4.6872 632 | 2012-04-08,4.7925 633 | 2012-04-09,4.8719 634 | 2012-04-10,4.8367 635 | 2012-04-11,4.9279 636 | 2012-04-12,4.9197 637 | 2012-04-13,4.94 638 | 2012-04-14,4.9597 639 | 2012-04-15,4.9689 640 | 2012-04-16,4.932 641 | 2012-04-17,4.9759 642 | 2012-04-18,5.1178 643 | 2012-04-19,5.1377 644 | 2012-04-20,5.35 645 | 2012-04-21,5.2601 646 | 2012-04-22,5.2035 647 | 2012-04-23,4.96 648 | 2012-04-24,5.0982 649 | 2012-04-25,5.1318 650 | 2012-04-26,5.0976 651 | 2012-04-27,5.1095 652 | 2012-04-28,4.9794 653 | 2012-04-29,4.9044 654 | 2012-04-30,4.9491 655 | 2012-05-01,5 656 | 2012-05-02,5.0737 657 | 2012-05-03,5.1344 658 | 2012-05-04,5.067 659 | 2012-05-05,5.077 660 | 2012-05-06,5.0499 661 | 2012-05-07,5.06 662 | 2012-05-08,5.05 663 | 2012-05-09,5.0437 664 | 2012-05-10,4.85 665 | 2012-05-11,4.96 666 | 2012-05-12,4.9462 667 | 2012-05-13,4.93 668 | 2012-05-14,5.0059 669 | 2012-05-15,5.035 670 | 2012-05-16,5.0887 671 | 2012-05-17,5.0998 672 | 2012-05-18,5.118 673 | 2012-05-19,5.0995 674 | 2012-05-20,5.09 675 | 2012-05-21,5.0998 676 | 2012-05-22,5.0988 677 | 2012-05-23,5.1397 678 | 2012-05-24,5.119 679 | 2012-05-25,5.1455 680 | 2012-05-26,5.1032 681 | 2012-05-27,5.139 682 | 2012-05-28,5.1358 683 | 2012-05-29,5.15 684 | 2012-05-30,5.135 685 | 2012-05-31,5.1801 686 | 2012-06-01,5.2748 687 | 2012-06-02,5.249 688 | 2012-06-03,5.2051 689 | 2012-06-04,5.266 690 | 2012-06-05,5.44 691 | 2012-06-06,5.46 692 | 2012-06-07,5.591 693 | 2012-06-08,5.633 694 | 2012-06-09,5.56 695 | 2012-06-10,5.4683 696 | 2012-06-11,5.5747 697 | 2012-06-12,5.7 698 | 2012-06-13,5.929 699 | 2012-06-14,5.9541 700 | 2012-06-15,6.5 701 | 2012-06-16,6.4 702 | 2012-06-17,6.1638 703 | 2012-06-18,6.31 704 | 2012-06-19,6.4988 705 | 2012-06-20,6.67 706 | 2012-06-21,6.6801 707 | 2012-06-22,6.5478 708 | 2012-06-23,6.4285 709 | 2012-06-24,6.35 710 | 2012-06-25,6.3048 711 | 2012-06-26,6.4195 712 | 2012-06-27,6.647 713 | 2012-06-28,6.6059 714 | 2012-06-29,6.65 715 | 2012-06-30,6.69 716 | 2012-07-01,6.629 717 | 2012-07-02,6.76 718 | 2012-07-03,6.4499 719 | 2012-07-04,6.5101 720 | 2012-07-05,6.67 721 | 2012-07-06,6.6481 722 | 2012-07-07,6.7621 723 | 2012-07-08,6.799 724 | 2012-07-09,7.0215 725 | 2012-07-10,7.1999 726 | 2012-07-11,7.15 727 | 2012-07-12,7.7644 728 | 2012-07-13,7.6651 729 | 2012-07-14,7.5421 730 | 2012-07-15,7.621 731 | 2012-07-16,8.4996 732 | 2012-07-17,8.8 733 | 2012-07-18,9.1098 734 | 2012-07-19,8.87 735 | 2012-07-20,8.52 736 | 2012-07-21,8.8455 737 | 2012-07-22,8.4096 738 | 2012-07-23,8.4457 739 | 2012-07-24,8.6 740 | 2012-07-25,8.8 741 | 2012-07-26,8.9 742 | 2012-07-27,8.9 743 | 2012-07-28,8.8881 744 | 2012-07-29,8.7103 745 | 2012-07-30,9.098 746 | 2012-07-31,9.35 747 | 2012-08-01,9.5503 748 | 2012-08-02,10.53 749 | 2012-08-03,10.97 750 | 2012-08-04,10.984 751 | 2012-08-05,10.87 752 | 2012-08-06,10.8552 753 | 2012-08-07,11.1 754 | 2012-08-08,11.0553 755 | 2012-08-09,11.0611 756 | 2012-08-10,11.3864 757 | 2012-08-11,11.5102 758 | 2012-08-12,11.624 759 | 2012-08-13,12.0375 760 | 2012-08-14,12.19 761 | 2012-08-15,13.25 762 | 2012-08-16,13.5 763 | 2012-08-17,11.5836 764 | 2012-08-18,11.61 765 | 2012-08-19,8 766 | 2012-08-20,10.1 767 | 2012-08-21,9.915 768 | 2012-08-22,9.8068 769 | 2012-08-23,10.1 770 | 2012-08-24,10.6 771 | 2012-08-25,10.5239 772 | 2012-08-26,10.61 773 | 2012-08-27,10.95 774 | 2012-08-28,10.94 775 | 2012-08-29,10.9169 776 | 2012-08-30,10.777 777 | 2012-08-31,10.16 778 | 2012-09-01,9.9654 779 | 2012-09-02,10.2041 780 | 2012-09-03,10.53 781 | 2012-09-04,10.3847 782 | 2012-09-05,10.9997 783 | 2012-09-06,11.181 784 | 2012-09-07,11 785 | 2012-09-08,11.037 786 | 2012-09-09,11.02 787 | 2012-09-10,11.17 788 | 2012-09-11,11.3308 789 | 2012-09-12,11.3649 790 | 2012-09-13,11.399 791 | 2012-09-14,11.67 792 | 2012-09-15,11.75 793 | 2012-09-16,11.87 794 | 2012-09-17,11.89 795 | 2012-09-18,12.25 796 | 2012-09-19,12.5725 797 | 2012-09-20,12.2825 798 | 2012-09-21,12.368 799 | 2012-09-22,12.2378 800 | 2012-09-23,12.1933 801 | 2012-09-24,12.1 802 | 2012-09-25,12.197 803 | 2012-09-26,12.27 804 | 2012-09-27,12.3089 805 | 2012-09-28,12.391 806 | 2012-09-29,12.3631 807 | 2012-09-30,12.4 808 | 2012-10-01,12.4 809 | 2012-10-02,12.84 810 | 2012-10-03,12.89 811 | 2012-10-04,12.85 812 | 2012-10-05,12.688 813 | 2012-10-06,12.505 814 | 2012-10-07,11.8 815 | 2012-10-08,11.7781 816 | 2012-10-09,11.895 817 | 2012-10-10,12.12 818 | 2012-10-11,12.03 819 | 2012-10-12,12 820 | 2012-10-13,11.861 821 | 2012-10-14,11.7389 822 | 2012-10-15,11.8381 823 | 2012-10-16,11.8499 824 | 2012-10-17,11.81 825 | 2012-10-18,11.9398 826 | 2012-10-19,11.7401 827 | 2012-10-20,11.7399 828 | 2012-10-21,11.6311 829 | 2012-10-22,11.7101 830 | 2012-10-23,11.65 831 | 2012-10-24,11.65 832 | 2012-10-25,10.8616 833 | 2012-10-26,10.1706 834 | 2012-10-27,10.2605 835 | 2012-10-28,10.7 836 | 2012-10-29,10.6 837 | 2012-10-30,10.8875 838 | 2012-10-31,11.201 839 | 2012-11-01,10.57 840 | 2012-11-02,10.4688 841 | 2012-11-03,10.6425 842 | 2012-11-04,10.8001 843 | 2012-11-05,10.748 844 | 2012-11-06,10.899 845 | 2012-11-07,10.92 846 | 2012-11-08,10.925 847 | 2012-11-09,10.815 848 | 2012-11-10,10.89 849 | 2012-11-11,10.8687 850 | 2012-11-12,11.008 851 | 2012-11-13,10.9512 852 | 2012-11-14,10.95 853 | 2012-11-15,11.1977 854 | 2012-11-16,11.7489 855 | 2012-11-17,11.7889 856 | 2012-11-18,11.6515 857 | 2012-11-19,11.7999 858 | 2012-11-20,11.7328 859 | 2012-11-21,11.77 860 | 2012-11-22,12.4219 861 | 2012-11-23,12.345 862 | 2012-11-24,12.4115 863 | 2012-11-25,12.4821 864 | 2012-11-26,12.2455 865 | 2012-11-27,12.2 866 | 2012-11-28,12.3477 867 | 2012-11-29,12.45 868 | 2012-11-30,12.565 869 | 2012-12-01,12.562 870 | 2012-12-02,12.5 871 | 2012-12-03,12.679 872 | 2012-12-04,13.41 873 | 2012-12-05,13.38 874 | 2012-12-06,13.299 875 | 2012-12-07,13.4999 876 | 2012-12-08,13.4201 877 | 2012-12-09,13.388 878 | 2012-12-10,13.4334 879 | 2012-12-11,13.557 880 | 2012-12-12,13.6989 881 | 2012-12-13,13.7001 882 | 2012-12-14,13.6 883 | 2012-12-15,13.4901 884 | 2012-12-16,13.3 885 | 2012-12-17,13.2501 886 | 2012-12-18,13.299 887 | 2012-12-19,13.599 888 | 2012-12-20,13.5246 889 | 2012-12-21,13.5 890 | 2012-12-22,13.3714 891 | 2012-12-23,13.312 892 | 2012-12-24,13.38 893 | 2012-12-25,13.35 894 | 2012-12-26,13.4679 895 | 2012-12-27,13.4217 896 | 2012-12-28,13.4212 897 | 2012-12-29,13.4 898 | 2012-12-30,13.45 899 | 2012-12-31,13.51 900 | 2013-01-01,13.3041 901 | 2013-01-02,13.28 902 | 2013-01-03,13.3979 903 | 2013-01-04,13.5 904 | 2013-01-05,13.44 905 | 2013-01-06,13.454 906 | 2013-01-07,13.5876 907 | 2013-01-08,13.7428 908 | 2013-01-09,13.77 909 | 2013-01-10,14.14 910 | 2013-01-11,14.137 911 | 2013-01-12,14.237 912 | 2013-01-13,14.116 913 | 2013-01-14,14.3 914 | 2013-01-15,14.25 915 | 2013-01-16,14.73 916 | 2013-01-17,15.5 917 | 2013-01-18,15.705 918 | 2013-01-19,15.615 919 | 2013-01-20,15.7 920 | 2013-01-21,16.8 921 | 2013-01-22,17.2614 922 | 2013-01-23,17.5 923 | 2013-01-24,16.896 924 | 2013-01-25,17.4 925 | 2013-01-26,17.88 926 | 2013-01-27,17.8182 927 | 2013-01-28,18.721 928 | 2013-01-29,19.5254 929 | 2013-01-30,19.7 930 | 2013-01-31,20.41 931 | 2013-02-01,20.499 932 | 2013-02-02,19.63 933 | 2013-02-03,20.59 934 | 2013-02-04,20.4301 935 | 2013-02-05,20.6 936 | 2013-02-06,21.18 937 | 2013-02-07,22.15 938 | 2013-02-08,22.66 939 | 2013-02-09,23.65 940 | 2013-02-10,23.9698 941 | 2013-02-11,24.65 942 | 2013-02-12,25.1698 943 | 2013-02-13,24.2 944 | 2013-02-14,27.2205 945 | 2013-02-15,27.1 946 | 2013-02-16,27.2158 947 | 2013-02-17,26.8146 948 | 2013-02-18,26.95 949 | 2013-02-19,29.4176 950 | 2013-02-20,29.645 951 | 2013-02-21,29.7477 952 | 2013-02-22,30.2454 953 | 2013-02-23,29.8 954 | 2013-02-24,29.89 955 | 2013-02-25,30.4 956 | 2013-02-26,31.1 957 | 2013-02-27,30.9012 958 | 2013-02-28,33.38 959 | 2013-03-01,34.5 960 | 2013-03-02,34.25 961 | 2013-03-03,34.5 962 | 2013-03-04,36.152 963 | 2013-03-05,40.33 964 | 2013-03-06,41.0201 965 | 2013-03-07,42 966 | 2013-03-08,44.18 967 | 2013-03-09,46.85 968 | 2013-03-10,46 969 | 2013-03-11,48.4 970 | 2013-03-12,44.2899 971 | 2013-03-13,46.92 972 | 2013-03-14,47.1696 973 | 2013-03-15,46.95 974 | 2013-03-16,47.0002 975 | 2013-03-17,47.4 976 | 2013-03-18,51.6 977 | 2013-03-19,59.14 978 | 2013-03-20,64.4888 979 | 2013-03-21,70.85 980 | 2013-03-22,69.865 981 | 2013-03-23,64.35 982 | 2013-03-24,71.5 983 | 2013-03-25,73.6 984 | 2013-03-26,78.5 985 | 2013-03-27,88.92 986 | 2013-03-28,86.18 987 | 2013-03-29,90.5 988 | 2013-03-30,92.19 989 | 2013-03-31,93.03 990 | 2013-04-01,104 991 | 2013-04-02,117.98 992 | 2013-04-03,135 993 | 2013-04-04,132.12 994 | 2013-04-05,142.3236 995 | 2013-04-06,142.6311 996 | 2013-04-07,162.301 997 | 2013-04-08,187.5 998 | 2013-04-09,230 999 | 2013-04-10,165 1000 | 2013-04-11,124.9 1001 | 2013-04-12,117 1002 | 2013-04-13,93 1003 | 2013-04-14,90 1004 | 2013-04-15,82.386 1005 | 2013-04-16,68.3557 1006 | 2013-04-17,93.07 1007 | 2013-04-18,109.01 1008 | 2013-04-19,118.48 1009 | 2013-04-20,126.6155 1010 | 2013-04-21,119.2 1011 | 2013-04-22,127.4 1012 | 2013-04-23,143.475 1013 | 2013-04-24,154.2 1014 | 2013-04-25,141.71 1015 | 2013-04-26,136.9 1016 | 2013-04-27,128.0001 1017 | 2013-04-28,134.4444 1018 | 2013-04-29,143.9999 1019 | 2013-04-30,139.2269 1020 | 2013-05-01,116.38 1021 | 2013-05-02,106.25 1022 | 2013-05-03,98.1 1023 | 2013-05-04,112.9 1024 | 2013-05-05,115.98 1025 | 2013-05-06,112.25 1026 | 2013-05-07,109.6001 1027 | 2013-05-08,113.2 1028 | 2013-05-09,112.799 1029 | 2013-05-10,117.7 1030 | 2013-05-11,115.64 1031 | 2013-05-12,114.82 1032 | 2013-05-13,117.9797 1033 | 2013-05-14,111.4 1034 | 2013-05-15,114.22 1035 | 2013-05-16,118.21 1036 | 2013-05-17,123.5 1037 | 2013-05-18,123.211 1038 | 2013-05-19,122.5 1039 | 2013-05-20,122.02 1040 | 2013-05-21,122.89 1041 | 2013-05-22,123.8 1042 | 2013-05-23,126.3 1043 | 2013-05-24,133.1 1044 | 2013-05-25,131.986 1045 | 2013-05-26,133.5 1046 | 2013-05-27,129.77 1047 | 2013-05-28,129 1048 | 2013-05-29,132.25 1049 | 2013-05-30,128.799 1050 | 2013-05-31,128.8151 1051 | 2013-06-01,129.3 1052 | 2013-06-02,122.5 1053 | 2013-06-03,120.7372 1054 | 2013-06-04,121.4 1055 | 2013-06-05,121.9 1056 | 2013-06-06,118.9699 1057 | 2013-06-07,111 1058 | 2013-06-08,107.8924 1059 | 2013-06-09,100.4374 1060 | 2013-06-10,106.35 1061 | 2013-06-11,109 1062 | 2013-06-12,108.7759 1063 | 2013-06-13,103.949 1064 | 2013-06-14,100 1065 | 2013-06-15,99.8 1066 | 2013-06-16,99.9 1067 | 2013-06-17,101.95 1068 | 2013-06-18,107.35 1069 | 2013-06-19,108.251 1070 | 2013-06-20,111.29 1071 | 2013-06-21,109.5 1072 | 2013-06-22,108.2 1073 | 2013-06-23,107.9 1074 | 2013-06-24,102.09 1075 | 2013-06-25,103.3293 1076 | 2013-06-26,104 1077 | 2013-06-27,101.7368 1078 | 2013-06-28,94.66 1079 | 2013-06-29,94.999 1080 | 2013-06-30,97.51 1081 | 2013-07-01,84.6069 1082 | 2013-07-02,87.6562 1083 | 2013-07-03,76.8901 1084 | 2013-07-04,77.685 1085 | 2013-07-05,66.34 1086 | 2013-07-06,66.855 1087 | 2013-07-07,72.5053 1088 | 2013-07-08,74.56 1089 | 2013-07-09,74.225 1090 | 2013-07-10,84.515 1091 | 2013-07-11,91.22 1092 | 2013-07-12,88.465 1093 | 2013-07-13,91.3888 1094 | 2013-07-14,90.3713 1095 | 2013-07-15,93.14 1096 | 2013-07-16,92.7415 1097 | 2013-07-17,90.5425 1098 | 2013-07-18,85.4298 1099 | 2013-07-19,85.7775 1100 | 2013-07-20,85.6675 1101 | 2013-07-21,85.4725 1102 | 2013-07-22,86.0862 1103 | 2013-07-23,86.9389 1104 | 2013-07-24,87.4575 1105 | 2013-07-25,89.41 1106 | 2013-07-26,90.6325 1107 | 2013-07-27,89.0975 1108 | 2013-07-28,92.1 1109 | 2013-07-29,93.2981 1110 | 2013-07-30,96.31 1111 | 2013-07-31,97.915 1112 | 2013-08-01,96.4175 1113 | 2013-08-02,97.24 1114 | 2013-08-03,96.66 1115 | 2013-08-04,96.6 1116 | 2013-08-05,96.92 1117 | 2013-08-06,97.1331 1118 | 2013-08-07,96.92 1119 | 2013-08-08,94.775 1120 | 2013-08-09,93.36 1121 | 2013-08-10,93.2875 1122 | 2013-08-11,94.1625 1123 | 2013-08-12,95.085 1124 | 2013-08-13,97.9021 1125 | 2013-08-14,97.96 1126 | 2013-08-15,97.545 1127 | 2013-08-16,98.33 1128 | 2013-08-17,99.565 1129 | 2013-08-18,98.845 1130 | 2013-08-19,102.2997 1131 | 2013-08-20,105.0125 1132 | 2013-08-21,111.445 1133 | 2013-08-22,109.73 1134 | 2013-08-23,107.5475 1135 | 2013-08-24,108.6875 1136 | 2013-08-25,111.795 1137 | 2013-08-26,112.23 1138 | 2013-08-27,117.4461 1139 | 2013-08-28,117.59 1140 | 2013-08-29,117.5227 1141 | 2013-08-30,123.2332 1142 | 2013-08-31,129.46 1143 | 2013-09-01,128.2597 1144 | 2013-09-02,127.3648 1145 | 2013-09-03,127.5915 1146 | 2013-09-04,120.5738 1147 | 2013-09-05,120.5333 1148 | 2013-09-06,116.321 1149 | 2013-09-07,119.0547 1150 | 2013-09-08,116.595 1151 | 2013-09-09,120.0188 1152 | 2013-09-10,121.458 1153 | 2013-09-11,125.4518 1154 | 2013-09-12,125.7598 1155 | 2013-09-13,126.5072 1156 | 2013-09-14,124.0813 1157 | 2013-09-15,124.5783 1158 | 2013-09-16,125.0618 1159 | 2013-09-17,125.9683 1160 | 2013-09-18,126.3045 1161 | 2013-09-19,124.1937 1162 | 2013-09-20,122.9008 1163 | 2013-09-21,122.6435 1164 | 2013-09-22,122.651 1165 | 2013-09-23,122.2235 1166 | 2013-09-24,122.5383 1167 | 2013-09-25,123.423 1168 | 2013-09-26,123.4763 1169 | 2013-09-27,123.4983 1170 | 2013-09-28,124.7483 1171 | 2013-09-29,125.1807 1172 | 2013-09-30,123.0983 1173 | 2013-10-01,125.4938 1174 | 2013-10-02,99.8135 1175 | 2013-10-03,116.8168 1176 | 2013-10-04,121.2945 1177 | 2013-10-05,121.1398 1178 | 2013-10-06,121.6828 1179 | 2013-10-07,123.245 1180 | 2013-10-08,124.3182 1181 | 2013-10-09,125.8423 1182 | 2013-10-10,125.6982 1183 | 2013-10-11,125.5117 1184 | 2013-10-12,126.5232 1185 | 2013-10-13,130.4155 1186 | 2013-10-14,133.0355 1187 | 2013-10-15,138.6417 1188 | 2013-10-16,137.4188 1189 | 2013-10-17,142.735 1190 | 2013-10-18,149.5947 1191 | 2013-10-19,159.8115 1192 | 2013-10-20,163.0632 1193 | 2013-10-21,174.1772 1194 | 2013-10-22,183.8648 1195 | 2013-10-23,200.62 1196 | 2013-10-24,183.1482 1197 | 2013-10-25,178.1217 1198 | 2013-10-26,175.9008 1199 | 2013-10-27,185.6888 1200 | 2013-10-28,187.8683 1201 | 2013-10-29,198.1932 1202 | 2013-10-30,194.5493 1203 | 2013-10-31,198.2263 1204 | 2013-11-01,198.5098 1205 | 2013-11-02,200.8473 1206 | 2013-11-03,207.6335 1207 | 2013-11-04,225.196 1208 | 2013-11-05,239.29 1209 | 2013-11-06,253.6933 1210 | 2013-11-07,283.3023 1211 | 2013-11-08,323.767 1212 | 2013-11-09,336.1358 1213 | 2013-11-10,311.9005 1214 | 2013-11-11,332.6263 1215 | 2013-11-12,349.3425 1216 | 2013-11-13,393.2795 1217 | 2013-11-14,410.723 1218 | 2013-11-15,409.1675 1219 | 2013-11-16,428.8238 1220 | 2013-11-17,476.295 1221 | 2013-11-18,674.3768 1222 | 2013-11-19,541.8257 1223 | 2013-11-20,572.6675 1224 | 2013-11-21,695.8668 1225 | 2013-11-22,747.4818 1226 | 2013-11-23,776.6998 1227 | 2013-11-24,751.377 1228 | 2013-11-25,778.6753 1229 | 2013-11-26,899.2 1230 | 2013-11-27,948.4088 1231 | 2013-11-28,1037.755 1232 | 2013-11-29,1120.3971 1233 | 2013-11-30,1124.7631 1234 | 2013-12-01,946.9237 1235 | 2013-12-02,1038.3485 1236 | 2013-12-03,1068.6675 1237 | 2013-12-04,1147.2457 1238 | 2013-12-05,1042.0267 1239 | 2013-12-06,834.0262 1240 | 2013-12-07,694.4709 1241 | 2013-12-08,795.3968 1242 | 2013-12-09,898.0222 1243 | 2013-12-10,989.9975 1244 | 2013-12-11,883.2617 1245 | 2013-12-12,875.7474 1246 | 2013-12-13,898.2112 1247 | 2013-12-14,867.495 1248 | 2013-12-15,879.4692 1249 | 2013-12-16,712.508 1250 | 2013-12-17,683.8408 1251 | 2013-12-18,522.2288 1252 | 2013-12-19,698.4503 1253 | 2013-12-20,622.8418 1254 | 2013-12-21,608.9638 1255 | 2013-12-22,617.8158 1256 | 2013-12-23,673.1677 1257 | 2013-12-24,667.6203 1258 | 2013-12-25,687.3557 1259 | 2013-12-26,765.2067 1260 | 2013-12-27,746.7232 1261 | 2013-12-28,730.4715 1262 | 2013-12-29,745.0712 1263 | 2013-12-30,754.7645 1264 | 2013-12-31,757.4953 1265 | 2014-01-01,770.4357 1266 | 2014-01-02,808.0485 1267 | 2014-01-03,830.024 1268 | 2014-01-04,858.9833 1269 | 2014-01-05,940.0972 1270 | 2014-01-06,951.3865 1271 | 2014-01-07,810.5833 1272 | 2014-01-08,859.9485 1273 | 2014-01-09,860.895 1274 | 2014-01-10,884.6667 1275 | 2014-01-11,930.905 1276 | 2014-01-12,873.2635 1277 | 2014-01-13,857.9564 1278 | 2014-01-14,851.828 1279 | 2014-01-15,874.713 1280 | 2014-01-16,847.3735 1281 | 2014-01-17,828.222 1282 | 2014-01-18,843.7583 1283 | 2014-01-19,878.6807 1284 | 2014-01-20,871.0483 1285 | 2014-01-21,874.2885 1286 | 2014-01-22,863.95 1287 | 2014-01-23,854.3475 1288 | 2014-01-24,825.1221 1289 | 2014-01-25,861.8516 1290 | 2014-01-26,880.1523 1291 | 2014-01-27,814.5302 1292 | 2014-01-28,833.9395 1293 | 2014-01-29,837.5148 1294 | 2014-01-30,845.8467 1295 | 2014-01-31,848.2875 1296 | 2014-02-01,853.0164 1297 | 2014-02-02,854.375 1298 | 2014-02-03,846.9048 1299 | 2014-02-04,842.0123 1300 | 2014-02-05,820.867 1301 | 2014-02-06,783.6211 1302 | 2014-02-07,703.567 1303 | 2014-02-08,676.9094 1304 | 2014-02-09,681.9371 1305 | 2014-02-10,679.7338 1306 | 2014-02-11,669.4418 1307 | 2014-02-12,648.3835 1308 | 2014-02-13,598.4075 1309 | 2014-02-14,656.6068 1310 | 2014-02-15,645.43 1311 | 2014-02-16,610.6525 1312 | 2014-02-17,621.494 1313 | 2014-02-18,621.2235 1314 | 2014-02-19,617.71 1315 | 2014-02-20,552.2138 1316 | 2014-02-21,569.0425 1317 | 2014-02-22,604.7473 1318 | 2014-02-23,604.5823 1319 | 2014-02-24,545.3225 1320 | 2014-02-25,534.7108 1321 | 2014-02-26,577.0858 1322 | 2014-02-27,576.698 1323 | 2014-02-28,543.9265 1324 | 2014-03-01,563.7358 1325 | 2014-03-02,560.3045 1326 | 2014-03-03,661.1225 1327 | 2014-03-04,663.598 1328 | 2014-03-05,661.7858 1329 | 2014-03-06,658.7245 1330 | 2014-03-07,625.8278 1331 | 2014-03-08,615.24 1332 | 2014-03-09,633.1825 1333 | 2014-03-10,625.8285 1334 | 2014-03-11,628.9543 1335 | 2014-03-12,631.3913 1336 | 2014-03-13,638.165 1337 | 2014-03-14,626.7067 1338 | 2014-03-15,633.6652 1339 | 2014-03-16,630.7167 1340 | 2014-03-17,621.2225 1341 | 2014-03-18,613.6315 1342 | 2014-03-19,608.8157 1343 | 2014-03-20,586.5898 1344 | 2014-03-21,570.7705 1345 | 2014-03-22,564.4215 1346 | 2014-03-23,561.3534 1347 | 2014-03-24,586.2718 1348 | 2014-03-25,582.2802 1349 | 2014-03-26,579.0722 1350 | 2014-03-27,478.1595 1351 | 2014-03-28,502.4399 1352 | 2014-03-29,493.1803 1353 | 2014-03-30,461.8695 1354 | 2014-03-31,458.4972 1355 | 2014-04-01,478.7163 1356 | 2014-04-02,437.515 1357 | 2014-04-03,447.0822 1358 | 2014-04-04,448.8792 1359 | 2014-04-05,464.8259 1360 | 2014-04-06,460.7028 1361 | 2014-04-07,446.2195 1362 | 2014-04-08,450.4638 1363 | 2014-04-09,440.1983 1364 | 2014-04-10,360.8407 1365 | 2014-04-11,420.0563 1366 | 2014-04-12,420.66 1367 | 2014-04-13,414.9495 1368 | 2014-04-14,457.6338 1369 | 2014-04-15,520.1233 1370 | 2014-04-16,529.1625 1371 | 2014-04-17,494.4 1372 | 2014-04-18,478.2312 1373 | 2014-04-19,501.5515 1374 | 2014-04-20,497.3177 1375 | 2014-04-21,493.0921 1376 | 2014-04-22,484.429 1377 | 2014-04-23,486.9317 1378 | 2014-04-24,500.2568 1379 | 2014-04-25,459.6104 1380 | 2014-04-26,456.1395 1381 | 2014-04-27,429.6537 1382 | 2014-04-28,437.0587 1383 | 2014-04-29,444.2533 1384 | 2014-04-30,445.8655 1385 | 2014-05-01,456.2673 1386 | 2014-05-02,446.6438 1387 | 2014-05-03,436.9381 1388 | 2014-05-04,434.0643 1389 | 2014-05-05,429.7242 1390 | 2014-05-06,426.992 1391 | 2014-05-07,436.9605 1392 | 2014-05-08,435.343 1393 | 2014-05-09,448.235 1394 | 2014-05-10,452.7108 1395 | 2014-05-11,436.542 1396 | 2014-05-12,438.4278 1397 | 2014-05-13,437.413 1398 | 2014-05-14,441.7498 1399 | 2014-05-15,444.3162 1400 | 2014-05-16,445.0133 1401 | 2014-05-17,446.3583 1402 | 2014-05-18,444.809 1403 | 2014-05-19,444.3128 1404 | 2014-05-20,485.8305 1405 | 2014-05-21,489.1625 1406 | 2014-05-22,526.0577 1407 | 2014-05-23,519.0392 1408 | 2014-05-24,525.6332 1409 | 2014-05-25,570.095 1410 | 2014-05-26,581.8267 1411 | 2014-05-27,569.6332 1412 | 2014-05-28,574.4547 1413 | 2014-05-29,565.5058 1414 | 2014-05-30,616.47 1415 | 2014-05-31,623.2567 1416 | 2014-06-01,629.0242 1417 | 2014-06-02,658.786 1418 | 2014-06-03,665.73 1419 | 2014-06-04,636.7837 1420 | 2014-06-05,656.0598 1421 | 2014-06-06,645.5647 1422 | 2014-06-07,652.7083 1423 | 2014-06-08,653.6402 1424 | 2014-06-09,645.341 1425 | 2014-06-10,649.8068 1426 | 2014-06-11,627.9098 1427 | 2014-06-12,581.8033 1428 | 2014-06-13,597.4267 1429 | 2014-06-14,571.6902 1430 | 2014-06-15,591.9718 1431 | 2014-06-16,588.06 1432 | 2014-06-17,607.3427 1433 | 2014-06-18,604.8752 1434 | 2014-06-19,592.2648 1435 | 2014-06-20,588.5215 1436 | 2014-06-21,591.0298 1437 | 2014-06-22,598.8765 1438 | 2014-06-23,587.4598 1439 | 2014-06-24,575.0667 1440 | 2014-06-25,562.1263 1441 | 2014-06-26,579.3842 1442 | 2014-06-27,600.8645 1443 | 2014-06-28,591.994 1444 | 2014-06-29,598.6032 1445 | 2014-06-30,639.3623 1446 | 2014-07-01,635.5905 1447 | 2014-07-02,647.34 1448 | 2014-07-03,640.6879 1449 | 2014-07-04,626.9575 1450 | 2014-07-05,628.3313 1451 | 2014-07-06,631.7065 1452 | 2014-07-07,617.9918 1453 | 2014-07-08,620.2193 1454 | 2014-07-09,620.5496 1455 | 2014-07-10,615.1129 1456 | 2014-07-11,631.1804 1457 | 2014-07-12,634.4775 1458 | 2014-07-13,627.5759 1459 | 2014-07-14,618.3798 1460 | 2014-07-15,619.3558 1461 | 2014-07-16,615.2039 1462 | 2014-07-17,622.6234 1463 | 2014-07-18,628.2156 1464 | 2014-07-19,625.8011 1465 | 2014-07-20,621.3725 1466 | 2014-07-21,620.0103 1467 | 2014-07-22,618.8076 1468 | 2014-07-23,617.9274 1469 | 2014-07-24,600.0065 1470 | 2014-07-25,599.928 1471 | 2014-07-26,593.8526 1472 | 2014-07-27,590.9454 1473 | 2014-07-28,584.6931 1474 | 2014-07-29,582.2034 1475 | 2014-07-30,564.37 1476 | 2014-07-31,581.3501 1477 | 2014-08-01,595.0845 1478 | 2014-08-02,587.2878 1479 | 2014-08-03,585.5078 1480 | 2014-08-04,586.7639 1481 | 2014-08-05,583.1125 1482 | 2014-08-06,583.0355 1483 | 2014-08-07,587.3971 1484 | 2014-08-08,590.5324 1485 | 2014-08-09,588.095 1486 | 2014-08-10,589.45 1487 | 2014-08-11,573.3066 1488 | 2014-08-12,568.2099 1489 | 2014-08-13,544.5681 1490 | 2014-08-14,508.5536 1491 | 2014-08-15,496.6164 1492 | 2014-08-16,519.8314 1493 | 2014-08-17,492.9513 1494 | 2014-08-18,460.6719 1495 | 2014-08-19,486.736 1496 | 2014-08-20,511.9259 1497 | 2014-08-21,516.1605 1498 | 2014-08-22,513.9419 1499 | 2014-08-23,497.2185 1500 | 2014-08-24,508.5735 1501 | 2014-08-25,501.6296 1502 | 2014-08-26,513.4704 1503 | 2014-08-27,510.43 1504 | 2014-08-28,507.0154 1505 | 2014-08-29,508.4224 1506 | 2014-08-30,501.2031 1507 | 2014-08-31,478.0734 1508 | 2014-09-01,474.1346 1509 | 2014-09-02,475.3181 1510 | 2014-09-03,474.537 1511 | 2014-09-04,489.0865 1512 | 2014-09-05,480.501 1513 | 2014-09-06,482.2371 1514 | 2014-09-07,479.4833 1515 | 2014-09-08,472.1479 1516 | 2014-09-09,471.5576 1517 | 2014-09-10,477.5273 1518 | 2014-09-11,476.3349 1519 | 2014-09-12,473.8254 1520 | 2014-09-13,477.0861 1521 | 2014-09-14,474.715 1522 | 2014-09-15,471.3586 1523 | 2014-09-16,463.7388 1524 | 2014-09-17,454.9143 1525 | 2014-09-18,421.4594 1526 | 2014-09-19,391.9439 1527 | 2014-09-20,406.8248 1528 | 2014-09-21,396.567 1529 | 2014-09-22,398.8854 1530 | 2014-09-23,435.3779 1531 | 2014-09-24,422.2984 1532 | 2014-09-25,408.7985 1533 | 2014-09-26,401.9203 1534 | 2014-09-27,398.3571 1535 | 2014-09-28,376.1983 1536 | 2014-09-29,374.7344 1537 | 2014-09-30,386.2687 1538 | 2014-10-01,381.3324 1539 | 2014-10-02,371.9859 1540 | 2014-10-03,356.5566 1541 | 2014-10-04,325.4921 1542 | 2014-10-05,319.6406 1543 | 2014-10-06,328.4594 1544 | 2014-10-07,334.0911 1545 | 2014-10-08,352.7889 1546 | 2014-10-09,363.7751 1547 | 2014-10-10,358.6859 1548 | 2014-10-11,359.2029 1549 | 2014-10-12,376.1891 1550 | 2014-10-13,388.377 1551 | 2014-10-14,398.7068 1552 | 2014-10-15,391.8433 1553 | 2014-10-16,380.0801 1554 | 2014-10-17,380.4216 1555 | 2014-10-18,388.9618 1556 | 2014-10-19,386.5889 1557 | 2014-10-20,379.3713 1558 | 2014-10-21,382.377 1559 | 2014-10-22,379.0963 1560 | 2014-10-23,355.8614 1561 | 2014-10-24,355.1695 1562 | 2014-10-25,346.1126 1563 | 2014-10-26,351.5414 1564 | 2014-10-27,348.9613 1565 | 2014-10-28,351.8971 1566 | 2014-10-29,333.3788 1567 | 2014-10-30,343.7828 1568 | 2014-10-31,336.7995 1569 | 2014-11-01,325.3865 1570 | 2014-11-02,323.7426 1571 | 2014-11-03,324.2303 1572 | 2014-11-04,328.2833 1573 | 2014-11-05,337.139 1574 | 2014-11-06,348.235 1575 | 2014-11-07,341.0795 1576 | 2014-11-08,344.034 1577 | 2014-11-09,363.3062 1578 | 2014-11-10,365.2897 1579 | 2014-11-11,366.9933 1580 | 2014-11-12,427.2403 1581 | 2014-11-13,417.1528 1582 | 2014-11-14,398.4273 1583 | 2014-11-15,375.1288 1584 | 2014-11-16,388.5542 1585 | 2014-11-17,385.8593 1586 | 2014-11-18,372.377 1587 | 2014-11-19,377.2368 1588 | 2014-11-20,356.1388 1589 | 2014-11-21,348.8617 1590 | 2014-11-22,352.0417 1591 | 2014-11-23,366.7687 1592 | 2014-11-24,375.2355 1593 | 2014-11-25,375.7174 1594 | 2014-11-26,368.5104 1595 | 2014-11-27,369.1426 1596 | 2014-11-28,375.8489 1597 | 2014-11-29,375.2228 1598 | 2014-11-30,377.0901 1599 | 2014-12-01,378.6444 1600 | 2014-12-02,381.5364 1601 | 2014-12-03,374.9728 1602 | 2014-12-04,369.155 1603 | 2014-12-05,376.0361 1604 | 2014-12-06,374.0196 1605 | 2014-12-07,374.2558 1606 | 2014-12-08,360.9419 1607 | 2014-12-09,351.2694 1608 | 2014-12-10,344.6171 1609 | 2014-12-11,347.1331 1610 | 2014-12-12,350.9412 1611 | 2014-12-13,347.4713 1612 | 2014-12-14,351.1439 1613 | 2014-12-15,345.0961 1614 | 2014-12-16,326.0815 1615 | 2014-12-17,319.1713 1616 | 2014-12-18,310.7458 1617 | 2014-12-19,317.006 1618 | 2014-12-20,329.5742 1619 | 2014-12-21,319.2411 1620 | 2014-12-22,330.6709 1621 | 2014-12-23,334.0467 1622 | 2014-12-24,321.8843 1623 | 2014-12-25,318.6118 1624 | 2014-12-26,327.1582 1625 | 2014-12-27,315.167 1626 | 2014-12-28,316.7959 1627 | 2014-12-29,312.4412 1628 | 2014-12-30,309.8708 1629 | 2014-12-31,319.6958 1630 | 2015-01-01,313.9247 1631 | 2015-01-02,314.5916 1632 | 2015-01-03,279.8507 1633 | 2015-01-04,263.6343 1634 | 2015-01-05,272.9486 1635 | 2015-01-06,285.5759 1636 | 2015-01-07,294.8778 1637 | 2015-01-08,283.2513 1638 | 2015-01-09,288.8441 1639 | 2015-01-10,274.0668 1640 | 2015-01-11,265.3692 1641 | 2015-01-12,267.0873 1642 | 2015-01-13,226.9823 1643 | 2015-01-14,177.2795 1644 | 2015-01-15,210.4636 1645 | 2015-01-16,207.2243 1646 | 2015-01-17,199.625 1647 | 2015-01-18,209.932 1648 | 2015-01-19,213.9783 1649 | 2015-01-20,210.4817 1650 | 2015-01-21,225.9816 1651 | 2015-01-22,232.6616 1652 | 2015-01-23,232.9673 1653 | 2015-01-24,247.9855 1654 | 2015-01-25,254.5073 1655 | 2015-01-26,271.9491 1656 | 2015-01-27,262.0605 1657 | 2015-01-28,233.2087 1658 | 2015-01-29,232.4048 1659 | 2015-01-30,226.5033 1660 | 2015-01-31,216.9137 1661 | 2015-02-01,226.3959 1662 | 2015-02-02,237.5409 1663 | 2015-02-03,226.9566 1664 | 2015-02-04,226.7291 1665 | 2015-02-05,216.7714 1666 | 2015-02-06,222.4823 1667 | 2015-02-07,227.3275 1668 | 2015-02-08,222.8677 1669 | 2015-02-09,220.1743 1670 | 2015-02-10,220.0829 1671 | 2015-02-11,219.4922 1672 | 2015-02-12,221.8513 1673 | 2015-02-13,235.7869 1674 | 2015-02-14,257.4741 1675 | 2015-02-15,234.3292 1676 | 2015-02-16,233.5618 1677 | 2015-02-17,243.5983 1678 | 2015-02-18,236.2137 1679 | 2015-02-19,239.835 1680 | 2015-02-20,243.7756 1681 | 2015-02-21,244.2557 1682 | 2015-02-22,235.5299 1683 | 2015-02-23,238.0845 1684 | 2015-02-24,238.7601 1685 | 2015-02-25,237.2513 1686 | 2015-02-26,236.0951 1687 | 2015-02-27,252.5111 1688 | 2015-02-28,253.5283 1689 | 2015-03-01,258.7425 1690 | 2015-03-02,271.3525 1691 | 2015-03-03,281.4497 1692 | 2015-03-04,271.9222 1693 | 2015-03-05,274.865 1694 | 2015-03-06,272.2111 1695 | 2015-03-07,275.8898 1696 | 2015-03-08,274.4754 1697 | 2015-03-09,288.5161 1698 | 2015-03-10,290.512 1699 | 2015-03-11,295.8301 1700 | 2015-03-12,293.8671 1701 | 2015-03-13,284.2838 1702 | 2015-03-14,281.3615 1703 | 2015-03-15,285.3415 1704 | 2015-03-16,290.3763 1705 | 2015-03-17,284.4553 1706 | 2015-03-18,255.3662 1707 | 2015-03-19,259.7404 1708 | 2015-03-20,260.838 1709 | 2015-03-21,259.6162 1710 | 2015-03-22,267.7968 1711 | 2015-03-23,265.9432 1712 | 2015-03-24,245.4422 1713 | 2015-03-25,246.1339 1714 | 2015-03-26,247.648 1715 | 2015-03-27,246.5814 1716 | 2015-03-28,252.252 1717 | 2015-03-29,242.0165 1718 | 2015-03-30,246.852 1719 | 2015-03-31,243.3894 1720 | 2015-04-01,246.5548 1721 | 2015-04-02,252.2566 1722 | 2015-04-03,253.5439 1723 | 2015-04-04,253.1206 1724 | 2015-04-05,259.9451 1725 | 2015-04-06,254.5187 1726 | 2015-04-07,252.7965 1727 | 2015-04-08,244.3604 1728 | 2015-04-09,243.2604 1729 | 2015-04-10,235.2201 1730 | 2015-04-11,236.117 1731 | 2015-04-12,235.6352 1732 | 2015-04-13,223.4056 1733 | 2015-04-14,218.2741 1734 | 2015-04-15,223.5659 1735 | 2015-04-16,228.107 1736 | 2015-04-17,222.2325 1737 | 2015-04-18,222.843 1738 | 2015-04-19,221.6913 1739 | 2015-04-20,224.3076 1740 | 2015-04-21,235.815 1741 | 2015-04-22,233.923 1742 | 2015-04-23,235.5616 1743 | 2015-04-24,230.786 1744 | 2015-04-25,225.8529 1745 | 2015-04-26,218.815 1746 | 2015-04-27,228.4994 1747 | 2015-04-28,225.6763 1748 | 2015-04-29,225.9764 1749 | 2015-04-30,236.5704 1750 | 2015-05-01,232.1241 1751 | 2015-05-02,234.9045 1752 | 2015-05-03,240.1203 1753 | 2015-05-04,238.7688 1754 | 2015-05-05,236.5532 1755 | 2015-05-06,230.0478 1756 | 2015-05-07,237.7829 1757 | 2015-05-08,243.3946 1758 | 2015-05-09,240.4825 1759 | 2015-05-10,239.6312 1760 | 2015-05-11,241.8539 1761 | 2015-05-12,240.99 1762 | 2015-05-13,235.7981 1763 | 2015-05-14,236.739 1764 | 2015-05-15,237.3101 1765 | 2015-05-16,235.7265 1766 | 2015-05-17,236.0996 1767 | 2015-05-18,232.8655 1768 | 2015-05-19,231.9434 1769 | 2015-05-20,234.2455 1770 | 2015-05-21,235.3048 1771 | 2015-05-22,240.519 1772 | 2015-05-23,239.0331 1773 | 2015-05-24,241.1864 1774 | 2015-05-25,237.4879 1775 | 2015-05-26,237.3271 1776 | 2015-05-27,237.1847 1777 | 2015-05-28,237.4716 1778 | 2015-05-29,237.1049 1779 | 2015-05-30,233.2939 1780 | 2015-05-31,229.9992 1781 | 2015-06-01,223.3086 1782 | 2015-06-02,225.7461 1783 | 2015-06-03,225.6452 1784 | 2015-06-04,224.371 1785 | 2015-06-05,225.0357 1786 | 2015-06-06,225.6791 1787 | 2015-06-07,223.3896 1788 | 2015-06-08,228.6452 1789 | 2015-06-09,229.3327 1790 | 2015-06-10,228.9521 1791 | 2015-06-11,230.0189 1792 | 2015-06-12,230.2041 1793 | 2015-06-13,232.7533 1794 | 2015-06-14,233.8536 1795 | 2015-06-15,237.3096 1796 | 2015-06-16,250.8977 1797 | 2015-06-17,249.1681 1798 | 2015-06-18,248.8732 1799 | 2015-06-19,243.547 1800 | 2015-06-20,245.2612 1801 | 2015-06-21,244.01 1802 | 2015-06-22,246.77 1803 | 2015-06-23,243.9862 1804 | 2015-06-24,240.2155 1805 | 2015-06-25,242.422 1806 | 2015-06-26,242.6424 1807 | 2015-06-27,250.7066 1808 | 2015-06-28,248.0673 1809 | 2015-06-29,256.4875 1810 | 2015-06-30,262.4843 1811 | 2015-07-01,257.6604 1812 | 2015-07-02,254.3505 1813 | 2015-07-03,255.5961 1814 | 2015-07-04,260.3488 1815 | 2015-07-05,271.0153 1816 | 2015-07-06,268.4935 1817 | 2015-07-07,264.9566 1818 | 2015-07-08,269.6459 1819 | 2015-07-09,268.1134 1820 | 2015-07-10,283.881 1821 | 2015-07-11,291.6873 1822 | 2015-07-12,309.9778 1823 | 2015-07-13,290.8811 1824 | 2015-07-14,286.1856 1825 | 2015-07-15,283.8231 1826 | 2015-07-16,277.8273 1827 | 2015-07-17,278.4883 1828 | 2015-07-18,274.4938 1829 | 2015-07-19,272.4889 1830 | 2015-07-20,278.4139 1831 | 2015-07-21,275.0995 1832 | 2015-07-22,276.6174 1833 | 2015-07-23,275.6266 1834 | 2015-07-24,287.9738 1835 | 2015-07-25,288.1343 1836 | 2015-07-26,291.6372 1837 | 2015-07-27,292.7306 1838 | 2015-07-28,293.7851 1839 | 2015-07-29,288.7681 1840 | 2015-07-30,287.2898 1841 | 2015-07-31,283.9417 1842 | 2015-08-01,280.0371 1843 | 2015-08-02,281.65 1844 | 2015-08-03,280.4796 1845 | 2015-08-04,284.5033 1846 | 2015-08-05,281.3783 1847 | 2015-08-06,278.2516 1848 | 2015-08-07,279.0303 1849 | 2015-08-08,260.2 1850 | 2015-08-09,264.4388 1851 | 2015-08-10,263.7615 1852 | 2015-08-11,270.9167 1853 | 2015-08-12,265.6418 1854 | 2015-08-13,263.3371 1855 | 2015-08-14,264.8686 1856 | 2015-08-15,260.7343 1857 | 2015-08-16,257.6735 1858 | 2015-08-17,256.984 1859 | 2015-08-18,219.0045 1860 | 2015-08-19,225.3944 1861 | 2015-08-20,234.6873 1862 | 2015-08-21,231.9406 1863 | 2015-08-22,229.7444 1864 | 2015-08-23,227.589 1865 | 2015-08-24,209.1322 1866 | 2015-08-25,221.7118 1867 | 2015-08-26,225.3798 1868 | 2015-08-27,224.261 1869 | 2015-08-28,230.9825 1870 | 2015-08-29,229.7562 1871 | 2015-08-30,228.6088 1872 | 2015-08-31,230.0173 1873 | 2015-09-01,227.3469 1874 | 2015-09-02,228.8551 1875 | 2015-09-03,226.765 1876 | 2015-09-04,230.0851 1877 | 2015-09-05,234.6771 1878 | 2015-09-06,239.4383 1879 | 2015-09-07,240.0202 1880 | 2015-09-08,243.5473 1881 | 2015-09-09,238.2916 1882 | 2015-09-10,238.5896 1883 | 2015-09-11,240.0838 1884 | 2015-09-12,234.8185 1885 | 2015-09-13,230.328 1886 | , 1887 | This data was produced from the CoinDesk Bitcoin Price Index. BPI value data is listed in USD., 1888 | http://www.coindesk.com/price/, 1889 | -------------------------------------------------------------------------------- /btc-calculator/img/btc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjhea0/thinkful-angular/1ad461e71227e598cacb7326e52e34cec76e2006/btc-calculator/img/btc.png -------------------------------------------------------------------------------- /btc-calculator/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bitcoin Investment Calculator 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 |
18 |
19 |

Bitcoin Investment
Calculator

20 |

21 |
22 |
23 | 24 |
25 |
26 |
27 |
28 | 29 | 30 |
31 |
32 |

Current Price (USD): {{currRate | currency }}

33 |
34 |
35 | 36 |
37 |
38 |
39 | 40 |
41 |
42 |

43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |
Price of 1 BTCStarting InvestmentProfit
$1,000{{ newAmt(1000) | currency }}{{ profit(1000) | currency }}
$5,000{{ newAmt(5000) | currency }}{{ profit(5000) | currency }}
$10,000{{ newAmt(10000) | currency }}{{ profit(10000) | currency }}
$25,000{{ newAmt(25000) | currency }}{{ profit(25000) | currency }}
$50,000{{ newAmt(50000) | currency }}{{ profit(50000) | currency }}
79 | * IF the price of 1 Bitcoin reaches X, THEN your starting investment becomes X AND your profit becomes X. 80 |
81 |
82 | 83 |
84 |
85 | 93 | 94 |
95 |
96 | 97 |
98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /btc-calculator/main.css: -------------------------------------------------------------------------------- 1 | label, table { 2 | font-size: 15px; 3 | } 4 | 5 | input { 6 | max-width: 200px; 7 | } 8 | 9 | .number { 10 | font-weight: bold; 11 | } 12 | 13 | .jumbotron { 14 | height: 100%; 15 | margin-bottom: 0 16 | } 17 | 18 | .chart { 19 | height: 400px; 20 | } 21 | -------------------------------------------------------------------------------- /part2/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bitcoin Investment Calculator 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 |
20 |

Bitcoin Investment
Calculator

21 |
22 |

How many Bitcoins do you have?

23 | 24 | 25 |

26 |

You have {{ somenumber }} Bitcoins - nice!

27 |
28 | 29 | 30 | -------------------------------------------------------------------------------- /part3/img/btc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjhea0/thinkful-angular/1ad461e71227e598cacb7326e52e34cec76e2006/part3/img/btc.png -------------------------------------------------------------------------------- /part3/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bitcoin Investment Calculator 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 19 | 20 | 38 | 39 | 40 |
41 |
42 |
43 |

Bitcoin Investment Calculator

44 |

45 |
46 | 47 | 48 |
49 |
50 |

Current Price (USD): {{currRate | currency }}

51 |
52 |
53 |
54 |
55 |

56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 |
Price of 1 BTCStarting InvestmentProfit
$1,000{{ newAmt(1000) | currency }}{{ profit(1000) | currency }}
$5,000{{ newAmt(5000) | currency }}{{ profit(5000) | currency }}
$10,000{{ newAmt(10000) | currency }}{{ profit(10000) | currency }}
$25,000{{ newAmt(25000) | currency }}{{ profit(25000) | currency }}
$50,000{{ newAmt(50000) | currency }}{{ profit(50000) | currency }}
92 | * IF the price of 1 Bitcoin reaches X, THEN your starting investment becomes X AND your profit becomes X. 93 |
94 |
95 |

96 | 97 |
98 |
99 |
100 | 101 | 102 | -------------------------------------------------------------------------------- /part4/img/btc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjhea0/thinkful-angular/1ad461e71227e598cacb7326e52e34cec76e2006/part4/img/btc.png -------------------------------------------------------------------------------- /part4/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bitcoin Investment Calculator 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 |
18 |
19 |

Bitcoin Investment
Calculator

20 |

21 |
22 |
23 | 24 |
25 |
26 |
27 |
28 | 29 | 30 |
31 |
32 |

Current Price (USD): {{currRate | currency }}

33 |
34 |
35 | 36 |
37 |
38 |
39 | 40 |
41 |
42 |

43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |
Price of 1 BTCStarting InvestmentProfit
$1,000{{ newAmt(1000) | currency }}{{ profit(1000) | currency }}
$5,000{{ newAmt(5000) | currency }}{{ profit(5000) | currency }}
$10,000{{ newAmt(10000) | currency }}{{ profit(10000) | currency }}
$25,000{{ newAmt(25000) | currency }}{{ profit(25000) | currency }}
$50,000{{ newAmt(50000) | currency }}{{ profit(50000) | currency }}
79 | * IF the price of 1 Bitcoin reaches X, THEN your starting investment becomes X AND your profit becomes X. 80 |
81 |
82 | 83 |
84 |
85 | 86 | 87 |
88 |
89 | 90 |
91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /part4/main.css: -------------------------------------------------------------------------------- 1 | label, table { 2 | font-size: 15px; 3 | } 4 | 5 | input { 6 | max-width: 200px; 7 | } 8 | 9 | .number { 10 | font-weight: bold; 11 | } 12 | 13 | .jumbotron { 14 | height: 100%; 15 | margin-bottom: 0 16 | } 17 | 18 | .chart { 19 | height: 400px; 20 | } 21 | -------------------------------------------------------------------------------- /part4/main.js: -------------------------------------------------------------------------------- 1 | var bitcoinCalculator = angular.module('bitcoinCalculator', ['nvd3ChartDirectives']); 2 | 3 | bitcoinCalculator.controller('bitcoinController', function($scope, $http){ 4 | 5 | // calling the api, grabbing the value for USD, appending it to the dom 6 | $http.get("https://bitpay.com/api/rates") 7 | .success(function(data){ 8 | $scope.rates = data; 9 | for(var i=0;i 2 | 3 | 4 | 5 | Bitcoin Investment Calculator 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 |
18 |
19 |

Bitcoin Investment
Calculator

20 |

21 |
22 |
23 | 24 |
25 |
26 |
27 |
28 | 29 | 30 |
31 |
32 |

Current Price (USD): {{currRate | currency }}

33 |
34 |
35 | 36 |
37 |
38 |
39 | 40 |
41 |
42 |

43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |
Price of 1 BTCStarting InvestmentProfit
$1,000{{ newAmt(1000) | currency }}{{ profit(1000) | currency }}
$5,000{{ newAmt(5000) | currency }}{{ profit(5000) | currency }}
$10,000{{ newAmt(10000) | currency }}{{ profit(10000) | currency }}
$25,000{{ newAmt(25000) | currency }}{{ profit(25000) | currency }}
$50,000{{ newAmt(50000) | currency }}{{ profit(50000) | currency }}
79 | * IF the price of 1 Bitcoin reaches X, THEN your starting investment becomes X AND your profit becomes X. 80 |
81 |
82 | 83 |
84 |
85 | 93 | 94 |
95 |
96 | 97 |
98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /part5/main.css: -------------------------------------------------------------------------------- 1 | label, table { 2 | font-size: 15px; 3 | } 4 | 5 | input { 6 | max-width: 200px; 7 | } 8 | 9 | .number { 10 | font-weight: bold; 11 | } 12 | 13 | .jumbotron { 14 | height: 100%; 15 | margin-bottom: 0 16 | } 17 | 18 | .chart { 19 | height: 400px; 20 | } 21 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # AngularJS by Example - Building a Bitcoin Investment Calculator 2 | 3 | Angular JS is a client-side Javascript framework used for simplifying the process of developing maintainable web applications. **In this tutorial we'll design a basic Angular app that highlights much of what the framework has to offer.** 4 | 5 | > Before going any further, to fully understand this tutorial you need to be comfortable with *vanilla* Javascript, not just jQuery. For a crash course in Javascript, check out the Codeacademy Javascript [track](http://www.codecademy.com/tracks/javascript). 6 | 7 | First off, what are we building? Well, forget the overdone hello world and todo apps, let's build something more - a Bitcoin Calculator! 8 | 9 | This app details how much you could *potentially* profit if you invested X amount of dollars in Bitcoins. Through this tutorial, we'll walk you through the basics of designing a web app using *Angular (v1.4.5)*, highlighting many of the key features of the framework - including templating, two-way data binding, directives, and filters. 10 | 11 |
12 | 13 | **Last updated on 09/14/2015** - added the latest version of Angular ([1.4.5](https://code.angularjs.org/1.4.5/docs/api)) as well as dynamic charts via [D3](http://d3js.org/). 14 | 15 | ## Contents 16 | 17 | 1. [Part 1 - What is Angular?](https://github.com/mjhea0/thinkful-angular#part-1---what-is-angular) 18 | 1. [Part 2 - Basic Project](https://github.com/mjhea0/thinkful-angular#part-2---basic-project) 19 | 1. [Part 3 - Bitcoin Calculator](https://github.com/mjhea0/thinkful-angular#part-3---bitcoin-calculator) 20 | 1. [Part 4 - Data Visualization](https://github.com/mjhea0/thinkful-angular#part-4---data-visualization) 21 | 1. [Part 5 - Historical Price Chart](https://github.com/mjhea0/thinkful-angular#part-5---historical-price-chart) 22 | 23 | ## Part 1 - What is Angular? 24 | 25 | Angular is designed for creating dynamic, [single page applications](https://en.wikipedia.org/wiki/Single-page_application) as well as full web applications within the Model View Controller (MVC) pattern (Or, more precisely: the [MVVM](http://www.dotnet-tricks.com/Tutorial/designpatterns/2FMM060314-Understanding-MVC,-MVP-and-MVVM-Design-Patterns.html) pattern). 26 | 27 | Working within the MVC paradigm, it's easy to add (bind) data to your page, which automatically updates because the framework is always watching for changes. Put another way, with Angular, we can write front-end code without having to directly manipulate the DOM. It's also easy to learn since it works directly with HTML, by simply extending its functionality. 28 | 29 | Before we start building, read over some of Angular's main features: 30 | 31 | 1. **[Templates](http://docs.angularjs.org/guide/templates)**: Templates reside directly in your HTML, displaying dynamic data to the end user . 32 | 2. **[Two-way data binding](http://docs.angularjs.org/guide/databinding)**: Changes to your JavaScript module automatically update the DOM. In other words, it doesn't require an explicit refresh. 33 | 3. **[Routing](http://docs.angularjs.org/api/ngRoute/service/$route)**: Routing represents the possible application states; controllers and templates are employed to serve this purpose. 34 | 4. **[Directives](http://docs.angularjs.org/guide/directive)**: Directives are used for extending HTML with new functionality as well as encapsulating code for easy reuse. 35 | 36 | ## Part 2 - Basic Project 37 | 38 | Let's start with the very basics with a barebones HTML5 project boilerplate: 39 | 40 | ```html 41 | 42 | 43 | 44 | Bitcoin Investment Calculator 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |

Bitcoin Investment
Calculator

56 | 57 | 58 | ``` 59 | 60 | Check out this [link](https://github.com/mjhea0/thinkful-html#html) if you'd like to know more about this structure. Notice how I included Angular in the page - ``. You must do this before the closing `` tag. 61 | 62 | Save this as *index.html*. 63 | 64 | Next, we'll dive right into Angular. First, let's define a *scope* for our project: 65 | 66 | ```html 67 | 68 | 69 | ``` 70 | 71 | This simply binds or [bootstraps](https://docs.angularjs.org/guide/bootstrap) an unnamed Angular app to the DOM. Angular allows us to have multiple apps within the same HTML page, so this simple directive, [`ng-app`](http://docs.angularjs.org/api/ng/directive/ngApp), defines where each app begins and ends (scope), literally telling Angular where the app is active. In this case, since we are placing the app in the `` tag as an HTML attribute, we are essentially saying, "We have one Angular app that spans the entire page - from `` to ``". 72 | 73 | Just remember that you can place this directive anywhere on your page, and your app will run within that defined scope - such as a `
`, for example. 74 | 75 | Finally, let's add in the *model* and get our app working: 76 | 77 | ```html 78 |

How many Bitcoins do you have?

79 | 80 | 81 |

82 |

You have {{ somenumber }} Bitcoins - nice!

83 | ``` 84 | 85 | Here we are defining the directive [`ng-model`](http://docs.angularjs.org/api/ng/directive/ngModel) in the input box as `ng-model="somenumber"`. By doing so, we have bound the value within the input box to the model, so when the input value changes, Angular automatically updates the model. This is [two-way binding](http://docs.angularjs.org/guide/databinding) in action. Get used to this concept as this is part of what makes Angular so powerful - and fun to use. 86 | 87 | Next, by wrapping the model value, `somenumber` in double curly braces - which are used as delimiters for the results from expressions - we are simply telling Angular to replace that text with the actual value, which, again, comes from the number added to the input box. 88 | 89 | Here's the final code, which includes some [Bootstrap](http://getbootstrap.com/) styles: 90 | 91 | ```html 92 | 93 | 94 | 95 | 96 | Bitcoin Investment Calculator 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 108 | 109 | 110 |
111 |

Bitcoin Investment
Calculator

112 |
113 |

How many Bitcoins do you have?

114 | 115 | 116 |

117 |

You have {{ somenumber }} Bitcoins - nice!

118 |
119 | 120 | 121 | ``` 122 | 123 | Run this in your browser. You should see this: 124 | 125 | ![angular-1](https://raw.githubusercontent.com/mjhea0/thinkful-angular/master/angular-1.png) 126 | 127 | Watch what happens when you change the value in the input box. Two-way binding! The DOM changes with each keystroke, without the need for any code to refresh the page. 128 | 129 | Play around with code here: [http://jsfiddle.net/mjhea0/9ear3/](http://jsfiddle.net/mjhea0/9ear3/). You can also grab the actual HTML from this [repo](https://github.com/mjhea0/thinkful-angular/tree/master/part2). 130 | 131 | With the basics out of the way, let's move on and create a more robust app. 132 | 133 | ## Part 3 - Bitcoin Calculator 134 | 135 | We'll be building on the same file from before. Feel free to save it as something new, or in a new directory, like - *btc-calculator/index.html*, for example. 136 | 137 | ### Module and Controller 138 | 139 | First, let's add in a *controller* and give our Angular app a name: 140 | 141 | ```html 142 | 143 | 144 | ``` 145 | 146 | The [Controller](http://docs.angularjs.org/api/ng/directive/ngController), `ngController`, is a directive that will run the `bitcoinController` controller, which controls, or talks to, the view. Controllers link and provide information to the model and our view. You'll also notice that we assigned a value to our `ng-app` directive, `ng-app="bitcoinCalculator"`. This tells angular which module we'll be using in our app. 147 | 148 | If you try the app now, you'll notice it's broken. That's because we defined a controller, but we have not defined how said controller works. Let's do that. 149 | 150 | Add an Angular module: 151 | 152 | ```html 153 | 154 | 161 | ``` 162 | 163 | Angular [modules](http://docs.angularjs.org/guide/module) are used for organizing JavaScript code into separate, self-contained components. 164 | 165 | Inside the modules we can add: 166 | 167 | - controllers 168 | - directives 169 | - filters 170 | - routes 171 | 172 | In the current app: 173 | 174 | 1. `angular.module("name",[])` instantiates and returns a new module 175 | 2. `function ($scope) {$scope.somenumber = 0;}` binds the controller with the view 176 | 177 | When Angular initializes this controller, it creates and injects the `$scope` object into the function with [dependency injection](http://docs.angularjs.org/guide/di). Don't worry if this doesn't make sense, it's a bit of Angular magic for creating and using the `$scope` object. 178 | 179 | In this case, we are simply binding the number 0 to `somenumber` within the view. 180 | 181 | Try your application now in the browser. It should now work. 182 | 183 | > You do not have to assign a variable to a module for your app to work, but it is a best practice. 184 | 185 | ### Update the HTML 186 | 187 | Before moving on with more Angular, let's step back and look at the functionality of our final app: **The application we'll be developing is a Bitcoin investment calculator that details how much you could potentially profit if you invested X amount of dollars in Bitcoins.** 188 | 189 | *What does that mean in terms of the HTML structure?* Well, we need an input box for the initial investment and a table that shows IF the price of 1 BTC reaches X, THEN your starting investment would be X AND your profit is X. Let's create the HTML for that now: 190 | 191 | ```html 192 | 193 | 194 | 195 | 196 | Bitcoin Investment Calculator 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 208 | 209 | 216 | 217 | 218 |
219 |
220 |
221 |

Bitcoin Investment
Calculator

222 |

223 |
224 | 225 | 226 |
227 |
228 |
229 |
230 |
231 |

232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 |
Price of 1 BTCStarting InvestmentProfit
pricenew amtnew profit
248 |
249 |
250 | 251 |
252 |
253 |
254 | 255 | 256 | ``` 257 | 258 | Check it out in your browser. It should look like this: 259 | 260 | ![angular-2](https://raw.githubusercontent.com/mjhea0/thinkful-angular/master/angular-2.png) 261 | 262 | Nothing too exciting happening; just another input box and a table, along with more Bootstrap styles. You can grab the Bitcoin image [here](https://raw.githubusercontent.com/mjhea0/thinkful-angular/master/part3/img/btc.png). 263 | 264 | ### Update Module and Controller 265 | 266 | Next, update our module and controller. 267 | 268 | ```html 269 | 270 | 285 | ``` 286 | 287 | Without going into too much detail, because I assume you are comfortable with JavaScript, we are grabbing data from the [BitPay API](https://bitpay.com/api/rates), then grabbing the current value of a Bitcoin in USD. We assign this value to the variable `currRate`. 288 | 289 | Let's add this to the DOM: 290 | 291 | ```html 292 |

Current Price (USD): ${{currRate}}

293 | ``` 294 | 295 | Now, do some basic calculations in the module: 296 | 297 | ```html 298 | 299 | 317 | ``` 318 | 319 | I'll let you evaluate those calculations for now. We'll break one further down. Notice how we have to pass a price into the function. 320 | 321 | Next, go ahead and append them to the DOM, making sure to pass in a price: 322 | 323 | ```html 324 | 325 | 326 | 1000 327 | {{ newAmt(1000) }} 328 | {{ profit(1000) }} 329 | 330 | 331 | ``` 332 | 333 | Check this out in the browser. Depending upon the current price of 1 Bitcoin, you should see: 334 | 335 | ![angular-3](https://raw.githubusercontent.com/mjhea0/thinkful-angular/master/angular-3.png) 336 | 337 | For clarity, if we look at the first calculation, `newAmt`, let's plug in the values: `$scope.newAmt = function(1000){return 1000/563.64 * 5000;}`. Make sense? 338 | 339 | Add more values into the table: 340 | 341 | ```html 342 | 343 | 344 | $1,000 345 | {{ newAmt(1000) }} 346 | {{ profit(1000) }} 347 | 348 | 349 | $5,000 350 | {{ newAmt(5000) }} 351 | {{ profit(5000) }} 352 | 353 | 354 | $10,000 355 | {{ newAmt(10000) }} 356 | {{ profit(10000) }} 357 | 358 | 359 | $25,000 360 | {{ newAmt(25000) }} 361 | {{ profit(25000) }} 362 | 363 | 364 | $50,000 365 | {{ newAmt(50000) }} 366 | {{ profit(50000) }} 367 | 368 | 369 | ``` 370 | 371 | Check to make sure that worked before moving on. 372 | 373 | ### Filters 374 | 375 | Angular [Filters](http://docs.angularjs.org/guide/filter) are used to update the value of an expression, but we are going to use them to simply alter the returned output. 376 | 377 | ```html 378 |

Current Price (USD): {{currRate | currency }}

379 | 380 | ... 381 | 382 | 383 | $1,000 384 | {{ newAmt(1000) | currency }} 385 | {{ profit(1000) | currency }} 386 | 387 | 388 | $5,000 389 | {{ newAmt(5000) | currency }} 390 | {{ profit(5000) | currency }} 391 | 392 | 393 | $10,000 394 | {{ newAmt(10000) | currency }} 395 | {{ profit(10000) | currency }} 396 | 397 | 398 | $25,000 399 | {{ newAmt(25000) | currency }} 400 | {{ profit(25000) | currency }} 401 | 402 | 403 | $50,000 404 | {{ newAmt(50000) | currency }} 405 | {{ profit(50000) | currency }} 406 | 407 | ``` 408 | 409 | As you probably guessed, the [currency](http://docs.angularjs.org/api/ng/filter/currency) filter formats a number as currency. When used, you can either define a currency, `| currency:"USD$"`, or let Angular decide which to use based on your geolocation, `| currency`. 410 | 411 | ### Model 412 | 413 | ```html 414 | 415 | ``` 416 | 417 | Remember how [models](http://docs.angularjs.org/api/ng/directive/ngModel) work? Here we are binding a model called `InitialAmt` to the input form. This is a perfect example of two-way binding: 418 | 419 | 1. If we update the model, we update the view with `placeholder="{{initialAmt}}"`. 420 | 1. We can also update the view (by entering a new value in the input box), so that it updates the model, making our app dynamic. 421 | 422 | It's circular: edit the model, and it updates the view; edit the view and it updates the model! 423 | 424 | Test it out! 425 | 426 | ### Update HTML 427 | 428 | Finally, update the styles and HTML structure: 429 | 430 | ```html 431 | 432 | 433 | 434 | 435 | Bitcoin Investment Calculator 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 449 | 450 | 468 | 469 | 470 |
471 |
472 |
473 |

Bitcoin Investment Calculator

474 |

475 |
476 | 477 | 478 |
479 |
480 |

Current Price (USD): {{currRate | currency }}

481 |
482 |
483 |
484 |
485 |

486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 |
Price of 1 BTCStarting InvestmentProfit
$1,000{{ newAmt(1000) | currency }}{{ profit(1000) | currency }}
$5,000{{ newAmt(5000) | currency }}{{ profit(5000) | currency }}
$10,000{{ newAmt(10000) | currency }}{{ profit(10000) | currency }}
$25,000{{ newAmt(25000) | currency }}{{ profit(25000) | currency }}
$50,000{{ newAmt(50000) | currency }}{{ profit(50000) | currency }}
522 | * IF the price of 1 Bitcoin reaches X, THEN your starting investment becomes X AND your profit becomes X. 523 |
524 |
525 |

526 | 527 |
528 |
529 |
530 | 531 | 532 | ``` 533 | 534 | Your app should now look like this: 535 | 536 | ![angular-4](https://raw.githubusercontent.com/mjhea0/thinkful-angular/master/angular-4.png) 537 | 538 | Next, let's look at adding data visualization. Need the code for Part 3? Grab it [here](https://github.com/mjhea0/thinkful-angular/tree/master/part3). 539 | 540 | ## Part 4 - Data Visualization 541 | 542 | We'll be utilizing the [Angularjs-nvd3-directives](http://angularjs-nvd3-directives.github.io/angularjs-nvd3-directives/) to add powerful charts to our app based on [D3](http://d3js.org/), a JavaScript charting library. Before that though, let's quickly update the app's styles and move the Angular module to an external JavaScript file. 543 | 544 | ### Styles 545 | 546 | Add a *main.css* file and move the styles from the HTML document to the newly created file: 547 | 548 | ```css 549 | label, table { 550 | font-size: 15px; 551 | } 552 | 553 | input { 554 | max-width: 200px; 555 | } 556 | 557 | .number { 558 | font-weight: bold; 559 | } 560 | 561 | .jumbotron { 562 | height: 100%; 563 | margin-bottom: 0; 564 | } 565 | ``` 566 | 567 | Then reference a link to the stylesheet in *index.html*, just below the Bootstrap CSS reference: 568 | 569 | ```html 570 | 571 | ``` 572 | 573 | ### Scripts 574 | 575 | Next, grab the scripts from the HTML document and add them to a new file called *main.js*: 576 | 577 | ```javascript 578 | var bitcoinCalculator = angular.module('bitcoinCalculator', []); 579 | bitcoinCalculator.controller('bitcoinController', function($scope, $http){ 580 | // calling the api, grabbing the value for USD, appending it to the dom 581 | $http.get("https://bitpay.com/api/rates") 582 | .success(function(data){ 583 | $scope.rates = data; 584 | for(var i=0;i 604 | ``` 605 | 606 | Then move the script tags to the bottom of the file, just before the closing `` tag. 607 | 608 | ### HTML 609 | 610 | Finally, update the HTML like so: 611 | 612 | ```html 613 | 614 | 615 | 616 | 617 | Bitcoin Investment Calculator 618 | 619 | 620 | 621 | 622 | 623 | 624 | 625 | 626 |
627 | 628 |
629 |
630 |

Bitcoin Investment
Calculator

631 |

632 |
633 |
634 | 635 |
636 |
637 |
638 |
639 | 640 | 641 |
642 |
643 |

Current Price (USD): {{currRate | currency }}

644 |
645 |
646 | 647 |
648 |
649 |
650 | 651 |
652 |
653 |

654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | 663 | 664 | 665 | 666 | 667 | 668 | 669 | 670 | 671 | 672 | 673 | 674 | 675 | 676 | 677 | 678 | 679 | 680 | 681 | 682 | 683 | 684 | 685 | 686 | 687 | 688 | 689 |
Price of 1 BTCStarting InvestmentProfit
$1,000{{ newAmt(1000) | currency }}{{ profit(1000) | currency }}
$5,000{{ newAmt(5000) | currency }}{{ profit(5000) | currency }}
$10,000{{ newAmt(10000) | currency }}{{ profit(10000) | currency }}
$25,000{{ newAmt(25000) | currency }}{{ profit(25000) | currency }}
$50,000{{ newAmt(50000) | currency }}{{ profit(50000) | currency }}
690 | * IF the price of 1 Bitcoin reaches X, THEN your starting investment becomes X AND your profit becomes X. 691 |
692 |
693 | 694 |
695 | 696 | 697 | 698 | 699 | 700 | 701 | 702 | ``` 703 | 704 | ### Angularjs-nvd3-directives 705 | 706 | Let's chart the historical Bitcoin rate, which we can download as a CSV from [CoinDesk](http://www.coindesk.com/price/). We need to convert this into JSON, but first let's get Angularjs-nvd3-directives installed. 707 | 708 | Add the following dependencies to your scripts in *index.html*, just below Angular: 709 | 710 | ```html 711 | 712 | 713 | 714 | ``` 715 | 716 | Then add the following CSS reference: 717 | 718 | ```html 719 | 720 | ``` 721 | 722 | Now we can get a basic chart up! 723 | 724 | ### Quick Chart 725 | 726 | Add the following code just before the `
` that closes out the `jumbotron`: 727 | 728 | ```html 729 |
730 |
731 | 732 | 733 |
734 |
735 | ``` 736 | 737 | Then add the `exampleData` to the controller in *main.js*: 738 | 739 | ```javascript 740 | $scope.exampleData = [{ 741 | "key": "Quantity", 742 | "bar": true, 743 | "values": [ 744 | [10, 20], 745 | [20, 40], 746 | [30, 60], 747 | [40, 80], 748 | [50, 100] 749 | ] 750 | }]; 751 | ``` 752 | 753 | Be sure to inject the directive into the module: 754 | 755 | ```javascript 756 | var bitcoinCalculator = angular.module('bitcoinCalculator', ['nvd3ChartDirectives']); 757 | ``` 758 | 759 | And you should see a chart at the bottom that looks like this: 760 | 761 | ![angular-5](https://raw.githubusercontent.com/mjhea0/thinkful-angular/master/angular-5.png) 762 | 763 | Grab the updated code from the [repo](https://github.com/mjhea0/thinkful-angular/tree/master/part4). 764 | 765 | ## Part 5 - Historical Price Chart 766 | 767 | For the historical price chart, let's utilize a [line chart](http://angularjs-nvd3-directives.github.io/angularjs-nvd3-directives/line.chart.html). 768 | 769 | ### Controller 770 | 771 | First, remove the chart we created in Part 3 from both *index.html* and *main.js*. Then update the controller, like so: 772 | 773 | ```javascript 774 | $scope.xAxisTickFormatFunction = function(){ 775 | return function(date){ 776 | return d3.time.format('%x')(new Date(date)); 777 | }; 778 | }; 779 | 780 | $scope.bitcoinHistoricalData = [{ 781 | "key": "Prices", 782 | "values": values 783 | }]; 784 | ``` 785 | 786 | Again, we're assigning data to a `$scope`. The actual values come from a variable called `values`; and the data for this can be found [here](https://github.com/mjhea0/thinkful-angular/blob/master/part5/prices.js). For now, go ahead and add this variable to the *main.js* file, just below the controller. 787 | 788 | The `xAxisTickFormatFunction` function formats the date correctly in the DOM. 789 | 790 | ### DOM 791 | 792 | Next, add the directive to the DOM: 793 | 794 | ```html 795 |
796 |
797 | 805 | 806 |
807 |
808 | ``` 809 | 810 | Test this out! You should see an interactive chart. Try selecting parts of the line to see tool tips. 811 | 812 | ![angular-6](https://raw.githubusercontent.com/mjhea0/thinkful-angular/master/angular-6.png) 813 | 814 | For more configuration options, check out the official [documentation](http://cmaurer.github.io/angularjs-nvd3-directives/line.chart.html). 815 | 816 | ## Conclusion 817 | 818 | Well, we accomplished a lot but, in actuality, really just scratched the surface of Angular. The framework has so much more to offer. Go back and review what you've learned thus far, and see if you can learn more by extending this application on your own. Start by looking at the [BitPay API](https://bitpay.com/api) to see what else you can implement. You could also break apart your controllers into two separate controllers and even abstract some of the logic out to [factories and services](http://mherman.org/blog/2014/06/12/primer-on-angularjs-service-types/#.VfbWXFNViko). Want more? Check out creating your own, reusable custom [directives](https://docs.angularjs.org/guide/directive)! 819 | 820 | Grab the final code from the [repo](https://github.com/mjhea0/thinkful-angular/tree/master/btc-calculator). Cheers! 821 | 822 |
823 | 824 | *Add some new functionality? Create a PR and we'll add a link to this post.* 825 | --------------------------------------------------------------------------------