├── README.md ├── .gitignore └── Lets grow more task-2 (3).ipynb /README.md: -------------------------------------------------------------------------------- 1 | # LETS-GROW-MORE-TASK-2 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | 40 | # Unit test / coverage reports 41 | htmlcov/ 42 | .tox/ 43 | .nox/ 44 | .coverage 45 | .coverage.* 46 | .cache 47 | nosetests.xml 48 | coverage.xml 49 | *.cover 50 | *.py,cover 51 | .hypothesis/ 52 | .pytest_cache/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # IPython 81 | profile_default/ 82 | ipython_config.py 83 | 84 | # pyenv 85 | .python-version 86 | 87 | # pipenv 88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 91 | # install all needed dependencies. 92 | #Pipfile.lock 93 | 94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 95 | __pypackages__/ 96 | 97 | # Celery stuff 98 | celerybeat-schedule 99 | celerybeat.pid 100 | 101 | # SageMath parsed files 102 | *.sage.py 103 | 104 | # Environments 105 | .env 106 | .venv 107 | env/ 108 | venv/ 109 | ENV/ 110 | env.bak/ 111 | venv.bak/ 112 | 113 | # Spyder project settings 114 | .spyderproject 115 | .spyproject 116 | 117 | # Rope project settings 118 | .ropeproject 119 | 120 | # mkdocs documentation 121 | /site 122 | 123 | # mypy 124 | .mypy_cache/ 125 | .dmypy.json 126 | dmypy.json 127 | 128 | # Pyre type checker 129 | .pyre/ 130 | -------------------------------------------------------------------------------- /Lets grow more task-2 (3).ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "a41a23e5", 6 | "metadata": {}, 7 | "source": [ 8 | "# LETS GROW MORE\n", 9 | "NAME:ANUSUYA V\n", 10 | "\n", 11 | "TASK-2:Stock Market Prediction And Forecasting Using Stacked LSTM\n", 12 | "\n", 13 | "LEVEL:Beginner\n", 14 | "\n", 15 | "LANGUAGE:Python" 16 | ] 17 | }, 18 | { 19 | "cell_type": "code", 20 | "execution_count": 1, 21 | "id": "520bc6ae", 22 | "metadata": {}, 23 | "outputs": [], 24 | "source": [ 25 | "import pandas as pd\n", 26 | "import matplotlib.pyplot as plt\n", 27 | "import numpy as np" 28 | ] 29 | }, 30 | { 31 | "cell_type": "code", 32 | "execution_count": 2, 33 | "id": "d64de5a4", 34 | "metadata": {}, 35 | "outputs": [ 36 | { 37 | "data": { 38 | "text/html": [ 39 | "
\n", 40 | "\n", 53 | "\n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | "
DateOpenHighLowLastCloseTotal Trade QuantityTurnover (Lacs)
02018-09-28234.05235.95230.20233.50233.7530699147162.35
12018-09-27234.55236.80231.10233.80233.25508285911859.95
22018-09-26240.00240.00232.50235.00234.2522409095248.60
32018-09-25233.30236.75232.00236.25236.1023493685503.90
42018-09-24233.55239.20230.75234.00233.3034235097999.55
...........................
20302010-07-27117.60119.50112.00118.80118.65586100694.98
20312010-07-26120.10121.00117.10117.10117.60658440780.01
20322010-07-23121.80121.95120.25120.35120.65281312340.31
20332010-07-22120.30122.00120.25120.75120.90293312355.17
20342010-07-21122.10123.00121.05121.10121.55658666803.56
\n", 191 | "

2035 rows × 8 columns

