2023 bybit cryptact byfi カスタムファイル作成開始。

2023-10-16

Cryptact側の回答。

ーーー

ご認識の通り、Bybit資産運用(旧ByFi)/ Bybitステーキングはファイルでの対応をしておりますが、
API経由に関しては取引所からAPI経由で取引履歴の配信がされていないため、対応しておりません。

ーーー

しかしCryptact Webでの調査ーーーーー

5.Bybit/Bybit資産運用(旧ByFiセンター) 積立ステーキング、定期ステーキングのダウンロード方法
大変恐れ入りますが、取引所側で画面の構成が変わってしまったため、以前の方法ではダウンロードができなくなってしまいました。弊社では履歴を持ち合わせておりませんため、取引所にダウンロード方法をご確認ください。なお、お客様からダウンロードを方法をご説明いただけましたら、ヘルプページをアップデートさせていただきます。

ーーーーーーーーーーーーーー

つまり、ステーキング履歴ファイルはなくなっている。となるとカスタムファイルを作るか。

 

また、Bybitのデータが壊れていた件。

結局bybitにはメール問い合わせでデータを取得しました。

以下がbybit earnのデータと思われます。

UUID Bybit Earn data to 2023-03-27.csv

UUID Bybit Earn data from 2023-03-27 to end.csv

3月27日からフォーマットが変わったのかな??2つあるんだこれがめんどくさいことに。

とにかくファイル突合。
UUID Bybit Earn data to 2023-03-27.csv
2022年は11月12日までステーキングしていたようです。
クリプタクトのデータと突合。

この時点でbybit使うのやめようと思ってしまいます。めんどくさすぎる。

まずファイル突合で、日付でソートの作業、表示桁数を合わせる、見出しを固定する。日付をUTCからJSTに変換して数量を比較する。
この作業が必要で、めんどくさい。

一般的には全然おすすめではないよね。

Libreofficeで形式をそろえました。

=A1+TIME(9,0,0)
セルの書式設定で、後に表示形式を変更、日付も出すように。

この形式のまま取りあえず、

converted_UUID Bybit Earn data to 2023-03-27.ods

として保存。

 

change_amount wallet_balance

を見比べながら、
wallet_balanceが少しづつ増えているのがステーキング報酬として目視で抽出。

となると、1月7日からステーキング報酬が増えているということが分かりました。

2月1日にUSDCを引き出しています。
なんだったかな。25ドルほど。
3月1日にもUSDCを引き出していました。
27ドルほど。

3月11日にUSDCを引き出してステーキングをやめている。
まあ、いろいろ厳しいイベントがありましたからね。

3月20日に以下のやつを引き出していたようです。
ETH
USDT
RUN
SYNR
MV
MMC

取りあえずそれ以外、コンスタントに入金されているのがステーキング報酬ということになるでしょう。

この辺は目視で確認しています。
このデータをクリプタクトのカスタムファイル形式にしないといけないので、GoogleSheetにコピーします。

 

去年はローカルのOpenOfficeだったけどローカルだと不便だのでGoogleSheetに移行してプログラムを作るかと。

Timestamp Action Source Base Volume Price Counter Fee FeeCcy Comment
2022/11/12 9:33 STAKING Bybit_ByFi BIT 0.07516986 JPY 0 JPY Flexible staking

こんな項目で新規に作成。

フォーマットは変わっていないと思われます。CryptactのWebで一応確認。

別フォーマット”UUID Bybit Earn data from 2023-03-27 to end”の確認。

UpdateTime
2023-03-27T00:31:38Z
これをJSTに変換
=VALUE(LEFT(J2,10) & ” ” & MID(J2,12,8)) + TIME(9,0,0)

 

——chatgpt4 に聞いて変換——

次に、LibreOfficeでの表示データで以下のようなものがあります。

TxnAmount
2.5490000E-05

これではE-05 となっていてよろしくありません。

元のCSVファイルを見ると、

0.000025490000000000

となっているようです。

0.000025490
となるように表示してほしいのですが。

