Алготрейдинг: Автоматический сбор данных Часть 1 - ARK ETF
ARK в этом году набирает значительную популярность, поскольку многие из их активно управляемых ETF выросли более чем на 100% с начала года, ой, я имел в виду 2020 год. Их самый известный фонд - ARKK (Инновационный ETF от ARK) - смог поймать некоторых крупнейших победителей 2020 года, таких как TSLA, ROKU, SQ и т. д. Недавно он стал самым крупным активно управляемым ETF, и поскольку у них есть большие позиции, которые нужно ликвидировать или добавить, ARK стал силой, которая двигает рынок в одном направлении или другом.
Цель
Сбор данных
Данные являются ключевыми для любого анализа. Любая квантовая торговая модель не только должна иметь логику, но и должна быть протестирована на данных. Поскольку они не предлагают исторических данных о держателях, начните сбор этих данных ежедневно, чтобы впоследствии использовать их в качестве исторических данных. Данные также позволяют создавать инструменты, которые могут служить основой для разработки сигналов в дальнейшем.
Для загрузки информации о держателях сначала перейдите на их веб-сайт https://ark-funds.com/arkk. Слева вы можете увидеть список документов фонда.
Мы пытаемся загрузить файл csv, используя python, щелкните правой кнопкой мыши на "Fund Holding CSV" и скопируйте адрес ссылки, он должен быть https://ark-funds.com/wp-content/fundsiteliterature/csv/ARK_INNOVATION_ETF_ARKK_HOLDINGS.csv. Затем просто сделайте это для всех их ETF, если хотите, и поместите их в словарь, показанный ниже.
etf_links = {'ARKW': '[https://ark-funds.com/wp-content/fundsiteliterature/csv/ARK_NEXT_GENERATION_INTERNET_ETF_ARKW_HOLDINGS.csv'](https://ark-funds.com/wp-content/fundsiteliterature/csv/ARK_NEXT_GENERATION_INTERNET_ETF_ARKW_HOLDINGS.csv'),
'ARKK': '[https://ark-funds.com/wp-content/fundsiteliterature/csv/ARK_INNOVATION_ETF_ARKK_HOLDINGS.csv'](https://ark-funds.com/wp-content/fundsiteliterature/csv/ARK_INNOVATION_ETF_ARKK_HOLDINGS.csv'),
'ARKG': '[https://ark-funds.com/wp-content/fundsiteliterature/csv/ARK_GENOMIC_REVOLUTION_MULTISECTOR_ETF_ARKG_HOLDINGS.csv'](https://ark-funds.com/wp-content/fundsiteliterature/csv/ARK_GENOMIC_REVOLUTION_MULTISECTOR_ETF_ARKG_HOLDINGS.csv'),
'ARKQ': '[https://ark-funds.com/wp-content/fundsiteliterature/csv/ARK_AUTONOMOUS_TECHNOLOGY_&_ROBOTICS_ETF_ARKQ_HOLDINGS.csv'](https://ark-funds.com/wp-content/fundsiteliterature/csv/ARK_AUTONOMOUS_TECHNOLOGY_&_ROBOTICS_ETF_ARKQ_HOLDINGS.csv'),
'ARKF': '[https://ark-funds.com/wp-content/fundsiteliterature/csv/ARK_FINTECH_INNOVATION_ETF_ARKF_HOLDINGS.csv'](https://ark-funds.com/wp-content/fundsiteliterature/csv/ARK_FINTECH_INNOVATION_ETF_ARKF_HOLDINGS.csv')}
После того, как вы закодируете ссылки, все довольно просто, просто переберите словарь, загрузите csv и сохраните его локально, код показан ниже.
datestr = datetime.now().strftime('%Y%m%d')
for etf, link in etf_links.items():
response = requests.get(link)
csv_file = open('ARK ETF Holdings/{}_{}.csv'.format(etf, datestr), 'wb') csv_file.write(response.content)
csv_file.close()
Одна вещь, которую следует отметить, заключается в том, что вам нужно создать папку, которая в моем случае называется "ARK ETF Holdings", вы можете назвать свою папку как угодно, просто убедитесь, что вы измените ее в коде.
Автоматизация процесса сбора данных с помощью планировщика задач
Конечно, вы можете просто запускать этот скрипт каждый день, это, вероятно, займет у вас минуту. НО ИНОГДА ЛЮДИ ЗАБЫВАЮТ ВЕЩИ!!! Если информация о держателях не собрана сегодня, то информация о держателях сегодня будет навсегда потеряна в вашем хранилище данных, потому что в следующий раз, когда вы ее соберете, она будет обновлена до информации о держателях на завтра. Поэтому автоматизация процесса сбора данных очень полезна!
Первый шаг - откройте блокнот и напишите
conda activate <envname>
python <имя файла .py>Пример:
conda activate research
python ark_parser.py
После этого напишите ваш пакетный файл, выполните следующие действия
После завершения сохраните задачу и все должно быть готово.
Заключительные замечания
Эта статья предназначена для простого примера сбора данных, и учитывая, что ARK является актуальной темой на текущем рынке, я решил поделиться этим, чтобы помочь и быть актуальным. Я знаю, что существуют веб-сайты, которые показывают эту информацию и предоставляют некоторый анализ, и я также знаю, что ARK также распространяет информацию о своих ежедневных сделках по электронной почте. Однако их электронная почта содержит только частичные сделки, файлы csv с держателями содержат более полную картину. Кроме того, данные, отображаемые на других веб-сайтах, никогда не будут вашими собственными данными, которые позволят вам анализировать их позже с вашей собственной тезисом и уникальными идеями. Всегда полезно собирать свои собственные данные, если данные не доступны непосредственно.
Надеюсь, это поможет, счастливого кодирования, счастливой торговли! Следите за мной, скоро будут другие серии по сбору и анализу данных!