前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >稳博投资开发类笔试题目0329

稳博投资开发类笔试题目0329

原创
作者头像
量化投资和人工智能公众号
修改2024-06-25 10:55:57
2240
修改2024-06-25 10:55:57
举报
文章被收录于专栏:量化私募笔面试

关注我们,每周发布最新的笔面试题目和解析

前言

量化开发类笔试题目,开卷 48h。第一题倾向于逻辑题和算法题相结合的形式。第二题是项目题,考察候选人对C++编写项目和回测系统的理解和认识,可以看出系统设计能力和相关代码经验,区分度明显。

春招和暑期实习和笔试也陆陆续续开始了,欢迎同学们在公众号后台留言投稿,你们的每条留言小编都会仔细查看,投稿一场完整笔试的同学有机会获得一杯奶茶的现金奖励,累计投稿三场的有机会免费加入知识星球。

题目1

考虑一个投掷硬币问题

背景:小P和小H分别选择一个4个硬币组成的序列(正面由U表示,反面由D表示),一枚硬币每次会公正的投掷并记录结果,先出现的序列为获胜者。

问题:给定小P选择的一个序列,请为小H设法给出胜率最大的对应序列,并给出C++/python代码

实例:小P选择DDDD,小H可以选择UDDD

扩展:将4改为任意有限正整数,你会如何优化你的计算,可以选择回答或者不回答。

【思路】

1. 题目来源 penney's game,本题的关键在于这是一个连续投掷的场景,即需要考虑投掷四次后的前后关联。

2. 对于任意给定的序列,小 H 的最优策略是选择一个序列,这个序列能够尽可能早地在游戏中出现,同时延迟小 P 序列的出现。基于前缀分析的策略,如果小 H 的序列在前几个硬币上与小 P 的序列相似,但在最后一个硬币上不同,那么小 H 的胜率通常会更高。这样,小 H 的序列在小 P 的序列形成的过程中就有机会先于小 P 的序列完成,因为它利用了小 P 序列的内部模式。

注意:需要的是极值,而非较优解

题目2

C++实现一个回测系统框架的demo(针对股票日频即可),并将统计模块具体实现(包括收益曲线的计算,IC,Sharpe以及你认为重要的统计指标)注:框架编写可以参考已有的开源框架如BackTrader,vnpy等。

【简要思路】

实现一个C++回测系统框架的Demo,针对股票日频数据,并具体实现统计模块,是一个涉及多个复杂组件的任务。为了保证代码的性能和可维护性,依据现代C++的最佳实践进行设计和实现。以下是详细的实现思路,分为几个主要部分:

1. 系统架构设计

数据管理:负责数据的加载、存储和访问。可以使用C++11及更高版本的文件操作和内存管理特性,确保数据处理的高效和安全。

策略接口:定义策略的基类,包括初始化、信号生成等虚函数。策略类应能够根据历史数据生成交易信号。

执行引擎:根据策略生成的信号执行交易,管理订单、持仓和资金。

统计模块:计算策略的性能指标,如收益曲线、IC、Sharpe比率等。

事件驱动系统:框架的核心,负责协调各个组件的交互。使用C++的事件队列、回调函数等实现。

2. 数据管理

使用std::vector或std::map存储股票日频数据,键为日期,值为价格等信息。

实现数据读取功能,支持从CSV或数据库读取股票数据。利用C++的文件流(fstream)和字符串处理功能。

3. 策略接口设计

设计一个策略基类,包含虚函数如initialize(初始化策略)、generateSignals(生成交易信号)等。

可以通过继承该基类,实现自己的交易策略。

4. 执行引擎

管理订单流程,包括订单创建、撮合和执行。

管理持仓信息和资金账户。

使用现代C++的智能指针管理资源,确保内存安全。

5. 统计模块实现

收益曲线:计算每个交易日的累计收益,可以使用std::accumulate。

IC(信息系数):衡量预测值和实际值之间的相关性,需要实现相关性计算函数。

Sharpe比率:计算策略的风险调整后收益率,需考虑无风险利率和策略收益的标准差。

其他指标:如最大回撤(Max Drawdown)、胜率(Win Rate)等,根据策略特性选择合适的指标。

6. 事件驱动系统

设计事件类和事件队列,事件包括市场数据更新、交易信号、订单事件等。

使用C++11的std::function和std::bind实现回调机制,处理不同类型的事件。

7. 实现细节和性能优化

内存管理:利用C++11引入的智能指针(如std::unique_ptr和std::shared_ptr)管理动态分配的内存,防止内存泄露。

多线程和并发:使用C++11的线程库()、互斥量()等实现数据处理和计算的并行化。

模板编程:利用模板实现策略和模型的泛化,提高代码的复用性和灵活性。

其他思路或想法欢迎在留言区交流补充

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目1
  • 题目2
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档