or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

company-info.mddata-visualization.mdfinancial-statements.mdindex.mdmain-client.mdmarket-listings.mdmutual-funds.mdquote-data.mdstock-screening.mdtrading-analytics.md

company-info.mddocs/

0

# Company Information

1

2

The Company class provides comprehensive access to corporate data including company overview, shareholder structure, management information, subsidiaries, affiliates, news, and corporate events. It supports Vietnamese data sources with detailed corporate governance and business intelligence.

3

4

## Capabilities

5

6

### Company Class

7

8

Adapter for company-related data with dynamic method dispatch supporting VCI and TCBS data sources. Provides detailed corporate information for Vietnamese listed companies.

9

10

```python { .api }

11

class Company:

12

"""

13

Company data adapter for corporate information.

14

15

Supported sources: VCI, TCBS

16

"""

17

18

def __init__(self, source: str = "vci", symbol: str = None, random_agent: bool = False, show_log: bool = False):

19

"""

20

Initialize Company data adapter.

21

22

Args:

23

source (str): Data source ("vci", "tcbs"), defaults to "vci"

24

symbol (str): Default company symbol, defaults to None

25

random_agent (bool): Use random user agent, defaults to False

26

show_log (bool): Enable logging, defaults to False

27

"""

28

```

29

30

### Company Overview

31

32

Comprehensive company profile including business description, key metrics, financial highlights, and basic corporate information.

33

34

```python { .api }

35

def overview(self, *args, **kwargs) -> pd.DataFrame:

36

"""

37

Get comprehensive company overview and profile data.

38

39

Common parameters (vary by source):

40

symbol (str): Company symbol

41

lang (str): Language ("vi", "en"), defaults to "vi"

42

43

Returns:

44

pd.DataFrame: Company overview with information including:

45

- company_name: Official company name

46

- symbol: Trading symbol

47

- exchange: Stock exchange (HOSE, HNX, UPCOM)

48

- industry: Industry classification

49

- sector: Business sector

50

- market_cap: Market capitalization

51

- shares_outstanding: Number of shares outstanding

52

- book_value: Book value per share

53

- eps: Earnings per share

54

- pe_ratio: Price-to-earnings ratio

55

- dividend_yield: Dividend yield percentage

56

- business_summary: Company business description

57

- address: Company headquarters address

58

- phone: Contact phone number

59

- website: Company website

60

- established_date: Company establishment date

61

- listing_date: Stock listing date

62

"""

63

```

64

65

#### Usage Examples

66

67

```python

68

from vnstock import Company

69

70

# Initialize Company adapter

71

company = Company(source="vci", symbol="TCB")

72

73

# Get company overview

74

tcb_overview = company.overview(symbol="TCB", lang="vi")

75

76

# Get overview for multiple companies

77

vcb_overview = company.overview(symbol="VCB")

78

hpg_overview = company.overview(symbol="HPG")

79

80

# Using TCBS source

81

tcbs_company = Company(source="tcbs")

82

company_profile = tcbs_company.overview(symbol="FPT", lang="en")

83

```

84

85

### Shareholder Information

86

87

Detailed shareholder structure including major shareholders, ownership percentages, and shareholding changes over time.

88

89

```python { .api }

90

def shareholders(self, *args, **kwargs) -> pd.DataFrame:

91

"""

92

Get company shareholder structure and ownership information.

93

94

Common parameters (vary by source):

95

symbol (str): Company symbol

96

page_size (int): Number of records per page

97

page (int): Page number for pagination

98

99

Returns:

100

pd.DataFrame: Shareholder data including:

101

- shareholder_name: Name of shareholder

102

- shareholding_percentage: Ownership percentage

103

- shares_held: Number of shares held

104

- shareholder_type: Type ("individual", "institutional", "foreign")

105

- change_percentage: Recent change in ownership

106

- report_date: Reporting date

107

"""

108

```

109

110

#### Usage Examples

111

112

```python

113

# Get shareholder structure

114

shareholders_data = company.shareholders(symbol="TCB")

115

116

# Get detailed shareholder information with pagination

117

detailed_shareholders = company.shareholders(

118

symbol="VCB",

119

page_size=50,

120

page=1

121

)

122

123

# Track shareholder changes

124

historical_shareholders = company.shareholders(symbol="HPG")

125

```

126

127

### Management Information

128

129

Company officers and management team including board of directors, executives, and key personnel with their roles and background.

130

131

