1.qlib熟练使用后如何进阶?tests和examples
2.tushare/米筐/akshare 以pandas为工具的量化量化金融量化分析入门级教程(附python源码)
3.量化交易-vnpy_efinance-VeighNa框架数据服务接口
4.量化回测终极指南,以backtrader为例
5.通达信量化擒龙先手!框架框架主附图/选股指标源码分享
6.TFlite 源码分析(一) 转换与量化
qlib熟练使用后如何进阶?tests和examples
智能量化平台的基础框架,qlib,量化量化为金融量化提供了定制的框架框架数据库,因子表达式,源码源码好多书网站源码策略集,量化量化回测系统,框架框架以及高频交易支持。源码源码
qlib的量化量化高级功能包括在线任务,高频投资,框架框架以及财务数据库。源码源码它的量化量化架构融合了AI技术,提供了强化学习支持,框架框架这在交易领域具有显著优势。源码源码
测试用例是学习qlib框架的绝佳起点。这些用例集成了从源代码根目录的“tests”目录,用于演示如何读取沪深股票的收盘价,分析收益率等。强化学习在代码中隐含,虽然文档中未明确提及,但测试用例中清晰可见,强化学习与交易的多轮博弈和总体最优策略高度契合。
通过运行测试用例,可以深入掌握qlib的代码细节,从而提高智能量化能力。
qlib的“examples”提供了丰富的示例代码,覆盖了前沿的模型,为学习者提供了实战参考。
进阶qlib,不仅要深入研究测试用例,还要理解示例代码中的战盾系统源码前沿模型。这样可以提升量化策略的设计和实现能力。
个人成长感悟方面,看到寒门贵子通过高考改变命运的故事,让人深受感动和启发。这些故事提醒我们,教育是通往成功的重要途径,但关键在于如何运用所学,不仅追求高学历,更要培养软技能和硬技能。
软技能包括阅读习惯、写作能力和演讲能力,这些技能有助于构建认知体系,通过写作倒逼输入,建立与外界的有效连接。硬技能则包括编程、销售等专业技能,以及将一件事做好的能力,如趋势判断力和高效执行力。
认知层面的提升对于个人成长至关重要,这不仅包括对经济、科技趋势的理解,还要求有全局视野和战略思维。与有见识的人建立社群圈子,通过价值交换获得成长,是成功的关键。
总结而言,进阶qlib需深入学习测试用例和示例代码。同时,个人成长不仅关注教育成就,更重要的是软硬技能的全面提升,以及对环境变化的著名源码泄漏事件敏锐洞察力。在不断学习和实践中建立认知体系,培养高效执行力,与志同道合者合作,是实现阶层跃升和自我突破的关键。
tushare/米筐/akshare 以pandas为工具的金融量化分析入门级教程(附python源码)
安装平台是一个相对简单的过程,因为tushare、米筐和akshare这些平台不需要使用pip install来安装(米筐除外,但不是必需操作)。首先,需要注册账户,尤其是对于学生群体,按照流程申请免费试用资格和一定积分。然后,打开编译器,比如使用anaconda的jupyter。
基本操作中,导入tushare和米筐时,通常使用ts和rq作为别名,这会影响到之后代码的缩写。例如,使用tushare获取数据的方法可以是这样的:
df = pro.monthly(ts_code='.SZ', start_date='', end_date='', fields='ts_code,trade_date,open,high,low,close,vol,amount')
这里,ts_code是要分析的股票代码,start_date和end_date是查询的开始和结束日期,fields参数指定需要获取的数据。tushare和米筐对数据查询有详细的说明和解释。
数据处理是初学者需要重点关注的部分。使用pandas进行数据的保存和处理,是这篇文章的主要内容。推荐查找pandas的详细教程,可以参考官方英文教程或中文翻译版教程,这些教程提供了丰富的linux部署网站源码学习资源。
在处理数据时,可以使用pandas进行各种操作,如数据存储、读取、筛选、排序和数据合并。例如,存储数据到csv文件的代码为:
df.to_csv("名字.csv",encoding='utf_8_sig')
从csv文件读取数据的代码为:
pd.read_csv("名字.csv")
在数据处理中,可以筛选特定条件下的数据,如选择大于岁的人的代码为:
above_ = df[df["Age"] > ]
同时,可以对数据进行排序、筛选、重命名、删除列或创建新列等操作。合并数据时,可以使用`pd.concat`或`pd.merge`函数,根据数据的结构和需要合并的特定标识符来实现。
这篇文章的目的是通过提供pandas数据处理的典型案例,帮助读者更好地理解和使用tushare平台。对于在校学生来说,tushare提供的免费试用和积分系统是宝贵的资源。在使用过程中遇到问题,可以在评论区留言或分享项目难题,以便进一步讨论和提供解决方案。
再次感谢tushare对大学生的支持和提供的资源。如果觉得文章内容对您有帮助,欢迎点赞以示支持。让我们在金融量化分析的道路上共同成长。
量化交易-vnpy_efinance-VeighNa框架数据服务接口
我们之前对vnpy_ctastrategy相关回测源码进行了解析:
回首凡尘不做仙:VNPY源码分析1-vnpy_ctastrategy-运行回测
回首凡尘不做仙:VNPY源码分析2-vnpy_ctastrategy-撮合成交
回首凡尘不做仙:VNPY源码分析3-vnpy_ctastrategy-计算策略统计指标
相关历史数据可以通过各类数据服务的适配器接口(datafeed)下载,目前vn.py支持以下接口:
然而,上述接口需要注册或付费才能获取数据。androidstudio源码包太大
为了帮助初学者更好地理解和学习量化交易以及vn.py框架,我开发了基于efinance数据接口的vn.py的datafeed。
开源地址为:github.com/hgy/vnpy...
编译安装:
下载源代码后,解压并在cmd中运行:
dist目录下vnpy_efinance-x.x.x-py3-none-any.whl包
使用:
安装完成后,在vn.py框架的trader目录中的setting.py中进行配置:
注意:此处只需配置datafeed.name,username和password无需配置。
配置完成后,可以通过以下示例进行调用:
同时,这里分享一个efinance数据下载及入库方法:
然而,efinance在获取分钟级别数据方面并不友好。对于需要获取分钟级别数据的初学者来说,我们可以使用天勤免费版的数据接口:
回首凡尘不做仙:量化交易-数据获取-vnpy_tqsdk免费版
量化回测终极指南,以backtrader为例
这篇文章提供了一个深入的量化回测指南,尤其以backtrader为例,旨在帮助那些寻求在量化交易领域取得成功的人。
backtrader是一个开源的回测框架,其源代码可在GitHub上获取,进行深入学习。首要步骤是准备行情数据,无论是付费还是免费资源,这将对后续步骤产生影响,但在此处我们暂且不讨论。
对于初学者,如果你的目标是学习回测框架的编写,可以直接从GitHub下载源码进行实践。回测的主要目的是检验和优化交易策略,backtrader因其知名度而广受关注,网络上有许多相关教程。
然而,作者强烈建议避免使用现有的回测框架,因为它们往往功能受限,无法提供基本的交易功能,导致测试结果不准确。除非你的策略简单,否则这些框架可能无法提供有用的数据。为了获得精确有效的结果,你可能需要从零开始自己编写框架,或者借助少数成熟量化基金内部的专属工具。
接下来,作者通过实例解释了为什么选择一个强大的回测框架至关重要。例如,一个好的框架应能支持用户在任何可行的价格点下单,无论历史K线走势如何。此外,作者列举了几个场景,展示了现有框架在处理交易策略中的局限性,如订单执行、跳空等情况,这些都揭示了现有工具的不足。
最后,作者指出,回测的微小误差可能对最终结果产生重大影响,而现有的回测框架往往无法准确模拟交易细节,导致策略测试结果偏差。尽管有人可能觉得自己有能力自建框架,但在数据处理阶段,仍可能遇到各种挑战,这表明完全掌握量化回测并非易事。
通达信量化擒龙先手!主附图/选股指标源码分享
通达信量化擒龙先手!主附图/选股指标源码分享
一. 指标简介:
二. 主图指标源码
MA5:MA(C,5);
MA:MA(C,);
MA:MA(C,);
MA:MA(C,);
DIF1:=EMA(CLOSE,)-EMA(CLOSE,);
DEA1:=EMA(DIF1,9);
AAA1:=(DIF1-DEA1)*2*;
AAA上:=IF(AAA1>REF(AAA1,1),AAA1,DRAWNULL);
AAA下:=IF(AAA1
买:=;
入:=AAA1-REF(AAA1,1);
正大:=CROSS(入,买);
DIF:=EMA(CLOSE,)-EMA(CLOSE,);
DEA:=EMA(DIF,);
AAA:=(DIF-DEA)*2*;
牛股:=CROSS(AAA-REF(AAA,1),);
正大牛股:=正大 AND 牛股;
HSL:=V/CAPITAL*>5;
S1:=IF(NAMELIKE('S'),0,1);
S2:=IF(NAMELIKE('*'),0,1);
Z3:=NOT(INBLOCK('近期解禁'));
Z4:=NOT(INBLOCK('拟减持'));
Z5:=NOT(INBLOCK('股东减持'));
Z6:=NOT(INBLOCK('基金减持'));
Z7:=NOT(INBLOCK('即将解禁'));
Z8:=IF(CODELIKE(''),0,1);
Z9:=IF(CODELIKE('8'),0,1);
去掉:=S1 AND S2 AND Z3 AND Z4 AND Z5 AND Z6 AND Z7 AND Z8 AND Z9;
AA:=MA(CLOSE,8);
BB:=((ATAN((AA - REF(AA,1))) * 3.) * );
均线:=MA(CLOSE,);
均线:=MA(CLOSE,);
均线:=MA(CLOSE,);
天马:=((((((OPEN <= 均线) AND ((均线 - REF(均线,1)) > 0))
AND (CLOSE > 均线)) AND (BB > 1)) AND ((CLOSE / OPEN) > 1.)));
{ 股价必涨}
AA:=IF(CLOSE/REF(CLOSE,1)>1. AND HIGH/CLOSE<1. AND IF(CLOSE>REF(CLOSE,1),,0)>0, , 0);
SS:=MA((LOW+HIGH+CLOSE)/3,5)>REF(MA((LOW+HIGH+CLOSE)/3,5),1) AND REF(MA((LOW+HIGH+CLOSE)/3,5),1)
SC:=LHHV(MA((LOW+HIGH+CLOSE)/3,5),) AND C>REF(C,1) AND C>O;
MR:=SC AND COUNT(SS,2);
BB:=MR AND NOT(REF(MR,1));
股价必涨:=AA OR BB OR 天马;
{ 抄底}
二十日换手率:=BETWEEN(SUM(HSCOL,),,);{ 意思是 日换手率介于---之间}
DFO:=(C-REF(C,1))/REF(C,1)*<-5;
AAO:=BARSLAST(DFO);
突破:=CROSS(C,REF(O,AAO));
抄底:=二十日换手率 AND 突破;
三.副图指标源码:
DIF1:=EMA(CLOSE,)-EMA(CLOSE,);
DEA1:=EMA(DIF1,9);
AAA1:=(DIF1-DEA1)*2*;
AAA上:=IF(AAA1>REF(AAA1,1),AAA1,DRAWNULL);
AAA下:=IF(AAA1
买:=;
入:=AAA1-REF(AAA1,1);
正大:=CROSS(入,买);
DIF:=EMA(CLOSE,)-EMA(CLOSE,);
DEA:=EMA(DIF,);
AAA:=(DIF-DEA)*2*;
牛股:=CROSS(AAA-REF(AAA,1),);
正大牛股:=正大 AND 牛股;
HSL:=V/CAPITAL*>5;
S1:=IF(NAMELIKE('S'),0,1);
S2:=IF(NAMELIKE('*'),0,1);
Z3:=NOT(INBLOCK('近期解禁'));
Z4:=NOT(INBLOCK('拟减持'));
Z5:=NOT(INBLOCK('股东减持'));
Z6:=NOT(INBLOCK('基金减持'));
Z7:=NOT(INBLOCK('即将解禁'));
Z8:=IF(CODELIKE(''),0,1);
Z9:=IF(CODELIKE('8'),0,1);
去掉:=S1 AND S2 AND Z3 AND Z4 AND Z5 AND Z6 AND Z7 AND Z8 AND Z9;
AA:=MA(CLOSE,8);
BB:=((ATAN((AA - REF(AA,1))) * 3.) * );
均线:=MA(CLOSE,);
均线:=MA(CLOSE,);
均线:=MA(CLOSE,);
天马:=((((((OPEN <= 均线) AND ((均线 - REF(均线,1)) > 0))
AND (CLOSE > 均线)) AND (BB > 1)) AND ((CLOSE / OPEN) > 1.)));
{ 股价必涨}
AA:=IF(CLOSE/REF(CLOSE,1)>1. AND HIGH/CLOSE<1. AND IF(CLOSE>REF(CLOSE,1),,0)>0, , 0);
SS:=MA((LOW+HIGH+CLOSE)/3,5)>REF(MA((LOW+HIGH+CLOSE)/3,5),1) AND REF(MA((LOW+HIGH+CLOSE)/3,5),1)
SC:=LHHV(MA((LOW+HIGH+CLOSE)/3,5),) AND C>REF(C,1) AND C>O;
MR:=SC AND COUNT(SS,2);
BB:=MR AND NOT(REF(MR,1));
股价必涨:=AA OR BB OR 天马;
{ 抄底}
二十日换手率:=BETWEEN(SUM(HSCOL,),,);{ 意思是 日换手率介于---之间}
DFO:=(C-REF(C,1))/REF(C,1)*<-5;
AAO:=BARSLAST(DFO);
突破:=CROSS(C,REF(O,AAO));
抄底:=二十日换手率 AND 突破;
四. 选股指标源码
指标源码内容与前文一致,仅包含主图和副图指标源码,用于量化分析股票。指标包括移动平均线、MACD、股价波动判断、换手率分析等,通过设置条件筛选出具有投资潜力的股票。使用时根据具体市场情况和策略进行调整。注意:指标的有效性需结合市场情况综合判断,不应单一依赖。
TFlite 源码分析(一) 转换与量化
TensorFlow Lite 是 Google 推出的用于设备端推断的开源深度学习框架,其主要目的是将 TensorFlow 模型部署到手机、嵌入式设备或物联网设备上。它由两部分构成:模型转换工具和模型推理引擎。
TFLite 的核心组成部分是转换(Converter)和解析(interpreter)。转换主要负责将模型转换成 TFLite 模型,并完成优化和量化的过程。解析则专注于高效执行推理,在端侧设备上进行计算。
转换部分,主要功能是通过 TFLiteConverter 接口实现。转换过程涉及确定输入数据类型,如是否为 float、int8 或 uint8。优化和转换过程主要通过 Toco 完成,包括导入模型、模型优化、转换以及输出模型。
在导入模型时,`ImportTensorFlowGraphDef` 函数负责确定输入输出节点,并检查所有算子是否支持,同时内联图的节点进行转换。量化过程则涉及计算网络中单层计算的量化公式,通常针对 UINT8(范围为 0-)或 INT8(范围为 -~)。量化功能主要通过 `CheckIsReadyForQuantization`、`Quantize` 等函数实现,确保输入输出节点的最大最小值存在。
输出模型时,根据指定的输出格式(如 TensorFlow 或 TFLite)进行。TFLite 输出主要分为数据保存和创建 TFLite 模型文件两部分。
量化过程分为选择量化参数和计算量化参数两部分。选择量化参数包括为输入和权重选择合适的量化参数,这些参数在 `MakeInitialDequantizeOperator` 中计算。计算参数则使用 `ChooseQuantizationParamsForArrayAndQuantizedDataType` 函数,该函数基于模板类模板实现。
TFLite 支持的量化操作包括 Post-training quantization 方法,实现相关功能的代码位于 `tools\optimize\quantize_model.cc`。
文华财经T8更新版量化交易策略模型源码
文华财经T8更新版量化交易策略模型源码:
此量化交易策略模型源码采用了一系列技术指标和条件,旨在通过自动化方式提升交易决策的效率和准确性。代码中定义了关键变量以支持多头和空头策略的实施。
在多头策略方面,代码通过设置多个条件来识别买入时机。若“SKLOW”超过“S”(一个计算得到的价格阈值)且“SKVOL”(成交量)大于零,且当前收盘价高于“REF(H+1*MINPRICE,BARSSK)”(过去某时段最高价),则发出买入指令(BP)。
同样地,空头策略也设置了相应的买入条件。当“BKHIGH”(一个计算得到的高点)超过“B”(基础价格)且“BKVOL”(成交量)大于零,同时满足一定条件,代码会触发卖出指令(SP)。
此外,源码中还包含了自动过滤规则(AUTOFILTER),以及设置特定价格类型(SETSIGPRICETYPE)和价格取值规则(SETOTHERPRICE),以进一步优化交易决策流程。
文华财经软件指标公式赢顺云指标公式启航DK捕猎者智能量化系统指标源码
在技术分析领域,文华财经软件中的指标公式提供了多种量化分析工具,帮助投资者在交易决策中获取优势。以下是一个具体示例,展示了如何构建一个智能量化系统指标源码,以实现自动化交易策略。
这个指标源码首先通过MA(移动平均)函数计算不同周期的移动平均线,包括日、日、日、日和日的移动平均线。这些平均线被视为价格趋势的重要指示器,帮助交易者识别市场方向。MA5、MA、MA、MA、MA和MA分别代表了5日、日、日、日、日和日的简单移动平均线。
接着,通过RSV(相对强弱指数)计算公式,评估价格变动的相对强弱。RSV=(C-LLV(L,9))/(HHV(H,9)-LLV(L,9))*,其中C代表收盘价,L代表最低价,H代表最高价。RSV值的计算帮助交易者识别市场的超买或超卖状态。
进一步,通过SMA(简单移动平均)计算K、D和J值,形成KDJ指标,K=3*SMA(RSV,3,1);D=SMA(K,3,1);J=3*K-2*D。KDJ指标被广泛应用于判断市场趋势和拐点,为交易者提供买入或卖出信号。
最后,通过逻辑判断和条件计算,系统能够自动识别特定的交易信号。例如,当J值穿越一个预先设定的临界值(例如J<),同时满足X和Y的条件时(X=LLV(J,2)=LLV(J,8)且Y=IF(CROSS(J,REF(J+0.,1)) AND X AND J<,,0)),系统可能会触发一个买入或卖出信号,以指示交易者采取相应的行动。
通过这样的智能量化系统指标源码,文华财经软件能够为投资者提供高效、自动化的交易策略,帮助其在市场中获取竞争优势。这种自动化的交易策略不仅节省了人力成本,还能够减少主观判断的偏差,提高交易决策的准确性。