<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Python для Финансов - Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</title>
	<atom:link href="https://python.ivan-shamaev.ru/tag/python-%D0%B4%D0%BB%D1%8F-%D1%84%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2/feed/" rel="self" type="application/rss+xml" />
	<link>https://python.ivan-shamaev.ru/tag/python-для-финансов/</link>
	<description>Библиотеки обработки данных. Примеры. Строки, списки, файлы, числа, массивы. Язык программирования Python 3 - скачать</description>
	<lastBuildDate>Sat, 16 Nov 2019 08:19:51 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.1</generator>

<image>
	<url>https://python.ivan-shamaev.ru/wp-content/uploads/2019/04/cropped-data_science_python3_logo-32x32.png</url>
	<title>Python для Финансов - Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</title>
	<link>https://python.ivan-shamaev.ru/tag/python-для-финансов/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Python для Финансов: Алгоритмический трейдинг / торговля. Binance</title>
		<link>https://python.ivan-shamaev.ru/python-for-finance-algorithmic-trading/</link>
					<comments>https://python.ivan-shamaev.ru/python-for-finance-algorithmic-trading/#respond</comments>
		
		<dc:creator><![CDATA[Шамаев Иван]]></dc:creator>
		<pubDate>Tue, 12 Nov 2019 23:08:01 +0000</pubDate>
				<category><![CDATA[Python Finance]]></category>
		<category><![CDATA[Python For Finance]]></category>
		<category><![CDATA[Python для Финансов]]></category>
		<category><![CDATA[Алгоритмический трейдинг]]></category>
		<guid isPermaLink="false">https://python.ivan-shamaev.ru/?p=335</guid>

					<description><![CDATA[<p>Это руководство по Python for Finance познакомит Вас с алгоритмическим трейдингом или алгоритмической торговлей на площадке Binance. Технология стала активом в финансах: финансовые институты теперь превращаются в технологические компании, а не просто заняты только финансовым аспектом: помимо того, что технологии обеспечивают инновации быстротой и могут помочь получить конкурентное преимущество, скорость и частоту финансовых транзакций вместе [&#8230;]</p>
<p>Сообщение <a href="https://python.ivan-shamaev.ru/python-for-finance-algorithmic-trading/">Python для Финансов: Алгоритмический трейдинг / торговля. Binance</a> появились сначала на <a href="https://python.ivan-shamaev.ru">Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&#038;title=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" data-a2a-url="https://python.ivan-shamaev.ru/python-for-finance-algorithmic-trading/" data-a2a-title="Python для Финансов: Алгоритмический трейдинг / торговля. Binance"></a></p><blockquote>
<p><span>Это руководство по <strong>Python for Finance</strong> познакомит Вас с <strong>алгоритмическим трейдингом</strong> или <strong>алгоритмической торговлей</strong> на площадке Binance.</span></p>
</blockquote>
<p><span>Технология стала активом в финансах: финансовые институты теперь превращаются в технологические компании, а не просто заняты только финансовым аспектом: помимо того, что технологии обеспечивают инновации быстротой и могут помочь получить конкурентное преимущество, скорость и частоту финансовых транзакций вместе с большими объемами данных делает то, что внимание финансовых учреждений к технологиям с годами возросло, и что технологии действительно стали основным фактором, способствующим финансам.</span></p>
<p><span>Среди самых популярных языков программирования для финансов вы найдете R и Python, а также такие языки, как C ++, C # и Java. Из этого руководства вы узнаете, как начать работу с Python для финансов. Учебник будет охватывать следующее:</span></p>
<ul>
<li><span>В </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#basics"><span>основах</span></a><span> , что вам нужно , чтобы начать работу: для тех , кто являются новыми для финансирования, вы будете первым узнать больше о запасах и торговых стратегиях, в какое время данные серий являются и то , что вам нужно настроить свое рабочее место.</span></li>
<li><span>Введение в данные временных рядов и некоторые из наиболее </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#financialanalyses"><span>распространенных финансовых анализов</span></a><span> , таких как движущиеся окна, расчет волатильности,… с пакетом Python Pandas.</span></li>
<li><span>Разработка </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#tradingstrategy"><span>простой импульсной стратегии</span></a><span> : сначала вы пройдете процесс разработки шаг за шагом и начнете с формулировки и кодирования простой алгоритмической торговой стратегии.</span></li>
<li><span>Далее вы </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#backtesting"><span>протестируете</span></a><span> сформулированную торговую стратегию с Pandas, zipline и Quantopian.</span></li>
<li><span>После этого вы увидите, как можно </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#improving"><span>оптимизировать</span></a><span> свою стратегию, чтобы она работала лучше, и в конечном итоге вы </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#evaluating"><span>оцените</span></a><span> ее эффективность и надежность.</span></li>
</ul>
<p><span>Загрузите блокнот Jupyter этого руководства </span><a href="https://github.com/datacamp/datacamp-community-tutorials"><span>здесь</span></a><span>.</span></p>
<h2 id="basics"><span>Начало работы с Python для финансов</span></h2>
<p><span>Прежде чем вы начнете заниматься торговыми стратегиями, неплохо бы сначала ознакомиться с основами. Эта первая часть руководства будет посвящена объяснению основ Python, которые вам необходимы для начала работы. Это не означает, однако, что вы начнете с нуля: вы должны были, по крайней мере, пройти бесплатный вводный курс DataCamp « </span><a href="https://www.datacamp.com/courses/intro-to-python-for-data-science"><span>Введение в Python for Data Science»</span></a><span> , в котором вы узнали, как работать со списками, пакетами и NumPy Python. Кроме того, желательно знать основы Pandas, популярного пакета для обработки данных Python, но это не является обязательным требованием.</span></p>
<p><span>Тогда я бы посоветовал вам пройти курс DataCamp </span><a href="https://www.datacamp.com/courses/intro-to-python-for-finance"><span>Intro to Python for Finance,</span></a><span> чтобы изучить основы финансов в Python. Если вы хотите применить свои новые навыки «Python for Data Science» к реальным финансовым данным, подумайте о прохождении курса « </span><a href="https://www.datacamp.com/courses/importing-managing-financial-data-in-python"><span>Импорт и управление финансовыми данными в Python»</span></a><span> .</span></p>
<h3><span>Акции и торговля</span></h3>
<p><span>Когда компания хочет расти и предпринимать новые проекты или расширяться, она может выпускать акции для привлечения капитала. Акция представляет собой долю в собственности компании и выпускается в обмен на деньги. Акции покупаются и продаются: покупатели и продавцы обменивают существующие ранее выпущенные акции. Цена, по которой продаются акции, может изменяться независимо от успеха компании: цены вместо этого отражают спрос и предложение. Это означает, что всякий раз, когда акция считается «желательной» из-за успеха, популярности,… цена акции будет расти.</span></p>
<p><strong><span>Обратите внимание,</span></strong><span> что акции &#8212; это не то же самое, что облигации, когда компании привлекают деньги за счет заимствований, либо в виде займа в банке, либо путем выпуска долговых обязательств.</span></p>
<p><span>Как вы только что прочитали, покупка и продажа или торговля очень важны, когда вы говорите об акциях, но определенно не ограничены этим: торговля &#8212; это акт покупки или продажи </span><em><span>актива</span></em><span> , который может быть финансовым обеспечением, таким как акции, облигация или материальный продукт, такой как золото или нефть.</span></p>
<p><span>Торговля акциями &#8212; это процесс, при котором наличные деньги, выплачиваемые за акции, конвертируются в долю в собственности компании, которая может быть конвертирована обратно в наличные путем продажи, и все это, мы надеемся, с прибылью. Теперь, чтобы получить прибыльный доход, вы либо открываете длинную, либо короткую позицию на рынках: вы либо по долям, полагая, что цена акций будет расти, чтобы продавать по более высокой цене в будущем, либо вы продаете свои акции, ожидая, что вы сможете купить это обратно по более низкой цене и получить прибыль. Когда вы следуете фиксированному плану открывать длинные или короткие позиции на рынках, у вас есть торговая стратегия.</span></p>
<p><span>Разработка торговой стратегии проходит через несколько этапов, например, когда вы, например, строите модели машинного обучения: вы формулируете стратегию и указываете ее в форме, которую вы можете проверить на своем компьютере, вы проводите предварительное тестирование. или тестирование на истории, вы оптимизируете свою стратегию и, наконец, вы оцениваете производительность и надежность вашей стратегии.</span></p>
<p><span>Торговые стратегии обычно проверяются с помощью тестирования на истории: вы реконструируете по историческим данным сделки, которые произошли бы в прошлом, используя правила, которые были определены в разработанной вами стратегии. Таким образом, вы можете получить представление об эффективности вашей стратегии и использовать ее в качестве отправной точки для оптимизации и улучшения вашей стратегии перед ее применением на реальных рынках. Конечно, все это в значительной степени зависит от лежащей в основе теории или убеждения, что любая стратегия, которая сработала хорошо в прошлом, вероятно, также сработает хорошо в будущем, и что любая стратегия, которая работала плохо в прошлом, вероятно, также подойдет плохо в будущем.</span></p>
<h3><span>Данные временного ряда</span></h3>
<p><span>Временной ряд представляет собой последовательность числовых точек данных, взятых в последовательных одинаково разнесенных точках во времени. При инвестировании временной ряд отслеживает движение выбранных точек данных, например цены акций, в течение определенного периода времени с точками данных, записанными через равные промежутки времени. Если вы все еще сомневаетесь в том, как это будет выглядеть, посмотрите на следующий пример:</span></p>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2019/11/google_plot_01.png"><img fetchpriority="high" decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2019/11/google_plot_01.png" alt="" width="550" height="366" class="aligncenter size-full wp-image-339" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2019/11/google_plot_01.png 550w, https://python.ivan-shamaev.ru/wp-content/uploads/2019/11/google_plot_01-300x200.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2019/11/google_plot_01-360x240.png 360w" sizes="(max-width: 550px) 100vw, 550px" /></a></p>
<p><span>Вы видите, что даты расположены на оси X, а цена указана на оси Y. </span><span>«Последовательные равные интервалы времени» в этом случае означают, что дни, показанные на оси х, разделены на 14 дней: обратите внимание на разницу между 3/7/2005 и следующей точкой, 31.03.2005, и 05.05.2005 и 19.04.2005.</span></p>
<p><span>Однако при работе с данными о запасах вы часто будете видеть не только два столбца, которые содержат наблюдения периода и цены, но в большинстве случаев у вас будет пять столбцов, содержащих наблюдения периода и открытия , максимум, минимум и цены закрытия этого периода. Это означает, что, если ваш период установлен на дневном уровне, данные наблюдений за этот день дадут вам представление о цене открытия и закрытия для этого дня и экстремальных движениях максимума и минимума для конкретной акции в течение этого дня.</span></p>
<p><span>На данный момент у вас есть базовое представление об основных понятиях, которые вам необходимо знать, чтобы пройти этот урок. Эти понятия скоро вернутся, и вы узнаете о них позже в этом уроке.</span></p>
<h3><span>Настройка рабочего пространства</span></h3>
<p><span>Подготовка рабочего пространства к работе &#8212; это простая задача: просто убедитесь, что в вашей системе работает Python и интегрированная среда разработки (IDE). Тем не менее, есть несколько способов, с помощью которых вы можете начать, которые могут быть немного проще, когда вы только начинаете.</span></p>
<p><span>Возьмите, например, </span><a href="https://anaconda.org/"><span>Anaconda</span></a><span> , высокопроизводительный дистрибутив Python и R, который включает в себя более 100 самых популярных пакетов Python, R и Scala для науки о данных. Кроме того, установка Anaconda предоставит вам доступ к более чем 720 пакетам, которые можно легко установить с помощью conda, нашего известного менеджера пакетов, зависимостей и среды, который включен в Anaconda. И, кроме всего прочего, вы получите Jupyter Notebook и Spyder IDE вместе с ним.</span></p>
<p><span>Это звучит как хорошая сделка, верно?</span></p>
<p><span>Вы можете установить Anaconda </span><a href="https://www.continuum.io/downloads"><span>отсюда</span></a><span> и не забудьте проверить, как настроить ноутбук Jupyter, в </span><a href="https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook"><span>учебнике</span></a><span> DataCamp&#8217;s <a href="https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook">Jupyter Notebook: полное руководство</a> .</span></p>
<p><span>Конечно, Anaconda &#8212; не единственный вариант: вы также можете проверить </span><a href="https://www.enthought.com/products/canopy/"><span>дистрибутив Canopy Python</span></a><span> (который не <a href="https://www.enthought.com/products/canopy/">распространяется</a> бесплатно) или попробовать </span><a href="http://quant-platform.com/"><span>Quant Platform</span></a><span> .</span></p>
<p><span>Последний предлагает вам несколько дополнительных преимуществ по сравнению, например, с использованием Jupyter или Spyder IDE, поскольку он предоставляет вам все, что вам нужно для финансовой аналитики в вашем браузере! С помощью Quant Platform вы получите доступ к графическому инжинирингу на основе графического интерфейса, финансовой аналитике на основе Python и своей собственной библиотеке аналитики на основе Python. Более того, у вас также будет доступ к форуму, где вы можете обсудить решения или вопросы со сверстниками!</span></p>
<h3><span>Основы Python для финансов: Pandas</span></h3>
<p><span>Когда вы используете Python для финансов, вы часто сталкиваетесь с использованием пакета манипулирования данными, Pandas. Но и другие пакеты, такие как NumPy, SciPy, Matplotlib,… будут проходить, как только вы начнете копать глубже.</span></p>
<p><span>А сейчас давайте сосредоточимся на Pandas и используем его для анализа данных временных рядов. В этом разделе объясняется, как вы можете импортировать данные, исследовать и манипулировать ими с помощью Pandas. Вдобавок ко всему этому вы узнаете, как выполнять общий финансовый анализ данных, которые вы импортировали.</span></p>
<h4><span>Импорт финансовых данных в Python</span></h4>
<p><span></span><code class="lang-python">pandas-datareader</code><span>Пакет позволяет для чтения в данных из таких источников, как Google, Всемирный банк, &#8230; Если вы хотите иметь обновленный список источников данных, которые доступны с этой функцией, перейдите к </span><a href="https://pandas-datareader.readthedocs.io/en/latest/remote_data.html"><span>документации</span></a><span> . Раньше вы могли получить доступ к данным из Yahoo! Финансирование напрямую, но с тех пор оно устарело. Чтобы получить доступ к Yahoo! Финансовые данные, посмотрите это </span><a href="https://www.youtube.com/watch?v=eSpH6fPd5Yw"><span>видео Мэтта Макарти,</span></a><span> которое показывает обходной путь. Для этого урока вы будете использовать пакет для чтения данных из Yahoo! Финансы. Обязательно сначала установите пакет, установив последнюю версию выпуска через pip с помощью </span><code class="lang-python">pip install pandas-datareader</code><span>.</span></p>
<p><strong><span>Совет</span></strong><span> : если вы хотите установить последнюю версию для разработчиков или у вас возникли какие-либо проблемы, вы можете прочитать инструкции по установке </span><a href="https://github.com/pydata/pandas-datareader/"><span>здесь</span></a><span> .</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">import pandas_datareader as pdr
import datetime 
aapl = pdr.get_data_yahoo('AAPL', 
                          start=datetime.datetime(2006, 10, 1), 
                          end=datetime.datetime(2012, 1, 1))</pre>
<div>
<div class="jsx-undefined social__top desktopOnly">
<div class="jsx-undefined voteAndSocial">
<div class="jsx-undefined"><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#comments" class="jsx-3293774837 CommentCounter"><span class="jsx-3293774837 count"><span>102</span></span></a>
<p></p>
<div class="jsx-1972554161 Upvote">
<div class="jsx-1972554161">
<div class="jsx-1972554161 normal"><span class="jsx-1972554161 icon"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewbox="0 0 12 12"><path d="M1 10L6 0l5 10z"></path></svg></span><span class="jsx-1972554161 count"><span>502</span></span></div>
<div class="jsx-1972554161 voted"><span class="jsx-1972554161 icon"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewbox="0 0 12 12"><path d="M1 10L6 0l5 10z"></path></svg></span><span class="jsx-1972554161 count"><span>502</span></span></div>
</div>
</div>
</div>
<div class="jsx-494086174 Social vertical">
<div class="jsx-494086174 icons"><a href="https://www.facebook.com/sharer.php?u=https://www.datacamp.com/community/tutorials/finance-python-trading" target="_blank" rel="noopener noreferrer" class="jsx-494086174 icon"><svg height="12" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 11.73 22.58"><path d="M7.61 22.58v-10.3h3.46l.52-4h-4V5.7c0-1.16.32-2 2-2h2.13V.16A28.47 28.47 0 0 0 8.63 0C5.56 0 3.47 1.87 3.47 5.31v3H0v4h3.47v10.3h4.14z"></path></svg></a><a href="https://twitter.com/intent/tweet?url=https://www.datacamp.com/community/tutorials/finance-python-trading" target="_blank" rel="noopener noreferrer" class="jsx-494086174 icon centerIcon"><svg height="10" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20.42 16.67"><path d="M10 5.18c0-.28-.06-.53-.07-.78a4 4 0 0 1 .73-2.57A4.08 4.08 0 0 1 13.93 0 4 4 0 0 1 17 1.15a.43.43 0 0 0 .46.12 8.68 8.68 0 0 0 2.2-.84l.2-.1a4.36 4.36 0 0 1-1.75 2.28A9 9 0 0 0 20.42 2l-.21.3a3.83 3.83 0 0 1-.23.3A8.45 8.45 0 0 1 18.5 4a.28.28 0 0 0-.13.27A12 12 0 0 1 17 10.18a11.8 11.8 0 0 1-3.37 4.11 11.17 11.17 0 0 1-4.39 2.06 12.53 12.53 0 0 1-4.44.22 11.87 11.87 0 0 1-4.74-1.73L0 14.79a8.6 8.6 0 0 0 6.16-1.74 4.28 4.28 0 0 1-3.91-2.91h.95a6.18 6.18 0 0 0 .89-.12A4.2 4.2 0 0 1 .8 5.88a4 4 0 0 0 1.81.49 4.23 4.23 0 0 1-1.78-3A4.07 4.07 0 0 1 1.38.79 12.06 12.06 0 0 0 10 5.18z" id="iOjKBC.tif"></path></svg></a><a href="https://www.linkedin.com/cws/share?url=https://www.datacamp.com/community/tutorials/finance-python-trading" target="_blank" rel="noopener noreferrer" class="jsx-494086174 icon"><svg height="10" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 16.99 17"><path d="M3.85 17H.34V5.67h3.51zM2.07 4.18a2.09 2.09 0 1 1 2.08-2.09 2.08 2.08 0 0 1-2.08 2.09zM17 17h-3.5v-5.95c0-1.63-.62-2.54-1.91-2.54s-2.14.95-2.14 2.54V17H6.09V5.67h3.36v1.52a4 4 0 0 1 3.42-1.87c2.4 0 4.12 1.47 4.12 4.5V17z"></path></svg></a></div>
</div>
</div>
</div>
</div>
<div class="jsx-1464850800 preface">
<div class="jsx-1464850800 author">
<div class="jsx-566588255 Author">
<div class="jsx-3208234818 Avatar"></div>
<div class="jsx-566588255 info">
<div class="jsx-566588255 name"><span>Карлин Виллемс</span></div>
<div class="jsx-566588255 date"><span>23 января 2019 г.</span></div>
</div>
</div>
</div>
<div class="jsx-1464850800 tags">
<div class="jsx-2792531181 TagLine">
<div class="jsx-1764811326 Tag mustRead"><span class="jsx-1764811326 title"><span>ДОЛЖНЫ ПРОЧИТАТЬ</span></span></div>
<div class="jsx-1764811326 Tag"><span class="jsx-1764811326 title"><span>ПИТОН</span></span></div>
<p><a class="jsx-1022557955 more"><span>+ </span><span>1</span></a></p>
</div>
</div>
<h1 class="jsx-1464850800 pageTitle"><span>Python для финансов: алгоритмический трейдинг</span></h1>
<div class="jsx-1464850800 description pageDescription"><span>Это руководство по Python for Finance знакомит вас с алгоритмической торговлей и многим другим.</span></div>
</div>
<div class="markdown">
<div class="container-fluid main-container">
<p><span>Технология стала активом в финансах: финансовые институты теперь превращаются в технологические компании, а не просто заняты только финансовым аспектом: помимо того, что технологии обеспечивают инновации быстротой и могут помочь получить конкурентное преимущество, скорость и частоту финансовых транзакций вместе с большими объемами данных делает то, что внимание финансовых учреждений к технологиям с годами возросло, и что технологии действительно стали основным фактором, способствующим финансам.</span></p>
<p><span>Среди самых популярных языков программирования для финансов вы найдете R и Python, а также такие языки, как C ++, C # и Java. Из этого руководства вы узнаете, как начать работу с Python для финансов. Учебник будет охватывать следующее:</span></p>
<nav>
<ul>
<li><span>В </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#basics"><span>основах</span></a><span> , что вам нужно , чтобы начать работу: для тех , кто являются новыми для финансирования, вы будете первым узнать больше о запасах и торговых стратегиях, в какое время данные серий являются и то , что вам нужно настроить свое рабочее место.</span></li>
<li><span>Введение в данные временных рядов и некоторые из наиболее </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#financialanalyses"><span>распространенных финансовых анализов</span></a><span> , таких как движущиеся окна, расчет волатильности,… с пакетом Python Pandas.</span></li>
<li><span>Разработка </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#tradingstrategy"><span>простой импульсной стратегии</span></a><span> : сначала вы пройдете процесс разработки шаг за шагом и начнете с формулировки и кодирования простой алгоритмической торговой стратегии.</span></li>
<li><span>Далее вы </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#backtesting"><span>протестируете</span></a><span> сформулированную торговую стратегию с Pandas, zipline и Quantopian.</span></li>
<li><span>После этого вы увидите, как можно </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#improving"><span>оптимизировать</span></a><span> свою стратегию, чтобы она работала лучше, и в конечном итоге вы </span><a href="https://www.datacamp.com/community/tutorials/finance-python-trading#evaluating"><span>оцените</span></a><span> ее эффективность и надежность.</span></li>
</ul>
</nav>
<div id="scoped-content">
<p><span>Загрузите блокнот Jupyter этого руководства </span><a href="https://github.com/datacamp/datacamp-community-tutorials"><span>здесь</span></a><span> .</span></p>
<p><img decoding="async" alt="Учебник по Python для финансов" src="http://res.cloudinary.com/dyd911kmh/image/upload/f_auto,q_auto:best/v1508152857/Python-For-Finance_ubjzcp.png" /></p>
<h2 id="basics"><span>Начало работы с Python для финансов</span></h2>
<p><span>Прежде чем вы начнете заниматься торговыми стратегиями, неплохо бы сначала ознакомиться с основами. Эта первая часть руководства будет посвящена объяснению основ Python, которые вам необходимы для начала работы. Это не означает, однако, что вы начнете с нуля: вы должны были, по крайней мере, пройти бесплатный вводный курс DataCamp « </span><a href="https://www.datacamp.com/courses/intro-to-python-for-data-science"><span>Введение в Python for Data Science»</span></a><span> , в котором вы узнали, как работать со списками, пакетами и NumPy Python. Кроме того, желательно знать основы Pandas, популярного пакета для обработки данных Python, но это не является обязательным требованием.</span></p>
<p><span>Тогда я бы посоветовал вам пройти курс DataCamp </span><a href="https://www.datacamp.com/courses/intro-to-python-for-finance"><span>Intro to Python for Finance,</span></a><span> чтобы изучить основы финансов в Python. Если вы хотите применить свои новые навыки «Python for Data Science» к реальным финансовым данным, подумайте о прохождении курса « </span><a href="https://www.datacamp.com/courses/importing-managing-financial-data-in-python"><span>Импорт и управление финансовыми данными в Python»</span></a><span> .</span></p>
<div class="section level3" id="stocks-trading">
<h3><span>Акции и торговля</span></h3>
<p><span>Когда компания хочет расти и предпринимать новые проекты или расширяться, она может выпускать акции для привлечения капитала. Акция представляет собой долю в собственности компании и выпускается в обмен на деньги. Акции покупаются и продаются: покупатели и продавцы обменивают существующие ранее выпущенные акции. Цена, по которой продаются акции, может изменяться независимо от успеха компании: цены вместо этого отражают спрос и предложение. Это означает, что всякий раз, когда акция считается «желательной» из-за успеха, популярности,… цена акции будет расти.</span></p>
<p><strong><span>Обратите внимание,</span></strong><span> что акции &#8212; это не то же самое, что облигации, когда компании привлекают деньги за счет заимствований, либо в виде займа в банке, либо путем выпуска долговых обязательств.</span></p>
<p><span>Как вы только что прочитали, покупка и продажа или торговля очень важны, когда вы говорите об акциях, но определенно не ограничены этим: торговля &#8212; это акт покупки или продажи </span><em><span>актива</span></em><span> , который может быть финансовым обеспечением, таким как акции, облигация или материальный продукт, такой как золото или нефть.</span></p>
<p><span>Торговля акциями &#8212; это процесс, при котором наличные деньги, выплачиваемые за акции, конвертируются в долю в собственности компании, которая может быть конвертирована обратно в наличные путем продажи, и все это, мы надеемся, с прибылью. Теперь, чтобы получить прибыльный доход, вы либо открываете длинную, либо короткую позицию на рынках: вы либо по долям, полагая, что цена акций будет расти, чтобы продавать по более высокой цене в будущем, либо вы продаете свои акции, ожидая, что вы сможете купить это обратно по более низкой цене и получить прибыль. Когда вы следуете фиксированному плану открывать длинные или короткие позиции на рынках, у вас есть торговая стратегия.</span></p>
<p><span>Разработка торговой стратегии проходит через несколько этапов, например, когда вы, например, строите модели машинного обучения: вы формулируете стратегию и указываете ее в форме, которую вы можете проверить на своем компьютере, вы проводите предварительное тестирование. или тестирование на истории, вы оптимизируете свою стратегию и, наконец, вы оцениваете производительность и надежность вашей стратегии.</span></p>
<p><span>Торговые стратегии обычно проверяются с помощью тестирования на истории: вы реконструируете по историческим данным сделки, которые произошли бы в прошлом, используя правила, которые были определены в разработанной вами стратегии. Таким образом, вы можете получить представление об эффективности вашей стратегии и использовать ее в качестве отправной точки для оптимизации и улучшения вашей стратегии перед ее применением на реальных рынках. Конечно, все это в значительной степени зависит от лежащей в основе теории или убеждения, что любая стратегия, которая сработала хорошо в прошлом, вероятно, также сработает хорошо в будущем, и что любая стратегия, которая работала плохо в прошлом, вероятно, также подойдет плохо в будущем.</span></p>
</div>
<div class="section level3" id="time-series-data">
<h3><span>Данные временного ряда</span></h3>
<p><span>Временной ряд представляет собой последовательность числовых точек данных, взятых в последовательных одинаково разнесенных точках во времени. При инвестировании временной ряд отслеживает движение выбранных точек данных, например цены акций, в течение определенного периода времени с точками данных, записанными через равные промежутки времени. Если вы все еще сомневаетесь в том, как это будет выглядеть, посмотрите на следующий пример:</span></p>
<p><img decoding="async" src="https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Python+Algorithmic+Trading/google_plot_01.png" /></p>
<p><span>Вы видите, что даты расположены на оси X, а цена указана на оси Y. «Последовательные равные интервалы времени» в этом случае означают, что дни, показанные на оси х, разделены на 14 дней: обратите внимание на разницу между 3/7/2005 и следующей точкой, 31.03.2005, и 05.05.2005 и 19.04.2005.</span></p>
<p><span>Однако при работе с данными о запасах вы часто будете видеть не только два столбца, которые содержат наблюдения периода и цены, но в большинстве случаев у вас будет пять столбцов, содержащих наблюдения периода и открытия , максимум, минимум и цены закрытия этого периода. Это означает, что, если ваш период установлен на дневном уровне, данные наблюдений за этот день дадут вам представление о цене открытия и закрытия для этого дня и экстремальных движениях максимума и минимума для конкретной акции в течение этого дня.</span></p>
<p><span>На данный момент у вас есть базовое представление об основных понятиях, которые вам необходимо знать, чтобы пройти этот урок. Эти понятия скоро вернутся, и вы узнаете о них позже в этом уроке.</span></p>
</div>
<div class="section level3" id="setting-up-the-workspace">
<h3><span>Настройка рабочего пространства</span></h3>
<p><span>Подготовка рабочего пространства к работе &#8212; это простая задача: просто убедитесь, что в вашей системе работает Python и интегрированная среда разработки (IDE). Тем не менее, есть несколько способов, с помощью которых вы можете начать, которые могут быть немного проще, когда вы только начинаете.</span></p>
<p><span>Возьмите, например, </span><a href="https://anaconda.org/"><span>Anaconda</span></a><span> , высокопроизводительный дистрибутив Python и R, который включает в себя более 100 самых популярных пакетов Python, R и Scala для науки о данных. Кроме того, установка Anaconda предоставит вам доступ к более чем 720 пакетам, которые можно легко установить с помощью conda, нашего известного менеджера пакетов, зависимостей и среды, который включен в Anaconda. И, кроме всего прочего, вы получите Jupyter Notebook и Spyder IDE вместе с ним.</span></p>
<p><span>Это звучит как хорошая сделка, верно?</span></p>
<p><span>Вы можете установить Anaconda </span><a href="https://www.continuum.io/downloads"><span>отсюда</span></a><span> и не забудьте проверить, как настроить ноутбук Jupyter, в </span><a href="https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook"><span>учебнике</span></a><span> DataCamp&#8217;s <a href="https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook">Jupyter Notebook: полное руководство</a> .</span></p>
<p><span>Конечно, Anaconda &#8212; не единственный вариант: вы также можете проверить </span><a href="https://www.enthought.com/products/canopy/"><span>дистрибутив Canopy Python</span></a><span> (который не <a href="https://www.enthought.com/products/canopy/">распространяется</a> бесплатно) или попробовать </span><a href="http://quant-platform.com/"><span>Quant Platform</span></a><span> .</span></p>
<p><span>Последний предлагает вам несколько дополнительных преимуществ по сравнению, например, с использованием Jupyter или Spyder IDE, поскольку он предоставляет вам все, что вам нужно для финансовой аналитики в вашем браузере! С помощью Quant Platform вы получите доступ к графическому инжинирингу на основе графического интерфейса, финансовой аналитике на основе Python и своей собственной библиотеке аналитики на основе Python. Более того, у вас также будет доступ к форуму, где вы можете обсудить решения или вопросы со сверстниками!</span></p>
</div>
<div class="section level3" id="python-basics-for-finance-pandas">
<h3><span>Основы Python для финансов: панды</span></h3>
<p><span>Когда вы используете Python для финансов, вы часто сталкиваетесь с использованием пакета манипулирования данными, Pandas. Но и другие пакеты, такие как NumPy, SciPy, Matplotlib,… будут проходить, как только вы начнете копать глубже.</span></p>
<p><span>А сейчас давайте сосредоточимся на Pandas и используем его для анализа данных временных рядов. В этом разделе объясняется, как вы можете импортировать данные, исследовать и манипулировать ими с помощью Pandas. Вдобавок ко всему этому вы узнаете, как выполнять общий финансовый анализ данных, которые вы импортировали.</span></p>
<div class="section level4" id="importing-financial-data-into-python">
<h4><span>Импорт финансовых данных в Python</span></h4>
<p><span></span><code class="lang-python">pandas-datareader</code><span>Пакет позволяет для чтения в данных из таких источников, как Google, Всемирный банк, &#8230; Если вы хотите иметь обновленный список источников данных, которые доступны с этой функцией, перейдите к </span><a href="https://pandas-datareader.readthedocs.io/en/latest/remote_data.html"><span>документации</span></a><span> . Раньше вы могли получить доступ к данным из Yahoo! Финансирование напрямую, но с тех пор оно устарело. Чтобы получить доступ к Yahoo! Финансовые данные, посмотрите это </span><a href="https://www.youtube.com/watch?v=eSpH6fPd5Yw"><span>видео Мэтта Макарти,</span></a><span> которое показывает обходной путь. Для этого урока вы будете использовать пакет для чтения данных из Yahoo! Финансы. Обязательно сначала установите пакет, установив последнюю версию выпуска через pip с помощью </span><code class="lang-python">pip install pandas-datareader</code><span>.</span></p>
<p><strong><span>Совет</span></strong><span> : если вы хотите установить последнюю версию для разработчиков или у вас возникли какие-либо проблемы, вы можете прочитать инструкции по установке </span><a href="https://github.com/pydata/pandas-datareader/"><span>здесь</span></a><span> .</span></p>
<pre><code class="lang-python hljs"><span class="hljs-keyword">import</span> pandas_datareader <span class="hljs-keyword">as</span> pdr
<span class="hljs-keyword">import</span> datetime <span></span>
aapl = pdr.get_data_yahoo(<span class="hljs-string">'AAPL'</span>, <span></span>
                          start=datetime.datetime(<span class="hljs-number">2006</span>, <span class="hljs-number">10</span>, <span class="hljs-number">1</span>), <span></span>
                          end=datetime.datetime(<span class="hljs-number">2012</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>))</code></pre>
<p><strong><span>Обратите внимание,</span></strong><span> что конечная точка API Yahoo недавно изменилась и что, если вы хотите уже начать работать с библиотекой самостоятельно, вам необходимо установить временное исправление, пока патч не будет объединен с основной веткой, чтобы начать извлечение данных. из Yahoo! Финансы с </span><code class="lang-python">pandas-datareader</code><span>. Убедитесь в том , чтобы читать по этому вопросу </span><a href="https://github.com/pydata/pandas-datareader/issues/315"><span>здесь</span></a><span> , прежде чем начать свой собственный!</span></p>
<p><span>Не беспокойтесь, однако, для этого урока данные были загружены для вас, чтобы вы не столкнулись с какими-либо проблемами при изучении финансов в Python с помощью Pandas.</span></p>
<p><span>Тем не менее, разумно учитывать, что, несмотря на то, что он </span><code class="lang-python">pandas-datareader</code><span>предлагает множество опций для извлечения данных в Python, это не единственный пакет, который вы можете использовать для извлечения финансовых данных: вы также можете использовать библиотеки, такие как Quandl, для Например, чтобы получить данные из Google Finance:</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">import quandl 
aapl = quandl.get("WIKI/AAPL", start_date="2006-10-01", end_date="2012-01-01")</pre>
<p><span>Для получения дополнительной информации о том, как вы можете использовать Quandl для получения финансовых данных непосредственно в Python, перейдите на </span><a href="https://www.quandl.com/tools/python"><span>эту страницу</span></a><span> .</span></p>
<p><span>Наконец, если вы уже какое-то время работали в сфере финансов, вы, вероятно, знаете, что чаще всего вы используете Excel также для манипулирования своими данными. В таких случаях вы должны знать, что вы можете интегрировать Python с Excel.</span></p>
<p><span>Ознакомьтесь с Руководством по </span><a href="https://www.datacamp.com/community/tutorials/python-excel-tutorial"><span>Python Excel для</span></a><span> DataCamp <a href="https://www.datacamp.com/community/tutorials/python-excel-tutorial">: Подробное руководство</a> для получения дополнительной информации.</span></p>
<h4><span>Работа с данными временного ряда</span></h4>
<p><span>Первое, что вы хотите сделать, когда у вас наконец появятся данные в вашем рабочем пространстве, &#8212; это испачкать руки. Однако теперь, когда вы работаете с данными временных рядов, это может показаться не таким простым, поскольку ваш индекс теперь содержит значения DateTime.</span></p>
<p><span>Не беспокойтесь, хотя! Давайте начнем пошагово и сначала исследуем данные с некоторыми функциями, которые вы, возможно, уже знаете, если у вас есть опыт программирования на R или вы ранее работали с Pandas.</span></p>
<p><span>В любом случае, вы увидите, что это довольно просто!</span></p>
<p><span>Как вы видели в фрагменте кода выше, вы использовали </span><code class="lang-python">pandas_datareader</code><span>для импорта данных в вашу рабочую область. Результирующий объект </span><code class="lang-python">aapl</code><span>представляет собой DataFrame, который представляет собой двумерную помеченную структуру данных со столбцами потенциально разных типов. Теперь, одна из первых вещей , которые вы , вероятно , когда у вас есть регулярные DataFrame на руках, запустив </span><code class="lang-python">head()</code><span>и </span><code class="lang-python">tail()</code><span>функцию загляните на первый и последнюю строку вашего DataFrame. К счастью, это не меняется, когда вы работаете с данными временных рядов!</span></p>
<p><strong><span>Совет</span></strong><span> : также обязательно используйте </span><code class="lang-python">describe()</code><span>функцию, чтобы получить некоторую полезную сводную статистику о ваших данных.</span></p>
<p><span>Как вы видели во введении, эти данные содержат четыре столбца с ценами открытия и закрытия за день и экстремальными максимальными и минимальными движениями цены акций Apple за каждый день. Кроме того, вы также получаете два дополнительных столбца: </span><code class="lang-python">Volume</code><span>и </span><code class="lang-python">Adj Close</code><span>.</span></p>
<p><span>Первый столбец используется для регистрации количества акций, которые были проданы в течение одного дня. Последний, с другой стороны, является скорректированной ценой закрытия: это цена закрытия дня, которая была слегка адаптирована для включения любых действий, которые произошли в любое время до открытия следующего дня. Вы можете использовать этот столбец для изучения исторических результатов или когда вы выполняете подробный анализ исторических результатов.</span></p>
<p><span>Обратите внимание, как метки индекса или строки содержат даты, и как ваши столбцы или метки столбцов содержат числовые значения.</span></p>
<p><strong><span>Подсказка</span></strong><span> : если вы сейчас хотите сохранить эти данные в CSV-файл с помощью </span><code class="lang-python">to_csv()</code><span>функции </span><code class="lang-python">pandas</code><span>и использовать эту </span><code class="lang-python">read_csv()</code><span>функцию для чтения данных обратно в Python. Это очень удобно в тех случаях, когда, например, конечная точка API Yahoo изменилась, и у вас больше нет доступа к вашим данным <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">import pandas as pd
aapl.to_csv('data/aapl_ohlc.csv')
df = pd.read_csv('data/aapl_ohlc.csv', header=0, index_col='Date', parse_dates=True)</pre>
<p><span>Теперь, когда вы кратко проверили первые строки своих данных и взглянули на некоторую сводную статистику, пришло время немного углубиться.</span></p>
<p><span>Один из способов сделать это &#8212; проверить индекс и столбцы и выбрать, например, последние десять строк конкретного столбца. Последнее называется подмножеством, потому что вы берете небольшое подмножество ваших данных. Результатом поднабора является Series, который представляет собой одномерный помеченный массив, который может содержать любой тип.</span></p>
<p><strong><span>Помните,</span></strong><span> что структура DataFrame была двумерным помеченным массивом со столбцами, которые потенциально могут содержать различные типы данных.</span></p>
<p>Проверьте все это в упражнении. Во- первых, использовать indexи columnsатрибуты , чтобы посмотреть на индекс и столбцов ваших данных. Затем установите Close подколонку, выбрав только последние 10 наблюдений для DataFrame. Используйте квадратные скобки, []чтобы выделить последние десять значений. Возможно, вы уже знаете этот способ поднабора из других языков программирования, таких как R. В заключение, присвойте последний переменной, tsа затем проверьте, какой это тип ts, используя type() функцию:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python"># Inspect the index 
aapl.index

# Inspect the columns
aapl.columns

# Select only the last 10 observations of `Close`
ts = aapl['Close'][-10:]

# Check the type of `ts` 
type(ts)</pre>
<p><span>Квадратные скобки могут быть полезны для подмножества ваших данных, но они, возможно, не самый идиоматичный способ сделать что-то с Pandas. Вот почему вы должны также взглянуть на </span><code class="lang-python">loc()</code><span>и </span><code class="lang-python">iloc()</code><span>функциях: вы используете бывший для индексации на основе меток , а второй для позиционной индексации.</span></p>
<p><span>На практике это означает , что вы можете передать метку строки меток, таких , как </span><code class="lang-python">2007</code><span>и </span><code class="lang-python">2006-11-01</code><span>, к </span><code class="lang-python">loc()</code><span>функции, в то время как вы передаете целые числа , такие , как </span><code class="lang-python">22</code><span>и </span><code class="lang-python">43</code><span>в </span><code class="lang-python">iloc()</code><span>функции.</span></p>
<p>Пример:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python"># Inspect the first rows of November-December 2006
print(aapl.loc[pd.Timestamp('2006-11-01'):pd.Timestamp('2006-12-31')].head())

# Inspect the first rows of 2007 
print(aapl.loc['2007'].head())

# Inspect November 2006
print(aapl.iloc[22:43])

# Inspect the 'Open' and 'Close' values at 2006-11-01 and 2006-12-01
print(aapl.iloc[[22,43], [0, 3])</pre>
<p><strong><span>Совет</span></strong><span> : если вы внимательно посмотрите на результаты поднабора, вы заметите, что в данных отсутствуют определенные дни; Если вы посмотрите более внимательно на шаблон, вы увидите, что обычно два или три дня не хватает; Эти дни традиционно являются выходными или праздничными днями и не являются частью ваших данных. Это не о чем беспокоиться: это совершенно нормально, и вам не нужно заполнять эти пропущенные дни.</span></p>
<p><span>Помимо индексации, вы можете также изучить некоторые другие методы, чтобы лучше узнать ваши данные. Вы никогда не знаете, что еще появится. Давайте попробуем сэмплировать около 20 строк из набора данных, а затем повторим выборку данных, чтобы </span><code class="lang-python">aapl</code><span>теперь на месячном уровне вместо ежедневного. Вы можете использовать </span><code class="lang-python">sample()</code><span>и </span><code class="lang-python">resample()</code><span>функцию , чтобы сделать это:</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python"># Sample 20 rows
sample = aapl.sample(20)

# Print `sample`
print(sample)

# Resample to monthly level 
monthly_aapl = aapl.resample('M').mean()

# Print `monthly_aapl`
print(monthly_aapl)</pre>
<p><span>Очень просто, не правда ли?</span></p>
<p><span>Эта </span><code class="lang-python">resample()</code><span>функция часто используется, потому что она обеспечивает сложный контроль и большую гибкость при преобразовании частоты ваших временных рядов: помимо указания новых временных интервалов и определения того, как вы хотите обрабатывать пропущенные данные, у вас также есть возможность указать, как вы хотите выполнить повторную выборку. ваши данные, как вы можете видеть в примере кода выше. Это резко отличается от </span><code class="lang-python">asfreq()</code><span>метода, в котором у вас есть только первые два варианта.</span></p>
<p><strong><span>Совет</span></strong><span> : попробуйте сами в консоли IPython вышеупомянутого блока DataCamp Light. Пройдите, </span><code class="lang-python">aapl.asfreq("M", method="bfill")</code><span>чтобы увидеть, что происходит!</span></p>
<p><span>Наконец, прежде чем перейти к следующему уровню исследования данных и начать с визуализации ваших данных и выполнения некоторых общих финансовых анализов ваших данных, вы уже можете начать рассчитывать разницу между ценами открытия и закрытия в день. Вы можете быстро выполнить эту арифметическую операцию с помощью панд; Просто вычтите значения в </span><code class="lang-python">Open</code><span>столбце ваших </span><code class="lang-python">aapl</code><span>данных из значений в </span><code class="lang-python">Close</code><span>столбце этих же данных. Или, другими словами, вычесть </span><code class="lang-python">aapl.Close</code><span>из </span><code class="lang-python">aapl.Open</code><span>. Вы сохраняете результат в новом столбце с </span><code class="lang-python">aapl</code><span>именем DataFrame </span><code class="lang-python">diff</code><span>, а затем удаляете его снова с помощью </span><code class="lang-python">del</code><span>:</span></p>
<p><span>Конечно, знание абсолютной прибыли может уже помочь вам понять, делаете ли вы хорошие инвестиции, но в качестве количественного показателя вы можете быть более заинтересованы в более относительных средствах измерения стоимости ваших акций, например, как стоимость определенной акции выросла или упала. Один из способов сделать это &#8212; рассчитать ежедневное процентное изменение.</span></p>
<p><span>Это хорошо знать на данный момент, но пока не беспокойтесь об этом; Вы углубитесь в это немного позже!</span></p>
<p><span>Этот раздел познакомил вас с некоторыми способами сначала изучить ваши данные, прежде чем приступить к выполнению некоторых предыдущих анализов. Тем не менее, вы все еще можете пойти гораздо дальше в этом; Если хотите узнать больше, рассмотрите возможность нашего </span><a href="https://www.datacamp.com/community/tutorials/exploratory-data-analysis-python"><span>анализа данных Python</span></a><span> .</span></p>
<h4><span>Визуализация данных временного ряда</span></h4>
<p><span>Рядом с изучения данных с помощью </span><code class="lang-python">head()</code><span>, </span><code class="lang-python">tail()</code><span>, индексации, &#8230; Вы также можете визуализировать ваши данные временных рядов. Благодаря интеграции Pandas с Matplotlib эта задача становится легкой; Просто используйте </span><code class="lang-python">plot()</code><span>функцию и передайте ей соответствующие аргументы. Кроме того, вы также можете добавить </span><code class="lang-python">grid</code><span>аргумент, чтобы указать, что график также должен иметь сетку на заднем плане.</span></p>
<h2 id="financialanalyses"><span>Общий финансовый анализ</span></h2>
<p><span>Теперь, когда у вас есть представление о ваших данных, о том, что представляют собой данные временных рядов, и как вы можете их использовать </span><code class="lang-python">pandas</code><span>для быстрого изучения ваших данных, пришло время углубиться в некоторые из общих финансовых анализов, которые вы можете сделать, чтобы вы могли реально начать работать к разработке торговой стратегии.</span></p>
<p><span>В оставшейся части этого раздела вы узнаете больше о возвратах, перемещающихся окнах, расчете волатильности и Регулярной регрессии наименьших квадратов (OLS).</span></p>
<h4><span>Возвращает</span></h4>
<p><span>Простое </span><strong><span>ежедневное изменение в процентах</span></strong><span> не учитывает дивиденды и другие факторы и представляет собой величину процентного изменения стоимости акции за один день торговли. Вы обнаружите, что ежедневное процентное изменение легко рассчитывается, так как </span><code class="lang-python">pct_change()</code><span>в пакет Pandas включена функция, облегчающая вашу жизнь:</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python"># Import `numpy` as `np`
import numpy as np

# Assign `Adj Close` to `daily_close`
daily_close = aapl[['Adj Close']]

# Daily returns
daily_pct_change = daily_close.pct_change()

# Replace NA values with 0
daily_pct_change.fillna(0, inplace=True)

# Inspect daily returns
print(daily_pct_change)

# Daily log returns
daily_log_returns = np.log(daily_close.pct_change()+1)

# Print daily log returns
print(daily_log_returns)</pre>
<p><span>Обратите внимание, что вы рассчитываете возврат журналов, чтобы лучше понять рост ваших доходов с течением времени.</span></p>
<p><span>Зная, как рассчитать ежедневное процентное изменение, приятно, но что, когда вы хотите узнать ежемесячную или квартальную доходность? В таких случаях вы можете воспользоваться тем </span><code class="lang-python">resample()</code><span>, что вы уже видели в первой части этого урока.</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python"># Resample `aapl` to business months, take last observation as value 
monthly = aapl.resample('BM').apply(lambda x: x[-1])

# Calculate the monthly percentage change
monthly.pct_change()

# Resample `aapl` to quarters, take the mean as value per quarter
quarter = aapl.resample("4M").mean()

# Calculate the quarterly percentage change
quarter.pct_change()</pre>
<p><span>Использование </span><code class="lang-python">pct_change()</code><span>довольно удобно, но также затеняет, как именно рассчитываются ежедневные проценты. Вот почему вы можете использовать </span><code class="lang-python">shift()</code><span>функцию Pandas вместо использования </span><code class="lang-python">pct_change()</code><span>. Затем вы делите </span><code class="lang-python">daily_close</code><span>значения на </span><code class="lang-python">daily_close.shift(1) -1</code><span>. Однако, используя эту функцию, вы останетесь со </span><code class="lang-python">NA</code><span>значениями в начале результирующего кадра данных.</span></p>
<p><strong><span>Совет</span></strong><span> : сравните результат следующего кода с результатом, который вы получили в первом блоке DataCamp Light, чтобы четко увидеть разницу между этими двумя методами расчета ежедневного процентного изменения.</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="null"># Daily returns
daily_pct_change = daily_close / daily_close.shift(1) - 1

# Print `daily_pct_change`
print(daily_pct_change)</pre>
<p><strong><span>Совет</span></strong><span> : рассчитайте дневной доход с помощью функции Pandas </span><code class="lang-python">shift()</code><span>. Попробуйте это в консоли IPython этого блока DataCamp Light! (Для тех, кто не может найти </span><em><span>решение</span></em><span> , попробуйте эту строку кода:) </span><code class="lang-python">daily_log_returns_shift = np.log(daily_close / daily_close.shift(1))</code><span>.</span></p>
<p><span>Для справки, расчет ежедневного процентного изменения основан на следующей формуле: <span class="math inline"><span class="MathJax" id="MathJax-Element-1-Frame" data-mathml="&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;msub&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mstyle displaystyle=&quot;true&quot; scriptlevel=&quot;0&quot;&gt;&lt;mfrac&gt;&lt;mrow class=&quot;MJX-TeXAtom-ORD&quot;&gt;&lt;msub&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mrow class=&quot;MJX-TeXAtom-ORD&quot;&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mo&gt;&amp;#x2212;&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/mfrac&gt;&lt;/mstyle&gt;&lt;mo&gt;&amp;#x2212;&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/math&gt;" role="presentation" style="box-sizing: border-box; display: inline; font-style: normal; font-weight: normal; line-height: normal; font-size: 20px; text-indent: 0px; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; position: relative;" tabindex="0"><nobr aria-hidden="true"><span class="math" id="MathJax-Span-1"><span class="mrow" id="MathJax-Span-2"><span class="msubsup" id="MathJax-Span-3"><span class="mi" id="MathJax-Span-4">r</span></span></span></span></nobr></span></span></span><span class="math inline"><span class="MathJax" id="MathJax-Element-1-Frame" data-mathml="&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;msub&gt;&lt;mi&gt;r&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mstyle displaystyle=&quot;true&quot; scriptlevel=&quot;0&quot;&gt;&lt;mfrac&gt;&lt;mrow class=&quot;MJX-TeXAtom-ORD&quot;&gt;&lt;msub&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mi&gt;p&lt;/mi&gt;&lt;mrow class=&quot;MJX-TeXAtom-ORD&quot;&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mo&gt;&amp;#x2212;&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/mfrac&gt;&lt;/mstyle&gt;&lt;mo&gt;&amp;#x2212;&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/math&gt;" role="presentation" style="box-sizing: border-box; display: inline; font-style: normal; font-weight: normal; line-height: normal; font-size: 20px; text-indent: 0px; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; position: relative;" tabindex="0"><nobr aria-hidden="true"><span class="math" id="MathJax-Span-1"><span><span class="mrow" id="MathJax-Span-2"><span class="msubsup" id="MathJax-Span-3"><span class="mi" id="MathJax-Span-4"></span><span class="mi" id="MathJax-Span-5">T</span></span><span class="mo" id="MathJax-Span-6">= </span><span class="mstyle" id="MathJax-Span-7"><span class="mrow" id="MathJax-Span-8"><span class="mfrac" id="MathJax-Span-9"><span class="texatom" id="MathJax-Span-10"><span class="mrow" id="MathJax-Span-11"><span class="msubsup" id="MathJax-Span-12"><span class="mi" id="MathJax-Span-13">р</span><span class="mi" id="MathJax-Span-14">T</span></span></span></span><span class="msubsup" id="MathJax-Span-15"><span class="mi" id="MathJax-Span-16">п</span><span class="texatom" id="MathJax-Span-17"><span class="mrow" id="MathJax-Span-18"><span class="mi" id="MathJax-Span-19">т </span><span class="mo" id="MathJax-Span-20">&#8212; </span><span class="mn" id="MathJax-Span-21">1</span></span></span></span></span></span></span><span class="mo" id="MathJax-Span-22">&#8212; </span><span class="mn" id="MathJax-Span-23">1</span></span></span><span></span></span></nobr><span class="MJX_Assistive_MathML" role="presentation"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi><span>р</span></mi><mi><span>T</span></mi></msub><mo><span>знак равно</span></mo><mstyle displaystyle="true" scriptlevel="0"><mfrac><mrow class="MJX-TeXAtom-ORD"><msub><mi><span>п</span></mi><mi><span>T</span></mi></msub></mrow><msub><mi><span>п</span></mi><mrow class="MJX-TeXAtom-ORD"><mi><span>T</span></mi><mo><span>&#8212;</span></mo><mn><span>1</span></mn></mrow></msub></mfrac></mstyle><mo><span>&#8212;</span></mo><mn><span>1</span></mn></math></span></span></span><span>где </span><em><span>p</span></em><span> &#8212; цена, </span><em><span>t</span></em><span> &#8212; время (в данном случае день), а </span><em><span>r</span></em><span> &#8212; доход.</span></p>
<p><span>Кроме того, вы можете построить график распределения </span><code class="lang-python">daily_pct_change</code><span>:</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="null"># Import matplotlib
import matplotlib.pyplot as plt

# Plot the distribution of `daily_pct_c`
daily_pct_change.hist(bins=50)

# Show the plot
plt.show()

# Pull up summary statistics
print(daily_pct_change.describe())</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2019/11/python_for_finance_content_finance_plot2.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2019/11/python_for_finance_content_finance_plot2.png" alt="" width="381" height="264" class="aligncenter size-full wp-image-356" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2019/11/python_for_finance_content_finance_plot2.png 381w, https://python.ivan-shamaev.ru/wp-content/uploads/2019/11/python_for_finance_content_finance_plot2-300x208.png 300w" sizes="(max-width: 381px) 100vw, 381px" /></a></p>
<p><span>Распределение выглядит очень симметрично и нормально распределено: центр ежедневных изменений вокруг корзины 0,00. Обратите внимание, как вы можете и должны использовать результаты</span><code class="lang-python">describe()</code><span> функции, примененной </span><code class="lang-python">daily_pct_c</code><span>, чтобы правильно интерпретировать результаты гистограммы. Вы увидите, что среднее значение очень близко к бину 0,00, а стандартное отклонение составляет 0,02. Кроме того, взгляните на процентили, чтобы узнать, сколько ваших точек данных упадут ниже -0,010672, 0,001677 и 0,014306.</span></p>
<p><span></span><strong><span>Кумулятивная суточная норма прибыли</span></strong><span> полезно для определения стоимости инвестиций через регулярные промежутки времени. Вы можете рассчитать совокупную дневную норму прибыли, используя значения ежедневного изменения в процентах, добавляя </span><code class="lang-python">1</code><span>к ним и вычисляя совокупный продукт с полученными значениями:</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python"># Calculate the cumulative daily returns
cum_daily_return = (1 + daily_pct_change).cumprod()

# Print `cum_daily_return`
print(cum_daily_return)</pre>
<p><span>Обратите внимание, что вы можете использовать снова использовать Matplotlib для быстрого построения </span><code class="lang-python">cum_daily_return</code><span>; Просто добавьте </span><code class="lang-python">plot()</code><span>к нему функцию и, при необходимости, определите </span><code class="lang-python">figsize</code><span>размер или размер рисунка:</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="null"># Import matplotlib
import matplotlib.pyplot as plt 

# Plot the cumulative daily returns
cum_daily_return.plot(figsize=(12,8))

# Show the plot
plt.show()</pre>
</div>
</div>
</div>
</div>
</div>


<p></p>
<p><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&amp;linkname=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fpython-for-finance-algorithmic-trading%2F&#038;title=Python%20%D0%B4%D0%BB%D1%8F%20%D0%A4%D0%B8%D0%BD%D0%B0%D0%BD%D1%81%D0%BE%D0%B2%3A%20%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D1%82%D1%80%D0%B5%D0%B9%D0%B4%D0%B8%D0%BD%D0%B3%20%2F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F.%20Binance" data-a2a-url="https://python.ivan-shamaev.ru/python-for-finance-algorithmic-trading/" data-a2a-title="Python для Финансов: Алгоритмический трейдинг / торговля. Binance"></a></p><p>Сообщение <a href="https://python.ivan-shamaev.ru/python-for-finance-algorithmic-trading/">Python для Финансов: Алгоритмический трейдинг / торговля. Binance</a> появились сначала на <a href="https://python.ivan-shamaev.ru">Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://python.ivan-shamaev.ru/python-for-finance-algorithmic-trading/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