```python { .api }

132

def officers(self, *args, **kwargs) -> pd.DataFrame:

133

"""

134

Get company management and officer information.

135

136

Common parameters (vary by source):

137

symbol (str): Company symbol

138

filter_by (str): Filter criteria ("working", "resigned", "all")

139

140

Returns:

141

pd.DataFrame: Management data including:

142

- full_name: Officer full name

143

- position: Job title/position

144

- status: Employment status ("working", "resigned")

145

- start_date: Start date in position

146

- end_date: End date (if resigned)

147

- shares_held: Number of shares held by officer

148

- ownership_percentage: Ownership percentage

149

- background: Professional background

150

- education: Educational background

151

"""

152

```

153

154

#### Usage Examples

155

156

```python

157

# Get current management team

158

current_officers = company.officers(symbol="TCB", filter_by="working")

159

160

# Get all officers including resigned ones

161

all_officers = company.officers(symbol="VCB", filter_by="all")

162

163

# Get only resigned officers

164

former_officers = company.officers(symbol="HPG", filter_by="resigned")

165

```

166

167

### Subsidiary Companies

168

169

Information about subsidiary and affiliated companies including ownership structure and business relationships.

170

171

```python { .api }

172

def subsidiaries(self, *args, **kwargs) -> pd.DataFrame:

173

"""

174

Get company subsidiary and affiliate information.

175

176

Common parameters (vary by source):

177

symbol (str): Company symbol

178

filter_by (str): Filter criteria ("all", "subsidiary")

179

180

Returns:

181

pd.DataFrame: Subsidiary data including:

182

- subsidiary_name: Name of subsidiary company

183

- ownership_percentage: Ownership percentage by parent

184

- business_type: Type of business

185

- established_date: Establishment date

186

- capital: Registered capital

187

- address: Business address

188

- main_business: Primary business activities

189

- relationship_type: Relationship type ("subsidiary", "affiliate")

190

"""

191

```

192

193

#### Usage Examples

194

195

```python

196

# Get all subsidiaries

197

subsidiaries_data = company.subsidiaries(symbol="TCB", filter_by="all")

198

199

# Get only direct subsidiaries

200

direct_subs = company.subsidiaries(symbol="VCB", filter_by="subsidiary")

201

202

# Comprehensive subsidiary analysis

203

hpg_subsidiaries = company.subsidiaries(symbol="HPG")

204

```

205

206

### Affiliate Information

207

208

Details about affiliated companies and business partnerships including joint ventures and strategic alliances.

209

210

```python { .api }

211

def affiliate(self, *args, **kwargs) -> pd.DataFrame:

212

"""

213

Get company affiliate and partnership information.

214

215

Common parameters (vary by source):

216

symbol (str): Company symbol

217

218

Returns:

219

pd.DataFrame: Affiliate data including:

220

- affiliate_name: Name of affiliated company

221

- relationship_type: Type of relationship

222

- partnership_percentage: Partnership or ownership percentage

223

- business_cooperation: Areas of business cooperation

224

- agreement_date: Partnership agreement date

225

- main_activities: Primary cooperative activities

226

"""

227

```

228

229

#### Usage Examples

230

231

```python

232

# Get affiliate information

233

affiliates_data = company.affiliate(symbol="TCB")

234

235

# Comprehensive affiliate analysis

236

vcb_affiliates = company.affiliate(symbol="VCB")

237

```

238

239

### Company News

240

241

Recent news, press releases, and announcements related to the company including corporate events and market updates.

242

243

```python { .api }

244

def news(self, *args, **kwargs) -> pd.DataFrame:

245

"""

246

Get company news and press releases.

247

248

Common parameters (vary by source):

249

symbol (str): Company symbol

250

page_size (int): Number of news items per page

251

page (int): Page number for pagination

252

start_date (str): Start date for news filter

253

end_date (str): End date for news filter

254

255

Returns:

256

pd.DataFrame: News data including:

257

- title: News headline

258

- summary: News summary

259

- publish_date: Publication date

260

- source: News source

261

- category: News category

262

- url: Link to full article

263

- importance: News importance level

264

"""

265

```

266

267

#### Usage Examples

268

269

```python

270

# Get recent company news

271

recent_news = company.news(symbol="TCB", page_size=20)

272

273

# Get news for specific date range

274

filtered_news = company.news(

275

symbol="VCB",

276

start_date="2023-01-01",

277

end_date="2023-12-31",

278

page_size=50

279

)

280

281

# Get latest news updates

282

latest_news = company.news(symbol="HPG", page=1)

283

```

284

285

### Corporate Events

286

287

