如何进行股票回测?

开源项目实现简单实用的股票回测 尝试用 50 行代码完成一个简单的股票回测工具。输入的数据是 A 股的股票代码和时间,通过工具抓取股票数据。然后编写了策略,并使用回测工具来展示策略在数据上的具体操作和盈亏。 阅读详情

简单回测用平台。复杂回测租用抢占式服务器分布式计算。平台更方便的是图形化展示,回测算力十分鸡肋。

先弄明白什么是回测?

  • 股票回测是指,利用过去一段时间内的市场数据,分析不同买入/卖出策略下的收益表现。

回测有什么作用?

  • 无论是提出猜想去验证,还是漫无目的的因子组合找寻最优策略,我们都可以通过回测过程加深对交易和数据的认识。

回测的方法有哪些?

  • 机器学习或者蒙特卡洛模拟,都是基于规则的思想。无论你用什么方法实现,核心目标都是计算出不同交易策略的收益从而进行对比分析。

哪些数据适合做回测?

  • 相较于基本面或消息面数据,行情数据在市场上有完整的交易时间序列。行情数据是最合适作为回测的数据类型。

回测的粒度分为哪些?

  • 按照行情数据的归集级别,可分为Tick级,秒级,分钟级,日级等粒度。后者可以通过归集前者数据产生。

如何选择回测的粒度?

  • 应根据自身数据资源和计算资源以及策略类型来判断。
  • 在T+1交易制度下,普通交易者回测Tick级的高频数据难度非常大,在普通交易频率下,日线或者分钟级回测更有实际意义。
  • 而在T+0领域例如可转债、ETF,则需要更细粒度的数据,比如秒级或者Tick级。

以下是单股日线回测结果,根据过去一段时间内换手和收盘账户以及今日开盘涨幅为策略因子,产生参数组合,分别计算不同参数组合下的收益率,排序后得到组合收益列表。

完整代码:

import json
import time
import pandas as pd
import numpy as np

# 假设某一支票的K线格式如下
'''klines = [
    {"日期": "2023-01-01", "开盘": 100, "收盘": 105, "最高": 110, "最低": 98, "成交量": 1000000, "成交额": 105000000, "振幅": 12.24,
     "涨跌幅": 5.0, "涨跌额": 5, "换手率": 5.2},
    ...
    {"日期": "2023-01-02", "开盘": 106, "收盘": 102, "最高": 108, "最低": 99, "成交量": 800000, "成交额": 81600000, "振幅": 8.08,
     "涨跌幅": -3.81, "涨跌额": -3, "换手率": 4.1},
]'''

