タグ

pandasに関するNaruhodiusのブックマーク (40)

  • 日本株の株価を取得してpandasデータフレームに格納する - Qiita

    これはなに? pandas_datareaderというライブラリから海外株は取得できますが、日株は取得できません。 jsmというライブラリによってBeautifulSoupを利用してxmlパースで日株のデータを取得できますが、pandas DataFrame形式にしてはくれません。 そこで両者をいいとこどりして、データのダウンロードと同時にpandas DataFrameに直してくれるコードを書きました。 使用例 株価の取得

    日本株の株価を取得してpandasデータフレームに格納する - Qiita
  • jupyter notebook上で金融データの描画・取得・操作 - Qiita

    この記事はplotlyとpandasを結びつけるライブラリ"cufflinks"の紹介、およびそれを利用した金融関連のデータ描画、pandas_datareaderや自作モジュールによる金融データの取得、自作モジュールによる金融データの操作を行います。 cufflinks 使い方 公式: GitHub - santosjorge/cufflinks This library binds the power of plotly with the flexibility of pandas for easy plotting. このライブラリーは簡単なプロットのために「plotlyの力」と「pandasの柔軟性」を結びつけます。 2017年12月現在、condaではインストールできません。 anaconda cloudで探すと(またはぐぐると) biocondaでRNAがなんとかとか言っている

    jupyter notebook上で金融データの描画・取得・操作 - Qiita
  • Python Pandasでのデータ操作の初歩まとめ − 前半:データ作成&操作編 - Qiita

    はじめに Pythonデータ分析を扱う上で必須となる、Pandasでのデータ操作方法の 初歩についてまとめました。 ついつい忘れてしまう重要文法から、ちょっとしたTipsなどを盛り込んでいます。 こんな人にオススメ → Pandasを初めて触ってみたい! → Rが使えることをPythonでもやってみてーなー → Pandasの文法覚えきれねー どっかに一覧があれば便利なのに... → そもそもPythonでデータハンドリングってどれくらいできるものなのさ こちらも合わせてどうぞ ◆Pandasでデータ操作:Pandas_plyを使う http://qiita.com/hik0107/items/3dd260d9939a5e61c4f6 データを作ってみよう import pandas as pd df_sample =\ pd.DataFrame([["day1","day2","day

    Python Pandasでのデータ操作の初歩まとめ − 前半:データ作成&操作編 - Qiita
  • Python pandas プロット機能を使いこなす - StatsFragments

    pandas は可視化のための API を提供しており、折れ線グラフ、棒グラフといった基的なプロットを簡易な API で利用することができる。一般的な使い方は公式ドキュメントに記載がある。 Visualization — pandas 0.17.1 documentation これらの機能は matplotlib に対する 薄い wrapper によって提供されている。ここでは pandas 側で一処理を加えることによって、ドキュメントに記載されているプロットより少し凝った出力を得る方法を書きたい。 補足 サンプルデータに対する見せ方として不適切なものがあるが、プロットの例ということでご容赦ください。 パッケージのインポート import matplotlib.pyplot as plt plt.style.use('ggplot') import matplotlib as mpl m

    Python pandas プロット機能を使いこなす - StatsFragments
  • Python pandas アクセサ / Grouperで少し高度なグルーピング/集計 - StatsFragments

    語の説明がなさそうなので。 概要 pandas では groupby メソッドを使って、指定したカラムの値でデータをグループ分けできる。ここでは少し凝った方法を説明。 ※ dtアクセサ の追加、またグルーピング関連のバグ修正がいろいろ入っているので、0.15以降が必要。 ※簡単な処理については下の記事でまとめ。 はじめに 例えばこんなデータがあったとして、 import pandas as pd import datetime df = pd.DataFrame({'dt1': [datetime.datetime(2014, 10, 1), datetime.datetime(2014, 10, 2), datetime.datetime(2014, 10, 3), datetime.datetime(2014, 10, 4), datetime.datetime(2014, 10,

    Python pandas アクセサ / Grouperで少し高度なグルーピング/集計 - StatsFragments
  • 日時処理 — japandas 0.0.1 documentation

  • Python Dask で 並列 DataFrame 処理 - StatsFragments

    はじめに 先日のエントリで少し記載した Dask について、その使い方を書く。Dask を使うと、NumPy や pandas の API を利用して並列計算/分散処理を行うことができる。また、Dask は Out-Of-Core (データ量が多くメモリに乗らない場合) の処理も考慮した実装になっている。 sinhrks.hatenablog.com 上にも書いたが、Daskは NumPy や pandas を置き換えるものではない。数値計算のためのバックエンドとして NumPy や pandas を利用するため、むしろこれらのパッケージが必須である。 Dask は NumPy や pandas の API を完全にはサポートしていないため、並列 / Out-Of-Core 処理が必要な場面では Dask を、他では NumPy / pandas を使うのがよいと思う。pandasとDas

    Python Dask で 並列 DataFrame 処理 - StatsFragments
  • Python pandas データのイテレーションと関数適用、pipe - StatsFragments

    pandas ではデータを 列 や 表形式のデータ構造として扱うが、これらのデータから順番に値を取得 (イテレーション) して何か操作をしたい / また 何らかの関数を適用したい、ということがよくある。このエントリでは以下の 3 つについて整理したい。 イテレーション 関数適用 pipe (0.16.2 で追加) それぞれ、Series、DataFrame、GroupBy (DataFrame.groupbyしたデータ) で可能な操作が異なるため、順に記載する。 まずは必要なパッケージを import する。 import numpy as np import pandas as pd イテレーション Series Series は以下 2つのイテレーション用メソッドを持つ。各メソッドの挙動は以下のようになる。 __iter__: Series の値 ( values ) のみをイテレーシ

    Python pandas データのイテレーションと関数適用、pipe - StatsFragments
  • http://necochan.com/2014/06/14/python-for-economist-7/

    http://necochan.com/2014/06/14/python-for-economist-7/
  • Python pandas データ選択処理をちょっと詳しく <中編> - StatsFragments

    こちらの続き。 上の記事では bool でのデータ選択について 最後にしれっと書いて終わらせたのだが、一番よく使うところなので中編として補足。 まず __getitem__ や ix の記法では、次のような指定によって 行 / 列を選択することができた。 index, columns のラベルを直接指定しての選択 index, columns の番号(順序)を指定しての選択 index, columns に対応する bool のリストを指定しての選択 ここでは上記の選択方法をベースとして、ユースケースごとに Index や Series のプロパティ / メソッドを使ってできるだけシンプルにデータ選択を行う方法をまとめる。 補足 一部の内容はこちらの記事ともかぶる。下の記事のほうが簡単な内容なので、必要な方はまずこちらを参照。 簡単なデータ操作を Python pandas で行う - S

    Python pandas データ選択処理をちょっと詳しく <中編> - StatsFragments
  • Python pandas パフォーマンス維持のための 3 つの TIPS - StatsFragments

    pandas でそこそこ大きいデータを扱う場合、その処理速度が気になってくる。公式ドキュメントではパフォーマンス向上のために Cython や Numba を使う方法を記載している。 Enhancing Performance — pandas 0.16.2 documentation が、軽く試したいだけなのに わざわざ Cythonや Numba を使うのは手間だし、かといってあまりに遅いのも嫌だ。そんなとき、pandas 来のパフォーマンスをできるだけ維持するためのポイントを整理したい。 pandas に限らず、パフォーマンス改善の際にはボトルネックの箇所によってとるべき対策は異なる。pandas では速度向上/エッジケース処理のために データの型や条件によって内部で処理を細かく分けており、常にこうすれば速くなる! という方法を出すのは難しい。以下はこの前提のうえで、内部実装からみ

    Python pandas パフォーマンス維持のための 3 つの TIPS - StatsFragments
  • https://www.thealgoengineer.com/2014/download_sp500_data/

  • How to put the legend outside the plot

    There are a number of ways to do what you want. To add to what Christian Alis and Navi already said, you can use the bbox_to_anchor keyword argument to place the legend partially outside the axes and/or decrease the font size. Before you consider decreasing the font size (which can make things awfully hard to read), try playing around with placing the legend in different places: So, let's start wi

    How to put the legend outside the plot
  • 強化学習+為替トレード戦略(その2) – Momentum

    概要 ・強化学習シリーズその2 ・Epsilon-greedyのEpsilonに対する感度分析 → とりあえずEpsilon=0.1でやろうと思うがQ値が収束していなさそう。。より早く収束させる方法が求められる ・学習させたQ値に対して汎化能力をテストできるようコードを追加 → 学習期間と同じ期間に対してテストするも微妙な結果に Epsilonに対する感度分析 相変わらずこのシミュレーション方法で合っているのかすら謎シリーズとも言いますが^^ ・Epsilon = 0.5 Q値 赤マスはロングポジションが最適な状態、グレーはフラットポジション、青色はショートポジション。以下同様。 各エピソードの累積リターンのエルゴード平均(expanding window) ・Epsilon = 0.1 Q値 各エピソードの累積リターンのエルゴード平均(expanding window) ・Epsilon

  • 強化学習+為替トレード戦略 – Momentum

    概要 ・強化学習をトレード戦略に適用するとこんな感じになるのかなというテスト。我流なので何やってんのpgrという場合も生暖かい眼で何卒よろしくお願いします(ヘッジ文言^^) ・モンテカルロをぶん回すことでQ-valueを推定します。 ・今回は簡単のために初回訪問モンテカルロ(逐一訪問はめんどいのお) ・モメンタム戦略を試すため、状態として過去の自分自身のシャープレシオ(1ヶ月と3ヶ月)を使用しています。 ・行動決定にはEpsilon-Greedy法 初回訪問モンテカルロ いかんせん強化学習の学習自体が何をどう考えて良いか門外漢のため五里霧中+Pythonも同じく門外漢のため五里霧中のため、自身の勉強方法も探索しっぱなしという^^;; これであってんのですかねえ 詳しくは参考文献[1]のP.134を見てケロというかんじなのですが、 ・現在での状態を確認(状態=過去のシャープレシオ) ↓ ・そ

    強化学習+為替トレード戦略 – Momentum
  • 過去のデータからビッグデータ分析で株価を予測する - Qiita

    今日は 15 年ぶりに日経平均が 19,000 円台を一時回復し、 6 月末までには 2 万円に達するのではとの声も出ていますが、そんな中ビッグデータ (笑) 分析で株式の分析をする話です。 効率的市場仮説 金融の世界には効率的市場仮説というものがあり、どのような情報を利用しても他人よりも高いパフォーマンスを継続してあげることは不可能であるという説があります。これほど誤解されたりあるいは都合良く解釈されたものはないと筆者は考えます。 この辺は効率的市場仮説のパラドックスあたりを読んでいただくと良いでしょう。 普通に考えて、たとえばなぜ証券業界のディーラーやファンドマネージャーが現役で職を保っていられるのか、みんながみんなバフェットの真似をしてみんながお金持ちにならないのはなぜか、などなど考えていけばわかりそうなものです。 賛否両論はこのあたりを読んでいただくとして (ちなみに筆者はアンドリ

    過去のデータからビッグデータ分析で株価を予測する - Qiita
  • データ分析の計画収集加工そして判断まで (後編) - Qiita

    ようやく前回の続きで今回は後編です。 さてここでみなさんもう一度、原点に立ち返ってみましょう。なぜデータを集めて分析をするのか。それは利益を最大化したいからです。自分が得をするために、判断の根拠となる材料 (データ) を収集し、中身を整理して眺め、行動に結びつけて利益を得ます。 すなわちデータ分析には利益につながる明らかな動機 (目的) が存在し、また分析の結果を行動に結びつけて初めて価値が生まれます。 ゲーム投資 ここで投資の話をしてみましょう。 万人に正しい投資法というのは存在しませんが、たとえば株式においては市場で優位性を得るための前提条件がいくつかあります。 1. 投資は確率のゲームである 2. 市場はおおむね効率的である、しかしわずかな歪みが生じている 3. 資主義は自己増殖するので長期的には市場が拡大し、株価は経済成長率に収束する これは古典的なアイテム課金型ソーシャルゲー

    データ分析の計画収集加工そして判断まで (後編) - Qiita
  • Python pandas 日本語環境向けのちょっとしたパッケージ作った - StatsFragments

    最近の空き時間は GitHub で草植えをしている。まずは pandas を日語環境で使う場合に たまに必要になる処理をまとめた パッケージを作った。 インストール pip install japandas 機能 機能の一覧はこちら。 日時処理 日語日付のパース 日の祝日カレンダー 文字列処理 Unicode 正規化 全角/半角変換 リモートデータアクセス 詳細はドキュメントを。 http://japandas.readthedocs.org/en/stable/ 日時処理 日語日付のパース pandas には 日付らしい入力を適切に処理してくれる pandas.to_datetime があるが、これは日語の日付 ( "XX年XX月XX日" とか ) に対応していない。例えば 以下のような入力は日時としてパースされず 文字列のまま残ってしまう。 import pandas as

    Python pandas 日本語環境向けのちょっとしたパッケージ作った - StatsFragments
  • ローソク足チャートと移動平均線のプロット - Qiita

    おはようございます。ようやく春らしい季節になってきましたね。今日は前回に引き続いてもう少し株価の話をします。前回の話ではどうやって分析するかという話で、理想株価の算出式と移動平均線について触れました。忘れてしまった方はもう一度前回の記事の後半を読んでください。 まず余談 さて話はそれていきなり余談ですが、先週は有名ソーシャルゲーム「パズドラ」をめぐる炎上騒ぎが大変なことになりましたね。 パズドラといえば 3,000 万ダウンロードを越える人気ゲームであり、あのコンプガチャ騒動の後にあらわれて、無料でも楽しめる仕様として課金額を低額に抑え人気を博しガンホーバブルが発生、まさに新しいソーシャルゲーム時代の代表格みたいなものですから四方や知らない方はいないかとは思います。 もっともその後バブルがはじけ最近ではパズドラ一ではだいぶ苦戦しているようですが、先週はそのパズドラにおいてスクエニとのコラ

    ローソク足チャートと移動平均線のプロット - Qiita
  • Plotting — pandas 0.15.0 documentation

    Table Of Contents What’s New Installation Frequently Asked Questions (FAQ) Package overview 10 Minutes to pandas Tutorials Cookbook Intro to Data Structures Essential Basic Functionality Working with Text Data Options and Settings Indexing and Selecting Data MultiIndex / Advanced Indexing Computational tools Working with missing data Group By: split-apply-combine Merge, join, and concatenate Resha

    Plotting — pandas 0.15.0 documentation