LibreOffice Calcで科学的表示法 (例:2.5490000E-05) から通常の表示形式に変更する方法は以下のとおりです:

1. 対象のセルまたはセルの範囲を選択します。この場合は、`TxnAmount` の値が入っているセルを選択します。

2. メニューバーで「書式」を選択し、ドロップダウンメニューから「セル」をクリックします。

3. 「数値」タブをクリックします。

4. 「数値」のカテゴリーを選択します。

5. 「表示形式のコード」の領域に次の形式を手動で入力します:

“`
0.000000000
“`

この形式は、小数点以下9桁までの数字を表示することを指示します。必要に応じて桁数を増減させることができます。

6. 「OK」をクリックしてダイアログボックスを閉じます。

この手順を完了すると、セルの値は `0.000025490` のように表示されるはずです。

————–
converted_uuid Bybit Earn data from 2023-03-27 to end.ods

として保存。
同様にGoogleSheetに手作業コピー

次に、積み立てBotの調査。

メモによると、3月12日から積み立て設定している。
2023-03-12 積み立てボット設定 bybit BTC,ETH,XRP

シリコンバレー銀行破綻。
とか、
2024年にBTC半減期。
とかいうことで買い始めた記録がある。

converted_Bybit UID UUID – Funding Asset History.ods

によると、
2023-03-11 20:50:06
Transfer in-Transfer from Spot Account
Bot-Transfer to Trading Bot

となっているので、記録とあっている。
しかしこのファイルは取引の記録になっていないな。口座の増減だけだろう。

よってWEBから手作業で取得

停止中のボット

詳細

稼働開始時間
2023/03/12 05:53:19
稼働終了時間
2023/06/21 05:54:00

となっているので、記録とあっている。

注文履歴で一応内容が見れる。

となると、これを手動コピーしてデータを作るかな。

時間 取引ペア 平均価格 約定数量 約定金額 アクション
買い注文
06-21 05:53:20
BTC/USDT 28,128.7 USDT 0.000142 BTC 3.9942754 USDT
詳細
買い注文
06-21 05:53:20
ETH/USDT 1,784.36 USDT 0.00224 ETH 3.9969664 USDT
詳細

手作業でコピーだとこんなデータになってしまう。
これを成型する必要があるだろう。

manual_auto_bot.ods
を作成。

 

現物注文
こちらからダウンロードできるみたい。

取引履歴

2022-12-01 ~ 2023-06-01
2023-10-16 15:17:29
完了
今すぐダウンロード

Bybit-Spot-TradeHistory-2022-12-01-2023-06-01.xls

調べてみたらCryptactに記録されていない。
手動で入れるか??

2023-06-01 ~ 2023-10-15
2023-10-16 15:20:51
も一応ダウンロードして確認

こちらは一件だけだった。
Bybit-Spot-TradeHistory-2023-06-01-2023-10-15.xls

カスタムファイルにするか検討中。

清原 さんの書籍「わが投資術 市場は誰に微笑むか」に関するメモ

 

 

バフェットコード

Kabutan

N/C比率1以上=スクリプト

Tradingview スクリーニング

2025-03-06 US銘柄とかもスクリーニングできるのは便利だ。Tradingview

 

まあ、あまりに極端なスクリーニング過ぎるけど。

 

時価総額スクリーニング逆のほうがいいかな。

2025-03-06 Tradingviewでのスクリーニング。

これってSMA(100)>価格みたいにチャートで絞ることもできそう。

用は便利っぽい気がする。

“流動資産”、”負債合計”で絞れないのでマニュアル追加で目視って事にはなるけど。

N/C比率のスクリプトは作っていないから目視でだいたいでってことにとりあえずはなるんだけど。

 

2025-03-06 スクリーニング条件若干変更。超厳しめ。

用は営業利益率の条件追加。

で、スクリプト実行でNC比率を出す。

絞るとこれが残る。

銘柄コード 会社名 流動資産-負債 NC比率
8772 アサックス 38504 1.59

 

 

株探で調査。配当増やせるはずと思う。

