
################################################
## import name space
################################################

import("methods")
import("MASS")
import("quadprog")
import("robustbase")
import("Rglpk")
import("timeDate")
import("timeSeries")
import("fBasics")
import("fAssets")

################################################
## S4 classes
################################################

exportClasses("fPFOLIOCON",
              "fPFOLIODATA",
              "fPFOLIOSPEC",
              "fPFOLIOVAL",
              "fPORTFOLIO" )
exportMethods("show" )

################################################
## S3 classes
################################################

S3method("getA", "fPFOLIOSPEC")
S3method("getA", "fPORTFOLIO")
S3method("getAlpha", "fPFOLIOSPEC")
S3method("getAlpha", "fPFOLIOVAL")
S3method("getAlpha", "fPORTFOLIO")
S3method("getConstraints", "fPORTFOLIO")
S3method("getControl", "fPFOLIOSPEC")
S3method("getControl", "fPORTFOLIO")
S3method("getCov", "fPFOLIODATA")
S3method("getCov", "fPORTFOLIO")
S3method("getCovRiskBudgets", "fPFOLIOVAL")
S3method("getCovRiskBudgets", "fPORTFOLIO")
S3method("getData", "fPFOLIODATA")
S3method("getData", "fPORTFOLIO")
S3method("getEstimator", "fPFOLIODATA")
S3method("getEstimator", "fPFOLIOSPEC")
S3method("getEstimator", "fPORTFOLIO")
S3method("getMean", "fPFOLIODATA")
S3method("getMean", "fPORTFOLIO")
S3method("getMessages", "fPFOLIOSPEC")
S3method("getMu", "fPFOLIODATA")
S3method("getMu", "fPORTFOLIO")
S3method("getNames", "fPFOLIODATA")
S3method("getNames", "fPORTFOLIO")
S3method("getNAssets", "fPFOLIODATA")
S3method("getNAssets", "fPORTFOLIO")
S3method("getNFrontierPoints", "fPFOLIOSPEC")
S3method("getNFrontierPoints", "fPFOLIOVAL")
S3method("getNFrontierPoints", "fPORTFOLIO")
S3method("getObjective", "fPFOLIOSPEC")
S3method("getObjective", "fPORTFOLIO")
S3method("getOptim", "fPFOLIOSPEC")
S3method("getOptim", "fPORTFOLIO")
S3method("getOptimize", "fPFOLIOSPEC")
S3method("getOptimize", "fPORTFOLIO")
S3method("getOptions", "fPFOLIOSPEC")
S3method("getOptions", "fPORTFOLIO")
S3method("getParams", "fPFOLIOSPEC")
S3method("getParams", "fPORTFOLIO")
S3method("getPortfolio", "fPFOLIOSPEC")
S3method("getPortfolio", "fPFOLIOVAL")
S3method("getPortfolio", "fPORTFOLIO")
S3method("getRiskFreeRate", "fPFOLIOSPEC")
S3method("getRiskFreeRate", "fPFOLIOVAL")
S3method("getRiskFreeRate", "fPORTFOLIO")
S3method("getSeries", "fPFOLIODATA")
S3method("getSeries", "fPORTFOLIO")
S3method("getSigma", "fPFOLIODATA")
S3method("getSigma", "fPORTFOLIO")
S3method("getSolver", "fPFOLIOSPEC")
S3method("getSolver", "fPORTFOLIO")
S3method("getSpec", "fPORTFOLIO")
S3method("getStatistics", "fPFOLIODATA")
S3method("getStatistics", "fPORTFOLIO")
S3method("getStatus", "fPFOLIOSPEC")
S3method("getStatus", "fPFOLIOVAL")
S3method("getStatus", "fPORTFOLIO")
S3method("getTailRiskBudgets", "fPORTFOLIO")
S3method("getTailRisk", "fPFOLIODATA")
S3method("getTailRisk", "fPFOLIOSPEC")
S3method("getTailRisk", "fPORTFOLIO")
S3method("getTargetReturn", "fPFOLIOSPEC")
S3method("getTargetReturn", "fPFOLIOVAL")
S3method("getTargetReturn", "fPORTFOLIO")
S3method("getTargetRisk", "fPFOLIOSPEC")
S3method("getTargetRisk", "fPFOLIOVAL")
S3method("getTargetRisk", "fPORTFOLIO")
S3method("getTrace", "fPFOLIOSPEC")
S3method("getTrace", "fPORTFOLIO")
S3method("getType", "fPFOLIOSPEC")
S3method("getType", "fPORTFOLIO")
S3method("getWeights", "fPFOLIOSPEC")
S3method("getWeights", "fPFOLIOVAL")
S3method("getWeights", "fPORTFOLIO")
S3method("plot", "fPORTFOLIO")
S3method("summary", "fPORTFOLIO")

################################################
## functions
################################################

