Files
2026-08-25 22:28:36 +08:00

1076 lines
30 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# quantitative trading
> 来源:原 mongodb 集合 `t_blog` · 整理日期:2026-08-25
> 分类 ID:`2022051700024800000000000003` · 排序:9 · 文章数:10
## 目录
1. [vnpy application](#vnpy-application)
2. [统计学・数学・線形代数](#统计学数学線形代数)
3. [保证金实例](#保证金实例)
4. [工具函数](#工具函数)
5. [python虚拟环境](#python虚拟环境)
6. [量化投资与机器学习1](#量化投资与机器学习1)
7. [线性代数](#线性代数)
8. [高等数学(上)数列,函数,极限](#高等数学上数列函数极限)
9. [高等数学(上)导数和微分](#高等数学上导数和微分)
10. [高等数学(上)积分和微分方程](#高等数学上积分和微分方程)
---
## 1. vnpy application
<sub>bid: `2022051700024900000000000004`</sub>
## 概述
vnpy doc
- 分析工具
> numpy, pandas
> ta-lib 这个安装 不能用pip,需要进这个链接用whl的方式安装。
https://www.lfd.uci.edu/~gohlke/pythonlibs/#TA-Lib
可以用搜寻快速找到(搜寻ta-lib)
- 可视化工具可視化
> Matplotlib
- IDE
> Jupyter
> NoteBook
> Spyder
> pycharm
- 数据接口
> Tushare
> DataYes
> Wind
> RICEQUANT
>
## python 安装
这个需要说一下,因为我们是需要使用spyder的,还有一些其他工具,如果多项目,不同版本控制的话,暂时没必要搞虚拟环境venv。
从官网下载installer,安装添加path即可,我推荐3.8版本,不高不低,适配性好一下,暂时学习阶段够用。
如果后期实盘操作,我可能做云服务器,通过kubernetes来操作,毕竟云服务器额网络环境更稳定些。
> point!
> ADD PATH to env
## anaconda
这个不用说了,集合了python的各种ide
## pandas
> pandas version: 1.3.
[document](https://pandas.pydata.org/pandas-docs/version/1.3/index.html)
Pandas 的数据结构主要是
Series(一维数组), DataFrame(二维数组)
> 基本上可以认为拿到一列或者一行数据的话就是Series,范围数据就是DF
## spyder
这个工具的话,临时对数据显示
可能安装提示要安装:
# 直接从安装页面copy的话- 这个符号 可能会变,导致说找不到模块
pip install spyder-kernels
## C++
> https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/
> 使用C++桌面开发
> 还有C++14 也是需要的
> https://blog.csdn.net/m0_71983822/article/details/125470192
## vnpy 安装
首先 vnpy的组件化之后,GitHub、仓库就变的很多了
我们需要按需求 clone 工程
- 主体工程
https://github.com/vnpy/vnpy clone即可
- 各个组件一览
https://github.com/vnpy
> 我们需要的组件按需导入pip install .......
> 我们选ctp 期货接口 https://github.com/vnpy/vnpy_ctp
> 我们使用mongo 数据库 https://github.com/vnpy/vnpy_mongodb
## vnpy 核心组件
### EventEngine
事件引擎,事件驱动引擎,作为事件驱动型交易程序的核心。
### CtpGateway
CTP的交易接口,
---
## 2. 统计学・数学・線形代数
<sub>bid: `2022082419545600000000000001`</sub>
## 希腊字母
> α アルファ
> λ ラムダ
> σ シグマ
> ρ ロー
## 数学期望
> mathematic expectation
期望和平均值的主要区别是:期望主要是针对大群体数据的计算,是通过抽样的结果去预测整个群体的“期望值”;平均值主要针对小群体的计算,得到的结果是准确无误的,不会有模糊的概念。
1、均值(mean value)是针对既有的数值(简称母体)全部一个不漏个别都总加起来,除以总母体个数做平均值,就叫做均值。此法针对小群体做此加总后除以个数得到均值的方法,是很准确无误的,这个得到的均值是准确的,不会有模糊的概念。
平均值,有算术平均值,几何平均值,平方平均值(均方根平均值,rms),调和平均值,加权平均值等。
2、当这个数群(data group)的数量(numbers)很大很多时,我们只好做个抽样(sampling),并“期望”透过抽样所得到的均值,去预测整个群体的“期望值(expectation value)”。
在概率论和统计学中,期望值(或数学期望、或均值,亦简称期望,物理学中称为期待值)是指在一个离散性随机变量试验中每次可能结果的概率乘以其结果的总和。
---
## 加权平均
样本中变量X 出现的概率 Z
> x(X<sub>1</sub>Z<sub>1</sub> + X<sub>2</sub>Z<sub>2</sub> + ... + X<sub>n</sub>Z<sub>n</sub>) / n
---
## 方差
方差刻画了随机变量的取值对于其数学期望的离散程度。(标准差、方差越大,离散程度越大)
> variance
---
## 协方差
> Covariance
在概率论和统计学中,协方差用于衡量两个变量的总体误差。
而方差是协方差的一种特殊情况,即当两个变量是相同的情况。
期望值分别为E[X]与E[Y]的两个实随机变量X与Y之间的协方差Cov(X,Y)定义为:
> Cov(X,Y)
> = E[(X-E[X])(Y-E[Y])]
> = E(XY -XE[Y] -YE[X] + E[X]E[Y])
> = E(XY) - E[X]E[Y]
---
## 相关系数 corrcoef
反映两变量间线性相关关系的统计指标称为相关系数 ρ<sub>XY</sub>
> X 增大 Y 增大,X 减小 Y减小 ->> 正相关
> X 增大 Y 减小,X 减小 Y增大 ->> 负相关
> X 增大 Y 不变,X 不变 Y增大 ->> 不相关
Var[X] 为 X 的方差
Var[Y] 为 Y 的方差
> corrcoef(X, Y) = ρ<sub>XY</sub> = Cov(X,Y) / (√X √Y)
相关系数 有以下特性
> |ρ<sub>XY</sub>|≦1
---
## 3. 保证金实例
<sub>bid: `2022082419546500000000000002`</sub>
## 期货的本质就是保证金交易
以 为 菜粕(cai po)为例:
合约代码:RM301 // 这说明是23年01月到期
交易单位:10吨/手
最小交易单位:1手
最小变动价格:1元/吨
最低保证金: 9%
最后交割日期:2023-01-19
最后交易日期:2023-01-16
合约类型:商品期货
交割方式:实物交割
当天晚上8:08 时间的 菜粕的价格是 3020元/吨
如果买入,那么根据最小的交易单位为1手,即10吨,那么我们需要10 吨 x 3020 元/吨 = 30200 元
根据保证金为9%原则,我们需要的保证金为 30200 x 0.09 = 2718 元,这也是为什么期货的开户最小资金为5000元的原因。
当我们买了1手,即10吨的期货,花掉了2718元的保证金,那么剩余的可利用资金就是 5000 - 2718 = 2282 元
我们知道 菜粕 价格变动1元的话,一手,即10吨的变动就是10元
菜粕 价格变动10元的话,一手,即10吨的变动就是100元
菜粕 价格变动100元的话,一手,即10吨的变动就是1000元
以此类推,菜粕 价格变动228元的话,一手,即10吨的变动就是2280元,如果 228元的变动是价格增加,恰好,你是买入,那么此时:
你的 账户价值为: 5000 元 + 2280元
如果 228元的变动是价格减少,你是买入,那么此时:
你的账户价值为: 5000 元 - 2280元
// 实际上为 5000元 - 10 吨 * (2718 - 2490)
// 即买了10吨 但是价格降了228元 所以赔了2280元来考虑
如果
我们通过历史价格观察可以知道,菜粕的价格波动为2400元 到4000元,通常情况下的波动为 2400到 3200元左右
所以 对于 228元的价格波动来说,是远远满足不了 2400 到 3200元的波动的
## pricetick
期货的价格最小一跳单位 1.0
##
---
## 4. 工具函数
<sub>bid: `2022082920585700000000000001`</sub>
## pandas
---
### 1. Rolling
> rolling 函数 【Rolling window functions】
[Document](https://pandas.pydata.org/pandas-docs/version/1.3/reference/api/pandas.Series.rolling.html#pandas.Series.rolling)
Series.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None, method='single')
DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None, method='single')
the Rolling function will return a Rolling Object.
- Rolling.mean 滚动平均(rolling mean)
### 2.dropna 関数
用来剔除Dataframe中的空值。
> Dataframe = Dataframe.dropna()
## talib
---
### Simple Moving Average,SMA
> 数学公式: SMA = (C<sub>1</sub> + C<sub>2</sub> + C<sub>3</sub> + C<sub>4</sub> + …… + C<sub>n</sub>) / n
> talib.SMA(data, 20)
###
## matplotlib
---
### candlestick_ohlc (K线)
> pip install mpl_finance
## numpy
---
### corrcoef 関数
corrcoef函数用来计算矩阵相关系数
(1)corrcoef(x):若x为一个矩阵,返回的则是一个相关系数矩阵,其尺寸与矩阵x一样。
(2)corrcoef(x, y):计算列向量x、y的相关系数,要求x、y具有相等的元素个数。如果x、y是矩阵,那么corrcoef函数会将其转换为列向量,相当于corrcoef([x(:),y(:)])。
> corrcoef(x, y)
>
### std 标准差
> np.std(df)
###
---
## 5. python虚拟环境
<sub>bid: `2022083108519100000000000002`</sub>
## python虚拟环境
---
一台电脑上,用python2运行了A程序,又想用python3运行B程序。
而通常程序运行的python环境都是定义在环境变量中的。
遇到这种情况怎么办,当然是隔离运行环境了。
生成程序A和程序B各自用的环境就是所谓的虚拟环境了
## 安装虚拟环境前提
---
- 安装python 3.3 以上版本
## venv 模块
---
Python3.3 之后,可以用模块 venv 代替 virtualenv 工具,好处是不用单独安装,3.3 及之后的
版本,都可以通过安装好的 Python 来创建虚拟环境:
# 创建了python虚拟环境,生成myvenv文件夹
python -m venv myvenv
# 生成myvenv文件夹目录结构
# windows
$ cd .\myvenv\
$ dir
# ----------------------------------------------------
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2022/6/14 11:31 Include
d----- 2022/6/14 11:31 Lib
d----- 2022/6/14 11:31 Scripts
-a---- 2022/6/14 11:31 122 pyvenv.cfg
# -----------------------------------------------------
# linux
$ cd myvenv
$ ll
## 激活
---
虚拟环境创建好后,需要激活才能在当前命令行中使用,可以理解成将当前命令行环境中 PATH 变量
的值替换掉
- Windows 系统中,激活脚本路径是 <myvenv>\Scripts\activate.bat,如果是 powershell 命令行,脚本换成 Activate.ps1 , 注意将 <myvenv> 换成你自己的虚拟环境目录
# CMD 命令提示符下
$ cd C:\Users\xxxx\xxx\myvenv\Scripts
$ activate.bat
# powershell下
$ cd C:\Users\xxxx\xxx\myvenv\Scripts
$ Activate.ps1
- Linux 系统中,激活脚本路径是 <myvenv>/bin/activate,默认脚本没有执行权限,要么设置
脚本为可执行,要么用 source 命令执行
# 设置为可执行文件
$ chmod 777 myvenv/bin/activate
# source 命令执行
$ source myvenv/bin/activate
## 退出环境
---
# 直接执行 deactivate 即可, 在虚拟环境下,该命令可以直接执行。
deactivate
## 结合开发工具 VS code 使用
---
同时按下 Ctrl+Shift+P,在弹出列表下,选择 Python: select Interpreter
然后选择相应的python解释器即可。
---
## 6. 量化投资与机器学习1
<sub>bid: `2022090519500800000000000003`</sub>
## 监督学习
监督学习:我们教计算机如何做事情
> 我们给算法一个数据集,并且给定正确答案;
> 数据集中的每个样本都有相应的正确答案,再根据这些样本作出预测;
> 即监督学习中的样本不是都相同的,每个样本都有自己的标签。
## 非监督学习
非监督学习:我们让计算机自已学习
> 非监督学习是指:没有标签这一概念,所有的数据都是一样的,故无监督学习中,只有一个数据集
---
## 基础概念
### 先验概率
### 后验概率
#
## 机械学习算法基础案例
最为广泛的两种分类模型是 **决策树模型** **朴素贝叶斯模型**
### 朴素贝叶斯算法
朴素贝叶斯模型(Naive Bayesian Model,NBM)
特点:
参数很少,对缺失数据不太敏感
算法原理:
> 设有样本数据集,*D={d<sub>1</sub>, d<sub>2</sub>, ・・・, d<sub>n</sub>}*
> 对应样本数据的特征属性集为*X={x<sub>1</sub>, x<sub>2</sub>, ・・・, x<sub>d</sub>}*
> 类变量为*Y={y<sub>1</sub>, y<sub>2</sub>, ・・・, y<sub>m</sub>}*, 即D可以分为y<sub>m</sub>分类
其中 相互独立且随机,则 的先验概率
---
## 7. 线性代数
<sub>bid: `2022090711097700000000000004`</sub>
## 1. 线性方程
---
> 线性方程也称一次方程式
一元一次方程表示一个点 $2x=1$
二元一次方程表示一条直线 $2x + 3y = 1$
三元一次方程表示一个平面 $3x + 4y + 5z = 20$
由两个直线(不平行)相交可以确定一个点
由两个平面(不平行)相交可以确定一条直线
由3个平面(不平行)相交可以确定一个点
> 齐次方程 与 非齐次方程
齐次线性方程组的常数项全部为 0,非齐次方程组的常数项不全为 0。
齐次$ \pmb{A}\pmb{x}=0$
非齐次$ \pmb{A}\pmb{x}=\pmb{b}$
## 2. 矩阵的初等变换与线性方程组
---
### 2.1 矩阵的初等变换
> 矩阵的初等变换
・ 对换两行(列),记作 $ r_i \leftrightarrow r_j$ ($ c_i \leftrightarrow c_j$)
・ 以数 $k \neq 0 $ 乘某一行(列)中的所有元,记作 $ r_i \times k$ ( $ c_i \times k$)
・ 把某一行(列)所有元的 k 倍加到另一行(列)对应的元上去,记作 $ r_i \times kr_i$ ( $ c_i \times kc_i$ )
> 矩阵等价
如果矩阵 $A$ 经过有限次初等变换变成矩阵 $B$ ,就称矩阵 $A$ 与矩阵 $B$ 等价,记作 $A \sim B$.
矩阵等价满足
・ $A \sim B$
・ 若 $A \sim B$ ,则 $B \sim A$
・ 若 $A \sim B$ ,$B \sim C$,则 $A \sim C$
### 2.2 矩阵的秩
`子式`
在 $m \sim n$ 矩阵 $A$ 中,任取 $k$ 行 $k$ 列,位于这些行列交叉处的 $k^2$ 个元素,不改变它们在 $A$ 中所处的位置次序而得的 $k$ 阶行列式,称为矩阵 $A$ 的 $k$ 阶子式。
`秩`
若矩阵 $A$ 中存在一个不为零的 $r$ 阶子式,且所有 $r + 1$ 阶子式全为零,那么数 $r$ 称为矩阵 $A$ 的秩,记作 $R(A)$. 规定零矩阵的秩为 0 .
### 2.3 方程组的解
对于方程组:
$ x_1 + x_2 = 1$
$ 2x_1 + x_2 = 2$
我们得到系数矩阵 $\pmb{A}$
$$
\pmb{A}=\begin
{pmatrix}
1 & 1 \\
2 & 1 \\
\end
{pmatrix}
$$
未知项矩阵 $\pmb{b}$
$$
\pmb{x}=\begin
{pmatrix}
x_1 \\
x_2 \\
\end
{pmatrix}
$$
常数矩阵 $\pmb{b}$
$$
\pmb{b}=\begin
{pmatrix}
1 \\
2 \\
\end
{pmatrix}
$$
有
$$
\pmb{A}\pmb{x}=\pmb{b}
$$
最重要的性质就是 $R(\pmb{A}) = R(\pmb{A},\pmb{b}) =n$ 时,齐次方程有唯一解。
## 3. 向量空间Vector space
---
### 3.1 ベクトル(Vector)
两个向量相等:长度相等且方向相同的两个向量叫做相等向量
单位矢量:长度为1的矢量(即单位矢量),
一个三维的向量可以由三个维度的单位矢量称相应向量在该维度的模来表示。
### 3.2 多维空间的向量表示
行向量 [1, 2, 3]
列向量 [1, 2, 3]T
行向量和列向量本质上没有区别。
### 3.3 向量组
> 向量组的线性组合
给定向量组$A: a_1, a_2, ..., a_n$,对于任何一组实数$k_1, k_2, ..., k_n$ 表达式
$$
\sum_{i=1}^{n}k_ia_i
$$
, 称为向量组A的一个线性组合。$k_i(1\leq{}i\leq{}n)$称为这个线性组合的系数。
> 向量的线性表示
给定向量组$A: a_1, a_2, ..., a_n$ 和向量 **b**,如果存在一组实数$k_1, k_2, ..., k_n$使
$$
b = \sum_{i=1}^{n}k_ia_i
$$
则称向量**b**能由向量组A线性表示。
向量组A可以写成n列的矩阵来表示$A=(a_1, a_2, ..., a_n)$
则向量b能由向量组A线性表示可写成
$$
b=A\begin{pmatrix}
k_1 \\
k_2 \\
\vdots \\
k_n \\
\end{pmatrix}
$$
> 向量组的线性表示
给定向量组$A: a_1, a_2, ..., a_m$ 和向量 $B: b_1, b_2, ..., b_l$,若B中的每一个向量都能由A线性表示,就称向量组B能由向量组A线性表示。
$$
B=A\begin{pmatrix}
k_{11} & k_{12} & \cdots & k_{1l} \\
k_{21} & k_{22} & \cdots & k_{2l} \\
\vdots & \vdots & \ddots & \vdots \\
k_{m1} & k_{m2} & \cdots & k_{ml} \\
\end{pmatrix}
$$
> 向量组等价
给定向量组A和B,如果它们能互相线性表示,则称这两个向量组等价。
$$
B=A\begin{pmatrix}
k_{11} & k_{12} & \cdots & k_{1l} \\
k_{21} & k_{22} & \cdots & k_{2l} \\
\vdots & \vdots & \ddots & \vdots \\
k_{m1} & k_{m2} & \cdots & k_{ml} \\
\end{pmatrix}
$$
$$
A=B\begin{pmatrix}
q_{11} & q_{12} & \cdots & q_{1l} \\
q_{21} & q_{22} & \cdots & q_{2l} \\
\vdots & \vdots & \ddots & \vdots \\
q_{m1} & q_{m2} & \cdots & q_{ml} \\
\end{pmatrix}
$$
有解,
### 3.4 向量组的线性相关性
> 向量组的线性相关性
给定向量组$A: a_1, a_2, ..., a_n$,如果存在不全为零的数$k_1, k_2, ..., k_n$,使
$$
\sum_{i=1}^{n}k_ia_i = 0
$$
则称向量组A是线性相关的,否则称它是线性无关的。
`※注意: `
`包含0向量的向量组总是线性相关的`
`线性相关就意味着,向量组中的任意一个向量都可以由其他向量线性表示`
### 3.5 向量组的秩
> 向量组的秩
给定向量组A,如果能在A中选出r个向量$a_1,a_2, ..., a_r$ 满足
・ 向量组 $A_0: a_1, a_2, ..., a_r$ 线性无关。
・ 向量组A中任意r + 1个向量都线性相关。
则称向量组$A_0$是向量组A的一个最大线性无关组,简称最大无关组,r称为向量组A的秩,记作$R_A$,意思是极大线性无关组所含向量的个数。
> 定理 矩阵的秩等于它的列向量组的秩,也等于它的行向量组的秩。
### 3.6 线性方程组解的结构
对于一个向量方程 $Ax=0$:
・ 若 $x = \xi_{1}, x = \xi_{2}$ 是该方程的解,则 $x = \xi_{1} + \xi_{2}$ 也是该方程的解。
・ 若 $x = \xi_{1}$ 是该方程的解,则 $x = k\xi_{1}(k \in R)$ 也是该方程的解。
> 基础解系
齐次线性方程组的解集的最大无关组称为该齐次线性方程组的基础解系。
## 3.
---
## 8. 高等数学(上)数列,函数,极限
<sub>bid: `2022093010286500000000000007`</sub>
[高等数学](https://www.bilibili.com/video/BV1864y1T7Ks/?spm_id_from=333.999.0.0)
## 第一部分 高等数学学习路线
高等数学分为上下两册,并且大体上分为极限,导数和积分三个部分,而每个部分都分为一元函数和多元函数
> 极限
一元函数 $ y = f(x)$
多元函数 $ z = f(x\,y)$
应用 ---->>主要是求极限的各种方法
> 导数,
一元函数
$$
\frac{dy}{dx}
$$
多元函数(偏导数) $ z = f(x\text{,}y)$
应用 ---->>物理应用,经济应用和几何应用,解析几何应用
> 积分
一元函数 (定积分和不定积分)
多元函数 (重积分,曲线积分和曲面积分)
应用 ---->>物理应用,经济应用和几何应用,解析几何应用
## 第一章 函数与极限
### 1.1 映射
以下概念的理解
> 满射
> 单射
> 假设有一个单射 y = f(x), 定义逆映射 $ f^{-1}$
> 复合映射$ fog $
> **注意**,映射 的两头 不都是数集,这个很重要,比如说,映射的值域是 学生名称,映射的定义域是学生号
### 2.2 函数
函数是一种特殊的映射,定义域和值域都是数集。
函数的两个要素,定义域(D),和映射法则(f)
> **特殊的函数**
> 单调函数对应的单射
> 常值函数
> 绝对函数
> 符号函数,即分段常值函数
> 取整函数 y = [x] 不超过 x 的最大整数,[-1.3] = -2 [0.36] = 0 [3] = 3
> **函数的特性**
> ならば記号  ⇒ 日本語入力(ならば)
> 全て記号  ∀  日本語入力(すべて)
> 存在記号  ∃  日本語入力(存在)
> 同値記号  ⇔  日本語入力(同値)とう
> 属する記号  ∊  日本語入力(属する)
> 無限記号  ∞  日本語(無限)
> 性质
> 有界性,最重要的有界性质:若 f(x) 在 E 上既有上界还有下界,则称 f(x)有界,否则是无界,「f(x)在 E 上有界」⇔「∀M>0, $∀x$ ∊ $E$,有 f(x)≦M」
> 单调性,单调递增和单调递减
> 奇偶性,偶函数 f(x) = f(-x), f(x) = -f(-x)
> 周期性,f(x) = f(x + T),则,f(x)是以 T 为周期的周期函数
> 反函数和复合函数
> 函数的四则运算
> 基本初等函数
> 幂函数,指数函数,对数函数,三角函数,反三角函数
> 分段函数不是基本函数
### 2.3 数列极限
极限严格数学定义
如果用足够小的正实数 ε「イプシロン、無視できる小さいぐらい値と考える」
作为衡量接近程度的指标,则,当|x<sub>n</sub>-1| < ε、表示在 ε 指标下足够接近,无论 ε 是如何小的正数,总可以找到正整数 N,使数列除了开始的 N 项以外,自第 N+1 项开始,后面的一切项都在 a=1 的 ε 邻域 U(1, ε)内,
**收敛数列的性质**
定理 1:收敛数列,极限的唯一性
定理 2:收敛数列,一定有界
定理 3:收敛数列的保号性
定理 3:收敛数列的子收敛数列极限是相同的。
### 2.4 函数的极限
**自变量趋于正无限大时的函数的极限**
定義:
对于任意给定的正数 ε(ε 足够小),总存在$X > 0$, $∀x > X$时,满足$|f(x) - A| < ε$
此时,称常数 A 为函数$f(x)$在$x→+\infty$时的极限。
$ε-X$
$$
\lim_{x→+\infty}f(x) = A
$$
$∀ε>0$, $∃X>0$, $x>X$时,有$|f(x) - A| < ε$
**自变量趋于负无限大时的函数的极限**
$$
\lim_{x→-\infty}f(x) = A
$$
$∀ε>0$, $∃X>0$, $x<-X$时,有$|f(x) - A| < ε$
**自变量趋于无穷时的函数的极限**
$$
\lim_{x→\infty}f(x) = A
$$
$∀ε>0$, $∃X>0$, $|x|>X$时,有$|f(x) - A| < ε$
### 2.5 无穷小和无穷大
无穷小
$$
\lim_{x→X}f(x) = 0 ⇔ \text{x趋近于X的极限是0,我们就说无穷小}
$$
无穷大
$$
\lim_{x→X}f(x) = \infty ⇔ \text{x趋近于X的极限是} \infty \text{, 我们就说无穷大}
$$
无穷小和无穷大,是一个函数,不是一个数,无穷大是无界的,
### 2.6 极限存在法则,两个重要的极限
**1.夹逼准则**
$∃n_0$ ∊ $N$, 当$n$大于$n_0$时,有
$$
y_n ≦x_n ≦ z_n
$$
如果
$$
\lim_{n→+\infty}y_n = a \text{,} \lim_{n→+\infty}z_n = a
$$
则
$$
\lim_{n→+\infty}x_n = a
$$
**第一个重要的极限**
$$
\lim_{x→0} \frac{sinx}{x} = 1
$$
证明:
由画图可知,在 0<x<π/2,存在
$$
cosx < \frac{sinx}{x} < 1
$$
由加比准则可知,
$$
\lim_{x→0} \frac{sinx}{x} = 1
$$
**2. 单调有界数列必有极限**
函数也有类似的准则。
### 2.7 无穷小的比较
无穷小的加算,减算,乘积都是无穷小,但是无穷小的商则会出现不同情况。
α、β 都是自变量变化过程中的无穷小
$$
\lim \frac{\beta}{\alpha}
$$
如果
$$
\lim \frac{\beta}{\alpha} = 0 \text{,} \beta \text{是比} \alpha \text{高阶的无穷小,记作},\beta=o(\alpha)(x→0)
$$
如果
$$
\lim \frac{\beta}{\alpha} = \in\text{,} \beta \text{是比} \alpha \text{低阶的无穷小}
$$
如果
$$
\lim \frac{\beta}{\alpha} = c(c≠0)\text{,} \beta \text{和} \alpha \text{同阶的无穷小}
$$
如果
$$
\lim \frac{\beta}{\alpha} = 1\text{,} β \text{和} α \text{等价的无穷小, 记作}\alpha \text{~} \beta
$$
如果
$$
\lim \frac{\beta}{\alpha} = c(c≠0)\text{,} \beta \text{是关于} \alpha \text{的k阶的无穷小}
$$
**定理 1**:β 和 α 同阶的无穷小的充分必要条件是 $\beta = \alpha + o(\alpha)$
### 2.8 函数的连续性和间断性
有增量$Δx$、则增量
$Δy = f(x_0 + Δx) - f(x_0)$
**定义** 设函数 f(x)在点 x<sub>0</sub> 的某一个邻域内定义,如果,
$$
\lim_{Δx→0} Δy = \lim_{Δx→0} [f(x_0 + Δx) - f(x_0)] = 0
$$
那么则称函数 y=f(x)在点 x0 出连续。
即
$$
\lim_{x→x_0} f(x) = f(x_0)
$$
那么则称 x 在 x0 处连续
**左连续**
**右连续**
### 2.9 连续函数的运算和初等函数的连续性
1. 连续函数的商积和差,也是连续函数(分母不等于 0 时)
2. 反函数和复合函数的连续性
3. 初等函数在定义域内都是连续的
还
---
## 9. 高等数学(上)导数和微分
<sub>bid: `2022100613288800000000000008`</sub>
## 第二章 导数和微分
### 2.1 导数
### 2.2 导数的求导法则
**和差积商的求导法则**
$$
(1)[u(x) + v(x)]^{'} = u^{'}(x)±v^{'}(x);
$$
$$
(2)[u(x)v(x)]^{'} = u^{'}(x)v(x) + u(x)v^{'}(x);
$$
$$
(3)[\frac{u(x)}{v(x)}]^{'} = \frac{u^{'}(x)v(x) - u(x)v^{'}(x)}{v^{2}(x)}(v(x)≠0);
$$
**反函数的求导法则**
$$
(2)[f^{-1}(x)]^{'} = \frac{1}{f^{'}(x)}
$$
**复合函数的求导法则**
如果$u = g(x)$在点 x 可导,而$y= f(u)$在点 u=g(x)可导,则复合函数$y = f[g(x)]$在点 x 可导,且其导数为
$$
\frac{dy}{dx}=f^{'}(u) \text{・} g^{'}(x) = \frac{dy}{du} \text{・} \frac{du}{dx}
$$
**基本求导法则和导数公式**
(1) $(C)^{'}=0$
(2) $(x^{\mu})^{'}=\mu x^{\mu -1}$
(3) $(sin x)^{'}=cos x$
(4) $(cos x)^{'}=-sinx$
(5) $(e^{x})^{'}=e^{x}$
(6) $(a^{x})^{'}=a^{x}\ln{a}$
(7) $(\log_{a}x)^{'}=\frac{1}{x\ln{a}}$
(7) $(\ln{x})^{'}=\frac{1}{x}$
### 2.3 高阶导数
二阶导数
$$
y^{''} = (y^{'})^{'} \text{,} \frac{d^{2}y}{dx^{2}}=\frac{d}{dx}(\frac{dy}{dx})
$$
### 2.4 隐函数
一般的,方程$F(x,y)=0$,x 在一个区间内,存在一个这个方程的唯一的值 y,那么我们就说方程$F(x,y)=0$在 x 这个区间内存在隐函数。
### 2.5 函数微分
**定义**
设函数$y= f(x)$在某一区间内有定义,$x_0$及$x_0+Δx$在这个区间内,如增量
$$
Δy = f(x_0 + Δx) - f(x_0)
$$a
可表示为
$$
Δy = AΔx + o(Δx)
$$
其中 A 是不依赖于 Δx 的常熟,那么称函数$y=f(x)$在点$x_0$是可微的,而$AΔx$叫做函数$y=f(x)$在点$x_0$相应于自变量增量 Δx 的微分,记作 dy
即
$$
dy=AΔx
$$
## 第三章 微分中值定理和导数的应用
### 3.1 微分中值定理
**费马定理**
设函数$f(x)$在$x_0$的某个邻域$U(x_0)$内有定义,并且在$x_0$处可导,如果对任意的$x$∊$U(x_0)$,有
$$
f(x)≦ f(x_0)\text{あるいは、}f(x)≧ f(x_0)
$$
那么,$ f^{'}(x_0) = 0$
**罗尔定理**
(1) 在闭区间[a, b]上连续;
(2) 在开区间(a, b)上可导;
(3) 在区间端点处的函数值相等,即$f(a) = f(b)$
那么在(a, b)内至少有一点,$\xi(a < \xi <b )$, 使得$f^{\prime}(\xi)=0$
**拉格朗日中值定理**
(1) 在闭区间[a, b]上连续;
(2) 在开区间(a, b)上可导;
那么在(a, b)内至少有一点$\xi(a < \xi <b )$, 使等式
$$
f(b) -f(a) = f^{\prime}(\xi)(b-a)
$$
逆命题:如果函数f(x)在区间I上的导数恒为0,那么f(x)在区间I上是一个常数。
**柯西中值定理**
(1) 在闭区间[a, b]上连续;
(2) 在开区间(a, b)上可导;
(3) 对任一x∊(a,b),$f^{\prime}(x) ≠ 0$
那么在(a,b)内至少有一点$\xi$,使等式
$$
\frac{f(b)-f(a)}{F(b)-F(a)} = \frac{f^{\prime}(\xi)}{F^{\prime}(\xi)}
$$
### 3.2 洛必达法则
### 3.3 泰勒公式
Taylor中值定理
如果函数f(x)在含有$x_0$的某个开区间(a.b)内具有直到(n + 1)阶的导数,则对于任一x∊(a,b),有
$$
f(x)= f(x_0) + f(x_0)(x-x_0) + \frac{f^{\prime\prime}(x_0)}{2!}(x-x_0)^2 + ... + \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n +R_n(x)(3)
$$
其中,
$$
R_n(x)=\frac{f^{(n+1)}(x_0)}{(n+1)!}(x-x_0)^{n+1}
$$
这里$\xi$是x与$x_0$之间的某个值。
**实际问题**
近似表达式的精确度不高,它产生的误差是关于x的高阶无穷小,其次用他们做近似运算时,不能具体估算出误差大小,因此,对于高精度要求且需要估算误差的时候,必须要用高阶表达式来近似表达函数,并给出误差公式。
下面的高阶多项式:
$$
p_n(x) = a_0 + a_1(x-x_0)+a_2(x-x_0)^2+...+a_n(x-x_0)^n \quad (1)
$$
来近似表达$f(x)$,要求$p_n(x)$与$f(x)$的差是比$(x-x_0)^n$的高阶无穷小,并给出误差的具体表达式$|f(x) - p^n(x)|$
那么假设$p^n(x)$在$x_0$处的函数值以及他的直到n阶导数的在$x_0$处的值以此与$f(x_0)$,$f^{\prime}(x_0)$,...,$f^{(n)}(x_0)$相等,即满足
我们来确定(1)多项式的系数,$a_0$,$a_1$,...,$a_n$
对(1)求各阶导数,可得
$$
a_0=f(x_0)
$$
$$
1 \cdot a_1=f^{\prime}(x_0)
$$
$$
2! \cdot a_2=f^{\prime\prime}(x_0)
$$
$$
n! \cdot a_n=f^{(n)}(x_0)
$$
将上述式子放入(1)可知
$$
p_n(x) = f(x_0) + f^{\prime}(x_0)(x-x_0)+\frac{f^{\prime\prime}(x_0)}{2!}(x-x_0)^2+...+\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n \quad (2)
$$
我们只需证明误差
$$
R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{n+1}\quad \text{($\xi$在$x_0$和$x$之间)}
$$
多项式(2)称为函数f(x)按$(x-x_0)$的幂展开的n次泰勒多项式,
多项式(3)称为函数f(x)按$(x-x_0)$的幂展开的带有拉格朗日余项的n阶泰勒多项式,
而$R_n(x)$称为拉格朗日余项。
### 3.4 函数的单调性和曲线的凹凸性
定理1 设函数y=f(x)在[a,b]上连续,在(a,b)内可导
如果$f^{\prime}(x)>0$,单调增加
如果$f^{\prime}(x)<0$,单调递减
**曲线的凹凸性与拐点**
二阶导数的凹凸性
如果$f^{\prime\prime}(x)>0$,凹
如果$f^{\prime\prime}(x)<0$,凸
**拐点**
凹凸性改变就是拐点
### 3.5 函数的极值和最大值最小值
定理1(必要条件)设函数f(x)在$x_0$处可导,且在$x_0$处取得极值,那么$f^{\prime}(x_0)=0$
定理2(第一充分条件)设函数f(x)在$x_0$处可导,且在$x_0$处取得极值,那么$f^{\prime}(x_0)=0$
### 3.6 曲率
### 3.7 方程的近似解
---
## 10. 高等数学(上)积分和微分方程
<sub>bid: `2022100614018700000000000009`</sub>
## 第四章 不定积分
---
### 4.1 原函数和不定积分的概念
**定义1**
如果在区间$I$上,可导函数$F(x)$的导函数为$f(x)$,即对任一$x \in I$,都有
$$
F^{\prime}(x)=f(x) \quad \text{或} dF(x) = f(x)dx
$$
那么函数$F(x)$就称为$f(x)$(或$f(x)dx$)在区间$I$上的原函数
**原函数存在定理**
连续函数一定有原函数
**定义2**
在区间$I$上,函数$f(x)$的带有任意常数项的原函数称为$f(x)$在区间$I$上的不定积分,记作
$$
\int f(x)dx, \quad \text{其中记号} \int \text{积分号}
$$
$f(x)dx$称为被积表达式,x称为积分变量。
即
$$
\int f(x)dx = F(x) + C
$$
因此,$\int f(x)dx$可以表示$f(x)$的任意一个原函数。
### 基本积分表
此处略
+C
### 不定积分的性质
基本的四则运算
### 4.2 换元积分法
利用积分表来计算积分式非常有限的,所以把复合函数的微分法反过来求不定积分,利用中间变量代换,得到符合函数的积分法,
## 第五章 定积分
## 第六章 定积分的应用
## 第七章 微分方程
---