mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-09 02:42:36 +00:00
1 line
16 KiB
JavaScript
1 line
16 KiB
JavaScript
"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[40865],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var o=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var i=o.createContext({}),u=function(e){var t=o.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=u(e.components);return o.createElement(i.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),d=u(n),m=r,f=d["".concat(i,".").concat(m)]||d[m]||s[m]||a;return n?o.createElement(f,l(l({ref:t},c),{},{components:n})):o.createElement(f,l({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,l=new Array(a);l[0]=d;var p={};for(var i in t)hasOwnProperty.call(t,i)&&(p[i]=t[i]);p.originalType=e,p.mdxType="string"==typeof e?e:r,l[1]=p;for(var u=2;u<a;u++)l[u]=n[u];return o.createElement.apply(null,l)}return o.createElement.apply(null,n)}d.displayName="MDXCreateElement"},99675:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>p,metadata:()=>u,toc:()=>s});var o=n(87462),r=(n(67294),n(3905)),a=n(65099),l=n(85162);const p={title:"plot",description:"OpenBB SDK Function"},i="plot",u={unversionedId:"reference/portfolio/po/plot",id:"reference/portfolio/po/plot",title:"plot",description:"OpenBB SDK Function",source:"@site/content/sdk/reference/portfolio/po/plot.md",sourceDirName:"reference/portfolio/po",slug:"/reference/portfolio/po/plot",permalink:"/sdk/reference/portfolio/po/plot",draft:!1,editUrl:"https://github.com/OpenBB-finance/OpenBBTerminal/edit/main/website/content/sdk/reference/portfolio/po/plot.md",tags:[],version:"current",frontMatter:{title:"plot",description:"OpenBB SDK Function"},sidebar:"tutorialSidebar",previous:{title:"nco",permalink:"/sdk/reference/portfolio/po/nco"},next:{title:"property",permalink:"/sdk/reference/portfolio/po/property"}},c={},s=[{value:"Parameters",id:"parameters",level:2},{value:"Returns",id:"returns",level:2},{value:"Examples",id:"examples",level:2},{value:"Parameters",id:"parameters-1",level:2},{value:"Returns",id:"returns-1",level:2},{value:"Examples",id:"examples-1",level:2}],d={toc:s};function m(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,o.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"plot"},"plot"),(0,r.kt)(a.Z,{mdxType:"Tabs"},(0,r.kt)(l.Z,{value:"model",label:"Model",default:!0,mdxType:"TabItem"},(0,r.kt)("p",null,"Display efficient frontier"),(0,r.kt)("p",null,"Source Code: [",(0,r.kt)("a",{parentName:"p",href:"https://github.com/OpenBB-finance/OpenBBTerminal/tree/main/openbb_terminal/portfolio/portfolio_optimization/po_view.py#L248"},"link"),"]"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python",metastring:"wordwrap",wordwrap:!0},'openbb.portfolio.po.plot(portfolio_engine: portfolio_optimization.po_engine.PoEngine = None, chart_type: str = "pie", kwargs: Any)\n')),(0,r.kt)("hr",null),(0,r.kt)("h2",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Default"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"portfolio_engine"),(0,r.kt)("td",{parentName:"tr",align:null},"PoEngine"),(0,r.kt)("td",{parentName:"tr",align:null},"Portfolio optimization engine, by default None",(0,r.kt)("br",null),"Use ",(0,r.kt)("inlineCode",{parentName:"td"},"portfolio.po.load")," to load a portfolio engine"),(0,r.kt)("td",{parentName:"tr",align:null},"None"),(0,r.kt)("td",{parentName:"tr",align:null},"True")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"chart_type"),(0,r.kt)("td",{parentName:"tr",align:null},"str"),(0,r.kt)("td",{parentName:"tr",align:null},'Chart type, by default "pie"',(0,r.kt)("br",null),'Options are "pie", "hist", "dd" or "rc"'),(0,r.kt)("td",{parentName:"tr",align:null},"pie"),(0,r.kt)("td",{parentName:"tr",align:null},"True")))),(0,r.kt)("hr",null),(0,r.kt)("h2",{id:"returns"},"Returns"),(0,r.kt)("p",null,"This function does not return anything"),(0,r.kt)("hr",null),(0,r.kt)("h2",{id:"examples"},"Examples"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python"},"from openbb_terminal.sdk import openbb\nd = {\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'"SECTOR": {\n "AAPL": "INFORMATION TECHNOLOGY",\n "MSFT": "INFORMATION TECHNOLOGY",\n "AMZN": "CONSUMER DISCRETIONARY",\n },\n "CURRENT_INVESTED_AMOUNT": {\n "AAPL": "100000.0",\n "MSFT": "200000.0",\n "AMZN": "300000.0",\n },\n "CURRENCY": {\n "AAPL": "USD",\n "MSFT": "USD",\n "AMZN": "USD",\n },\n }\n')),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python"},"p = openbb.portfolio.po.load(symbols_categories=d)\nweights, performance = openbb.portfolio.po.equal(portfolio_engine=p)\np.get_available_categories()\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"['SECTOR', 'CURRENCY']\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python"},'openbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="pie")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="hist")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="dd")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="rc")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="heat")\n')),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python"},'from openbb_terminal.sdk import openbb\np = openbb.portfolio.po.load(symbols_file_path="openbb_terminal/miscellaneous/portfolio_examples/allocation/60_40_Portfolio.xlsx")\nweights, performance = openbb.portfolio.po.equal(portfolio_engine=p)\np.get_available_categories()\n')),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"['ASSET_CLASS',\n 'SECTOR',\n 'INDUSTRY',\n 'COUNTRY',\n 'CURRENCY']\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python"},'openbb.portfolio.po.plot(portfolio_engine=p, category="ASSET_CLASS", chart_type="pie")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="hist")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="INDUSTRY", chart_type="dd")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="COUNTRY", chart_type="rc")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="ASSET_CLASS", chart_type="heat")\n')),(0,r.kt)("hr",null)),(0,r.kt)(l.Z,{value:"view",label:"Chart",mdxType:"TabItem"},(0,r.kt)("p",null,"Display efficient frontier"),(0,r.kt)("p",null,"Source Code: [",(0,r.kt)("a",{parentName:"p",href:"https://github.com/OpenBB-finance/OpenBBTerminal/tree/main/openbb_terminal/portfolio/portfolio_optimization/po_view.py#L248"},"link"),"]"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python",metastring:"wordwrap",wordwrap:!0},'openbb.portfolio.po.plot_chart(portfolio_engine: portfolio_optimization.po_engine.PoEngine = None, chart_type: str = "pie", kwargs: Any)\n')),(0,r.kt)("hr",null),(0,r.kt)("h2",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Default"),(0,r.kt)("th",{parentName:"tr",align:null},"Optional"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"portfolio_engine"),(0,r.kt)("td",{parentName:"tr",align:null},"PoEngine"),(0,r.kt)("td",{parentName:"tr",align:null},"Portfolio optimization engine, by default None",(0,r.kt)("br",null),"Use ",(0,r.kt)("inlineCode",{parentName:"td"},"portfolio.po.load")," to load a portfolio engine"),(0,r.kt)("td",{parentName:"tr",align:null},"None"),(0,r.kt)("td",{parentName:"tr",align:null},"True")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"chart_type"),(0,r.kt)("td",{parentName:"tr",align:null},"str"),(0,r.kt)("td",{parentName:"tr",align:null},'Chart type, by default "pie"',(0,r.kt)("br",null),'Options are "pie", "hist", "dd" or "rc"'),(0,r.kt)("td",{parentName:"tr",align:null},"pie"),(0,r.kt)("td",{parentName:"tr",align:null},"True")))),(0,r.kt)("hr",null),(0,r.kt)("h2",{id:"returns-1"},"Returns"),(0,r.kt)("p",null,"This function does not return anything"),(0,r.kt)("hr",null),(0,r.kt)("h2",{id:"examples-1"},"Examples"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python"},"from openbb_terminal.sdk import openbb\nd = {\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'"SECTOR": {\n "AAPL": "INFORMATION TECHNOLOGY",\n "MSFT": "INFORMATION TECHNOLOGY",\n "AMZN": "CONSUMER DISCRETIONARY",\n },\n "CURRENT_INVESTED_AMOUNT": {\n "AAPL": "100000.0",\n "MSFT": "200000.0",\n "AMZN": "300000.0",\n },\n "CURRENCY": {\n "AAPL": "USD",\n "MSFT": "USD",\n "AMZN": "USD",\n },\n }\n')),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python"},"p = openbb.portfolio.po.load(symbols_categories=d)\nweights, performance = openbb.portfolio.po.equal(portfolio_engine=p)\np.get_available_categories()\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"['SECTOR', 'CURRENCY']\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python"},'openbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="pie")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="hist")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="dd")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="rc")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="heat")\n')),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python"},'from openbb_terminal.sdk import openbb\np = openbb.portfolio.po.load(symbols_file_path="openbb_terminal/miscellaneous/portfolio_examples/allocation/60_40_Portfolio.xlsx")\nweights, performance = openbb.portfolio.po.equal(portfolio_engine=p)\np.get_available_categories()\n')),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"['ASSET_CLASS',\n 'SECTOR',\n 'INDUSTRY',\n 'COUNTRY',\n 'CURRENCY']\n")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-python"},'openbb.portfolio.po.plot(portfolio_engine=p, category="ASSET_CLASS", chart_type="pie")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="SECTOR", chart_type="hist")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="INDUSTRY", chart_type="dd")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="COUNTRY", chart_type="rc")\nopenbb.portfolio.po.plot(portfolio_engine=p, category="ASSET_CLASS", chart_type="heat")\n')),(0,r.kt)("hr",null))))}m.isMDXComponent=!0},85162:(e,t,n)=>{n.d(t,{Z:()=>l});var o=n(67294),r=n(86010);const a="tabItem_Ymn6";function l(e){let{children:t,hidden:n,className:l}=e;return o.createElement("div",{role:"tabpanel",className:(0,r.Z)(a,l),hidden:n},t)}},65099:(e,t,n)=>{n.d(t,{Z:()=>b});var o=n(87462),r=n(67294),a=n(10412),l=n(86010),p=n(72389),i=n(67392),u=n(7094),c=n(12466);const s="tabItem_hGfb";var d=n(16550);function m(){const e=function(){const e=a.Z.canUseDOM?navigator.userAgent:"";return e.indexOf("Windows")>-1?"Windows":e.indexOf("Mac")>-1?"Mac":e.indexOf("X11")>-1?"UNIX":e.indexOf("Linux")>-1?"Linux":"Other"}();return"Windows"===e?"windows":"Mac"===e?"mac":"Linux"===e||"UNIX"===e?"python":"windows"}function f(e){var t;const{lazy:n,block:a,defaultValue:p,values:f,groupId:b,className:g}=e,h=r.Children.map(e.children,(e=>{if((0,r.isValidElement)(e)&&"value"in e.props)return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)})),k=f??h.map((e=>{let{props:{value:t,label:n,attributes:o}}=e;return{value:t,label:n,attributes:o}})),y=(0,i.l)(k,((e,t)=>e.value===t.value));if(y.length>0)throw new Error(`Docusaurus error: Duplicate values "${y.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`);const N=null===p?p:p??(null==(t=h.find((e=>e.props.default)))?void 0:t.props.value)??h[0].props.value;if(null!==N&&!k.some((e=>e.value===N)))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${N}" but none of its children has the corresponding value. Available values are: ${k.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);const{tabGroupChoices:_,setTabGroupChoices:O}=(0,u.U)(),{pathname:T,search:v}=(0,d.TH)(),E=function(e,t){const n=e.substring(1).split("&");for(let o=0;o<n.length;o++){let e=n[o].split("=");if(decodeURIComponent(e[0])==t)return decodeURIComponent(e[1])}return null}(v,"tab"),S=m(),[C,R]=(0,r.useState)(T.startsWith("/terminal/quickstart/installation")?E&&["mac","windows","python","docker"].includes(E)?E:S:N),w=[],{blockElementScrollPositionUntilNextRender:x}=(0,c.o5)();if(null!=b){const e=_[b];null!=e&&e!==C&&k.some((t=>t.value===e))&&R(e)}const A=e=>{const t=e.currentTarget,n=w.indexOf(t),o=k[n].value;o!==C&&(x(t),R(o),null!=b&&O(b,String(o)))},D=e=>{var t;let n=null;switch(e.key){case"Enter":A(e);break;case"ArrowRight":{const t=w.indexOf(e.currentTarget)+1;n=w[t]??w[0];break}case"ArrowLeft":{const t=w.indexOf(e.currentTarget)-1;n=w[t]??w[w.length-1];break}}null==(t=n)||t.focus()};return r.createElement("div",null,r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.Z)("_group-tab list-none -ml-7 my-6 overflow-auto")},k.map((e=>{let{value:t,label:n,attributes:a}=e;return r.createElement("li",(0,o.Z)({role:"tab",tabIndex:C===t?0:-1,"aria-selected":C===t,key:t,ref:e=>w.push(e),onKeyDown:D,onClick:A},a,{className:(0,l.Z)("font-bold tracking-widest w-fit px-3 inline-flex py-1 uppercase border-b text-lg cursor-pointer",s,null==a?void 0:a.className,{"border-b-2 pointer-events-none":C===t,"border-b-2 text-[#669dcb] border-[#669dcb]":C===t&&T.startsWith("/terminal"),"border-b-2 text-[#FB923C] border-[#FB923C]":C===t&&T.startsWith("/sdk"),"border-grey-400 text-grey-400 hover:text-[#ffd4b1] hover:border-[#ffd4b1]":C!==t&&T.startsWith("/sdk"),"border-grey-400 text-grey-400 hover:text-[#abd2f1] hover:border-[#abd2f1]":C!==t&&T.startsWith("/terminal")})}),n??t)})),r.createElement("li",{className:"w-full border-b border-grey-400 pointer-events-none py-1 mb-[12px]"})),n?(0,r.cloneElement)(h.filter((e=>e.props.value===C))[0],{className:"margin-top--md"}):r.createElement("div",{className:"margin-top--md"},h.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==C})))))}function b(e){const t=(0,p.Z)();return r.createElement(f,(0,o.Z)({key:String(t)},e))}}}]); |