├── Gold Futures Historical Data.xlsx ├── README.md └── FIBONACCI RETRACEMENT.ipynb /Gold Futures Historical Data.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ranjitkumarsahu1436/Fibonacci-Retracement/HEAD/Gold Futures Historical Data.xlsx -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Fibonacci-Retracement 2 | 3 | 4 | Fibonacci Retracements are ratios used to identify potential reversal levels. These ratios are found in the Fibonacci sequence. The most popular Fibonacci Retracements are 61.8% and 38.2%. Note that 38.2% is often rounded to 38% and 61.8 is rounded to 62%. After an advance, chartists apply Fibonacci ratios to define retracement levels and forecast the extent of a correction or pullback. Fibonacci Retracements can also be applied after a decline to forecast the length of a counter-trend bounce. These retracements can be combined with other indicators and price patterns to create an overall strategy. 5 | 6 | The Fibonacci Retracements Tool at StockCharts shows four common retracements: 23.6%, 38.2%, 50%, and 61.8%. From the Fibonacci section above, it is clear that 23.6%, 38.2%, and 61.8% stem from ratios found within the Fibonacci sequence. The 50% retracement is not based on a Fibonacci number. 7 | 8 | Unlike moving averages, Fibonacci retracement levels are static prices. They do not change. This allows quick and simple identification and allows traders and investors to react when price levels are tested. Because these levels are inflection points, traders expect some type of price action, either a break or a rejection. The 0.618 Fibonacci retracement that is often used by stock analysts approximates to the "golden ratio". 9 | -------------------------------------------------------------------------------- /FIBONACCI RETRACEMENT.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# FIBONACCI RETRACEMENT" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "Import Library and Data set" 15 | ] 16 | }, 17 | { 18 | "cell_type": "code", 19 | "execution_count": 27, 20 | "metadata": {}, 21 | "outputs": [], 22 | "source": [ 23 | "import pandas as pd\n", 24 | "import numpy as np\n", 25 | "import seaborn as sns\n", 26 | "import matplotlib.pyplot as plt\n", 27 | "%matplotlib inline\n", 28 | "\n", 29 | "df = pd.read_excel(r'F:\\fibonacci retracement\\Gold Futures Historical Data.xlsx')\n", 30 | "df = df.set_index('Date',drop = False)" 31 | ] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "execution_count": 28, 36 | "metadata": {}, 37 | "outputs": [ 38 | { 39 | "data": { 40 | "text/html": [ 41 | "
\n", 42 | "\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 | "
DatePriceOpenHighLowVol.Change %
Date
2020-01-302020-01-301578.851576.651582.451575.65-0.0014
2020-01-292020-01-291576.701567.651577.701562.35-0.0044
2020-01-282020-01-281569.801580.601582.201564.60378.01K-0.0048
2020-01-272020-01-271577.401580.501588.401575.30398.06K-0.0029
2020-01-262020-01-261581.951571.651588.101571.65-0.0064
........................
2014-02-052014-02-051413.001413.001413.001413.001.62K0.0041
2014-02-042014-02-041407.301407.301407.301407.301.75K-0.0069
2014-02-032014-02-031417.101417.101417.101417.102.91K0.0130
2014-01-312014-01-311398.901398.901398.901398.905.82K-0.0028
2014-01-302014-01-301402.801402.801402.801402.8045.28K-0.0136
\n", 191 | "

1587 rows × 7 columns

