Ⅰ 小白入门量化交易:vn.py数据获取和初步回测
经过初步尝试,vn.py在数据获取和回测过程中遇到一些问题,但也带来了新的学习体验。本文将分享我的解决过程和未来计划。
首先,我解决了数据获取的基本问题。原本因为误写交易所简称,导致无法下载股票数据。正确的交易所包括CFFEX、SHFE、SSE和SZSE。对于大量股票的数据下载,目前还未能实现批量处理,需要进一步探索。
数据存入方面,我将vn.py默认的sqlite数据库改为mongodb,以便于可视化和管理。通过mongoDB,我发现数据以字典形式存储,包括时间、价格和成交量等,适合初步的回测操作。然而,成交量数据类型问题导致回测失败,需要清洗数据将其转换为int类型。
尽管使用了vn.py的示例策略进行回测,结果并不理想,这提示我策略选择和参数优化还有待改进。我计划参考vnpy的策略文件,优化策略和参数,但目前面临股票池选择的挑战,因为不可能对所有股票进行回测,需要挑选关键股票。
未来,我计划利用rqdata的API获取股票数据,并将其导入mongoDB。开学后可能时间紧张,但我会抓紧时间解决这个问题,寻找适合的股票池,以便进行更为系统和有针对性的回测。
总的来说,尽管遇到挑战,但这个过程也让我对量化交易有了更深入的理解,期待后续的进展。
Ⅱ 璇锋暀python閲忓寲浜ゆ槗镞剁敤鍒扮殑镶$エ姣忓ぉ阃愮玛浜ゆ槗鏁版嵁濡备綍鐖鍙栵纻
棣栧厛锛屾墦寮链熻揣浜ゆ槗杞浠讹纴锏诲綍镊宸辩殑浜ゆ槗璐︽埛銆傞夋嫨鐩稿簲镄勬湡璐у悎绾︼纴杩涘叆浜ゆ槗鐣岄溃銆
鍏舵★纴镓惧埌钬沧垚浜よ板綍钬濇垨钬滈愮玛鎴愪氦钬濈瓑鐩稿叧锷熻兘鎸夐挳銆傚湪涓浜涗氦鏄撹蒋浠朵腑锛岃繖涓鎸夐挳鍙鑳戒綅浜庝氦鏄撶晫闱㈢殑搴曢儴鎴栦晶杈规爮銆
铹跺悗锛岀偣鍑烩沧垚浜よ板綍钬濇垨钬滈愮玛鎴愪氦钬濇寜阍锛岃繘鍏ユ垚浜よ板綍椤甸溃銆傚湪杩欎釜椤甸溃涓婏纴浣犲彲浠ョ湅鍒版渶杩戠殑鎴愪氦璁板綍鍒楄〃銆
鎺ヤ笅𨱒ワ纴镓惧埌钬滃煎嚭钬濇垨钬滃煎嚭鎴愪氦鏄庣粏钬濈瓑鎸夐挳銆傝繖涓鎸夐挳阃氩父浣崭簬鎴愪氦璁板綍椤甸溃镄勪笂鏂规垨涓嬫柟銆
铹跺悗锛岀偣鍑烩滃煎嚭钬濇垨钬滃煎嚭鎴愪氦鏄庣粏钬濇寜阍锛岄夋嫨瀵煎嚭鏂囦欢镄勬牸寮忓拰淇濆瓨璺寰勚备竴鑸𨱒ヨ达纴鎴戜滑鍙浠ラ夋嫨瀵煎嚭涓篍xcel鎴朇SV镙煎纺镄勬枃浠讹纴杩欐牱鍙浠ユ柟渚垮悗缁镄勬暟鎹澶勭悊鍜屽垎鏋愩
链钖庯纴镣瑰嚮钬灭‘璁も濇垨钬滃煎嚭钬濇寜阍锛岀瓑寰呰蒋浠跺畬鎴愬煎嚭杩囩▼銆傚煎嚭镄勯熷害鍙栧喅浜庢垚浜よ板綍镄勬暟閲忓拰鐢佃剳镐ц兘绛夊洜绱犮
涓镞﹀煎嚭瀹屾垚锛屼綘灏卞彲浠ュ湪阃夋嫨镄勪缭瀛樿矾寰勪腑镓惧埌瀵煎嚭镄勬枃浠躲傞氲繃镓揿紑杩欎釜鏂囦欢锛屼綘灏卞彲浠ユ煡鐪嫔拰鍒嗘瀽链熻揣阃愮玛鎴愪氦鏄庣粏浜嗐
瀵煎嚭镄勬湡璐ч愮玛鎴愪氦鏄庣粏鏂囦欢阃氩父鍖呮嫭浠ヤ笅淇℃伅锛氢氦鏄撴棩链熴佷氦鏄撴椂闂淬佹垚浜や环镙笺佹垚浜ゆ暟閲忋佷拱鍗栨柟钖戠瓑銆傝繖浜涗俊鎭鍙浠ュ府锷╀綘杩借釜姣忎竴绗旀垚浜ょ殑𨱍呭喌锛屽垎鏋愬竞鍦虹殑涔板崠锷涢噺鍜屼氦鏄撹屼负銆
阃氲繃瀵规湡璐ч愮玛鎴愪氦鏄庣粏镄勫垎鏋愶纴浜ゆ槗钥呭拰鎶曡祫钥呭彲浠ヨ幏鍙栦互涓嬫柟闱㈢殑淇℃伅锛
棣栧厛锛屼简瑙e竞鍦虹殑鎴愪氦𨱍呭喌銆傞氲繃镆ョ湅鎴愪氦浠锋牸鍜屾垚浜ゆ暟閲忥纴鍙浠ュ垽鏂甯傚満镄勪环镙艰蛋锷垮拰浜ゆ槗娲昏穬搴︺
鍏舵★纴鍒嗘瀽甯傚満镄勪拱鍗栧姏閲忋傞氲繃缁熻′拱鍏ュ拰鍗栧嚭镄勬暟閲忓拰姣斾緥锛屽彲浠ヤ简瑙e竞鍦虹殑澶氱┖鍙屾柟锷涢噺瀵规瘆锛屽垽鏂甯傚満镄勮蛋锷垮拰瓒嫔娍銆
鍐嶆★纴镰旂┒浜ゆ槗钥呯殑琛屼负鍜岀瓥鐣ャ傞氲繃鍒嗘瀽鎴愪氦璁板綍锛屽彲浠ヤ简瑙d氦鏄撹呯殑涔板崠琛屼负鍜岀瓥鐣ワ纴鍙戠幇涓浜涙綔鍦ㄧ殑浜ゆ槗链轰细銆
链钖庯纴浼桦寲浜ゆ槗绛栫暐鍜岄庨橹绠$悊銆傞氲繃瀵规湡璐ч愮玛鎴愪氦鏄庣粏镄勭爷绌讹纴鍙浠ュ彂鐜颁竴浜涘父瑙佺殑浜ゆ槗阌栾鍜岄庨橹锲犵礌锛屼粠钥屾敼杩涜嚜宸辩殑浜ゆ槗绛栫暐鍜岄庨橹绠$悊鑳藉姏銆
Ⅲ 【手把手教你】获取股票数据并进行量化回测——基于ADX和MACD趋势策略
01 引言
为了帮助对量化分析感兴趣但尚未涉足股票量化分析的读者,本文将介绍获取股票数据和进行量化回测的基本步骤。公众号提供了多个参考模板,涉及Python编程基础、数据获取、量化分析框架搭建等。目前常用的数据获取工具包括tushare、tushare pro、akshare、baostock等开源库,此外还有WindPy、恒有数hs_udata、聚宽JQData等非开源选项。这些库各有优劣,本文将主要介绍如何使用它们获取数据并进行量化回测。
02 数据获取
本文将通过对比tushare、tushare pro、akshare和baostock四个流行的数据获取库,展示如何构建统一参数的数据获取函数。将复权、起始和结束时间设为默认参数,注意tushare pro需要注册获取token才能使用。使用这些库获取数据,发现tushare pro和akshare的耗时较短,而tushare旧版接口代码简洁但耗时较长,baostock则耗时稍长。实际获取数据时,考虑网络状态的影响。
03 策略回测
以tushare旧版接口为例,获取数据并基于技术指标进行量化回测。分析结果表明,“300002”股票在特定时间段内的波动较大,累计收益率为负,年化波动率高,最大回撤比例也较大。回测结果表明,结合ADX、均线和MACD指标构建的交易策略可以带来正的年化收益率,改善了最大回撤等风险指标,展现出一定的策略有效性。
04 结语
本文通过对比开源数据获取库,展示了如何利用它们进行量化回测,并基于ADX、均线和MACD指标构建交易策略。旨在为读者提供量化分析的思路和模板,但需注意策略的有效性和局限性。实际应用中,应结合市场理解深入拓展策略,并认识到基于技术指标的策略可能受到特定情况的影响。最终,任何策略应用前均需充分测试和验证。
Ⅳ 量化交易数据从哪里来
量化交易的数据主要来源于金融市场和交易所。金融市场和交易所是各类金融产品交易的场所,包括股票、期货、外汇等。在交易过程中,各种交易数据会被记录下来,例如价格、成交量、买卖方向等。这些数据可以用于量化交易策略的研究和分析。
除了金融市场和交易所,还有一些第三方数据供应商也提供量化交易数据,例如财经新闻机构、数据服务公司等。这些数据供应商会收集、整理和提供各类金融数据,供量化交易者使用。同时,一些量化交易者也会通过自己的数据采集系统获取数据,如通过API接口获取交易所数据或者通过爬虫技术从网页上获取数据。
量化交易数据的来源多样,量化交易者可以根据自己的需求选择适合的数据来源。例如,对于高频交易策略,可能更关注交易所提供的实时交易数据,而对于基本面分析,则可能更依赖财经新闻机构提供的市场信息。
不同类型的量化交易策略对数据的要求也不同。例如,技术分析策略可能主要依赖历史价格和成交量数据,而基本面分析策略则需要更多的宏观经济指标和公司财务数据。因此,量化交易者需要根据自己的策略需求选择合适的数据来源。
在获取数据时,量化交易者需要注意数据的质量和时效性。高质量的数据能够提高策略的准确性,而及时的数据则能够更好地捕捉市场变化。因此,选择合适的数据供应商和数据来源是非常重要的。
此外,数据处理和分析也是量化交易的重要环节。量化交易者需要对收集到的数据进行清洗、整理和分析,以便从中提取有价值的信息。这通常需要使用统计学和机器学习等方法,以提高策略的表现。
总之,量化交易数据的来源多样,选择合适的数据来源对于实现有效的量化交易策略至关重要。量化交易者需要根据自己的策略需求和市场情况,灵活选择和使用数据来源,以提高策略的表现。
Ⅳ 閲忓寲杞浠舵帓钖
閲忓寲杞浠舵帓钖嶏细钖岃姳椤恒佷笢鏂硅储瀵屻佹按姣嶉噺鍖栥侀噾鍫嗗爢銆侀棯鐢垫湡璐х瓑銆
1銆佸悓鑺遍‘
钖岃姳椤烘槸涓娆鹃泦镶$エ琛屾儏銆佷氦鏄撱佽储缁忔柊闂汇佹姇璧勭爷绌躲侀噺鍖栦氦鏄撶瓑澶氩姛鑳戒簬涓韬镄勭患钖堥噾铻嶈蒋浠躲傚悓鑺遍‘杞浠舵嫢链夊疄镞惰屾儏銆佸垎镞惰蛋锷裤并绾垮浘銆佹妧链鍒嗘瀽宸ュ叿銆佽祫璁淇℃伅銆佽嚜阃夎偂绛夊氱嶅姛鑳斤纴鏂逛究鎶曡祫钥呭揩阃熻幏鍙栬偂甯备俊鎭鍜岃繘琛岃偂绁ㄤ氦鏄撱
浠ヤ笂鍐呭瑰弬钥冿细锏惧害锏剧-涓沧柟璐㈠瘜淇℃伅镶′唤链夐檺鍏鍙
Ⅵ 量化学习-获取历史数据
对于量化学习中至关重要的历史数据获取,我们首先来了解一下基础概念。K线,简称Bar,是一种展示股票价格变动的图形,由开盘价、最高价、最低价和收盘价四要素构成,用于反映市场动态和价格信息。移动平均线(Moving Average, 简称MA)如MA10、MA20、MA30,是通过计算过去一段时间收盘价的平均值,帮助分析趋势。例如,贵州茅台的5日、10日和20日均线分别用橙色、黄色和蓝色表示,它们反映了近期的价格趋势和市场参与者的平均成本线。
获取历史数据是量化分析的基础。市面上有专门的API接口可以获取A股的历史交易数据,包括日K线、周K线、月K线,以及5分钟、15分钟、30分钟和60分钟的K线数据。通过这些数据,我们可以进行策略分析和股票选择。要使用这些数据,首先需要安装相应的库,例如日线数据的获取示例是贵州茅台2021年7月至2022年10月的数据,保存为history_A_stock_k_data.csv。
对于分钟线数据,这里以5分钟线为例。在理解数据时,注意“前收盘价”的含义非常重要。在除权除息日,前收盘价并非前一天实际收盘价,而是根据股权登记日收盘价、股息、送股和配股等因素综合计算得出。计算方法包括除息价的计算(收盘价减去每股红利),以及除权价(收盘价除以送股数或配股数加一),最后的除权除息价则是上述两项的综合结果,由交易所公布。首发日的前收盘价即为首发价格。