Python

从金融角度看,Python是一种强大的编程语言,其简洁、易读的语法和丰富的库使其成为金融分析和建模的首选工具。金融机构广泛运用Python处理复杂数据、进行量化分析和风险评估。Python在金融领域的应用包括算法交易、投资组合优化、信用评分、风险管理等。其灵活性使金融专业人员能够快速响应市场变化,制定精确策略。

求助:格式化时间会报错

    with t1 as (
    SELECT
        date,
        date_format(date,"%Y-%m-%d") as new_date,
        instrument,
        close,
    FROM
        cn_stock_bar1m
    WHERE
        1 = 1
        AND date >= '2024-03-01'
        AND date <= '2024-03-02'
    )   
    SELECT * FROM t

更新时间:2024-03-25 09:10

BigQuant新手入门指南

【重要】请添加客服小Q企业微信(点击添加)。 添加小Q之后,可申请加入:AI量化投资交流群

【必看】请点击查看👉:[BigQuant入门视频课程](https://bigquant.com/college/courses/course-v1:public+training_camp0830+2023-08-30/courseware/09ad5103109641a78916d842be559954/d

更新时间:2024-03-20 07:59

ValueError在python中属于什么异常以及如何解决

ValueError在Python中是一种异常,表示当一个操作或函数接收到一个具有正确类型但不合适的值时抛出。简而言之,这意味着传入的参数类型是对的,但是参数的值是不适当的,因此无法执行该操作。

如何解决Python中的ValueError异常

避免ValueError的关键是确保在进行操作或调用函数时,传入的参数值在逻辑上是有意义的,并且符合函数或操作的预期。以下是一些避免ValueError的策略:

  1. 详细了解函数或方法的要求:在调用任何函数或方法之前,确保了解它的参数需求。这包括参数的类型、范围和格式。通常,这些信息可以在官方文档中找到

更新时间:2024-02-20 03:39

将自定义python模块封装成你的功能定制模块

我们来看看再封装自定义python模块时最主要的参数:

  1. 模块输入(输出)端

若你再模块输入端只输入input_1的话, 封装后只会出现一个点:

上述模块时某用户封装的, 由于再模块输入端只输入了input_1, 所以封装完成后只出现了一个连接点; 类似的改模块封装前

更新时间:2024-02-02 10:03

2 Python量化交易开发教程

Python在量化开发领域内的应用非常广泛,它因为易于学习、强大的数据处理能力以及丰富的库支持而成为了量化分析和交易的首选编程语言。量化开发包含了使用数学模型来分析金融市场、发现交易机会以及自动化交易决策和执行的过程。(文末含所有开发资源汇总

基本概念

量化开发利用数学模型和计算机算法来分析金融市场,旨在通过自动化的策略发现并利用市场 inefficiencies。它主要涉及市场数据的收集与分析、策略的研发、回测、优化以及执行。

核心功能

  1. 市场数据分析:分析历史和实时市场数据,寻找价格走势、成交量等方面的规律。
  2. **策略开

更新时间:2024-02-02 08:26

怎么自定义Python封装,选择列

自己封装的python,选择列,一直失败。

使用的选择列里面

而后,另外新建一个自定义模块

将里面的各个函数copy

最后另存模块

但是没有上面的输入列

以后封装后,使用是下面情况

![](/wiki/api/attachments.redirect?id=494bc

更新时间:2024-02-02 08:16

SciPy库的核心概念及主要功能

SciPy是基于Python的一个开源库,用于数学、科学和工程计算。它建立在NumPy的基础上,提供了许多高级的数值计算功能,从而使得Python成为一个强大的科学计算环境。SciPy是科学计算中最重要的库之一,广泛应用于学术和工程领域,包括金融领域的量化分析和模型开发。

基本概念

SciPy库包含了众多的模块,如线性代数、优化、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理等。这些模块提供了强大的功能,可以处理复杂的科学计算问题。

核心功能

  • 多维数组:SciPy使用NumPy的数组作为基础数据结构,提供高性能的多维数组操作。

更新时间:2024-02-01 10:58

多因子选股模型指标公式(含python)

多因子选股模型涉及将多个指标(或“因子”)组合起来,用以评估股票的潜在回报与风险。这些因子通常包括但不限于价值、动量、规模、质量、波动性和股息收益等。接下来,将详细解释一些常见的多因子模型指标公式,并用数据示例来说明它们如何工作。

多因子选股模型概念

价值因子

价值因子通常通过比较股票的市场价格与其基本面价值来评估股票是否被低估。常用的指标包括市盈率(P/E)、市净率(P/B)、企业价值对EBITD

更新时间:2024-01-31 08:06

移动平均线 (Moving Averages)公式及买入卖出用法(含Python)

(包含移动平均线公式及Python代码)

移动平均线(Moving Averages)是一种分析金融时间序列数据的基本工具,用于平滑价格数据以识别趋势。移动平均线主要有两种类型:简单移动平均线(SMA)和指数移动平均线(EMA)。

BigQuant也提供全面的金融市场历史数据因子平台以及AI量化策略编写平台(PC端),帮助大家快速验证不同指标因子组成的量化策略。

![](/wiki/api/att

更新时间:2024-01-23 03:30

Beta贝塔系数公式及使用技巧(含Python代码)

贝塔系数(Beta)是衡量一项投资相对于整体市场波动的指标。它是资本资产定价模型(CAPM)的关键组成部分,用于计算资产的预期回报和风险。贝塔系数反映了个别股票或投资组合相对于市场基准(如标准普尔500指数)的波动性。

BigQuant金融市场数据因子平台以及AI量化策略平台(PC端),可以验证Beta贝塔系数因子组成的AI量化策略。

![](/wiki/api/attachments.redirect?

更新时间:2024-01-15 01:27

构建行业中性化哑变量矩阵时,1月数据,跑10分钟都跑不出来原因是?

#提取一级行业,可以获得5000多只股票的行业列表。

sql ='''
select *
from cn_stock_industry_component
where date between '2023-0-01' and '2023-01-07'
'''
import dai
ww = dai.query(sql).df()
www_uni = ww.drop_duplicates(subset='instrument')

www_uni

#获取cn_stock_bar1d表数据

sql = '''
select *

更新时间:2024-01-12 02:31

回归法单因子测试源码

import dai
import statsmodels.api as sm
import pandas as pd

factors = dai.query("""
    pragma enable_pushdown_window;
    select a.date, a.instrument, a.total_market_cap, b.returns
    from cn_stock_factors AS a
    INNER JOIN (
        SELECT date, instrument, m_lag(close,-1)/close - 1 

更新时间:2024-01-03 02:53

ModuleNotFoundError: No module named 'jqdata'

新建可视化空白稳定,粘贴Ai给写的代码后显示

  • \
    ModuleNotFoundError: No module named 'jqdata'
    

\

更新时间:2023-12-29 10:55

换手率公式及使用技巧含Python

换手率(Turnover)通常用于描述股票或其他证券在特定时间内的交易活跃程度。金融市场中,换手率可用于衡量股票的流动性,即股票在市场上买卖的频率和容易程度。

BigQuant金融市场数据因子平台以及AI量化策略平台(PC端),验证换手率因子组成的AI量化交易策略。

![](/wiki/api/attachments.redirect?id=83ec82a2-6c14-4425-8bae-05b216f7

更新时间:2023-12-21 11:08

ROE净资产收益率公式及如何使用(含Python)

净资产收益率(Return on Equity,简称 ROE)是一种衡量公司盈利能力的财务指标,用来评估公司管理层使用股东资本的效率。

ROE可以表示公司能够从每单位股东权益中创造多少利润。

BigQuant金融市场数据因子平台以及AI量化策略开发平台(PC端)可以验证ROE净资产收益率因子在AI量化策略中的表现。

![](/wiki/api/attachments.redirect?id=dd

更新时间:2023-12-21 04:10

PE市盈率公式及使用技巧含Python

市盈率(Price-to-Earnings Ratio,简称 P/E Ratio)是一种评估公司股价相对于其每股盈利(EPS)的指标。它是投资者用来衡量股票投资价值和评估公司股价是否被高估或低估的常用工具。

BigQuant金融市场数据因子平台以及AI量化策略平台(PC端),验证市盈率因子组成的AI量化交易策略。

![](/wiki/api/attachments.redirect?id=dfeedac3

更新时间:2023-12-21 03:12

PB市净率公式及如何使用(含Python)

市净率(Price-to-Book Ratio,简称 P/B Ratio)是衡量公司股票价格相对于其账面价值的一个指标。这个比率通常用于评估公司股票的价值,尤其是在资产重要的行业(如金融业)中。

BigQuant金融市场历史数据因子平台以及AI量化策略平台(PC端),可以验证PB市净率因子组成的AI量化策略有效性。

![](/wiki/api/attachments.redirect?id=9e1

更新时间:2023-12-20 07:18

布林带指标公式及使用技巧(含Python代码)

布林带指标(Bollinger Bands,缩写BOLL)是一种流行的技术分析工具,由约翰·布林格(John Bollinger)在1980年代发明。

布林带主要用于评估股票或其他金融资产的价格波动性和市场趋势。一般由三条线组成:一个中间带(移动平均线)和两个外带(标准差带)。

BigQuant金融市场数据因子平台以及AI量化策略平台(PC端),可以验证布林带BOLL指标因子组成的AI量化策

更新时间:2023-12-19 06:47

夏普比率公式及使用技巧(含Python代码)

夏普比率(Sharpe Ratio)是衡量投资表现的一个指标,它通过比较投资的超额回报与其承担的风险来评估投资的性价比。由诺贝尔奖获得者威廉·夏普提出,是风险调整后的回报的一种度量。

通过BigQuant量化平台金融市场数据因子以及AI量化策略平台(PC端),可以验证夏普比率因子组成的AI量化策略有效性。

![](/wiki/api/attachments.redirect?id=8df056d7

更新时间:2023-12-19 03:33

AVL树和红黑树的Python代码实现

AVL树

AVL树是一种自平衡二叉搜索树。在这种树中,任何节点的两个子树的高度差被严格控制在1以内。这确保了树的平衡,从而保证了搜索、插入和删除操作的高效性。AVL树是由Georgy Adelson-Velsky和Evgenii Landis在1962年发明的,因此得名(Adelson-Velsky和Landis树)。

平衡因子:每个节点的平衡因子是其左子树的高度减去其右子树的高度。平衡因子必须保持在-1

更新时间:2023-12-15 09:35

AVL树的概念及Python实现

AVL树的基本概念

AVL树是一种自平衡二叉搜索树。在这种树中,任何节点的两个子树的高度差最多为1。这种高度平衡确保了在最坏情况下,树的操作(如查找、插入、删除)都能在O(log n)的时间复杂度内完成,其中n是树中节点的数量。

关键属性:

  1. 高度平衡:每个节点的左右子树的高度差最多为1。
  2. 旋转操作:为了维持高度平衡,在插入或删除节点后可能需要进行树的旋转操作。

![](/wiki/api/attachments.redirect?id=6bcacc6e-3765-4c12-9ab8-827df17f96a9 " =570x321

更新时间:2023-12-15 06:59

Cannot index with multidimensional key

在Python中,遇到错误 "Cannot index with multidimensional key" 通常与尝试使用多维索引来访问Pandas DataFrame或Series对象有关。

通常发生在以下几种情况:

  1. 使用了多维数组作为索引:如果您尝试使用NumPy数组或任何形式的多维列表或数组来索引Pandas对象,可能会导致此错误。
  2. 错误的索引方式:在Pandas中,您通常使用**.loc[].iloc[]**来进行索引,而这些方法不接受多维索引。

为解决这个问题,请遵循以下步骤:

1. 检查索引对象

确保您用来

更新时间:2023-12-14 09:40

Python ValueError: 0 is not in range

出现 ValueError: 0 is not in range 这个错误通常意味着您在Python代码中尝试访问一个序列(比如列表、元组或字符串)的索引0,

但该序列是空的,或者您正在使用一个期望特定范围内的整数值(例如在一个for循环或数组索引中)但提供了一个不在该范围内的值。

以下是一些常见的情况和解决策略:

索引空序列

如果您尝试访问一个空序列(如空列表、空字符串等)的第一个元素(索引0),将会导致此错误。

my_list = []
print(my_list[0])  # 这会导致错误,因为my_list是空的


解决办法:在尝试

更新时间:2023-12-14 08:36

You can drop duplicate edges by setting the 'duplicates' kwarg

使用Python时“You can drop duplicate edges by setting the 'duplicates'”这个提示是关于如何处理图中的重复边的。

通常发生在使用诸如NetworkX、Pandas或其他数据处理或图形处理库时。

如果是在使用Pandas处理数据:

在Pandas中,如果您在处理类似图形边的数据,可能会使用到DataFrame。

如果DataFrame中有重复的行(在这里,代表图形的边),可以使用drop_duplicates()方法来移除重复项。

import pandas as pd

# 假设df是包含边的DataFrame
# 

更新时间:2023-12-14 08:19

史上最全Quant资源整理

有些国外的平台、社区、博客如果连接无法打开,那说明可能需要“科学”上网

量化交易平台

国内在线量化平台:

更新时间:2023-11-30 10:13

分页第1页第2页第3页第4页第5页第6页第7页