当前位置: 首页 > news >正文

福州网站关键排名动漫设计是干什么的

福州网站关键排名,动漫设计是干什么的,请问聊城网站建设,哪些因素营销网站权重用arrow c版本读取了csv中的基金净值数据#xff0c;然后计算了夏普率#xff0c;比较尴尬的是#xff0c;arrow c版本计算耗费的时间却比python的empyrical版本耗费时间多。。。 arrow新手上路#xff0c;第一次自己去实现功能#xff0c;实现的大概率并不是最高效的方…用arrow c版本读取了csv中的基金净值数据然后计算了夏普率比较尴尬的是arrow c版本计算耗费的时间却比python的empyrical版本耗费时间多。。。 arrow新手上路第一次自己去实现功能实现的大概率并不是最高效的方式但是我也踏出了用arrow c改写backtrader的第一步。 用arrow改写empyrical就当练手了目标是做成两个文件empyrical.h和empyrical.cpp 用arrow和qt改写pyfolio, 实现更美观的界面做成两个文件pyfolio.h 和pyfolio.cpp 改写backtrader c版本的文件 my_example.cc #include arrow/api.h #include arrow/io/api.h #include arrow/csv/api.h #include arrow/compute/api.h #include iostream #include chrono //#include ../empyrical/empyrical.harrow::Status RunMain(){auto start_time std::chrono::high_resolution_clock::now();// 首先我们需要设置一个可读文件对象它允许我们将读取器指向磁盘上的正确数据。我们将重复使用这个对象并将其重新绑定到多个文件中。std::shared_ptrarrow::io::ReadableFile infile;// 绑定输入文件到 test_in.csvARROW_ASSIGN_OR_RAISE(infile, arrow::io::ReadableFile::Open(/home/yun/Documents/fund_nav.csv));// (文档部分CSV 表格声明)std::shared_ptrarrow::Table csv_table;// CSV 读取器有多个对象用于不同选项。现在我们将使用默认值。ARROW_ASSIGN_OR_RAISE(auto csv_reader,arrow::csv::TableReader::Make(arrow::io::default_io_context(), infile, arrow::csv::ReadOptions::Defaults(),arrow::csv::ParseOptions::Defaults(), arrow::csv::ConvertOptions::Defaults()));// 读取表格。ARROW_ASSIGN_OR_RAISE(csv_table, csv_reader-Read());// 输出显示Table的元数据信息// std::cout Table Metadata: std::endl;// std::cout Number of columns: csv_table-num_columns() std::endl;// std::cout Number of rows: csv_table-num_rows() std::endl;// std::cout Schema: csv_table-schema()-ToString() std::endl;// 输出显示Table的数据// for (int i 0; i csv_table-num_columns(); i) {// std::shared_ptrarrow::Array column csv_table-column(i);// std::cout Column i : column-ToString() std::endl;// }// 1. 显示table信息到std::cout的方法// std::shared_ptrarrow::RecordBatch record_batch;// arrow::Resultstd::shared_ptrarrow::RecordBatch result csv_table-CombineChunksToBatch(); // 执行某个操作返回Result// if (result.ok()) {// record_batch result.ValueOrDie();// // 在这里使用 record_batch// } else {// // 处理错误// std::cerr Error: result.status().ToString() std::endl;// }// //arrow::PrettyPrint(*record_batch, 2, std::cout);// arrow::Status status arrow::PrettyPrint(*record_batch, 2, std::cout);// if (!status.ok()) {// // 处理错误例如打印错误信息// std::cerr Error: status.ToString() std::endl;// }// 2. 显示table信息到std::cout的方法// std::cout csv_table-ToString() std::endl;// 3. 显示table信息到std::cout的方法// arrow::Status status arrow::PrettyPrint(*csv_table, 2, std::cout);// if (!status.ok()) {// // 处理错误例如打印错误信息// std::cerr Error: status.ToString() std::endl;// }// 开始计算夏普率// std::cout 一年的交易日有 AnnualizationFactors::DAILY 天 std::endl;// std::cout DAILY std::endl;// 计算收益率arrow::Datum fund_returns;arrow::Datum fund_diff;std::shared_ptrarrow::ChunkedArray cum_nav csv_table-GetColumnByName(复权净值);std::shared_ptrarrow::ChunkedArray now_cum_nav cum_nav-Slice(1,cum_nav-length()-1);std::shared_ptrarrow::ChunkedArray pre_cum_nav cum_nav-Slice(0,cum_nav-length()-1);ARROW_ASSIGN_OR_RAISE(fund_diff, arrow::compute::CallFunction(subtract, {now_cum_nav,pre_cum_nav}));ARROW_ASSIGN_OR_RAISE(fund_returns, arrow::compute::CallFunction(divide, {fund_diff,pre_cum_nav}));// // 获取结果数组// std::cout Datum kind: fund_returns.ToString()// content type: fund_returns.type()-ToString() std::endl;// // std::cout fund_returns.scalar_asarrow::DoubleScalar().value std::endl;// std::cout fund_returns.chunked_array()-ToString() std::endl;// 计算夏普率arrow::Datum avg_return;arrow::Datum avg_std;arrow::Datum daily_sharpe_ratio;arrow::Datum sharpe_ratio;arrow::Datum sqrt_year;// 创建 Arrow Double 标量double days_of_year_double 252.0;std::shared_ptrarrow::Scalar days_of_year arrow::MakeScalar(days_of_year_double);ARROW_ASSIGN_OR_RAISE(sqrt_year, arrow::compute::CallFunction(sqrt, {days_of_year}));ARROW_ASSIGN_OR_RAISE(avg_return, arrow::compute::CallFunction(mean, {fund_returns}));arrow::compute::VarianceOptions variance_options;variance_options.ddof 1;ARROW_ASSIGN_OR_RAISE(avg_std, arrow::compute::CallFunction(stddev, {fund_returns},variance_options));ARROW_ASSIGN_OR_RAISE(daily_sharpe_ratio, arrow::compute::CallFunction(divide, {avg_return,avg_std}));ARROW_ASSIGN_OR_RAISE(sharpe_ratio, arrow::compute::CallFunction(multiply, {daily_sharpe_ratio,sqrt_year}));std::cout 计算得到的夏普率为 : sharpe_ratio.scalar_asarrow::DoubleScalar().value std::endl;auto end_time std::chrono::high_resolution_clock::now();auto duration std::chrono::duration_caststd::chrono::microseconds(end_time - start_time);std::cout c读取数据,然后计算夏普率一共耗费时间为: duration.count()/1000.0 ms std::endl;return arrow::Status::OK();}// (文档部分: 主函数) int main() {arrow::Status st RunMain();if (!st.ok()) {std::cerr st std::endl;return 1;}return 0; }CMakeLists.txt cmake_minimum_required(VERSION 3.16)project(MyExample)find_package(Arrow REQUIRED) find_package(Parquet REQUIRED) find_package(ArrowDataset REQUIRED)add_executable(my_example my_example.cc) target_link_libraries(my_example PRIVATE Arrow::arrow_shared Parquet::parquet_shared ArrowDataset::arrow_dataset_shared)在同一个文件夹下运行 cmake -B build cmake --build build ./build/my_examplepython 运行代码如下 import pandas as pd import empyrical as ep import time a time.perf_counter() data pd.read_csv(/home/yun/Documents/fund_nav.csv) returns data[复权净值].pct_change().dropna() sharpe_ratio ep.sharpe_ratio(returns) print(计算得到的sharpe_ratio : , sharpe_ratio) b time.perf_counter() print(fpython读取数据,然后计算夏普率一共耗费时间为: {(b-a)*1000.0} ms)
http://www.dnsts.com.cn/news/149352.html