# 线上实际数据格式
k = '''{"code":0,"cnt":1,"msg":"","data":{"code":"600519","name":"贵州茅台","type":"day","count":240,"fq":"前复权","fields":["日期","开盘","收盘","最高","最低","成交量","成交额","振幅","涨跌幅","涨跌额","换手率"],"list":[["2025-01-21","1481.00","1468.15","1482.00","1465.00","16856","2481821229.00","1.15","-0.45","-6.65","0.13"],["2025-01-20","1461.00","1474.80","1489.79","1460.00","31410","4647626351.00","2.05","1.38","20.05","0.25"],["2025-01-17","1446.39","1454.75","1461.00","1446.38","18309","2663227309.00","1.01","0.58","8.37","0.15"],["2025-01-16","1474.00","1446.38","1482.66","1442.00","26342","3840411437.00","2.76","-1.69","-24.89","0.21"],["2025-01-15","1467.00","1471.27","1474.60","1460.01","18399","2701518712.00","0.99","-0.08","-1.23","0.15"],["2025-01-14","1444.95","1472.50","1478.68","1442.00","30957","4535651504.00","2.54","1.98","28.52","0.25"],["2025-01-13","1425.00","1443.98","1444.44","1422.01","21083","3030806870.00","1.56","0.56","7.98","0.17"],["2025-01-10","1447.10","1436.00","1451.95","1436.00","21872","3154677598.00","1.10","-0.55","-8.00","0.17"],["2025-01-09","1448.99","1444.00","1464.58","1432.98","29706","4295852736.00","2.19","0.10","1.50","0.24"],["2025-01-08","1440.00","1442.50","1451.82","1426.66","35258","5071821246.00","1.75","0.16","2.30","0.28"],["2025-01-07","1444.66","1440.20","1451.89","1439.00","24221","3494634227.00","0.90","0.01","0.20","0.19"],["2025-01-06","1453.00","1440.00","1462.66","1432.80","44255","6392479712.00","2.02","-2.37","-35.00","0.35"],["2025-01-03","1494.50","1475.00","1494.99","1467.01","32628","4836610288.00","1.88","-0.87","-13.00","0.26"],["2025-01-02","1524.00","1488.00","1524.49","1480.00","50029","7490883773.00","2.92","-2.36","-36.00","0.40"],["2024-12-31","1525.40","1524.00","1545.00","1522.01","39354","6033540366.00","1.51","-0.07","-1.00","0.31"],["2024-12-30","1533.97","1525.00","1543.96","1525.00","25130","3849542646.00","1.24","-0.26","-3.97","0.20"],["2024-12-27","1528.90","1528.97","1536.00","1519.50","20759","3170191445.00","1.08","0.08","1.18","0.17"],["2024-12-26","1534.00","1527.79","1538.78","1523.00","18287","2798840003.00","1.03","-0.14","-2.21","0.15"],["2024-12-25","1538.80","1530.00","1538.80","1526.10","17123","2621061878.00","0.83","-0.57","-8.82","0.14"],["2024-12-24","1525.00","1538.82","1544.00","1521.59","22105","3394160299.00","1.47","0.81","12.37","0.18"],["2024-12-23","1523.00","1526.45","1538.00","1517.00","21603","3300971424.00","1.38","0.29","4.45","0.17"],["2024-12-20","1531.13","1522.00","1541.80","1520.02","28158","4307425535.00","1.43","-0.34","-5.13","0.22"],["2024-12-19","1541.26","1527.13","1544.05","1526.45","24809","3862602665.00","1.14","-1.32","-20.49","0.20"],["2024-12-18","1534.09","1547.62","1553.12","1523.22","41162","6440801971.00","1.95","0.88","13.50","0.33"],["2024-12-17","1502.11","1534.12","1545.12","1497.13","54172","8398945449.00","3.19","2.05","30.80","0.43"],["2024-12-16","1497.12","1503.32","1505.12","1486.83","32537","4945298799.00","1.22","0.55","8.20","0.26"],["2024-12-13","1526.13","1495.12","1531.11","1495.00","49512","7580908315.00","2.34","-3.04","-46.80","0.39"],["2024-12-12","1508.14","1541.92","1542.12","1505.12","41937","6510547810.00","2.45","2.00","30.20","0.33"],["2024-12-11","1516.12","1511.72","1531.12","1507.10","29671","4569662604.00","1.58","-0.72","-10.99","0.24"],["2024-12-10","1546.12","1522.71","1555.85","1521.30","60312","9421340719.00","2.31","1.86","27.79","0.48"],["2024-12-09","1498.14","1494.92","1505.84","1489.32","19800","3008173586.00","1.10","-0.15","-2.21","0.16"],["2024-12-06","1489.12","1497.13","1515.02","1484.19","32040","4883148600.00","2.07","0.67","10.01","0.26"],["2024-12-05","1486.98","1487.12","1493.98","1486.12","16141","2441318387.00","0.53","-0.60","-9.00","0.13"],["2024-12-04","1496.19","1496.12","1499.78","1486.12","23924","3626565544.00","0.91","-0.45","-6.74","0.19"],["2024-12-03","1500.12","1502.86","1505.02","1492.20","24807","3777197199.00","0.85","0.12","1.74","0.20"],["2024-12-02","1502.12","1501.12","1506.11","1491.22","26820","4086609952.00","0.99","-0.05","-0.74","0.21"],["2024-11-29","1493.12","1501.86","1531.12","1489.33","36088","5534035503.00","2.80","0.52","7.74","0.29"],["2024-11-28","1498.12","1494.12","1501.11","1478.12","23952","3627662382.00","1.54","-0.07","-1.05","0.19"],["2024-11-27","1485.12","1495.17","1498.27","1481.12","25934","3927607772.00","1.15","0.68","10.05","0.21"],["2024-11-26","1474.69","1485.12","1495.00","1465.00","25745","3876885984.00","2.03","0.71","10.43","0.20"],["2024-11-25","1487.12","1474.69","1508.12","1472.79","33186","5011136234.00","2.38","-0.62","-9.25","0.26"],["2024-11-22","1517.27","1483.94","1523.89","1483.94","33436","5107288992.00","2.63","-2.45","-37.31","0.27"],["2024-11-21","1519.99","1521.25","1525.11","1508.12","18262","2810933515.00","1.12","0.02","0.32","0.15"],["2024-11-20","1519.12","1520.93","1530.09","1507.42","21345","3292675257.00","1.49","0.19","2.89","0.17"],["2024-11-19","1541.12","1518.04","1545.49","1501.12","33266","5138831155.00","2.89","-1.11","-17.08","0.26"],["2024-11-18","1538.12","1535.12","1552.11","1531.12","27092","4237197499.00","1.37","0.00","0.00","0.22"],["2024-11-15","1545.12","1535.12","1559.92","1529.12","33761","5295326892.00","1.99","-0.95","-14.80","0.27"],["2024-11-14","1546.12","1549.92","1570.57","1541.77","29248","4617144097.00","1.85","-0.30","-4.70","0.23"],["2024-11-13","1544.12","1554.62","1562.78","1537.40","29125","4594445032.00","1.63","0.08","1.30","0.23"],["2024-11-12","1565.12","1553.32","1599.12","1550.07","49223","7844798676.00","3.12","-1.32","-20.81","0.39"],["2024-11-11","1566.12","1574.13","1586.07","1543.31","43854","6957095385.00","2.70","-0.75","-11.96","0.35"],["2024-11-08","1637.01","1586.09","1643.23","1577.13","60771","9885645907.00","4.07","-2.41","-39.17","0.48"],["2024-11-07","1538.58","1625.26","1629.62","1538.42","74739","12074951757.00","5.89","5.05","78.14","0.59"],["2024-11-06","1551.12","1547.12","1565.11","1537.34","37631","5916917616.00","1.79","-0.39","-5.99","0.30"],["2024-11-05","1516.12","1553.11","1553.82","1512.13","45640","7134443464.00","2.73","1.89","28.79","0.36"],["2024-11-04","1521.05","1524.32","1526.12","1504.18","29093","4481761764.00","1.45","0.96","14.45","0.23"],["2024-11-01","1497.12","1509.87","1521.25","1496.92","32284","4954302212.00","1.62","0.40","5.96","0.26"],["2024-10-31","1508.27","1503.91","1516.12","1496.12","29957","4575545180.00","1.33","-0.28","-4.21","0.24"],["2024-10-30","1501.12","1508.12","1527.31","1499.53","32006","4913175983.00","1.84","0.03","0.38","0.25"],["2024-10-29","1536.12","1507.74","1556.12","1506.12","41166","6368105233.00","3.24","-2.17","-33.38","0.33"],["2024-10-28","1536.12","1541.12","1541.12","1498.35","39121","6064453668.00","2.79","0.40","6.15","0.31"],["2024-10-25","1523.12","1534.97","1550.91","1522.13","27745","4328271351.00","1.88","0.44","6.65","0.22"],["2024-10-24","1537.12","1528.32","1551.12","1521.13","23923","3723973209.00","1.94","-0.99","-15.30","0.19"],["2024-10-23","1520.23","1543.62","1553.07","1508.12","40088","6259600035.00","2.96","1.61","24.50","0.32"],["2024-10-22","1502.68","1519.12","1536.30","1500.32","36269","5607826492.00","2.39","0.94","14.20","0.29"],["2024-10-21","1517.33","1504.92","1526.09","1497.33","42008","6433918335.00","1.90","-0.80","-12.20","0.33"],["2024-10-18","1469.12","1517.12","1543.96","1455.08","68619","10418043492.00","6.04","3.15","46.40","0.55"],["2024-10-17","1513.12","1470.72","1513.78","1469.53","39460","5964778958.00","2.95","-1.86","-27.90","0.31"],["2024-10-16","1517.00","1498.62","1525.92","1486.12","46664","7140169692.00","2.60","-2.07","-31.75","0.37"],["2024-10-15","1575.12","1530.37","1577.11","1529.13","43571","6884141869.00","3.04","-3.03","-47.74","0.35"],["2024-10-14","1589.12","1578.11","1596.75","1557.29","44812","7181350822.00","2.50","-0.19","-3.00","0.36"],["2024-10-11","1591.52","1581.11","1616.08","1566.12","41915","6764982707.00","3.09","-2.17","-35.01","0.33"],["2024-10-10","1598.38","1616.12","1644.20","1567.12","74603","12198964035.00","4.91","2.85","44.85","0.59"],["2024-10-09","1676.12","1571.27","1676.12","1566.12","120197","19708432734.00","6.47","-7.52","-127.85","0.96"],["2024-10-08","1886.12","1699.12","1886.12","1656.30","194709","35114075007.00","13.33","-1.45","-25.00","1.55"],["2024-09-30","1668.12","1724.12","1736.00","1628.12","157293","26982747037.00","6.72","7.40","118.80","1.25"],["2024-09-27","1576.12","1605.32","1605.32","1541.48","87922","14050260569.00","4.24","6.66","100.20","0.70"],["2024-09-26","1376.08","1505.12","1505.99","1372.12","97278","14269262657.00","9.74","9.45","130.00","0.77"],["2024-09-25","1376.17","1375.12","1403.12","1372.83","73954","10420109655.00","2.25","1.96","26.40","0.59"],["2024-09-24","1261.21","1348.72","1349.12","1241.21","100413","13297277523.00","8.72","8.97","111.06","0.80"],["2024-09-23","1244.12","1237.66","1269.62","1236.78","45550","5809791682.00","2.65","-0.19","-2.38","0.36"],["2024-09-20","1237.62","1240.04","1250.02","1226.15","39982","5038507835.00","1.93","0.24","2.92","0.32"],["2024-09-19","1238.12","1237.12","1269.00","1221.95","59988","7623739997.00","3.79","-0.47","-5.90","0.48"],["2024-09-18","1276.12","1243.02","1276.13","1242.78","46185","5895948011.00","2.60","-2.91","-37.23","0.37"],["2024-09-13","1307.12","1280.25","1308.12","1273.42","56005","7329376917.00","2.65","-2.36","-30.93","0.45"],["2024-09-12","1356.12","1311.18","1361.12","1311.03","47948","6482445000.00","3.69","-3.31","-44.94","0.38"],["2024-09-11","1351.72","1356.12","1362.00","1341.12","20996","2892932794.00","1.54","0.15","2.00","0.17"],["2024-09-10","1346.14","1354.12","1369.12","1346.14","19803","2737295644.00","1.70","0.22","3.00","0.16"],["2024-09-09","1356.13","1351.12","1369.83","1346.20","28638","3950086825.00","1.72","-1.67","-23.00","0.23"],["2024-09-06","1381.12","1374.12","1382.12","1374.12","10321","1445537257.00","0.58","-0.50","-6.88","0.08"],["2024-09-05","1376.62","1381.00","1383.12","1373.12","14503","2033680839.00","0.73","0.35","4.88","0.12"],["2024-09-04","1378.12","1376.12","1395.31","1375.86","14211","1995221417.00","1.40","-0.72","-10.00","0.11"],["2024-09-03","1374.12","1386.12","1391.10","1369.14","17888","2516125842.00","1.60","1.09","15.00","0.14"],["2024-09-02","1406.12","1371.12","1414.12","1371.12","34135","4801049927.00","3.03","-3.40","-48.19","0.27"],["2024-08-30","1389.12","1419.31","1434.19","1381.12","38739","5576118649.00","3.82","2.15","29.89","0.31"],["2024-08-29","1356.12","1389.42","1394.12","1356.12","27472","3864270621.00","2.78","1.78","24.30","0.22"],["2024-08-28","1380.19","1365.12","1382.12","1351.12","31664","4388025875.00","2.25","-1.09","-15.07","0.25"],["2024-08-27","1388.12","1380.19","1389.12","1377.23","13657","1920770570.00","0.86","-0.57","-7.93","0.11"],["2024-08-26","1393.12","1388.12","1399.98","1379.27","15628","2207595461.00","1.49","-0.21","-2.99","0.12"],["2024-08-23","1384.12","1391.11","1399.62","1382.24","15320","2166499202.00","1.25","0.36","4.94","0.12"],["2024-08-22","1392.12","1386.17","1396.12","1376.13","19527","2750868073.00","1.43","-0.54","-7.53","0.16"],["2024-08-21","1396.12","1393.70","1404.10","1391.81","15092","2144746551.00","0.88","-0.37","-5.14","0.12"],["2024-08-20","1406.02","1398.84","1406.05","1390.12","18591","2644814344.00","1.14","-0.19","-2.72","0.15"],["2024-08-19","1408.12","1401.56","1435.00","1401.12","20433","2942106435.00","2.41","-0.41","-5.76","0.16"],["2024-08-16","1402.91","1407.32","1412.04","1393.13","16455","2349825846.00","1.35","0.31","4.31","0.13"],["2024-08-15","1381.15","1403.01","1412.11","1380.07","23039","3275699572.00","2.31","0.98","13.59","0.18"],["2024-08-14","1399.13","1389.42","1401.02","1388.14","13414","1898377426.00","0.92","-0.69","-9.71","0.11"],["2024-08-13","1409.12","1399.13","1411.12","1388.13","16308","2317037756.00","1.63","-0.93","-13.09","0.13"],["2024-08-12","1406.12","1412.22","1419.12","1402.70","13632","1956573438.00","1.16","-0.05","-0.70","0.11"],["2024-08-09","1436.15","1412.92","1445.12","1412.92","30138","4368705515.00","2.29","0.43","6.11","0.24"],["2024-08-08","1387.12","1406.81","1424.30","1385.12","25131","3592705430.00","2.82","1.09","15.19","0.20"],["2024-08-07","1381.62","1391.62","1398.11","1374.42","20622","2910580747.00","1.72","0.78","10.80","0.16"],["2024-08-06","1398.12","1380.82","1400.12","1370.13","27444","3860735014.00","2.16","-0.38","-5.31","0.22"],["2024-08-05","1365.00","1386.13","1402.12","1361.64","37736","5327127147.00","2.97","1.80","24.56","0.30"],["2024-08-02","1349.72","1361.57","1373.09","1349.72","21928","3041726372.00","1.72","-0.05","-0.71","0.17"],["2024-08-01","1394.12","1362.28","1396.12","1360.82","32038","4470988088.00","2.53","-2.51","-35.12","0.26"],["2024-07-31","1349.22","1397.40","1403.39","1349.22","43272","6098149721.00","3.99","3.04","41.29","0.34"],["2024-07-30","1362.10","1356.11","1366.39","1337.42","51779","7103491566.00","2.11","-1.31","-18.03","0.41"],["2024-07-29","1391.12","1374.14","1398.11","1374.12","30869","4342610100.00","1.72","-1.73","-24.17","0.25"],["2024-07-26","1406.61","1398.31","1413.84","1387.02","32354","4594928574.00","1.91","-0.59","-8.30","0.26"],["2024-07-25","1416.14","1406.61","1424.12","1396.13","28347","4054086714.00","1.98","-0.67","-9.53","0.23"],["2024-07-24","1426.32","1416.14","1439.82","1411.12","24123","3490200973.00","2.01","-1.05","-14.98","0.19"],["2024-07-23","1475.12","1431.12","1477.12","1431.12","30944","4555460198.00","3.12","-2.98","-44.00","0.25"],["2024-07-22","1501.15","1475.12","1506.10","1467.77","28543","4300813310.00","2.55","-1.77","-26.62","0.23"],["2024-07-19","1466.93","1501.74","1505.30","1460.13","38943","5888615145.00","3.07","1.91","28.11","0.31"],["2024-07-18","1475.62","1473.63","1491.12","1468.65","28870","4337214601.00","1.52","-0.26","-3.89","0.23"],["2024-07-17","1452.22","1477.52","1479.12","1446.14","34311","5115680654.00","2.27","1.75","25.40","0.27"],["2024-07-16","1452.12","1452.12","1458.12","1441.17","20316","2998367128.00","1.17","0.08","1.10","0.16"],["2024-07-15","1446.12","1451.02","1464.12","1446.12","19176","2835374730.00","1.24","-0.27","-3.92","0.15"],["2024-07-12","1449.13","1454.94","1462.52","1441.57","23386","3451132648.00","1.46","1.16","16.73","0.19"],["2024-07-11","1426.09","1438.21","1445.12","1416.33","29020","4236960596.00","2.04","1.73","24.50","0.23"],["2024-07-10","1415.37","1413.71","1442.00","1411.12","23763","3436693365.00","2.18","-0.03","-0.44","0.19"],["2024-07-09","1396.12","1414.15","1431.01","1386.22","33621","4807957927.00","3.21","1.29","18.03","0.27"],["2024-07-08","1419.12","1396.12","1433.89","1395.26","39527","5657951348.00","2.70","-2.31","-33.00","0.31"],["2024-07-05","1455.12","1429.12","1469.30","1426.12","38829","5664477336.00","2.95","-2.24","-32.74","0.31"],["2024-07-04","1481.12","1461.86","1488.12","1457.25","24380","3637968895.00","2.09","-0.97","-14.26","0.19"],["2024-07-03","1475.12","1476.12","1489.13","1464.14","31573","4740808130.00","1.70","0.63","9.30","0.25"],["2024-07-02","1409.12","1466.82","1474.12","1409.12","51853","7659166816.00","4.59","3.55","50.32","0.41"],["2024-07-01","1445.00","1416.50","1449.11","1404.12","32161","4636689118.00","3.12","-1.87","-27.01","0.26"],["2024-06-28","1456.12","1443.51","1470.61","1440.12","38582","5699649047.00","2.08","-1.58","-23.10","0.31"],["2024-06-27","1468.12","1466.61","1470.09","1444.12","32822","4857959457.00","1.77","0.09","1.27","0.26"],["2024-06-26","1456.12","1465.34","1477.19","1453.92","29570","4414601922.00","1.59","0.18","2.57","0.24"],["2024-06-25","1453.12","1462.77","1479.11","1453.12","42098","6273919386.00","1.79","0.70","10.10","0.34"],["2024-06-24","1399.12","1452.67","1465.11","1390.13","63840","9319362390.00","5.18","0.38","5.55","0.51"],["2024-06-21","1476.62","1447.12","1481.10","1446.34","43320","6418543742.00","2.35","-1.97","-29.10","0.34"],["2024-06-20","1476.12","1476.22","1492.13","1474.12","24711","3715924984.00","1.22","-0.06","-0.90","0.20"],["2024-06-19","1474.11","1477.12","1480.12","1458.22","41262","6167728416.00","1.49","0.71","10.38","0.33"],["2024-06-18","1476.13","1466.74","1499.78","1461.92","41258","6317590943.00","2.55","-1.35","-20.00","0.33"],["2024-06-17","1477.53","1486.74","1494.01","1456.25","48318","7400883243.00","2.52","-0.90","-13.50","0.38"],["2024-06-14","1500.24","1500.24","1509.20","1465.70","59514","9177637168.00","2.90","0.00","-0.01","0.47"],["2024-06-13","1522.01","1500.25","1522.13","1498.39","36186","5654938942.00","1.57","-1.10","-16.67","0.29"],["2024-06-12","1515.24","1516.92","1535.24","1515.24","33171","5230086503.00","1.32","0.18","2.68","0.26"],["2024-06-11","1548.23","1514.24","1550.24","1512.24","70247","11090577610.00","2.43","-3.21","-50.18","0.56"],["2024-06-07","1591.37","1564.42","1591.42","1564.25","33525","5453120695.00","1.71","-1.30","-20.63","0.27"],["2024-06-06","1588.90","1585.05","1597.23","1581.15","25610","4205700983.00","1.01","-0.26","-4.19","0.20"],["2024-06-05","1597.24","1589.24","1603.92","1588.27","19056","3140824328.00","0.98","-0.58","-9.20","0.15"],["2024-06-04","1585.74","1598.44","1601.24","1581.79","20841","3432497303.00","1.23","0.87","13.81","0.17"],["2024-06-03","1595.24","1584.63","1596.16","1580.35","30261","4966041477.00","0.99","-0.57","-9.06","0.24"],["2024-05-31","1595.74","1593.69","1608.74","1593.69","21857","3617654788.00","0.94","-0.03","-0.55","0.17"],["2024-05-30","1620.24","1594.24","1620.62","1594.24","32208","5333306808.00","1.63","-1.54","-25.00","0.26"],["2024-05-29","1611.24","1619.24","1625.24","1610.24","19651","3289173345.00","0.93","0.58","9.36","0.16"],["2024-05-28","1615.64","1609.88","1620.41","1608.24","23521","3923020375.00","0.75","-0.34","-5.48","0.19"],["2024-05-27","1623.24","1615.36","1632.69","1613.25","25098","4199001866.00","1.20","-0.43","-6.96","0.20"],["2024-05-24","1638.24","1622.32","1640.24","1622.24","20217","3401323915.00","1.10","-0.91","-14.93","0.16"],["2024-05-23","1645.24","1637.25","1651.62","1635.32","18885","3199923320.00","0.99","-0.35","-5.70","0.15"],["2024-05-22","1648.24","1642.95","1655.20","1636.24","20286","3443977767.00","1.15","-0.44","-7.29","0.16"],["2024-05-21","1653.24","1650.24","1654.97","1643.40","16293","2776847499.00","0.70","-0.24","-4.00","0.13"],["2024-05-20","1663.23","1654.24","1678.23","1653.35","31426","5401389335.00","1.50","-0.36","-6.00","0.25"],["2024-05-17","1645.25","1660.24","1661.82","1645.24","28924","4936920634.00","1.01","0.64","10.50","0.23"],["2024-05-16","1650.24","1649.74","1655.12","1635.24","29680","5048754769.00","1.21","0.27","4.50","0.24"],["2024-05-15","1647.82","1645.24","1653.24","1643.83","15739","2677203002.00","0.57","-0.12","-1.98","0.13"],["2024-05-14","1651.23","1647.22","1658.51","1645.25","21274","3623282672.00","0.80","-0.24","-4.02","0.17"],["2024-05-13","1677.26","1651.24","1677.90","1646.46","37662","6435415674.00","1.87","-1.96","-32.98","0.30"],["2024-05-10","1706.34","1684.22","1713.12","1679.23","26207","4571398242.00","1.99","-1.00","-17.02","0.21"],["2024-05-09","1703.24","1701.24","1710.22","1695.24","22387","3929804849.00","0.88","-0.47","-7.97","0.18"],["2024-05-08","1714.93","1709.21","1715.21","1700.91","14769","2603293863.00","0.83","-0.35","-6.03","0.12"],["2024-05-07","1711.03","1715.24","1723.04","1701.92","24925","4413196426.00","1.24","0.57","9.80","0.20"],["2024-05-06","1679.21","1705.44","1710.24","1672.24","59909","10504351712.00","2.30","3.34","55.20","0.48"],["2024-04-30","1650.25","1650.24","1675.12","1650.24","30760","5273902374.00","1.51","0.06","1.00","0.24"],["2024-04-29","1642.19","1649.24","1673.24","1639.06","41332","7072096590.00","2.07","-0.33","-5.43","0.33"],["2024-04-26","1639.24","1654.67","1659.24","1639.22","30996","5290248521.00","1.22","1.00","16.39","0.25"],["2024-04-25","1635.57","1638.28","1640.84","1627.49","14476","2447183879.00","0.81","-0.03","-0.56","0.12"],["2024-04-24","1642.22","1638.84","1645.15","1628.57","17086","2893555635.00","1.01","0.08","1.32","0.14"],["2024-04-23","1620.24","1637.52","1640.24","1620.24","24980","4217855279.00","1.23","1.06","17.22","0.20"],["2024-04-22","1599.24","1620.30","1624.12","1590.24","29951","5001684635.00","2.13","1.79","28.42","0.24"],["2024-04-19","1606.02","1591.88","1613.74","1586.52","23500","3879233242.00","1.68","-1.49","-24.14","0.19"],["2024-04-18","1604.25","1616.02","1628.22","1603.42","26568","4445487745.00","1.54","0.23","3.78","0.21"],["2024-04-17","1613.24","1612.24","1620.44","1603.24","24819","4130322018.00","1.06","-0.19","-3.00","0.20"],["2024-04-16","1610.73","1615.24","1624.80","1604.24","26266","4382796962.00","1.27","-0.18","-2.98","0.21"],["2024-04-15","1580.25","1618.22","1620.85","1580.22","35818","5960815532.00","2.57","2.47","38.95","0.29"],["2024-04-12","1596.24","1579.27","1609.24","1579.27","26744","4403968129.00","1.88","-0.88","-13.97","0.21"],["2024-04-11","1585.35","1593.24","1595.24","1579.93","22766","3736417595.00","0.96","0.00","0.02","0.18"],["2024-04-10","1607.51","1593.22","1610.23","1590.24","27631","4562853880.00","1.24","-0.89","-14.24","0.22"],["2024-04-09","1605.91","1607.46","1618.24","1603.69","25590","4256226333.00","0.90","-0.28","-4.44","0.20"],["2024-04-08","1640.24","1611.90","1641.24","1607.84","59167","9907355766.00","2.01","-2.92","-48.45","0.47"],["2024-04-03","1679.24","1660.35","1684.68","1655.26","29046","5002390042.00","1.77","0.07","1.12","0.23"],["2024-04-02","1667.24","1659.23","1670.23","1650.29","25449","4360973684.00","1.20","-0.44","-7.34","0.20"],["2024-04-01","1655.23","1666.57","1679.24","1653.94","27131","4679371035.00","1.54","1.12","18.43","0.22"],["2024-03-29","1646.88","1648.14","1656.23","1643.34","13457","2290584417.00","0.78","0.08","1.26","0.11"],["2024-03-28","1640.24","1646.88","1663.24","1638.44","24642","4201857059.00","1.51","0.04","0.64","0.20"],["2024-03-27","1650.24","1646.24","1657.24","1644.24","18113","3087792980.00","0.79","-0.50","-8.29","0.14"],["2024-03-26","1632.70","1654.53","1658.04","1632.70","28069","4782899074.00","1.55","1.24","20.28","0.22"],["2024-03-25","1643.78","1634.25","1644.01","1625.82","24473","4131446237.00","1.10","-0.75","-12.34","0.19"],["2024-03-22","1650.27","1646.59","1654.23","1633.24","25456","4318592818.00","1.27","-0.46","-7.65","0.20"],["2024-03-21","1653.34","1654.24","1664.24","1649.74","16596","2839332631.00","0.88","-0.04","-0.60","0.13"],["2024-03-20","1648.60","1654.84","1658.92","1645.47","15249","2604543856.00","0.81","0.10","1.58","0.12"],["2024-03-19","1648.24","1653.26","1665.18","1638.35","23948","4093701261.00","1.62","-0.01","-0.24","0.19"],["2024-03-18","1660.24","1653.50","1665.09","1644.24","26055","4446059130.00","1.25","-0.56","-9.23","0.21"],["2024-03-15","1657.74","1662.73","1677.64","1657.24","17834","3066692399.00","1.23","0.05","0.86","0.14"],["2024-03-14","1664.24","1661.87","1680.08","1656.74","19405","3338768308.00","1.40","-0.65","-10.82","0.15"],["2024-03-13","1685.21","1672.69","1693.24","1665.34","26500","4588879420.00","1.65","-1.04","-17.55","0.21"],["2024-03-12","1639.18","1690.24","1694.34","1635.74","54227","9393309052.00","3.57","3.08","50.51","0.43"],["2024-03-11","1620.24","1639.73","1644.12","1618.42","29895","5048394347.00","1.59","1.43","23.06","0.24"],["2024-03-08","1625.80","1616.67","1631.92","1615.29","22156","3710678522.00","1.02","-0.75","-12.20","0.18"],["2024-03-07","1625.24","1628.87","1635.04","1623.24","21599","3633934774.00","0.73","0.19","3.08","0.17"],["2024-03-06","1636.24","1625.79","1640.24","1623.26","22142","3725582802.00","1.04","-0.89","-14.55","0.18"],["2024-03-05","1616.05","1640.34","1642.24","1611.92","36238","6102136582.00","1.87","1.16","18.80","0.29"],["2024-03-04","1624.24","1621.54","1626.23","1615.29","26485","4434401015.00","0.67","-0.54","-8.76","0.21"],["2024-03-01","1635.24","1630.30","1640.21","1621.92","26868","4526845398.00","1.12","-0.61","-9.94","0.21"],["2024-02-29","1626.79","1640.24","1641.74","1624.44","24758","4184917973.00","1.06","0.83","13.45","0.20"],["2024-02-28","1634.16","1626.79","1641.81","1619.25","31867","5371312847.00","1.38","-0.49","-7.95","0.25"],["2024-02-27","1628.24","1634.74","1638.16","1623.24","22080","3718478358.00","0.91","-0.33","-5.48","0.18"],["2024-02-26","1653.24","1640.22","1653.98","1630.26","27318","4625594409.00","1.43","-1.15","-19.11","0.22"],["2024-02-23","1656.35","1659.33","1669.62","1645.26","27306","4670706950.00","1.46","-0.26","-4.29","0.22"],["2024-02-22","1652.74","1663.62","1668.25","1645.77","22794","3905984695.00","1.35","0.04","0.72","0.18"],["2024-02-21","1611.26","1662.90","1676.24","1607.24","46154","7868784082.00","4.27","2.95","47.66","0.37"],["2024-02-20","1642.60","1615.24","1642.60","1601.80","34470","5755266893.00","2.49","-1.55","-25.43","0.27"],["2024-02-19","1683.11","1640.67","1683.17","1633.24","36977","6288277980.00","3.02","-0.64","-10.57","0.29"],["2024-02-08","1665.25","1651.24","1670.24","1630.24","46757","7953438044.00","2.42","-0.30","-4.99","0.37"],["2024-02-07","1626.27","1656.23","1659.83","1606.85","52601","8899606867.00","3.27","2.16","34.99","0.42"],["2024-02-06","1575.25","1621.24","1630.72","1571.34","52472","8740646588.00","3.77","2.92","45.99","0.42"],["2024-02-05","1541.24","1575.25","1582.68","1540.49","53130","8590683071.00","2.74","2.21","34.01","0.42"],["2024-02-02","1560.24","1541.24","1573.02","1526.24","39382","6336691194.00","3.01","-0.90","-14.03","0.31"],["2024-02-01","1550.74","1555.27","1569.13","1546.24","26485","4272298576.00","1.48","0.33","5.12","0.21"],["2024-01-31","1558.24","1550.15","1565.21","1543.37","29649","4770104891.00","1.40","-0.52","-8.09","0.24"],["2024-01-30","1595.22","1558.24","1595.22","1555.24","30866","5010784454.00","2.51","-2.32","-37.00","0.25"],["2024-01-29","1585.54","1595.24","1605.82","1585.53","31421","5189014946.00","1.28","0.80","12.68","0.25"],["2024-01-26","1575.60","1582.56","1589.34","1568.24","26955","4402111882.00","1.33","-0.04","-0.68","0.21"],["2024-01-25","1572.06","1583.24","1586.24","1567.24","31206","5094508165.00","1.21","0.76","12.00","0.25"],["2024-01-24","1574.24","1571.24","1579.08","1548.80","33216","5373603703.00","1.94","0.45","7.00","0.26"]]}}'''
k = json.loads(k)

