Files
quantconnect--lean/Research/BasicQuantBookTemplate.ipynb
2026-07-13 13:02:50 +08:00

134 lines
3.4 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![QuantConnect Logo](https://cdn.quantconnect.com/web/i/qc_notebook_logo_rev0.png)\n",
"## Welcome to The QuantConnect Research Page\n",
"#### Refer to this page for documentation https://www.quantconnect.com/docs/research/overview#\n",
"#### Contribute to this template file https://github.com/QuantConnect/Lean/blob/master/Research/BasicQuantBookTemplate.ipynb"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## QuantBook Basics\n",
"\n",
"### Start QuantBook\n",
"- Add the references and imports\n",
"- Create a QuantBook instance"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Load in our startup script, required to set runtime for PythonNet\n",
"%run ../start.py # %run start.py # in Dev Container"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Create an instance\n",
"qb = QuantBook()\n",
"\n",
"# Select asset data\n",
"spy = qb.AddEquity(\"SPY\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Historical Data Requests\n",
"\n",
"We can use the QuantConnect API to make Historical Data Requests. The data will be presented as multi-index pandas.DataFrame where the first index is the Symbol.\n",
"\n",
"For more information, please follow the [link](https://www.quantconnect.com/docs#Historical-Data-Historical-Data-Requests)."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"# Gets historical data from the subscribed assets, the last 360 datapoints with daily resolution\n",
"h1 = qb.History(qb.Securities.Keys, 360, Resolution.Daily)\n",
"\n",
"# Plot closing prices from \"SPY\" \n",
"h1.loc[\"SPY\"][\"close\"].plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Indicators\n",
"\n",
"We can easily get the indicator of a given symbol with QuantBook. \n",
"\n",
"For all indicators, please checkout QuantConnect Indicators [Reference Table](https://www.quantconnect.com/docs#Indicators-Reference-Table)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Example with BB, it is a datapoint indicator\n",
"# Define the indicator\n",
"bb = BollingerBands(30, 2)\n",
"\n",
"# Gets historical data of indicator\n",
"bbdf = qb.Indicator(bb, \"SPY\", 360, Resolution.Daily).data_frame\n",
"\n",
"# drop undesired fields\n",
"bbdf = bbdf.drop('standarddeviation', 1)\n",
"\n",
"# Plot\n",
"bbdf.plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}