搭建一个简单的 Backtrader 回测环境。首先导入必要的模块和库,创建核心的 Cerebro 对象,接着将初始资金设置为 10 万。之后打印出初始投资组合价值,然后运行回测流程,由于未添加策略和数据,回测不会进行实际交易。最后打印回测结束后的投资组合价值,因为没有交易发生,初始和最终价值相同,这为后续添加具体策略和数据进行有意义的回测提供了基础框架。
(1)Backtrader程序代码
# -*- coding: utf-8 -*-
"""
Created on Fri Feb 21 15:49:26 2025
创建一个简单的 Backtrader 回测环境。首先导入必要的模块和 Backtrader 库,
然后创建 Cerebro 对象作为回测的核心管理单元。接着打印出初始的投资组合价值,
之后运行回测流程,但由于代码中未添加具体的交易策略和数据,
这个回测流程实际上没有进行任何有意义的交易操作。
最后打印出回测结束后的投资组合价值,由于没有实际交易,
所以初始和最终价值应该是相同的。
设置代理的资金量为10万。
@author: Administrator
"""
from __future__ import (absolute_import, division, print_function,
unicode_literals)
import backtrader as bt
cerebro = bt.Cerebro()
cerebro.broker.set_cash(100000.0)
print('Starting Portfolio Value: %.2f' % cerebro.broker.getvalue())
cerebro.run()
print('Final Portfolio Value: %.2f' % cerebro.broker.getvalue())
(2)Backtrader程序代码输出结果
runfile('D:/zwPython/zwrk/1_Quant_TensorFlow/B-2.py', wdir='D:/zwPython/zwrk/1_Quant_TensorFlow')
Starting Portfolio Value: 100000.00
Final Portfolio Value: 100000.00
(3)程序代码注释
# -*- coding: utf-8 -*-
# 这行代码指定了文件的编码格式为 UTF-8,确保代码文件能正确处理各种字符,避免中文等非 ASCII 字符出现编码问题。
"""
Created on Fri Feb 21 15:49:26 2025
创建一个简单的 Backtrader 回测环境。首先导入必要的模块和 Backtrader 库,
然后创建 Cerebro 对象作为回测的核心管理单元。接着打印出初始的投资组合价值,
之后运行回测流程,但由于代码中未添加具体的交易策略和数据,
这个回测流程实际上没有进行任何有意义的交易操作。
最后打印出回测结束后的投资组合价值,由于没有实际交易,
所以初始和最终价值应该是相同的。
设置代理的资金量为10万。
@author: Administrator
"""
# 这是一段文档字符串,用于对代码的创建时间、功能和作者等信息进行说明,方便后续维护和理解代码。
from __future__ import (absolute_import, division, print_function,
unicode_literals)
# 从 __future__ 模块导入绝对导入、精确除法、新式打印函数和 Unicode 文本支持,
# 目的是让代码在不同 Python 版本中保持兼容性。
import backtrader as bt
# 导入 backtrader 库,它是一个强大的 Python 量化交易回测框架。
cerebro = bt.Cerebro()
# 创建一个 Cerebro 对象,Cerebro 是 backtrader 的核心类,负责整个回测流程的管理,
# 包括数据加载、策略执行和结果分析等。
cerebro.broker.set_cash(100000.0)
# 调用 Cerebro 对象的 broker(经纪人)的 set_cash 方法,设置初始资金为 100000.0 元,
# 这模拟了我们在真实交易中投入的本金。
print('Starting Portfolio Value: %.2f' % cerebro.broker.getvalue())
# 打印初始的投资组合价值。cerebro.broker.getvalue() 用于获取当前投资组合的总价值,
# %.2f 是格式化字符串,将数值保留两位小数输出。
cerebro.run()
# 调用 Cerebro 对象的 run 方法,启动回测流程。
# 但由于代码中没有添加具体的交易策略和数据,这个回测不会有实际的交易操作。
print('Final Portfolio Value: %.2f' % cerebro.broker.getvalue())
# 打印回测结束后的投资组合价值。同样使用 getvalue 方法获取总价值,
# 并以保留两位小数的格式输出。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/913381
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!