相关文章:

  • 网站开发公众号开发网站排名怎么做 知乎
  • 广州网站制作十年乐云seo西安杰商网络网站建设
  • 做链家房产的网站怎么做的快速网站
  • 莘县做网站上海的建设项目招投标在哪个网站
  • 如何做明星的个人网站wordpress 幻灯片加数字
  • 南昌网站建设过程网站开发人员上级主管
  • 网站怎么做留言提交功能福田网站建设公司
  • 重庆市工程建设信息网新网站深圳社保网上服务平台
  • 安徽全过程网站搭建案例网站域名好了下一步
  • 网站开发涉及内容免费不收费用网站
  • 建设企业网站网站崩溃wordpress境外支付
  • 武进网站建设价格WordPress小程序修改
  • 免费的ai写作网站网站后台 竖着 导航菜单
  • 在哪个网站可以学做甜点网站建设与管理的认识
  • 免费下载软件的网站有哪些叶梓 wordpress 主题
  • 德阳北京网站建设制作企业网站公司排名
  • 西安网站seo做音乐下载网站
  • 3g版网站制作深圳福永网站建设
  • 网站页面太多是否做静态wordpress 获取page别名
  • 外贸建站效果推广引流渠道
  • 网站建设推广销售人员网站建设怎么选择MySQL数据库大小
  • 网站建设自己在家接单页面设计自述
  • 没有网站做淘宝客吉林市市政建设集团网站
  • 北京飞雨网站建设公司晋城市 制作网站
  • 网络营销岗位武夷山网站建设wzjseo
  • 重庆电力公司网站做影视网站版权问题
  • 四川网站制作成都wordpress4.5.3漏洞
  • 胜芳哪里做网站html企业网站源码下载
  • 幼教网站建设分析seo专员是干什么的
  • 厦门网站建设方案报价大数据分析软件