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 name 为 rqalpha_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