Corporate events including dividends, stock splits, shareholder meetings, and other significant corporate actions.

288

289

```python { .api }

290

def events(self, *args, **kwargs) -> pd.DataFrame:

291

"""

292

Get corporate events and actions.

293

294

Common parameters (vary by source):

295

symbol (str): Company symbol

296

event_type (str): Type of event filter

297

start_date (str): Start date for events

298

end_date (str): End date for events

299

300

Returns:

301

pd.DataFrame: Corporate events including:

302

- event_type: Type of corporate event

303

- event_date: Event date

304

- ex_date: Ex-dividend/ex-rights date

305

- record_date: Record date

306

- event_description: Event description

307

- dividend_rate: Dividend rate (if applicable)

308

- split_ratio: Stock split ratio (if applicable)

309

- meeting_type: Meeting type (AGM, EGM)

310

- announcement_date: Event announcement date

311

"""

312

```

313

314

#### Usage Examples

315

316

```python

317

# Get all corporate events

318

all_events = company.events(symbol="TCB")

319

320

# Get dividend events only

321

dividend_events = company.events(

322

symbol="VCB",

323

event_type="dividend",

324

start_date="2023-01-01",

325

end_date="2023-12-31"

326

)

327

328

# Get upcoming shareholder meetings

329

upcoming_meetings = company.events(

330

symbol="HPG",

331

event_type="meeting"

332

)

333

```

334

335

## Data Source Specifics

336

337

### VCI (Vietnam Capital Securities)

338

339

- **Coverage**: All Vietnamese listed companies (HOSE, HNX, UPCOM)

340

- **Data Depth**: Comprehensive corporate governance data

341

- **Update Frequency**: Daily updates for corporate actions

342

- **Languages**: Vietnamese and English support

343

- **Historical Data**: Multi-year historical corporate data

344

345

#### VCI-Specific Features

346

347

- Detailed shareholder tracking with ownership changes

348

- Comprehensive management background information

349

- Complete subsidiary mapping with ownership percentages

350

- Real-time corporate event notifications

351

352

### TCBS (Techcombank Securities)

353

354

- **Coverage**: Vietnamese listed companies with focus on major stocks

355

- **Data Depth**: Detailed financial and corporate information

356

- **Update Frequency**: Real-time corporate event updates

357

- **Languages**: Vietnamese and English

358

- **Specialization**: Enhanced analytical data and ratios

359

360

#### TCBS-Specific Features

361

362

- Advanced company screening capabilities

363

- Enhanced financial ratio analysis

364

- Comprehensive industry comparisons

365

- Real-time news aggregation from multiple sources

366

367

## Data Integration Examples

368

369

### Comprehensive Company Analysis

370

371

```python

372

from vnstock import Company

373

374

# Initialize company adapter

375

company = Company(source="vci")

376

377

# Get complete company profile

378

symbol = "TCB"

379

380

# Basic information

381

overview = company.overview(symbol=symbol)

382

shareholders = company.shareholders(symbol=symbol)

383

management = company.officers(symbol=symbol, filter_by="working")

384

385

# Corporate structure

386

subsidiaries = company.subsidiaries(symbol=symbol, filter_by="all")

387

affiliates = company.affiliate(symbol=symbol)

388

389

# Recent developments

390

news = company.news(symbol=symbol, page_size=10)

391

events = company.events(symbol=symbol)

392

393

# Combine for comprehensive analysis

394

print(f"Company: {overview['company_name'].iloc[0]}")

395

print(f"Market Cap: {overview['market_cap'].iloc[0]}")

396

print(f"Number of Shareholders: {len(shareholders)}")

397

print(f"Management Team Size: {len(management)}")

398

print(f"Subsidiaries Count: {len(subsidiaries)}")

399

print(f"Recent News Items: {len(news)}")

400

```

401

402

### Multi-Company Comparison

403

404

```python

405

# Compare multiple companies

406

symbols = ["TCB", "VCB", "BID"]

407

comparison_data = {}

408

409

for symbol in symbols:

410

comparison_data[symbol] = {

411

'overview': company.overview(symbol=symbol),

412

'shareholders': company.shareholders(symbol=symbol),

413

'management': company.officers(symbol=symbol, filter_by="working")

414

}

415

416

# Analyze comparative metrics

417

for symbol, data in comparison_data.items():

418

overview = data['overview']

419

print(f"{symbol}: Market Cap = {overview['market_cap'].iloc[0]}, P/E = {overview['pe_ratio'].iloc[0]}")

420

```