チャートは微妙。

 

2024-07-22とりあえずシートに貼り付けた後の処理をスクリプトで自動にした。

 

024-07-22とりあえずシートに貼り付けた後の処理をスクリプトで自動にした。

要は比較日を設定して、前回のデータを突合することにした。

メモはそのまま同期、新規は太字でわかるように。

流動資産-負債 、NC比率 とかの計算は自動、ソートも自動、背景色も移行。

GASを使います。



function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // メニューを追加
  ui.createMenu('Custom Menu')
    .addItem('Execute Tasks', 'myFunction')
    .addToUi();
}
function myFunction() {
  freezeRowsAndColumns();
  addColumnsAndCalculate();
  sortData();
  formatColumnHeadersAndData();
  copyMemoAndBackground();
  highlightNewEntries();

}
function freezeRowsAndColumns() {
  // アクティブなスプレッドシートを取得
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  // アクティブなシートを取得
  var sheet = ss.getActiveSheet();
  
  // 行を固定(この場合は3行目までを固定)
  sheet.setFrozenRows(2);
  
  // 列を固定(この場合は3列目までを固定)
  sheet.setFrozenColumns(3);
}

function addColumnsAndCalculate() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var lastRow = sheet.getLastRow();
  var lastColumn = sheet.getLastColumn();

  // ヘッダー行を取得
  var headers = sheet.getRange(2, 1, 1, lastColumn).getValues()[0];

  // 各カラムのインデックスを取得
  var liabilitiesCol = headers.indexOf('負債') + 1;
  var currentAssetsCol = headers.indexOf('流動資産') + 1;
  var marketValueCol = headers.indexOf('時価総額') + 1;

  if (liabilitiesCol === 0 || currentAssetsCol === 0 || marketValueCol === 0) {
    Logger.log("必要なカラムが見つかりません。");
    return;
  }

  // 新しいカラム見出しの追加
  sheet.insertColumnAfter(lastColumn);
  sheet.insertColumnAfter(lastColumn + 1);
  sheet.getRange(2, lastColumn + 1).setValue("流動資産-負債");
  sheet.getRange(2, lastColumn + 2).setValue("NC比率");

  // 各行に対して計算を実行
  for (var i = 3; i <= lastRow; i++) { var liabilities = sheet.getRange(i, liabilitiesCol).getValue(); var currentAssets = sheet.getRange(i, currentAssetsCol).getValue(); var marketValue = sheet.getRange(i, marketValueCol).getValue(); if (typeof liabilities === 'number' && typeof currentAssets === 'number' && typeof marketValue === 'number' && marketValue !== 0) { var netCurrentAssets = currentAssets - liabilities; var ncRatio = netCurrentAssets / marketValue; sheet.getRange(i, lastColumn + 1).setValue(netCurrentAssets); sheet.getRange(i, lastColumn + 2).setValue(ncRatio); sheet.getRange(i, lastColumn + 2).setNumberFormat("0.00"); // 小数点以下2桁のフォーマットを適用 } else { sheet.getRange(i, lastColumn + 1).setValue("#NUM!"); sheet.getRange(i, lastColumn + 2).setValue("#NUM!"); } } } function sortData() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var lastRow = sheet.getLastRow(); var lastColumn = sheet.getLastColumn(); // ヘッダー行を取得 var headers = sheet.getRange(2, 1, 1, lastColumn).getValues()[0]; // 各カラムのインデックスを取得 var ncRatioCol = headers.indexOf('NC比率') + 1; var perCol = headers.indexOf('PER(会予)') + 1; if (ncRatioCol === 0 || perCol === 0) { Logger.log("必要なカラムが見つかりません。"); return; } // ソート範囲を取得 var range = sheet.getRange(3, 1, lastRow - 2, lastColumn); // ソート実行 range.sort([{ column: ncRatioCol, ascending: false }, { column: perCol, ascending: true }]); } function formatColumnHeadersAndData() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var lastRow = sheet.getLastRow(); var lastColumn = sheet.getLastColumn(); // ヘッダー行を取得 var headers = sheet.getRange(2, 1, 1, lastColumn).getValues()[0]; // カラムのインデックスを取得 var marketValueCol = headers.indexOf('時価総額') + 1; var liabilitiesCol = headers.indexOf('負債') + 1; var currentAssetsCol = headers.indexOf('流動資産') + 1; var netCurrentAssetsCol = headers.indexOf('流動資産-負債') + 1; var ncRatioCol = headers.indexOf('NC比率') + 1; // 緑色にするカラム if (marketValueCol > 0) {
    sheet.getRange(2, marketValueCol, lastRow - 1, 1).setFontColor("green");
  }
  if (liabilitiesCol > 0) {
    sheet.getRange(2, liabilitiesCol, lastRow - 1, 1).setFontColor("green");
  }
  if (currentAssetsCol > 0) {
    sheet.getRange(2, currentAssetsCol, lastRow - 1, 1).setFontColor("green");
  }

  // 赤色にするカラム
  if (netCurrentAssetsCol > 0) {
    sheet.getRange(2, netCurrentAssetsCol, lastRow - 1, 1).setFontColor("red");
  }
  if (ncRatioCol > 0) {
    sheet.getRange(2, ncRatioCol, lastRow - 1, 1).setFontColor("red");
  }
}
function copyMemoAndBackground() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var activeSheet = ss.getActiveSheet();
  var comparisonSheetName = activeSheet.getRange("C1").getValue();
  var comparisonSheet = ss.getSheetByName(comparisonSheetName);
  
  if (!comparisonSheet) {
    Logger.log("比較するタブが見つかりません。");
    return;
  }

  var lastRowActive = activeSheet.getLastRow();
  var lastRowComparison = comparisonSheet.getLastRow();
  var lastColumnActive = activeSheet.getLastColumn();
  
  // アクティブなタブに「メモ」列を追加
  activeSheet.insertColumnAfter(lastColumnActive);
  activeSheet.getRange(2, lastColumnActive + 1).setValue("メモ");

  // アクティブなタブと比較タブの会社名の列を取得
  var activeCompanyNames = activeSheet.getRange(3, 1, lastRowActive - 2, 1).getValues().flat();
  var comparisonCompanyNames = comparisonSheet.getRange(3, 1, lastRowComparison - 2, 1).getValues().flat();

  for (var i = 0; i < activeCompanyNames.length; i++) { var activeCompanyName = activeCompanyNames[i]; var comparisonIndex = comparisonCompanyNames.indexOf(activeCompanyName); if (comparisonIndex > -1) {
      // 比較タブからメモをコピー
      var memo = comparisonSheet.getRange(comparisonIndex + 3, lastColumnActive + 1).getValue();
      activeSheet.getRange(i + 3, lastColumnActive + 1).setValue(memo);
      
      // 比較タブの背景色をコピー
      var bgColor = comparisonSheet.getRange(comparisonIndex + 3, 1, 1, comparisonSheet.getLastColumn()).getBackground();
      activeSheet.getRange(i + 3, 1, 1, activeSheet.getLastColumn()).setBackground(bgColor);
    }
  }
}
function highlightNewEntries() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var activeSheet = ss.getActiveSheet();
  var comparisonSheetName = activeSheet.getRange("C1").getValue();
  var comparisonSheet = ss.getSheetByName(comparisonSheetName);
  
  if (!comparisonSheet) {
    Logger.log("比較するタブが見つかりません。");
    return;
  }

  var lastRowActive = activeSheet.getLastRow();
  var lastRowComparison = comparisonSheet.getLastRow();
  
  // アクティブなタブと比較タブの会社名の列を取得
  var activeCompanyNames = activeSheet.getRange(3, 1, lastRowActive - 2, 1).getValues().flat();
  var comparisonCompanyNames = comparisonSheet.getRange(3, 1, lastRowComparison - 2, 1).getValues().flat();

  for (var i = 0; i < activeCompanyNames.length; i++) {
    var activeCompanyName = activeCompanyNames[i];
    var comparisonIndex = comparisonCompanyNames.indexOf(activeCompanyName);

    if (comparisonIndex === -1) {
      // 比較タブに存在しない会社名の行を太字にする
      activeSheet.getRange(i + 3, 1, 1, activeSheet.getLastColumn()).setFontWeight("bold");
    }
  }
}







 

 

