C#, Python, Web開発

プログラミングやデータ分析のことなどを書いています。

Pandas CSV読込時にエンコーディングを指定

Python の Pandas で、CSVの読み込み時にエンコーディングを指定する方法を書いていきます。 CSV 今回は、以下のCSVを使用します。 日付,基準価額,分配金 2026-03-05,12923,250 2026-03-06,13015,0 エンコーディングは Shift_JIS(≒ CP932, Windows-31J)で…

C# 幾何平均を計算する方法

C#

C# を使って、幾何平均を算出する方法を書いていきます。 今回の例では、トータルリターンの年率を求めていきます。 注意事項 浮動小数点演算などの誤差があります。 コード例 以下のメソッドにトータルリターンと年数を渡すと、幾何平均の年率が算出できま…

C# 複利計算でトータルリターンを算出

C#

C# を使って、複利計算でトータルリターンを算出する方法を書いていきます。 今回の例では、年間収益率からトータルリターンを求めていきます。 注意事項 浮動小数点演算などの誤差があります。 コード例 以下のメソッドに年間収益率を渡すと、トータルリタ…

Pandas CSV読込時に先頭行をスキップ(skiprows)

Python の Pandas で、CSVの読み込み時に先頭行をスキップする方法を書いていきます。 CSV 今回は、以下のCSVを使用します。 Sample Fund Daily Data Date,Close,Dividends 2026-03-16,10000,0 2026-03-17,9990,20 2026-03-18,9998,0 先頭2行がスキップする…

2026年3月末 オルカン・米国株指数(月次レポート)

2026年3月末時点のリターンや、市場の動きなどを振り返っていきます。 ※ リターンは全てドルベースです。 全世界・米国 連動指数 Ticker 3月 年初来 MSCIオルカン ACWI -6.11% -2.21% S&P500 SPY -4.93% -4.37% NASDAQ100 QQQ -4.84% -5.93% ※ 分配金再投資 …

DataFrame 日付の列でソートする(昇順・降順)

Python の DataFrame で、Datetime の列を基準にソートする方法を書いていきます。 列がインデックスの場合と、そうでない場合のコードを記載しています。 インデックスの場合 sort_index を使うと、ソートすることができます。 import pandas as pd def mai…

yfinance 原油関連のティッカーと概要

アメリカのイラン攻撃で、原油相場が大きく動いています。 今回は、yfinanceにおける、原油のティッカーを調べてみました。 BZ=F ブレント原油先物(Brent Crude Oil Futures) 北海(イギリスやノルウェー沖)で採掘される原油 欧州やアフリカ、中東などの…

米国政策金利の推移(2015-2026年 アメリカ FOMC)

アメリカ FRB政策金利の推移をまとめています。 ※ 表の日付は、FOMCの会合日です。 2026年 上限 下限 03/18 3.75% 3.50% 01/28 3.75% 3.50% 2025年 上限 下限 12/10 3.75% 3.50% 10/29 4.00% 3.75% 09/17 4.25% 4.00% 07/30 4.50% 4.25% 06/18 4.50% 4.25% 0…

投資の各種統計

プログラムで長期のデータを分析して、統計や指標の記事を投稿しています。 その記事のリンクを、一覧形式でまとめています。 目次 年間収益率 ドローダウン リスク・平均 補足事項 年間収益率 名前 Ticker ETF MSCIオルカン ACWI S&P500 SPY NASDAQ100 QQQ …

C# カバレッジレポートをHTMLで出力

C#

C# のテストを実行して、カバレッジレポートを生成する方法を書いていきます。 ※ Windows 端末で動作確認をしています。 前提 今回は、事前に ReportGenerator をグローバルにインストールしています。 dotnet tool install -g dotnet-reportgenerator-globa…

C# 複数オブジェクトの値をリストで取得

C#

C# で、複数のオブジェクトの値をリストで取得する方法を書いていきます。 コード例 以下のインスタンスを複数生成して、Rtn の値をリストで取得します。 public record YearRtn( int Year, double Rtn ); 以下は、LINQ の Select を使って値を抽出する例で…

C# 日付の降順でオブジェクトをソート

C#

