実行した環境 Ubuntu Stdio 18.04LTS Python 3.6.5 参考 How to convert OpenDocument spreadsheets to a pandas DataFrame? https://stackoverflow.com/questions/17834995/how-to-convert-opendocument-spreadsheets-to-a-pandas-dataframe pandas.read_excel()と言うExcelを読み込んだり、いろいろ出来る関数があるのを今日知ったのですが、私はUbuntuを使用しているので使えません。残念 それで色々検索していたら、LibreOffice Calcを読み込むパッケージがあると言うことで、インストールしました。 注意) 上記の参考にも書いてあるように、あくまでも実験の段階で、色々な機能
はじめに この記事ではQiita APIおよびScrapyによるクローリング、スクレイピングによってQiitaの記事データ(タイトル、「いいね」数、投稿日時など)を取得しCSVファイルとして保存する方法を紹介する。 基本的にはQiita APIを使うべきだが、「ストック」数ランキングに限ってはスクレイピングで取得するほうが簡単。 以降のQiita APIやQiitaのサイトについての記述はすべて2018年8月15日時点の仕様。 収集したデータの分析については以下。 Python, pandasによるデータ分析の実践 (Qiita記事データ編) ※普段は自分のサイトに書いているのですが、Qiitaのデータを使わせてもらった内容はQiitaに書くのが筋だろうと思いこちらに書くことにしました。 「いいね」と「ストック」 Qiitaには「いいね」と「ストック」がある。 もともとは「ストック」だけだ
-globを使ってファイルパスを生成します。 -プログレバーを表示したかったので、tqdmを利用しています。 -日本語が含まれるファイルパスで、それによるエラーを回避するため、engine='python'を追加しています。 -ちょうどindexにしたいものが、Unnamed: 0にあったので、set_index('Unnamed: 0')しています。 -あとあと、重複データがあると困るので、重複確認をしています。any().any()は速度上若干不利らしいですが、わかりやすいので、使っています。 import glob import sys import pandas as pd from tqdm import tqdm def csvs_to_one_df(path): df = pd.DataFrame() for file_path in tqdm(glob.glob(path)
100% 勝ってしまった QuantXでアルゴリズムを書く方法を投稿していたのですが,ふと100%勝てるシグナルが書けるんじゃない?と思って書いてみたら書けたというお話です. とりあえず結果を. 天国や Look-Ahead Bias コレは現実のシグナルでは絶対に起きない, Look-Ahead Biasという間違いです. 株価分析を行う上でのルックアヘッドとは,誤って将来の価格を分析対象に入れて予測を行ってしまうことを言います. QuantXのバックテストでは,(私の想像がただしければ)指定された全期間のヒストリカルデータを取得して売買シグナルを計算し,その後,該当日の買いシグナルおよび売りシグナルに基づいて損益を計算する仕様になっています. つまり,コードの書き方を間違うと,シグナル計算時に誤って将来のデータが入る可能性があるわけです. 実際のコードがこちらです. def initi
「ショート」のプランは,「延長料金が206円/15分の0時間(0円)パック」と言う風に捉えると,他の「○時間パック」と同じように計算できます. なお,複数のプランを組み合わせることはできません1.また,延長時間には上限があり,ショートの場合は72時間まで,パックの場合は6時間までです. (別途,初期費用や基本料金がかかる場合があります.また,36時間パック,48時間パック,60時間パックというプランが選択可能な車両もあります.詳細は公式サイトを参照してください) Pythonコード 各プランの定義 まず,pandasのDataFrameを使って金額を定義します.plansはプラン名の配列で,今後計算時のキーとして使います. import math import datetime as dt import pandas as pd # plan names plans = ['short',
上値抵抗性突破とは 過去N日間の株価終値の最高値を、今日の終値が突破した時、さらに上昇することを期待して買いポジションを持つストラテジーです。 とても簡単なアルゴリズムなので、コードも簡単に書けます。 シグナル 過去90日間の終値の最高値を今日の終値が突破した場合、ロングポジションを持つ。 手仕舞い 益出し:+5% 損切り:ー3% コード (昨日の勉強会で知ったのですが、QuantXのコードは公開+Cloneできるんですね。ログイン後、このリンクを辿って、上にあるクローンボタンをおしてクローンしてください。) clone : https://factory.quantx.io/developer/2729d13d204b4f2db1c08385ad5d13b0 #################################################################
import pandas.io.data as web import matplotlib.pyplot as plt import datetime # 取得する日の範囲を指定する start = datetime.datetime(2014, 1, 1) end = datetime.datetime(2014, 9, 1) # Yahoo ファイナンスから、 ^N225 (日経平均株価指数) を # とってくる。 f = web.DataReader('^N225', 'yahoo', start, end) plt.title('Nikkei 255 from 2014.1.1 to 2014.9.1') # fill_between でその日の最高値と最低値をプロットする plt.fill_between(f.index, f['Low'], f['High'], color=
s1 = pd.Series([1,2,3,4,5], index=[0,1,2,3,4]) s2 = pd.Series([10,20,30,40,50], index=[10,11,12,13,14]) s3 = pd.Series([100,200,300,400,500], index=[0,2,4,6,8]) print pd.concat([s1, s2, s3], axis=1) """ 0 1 2 0 1 NaN 100 1 2 NaN NaN 2 3 NaN 200 3 4 NaN NaN 4 5 NaN 300 6 NaN NaN 400 8 NaN NaN 500 10 NaN 10 NaN 11 NaN 20 NaN 12 NaN 30 NaN 13 NaN 40 NaN 14 NaN 50 NaN """
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く