klines = []
# 数据清洗+格式化
for l in k['data']['list']:
    dic = {}
    for f in range(len(k['data']['fields'])):
        if k['data']['fields'][f] == '日期':
            dic[k['data']['fields'][f]] = l[f]
        else:
            dic[k['data']['fields'][f]] = float(l[f])
    klines.append(dic)

data = pd.DataFrame(klines)
data['日期'] = pd.to_datetime(data['日期'])

# 以日期为索引,排序
data['日期'] = data['日期'].dt.date
data.set_index('日期', inplace=True)
data = data.sort_index(ascending=True)

# 由基本数据计算衍生数据,如:开盘涨幅=今开/昨收;收盘涨幅=今收/昨收;量比=今日成交量/(前5日平均成交量)
data['开盘涨幅'] = (data['开盘'] / data['收盘'].shift(1) - 1) * 100
data['收盘涨幅'] = (data['收盘'] / data['收盘'].shift(1) - 1) * 100
data['量比'] = data['成交量'] / data['成交量'].shift(1).rolling(window=5).mean()

# 数据格式验证
print('pands读入数据格式:', data.to_string(max_rows=None, max_cols=None))

calc_cnt = 0


def backtest(n, turn_over_threshold, open_return_threshold, close_return_threshold):
    # 计算过去n天的换手率、开盘涨幅、收盘涨幅和量比的平均值或其它统计量
    data['平均换手率'] = data['换手率'].shift(1).rolling(window=n).mean()
    data['平均开盘涨幅'] = data['开盘涨幅'].shift(1).rolling(window=n).mean().round(2)
    data['平均收盘涨幅'] = data['收盘涨幅'].shift(1).rolling(window=n).mean().round(2)

    # 初始化交易信号,每次覆写
    data['买入信号'] = (data['平均换手率'] > turn_over_threshold) & \
                   (data['平均开盘涨幅'] > open_return_threshold) & \
                   (data['平均收盘涨幅'] > close_return_threshold)

    # 条件符合则买入,记录买入日期
    buy_dates = data[data['买入信号']].index

    # 由买入日期推算卖日期
    sell_dates = []
    for index in buy_dates:
        try:
            loc = data.index.get_loc(index)
            next_loc = loc + 1
            next_index = data.index[next_loc]
            sell_dates.append(next_index)
        except IndexError:
            sell_dates.append(None)  # 不存在下一个交易日

    global calc_cnt
    # 计算收益率
    total_return = 1.0
    for buy_date, sell_date in zip(buy_dates, sell_dates):
        if sell_date in data.index:
            calc_cnt = calc_cnt + 1
            buy_price = data.loc[buy_date, '开盘']
            sell_price = data.loc[sell_date, '开盘']

            turn_over = data.loc[buy_date, '平均换手率']
            open_return = data.loc[buy_date, '平均开盘涨幅']
            close_return = data.loc[buy_date, '平均收盘涨幅']

            daily_return = round(sell_price / buy_price, 4)
            total_return = round(total_return * daily_return, 4)  # 计算复利
            # 输出参数组合,方便校验
            print(calc_cnt, '{}_{}_{}_{}'.format(n, turn_over_threshold, open_return_threshold, close_return_threshold),
                  buy_date, sell_date, buy_price, sell_price, turn_over, open_return, close_return, daily_return,
                  total_return)

    return total_return


