Skip to main content

39 posts tagged with "随笔"

View All Tags

PyCharm及 VS Code 快速配置RQSDK上手

PyCharm

为什么要用PyCharm?

  • PyCharm 作为 IDE(集成开发环境),再带 python 解释器和虚拟环境管理功能,开箱即用
  • PyCharm 默认的内置功能极为丰富(Git、数据库支持、框架支持等),无需手动配置插件便可直接使用
  • PyCharm 内置了在业界无出其右的静态代码审查(code inspect)功能

PyCharm 下载

官网提供了专业版和社区版下载。

  • 专业版用于科学计算和 Web 开发。同时具有 HTML、JS 和 SQL 等支持。专业版 PyCharm 支持试用30天。

  • 社区版用于通常的 Python 开发。免费且开源。

创建 PyCharm 工程(Project)

下载且安装完成 PyCharm 后,便可打开 Pycharm 后建立一个工程。该阶段可以设置项目使用的 Python 解释器/虚拟环境,后续开发中的代码提示、调试等功能都依赖为工程配置的虚拟环境:

  1. 点击 Create New Project 按钮
  2. 展开 Project interpreter
  3. 选择虚拟环境(若没有已存在环境,则 PyCharm 会自动创建)
  4. 点击 Create 按钮

建立一个项目

如果没有python环境 ,编辑器右下角会有进度条提示python的安装进度。

