Как я использовал уровни восстановления Фибоначчи, MACD и Python для создания торговой стратегии.

Примечание. Эта статья предназначена только для развлекательных и образовательных целей. Он не предназначен для использования в качестве финансового совета. Не забудьте проявить осмотрительность, прежде чем делать какие-либо инвестиции.

Прежде чем мы начнем, если вам нравятся мои статьи и контент и вы хотите больше контента по программированию, акциям, машинному обучению и т. Д., То, пожалуйста, дайте этой статье несколько хлопков, она определенно помогает, и я действительно ценю это! Итак, приступим!

В этой статье я покажу стратегию торговли акциями с использованием уровней коррекции Фибоначчи и MACD.

Восстановление Фибоначчи

При торговле Фибоначчи Коррекция используются уровни Фибоначчи для обозначения возможных разворотов цен во время сильного тренда. Согласно (Зоран Темелков, 2019, Currency.com), индикатор Фибоначчи Коррекция основан на так называемых коррекциях, которые означают периоды, в которых цена движется против тренда, после чего возвращается в направлении тренда. - currency.com

MACD

MACD, сокращение от схождения / расхождения скользящих средних, - это торговый индикатор, используемый в техническом анализе цен на акции, созданный Джеральдом Аппелем в конце 1970-х годов. Он предназначен для выявления изменений силы, направления, импульса и продолжительности тренда в цене акции. Википедия

MACD основан на схождении и расхождении двух скользящих средних.

Торговая стратегия

Стратегия довольно проста. Идея состоит в том, чтобы покупать, когда сигнальная линия пересекает линию MACD, а текущая цена пересекается выше или ниже последнего уровня Фибоначчи, и продавать, когда сигнальная линия пересекает линию ниже линии MACD, а текущая цена пересекает выше или ниже последнего уровня Фибоначчи. Уровень. Кроме того, никогда не продавайте по цене ниже, чем я купил.

Стратегия

1. Если сигнальная линия пересекает линию MACD, а текущая цена пересекается выше или ниже последнего уровня Фибоначчи, покупайте.

2. Если сигнальная линия пересекает линию ниже линии MACD, а текущая цена пересекла выше или ниже последнего уровня Фибоначчи, то продавайте.

3. Никогда не продавайте по цене ниже, чем я купил.

видео

Если вы предпочитаете не читать эту статью и хотите ее видеопрезентацию, вы можете проверить Видео YouTube. В нем подробно рассматривается все, что описано в этой статье, и это поможет вам легко начать программировать код, даже если на вашем компьютере не установлен язык программирования Python. Или вы можете использовать и статью, и видео в качестве дополнительных материалов для обучения! Вся логика кода записана в видео.

Начать программирование

Сначала я импортировал библиотеки, необходимые для программы.

#Import the libraries
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')

Затем я загрузил данные об акциях Apple Inc. с 20 апреля по 24 августа 2017 года.

Затем я визуально показал цену закрытия на графике.

plt.plot(df.Close)

Затем я вычислил уровни восстановления Фибоначчи, линию MACD и индикаторы сигнальной линии, используя экспоненциальную скользящую среднюю. После того, как все расчеты были выполнены, я создал функцию, содержащую стратегию покупки и продажи.

Стратегия

1. Если сигнальная линия пересекает линию MACD, а текущая цена пересекается выше или ниже последнего уровня Фибоначчи, покупайте.

2. Если сигнальная линия пересекает линию ниже линии MACD, а текущая цена пересекла выше или ниже последнего уровня Фибоначчи, то продавайте.

3. Никогда не продавайте по цене ниже, чем я купил.

strategy(df)

Как только функция стратегии была завершена и у меня были сигналы на покупку и продажу, я нанес результаты на график.

#plot the Fibonacci Levels
plt.figure(figsize=(12.33, 4.5))
plt.plot(new_df.index, new_df['Close'], alpha=0.5)
plt.scatter(new_df.index, new_df['Buy_Signal_Price'], color='green', marker='^', alpha=1)
plt.scatter(new_df.index, new_df['Sell_Signal_Price'], color='red', marker='v', alpha=1)
plt.axhline(max_price, linestyle= '--', alpha=0.5, color='red')
plt.axhline(first_level, linestyle= '--', alpha=0.5, color='orange')
plt.axhline(second_level, linestyle= '--', alpha=0.5, color='yellow')
plt.axhline(third_level, linestyle= '--', alpha=0.5, color='green')
plt.axhline(fourth_level, linestyle= '--', alpha=0.5, color='blue')
plt.axhline(min_price, linestyle= '--', alpha=0.5, color='purple')
plt.ylabel('Close Price in USD')
plt.xlabel('Date')
plt.xticks(rotation=45)
plt.show()

Из изображения выше я вижу, что в рамках стратегии я бы купил акции по цене около 142,50 долларов США, затем продал около 152,50 долларов США с прибылью около 10 долларов США за акцию, затем купил около 155 долларов США и продал около 157,50 долларов США с прибылью. около 2,50 долларов США за акцию. Таким образом, в общей сложности эта стратегия принесла бы мне около 12,50 долларов США за акцию с 15 апреля 2017 года по 1 августа 2017 года.

Ну вот и все, если вы хотите увидеть полный код, у меня есть видео о том, как я писал код от начала до конца, вы можете проверить это здесь .

Если вам интересно узнать больше о Python, одном из самых быстрорастущих языков программирования, который используют многие компании и отделы компьютерных наук, я рекомендую вам ознакомиться с книгой Learning Python, написанной Марком Лутцем.

Спасибо, что прочитали эту статью. Надеюсь, она была вам интересна! Если вам понравилась эта статья и вы нашли ее полезной, пожалуйста, оставьте несколько аплодисментов, чтобы выразить свою признательность. Продолжайте учиться, и если вам нравятся финансы, информатика или программирование, посетите и подпишитесь на мой канал YouTube.