WATANABE REN wrote a new post, PandasのMultiIndexについて⑥ 1年 10か月前
通常のIndexと同様sort_indexを用いてソートが可能
import random
random.shuffle(tuples)
s = pd.Series(np.random.randn(8), index=pd.MultiIndex.from_tuples([…]
WATANABE REN wrote a new post, PandasのMultiIndexについて⑤ 1年 11か月前
reindex レベルを跨いで値をブロードキャスト
midx = pd.MultiIndex(
levels=[[“zero”, “one”], [“x”, “y”]], codes=[[1, 1, 0, 0], [1, 0, 1, 0]]
)
df = pd.DataFrame(np.random.randn(4, 2), index=midx)
df2 = df.groupby(leve[…]
WATANABE REN wrote a new post, PandasのMultiIndexについて④ 2年前
Cross-section
xs()メソッドを使って、特定levelの要素を取得しやすくできる。idxを使用するよりさらに直感的。
df.xs(“one”, level=”second”)
df.xs(“bar”, level=”first”)
Sliceを用いるとこのような感じ
df.loc[(slice(None), “one”), :]
I[…]
WATANABE REN wrote a new post, PandasのMultiIndexについて③ 2年前
Slice
公式ドキュメント
セットアップ
miindex = pd.MultiIndex.from_product(
[mklbl(“A”, 4), mklbl(“B”, 2), mklbl(“C”, 4), mklbl(“D”, 2)]
)
micolumns = pd.MultiIndex.from_tuples(
[([…]
WATANABE REN wrote a new post, PandasのMultiIndexについて② 2年 2か月前
Basic Index
公式ドキュメントはこちら
①
通常のDataframeの列指定のように df[“label”] とすることで、該当するMultiIndexのレベルの階層を取得することが出来る。
サ[…]
WATANABE REN wrote a new post, PandasのMultiIndexについて① 2年 2か月前
MultiIndex
まずは公式ドキュメントから
①
arrays = [
[“bar”, “bar”, “baz”, “baz”, “foo”, “foo”, “qux”, “qux”],
[“one”, “two”, “one”, “two”, “one”, “two”, “one”, “two”],
]
tuples = list(zip(*arrays))
index =[…]
WATANABE REN wrote a new post, 統計・ファイナンス勉強ノート⑦ 2年 3か月前
ローレンツ曲線
・小さい値からXとYの累積相対度数を求め、表記したグラフ。完全な平等の場合の直線と比較して、観測値の不平等を確認する。
ジニ係数
・ローレンツ曲線と完全平等線の間の面積と、完全平等線以下の面積の割合。また、グラフ全体を一辺が1の正方形とすることで、ローレンツ曲線と完全平等線の間の面積の2倍と等しくなる。0~1の間をとり、大きければ大きいほど不平等な状態となっている。
移動平均
・時系列デー[…]
WATANABE REN wrote a new post, 統計・ファイナンス勉強ノート⑥ 2年 5か月前
回帰直線
・最小二乗法を用いて、観測値との差が最小になる直線
回帰平方和
・被説明変数の偏差の内、回帰直線を用いて計算される平方の総和
残差平方和
・被説明変数の偏差の内、回帰直線で計算結果からの残差の総和
総平方和
・偏差の平方の総和。回帰平方和と残差平方和を足した値
回帰直線における切片(α)と傾き(β)
・β:共分散/分散で計算できる
・α:被説明変数の平均 – β説明変数の平均[…]
WATANABE REN wrote a new post, 統計・ファイナンス勉強ノート⑤ 2年 6か月前
四分位数
・数の範囲を最小値、第一四分位数、中央値(第二四分位数)、第三四分位数、最大値に分ける
偏差
・観測値それぞれに対して平均を引いた値
分散
・偏差を二乗した値の平均
二乗の平均 – 平均の二乗でも計算できる
標準偏差
・分散の平方根(ファイナンスだとリスクとして扱われる統計量)
標準偏差を用いるのは、分散だと元の値からの二乗を用いている(平方)ので、元の値の単位へ変換するため[…]
WATANABE REN wrote a new post, 統計・ファイナンス勉強ノート④ 2年 7か月前
統計尺度
・名義尺度
それぞれの値を区別することしかできない尺度。(例:性別)
・順序尺度
値に順序があり比較が行える尺度。(例:レース順位)
・間隔尺度
順序がありかつ、それぞれの値の間隔に数値的な意味がある尺度。(例:気温)[…]
WATANABE REN wrote a new post, 統計・ファイナンス勉強ノート③ 2年 8か月前
プロジェクト投資可否の判断方法
WACC
Weighted Average Cost of Capital(キャピタル加重平均コスト)
負債コストと[…]
WATANABE REN wrote a new post, ファイナンス勉強ノート① 2年 9か月前
公正価値の求め方(DCF法)
・投資対象を将来キャッシュフローに置き換える
・将来キャッシュフローを期待収益率で割引、割引現在価値を求める
・全ての将来キャッシュフローの割引現在価値を合計する
債券
・平たくいうと投資家への借金
・借金なので満期(返済日)がある
・クーポン(利息)もある
・主要先進国の国債の利回りを無リスク金利とよび、あらゆる資産の利回りの基準となっている
・債券には[…]
WATANABE REN wrote a new post, 統計学(statistics)勉強ノート① 2年 10か月前
統計学とは
現象の法則性に対する学問
記述統計学
・現象の法則性知るために、全てを丹念に調べ、規則性から法則性を見出す
統計的推測
・確率論を用いた記述統計学の方法論
全数調査
・全体の法則性を導くために全体を調べる
・国勢調査(census)など
統計量
・データのどんな類の特徴を要約したいのか
・平均値、最大値、最小値など
平均値
・データの釣り合いの視点
・平均値=データの[…]
WATANABE REN wrote a new post, Rustのテスト 2年 11か月前
Rustにはデフォルトで自動テストツールがcargoに搭載されている。
ベーシックなテスト機能が一通りそろっているので、これらでガリガリテスト書いていけばよいと思う。
基本的には以下のコマンドで実行する。
cargo test
関数へ#[test]で注釈することで、テスト関数へと変更することが出来る。
#[test]
fn hoge() {
…[…]
WATANABE REN wrote a new post, トレイト 2年 12か月前
Rustの型での共通のふるまいを定義できる機能。他言語のインターフェースに近い。
定義としては以下
pub trait Hoge {
fn hogehoge(&self) -> String;
}
上記トレイトを実装するとこのような形になる
pub struct Fuga {}
impl Hoge for Fuga {
fn hogehoge(&self) {}
}
トレイトは実装する際には、トレイ[…]
WATANABE REN wrote a new post, Rustのジェネリクス型 3年前
抽象的な型の概念。
Javaとかでも実装されている機能。Vecなどの、宣言時におけるTという抽象的な型。(Tには何の型でも入力できる)
関数シグニチャで用いた場合、以下のように宣言する。
fn hoge(list: &[T]) -> T {
慣習として最初のジェネリクス型へは、T(Typeの頭文字)を用いる。
同一の文字列で定義した型には同一の型が入力される。同一文字列のジェネリクス型へ別の型を入力した場[…]
WATANABE REN wrote a new post, Rustのエラー処理 3年 2か月前
Rustには例外機能が存在しない。
そもそも例外とは
私が業務経験した中だとJava、Python、C#と多くの言語で存在している機能。
プログラムを実行した際に発生しうる特定エラーを検知し、プログラムを終了することなく処理を続行する。
構文としては以下のようなイメージ
try {
hogehoge();
} catch Exception {
fugafuga();
}
tryブロック内でエラーが発生[…]
WATANABE REN wrote a new post, Rustの標準ライブラリデータ構造 3年 2か月前
各データ構造はヒープ領域にデータを確保する為、実行時に要素数の変更等が行える。
ベクタ
特定のデータ型を挿入可能な可変長のリスト。
let vector: Vec = Vec::new();
let mut vector = vec![1, 2, 3]; // マクロを利用した初期化
// 更新する際にはpushメソッドを使用する
vector.push(4);
vector[…]
WATANABE REN wrote a new post, Rustのモジュールシステム 3年 4か月前
クレート
Rustのコンパイルの単位。コンパイラの開始地点となるクレートルートを保持し、
コンパイルすることで関連した機能群を一つのスコープにまとめることが出来る。
パッケージ
ある機能群を提供する1つ以上のクレート。Cargo.tomlでパッケージをどのようにビルドするかを定義する。
0個か1個のライブラリクレートを保持する(2個以上はダメ)。バイナリクレートはいくらでも持っても大丈夫。
ライブラリでもバ[…]
WATANABE REN wrote a new post, Rustにnull機能は存在しない(Option) 3年 5か月前
Rustでは値が存在するか不在かという概念をnullではなくenumで実現する。
pub enum Option {
None,
Some(T),
}
上記のNoneはあくまでenumの列挙子であり、[…]