工程创建完成后,亦可在设置中修改当前工程使用的虚拟环境:

  1. 点击左上角菜单栏FIle -> Settings(macOS 中为 PyCharm -> Preference)
  2. 点击 Project: **** -> Project Interpreter
  3. 点击右边小齿轮 -> Show All
  4. 点击加号(+) -> 选择虚拟环境(Virtualenv Environment) 或者 Conda 环境(Conda Environment) `

配置python环境

在 PyCharm 中安装 RQSDK

若当前工程配置的虚拟环境中还未安装 RQSDK,可以直接在 PyCharm 中调用终端(terminal)安装,PyCharm 会自动在改终端激活先前配置好的虚拟环境。 若点击左下角 Terminal 以激活终端,输入以下代码以安装 RQSDK

pip install -i https://pypi.douban.com/simple rqsdk     

使用 PyCharm 编写代码

  • 创建 Python 模块(module)鼠标右键项目文件夹 -> New -> Python File -> 输入文件名

  • 若当前工程正确配置了虚拟环境,且虚拟环境中安装了 RQSDK,在 py 文件中输入“rq”时便可以看到 PyCharm 给出的代码提示 image.png

  • 在 py 文件中输入代码,如使用 RQDatac 调取日线数据:

import rqdatac    

rqdatac.init()
print(rqdatac.get_price("000001.XSHE"))
  • 在编辑区域点击右键执行 Run... 便可以运行当前模块,注意,上述代码的运行要求事先使用 rqsdk license 命令配置好 license。

  • 当用了 rqsdk install rqalpha_plus 后,当前python环境也会有 rqoptimizer 和 rqfactor

使用 PyCharm 运行回测

回测在终端中需要通过 rqalpha-plus 命令而非 python 命令运行,故在 PyCharm 中运行回测需要进行一些额外的配置,以简单的 buy-and-hold 回测策略为例。

1 创建名为 buy_and_hold 的 python 模块并键入以下代码:

# buy_and_hold.py    

def init(context):
context.s = "000001.XSHE"
context.fired = False

def handle_bar(context, bar_dict):
if not context.fired:
order_shares(context.s, 1000)
context.fired = True

2 点击右上角的 Add Configuration

打开配置启动参数窗口

3 在打开的窗口中将第一项左侧默认的运行方式由 Script path 修改为 Module name 4 设置 Module namerqalpha_plus,设置 Parameters 为回测运行的子命令 run 及其参数,如:

run -f buy_and_hold.py -s 20190101 -e 20191231 -a stock 20000 --plot    

配置启动命令

5 点击 OK 按钮以完成配置 6 点击右上角的三角形按钮以运行回测,或点击虫子按钮以调试(debug)代码

运行策略


Visual Studio Code (VS Code)

为什么要用 VS Code?

  1. 轻量化,下载安装更快;资源占用低,对配置相对不足的计算机更友好
  2. 启动快速,首次创建工程时没有漫长等待创建索引的过程
  3. 生态健全,有着丰富的第三方主题和插件

Visual Studio Code官网可以下载标准版。

安装 Python 插件(Extensions)

VScode 不是 python 专用的编辑器,故使用其开发 python 需要安装专门的插件支持才能获得代码提示、审查、调试等功能:

  • 在左侧栏点击 Extensions 后,搜索 python,选择搜索到的第一项并点击 install 按钮安装。

image.png

设置虚拟环境/Python 解释器

  • 使用 Ctrl+Shift+P 快捷键(macOS 为 Command+Shift+P)打开 command palette 窗口
  • 输入关键字 python select 并找到 Python: Select Interpreter 一项, 点击该项并在随后弹出的 Python 解释器列表中选择目标虚拟环境中的解释器(若目标虚拟环境未列出,则需要手工输入解释器的路径)

使用 VS Code 编写代码

  • 新建一个文件夹
  • 将文件夹拖入到VS code 窗口
  • 创建py文件 open folder -> new file 文件名:demo_rqdatac.py

创建py文件

VS code 代码补全功能

  • 使用rqdatac 查看平安银行日线数据

文件中输入以下代码:

import rqdatac    

rqdatac.init()
print(rqdatac.get_price("000001.XSHE"))

vs code demo

  • 运行rqalpha-plus 生成样例策略并运行

image.png

运行样例策略需要的命令如下 (假设conda环境名为py35)

conda activate py35    
pip install rqsdk -i https://pypi.douban.com/simple/
rqsdk install rqalpha-plus
rqsdk download-data
rqalpha-plus examples
rqalpha-plus run -f examples/buy_and_hold.py -s 2018-01-01 -e 2018-05-31 -fq 1m --plot --account stock 1000000

命令对应作用如下:

  • 激活名为 py35 的 conda环境,如果没有则输入conda create -n py35
  • 安装 rqsdk和rqalpha-plus
  • 生成样例策略文件夹
  • 使用 examples 的 buy_and_hold.py 策略启动回测

用debug方式运行回测

选择python解释器 1

选择python解释器 2

launch.json配置如下

{    
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: 模块",
"type": "python",
"request": "launch",
"module": "rqalpha-plus",
"args": ["run", "-f", "examples\\buy_and_hold.py", "-s", "2018-01-01", "-e", "2018-05-31", "-fq", "1m", "--plot", "--account", "stock", "1000000"]
}
]
}

debug 运行buy_and_hold.py 1

debug 运行buy_and_hold.py 2

随笔6 min read

RQPro2.0 与 VS code 的集成

安装 Python Extensions

image.png

  • 点击 install安装
  • 安装后重启 VS code

获取 rqpro python 环境路径

image.png

本机的 rqalpha python 环境路径为 D:\Program Files\RQPro\rqalpha\python.exe

新建项目

  1. 新建一个文件夹
  2. 将文件夹拖入到 VS code 窗口
  3. 创建一个。py 文件

image.png

image.png

配置 python 环境

image.png

如果不能选择此 python

需要做如下修改

  1. 选择项目文件夹下 .vscode 文件夹下 settings.json 文件 (没有文件或文件夹则创建)
  2. 将"python.pythonPath"的值改为 python.exe 路径(注意双反斜杠转义) image.png

使用 rqdatac 与 rqfactor

输入下列代码

#!/usr/bin/python3    
# encoding: utf-8
import pandas as pd
import rqdatac
import rqfactor
from rqfactor.execute.engine_data_source import FactorEngineDataSource
from rqfactor.engine import FactorExecutionEngine

rqdatac.init() # 需要账号密码 请参照 rqdata 文档
data_source_path = r'D:\data\rqpro\bundle' # RQPro2.0 - 个人设置 - 数据下载路径

_engine_data_source = FactorEngineDataSource(data_source_path)
engine = FactorExecutionEngine(_engine_data_source)
factor = rqfactor.Factor('close')
order_book_ids = rqdatac.index_components('000300.XSHG')
end_date = pd.Timestamp('20190910')
result = engine.get_multiple(factor, order_book_ids, end_date, 1)
print(result.all())

点击右上角绿色三角形运行 python 代码

image.png

运行 RQAalpha 回测

.vscode文件夹下 launch.json中输入如下代码:

{    
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "rqalpha_plus",
"type": "python",
"request": "launch",
"module": "rqalpha_plus",
"args": [
"run", "-s", "2015-03-01", "-e", "2015-05-01",
"-f", "${file}",
"--account", "stock", "10000", "--frequency", "1d", "--benchmark", "000300.XSHG",
"--commission-multiplier", "1", "--margin-multiplier", "1", "--matching-type", "current_bar", "--slippage", "0"
],
"env": {"PYTHONIOENCODING": "utf-8"}
}
]
}
  • 选择策略文件 使用 debug 模式运行

image.png

随笔2 min read

  • oculus quest2 本文中简称 OC2


问题由来

最近发行的 oculus quest2 的价格已经到 2k+了,广告铺天盖地的。

对于这件事情,让我想起了小米发布第一部手机时,1999 价格出来的那一刻。

此时,同等价位其他手机卖不出去,大家都得把手机价格打下来手机行业开始内卷


OC2 出现了 199 美元,这个和小米 1999RMB 的小米 1 一样的感觉,感觉 VR 硬件也发展成熟,要打价格战的时候了。知乎上说 OC2 对标的是 NS。确实 2k 多 买个 NS 游戏还得花很多钱,OC2 无限连接电脑玩 Steam 上的游戏要爽得多。

OC2 目前我觉得的优点:

  • 2 基于四个摄像头定位,不再需要定位传感器。
  • 支持无线串流 无需线材就能上 Steam 玩游戏(得要好 wifi)。
  • 自带游戏平台,没得显卡一样能玩。

所以,当前的 VR,2k 就得到一个很好的体验了,也不需要太多场地,当然,得会用梯子

设备价格下来了,那么应用市场则会更大,玩家有更多购买游戏(玩盗版)的机会。

VR 目前还没出现内卷,先到先占位,OC2 作为第一个开始,打破市场的商家,马上硬件会产生内卷现象,然后 VR 软件业蓬勃发展。目前我觉得是个风口。


HOW TO DO

风口来了,当然想进去赚钱,要么打工,要么提供打工。

打工

  • 首先,本人只想做 python 相关的后端。
  • 其次,还想 [逃离 996 环境] - [[远程工作分析]]。

在深圳找了找,VR 游戏公司只有三四家,且基本上不要 python。(还在继续找。..)


Another choice

机缘巧合下,和一个游戏运营大佬聊了聊。大佬目前在开 VR 体验店(据说是在赔钱)。

以下是大佬的观点:

在深圳,所有的互联网企业离不开腾讯阿里,基本上背后都腾讯和阿里的投资。那么做 IT 的,最终目标有两个,要么进入阿里腾讯,要么公司被阿里腾讯收购,似乎没有别的路走(有的话请留言)。

考虑自己做工作室 or 进腾讯阿里,之前的工作室散伙,优秀的去了腾讯,不优秀的留在了市场。

觉得自己能行,从腾讯出来创业的,最后还是要么被腾讯投资控股,要么被腾讯投资控股的公司打败。大部分从腾讯出来的混的好像不咋样。

如果自己有闲钱,可以考虑找几个伙伴合伙做游戏。

先了解下这几个游戏:

  • vr 和键鼠同时支持的游戏 payday2
  • 三消做得非常棒的游戏 mirro (自带官网 18h 补丁)

用 Unity 或者 RPG maker 做一点自己的成品。(虚幻 4 要收费)


目前想法

  • 考虑深圳的 vr 公司
  • 独立游戏工作室
  • 做成一个游戏后,上 steam 平台。证明自己 。(考虑反着抄 把同样的模式抄到不同领域)

ps, 网上有说 python 能开发 unity 3d 的程序,我只找到了 python2 的开发方式。参考。

ps. 公司选择范围小的话,可以选择精投。 大概推荐以下做法

  • 带自荐信。
  • 了解这个公司内部架构和人员信息。
  • 按对方需求写简历。
  • 找到内部人员内推。

随笔3 min read

参考


  • 公司要求连接服务器必须使用跳转机

  • finalshell的自带文件(类似winScp)传输用不了了

  • 因为用的cmd一直是cmder 界面挺好看的 不想换

  • 再加上电脑装了Ubuntu子系统

  • 有了以下解决方案

    1. 首先找个教程下个cmder,给windows 10的机器装上Ubuntu子系统。
    1. 在Ubuntu子系统上安装 zssh
    1. 和使用ssh完全一样,只是打命令时,变成了zssh
#zssh [root@192.168.1.1](mailto:root@192.168.1.1)    
    1. 上传文件
好了,在进入后,你需要上传文件的话。先 ctrl+@    
zssh > //这里切换到了本地机器
zssh>pwd //看一下本地机器的目录在那
zssh>ls  //看一下有那些文件
zssh>sz 123.txt //上传本地机器的当前目录的123.txt到远程机器的当前目录
    1. 下载文件
root@192.168.1.1 > sz filename  //在远程机器上,启动sz, 准备发送    
// 看到一堆乱码 然后再 #ctrl+@
zssh > pwd //看看在那个目录,cd 切换到合适的目录
zssh > rz //接住对应的文件

11

随笔One min read

什么是 conda

conda 是一个包、依赖、环境管理工具。方便 python 间环境隔离。 conda 可以创建许多单独的 python 环境,这些 python 环境相互隔离,当其中一个 python 环境因为改动或其他原因错误时,不会影响其他 python 环境。

为什么装 miniconda

参考 miniconda 清华源

下载 miniconda

清华源 下载一个 miniconda 并安装

下载后 如下几个需要手动改一下

  • 对于部分没有点添加到环境变量的小伙伴 请按如下操作添加环境变量

例如默认路径为:”C:\Users\Administrator\Miniconda3”, 那么需要添加的三个路径则是:     
1)C:\Users\Administrator\Miniconda3;
2)C:\Users\Administrator\Miniconda3\Scripts;
3)C:\Users\Administrator\Miniconda3\Library\bin
第一个路径是 Miniconda 的根目录,也是最重要的路径!

* 如果你的环境变量中已经存在这三个路径,那么就不用添加了。

运行 miniconda

右键开始菜单,打开Windows PowerShell (可选: 输入 conda activate base 启动 base 环境)

此时就已经有 python 了

可以输入 conda --version 看一看版本


pip 配置默认镜像源

pip 默认下载源在国外,改为国内后,安装各种依赖会快很多。

  • 在 cmd 命令行下 运行如下命令
pip config set global.index-url http://pypi.douban.com/simple    
pip config set global.trusted-host pypi.douban.com
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple    
pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn

下载使用 rqdatac

  • 创建 python 3.8 虚拟环境 conda create -n py38 python=3.8.2

  • 激活环境 conda activate py38

  • 安装 rqdatac pip install rqdatac 如果安装了 zsh 请执行命令rehash

  • 安装 ipython (ipython 补全功能非常亲民) pip install ipython

使用 rqdatac

  • 输入ipython 然后按如下操作
import rqdatac    
rqdatac.init("手机号","密码")
rqdatac.user.get_quota()
#{'bytes_used': 742981, #已使用流量
# 'bytes_limit': 52428800.0, # 总流量
# 'remaining_days': 760, # 剩余使用天数
# }
rqdatac.all_instruments()
# order_book_id symbol ... listed_date de_listed_date
#0 M1901P3650 豆粕 1901 沽 3650 ... 2018-04-10 2018-12-07
#1 SR1901C4900 白糖 1901 购 4900 ... 2018-04-17 2018-11-26
#2 SR1907C5400 白糖 1907 购 5400 ... 2018-01-17 2019-05-27
#3 M1907P2900 豆粕 1907 沽 2900 ... 2018-07-17 2019-06-10

rqdatac.instruments("000001.XSHE")
# Instrument(order_book_id='000001.XSHE', industry_code='J66', market_tplus=1, symbol='平安银行', special_type='Normal', exchange='XSHE', status='Active', type='CS', de_listed_date='0000-00-00', listed_date='1991-04-03', sector_code_name='金融', abbrev_symbol='PAYH', sector_code='Financials', round_lot=100, trading_hours='09:31-11:30,13:01-15:00', board_type='MainBoard', industry_name='货币金融服务', citics_industry_code='40', citics_industry_name='银行')

rqdatac.get_price("000001.XSHE")
# num_trades limit_down volume ... high open low
#date ...
#2020-01-10 37440.0 15.11 58554845.0 ... 16.81 16.79 16.52
#2020-01-13 42233.0 15.02 87213336.0 ... 17.03 16.75 16.61
#2020-01-14 60290.0 15.29 130449366.0 ... 17.27 16.99 16.76
#2020-01-15 60129.0 15.08 85943912.0 ... 16.86 16.79 16.4

conda 基本操作

  • 查看版本信息 conda --version
  • 更新 conda conda update conda
  • 创建一个虚拟环境 conda create -n py38 python=3.8.2
  • 激活新的虚拟环境 conda activate py38
  • 列出环境信息 conda env list
  • 退出当前环境 conda deactivate
  • 删除虚拟环境conda remove --name py38 --all
随笔3 min read

https://gist.github.com/laispace/666dd7b27e9116faece6

git 设置全局代理

git config --global https.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
git config --global http.https://github.com.proxy socks5://127.0.0.1:9999
git config --global http.https://github.com.proxy socks5://192.168.31.2:9999

git 删除全局代理

git config --global --unset http.proxy
git config --global --unset https.proxy

git 设置只对 github 的代理

git config --global http.https://github.com.proxy socks5://127.0.0.1:9999

git 删除只对 github 的代理

git config --global --unset http.https://github.com.proxy

在用户目录下 ~\.gitconfig 下查看配置


pip 设置豆瓣源

顺便贴一下

pip config set global.index-url https://pypi.douban.com/simple
随笔One min read

基本教程

  1. 腾讯企业邮箱转发到outlook邮箱 image.png image.png

  2. 将你的转发邮箱设置到安全邮件列表 image.png

  3. 设置普通JIRA规则围观类邮件归入普通文件夹 image.png

  4. 设置@我的JIRA规则 image.png

  5. 标记到微软待办(Microsoft To Do) image.png

  6. 下载微软待办(Microsoft To Do)客户端

  7. 使用你的outlook账号登录微软待办,查看待办事项 image.png

···

高端教程

  • windows下载outlook邮箱客户端
  • 设置规则如下 image.png 如此 只要你的客户端开着 提及到你的邮件就会自动出现在待办事项中

疑难杂症

  • 如果你的邮箱名为全数字无中文类型 则会出现邮件不出现在微软待办的问题 需要更换邮件名 包含英文才行

随笔One min read

https://segmentfault.com/a/1190000012634779

        location /socket.io {    
proxy_pass http://rqpro_socketio;
proxy_http_version 1.1;
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection $connection_upgrade;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header host $http_host;
proxy_set_header x-nginx-proxy true;
proxy_set_header Origin "";
proxy_read_timeout 86400;
}
随笔One min read

Ubuntu

安装

  • 打开开发者模式(可选) 设置菜单 - 更新和安全 - 开发者选项 - 选择开发者模式。 image.png

  • 打开适用于linux的windows子系统 设置菜单 - 应用和功能 - 程序和功能 - 启动或者关闭windows功能 - 适用于linux的windows子系统 - 打勾 - 重启电脑 image.png

  • 安装ubuntu 在Mirosoft store中搜索linux,然后点击获取这些应用,将会看到列举的各种linux系统,这里我选着了ubuntu,点击安装即可。 image.png

  • 使用 安装完后,cmd输入 ubuntu 进入ubuntu系统,主要会要求设置帐号密码 image.png

cmder

  • 好看
  • 右键贴贴
  • 大量的 linux 命令:grep, vim, grep, tar, unzip, ssh, ls, bash, perl, curl(没有 wget)

安装 Cmder官网下载,解压可用。

  • 把 cmder 加到环境变量

可以把Cmder.exe存放的目录添加到系统环境变量;加完之后,Win+r一下输入cmder,即可。

  • 添加 cmder 到右键菜单]

在某个文件夹中打开终端, 这个是一个(超级)痛点需求, 实际上上一步的把 cmder 加到环境变量就是为此服务的, 在管理员权限的终端输入以下语句即可:Cmder.exe /REGISTER ALL

* zsh 安装

docker(https://www.jianshu.com/p/d1b2b4240256)

windows包

用windows环境开发,需要一些环境去编译包,可以考虑直接现成已编译好的。

https://www.lfd.uci.edu/~gohlke/pythonlibs/

右键复制

shift + 鼠标右键 选择复制路径 image.png * 设置默认出现 复制路径选项

开发相关

windows 访问 ubuntu

\\wsl$\Ubuntu\home image.png

ubuntu 访问 windows

挂载在/mnt/image.png 推荐使用软连接 连接到Windows需要的组件

  • cmder在Ubuntu中右键贴贴时自动补齐 /mnt/c/...

pycharm中使用Ubuntu的python

  • pycharm 配置python环境

image.png

  • 可以看到ubuntu的实际目录如下 C:\Users\74071\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\usr\bin

  • 也可以连接服务器解释器 pycahrm会开启一个File Transfer的窗口(自动同步) image.png image.png

cmd中启动环境(比较麻烦 推荐cmder再开一个) image.png

pycharm 远程环境

  • 配置方式 image.png
  • 本质上是将文件传到服务器/tmp下进行工作 image.png
随笔2 min read