全是原题?东吴金科2024量化研究员笔试0402

在这里插入图片描述

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

记得设为星标哦

前言

限时60min,4个概率和数理统计题、一个编程题,实则可以看为两个编程题。如果这些题是第一次做的话,还是比较难或者难以下手的,尤其是编程题考了动态规划,难度为力扣hard级别,对标互联网大厂笔试。但是做多了,就会发现基本都是经典题型,所以笔试前要好好准备,多刷绿宝书、红宝书,多刷LeeCode!

春招和暑期实习和笔试也陆陆续续开始了,欢迎同学们在公众号后台投稿,你们的每条留言小编都会仔细查看。累计投稿4场将获得知识星球100元优惠券。更全的笔面试资料及学习路线在知识星球中,会随着资源的积累不断涨价,早加入早学习早拿offer早赚米!

题目1

现在有 100 个人,他们分别拿到了从 1 号到 100 号的座位,这些乘客会按号码顺序登机并应当对号入座,如果他们发现对应号座位被别人坐了,就会在剩下空的座位随便挑一个坐。现在假设 1 号乘客疯了(其他人没疯),他会在 100 个座位中随便选一个座位坐下,问:第100 人正确坐到自己坐位的概率是多少?

【参考答案】1/2

经典概率题。寻找递推关系:

A.若乘客数量是2,则答案是1/2;

B.若乘客数量是3,则答案是1/2;

C.若乘客数量是n,求a(n),那么,

1)疯子坐的是自己的位置,1/n

2)疯子坐的是第2个位置,则去掉疯子和第2个位置,此时变成了求a(n-1);

  1. 疯子坐的是第3个人的位置,去掉疯子和第2个位置,还有第2个人和第2个位置,此时变成了求a(n-2);

4)以此类推;

则:a(n)=(1+a(n-1)+a(n-2)+~+a(2))/n

同理,a(n-1)=(1+a(n-2)+a(n-3)+~+a(2))/n-1;

等式变形有:na(n)-a(n-1)=(n-1)a(n-1);即a(n)=a(n-1)

所以,结果是1/2;

题目2

有 n 个口袋,每个口袋均有 a 个白球,b 个黑球,现在做如下操作:从第一个口袋中任取一球放入第二个口袋,从第二个口袋中任取一球放入第三个口袋,

以此类推,直至从第 n-1 个口袋任取一球放入第 n 个口袋。问:最后从第 n 个口袋任取一球,取到白色的概率为多少。(请写出思路和计算过程)

【参考答案】P=a/(a+b)

数学归纳法或寻找递推关系。下面给出一个新思路:

n个口袋里的球的总数是n(a+b) 其中白球na个 黑球nb个
此题相当于求在n(a+b)个球中,取一个白球的概率
P=na/n(a+b)=a/(a+b)

题目3

x1,x2,x3,x4,x5 为[0,1]区间均匀分布的随机变量,求 min(x1,x2,x3,x4,x5)和max(x1,x2,x3,x4,x5)的相关系数

【参考解析】公式较多,不方便打,给出思路分析:

首先计算这些变量的期望值和方差,然后利用它们的定义或通过积分计算协方差,最后应用相关系数的公式。

题目4

长度为 10 米的钢筋,连续砍两刀(即先砍下一段,然后再砍剩下的一段),3 段都大于 1米的概率是多少?

【参考解析】

设第一刀离左端的距离为 x,第二刀离左端的距离为 y,那么第三段的长度为 10−x−y。

需要满足以下条件:

(1)x>0,即第一刀离左端距离大于 0。

(2)y>0,即第二刀离左端距离大于 0。

(3)10−x−y>1,即第三段长度大于 1。

将这些条件绘制在二维坐标系中,阴影部分表示满足要求的区域。我们需要计算这个阴影部分的面积。计算矩形的二重积分

题目5

编程题:(1)给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个最优算法,在只允许交易一次的前提下,来计算你所能获取的最大利润,且不能开空仓。

(2)若最多可以完成两笔交易呢?(必须在再次购买前出售掉之前的股票,亦不能开空

仓)

【参考答案】均为leetcode原题、股票买卖系列

(1)LeetCode num121买卖股票的最佳时机。枚举卖出价格,维护买入的最小值