\n", 192 | "
" 193 | ], 194 | "text/plain": [ 195 | " Date Price Open High Low Vol. Change %\n", 196 | "Date \n", 197 | "2020-01-30 2020-01-30 1578.85 1576.65 1582.45 1575.65 - 0.0014\n", 198 | "2020-01-29 2020-01-29 1576.70 1567.65 1577.70 1562.35 - 0.0044\n", 199 | "2020-01-28 2020-01-28 1569.80 1580.60 1582.20 1564.60 378.01K -0.0048\n", 200 | "2020-01-27 2020-01-27 1577.40 1580.50 1588.40 1575.30 398.06K -0.0029\n", 201 | "2020-01-26 2020-01-26 1581.95 1571.65 1588.10 1571.65 - 0.0064\n", 202 | "... ... ... ... ... ... ... ...\n", 203 | "2014-02-05 2014-02-05 1413.00 1413.00 1413.00 1413.00 1.62K 0.0041\n", 204 | "2014-02-04 2014-02-04 1407.30 1407.30 1407.30 1407.30 1.75K -0.0069\n", 205 | "2014-02-03 2014-02-03 1417.10 1417.10 1417.10 1417.10 2.91K 0.0130\n", 206 | "2014-01-31 2014-01-31 1398.90 1398.90 1398.90 1398.90 5.82K -0.0028\n", 207 | "2014-01-30 2014-01-30 1402.80 1402.80 1402.80 1402.80 45.28K -0.0136\n", 208 | "\n", 209 | "[1587 rows x 7 columns]" 210 | ] 211 | }, 212 | "execution_count": 28, 213 | "metadata": {}, 214 | "output_type": "execute_result" 215 | } 216 | ], 217 | "source": [ 218 | "df" 219 | ] 220 | }, 221 | { 222 | "cell_type": "code", 223 | "execution_count": 29, 224 | "metadata": {}, 225 | "outputs": [ 226 | { 227 | "data": { 228 | "text/plain": [ 229 | "Date datetime64[ns]\n", 230 | "Price float64\n", 231 | "Open float64\n", 232 | "High float64\n", 233 | "Low float64\n", 234 | "Vol. object\n", 235 | "Change % float64\n", 236 | "dtype: object" 237 | ] 238 | }, 239 | "execution_count": 29, 240 | "metadata": {}, 241 | "output_type": "execute_result" 242 | } 243 | ], 244 | "source": [ 245 | "df.dtypes" 246 | ] 247 | }, 248 | { 249 | "cell_type": "markdown", 250 | "metadata": {}, 251 | "source": [ 252 | "Find Maximum and minimum Value " 253 | ] 254 | }, 255 | { 256 | "cell_type": "code", 257 | "execution_count": 30, 258 | "metadata": {}, 259 | "outputs": [ 260 | { 261 | "data": { 262 | "text/plain": [ 263 | "1551.8" 264 | ] 265 | }, 266 | "execution_count": 30, 267 | "metadata": {}, 268 | "output_type": "execute_result" 269 | } 270 | ], 271 | "source": [ 272 | "df['Price']['2019-08-28':'2018-04-01'].max()" 273 | ] 274 | }, 275 | { 276 | "cell_type": "code", 277 | "execution_count": 31, 278 | "metadata": {}, 279 | "outputs": [ 280 | { 281 | "data": { 282 | "text/plain": [ 283 | "1204.9" 284 | ] 285 | }, 286 | "execution_count": 31, 287 | "metadata": {}, 288 | "output_type": "execute_result" 289 | } 290 | ], 291 | "source": [ 292 | "df['Price']['2019-08-28':'2018-04-01'].min()" 293 | ] 294 | }, 295 | { 296 | "cell_type": "code", 297 | "execution_count": 32, 298 | "metadata": {}, 299 | "outputs": [], 300 | "source": [ 301 | "df1=df['2019-08-28':'2019-04-01']" 302 | ] 303 | }, 304 | { 305 | "cell_type": "code", 306 | "execution_count": 33, 307 | "metadata": {}, 308 | "outputs": [ 309 | { 310 | "data": { 311 | "text/html": [ 312 | "
\n", 313 | "\n", 326 | "\n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \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 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | "
DatePriceOpenHighLowVol.Change %
Date
2019-08-282019-08-281549.11551.81556.61541.4353.91K-0.0017
2019-08-272019-08-271551.81537.31554.51535.3347.05K0.0095
2019-08-262019-08-261537.21545.41565.01534.8411.67K-0.0003
2019-08-232019-08-231537.61508.81540.31503.0473.00K0.0193
2019-08-222019-08-221508.51512.41514.61502.1279.41K-0.0048
........................
2019-04-052019-04-051313.71315.01315.01306.61.64K0.0011
2019-04-042019-04-041312.21313.11316.41302.82.29K-0.0008
2019-04-032019-04-031313.31314.01316.61310.61.44K-0.0001
2019-04-022019-04-021313.41310.71314.71308.01.41K0.0008
2019-04-012019-04-011312.41314.41319.31309.50.77K-0.0031
\n", 462 | "

109 rows × 7 columns

