mirror of
https://github.com/Magnus167/msyrs.git
synced 2025-11-20 02:16:11 +00:00
wip
This commit is contained in:
8
src/py/download.pyi
Normal file
8
src/py/download.pyi
Normal file
@@ -0,0 +1,8 @@
|
||||
from polars import DataFrame
|
||||
|
||||
__all__ = [
|
||||
"download_jpmaqs_indicators_as_df",
|
||||
]
|
||||
|
||||
def download_jpmaqs_indicators_as_df(*args, **kwargs) -> DataFrame:
|
||||
...
|
||||
8
src/py/msyrs.pyi
Normal file
8
src/py/msyrs.pyi
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
import .download # type: ignore
|
||||
import .qdf # type: ignore
|
||||
|
||||
__all__ = [
|
||||
"download",
|
||||
"qdf",
|
||||
]
|
||||
24
src/py/qdf.pyi
Normal file
24
src/py/qdf.pyi
Normal file
@@ -0,0 +1,24 @@
|
||||
from polars import DataFrame
|
||||
|
||||
__all__ = [
|
||||
"load_qdf",
|
||||
"load_qdf_from_download_bank",
|
||||
"reduce_dataframe",
|
||||
"update_dataframe",
|
||||
]
|
||||
|
||||
# qdf/load_qdf.pyi
|
||||
def load_qdf(*args, **kwargs) -> DataFrame:
|
||||
...
|
||||
|
||||
# qdf/load_qdf_from_download_bank.pyi
|
||||
def load_qdf_from_download_bank(*args, **kwargs) -> DataFrame:
|
||||
...
|
||||
|
||||
# qdf/reduce_dataframe.pyi
|
||||
def reduce_dataframe(*args, **kwargs) -> DataFrame:
|
||||
...
|
||||
|
||||
# qdf/update_dataframe.pyi
|
||||
def update_dataframe(*args, **kwargs) -> DataFrame:
|
||||
...
|
||||
@@ -4,10 +4,14 @@ use polars::prelude::*;
|
||||
use std::collections::HashMap;
|
||||
use std::error::Error;
|
||||
|
||||
#[allow(unused_imports)]
|
||||
use std::f32::consts::E;
|
||||
|
||||
/// The required columns for a Quantamental DataFrame.
|
||||
const QDF_INDEX_COLUMNS: [&str; 3] = ["real_date", "cid", "xcat"];
|
||||
|
||||
/// Pivots a dataframe to a format where each ticker a column.
|
||||
#[allow(dead_code)]
|
||||
pub fn pivot_dataframe_by_ticker(
|
||||
df: DataFrame,
|
||||
metric: Option<String>,
|
||||
@@ -24,7 +28,7 @@ pub fn pivot_dataframe_by_ticker(
|
||||
metric = df.get_column_names()[3].to_string();
|
||||
}
|
||||
|
||||
let mut new_df = df.clone();
|
||||
// let mut new_df = df.clone();
|
||||
// keep only the index columns and the metric column
|
||||
let mut keep_cols = QDF_INDEX_COLUMNS
|
||||
.to_vec()
|
||||
@@ -33,7 +37,9 @@ pub fn pivot_dataframe_by_ticker(
|
||||
.collect::<Vec<String>>();
|
||||
keep_cols.push(metric.clone());
|
||||
|
||||
new_df = new_df.select(keep_cols)?;
|
||||
return Err("Not implemented".into());
|
||||
|
||||
// new_df = new_df.select(keep_cols)?;
|
||||
// let ticker_col = get_ticker_column_for_quantamental_dataframe(&new_df)?;
|
||||
|
||||
// new_df.with_column(ticker_col)?;
|
||||
@@ -42,9 +48,11 @@ pub fn pivot_dataframe_by_ticker(
|
||||
|
||||
// let dates_col = df.column("real_date")?;
|
||||
|
||||
Ok(df)
|
||||
// Ok(df)
|
||||
}
|
||||
|
||||
/// Splits a dataframe by ticker.
|
||||
#[allow(dead_code)]
|
||||
fn split_df_by_tickers(df: &DataFrame) -> Result<HashMap<String, DataFrame>, Box<dyn Error>> {
|
||||
check_quantamental_dataframe(df)?;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user