2024-07-11 、2024-07-15本のメモ

 

 

??????

2024-07-19追加メモ

100個のサイコロ中、1個が絶対6が出るいかさまサイコロ。
1つ選んで6が出た。

6が出たんだけど、それが「いかさまサイコロ」であったときの確率は、

「いかさまサイコロで6が出る確率」*「いかさまサイコロを選ぶ確率」/ 「全体の6が出る確率」

「全体の6が出る確率」=「いかさまサイコロ」で6が出る確率*「いかさまサイコロ」を選ぶ確率  + 「正常サイコロ」で6が出る確率 * 「正常サイコロ」を選ぶ確率

2024-06-24 データをスプレッドシートに張り付け後。

手動で、

流動資産-負債 NC比率

を計算。

すべて選択。

データ > 範囲を並べ替え > 範囲の並び替え詳細オプション >

データにヘッダー行が・・・をチェック > 並び替え条件(NC比率) >

降順チェック > 並び替え

例えば0.8とかまで残して削除。

次に、PERの昇順で並び替え。

とか。

 

2024-06-21 とりあえず動画を見た時のメモ

 

割安小型成長株。

大型株はTOPIXを上回れないのでは?

PER 重視

Kabutan、トヨタ

決算業績推移、修正一株益

つまり、265円が基準、けど、PER11.7倍