DateTime型のプロパティを使って、オブジェクトを降順にソートする方法を書いていきます。 ※ 最新の日付がリストの先頭、古いものが最後、といった順序です。 コード例 今回は、以下のレコードをリストに格納します。 public record Day( DateTime Date, dou…

C# record型の特徴(Immutable・不変)

C#

C# の record で、個人的に気になった特徴の1つを書いていきます。 Immutable(不変) インスタンスを生成すると、値が変えられないという特徴があります。 例えば、以下のレコードがあります。 public record Score( int Base, int Bonus, int Total ); 以…

C# 日付の昇順でオブジェクトをソート

C#

DateTime 型のプロパティを使って、オブジェクトを昇順にソートする方法を書いていきます。 ※ 最も古い日付がリストの先頭、最新が最後、といった順序です。 コード例 今回は、以下のレコードをリストに格納します。 public record Day( DateTime Date, doub…

C# iniファイルの読み込み(セクションが可変)

C#

C# で、iniファイルの設定を辞書とオブジェクトに展開する方法を書いていきます。 今回は、iniファイルのセクション数が可変の前提です。 使用パッケージ 事前にNuGetで以下のパッケージをインストールしています。 Microsoft.Extensions.Configuration.Ini …

GitHub Desktop 変更前と変更後を分けて表示

GitHub Desktop で、変更前と変更後のファイルを分けて表示する方法を書いていきます。 設定方法 ファイルの差分が表示されている状態で、設定アイコン(歯車のアイコン)をクリックします。 オプションが表示されるので、Diff Display の Split をクリック…

C# iniファイルの読み込み(複数セクション)

C#

C# で、iniファイルの設定をオブジェクトに展開する方法を書いていきます。 今回の記事は、iniファイルに1つ以上のセクションがあることを前提としています。 使用パッケージ 事前にNuGetで以下のパッケージをインストールしています。 Microsoft.Extensions…

C# iniファイルの読み込み(セクションを指定)

C#

C# で、iniファイルのセクションを指定して、設定値をオブジェクトで取得する方法を書いていきます。 使用パッケージ 事前にNuGetで以下のパッケージをインストールしています。 Microsoft.Extensions.Configuration.Ini Microsoft.Extensions.Configuration…

VSCode Shift_JISでファイルを開きなおす

VSCode で、ファイルを SJIS で開きなおす方法を書いていきます。 日本語の表示が文字化けしている場合は、この方法で問題が解消する可能性があります。 1. 画面下の文字コードをクリック ステータスバーのエンコーディングをクリックします。 UTF-8 と表示…

DataFrame 列名を全て変更する

Python の DataFrame で、列名を全て変更する方法を書いていきます。 コード例 インデックスと他の列名を、それぞれ別に変更していきます。 import pandas as pd def main(): # DataFrameを生成 df = pd.DataFrame( index=pd.to_datetime(["2025-12-31", "20…

DataFrame CSV出力時に日付の形式を指定

DataFrame を CSV に出力する際に、日付の形式を指定する方法を書いていきます。 コード例 to_csv の date_format で、日付の形式を指定することができます。 import pandas as pd def main(): # DataFrameを生成(index名はDate) df = pd.DataFrame( index…

DataFrame 欠損値の0埋めをする(列の0埋め)

Python の DataFrame で、列の欠損値を0で埋める方法を書いていきます。 CSV 今回は、以下のCSVを読み込んで0埋めをしていきます。 Date,Close,Dividends 2026-03-16,10000, 2026-03-17,9990,20 2026-03-18,9998, Dividendsの1行目と3行目が、空で欠損値です…

DataFrame 列を新しく追加する方法

Python の DataFrame で、列を新しく追加する方法を書いていきます。 コード例 既存のDFがある場合は、df["列名"] = 値 で追加できます。 import pandas as pd def main(): # DataFrameを生成 df = pd.DataFrame( data={"Close": [100, 102]} ) # 列を追加(…

DataFrame 列をインデックスに設定する方法

Python の DataFrame で、列をインデックスに設定する方法を書いていきます。 コード例 set_index("列名") を使うと、インデックスに設定することができます。 import pandas as pd def main(): # DataFrameを生成 df = pd.DataFrame( data={"Id": [1, 2], "…

Python pipを更新する方法(コマンドライン)

Python の pip をアップグレードする方法を書いていきます。 コマンド 以下のコマンドで更新することができます。 python -m pip install --upgrade pip

Python pandasをインストールする方法

Python の pandas をインストールする方法を書いていきます。 pipを使う場合 以下のコマンドでインストールできます。 pip install -U pandas

C# 文字列をDateTimeに変換(年月日)

C#

C#で文字列をDateTimeに変換する方法を書いていきます。 コード例 DateTime.ParseExact とフォーマット文字列(y,M,d)を使って変換することができます。 var dStr1 = "2023-6-2"; var date1 = DateTime.ParseExact( dStr1, "yyyy-M-d", // yyyy-MM-ddだとエ…

Python ニッセイAMの投資信託CSVを整形

Pythonを使って、投資信託の日次CSVをフォーマットしていきます。 今回は、ニッセイアセットマネジメントの投資信託を対象としています。 対象商品 分配金が出ている ニッセイ世界高配当株ファンド(毎月決算型) を選びました。 ニッセイNASDAQ100、ニッセ…

Python pytestをインストール(モック・カバレッジも)

pytest のインストール方法を書いていきます。 インストール 以下のコマンドでインストールすることができます。 pip install -U pytest モック・カバレッジ モックを使用して、カバレッジを取得したい場合は、以下のコマンドでインストールすると良さそうで…

Python 野村AMの投資信託CSVを整形

Pythonを使って、投資信託の日次CSVをフォーマットしていきます。 今回は、野村アセットマネジメントの投資信託を対象としています。 対象商品 分配金が出ている 野村世界業種別投資シリーズ(世界半導体株投資) を選びました。 ※ 全ての商品のCSVは確認でき…