best_params = {}
max_return = 0

# 定义要测试的n值范围
n_values = range(1, 2)  # 例如n从1到29天

# 枚举定义各个阈值的可能取值
turn_over_thresholds = [1, 2, 3, 4, 5]  # 平均换手率
open_return_thresholds = [0.5, 1, 1.5, 2]  # 平均开盘涨幅
close_return_thresholds = [0.5, 1, 1.5, 2]  # 平均收盘涨幅

# 参数生产
turn_over_thresholds = np.round(np.arange(0, 2, 0.1), 2)
open_return_thresholds = np.round(np.arange(-3, 3, 0.5), 2)
close_return_thresholds = np.round(np.arange(-3, 3, 0.5), 2)

k_len = len(data)
param_size = len(n_values) * len(turn_over_thresholds) * len(open_return_thresholds) * len(close_return_thresholds)

# 计算预估
print("K线长度:", k_len)
print("参数组合量:", param_size)
print("预估最大计算次数:", param_size * k_len)

print("3s后开始计算\n\n\n\n")
time.sleep(3)

# 打印表头
print('触发计数', '参数组合', '买入日期', '卖出日期', '买入价格', '卖出价格', '平均换手率', '平均开盘涨幅', '平均收盘涨幅', '单笔收益', '累计收益')

