CoderCastrov logo
CoderCastrov
Data Science

Алготрейдинг: Автоматический сбор данных Часть 1 - ARK ETF

Алготрейдинг: Автоматический сбор данных Часть 1 - ARK ETF
просмотров
3 мин чтение
#Data Science
ARKK с февраля 2020 года - сейчас

ARK в этом году набирает значительную популярность, поскольку многие из их активно управляемых ETF выросли более чем на 100% с начала года, ой, я имел в виду 2020 год. Их самый известный фонд - ARKK (Инновационный ETF от ARK) - смог поймать некоторых крупнейших победителей 2020 года, таких как TSLA, ROKU, SQ и т. д. Недавно он стал самым крупным активно управляемым ETF, и поскольку у них есть большие позиции, которые нужно ликвидировать или добавить, ARK стал силой, которая двигает рынок в одном направлении или другом.

Топ-10 активов ARKK

Цель

Сбор данных

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

Для загрузки информации о держателях сначала перейдите на их веб-сайт 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 с держателями содержат более полную картину. Кроме того, данные, отображаемые на других веб-сайтах, никогда не будут вашими собственными данными, которые позволят вам анализировать их позже с вашей собственной тезисом и уникальными идеями. Всегда полезно собирать свои собственные данные, если данные не доступны непосредственно.

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