3

質問に対する回答を探していますが、決定的な回答は見つかりませんでした。私はpython、mysql、およびデータサイエンスが初めてなので、アドバイスをいただければ幸いです。

私ができるようになりたいのは次のとおりです。

  1. Python を使用して、quandl から n 証券の終値データを取得します
  2. データベースにデータを保存する
  3. データの取得、クリーニング、および正規化
  4. 異なるペアで回帰を実行する
  5. 結果を csv ファイルに書き込みます

以下の疑似コードは、私ができるようにしたいことを簡単に示しています。

私が持っている質問は次のとおりです:
quandl データを MySQL に保存するにはどうすればよいですか?
そのデータを MySQL から取得するにはどうすればよいですか? リストに保存して統計モデルを使用しますか?

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))
4

2 に答える 2

3

Python で呼び出される素敵なライブラリがありMySQLdb、MySQL db とやり取りするのに役立ちます。したがって、以下を正常に実行するには、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 から取得するにはどうすればよいですか? リストに保存して統計モデルを使用しますか?

データを取得するには、上記のコマンドと同様に次のコマンドを実行します。

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

result = cursor.fetchall()

変数には、変数result内のクエリの結果が含まれるsql2ようになり、タプルの形式になります。

したがって、これらのタプルを選択したデータ構造に変換できるようになりました。

于 2015-09-05T05:40:54.627 に答える
2

Quandl には、サイトとのやり取りを簡単にする Python パッケージがあります。

Quandlのpythonページから:

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

デフォルトでは、Quandl のパッケージは pandas データフレームを返します。Pandas を使用して、必要に応じてデータを操作/クリーンアップ/正規化し、Pandas を使用してデータを直接SQL データベースにアップロードできます。

import sqlalchemy as sql
engine = sql.create_engine('mysql://name:blah@location/testdb')
mydata.to_sql('db_table_name', engine, if_exists='append')

データベースからデータを取得するには、Pandas も使用できます。

import pandas as pd
import sqlalchemy as sql
engine = sql.create_engine('mysql://name:blah@location/testdb')
query = sql.text('''select * from quandltable''')
mydata = pd.read_sql_query(engine, query)

statsmodels を使用して分析を実行した後、pandas のdf.to_csv()メソッドまたは numpy のsavetxt()関数のいずれかを使用できます。(申し訳ありませんが、これらの機能のリンクを投稿できません。まだ十分な評判がありません!)

于 2015-09-07T05:10:34.577 に答える