1
0
mirror of https://github.com/microsoft/qlib.git synced 2026-07-07 13:00:58 +08:00

Fix report, support google colab

This commit is contained in:
zhupr
2020-11-27 20:00:05 +08:00
parent 2311af5e47
commit f8101214eb
3 changed files with 51 additions and 8 deletions

View File

@@ -41,7 +41,7 @@ For more details, please refer to our paper ["Qlib: An AI-oriented Quantitative
# Framework of Qlib
<div style="align: center">
<img src="http://fintech.msra.cn/images_v060/framework.png" />
<img src="http://fintech.msra.cn/images_v060/framework.png?v=0.1" />
</div>

View File

@@ -10,14 +10,42 @@
"# Licensed under the MIT License."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"import sys, site\n",
"from pathlib import Path\n",
"\n",
"TEMP_CODE_DIR = str(Path(\"~/tmp/qlib_code\").expanduser().resolve())\n",
"\n",
"try:\n",
" import qlib\n",
" scripts_dir = Path.cwd().parent.joinpath(\"scripts\")\n",
"except ImportError:\n",
" # install qlib\n",
" ! pip install pyqlib\n",
" # reload\n",
" site.main()\n",
" # download get_data.py script\n",
" scripts_dir = Path(\"~/tmp/qlib_code/scripts\").expanduser().resolve()\n",
" scripts_dir.mkdir(parents=True, exist_ok=True)\n",
" import requests\n",
" with requests.get(\"https://github.com/microsoft/qlib/blob/main/scripts/get_data.py\") as resp:\n",
" with open(scripts_dir.joinpath(\"get_data.py\"), \"wb\") as fp:\n",
" fp.write(resp.content)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"from pathlib import Path\n",
"\n",
"import qlib\n",
"import pandas as pd\n",
@@ -32,7 +60,7 @@
"from qlib.utils import exists_qlib_data, init_instance_by_config\n",
"from qlib.workflow import R\n",
"from qlib.workflow.record_temp import SignalRecord, PortAnaRecord\n",
"from qlib.utils import flatten_dict"
"from qlib.utils import flatten_dict\n"
]
},
{
@@ -48,7 +76,7 @@
"provider_uri = \"~/.qlib/qlib_data/cn_data\" # target_dir\n",
"if not exists_qlib_data(provider_uri):\n",
" print(f\"Qlib data is not found in {provider_uri}\")\n",
" sys.path.append(str(Path.cwd().parent.joinpath(\"scripts\")))\n",
" sys.path.append(str(scripts_dir))\n",
" from get_data import GetData\n",
" GetData().qlib_data(target_dir=provider_uri, region=REG_CN)\n",
"qlib.init(provider_uri=provider_uri, region=REG_CN)"
@@ -202,7 +230,9 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"from qlib.contrib.report import analysis_model, analysis_position\n",
@@ -320,7 +350,8 @@
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3"
"pygments_lexer": "ipython3",
"version": "3.7.9"
},
"toc": {
"base_numbering": 1,

View File

@@ -96,7 +96,19 @@ class BaseGraph(object):
"""
py.init_notebook_mode()
for _fig in figure_list:
py.iplot(_fig)
# NOTE: displays figures: https://plotly.com/python/renderers/
# default: plotly_mimetype+notebook
# support renderers: import plotly.io as pio; print(pio.renderers)
renderer = None
try:
# in notebook
_ipykernel = str(type(get_ipython()))
if 'google.colab' in _ipykernel:
renderer = 'colab'
except NameError:
pass
_fig.show(renderer=renderer)
def _get_layout(self) -> go.Layout:
"""