けど株価は3102円だから、265*11.7倍になっている。

ネットキャッシュ比率。

=ネットキャッシュ(現金みたいなもの)/ 時価総額

要は本当に割安か?PERだけでは本当か分からない。

要は本当に現金持っているのか?

スクリーニング。

・PER 10b倍以下

・PBR(固定資産入っちゃう) 1倍以下

・(流動資産 > 負債)=ネットキャッシュ

・(ネットキャッシュ > 時価総額)= NC比率 1以上 

・時価総額 500億円以下

 

つまり、

NC比率1は、ほぼ現金(100万円)が入った財布を、100万円で買える状態。

財布の価値はプラスになっている。

買った後は、”増配”、”自社株買い”=株価上昇する要因。を期待。

 

バフェットコードスクリーニング

これで検索した結果。

検索結果は127件あります。売上高の上位100件を表示します。

との事。

このデータをGsheetに張り付け。

手計算。

追加は、

流動資産-負債

NC比率 = ”流動資産-負債” / 時価総額

NC比率順にソートして使う。つまり1以上は超割安。

 

次に、株探、検索、ニュース、決算速報、一番上の決算

事例はプロパスト3236

決算単信PDF

中身。

流動資産:一年以内に現金化できる。

これが276億=バフェットコードにもいきなり出ている。

負債は、流動(すぐに返す)と固定を合わせた額がバフェットコードに出る。それ以上に現金みたいなものが多くある。

それなのに株価がそれより安い。っていう話のようだ。

最終的にここから。

配当金どうなる?自社株買いしそうか?

これを見ると、

配当金を増やしてきている。まだ利回りは1.96%だから、もっと増やしそう。

っていうか、隣の一株当たりの利益は45円あるのに、4円しか配当出していない。という話のようだ。

チャートは好み。

 

トレードメモ,STLA,ステランティス

created by Rinker
トレードツールTradingviewの紹介リンクです。

このツールを使っていますが、私の分析はあてになりません。

要は単なるメモです。どうせ当たりませんし。
投資は自己責任で。投資を推奨しているわけではありません。

というか、このツールは無料で相当なことができるので、あえて有料版にする必要があるかは微妙です。

無料の機能で十分なら使わなきゃ損とも思います。

 


2024-07-29 トラネコさんの銘柄 急落してた

要はちょっとだけエントリーしておくか。