start_time = time.time()
# 遍历所有组合
for n in n_values:
    for turn_over in turn_over_thresholds:
        for open_return in open_return_thresholds:
            for close_return in close_return_thresholds:
                return_value = backtest(n, turn_over, open_return, close_return)
                # 记录最大累计收益的参数值
                if return_value > max_return:
                    max_return = return_value
                    best_params = {
                        '倒推天数': n,
                        '平均换手率大于': turn_over,
                        '平均开盘涨幅大于': open_return,
                        '平均收盘涨幅大于': close_return,
                    }

end_time = time.time()
elapsed_time = end_time - start_time
print("最佳参数组合:", best_params)
print("最高收益率:", max_return)
print("总计算次数:", calc_cnt)
print("耗时(s):", elapsed_time)



课后思考: 将单股日线回测改为全市场并行回测

参考链接:离线回测-历史数据下载 · 开发文档

原文地址:https://zhuanlan.zhihu.com/p/1913635911742259398

基于DeepSeek的股票分析与回测应用——AI技术驱动投资决策 本项目是一个基于PySide6构建的桌面应用,旨在帮助用户分析股票数据、进行历史回测、执行AI趋势分析,并导出结果。股票数据加载与展示:支持从CSV或Excel文件加载股票数据,展示在UI界面中。技术指标计算与展示:计算并展示技术指标,如指数移动平均(EMA)、相对强弱指数(RSI)、成交量等。深度趋势分析:结合AI模型(DeepSeek)对股票趋势进行智能分析,给出投资建议。回测功能:基于历史数据进行回测,验证投资策略的有效性。数据导出:导出技术指标和分析报告到Excel或Word文档。 阅读详情