class Solution
<think>嗯,用户让我介绍一下“量化Python笔试模拟”,首先我需要明确用户的需求是什么。可能用户正在准备量化金融相关的职位面试,需要练习Python编程。或者他们可能对量化领域不太熟悉,想了解这类笔试通常会考什么内容。 首先,我应该考虑量化笔试常见的考点。量化岗位通常重视数据处理、统计学、算法以及金融知识的应用。Python方面,可能会涉及NumPyPandas的使用,数据清洗、金融模型实现,比如蒙特卡洛模拟、Black-Scholes模型,还有可能涉及算法,比如动态规划解决最优交易问。 接下来,我需要判断用户的知识水平。如果用户是初学者,可能需要从基础的目开始,逐步深入;如果已经有经验,可能需要更复杂的目。但用户的问比较广泛,所以应该涵盖不同难度层次的例子,并给出对应的解答思路和代码示例。 然后,我要考虑如何组织内容。或许分成几个部分,比如数据处理、算法与数值计算、金融模型、统计与概率等,每个部分给出例和解析。同时,提醒用户需要注意的关键点,比如代码效率、库的熟练程度等。 另外,用户可能希望了解如何准备这类笔试,所以除了例,还可以给出一些学习资源或建议,比如推荐学习PandasNumPy文档,练习LeetCode的相关目,或者研究开源量化项目。 最后,检查是否有遗漏的部分,比如是否需要解释量化金融的基本概念,或者是否需要强调数学基础的重要性。但根据问,用户可能更关注Python笔试的具体目和准备方法,所以重点放在例和解答上比较合适。</think>以下是关于量化方向Python笔试的常见型及模拟示例,帮助您了解这类笔试的考察重点和解思路: --- ### **一、量化笔试常见型** 1. **数据处理与清洗** - Pandas/NumPy操作 - 时间序列处理 - 缺失值/异常值处理 2. **金融模型与数值计算** - 蒙特卡洛模拟 - 期权定价模型(如Black-Scholes) - 投资组合优化 3. **算法与数学** - 动态规划(如最优交易问) - 概率与统计(如贝叶斯推断) - 时间复杂度优化 4. **实际场景** - 回测框架实现 - 因子计算(如Alpha因子) - 风险管理指标(VaR、最大回撤) --- ### **二、模拟示例与解析** #### **目1:数据清洗与处理** **要求**:给定股票价格DataFrame(包含缺失值),完成以下任务: ```python import pandas as pd import numpy as np data = { 'date': pd.date_range('2023-01-01', periods=5), 'price': [100, np.nan, 105, 103, np.nan] } df = pd.DataFrame(data) ``` 1. 向前填充缺失值 2. 计算每日收益率 3. 找出收益率大于3%的日期 **参考答案**: ```python # 1. 向前填充 df['price_filled'] = df['price'].ffill() # 2. 计算收益率 df['return'] = df['price_filled'].pct_change() # 3. 筛选条件 result = df[df['return'] > 0.03]['date'] print(result) ``` --- #### **目2:蒙特卡洛模拟** **要求**:用Python模拟股票价格路径(几何布朗运动),并计算欧式看涨期权价格。 **参考答案**: ```python import numpy as np def monte_carlo_option_price(S0=100, K=105, r=0.05, sigma=0.2, T=1, sims=10000): np.random.seed(42) dt = T / 252 paths = np.zeros((252, sims)) paths[0] = S0 for t in range(1, 252): z = np.random.standard_normal(sims) paths[t] = paths[t-1] * np.exp((r - 0.5*sigma**2)*dt + sigma*np.sqrt(dt)*z) payoff = np.maximum(paths[-1] - K, 0) option_price = np.exp(-r*T) * np.mean(payoff) return round(option_price, 2) print(monte_carlo_option_price()) # 示例输出:约7.89 ``` --- #### **目3:动态规划(交易问)** **要求**:给定价格数组 `prices`,计算最多完成两次交易的最大利润。 **参考答案**: ```python def max_profit(prices): buy1 = buy2 = -float('inf') sell1 = sell2 = 0 for p in prices: buy1 = max(buy1, -p) sell1 = max(sell1, buy1 + p) buy2 = max(buy2, sell1 - p) sell2 = max(sell2, buy2 + p) return sell2 prices = [3, 3, 5, 0, 0, 3, 1, 4] print(max_profit(prices)) # 输出:6(3-0买入,4卖出;0-1买入,4卖出) ``` --- ### **三、备考建议** 1. **重点库**:熟练掌握 `Pandas`(数据操作)、`NumPy`(数值计算)、`SciPy`(统计模型)。 2. **算法基础**:动态规划、贪心算法在交易问中的应用。 3. **金融知识**:理解BS模型、CAPM、风险指标等概念。 4. **刷平台**:LeetCode(标签:动态规划、数组)、QuantConnect(量化实战)。 如果需要更具体的目或领域解析,可以进一步说明方向(如衍生品定价、因子挖掘等)!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值