export(
    ".addlegend",
    ".attributesWheel",
    ".baggedEstimator",
    ".bayesSteinEstimator",
    ".cfgFit",
    ".checkSpec",
    ".checkSpecVsConstraints",
    ".checkTargetReturn",
    ".checkWeights",
    "cmlLines",
    "cmlPoints",
    "covEstimator",
    "covMcdEstimator",
    "covOGKEstimator",
    "covRisk",
    ".covRisk",
    "covRiskBudgetsLinePlot",
    "covRiskBudgetsPie",
    "covRiskBudgetsPlot",
    ".cvarRglpkArguments",
    "cvarRisk",
    ".cvarRisk",
    ".cvarSolveTwoAssets",
    ".donostahEstimator",
    "efficientPortfolio",
    "eqsumWConstraints",
    "equalWeightsPoints",
    "feasiblePortfolio",
    ".fportfolio.plot.1",
    ".fportfolio.plot.2",
    ".fportfolio.plot.3",
    ".fportfolio.plot.4",
    ".fportfolio.plot.5",
    ".fportfolio.plot.6",
    ".fportfolio.plot.7",
    ".fportfolio.plot.8",
    "frontierPlot",
    "frontierPlotControl",
    "frontierPoints",
    "getA",
    "getAlpha",
    "getConstraints",
    "getConstraintsTypes",
    "getControl",
    "getCov",
    "getCovRiskBudgets",
    ".getCovRiskBudgets.fPORTFOLIO",
    "getData",
    "getEstimator",
    "getMean",
    "getMessages",
    "getModel.fPFOLIOSPEC",
    "getModel.fPORTFOLIO",
    "getMu",
    "getNames",
    "getNAssets",
    "getNFrontierPoints",
    "getObjective",
    "getOptim",
    "getOptimize",
    "getOptions",
    "getParams",
    "getPortfolio",
    "getRiskFreeRate",
    "getSeries",
    "getSigma",
    "getSolver",
    "getSpec",
    "getStatistics",
    "getStatus",
    "getTailRisk",
    "getTailRiskBudgets",
    "getTargetReturn",
    "getTargetRisk",
    "getTrace",
    "getType",
    "getWeights",
    "kendallEstimator",
    ".lambdaTailRisk",
    ".ledoitWolfEstimator",
    "listFConstraints",
    "lpmEstimator",
    ".madRglpkArguments",
    ".madSolveTwoAssets",
    "maxBConstraints",
    "maxFConstraints",
    "maxratioPortfolio",
    "maxreturnPortfolio",
    "maxsumWConstraints",
    "maxWConstraints",
    "mcdEstimator",
    "minBConstraints",
    "minFConstraints",
    "minriskPortfolio",
    "minsumWConstraints",
    "minvariancePoints",
    "minvariancePortfolio",
    "minWConstraints",
    "monteCarloPoints",
    "mveEstimator",
    ".mvSolveTwoAssets",
    "nnveEstimator",
    ".notStackedWeightsPlot",
    "portfolioConstraints",
    "portfolioData",
    "portfolioFrontier",
    ".portfolioFrontier",
    "portfolioSpec",
    ".rglpk",
    ".rglpkArguments",
    ".rglpkControl",
    ".rmtEstimator",
    "rollingCmlPortfolio",
    "rollingMinvariancePortfolio",
    "rollingPortfolioFrontier",
    "rollingTangencyPortfolio",
    "rollingWindows",
    ".rquadprog",
    ".rquadprogArguments",
    ".rquadprogControl",
    ".rshortExact",
    ".rshortExactArguments",
    ".rshortExactControl",
    "setAlpha<-",
    "setEstimator<-",
    "setNFrontierPoints<-",
    "setObjective<-",
    "setOptimize<-",
    "setParams<-",
    "setRiskFreeRate<-",
    "setSolver<-",
    "setStatus<-",
    "setTailRisk<-",
    "setTargetReturn<-",
    "setTargetRisk<-",
    "setTrace<-",
    "setType<-",
    "setWeights<-",
    "sharpeRatioLines",
    "shrinkEstimator",
    "singleAssetPoints",
    "solveRglpk",
    "solveRquadprog",
    "solveRshortExact",
    "spearmanEstimator",
    ".studentEstimator",
    "tailoredFrontierPlot",
    ".tailRiskBudgetsLinePlot",
    "tailRiskBudgetsPie",
    "tailRiskBudgetsPlot",
    "tangencyLines",
    "tangencyPoints",
    "tangencyPortfolio",
    "twoAssetsLines",
    "varRisk",
    ".varRisk",
    "weightedReturnsLinePlot",
    "weightedReturnsPie",
    "weightedReturnsPlot",
    "weightsLinePlot",
    "weightsPie",
    "weightsPlot",
    "weightsSlider",
    ".weightsWheel" )
