2015-09-04 5 views
1

Я искал ответы на свои вопросы, но не нашел окончательного ответа. Я новичок в Python, MySQL, науки и данных, поэтому любые советы ценится

То, что я хочу быть в состоянии сделать это:
Как хранить и извлекать данные в python

  1. использование питона тянуть ежедневно близкие данные quandl для российских ценных бумаг
  2. хранить данные в базе данных
  3. извлечения, чистой и нормализации данных
  4. прогона регрессии на разных парах
  5. записать результаты в CSV файл

псевдокод ниже показывает, в двух словах, что я хочу быть в состоянии сделать.

Вопросы, которые у меня есть:
Как хранить данные quandl в MySQL?
Как получить данные из MySQL? Я храню его в списках и использую statsmodels?

tickers = [AAPL, FB, GOOG, YHOO, XRAY, CSCO] 
qCodes = [x + 'WIKI/' for x in tickers] 
for i in range(0, len(qCodes)): 
    ADD TO MYSQLDB->Quandl.get(qCodes[i], collapse='daily', start_date=start, end_date=end) 

for x in range(0, len(qCodes)-1): 
    for y in range(x+1, len(qCodes)): 
     //GET FROM MYSQLDB-> x, y 
     //clean(x,y) 
     //normalize(x,y) 
     //write to csv file->(regression(x,y)) 

ответ

1

Существует хорошая библиотека называется MySQLdb в Python, который помогает взаимодействовать с MySQL децибел. Итак, для успешного выполнения следующего действия вам необходимо запустить оболочку python и оболочки MySQL.

Как хранить данные quandl в MySQL?

import MySQLdb 

#Setting up connection 
db = MySQLdb.connect("localhost", user_name, password, db_name) 

cursor = db.cursor() 

#Inserting records into the employee table 
sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES('Steven', "Karpinski", "50", "M", "43290")""" 

try: 
    cursor.execute(sql) 
    db.commit() 
except: 
    db.rollback() 
db.close() 

Я сделал это для пользовательских значений. Итак, для данных quandl создайте схему аналогичным образом и сохраните их, выполнив цикл.

Как получить данные из MySQL? Я храню его в списках и использую statsmodels?

Для поиска данных вы выполняете следующую команду, аналогичную приведенной выше команде.

sql2 = """SELECT * FROM EMPLOYEE; 
     """ 
try: 
    cursor.execute(sql2) 
    db.commit() 
except: 
    db.rollback() 

result = cursor.fetchall() 

Переменная result теперь содержит результат запроса внутри sql2 переменной, а именно в виде кортежей.

Итак, теперь вы можете преобразовать эти кортежи в структуру данных по вашему выбору.

1

Quandl имеет пакет python, который взаимодействует с сайтом тривиально.

От Quandl-х python page:

import Quandl 
mydata = Quandl.get("WIKI/AAPL") 

По умолчанию пакет Quandl возвращает в панд dataframe.Вы можете использовать панда манипулировать/чистые/нормализовать данные по своему усмотрению и использовать панда, чтобы загрузить данные непосредственно в sql database:

import sqlalchemy as sql 
engine = sql.create_engine('mysql://name:[email protected]/testdb') 
mydata.to_sql('db_table_name', engine, if_exists='append') 

Чтобы получить данные обратно из базы данных, вы можете также использовать Панду:

import pandas as pd 
import sqlalchemy as sql 
engine = sql.create_engine('mysql://name:[email protected]/testdb') 
query = sql.text('''select * from quandltable''') 
mydata = pd.read_sql_query(engine, query) 

После использования statsmodels для запуска анализа, вы можете использовать либо панд df.to_csv() метод или savetxt() функцию Numpy в. (Извините, я не могу опубликовать ссылки для этих функций, у меня пока нет достаточной репутации!)

 Смежные вопросы

  • Нет связанных вопросов^_^