相关推荐

python回测代码_python实现马丁策略回测3000只股票的实例代码

免费资源网 - https://freexyz.cn/上一篇文章讲解了如何实现马丁策略,但没有探索其泛化能力,所以这次来尝试回测3000只股票来查看盈利比例。批量爬取股票数据这里爬取数据继续使用tushare,根据股票代码来遍历,因为爬取数据需要一定时间,不妨使用多线程来爬取,这里要注意tushare规定每分钟爬取不能超过500次,除非你有很多积分,所以线程数要适当调低。首先我们生成上证与深证所有...

weixin_31833039的博客 1334

股票量化回测分析(金死叉策略)

在金融市场中,股票价格的波动受到多种因素的影响,包括经济数据、公司业绩和政策变化等。为了分析和预测股票价格的走势,投资者可以借助各种技术指标和分析方法,如:金叉死叉、相对强弱指标(RSI)和移动平均线(MACD)等技术指标。这些指标可以辅助投资者识别股票价格的趋势和反转点,从而指导投资者进行买卖决策。然而,需要注意的是,技术指标和分析方法并不能完全预测股票价格的走势,它们只是提供了一种辅助工具。技术指标也可能存在滞后性和误导性的问题,因此投资者应谨慎使用,并结合基本面分析和市场情绪等因素进行综合判断。

