From fc71839968c8c2b75d9257148caa7e68feff9623 Mon Sep 17 00:00:00 2001 From: Eric Date: Wed, 30 Nov 2022 15:44:34 -0500 Subject: [PATCH 1/7] adding basic instructions for the export feature As my first contribution I would like to propose adding some additional basic instructions for using the --export feature on this documents page --- website/content/terminal/guides/advanced/data.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/website/content/terminal/guides/advanced/data.md b/website/content/terminal/guides/advanced/data.md index 3f9d28d6b6f1..e38bec9588b8 100644 --- a/website/content/terminal/guides/advanced/data.md +++ b/website/content/terminal/guides/advanced/data.md @@ -22,3 +22,13 @@ This folder contains all things user-created. For example: The location of this folder can be set by the user from the `/settings` menu. The settings menu + +Basic Instructions for Exporting Files: +- Setting up a new folder: (in settings) "userdata myNewFolder" [enter]. This will ask you to create a new folder called "myNewFolder". Enter "Y". +- Changing to your new folder: (in settings) "userdata myNewFolder" [enter]. This sets "myNewFolder" as the new default location. +- Exporting files: "yourCommand stockTicker --export csv" [enter]. This exports the data of your chosen stock to your new folder. +- Exporting files as a specific name: "yourCommand stockTicker --export data.csv" [enter]. This exports your data as "data.csv". +- Options for exporting data: csv, json, xlsx +- Options for exporting images: png, jpg, pdf, svg +- Example for exporting OHLC data for Chewy stock: load chwy --export chwyOHLC.xlsx + From 8a46f54d45d6b117996ae1b8558d149c0c14f5d2 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Wed, 30 Nov 2022 14:31:39 -0800 Subject: [PATCH 2/7] Updates this page with some more export/import instructions. --- .../content/terminal/guides/advanced/data.md | 93 +++++++++++++++++-- 1 file changed, 83 insertions(+), 10 deletions(-) diff --git a/website/content/terminal/guides/advanced/data.md b/website/content/terminal/guides/advanced/data.md index e38bec9588b8..fb7e58b0efa2 100644 --- a/website/content/terminal/guides/advanced/data.md +++ b/website/content/terminal/guides/advanced/data.md @@ -2,13 +2,16 @@ title: Importing and Exporting Data sidebar_position: 3 --- + +## The OpenBBUserData Folder + The `OpenBBUserData` folder's default location is the home of the system user account. By default this will be the following paths: - macOS: `Macintosh HD/Users//OpenBBUserData` - Windows: `C:/Users//OpenBBUserData` Within the folder you can find files that you have exported as well as files that you wish to import directly into the OpenBB Terminal. For example, this could be an orderbook which you can store in `OpenBBUserData/portfolio/holdings`. -Screen Shot 2022-10-13 at 6 45 01 PM +![OpenBBUserData Folder](https://user-images.githubusercontent.com/85772166/195742985-19f0e420-d8f7-4fea-a145-a0243b8f2ddc.png "OpenBBUserData Folder") This folder contains all things user-created. For example: @@ -19,16 +22,86 @@ This folder contains all things user-created. For example: - Styles and themes - Preferred data sources - The location of this folder can be set by the user from the `/settings` menu. + The location of this folder can be set by the user from the `/settings` menu. There should be no need to update paths in this menu unless the folders have been moved manually. The settings menu -Basic Instructions for Exporting Files: -- Setting up a new folder: (in settings) "userdata myNewFolder" [enter]. This will ask you to create a new folder called "myNewFolder". Enter "Y". -- Changing to your new folder: (in settings) "userdata myNewFolder" [enter]. This sets "myNewFolder" as the new default location. -- Exporting files: "yourCommand stockTicker --export csv" [enter]. This exports the data of your chosen stock to your new folder. -- Exporting files as a specific name: "yourCommand stockTicker --export data.csv" [enter]. This exports your data as "data.csv". -- Options for exporting data: csv, json, xlsx -- Options for exporting images: png, jpg, pdf, svg -- Example for exporting OHLC data for Chewy stock: load chwy --export chwyOHLC.xlsx +## Exporting Files + +If the location of the OpenBBUserData folder must be changed, it is best to move the entire existing folder to the new path. The path is then changed under the settings menu with: + +```console +userdata --folder /path_to/OpenBBUserData +``` + +The types of files which can be exported for tables and raw data are: + +- CSV +- JSON +- XLSX + +It is optional to name the file; the minimum requirement is the file type. + +```console +/stocks/load CHWY -s 2019-06-01 --export chwy_ohlc.csv +``` + +![Screenshot 2022-11-30 at 2 10 22 PM](https://user-images.githubusercontent.com/85772166/204919033-d6d5632a-c6ce-42cf-a038-b93d579e38d4.png) + +```console +Saved file: /Users/{username}/OpenBBUserData/exports/chwy_ohlc.csv +``` + +The types of image files charts can be exported as are: + +- PNG +- JPG +- PDG +- SVG + +If no file name is specified, the file will be automatically named starting with the date and time generated. + +```console +candle --ma 20,50,150 -t --export svg + +Saved file: /Users/{username}/OpenBBUserData/exports/20221130_141425_stocks_CHWY.svg +``` + +![Screenshot 2022-11-30 at 2 16 19 PM](https://user-images.githubusercontent.com/85772166/204919882-3cf7ba23-7fba-4b9d-b278-25752efab0c6.png) + +Every funcion capable of exporting content will work in exactly the same manner. Print the `--help` dialogue for any function to see the options available. + +```console +(🦋) /stocks/options/ $ chains --help + +usage: chains [-c] [-p] [-m MIN_SP] [-M MAX_SP] [-d TO_DISPLAY] [-h] [--export EXPORT] [--source {YahooFinance,Tradier,Nasdaq}] + +Display option chains + +options: + -c, --calls Flag to show calls only (default: False) + -p, --puts Flag to show puts only (default: False) + -m MIN_SP, --min MIN_SP + minimum strike price to consider. (default: -1) + -M MAX_SP, --max MAX_SP + maximum strike price to consider. (default: -1) + -d TO_DISPLAY, --display TO_DISPLAY + (tradier only) Columns to look at. Columns can be: bid, ask, strike, bidsize, asksize, volume, open_interest, delta, gamma, theta, vega, ask_iv, bid_iv, + mid_iv. E.g. 'bid,ask,strike' (default: ['mid_iv', 'vega', 'delta', 'gamma', 'theta', 'volume', 'open_interest', 'bid', 'ask']) + -h, --help show this help message (default: False) + --export EXPORT Export raw data into csv, json, xlsx (default: ) + --source {YahooFinance,Tradier,Nasdaq} + Data source to select from (default: YahooFinance) + +For more information and examples, use 'about chains' to access the related guide. + +(🦋) /stocks/options/ $ +``` + +## Importing Data + +Menus, such as [Econometrics](https://docs.openbb.co/terminal/guides/intros/econometrics) or [Portfolio](https://docs.openbb.co/terminal/guides/intros/portfolio), allow the user to import their own dataset. Files available to import will be included with the selections made available by auto-complete. In the Econometrics menu, this is activated after pressing the space bar, `load -f ` + +![Importing Data](https://user-images.githubusercontent.com/85772166/204921760-38742f6c-ec78-4009-9c23-54dcb0504524.png "Importing Data") +As illustrated above, the exported file that was created in the previous example is ready to be loaded into the Econometrics menu. Use the arrow keys to scroll the files available to import. From 5a5ac19425307a69a1ba457f8a75f53beec69f29 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Wed, 30 Nov 2022 14:34:28 -0800 Subject: [PATCH 3/7] Linter --- website/content/terminal/guides/advanced/data.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/content/terminal/guides/advanced/data.md b/website/content/terminal/guides/advanced/data.md index fb7e58b0efa2..95b45412d64f 100644 --- a/website/content/terminal/guides/advanced/data.md +++ b/website/content/terminal/guides/advanced/data.md @@ -22,7 +22,7 @@ This folder contains all things user-created. For example: - Styles and themes - Preferred data sources - The location of this folder can be set by the user from the `/settings` menu. There should be no need to update paths in this menu unless the folders have been moved manually. +The location of this folder can be set by the user from the `/settings` menu. There should be no need to update paths in this menu unless the folders have been moved manually. The settings menu @@ -69,7 +69,7 @@ Saved file: /Users/{username}/OpenBBUserData/exports/20221130_141425_stocks_CHWY ![Screenshot 2022-11-30 at 2 16 19 PM](https://user-images.githubusercontent.com/85772166/204919882-3cf7ba23-7fba-4b9d-b278-25752efab0c6.png) -Every funcion capable of exporting content will work in exactly the same manner. Print the `--help` dialogue for any function to see the options available. +Every function capable of exporting content will work in exactly the same manner. Print the `--help` dialogue for any function to see the options available. ```console (🦋) /stocks/options/ $ chains --help From 0cdeaa716983c9bd5b55bf41287434087e738e44 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Wed, 30 Nov 2022 14:45:11 -0800 Subject: [PATCH 4/7] exported for tables --> exported from tables. --- website/content/terminal/guides/advanced/data.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/content/terminal/guides/advanced/data.md b/website/content/terminal/guides/advanced/data.md index 95b45412d64f..c9a4c6096770 100644 --- a/website/content/terminal/guides/advanced/data.md +++ b/website/content/terminal/guides/advanced/data.md @@ -24,7 +24,7 @@ This folder contains all things user-created. For example: The location of this folder can be set by the user from the `/settings` menu. There should be no need to update paths in this menu unless the folders have been moved manually. -The settings menu +[The Settings Menu](https://user-images.githubusercontent.com/85772166/195736718-a1b821da-5977-437a-bd18-b44add2a29a2.png "The Settings Menu") ## Exporting Files @@ -34,7 +34,7 @@ If the location of the OpenBBUserData folder must be changed, it is best to move userdata --folder /path_to/OpenBBUserData ``` -The types of files which can be exported for tables and raw data are: +The types of files which can be exported from tables and raw data are: - CSV - JSON From bf74ff384df0e9dd589651fc89e07f532dd2826c Mon Sep 17 00:00:00 2001 From: Eric Slater Date: Thu, 1 Dec 2022 15:36:17 -0500 Subject: [PATCH 5/7] adding ! --- .vs/slnx.sqlite | Bin 0 -> 90112 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .vs/slnx.sqlite diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..e8749f55ea0c61e868435fb8d54e035f848d0586 GIT binary patch literal 90112 zcmeI5eT*B&b-;JI{8}El!_$2*?nTx*v2w>qJn3|j5=E6=ipP^^op^U7PqJ_&h&^(3 zV#SXWmnZ2^1L;YQQCoqH6e#jX5VTH#+G&#lY0x%pQxr&B)NzV_22BvBO^XywT@*En zrVR`yK;P`{a6d?jXUUf3`VrC|cjmpBH@|src6RoI`Q?RbTa_<1TXm%^&vH?Y=eeJe zWsc(>f&b(1pM6H)iBF**3X?ae%r5dq_{DH^=uGHY@mBDafZ$&i zKIM7clk+^*uLw+k*ANI&OSd1E05c&bw_0sBOw_+i`j1ZqCB zUF~h0G{87ZbAU-yuqdY%7Zzw+vx})@J{|wWiEtp6Nbt`j+R9o@bvNC;A2E$7Bu_4+ zd$c?fnliX_LCjQ&z_*Y-mCngaxy;#Q?t*+KeL+sH6c#gCDE4eRTL7!z|H{I`ezTON zR`Y7LqPFbXOvVtQosdhxwD~u7IE$@d(7-0;>-^1WpkJ3I3iB3 zcd*0UoxiZKwl|9TyTckL*l}K#&=vo^gS@b{0iz@vsaO>(@(R_us|QWYyC0N_4{#48uZZx2|L}%PXBD50mLA+1!ienGJ(u3`;Rg zb`2z*+;eJ6gFx#V`EPK+Kr9~TZywkEkQHVW@7xoeKIqJ}c_7QMchU|#&+v?n!A5he zVfNs_QI^%)Y3fdtX_tL05QwD{tjpYvTv}3EYNK7E!?rsw*t7rKQuY#TUFjC16NX+# z=lyUv(@k(IP+#6Y=?}y%!^pQ~jeNE!G^_5`w2gl@@qpPLa|+~E8&KMSw%w)?V?O(| zsH<8^rMJQU0R~%|1B~khK7RAG*BGQz)*x-8<+ju33=ns=EkxW|cNQv!&6bz%U?$SH z53I3HAIIo?ihk~3N^o~0d`6>eit@=!_cU-p(b|h^n%cUm!nDX5dCl3PJeQtNt}GPf z@@7kq*ftxcA;_CTAT~3>Z|~8=B(JvH)yBFW)8>5JNbx%TsasBWBYnDWDD(^3_>#vT z+qaLupnHyX1?FgKNmH+EstuU6Id=tz-?%cT8sPle=PC@M_wg=OTI#$C%;IpkjKd!Nsw{rN7A>YKahS+dQw`I9+5s2`AOt^ zk*`KR590Vi0!RP}AOR$R1dsp{Kmter2_S(tL116Z&z%xQ|GElq$5G&+^tRfnR~t&L zR99M;E6r<->5Z-6cmD2`xykvD4v+h}5iaPTzN)dLhsONe3@`e%cC&n0OK9bmN=urq zS0r8J;qQO*{iA+v5=6@7>+Mp#Sy5|HWJJ&Xz;=Fe#Lu08+$)<3eK`}n|L3ZjP{4pK zt*SvWAze@=|2@9T&rN_}MQJOL9?;VtI9{9>_H%n7ef?5mLs?g~>8*NA&@)FTzA_p0 zbB{vv%FRZ*)vVRjR;kh~m&!Fo(?Ha08VK$ter_Kp`csS9LN0T1rI5*JvFv&ZXIY!?voZ$N{ZHx>F6TG>cu`4R< z%MA>jejD2W>4Sd@tD65_mbAtFr6a4kLz(K3t`hYJg}pM-VvCxc*<} z$Pc8a$gfB*l9$PZ^kcFty+Te%W$9J&Tku4{&y$PNSK;jcp!6L1LwHl*w+6HdvylK2 zKmter2_OL^fCP{L5n_WAq z9-b}F9G#w-nLa!-eQ4(Bv7^TO|G&R z1mH#9A2WV{;nANy6op>`pedt9%8}pxVibM^fTl!^l-Z>Z)9e2Nd5t4)zh$H9C5K1(!` zBXQ}6((g#0l+H_u$oC?jk6eu`M;;9SGl<{^2_OL^fCP{L5B3Erx)a#|X(z;w}UTbuIH_n+X#`t;P@hGStJI2&YWu>jIH(Oh!mI}WL zufZ?ggLaQpP(C8g5KumFpj-Lpv?i_9(xVBWazOl`1S$_bq^l^EN~ztfRLgDan;7H% z!Z#Cfl&iMDsP5LV=7GvD`3{FcWp) z&gfd|^{UpcHr6{8l`d9mYDvAW)HiCXHXvJ!jr*oTP}=0AUfR0a2G#N<1vqGq9dR`5 zn}rw4i!(Di1)AynF}>~-G0Hc@$sj20-K#5=s7$?C*#yh%-$5`Zo(OUE{j;X&1VB!l{g#96=FIJ>H0oIM4UcyZEa8D|sGn{L*viBay~#XVjS+`ZdqMXB1T zwoC9a{(`_?i&Fv!Oiqf_p;OI9yVb1K)Ye?H?AVENUkL2;fMh)0p$L7g)Kz%ppI)oA z2gUw^?=TO-rh`xe)$1Eo@T+RGQG(w&1TXJO5~B(<3eNwfTO9nZ-`kM5D zbW8dHtOh(sew~~l$H=SX@1>u-&0&tkBLO6U1dsp{Kmter2_OL^fCP}hdxgM+aJ=6F z&+tzP$7r6l-qKmUiH->eoLO`!hDgFg@ZNm3{34k`&V`mpOqlJpmJ)Ro^9SzZK zRMfXYeH+lXetqlHw_bg#-~S)A?*HeaZ@uwYA`(CXNB{{S0VIF~kN^@u0!RP}AOR$B z{}7@xrIn7mrfSaawa>Meq3I4XZI|l z7zxSnS??+5y3dxfT=^ibQgr*EGT@W*sBJeGwPo;D6QZ92g znY$pLNnenYD}}{O7K%Na&KAHb_`kBSu-`0Ysnxt%t*9-#Hj^<#XeZ>-^XXhVn@Z>9 zRi=?{w5#o{;#4OAiile(&~GbCa})$%NG0dej;y)#LfXn=#uxyz=aRY9>11x|(2*nY zj=?UjOl5wvR@++MRBF|WRkhNq0B3(Ny))n?7BALfmYXco=kcm*)f#PL2di7m<%3;v zR+H@jX`tk{w66Ms#)8tH@f8_q4@TJp+Kwz zaRraOL1gQemX$_BZKag*CAHLTx)Eh=!LT#R+}VB0vBjKQ2Yj!)_G0|zN=T2mr;2*S zxwYK;L(YhEXG8rg;@nyGnAt(ZnH}28<}S~1M4VplV28Ooe_>&5Zxr))hc!&F2d0}eP6{>YrYr_+)MVSsBh0IwPNnyOAo|q5=u>*1b2GKo{RZGh& z(G5#53=5gvx{}Q-uXK()Os1n`b1#->HVlq2EX6R{HIQ_2&%yJX5NKT^{|zn}h{4mI zH;?On$OADSHXFu5^ph2}7@=^L{v-=_a@ps4s7y^ao;>VdUGg zMm}2f0mk(LAHR9p zYYfsUYmm0la@*;128cV`79#GfI|~)VX3NWWFcaz92i91pk7IN`ML%~iCAhm0KBG}K zMfqf=dm6Z)Xzj%{c=5nh6{bbj$ZO6P<+=2Ha%G_)!z&i_h;6fB8iKqj1Y$E2{PrF_ zO!8`5e<^|G9%hQy=}+Bqx*O@!eWQqeK^tH4_+$I_@fUQ@(XPN8O)Y8al})t)vo`0h z;P4w)=2Qcme?Mr(w@>kb*u(^XL)FVPZ8QIP9A&JUsWz80Q|_6kol|O?(2p+fG!Byb z`9Jq8N3!8(hyHhHF*p-=!vE*q1>t!}yyu^%qN9PaL?U?W{MD*@jn37Vl=db42v}7$ z_rA&bTqb>9cIU~8773lt6i!3jq*ikI%(-;8Ofqjy)o6U>;S?iPkh{kNIhmJFDw<;s zo~i7Y`vowSPZ@r1h!{t3szROIk=?!|&*v7;cGYS{F3d+3v(~O*rL|8jUz+Y=o>OE# zKmF#-?J7by|A{B$$)BB+;m^`^ru3Fc;%b zUf-opV4vRSI!03^OM&i3ig~6b#mO9_4Kd^;I%QrgNqy2)VBhkC4 zp5fBbf!^wTHw=IihC|UoM$f4mYNMhw+5?Op8EkaVq6Ql6(kjNEnjnD~yk_W@ZMDQn zx(Cx}zi{s`=^68#-0r~L!C5R@KVf0hE53TiJ<}K*Xm5JS(#`X&9f_>w+{qGP2e;{< zmTm9siHO54Iw35|o#Ca=;PEz&Hl39x=em?Jo!)*}3gE?$3|;xP4K41A7Jbju@Ztwv z{J5i)j=P+KvFjS|y^A08`G36s|DG>&V1-Bk2_OL^fCP{L5 Date: Thu, 1 Dec 2022 20:21:24 -0500 Subject: [PATCH 6/7] adding !, attempt 2 --- website/content/terminal/guides/advanced/data.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/terminal/guides/advanced/data.md b/website/content/terminal/guides/advanced/data.md index c9a4c6096770..6b4c4f262484 100644 --- a/website/content/terminal/guides/advanced/data.md +++ b/website/content/terminal/guides/advanced/data.md @@ -24,7 +24,7 @@ This folder contains all things user-created. For example: The location of this folder can be set by the user from the `/settings` menu. There should be no need to update paths in this menu unless the folders have been moved manually. -[The Settings Menu](https://user-images.githubusercontent.com/85772166/195736718-a1b821da-5977-437a-bd18-b44add2a29a2.png "The Settings Menu") +![The Settings Menu](https://user-images.githubusercontent.com/85772166/195736718-a1b821da-5977-437a-bd18-b44add2a29a2.png "The Settings Menu") ## Exporting Files From 0bd9d089d61d8b0e5aeaa2a7fd62bf2c459f6b4e Mon Sep 17 00:00:00 2001 From: Eric Slater Date: Sun, 4 Dec 2022 10:07:06 -0500 Subject: [PATCH 7/7] deleting the .VS file --- .vs/slnx.sqlite | Bin 90112 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .vs/slnx.sqlite diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite deleted file mode 100644 index e8749f55ea0c61e868435fb8d54e035f848d0586..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90112 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