\n", 463 | "
" 464 | ], 465 | "text/plain": [ 466 | " Date Price Open High Low Vol. Change %\n", 467 | "Date \n", 468 | "2019-08-28 2019-08-28 1549.1 1551.8 1556.6 1541.4 353.91K -0.0017\n", 469 | "2019-08-27 2019-08-27 1551.8 1537.3 1554.5 1535.3 347.05K 0.0095\n", 470 | "2019-08-26 2019-08-26 1537.2 1545.4 1565.0 1534.8 411.67K -0.0003\n", 471 | "2019-08-23 2019-08-23 1537.6 1508.8 1540.3 1503.0 473.00K 0.0193\n", 472 | "2019-08-22 2019-08-22 1508.5 1512.4 1514.6 1502.1 279.41K -0.0048\n", 473 | "... ... ... ... ... ... ... ...\n", 474 | "2019-04-05 2019-04-05 1313.7 1315.0 1315.0 1306.6 1.64K 0.0011\n", 475 | "2019-04-04 2019-04-04 1312.2 1313.1 1316.4 1302.8 2.29K -0.0008\n", 476 | "2019-04-03 2019-04-03 1313.3 1314.0 1316.6 1310.6 1.44K -0.0001\n", 477 | "2019-04-02 2019-04-02 1313.4 1310.7 1314.7 1308.0 1.41K 0.0008\n", 478 | "2019-04-01 2019-04-01 1312.4 1314.4 1319.3 1309.5 0.77K -0.0031\n", 479 | "\n", 480 | "[109 rows x 7 columns]" 481 | ] 482 | }, 483 | "execution_count": 33, 484 | "metadata": {}, 485 | "output_type": "execute_result" 486 | } 487 | ], 488 | "source": [ 489 | "df1" 490 | ] 491 | }, 492 | { 493 | "cell_type": "code", 494 | "execution_count": 34, 495 | "metadata": {}, 496 | "outputs": [ 497 | { 498 | "data": { 499 | "text/plain": [ 500 | "1277.9" 501 | ] 502 | }, 503 | "execution_count": 34, 504 | "metadata": {}, 505 | "output_type": "execute_result" 506 | } 507 | ], 508 | "source": [ 509 | "Price_Min =df1['Low']['2019-08-28':'2019-04-01'].min()\n", 510 | "Price_Min" 511 | ] 512 | }, 513 | { 514 | "cell_type": "code", 515 | "execution_count": 35, 516 | "metadata": {}, 517 | "outputs": [ 518 | { 519 | "data": { 520 | "text/plain": [ 521 | "1565.0" 522 | ] 523 | }, 524 | "execution_count": 35, 525 | "metadata": {}, 526 | "output_type": "execute_result" 527 | } 528 | ], 529 | "source": [ 530 | "Price_Max =df1['High']['2019-08-28':'2019-04-01'].max()\n", 531 | "Price_Max" 532 | ] 533 | }, 534 | { 535 | "cell_type": "markdown", 536 | "metadata": {}, 537 | "source": [ 538 | "Find the Difference and find the level as per the fibonacci Retracement Model" 539 | ] 540 | }, 541 | { 542 | "cell_type": "code", 543 | "execution_count": 36, 544 | "metadata": {}, 545 | "outputs": [], 546 | "source": [ 547 | "Diff = Price_Max-Price_Min" 548 | ] 549 | }, 550 | { 551 | "cell_type": "code", 552 | "execution_count": 37, 553 | "metadata": {}, 554 | "outputs": [], 555 | "source": [ 556 | "level1 = Price_Max - 0.236 * Diff\n", 557 | "level2 = Price_Max - 0.382 * Diff\n", 558 | "level3 = Price_Max - 0.618 * Diff" 559 | ] 560 | }, 561 | { 562 | "cell_type": "code", 563 | "execution_count": 38, 564 | "metadata": {}, 565 | "outputs": [ 566 | { 567 | "name": "stdout", 568 | "output_type": "stream", 569 | "text": [ 570 | "Level PRICE\n", 571 | "0 1565.0\n", 572 | "0.236 1497.2444\n", 573 | "0.382 1455.3278\n", 574 | "0.618 1387.5722\n", 575 | "1 1277.9\n" 576 | ] 577 | } 578 | ], 579 | "source": [ 580 | "\n", 581 | "print (\"Level\", \" \", \"PRICE\")\n", 582 | "\n", 583 | "print (\"0 \", \" \" , Price_Max)\n", 584 | "print (\"0.236\", \" \" ,level1)\n", 585 | "print (\"0.382\", \" \",level2)\n", 586 | "print (\"0.618\",\" \", level3)\n", 587 | "print (\"1 \", \" \", Price_Min)" 588 | ] 589 | }, 590 | { 591 | "cell_type": "markdown", 592 | "metadata": {}, 593 | "source": [ 594 | "Ploting Graph" 595 | ] 596 | }, 597 | { 598 | "cell_type": "code", 599 | "execution_count": 39, 600 | "metadata": {}, 601 | "outputs": [ 602 | { 603 | "data": { 604 | "image/png": "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A/7RiNfq6JzbYGY9gXHAoc65LcDQOmXygP5m1hv4Ajgb+KFz7mOgc51yEeecZqrKApkSY6lzXZxza1N1Oh2v24JkoUyKO7zxXMfgtQwehTcQX1q5DIsx8HrZPO+ci+3dk0mmy6DY2wK0MbMBqfFc38EbVyZZKIPiru71AbzeXpMbvKHLgFl5MnkDjsBr9v8QWJDaxuIN2HwVL+N+FWibKt8ZL2MPA1tT+6Wpc28Ci/Cafo9t4J5j8T4QfQpM2kkZzTKaJVsmxRjwGvARXiL4KFCc7vdHW07EXRleq81HwDt436in/T3Slj0xljo3Ezgx3e+LttyKPbxxqx+lrp8J9En3+6MtJ+LudrwvHz7B67raYN0tdZGIiIiIiIjkGI0hFBERERERyVFKCEVERERERHKUEkIREREREZEcpYRQREREREQkRykhFBERERERyVFKCEVERBrJzBKpRYE/NrMPzOxKM2vw/1Iz62VmP2yojIiISLooIRQREWm8qHNuqHNuf7xFpscCv9jFNb3YcYF0ERGRjKF1CEVERBrJzCLOueI6v/cB5gHtgX2AR4Ci1OlLnXNvm9lsYBCwAngI+D1wKzAGCAD/65z7S4s9hIiISB1KCEVERBrpmwlh6tgWYCBQASSdczEz6w9Mdc6NNLMxwNXOuZNT5X8KdHTO3WJmAWAWcKZzbkWLPoyIiAiQl+4KiIiItHKW+pkP/MHMhgIJYMBOyh8PDDazM1K/twH647UgioiItCglhCIiInso1WU0AWzAG0u4HhiCN0Y/trPLgPHOuZdapJIiIiIN0KQyIiIie8DMOgB/Bv7gvPEXbYC1zrkkcA7gTxWtAErqXPoScJGZ5adeZ4CZFSEiIpIGaiEUERFpvKCZLcDrHlqLN4nMnalzfwSeNLMzgRlAZer4h0CtmX0APAhMwZt5dL6ZGbAROL2lHkBERKQuTSojIiIiIiKSo9RlVEREREREJEcpIRQREREREclRSghFRERERERylBJCERERERGRHKWEUEREREREJEcpIRQREREREclRSghFRERERERylBJCERERERGRHPV/T5jwGge89AMAAAAASUVORK5CYII=\n", 605 | "text/plain": [ 606 | "
" 607 | ] 608 | }, 609 | "metadata": { 610 | "needs_background": "light" 611 | }, 612 | "output_type": "display_data" 613 | } 614 | ], 615 | "source": [ 616 | "fig, ax = plt.subplots(figsize=(15,5))\n", 617 | "\n", 618 | "ax.plot(df1.Date, df1.Price)\n", 619 | "\n", 620 | "ax.axhspan(level1, Price_Min, alpha=0.4, color='lightsalmon')\n", 621 | "ax.axhspan(level2, level1, alpha=0.5, color='palegoldenrod')\n", 622 | "ax.axhspan(level3, level2, alpha=0.5, color='palegreen')\n", 623 | "ax.axhspan(Price_Max, level3, alpha=0.5, color='powderblue')\n", 624 | "\n", 625 | "plt.ylabel(\"Price\")\n", 626 | "plt.xlabel(\"Date\")\n", 627 | "\n", 628 | "plt.title('Fibonacci')\n", 629 | "\n", 630 | "plt.show()" 631 | ] 632 | }, 633 | { 634 | "cell_type": "code", 635 | "execution_count": null, 636 | "metadata": {}, 637 | "outputs": [], 638 | "source": [] 639 | } 640 | ], 641 | "metadata": { 642 | "kernelspec": { 643 | "display_name": "Python 3", 644 | "language": "python", 645 | "name": "python3" 646 | }, 647 | "language_info": { 648 | "codemirror_mode": { 649 | "name": "ipython", 650 | "version": 3 651 | }, 652 | "file_extension": ".py", 653 | "mimetype": "text/x-python", 654 | "name": "python", 655 | "nbconvert_exporter": "python", 656 | "pygments_lexer": "ipython3", 657 | "version": "3.7.1" 658 | } 659 | }, 660 | "nbformat": 4, 661 | "nbformat_minor": 2 662 | } 663 | --------------------------------------------------------------------------------