weixin_54482667的博客 3334

股票量化交易:数据回测与现有框架

数据回测在股票量化交易中起着至关重要的作用。在Python中,有许多现有的框架可用于进行股票量化交易的数据回测,如PyAlgoTrade、Backtrader和Zipline等。在进行量化交易时,数据回测是一个重要的环节,它可以评估交易策略在历史数据上的表现,并提供对未来表现的一定程度的预测。PyAlgoTrade:PyAlgoTrade是一个开源的Python量化交易库,提供了用于数据回测和实盘交易的功能。其目的是通过分析过去的交易数据,了解策略在不同市场环境下的盈亏情况,从而优化和改进交易策略。

HackNebulaZ的博客 642

Python金融_使用Pandas进行股票量化回测

Python金融 使用 Pandas 进行股票量化回测 (Quantitative Backtesting)。

goufeng93的博客 4817

使用tushare和backtrader进行股票回测

结合丰富的金融数据和强大的回测平台,我们可以更好地评估和验证投资策略的有效性,为投资决策提供支持。接下来,我们使用ts.get_hist_data()函数获取了’600036’的历史数据,并使用bt.feeds.PandasData()将数据转换为backtrader可识别的格式。在回测结束后,我们可以通过cerebro.broker.getvalue()方法获取最终的资金余额,并进行打印输出。然后,我们通过cerebro.addstrategy()方法添加了我们定义的策略类。

TgpActionscript的博客 812

Discuz IIS上传附件大于28M失败报错Upload Failed.修改maxAllowedContentLength(图文教程)

