Блог им. Albus

Пэйроллы за 100 лет

Пост будет полезен только тем, кто кодит на Питоне.
Осваиваю базу данных quandl.com
Оттуда можно качать котировки, а можно и экономическую статистику. Например, там есть нонфарм-пэйроллы с 1921 года.
Как и положено питону, там всё очень просто.
Не знаю почему, пэйроллы с 1947 года по значениям сильно отличаются от предыдущих:
Пэйроллы за 100 лет
Будем брать те, которые идут с 1947 года.
Инструкция шаг за шагом.
1. Качаем питон, если он у вас до сих пор не установлен: https://www.python.org/
2. Открываем командную строку cmd.exe (чёрное окошко).
3. Пишем в нём pip install quandl
Пэйроллы за 100 лет
Это устанавливает библиотеку по работе с этой базой данных. Попутно подключается ещё одна библиотека — pandas. Это популярная библиотека для анализа данных.
4. Открываем программулину, которая установилась в комплекте с питоном:
Пэйроллы за 100 лет
Она нужна, чтобы запускать скрипты, написанные на питоне. Я пользуюсь для этого Notepad++, но это не важно.
5. Пишем в этой программе такой код:
import quandl #импортируем библиотеку для скачивания статистики
data=quandl.get("ACC/NFP", start_date="1947-01-01") #качаем пэйроллы, начиная с указанной даты. Они записываются в объект data
for index, row in data.iterrows(): #в цикле пробегаем по объекту data
	print(str(index.date())+" payrolls="+str(row.tolist()[0])) #печатаем год, слово "payrolls=" и значение показателя

6. Сохраняем этот файл под любым именем, но в конце должно быть обязательно .py (питон)
Пэйроллы за 100 лет
7. Жмём F5 или запускаем через меню:
Пэйроллы за 100 лет
8. После этого появляется новое окошко, в котором происходит исполнение кода. В случае успеха (а иначе и быть не должно), через несколько секунд ожидания в него польются цифры:
Пэйроллы за 100 лет
Это и есть пэйроллы с 1947 года.
---
Без регистрации на quandle.com данные можно качнуть только 50 раз в день. Регистрация бесплатная. Если вы зарегистрировались, то вам будет дан специальный ключ. Сервис заботливый, и вы сможете сразу получить готовую строку с напечатанным ключом.
Вот что имеется в виду.
Пэйроллы лежат здесь:
https://www.quandl.com/data/ACC/NFP-Non-Farm-Payrolls
Справа есть кнопка Python:
Пэйроллы за 100 лет
Нажимаем её:
Пэйроллы за 100 лет
Это уже готовая вторая строчка из кода. К ней можно приписать дополнительные параметры, как это сделал я. Во второй строке я добавил start_date=«1947-01-01»
В итоге вторая строчка будет такой:

data=quandl.get("ACC/NFP", authtoken="z1f_KOD_BLA_BLA", start_date="1947-01-01") 

Другие параметры запроса quandl.get (и многое другое про эту библиотеку) можно посмотреть здесь 
https://docs.quandl.com/docs/parameters-2
Удачи!

★32
24 комментария
Вы питон специально изучали где то? Если да то приносит ли он прибыль, т.е работаете применяете его еще где кроме примера приведенного в топике? 
avatar
Gsimplov777, специально изучаю его дома :) :) Скачал учебник и иду страница за страницей. Ещё толком ничего не выучил, только получил общее представление.
При написании чего-то на питоне спасает то, что это популярный язык и с вероятностью 99% это уже кто-то написал. Просто надо гуглить или искать/спрашивать на stackoverflow :)
Albus (Игорь Китаев), другие языки изучали?
avatar
Gsimplov777, луа знаю хорошо, и чуть-чуть продвинулся в Си++. Но во всех случаях это уровень мало отличающийся от чайника. Кроме роботов я больше ничего не умею кодить. Попросите кружок нарисовать, — я не смогу.
Albus (Игорь Китаев), я вас научу, как кружок нарисовать:

import turtle
turtle.Turtle().circle(100)
turtle.getscreen()._root.mainloop()
avatar
sergeygaz,  блин, рисует! :) Капец, чудеса.

Albus (Игорь Китаев), а кем работаете?
avatar
А че, квандл бесплатный чтоль?
Тимофей Мартынов, кое-что есть бесплатное, но много платного. 
У меня ребенок планирует изучать питон. Пока он занимается Unity для игр
Максим Барбашин, в мобилы пусть топает, там надолго кодить хватит)
avatar
Stasik, 
Предложу.
Ему хочется создать свою VR игру.
Еще сейчас изучает для графики Blender, Cinema4D, terrain
Максим Барбашин, надо что то выбирать, там глубина большая, если браться за несколько толку везде мало будет, пока выбирает пусть пробует понятно. Общие видео надеюсь смотрит, а то у многих впечатление, что создать игру это как поиграть. https://www.youtube.com/watch?v=kw-1bH0tMu8 Нудно и тяжело.
avatar
Stasik, 
Это да.
Но ребёнку 8 лет, пусть попробует разное, посмотрит, что понравится.
И потом знание графического дизайна полезно разработчику игр.
Проблема, что вся информация на английском.
И специалистов мало.
По unity 3D нам в компьютерной школе пообехали сделать курс.
А unity VR даже курса найти не удалось.
Где учиться — непонятно.
Максим Барбашин, Сегодня программирование и вообще IT без английского очень ограничено. Как говорится инглиш там must have. 
Конечно пусть пробует без этого и не понятно нужно ли оно тебе.
avatar
Stasik, 
Нет, ребёнок учит английский.
Язык надо знать.
Спасибо за труд, правда, я все делаю на Си++
И до сих пор не понимаю, что такое пэй-роллы и с чем их едят.
avatar
Йоганн, я пару своих роботов переписал на Си++. Точнее одного торгового робота и один тестер стратегий. Ради скорости естественно. 
Используйте Jupyter
avatar
¯ _ (ツ) _ / ¯, жупайтер мне представляется недостаточно гибким. С точки зрения изучения языка он, мне кажется, будет мешать начинающим даже. Если надо сохранять предыдущие вычисления, проще (и поучительнее) как по мне — записывать их в промежуточные файлы и потом считывать. Py-файлы хороши, например, еще тем, что их без лишних хлопот можно из командной строки запускать зайдя на суперкомп по ssh.
avatar
tranquility, все это можно делать и в Jupyter. Главное преимущество — это графическое отображение, возможность перезапускать часть кода,  построение графиков.
Но каждому свое, конечно.
avatar
почему просто в csv не экспортировать?
питон хорош конечно, но у меня другая любовь :)
avatar
ПBМ, зачем? Он похоже сразу питонвский словарь(мапу в джаве) получил и пробежался по нему цикле.
Огонь!
avatar

теги блога Albus (Игорь Китаев)

....все тэги



UPDONW
Новый дизайн