掲題の件、そういう時あると思います。 結論 まあ、ちょっと考えれば自明なんだが、以下です。 ドルコスト平均法は平均的なリターンを押し下げる(儲かる投資なら!)効果があるので嬉しくはない ドルコスト平均法は最終的な儲けのバラツキ(標準偏差)を押…
掲題の件、あると思います。 例えばこういうやつ(z(=3)の値に最も近いxの要素(=2.9)を探す)。 > z <- 3 > x <- c(1,2,2.9,3.5,4) > index <- which.min(abs(z - x)) > x[index] [1] 2.9 これをzがベクトルのときでも動くようにしたいと考えた2実装が以下…
掲題の件、あると思います。 私は今まで行列っぽいデータを normalize するとき*1は以下のように書いていました。 最後の結果を見たらわかるように行ごとに和をとると1になるようになっています。 > x <- matrix(1:4,2) > x [,1] [,2] [1,] 1 3 [2,] 2 4 > …
掲題の件、そういいうことです。 例えば適当に get() メソッドの引数を追加して実装しても from abc import ABCMeta, abstractmethod class Hoge(metaclass=ABCMeta): @abstractmethod def get(self): pass class Moge(Hoge): def get(self, x = None, y = N…
米国株式とUSDJPYの2020年1月1日からの相関構造 ドル円(USDJPY)が 0.6% で ダウ平均が2.8% くらいのリスク(標準偏差、日率) > 100*sd(df$`usdjpy=x`) [1] 0.6186612 > 100*sd(df$dji) [1] 2.842537 全体 library("dplyr") library("tidyr") library("str…
米国株式市場の2020年1月1日からの相関構造 すげぇ強かった(おしまい) "^DJI" : ダウ平均 "^RUT": ラッセル指数 "^GSPC": S&P500 "^IXIC": ナスダック指数 再現用のCode library("dplyr") library("tidyr") library("stringr") library("tidyquant") libra…
株式会社ホクソエムの社長から教えていただいた。 いちいち dplyr::select なぞせんでもこうするだけで .y を除いた処理を実行できる。 > df <- data.frame( + x = 1:3, + .y = 2:4 + ) > df x .y 1 1 2 2 2 3 3 3 4 > ls(df) [1] "x"
うっかりやっちまったのでメモっておく。 まず適当な data.frame() を定義する。 > df <- data.frame(x=sample(1:2, 10, replace=TRUE), y=sample(c("a", "b"), 10, replace = TRUE)) > df x y 1 2 a 2 2 b 3 2 b 4 2 b 5 1 b 6 1 a 7 2 b 8 1 b 9 1 b 10 2 …
掲題の件、そういうことです。 __str__() だけ定義しておくと class Hoge(): def __init__(self, x): self._x = x def __str__(self): return "Hoge({})".format(self._x) ちゃんと出てくれない。 > x = {Hoge(1), Hoge(2)} > print(x) {<__main__.Hoge object at 0x109fb7880>, <__main__.Hoge object at 0x109fb78e0>} 一方、 __repr__</__main__.hoge></__main__.hoge>…
俺はSBI証券を使っているのだが、その手数料プラン(アクティブ or スタンダード)をどっちにするのかあまり真面目に考えてこなかったので、真面目に考えたい。 俺の俺による俺のためのデータサイエンスだ。 さて、国内株式の手数料を教えてくださいのページ…
ナウく書きたい。 rmap でもいいけど、以下のように purrr::pmap() が良さげ。 > head(iris, 3) %>% + purrr::pmap_dfr(function(...) { + df_row <- tibble(...) + print(df_row) + df_row + }) # A tibble: 1 x 5 Sepal.Length Sepal.Width Petal.Length P…
filterにNone食わせれば良いみたい >>> x = ['', None, 'Hoge', 'Hage'] >>> list(filter(None, x)) ['Hoge', 'Hage']
create table hoge ( hoge string hageeeeeeeeeeee int moge string ) を create table hoge ( hoge string hageeeeeeeeeeee int moge string ) のように揃えたいときは、↑を一旦適当なファイルに突っ込んでおいて、column するといい $ column -t -s $' ' <filename></filename>
expression 使えばよろし。 library("mmetrics") df <- gsummarise(iris, Species, metrics = define(y=sum(Petal.Width))) ggplot(df, aes(x = Species, y = y)) + geom_bar(position = "dodge", color="black", stat="identity") + labs(x = expression(al…
すぐ忘れる。 svd関数の戻り値をxとして x$u %*% diag(x$d) %*% t(x$v) で元通り。 > b <- array(rnorm(10), dim=c(5,2)) > b [,1] [,2] [1,] -0.5036082 -1.218417405 [2,] -0.7905285 1.331412278 [3,] 0.8311744 -0.147847237 [4,] -0.8628976 0.68170753…
例えばここにこんな関数があったとする。 f <- function(x, y = 100, args = list()){ y } そしてこの関数のデフォルト引数がある引数のみを、そのデフォルト引数とともに抜きたいと思うことがある、俺にはある。 こういう処理をしてくれる関数 get_default_…
昔、 r-wakalangで教えてもらったがメモってなかった話なのでメモっておく。 こういうデータ df があった時に > df <- data.frame( + big_group=rep(letters[1:2], 30), + small_group=rep(1:3, 10), + value=runif(30) + ) > head(df, 10) big_group small_…
掲題の件、これはふつー「1/√データ数」ですが、適当にデータとして0だけ突っ込んでいったらどうなるんじゃいと思ってやってみたら大体似たようなもんだった。 理論的な話はあとで考える。 > size_unit <- 10^3 > x <- c() > y <- c() > for (i in 0:9){ + …
調べた感じ引数ではやれなそうだったので、やむなく quantile 関数で対応することにした。 > x <- rnorm(1000) > tmp <- hist(x, breaks=quantile(x, c(0, 0.2, 0.4, 0.6, 0.8, 1))) > tmp $breaks 0% 20% 40% 60% 80% 100% -3.4892322 -0.9159784 -0.265114…
ここで requests/utils.py at c501ec986daa4961cd9dee370b5d45ff2e524b37 · requests/requests · GitHub 設定されてて、こいつは調べると requests/certs.py at c501ec986daa4961cd9dee370b5d45ff2e524b37 · requests/requests · GitHub にあるように certif…
下記のようにUDF使うか, mapでDataFrameごと新しくするか、なのか? import spark.implicits._ import org.apache.spark.sql.functions._ // Example data val df = Seq( (1, 2), (3, 4), (5, 6) ).toDF("x", "y") // Define function val hoge = udf({(x: I…
なんでこうなるかの数式の証明はまだ読み切れてないんだが、とりあえずコード書いて検算したのとLINKのメモ。確かにヒストグラムがほぼほぼ重なる… #自由度とサンプルサイズ df <- 10 size <- 10^4 # 標準正規分布×自由度dfのカイ分布(カイ二乗分布に従う乱…
掲題の件、Tidy Evalというかrlangパッケージを、下記の記事をはじめいろいろ使いこなそうと試行錯誤してきた。 いい加減、俺なりの楽なやり方が見つかったのでまとめておく。 eval(parse(text=...))をモダンに書きたい - My Life as a Mock Quant 全ての引…
前も書いた気がするんだが一応。 rlangのほうがモダンなやつ > f1 <- function(x){rlang::expr_text(rlang::enexpr(x))} > f2 <- function(x){deparse(substitute(x))} > a <- 123 > f1(a) [1] "a" > f2(a) [1] "a"
とりあえず開発してるPackageをRStudioあたりで開いておいて、以下を叩けばOKだって。 devtools::install_deps(dependencies = TRUE) なるほどね~ - https://www.rdocumentation.org/packages/devtools/versions/1.13.6/topics/install_deps
「データを大雑把にとらえるために何も考えずにこれに突っ込む」みたいな感じで使えてよい。 あと、BLOG移転したい。(パッケージは別途インストール済として)たった↓だけのコードで library("DataExplorer") create_report(iris) こういう結果がでる。repo…
掲題の件がやりたいので、こんな関数をかいた。 get_from_env_or_global_env <- function(x){ if(Sys.getenv(x) != ""){ Sys.getenv(x) } else if(exists(x)){ eval(parse(text = x), envir=.GlobalEnv) } } #環境変数からとる > get_from_env_or_global_env…
すっかり放置していたbitFlyer LightningのAPIをRから使う - My Life as a Mock Quantの続き。 POST系のメソッドをやろうとして昔失敗して放置していたのだが、なんか今日やったらうまくいった。 こんなんでRからBitcoinを指値で発注できます(そして2018年6…
こんなん python -c 'import yaml,sys;print(yaml.dump(yaml.load(sys.stdin)))' < hoge.yml
適当な.jlファイル(hoge.jl)に対して cd("path-to-source-code") push!(LOAD_PATH, pwd()) workspace() ... great code... と三行程度のおまじないを書いたうえで、 julia> include("path-to-souce-code/hoge.jl")するのが楽そうか。 workspace()はなんかモ…