下图:Discuz X3.5的系统信息,上传许可为1024MB(1GB)论坛为局域网论坛,仅供内部同事交流使用!使用官方最新的Discuz! X3.5 Release 20231221 UTF-8 下图:选择上传附件(提示可以最大上传100M) 下图:模拟上传84M的文件(

骚团长的博客 1830

用Python徒手撸一个股票回测框架

通过纯Python完成股票回测框架的搭建。 什么是回测框架? 无论是传统股票交易还是量化交易,无法避免的一个问题是我们需要检验自己的交易策略是否可行,而最简单的方式就是利用历史数据检验交易策略,而回测框架就是提供这样的一个平台让交易策略在历史数据中不断交易,最终生成最终结果,通过查看结果的策略收益,年化收益,最大回测等用以评估交易策略的可行性。 代码地址在最后。 本项目并不是一个已完善的项目, ...

Python追梦 2万+

常微分方程 (ODE) 和 随机微分方程 (SDE)

常微分方程(Ordinary Differential Equations, ODE)和随机微分方程(Stochastic Differential Equations, SDE)是数学中描述系统动态行为的重要工具。它们有一些相似之处,但在处理随机性方面存在显著差异。

weixin_39699362的博客 4384

如何用backtrader对股票组合进行量化回测?

01引言backtrader是功能非常强大的量化回测框架之一,得到欧洲很多银行、基金等金融机构的青睐,并应用于实盘交易中。公众号Python金融量化针对backtrader的入门和应用已...

Python金融量化 1万+

Ubuntu下OpenOCD+GDB的安装、编译及使用

目标开发板(芯片):stm32mp157aaa 仿真器:ST-Link 操作系统:Ubuntu 18.04 调试软件:OpenOCD OpenOCD的安装 首先下载OpenOCD有多种方式,可以GitHub上下载,目录下打开终端,输入 git clone git://git.code.sf.net/p/openocd/code openocd 下载完整的OpenOCD的文件夹。进入到OpenOCD的目录下,开始安装。 接着,OpenOCD适用于微处理器的debug和烧写,需要下载相关库 sud

蓝冰露的博客 9525

Android 10.0 SystemUI 屏蔽状态栏消息推送弹出的悬浮通知

在状态栏中,有一些通知类似 消息推送 弹出的 悬浮通知,弹出30秒之后会消失掉 要想屏蔽掉这些通知,首选知道这些通知是怎么产生的 通知类型 NotificationContentInflater.java 详细的介绍各种通知的类型 frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentInflater.java /** * The defau

安卓兼职framework和app工程师的博客 1542

python实现马丁策略回测3000只股票

马丁策略回测3000只股票批量爬出股票数据批量回测股票 上一篇文章讲解了如何实现马丁策略,但没有探索其泛化能力,所以这次来尝试回测3000只股票来查看盈利比例。 批量爬出股票数据 这里爬取数据继续使用tushare,根据股票代码来遍历,因为爬取数据需要一定时间,不妨使用多线程来爬取,这里要注意tushare规定每分钟爬取不能超过500次,除非你有很多积分,所以线程数要适当调低。 首先我们生成上证与深证所有股票的代码: #上证代码 shanghaicode = [] for i in range(600000

weixin_40264579的博客 4627

XCP实战系列介绍01-测量与标定底层逻辑介绍

XCP-测量与标定底层代码实现介绍,通过对相关API调用关系介绍加深开发人员对其功能的了解。

initiallizer的博客 1万+

如何使用python量化回测多只股票

Python量化回测多只股票面临诸多挑战,包含策略、加速方法、数据处理等关键要点,助您高效开展回测。

股票程序化接口 1828

【图像超分】论文精读:SRConvNet: A Transformer-Style ConvNet for Lightweight Image Super-Resolution

本文提出了一种轻量级图像超分辨率重建方法SRConvNet,结合了卷积神经网络和Transformer的优势。针对传统Transformer计算复杂度高的问题,设计了傅立叶调制注意力(FMA)替代自注意力机制,通过区域频率空间调制实现高效的全局依赖建模;同时引入动态混合层(DML),采用混合尺度动态卷积结合通道拆分机制增强局部特征提取。实验表明,SRConvNet在计算效率和参数数量上显著优于现有轻量级超分方法,同时保持了优异的重建性能。该方法为移动端部署提供了有效的解决方案,在精度与复杂度间取得了良好平衡

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 808

基于Python的异步爬虫实战:高效抓取同花顺概念板块数据

本文将详细介绍如何使用Python最新异步爬虫技术(requests-html+aiohttp+selenium)高效抓取同花顺概念板块数据。内容涵盖:反爬机制破解、动态页面渲染处理、数据解析存储等完整流程,并提供可复用的高性能爬虫代码实现。高性能:异步并发处理,QPS可达50+高可用:完善的异常处理机制可扩展:支持分布式部署增加历史数据回溯功能集成机器学习识别验证码构建实时数据推送系统。

2201_76125261的博客 1536

用Python徒手撸一个股票回测框架!

通过纯Python完成股票回测框架的搭建。 什么是回测框架? Python资源共享群:484031800 无论是传统股票交易还是量化交易,无法避免的一个问题是我们需要检验自己的交易策略是否可行,而最简单的方式就是利用历史数据检验交易策略,而回测框架就是提供这样的一个平台让交易策略在历史数据中不断交易,最终生成最终结果,通过查看结果的策略收益,年化收益,最大回测等用以评估交易策略的可行性。 ...

Pythoncxy的博客 5965

系统分析师论文范文(三)微服务

摘要(300字) 2024年4月,我作为系统分析师参与某省三甲医院云影像系统建设项目,负责系统分析与设计工作。该项目旨在响应国家"无胶片化"医疗政策,解决传统影像系统数据孤岛、调阅效率低等问题。系统基于DICOM 3.0和HL7国际标准,采用B/S架构与Spring Cloud Alibaba微服务技术栈,包含影像采集、智能分析、数据安全等核心模块,实现全院影像资源的云端统一管理与多端调阅。在架构设计上,通过微服务拆分、分布式事务控制及多层次安全防护机制,保障了系统的高可用性与数据一致性。系统于2024年1

echo的博客 221

Backtrader能处理多只股票吗?组合回测教程!

在这个信息爆炸的时代,各种"神奇"的炒股软件层出不穷。但真正能长期盈利的,永远是那些愿意沉下心来研究市场规律的人。Backtrader可能没有花花绿绿的界面,但它能给你的,是一套完整的量化投资方法论。如果你真的想在股市长期生存,不妨从我这里开户后,好好研究下Backtrader这个工具。毕竟,在投资这条路上,正确的工具和方法,比一时运气重要得多。

wencaitouzi的博客 2008

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

一个简单的股票回测框架的

一个简单的股票回测框架的Python代码。这个代码将会使用Pandas库来处理数据,以及Matplotlib库来可视化结果。请确保你的Python环境中已经安装了这些库。

qq_37959246的博客 1002

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Backtrader 量化回测实践(4)—— 投资组合股票回测同一策略

需要将一组股票作为一个投资组合,验证一个策略。观察操作是否具有一致性。比如在某一段时间,组合中的买卖操作,有一定的相似度。 对所有股票依次做单独的策略回测,不好对比,不好直观验证策略的优劣。 基于backtrader,编写多股票同时回测程序。以MACD简单策略演示。需要关注理解策略中的四个关键点 。

六月闻君 3452

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

python股票回测_用Python徒手撸一个股票回测框架搭建【推荐】

通过纯Python完成股票回测框架的搭建。什么是回测框架?无论是传统股票交易还是量化交易,无法避免的一个问题是我们需要检验自己的交易策略是否可行,而最简单的方式就是利用历史数据检验交易策略,而回测框架就是提供这样的一个平台让交易策略在历史数据中不断交易,最终生成最终结果,通过查看结果的策略收益,年化收益,最大回测等用以评估交易策略的可行性。代码地址在最后。本项目并不是一个已完善的项目, 还在不断的...

weixin_39731845的博客 1060

Python 小市值股票模型代码及回测分析

本文详细注释、分析了一种小市值股票模型的基本原理和模块代码。并用该模型回测了A股2010年1月4日以来的全部历史数据。文章还对回测结果进行了归因分析并做出了总结和展望。

加百力 的技术博客 6707

股票量化交易中,常用的量化策略有哪些以及如何进行有效的策略回测

股票量化交易常用趋势跟踪、均值回归等策略,策略回测要点有数据准备、评估指标运用等,帮助掌握量化交易关键环节。

股票量化交易自动交易程序化交易接口 1527

本地简易股票量化回测框架

本科时代自己撸的一套简易股票量化回测框架,供新手入门学习研究。支持不同标的、多参数的批量回测,用于快速开发迭代交易策略。 数据接口使用的是聚宽量化平台的API。 import numpy as np import datetime import jqdata import pandas as pd import matplotlib.pyplot as plt import json #字符转换 import matplotlib.ticker as mtk import math im

RicardoOzZ的博客 2815

python 策略回测_python实现马丁策略回测3000只股票的实例代码

上一篇文章讲解了如何实现马丁策略,但没有探索其泛化能力,所以这次来尝试回测3000只股票来查看盈利比例。批量爬取股票数据这里爬取数据继续使用tushare,根据股票代码来遍历,因为爬取数据需要一定时间,不妨使用多线程来爬取,这里要注意tushare规定每分钟爬取不能超过500次,除非你有很多积分,所以线程数要适当调低。首先我们生成上证与深证所有股票的代码:#上证代码shanghaicode = [...

weixin_34874119的博客 1250
上一篇: Transformer中Decoder模块是如何预测下一个字符的算法
下一篇: Python量化交易一体化解决方案
觉醒赵小四
博客等级 码龄9年 373粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值