\n", 192 | "
" 193 | ], 194 | "text/plain": [ 195 | " Date Open High Low Last Close \\\n", 196 | "0 2018-09-28 234.05 235.95 230.20 233.50 233.75 \n", 197 | "1 2018-09-27 234.55 236.80 231.10 233.80 233.25 \n", 198 | "2 2018-09-26 240.00 240.00 232.50 235.00 234.25 \n", 199 | "3 2018-09-25 233.30 236.75 232.00 236.25 236.10 \n", 200 | "4 2018-09-24 233.55 239.20 230.75 234.00 233.30 \n", 201 | "... ... ... ... ... ... ... \n", 202 | "2030 2010-07-27 117.60 119.50 112.00 118.80 118.65 \n", 203 | "2031 2010-07-26 120.10 121.00 117.10 117.10 117.60 \n", 204 | "2032 2010-07-23 121.80 121.95 120.25 120.35 120.65 \n", 205 | "2033 2010-07-22 120.30 122.00 120.25 120.75 120.90 \n", 206 | "2034 2010-07-21 122.10 123.00 121.05 121.10 121.55 \n", 207 | "\n", 208 | " Total Trade Quantity Turnover (Lacs) \n", 209 | "0 3069914 7162.35 \n", 210 | "1 5082859 11859.95 \n", 211 | "2 2240909 5248.60 \n", 212 | "3 2349368 5503.90 \n", 213 | "4 3423509 7999.55 \n", 214 | "... ... ... \n", 215 | "2030 586100 694.98 \n", 216 | "2031 658440 780.01 \n", 217 | "2032 281312 340.31 \n", 218 | "2033 293312 355.17 \n", 219 | "2034 658666 803.56 \n", 220 | "\n", 221 | "[2035 rows x 8 columns]" 222 | ] 223 | }, 224 | "execution_count": 2, 225 | "metadata": {}, 226 | "output_type": "execute_result" 227 | } 228 | ], 229 | "source": [ 230 | "a=pd.read_csv(\"https://raw.githubusercontent.com/mwitiderrick/stockprice/master/NSE-TATAGLOBAL.csv\")\n", 231 | "a" 232 | ] 233 | }, 234 | { 235 | "cell_type": "code", 236 | "execution_count": 3, 237 | "id": "ca3bbe64", 238 | "metadata": {}, 239 | "outputs": [ 240 | { 241 | "data": { 242 | "text/html": [ 243 | "
\n", 244 | "\n", 257 | "\n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | "
DateOpenHighLowLastCloseTotal Trade QuantityTurnover (Lacs)
02018-09-28234.05235.95230.20233.50233.7530699147162.35
12018-09-27234.55236.80231.10233.80233.25508285911859.95
22018-09-26240.00240.00232.50235.00234.2522409095248.60
32018-09-25233.30236.75232.00236.25236.1023493685503.90
42018-09-24233.55239.20230.75234.00233.3034235097999.55
\n", 329 | "
" 330 | ], 331 | "text/plain": [ 332 | " Date Open High Low Last Close Total Trade Quantity \\\n", 333 | "0 2018-09-28 234.05 235.95 230.20 233.50 233.75 3069914 \n", 334 | "1 2018-09-27 234.55 236.80 231.10 233.80 233.25 5082859 \n", 335 | "2 2018-09-26 240.00 240.00 232.50 235.00 234.25 2240909 \n", 336 | "3 2018-09-25 233.30 236.75 232.00 236.25 236.10 2349368 \n", 337 | "4 2018-09-24 233.55 239.20 230.75 234.00 233.30 3423509 \n", 338 | "\n", 339 | " Turnover (Lacs) \n", 340 | "0 7162.35 \n", 341 | "1 11859.95 \n", 342 | "2 5248.60 \n", 343 | "3 5503.90 \n", 344 | "4 7999.55 " 345 | ] 346 | }, 347 | "execution_count": 3, 348 | "metadata": {}, 349 | "output_type": "execute_result" 350 | } 351 | ], 352 | "source": [ 353 | "a.head()" 354 | ] 355 | }, 356 | { 357 | "cell_type": "code", 358 | "execution_count": 4, 359 | "id": "0ee58611", 360 | "metadata": {}, 361 | "outputs": [ 362 | { 363 | "data": { 364 | "text/html": [ 365 | "
\n", 366 | "\n", 379 | "\n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | "
DateOpenHighLowLastCloseTotal Trade QuantityTurnover (Lacs)
20302010-07-27117.6119.50112.00118.80118.65586100694.98
20312010-07-26120.1121.00117.10117.10117.60658440780.01
20322010-07-23121.8121.95120.25120.35120.65281312340.31
20332010-07-22120.3122.00120.25120.75120.90293312355.17
20342010-07-21122.1123.00121.05121.10121.55658666803.56
\n", 451 | "
" 452 | ], 453 | "text/plain": [ 454 | " Date Open High Low Last Close Total Trade Quantity \\\n", 455 | "2030 2010-07-27 117.6 119.50 112.00 118.80 118.65 586100 \n", 456 | "2031 2010-07-26 120.1 121.00 117.10 117.10 117.60 658440 \n", 457 | "2032 2010-07-23 121.8 121.95 120.25 120.35 120.65 281312 \n", 458 | "2033 2010-07-22 120.3 122.00 120.25 120.75 120.90 293312 \n", 459 | "2034 2010-07-21 122.1 123.00 121.05 121.10 121.55 658666 \n", 460 | "\n", 461 | " Turnover (Lacs) \n", 462 | "2030 694.98 \n", 463 | "2031 780.01 \n", 464 | "2032 340.31 \n", 465 | "2033 355.17 \n", 466 | "2034 803.56 " 467 | ] 468 | }, 469 | "execution_count": 4, 470 | "metadata": {}, 471 | "output_type": "execute_result" 472 | } 473 | ], 474 | "source": [ 475 | "a.tail()" 476 | ] 477 | }, 478 | { 479 | "cell_type": "code", 480 | "execution_count": 5, 481 | "id": "a47f945b", 482 | "metadata": {}, 483 | "outputs": [ 484 | { 485 | "data": { 486 | "text/plain": [ 487 | "0 233.75\n", 488 | "1 233.25\n", 489 | "2 234.25\n", 490 | "3 236.10\n", 491 | "4 233.30\n", 492 | " ... \n", 493 | "2030 118.65\n", 494 | "2031 117.60\n", 495 | "2032 120.65\n", 496 | "2033 120.90\n", 497 | "2034 121.55\n", 498 | "Name: Close, Length: 2035, dtype: float64" 499 | ] 500 | }, 501 | "execution_count": 5, 502 | "metadata": {}, 503 | "output_type": "execute_result" 504 | } 505 | ], 506 | "source": [ 507 | "b=a.reset_index()['Close']\n", 508 | "b" 509 | ] 510 | }, 511 | { 512 | "cell_type": "code", 513 | "execution_count": 6, 514 | "id": "dae6c3d7", 515 | "metadata": {}, 516 | "outputs": [ 517 | { 518 | "data": { 519 | "text/plain": [ 520 | "[]" 521 | ] 522 | }, 523 | "execution_count": 6, 524 | "metadata": {}, 525 | "output_type": "execute_result" 526 | }, 527 | { 528 | "data": { 529 | "image/png": "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\n", 530 | "text/plain": [ 531 | "
" 532 | ] 533 | }, 534 | "metadata": { 535 | "needs_background": "light" 536 | }, 537 | "output_type": "display_data" 538 | } 539 | ], 540 | "source": [ 541 | "plt.plot(b)" 542 | ] 543 | }, 544 | { 545 | "cell_type": "code", 546 | "execution_count": 7, 547 | "id": "bed13900", 548 | "metadata": {}, 549 | "outputs": [ 550 | { 551 | "name": "stdout", 552 | "output_type": "stream", 553 | "text": [ 554 | "[[0.62418301]\n", 555 | " [0.62214052]\n", 556 | " [0.62622549]\n", 557 | " ...\n", 558 | " [0.1621732 ]\n", 559 | " [0.16319444]\n", 560 | " [0.16584967]]\n" 561 | ] 562 | } 563 | ], 564 | "source": [ 565 | "from sklearn.preprocessing import MinMaxScaler\n", 566 | "c=MinMaxScaler(feature_range=(0,1))\n", 567 | "d=c.fit_transform(np.array(b).reshape(-1,1))\n", 568 | "print(d)" 569 | ] 570 | }, 571 | { 572 | "cell_type": "code", 573 | "execution_count": 8, 574 | "id": "5930bd92", 575 | "metadata": {}, 576 | "outputs": [], 577 | "source": [ 578 | "X_train = []\n", 579 | "y_train = []\n", 580 | "for i in range(60,2035):\n", 581 | " X_train.append(d[i-60:i,0])\n", 582 | " y_train.append(d[i-50:i,0])\n", 583 | "X_train,y_train=np.array(X_train),np.array(y_train)\n", 584 | "\n", 585 | "\n", 586 | "X_train = np.reshape(X_train,(X_train.shape[0],X_train.shape[1], 1 ))" 587 | ] 588 | }, 589 | { 590 | "cell_type": "code", 591 | "execution_count": 9, 592 | "id": "d928092d", 593 | "metadata": {}, 594 | "outputs": [ 595 | { 596 | "name": "stdout", 597 | "output_type": "stream", 598 | "text": [ 599 | "Requirement already satisfied: tensorflow in c:\\users\\priya\\anaconda3\\lib\\site-packages (2.7.0)\n", 600 | "Requirement already satisfied: absl-py>=0.4.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (1.0.0)\n", 601 | "Requirement already satisfied: tensorboard~=2.6 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (2.7.0)\n", 602 | "Requirement already satisfied: termcolor>=1.1.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (1.1.0)\n", 603 | "Requirement already satisfied: astunparse>=1.6.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (1.6.3)\n", 604 | "Requirement already satisfied: tensorflow-estimator<2.8,~=2.7.0rc0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (2.7.0)\n", 605 | "Requirement already satisfied: typing-extensions>=3.6.6 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (3.7.4.3)\n", 606 | "Requirement already satisfied: wrapt>=1.11.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (1.12.1)\n", 607 | "Requirement already satisfied: grpcio<2.0,>=1.24.3 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (1.42.0)\n", 608 | "Requirement already satisfied: libclang>=9.0.1 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (12.0.0)\n", 609 | "Requirement already satisfied: gast<0.5.0,>=0.2.1 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (0.4.0)\n", 610 | "Requirement already satisfied: flatbuffers<3.0,>=1.12 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (2.0)\n", 611 | "Requirement already satisfied: google-pasta>=0.1.1 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (0.2.0)\n", 612 | "Requirement already satisfied: six>=1.12.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (1.15.0)\n", 613 | "Requirement already satisfied: keras-preprocessing>=1.1.1 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (1.1.2)\n", 614 | "Requirement already satisfied: h5py>=2.9.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (2.10.0)\n", 615 | "Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.21.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (0.22.0)\n", 616 | "Requirement already satisfied: protobuf>=3.9.2 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (3.19.1)\n", 617 | "Requirement already satisfied: opt-einsum>=2.3.2 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (3.3.0)\n", 618 | "Requirement already satisfied: numpy>=1.14.5 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (1.20.1)\n", 619 | "Requirement already satisfied: keras<2.8,>=2.7.0rc0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (2.7.0)\n", 620 | "Requirement already satisfied: wheel<1.0,>=0.32.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorflow) (0.36.2)\n", 621 | "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorboard~=2.6->tensorflow) (0.4.6)\n", 622 | "Requirement already satisfied: werkzeug>=0.11.15 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorboard~=2.6->tensorflow) (1.0.1)\n", 623 | "Requirement already satisfied: setuptools>=41.0.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorboard~=2.6->tensorflow) (52.0.0.post20210125)\n", 624 | "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorboard~=2.6->tensorflow) (1.8.0)\n", 625 | "Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorboard~=2.6->tensorflow) (0.6.1)\n", 626 | "Requirement already satisfied: google-auth<3,>=1.6.3 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorboard~=2.6->tensorflow) (2.3.3)\n", 627 | "Requirement already satisfied: markdown>=2.6.8 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorboard~=2.6->tensorflow) (3.3.6)\n", 628 | "Requirement already satisfied: requests<3,>=2.21.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from tensorboard~=2.6->tensorflow) (2.25.1)\n", 629 | "Requirement already satisfied: pyasn1-modules>=0.2.1 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard~=2.6->tensorflow) (0.2.8)\n", 630 | "Requirement already satisfied: cachetools<5.0,>=2.0.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard~=2.6->tensorflow) (4.2.4)\n", 631 | "Requirement already satisfied: rsa<5,>=3.1.4 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard~=2.6->tensorflow) (4.8)\n", 632 | "Requirement already satisfied: requests-oauthlib>=0.7.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.6->tensorflow) (1.3.0)\n", 633 | "Requirement already satisfied: importlib-metadata>=4.4 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from markdown>=2.6.8->tensorboard~=2.6->tensorflow) (4.8.2)\n", 634 | "Requirement already satisfied: zipp>=0.5 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from importlib-metadata>=4.4->markdown>=2.6.8->tensorboard~=2.6->tensorflow) (3.4.1)\n", 635 | "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard~=2.6->tensorflow) (0.4.8)\n", 636 | "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow) (2020.12.5)\n", 637 | "Requirement already satisfied: chardet<5,>=3.0.2 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow) (4.0.0)\n", 638 | "Requirement already satisfied: idna<3,>=2.5 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow) (2.10)\n", 639 | "Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard~=2.6->tensorflow) (1.26.4)\n", 640 | "Requirement already satisfied: oauthlib>=3.0.0 in c:\\users\\priya\\anaconda3\\lib\\site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.6->tensorflow) (3.1.1)\n", 641 | "Note: you may need to restart the kernel to use updated packages.\n" 642 | ] 643 | } 644 | ], 645 | "source": [ 646 | "pip install tensorflow " 647 | ] 648 | }, 649 | { 650 | "cell_type": "code", 651 | "execution_count": 10, 652 | "id": "3ec9ae98", 653 | "metadata": {}, 654 | "outputs": [], 655 | "source": [ 656 | "from tensorflow.python import tf2\n", 657 | "from keras import distribute\n", 658 | "from keras.models import Sequential\n", 659 | "from keras.layers import Dense\n", 660 | "from keras.layers import LSTM\n", 661 | "from keras.layers import Dropout" 662 | ] 663 | }, 664 | { 665 | "cell_type": "code", 666 | "execution_count": 11, 667 | "id": "b1e7d644", 668 | "metadata": {}, 669 | "outputs": [ 670 | { 671 | "name": "stdout", 672 | "output_type": "stream", 673 | "text": [ 674 | "Epoch 1/5\n", 675 | "62/62 [==============================] - 19s 138ms/step - loss: 0.0101\n", 676 | "Epoch 2/5\n", 677 | "62/62 [==============================] - 9s 142ms/step - loss: 0.0031\n", 678 | "Epoch 3/5\n", 679 | "62/62 [==============================] - 9s 138ms/step - loss: 0.0031\n", 680 | "Epoch 4/5\n", 681 | "62/62 [==============================] - 9s 144ms/step - loss: 0.0026\n", 682 | "Epoch 5/5\n", 683 | "62/62 [==============================] - 9s 140ms/step - loss: 0.0026\n" 684 | ] 685 | }, 686 | { 687 | "data": { 688 | "text/plain": [ 689 | "" 690 | ] 691 | }, 692 | "execution_count": 11, 693 | "metadata": {}, 694 | "output_type": "execute_result" 695 | } 696 | ], 697 | "source": [ 698 | "model = Sequential()\n", 699 | "\n", 700 | "model.add(LSTM(units=50,return_sequences=True,input_shape=(X_train.shape[1], 1)))\n", 701 | "model.add(Dropout(0.2))\n", 702 | "\n", 703 | "model.add(LSTM(units=50,return_sequences=True))\n", 704 | "model.add(Dropout(0.2))\n", 705 | "\n", 706 | "model.add(LSTM(units=50,return_sequences=True))\n", 707 | "model.add(Dropout(0.2))\n", 708 | "\n", 709 | "model.add(LSTM(units=50))\n", 710 | "model.add(Dropout(0.2))\n", 711 | "\n", 712 | "model.add(Dense(units=1))\n", 713 | "\n", 714 | "model.compile(optimizer='adam',loss='mean_squared_error')\n", 715 | "\n", 716 | "model.fit(X_train,y_train,epochs=5,batch_size=32)" 717 | ] 718 | }, 719 | { 720 | "cell_type": "code", 721 | "execution_count": 12, 722 | "id": "a287157d", 723 | "metadata": {}, 724 | "outputs": [], 725 | "source": [ 726 | "url = 'https://raw.githubusercontent.com/mwitiderrick/stockprice/master/NSE-TATAGLOBAL.csv'\n", 727 | "dataset_test = pd.read_csv(url)\n", 728 | "real_stock_price = dataset_test.iloc[:, 1:2].values" 729 | ] 730 | }, 731 | { 732 | "cell_type": "code", 733 | "execution_count": 13, 734 | "id": "cdd7c7c2", 735 | "metadata": {}, 736 | "outputs": [], 737 | "source": [ 738 | "dataset_total=pd.concat((a['Open'],dataset_test['Open']),axis=0)\n", 739 | "inputs=dataset_total[len(dataset_total)-len(dataset_test)-60:].values\n", 740 | "inputs=inputs.reshape(-1,1)\n", 741 | "inputs=c.transform(inputs)\n", 742 | "x_test=[]\n", 743 | "for i in range(60,76):\n", 744 | " x_test.append(inputs[i-60:i, 0])\n", 745 | "x_test=np.array(x_test)\n", 746 | "x_test=np.reshape(x_test,(x_test.shape[0],x_test.shape[1],1))\n", 747 | "predicted_stock_price=model.predict(x_test)\n", 748 | "predicted_stock_price=c.inverse_transform(predicted_stock_price)\n", 749 | " " 750 | ] 751 | }, 752 | { 753 | "cell_type": "code", 754 | "execution_count": 15, 755 | "id": "606966d3", 756 | "metadata": {}, 757 | "outputs": [ 758 | { 759 | "data": { 760 | "image/png": "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27dvZ8+ePXTu3Jnrr7+ezz//nAcffNBv/eTkZJ566inq1KnDddddx4QJE3LVGT16NDfccANvvvkmvXr14tZbb6V+/fq88MILvPTSS3zzzTcAvPzyywCsXr2aP/74g969e/Pnn3/ywQcfsHXrVlasWEFMTAwHDhywr33s2DGGDBnCLbfcwi233BLws33zzTe0bt0agA0bNvDBBx/w1ltvedRZu3YtEydOZMmSJdSqVcvua8yYMTzwwAN069aN1NRU+vTpw/r164O4o2UDfYUNIZZSiIlR3auEn2nTpnH99dcDMGTIENuE5Iu0tDQ2bdpEt27dOPfcc4mJiWHNmjW56vXp04ctW7Zwxx138Mcff9CuXTvS09Nz1Vu8eLH9Zn7eeefRpEkT/vzzT+bNm8ddd91l/0/UqFHDbjNgwABuvfXWgArhsssuIykpiSNHjthKq0mTJlx44YW56n7//fdcd9111KpVy6OvefPmce+995KUlMTVV1/NkSNHOHr0qN8+yxr6tAoh2dnZgI4UyhIFeaMPFcnJyaSlpfHpp58CsGvXLjZu3EhCQkKuup9//jkHDx60FzkdOXKEadOm8X//93+56taoUYNhw4YxbNgwrrrqKhYtWkTNmjU96vjL/W6M8esm2bVrV7799luGDRvmt86CBQvshzzAoUOHqFixYr76On36ND/99BPly5f32a6soyOFEKLmIyVSbNiwgYyMDHbu3ElKSgopKSlMmDDB71xBcnIyc+bMsev+9ttvPut+//33HD9+HICjR4+yefNmGjduTOXKlT3etrt3724roz///JPU1FRatGhB7969eeedd+wXJqf56JlnnqFmzZrcc889RXIPevbsyfTp022HD6uv3r178+abb9r1itrcV9JRpRBCTp8+DcAHH3xgT7QpSjhITk7m2muv9SgbNGiQTxNSSkoKqampHiaYZs2aUaVKFX7++WePur/99hsdO3akTZs2dOnShdtvv51OnTrRpk0bYmJiaNu2LZMmTeKee+4hJyeH1q1bc8MNN/Dhhx9Srlw5br/9dho3bmxP/np7LL366qucPHmShx9+uND34Pzzz+exxx7jkksuoW3btvZ8yuuvv86yZcto06YNrVq14p133il0X6UJ8TfMKwl07NjRFOckO5MmTfKY2CvJ91rxz/r162nZsmWkxVAUn/j6fYrIb8aY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fPXVV3ZZYRYKFoYyqxSMMRzLPFamlMKRI0f48ssvA2ZkO3ToEOXKlcvT88gZg6dGjRo+J3uDxVqkZYXvsKJzOmM1XXDBBT5XK/taVe2dqU5j+vsmISGB6dOn+31RCBT9tCAEipBa0Ii+pYmdO3cycOBA+9jXivJwUGaVwsnsk+SYHCqXKztKYdeuXeTk5FC7dm2/4SBefPHFXCtpfWH5q9etW5datWqxf/9+Pvjgg6CycXlj+a1b4aw///xzjDEeo5VGjVzxEh966CHi4+Nt+a1ggIEimDqjhyqeDB482CNirJPzzjvPZ7nl0ZVfnFnffCUfUjyJVH70MqsUDp9y3fCq5cpmfPdx48YVqn3lypU5duwYW7ZsoWbNmixbtoyRI0cW6I3PUgreb6bjx4+3960HV926dTl58qT9FrVv3z6qV6/OpZde6tH2yy+/tLOHbd68Od8yKXjknHDi74UiL5xeVE4FofjmyJEjrF69mpiYmLDOv5RZpXDklOuhUqVclQhLEj6csfJffvnlADWDo2LFipQvX57o6Gi2bNkCuPIZ54dx48bZvu/eZh5nRi/rQWT56j/yyCMcOHCAzMxMn+aha6+91k6TafnlK/nHuRald+/ewJlIrQXBCktuuQt37Ngxl7mvrLNgwQJq1arFwYMHGTNmDDk5OQUKEllQyqxSOHjC5VVRLb5aZAUJI2effbbt/w8uzyFfb335DQFRmABnL730kj25Hcj2b3koWWaHd999186k5s8TpmnTpqSnpzNmzJgCy1fWcQbps1abO6O75pd169aRkZFBhw4dANd3bjktLFmyJM/2q1atok+fPh4mzt27d3PDDTcETPZTnPH23LvkkkuoVq0akydPts2i4UxnWnaVwkm362X56nnULF20bNnS3q9SpQpRUVGICImJibZJxrLfB0tRean4UgoffvghcEYm5yrYf/3rX/z0008BV1bXqlUrJDGaygrOuZrWrVuTmZnJ448/XuDrRUdHU6FCBfuhXr58eft6wYQeGTVqFHPnzmXFihWcOnWKffv28fjjjzN9+nSmTZtWYLkiyZ49ezyORcRjPg3OxAQLB2X2v2X/cVeSmBrla+RRs/RhvZE5Xd7Wrl1rp9/MbxpP7zwATqyRSEpKSq6Mat4pJn298d944428+uqrTJgwASDXpOj69euLNNyG4oll7gG4++67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\n", 761 | "text/plain": [ 762 | "
" 763 | ] 764 | }, 765 | "metadata": { 766 | "needs_background": "light" 767 | }, 768 | "output_type": "display_data" 769 | } 770 | ], 771 | "source": [ 772 | "plt.plot(real_stock_price,color='black',label='TATA Stock Price')\n", 773 | "plt.plot(predicted_stock_price,color='green',label='Predicted TATA Stock Price')\n", 774 | "plt.title('TATA Stock Price Predication')\n", 775 | "plt.xlabel('Time')\n", 776 | "plt.ylabel('TATA Stock Price')\n", 777 | "plt.legend()\n", 778 | "plt.show()" 779 | ] 780 | }, 781 | { 782 | "cell_type": "code", 783 | "execution_count": null, 784 | "id": "ea4046f8", 785 | "metadata": {}, 786 | "outputs": [], 787 | "source": [] 788 | }, 789 | { 790 | "cell_type": "code", 791 | "execution_count": null, 792 | "id": "696dde4c", 793 | "metadata": {}, 794 | "outputs": [], 795 | "source": [] 796 | } 797 | ], 798 | "metadata": { 799 | "kernelspec": { 800 | "display_name": "Python 3", 801 | "language": "python", 802 | "name": "python3" 803 | }, 804 | "language_info": { 805 | "codemirror_mode": { 806 | "name": "ipython", 807 | "version": 3 808 | }, 809 | "file_extension": ".py", 810 | "mimetype": "text/x-python", 811 | "name": "python", 812 | "nbconvert_exporter": "python", 813 | "pygments_lexer": "ipython3", 814 | "version": "3.8.8" 815 | } 816 | }, 817 | "nbformat": 4, 818 | "nbformat_minor": 5 819 | } 820 | --------------------------------------------------------------------------------